Skip to content

Commit

Permalink
Fixes #1132
Browse files Browse the repository at this point in the history
  • Loading branch information
lentschi committed Mar 6, 2025
1 parent b82dc93 commit 99d97af
Show file tree
Hide file tree
Showing 8 changed files with 31 additions and 9 deletions.
20 changes: 14 additions & 6 deletions app/controllers/stockit_controller.rb
Original file line number Diff line number Diff line change
Expand Up @@ -54,14 +54,21 @@ def edit
end

def create
valid = false
StockArticle.transaction do
@stock_article = StockArticle.create(quantity: 0, supplier_id: @supplier_id)
@stock_article.attributes = { latest_article_version_attributes: params[:article_version] }
@stock_article.save
raise ActiveRecord::Rollback unless @stock_article.valid?

valid = @stock_article.save
end

if valid
render layout: false
else
load_article_units(@stock_article.current_article_units)
render action: 'new', layout: false
end
render layout: false
rescue ActiveRecord::RecordInvalid
render action: 'new', layout: false
end

def update
Expand Down Expand Up @@ -97,8 +104,9 @@ def load_article
@stock_article = StockArticle.find(params[:id])
end

def load_article_units
additional_units = @stock_article&.current_article_units || []
def load_article_units(additional_units = [])
additional_units = @stock_article.current_article_units unless @stock_article.nil?

@article_units = ArticleUnit.as_options(additional_units: additional_units)
@all_units = ArticleUnit.as_hash(additional_units: additional_units)
end
Expand Down
8 changes: 5 additions & 3 deletions app/views/stockit/_form.html.haml
Original file line number Diff line number Diff line change
Expand Up @@ -14,21 +14,23 @@
= f.input :name
.fold-line.d-flex
= f.hidden_field :unit, id: 'article_unit_hidden', value: ''
- supplier_order_unit_override = stock_article.supplier_order_unit
- supplier_order_unit_override = 'XPP' if supplier_order_unit_override.nil? && stock_article.unit.nil?
-# title: unit in which article can be ordered from supplier
= f.input :supplier_order_unit, as: :select, collection: @article_units, value: stock_article.supplier_order_unit, include_blank: t('.custom_unit'), input_html: {class: 'input-medium'}
= f.input :supplier_order_unit, as: :select, collection: @article_units, selected: supplier_order_unit_override, value: stock_article.supplier_order_unit, include_blank: t('shared.article_fields_units.custom_unit'), input_html: {class: 'input-medium'}
-# title: free text unit
= f.input :unit, input_html: {class: 'input-mini ml-1'}, label: false
.fold-line
.control-group
%label.control-label{for: 'unit_ratios'}
= "Unit ratios"
= t('shared.article_fields_units.unit_ratios')
%table#fc_base_price{:class => "controls"}
%tbody
- ratios = stock_article.article_unit_ratios
= render :partial => 'shared/article_unit_ratio', :as => 'article_unit_ratio', :collection => ratios, locals: {f: f}
%tfoot
%td{:colspan => 6}
= link_to t('.add_ratio'), '#', 'data-add-ratio' => true, class: 'btn', title: "add ratio"
= link_to t('shared.article_fields_units.add_ratio'), '#', 'data-add-ratio' => true, class: 'btn', title: "add ratio"
= f.input :note
- if stock_article.new_record?
= f.input :price
Expand Down
2 changes: 2 additions & 0 deletions config/locales/de.yml
Original file line number Diff line number Diff line change
Expand Up @@ -1748,6 +1748,8 @@ de:
settings_group:
messages: Nachrichten
privacy: Privatsphäre
article:
supplier_id: Lieferantin
'no': 'Nein'
options:
settings:
Expand Down
2 changes: 2 additions & 0 deletions config/locales/en.yml
Original file line number Diff line number Diff line change
Expand Up @@ -1753,6 +1753,8 @@ en:
settings_group:
messages: Messages
privacy: Privacy
article:
supplier_id: Supplier
'no': 'No'
options:
settings:
Expand Down
2 changes: 2 additions & 0 deletions config/locales/es.yml
Original file line number Diff line number Diff line change
Expand Up @@ -1665,6 +1665,8 @@ es:
settings_group:
messages: Mensajes
privacy: Privacidad
article:
supplier_id: Proveedor
'no': 'No'
options:
settings:
Expand Down
2 changes: 2 additions & 0 deletions config/locales/fr.yml
Original file line number Diff line number Diff line change
Expand Up @@ -1168,6 +1168,8 @@ fr:
phone_is_public: Permettre aux autres membres de voir ton numéro de téléphone.
settings_group:
privacy: Confidentialité
article:
supplier_id: Fournisseu-r-se
'no': 'Non'
options:
settings:
Expand Down
2 changes: 2 additions & 0 deletions config/locales/nl.yml
Original file line number Diff line number Diff line change
Expand Up @@ -1660,6 +1660,8 @@ nl:
settings_group:
messages: Berichten
privacy: Privacy
article:
supplier_id: Leverancier
'no': 'Nee'
options:
settings:
Expand Down
2 changes: 2 additions & 0 deletions config/locales/tr.yml
Original file line number Diff line number Diff line change
Expand Up @@ -1663,6 +1663,8 @@ tr:
settings_group:
messages: Mesajlar
privacy: Gizlilik
article:
supplier_id: Tedarikçi
'hayir': 'Hayir'
options:
settings:
Expand Down

0 comments on commit 99d97af

Please sign in to comment.