Manual invoice binding improvement #2733

This commit is contained in:
Martin Lensment 2015-07-15 11:30:14 +03:00
parent 194a551203
commit 1142b1dfc7
6 changed files with 45 additions and 4 deletions

View file

@ -17,6 +17,14 @@ class Admin::BankStatementsController < AdminController
def new def new
@bank_statement = BankStatement.new @bank_statement = BankStatement.new
@invoice = Invoice.find_by(id: params[:invoice_id])
@bank_transaction = @bank_statement.bank_transactions.build(
description: @invoice.to_s,
sum: @invoice.sum,
reference_no: @invoice.reference_no,
paid_at: Time.zone.now.to_date,
currency: 'EUR'
) if @invoice
end end
def create def create
@ -69,6 +77,8 @@ class Admin::BankStatementsController < AdminController
end end
def bank_statement_params def bank_statement_params
params.require(:bank_statement).permit(:th6_file, :bank_code, :iban) params.require(:bank_statement).permit(:th6_file, :bank_code, :iban, bank_transactions_attributes: [
:description, :sum, :reference_no, :paid_at
])
end end
end end

View file

@ -2,6 +2,8 @@ class BankStatement < ActiveRecord::Base
include Versions include Versions
has_many :bank_transactions has_many :bank_transactions
accepts_nested_attributes_for :bank_transactions
attr_accessor :th6_file attr_accessor :th6_file
validates :bank_code, :iban, presence: true validates :bank_code, :iban, presence: true

View file

@ -13,6 +13,31 @@
= f.label :iban = f.label :iban
.col-md-8 .col-md-8
= f.text_field(:iban, class: 'form-control') = f.text_field(:iban, class: 'form-control')
- if @invoice
%hr
%h4= t('bank_transaction')
%hr
= f.fields_for :bank_transactions, [@bank_transaction] do |x|
.row
.col-md-8
.form-group
= x.label :description, class: 'col-md-4 control-label required'
.col-md-8
= x.text_field(:description, class: 'form-control', required: true)
.form-group
= x.label :sum, class: 'col-md-4 control-label required'
.col-md-8
= x.text_field(:sum, class: 'form-control', required: true)
.form-group
= x.label :reference_no, class: 'col-md-4 control-label required'
.col-md-8
= x.text_field(:reference_no, class: 'form-control', required: true)
.form-group
= x.label :paid_at, class: 'col-md-4 control-label required'
.col-md-8
= x.text_field(:paid_at, class: 'form-control datepicker', required: true)
%hr %hr
.row .row
.col-md-8.text-right .col-md-8.text-right

View file

@ -1,5 +1,6 @@
- content_for :actions do - content_for :actions do
= link_to(t(:back), admin_bank_statement_path(@bank_statement), class: 'btn btn-default') - if @bank_statement.persisted?
= link_to(t(:back), admin_bank_statement_path(@bank_statement), class: 'btn btn-default')
= render 'shared/title', name: t(:create_bank_transaction) = render 'shared/title', name: t(:create_bank_transaction)

View file

@ -1,9 +1,11 @@
.row .row
.col-sm-6 .col-sm-4
%h1.text-center-xs %h1.text-center-xs
= @invoice = @invoice
.col-sm-6 .col-sm-8
%h1.text-right.text-center-xs %h1.text-right.text-center-xs
- unless @invoice.binded?
= link_to(t(:payment_received), new_admin_bank_statement_path(invoice_id: @invoice.id), class: 'btn btn-default')
= link_to(t(:download), admin_invoice_download_pdf_path(@invoice), class: 'btn btn-default') = link_to(t(:download), admin_invoice_download_pdf_path(@invoice), class: 'btn btn-default')
= link_to(t(:forward), admin_invoice_forward_path(@invoice), class: 'btn btn-default') = link_to(t(:forward), admin_invoice_forward_path(@invoice), class: 'btn btn-default')
- if !@invoice.cancelled? && !@invoice.binded? - if !@invoice.cancelled? && !@invoice.binded?

View file

@ -869,3 +869,4 @@ en:
reserved_pw: 'Reserved pw' reserved_pw: 'Reserved pw'
no_transfers_found: 'No transfers found' no_transfers_found: 'No transfers found'
parameter_value_range_error: 'Parameter value range error: %{key}' parameter_value_range_error: 'Parameter value range error: %{key}'
payment_received: 'Payment received'