From 8f7e21b91812956a5347de3f88e2655d1ed2f2f5 Mon Sep 17 00:00:00 2001 From: benni Date: Mon, 29 Oct 2012 18:28:17 +0100 Subject: [PATCH] Fixed stockit. --- app/controllers/stock_takings_controller.rb | 6 +- app/helpers/stockit_helper.rb | 5 + .../_stock_article_form.html.haml | 2 +- .../stock_takings/_stock_takings.html.haml | 19 +++ app/views/stock_takings/index.html.haml | 24 +--- app/views/stock_takings/index.js.haml | 1 + app/views/stock_takings/new.html.haml | 49 +++---- app/views/stock_takings/show.html.haml | 28 ++-- app/views/stockit/_form.html.haml | 7 +- app/views/stockit/index.html.haml | 127 +++++++++--------- 10 files changed, 132 insertions(+), 136 deletions(-) create mode 100644 app/views/stock_takings/_stock_takings.html.haml create mode 100644 app/views/stock_takings/index.js.haml diff --git a/app/controllers/stock_takings_controller.rb b/app/controllers/stock_takings_controller.rb index 84b8a797..e183b8f2 100644 --- a/app/controllers/stock_takings_controller.rb +++ b/app/controllers/stock_takings_controller.rb @@ -1,6 +1,10 @@ class StockTakingsController < ApplicationController inherit_resources + def index + @stock_takings = StockTaking.order('date DESC').page(params[:page]).per(@per_page) + end + def new @stock_taking = StockTaking.new StockArticle.all.each { |a| @stock_taking.stock_changes.build(:stock_article => a) } @@ -48,6 +52,4 @@ class StockTakingsController < ApplicationController page.visual_effect :DropOut, "stock_change_#{stock_change.id}" end end - - end diff --git a/app/helpers/stockit_helper.rb b/app/helpers/stockit_helper.rb index 8a34e11d..2888603c 100644 --- a/app/helpers/stockit_helper.rb +++ b/app/helpers/stockit_helper.rb @@ -1,2 +1,7 @@ module StockitHelper + def stock_article_classes(article) + class_names = [] + class_names << "unavailable" if article.quantity_available <= 0 + class_names.join(" ") + end end diff --git a/app/views/stock_takings/_stock_article_form.html.haml b/app/views/stock_takings/_stock_article_form.html.haml index 41f074a2..99898b1a 100644 --- a/app/views/stock_takings/_stock_article_form.html.haml +++ b/app/views/stock_takings/_stock_article_form.html.haml @@ -1,4 +1,4 @@ -- simple_form_for stock_article, add_stock_article_stock_takings_path, :remote => true do |f| +- simple_form_for stock_article, url: add_stock_article_stock_takings_path, remote: true do |f| = f.association :supplier = f.input :name = f.input :unit diff --git a/app/views/stock_takings/_stock_takings.html.haml b/app/views/stock_takings/_stock_takings.html.haml new file mode 100644 index 00000000..36b939b4 --- /dev/null +++ b/app/views/stock_takings/_stock_takings.html.haml @@ -0,0 +1,19 @@ +- if StockTaking.count > 20 + = items_per_page += pagination_links_remote @stock_takings + +%table.table.table-striped + %thead + %tr + %th Datum + %th Notiz + %th + %tbody + - for stock_taking in @stock_takings + %tr + %td= link_to format_date(stock_taking.date), stock_taking + %td= truncate stock_taking.note + %td + = link_to 'Bearbeiten', edit_stock_taking_path(stock_taking), class: 'btn btn-mini' + = link_to 'Löschen', stock_taking, :confirm => 'Are you sure?', :method => :delete, + class: 'btn btn-mini btn-danger' \ No newline at end of file diff --git a/app/views/stock_takings/index.html.haml b/app/views/stock_takings/index.html.haml index 07f47445..f8c23c34 100644 --- a/app/views/stock_takings/index.html.haml +++ b/app/views/stock_takings/index.html.haml @@ -1,25 +1,9 @@ - title "Inventurübersicht" -%p - = link_to "Neue Inventur anlegen", new_stock_taking_path - | - = link_to "Lager", stock_articles_path +.well.well-small + .btn-group + = link_to "Neue Inventur anlegen", new_stock_taking_path, class: 'btn' -%table.list{:style => "width:50em"} - %thead - %tr - %th Datum - %th Notiz - %th - %th - %th - %tbody - - for stock_taking in @stock_takings - %tr - %td= link_to format_date(stock_taking.date), stock_taking - %td= truncate stock_taking.note - %td= link_to 'Anzeigen', stock_taking - %td= link_to 'Bearbeiten', edit_stock_taking_path(stock_taking) - %td= link_to 'Löschen', stock_taking, :confirm => 'Are you sure?', :method => :delete +#StockTakingsTable= render 'stock_takings' diff --git a/app/views/stock_takings/index.js.haml b/app/views/stock_takings/index.js.haml new file mode 100644 index 00000000..a485df34 --- /dev/null +++ b/app/views/stock_takings/index.js.haml @@ -0,0 +1 @@ +$('#StockTakingsTable').html('#{escape_javascript(render('stock_takings'))}'); \ No newline at end of file diff --git a/app/views/stock_takings/new.html.haml b/app/views/stock_takings/new.html.haml index a6976ac2..45d29a3b 100644 --- a/app/views/stock_takings/new.html.haml +++ b/app/views/stock_takings/new.html.haml @@ -1,31 +1,24 @@ - title "Neue Inventur anlegen" -.left_column{:style => "width:50%;"} - = simple_form_for(@stock_taking) do |f| - .box_title - %h2 Inventur anlegen - .column_content - = f.input :date - = f.input :note, :input_html => {:size => "28x7", :value => "#{@current_user.nick}: ..."} - %h2 Lagerartikel - %p - %i - Bitte trage hier alle gezählten Abweichungen vom - = link_to "vorläufigen Lagerbestand", stock_articles_path - ein. Bei Schwund benutze einfach ein Minus vor der Zahl. - #stock_changes - = render :partial => 'stock_change', :collection => @stock_taking.stock_changes - = f.submit - = link_to "oder abbrechen", stock_takings_path +- content_for :sidebar do + %p + %i + Bitte trage hier alle gezählten Abweichungen vom + = link_to "vorläufigen Lagerbestand", stock_articles_path + ein. Bei Schwund benutze einfach ein Minus vor der Zahl. + %p + Einen neuen Lagerartikel musst Du vorher + = link_to "anlegen", new_stock_article_path + bevor Du Ihn hier verwenden kannst. -.right_column{:style => "width:45%;"} - .box_title - %h2 Neuen Lagerartikel anlegen - .column_content - %p - // FIx this! - Suche nach Artikeln aus dem allen Katalogen: - = text_field_tag :article_name - %hr/ - #stock_article_form - = render :partial => 'stock_article_form', :locals => {:stock_article => StockArticle.new} \ No newline at end of file + += simple_form_for(@stock_taking) do |f| + = f.input :date, as: :date_picker + = f.input :note, :input_html => {:size => "28x7", :value => "#{@current_user.nick}: ..."} + %h2 Lagerartikel + + #stock_changes + = render :partial => 'stock_change', :collection => @stock_taking.stock_changes + .form-actions + = f.submit class: 'btn' + = link_to "oder abbrechen", stock_takings_path \ No newline at end of file diff --git a/app/views/stock_takings/show.html.haml b/app/views/stock_takings/show.html.haml index ca17db78..e69ff51d 100644 --- a/app/views/stock_takings/show.html.haml +++ b/app/views/stock_takings/show.html.haml @@ -1,29 +1,27 @@ - title "Inventur anzeigen" -%p - Datum: - = format_date @stock_taking.date -%p - Notiz: - = simple_format @stock_taking.note +.well.well-small + %dl.dl-horizontal + %dt Datum + %dd= format_date @stock_taking.date + %dt Notiz + %dd= simple_format @stock_taking.note -%h2 Artikel -%table.list{:style => "width:30em"} +%table.table.table-striped %tr %th Artikel %th Lieferantin %th Einheit %th Menge - - for stock_change in @stock_taking.stock_changes.all :include => :stock_article + - for stock_change in @stock_taking.stock_changes.all %tr %td= stock_change.stock_article.name %td= stock_change.stock_article.supplier.name %td= stock_change.stock_article.unit %td= stock_change.quantity -%br/ -= link_to "Bearbeiten", edit_stock_taking_path(@stock_taking) -| -= link_to "Inventurübersicht", stock_takings_path -| -= link_to "Löschen", @stock_taking, :method => :delete, :confirm => "Willst Du wirklich die Inventur löschen?" \ No newline at end of file +.btn-group + = link_to "Bearbeiten", edit_stock_taking_path(@stock_taking), class: 'btn' + = link_to "Inventurübersicht", stock_takings_path, class: 'btn' + = link_to "Löschen", @stock_taking, :method => :delete, :confirm => "Willst Du wirklich die Inventur löschen?", + class: 'btn btn-danger' \ No newline at end of file diff --git a/app/views/stockit/_form.html.haml b/app/views/stockit/_form.html.haml index 48fa0a83..0305aefd 100644 --- a/app/views/stockit/_form.html.haml +++ b/app/views/stockit/_form.html.haml @@ -1,4 +1,4 @@ -- simple_form_for stock_article, :validate => true do |f| += simple_form_for stock_article, :validate => true do |f| = f.association :supplier = f.input :name = f.input :unit @@ -12,5 +12,6 @@ = f.input :price, :input_html => {:disabled => 'disabled'}, :hint => "Um Chaos zu vermeiden können bis auf weiteres die Preise von angelegten Lagerartikeln nicht mehr verändert werden." = f.association :article_category - = f.submit - = link_to "oder abbrechen", stock_articles_path \ No newline at end of file + .form-actions + = f.submit class: 'btn' + = link_to "oder abbrechen", stock_articles_path \ No newline at end of file diff --git a/app/views/stockit/index.html.haml b/app/views/stockit/index.html.haml index 1ae13a85..40e3410f 100644 --- a/app/views/stockit/index.html.haml +++ b/app/views/stockit/index.html.haml @@ -1,75 +1,68 @@ -- title "Lagerübersicht: #{StockArticle.available.count} Artikel im Lager" -- content_for :head do +- title "Lager (#{StockArticle.available.count})" +- content_for :javascript do :javascript $(function() { $('tr.unavailable').hide(); }) -.menu - - form_tag do - %ul - %li + +.well.well-small + .btn-toolbar + .btn-group.pull-right + = link_to '#', data: {toggle: 'dropdown'}, class: 'btn dropdown-toggle' do Ansichtsoptionen - %ul - %li= link_to "Nicht verfügbare Artikel zeigen/verstecken", "#", 'data-toggle-this' => 'tr.unavailable', - :style => "width:15em" + %span.caret + %ul.dropdown-menu + %li= link_to "Nicht verfügbare Artikel zeigen/verstecken", "#", 'data-toggle-this' => 'tr.unavailable', tabindex: -1 + + .btn-group + = link_to "Neuen Lagerartikel anlegen", new_stock_article_path, class: 'btn btn-primary' + = link_to_if @current_user.role_orders?, "Lagerbestellung online stellen", new_order_path(supplier_id: 0), + class: 'btn' + = link_to "Inventur anlegen", new_stock_taking_path, class: 'btn' + = link_to "Inventurübersicht", stock_takings_path, class: 'btn' + + .btn-group + = link_to '#', data: {toggle: 'dropdown'}, class: 'btn dropdown-toggle' do + Neue Lieferung .. + %span.caret + %ul.dropdown-menu + - Supplier.all.each do |supplier| + %li= link_to supplier.name, new_supplier_delivery_path(supplier), tabindex: -1 -%div{:style => "padding:0 0 0.5em 0.7em;margin-bottom:2em"} - %span{:style => "float:left"} - - form_tag do - Neue Lieferung anlegen für: - = select_tag :new_delivery, - options_for_select([[" -- Lieferantin wählen --", ""]] + Supplier.all.map {|s| [ s.name, new_supplier_delivery_url(s)]}), - 'data-redirect-to' => true, :style => "font-size: 0.9em;margin-left:1em;" - -.single_column{:style => 'width:100%; clear:both'} - .box_title - .column_content - #actions - %b= link_to "Neuen Lagerartikel anlegen", new_stock_article_path - | - = link_to_if @current_user.role_orders?, "Lagerbestellung online stellen", {:controller => 'orders', :action => 'new', :supplier_id => 0} - | - %b= link_to "Inventur anlegen", new_stock_taking_path - | - = link_to "Inventurübersicht", stock_takings_path - - #articles{:style => "clear:both;margin-top:1em"} - %table.list - %thead - %tr - %th Artikel - %th im Lager - %th davon bestellt - %th verfügbar - %th Einheit - %th Preis - %th MwSt - %th Lieferantin - %th Kategorie - %th - %tbody - - for article in @stock_articles - - class_name = cycle :even, :odd - - class_name += " unavailable" if article.quantity_available <= 0 - - class_name += " supplier_#{article.supplier.id}" - %tr{:class => class_name} - %td=h article.name - %td= article.quantity - %td= article.quantity - article.quantity_available - %th= article.quantity_available - %td= article.unit - %td= article.price - %td= number_to_percentage article.tax - %td= link_to article.supplier.name, article.supplier - %td= article.article_category.name - %td - = link_to icon(:edit), edit_stock_article_path(article) - = link_to icon(:delete), article, :method => :delete, :confirm => "Bist Du sicher?" - %p - Aktueller Lagerwert: - = number_to_currency StockArticle.stock_value - | - Artikelanzahl: - = StockArticle.available.count +%table.table.table-hover#articles + %thead + %tr + %th Artikel + %th im Lager + %th davon bestellt + %th verfügbar + %th Einheit + %th Preis + %th MwSt + %th Lieferantin + %th Kategorie + %th + %tbody + - for article in @stock_articles + %tr{:class => stock_article_classes(article)} + %td=h article.name + %td= article.quantity + %td= article.quantity - article.quantity_available + %th= article.quantity_available + %td= article.unit + %td= article.price + %td= number_to_percentage article.tax + %td= link_to article.supplier.name, article.supplier + %td= article.article_category.name + %td + = link_to "Bearbeiten", edit_stock_article_path(article), class: 'btn btn-mini' + = link_to "Löschen", article, :method => :delete, :confirm => "Bist Du sicher?", + class: 'btn btn-mini btn-danger' +%p + Aktueller Lagerwert: + = number_to_currency StockArticle.stock_value + | + Artikelanzahl: + = StockArticle.available.count