diff --git a/Gemfile b/Gemfile
index ac3052b5..0b7c3f11 100644
--- a/Gemfile
+++ b/Gemfile
@@ -9,9 +9,9 @@ end
# Bundle edge Rails instead: gem 'rails', github: 'rails/rails'
gem 'rails', '~> 5.1.0'
# Use mysql as the database for Active Record
+
gem 'mysql2', '>= 0.3.18', '< 0.5'
-#Use PosgreSQL
gem 'pg'
# redis server for cable
@@ -59,6 +59,9 @@ gem 'bcrypt', '~> 3.1.7'
gem 'sidekiq'
+# Pagination
+gem 'kaminari', :git => "git://github.com/amatsuda/kaminari.git", :branch => 'master'
+
# Use Capistrano for deployment
# gem 'capistrano-rails', group: :development
diff --git a/app/controllers/origami/request_bills_controller.rb b/app/controllers/origami/request_bills_controller.rb
index c202d4dc..9f971289 100644
--- a/app/controllers/origami/request_bills_controller.rb
+++ b/app/controllers/origami/request_bills_controller.rb
@@ -1,6 +1,7 @@
class Origami::RequestBillsController < BaseOrigamiController
def show
@sale = Sale.new
+
check_order = Order.find_by_id(params[:id])
if check_order
@order_details = OrderItem.get_order_items_details(check_order.id)
@@ -9,5 +10,13 @@ class Origami::RequestBillsController < BaseOrigamiController
@sale_data = Sale.find_by_id(@sale_id)
@sale_items = SaleItem.where("sale_id=?",@sale_id)
end
+ unique_code="ReceiptBillPdf"
+ print_settings=PrintSetting.find_by_unique_code(unique_code)
+
+ printer = Printer::ReceiptPrinter.new(print_settings)
+
+ printer.print_receipt_bill(print_settings,@sale_items,@sale)
+
+
end
end
diff --git a/app/controllers/settings/menu_item_instances_controller.rb b/app/controllers/settings/menu_item_instances_controller.rb
index 00f980e9..6bd00638 100644
--- a/app/controllers/settings/menu_item_instances_controller.rb
+++ b/app/controllers/settings/menu_item_instances_controller.rb
@@ -1,6 +1,6 @@
class Settings::MenuItemInstancesController < ApplicationController
before_action :set_settings_menu_item_instance, only: [:show, :edit, :update, :destroy]
- before_action :set_settings_menu_item, only: [:index, :show, :edit, :new, :update]
+ before_action :set_settings_menu_item, only: [ :show, :edit, :new, :update]
# GET /settings/menu_item_instances
# GET /settings/menu_item_instances.json
@@ -11,29 +11,43 @@ class Settings::MenuItemInstancesController < ApplicationController
# GET /settings/menu_item_instances/1
# GET /settings/menu_item_instances/1.json
def show
+ @category = MenuCategory.find(@item.menu_category_id)
end
# GET /settings/menu_item_instances/new
def new
- @settings_menu_item_instance = MenuItemInstance.new
+ @category = MenuCategory.find(@item.menu_category_id)
+ @settings_menu_item_instances = MenuItemInstance.new
end
# GET /settings/menu_item_instances/1/edit
def edit
+ @category = MenuCategory.find(@item.menu_category_id)
end
# POST /settings/menu_item_instances
# POST /settings/menu_item_instances.json
def create
- @settings_menu_item_instance = MenuItemInstance.new(settings_menu_item_instance_params)
+ @settings_menu_item_instances = MenuItemInstance.new(settings_menu_item_instance_params)
+ if params[:simple_menu_item_id]
+ @settings_menu_item_instances.menu_item_id = params[:simple_menu_item_id]
+ catID = MenuItem.find(params[:simple_menu_item_id])
+ else
+ @settings_menu_item_instances.menu_item_id = params[:set_menu_item_id]
+ catID = MenuItem.find(params[:set_menu_item_id])
+ end
+
+ category = MenuCategory.find(catID.menu_category_id)
respond_to do |format|
- if @settings_menu_item_instance.save
- format.html { redirect_to settings_menu_item_instances_path, notice: 'Menu item instance was successfully created.' }
- format.json { render :show, status: :created, location: @settings_menu_item_instance }
+ if @settings_menu_item_instances.save
+ @settings_menu_item_instances.item_attributes = params[:menu_item_instance][:item_attributes]
+ @settings_menu_item_instances.save
+ format.html { redirect_to settings_menu_category_simple_menu_item_path(category,catID), notice: 'Menu item instance was successfully created.' }
+ format.json { render :show, status: :created, location: @settings_menu_item_instances }
else
format.html { render :new }
- format.json { render json: @settings_menu_item_instance.errors, status: :unprocessable_entity }
+ format.json { render json: @settings_menu_item_instances.errors, status: :unprocessable_entity }
end
end
end
@@ -41,13 +55,24 @@ class Settings::MenuItemInstancesController < ApplicationController
# PATCH/PUT /settings/menu_item_instances/1
# PATCH/PUT /settings/menu_item_instances/1.json
def update
+ puts "params[:menu_item_instance][:item_attributes]"
+ puts params[:menu_item_instance][:item_attributes]
+ if params[:simple_menu_item_id]
+ catID = MenuItem.find(params[:simple_menu_item_id])
+ else
+ catID = MenuItem.find(params[:set_menu_item_id])
+ end
+ category = MenuCategory.find(catID.menu_category_id)
respond_to do |format|
- if @settings_menu_item_instance.update(settings_menu_item_instance_params)
- format.html { redirect_to settings_menu_item_instance_path(@settings_menu_item_instance), notice: 'Menu item instance was successfully updated.' }
- format.json { render :show, status: :ok, location: @settings_menu_item_instance }
+
+ if @settings_menu_item_instances.update(settings_menu_item_instance_params)
+ @settings_menu_item_instances.item_attributes = params[:menu_item_instance][:item_attributes].reject(&:blank?)
+ @settings_menu_item_instances.save
+ format.html { redirect_to settings_menu_category_simple_menu_item_path(category,catID), notice: 'Menu item instance was successfully updated.' }
+ format.json { render :show, status: :ok, location: @settings_menu_item_instances }
else
format.html { render :edit }
- format.json { render json: @settings_menu_item_instance.errors, status: :unprocessable_entity }
+ format.json { render json: @settings_menu_item_instances.errors, status: :unprocessable_entity }
end
end
end
@@ -55,9 +80,15 @@ class Settings::MenuItemInstancesController < ApplicationController
# DELETE /settings/menu_item_instances/1
# DELETE /settings/menu_item_instances/1.json
def destroy
- # @settings_menu_item_instance.destroy
+ @settings_menu_item_instances.destroy
+ if params[:simple_menu_item_id]
+ catID = MenuItem.find(params[:simple_menu_item_id])
+ else
+ catID = MenuItem.find(params[:set_menu_item_id])
+ end
+ category = MenuCategory.find(catID.menu_category_id)
respond_to do |format|
- format.html { redirect_to settings_menu_item_instances_path, notice: 'Menu item instance was successfully destroyed.' }
+ format.html { redirect_to settings_menu_category_simple_menu_item_path(category,catID), notice: 'Menu item instance was successfully destroyed.' }
format.json { head :no_content }
end
end
@@ -65,15 +96,21 @@ class Settings::MenuItemInstancesController < ApplicationController
private
# Use callbacks to share common setup or constraints between actions.
def set_settings_menu_item_instance
- @set_settings_menu_item_instances = MenuItemInstance.find(params[:id])
+ @settings_menu_item_instances = MenuItemInstance.find(params[:id])
end
def set_settings_menu_item
- @item = MenuItem.find(params[:menu_item_id])
+ if params[:simple_menu_item_id]
+ @item = MenuItem.find(params[:simple_menu_item_id])
+ else
+ @item = MenuItem.find(params[:set_menu_item_id])
+ end
end
# Never trust parameters from the scary internet, only allow the white list through.
def settings_menu_item_instance_params
- params.require(:menu_item_instance).permit(:item_instance_code, :item_instance_name, :price, :is_on_promotion, :promotion_price, :is_available)
+
+ params.require(:menu_item_instance).permit(:item_instance_code, :item_instance_name, :price, :item_attributes, :is_on_promotion, :promotion_price, :is_available,:menu_category_id,:menu_item_id)
+
end
end
diff --git a/app/controllers/settings/order_queue_stations_controller.rb b/app/controllers/settings/order_queue_stations_controller.rb
index e0cf0d08..46fcb54d 100644
--- a/app/controllers/settings/order_queue_stations_controller.rb
+++ b/app/controllers/settings/order_queue_stations_controller.rb
@@ -4,7 +4,7 @@ class Settings::OrderQueueStationsController < ApplicationController
# GET /settings/order_queue_stations
# GET /settings/order_queue_stations.json
def index
- @settings_order_queue_stations = OrderQueueStation.all
+ @settings_order_queue_stations = OrderQueueStation.all.active
end
# GET /settings/order_queue_stations/1
@@ -40,6 +40,7 @@ class Settings::OrderQueueStationsController < ApplicationController
# PATCH/PUT /settings/order_queue_stations/1
# PATCH/PUT /settings/order_queue_stations/1.json
def update
+ params[:order_queue_station][:processing_items] = params[:order_queue_station][:processing_items].split(/,/).inspect
respond_to do |format|
if @settings_order_queue_station.update(settings_order_queue_station_params)
format.html { redirect_to settings_order_queue_station_path(@settings_order_queue_station), notice: 'Order queue station was successfully updated.' }
diff --git a/app/controllers/settings/set_menu_items_controller.rb b/app/controllers/settings/set_menu_items_controller.rb
index cc5e89e8..f6771548 100644
--- a/app/controllers/settings/set_menu_items_controller.rb
+++ b/app/controllers/settings/set_menu_items_controller.rb
@@ -6,11 +6,14 @@ class Settings::SetMenuItemsController < ApplicationController
def index
@settings_menu_items = @category.menu_items.page(params[:page]).per(10)
end
-
+
# GET /settings/menu_items/1
# GET /settings/menu_items/1.json
def show
@sub_menu = MenuItem.where("menu_item_id=?",params[:id]).page(params[:page]).per(10)
+
+ @menu_item_instance = MenuItemInstance.where("menu_item_id=?",params[:id]).page(params[:page]).per(10)
+
end
# GET /settings/menu_items/new
diff --git a/app/controllers/settings/simple_menu_items_controller.rb b/app/controllers/settings/simple_menu_items_controller.rb
index d2083e59..e0d45fcb 100644
--- a/app/controllers/settings/simple_menu_items_controller.rb
+++ b/app/controllers/settings/simple_menu_items_controller.rb
@@ -6,7 +6,7 @@ class Settings::SimpleMenuItemsController < ApplicationController
def index
@settings_menu_items = @category.menu_items.page(params[:page]).per(10)
end
-
+
# GET /settings/menu_items/1
# GET /settings/menu_items/1.json
def show
@@ -78,6 +78,6 @@ class Settings::SimpleMenuItemsController < ApplicationController
# Never trust parameters from the scary internet, only allow the white list through.
def settings_menu_item_params
- params.require(:simple_menu_item).permit(:item_code, :name, :alt_name, :type, :menu_category_id, :menu_item_id, :min_qty, :min_selectable_item, :max_selectable_item, :created_by)
+ params.require(:simple_menu_item).permit(:item_code, :name, :alt_name, :type, :menu_category_id,:item_attributes, :menu_item_id, :min_qty, :min_selectable_item, :max_selectable_item, :created_by)
end
end
diff --git a/app/jobs/order_broadcast_job.rb b/app/jobs/order_broadcast_job.rb
index b29f4cd8..28a152ce 100644
--- a/app/jobs/order_broadcast_job.rb
+++ b/app/jobs/order_broadcast_job.rb
@@ -1,8 +1,9 @@
class OrderBroadcastJob < ApplicationJob
queue_as :default
- def perform(message)
- order = Order.find(message) # message come as order_id
+ def perform(message)
+ order = Order.find(message) # message come as order_id
ApplicationCable.server.broadcast "order_queue_station_channel", order: order
+
end
end
diff --git a/app/models/account.rb b/app/models/account.rb
index 4cf5040c..e1cdc6d3 100644
--- a/app/models/account.rb
+++ b/app/models/account.rb
@@ -2,6 +2,6 @@ class Account < ApplicationRecord
validates_presence_of :title, :account_type
has_many :menu_items
- # belongs_to :lookup , :class_name => "Lookup" ,:foreign_key => :tax_type
+ # belongs_to :lookup , :class_name => "Lookup"
end
diff --git a/app/models/menu_item.rb b/app/models/menu_item.rb
index e83c2eed..2a4e86be 100644
--- a/app/models/menu_item.rb
+++ b/app/models/menu_item.rb
@@ -5,10 +5,13 @@ class MenuItem < ApplicationRecord
belongs_to :parent, :class_name => "MenuItem", foreign_key: "menu_item_id", :optional => true
has_many :children, :class_name => "MenuItem", foreign_key: "menu_item_id"
- validates_presence_of :item_code, :type, :min_qty, :taxable, :min_selectable_item, :max_selectable_item
+ validates_presence_of :item_code, :name, :type, :min_qty, :taxable, :min_selectable_item, :max_selectable_item
default_scope { order('item_code asc') }
+ scope :simple_menu_item, -> { where(type: 'SimpleMenuItem') }
+ scope :set_menu_item, -> { where(type: 'SetMenuItem') }
+
def self.collection
MenuItem.select("id, name").map { |e| [e.name, e.id] }
end
diff --git a/app/models/menu_item_attribute.rb b/app/models/menu_item_attribute.rb
index ebaa060e..a2fd0d1c 100644
--- a/app/models/menu_item_attribute.rb
+++ b/app/models/menu_item_attribute.rb
@@ -1,4 +1,6 @@
class MenuItemAttribute < ApplicationRecord
validates_presence_of :attribute_type, :name, :value
-
+ def self.collection
+ MenuItemAttribute.select("id, name").map { |e| [e.name, e.id] }
+ end
end
diff --git a/app/models/order.rb b/app/models/order.rb
index 0b50b878..9133e907 100644
--- a/app/models/order.rb
+++ b/app/models/order.rb
@@ -25,7 +25,7 @@ class Order < ApplicationRecord
if self.new_booking
booking = Booking.create({:dining_facility_id => self.table_id,:type => "TableBooking",
:checkin_at => Time.now.utc, :checkin_by => self.employee_name,
- :booking_status => "new" })
+ :booking_status => "assign" })
else
if (self.booking_id.to_i > 0 )
booking = Booking.find(self.booking_id)
@@ -215,7 +215,9 @@ class Order < ApplicationRecord
left join dining_facilities on dining_facilities.id = bookings.dining_facility_id
left join order_items on order_items.order_id = orders.id")
.where("dining_facilities.type=? and orders.order_type=? and dining_facilities.is_active=?",DiningFacility::TABLE_TYPE,"dine_in",true)
+
.group("orders.id")
+
end
#Origami: Cashier : to view order type Room
def self.get_order_rooms
@@ -226,7 +228,7 @@ class Order < ApplicationRecord
left join dining_facilities on dining_facilities.id = bookings.dining_facility_id
left join order_items on order_items.order_id = orders.id")
.where("dining_facilities.type=? and orders.order_type=? and dining_facilities.is_active=?",DiningFacility::ROOM_TYPE,"dine_in",true)
- .group("orders.id")
+ .group("orders.id,order_items.id,dining_facilities.name")
end
#Origami: Cashier : to view orders
def self.get_orders
@@ -238,6 +240,7 @@ class Order < ApplicationRecord
left join bookings on bookings.id = booking_orders.id
left join dining_facilities on dining_facilities.id = bookings.dining_facility_id
left join order_items on order_items.order_id = orders.id")
+
.where("dining_facilities.is_active=? and orders.date between ? and ?",true,from,to)
.group("orders.id")
end
diff --git a/app/models/order_item.rb b/app/models/order_item.rb
index ef228fde..1cd83dc1 100644
--- a/app/models/order_item.rb
+++ b/app/models/order_item.rb
@@ -41,6 +41,7 @@ class OrderItem < ApplicationRecord
order_details = OrderItem.select("order_items.item_name,order_items.qty,order_items.price,(order_items.qty*order_items.price) as total_price")
.joins("left join orders on orders.id = order_items.order_id")
.where("order_items.order_id=?",order_id)
+
end
private
diff --git a/app/models/printer/receipt_printer.rb b/app/models/printer/receipt_printer.rb
index 521b87e0..d25dc8c3 100644
--- a/app/models/printer/receipt_printer.rb
+++ b/app/models/printer/receipt_printer.rb
@@ -63,4 +63,13 @@ class Printer::ReceiptPrinter < Printer::PrinterWorker
self.print(filename)
end
+#Bill Receipt Print
+ def print_receipt_bill(printer_settings,sale_items,sale)
+ #Use CUPS service
+ #Generate PDF
+ #Print
+ pdf = ReceiptBillPdf.new(printer_settings,sale_items,sale)
+ pdf.render_file "tmp/receipt_bill_#{sale.id}.pdf"
+ self.print("tmp/receipt_bill_#{sale.id}.pdf")
+ end
end
diff --git a/app/pdf/receipt_bill_pdf.rb b/app/pdf/receipt_bill_pdf.rb
new file mode 100644
index 00000000..e9ad042c
--- /dev/null
+++ b/app/pdf/receipt_bill_pdf.rb
@@ -0,0 +1,110 @@
+class ReceiptBillPdf < Prawn::Document
+ attr_accessor :receipt_width,:price_column_width,:p_width, :page_height, :margin, :price_width, :item_width, :header_font_size, :item_font_size,:item_height,:qty_column_width,:item_description_width
+ def initialize(printer_settings, sale_items,sale)
+ self.p_width = 200
+ self.page_height = 1450
+ self.margin = 10
+ # self.price_width = self.p_width / 2
+ self.price_width=90
+ self.item_width = self.p_width - self.price_width
+ self.item_height = self.item_height
+ self.qty_column_width = self.p_width / 2
+ self.item_description_width=self.p_width - self.price_width
+ self.receipt_width=130
+
+ @item_width = self.p_width.to_i / 2
+ @qty_width = @item_width.to_i / 3
+ @double = @qty_width * 2
+ @half_qty = @qty_width / 2
+ #setting page margin and width
+ super(:margin => [self.margin, self.margin, self.margin, self.margin], :page_size => [self.p_width, self.page_height])
+ self.header_font_size = 10
+ self.item_font_size = 6
+
+ header( printer_settings.printer_name, printer_settings.name)
+ stroke_horizontal_rule
+ cashier_info(sale.receipt_no,sale.customer.name, sale.receipt_date)
+ line_items(sale_items)
+
+
+ end
+
+ def header (printer_name, name)
+ text "#{printer_name}", :size => self.header_font_size,:align => :center
+ move_down 5
+ text "#{name}", :size => self.header_font_size,:align => :center
+ # move_down self.item_height
+ move_down 5
+
+ stroke_horizontal_rule
+
+ end
+
+ def cashier_info(receipt_no, customer, receipt_date)
+ move_down 5
+ move_down 2
+ y_position = cursor
+ bounding_box([0,y_position], :width =>self.price_width, :height => self.item_height) do
+ text "Receipt No:", :size => self.item_font_size,:align => :left
+ end
+
+ bounding_box([self.price_width, y_position], :width =>self.receipt_width) do
+ text "#{receipt_no}" , :size => self.item_font_size, :align => :left
+ end
+ move_down 5
+
+ y_position = cursor
+ bounding_box([0,y_position], :width =>self.price_width, :height => self.item_height) do
+ text "Customer:", :size => self.item_font_size,:align => :left
+ end
+ bounding_box([self.price_width,y_position], :width =>self.price_width) do
+ text "#{customer}" , :size => self.item_font_size,:align => :left
+ end
+ move_down 5
+
+ y_position = cursor
+ bounding_box([0,y_position], :width =>self.price_width, :height => self.item_height) do
+ text "Date:", :size => self.item_font_size,:align => :left
+ end
+ bounding_box([self.price_width,y_position], :width =>self.price_width) do
+ text "#{receipt_date}" , :size => self.item_font_size,:align => :left
+ end
+ # stroke_horizontal_rule
+ move_down 5
+ end
+
+ def line_items(sale_items)
+ y_position = cursor
+ qty_column_width = self.p_width * 0.2
+ item_description_width = self.p_width * 0.5
+ price_column_width = self.p_width * 0.3
+
+
+
+ stroke_horizontal_rule
+ move_down 5
+ y_position = cursor
+ pad_top(15) {
+ # @item_width.to_i + @half_qty.to_i
+ text_box "Items", :at =>[0,y_position], :width => @item_width.to_i - @half_qty.to_i , :height =>15, :overflow => :shrink_to_fix, :size => self.item_font_size
+ text_box "Price", :at =>[@item_width.to_i - @half_qty.to_i,y_position], :width => @qty_width, :height =>15, :overflow => :shrink_to_fix, :size => self.item_font_size, :align => :right
+ text_box "Qty", :at =>[@item_width.to_i-@qty_width,y_position], :width => @half_qty, :height =>15, :overflow => :shrink_to_fix, :size => self.item_font_size, :align => :right
+ text_box "Discount", :at =>[@item_width.to_i + @half_qty.to_i,y_position], :width => @qty_width, :height =>15, :overflow => :shrink_to_fix, :size => self.item_font_size, :align => :right
+ text_box "Total", :at =>[@item_width.to_i + @half_qty.to_i,y_position], :width => @double, :height =>15, :overflow => :shrink_to_fix, :size => self.item_font_size, :align => :right
+
+ }
+
+ move_down 5
+ stroke_horizontal_rule
+
+ add_line_item_row(sale_items)
+ stroke_horizontal_rule
+
+ end
+
+ def add_line_item_row(sale_items)
+ y_position = cursor
+ move_down 5
+ end
+
+end
diff --git a/app/views/crm/home/_booking.html.erb b/app/views/crm/home/_booking.html.erb
index 13702bf6..b8d2ba50 100644
--- a/app/views/crm/home/_booking.html.erb
+++ b/app/views/crm/home/_booking.html.erb
@@ -21,10 +21,10 @@
@@ -38,19 +38,21 @@ $(function(){
$(".booking_click").on("click", function(){
$(".summary-items tbody tr").remove();
+ $("#cancel").removeAttr("disabled");
+ $("#assign").removeAttr("disabled");
var url = $(this).attr('data-ref');
show_details(url);
});
$('.assign').click(function(e){
- var booking_id = $(this).attr("data-id")
+ var booking_id = $(this).val()
var type = $(this).attr("data-type")
update_booking(booking_id,type)
});
$('.cancel').click(function(e){
- var booking_id = $(this).attr("data-id")
+ var booking_id = $(this).val()
var type = $(this).attr("data-type")
update_booking(booking_id,type)
@@ -71,7 +73,8 @@ function show_details(url_item){
$("#table").text(data.table_name)
$("#order_at").text(data.checkin_at)
$("#order_by").text(data.checkin_by)
-
+ $("#assign").val(data.id)
+ $("#cancel").val(data.id)
for(var field in item_data) {
if (item_data[field].item_name){
var price = parseFloat(item_data[field].price).toFixed(2);
diff --git a/app/views/crm/home/_queue.html.erb b/app/views/crm/home/_queue.html.erb
index 1633f901..5bbbd2bf 100644
--- a/app/views/crm/home/_queue.html.erb
+++ b/app/views/crm/home/_queue.html.erb
@@ -2,7 +2,7 @@
<% @i = 0 %>
<% @booking.each do |booking| %>
- <% if booking.booking_status == "complete" %>
+ <% if booking.booking_status == "assign" %>
diff --git a/app/views/layouts/application.html.erb b/app/views/layouts/application.html.erb
index 04d23403..44624a43 100644
--- a/app/views/layouts/application.html.erb
+++ b/app/views/layouts/application.html.erb
@@ -10,6 +10,7 @@
<%= csrf_meta_tags %>
<%= stylesheet_link_tag 'application', media: 'all', 'data-turbolinks-track': 'reload' %>
+ <%= stylesheet_link_tag 'settings', media: 'all', 'data-turbolinks-track': 'reload' %>
<%= javascript_include_tag 'application', 'data-turbolinks-track': 'reload' %>
diff --git a/app/views/settings/accounts/index.html.erb b/app/views/settings/accounts/index.html.erb
index b205aa02..d8469a69 100644
--- a/app/views/settings/accounts/index.html.erb
+++ b/app/views/settings/accounts/index.html.erb
@@ -1,7 +1,4 @@
-
-<%= link_to 'New Settings Account', new_settings_account_path %>
-
Menu Category
@@ -28,7 +28,7 @@
<%= @settings_menu_category.name rescue "-" %> |
<%= @settings_menu_category.alt_name %> |
<%= @settings_menu_category.order_by %> |
- <%=l @settings_menu_category.created_at, format: :short %> |
+ <%= @settings_menu_category.created_at.utc.getlocal.strftime("%Y-%m-%d/%I:%M %p") %> |
<%= link_to 'Edit', edit_settings_menu_menu_category_path(@settings_menu_category, @settings_menu_category) %> |
@@ -69,7 +69,9 @@
<%= settings_menu_item.type %> |
<%= settings_menu_item.parent.name rescue "-" %> |
<%= settings_menu_item.created_by %> |
- <%=l settings_menu_item.created_at, :format => :short %> |
+
+ <%= settings_menu_item.created_at.utc.getlocal.strftime("%Y-%m-%d/%I:%M %p") %> |
+
<% if settings_menu_item.type == "SimpleMenuItem" %>
<%= link_to 'Show', settings_menu_category_simple_menu_item_path(@settings_menu_category, settings_menu_item ) %> |
<%= link_to 'Edit', edit_settings_menu_category_simple_menu_item_path(@settings_menu_category, settings_menu_item) %> |
@@ -86,4 +88,4 @@
-
\ No newline at end of file
+
diff --git a/app/views/settings/menu_item_instances/_form.html.erb b/app/views/settings/menu_item_instances/_form.html.erb
index b369a1d3..7d326c95 100644
--- a/app/views/settings/menu_item_instances/_form.html.erb
+++ b/app/views/settings/menu_item_instances/_form.html.erb
@@ -1,11 +1,15 @@
-<%= simple_form_for([:settings,:menu_item, @settings_menu_item_instance]) do |f| %>
+
+<%= simple_form_for([:settings,@item, @settings_menu_item_instances]) do |f| %>
+
<%= f.error_notification %>
<%= f.input :item_instance_code %>
<%= f.input :item_instance_name %>
<%= f.input :price %>
-
+
+ <%= f.input :item_attributes, collection: MenuItemAttribute.collection, input_html: { multiple: true } %>
+
<%= f.input :is_on_promotion %>
<%= f.input :promotion_price %>
diff --git a/app/views/settings/menu_item_instances/edit.html.erb b/app/views/settings/menu_item_instances/edit.html.erb
index 158b7c1c..01a47cc0 100644
--- a/app/views/settings/menu_item_instances/edit.html.erb
+++ b/app/views/settings/menu_item_instances/edit.html.erb
@@ -4,9 +4,13 @@
- <%= render 'form', settings_set_menu_item: @settings_menu_item %>
+ <%= render 'form', settings_menu_item_menu_item_instances: @settings_menu_item_instances %>
+
diff --git a/app/views/settings/menu_item_instances/new.html.erb b/app/views/settings/menu_item_instances/new.html.erb
index 9fae5b34..c6d688ca 100644
--- a/app/views/settings/menu_item_instances/new.html.erb
+++ b/app/views/settings/menu_item_instances/new.html.erb
@@ -1,17 +1,20 @@
-<%= link_to 'Back', settings_menu_items_path %> -->
- <%= render 'form', settings_set_menu_instance: @settings_menu_item_instance %>
+ <%= render 'form', settings_simple_menu_item_menu_item_instances: @settings_menu_item_instances %>
+
diff --git a/app/views/settings/menu_item_instances/show.html.erb b/app/views/settings/menu_item_instances/show.html.erb
index 238fa038..edd34a74 100644
--- a/app/views/settings/menu_item_instances/show.html.erb
+++ b/app/views/settings/menu_item_instances/show.html.erb
@@ -1,9 +1,12 @@
+
+<% if @sub_menu.count > 0 %>
+
@@ -75,7 +82,9 @@
<%= settings_menu_item.type %> |
<%= settings_menu_item.parent.name rescue "-" %> |
<%= settings_menu_item.created_by %> |
- <%=l settings_menu_item.created_at, :format => :short %> |
+
+ <%= settings_menu_item.created_at.utc.getlocal.strftime("%Y-%m-%d/%I:%M %p") %> |
+
<% if settings_menu_item.type == "SimpleMenuItem" %>
<%= link_to 'Show', settings_menu_category_simple_menu_item_path(@category, settings_menu_item ) %> |
@@ -94,19 +103,22 @@
<%= paginate @sub_menu, param_name: :page, :outer_window => 3 %>
+<% end %>
+
Menu Item Instances
- <%= link_to t('.new', :default => t("helpers.links.new")),new_settings_menu_item_menu_item_instance_path(@settings_menu_item),:class => 'btn btn-primary btn-sm' %>
+
+ <%= link_to t('.new', :default => t("helpers.links.new")),new_settings_simple_menu_item_menu_item_instance_path(@settings_menu_item),:class => 'btn btn-primary btn-sm' %>
- | Menu Item Id |
+
item_instance_code |
item_attributes |
price |
@@ -114,6 +126,7 @@
promotion_price |
Created at |
+
|
@@ -121,13 +134,19 @@
<% @menu_item_instance.each do |settings_menu_item| %>
- | <%= settings_menu_item.menu_item_id %> |
+
<%= settings_menu_item.item_instance_code %> |
<%= settings_menu_item.item_attributes %> |
<%= settings_menu_item.price %> |
<%= settings_menu_item.is_on_promotion %> |
<%= settings_menu_item.promotion_price %> |
- <%=l settings_menu_item.created_at, :format => :short %> |
+
+ <%= settings_menu_item.created_at.utc.getlocal.strftime("%Y-%m-%d/%I:%M %p") %> |
+
+ <%= link_to 'Show', settings_simple_menu_item_menu_item_instance_path(@settings_menu_item, settings_menu_item ) %> |
+ <%= link_to 'Edit', edit_settings_simple_menu_item_menu_item_instance_path(@settings_menu_item, settings_menu_item) %> |
+ <%= link_to 'Destroy', settings_simple_menu_item_menu_item_instance_path(@settings_menu_item, settings_menu_item ), method: :delete, data: { confirm: 'Are you sure?' } %> |
+
<% end %>
diff --git a/config/routes.rb b/config/routes.rb
index caa5cc2f..7ba039b0 100644
--- a/config/routes.rb
+++ b/config/routes.rb
@@ -119,12 +119,15 @@ Rails.application.routes.draw do
resources :menu_categories do
#menu_items
- #resources :menu_items
+ # resources :menu_items
resources :simple_menu_items
resources :set_menu_items
end
- resources :menu_items do
+ resources :simple_menu_items do
+ resources :menu_item_instances
+ end
+ resources :set_menu_items do
resources :menu_item_instances
end
#menu_item_attributes