opf/openproject

View on GitHub
modules/costs/app/views/hourly_rates/_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 = "user[#{new_or_existing}_rate_attributes][]"
  id_prefix = "user_#{new_or_existing}_rate_attributes_#{id_or_index}"
  classes ||= ""
  classes += " subform-row-template" if templated
-%>

<%= fields_for prefix, rate, builder: TabularFormBuilder do |rate_form| %>
  <tr class="subform-row <%= classes %>" id="<%= id_prefix %>">
    <td>
      <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_label: true,
                                no_field_container: 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,
                                 index: id_or_index,
                                 no_label: true,
                                 no_field_container: true,
                                 value: rate.rate ? unitless_currency_number(rate.rate.round(2)) : "",
                                 required: 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 %>