Refactored stockit, delivery an stock_takings.

This commit is contained in:
benni 2011-05-27 14:09:01 +02:00
parent d4715fef4b
commit fc1d130113
20 changed files with 145 additions and 296 deletions

View file

@ -1,52 +1,49 @@
.left_column(style="width:55%")
- form_for([@supplier,@delivery]) do |f|
- content_for :head do
:javascript
$(function() {
$('.destroy_stock_change').live('click', function() {
$(this).prev('input').val('1').parent().hide();
return false;
});
$('.remove_new_stock_change').live('click', function() {
$(this).parent().remove();
return false;
})
});
.left_column(style="width:50%")
= simple_form_for [@supplier,@delivery], :validate => true do |f|
.box_title
%h2 Lieferung anlegen
.column_content
= f.error_messages
= f.hidden_field :supplier_id
%b Lagerartikel des Lieferanten
#stock_changes
- f.fields_for :stock_changes do |stock_change_form|
= f.fields_for :stock_changes do |stock_change_form|
%p
= stock_change_form.select :stock_article_id, stock_articles_for_select(@supplier)
Menge
= stock_change_form.text_field :quantity, :size => 5, :autocomplete => 'off'
= stock_change_form.hidden_field :_delete
= link_to_function "Artikel aus Lieferung entfernen", "$(this).previous('input').value = 1; $(this).up('p').hide();"
= stock_change_form.hidden_field :_destroy
= link_to "Artikel aus Lieferung entfernen", "#", :class => 'destroy_stock_change'
%p
= remote_link_to "Lagerartikel der Lieferung hinzufügen", :url => {:action => 'add_stock_change', :supplier_id => @supplier.id}
= link_to "Lagerartikel der Lieferung hinzufügen", {:action => 'add_stock_change', :supplier_id => @supplier.id}, :remote => true
%hr/
%p
%b= f.label :delivered_on, "Lieferdatum"
= f.date_select :delivered_on
%p
%b= f.label :note, "Notiz"
%br/
= f.text_area :note, :size => "35x4"
%p
= f.submit "Lieferung speichern"
oder
= link_to "Abbrechen", supplier_deliveries_path(@supplier)
= f.input :delivered_on
= f.input :note, :input_html => {:size => '35x4'}
= f.submit
.right_column{:style => "width:35%;"}
.right_column{:style => "width:45%;"}
.box_title
%h2 Neuen Lagerartikel anlegen
.column_content
%p
:javascript
function fillNewStockArticle(text, li) {
new Ajax.Updater('stock_article_form', '#{url_for(:controller => "deliveries", :action => "fill_new_stock_article_form")}', {
method: 'get',
parameters: {article_id: li.id}
});
}
//TODO: Fix this!!
Suche nach Artikeln aus dem
%i= @supplier.name
Katalog:
= text_field_with_auto_complete :article, :name, {}, |
{:url => {:controller => 'stockit', :action => 'auto_complete_for_article_name', :supplier_id => @supplier.id}, |
:after_update_element => 'fillNewStockArticle', :method => :get} |
= text_field_tag 'article_name'
%hr/
#stock_article_form
= render :partial => 'stock_article_form', :locals => {:stock_article => @supplier.stock_articles.build}

View file

@ -1,33 +1,11 @@
- remote_form_for stock_article, :url => add_stock_article_supplier_deliveries_path(@supplier) do |form|
= form.error_messages
= form.hidden_field :supplier_id
%p
Name
%br/
= form.text_field :name
%p
Einheit
%br/
= form.text_field :unit
%p
Notiz
%br/
= form.text_field :note
%p
Preis
%br/
= form.text_field :price
%p
MwSt
%br/
= form.text_field :tax, :value => (stock_article.tax || 7.0)
%p
Pfand
%br/
= form.text_field :deposit
%p
Kategorie:
= form.select :article_category_id, ArticleCategory.all(:order => 'name').collect { |c| [c.name, c.id] }
%p
= submit_tag "Lagerartikel speichern"
= simple_form_for stock_article, add_stock_article_supplier_deliveries_path(@supplier), :remote => true,
:validate => true do |f|
= f.hidden_field :supplier_id
= f.input :name
= f.input :unit
= f.input :note
= f.input :price
= f.input :tax
= f.input :deposit
= f.association :article_category
= f.submit

View file

