Add forms for adding bank transactions #2733

This commit is contained in:
Martin Lensment 2015-06-26 15:48:12 +03:00
parent de082bb637
commit 55ecae3e28
7 changed files with 111 additions and 72 deletions

View file

@ -1,6 +1,25 @@
class Admin::BankTransactionsController < AdminController
load_and_authorize_resource
def new
@bank_statement = BankStatement.find(params[:bank_statement_id])
@bank_transaction = BankTransaction.new(currency: 'EUR')
end
def create
@bank_transaction = BankTransaction.new(
bank_transaction_params.merge(bank_statement_id: params[:bank_statement_id])
)
if @bank_transaction.save
flash[:notice] = I18n.t('record_created')
redirect_to [:admin, @bank_transaction]
else
flash.now[:alert] = I18n.t('failed_to_create_record')
render 'new'
end
end
def update
if @bank_transaction.update(bank_transaction_params)
flash[:notice] = I18n.t('record_updated')
@ -24,6 +43,10 @@ class Admin::BankTransactionsController < AdminController
private
def bank_transaction_params
params.require(:bank_transaction).permit(:description, :sum, :reference_no)
params.require(:bank_transaction).permit(
:description, :sum, :reference_no, :document_no,
:bank_reference, :iban, :buyer_bank_code, :buyer_iban,
:buyer_name, :currency, :paid_at
)
end
end

View file

@ -34,7 +34,13 @@
%dt= t(:import_file)
%dd= link_to(t(:download), download_import_file_admin_bank_statement_path(@bank_statement))
%h2.text-center-xs= t(:bank_transactions)
.row
.col-sm-6
%h3.text-center-xs
= t(:bank_transactions)
.col-sm-6.text-right
%h3.text-right.text-center-xs
= link_to(t(:add), new_admin_bank_statement_bank_transaction_path(@bank_statement), class: 'btn btn-primary')
%hr
.row
.col-md-12

View file

@ -0,0 +1,71 @@
= form_for([:admin, @bank_statement, @bank_transaction], html: { class: 'form-horizontal' }) do |f|
= render 'shared/full_errors', object: @bank_transaction
.row
.col-md-8
- if @bank_transaction.persisted?
.form-group
= f.label :status, class: 'col-md-4 control-label'
- c = @bank_transaction.binded? ? 'text-success' : 'text-danger'
.col-md-8.form-control-static{class: c}
= @bank_transaction.binded? ? t(:binded) : t(:not_binded)
.form-group
= f.label :description, class: 'col-md-4 control-label'
.col-md-8
= f.text_field(:description, class: 'form-control')
.form-group
= f.label :sum, class: 'col-md-4 control-label'
.col-md-8
= f.text_field(:sum, class: 'form-control')
.form-group
= f.label :reference_no, class: 'col-md-4 control-label'
.col-md-8
= f.text_field(:reference_no, class: 'form-control')
.form-group
= f.label :document_no, class: 'col-md-4 control-label'
.col-md-8
= f.text_field(:document_no, class: 'form-control')
.form-group
= f.label :bank_reference, class: 'col-md-4 control-label'
.col-md-8
= f.text_field(:bank_reference, class: 'form-control')
.form-group
= f.label :iban, class: 'col-md-4 control-label'
.col-md-8
= f.text_field(:iban, class: 'form-control')
.form-group
= f.label :buyer_bank_code, class: 'col-md-4 control-label'
.col-md-8
= f.text_field(:buyer_bank_code, class: 'form-control')
.form-group
= f.label :buyer_iban, class: 'col-md-4 control-label'
.col-md-8
= f.text_field(:buyer_iban, class: 'form-control')
.form-group
= f.label :buyer_name, class: 'col-md-4 control-label'
.col-md-8
= f.text_field(:buyer_name, class: 'form-control')
.form-group
= f.label :currency, class: 'col-md-4 control-label'
.col-md-8
= f.text_field(:currency, class: 'form-control', readonly: true)
.form-group
= f.label :paid_at, class: 'col-md-4 control-label'
.col-md-8
= f.text_field(:paid_at, class: 'form-control datepicker')
%hr
.row
.col-md-8.text-right
= button_tag(t(:save), class: 'btn btn-warning')

View file

@ -2,73 +2,4 @@
= link_to(t(:back), admin_bank_transaction_path(@bank_transaction), class: 'btn btn-default')
= render 'shared/title', name: t(:bank_transaction)
= form_for([:admin, @bank_transaction], html: { class: 'form-horizontal' }) do |f|
= render 'shared/full_errors', object: @bank_transaction
.row
.col-md-8
.form-group
= f.label :status, class: 'col-md-2 control-label'
- c = @bank_transaction.binded? ? 'text-success' : 'text-danger'
.col-md-10.form-control-static{class: c}
= @bank_transaction.binded? ? t(:binded) : t(:not_binded)
.form-group
= f.label :description, class: 'col-md-2 control-label'
.col-md-10
= f.text_field(:description, class: 'form-control')
.form-group
= f.label :sum, class: 'col-md-2 control-label'
.col-md-10
= f.text_field(:sum, class: 'form-control')
.form-group
= f.label :reference_no, class: 'col-md-2 control-label'
.col-md-10
= f.text_field(:reference_no, class: 'form-control')
.form-group
= f.label :document_no, class: 'col-md-2 control-label'
.col-md-10
= f.text_field(:document_no, class: 'form-control', disabled: :disabled)
.form-group
= f.label :bank_reference, class: 'col-md-2 control-label'
.col-md-10
= f.text_field(:bank_reference, class: 'form-control', disabled: :disabled)
.form-group
= f.label :iban, class: 'col-md-2 control-label'
.col-md-10
= f.text_field(:iban, class: 'form-control', disabled: :disabled)
.form-group
= f.label :buyer_bank_code, class: 'col-md-2 control-label'
.col-md-10
= f.text_field(:buyer_bank_code, class: 'form-control', disabled: :disabled)
.form-group
= f.label :buyer_iban, class: 'col-md-2 control-label'
.col-md-10
= f.text_field(:buyer_iban, class: 'form-control', disabled: :disabled)
.form-group
= f.label :buyer_name, class: 'col-md-2 control-label'
.col-md-10
= f.text_field(:buyer_name, class: 'form-control', disabled: :disabled)
.form-group
= f.label :currency, class: 'col-md-2 control-label'
.col-md-10
= f.text_field(:currency, class: 'form-control', disabled: :disabled)
.form-group
= f.label :paid_at, class: 'col-md-2 control-label'
.col-md-10
= f.text_field(:paid_at, class: 'form-control', disabled: :disabled)
%hr
.row
.col-md-8.text-right
= button_tag(t(:save), class: 'btn btn-primary')
= render 'form'

View file

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

View file

@ -832,3 +832,4 @@ en:
domain_validation_rules: 'Domain validation rules'
bank_statement_desc: 'Import file row will match only when matching following attributes: <b><br>ref number<br>payment amount<br>invoice number (the very first number in comment field)</b>.'
create_bank_statement: 'Create bank statement'
create_bank_transaction: 'Create bank transaction'

View file

@ -161,6 +161,7 @@ Rails.application.routes.draw do
resources :pricelists
resources :bank_statements do
resources :bank_transactions
collection do
get 'import'
post 'create_from_import'