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..7ef6cc18 100644
--- a/app/controllers/settings/set_menu_items_controller.rb
+++ b/app/controllers/settings/set_menu_items_controller.rb
@@ -11,6 +11,7 @@ class Settings::SetMenuItemsController < ApplicationController
# 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..08186297 100644
--- a/app/controllers/settings/simple_menu_items_controller.rb
+++ b/app/controllers/settings/simple_menu_items_controller.rb
@@ -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/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/views/settings/menu_categories/show.html.erb b/app/views/settings/menu_categories/show.html.erb
index dcd7b45d..21f2ba37 100644
--- a/app/views/settings/menu_categories/show.html.erb
+++ b/app/views/settings/menu_categories/show.html.erb
@@ -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,7 @@
<%= 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) %> |
@@ -85,5 +85,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..759aec65 100644
--- a/app/views/settings/menu_item_instances/_form.html.erb
+++ b/app/views/settings/menu_item_instances/_form.html.erb
@@ -1,11 +1,11 @@
-<%= 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..887806cb 100644
--- a/app/views/settings/menu_item_instances/edit.html.erb
+++ b/app/views/settings/menu_item_instances/edit.html.erb
@@ -4,9 +4,11 @@
- <%= 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..b4de46cf 100644
--- a/app/views/settings/menu_item_instances/new.html.erb
+++ b/app/views/settings/menu_item_instances/new.html.erb
@@ -1,17 +1,16 @@
+<%= render 'form', settings_menu_item: @settings_menu_item %>-->
- <%= 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..4474d567 100644
--- a/app/views/settings/menu_item_instances/show.html.erb
+++ b/app/views/settings/menu_item_instances/show.html.erb
@@ -1,9 +1,10 @@
diff --git a/app/views/settings/menus/show.html.erb b/app/views/settings/menus/show.html.erb
index 28efe8af..b318be63 100644
--- a/app/views/settings/menus/show.html.erb
+++ b/app/views/settings/menus/show.html.erb
@@ -32,7 +32,7 @@
<%= @settings_menu.valid_time_from.strftime("%H:%M") rescue "-" %> |
<%= @settings_menu.valid_time_to.strftime("%H:%M") rescue "-" %> |
<%= @settings_menu.created_by %> |
- <%=l @settings_menu.created_at, format: :short %> |
+ <%= @settings_menu.created_at.utc.getlocal.strftime("%Y-%m-%d/%I:%M %p") %> |
<%= link_to 'Edit', edit_settings_menu_path(@settings_menu) %> |
diff --git a/app/views/settings/set_menu_items/index.html.erb b/app/views/settings/set_menu_items/index.html.erb
index bfe6a99f..8d529a43 100644
--- a/app/views/settings/set_menu_items/index.html.erb
+++ b/app/views/settings/set_menu_items/index.html.erb
@@ -71,7 +71,7 @@
<%= 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 ) %> |
diff --git a/app/views/settings/set_menu_items/new.html.erb b/app/views/settings/set_menu_items/new.html.erb
index 6c7b6e76..c7d277bf 100644
--- a/app/views/settings/set_menu_items/new.html.erb
+++ b/app/views/settings/set_menu_items/new.html.erb
@@ -1,8 +1,6 @@
+<%= render 'form', settings_menu_item: @settings_menu_item %> -->
diff --git a/app/views/settings/set_menu_items/show.html.erb b/app/views/settings/set_menu_items/show.html.erb
index 238fa038..2365c310 100644
--- a/app/views/settings/set_menu_items/show.html.erb
+++ b/app/views/settings/set_menu_items/show.html.erb
@@ -40,13 +40,14 @@
<%= @settings_menu_item.min_qty %> |
<%= @settings_menu_item.min_selectable_item %> |
<%= @settings_menu_item.max_selectable_item %> |
- <%=l @settings_menu_item.created_at, format: :short %> |
+ <%= @settings_menu_item.created_at.utc.getlocal.strftime("%Y-%m-%d/%I:%M %p") %> |
<%= link_to 'Edit', edit_settings_menu_category_set_menu_item_path(@category, @settings_menu_item) %> |
+<% if @sub_menu.count > 0 %>
@@ -75,7 +76,7 @@
<%= 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 ) %> |
@@ -93,4 +94,48 @@
<%= paginate @sub_menu, param_name: :page, :outer_window => 3 %>
+<% end %>
+
+
+
+
Menu Item Instances
+
+ <%= link_to t('.new', :default => t("helpers.links.new")),new_settings_set_menu_item_menu_item_instance_path(@settings_menu_item),:class => 'btn btn-primary btn-sm' %>
+
+
+
+
+
+
+
+ | item_instance_code |
+ item_attributes |
+ price |
+ is_on_promotion |
+ promotion_price |
+ Created at |
+
+ |
+
+
+
+
+ <% @menu_item_instance.each do |settings_menu_item| %>
+
+
+ | <%= 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 %> |
+ <%= settings_menu_item.created_at.utc.getlocal.strftime("%Y-%m-%d/%I:%M %p") %> |
+ <%= link_to 'Show', settings_set_menu_item_menu_item_instance_path(@settings_menu_item, settings_menu_item ) %> |
+ <%= link_to 'Edit', edit_settings_set_menu_item_menu_item_instance_path(@settings_menu_item, settings_menu_item) %> |
+ <%= link_to 'Destroy', settings_set_menu_item_menu_item_instance_path(@settings_menu_item, settings_menu_item ), method: :delete, data: { confirm: 'Are you sure?' } %> |
+
+ <% end %>
+
+
+
+
diff --git a/app/views/settings/simple_menu_items/index.html.erb b/app/views/settings/simple_menu_items/index.html.erb
index 4a9efb75..b82af610 100644
--- a/app/views/settings/simple_menu_items/index.html.erb
+++ b/app/views/settings/simple_menu_items/index.html.erb
@@ -70,7 +70,7 @@
<%= 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 ) %> |
diff --git a/app/views/settings/simple_menu_items/new.html.erb b/app/views/settings/simple_menu_items/new.html.erb
index 2f3cb6a4..5781850d 100644
--- a/app/views/settings/simple_menu_items/new.html.erb
+++ b/app/views/settings/simple_menu_items/new.html.erb
@@ -1,8 +1,6 @@
+<%= render 'form', settings_menu_item: @settings_menu_item %>-->
diff --git a/app/views/settings/simple_menu_items/show.html.erb b/app/views/settings/simple_menu_items/show.html.erb
index 7f68c9aa..6e93d3cc 100644
--- a/app/views/settings/simple_menu_items/show.html.erb
+++ b/app/views/settings/simple_menu_items/show.html.erb
@@ -3,7 +3,7 @@
@@ -40,13 +40,14 @@
<%= @settings_menu_item.min_qty %> |
<%= @settings_menu_item.min_selectable_item %> |
<%= @settings_menu_item.max_selectable_item %> |
-
<%=l @settings_menu_item.created_at, format: :short %> |
+
<%= @settings_menu_item.created_at.utc.getlocal.strftime("%Y-%m-%d/%I:%M %p") %> |
<%= link_to 'Edit', edit_settings_menu_category_simple_menu_item_path(@category, @settings_menu_item) %> |
+<% if @sub_menu.count > 0 %>
@@ -75,7 +76,7 @@
<%= 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 ) %> |
@@ -93,20 +94,20 @@
<%= 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 |
@@ -121,13 +122,17 @@
<% @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