diff --git a/app/controllers/settings/menu_items_controller.rb b/app/controllers/settings/set_menu_items_controller.rb similarity index 97% rename from app/controllers/settings/menu_items_controller.rb rename to app/controllers/settings/set_menu_items_controller.rb index 6b405c11..1f227246 100644 --- a/app/controllers/settings/menu_items_controller.rb +++ b/app/controllers/settings/set_menu_items_controller.rb @@ -1,4 +1,4 @@ -class Settings::MenuItemsController < ApplicationController +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] # GET /settings/menu_items diff --git a/app/controllers/settings/simple_menu_items_controller.rb b/app/controllers/settings/simple_menu_items_controller.rb new file mode 100644 index 00000000..c9114330 --- /dev/null +++ b/app/controllers/settings/simple_menu_items_controller.rb @@ -0,0 +1,78 @@ +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] + # GET /settings/menu_items + # GET /settings/menu_items.json + def index + @settings_menu_items = @category.menu_items + end + + # GET /settings/menu_items/1 + # GET /settings/menu_items/1.json + def show + end + + # GET /settings/menu_items/new + def new + @settings_menu_item = MenuItem.new + end + + # GET /settings/menu_items/1/edit + def edit + end + + # POST /settings/menu_items + # POST /settings/menu_items.json + def create + @settings_menu_item = MenuItem.new(settings_menu_item_params) + + respond_to do |format| + if @settings_menu_item.save + format.html { redirect_to settings_menu_items_path, notice: 'Menu item was successfully created.' } + format.json { render :show, status: :created, location: @settings_menu_item } + else + format.html { render :new } + format.json { render json: @settings_menu_item.errors, status: :unprocessable_entity } + end + end + end + + # PATCH/PUT /settings/menu_items/1 + # PATCH/PUT /settings/menu_items/1.json + def update + respond_to do |format| + if @settings_menu_item.update(settings_menu_item_params) + format.html { redirect_to settings_menu_item_path(@settings_menu_item), notice: 'Menu item was successfully updated.' } + format.json { render :show, status: :ok, location: @settings_menu_item } + else + format.html { render :edit } + format.json { render json: @settings_menu_item.errors, status: :unprocessable_entity } + end + end + end + + # DELETE /settings/menu_items/1 + # DELETE /settings/menu_items/1.json + def destroy + @settings_menu_item.destroy + respond_to do |format| + format.html { redirect_to settings_menu_items_path, notice: 'Menu item 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 + @settings_menu_item = MenuItem.find(params[:id]) + end + + def set_settings_menu_category + @category = MenuCategory.find(params[:menu_category_id]) + 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, :menu_category_id, :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 5adf161a..70528e83 100644 --- a/app/models/menu_item.rb +++ b/app/models/menu_item.rb @@ -6,6 +6,11 @@ class MenuItem < ApplicationRecord default_scope { order('item_code asc') } + def self.collection + MenuItem.select("id, name").map { |e| [e.name, e.id] } + end + + def self.search_by_item_code(item_code) menu_item_hash = Hash.new mt_instance = MenuItemInstance.find_by_item_instance_code(item_code) diff --git a/app/views/layouts/_header.html.erb b/app/views/layouts/_header.html.erb index 8032668b..372d9674 100644 --- a/app/views/layouts/_header.html.erb +++ b/app/views/layouts/_header.html.erb @@ -5,7 +5,7 @@ H diff --git a/app/views/settings/menu_categories/show.html.erb b/app/views/settings/menu_categories/show.html.erb index f9f66f23..a85b89c7 100644 --- a/app/views/settings/menu_categories/show.html.erb +++ b/app/views/settings/menu_categories/show.html.erb @@ -44,7 +44,9 @@

Menu Items - <%= link_to t('.new', :default => t("helpers.links.new")),new_settings_menu_category_menu_item_path(@settings_menu_category),:class => 'btn btn-primary btn-sm' %> + <%= link_to "New Simple Menu Item",new_settings_menu_category_simple_menu_item_path(@settings_menu_category),:class => 'btn btn-primary btn-sm' %> + <%= link_to "New Set Menu Item",new_settings_menu_category_set_menu_item_path(@settings_menu_category),:class => 'btn btn-primary btn-sm' %> +