@ -1,6 +1,6 @@
%p
- fields_for "delivery[new_stock_changes][]", stock_change do |form|
= fields_for "delivery[new_stock_changes][]", stock_change do |form|
= form.select :stock_article_id, stock_articles_for_select(supplier)
Menge
= form.text_field :quantity, :size => 5, :autocomplete => 'off'
= link_to_function "Artikel aus Lieferung entfernen", "$(this).up('p').remove()"
= link_to "Artikel aus Lieferung entfernen", "#", :class => 'remove_new_stock_change'

View file

@ -0,0 +1 @@
$('#stock_changes').append('<%= escape_javascript(render(:partial => 'stock_change', :locals => {:stock_change => StockChange.new, :supplier => @supplier})) %>');

View file

@ -1,35 +1,10 @@
- remote_form_for stock_article, :url => add_stock_article_stock_takings_path do |form|
= form.error_messages
%p
Lieferantin
%br/
= form.select :supplier_id, Supplier.without_deleted(:order => 'name').collect{ |s| [s.name, s.id] }
%p
Name
%br/
= form.text_field :name
%p
Einheit
%br/
= form.text_field :unit
%p
Notiz
%br/
= form.text_field :note
%p
Nettopreis
%br/
= form.text_field :price
%p
MwSt
%br/
= form.text_field :tax, :value => (stock_article.tax || 7.0)
%p
Pfand
%br/
= form.text_field :deposit
%p
Kategorie:
= form.select :article_category_id, ArticleCategory.all(:order => 'name').collect { |c| [c.name, c.id] }
%p
= submit_tag "Lagerartikel hinzufügen"
- simple_form_for stock_article, add_stock_article_stock_takings_path, :remote => true do |f|
= f.association :supplier
= f.input :name
= f.input :unit
= f.input :note
= f.input :price
= f.input :tax
= f.input :deposit
= f.association :article_category
= f.submit

View file

@ -1,9 +1,7 @@
%p
- fields_for "stock_taking[stock_change_attributes][]", stock_change do |form|
- article = stock_change.stock_article
= simple_fields_for "stock_taking[stock_change_attributes][]", stock_change do |form|
= form.hidden_field :stock_article_id
= "Menge (#{article.quantity_available})"
= form.text_field :quantity, :size => 5, :autocomplete => 'off'
%b=h truncate(article.name)
= "(#{number_to_currency(article.price)} / #{article.unit})"
= "Menge (#{stock_change.stock_article.quantity_available})"
= form.text_field :quantity, :size => 5, :autocomplete => 'off'
%b=h truncate(stock_change.stock_article.name)
= "(#{number_to_currency(stock_change.stock_article.price)} / #{stock_change.stock_article.unit})"

View file

@ -1,16 +1,7 @@
- title "Inventur bearbeiten"
- form_for(@stock_taking) do |f|
= f.error_messages
%p
%b Datum
%br/
= f.date_select :date
%p
%b Notiz
%br/
= f.text_area :note, :size => "28x7"
%p
= f.submit "Invenur speichern"
|
= link_to "Abbrechen", stock_takings_path
- simple_form_for(@stock_taking) do |f|
= f.input :date
= f.input :note
= f.submit
= link_to "oder abbrechen", stock_takings_path

View file

@ -1,7 +1,7 @@
- title "Inventurübersicht"
%p
= link_to "Neue Iniventur anlegen", new_stock_taking_path
= link_to "Neue Inventur anlegen", new_stock_taking_path
|
= link_to "Lager", stock_articles_path
@ -17,7 +17,7 @@
- for stock_taking in @stock_takings
%tr
%td= link_to format_date(stock_taking.date), stock_taking
%td=h truncate stock_taking.note
%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

