Fixed stockit.

This commit is contained in:
benni 2012-10-29 18:28:17 +01:00
parent 27c719d8da
commit 8f7e21b918
10 changed files with 132 additions and 136 deletions

View file

@ -1,6 +1,10 @@
class StockTakingsController < ApplicationController class StockTakingsController < ApplicationController
inherit_resources inherit_resources
def index
@stock_takings = StockTaking.order('date DESC').page(params[:page]).per(@per_page)
end
def new def new
@stock_taking = StockTaking.new @stock_taking = StockTaking.new
StockArticle.all.each { |a| @stock_taking.stock_changes.build(:stock_article => a) } 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}" page.visual_effect :DropOut, "stock_change_#{stock_change.id}"
end end
end end
end end

View file

@ -1,2 +1,7 @@
module StockitHelper module StockitHelper
def stock_article_classes(article)
class_names = []
class_names << "unavailable" if article.quantity_available <= 0
class_names.join(" ")
end
end end

View file

@ -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.association :supplier
= f.input :name = f.input :name
= f.input :unit = f.input :unit

View file

@ -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'

View file

@ -1,25 +1,9 @@
- title "Inventurübersicht" - title "Inventurübersicht"
%p .well.well-small
= link_to "Neue Inventur anlegen", new_stock_taking_path .btn-group
| = link_to "Neue Inventur anlegen", new_stock_taking_path, class: 'btn'
= link_to "Lager", stock_articles_path
%table.list{:style => "width:50em"} #StockTakingsTable= render 'stock_takings'
%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

View file

@ -0,0 +1 @@
$('#StockTakingsTable').html('#{escape_javascript(render('stock_takings'))}');

View file

@ -1,31 +1,24 @@
- title "Neue Inventur anlegen" - title "Neue Inventur anlegen"
.left_column{:style => "width:50%;"} - content_for :sidebar do
= simple_form_for(@stock_taking) do |f| %p
.box_title %i
%h2 Inventur anlegen Bitte trage hier alle gezählten Abweichungen vom
.column_content = link_to "vorläufigen Lagerbestand", stock_articles_path
= f.input :date ein. Bei Schwund benutze einfach ein Minus vor der Zahl.
= f.input :note, :input_html => {:size => "28x7", :value => "#{@current_user.nick}: ..."} %p
%h2 Lagerartikel Einen neuen Lagerartikel musst Du vorher
%p = link_to "anlegen", new_stock_article_path
%i bevor Du Ihn hier verwenden kannst.
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
.right_column{:style => "width:45%;"}
.box_title = simple_form_for(@stock_taking) do |f|
%h2 Neuen Lagerartikel anlegen = f.input :date, as: :date_picker
.column_content = f.input :note, :input_html => {:size => "28x7", :value => "#{@current_user.nick}: ..."}
%p %h2 Lagerartikel
// FIx this!
Suche nach Artikeln aus dem allen Katalogen: #stock_changes
= text_field_tag :article_name = render :partial => 'stock_change', :collection => @stock_taking.stock_changes
%hr/ .form-actions
#stock_article_form = f.submit class: 'btn'
= render :partial => 'stock_article_form', :locals => {:stock_article => StockArticle.new} = link_to "oder abbrechen", stock_takings_path

View file

