mirror of
https://github.com/internetee/registry.git
synced 2025-07-14 06:55:11 +02:00
Better views for bank statements
This commit is contained in:
parent
3398bcd845
commit
d61ea17fea
9 changed files with 85 additions and 16 deletions
1
.gitignore
vendored
1
.gitignore
vendored
|
@ -13,6 +13,7 @@ config/initializers/secret_token.rb
|
||||||
config/secrets.yml
|
config/secrets.yml
|
||||||
config/database.yml
|
config/database.yml
|
||||||
/export
|
/export
|
||||||
|
/import
|
||||||
/ca
|
/ca
|
||||||
todo
|
todo
|
||||||
|
|
||||||
|
|
|
@ -1,13 +1,15 @@
|
||||||
class Admin::BankStatementsController < AdminController
|
class Admin::BankStatementsController < AdminController
|
||||||
load_and_authorize_resource
|
load_and_authorize_resource
|
||||||
|
|
||||||
|
before_action :set_bank_statement, only: [:show, :download_import_file]
|
||||||
|
|
||||||
def index
|
def index
|
||||||
@q = BankStatement.search(params[:q])
|
@q = BankStatement.search(params[:q])
|
||||||
|
@q.sorts = 'id desc' if @q.sorts.empty?
|
||||||
@bank_statements = @q.result.page(params[:page])
|
@bank_statements = @q.result.page(params[:page])
|
||||||
end
|
end
|
||||||
|
|
||||||
def show
|
def show
|
||||||
@bank_statement = BankStatement.find(params[:id])
|
|
||||||
@q = @bank_statement.bank_transactions.search(params[:q])
|
@q = @bank_statement.bank_transactions.search(params[:q])
|
||||||
@bank_transactions = @q.result.page(params[:page])
|
@bank_transactions = @q.result.page(params[:page])
|
||||||
end
|
end
|
||||||
|
@ -28,8 +30,17 @@ class Admin::BankStatementsController < AdminController
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
def download_import_file
|
||||||
|
filename = @bank_statement.import_file_path.split('/').last
|
||||||
|
send_data File.open(@bank_statement.import_file_path, 'r').read, filename: filename
|
||||||
|
end
|
||||||
|
|
||||||
private
|
private
|
||||||
|
|
||||||
|
def set_bank_statement
|
||||||
|
@bank_statement = BankStatement.find(params[:id])
|
||||||
|
end
|
||||||
|
|
||||||
def bank_statement_params
|
def bank_statement_params
|
||||||
params.require(:bank_statement).permit(:th6_file)
|
params.require(:bank_statement).permit(:th6_file)
|
||||||
end
|
end
|
||||||
|
|
|
@ -15,6 +15,9 @@ class BankStatement < ActiveRecord::Base
|
||||||
next unless bt_params
|
next unless bt_params
|
||||||
bank_transactions.build(bt_params)
|
bank_transactions.build(bt_params)
|
||||||
end
|
end
|
||||||
|
|
||||||
|
self.import_file_path = "#{ENV['bank_statement_import_dir']}/#{Time.zone.now.to_formatted_s(:number)}.txt"
|
||||||
|
File.open(import_file_path, 'w') { |f| f.write(th6_file.open.read) }
|
||||||
end
|
end
|
||||||
|
|
||||||
def parse_th6_row(row)
|
def parse_th6_row(row)
|
||||||
|
|
|
@ -5,24 +5,52 @@
|
||||||
%h2.text-right.text-center-xs
|
%h2.text-right.text-center-xs
|
||||||
= link_to(t('back_to_bank_statements'), admin_bank_statements_path, class: 'btn btn-primary')
|
= link_to(t('back_to_bank_statements'), admin_bank_statements_path, class: 'btn btn-primary')
|
||||||
%hr
|
%hr
|
||||||
|
%row
|
||||||
|
.col-md-12
|
||||||
|
.panel.panel-default
|
||||||
|
.panel-heading
|
||||||
|
%h3.panel-title= t(:details)
|
||||||
|
.panel-body
|
||||||
|
%dl.dl-horizontal
|
||||||
|
%dt= t('bank_code')
|
||||||
|
%dd= @bank_statement.bank_code
|
||||||
|
|
||||||
|
%dt= t('iban').upcase
|
||||||
|
%dd= @bank_statement.iban
|
||||||
|
|
||||||
|
%dt= t('queried_at')
|
||||||
|
%dd= l(@bank_statement.queried_at)
|
||||||
|
|
||||||
|
%dt= t('imported_at')
|
||||||
|
%dd= l(@bank_statement.created_at)
|
||||||
|
|
||||||
|
- if @bank_statement.import_file_path
|
||||||
|
%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')
|
||||||
|
%hr
|
||||||
.row
|
.row
|
||||||
.col-md-12
|
.col-md-12
|
||||||
.table-responsive
|
.table-responsive
|
||||||
%table.table.table-hover.table-bordered.table-condensed
|
%table.table.table-hover.table-bordered.table-condensed
|
||||||
%thead
|
%thead
|
||||||
%tr
|
%tr
|
||||||
%th{class: 'col-xs-2'}
|
%th{class: 'col-xs-3'}
|
||||||
= sort_link(@q, 'buyer_name')
|
|
||||||
%th{class: 'col-xs-2'}
|
|
||||||
= sort_link(@q, 'paid_at')
|
= sort_link(@q, 'paid_at')
|
||||||
%th{class: 'col-xs-2'}
|
%th{class: 'col-xs-3'}
|
||||||
= sort_link(@q, 'sum', t('sum'))
|
= sort_link(@q, 'buyer_name')
|
||||||
|
%th{class: 'col-xs-3'}
|
||||||
|
= sort_link(@q, 'sum')
|
||||||
|
%th{class: 'col-xs-3'}
|
||||||
|
= sort_link(@q, 'currency')
|
||||||
%tbody
|
%tbody
|
||||||
- @bank_transactions.each do |x|
|
- @bank_transactions.each do |x|
|
||||||
%tr
|
%tr
|
||||||
%td= link_to(x.buyer_name, [:admin, x])
|
%td= link_to(l(x.paid_at, format: :date_long), [:admin, x])
|
||||||
%td= l(x.paid_at)
|
%td= x.buyer_name
|
||||||
%td= x.sum
|
%td= x.sum
|
||||||
|
%td= x.currency
|
||||||
.row
|
.row
|
||||||
.col-md-12
|
.col-md-12
|
||||||
= paginate @bank_transactions
|
= paginate @bank_transactions
|
||||||
|
|
|
@ -13,15 +13,15 @@
|
||||||
%h3.panel-title= t(:details)
|
%h3.panel-title= t(:details)
|
||||||
.panel-body
|
.panel-body
|
||||||
%dl.dl-horizontal
|
%dl.dl-horizontal
|
||||||
|
%dt= t('document_no')
|
||||||
|
%dd= @bank_transaction.document_no
|
||||||
|
|
||||||
%dt= t('bank_reference')
|
%dt= t('bank_reference')
|
||||||
%dd= @bank_transaction.bank_reference
|
%dd= @bank_transaction.bank_reference
|
||||||
|
|
||||||
%dt= t('iban').upcase
|
%dt= t('iban').upcase
|
||||||
%dd= @bank_transaction.iban
|
%dd= @bank_transaction.iban
|
||||||
|
|
||||||
%dt= t('currency')
|
|
||||||
%dd= @bank_transaction.currency
|
|
||||||
|
|
||||||
%dt= t('buyer_bank_code')
|
%dt= t('buyer_bank_code')
|
||||||
%dd= @bank_transaction.buyer_bank_code
|
%dd= @bank_transaction.buyer_bank_code
|
||||||
|
|
||||||
|
@ -31,14 +31,17 @@
|
||||||
%dt= t('buyer_name')
|
%dt= t('buyer_name')
|
||||||
%dd= @bank_transaction.buyer_name
|
%dd= @bank_transaction.buyer_name
|
||||||
|
|
||||||
%dt= t('document_no')
|
|
||||||
%dd= @bank_transaction.document_no
|
|
||||||
|
|
||||||
%dt= t('description')
|
%dt= t('description')
|
||||||
%dd= @bank_transaction.description
|
%dd= @bank_transaction.description
|
||||||
|
|
||||||
%dt= t('sum')
|
%dt= t('sum')
|
||||||
%dd= @bank_transaction.sum
|
%dd= @bank_transaction.sum
|
||||||
|
|
||||||
|
%dt= t('currency')
|
||||||
|
%dd= @bank_transaction.currency
|
||||||
|
|
||||||
%dt= t('reference_no')
|
%dt= t('reference_no')
|
||||||
%dd= @bank_transaction.reference_no
|
%dd= @bank_transaction.reference_no
|
||||||
|
|
||||||
|
%dt= t('paid_at')
|
||||||
|
%dd= l(@bank_transaction.paid_at, format: :date_long)
|
||||||
|
|
|
@ -42,6 +42,9 @@
|
||||||
= t('settings')
|
= t('settings')
|
||||||
%span.caret
|
%span.caret
|
||||||
%ul.dropdown-menu{role: "menu"}
|
%ul.dropdown-menu{role: "menu"}
|
||||||
|
%li.dropdown-header= t('accounting')
|
||||||
|
%li= link_to t('bank_statements'), admin_bank_statements_path
|
||||||
|
%li.divider
|
||||||
%li.dropdown-header= t('system')
|
%li.dropdown-header= t('system')
|
||||||
%li= link_to t('settings'), admin_settings_path
|
%li= link_to t('settings'), admin_settings_path
|
||||||
%li= link_to t('zonefile'), admin_zonefile_settings_path
|
%li= link_to t('zonefile'), admin_zonefile_settings_path
|
||||||
|
|
|
@ -97,7 +97,8 @@ set :shared_paths, [
|
||||||
'config/initializers/current_commit_hash.rb',
|
'config/initializers/current_commit_hash.rb',
|
||||||
'log',
|
'log',
|
||||||
'public/system',
|
'public/system',
|
||||||
'export/zonefiles'
|
'export/zonefiles',
|
||||||
|
'import/bank_statements'
|
||||||
]
|
]
|
||||||
|
|
||||||
# Optional settings:
|
# Optional settings:
|
||||||
|
@ -133,6 +134,9 @@ task setup: :environment do
|
||||||
queue! %(mkdir -p "#{deploy_to}/shared/export/zonefiles")
|
queue! %(mkdir -p "#{deploy_to}/shared/export/zonefiles")
|
||||||
queue! %(chmod g+rx,u+rwx "#{deploy_to}/shared/export/zonefiles")
|
queue! %(chmod g+rx,u+rwx "#{deploy_to}/shared/export/zonefiles")
|
||||||
|
|
||||||
|
queue! %(mkdir -p "#{deploy_to}/shared/import/bank_statements")
|
||||||
|
queue! %(chmod g+rx,u+rwx "#{deploy_to}/shared/import/bank_statements")
|
||||||
|
|
||||||
queue! %(touch "#{deploy_to}/shared/config/database.yml")
|
queue! %(touch "#{deploy_to}/shared/config/database.yml")
|
||||||
deploy do
|
deploy do
|
||||||
invoke :'git:clone'
|
invoke :'git:clone'
|
||||||
|
|
|
@ -23,6 +23,7 @@ en:
|
||||||
long: "%A, %e. %B %Y, %H:%M"
|
long: "%A, %e. %B %Y, %H:%M"
|
||||||
short: "%d.%m.%y, %H:%M"
|
short: "%d.%m.%y, %H:%M"
|
||||||
date: "%d.%m.%y"
|
date: "%d.%m.%y"
|
||||||
|
date_long: "%d. %B %Y"
|
||||||
|
|
||||||
date:
|
date:
|
||||||
formats:
|
formats:
|
||||||
|
@ -677,5 +678,17 @@ en:
|
||||||
back_to_bank_statement: 'Back to bank statement'
|
back_to_bank_statement: 'Back to bank statement'
|
||||||
imported_at: 'Imported at'
|
imported_at: 'Imported at'
|
||||||
bank_statement: 'Bank statement'
|
bank_statement: 'Bank statement'
|
||||||
|
bank_transactions: 'Bank transactions'
|
||||||
bank_transaction: 'Bank transaction'
|
bank_transaction: 'Bank transaction'
|
||||||
sum: 'Sum'
|
sum: 'Sum'
|
||||||
|
queried_at: 'Queried at'
|
||||||
|
import_file_path: 'Import file path'
|
||||||
|
bank_code: 'Bank code'
|
||||||
|
reference_no: 'Reference number'
|
||||||
|
currency: 'Currency'
|
||||||
|
buyer_name: 'Buyer name'
|
||||||
|
buyer_iban: 'Buyer IBAN'
|
||||||
|
buyer_bank_code: 'Buyer bank code'
|
||||||
|
bank_reference: 'Bank reference'
|
||||||
|
document_no: 'Document number'
|
||||||
|
import_file: 'Import file'
|
||||||
|
|
|
@ -85,7 +85,10 @@ Rails.application.routes.draw do
|
||||||
|
|
||||||
resources :keyrelays
|
resources :keyrelays
|
||||||
|
|
||||||
resources :bank_statements
|
resources :bank_statements do
|
||||||
|
get 'download_import_file', on: :member
|
||||||
|
end
|
||||||
|
|
||||||
resources :bank_transactions
|
resources :bank_transactions
|
||||||
|
|
||||||
resources :domains do
|
resources :domains do
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue