Changeset 487
- Timestamp:
- 01/24/07 21:33:06 (2 years ago)
- Files:
-
- branches/workorder_report_rename/app/controllers/action_key_controller.rb (modified) (1 diff)
- branches/workorder_report_rename/app/controllers/application.rb (modified) (5 diffs)
- branches/workorder_report_rename/app/controllers/asset_tree_controller.rb (modified) (1 diff)
- branches/workorder_report_rename/app/controllers/form_controller.rb (modified) (1 diff)
- branches/workorder_report_rename/app/controllers/overview_controller.rb (modified) (6 diffs)
- branches/workorder_report_rename/app/controllers/search_controller.rb (modified) (2 diffs)
- branches/workorder_report_rename/app/controllers/task_controller.rb (modified) (14 diffs)
- branches/workorder_report_rename/app/controllers/task_type_controller.rb (modified) (5 diffs)
- branches/workorder_report_rename/app/controllers/user_controller.rb (modified) (1 diff)
- branches/workorder_report_rename/app/helpers/application_helper.rb (modified) (5 diffs)
- branches/workorder_report_rename/app/helpers/asset_helper.rb (modified) (2 diffs)
- branches/workorder_report_rename/app/helpers/sort_helper.rb (deleted)
- branches/workorder_report_rename/app/models/asset_condition_analysis.rb (modified) (3 diffs)
- branches/workorder_report_rename/app/models/assets_user_group.rb (modified) (1 diff)
- branches/workorder_report_rename/app/models/form.rb (modified) (1 diff)
- branches/workorder_report_rename/app/models/task.rb (modified) (4 diffs)
- branches/workorder_report_rename/app/models/task_tag.rb (modified) (1 diff)
- branches/workorder_report_rename/app/models/task_type.rb (modified) (1 diff)
- branches/workorder_report_rename/app/views/asset_permission/_profiles.rhtml (modified) (2 diffs)
- branches/workorder_report_rename/app/views/asset_permission/edit.rhtml (modified) (3 diffs)
- branches/workorder_report_rename/app/views/asset_permission/list.rhtml (modified) (3 diffs)
- branches/workorder_report_rename/app/views/asset_tree/_asset_tree.rhtml (modified) (4 diffs)
- branches/workorder_report_rename/app/views/data_permission/edit.rhtml (modified) (3 diffs)
- branches/workorder_report_rename/app/views/data_permission/preview.rhtml (modified) (1 diff)
- branches/workorder_report_rename/app/views/form/_creation_form.rhtml (modified) (1 diff)
- branches/workorder_report_rename/app/views/form/search.rhtml (modified) (2 diffs)
- branches/workorder_report_rename/app/views/form/view.rhtml (modified) (2 diffs)
- branches/workorder_report_rename/app/views/form_type/change_template.rhtml (modified) (2 diffs)
- branches/workorder_report_rename/app/views/form_type/create_step1.rhtml (modified) (1 diff)
- branches/workorder_report_rename/app/views/form_type/create_step2.rhtml (modified) (1 diff)
- branches/workorder_report_rename/app/views/form_type/create_step4.rhtml (modified) (5 diffs)
- branches/workorder_report_rename/app/views/keyring/edit_keys.rhtml (modified) (1 diff)
- branches/workorder_report_rename/app/views/keyring/edit_owners.rhtml (modified) (1 diff)
- branches/workorder_report_rename/app/views/layouts/mainlevel.rhtml (modified) (8 diffs)
- branches/workorder_report_rename/app/views/message/send_message.rhtml (modified) (1 diff)
- branches/workorder_report_rename/app/views/overview/executive_view.rhtml (modified) (1 diff)
- branches/workorder_report_rename/app/views/shared/_list_items.rhtml (modified) (8 diffs)
- branches/workorder_report_rename/app/views/task/create.rhtml (modified) (1 diff)
- branches/workorder_report_rename/app/views/task/view.rhtml (modified) (1 diff)
- branches/workorder_report_rename/app/views/task_type/upload_template.rhtml (modified) (1 diff)
- branches/workorder_report_rename/app/views/task_type/view_template.rhtml (modified) (1 diff)
- branches/workorder_report_rename/app/views/user/login.rhtml (modified) (2 diffs)
- branches/workorder_report_rename/app/views/user/search.rhtml (modified) (2 diffs)
- branches/workorder_report_rename/app/views/user_group/users.rhtml (modified) (1 diff)
- branches/workorder_report_rename/config/environment.rb (modified) (3 diffs)
- branches/workorder_report_rename/config/gettext_hack.rb (modified) (1 diff)
- branches/workorder_report_rename/config/norfello_extensions.rb (modified) (2 diffs)
- branches/workorder_report_rename/db/migrate/021_version_one_dot_two_tables.rb (modified) (1 diff)
- branches/workorder_report_rename/doc/manual/latex/tex/installing_and_configuring.tex (modified) (7 diffs)
- branches/workorder_report_rename/doc/manual/latex/tex/network_maintenance.tex (modified) (3 diffs)
- branches/workorder_report_rename/doc/manual/latex/tex/preface.tex (modified) (2 diffs)
- branches/workorder_report_rename/doc/manual/latex/tex/reference_manual.tex (modified) (12 diffs)
- branches/workorder_report_rename/example_documents/task.odt (moved) (moved from branches/workorder_report_rename/example_documents/work_order.odt)
- branches/workorder_report_rename/lib/acl_system.rb (modified) (1 diff)
- branches/workorder_report_rename/lib/graph.rb (modified) (5 diffs)
- branches/workorder_report_rename/lib/login_system.rb (modified) (3 diffs)
- branches/workorder_report_rename/lib/menu_helper.rb (modified) (2 diffs)
- branches/workorder_report_rename/po/fi_FI/norfello_cmms.po (modified) (76 diffs)
- branches/workorder_report_rename/public/images/16x16/task.png (moved) (moved from branches/workorder_report_rename/public/images/16x16/work_order.png)
- branches/workorder_report_rename/public/images/16x16/timeline_task.gif (moved) (moved from branches/workorder_report_rename/public/images/16x16/timeline_work_order.gif)
- branches/workorder_report_rename/public/images/22x22/menu_task.gif (moved) (moved from branches/workorder_report_rename/public/images/22x22/menu_work_order.gif)
- branches/workorder_report_rename/public/images/22x22/task.png (moved) (moved from branches/workorder_report_rename/public/images/22x22/work_order.png)
- branches/workorder_report_rename/public/images/bg_task.png (moved) (moved from branches/workorder_report_rename/public/images/bg_work_order.png)
- branches/workorder_report_rename/public/javascripts/application.js (modified) (1 diff)
- branches/workorder_report_rename/public/stylesheets/base.css (modified) (1 diff)
- branches/workorder_report_rename/public/stylesheets/tasks.css (moved) (moved from branches/workorder_report_rename/public/stylesheets/workorders.css) (4 diffs)
- branches/workorder_report_rename/public/stylesheets/timeline.css (modified) (1 diff)
- branches/workorder_report_rename/public/stylesheets/typography.css (modified) (1 diff)
- branches/workorder_report_rename/script/find_permissions (modified) (2 diffs)
- branches/workorder_report_rename/script/generate_asset_permissions.rb (modified) (8 diffs)
- branches/workorder_report_rename/test/fixtures/assets.yml (modified) (2 diffs)
- branches/workorder_report_rename/test/fixtures/tasks.yml (modified) (1 diff)
- branches/workorder_report_rename/test/functional/action_key_controller_test.rb (modified) (1 diff)
- branches/workorder_report_rename/test/functional/asset_controller_test.rb (modified) (1 diff)
- branches/workorder_report_rename/test/functional/asset_permission_controller_test.rb (modified) (1 diff)
- branches/workorder_report_rename/test/functional/form_type_controller_test.rb (modified) (2 diffs)
- branches/workorder_report_rename/test/functional/task_controller_test.rb (modified) (2 diffs)
- branches/workorder_report_rename/test/functional/task_type_controller_test.rb (modified) (1 diff)
- branches/workorder_report_rename/test/functional/user_controller_test.rb (modified) (1 diff)
- branches/workorder_report_rename/test/test_helper.rb (modified) (2 diffs)
- branches/workorder_report_rename/test/unit/asset_condition_analysis_test.rb (modified) (1 diff)
- branches/workorder_report_rename/test/unit/asset_test.rb (modified) (1 diff)
- branches/workorder_report_rename/test/unit/assets_user_group_test.rb (modified) (1 diff)
- branches/workorder_report_rename/test/unit/cmms_markup_test.rb (modified) (1 diff)
- branches/workorder_report_rename/test/unit/data_permission_profile_test.rb (modified) (1 diff)
- branches/workorder_report_rename/test/unit/data_permission_test.rb (modified) (3 diffs)
- branches/workorder_report_rename/test/unit/protected_data_test.rb (modified) (4 diffs)
- branches/workorder_report_rename/test/unit/task_test.rb (modified) (8 diffs)
- branches/workorder_report_rename/test/unit/user_test.rb (modified) (8 diffs)
- branches/workorder_report_rename/vendor/plugins/odt_to_xhtml/lib/analyze_content.rb (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
branches/workorder_report_rename/app/controllers/action_key_controller.rb
r464 r487 11 11 class ActionKeyController < ApplicationController 12 12 prepend_before_filter :login_required 13 layout 'mainlevel'14 13 15 14 def list 16 15 @title = _('Keys') 17 @fields = [['Name (controller/action)', :name ], ['Information', :info]]18 @items = items_for_page(ActionKey , :order => 'name')16 @fields = [['Name (controller/action)', :name, 'name'], ['Information', :info, 'info']] 17 @items = items_for_page(ActionKey) 19 18 render(:partial => 'shared/list_items', :layout => 'mainlevel') 20 19 end branches/workorder_report_rename/app/controllers/application.rb
r469 r487 20 20 init_gettext 'norfello_cmms' 21 21 22 model :user23 22 layout 'mainlevel' 24 23 before_filter :set_current_user, :set_selected_asset, :prepare_tree_view, :protect_page_groups, :handle_cancel_submit … … 119 118 def set_current_user 120 119 # Possibly hijacked session 121 if session[:user_ip] and session[:user_ip] != @request.remote_ip122 info "Request from different ip than login! Login: #{session[:user_ip]}, request: #{ @request.remote_ip}"120 if session[:user_ip] and session[:user_ip] != request.remote_ip 121 info "Request from different ip than login! Login: #{session[:user_ip]}, request: #{request.remote_ip}" 123 122 reset_session 124 123 redirect_to :controller => 'user', :action => 'logout' … … 141 140 #raise session[:user].lang 142 141 login = session[:user].login if session[:user] 143 ActiveRecord::Base.logged_information(login, @request.remote_ip)144 @message_count = session[:user].received_messages.count( "unread = '1'")142 ActiveRecord::Base.logged_information(login, request.remote_ip) 143 @message_count = session[:user].received_messages.count(:conditions => "unread = '1'") 145 144 @message_id = session[:user].received_messages.find(:first, :conditions => "unread = '1'").id if @message_count == 1 146 145 GetText.locale = session[:user].lang … … 310 309 # Forms 311 310 output = text.gsub(/#{form_url_match}\/#{params_match}/) { |m| "[#{$~[1]}]" } 312 # Work orders311 # Tasks 313 312 output = output.gsub(/#{task_url_match}\/#{params_match}/) { |m| "{#{$~[1]}}" } 314 313 # Attachments … … 450 449 @items_limit ||= 20 451 450 @items_offset ||= (params[:items_offset].to_i || 0) 451 sort_sql = (@fields.collect { |f| f[2] })[params[:sort_column].to_i] if @fields and params[:sort_column] 452 sort_sql += ' DESC' if sort_sql and params[:sort_desc] 453 @sort_column = params[:sort_column].to_i if params[:sort_column] 454 @sort_desc = 1 if params[:sort_desc] 452 455 finder_method = options[:finder_method] || :find 453 456 options.delete(:finder_method) # So that it won't get passed to the find 454 return finder.send(finder_method, :all, {:readonly => true, :limit => @items_limit, :offset => @items_offset }.merge(options))457 return finder.send(finder_method, :all, {:readonly => true, :limit => @items_limit, :offset => @items_offset, :order => sort_sql}.merge(options)) 455 458 end 456 459 end branches/workorder_report_rename/app/controllers/asset_tree_controller.rb
r469 r487 110 110 end 111 111 112 # If user was viewing a form, a work orderor an attachment112 # If user was viewing a form, a task or an attachment 113 113 # redirect to the appropriate list page. 114 114 return redirect_to(:controller => 'form', :action=> 'list') if request.env['HTTP_REFERER'] =~ /form\/.*$/x branches/workorder_report_rename/app/controllers/form_controller.rb
r469 r487 290 290 # Called by AJAX 291 291 def auto_complete_for_form_keywords 292 input = @request.raw_post.split.last292 input = request.raw_post.split.last 293 293 input.gsub!("form%5Bkeywords%5D=", "") 294 294 input.gsub!("%C3%A4", "À") branches/workorder_report_rename/app/controllers/overview_controller.rb
r469 r487 2 2 # See license agreement for additional rights 3 3 4 include Graph 4 require_dependency 'graph' 5 5 6 6 # Class: OverviewController … … 33 33 image = generate_time_spent_on_tasks_chart 34 34 else 35 image = pie(300, 200, [1, 1], ['Empty', 'Empty'])35 image = Graph::pie(300, 200, [1, 1], ['Empty', 'Empty']) 36 36 end 37 37 … … 48 48 } 49 49 50 return pie(300, 200, form_counts, form_types.collect { |type| type.name })50 return Graph::pie(300, 200, form_counts, form_types.collect { |type| type.name }) 51 51 end 52 52 … … 57 57 } 58 58 59 return pie(300, 200, task_counts, [_('New'), _('Assigned'), _('Accepted')])59 return Graph::pie(300, 200, task_counts, [_('New'), _('Assigned'), _('Accepted')]) 60 60 end 61 61 … … 63 63 find_selected_assets 64 64 times = Task.average_times_from_open_state(@selected_assets_condition) 65 return bar(300, 200, times, [_('Assigned'), _('Accepted'), _('Closed')])65 return Graph::bar(300, 200, times, [_('Assigned'), _('Accepted'), _('Closed')]) 66 66 end 67 67 … … 69 69 find_selected_assets 70 70 resource_usage = Task.calculate_resource_usage(@selected_assets_condition, 2.days, 30.minutes) 71 return line(300, 200, [resource_usage], [_('Resource usage')])71 return Graph::line(300, 200, [resource_usage], [_('Resource usage')]) 72 72 end 73 73 end branches/workorder_report_rename/app/controllers/search_controller.rb
r469 r487 30 30 } 31 31 32 # Search work orders "{3432}" "{43242"32 # Search tasks "{3432}" "{43242" 33 33 search_string.scan(/\{([[:digit:]]+)/) { |id| 34 34 id = id.first.to_i … … 37 37 return 38 38 else 39 flash[:notice] = _(' Work order{%i} not found', id)39 flash[:notice] = _('Task {%i} not found', id) 40 40 end 41 41 } branches/workorder_report_rename/app/controllers/task_controller.rb
r468 r487 26 26 # ============== 27 27 # 28 # Lists work orders for asset @selected_asset.29 # Optionally also lists work orders for all asset's subassets:28 # Lists tasks for asset @selected_asset. 29 # Optionally also lists tasks for all asset's subassets: 30 30 def list 31 31 define_priority_options 32 32 @fields = [ 33 [_('ID'), :self ],34 [_('Type'), :task_type_name ],35 [_('State'), {:name => :state}.merge(@state_to_text) ],36 [_('Description'), :short_description ],37 [_('Priority'), {:name => :priority}.merge(@priority_to_text) ],38 [_('Responsible worker'), :responsible_user ],39 [_('Starting time'), :starting_time ],40 [_('Deadline'), :deadline ],41 [_('Asset'), :asset ]33 [_('ID'), :self, 'id'], 34 [_('Type'), :task_type_name, 'task_type_id'], 35 [_('State'), {:name => :state}.merge(@state_to_text), 'state'], 36 [_('Description'), :short_description, 'short_description'], 37 [_('Priority'), {:name => :priority}.merge(@priority_to_text), 'priority'], 38 [_('Responsible worker'), :responsible_user, 'responsible_user_id'], 39 [_('Starting time'), :starting_time, 'starting_time'], 40 [_('Deadline'), :deadline, 'deadline'], 41 [_('Asset'), :asset, 'asset_id'] 42 42 ] 43 44 user_options = @selected_asset.users.collect { |user| [user.login_and_name, user.id] } 45 asset_options = Asset.find_authorized_to(:create_task, [:all]).collect { |a| [a.full_code, a.id] } 43 46 @actions = [] 47 @check_title = _('Select') 48 @list_actions = [ 49 { :name => _('Remove'), :url => {:action => 'remove'} }, 50 { :name => _('Move'), :url => {:action => 'move'}, 51 :fields => [ [_('Asset'), :our_select_tag, 'asset_id', asset_options] ] } 52 ] 44 53 45 54 if session[:select_branches] 46 @title = _(' Work orders for selected assets in branch %s', @selected_asset.code_and_name)55 @title = _('Tasks for selected assets in branch %s', @selected_asset.code_and_name) 47 56 else 48 @title = _(' Work orders for asset %s', @selected_asset.code_and_name)57 @title = _('Tasks for asset %s', @selected_asset.code_and_name) 49 58 end 50 59 … … 75 84 @users = @task.asset.users(@task.responsible_user_id) 76 85 77 @wo_title = _(' Work order%s (%s)', @task.to_s, @task.task_type.name)86 @wo_title = _('Task %s (%s)', @task.to_s, @task.task_type.name) 78 87 define_priority_options 79 88 … … 87 96 # Trigger the gettext 88 97 # FIXME: Come up with something better 89 _('You have been removed from the list of workers in this work order')90 _('You have been added to the list of workers in this work order')98 _('You have been removed from the list of workers in this task') 99 _('You have been added to the list of workers in this task') 91 100 92 101 for worker_id in removed_worker_ids 93 102 next if worker_id == session[:user].id 94 103 Message.create(:receiver_user_id => worker_id, 95 :subject => 'You have been removed from the list of workers in this work order',104 :subject => 'You have been removed from the list of workers in this task', 96 105 :body => "{#{@task.id}}") 97 106 end … … 100 109 next if worker_id == session[:user].id 101 110 Message.create(:receiver_user_id => worker_id, 102 :subject => 'You have been added to the list of workers in this work order',111 :subject => 'You have been added to the list of workers in this task', 103 112 :body => "{#{@task.id}}") 104 113 end … … 111 120 when 'accept' 112 121 @task.accept 113 flash[:notice] = _(' Work orderaccepted')122 flash[:notice] = _('Task accepted') 114 123 when 'close' 115 124 @task.close 116 flash[:notice] = _(' Work orderclosed')125 flash[:notice] = _('Task closed') 117 126 when 'assign' 118 127 @task.assign_to(User.find(params[:responsible_user_id])) 119 flash[:notice] = _(' Work orderassigned')128 flash[:notice] = _('Task assigned') 120 129 when 'reopen': 121 130 @task.open 122 flash[:notice] = _(' Work orderreopened')131 flash[:notice] = _('Task reopened') 123 132 else 124 flash[:error] = _('Unknown work orderaction!')133 flash[:error] = _('Unknown task action!') 125 134 return 126 135 end … … 154 163 @users = User.find :all # Data permissions will change 155 164 156 @title = _('Editing work order#%i (%s)', @task.id, @task.task_type.name)165 @title = _('Editing task #%i (%s)', @task.id, @task.task_type.name) 157 166 158 167 if request.post? … … 186 195 def create 187 196 unless @selected_asset.authorized_to_create_task? 188 redirect_with_error_message(msg_unauthorized_operation(_('create work order'), @selected_asset.code_and_name), :action => 'list')197 redirect_with_error_message(msg_unauthorized_operation(_('create task'), @selected_asset.code_and_name), :action => 'list') 189 198 return 190 199 end … … 192 201 define_priority_options 193 202 194 @title = _('Create new work order')203 @title = _('Create new task') 195 204 @hide_subaction_links = true 196 205 @cause_form_id = params[:cause_form_id] if params[:cause_form_id] … … 198 207 199 208 if @task_types.empty? 200 redirect_with_message(_('No work ordertypes defined.'), :action=>'list')209 redirect_with_message(_('No task types defined.'), :action=>'list') 201 210 return 202 211 end … … 217 226 @task.ready = true 218 227 if @task.save(true) 219 flash[:notice] = _('New work ordercreated')220 info('New work ordercreated')228 flash[:notice] = _('New task created') 229 info('New task created') 221 230 redirect_to :action => 'view', :id => @task.id 222 231 else … … 230 239 def move 231 240 begin 232 @task = Task.find(params[:id], :include => [:data_permissions, :asset, :creator, :responsible_user]) 241 if params[:id] 242 @task = Task.find(params[:id], :include => [:data_permissions, :asset, :creator, :responsible_user]) 243 elsif params[:delete] # Mass move 244 tasks = Task.find(params[:delete].keys, :include => [:data_permissions, :asset, :creator, :responsible_user]) 245 end 233 246 rescue ActiveRecord::RecordNotFound 234 247 redirect_with_error_message(msg_non_existing_data(Task, params[:id]), :action => 'list') 235 248 end 236 249 237 unless @task.authorized_to_edit? 238 redirect_with_error_message(msg_unauthorized_operation(_('edit'), "{#{@task.id}}"), :action => 'list') 239 return 240 end 241 242 @replace_actions = [] 243 @title = _('Move the work order {%i} to a another asset', @task.id) 244 asset_options = (Asset.find_authorized_to(:create_task, [:all]) - [@task.asset]).collect { |a| 245 [a.full_code, a.id] 246 } 247 @fields = [ [_('Asset'), 'task', 'asset_id', asset_options ] ] 248 @hidden_fields = [ ['id', @task.id] ] 249 250 if request.post? 251 new_asset = Asset.find_authorized_to(:create_task, [params[:task][:asset_id]]) 252 if @task.move(new_asset.id) 253 flash[:notice] = _('The work order {%i} moved to the asset %s', @task.id, new_asset.full_code) 254 redirect_to(:action => 'list') 250 if @task 251 unless @task.authorized_to_edit? 252 redirect_with_error_message(msg_unauthorized_operation(_('edit'), "{#{@task.id}}"), :action => 'list') 255 253 return 256 254 end 257 258 flash[:error] = _('Unable to move the work order {%i} to the asset %s', @task.id, new_asset.full_code) 259 end 260 261 render(:partial => 'shared/select', :layout => 'mainlevel', :locals => { :submit_text => _('Move'), :cancel_url_options => {:action => 'list'} }) 255 256 @replace_actions = [] 257 @title = _('Move the task {%i} to a another asset', @task.id) 258 asset_options = (Asset.find_authorized_to(:create_task, [:all]) - [@task.asset]).collect { |a| 259 [a.full_code, a.id] 260 } 261 @fields = [ [_('Asset'), 'task', 'asset_id', asset_options ] ] 262 @hidden_fields = [ ['id', @task.id] ] 263 264 if request.post? 265 new_asset = Asset.find_authorized_to(:create_task, [params[:task][:asset_id]]) 266 if @task.move(new_asset.id) 267 flash[:notice] = _('The task {%i} moved to the asset %s', @task.id, new_asset.full_code) 268 redirect_to(:action => 'list') 269 return 270 end 271 272 flash[:error] = _('Unable to move the task {%i} to the asset %s', @task.id, new_asset.full_code) 273 end 274 275 render(:partial => 'shared/select', :layout => 'mainlevel', :locals => { :submit_text => _('Move'), :cancel_url_options => {:action => 'list'} }) 276 else # Mass move 277 redirect_to(:action => 'list') 278 return if not request.post? or not tasks or tasks.empty? 279 280 new_asset = Asset.find_authorized_to(:create_task, [params[:asset_id]]) 281 move_count = 0 282 for task in tasks 283 unless task.authorized_to_edit? 284 add_to_error_message(msg_unauthorized_operation(_('edit'), "{#{@task.id}}")) 285 next 286 end 287 288 if task.move(new_asset.id) 289 move_count += 1 290 else 291 add_to_error_message(_('Unable to move task {%i}', task.id)) 292 end 293 end 294 flash[:notice] = _("Moved %d tasks to asset %s", move_count, new_asset.full_code).pluralize if move_count > 0 295 end 296 end 297 298 def update_states 299 raise params.inspect 262 300 end 263 301 … … 280 318 # Check that we have a template 281 319 unless task_template 282 flash[:error] = _('Template for work orders not found')320 flash[:error] = _('Template for tasks not found') 283 321 redirect_to :back 284 322 return … … 291 329 end 292 330 293 # Generate document for the work order331 # Generate document for the task 294 332 document = task_template.create_filled_version(task) 295 333 … … 314 352 dir_name = "task_#{task.id}/" 315 353 316 # Write work order354 # Write task 317 355 zout.put_next_entry(dir_name + "task_#{task.id}.odt") 318 356 zout.write(document.data) branches/workorder_report_rename/app/controllers/task_type_controller.rb
r468 r487 11 11 class TaskTypeController < ApplicationController 12 12 prepend_before_filter :login_required 13 layout 'mainlevel'14 13 15 14 # Fields for create and edit actions … … 17 16 # Displays the task type listing 18 17 def list 19 @title = _(' Work ordertypes')18 @title = _('Task types') 20 19 @fields = [ [_('Name'), :name], 21 20 [_('Tag'), :task_tag], 22 21 [_('Description'), :description], 23 [_(' Work ordercount'), :task_count]22 [_('Task count'), :task_count] 24 23 ] 25 24 @items = items_for_page(TaskType, :order => 'task_tag_id, name') … … 28 27 29 28 def create 30 @title = _('New work ordertype')29 @title = _('New task type') 31 30 @fields = [ 32 31 [_('Name'), :text_field, 'name', { :size => 40, :maxlength => 40 } ], … … 47 46 48 47 def edit 49 @title = _('Edit work ordertype')48 @title = _('Edit task type') 50 49 @fields = [ 51 50 [_('Name'), :text_field, 'name', { :size => 40, :maxlength => 40 } ], … … 78 77 79 78 unless template 80 flash[:error] = _('No work ordertemplate uploaded!')79 flash[:error] = _('No task template uploaded!') 81 80 redirect_to :back 82 81 return branches/workorder_report_rename/app/controllers/user_controller.rb
r469 r487 156 156 157 157 def login 158 if @request.post?158 if request.post? 159 159 if session[:user] = User.authenticate(params[:user_login], params[:user_password]) 160 session[:user_ip] = @request.remote_ip160 session[:user_ip] = request.remote_ip 161 161 session[:user_timeout] = 2.hours.from_now 162 162 session[:show_asset_tree] = true branches/workorder_report_rename/app/helpers/application_helper.rb
r469 r487 434 434 # ============================ 435 435 # 436 # Returns a link to work order437 # 438 # Parameters: 439 # ----------- 440 # task - Work orderto link to441 # link_only - If true, the ' Work order' text is not displayed.442 # show_type - If true, the work order's type will be displayed436 # Returns a link to task 437 # 438 # Parameters: 439 # ----------- 440 # task - Task to link to 441 # link_only - If true, the 'Task' text is not displayed. 442 # show_type - If true, the task's type will be displayed 443 443 def link_to_task(task, link_only = false, show_type = true) 444 444 return '' unless task … … 451 451 #link = "<a href=\"/task/view/#{task.id}\" class=\"task\">#{link_title}</a>" 452 452 return link if link_only 453 return _(' Work order') + ' ' + link453 return _('Task') + ' ' + link 454 454 end 455 455 … … 630 630 else 631 631 b.push({:method => 'get'}) if b.size == 2 632 "<td>#{form_tag(b[1], b[2]) + submit_tag(b[0]) + end_form_tag}</td>"632 "<td>#{form_tag(b[1], b[2]) + submit_tag(b[0])}</form></td>" 633 633 end 634 634 else … … 653 653 return table unless include_submit_tag_and_end_form 654 654 655 table + end_form_tag655 table + '</form>' 656 656 end 657 657 … … 788 788 return results.join 789 789 end 790 791 # Select tag that support option collections. The collection is converted 792 # to option tags with options_for_select. 793 def our_select_tag(name, option_collection = nil, options = {}) 794 option_tags = options_for_select(option_collection) if option_collection 795 return select_tag(name, option_tags, options) 796 end 790 797 end branches/workorder_report_rename/app/helpers/asset_helper.rb
r469 r487 79 79 result_items += condition_list_item(:red, sprintf(n_('%d unprocessed %s form:', '%d unprocessed %s forms:', results[:unprocessed_requests].last.size), results[:unprocessed_requests].last.size, results[:unprocessed_requests].first), results[:unprocessed_requests].last) if results.has_key?(:unprocessed_requests) 80 80 81 result_items += condition_list_item(:orange, sprintf(n_('%d new %s work order:', '%d new %s work orders:', results[:new_works].last.size), results[:new_works].last.size, results[:new_works].first), results[:new_works].last) if results.has_key?(:new_works)81 result_items += condition_list_item(:orange, sprintf(n_('%d new %s task:', '%d new %s tasks:', results[:new_works].last.size), results[:new_works].last.size, results[:new_works].first), results[:new_works].last) if results.has_key?(:new_works) 82 82 83 result_items += condition_list_item(:green, sprintf(n_('%d assigned or accepted %s work order:', '%d assigned or accepted %s work orders:', results[:assigned_works].last.size), results[:assigned_works].last.size, results[:assigned_works].first), results[:assigned_works].last) if results.has_key?(:assigned_works)83 result_items += condition_list_item(:green, sprintf(n_('%d assigned or accepted %s task:', '%d assigned or accepted %s tasks:', results[:assigned_works].last.size), results[:assigned_works].last.size, results[:assigned_works].first), results[:assigned_works].last) if results.has_key?(:assigned_works) 84 84 85 result_items += condition_list_item(:orange, sprintf(n_('%d unfinished %s work order. No %s form has been filed:', '%d unfinished %s work orders. No %s form has been filed:', results[:unknown_condition].last.size), results[:unknown_condition].last.size, *results[:unknown_condition].first), results[:unknown_condition].last) if results.has_key?(:unknown_condition)85 result_items += condition_list_item(:orange, sprintf(n_('%d unfinished %s task. No %s form has been filed:', '%d unfinished %s tasks. No %s form has been filed:', results[:unknown_condition].last.size), results[:unknown_condition].last.size, *results[:unknown_condition].first), results[:unknown_condition].last) if results.has_key?(:unknown_condition) 86 86 87 87 result_items += condition_list_item(:green, sprintf(n_('%d recent %s form:', '%d recent %s forms:', results[:recent_condition].last.size), results[:recent_condition].last.size, results[:recent_condition].first), results[:recent_condition].last) if results.has_key?(:recent_condition) … … 93 93 results = asset.analyse_maintenance_chain 94 94 result_items = '' 95 result_items += condition_list_item(:red, sprintf(n_('%d new %s work order:', '%d new %s work orders:', results[:new_works].last.size), results[:new_works].last.size, results[:new_works].first), results[:new_works].last) if results.has_key?(:new_works)96 result_items += condition_list_item(:green, sprintf(n_('%d assigned or accepted %s work order:', '%d assigned or accepted %s work orders:', results[:assigned_works].last.size), results[:assigned_works].last.size, results[:assigned_works].first), results[:assigned_works].last) if results.has_key?(:assigned_works)95 result_items += condition_list_item(:red, sprintf(n_('%d new %s task:', '%d new %s tasks:', results[:new_works].last.size), results[:new_works].last.size, results[:new_works].first), results[:new_works].last) if results.has_key?(:new_works) 96 result_items += condition_list_item(:green, sprintf(n_('%d assigned or accepted %s task:', '%d assigned or accepted %s tasks:', results[:assigned_works].last.size), results[:assigned_works].last.size, results[:assigned_works].first), results[:assigned_works].last) if results.has_key?(:assigned_works) 97 97 98 result_items += condition_list_item(:orange, sprintf(n_('%d unfinished %s work order. No %s form has been filed:', '%d unfinished %s work orders. No %s form has been filed:', results[:unknown_condition].last.size), results[:unknown_condition].last.size, *results[:unknown_condition].first), results[:unknown_condition].last) if results.has_key?(:unknown_condition)98 result_items += condition_list_item(:orange, sprintf(n_('%d unfinished %s task. No %s form has been filed:', '%d unfinished %s tasks. No %s form has been filed:', results[:unknown_condition].last.size), results[:unknown_condition].last.size, *results[:unknown_condition].first), results[:unknown_condition].last) if results.has_key?(:unknown_condition) 99 99 100 100 result_items += condition_list_item(:green, sprintf(n_('%d recent %s form:', '%d recent %s forms:', results[:recent_maintenance].last.size), results[:recent_maintenance].last.size, results[:recent_maintenance].first), results[:recent_maintenance].last) if results.has_key?(:recent_maintenance) branches/workorder_report_rename/app/models/asset_condition_analysis.rb
r469 r487 15 15 16 16 unless task_type_ids.empty? 17 # Find "Service request" forms which haven't led to work orders.17 # Find "Service request" forms which haven't led to tasks. 18 18 unless cause_form_type_ids.empty? 19 # First find ids of forms which have led to work orders.19 # First find ids of forms which have led to tasks. 20 20 cause_form_ids = Task.find(:all, :select => 'cause_form_id,' + Task.minimal_select, :conditions => ['asset_id = ? AND task_type_id IN (?) AND cause_form_id IS NOT NULL', self.id, task_type_ids]).map {|w| w.cause_form_id } 21 21 conditions = ['asset_id = ? AND form_type_id IN (?)', self.id, cause_form_type_ids] … … 28 28 end 29 29 30 # Find new "Service" work orders.30 # Find new "Service" tasks. 31 31 found = Task.find_authorized_to_read(:all, :conditions => ['asset_id = ? AND task_type_id IN (?) AND state = ?', self.id, task_type_ids, Task.NEW], :readonly => true) 32 32 result[:new_works] = [task_tag.name, found] unless found.empty? 33 33 34 # Find "Service" work orders which have been assigned or accepted.34 # Find "Service" tasks which have been assigned or accepted. 35 35 found = Task.find_authorized_to_read(:all, :conditions => ['asset_id = ? AND task_type_id IN (?) AND state IN (?)', self.id, task_type_ids, [Task.ASSIGNED, Task.ACCEPTED]], :readonly => true) 36 36 result[:assigned_works] = [task_tag.name, found] unless found.empty? 37 37 38 # Find closed "Service" work orders, which haven't led to "Condition" forms.38 # Find closed "Service" tasks, which haven't led to "Condition" forms. 39 39 unless effect_form_type_ids.empty? 40 # First find ids of work orders which have led to forms.40 # First find ids of tasks which have led to forms. 41 41 cause_task_ids = Form.find(:all, :select => 'cause_task_id,' + Form.minimal_select, :conditions => ['asset_id = ? AND form_type_id IN (?) AND cause_task_id IS NOT NULL', self.id, effect_form_type_ids]).map {|w| w.cause_task_id } 42 42 conditions = ['asset_id = ? AND task_type_id IN (?) AND tasks.state = ?', self.id, task_type_ids, Task.CLOSED] … … 68 68 69 69 unless cause_task_type_ids.empty? 70 # Find new "Maintenance" work orders70 # Find new "Maintenance" tasks 71 71 found = Task.find_authorized_to_read(:all, :conditions => ['asset_id = ? AND task_type_id IN (?) AND state = ?', self.id, cause_task_type_ids, Task.NEW]) 72 72 result[:new_works] = [cause_task_tag.name, found] unless found.empty? 73 73 74 # Find "Maintenance" work orders which have been assigned or accepted.74 # Find "Maintenance" tasks which have been assigned or accepted. 75 75 found = Task.find_authorized_to_read(:all, :conditions => ['asset_id = ? AND task_type_id IN (?) AND state IN (?)', self.id, cause_task_type_ids, [Task.ASSIGNED, Task.ACCEPTED]]) 76 76 result[:assigned_works] = [cause_task_tag.name, found] unless found.empty? 77 77 78 # Find closed "Maintenance" work orders, which haven't led to "Maintenance" forms.78 # Find closed "Maintenance" tasks, which haven't led to "Maintenance" forms. 79 79 unless effect_form_type_ids.empty? 80 # First find ids of work orders which have led to forms.80 # First find ids of tasks which have led to forms. 81 81 cause_task_ids = Form.find(:all, :select => 'cause_task_id,' + Form.minimal_select, :conditions => ['asset_id = ? AND form_type_id IN (?) AND cause_task_id IS NOT NULL', self.id, effect_form_type_ids]).map {|w| w.cause_task_id } 82 82 conditions = ['asset_id = ? AND task_type_id IN (?) AND tasks.state = ?', self.id, cause_task_type_ids, Task.CLOSED] branches/workorder_report_rename/app/models/assets_user_group.rb
r469 r487 56 56 self.form_permission_profiles.clear 57 57 end 58 # For Work orders58 # For Tasks 59 59 if original_create_task == false and self.create_task == true 60 60 self.task_permission_profiles.create(:user_group_id => self.user_group_id, :group_read => true) branches/workorder_report_rename/app/models/form.rb
r469 r487 10 10 # Associations 11 11 belongs_to :form_type 12 belongs_to :cause_task, :class_name => 'Task', :foreign_key => 'cause_task_id' # work orderwhich caused this form13 has_one :effect_task, :class_name => 'Task', :foreign_key => 'cause_form_id' # work orderwhich was caused by this form12 belongs_to :cause_task, :class_name => 'Task', :foreign_key => 'cause_task_id' # task which caused this form 13 has_one :effect_task, :class_name => 'Task', :foreign_key => 'cause_form_id' # task which was caused by this form 14 14 has_many :form_field_values, :dependent => :delete_all 15 15 has