Move admin non-Spree controllers out of Spree namespace

This commit is contained in:
Rohan Mitchell
2012-10-25 10:03:17 +11:00
parent 15e91f7743
commit 784969097d
17 changed files with 108 additions and 69 deletions

View File

@@ -0,0 +1,28 @@
module Admin
class DistributorsController < ResourceController
before_filter :load_distributor_set, :only => :index
before_filter :load_countries, :except => :index
def bulk_update
@distributor_set = DistributorSet.new(params[:distributor_set])
if @distributor_set.save
redirect_to main_app.admin_distributors_path, :notice => 'Distributor collection times updated.'
else
render :index
end
end
private
def load_distributor_set
@distributor_set = DistributorSet.new :distributors => collection
end
def load_countries
@countries = Spree::Country.order(:name)
end
def collection
super.order(:name)
end
end
end

View File

@@ -0,0 +1,42 @@
module Admin
class ResourceController < Spree::Admin::ResourceController
def model_class
"#{controller_name.classify}".constantize
end
# URL helpers
def new_object_url(options = {})
if parent_data.present?
main_app.new_polymorphic_url([:admin, parent, model_class], options)
else
main_app.new_polymorphic_url([:admin, model_class], options)
end
end
def edit_object_url(object, options = {})
if parent_data.present?
main_app.send "edit_admin_#{model_name}_#{object_name}_url", parent, object, options
else
main_app.send "edit_admin_#{object_name}_url", object, options
end
end
def object_url(object = nil, options = {})
target = object ? object : @object
if parent_data.present?
main_app.send "admin_#{model_name}_#{object_name}_url", parent, target, options
else
main_app.send "admin_#{object_name}_url", target, options
end
end
def collection_url(options = {})
if parent_data.present?
main_app.polymorphic_url([:admin, parent, model_class], options)
else
main_app.polymorphic_url([:admin, model_class], options)
end
end
end
end

View File

@@ -0,0 +1,16 @@
module Admin
class SuppliersController < ResourceController
before_filter :load_data, :except => [:index]
helper 'spree/products'
private
def load_data
@countries = Spree::Country.order(:name)
end
def collection
super.order(:name)
end
end
end

View File

@@ -1,30 +0,0 @@
module Spree
module Admin
class DistributorsController < ResourceController
before_filter :load_distributor_set, :only => :index
before_filter :load_countries, :except => :index
def bulk_update
@distributor_set = DistributorSet.new(params[:distributor_set])
if @distributor_set.save
redirect_to admin_distributors_path, :notice => 'Distributor collection times updated.'
else
render :index
end
end
private
def load_distributor_set
@distributor_set = DistributorSet.new :distributors => collection
end
def load_countries
@countries = Country.order(:name)
end
def collection
super.order(:name)
end
end
end
end

View File

@@ -1,16 +0,0 @@
module Spree
module Admin
class SuppliersController < ResourceController
before_filter :load_data, :except => [:index]
private
def load_data
@countries = Country.order(:name)
end
def collection
super.order(:name)
end
end
end
end

View File

@@ -1,11 +1,11 @@
Deface::Override.new(:virtual_path => "spree/layouts/admin",
:name => "distributors_admin_tabs",
:insert_bottom => "[data-hook='admin_tabs'], #admin_tabs[data-hook]",
:text => "<%= tab(:distributors, :url => spree.admin_distributors_path) %>",
:text => "<%= tab(:distributors, :url => main_app.admin_distributors_path) %>",
:disabled => false)
Deface::Override.new(:virtual_path => "spree/layouts/admin",
:name => "suppliers_admin_tabs",
:insert_bottom => "[data-hook='admin_tabs'], #admin_tabs[data-hook]",
:text => "<%= tab(:suppliers, :url => spree.admin_suppliers_path) %>",
:disabled => false)
:text => "<%= tab(:suppliers, :url => main_app.admin_suppliers_path) %>",
:disabled => false)

View File