@ -1,29 +1,27 @@
- title "Inventur anzeigen" - title "Inventur anzeigen"
%p .well.well-small
Datum: %dl.dl-horizontal
= format_date @stock_taking.date %dt Datum
%p %dd= format_date @stock_taking.date
Notiz: %dt Notiz
= simple_format @stock_taking.note %dd= simple_format @stock_taking.note
%h2 Artikel %table.table.table-striped
%table.list{:style => "width:30em"}
%tr %tr
%th Artikel %th Artikel
%th Lieferantin %th Lieferantin
%th Einheit %th Einheit
%th Menge %th Menge
- for stock_change in @stock_taking.stock_changes.all :include => :stock_article - for stock_change in @stock_taking.stock_changes.all
%tr %tr
%td= stock_change.stock_article.name %td= stock_change.stock_article.name
%td= stock_change.stock_article.supplier.name %td= stock_change.stock_article.supplier.name
%td= stock_change.stock_article.unit %td= stock_change.stock_article.unit
%td= stock_change.quantity %td= stock_change.quantity
%br/ .btn-group
= link_to "Bearbeiten", edit_stock_taking_path(@stock_taking) = link_to "Bearbeiten", edit_stock_taking_path(@stock_taking), class: 'btn'
| = link_to "Inventurübersicht", stock_takings_path, class: 'btn'
= link_to "Inventurübersicht", stock_takings_path = link_to "Löschen", @stock_taking, :method => :delete, :confirm => "Willst Du wirklich die Inventur löschen?",
| class: 'btn btn-danger'
= link_to "Löschen", @stock_taking, :method => :delete, :confirm => "Willst Du wirklich die Inventur löschen?"

View file

@ -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.association :supplier
= f.input :name = f.input :name
= f.input :unit = f.input :unit
@ -12,5 +12,6 @@
= f.input :price, :input_html => {:disabled => 'disabled'}, = 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." :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.association :article_category
= f.submit .form-actions
= link_to "oder abbrechen", stock_articles_path = f.submit class: 'btn'
= link_to "oder abbrechen", stock_articles_path

View file

@ -1,75 +1,68 @@
- title "Lagerübersicht: #{StockArticle.available.count} Artikel im Lager" - title "Lager (#{StockArticle.available.count})"
- content_for :head do - content_for :javascript do
:javascript :javascript
$(function() { $(function() {
$('tr.unavailable').hide(); $('tr.unavailable').hide();
}) })
.menu
- form_tag do .well.well-small
%ul .btn-toolbar
%li .btn-group.pull-right
= link_to '#', data: {toggle: 'dropdown'}, class: 'btn dropdown-toggle' do
Ansichtsoptionen Ansichtsoptionen
%ul %span.caret
%li= link_to "Nicht verfügbare Artikel zeigen/verstecken", "#", 'data-toggle-this' => 'tr.unavailable', %ul.dropdown-menu
:style => "width:15em" %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"} %table.table.table-hover#articles
%span{:style => "float:left"} %thead
- form_tag do %tr
Neue Lieferung anlegen für: %th Artikel
= select_tag :new_delivery, %th im Lager
options_for_select([[" -- Lieferantin wählen --", ""]] + Supplier.all.map {|s| [ s.name, new_supplier_delivery_url(s)]}), %th davon bestellt
'data-redirect-to' => true, :style => "font-size: 0.9em;margin-left:1em;" %th verfügbar
%th Einheit
.single_column{:style => 'width:100%; clear:both'} %th Preis
.box_title %th MwSt
.column_content %th Lieferantin
#actions %th Kategorie
%b= link_to "Neuen Lagerartikel anlegen", new_stock_article_path %th
| %tbody
= link_to_if @current_user.role_orders?, "Lagerbestellung online stellen", {:controller => 'orders', :action => 'new', :supplier_id => 0} - for article in @stock_articles
| %tr{:class => stock_article_classes(article)}
%b= link_to "Inventur anlegen", new_stock_taking_path %td=h article.name
| %td= article.quantity
= link_to "Inventurübersicht", stock_takings_path %td= article.quantity - article.quantity_available
%th= article.quantity_available
#articles{:style => "clear:both;margin-top:1em"} %td= article.unit
%table.list %td= article.price
%thead %td= number_to_percentage article.tax
%tr %td= link_to article.supplier.name, article.supplier
%th Artikel %td= article.article_category.name
%th im Lager %td
%th davon bestellt = link_to "Bearbeiten", edit_stock_article_path(article), class: 'btn btn-mini'
%th verfügbar = link_to "Löschen", article, :method => :delete, :confirm => "Bist Du sicher?",
%th Einheit class: 'btn btn-mini btn-danger'
%th Preis %p
%th MwSt Aktueller Lagerwert:
%th Lieferantin = number_to_currency StockArticle.stock_value
%th Kategorie |
%th Artikelanzahl:
%tbody = StockArticle.available.count
- 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