opf/openproject

View on GitHub
modules/costs/app/views/cost_types/_rate.html.erb

Summary

Maintainability
Test Coverage
<%#-- copyright
OpenProject is an open source project management software.
Copyright (C) 2012-2024 the OpenProject GmbH

This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License version 3.

OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows:
Copyright (C) 2006-2013 Jean-Philippe Lang
Copyright (C) 2010-2013 the ChiliProject Team

This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License
as published by the Free Software Foundation; either version 2
of the License, or (at your option) any later version.

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.

See COPYRIGHT and LICENSE files for more details.

++#%>

<%-
  templated ||= false
  index ||= "INDEX"
  new_or_existing = rate.new_record? ? 'new' : 'existing'
  id_or_index = rate.new_record? ? index : rate.id
  prefix = "cost_type[#{new_or_existing}_rate_attributes][]"
  id_prefix = "cost_type_#{new_or_existing}_rate_attributes_#{id_or_index}"
  classes ||= ""
  classes += " subform-row-template" if templated

  @rate = rate
  error_messages = error_messages_for 'rate'
-%>


<% unless error_messages.blank? %>
  <tr><td colspan="3"><%= error_messages %></td></tr>
<% end %>
<%= fields_for prefix, rate, builder: TabularFormBuilder do |rate_form| %>
  <tr class="subform-row <%= classes %>" id="<%= id_prefix %>">
    <td class="-no-ellipsis">
      <label class="hidden-for-sighted" for="<%= "#{id_prefix}_valid_from" %>"><%= Rate.human_attribute_name(:valid_from) %></label>
      <%= rate_form.date_picker :valid_from,
                               index: id_or_index,
                               class: 'date costs-date-picker',
                               no_field_container: true,
                               no_label: true,
                               required: templated ? false : true %>
    </td>
    <td class="currency">
      <span class="inline-label">
        <label class="hidden-for-sighted" for="<%= "#{id_prefix}_rate" %>"><%= Rate.model_name.human %></label>
        <%= rate_form.text_field :rate,
                                 size: 7,
                                 index: id_or_index,
                                 inputmode: :decimal,
                                 placeholder: t(:label_example_placeholder, decimal: unitless_currency_number(1000.50)),
                                 value: rate.rate ? unitless_currency_number(rate.rate.round(2)) : "",
                                 no_label: true,
                                 no_field_container: true,
                                 required: templated ? false : true %>
        <span class="form-label">
          <%= Setting.plugin_costs['costs_currency'] %>
        </span>
      </span>
    </td>
    <td class="buttons">
      <a href="#" class="delete-row-button no-decoration-on-hover">
        <%= op_icon('icon-context icon-delete', title: t(:button_delete)) %>
      </a>
    </td>
  </tr>
<% end %>