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 ["Name",menu.name], :style=>title
|
||||||
sheet.add_row
|
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|
|
menu.menu_categories.each do |mc|
|
||||||
mc.menu_items.each do |mi|
|
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|
|
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
|
end
|
||||||
end
|
end
|
||||||
|
|||||||
@@ -153,6 +153,28 @@ class Menu < ApplicationRecord
|
|||||||
# status = status + "Category Code already exists."
|
# status = status + "Category Code already exists."
|
||||||
end
|
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"])
|
menu_itm = MenuItem.find_by_item_code(row["Item Code"])
|
||||||
if !menu_itm
|
if !menu_itm
|
||||||
account = Account.find_by_title(row["Account"])
|
account = Account.find_by_title(row["Account"])
|
||||||
@@ -160,14 +182,14 @@ class Menu < ApplicationRecord
|
|||||||
account = Account.create({title: row["Account"], account_type: "0"})
|
account = Account.create({title: row["Account"], account_type: "0"})
|
||||||
end
|
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
|
# else
|
||||||
# status = status + "Item Code already exists for " + row["Item Name"] + "."
|
# status = status + "Item Code already exists for " + row["Item Name"] + "."
|
||||||
end
|
end
|
||||||
|
|
||||||
menu_inst = MenuItemInstance.find_by_item_instance_code(row["Instance Code"])
|
menu_inst = MenuItemInstance.find_by_item_instance_code(row["Instance Code"])
|
||||||
if !menu_inst
|
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
|
# else
|
||||||
# status = status + "Instance Code already exists for " + row["Instance Name"] + "."
|
# status = status + "Instance Code already exists for " + row["Instance Name"] + "."
|
||||||
end
|
end
|
||||||
|
|||||||
@@ -433,12 +433,9 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="modal-footer ">
|
<div class="modal-footer ">
|
||||||
<div class="row m-b-10 m-r-30">
|
<div class="row m-b-10 m-r-30">
|
||||||
|
<div class="col-md-5 m-r-20">
|
||||||
<div class="col-md-5 m-r-20">
|
<button type="button" class="btn btn-link bg-red waves-effect print_receipt">Print</button>
|
||||||
<% if ENV["SERVER_MODE"] != "cloud" %>
|
|
||||||
<button type="button" class="btn btn-link bg-red waves-effect print_receipt">Print</button>
|
|
||||||
<% end %>
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="col-md-5 m-r-20">
|
<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",
|
url: "/origami/sale/"+sale_id+"/"+cashier_type+"/payment/print",
|
||||||
data: params,
|
data: params,
|
||||||
success:function(result){
|
success:function(result){
|
||||||
console.log(result);
|
|
||||||
// For Server Print - from jade
|
// For Server Print - from jade
|
||||||
if ($("#server_mode").val() == "cloud") {
|
if ($("#server_mode").val() == "cloud") {
|
||||||
code2lab.printFile(result.filepath.substr(6), result.printer_url);
|
code2lab.printFile(result.filepath.substr(6), result.printer_url);
|
||||||
|
|||||||
@@ -16,7 +16,7 @@
|
|||||||
<% if(@server_mode != 'cloud') %>
|
<% if(@server_mode != 'cloud') %>
|
||||||
<%= f.input :printer_name, :as => :select, :collection => Printer::PrinterWorker.printers, include_blank: false %>
|
<%= f.input :printer_name, :as => :select, :collection => Printer::PrinterWorker.printers, include_blank: false %>
|
||||||
<% else %>
|
<% else %>
|
||||||
<%= f.input :printer_name %>
|
<%= f.input :printer_name, :as => :select, :collection => [] %>
|
||||||
<% end %>
|
<% end %>
|
||||||
<%= f.input :brand_name %>
|
<%= f.input :brand_name %>
|
||||||
<%= f.input :printer_type %>
|
<%= f.input :printer_type %>
|
||||||
|
|||||||
Binary file not shown.
Reference in New Issue
Block a user