diff --git a/Gemfile b/Gemfile index fa2990ad..67348308 100644 --- a/Gemfile +++ b/Gemfile @@ -36,6 +36,9 @@ gem 'tether-rails' gem "font-awesome-rails" gem 'rack-cors' +# image upload +gem 'carrierwave', '~> 1.0' + #Report and Printing gems gem 'cups', '~> 0.0.7' gem 'prawn' diff --git a/Gemfile.lock b/Gemfile.lock index ba8f6a0c..45b9b826 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -51,6 +51,10 @@ GEM builder (3.2.3) byebug (9.0.6) cancancan (1.17.0) + carrierwave (1.1.0) + activemodel (>= 4.0.0) + activesupport (>= 4.0.0) + mime-types (>= 1.16) chronic (0.10.2) coffee-rails (4.2.2) coffee-script (>= 2.2.0) @@ -250,6 +254,7 @@ DEPENDENCIES bootstrap-datepicker-rails byebug cancancan (~> 1.10) + carrierwave (~> 1.0) coffee-rails (~> 4.2) cups (~> 0.0.7) database_cleaner diff --git a/app/controllers/settings/simple_menu_items_controller.rb b/app/controllers/settings/simple_menu_items_controller.rb index 05952d0d..526ef248 100644 --- a/app/controllers/settings/simple_menu_items_controller.rb +++ b/app/controllers/settings/simple_menu_items_controller.rb @@ -16,7 +16,7 @@ class Settings::SimpleMenuItemsController < ApplicationController # GET /settings/menu_items/new def new - @settings_menu_item = MenuItem.new + @settings_menu_item = MenuItem.new end # GET /settings/menu_items/1/edit @@ -27,6 +27,7 @@ class Settings::SimpleMenuItemsController < ApplicationController # POST /settings/menu_items.json def create @settings_menu_item = MenuItem.new(settings_menu_item_params) + # @settings_menu_item.image_path = params[:image_path] if params[:simple_menu_item][:menu_item_id] == '' @settings_menu_item.menu_category_id = params[:menu_category_id] end @@ -78,6 +79,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,: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, :menu_item_id, :min_qty, :min_selectable_item, :max_selectable_item, :created_by) end end diff --git a/app/models/menu_item.rb b/app/models/menu_item.rb index 1f1afbe4..569d3126 100644 --- a/app/models/menu_item.rb +++ b/app/models/menu_item.rb @@ -15,6 +15,9 @@ class MenuItem < ApplicationRecord scope :simple_menu_item, -> { where(type: 'SimpleMenuItem') } scope :set_menu_item, -> { where(type: 'SetMenuItem') } + # Item Image Uploader + mount_uploader :image_path, MenuItemImageUploader + def self.collection MenuItem.select("id, name").map { |e| [e.name, e.id] } end diff --git a/app/views/settings/set_menu_items/_form.html.erb b/app/views/settings/set_menu_items/_form.html.erb index aeae0f5c..aef41ab1 100644 --- a/app/views/settings/set_menu_items/_form.html.erb +++ b/app/views/settings/set_menu_items/_form.html.erb @@ -1,17 +1,24 @@ <%= simple_form_for([:settings,@category, @settings_menu_item]) do |f| %> <%= f.error_notification %> +