From c4e76c53b2645697a4a03b18998bcc56d01b2b01 Mon Sep 17 00:00:00 2001 From: Min Zeya Phyo Date: Wed, 19 Apr 2017 18:37:07 +0630 Subject: [PATCH] emenu api integrated --- app/controllers/api/bill_controller.rb | 4 +-- app/controllers/api/orders_controller.rb | 12 +++---- app/controllers/application_controller.rb | 7 +++- app/controllers/home_controller.rb | 34 +++++++++++++++++++ .../settings/menu_categories_controller.rb | 9 ++++- .../settings/tax_profiles_controller.rb | 5 +-- app/models/employee.rb | 2 +- app/models/menu_category.rb | 4 +-- app/models/order.rb | 20 ++++++----- app/models/sale.rb | 12 ++++--- app/models/tax_profile.rb | 2 ++ app/views/api/orders/create.json.jbuilder | 1 + app/views/home/index.html.erb | 27 +++++++++++++-- app/views/layouts/application.html.erb | 6 ++++ .../settings/menu_categories/_form.html.erb | 2 ++ .../settings/menu_categories/edit.html.erb | 16 +++++---- app/views/settings/menus/show.html.erb | 4 +-- .../settings/tax_profiles/index.html.erb | 2 +- config/routes.rb | 13 +++++-- .../20170327152733_create_menu_categories.rb | 2 ++ db/migrate/20170403155230_create_employees.rb | 1 + db/migrate/20170403160742_create_sales.rb | 2 +- db/seeds.rb | 26 ++++++++------ 23 files changed, 158 insertions(+), 55 deletions(-) diff --git a/app/controllers/api/bill_controller.rb b/app/controllers/api/bill_controller.rb index 41f6badd..d4940907 100644 --- a/app/controllers/api/bill_controller.rb +++ b/app/controllers/api/bill_controller.rb @@ -9,11 +9,11 @@ class Api::BillController < Api::ApiController #create Bill by Booking ID if (params[:booking_id]) @sale = Sale.new - @sale.generate_invoice_from_booking(params[:booking_id], current_login_employee.name) + @status = @sale.generate_invoice_from_booking(params[:booking_id], current_login_employee.name) elsif (params[:order_id]) @sale = Sale.new - @sale.generate_invoice_from_order(params[:order_id], current_login_employee.name) + @status = @sale.generate_invoice_from_order(params[:order_id], current_login_employee.name) end end diff --git a/app/controllers/api/orders_controller.rb b/app/controllers/api/orders_controller.rb index a061a442..d0fe2a77 100644 --- a/app/controllers/api/orders_controller.rb +++ b/app/controllers/api/orders_controller.rb @@ -1,5 +1,4 @@ -class Api::OrdersController < ActionController::API - #before :authenticate_token +class Api::OrdersController < Api::ApiController #Description # This API show current order details @@ -19,8 +18,8 @@ class Api::OrdersController < ActionController::API # Output Params # Status [Success | Error | System Error] , order_id, error_message (*) def create - Rails.logger.debug "Order Source - " + params[:order_source] - Rails.logger.debug "Table ID - " + params[:table_id] + Rails.logger.debug "Order Source - " + params[:order_source].to_s + Rails.logger.debug "Table ID - " + params[:table_id].to_s # begin @order = Order.new @@ -31,16 +30,17 @@ class Api::OrdersController < ActionController::API @order.guest = params[:guest_info] @order.table_id = params[:table_id] @order.new_booking = true + #@order.employee_name = "Emenu" @order.employee_name = current_login_employee.name #Create Table Booking or Room Booking - if !params["booking_id"].nil? + if !params["booking_id"].nil? && params[:booking_id].to_i > 0 @order.new_booking = false @order.booking_id = params[:booking_id] end - @status = @order.generate + @status, @booking = @order.generate # rescue Exception => error # @status = false diff --git a/app/controllers/application_controller.rb b/app/controllers/application_controller.rb index cfdf857a..bfde77c9 100644 --- a/app/controllers/application_controller.rb +++ b/app/controllers/application_controller.rb @@ -1,8 +1,9 @@ class ApplicationController < ActionController::Base + include LoginVerification #before_action :check_installation protect_from_forgery with: :exception - helper_method :current_company + helper_method :current_company,:current_login_employee #this is base api base controller to need to inherit. #all token authentication must be done here @@ -16,6 +17,10 @@ class ApplicationController < ActionController::Base end + def current_login_employee + @employee = Employee.find_by_token_session(session[:session_token]) + end + private def check_installation if current_company.nil? diff --git a/app/controllers/home_controller.rb b/app/controllers/home_controller.rb index a0387d28..33fa5cd7 100644 --- a/app/controllers/home_controller.rb +++ b/app/controllers/home_controller.rb @@ -1,10 +1,44 @@ class HomeController < ApplicationController + skip_before_action :authenticate, only: [:index, :create, :destroy] + def index + @login_form = LoginForm.new() end def create + @login_form = LoginForm.new() + @login_form.emp_id = params[:login_form][:emp_id] + @login_form.password = params[:login_form][:password] + @employee = Employee.login(@login_form.emp_id, @login_form.password) + if @employee + session[:session_token] = @employee.token_session + redirect_to dashboard_path + else + render :index + end + + end + + def dashboard + # if @employee && @employee.role == "cashier" + # + # elsif @employee && @employee.role == "waiter" + # elsif @employee && @employee.role == "administrator" + # elsif @employee && @employee.role == "manager" + # elsif @employee && @employee.role == "supervisour" + # redirect_to dashboard_path + # end end def destroy + session[:session_token] = nil + redirect_to root_path + + end + + private + # Never trust parameters from the scary internet, only allow the white list through. + def settings_home_params + params.require(:login_form).permit(:emp_id, :password) end end diff --git a/app/controllers/settings/menu_categories_controller.rb b/app/controllers/settings/menu_categories_controller.rb index 10918bc4..f76c86ed 100644 --- a/app/controllers/settings/menu_categories_controller.rb +++ b/app/controllers/settings/menu_categories_controller.rb @@ -27,12 +27,19 @@ class Settings::MenuCategoriesController < ApplicationController # POST /settings/menu_categories.json def create @settings_menu_category = MenuCategory.new(settings_menu_category_params) + @settings_menu_category.created_by = current_login_employee.name + #@settings_menu_category.menu = @settings_menu respond_to do |format| if @settings_menu_category.save format.html { redirect_to @settings_menu_category, notice: 'Menu category was successfully created.' } format.json { render :show, status: :created, location: @settings_menu_category } else + if (@settings_menu_category.errors) + @settings_menu_category.errors.each do |error| + Rails.logger.debug error + end + end format.html { render :new } format.json { render json: @settings_menu_category.errors, status: :unprocessable_entity } end @@ -74,6 +81,6 @@ class Settings::MenuCategoriesController < ApplicationController # Never trust parameters from the scary internet, only allow the white list through. def settings_menu_category_params - params.require(:settings_menu_category).permit(:menu_id, :name, :alt_name, :order_by, :menu_category_id) + params.require(:menu_category).permit(:code, :menu_id, :name, :alt_name, :order_by, :menu_category_id) end end diff --git a/app/controllers/settings/tax_profiles_controller.rb b/app/controllers/settings/tax_profiles_controller.rb index 6fe6d1c5..1064055b 100644 --- a/app/controllers/settings/tax_profiles_controller.rb +++ b/app/controllers/settings/tax_profiles_controller.rb @@ -25,10 +25,11 @@ class Settings::TaxProfilesController < ApplicationController # POST /settings/tax_profiles.json def create @settings_tax_profile = TaxProfile.new(settings_tax_profile_params) + @settings_tax_profile.created_by = current_login_employee.name respond_to do |format| if @settings_tax_profile.save - format.html { redirect_to @settings_tax_profile, notice: 'Tax profile was successfully created.' } + format.html { redirect_to settings_tax_profiles_path, notice: 'Tax profile was successfully created.' } format.json { render :show, status: :created, location: @settings_tax_profile } else format.html { render :new } @@ -42,7 +43,7 @@ class Settings::TaxProfilesController < ApplicationController def update respond_to do |format| if @settings_tax_profile.update(settings_tax_profile_params) - format.html { redirect_to @settings_tax_profile, notice: 'Tax profile was successfully updated.' } + format.html { redirect_to settings_tax_profiles_path, notice: 'Tax profile was successfully updated.' } format.json { render :show, status: :ok, location: @settings_tax_profile } else format.html { render :edit } diff --git a/app/models/employee.rb b/app/models/employee.rb index 8f9dcf14..1f3cace0 100644 --- a/app/models/employee.rb +++ b/app/models/employee.rb @@ -32,7 +32,7 @@ class Employee < ApplicationRecord user = Employee.find_by_token_session(session_token) if user && user.session_expiry.utc > DateTime.now.utc #Extend the login time each time authenticatation take place - user.session_expiry = DateTime.now.utc + 30.minutes + user.session_expiry = user.session_expiry.utc + 30.minutes user.save return true else diff --git a/app/models/menu_category.rb b/app/models/menu_category.rb index 664cf6cc..474990f2 100644 --- a/app/models/menu_category.rb +++ b/app/models/menu_category.rb @@ -4,9 +4,9 @@ class MenuCategory < ApplicationRecord belongs_to :parent, :class_name => "MenuCategory", foreign_key: "menu_category_id", optional: true has_many :menu_items - validates_presence_of :name + validates_presence_of :name, :menu, :code, :order_by default_scope { order('order_by asc') } - + end diff --git a/app/models/order.rb b/app/models/order.rb index 3589d5d9..c1b0583a 100644 --- a/app/models/order.rb +++ b/app/models/order.rb @@ -6,7 +6,7 @@ class Order < ApplicationRecord has_many :assigned_order_items #internal references attributes for business logic control - attr_accessor :items, :guest, :table_id, :new_booking, :booking_type, :employee_name + attr_accessor :items, :guest, :table_id, :new_booking, :booking_type, :employee_name, :booking_id #Main Controller method to create new order - validate all inputs and generate new order @@ -25,7 +25,9 @@ class Order < ApplicationRecord :checkin_at => Time.now.utc, :checkin_by => self.employee_name, :booking_status => "new" }) else - booking = Booking.find(self.booking_id) + if (self.booking_id.to_i > 0 ) + booking = Booking.find(self.booking_id) + end end @@ -41,7 +43,7 @@ class Order < ApplicationRecord #Send order to queue one it done! process_order_queue - return true + return true, booking end @@ -59,8 +61,8 @@ class Order < ApplicationRecord if self.items #loop to add all items to order self.items.each do |item| - menu_item = MenuItem.search_by_item_code(item[:item_code]) - + menu_item = MenuItem.search_by_item_code(item[:item_instance_code]) + Rails.logger.debug menu_item set_order_items = nil ##If menu Item set item - must add child items to order as well, where price is only take from menu_item if (menu_item[:type] == "SetMenuItem") @@ -69,8 +71,8 @@ class Order < ApplicationRecord if (menu_item) - OrderItem.processs_item(menu_item[:item_instance_code], menu_item[:name], - item[:qty],item[:price], item[:options], set_order_items, self.id, + OrderItem.processs_item(menu_item[:item_code], menu_item[:name], + item[:quantity],menu_item[:price], item[:options], set_order_items, self.id, self.employee_name) end end @@ -87,9 +89,9 @@ class Order < ApplicationRecord end def update_items_status_to_billed(items) - if (items) + if (items.nil?) ##Update the order status to ensure that reflect the stage - order.order_items.each do |item| + self.order_items.each do |item| item.order_item_status = "billed" item.save end diff --git a/app/models/sale.rb b/app/models/sale.rb index 43349cbb..37819c9b 100644 --- a/app/models/sale.rb +++ b/app/models/sale.rb @@ -31,7 +31,7 @@ class Sale < ApplicationRecord end end - def generate_invoice_from_order (order_no, sale_id, requested_by) + def generate_invoice_from_order (order_id, sale_id, requested_by) taxable = true #if sale_id is exsit and validate #add order to that invoice @@ -45,32 +45,34 @@ class Sale < ApplicationRecord else #if this is new sale generate_receipt_no generate_receipt_no + order = Order.find(order_id) + #Default - Values self.tax_type = "execlusive" self.requested_by = requested_by self.requested_at = DateTime.now.utc - self.customer_id = order.customer_id - order = Order.find(order_no) Rails.logger.debug "Order -> #{order.id} | order_status -> #{order.status}" if order + self.customer_id = order.customer_id Rails.logger.debug "Order -> #{order.id} | Items Count -> #{order.order_items.count}" order.order_items.each do |item| add_item(item) end + link_order_sale(order.id) + end - link_order_sale(order.id) self.save! #compute summary compute #Update the order items that is billed - order.update_items_status_to_billed + order.update_items_status_to_billed(nil) return true, self.id end diff --git a/app/models/tax_profile.rb b/app/models/tax_profile.rb index c7769034..6e14b2f8 100644 --- a/app/models/tax_profile.rb +++ b/app/models/tax_profile.rb @@ -1,2 +1,4 @@ class TaxProfile < ApplicationRecord + default_scope { order('order_by asc') } + end diff --git a/app/views/api/orders/create.json.jbuilder b/app/views/api/orders/create.json.jbuilder index 1c89b2f2..175e6e94 100644 --- a/app/views/api/orders/create.json.jbuilder +++ b/app/views/api/orders/create.json.jbuilder @@ -1,6 +1,7 @@ if @status == true json.status :success json.id @order.id + json.booking_id @booking.id json.order_items do json.array! @order.order_items, :item_code, :item_name, :qty, :options, :remark end diff --git a/app/views/home/index.html.erb b/app/views/home/index.html.erb index 2085730c..ce88a421 100644 --- a/app/views/home/index.html.erb +++ b/app/views/home/index.html.erb @@ -1,2 +1,25 @@ -

