menu export import update and print setting update
This commit is contained in:
@@ -99,11 +99,39 @@ class Settings::MenusController < ApplicationController
|
||||
sheet.add_row ["Name",menu.name], :style=>title
|
||||
sheet.add_row
|
||||
|
||||
sheet.add_row ["Category Code", "Category Name", "Item Code", "Item Name", "Account", "Item AltName", "Taxable", "Instance Code", "Instance Name", "Price"], :style=>header_text
|
||||
sheet.add_row ["Category Code", "Category Name", "Item Code", "Item Name", "Account", "Item AltName", "Taxable", "Attributes", "Options", "Instance Code", "Instance Name", "Price", "Is Default"], :style=>header_text
|
||||
menu.menu_categories.each do |mc|
|
||||
mc.menu_items.each do |mi|
|
||||
attributes = ""
|
||||
i=0
|
||||
if mi.item_attributes.length > 0
|
||||
mi.item_attributes.each do |mia|
|
||||
attribute = MenuItemAttribute.find(mia)
|
||||
if i == mi.item_attributes.length - 1
|
||||
attributes = attributes + attribute.name
|
||||
else
|
||||
attributes = attributes + attribute.name + ","
|
||||
end
|
||||
i = i + 1
|
||||
end
|
||||
end
|
||||
|
||||
options = ""
|
||||
i=0
|
||||
if mi.item_options.length > 0
|
||||
mi.item_options.each do |mia|
|
||||
option = MenuItemOption.find(mia)
|
||||
if i == mi.item_options.length - 1
|
||||
options = options + option.name
|
||||
else
|
||||
options = options + option.name + ","
|
||||
end
|
||||
i = i + 1
|
||||
end
|
||||
end
|
||||
|
||||
mi.menu_item_instances.each do |mii|
|
||||
sheet.add_row [ mc.code, mc.name, mi.item_code, mi.name, mi.account.title, mi.alt_name, mi.taxable, mii.item_instance_code, mii.item_instance_name, mii.price], :style=>wrap_text
|
||||
sheet.add_row [ mc.code, mc.name, mi.item_code, mi.name, mi.account.title, mi.alt_name, mi.taxable, attributes, options, mii.item_instance_code, mii.item_instance_name, mii.price, mii.is_default], :style=>wrap_text
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
@@ -153,6 +153,28 @@ class Menu < ApplicationRecord
|
||||
# status = status + "Category Code already exists."
|
||||
end
|
||||
|
||||
# Menu Item Attributes
|
||||
item_attrs = []
|
||||
attributes = row["Attributes"].split(',')
|
||||
attributes.each do |attr|
|
||||
attribute = MenuItemAttribute.find_by_name(attr)
|
||||
if attribute.nil?
|
||||
attribute = MenuItemAttribute.create({ attribute_type:"any", name: attr.capitalize, value: attr.downcase })
|
||||
end
|
||||
item_attrs.push(attribute.id)
|
||||
end
|
||||
|
||||
# Menu Item Options
|
||||
item_opts = []
|
||||
options = row["Options"].split(',')
|
||||
options.each do |opt|
|
||||
option = MenuItemOption.find_by_name(opt)
|
||||
if option.nil?
|
||||
option = MenuItemOption.create({ option_type:"any", name: opt.capitalize, value: opt.downcase })
|
||||
end
|
||||
item_opts.push(option.id)
|
||||
end
|
||||
|
||||
menu_itm = MenuItem.find_by_item_code(row["Item Code"])
|
||||
if !menu_itm
|
||||
account = Account.find_by_title(row["Account"])
|
||||
@@ -160,14 +182,14 @@ class Menu < ApplicationRecord
|
||||
account = Account.create({title: row["Account"], account_type: "0"})
|
||||
end
|
||||
|
||||
menu_itm = MenuItem.create(item_code: row["Item Code"], name: row["Item Name"], account_id: account.id, alt_name: row["Item AltName"], image_path: "", description: '', information: '', unit: '', type: "SimpleMenuItem", menu_category_id: menu_cat.id, item_attributes: "[]", item_options: "[]", is_sub_item: 0, is_available: 1, created_by: created_by)
|
||||
menu_itm = MenuItem.create(item_code: row["Item Code"], name: row["Item Name"], account_id: account.id, alt_name: row["Item AltName"], image_path: "", description: '', information: '', unit: '', type: "SimpleMenuItem", menu_category_id: menu_cat.id, item_attributes: item_attrs, item_options: item_opts, is_sub_item: 0, is_available: 1, created_by: created_by)
|
||||
# else
|
||||
# status = status + "Item Code already exists for " + row["Item Name"] + "."
|
||||
end
|
||||
|
||||
menu_inst = MenuItemInstance.find_by_item_instance_code(row["Instance Code"])
|
||||
if !menu_inst
|
||||
imported_instance = MenuItemInstance.create(menu_item_id: menu_itm.id, item_instance_code: row["Instance Code"], item_instance_name: row["Instance Name"], item_attributes: "[]", price: row["Price"], is_on_promotion: false, promotion_price: 0, is_available: true, is_default: false)
|
||||
imported_instance = MenuItemInstance.create(menu_item_id: menu_itm.id, item_instance_code: row["Instance Code"], item_instance_name: row["Instance Name"], item_attributes: [], price: row["Price"], is_on_promotion: false, promotion_price: 0, is_available: true, is_default: row["Is Default"])
|
||||
# else
|
||||
# status = status + "Instance Code already exists for " + row["Instance Name"] + "."
|
||||
end
|
||||
|
||||
@@ -433,12 +433,9 @@
|
||||
</div>
|
||||
</div>
|
||||
<div class="modal-footer ">
|
||||
<div class="row m-b-10 m-r-30">
|
||||
|
||||
<div class="col-md-5 m-r-20">
|
||||
<% if ENV["SERVER_MODE"] != "cloud" %>
|
||||
<button type="button" class="btn btn-link bg-red waves-effect print_receipt">Print</button>
|
||||
<% end %>
|
||||
<div class="row m-b-10 m-r-30">
|
||||
<div class="col-md-5 m-r-20">
|
||||
<button type="button" class="btn btn-link bg-red waves-effect print_receipt">Print</button>
|
||||
</div>
|
||||
|
||||
<div class="col-md-5 m-r-20">
|
||||
@@ -1049,7 +1046,6 @@ var customer_name = "<%= @customer.name %>";
|
||||
url: "/origami/sale/"+sale_id+"/"+cashier_type+"/payment/print",
|
||||
data: params,
|
||||
success:function(result){
|
||||
console.log(result);
|
||||
// For Server Print - from jade
|
||||
if ($("#server_mode").val() == "cloud") {
|
||||
code2lab.printFile(result.filepath.substr(6), result.printer_url);
|
||||
|
||||
@@ -16,7 +16,7 @@
|
||||
<% if(@server_mode != 'cloud') %>
|
||||
<%= f.input :printer_name, :as => :select, :collection => Printer::PrinterWorker.printers, include_blank: false %>
|
||||
<% else %>
|
||||
<%= f.input :printer_name %>
|
||||
<%= f.input :printer_name, :as => :select, :collection => [] %>
|
||||
<% end %>
|
||||
<%= f.input :brand_name %>
|
||||
<%= f.input :printer_type %>
|
||||
|
||||
Binary file not shown.
Reference in New Issue
Block a user