diff --git a/app/controllers/settings/menu_item_instances_controller.rb b/app/controllers/settings/menu_item_instances_controller.rb
new file mode 100644
index 00000000..fecc3cd7
--- /dev/null
+++ b/app/controllers/settings/menu_item_instances_controller.rb
@@ -0,0 +1,79 @@
+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]
+
+ # GET /settings/menu_item_instances
+ # GET /settings/menu_item_instances.json
+ def index
+ @settings_menu_item_instances = MenuItemInstance.all
+ end
+
+ # GET /settings/menu_item_instances/1
+ # GET /settings/menu_item_instances/1.json
+ def show
+ end
+
+ # GET /settings/menu_item_instances/new
+ def new
+ @settings_menu_item_instance = MenuItemInstance.new
+ end
+
+ # GET /settings/menu_item_instances/1/edit
+ def edit
+ 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)
+
+ 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 }
+ else
+ format.html { render :new }
+ format.json { render json: @settings_menu_item_instance.errors, status: :unprocessable_entity }
+ end
+ end
+ end
+
+ # PATCH/PUT /settings/menu_item_instances/1
+ # PATCH/PUT /settings/menu_item_instances/1.json
+ def update
+ 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 }
+ else
+ format.html { render :edit }
+ format.json { render json: @settings_menu_item_instance.errors, status: :unprocessable_entity }
+ end
+ end
+ end
+
+ # DELETE /settings/menu_item_instances/1
+ # DELETE /settings/menu_item_instances/1.json
+ def destroy
+ # @settings_menu_item_instance.destroy
+ respond_to do |format|
+ format.html { redirect_to settings_menu_item_instances_path, notice: 'Menu item instance was successfully destroyed.' }
+ format.json { head :no_content }
+ end
+ end
+
+ 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])
+ end
+
+ def set_settings_menu_item
+ @item = MenuItem.find(params[:menu_item_id])
+ 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(:name, :value)
+ end
+end
diff --git a/app/controllers/settings/simple_menu_items_controller.rb b/app/controllers/settings/simple_menu_items_controller.rb
index 2a391d8f..d2083e59 100644
--- a/app/controllers/settings/simple_menu_items_controller.rb
+++ b/app/controllers/settings/simple_menu_items_controller.rb
@@ -11,6 +11,7 @@ class Settings::SimpleMenuItemsController < 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/views/settings/menu_item_instances/_form.html.erb b/app/views/settings/menu_item_instances/_form.html.erb
new file mode 100644
index 00000000..b369a1d3
--- /dev/null
+++ b/app/views/settings/menu_item_instances/_form.html.erb
@@ -0,0 +1,18 @@
+<%= simple_form_for([:settings,:menu_item, @settings_menu_item_instance]) do |f| %>
+ <%= f.error_notification %>
+
+
+ <%= f.input :item_instance_code %>
+ <%= f.input :item_instance_name %>
+ <%= f.input :price %>
+
+
+ <%= f.input :is_on_promotion %>
+ <%= f.input :promotion_price %>
+ <%= f.input :is_available %>
+
+
+
+ <%= f.button :submit %>
+
+<% end %>
diff --git a/app/views/settings/menu_item_instances/_settings_menu_item.json.jbuilder b/app/views/settings/menu_item_instances/_settings_menu_item.json.jbuilder
new file mode 100644
index 00000000..781e4a34
--- /dev/null
+++ b/app/views/settings/menu_item_instances/_settings_menu_item.json.jbuilder
@@ -0,0 +1,2 @@
+json.extract! settings_menu_item, :id, :item_code, :name, :alt_name, :type, :menu_category_id, :menu_item_id, :min_qty, :min_selectable_item, :max_selectable_item, :created_by, :created_at, :updated_at
+json.url settings_menu_item_url(settings_menu_item, format: :json)
diff --git a/app/views/settings/menu_item_instances/edit.html.erb b/app/views/settings/menu_item_instances/edit.html.erb
new file mode 100644
index 00000000..158b7c1c
--- /dev/null
+++ b/app/views/settings/menu_item_instances/edit.html.erb
@@ -0,0 +1,12 @@
+
+
+
+
+ <%= render 'form', settings_set_menu_item: @settings_menu_item %>
+
diff --git a/app/views/settings/menu_item_instances/index.html.erb b/app/views/settings/menu_item_instances/index.html.erb
new file mode 100644
index 00000000..bfe6a99f
--- /dev/null
+++ b/app/views/settings/menu_item_instances/index.html.erb
@@ -0,0 +1,93 @@
+
+
+
+
Menu Category
+
+
+
+ | Menu |
+ Name |
+ Alt name |
+ Order by |
+ Parent |
+ |
+
+
+
+
+
+ | <%= @category.menu.name %> |
+ <%= @category.name %> |
+ <%= @category.alt_name %> |
+ <%= @category.order_by %> |
+ <%= @category.parent.name rescue "-" %> |
+ <%= link_to 'Edit', edit_settings_menu_category_path(@category) %> |
+
+
+
+
+
+
+
+
+
Menu Items
+
+ <%= link_to "New Simple Menu Item",new_settings_menu_category_simple_menu_item_path(@category),:class => 'btn btn-primary btn-sm' %>
+ <%= link_to "New Set Menu Item",new_settings_menu_category_set_menu_item_path(@category),:class => 'btn btn-primary btn-sm' %>
+
+
+
+
+
+
+ | Item code |
+ Name |
+ Alt name |
+ Type |
+ Parent Item |
+ Created by |
+ Created at |
+
+ |
+
+
+
+
+ <% @settings_menu_items.each do |settings_menu_item| %>
+
+ | <%= settings_menu_item.item_code %> |
+ <%= settings_menu_item.name %> |
+ <%= settings_menu_item.alt_name %> |
+ <%= settings_menu_item.type %> |
+ <%= settings_menu_item.parent.name rescue "-" %> |
+ <%= settings_menu_item.created_by %> |
+ <%=l settings_menu_item.created_at, :format => :short %> |
+
+ <% if settings_menu_item.type == "SimpleMenuItem" %>
+ <%= link_to 'Show', settings_menu_category_simple_menu_item_path(@category, settings_menu_item ) %> |
+ <%= link_to 'Edit', edit_settings_menu_category_simple_menu_item_path(@category, settings_menu_item) %> |
+ <%= link_to 'Destroy', settings_menu_category_simple_menu_item_path(@category, settings_menu_item ), method: :delete, data: { confirm: 'Are you sure?' } %> |
+ <% else %>
+ <%= link_to 'Show', settings_menu_category_set_menu_item_path(@category, settings_menu_item ) %> |
+ <%= link_to 'Edit', edit_settings_menu_category_set_menu_item_path(@category, settings_menu_item) %> |
+ <%= link_to 'Destroy', settings_menu_category_set_menu_item_path(@category, settings_menu_item ), method: :delete, data: { confirm: 'Are you sure?' } %> |
+ <% end %>
+
+ <% end %>
+
+
+
+
+
+
+ <%= paginate @settings_menu_items, param_name: :page, :outer_window => 3 %>
diff --git a/app/views/settings/menu_item_instances/index.json.jbuilder b/app/views/settings/menu_item_instances/index.json.jbuilder
new file mode 100644
index 00000000..9b0a47fa
--- /dev/null
+++ b/app/views/settings/menu_item_instances/index.json.jbuilder
@@ -0,0 +1 @@
+json.array! @settings_menu_items, partial: 'settings_menu_items/settings_menu_item', as: :settings_menu_item
diff --git a/app/views/settings/menu_item_instances/new.html.erb b/app/views/settings/menu_item_instances/new.html.erb
new file mode 100644
index 00000000..9fae5b34
--- /dev/null
+++ b/app/views/settings/menu_item_instances/new.html.erb
@@ -0,0 +1,17 @@
+
+
+
+
+
+ <%= render 'form', settings_set_menu_instance: @settings_menu_item_instance %>
+
diff --git a/app/views/settings/menu_item_instances/show.html.erb b/app/views/settings/menu_item_instances/show.html.erb
new file mode 100644
index 00000000..238fa038
--- /dev/null
+++ b/app/views/settings/menu_item_instances/show.html.erb
@@ -0,0 +1,96 @@
+
+
+
+
+
+
Menu Item
+
+
+
+ | Item code |
+ Name |
+ Alt name |
+ Type |
+ Menu category |
+ Menu item |
+ Min qty |
+ Min selectable item |
+ Max selectable item |
+ Created At |
+ Action |
+
+
+
+
+
+ | <%= @settings_menu_item.item_code %> |
+ <%= @settings_menu_item.name rescue "-" %> |
+ <%= @settings_menu_item.alt_name %> |
+ <%= @settings_menu_item.type %> |
+ <%= @settings_menu_item.menu_category_id %> |
+ <%= @settings_menu_item.menu_item_id %> |
+ <%= @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 %> |
+ <%= link_to 'Edit', edit_settings_menu_category_set_menu_item_path(@category, @settings_menu_item) %> |
+
+
+
+
+
+
+
+
+
Sub Menu Items
+
+
+
+ | Item code |
+ Name |
+ Alt name |
+ Type |
+ Parent Item |
+ Created by |
+ Created at |
+
+ |
+
+
+
+
+ <% @sub_menu.each do |settings_menu_item| %>
+
+ | <%= settings_menu_item.item_code %> |
+ <%= settings_menu_item.name %> |
+ <%= settings_menu_item.alt_name %> |
+ <%= settings_menu_item.type %> |
+ <%= settings_menu_item.parent.name rescue "-" %> |
+ <%= settings_menu_item.created_by %> |
+ <%=l settings_menu_item.created_at, :format => :short %> |
+
+ <% if settings_menu_item.type == "SimpleMenuItem" %>
+ <%= link_to 'Show', settings_menu_category_simple_menu_item_path(@category, settings_menu_item ) %> |
+ <%= link_to 'Edit', edit_settings_menu_category_simple_menu_item_path(@category, settings_menu_item) %> |
+ <%= link_to 'Destroy', settings_menu_category_simple_menu_item_path(@category, settings_menu_item ), method: :delete, data: { confirm: 'Are you sure?' } %> |
+ <% else %>
+ <%= link_to 'Show', settings_menu_category_set_menu_item_path(@category, settings_menu_item ) %> |
+ <%= link_to 'Edit', edit_settings_menu_category_set_menu_item_path(@category, settings_menu_item) %> |
+ <%= link_to 'Destroy', settings_menu_category_set_menu_item_path(@category, settings_menu_item ), method: :delete, data: { confirm: 'Are you sure?' } %> |
+ <% end %>
+
+ <% end %>
+
+
+
+
+ <%= paginate @sub_menu, param_name: :page, :outer_window => 3 %>
+
diff --git a/app/views/settings/menu_item_instances/show.json.jbuilder b/app/views/settings/menu_item_instances/show.json.jbuilder
new file mode 100644
index 00000000..4a11737c
--- /dev/null
+++ b/app/views/settings/menu_item_instances/show.json.jbuilder
@@ -0,0 +1 @@
+json.partial! "settings_menu_items/settings_menu_item", settings_menu_item: @settings_menu_item
diff --git a/app/views/settings/processing_items/_form.html.erb b/app/views/settings/processing_items/_form.html.erb
index 2038b0ea..60e493d8 100644
--- a/app/views/settings/processing_items/_form.html.erb
+++ b/app/views/settings/processing_items/_form.html.erb
@@ -29,7 +29,9 @@
<% end %>
+
<%= f.button :submit, label: "Add Menu Items to Queue Station" %>
+
<% end %>
diff --git a/app/views/settings/simple_menu_items/show.html.erb b/app/views/settings/simple_menu_items/show.html.erb
index 97e12695..7f68c9aa 100644
--- a/app/views/settings/simple_menu_items/show.html.erb
+++ b/app/views/settings/simple_menu_items/show.html.erb
@@ -93,4 +93,45 @@
<%= paginate @sub_menu, param_name: :page, :outer_window => 3 %>
+
+
+
+
+
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' %>
+
+
+
+
+
+
+ | Menu Item Id |
+ item_instance_code |
+ item_attributes |
+ price |
+ is_on_promotion |
+ promotion_price |
+ Created at |
+
+ |
+
+
+
+
+ <% @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 %> |
+
+ <% end %>
+
+
+
+