Home#index

-

Find me in app/views/home/index.html.erb

+ +
+
+ <%= simple_form_for(@login_form, url: login_path, method: "POST") do |f| %> +
+

Login

+
+
+ <%= f.input :emp_id, required: false, autofocus: true, class: "form-control" %> +
+
+ <%= f.input :password, required: false, class: "form-control" %> +
+ +
+ + +
+ + <% end %> +
+
diff --git a/app/views/layouts/application.html.erb b/app/views/layouts/application.html.erb index 816dea67..c6cc4d99 100644 --- a/app/views/layouts/application.html.erb +++ b/app/views/layouts/application.html.erb @@ -16,6 +16,12 @@ <%= render 'layouts/header' %>
+ <% flash.each do |type, message| %> +
+ + <%= message %> +
+ <% end %> <%= yield %>
diff --git a/app/views/settings/menu_categories/_form.html.erb b/app/views/settings/menu_categories/_form.html.erb index 70105ce6..8ed4e3ba 100644 --- a/app/views/settings/menu_categories/_form.html.erb +++ b/app/views/settings/menu_categories/_form.html.erb @@ -2,6 +2,8 @@ <%= f.error_notification %>
+ <%= f.input :menu_id, as: :hidden %> + <%= f.input :code, label: "Category Code" %> <%= f.input :name %> <%= f.input :alt_name %> <%= f.input :order_by %> diff --git a/app/views/settings/menu_categories/edit.html.erb b/app/views/settings/menu_categories/edit.html.erb index 7b56dea3..0b31a2b2 100644 --- a/app/views/settings/menu_categories/edit.html.erb +++ b/app/views/settings/menu_categories/edit.html.erb @@ -1,6 +1,10 @@ -

