Changeset 439

Show
Ignore:
Timestamp:
01/18/07 04:46:45 (2 years ago)
Author:
jarmo
Message:
  • Merged changesets [410] - [438] to the 1.2-alpha trunk.
  • Set version to 1.2.0-alpha11
  • Added alpha migration for alpha11
Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • branches/1.2-alpha/app/controllers/action_key_controller.rb

    r379 r439  
    1414 
    1515  def list 
    16     @help = 'general' 
    1716    @title = _('Keys') 
    1817    @fields = [['Name (controller/action)', :name], ['Information', :info]] 
     
    2221 
    2322  def create 
    24     @help = 'general' 
    2523    @title = _('Create a new key') 
    2624    @fields = [ 
     
    3230 
    3331  def edit 
    34     @help = 'general' 
    3532    @title = _('Edit key') 
    3633    @fields = [ 
  • branches/1.2-alpha/app/controllers/asset_controller.rb

    r371 r439  
    2727  def view 
    2828    @title = _('Asset information') 
    29     @help = 'view' 
    3029 
    3130    if params[:full_code] or params[:id] 
     
    6463    redirect_to(:action => 'create_subasset') and return if AssetType.count == 0 
    6564 
    66     @help = 'general' 
    6765    @title = _('Select asset type to create') 
    6866 
     
    7876    end 
    7977 
    80     @help = 'general' 
    8178    @title = _('Create a subasset for %s', @selected_asset.code_and_name) 
    8279 
     
    165162 
    166163  def edit 
    167     @help = 'edit' 
    168164 
    169165    unless @selected_asset.authorized_to_edit? 
     
    218214 
    219215  def change_type 
    220     @help = 'change_type' 
    221216    @model = @selected_asset 
    222217 
  • branches/1.2-alpha/app/controllers/asset_tree_controller.rb

    r339 r439  
    119119    return redirect_to(:controller => 'timeline', :action => 'index') if request.env['HTTP_REFERER'] =~ /timeline$/x 
    120120 
     121    # Stay on the asset permissions page 
     122    return redirect_to(:controller => 'asset_permission', :action => 'list') if request.env['HTTP_REFERER'] =~ /asset_permission\/list$/x 
     123 
    121124    # Default is to redirect to asset view 
    122125    return redirect_to(:controller => 'asset', :action=> 'view') 
  • branches/1.2-alpha/app/controllers/asset_type_controller.rb

    r379 r439  
    1313 
    1414  def list 
    15     @help = 'general' 
    1615    @title = _('Asset types') 
    1716    @fields = [ 
     
    2928 
    3029  def view 
    31     @help = 'general' 
    3230    @title = _('Asset type information') 
    3331    @asset_type = AssetType.find(params[:id], :readonly => true) 
     
    4240    end 
    4341 
    44     @help = 'general' 
    4542    @title = _('Create a new asset type') 
    4643    @fields = [ 
     
    5552 
    5653  def edit 
    57     @help = 'general' 
    5854    @title = _('Edit asset type') 
    5955    @fields = [ 
  • branches/1.2-alpha/app/controllers/asset_type_icon_controller.rb

    r299 r439  
    1616 
    1717  def list 
    18     @help = 'general' 
    1918    @title = _('Asset type icons') 
    2019    @fields = [ 
     
    3332 
    3433  def create 
    35     @help = 'general' 
    3634    @title = _('Create a new asset type icon') 
    3735    @fields = [ 
  • branches/1.2-alpha/app/controllers/attachment_controller.rb

    r339 r439  
    1919  # The choice is saved to session so that it is rememberd when returned to this action. 
    2020  def list 
    21     @help = 'general' 
    2221    @fields = [ 
    2322      [_('Asset'), :asset], 
     
    5453  # View file details 
    5554  def view 
    56     @help = 'general' 
    5755    begin 
    5856      @file = Attachment.find_without(:data, params[:id], :include => [:data_permissions, :asset, :creator]) 
     
    7775  # Uploads and attaches file to asset @selected_asset 
    7876  def attach 
    79     @help = 'general' 
    8077    unless @selected_asset.authorized_to_attach_file? 
    8178      redirect_with_error_message(msg_unauthorized_operation(_('attach file'), @selected_asset.code_and_name), :action => 'list') 
  • branches/1.2-alpha/app/controllers/keyring_controller.rb

    r379 r439  
    1313 
    1414  def list 
    15     @help = 'general' 
    1615    @title = _('Keyrings') 
    1716    @items = items_for_page(Keyring, :order => 'name') 
     
    2928 
    3029  def create 
    31     @help = 'general' 
    3230    @title = _('Create a new keyring') 
    3331    @fields = [ 
     
    3937 
    4038  def edit 
    41     @help = 'general' 
    4239    @title = _('Edit keyring') 
    4340    @fields = [ 
     
    5754 
    5855  def edit_keys 
    59     @help = 'general' 
    6056    @keyring = Keyring.find params[:id], :readonly => true 
    6157    @items_count = @keyring.action_keys.count 
     
    10399 
    104100  def edit_owners 
    105     @help = 'general' 
    106101    @keyring = Keyring.find params[:id], :readonly => true 
    107102    @items_count = @keyring.users.count 
  • branches/1.2-alpha/app/controllers/message_controller.rb

    r371 r439  
    1919                [_('Date'), :created_at], 
    2020                [_('From'), :sender_name], 
    21                 [_('Subject'), :subject
     21                [_('Subject'), :subject_text
    2222              ] 
    2323    @actions = [ [_('View'), { :controller => 'message', :action => 'view', :image => '16x16/display'} ] ] 
     
    4444  end 
    4545 
     46  def send_message 
     47    if params[:user_id] 
     48      @user = User.find(params[:user_id], :readonly => true) 
     49      @title = _('Send message to %s', @user.name) 
     50    else 
     51      @title = _('Send message') 
     52      @receiver_options = User.find(:all, :readonly => true).collect { |u| [u.login_and_name, u.id] }  
     53    end 
     54 
     55    if request.post? 
     56      @message = Message.new(params[:message]) 
     57      @message.sender = session[:user] 
     58      if @message.save 
     59        flash[:notice] = _('Message sent') 
     60        redirect_to(:controller => 'user', :action => 'view', :id => @message.receiver_user_id) 
     61      end 
     62    else 
     63      @message = Message.new 
     64    end 
     65  end 
     66 
    4667  def change_state_to_old 
    4768    redirect_to :back 
  • branches/1.2-alpha/app/controllers/overview_controller.rb

    r299 r439  
    1515 
    1616  def executive_view 
    17     @title = _('Executive overview') 
    18     @help = 'general' 
     17    @title = _('Overview') 
    1918  end 
    2019 
    2120  def worker_view 
    2221    @title = _('Worker overview') 
    23     @help = 'general' 
    2422  end 
    2523 
  • branches/1.2-alpha/app/controllers/report_category_controller.rb

    r379 r439  
    1313 
    1414  def list 
    15     @help = 'general' 
    1615    @title = _('Report categories') 
    1716    @fields = [ [_('Name'), :name], 
     
    2524 
    2625  def create 
    27     @help = 'general' 
    2826    @title = _('Create a new report category') 
    2927    @fields = [ 
     
    3735 
    3836  def edit 
    39     @help = 'general' 
    4037    @title = _('Edit report category') 
    4138    @report_category = ReportCategory.find params[:id] 
     
    5855 
    5956  def view_as_tree 
    60     @help = 'general' 
    6157    @title = ('Report category hierarchy') 
    6258    @report_categories = ReportCategory.find :all, :readonly => true, :order => 'name' 
  • branches/1.2-alpha/app/controllers/report_controller.rb

    r375 r439  
    2929  # The choice is saved to session so that it is rememberd when returned to this action. 
    3030  def list 
    31     @help = 'general' 
    3231 
    3332    if session[:select_branches] 
     
    5352 
    5453    @title = _('Select report type to create') 
    55     @help = 'general' 
    5654 
    5755    report_types = params[:tag_id].nil? ? ReportType.find(:all, :conditions => ['ready = ?', true], :readonly => true) : ReportTag.find(params[:tag_id]).report_types 
     
    6664 
    6765  def create 
    68     @help = 'general' 
    6966    unless @selected_asset.authorized_to_create_report? 
    7067      redirect_with_error_message(msg_unauthorized_operation(_('create report'), @selected_asset.code_and_name), :action => 'index') 
     
    124121  # Edits an existing report 
    125122  def edit 
    126     @help = 'general' 
    127123    @title = _('Edit report') 
    128124    @report = Report.find(params[:id], :include => [:data_permissions, :report_field_values]) 
     
    233229  # Displays the report listing 
    234230  def search 
    235     @help = 'general' 
    236231    @items_limit = 1000000 # FIXME Fix pagination 
    237232 
     
    306301  # Displays the report in html. 
    307302  def view 
    308     @help = 'general' 
    309303    begin 
    310304      @report = Report.find(params[:id], :include => [:data_permissions, :asset]) 
  • branches/1.2-alpha/app/controllers/report_type_controller.rb

    r371 r439  
    1717  # Shows a list of report types. 
    1818  def list 
    19     @help = 'general' 
    2019    @title = _('Report types') 
    2120    @fields = [ [_('Category'), :category_name], 
     
    4746 
    4847  def create_step1 
    49     @help = 'general' 
    5048    @title = _('New report type wizard Step 1 of 4') 
    5149    # Find objects 
     
    7573 
    7674  def create_step2 
    77     @help = 'general' 
    7875    @report_type = ReportType.find(params[:id], :conditions => ['ready = ?', false]) 
    7976    @report_type.report_fields.clear 
     
    10198 
    10299  def create_step3 
    103     @help = 'general' 
    104100    @report_type = ReportType.find(params[:id], :conditions => ['ready = ?', false]) 
    105101    @title = _('New report type wizard Step 3 of 4 (%s)', @report_type.name) 
     
    107103 
    108104  def create_step4 
    109     @help = 'general' 
    110105    setup_create_step4 
    111106  end 
    112107 
    113108  def create_step5 
    114     @help = 'general' 
    115109    @report_type = ReportType.find(params[:id], :conditions => ['ready = ?', false]) 
    116110 
     
    220214  # Edit existing report type 
    221215  def edit 
    222     @help = 'general' 
    223216    @title = _('Edit report type') 
    224217    @report_type = ReportType.find(params[:id], :conditions => ['ready = ?', true]) 
     
    267260    if request.post? 
    268261      @new_report_template = ReportTemplate.new(params[:new_report_template]) 
    269       if @new_report_template.save 
     262 
     263      # Check that the new template has the necessary user fields 
     264      necessary_fields = @report_type.report_fields.collect { |field| field.user_field_name } 
     265      necessary_fields.delete_if { |name| name.match(/^cmms_/) } # Remove automatic fields 
     266      @missing_fields = necessary_fields - @new_report_template.get_user_field_declarations.collect { |decl| decl.attributes['text:name'] } 
     267 
     268      if @missing_fields.empty? and @new_report_template.save 
    270269        @report_type.report_template.destroy if @report_type.report_template 
    271270        @report_type.report_template = @new_report_template 
     
    274273        flash[:notice] = _('Report template changed.') 
    275274        redirect_to(:action => 'list') 
     275      elsif not @missing_fields.empty? 
     276        @new_report_template.errors.add_to_base(_('One or more user fields are missing')) 
    276277      end 
    277278    end 
     
    291292    @new_field_group = ReportFieldGroup.new 
    292293    @enum_value = EnumeratedValue.new 
     294    @field_types = [ 
     295      [_('Integer'), ReportField::INTEGER], 
     296      [_('String'), ReportField::STRING], 
     297      [_('Boolean'), ReportField::BOOLEAN], 
     298      [_('Float'), ReportField::FLOAT], 
     299      [_('Long string'), ReportField::LONG_STRING], 
     300      [_('Date'), ReportField::DATE], 
     301      [_('Time'), ReportField::TIME], 
     302      [_('Datetime'), ReportField::DATETIME], 
     303      [_('Enumeration'), ReportField::ENUM], 
     304      [_('Image'), ReportField::IMAGE], 
     305      [_('Automatic'), ReportField::AUTOMATIC] 
     306    ] 
    293307  end 
    294308end 
  • branches/1.2-alpha/app/controllers/timeline_controller.rb

    r299 r439  
    1818  # Optionally also lists timeline events for all assets subassets: 
    1919  def index 
    20     @help = 'index' 
    2120 
    2221    if session[:select_branches] 
  • branches/1.2-alpha/app/controllers/type_attachment_controller.rb

    r339 r439  
    1616 
    1717  def list 
    18     @help = 'general' 
    1918    @fields = [ 
    2019      [_('Asset type'), :asset_type], 
     
    5150 
    5251  def attach 
    53     @help = 'general' 
    5452    @asset_type = AssetType.find(params[:id], :readonly => true) 
    5553    unless @asset_type.authorized_to_create?(TypeAttachment) 
     
    7876 
    7977  def view 
    80     @help = 'general' 
    8178    begin 
    8279      @file = TypeAttachment.find_without(:data, params[:id], :include => [:data_permissions, :asset_type, :creator]) 
  • branches/1.2-alpha/app/controllers/user_controller.rb

    r371 r439  
    2121 
    2222  def list 
    23     @help = 'general_admin' 
    2423    @title = _('User accounts') 
    2524    @fields = [ 
     
    4140 
    4241  def create 
    43     @help = 'general_admin' 
    4442    @title = _('Create new user account') 
    4543    @fields = [ 
     
    5755 
    5856  def edit 
    59     @help = 'general_admin' 
    6057    @model = User.find params[:id] 
    6158    @title = _('Edit user account: %s', @model.login) 
     
    9390    if request.post? 
    9491      @model.attributes = params[:model] 
    95       @model.password = '' # conserve password 
     92      @model.password = nil # conserve password 
    9693      if @model.save 
    9794        flash[:notice] = _('User information changed') 
     
    142139 
    143140  def reset_password 
    144     @help = 'general_admin' 
    145141    @user = User.find params[:id] 
    146142    @title = _('Reset password for user account %s', @user.login) 
     
    169165        session[:user] = User.accessing(session[:user]) 
    170166 
     167        expire_fragment(:controller => 'asset_tree', :action => 'asset_tree', :action_suffix => session[:user].login) 
    171168        redirect_back_or_default :controller => 'asset', :action => "view" 
    172169      else 
     
    195192  # Searches users by login or names and lists users. 
    196193  def search 
    197     @help = 'general' 
    198194    @title = _('Search users') 
    199195    @fields = [ 
     
    220216 
    221217  def view 
    222     @help = 'general' 
    223218    @user = User.find params[:id] 
    224219    @title = _("%s's user information", @user.login) 
    225  
    226     if request.post? 
    227       @message = Message.new(params[:message]) 
    228       @message.receiver = @user 
    229       @message.sender = session[:user] 
    230       if @message.save 
    231         flash[:notice] = _('Message sent') 
    232         @message = Message.new 
    233       end 
    234     else 
    235       @message = Message.new 
    236     end 
    237220  end 
    238221 
    239222  def edit_my_information 
    240     @help = 'general' 
    241223    @model = User.find session[:user].id 
    242224    @title = _('My information') 
     
    260242      params[:model].delete_if { |key, value| !['email', 'phone', 'lang'].include? key } 
    261243      @model.attributes = params[:model] 
    262       @model.password = '' # conserve password 
     244      @model.password = nil # conserve password 
    263245      if @model.save 
    264246        session[:user] = @model 
     
    279261 
    280262  def change_password 
    281     @help = 'general' 
    282263    @title = _('Change password') 
    283264    @user = User.find session[:user].id 
  • branches/1.2-alpha/app/controllers/user_group_controller.rb

    r379 r439  
    1717  # Lists all user groups 
    1818  def list 
    19     @help = 'general' 
    2019    @title = _('User groups') 
    2120    @items = items_for_page(UserGroup, :order => 'name') 
     
    3635  # Create new user group 
    3736  def create 
    38     @help = 'general' 
    3937    @title = _('Create user group') 
    4038    @fields = [ 
     
    5048  # Edit user group 
    5149  def edit 
    52     @help = 'general' 
    5350    @title = _('Edit user group') 
    5451    @fields = [ 
     
    7673  # View and manage users in user group 
    7774  def users 
    78     @help = 'general' 
    7975    @user_group = UserGroup.find params[:id] 
    8076    @title = _('Users in user group "%s"', @user_group.name) 
  • branches/1.2-alpha/app/controllers/work_order_controller.rb

    r371 r439  
    3030  # The choice is saved to session so that it is rememberd when returned to this action. 
    3131  def list 
    32     @help = 'general' 
    3332    @fields = [ [_('Asset'), :asset], 
    3433                [_('Work order'), :self], 
     
    3736                [_('Starting time'), :starting_time], 
    3837                [_('Deadline'), :deadline] ] 
    39     @assigned_field = ['Responsible user', :responsible_user] 
     38    @assigned_field = ['Responsible worker', :responsible_user] 
    4039    @actions = [] 
    4140 
     
    8584 
    8685  def view 
    87     @help = 'general' 
    8886    # Find objects 
    8987    begin 
     
    105103 
    106104    @wo_title = _('Work order %s (%s)', @work_order.to_s, @work_order.work_order_type.name) 
     105    define_priority_options 
    107106 
    108107    if request.post? 
     
    112111      added_worker_ids = new_worker_ids - old_worker_ids 
    113112      removed_worker_ids = old_worker_ids - new_worker_ids 
     113 
     114      # Trigger the gettext 
     115      # FIXME: Come up with something better 
     116      _('You have been removed from the list of workers in this work order') 
     117      _('You have been added to the list of workers in this work order') 
    114118 
    115119      for worker_id in removed_worker_ids 
     
    164168 
    165169  def edit 
    166     @help = 'general' 
    167170    # Find objects 
    168171    @work_order = WorkOrder.find(params[:id], :include => [:data_permissions, :asset, :creator, :responsible_user]) 
     
    172175      return 
    173176    end 
     177    define_priority_options 
    174178    @events = @work_order.work_order_events 
    175179    @users = User.find :all # Data permissions will change 
     
    206210 
    207211  def create 
    208     @help = 'general' 
    209212    unless @selected_asset.authorized_to_create_work_order? 
    210213      redirect_with_error_message(msg_unauthorized_operation(_('create work order'), @selected_asset.code_and_name), :action => 'list') 
    211214      return 
    212215    end 
     216 
     217    define_priority_options 
    213218 
    214219    @title = _('Create new work order') 
     
    329334    end 
    330335  end 
     336 
     337  def define_priority_options 
     338    @priority_options = [ 
     339                          [_('Highest'),   6], 
     340                          [_('Very high'), 5], 
     341                          [_('High'),      4], 
     342                          [_('Normal'),    3], 
     343                          [_('Low'),       2], 
     344                          [_('Very low'),  1], 
     345                          [_('Lowest'),    0] 
     346                        ] 
     347    @priority_to_text = { } 
     348    @priority_options.each { |text, priority| @priority_to_text[priority] = text } 
     349    @state_as_text = [_('New'), _('Assigned'), _('Accepted'), _('Closed')] 
     350  end 
    331351end 
  • branches/1.2-alpha/app/controllers/work_order_type_controller.rb

    r379 r439  
    1717  # Displays the work_order type listing 
    1818  def list 
    19     @help = 'general' 
    2019    @title = _('Work order types') 
    2120    @fields = [ [_('Name'), :name], 
     
    2928 
    3029  def create 
    31     @help = 'general' 
    3230    @title = _('New work order type') 
    3331    @fields = [ 
     
    4947 
    5048  def edit 
    51     @help = 'general' 
    5249    @title = _('Edit work order type') 
    5350    @fields = [ 
     
    6057 
    6158  def view_template 
    62     @help = 'general' 
    6359    @work_order_template = WorkOrderTemplate.find(:first) 
    6460    if @work_order_template 
  • branches/1.2-alpha/app/helpers/application_helper.rb

    r375 r439  
    510510  # Markup buttons 
    511511  def markup_buttons(text_area_id) 
    512     "<input type=button onclick=\"insert_cmms_markup('#{text_area_id}', '*', '*'); \" value='Bold' title='Bold' />" + 
    513     "<input type=button onclick=\"insert_cmms_markup('#{text_area_id}', '\\'', '\\''); \" value='Italic' title='Italic' />" + 
    514     "<input type=button onclick=\"insert_cmms_markup('#{text_area_id}', '_', '_'); \" value='Underline' title='Underline' />" + 
    515     "<input type=button onclick=\"insert_cmms_markup('#{text_area_id}', '----\\n', ''); \" value='Ruler' title='Ruler' />" + 
    516     "<input type=button onclick=\"insert_cmms_markup('#{text_area_id}', '- ', ' -'); \" value='Heading' title='Heading' />" + 
     512    "<input type=button onclick=\"insert_cmms_markup('#{text_area_id}', '*', '*'); \" value='" + _('Bold') + "'/>" + 
     513    "<input type=button onclick=\"insert_cmms_markup('#{text_area_id}', '\\'', '\\''); \" value='" + _('Italic') + "' />" + 
     514    "<input type=button onclick=\"insert_cmms_markup('#{text_area_id}', '_', '_'); \" value='" + _('Underline') + "' />" + 
     515    "<input type=button onclick=\"insert_cmms_markup('#{text_area_id}', '----\\n', ''); \" value='" + _('Ruler') + "' />" + 
     516    "<input type=button onclick=\"insert_cmms_markup('#{text_area_id}', '- ', ' -'); \" value='" + _('Heading') + "' />" + 
    517517    '<script type="text/javascript">' + 
    518518    "  Element.show('#{text_area_id}_buttons');" + 
  • branches/1.2-alpha/app/models/asset.rb

    r371 r439  
    245245    where_sql = "users.id != #{exclude_user_id} AND " + where_sql if exclude_user_id.is_a?(Integer) 
    246246 
    247     User.find_by_sql("SELECT users.* FROM users, user_groups_users WHERE (#{where_sql})") 
     247    User.find_by_sql("SELECT DISTINCT users.* FROM users, user_groups_users WHERE (#{where_sql})") 
    248248  end 
    249249