diff --git a/app/views/settings/menu_items/_form.html.erb b/app/views/settings/set_menu_items/_form.html.erb similarity index 100% rename from app/views/settings/menu_items/_form.html.erb rename to app/views/settings/set_menu_items/_form.html.erb diff --git a/app/views/settings/menu_items/_settings_menu_item.json.jbuilder b/app/views/settings/set_menu_items/_settings_menu_item.json.jbuilder similarity index 100% rename from app/views/settings/menu_items/_settings_menu_item.json.jbuilder rename to app/views/settings/set_menu_items/_settings_menu_item.json.jbuilder diff --git a/app/views/settings/menu_items/edit.html.erb b/app/views/settings/set_menu_items/edit.html.erb similarity index 100% rename from app/views/settings/menu_items/edit.html.erb rename to app/views/settings/set_menu_items/edit.html.erb diff --git a/app/views/settings/menu_items/index.html.erb b/app/views/settings/set_menu_items/index.html.erb similarity index 100% rename from app/views/settings/menu_items/index.html.erb rename to app/views/settings/set_menu_items/index.html.erb diff --git a/app/views/settings/menu_items/index.json.jbuilder b/app/views/settings/set_menu_items/index.json.jbuilder similarity index 100% rename from app/views/settings/menu_items/index.json.jbuilder rename to app/views/settings/set_menu_items/index.json.jbuilder diff --git a/app/views/settings/menu_items/new.html.erb b/app/views/settings/set_menu_items/new.html.erb similarity index 100% rename from app/views/settings/menu_items/new.html.erb rename to app/views/settings/set_menu_items/new.html.erb diff --git a/app/views/settings/menu_items/show.html.erb b/app/views/settings/set_menu_items/show.html.erb similarity index 100% rename from app/views/settings/menu_items/show.html.erb rename to app/views/settings/set_menu_items/show.html.erb diff --git a/app/views/settings/menu_items/show.json.jbuilder b/app/views/settings/set_menu_items/show.json.jbuilder similarity index 100% rename from app/views/settings/menu_items/show.json.jbuilder rename to app/views/settings/set_menu_items/show.json.jbuilder diff --git a/app/views/settings/simple_menu_items/_form.html.erb b/app/views/settings/simple_menu_items/_form.html.erb new file mode 100644 index 00000000..836f3f61 --- /dev/null +++ b/app/views/settings/simple_menu_items/_form.html.erb @@ -0,0 +1,17 @@ +<%= simple_form_for([:settings,:menu_category, @settings_menu_item]) do |f| %> + <%= f.error_notification %> + +
+ <%= f.input :item_code %> + <%= f.input :name %> + <%= f.input :alt_name %> + <%= f.input :menu_item_id, :label => "Parent Menu Item", :collection => MenuItem.collection %> + <%= f.input :min_qty %> + <%= f.input :min_selectable_item %> + <%= f.input :max_selectable_item %> +
+ +
+ <%= f.button :submit %> +
+<% end %> diff --git a/app/views/settings/simple_menu_items/_settings_menu_item.json.jbuilder b/app/views/settings/simple_menu_items/_settings_menu_item.json.jbuilder new file mode 100644 index 00000000..781e4a34 --- /dev/null +++ b/app/views/settings/simple_menu_items/_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/simple_menu_items/edit.html.erb b/app/views/settings/simple_menu_items/edit.html.erb new file mode 100644 index 00000000..40c675ef --- /dev/null +++ b/app/views/settings/simple_menu_items/edit.html.erb @@ -0,0 +1,17 @@ + + +
+ + <%= render 'form', settings_menu_item: @settings_menu_item %> +
diff --git a/app/views/settings/simple_menu_items/index.html.erb b/app/views/settings/simple_menu_items/index.html.erb new file mode 100644 index 00000000..89fc850f --- /dev/null +++ b/app/views/settings/simple_menu_items/index.html.erb @@ -0,0 +1,80 @@ + +
+
+

Menu Category

+ + + + + + + + + + + + + + + + + + + + + + +
MenuNameAlt nameOrder byParent
<%= @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

+ + + + + + + + + + + + + + + + + <% @settings_menu_items.each do |settings_menu_item| %> + + + + + + + + + + + + + + <% end %> + +
Item codeNameAlt nameTypeParent ItemCreated byCreated at
<%= 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 %><%= link_to 'Show', settings_menu_category_menu_item_path(@category, settings_menu_item ) %><%= link_to 'Edit', edit_settings_menu_category_menu_item_path(@category, settings_menu_item) %><%= link_to 'Destroy', settings_menu_category_menu_item_path(@category, settings_menu_item ), method: :delete, data: { confirm: 'Are you sure?' } %>
+ +
+ +
diff --git a/app/views/settings/simple_menu_items/index.json.jbuilder b/app/views/settings/simple_menu_items/index.json.jbuilder new file mode 100644 index 00000000..9b0a47fa --- /dev/null +++ b/app/views/settings/simple_menu_items/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/simple_menu_items/new.html.erb b/app/views/settings/simple_menu_items/new.html.erb new file mode 100644 index 00000000..bfc07ae3 --- /dev/null +++ b/app/views/settings/simple_menu_items/new.html.erb @@ -0,0 +1,17 @@ + + + +
+ + <%= 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 new file mode 100644 index 00000000..66ae3e84 --- /dev/null +++ b/app/views/settings/simple_menu_items/show.html.erb @@ -0,0 +1,52 @@ + + + +
+
+
+

Menu Item

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Item codeNameAlt nameTypeMenu categoryMenu itemMin qtyMin selectable itemMax selectable itemCreated AtAction
<%= @settings_menu_item.item_code %><%= @settings_menu_item.name rescue "-" %><%= @settings_menu_item.alt_name %><%= @settings_menu_item.type %><%= @settings_menu_item.menu_category %><%= @settings_menu_item.menu_item %><%= @settings_menu_item.menu_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_menu_item_path(@settings_menu_category, @settings_menu_category) %>
+
+
+ +
diff --git a/app/views/settings/simple_menu_items/show.json.jbuilder b/app/views/settings/simple_menu_items/show.json.jbuilder new file mode 100644 index 00000000..4a11737c --- /dev/null +++ b/app/views/settings/simple_menu_items/show.json.jbuilder @@ -0,0 +1 @@ +json.partial! "settings_menu_items/settings_menu_item", settings_menu_item: @settings_menu_item diff --git a/config/routes.rb b/config/routes.rb index 2e175059..1527bc48 100644 --- a/config/routes.rb +++ b/config/routes.rb @@ -105,7 +105,7 @@ 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