Sha256: e9efe1157cbf681b274801bc01f3684cb676a05e3cc097a1b77e02f40feb93e1
Contents?: true
Size: 1.33 KB
Versions: 1
Compression:
Stored size: 1.33 KB
Contents
module Locomotive class SitePolicy < ApplicationPolicy class Scope < Scope def resolve if membership.account.super_admin? scope.all else membership.account.sites end end end def index? true end def show? true end def create? true end def update? super_admin? || site_staff? end def destroy? super_admin? || site_admin? end def point? !resource.try(:persisted?) || super_admin? || site_admin? end def update_advanced? super_admin? || site_admin? end def show_developers_documentation? super_admin? || site_admin? end def permitted_attributes plain = [:name, :handle, :picture, :remove_picture, :seo_title, :meta_keywords, :meta_description, :timezone_name, :robots_txt, :cache_enabled, :redirect_to_first_domain, :private_access, :password] hash = { domains: [], locales: [], url_redirections: [] } unless update_advanced? plain -= [:timezone_name, :robots_txt, :cache_enabled] hash.delete(:locales) hash.delete(:url_redirections) end unless point? plain -= [:handle, :redirect_to_first_domain, :private_access, :password] hash.delete(:domains) end plain << hash end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
locomotivecms-3.0.0.rc6 | app/policies/locomotive/site_policy.rb |