diff --git a/app/assets/stylesheets/app.sass b/app/assets/stylesheets/app.sass index e1605df99..0d4491263 100644 --- a/app/assets/stylesheets/app.sass +++ b/app/assets/stylesheets/app.sass @@ -37,3 +37,5 @@ padding: 10px font-size: 16px +.no-border + border: 0 !important diff --git a/app/assets/stylesheets/registrar.sass b/app/assets/stylesheets/registrar.sass index 005bde52a..f13058f3b 100644 --- a/app/assets/stylesheets/registrar.sass +++ b/app/assets/stylesheets/registrar.sass @@ -28,9 +28,6 @@ hr margin-top: 10px !important margin-bottom: 10px !important -.no-border - border: 0 !important - .navbar li font-weight: bold diff --git a/app/controllers/admin/invoices_controller.rb b/app/controllers/admin/invoices_controller.rb new file mode 100644 index 000000000..dd447d472 --- /dev/null +++ b/app/controllers/admin/invoices_controller.rb @@ -0,0 +1,13 @@ +class Admin::InvoicesController < AdminController + load_and_authorize_resource + + def index + @q = Invoice.search(params[:q]) + @q.sorts = 'id desc' if @q.sorts.empty? + @invoices = @q.result.page(params[:page]) + end + + def show + @invoice = Invoice.find(params[:id]) + end +end diff --git a/app/controllers/registrar/account_activities_controller.rb b/app/controllers/registrar/account_activities_controller.rb index 293a8547f..54c3f6d24 100644 --- a/app/controllers/registrar/account_activities_controller.rb +++ b/app/controllers/registrar/account_activities_controller.rb @@ -1,21 +1,10 @@ class Registrar::AccountActivitiesController < RegistrarController load_and_authorize_resource - # before_action :set_invoice, only: [:show] - def index account = current_user.registrar.cash_account @q = account.activities.includes(:invoice).search(params[:q]) - @q.sorts = 'id desc' if @q.sorts.empty? + @q.sorts = 'id desc' if @q.sorts.empty? @account_activities = @q.result.page(params[:page]) end - - def show - end - - private - - def set_invoice - @invoice = Invoice.find(params[:id]) - end end diff --git a/app/models/ability.rb b/app/models/ability.rb index b4d62e083..dd73b4c4d 100644 --- a/app/models/ability.rb +++ b/app/models/ability.rb @@ -84,6 +84,7 @@ class Ability can :manage, LegalDocument can :manage, BankStatement can :manage, BankTransaction + can :manage, Invoice can :read, ApiLog::EppLog can :read, ApiLog::ReppLog # can :index, :delayed_job diff --git a/app/views/admin/bank_transactions/show.haml b/app/views/admin/bank_transactions/show.haml index 9b0206973..72ebdd2e1 100644 --- a/app/views/admin/bank_transactions/show.haml +++ b/app/views/admin/bank_transactions/show.haml @@ -22,7 +22,7 @@ - if @bank_transaction.binded? %dt= t('binded_invoice') - %dd= link_to(@bank_transaction.binded_invoice, '#') + %dd= link_to(@bank_transaction.binded_invoice, admin_invoice_path(@bank_transaction.binded_invoice)) %dt= t('bank_reference') %dd= @bank_transaction.bank_reference diff --git a/app/views/admin/invoices/index.haml b/app/views/admin/invoices/index.haml new file mode 100644 index 000000000..8a53da5cb --- /dev/null +++ b/app/views/admin/invoices/index.haml @@ -0,0 +1,31 @@ +.row + .col-sm-12 + %h2.text-center-xs= t('invoices') +%hr +.row + .col-md-12 + .table-responsive + %table.table.table-hover.table-bordered.table-condensed + %thead + %tr + %th{class: 'col-xs-3'} + = sort_link(@q, 'invoice') + %th{class: 'col-xs-3'} + = sort_link(@q, 'buyer') + %th{class: 'col-xs-3'} + = sort_link(@q, 'due_date') + %th{class: 'col-xs-3'} + = sort_link(@q, 'receipt_date') + %tbody + - @invoices.each do |x| + %tr + %td= link_to(t('invoice_no', no: x.id), [:admin, x]) + %td= link_to(x.buyer_name, admin_registrar_path(x.buyer_id)) + %td= l(x.due_date) + - if x.binded? + %td= l(x.receipt_date) + - else + %td.text-danger= t('unpaid') +.row + .col-md-12 + = paginate @invoices diff --git a/app/views/admin/invoices/show.haml b/app/views/admin/invoices/show.haml new file mode 100644 index 000000000..9959dd88d --- /dev/null +++ b/app/views/admin/invoices/show.haml @@ -0,0 +1,15 @@ +.row + .col-sm-6 + %h1.text-center-xs + = t('invoice_no', no: @invoice.id) + .col-sm-6 + %h1.text-right.text-center-xs + = link_to(t('back'), :back, class: 'btn btn-default') +%hr +.row + .col-md-6= render 'registrar/invoices/partials/details' +.row + .col-md-6= render 'registrar/invoices/partials/seller' + .col-md-6= render 'registrar/invoices/partials/buyer' +.row + .col-md-12= render 'registrar/invoices/partials/items' diff --git a/app/views/layouts/application.haml b/app/views/layouts/application.haml index 383f1d1fb..9748af1a3 100644 --- a/app/views/layouts/application.haml +++ b/app/views/layouts/application.haml @@ -48,6 +48,7 @@ %li.divider %li.dropdown-header= t('billing') %li= link_to t('bank_statements'), admin_bank_statements_path + %li= link_to t('invoices'), admin_invoices_path %li.divider %li.dropdown-header= t('system') %li= link_to t('settings'), admin_settings_path diff --git a/config/routes.rb b/config/routes.rb index abbd041fd..e9c32b002 100644 --- a/config/routes.rb +++ b/config/routes.rb @@ -93,6 +93,8 @@ Rails.application.routes.draw do resources :bank_transactions + resources :invoices + resources :domains do resources :domain_versions end