Fixed stockit.
This commit is contained in:
parent
27c719d8da
commit
8f7e21b918
10 changed files with 132 additions and 136 deletions
|
@ -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
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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
|
||||||
|
|
19
app/views/stock_takings/_stock_takings.html.haml
Normal file
19
app/views/stock_takings/_stock_takings.html.haml
Normal 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'
|
|
@ -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
|
|
||||||
|
|
||||||
|
|
||||||
|
|
1
app/views/stock_takings/index.js.haml
Normal file
1
app/views/stock_takings/index.js.haml
Normal file
|
@ -0,0 +1 @@
|
||||||
|
$('#StockTakingsTable').html('#{escape_javascript(render('stock_takings'))}');
|
|
@ -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
|
|
@ -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?"
|
|
|
@ -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
|
|
@ -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
|
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue