diff --git a/app/assets/javascripts/api/menu_item_groups.coffee b/app/assets/javascripts/api/menu_item_groups.coffee new file mode 100644 index 00000000..24f83d18 --- /dev/null +++ b/app/assets/javascripts/api/menu_item_groups.coffee @@ -0,0 +1,3 @@ +# Place all the behaviors and hooks related to the matching controller here. +# All this logic will automatically be available in application.js. +# You can use CoffeeScript in this file: http://coffeescript.org/ diff --git a/app/assets/javascripts/settings/menu_item_groups.coffee b/app/assets/javascripts/settings/menu_item_groups.coffee new file mode 100644 index 00000000..fad9c6c6 --- /dev/null +++ b/app/assets/javascripts/settings/menu_item_groups.coffee @@ -0,0 +1,3 @@ +# Place all the behaviors and hooks related to the matching controller here. +# All this logic will automatically be available in application.js. +# You can use CoffeeScript in this file: http://coffeescript.org/ \ No newline at end of file diff --git a/app/assets/stylesheets/api/menu_item_groups.scss b/app/assets/stylesheets/api/menu_item_groups.scss new file mode 100644 index 00000000..90b85063 --- /dev/null +++ b/app/assets/stylesheets/api/menu_item_groups.scss @@ -0,0 +1,3 @@ +// Place all the styles related to the api/menu_item_groups controller here. +// They will automatically be included in application.css. +// You can use Sass (SCSS) here: http://sass-lang.com/ diff --git a/app/assets/stylesheets/settings/menu_item_groups.scss b/app/assets/stylesheets/settings/menu_item_groups.scss new file mode 100644 index 00000000..297b27f5 --- /dev/null +++ b/app/assets/stylesheets/settings/menu_item_groups.scss @@ -0,0 +1,3 @@ +// Place all the styles related to the settings/menu_item_groups controller here. +// They will automatically be included in application.css. +// You can use Sass (SCSS) here: http://sass-lang.com/ diff --git a/app/controllers/api/menu_item_groups_controller.rb b/app/controllers/api/menu_item_groups_controller.rb new file mode 100644 index 00000000..6041ec14 --- /dev/null +++ b/app/controllers/api/menu_item_groups_controller.rb @@ -0,0 +1,8 @@ +class Api::MenuItemGroupsController < ApplicationController + def index + # @groups = Lookup.where(lookup_type:'menu_item_groups') + # @group = @groups.group_by(&:name).map { |k, v| { k => v.map { |l| m = eval(l.value); { m[:menu_category] => m[:menu_items] } }.inject({}) { |h, v| p h; h.merge!(v) } } } + @group = Lookup.where(lookup_type:'menu_item_groups') + @group = @group.group_by(&:name).map{|k ,v| { k => v.map{|k, v| JSON.parse(k.value)}.inject({}) { |h, v| p h; h.merge!(v) }}}.inject({}) { |h, v| p h; h.merge!(v) } + end +end diff --git a/app/controllers/settings/menu_item_groups_controller.rb b/app/controllers/settings/menu_item_groups_controller.rb new file mode 100644 index 00000000..538d8d94 --- /dev/null +++ b/app/controllers/settings/menu_item_groups_controller.rb @@ -0,0 +1,59 @@ +class Settings::MenuItemGroupsController < ApplicationController + def index + @menu_item_group = Lookup.where(lookup_type:'menu_item_groups') + end + def new + @settings_menu_item_group = Lookup.new + @menu_category = MenuCategory.order(:name) + end + def create + @settings_menu_item_group = Lookup.new(settings_lookup_params) + menu_item = settings_lookup_params[:value].reject(&:empty?) + menu_category = "{\"#{settings_lookup_params[:lookup_type]}\" : #{menu_item} }" + @settings_menu_item_group.lookup_type = "menu_item_groups" + @settings_menu_item_group.value = menu_category + respond_to do |format| + if @settings_menu_item_group.save + format.html { redirect_to settings_menu_item_groups_path, notice: 'Menu item group was successfully created.' } + format.json { render :show, status: :created, location: @settings_menu_item_group } + else + format.html { render :new } + format.json { render json: settings_menu_item_groups_path.errors, status: :unprocessable_entity } + end + end + end + def edit + @settings_menu_item_group = Lookup.find(params[:id]) + @menu_category = MenuCategory.order(:name) + end + def update + @settings_menu_item_group = Lookup.find(params[:id]) + menu_item = settings_lookup_params[:value].reject(&:empty?) + menu_category = "{\"#{settings_lookup_params[:lookup_type]}\" : #{menu_item} }" + @settings_menu_item_group.lookup_type = "menu_item_groups" + @settings_menu_item_group.value = menu_category + @settings_menu_item_group.name = settings_lookup_params[:name] + respond_to do |format| + if @settings_menu_item_group.save + format.html { redirect_to settings_menu_item_groups_path, notice: 'Menu item group was successfully updated.' } + format.json { render :show, status: :ok, location: @settings_menu_item_group } + else + format.html { render :edit } + format.json { render json: settings_menu_item_groups_path.errors, status: :unprocessable_entity } + end + end + end + def destroy + @settings_menu_item_group = Lookup.find(params[:id]) + if @settings_menu_item_group.destroy + flash[:notice] = 'Menu item group was successfully deleted.' + redirect_to settings_menu_item_groups_path + end + end + private + + # Never trust parameters from the scary internet, only allow the white list through. + def settings_lookup_params + params.require(:lookup).permit(:lookup_type, :name, :value=>[]) + end +end diff --git a/app/helpers/api/menu_item_groups_helper.rb b/app/helpers/api/menu_item_groups_helper.rb new file mode 100644 index 00000000..5c7ab225 --- /dev/null +++ b/app/helpers/api/menu_item_groups_helper.rb @@ -0,0 +1,2 @@ +module Api::MenuItemGroupsHelper +end diff --git a/app/helpers/settings/menu_item_groups_helper.rb b/app/helpers/settings/menu_item_groups_helper.rb new file mode 100644 index 00000000..6b689f13 --- /dev/null +++ b/app/helpers/settings/menu_item_groups_helper.rb @@ -0,0 +1,2 @@ +module Settings::MenuItemGroupsHelper +end diff --git a/app/views/api/menu_item_groups/index.json.jbuilder b/app/views/api/menu_item_groups/index.json.jbuilder new file mode 100644 index 00000000..20b29060 --- /dev/null +++ b/app/views/api/menu_item_groups/index.json.jbuilder @@ -0,0 +1,2 @@ +json.status true +json.data @group \ No newline at end of file diff --git a/app/views/settings/menu_item_groups/edit.html.erb b/app/views/settings/menu_item_groups/edit.html.erb new file mode 100755 index 00000000..8d285d49 --- /dev/null +++ b/app/views/settings/menu_item_groups/edit.html.erb @@ -0,0 +1,70 @@ + +
+ 1) <%= t("views.right_panel.detail.lookup") + " " + t("views.right_panel.detail.type_txt") %> - <%= t("views.right_panel.detail.write_txt") %> <%= t("views.right_panel.detail.lookup_txt") %>
+ 2) <%= t("views.right_panel.detail.name") %> - <%= t("views.right_panel.detail.write_txt") %> <%= t("views.right_panel.detail.name_txt2") %>
+ 3) <%= t("views.right_panel.detail.value") %> - <%= t("views.right_panel.detail.write_txt") %> <%= t("views.right_panel.detail.value_txt") %>
+
+ 1) <%= t("views.right_panel.button.submit") %> - <%= t("views.right_panel.detail.submit_btn_txt") %> <%= t("views.right_panel.detail.lookup_txt") %>
+
+ 1) <%= t("views.right_panel.button.home") %> - <%= t("views.right_panel.detail.home_txt") %>
+ 2) <%= t("views.right_panel.button.back") %> - <%= t("views.right_panel.detail.back_txt") %> <%= t("views.right_panel.detail.lookup_txt") %>
+
| <%= t("views.right_panel.detail.menu_item_groups") %> | +<%= t("views.right_panel.detail.group_names") %> | +<%= t("views.right_panel.detail.menu_items") %> | +<%= t("views.right_panel.detail.actions") %> | +
|---|---|---|---|
| <%= menu_item_group.lookup_type %> | +<%= menu_item_group.name %> | +<%= menu_item_group.value %> | ++ <%= link_to t("views.btn.edit"), edit_settings_menu_item_group_path(menu_item_group),:class => 'btn btn-primary btn-sm waves-effect' %> + <%= link_to t("views.btn.delete"), settings_menu_item_group_path(menu_item_group),:class => 'btn btn-danger btn-sm waves-effect', method: :delete, data: {confirm: 'Are you sure you want to delete this row ?'} %> + + | +
+ 1) <%= t("views.right_panel.detail.lookup") + " " + t("views.right_panel.detail.type_txt") %> - <%= t("views.right_panel.detail.type_txt") %> <%= t("views.right_panel.detail.for") %> <%= t("views.right_panel.detail.lookup_txt") %>
+ 2) <%= t("views.right_panel.detail.name") %> - <%= t("views.right_panel.detail.name_txt2") %> <%= t("views.right_panel.detail.for") %> <%= t("views.right_panel.detail.lookup_txt") %>
+ 3) <%= t("views.right_panel.detail.value") %> - <%= t("views.right_panel.detail.value_txt") %> <%= t("views.right_panel.detail.for") %> <%= t("views.right_panel.detail.lookup_txt") %>
+ 4) <%= t("views.right_panel.detail.actions") %> - <%= t("views.right_panel.detail.actions_txt") %> <%= t("views.right_panel.detail.lookup_txt") %>
+
+ 1) <%= t("views.right_panel.button.new") %> - <%= t("views.right_panel.detail.new_btn_txt") %> <%= t("views.right_panel.detail.lookup_txt") %>
+ 2) <%= t("views.right_panel.button.edit") %> - <%= t("views.right_panel.detail.edit_btn_txt") %> <%= t("views.right_panel.detail.lookup_txt") %>
+
+ 1) <%= t("views.right_panel.button.home") %> - <%= t("views.right_panel.detail.home_txt") %>
+ 2) <%= t("views.right_panel.button.back") %> - <%= t("views.right_panel.detail.back_txt") %> <%= t("views.right_panel.detail.dashboard_txt") %>
+
+ 1) <%= t("views.right_panel.detail.lookup") + " " + t("views.right_panel.detail.type_txt") %> - <%= t("views.right_panel.detail.write_txt") %> <%= t("views.right_panel.detail.lookup_txt") %>
+ 2) <%= t("views.right_panel.detail.name") %> - <%= t("views.right_panel.detail.write_txt") %> <%= t("views.right_panel.detail.name_txt2") %>
+ 3) <%= t("views.right_panel.detail.value") %> - <%= t("views.right_panel.detail.write_txt") %> <%= t("views.right_panel.detail.value_txt") %>
+
+ 1) <%= t("views.right_panel.button.submit") %> - <%= t("views.right_panel.detail.submit_btn_txt") %> <%= t("views.right_panel.detail.lookup_txt") %>
+
+ 1) <%= t("views.right_panel.button.home") %> - <%= t("views.right_panel.detail.home_txt") %>
+ 2) <%= t("views.right_panel.button.back") %> - <%= t("views.right_panel.detail.back_txt") %> <%= t("views.right_panel.detail.lookup_txt") %>
+