<%#-- copyright OpenProject Costs Plugin Copyright (C) 2009 - 2014 the OpenProject Foundation (OPF) This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 3. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. ++#%> <%= render :partial => 'shared/costs_header' %>

<%= l(:label_log_costs) %>

<% url = @cost_entry.new_record? ? { :action => 'create', :project_id => @project.id } : { :action => 'update', :id => @cost_entry } %> <% method = @cost_entry.new_record? ? :post : :put %> <%= labelled_tabular_form_for @cost_entry, :url => url, :html => { :method => method } do |f| %> <%= error_messages_for 'cost_entry' %> <%= back_url_hidden_field_tag %>

<%= f.text_field :work_package_id, :size => 6, :required => true %> <%= h("#{@cost_entry.work_package.to_s}") if @cost_entry.work_package%>

<%= f.text_field :spent_on, :size => 10, :required => true %><%= calendar_for('cost_entry_spent_on') %>

<% if User.current.allowed_to? :log_costs, @project %>

<%= f.select :user_id, user_collection_for_select_options, :required => true %>

<% else %> <%= f.hidden_field :user_id, :value => User.current.id %> <% end %>

<%= f.select :cost_type_id, cost_types_collection_for_select_options, :required => true %>

<%= f.text_field :units, :size => 6, :required => true %> <%= (@cost_entry.units == 1 ? @cost_entry.cost_type.unit : @cost_entry.cost_type.unit_plural) if @cost_entry.cost_type %> <%= observe_field( "cost_entry_cost_type_id", :url => {:controller => :cost_objects, :action => :update_material_budget_item, :project_id => @cost_entry.project}, :with => "'cost_type_id=' + encodeURIComponent(value) + '&units=' + encodeURIComponent(document.getElementById('cost_entry_units').value) + '&fixed_date=' + encodeURIComponent(document.getElementById('cost_entry_spent_on').value) + '&element_id=cost_entry'") %> <%= observe_field( "cost_entry_units", :frequency => 1, :url => {:controller => :cost_objects, :action => :update_material_budget_item, :project_id => @cost_entry.project}, :with => "'cost_type_id=' + encodeURIComponent(document.getElementById('cost_entry_cost_type_id').value) + '&units=' + encodeURIComponent(value) + '&fixed_date=' + encodeURIComponent(document.getElementById('cost_entry_spent_on').value) + '&element_id=cost_entry'") %> <%= observe_field( "cost_entry_spent_on", :frequency => 1, :url => {:controller => :cost_objects, :action => :update_material_budget_item, :project_id => @cost_entry.project}, :with => "'cost_type_id=' + encodeURIComponent(document.getElementById('cost_entry_cost_type_id').value) + '&units=' + encodeURIComponent(document.getElementById('cost_entry_units').value) + '&fixed_date=' + encodeURIComponent(value) + '&element_id=cost_entry'") %>

<% if User.current.allowed_to? :view_cost_rates, @cost_entry.project %> <%= number_to_currency(@cost_entry.calculated_costs) %> <%= update_page_tag do |page| page << "makeEditable('cost_entry_costs', 'cost_entry[overridden_costs]');" page << "edit($('cost_entry_costs'), 'cost_entry[overridden_costs]', '#{number_to_currency(@cost_entry.overridden_costs)}');" if @cost_entry.overridden_costs end %> <% else %> " size="7" name="cost_entry[overridden_costs]" id="cost_entry_costs_edit"/> <%= Setting.plugin_openproject_costs['costs_currency'] %>
<%= l(:help_override_rate) %> <% end %>

<%= f.text_field :comments, :size => 100 %>

<%= submit_tag l(:button_save) %> <% end %> <% content_for :header_tags do %> <%= javascript_tag "initialize_editinplace('src=\"#{asset_path('webalys/cancel.png')}\" value=\"#{l(:label_cancel)}\" alt=\"#{l(:button_cancel_edit_costs)}\" title=\"#{l(:button_cancel_edit_costs)}\"' )" %> <% end %>