-
-
Save universal/87d3e3766e898f10d90f87e3d4bc5533 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<%= form_for @serialized_products_form, url: serialized_products_path do |f| %> | |
<%= f.fields_for :serialized_products, @serialized_products_form.serialized_products do |p| %> | |
<%= p.label :product_id %><br> | |
<%= p.text_field :product_id %> | |
<%= p.label :location_id %><br> | |
<%= p.text_field :location_id %> | |
<%= p.label :serial %><br> | |
<%= p.text_field :serial %> | |
<% end %> | |
<%= submit_tag %> | |
<% end %> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
class SerializedProductsController < ApplicationController | |
before_action :set_serialized_product, only: [:show, :edit, :update, :destroy] | |
def new | |
if session[:reference] == nil or session[:location_id] == nil or session[:line_item_ids] == nil | |
print "\n\nSession is nil.\n\n" | |
redirect_back(fallback_location: root_path) | |
end | |
@reference = session[:reference] | |
location_id = session[:location_id] | |
@line_items = InventoryAdjustmentItem.where(id: session[:line_item_ids]) | |
@serialized_products = [] | |
@line_items.each do |line_item| | |
(line_item.quantity).times do | |
@serialized_products.push(SerializedProduct.new(product_id: line_item.product_id, location_id: location_id)) | |
end | |
end | |
end | |
def create | |
params["serialized_products"].each do |serialized_product| | |
if serialized_product["serial"].present? | |
SerializedProduct.create(serialized_product_params(serialized_product)) | |
end | |
end | |
redirect_to :root, notice: 'Serialized product was successfully created.' | |
session[:reference] = nil | |
session[:location_id] = nil | |
session[:line_item_ids] = nil | |
end | |
private | |
def set_serialized_product | |
@serialized_product = SerializedProduct.find(params[:id]) | |
end | |
def serialized_product_params(my_params) | |
my_params.permit(:product_id, :location_id, :serial) | |
end | |
end |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
class SerializedProductsForm | |
attr_reader :serialized_products | |
def initialize(serialized_products:) | |
@serialized_products = serialized_products | |
end | |
def serialized_products_attributes= | |
... | |
end | |
end |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment