foodsoft/app/views/finance/financial_transactions/new_collection.html.haml
Patrick Gansterer a5d0c5ccab Add a button to add all ordergroups to a new finanacial transaction collection
This function can be used if we need to add the same financial transaction
to all ordergroups at the same time. E.g. the monthly membership fee.
2016-03-06 11:53:31 +01:00

53 lines
1.9 KiB
Text

- title t('.title')
- content_for :javascript do
:javascript
var ordergroup = $($.parseHTML("#{escape_javascript(render('ordergroup'))}"));
$(function() {
$(document).on('touchclick', 'a[data-remove-transaction]', function() {
$(this).parents('tr').remove();
return false;
});
$(document).on('touchclick', 'a[data-add-transaction]', function() {
ordergroup.clone().appendTo('#ordergroups');
return false;
});
$(document).on('touchclick', 'a[data-add-all-ordergroups]', function() {
var value = prompt("#{escape_javascript(heading_helper(FinancialTransaction, :amount))}:");
if (value === null)
return false;
$('#ordergroups > tbody > tr').remove();
var options = ordergroup.find('td > select > option').each(function() {
var row = ordergroup.clone();
row.find('td > input').val(value);
row.find('td > select').val(this.value);
row.appendTo('#ordergroups');
});
return false;
});
});
- content_for :sidebar do
.well.well-small= t('.sidebar')
= form_tag finance_create_transaction_collection_path do
%p
%b= heading_helper FinancialTransaction, :note
= text_field_tag :note, params[:note], class: 'input-xlarge', required: 'required'
%p
%table#ordergroups{:style => "width:20em"}
%thead
%tr
%th= heading_helper FinancialTransaction, :ordergroup
%th= heading_helper FinancialTransaction, :amount
%tbody
= render :partial => 'ordergroup', :collection => [1, 2, 3]
%p
= link_to t('.new_ordergroup'), '#', 'data-add-transaction' => true, class: 'btn'
= link_to t('.add_all_ordergroups'), '#', 'data-add-all-ordergroups' => true, class: 'btn'
.form-actions
= submit_tag t('.save'), class: 'btn btn-primary'
= link_to t('ui.or_cancel'), finance_ordergroups_path