@@ -1,13 +1,13 @@
<div class="toolbar" data-hook="toolbar">
<ul class="actions">
<li>
<%= button_link_to "New Distributor", spree.new_admin_distributor_path, :icon => 'add', :id => 'admin_new_distributor_link' %>
<%= button_link_to "New Distributor", main_app.new_admin_distributor_path, :icon => 'add', :id => 'admin_new_distributor_link' %>
</li>
</ul>
<br class="clear" />
</div>
<%= form_for @distributor_set, :url => bulk_update_admin_distributors_path do |f| %>
<%= form_for @distributor_set, :url => main_app.bulk_update_admin_distributors_path do |f| %>
<table class="index" id="listing_distributors">
<thead>
<tr data-hook="distributors_header">
@@ -21,12 +21,12 @@
<%= f.fields_for :distributors do |distributor_form| %>
<% distributor = distributor_form.object %>
<tr>
<td><%= link_to distributor.name, spree.admin_distributor_path(distributor) %></td>
<td><%= link_to distributor.name, main_app.admin_distributor_path(distributor) %></td>
<td><%= distributor_form.text_field :next_collection_at %></td>
<td><%= distributor.description %></td>
<td data-hook="admin_users_index_row_actions">
<%= link_to_edit distributor, :class => 'edit' %> &nbsp;
<%= link_to_delete distributor %>
<%= link_to_edit [main_app, distributor], :class => 'edit' %> &nbsp;
<%= link_to_delete [main_app, distributor] %>
</td>
</tr>
<% end %>

View File

@@ -1,7 +1,7 @@
<%= render :partial => 'spree/shared/error_messages', :locals => { :target => @distributor } %>
<%= form_for [:admin, @distributor] do |f| %>
<%= form_for [main_app, :admin, @distributor] do |f| %>
<%= render :partial => 'form', :locals => { :f => f } %>
<%= render :partial => 'spree/admin/shared/new_resource_links' %>
<% end %>

View File

@@ -37,6 +37,6 @@
%th URL:
%td= @distributor.url
%p
= link_to :Edit, spree.edit_admin_distributor_path(@distributor), :class => 'edit_distributor'
= link_to :Edit, main_app.edit_admin_distributor_path(@distributor), :class => 'edit_distributor'
= t(:or)
= link_to t(:back), spree.admin_distributors_path
= link_to t(:back), main_app.admin_distributors_path

View File

@@ -1,6 +1,6 @@
.toolbar{'data-hook' => "suppliers"}
%ul.actions
%li= button_link_to "New Supplier", spree.new_admin_supplier_path, :icon => 'add', :id => 'admin_new_supplier_link'
%li= button_link_to "New Supplier", main_app.new_admin_supplier_path, :icon => 'add', :id => 'admin_new_supplier_link'
%br.clear
%table#listing_suppliers.index
%thead
@@ -11,7 +11,7 @@
%tbody
- @suppliers.each do |supplier|
%tr
%td= link_to supplier.name, spree.admin_supplier_path(supplier)
%td= link_to supplier.name, main_app.admin_supplier_path(supplier)
%td= supplier.description
%td{'data-hook' => "admin_supplier_index_row_actions"}
= link_to_edit supplier, :class => 'edit'

View File

@@ -1,6 +1,5 @@
= render :partial => 'spree/shared/error_messages', :locals => { :target => @supplier }
= form_for [:admin, @supplier] do |f|
= form_for [main_app, :admin, @supplier] do |f|
= render :partial => 'form', :locals => { :f => f }
= render :partial => 'spree/admin/shared/new_resource_links'

View File

@@ -22,6 +22,6 @@
%th Twitter:
%td= @supplier.twitter
%p
= link_to :Edit, spree.edit_admin_supplier_path(@supplier), :class => 'edit_supplier'
= link_to :Edit, main_app.edit_admin_supplier_path(@supplier), :class => 'edit_supplier'
= t(:or)
= link_to t(:back), spree.admin_suppliers_path
= link_to t(:back), main_app.admin_suppliers_path

View File

@@ -7,12 +7,6 @@ Openfoodweb::Application.routes.draw do
get :deselect, :on => :collection
end
# Mount Spree's routes
mount Spree::Core::Engine, :at => '/'
end
Spree::Core::Engine.routes.prepend do
namespace :admin do
resources :distributors do
post :bulk_update, :on => :collection, :as => :bulk_update
@@ -20,6 +14,12 @@ Spree::Core::Engine.routes.prepend do
resources :suppliers
end
# Mount Spree's routes
mount Spree::Core::Engine, :at => '/'
end
Spree::Core::Engine.routes.prepend do
match '/admin/reports/orders_and_distributors' => 'admin/reports#orders_and_distributors', :as => "orders_and_distributors_admin_reports", :via => [:get, :post]
match '/admin/reports/group_buys' => 'admin/reports#group_buys', :as => "group_buys_admin_reports", :via => [:get, :post]
end