diff --git a/app/assets/javascripts/admin/all.js b/app/assets/javascripts/admin/all.js index 78ff8306f8..9a07309352 100644 --- a/app/assets/javascripts/admin/all.js +++ b/app/assets/javascripts/admin/all.js @@ -19,6 +19,7 @@ //= require ../shared/ng-infinite-scroll.min.js //= require ./admin //= require ./enterprises/enterprises +//= require ./enterprise_groups/enterprise_groups //= require ./payment_methods/payment_methods //= require ./products/products //= require ./shipping_methods/shipping_methods diff --git a/app/assets/javascripts/admin/enterprise_groups/controllers/enterprise_group_controller.js.coffee b/app/assets/javascripts/admin/enterprise_groups/controllers/enterprise_group_controller.js.coffee new file mode 100644 index 0000000000..c207032853 --- /dev/null +++ b/app/assets/javascripts/admin/enterprise_groups/controllers/enterprise_group_controller.js.coffee @@ -0,0 +1,3 @@ +angular.module("admin.enterprise_groups") + .controller "enterpriseGroupCtrl", ($scope, SideMenu) -> + $scope.menu = SideMenu diff --git a/app/assets/javascripts/admin/enterprise_groups/controllers/side_menu_controller.js.coffee b/app/assets/javascripts/admin/enterprise_groups/controllers/side_menu_controller.js.coffee new file mode 100644 index 0000000000..652f06e426 --- /dev/null +++ b/app/assets/javascripts/admin/enterprise_groups/controllers/side_menu_controller.js.coffee @@ -0,0 +1,13 @@ +angular.module("admin.enterprise_groups") + .controller "sideMenuCtrl", ($scope, SideMenu) -> + $scope.menu = SideMenu + $scope.select = SideMenu.select + + $scope.menu.setItems [ + { name: 'Primary Details', icon_class: "icon-user" } + { name: 'About', icon_class: "icon-pencil" } + { name: 'Images', icon_class: "icon-picture" } + { name: 'Contact', icon_class: "icon-phone" } + ] + + $scope.select(0) diff --git a/app/assets/javascripts/admin/enterprise_groups/enterprise_groups.js.coffee b/app/assets/javascripts/admin/enterprise_groups/enterprise_groups.js.coffee new file mode 100644 index 0000000000..2d23b9c6fa --- /dev/null +++ b/app/assets/javascripts/admin/enterprise_groups/enterprise_groups.js.coffee @@ -0,0 +1 @@ +angular.module("admin.enterprise_groups", ["admin.side_menu"]) diff --git a/app/views/admin/enterprise_groups/_form.html.haml b/app/views/admin/enterprise_groups/_form.html.haml index ec4934bf19..9ebf6db147 100644 --- a/app/views/admin/enterprise_groups/_form.html.haml +++ b/app/views/admin/enterprise_groups/_form.html.haml @@ -1,43 +1,11 @@ -= f.field_container :name do - = f.label :name - %br/ - = f.text_field :name += render :partial => 'spree/shared/error_messages', :locals => { :target => @enterprise } -= f.field_container :description do - = f.label :description - %br/ - = f.text_field :description - -= f.field_container :long_description do - = f.label :long_description - %br/ - = f.text_area :long_description - -= f.field_container :on_front_page do - = f.label :on_front_page, 'On front page?' - %br/ - = f.check_box :on_front_page - -= f.field_container :enterprise_ids do - = f.label :enterprise_ids, 'Enterprises' - %br/ - = f.collection_select :enterprise_ids, Enterprise.all, :id, :name, {}, {class: "select2 fullwidth", multiple: true} - - -.row - .alpha.three.columns - = f.label :logo, class: 'with-tip', 'data-powertip' => 'This is the logo' - .with-tip{'data-powertip' => 'This is the logo'} - %a What's this? - .omega.eight.columns - = image_tag @object.logo.url if @object.logo.present? - = f.file_field :logo - -.row - .alpha.three.columns - = f.label :promo_image, class: 'with-tip', 'data-powertip' => 'This image is displayed at the top of the Group profile' - .with-tip{'data-powertip' => 'This image is displayed at the top of the Group profile'} - %a What's this? - .omega.eight.columns - = image_tag @object.promo_image.url if @object.promo_image.present? - = f.file_field :promo_image += form_for [main_app, :admin, @enterprise_group] do |f| + .row{ ng: {app: 'admin.enterprise_groups', controller: 'enterpriseGroupCtrl'} } + .sixteen.columns.alpha + .four.columns.alpha + = render 'admin/shared/side_menu' + .one.column   + .eleven.columns.omega.fullwidth_inputs + = render :partial => 'inputs', :locals => { :f => f } + = render partial: "spree/admin/shared/#{action}_resource_links" diff --git a/app/views/admin/enterprise_groups/_inputs.html.haml b/app/views/admin/enterprise_groups/_inputs.html.haml new file mode 100644 index 0000000000..d3baec4a0c --- /dev/null +++ b/app/views/admin/enterprise_groups/_inputs.html.haml @@ -0,0 +1,52 @@ +%fieldset.alpha.no-border-bottom{ ng: { show: "menu.selected.name=='Primary Details'" } } + %legend Primary Details + = f.field_container :name do + = f.label :name + %br/ + = f.text_field :name + + = f.field_container :description do + = f.label :description + %br/ + = f.text_field :description + + = f.field_container :on_front_page do + = f.label :on_front_page, 'On front page?' + %br/ + = f.check_box :on_front_page + + = f.field_container :enterprise_ids do + = f.label :enterprise_ids, 'Enterprises' + %br/ + = f.collection_select :enterprise_ids, Enterprise.all, :id, :name, {}, {class: "select2 fullwidth", multiple: true} + +%fieldset.alpha.no-border-bottom{ ng: { show: "menu.selected.name=='About'" } } + %legend About + = f.field_container :long_description do + = f.label :long_description + %br/ + = f.text_area :long_description + + +%fieldset.alpha.no-border-bottom{ ng: { show: "menu.selected.name=='Images'" } } + %legend Images + .row + .alpha.three.columns + = f.label :logo, class: 'with-tip', 'data-powertip' => 'This is the logo' + .with-tip{'data-powertip' => 'This is the logo'} + %a What's this? + .omega.eight.columns + = image_tag @object.logo.url if @object.logo.present? + = f.file_field :logo + .row + .alpha.three.columns + = f.label :promo_image, class: 'with-tip', 'data-powertip' => 'This image is displayed at the top of the Group profile' + .with-tip{'data-powertip' => 'This image is displayed at the top of the Group profile'} + %a What's this? + .omega.eight.columns + = image_tag @object.promo_image.url if @object.promo_image.present? + = f.file_field :promo_image + +%fieldset.alpha.no-border-bottom{ ng: { show: "menu.selected.name=='Contact'" } } + %legend Contact + TODO diff --git a/app/views/admin/enterprise_groups/edit.html.haml b/app/views/admin/enterprise_groups/edit.html.haml index 19c954f8e4..d83367b8c5 100644 --- a/app/views/admin/enterprise_groups/edit.html.haml +++ b/app/views/admin/enterprise_groups/edit.html.haml @@ -1,5 +1,3 @@ = render :partial => 'spree/shared/error_messages', :locals => { :target => @enterprise } -= form_for [main_app, :admin, @enterprise_group] do |f| - = render :partial => 'form', :locals => { :f => f } - = render :partial => 'spree/admin/shared/edit_resource_links' += render 'admin/enterprise_groups/form', action: 'edit' diff --git a/app/views/admin/enterprise_groups/new.html.haml b/app/views/admin/enterprise_groups/new.html.haml index f899eaa380..73d597a920 100644 --- a/app/views/admin/enterprise_groups/new.html.haml +++ b/app/views/admin/enterprise_groups/new.html.haml @@ -1,5 +1,3 @@ = render :partial => 'spree/shared/error_messages', :locals => { :target => @enterprise } -= form_for [main_app, :admin, @enterprise_group] do |f| - = render :partial => 'form', :locals => { :f => f } - = render :partial => 'spree/admin/shared/new_resource_links' += render 'admin/enterprise_groups/form', action: 'new' diff --git a/app/views/admin/enterprises/_ng_form.html.haml b/app/views/admin/enterprises/_ng_form.html.haml index 76ec768a3a..fa2d12aeae 100644 --- a/app/views/admin/enterprises/_ng_form.html.haml +++ b/app/views/admin/enterprises/_ng_form.html.haml @@ -12,7 +12,7 @@ .row .sixteen.columns.alpha .four.columns.alpha - = render 'side_menu' + = render 'admin/shared/side_menu' .one.column   .eleven.columns.omega.fullwidth_inputs = render 'form', f: f diff --git a/app/views/admin/enterprises/_side_menu.html.haml b/app/views/admin/shared/_side_menu.html.haml similarity index 100% rename from app/views/admin/enterprises/_side_menu.html.haml rename to app/views/admin/shared/_side_menu.html.haml