diff --git a/app/assets/stylesheets/settings.scss b/app/assets/stylesheets/settings.scss index 2660d836..ec02f7c4 100644 --- a/app/assets/stylesheets/settings.scss +++ b/app/assets/stylesheets/settings.scss @@ -56,4 +56,8 @@ ul.dropdown-menu li a{ .menu-item-img { margin: 10px; text-align: center; + } + + .padding-10 { + padding: 10px; } \ No newline at end of file diff --git a/app/controllers/settings/set_menu_items_controller.rb b/app/controllers/settings/set_menu_items_controller.rb index 73e8b4eb..64b9c945 100644 --- a/app/controllers/settings/set_menu_items_controller.rb +++ b/app/controllers/settings/set_menu_items_controller.rb @@ -1,6 +1,8 @@ class Settings::SetMenuItemsController < ApplicationController before_action :set_settings_menu_item, only: [:show, :edit, :update, :destroy] before_action :set_settings_menu_category, only: [:index, :show, :edit, :new, :update] + before_action :set_settings_item_attribute, only: [:index, :show, :edit, :new, :update ,:create] + before_action :set_settings_item_option, only: [:index, :show, :edit, :new, :update ,:create] # GET /settings/menu_items # GET /settings/menu_items.json def index @@ -18,22 +20,43 @@ class Settings::SetMenuItemsController < ApplicationController def new @settings_menu_item = MenuItem.new @settings_menu_item.type = "SetMenuItem" + @item_sets = ItemSet.all end # GET /settings/menu_items/1/edit def edit + @item_sets = ItemSet.all end # POST /settings/menu_items # POST /settings/menu_items.json def create @settings_menu_item = MenuItem.new(settings_menu_item_params) - if params[:simple_menu_item][:menu_item_id] == '' - @settings_menu_item.menu_category_id = params[:menu_category_id] - end + + # if params[:simple_menu_item][:menu_item_id] == '' + @settings_menu_item.menu_category_id = params[:menu_category_id] + # end @settings_menu_item.created_by = current_login_employee.name + + # Bind for Item Sets + if params[:simple_menu_item][:item_sets].count > 1 + params[:simple_menu_item][:item_sets].delete_at(0) + + sets = ItemSet.find(params[:simple_menu_item][:item_sets]) + + if sets.count > 0 + @settings_menu_item.item_sets = sets + end + end + + # Remove "" default first + params[:simple_menu_item][:item_attributes].delete_at(0) + params[:simple_menu_item][:item_options].delete_at(0) respond_to do |format| if @settings_menu_item.save + menu_item = MenuItem.find(@settings_menu_item.id) + menu_item.update_attributes(item_attributes: params[:simple_menu_item][:item_attributes], item_options: params[:simple_menu_item][:item_options]) + format.html { redirect_to settings_menu_category_set_menu_items_path, notice: 'Menu item was successfully created.' } format.json { render :show, status: :created, location: @settings_menu_item } else @@ -46,8 +69,27 @@ class Settings::SetMenuItemsController < ApplicationController # PATCH/PUT /settings/menu_items/1 # PATCH/PUT /settings/menu_items/1.json def update + # Remove "" default first + params[:simple_menu_item][:item_attributes].delete_at(0) + params[:simple_menu_item][:item_options].delete_at(0) + + # Bind for Item Sets + if params[:simple_menu_item][:item_sets].count > 1 + params[:simple_menu_item][:item_sets].delete_at(0) + + sets = ItemSet.find(params[:simple_menu_item][:item_sets]) + + if sets.count > 0 + @settings_menu_item.item_sets = sets + end + end + + @settings_menu_item.menu_category_id = params[:menu_category_id] + respond_to do |format| if @settings_menu_item.update(settings_menu_item_params) + @settings_menu_item.update_attributes(item_attributes: params[:simple_menu_item][:item_attributes], item_options: params[:simple_menu_item][:item_options]) + format.html { redirect_to settings_menu_category_set_menu_items_path, notice: 'Menu item was successfully updated.' } format.json { render :show, status: :ok, location: @settings_menu_item } else @@ -79,8 +121,16 @@ class Settings::SetMenuItemsController < ApplicationController @category = MenuCategory.find(params[:menu_category_id]) end + def set_settings_item_attribute + @item_attributes = MenuItemAttribute.all.order("id asc").map{|a| [a.name, a.value]} + end + + def set_settings_item_option + @item_options = MenuItemOption.all + end + # Never trust parameters from the scary internet, only allow the white list through. def settings_menu_item_params - params.require(:set_menu_item).permit(:item_code, :name, :alt_name, :type, :image_path, :menu_category_id,:account_id , :menu_item_id, :min_qty, :min_selectable_item, :max_selectable_item, :created_by) + params.require(:set_menu_item).permit(:item_code, :name, :alt_name, :type, :image_path, :menu_category_id,:account_id , :item_attributes, :item_options, :min_qty, :is_sub_item, :is_available, :created_by) end end diff --git a/app/controllers/settings/simple_menu_items_controller.rb b/app/controllers/settings/simple_menu_items_controller.rb index 3fa1945d..9d3ac5ed 100644 --- a/app/controllers/settings/simple_menu_items_controller.rb +++ b/app/controllers/settings/simple_menu_items_controller.rb @@ -1,6 +1,8 @@ class Settings::SimpleMenuItemsController < ApplicationController before_action :set_settings_menu_item, only: [:show, :edit, :update, :destroy ] before_action :set_settings_menu_category, only: [:index, :show, :edit, :new, :update ,:create] + before_action :set_settings_item_attribute, only: [:index, :show, :edit, :new, :update ,:create] + before_action :set_settings_item_option, only: [:index, :show, :edit, :new, :update ,:create] # GET /settings/menu_items # GET /settings/menu_items.json def index @@ -16,11 +18,13 @@ class Settings::SimpleMenuItemsController < ApplicationController # GET /settings/menu_items/new def new - @settings_menu_item = MenuItem.new + @settings_menu_item = MenuItem.new + @item_sets = ItemSet.all end # GET /settings/menu_items/1/edit - def edit + def edit + @item_sets = ItemSet.all end # POST /settings/menu_items @@ -28,13 +32,30 @@ class Settings::SimpleMenuItemsController < ApplicationController def create @settings_menu_item = MenuItem.new(settings_menu_item_params) - if params[:simple_menu_item][:menu_item_id] == '' - @settings_menu_item.menu_category_id = params[:menu_category_id] - end + # if params[:simple_menu_item][:menu_item_id] == '' + @settings_menu_item.menu_category_id = params[:menu_category_id] + # end @settings_menu_item.created_by = current_login_employee.name + # Bind for Item Sets + if params[:simple_menu_item][:item_sets].count > 1 + params[:simple_menu_item][:item_sets].delete_at(0) + + sets = ItemSet.find(params[:simple_menu_item][:item_sets]) + + if sets.count > 0 + @settings_menu_item.item_sets = sets + end + end + + # Remove "" default first + params[:simple_menu_item][:item_attributes].delete_at(0) + params[:simple_menu_item][:item_options].delete_at(0) respond_to do |format| if @settings_menu_item.save + menu_item = MenuItem.find(@settings_menu_item.id) + menu_item.update_attributes(item_attributes: params[:simple_menu_item][:item_attributes], item_options: params[:simple_menu_item][:item_options]) + format.html { redirect_to settings_menu_category_simple_menu_items_path, notice: 'Menu item was successfully created.' } format.json { render :show, status: :created, location: @settings_menu_item } else @@ -47,8 +68,26 @@ class Settings::SimpleMenuItemsController < ApplicationController # PATCH/PUT /settings/menu_items/1 # PATCH/PUT /settings/menu_items/1.json def update + # Remove "" default first + params[:simple_menu_item][:item_attributes].delete_at(0) + params[:simple_menu_item][:item_options].delete_at(0) + + # Bind for Item Sets + if params[:simple_menu_item][:item_sets].count > 1 + params[:simple_menu_item][:item_sets].delete_at(0) + + sets = ItemSet.find(params[:simple_menu_item][:item_sets]) + + if sets.count > 0 + @settings_menu_item.item_sets = sets + end + end + + @settings_menu_item.menu_category_id = params[:menu_category_id] + respond_to do |format| if @settings_menu_item.update(settings_menu_item_params) + @settings_menu_item.update_attributes(item_attributes: params[:simple_menu_item][:item_attributes], item_options: params[:simple_menu_item][:item_options]) format.html { redirect_to settings_menu_category_simple_menu_items_path, notice: 'Menu item was successfully updated.' } format.json { render :show, status: :ok, location: @settings_menu_item } else @@ -80,8 +119,16 @@ class Settings::SimpleMenuItemsController < ApplicationController @category = MenuCategory.find(params[:menu_category_id]) end + def set_settings_item_attribute + @item_attributes = MenuItemAttribute.all.order("id asc") #.map{|a| [a.name, a.value]} + end + + def set_settings_item_option + @item_options = MenuItemOption.all + end + # 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, :image_path, :menu_category_id,:account_id,:item_attributes, :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, :image_path, :menu_category_id, :account_id, :item_attributes, :item_options, :min_qty, :is_sub_item, :is_available, :created_by) end end diff --git a/app/models/menu_item.rb b/app/models/menu_item.rb index 2f575d9f..8213ae88 100644 --- a/app/models/menu_item.rb +++ b/app/models/menu_item.rb @@ -3,14 +3,14 @@ class MenuItem < ApplicationRecord belongs_to :menu_category, :optional => true has_many :menu_item_instances - belongs_to :parent, :class_name => "MenuItem", foreign_key: "menu_item_id", :optional => true - has_many :children, :class_name => "MenuItem", foreign_key: "menu_item_id" + # belongs_to :parent, :class_name => "MenuItem", foreign_key: "menu_item_id", :optional => true + # has_many :children, :class_name => "MenuItem", foreign_key: "menu_item_id" belongs_to :account has_many :menu_item_sets has_many :item_sets, through: :menu_item_sets - validates_presence_of :name, :type, :min_qty, :taxable, :min_selectable_item, :max_selectable_item + validates_presence_of :name, :type, :min_qty, :taxable default_scope { order('item_code asc') } diff --git a/app/views/crm/customers/_form.html.erb b/app/views/crm/customers/_form.html.erb index c913651a..e9cef629 100644 --- a/app/views/crm/customers/_form.html.erb +++ b/app/views/crm/customers/_form.html.erb @@ -1,4 +1,3 @@ - <%= simple_form_for([:crm,@crm_customer]) do |f| %> <%= f.error_notification %> diff --git a/app/views/crm/customers/index.html.erb b/app/views/crm/customers/index.html.erb index 14e38822..71772c92 100644 --- a/app/views/crm/customers/index.html.erb +++ b/app/views/crm/customers/index.html.erb @@ -124,7 +124,7 @@ $(document).on('click',".customer_tr",function(){ var url = "customers/" + customer_id + "/edit"; } - $("#customer_tax_profiles").children().removeAttr("selected").css({'color':'#000','background':'none'});; + $("#customer_tax_profiles").children().removeAttr("selected").css({'color':'#000','background':'none'}); $.ajax({ type: "GET", @@ -135,7 +135,6 @@ $(document).on('click',".customer_tr",function(){ // Selected for Taxes var taxes = JSON.stringify(data.tax_profiles); var parse_taxes = JSON.parse(taxes); - console.log(parse_taxes); $.each(parse_taxes, function(i, value){ $("#customer_tax_profiles option[value='" + value + "']").attr("selected","selected").css({'color':'#fff','background':'#215d9c'}); }); diff --git a/app/views/settings/item_sets/_form.html.erb b/app/views/settings/item_sets/_form.html.erb index e28cab09..28441ea5 100644 --- a/app/views/settings/item_sets/_form.html.erb +++ b/app/views/settings/item_sets/_form.html.erb @@ -9,5 +9,6 @@