Editing Settings Menu Category

- -<%= render 'form', settings_menu_category: @settings_menu_category %> - -<%= link_to 'Show', @settings_menu_category %> | -<%= link_to 'Back', settings_menu_categories_path %> +
+ + <%= render 'form', settings_menu_category: @settings_menu_category %> +
diff --git a/app/views/settings/menus/show.html.erb b/app/views/settings/menus/show.html.erb index cc1716f6..4e126323 100644 --- a/app/views/settings/menus/show.html.erb +++ b/app/views/settings/menus/show.html.erb @@ -66,10 +66,10 @@ <%= category.name %> <%= category.children.count rescue "-" %> - <%= category.menu_items.count rescue "-" %> + <%= link_to category.menu_items.count, settings_menu_category_menu_items_path(category) %> <%= category.order_by %> <%=l category.created_at, format: :short %> - <%= link_to 'Edit', edit_settings_menu_path(@settings_menu) %> + <%= link_to 'Edit', edit_settings_menu_menu_category_path(@settings_menu, category) %> <% end %> diff --git a/app/views/settings/tax_profiles/index.html.erb b/app/views/settings/tax_profiles/index.html.erb index 1e572772..d45b9987 100644 --- a/app/views/settings/tax_profiles/index.html.erb +++ b/app/views/settings/tax_profiles/index.html.erb @@ -34,7 +34,7 @@ <%= settings_tax_profile.order_by %> <%= settings_tax_profile.created_by %> <%= link_to 'Edit', edit_settings_tax_profile_path(settings_tax_profile) %> - <%= link_to 'Destroy', settings_tax_profile_path(:settings,settings_tax_profile ), method: :delete, data: { confirm: 'Are you sure?' } %> + <%= link_to 'Destroy', settings_tax_profile_path(settings_tax_profile ), method: :delete, data: { confirm: 'Are you sure?' } %> <% end %> diff --git a/config/routes.rb b/config/routes.rb index 15b693e8..d7792b62 100644 --- a/config/routes.rb +++ b/config/routes.rb @@ -12,6 +12,7 @@ Rails.application.routes.draw do #--------- Login/Authentication ------------# post 'login' => 'home#create' delete 'logout' => 'home#destroy' + get 'dashboard' => 'home#dashboard' #--------- API Routes ------------# @@ -31,7 +32,7 @@ Rails.application.routes.draw do end #User request move table or bills - post "bill" => "bill#create" + post "bill/:booking_id" => "bill#create" post "move" => "move#create" #Order Controller @@ -39,7 +40,7 @@ Rails.application.routes.draw do post "bill" => "bill#create" end #Current active bookings - resources :bookings, only: [:index, :create, :update] + resources :bookings, only: [:index, :show, :create, :update] resources :customers, only: [:index, :show, :create, :update] #Generating Invoice and making payments - output render @sale @@ -91,12 +92,18 @@ Rails.application.routes.draw do #menu resources :menus do #menu_categories - resources :menu_categories, only: [:new, :create] + resources :menu_categories, only: [:new, :create, :edit] end resources :menu_categories do #menu_items + resources :menu_items end + + resources :menu_items do + resources :menu_item_instances + end + #payment_settings #tax_profiles resources :tax_profiles diff --git a/db/migrate/20170327152733_create_menu_categories.rb b/db/migrate/20170327152733_create_menu_categories.rb index 4d962a48..9315e61e 100644 --- a/db/migrate/20170327152733_create_menu_categories.rb +++ b/db/migrate/20170327152733_create_menu_categories.rb @@ -2,9 +2,11 @@ class CreateMenuCategories < ActiveRecord::Migration[5.0] def change create_table :menu_categories do |t| t.references :menu, foreign_key: true + t.string :code, :null => false t.string :name, :null => false t.string :alt_name t.integer :order_by + t.string :created_by, :null => false t.references :menu_category, :null => true t.timestamps diff --git a/db/migrate/20170403155230_create_employees.rb b/db/migrate/20170403155230_create_employees.rb index 59a15930..a283ec95 100644 --- a/db/migrate/20170403155230_create_employees.rb +++ b/db/migrate/20170403155230_create_employees.rb @@ -8,6 +8,7 @@ class CreateEmployees < ActiveRecord::Migration[5.0] t.string :token_session t.datetime :session_expiry t.datetime :session_last_login + t.string :created_by t.timestamps end end diff --git a/db/migrate/20170403160742_create_sales.rb b/db/migrate/20170403160742_create_sales.rb index 02db3361..4780a788 100644 --- a/db/migrate/20170403160742_create_sales.rb +++ b/db/migrate/20170403160742_create_sales.rb @@ -14,7 +14,7 @@ class CreateSales < ActiveRecord::Migration[5.0] t.decimal :total_discount, :precision => 10, :scale => 2, :null => false, :default => 0.00 t.decimal :total_tax, :precision => 10, :scale => 2, :null => false, :default => 0.00 t.string :tax_type, :null => false , :dfault => "exclusive_tax" - t.decimal :grant_total, :precision => 10, :scale => 2, :null => false, :default => 0.00 + t.decimal :grand_total, :precision => 10, :scale => 2, :null => false, :default => 0.00 t.decimal :rounding_adjustment, :precision => 10, :scale => 2, :null => false, :default => 0.00 t.decimal :amount_received, :precision => 10, :scale => 2, :null => false, :default => 0.00 t.decimal :amount_changed, :precision => 10, :scale => 2, :null => false, :default => 0.00 diff --git a/db/seeds.rb b/db/seeds.rb index 2dce9d11..7449058a 100644 --- a/db/seeds.rb +++ b/db/seeds.rb @@ -61,7 +61,7 @@ employee_roles = Lookup.create([{lookup_type:'employee_roles', name: 'Cashier', {lookup_type:'employee_roles', name: 'Waiter', value: 'waiter'}, {lookup_type:'employee_roles', name: 'Supervisour', value: 'supervisour'}, {lookup_type:'employee_roles', name: 'Manager', value: 'manager'}, - {lookup_type:'employee_roles', name: 'Administrator', value: 'Administrator'}]) + {lookup_type:'employee_roles', name: 'Administrator', value: 'administrator'}]) #booking_status booking_status = Lookup.create([{lookup_type:'booking_status', name: 'Available', value: 'available'}, @@ -94,23 +94,23 @@ menu_options = MenuItemOption.create([{name: "Less Spicy", value: "less_spicy"}, menu_options = MenuItemOption.create([{name: "Less Oil", value: "less_oil"},{name: "No MSG", value: "no_msg"},{name: "Less Sweet", value: "less_sweet"}]) #Default Menu Category -menu_category1 = MenuCategory.create({menu: menu, name: "Sample Menu Category 1", alt_name: "Sample Alternate Name 1", order_by: 1}) -menu_category2 = MenuCategory.create({menu: menu, name: "Sample Menu Category 2", alt_name: "Sample Alternate Name 2", order_by: 2}) -menu_category3 = MenuCategory.create({menu: menu, name: "Sample Menu Category 3", alt_name: "Sample Alternate Name 3", order_by: 3}) -menu_category4 = MenuCategory.create({menu: menu, name: "Sample Menu Category 4", alt_name: "Sample Alternate Category 4", order_by: 1, menu_category_id: menu_category3.id}) +menu_category1 = MenuCategory.create({menu: menu, code:"C001", name: "Sample Menu Category 1", alt_name: "Sample Alternate Name 1", order_by: 1,created_by: "SYSTEM DEFAULT"}) +menu_category2 = MenuCategory.create({menu: menu, code:"C005", name: "Sample Menu Category 2", alt_name: "Sample Alternate Name 2", order_by: 2,created_by: "SYSTEM DEFAULT"}) +menu_category3 = MenuCategory.create({menu: menu, code:"C006", name: "Sample Menu Category 3", alt_name: "Sample Alternate Name 3", order_by: 3,created_by: "SYSTEM DEFAULT"}) +menu_category4 = MenuCategory.create({menu: menu, code:"C006", name: "Sample Menu Category 4", alt_name: "Sample Alternate Category 4", order_by: 1, menu_category_id: menu_category3.id, created_by: "SYSTEM DEFAULT"}) #Default Menu items menu_category1_menu_item0 = SimpleMenuItem.create({item_code:"01001", name: "Default Menu Item Name 0", alt_name: "Alternate Menu Item Name 0",menu_category: menu_category1 , min_selectable_item: 1, max_selectable_item:1 }) menu_item0_instance = MenuItemInstance.create([{item_instance_name:"half portion",item_instance_code:"01001-1", menu_item: menu_category1_menu_item0, price:12.00, is_on_promotion:false}]) menu_item0_instance = MenuItemInstance.create([{item_instance_name:"full portion",item_instance_code:"01001-2", menu_item: menu_category1_menu_item0, price:18.00, is_on_promotion:false}]) -menu_category1_menu_item1 = SetMenuItem.create({item_code:"01002", name: "Default Menu Item Name 1", alt_name: "Alternate Menu Item Name 1",menu_category: menu_category1 , min_selectable_item: 1, max_selectable_item:1 }) -menu_category1_menu_item2 = SetMenuItem.create({item_code:"01003", name: "Default Menu Item Name 2",parent: menu_category1_menu_item1, alt_name: "Alternate Menu Item Name 2", min_selectable_item: 1, max_selectable_item:1 }) -menu_category1_menu_item3 = SetMenuItem.create({item_code:"01004", name: "Default Menu Item Name 3",parent: menu_category1_menu_item1, alt_name: "Alternate Menu Item Name 3", min_selectable_item: 1, max_selectable_item:1 }) +menu_category1_menu_item1 = SetMenuItem.create({item_code:"I004", name: "Default Menu Item Name 1", alt_name: "Alternate Menu Item Name 1",menu_category: menu_category1 , min_selectable_item: 1, max_selectable_item:1 }) +menu_category1_menu_item2 = SetMenuItem.create({item_code:"I005", name: "Default Menu Item Name 2",parent: menu_category1_menu_item1, alt_name: "Alternate Menu Item Name 2", min_selectable_item: 1, max_selectable_item:1 }) +menu_category1_menu_item3 = SetMenuItem.create({item_code:"I006", name: "Default Menu Item Name 3",parent: menu_category1_menu_item1, alt_name: "Alternate Menu Item Name 3", min_selectable_item: 1, max_selectable_item:1 }) -menu_category2_menu_item0 = SimpleMenuItem.create({item_code:"02005", name: "Default Menu Item Name 0", alt_name: "Alternate Menu Item Name 0",menu_category: menu_category2 , min_selectable_item: 1, max_selectable_item:1, min_qty: 2 }) -menu_category2_menu_item1 = SimpleMenuItem.create({item_code:"02006", name: "Default Menu Item Name 1", alt_name: "Alternate Menu Item Name 1",menu_category: menu_category2 , min_selectable_item: 1, max_selectable_item:1, min_qty: 2 }) -menu_category2_menu_item2 = SimpleMenuItem.create({item_code:"02007", name: "Default Menu Item Name 2", alt_name: "Alternate Menu Item Name 2",menu_category: menu_category2 , min_selectable_item: 1, max_selectable_item:1, min_qty: 3 }) +menu_category2_menu_item0 = SimpleMenuItem.create({item_code:"I007", name: "Default Menu Item Name 0", alt_name: "Alternate Menu Item Name 0",menu_category: menu_category2 , min_selectable_item: 1, max_selectable_item:1, min_qty: 2 }) +menu_category2_menu_item1 = SimpleMenuItem.create({item_code:"I008", name: "Default Menu Item Name 1", alt_name: "Alternate Menu Item Name 1",menu_category: menu_category2 , min_selectable_item: 1, max_selectable_item:1, min_qty: 2 }) +menu_category2_menu_item2 = SimpleMenuItem.create({item_code:"I009", name: "Default Menu Item Name 2", alt_name: "Alternate Menu Item Name 2",menu_category: menu_category2 , min_selectable_item: 1, max_selectable_item:1, min_qty: 3 }) menu_item_attribute_size_small = MenuItemAttribute.create({attribute_type:"size", name: "Small", value: "small"}) menu_item_attribute_size_medium = MenuItemAttribute.create({attribute_type:"size",name: "Medium", value: "medium"}) @@ -125,3 +125,7 @@ zone_order_queue_station = OrderQueueStation.create({station_name: "Zone 1 Queue #Default Order Queue Process By Zone zone_queue_station = OrderQueueProcessByZone.create({order_queue_station: zone_order_queue_station, zone: zone2}) + + +#Create Adminstrator employee +admin_employee = Employee.create({name: "Administrator", role: "Administrator", password: "99999", emp_id:"999", created_by: "SYSTEM DEFAULT"})