From 303ae2e174a74c63e1ea2428715da269ca6c2d77 Mon Sep 17 00:00:00 2001 From: Adrian Hinz Date: Fri, 7 Oct 2016 00:08:00 +0200 Subject: [PATCH] Signed-off-by: Adrian Hinz --- Gemfile | 2 +- app/assets/images/pdf.png | Bin 0 -> 36169 bytes app/assets/images/pdf48.png | Bin 0 -> 3173 bytes app/controllers/invoices_controller.rb | 6 +- app/models/invoice.rb | 3 +- app/models/invoice_product.rb | 3 +- app/views/invoices/_form.html.erb | 95 +++++++++++++++---------- app/views/invoices/_show.html.erb | 31 +++++--- app/views/invoices/show.html.erb | 1 - 9 files changed, 88 insertions(+), 53 deletions(-) create mode 100644 app/assets/images/pdf.png create mode 100644 app/assets/images/pdf48.png diff --git a/Gemfile b/Gemfile index 39b8e6d..a999eb7 100644 --- a/Gemfile +++ b/Gemfile @@ -36,7 +36,7 @@ gem 'jbuilder', '~> 2.5' # Use Capistrano for deployment # gem 'capistrano-rails', group: :development gem 'wicked_pdf' -gem 'wkhtmltopdf-binary' +#gem 'wkhtmltopdf-binary' group :development, :test do # Call 'byebug' anywhere in the code to stop execution and get a debugger console gem 'byebug', platform: :mri diff --git a/app/assets/images/pdf.png b/app/assets/images/pdf.png new file mode 100644 index 0000000000000000000000000000000000000000..1ef1356d82ac2b76be06cf086778b062b563b2c2 GIT binary patch literal 36169 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 z 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 <%= raw errors_to_html(@invoice.errors) %> <% end %> -

-
- <%= f.label :number, class: "col-sm-2 control-label" %> -
- <%= f.text_field :number, class: "form-control", placeholder: 'Numer faktury' %> +
+ Dane do faktury +
+
+ <%= f.label :number, class: "col-sm-2 control-label" %> +
+ <%= f.text_field :number, class: "form-control", placeholder: 'Numer faktury' %> +
+
-
-
-
- <%= f.label :user_firm, class: "col-sm-2 control-label" %> -
- <%= f.select :user_firm_id, @user_firms.collect {|uf| [ uf.name, uf.id ] }, {}, {class: "form-control"} %> -
- <%= f.label :customer, class: "col-sm-2 control-label" %> -
- <%= f.select :customer_id, @customers.collect {|c| [ c.name, c.id ] }, {include_blank: true}, {class: "form-control"} %> -
-
-
- <%= f.label :date, class: "col-sm-2 control-label" %> -
-
- <%= f.text_field :date, class: "form-control datepicker", placeholder: 'Data wystawienia' %> - - - - +
+ <%= f.label :user_firm, class: "col-sm-2 control-label" %> +
+ <%= f.select :user_firm_id, @user_firms.collect {|uf| [ uf.name, uf.id ] }, {}, {class: "form-control"} %> +
+ <%= f.label :customer, class: "col-sm-2 control-label" %> +
+ <%= f.select :customer_id, @customers.collect {|c| [ c.name, c.id ] }, {include_blank: true}, {class: "form-control"} %>
- <%= f.label :date_of_payment, class: "col-sm-2 control-label" %> -
-
- <%= f.text_field :date_of_payment, class: "form-control datepicker", placeholder: 'Data wystawienia' %> - - - - +
+ <%= f.label :date, class: "col-sm-2 control-label" %> +
+
+ <%= f.text_field :date, class: "form-control datepicker", placeholder: 'Data wystawienia' %> + + + + +
+
+ <%= f.label :date_of_payment, class: "col-sm-2 control-label" %> +
+
+ <%= f.text_field :date_of_payment, class: "form-control datepicker", placeholder: 'Data wystawienia' %> + + + + +
-
- + +
+ Produkty/Usługi +
+ <%= f.fields_for :invoice_products do |invoice_products_form| %> +
+
+ <%= invoice_products_form.select :product_id, Product.where(user_id: current_user.id).collect {|p| [ p.name, p.id ] }, {include_blank: true}, {class: "form-control"} %> +
+
+ <%= invoice_products_form.text_field :qty, class: "form-control", placeholder: 'Ilość' %> +
+
+ <%= invoice_products_form.text_field :netto_price, class: "form-control", placeholder: 'Wartość netto' %> +
+
+ <%= invoice_products_form.check_box :_destroy%> +
+
+ <% end %> +
+
<%= f.submit 'Zapisz', class: "btn btn-primary" %> diff --git a/app/views/invoices/_show.html.erb b/app/views/invoices/_show.html.erb index 3037802..b3de9e7 100644 --- a/app/views/invoices/_show.html.erb +++ b/app/views/invoices/_show.html.erb @@ -1,7 +1,13 @@
-
+
+ <% unless @inv_format.blank? %> +
+ <%= link_to image_tag("pdf48.png", height: "24") + ' PDF', invoice_path(@invoice, format: :pdf) %> +
+ <% end %> +
@@ -80,7 +86,7 @@ PKWiU Ilość j.m. - Cena netto + Cena jed. netto %VAT Wartość netto Kwota VAT @@ -88,18 +94,21 @@ + + <%= @invoice.invoice_products.each_with_index do |invoice_product, index| %> - 1 - Usługa transportowa + <%= index + 1 %> + <%= invoice_product.product.name %> - 1 - szt. - 10 000,00 - 23% - 10 000,00 - 2 300,00 - 12 300,00 + <%= number_with_delimiter(invoice_product.qty, delimiter: " ", separator: ",") %> + <%= invoice_product.product.qnt_name %> + <%= number_with_precision(invoice_product.netto_price, delimiter: " ", separator: ",", precision: 2) %> + <%= invoice_product.product.vat.name %> + <%= number_with_precision(invoice_product.netto_price * invoice_product.qty, delimiter: " ", separator: ",", precision: 2) %> + <%= number_with_precision((invoice_product.netto_price * (invoice_product.product.vat.tax_rate/100)) * invoice_product.qty, delimiter: " ", separator: ",", precision: 2) %> + <%= number_with_precision((invoice_product.netto_price * (invoice_product.product.vat.tax_rate/100 + 1)) * invoice_product.qty, delimiter: " ", separator: ",", precision: 2) %> + <% end %> 2 Usługa informatyczna diff --git a/app/views/invoices/show.html.erb b/app/views/invoices/show.html.erb index afd1c0a..941e44a 100644 --- a/app/views/invoices/show.html.erb +++ b/app/views/invoices/show.html.erb @@ -3,7 +3,6 @@
Faktura: <%= @invoice.number %>
<%= link_to raw(" " + I18n.t('back')), invoices_path, title: I18n.t('back'), class: "text-primary" %> - <%= link_to 'PDF', invoice_path(@invoice, format: :pdf) %>