Merge branch 'master' into ent_types_frontend

This commit is contained in:
Rafael Schouten
2014-09-25 10:09:42 +10:00
37 changed files with 402 additions and 111 deletions

View File

@@ -34,7 +34,7 @@ class Enterprise < ActiveRecord::Base
path: 'public/images/enterprises/logos/:id/:style/:basename.:extension'
has_attached_file :promo_image,
styles: { large: "1200x260#", thumb: "100x100>" },
styles: { large: "1200x260#", medium: "720x156#", thumb: "100x100>" },
url: '/images/enterprises/promo_images/:id/:style/:basename.:extension',
path: 'public/images/enterprises/promo_images/:id/:style/:basename.:extension'

View File

@@ -2,12 +2,17 @@ class AbilityDecorator
include CanCan::Ability
def initialize(user)
add_base_abilities user if is_new_user? user
add_enterprise_management_abilities user if can_manage_enterprises? user
add_product_management_abilities user if can_manage_products? user
add_relationship_management_abilities user if can_manage_relationships? user
end
def is_new_user?(user)
user.enterprises.blank?
end
def can_manage_enterprises?(user)
user.enterprises.present?
end
@@ -22,6 +27,9 @@ class AbilityDecorator
can_manage_enterprises? user
end
def add_base_abilities(user)
can [:create], Enterprise
end
def add_enterprise_management_abilities(user)
# Spree performs authorize! on (:create, nil) when creating a new order from admin, and also (:search, nil)
@@ -71,7 +79,7 @@ class AbilityDecorator
can [:admin, :index, :read, :create, :edit, :update, :fire], Spree::Shipment
can [:admin, :index, :read, :create, :edit, :update, :fire], Spree::Adjustment
can [:admin, :index, :read, :create, :edit, :update, :fire], Spree::ReturnAuthorization
can [:create], OrderCycle
can [:admin, :index, :read, :edit, :update, :bulk_update, :clone], OrderCycle do |order_cycle|
user.enterprises.include? order_cycle.coordinator