Sha256: 965bde555baa9eccfa5e8f4b9f392dc72828ed73d4a8627aac50f649341318d2
Contents?: true
Size: 1.1 KB
Versions: 4
Compression:
Stored size: 1.1 KB
Contents
# frozen_string_literal: true module Decidim module ResourceLocatorPresenterOverride extend ActiveSupport::Concern included do # Generates and admin url only if the manifest has the property :admin_route_name defined # this allows to distinct from resources that can be administrated from those that are not def admin_url(options = {}) admin_member_route("url", options.merge(host: root_resource.organization.host)) end private def admin_member_route(route_type, options) return if manifest_for(target).admin_route_name.blank? options.merge!(options_for_polymorphic) admin_route_proxy.send("#{admin_member_route_name}_#{route_type}", target, options) end def admin_member_route_name if polymorphic? admin_polymorphic_member_route_name else manifest_for(target).admin_route_name end end def admin_polymorphic_member_route_name return unless polymorphic? resource.map { |record| manifest_for(record).admin_route_name }.join("_") end end end end
Version data entries
4 entries across 4 versions & 1 rubygems