@ -1,19 +1,12 @@
- title "Neue Inventur anlegen"
.left_column{:style => "width:40em;"}
- form_for(@stock_taking) do |f|
.left_column{:style => "width:50%;"}
= simple_form_for(@stock_taking) do |f|
.box_title
%h2 Inventur anlegen
.column_content
= f.error_messages
%p
%b Datum
%br/
= f.date_select :date
%p
%b Notiz
%br/
= f.text_area :note, :size => "28x7", :value => "#{@current_user.nick}: ..."
= f.input :date
= f.input :note, :input_html => {:size => "28x7", :value => "#{@current_user.nick}: ..."}
%h2 Lagerartikel
%p
%i
@ -21,28 +14,18 @@
= 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
%p
= f.submit "Inventur anlegen"
|
= link_to "Abbrechen", stock_takings_path
= render :partial => 'stock_change', :collection => @stock_taking.stock_changes
= f.submit
= link_to "oder abbrechen", stock_takings_path
.right_column{:style => "width:30em;"}
.right_column{:style => "width:45%;"}
.box_title
%h2 Neuen Lagerartikel anlegen
.column_content
%p
:javascript
function fillNewStockArticle(text, li) {
new Ajax.Updater('stock_article_form', '/stock_takings/fill_new_stock_article_form', {
method: 'get',
parameters: {article_id: li.id}
});
}
// FIx this!
Suche nach Artikeln aus dem allen Katalogen:
= text_field_with_auto_complete :article, :name, {}, |
{:url => {:controller => 'stockit', :action => 'auto_complete_for_article_name' }, |
:after_update_element => 'fillNewStockArticle', :method => :get} |
= text_field_tag :article_name
%hr/
#stock_article_form
= render :partial => 'stock_article_form', :locals => {:stock_article => StockArticle.new}

View file

@ -1,44 +1,16 @@
- form_for stock_article do |form|
= form.error_messages
%p
Lieferantin
%br/
= form.select :supplier_id, Supplier.without_deleted(:order => 'name').collect{ |s| [s.name, s.id] }
%p
Name
%br/
= form.text_field :name
%p
Einheit
%br/
= form.text_field :unit
%p
Notiz
%br/
= form.text_field :note
- simple_form_for stock_article, :validate => true do |f|
= f.association :supplier
= f.input :name
= f.input :unit
= f.input :note
- if stock_article.new_record?
%p
Nettopreis
%br/
= form.text_field :price
%p
MwSt
%br/
= form.text_field :tax, :value => (stock_article.tax || 7.0)
%p
Pfand
%br/
= form.text_field :deposit
= f.input :price
= f.input :tax
= f.input :deposit
- else
%p
Preis:
%br/
Um Chaos zu vermeiden können bis auf weiteres die Preise von angelegten
Lagerartikeln nicht mehr verändert werden.
%p
Kategorie:
= form.select :article_category_id, ArticleCategory.all(:order => 'name').collect { |c| [c.name, c.id] }
%p
= submit_tag "Lagerartikel speichern"
|
= link_to "Abbrechen", stock_articles_path
= 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

View file

@ -1,23 +1,26 @@
- title "Lagerübersicht: #{StockArticle.available.count} Artikel im Lager"
- content_for :head do
:javascript
$(function() {
$('tr.unavailable').hide();
})
.menu
- form_tag do
%ul
%li
Ansichtsoptionen
%ul
%li= link_to_function "Nicht verfügbare Artikel zeigen/verstecken", |
"$$('tr.unavailable').invoke('toggleClassName', 'hidden');", :style => "width:15em" |
%li= link_to "Nicht verfügbare Artikel zeigen/verstecken", "#", 'data-toggle-this' => 'tr.unavailable',
:style => "width:15em"
%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.without_deleted.collect {|s| [ s.name, url_for(new_supplier_delivery_path(s))] }), |
:onchange => "redirectTo(this)", :style => "font-size: 0.9em;margin-left:1em;" |
= 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
@ -48,7 +51,7 @@
%tbody
- for article in @stock_articles
- class_name = cycle :even, :odd
- class_name += " unavailable hidden" if article.quantity_available <= 0
- class_name += " unavailable" if article.quantity_available <= 0
- class_name += " supplier_#{article.supplier.id}"
%tr{:class => class_name}
%td=h article.name

View file

@ -1,16 +1,20 @@
- title "Neuen Lagerartikel anlegen"
:javascript
function fillNewStockArticle(text, li) {
new Ajax.Updater('stock_article_form', '/stockit/fill_new_stock_article_form', {
parameters: {article_id: li.id}
});
}
- content_for :head do
:javascript
$(function() {
$('#article_search').autocomplete({
source: '#{articles_search_stock_articles_path}',
select: function(e, ui) {
alert(ui.item.value);
//location.href = '#{nil}' + ui.item.value;
}
});
})
%p
Suche nach Artikeln aus allen Katalogen:
= text_field_with_auto_complete :article, :name, {}, |
{:url => {:action => 'auto_complete_for_article_name'}, |
:after_update_element => 'fillNewStockArticle'} |
= text_field_tag 'article_search'
#stock_article_form
= render :partial => 'form', :locals => {:stock_article => @stock_article}