Initial commit
This commit is contained in:
0
app/controllers/concerns/.keep
Normal file
0
app/controllers/concerns/.keep
Normal file
13
app/controllers/concerns/acquired_media_release_context.rb
Normal file
13
app/controllers/concerns/acquired_media_release_context.rb
Normal file
@@ -0,0 +1,13 @@
|
||||
module AcquiredMediaReleaseContext
|
||||
extend ActiveSupport::Concern
|
||||
|
||||
def acquired_media_releases
|
||||
policy_scope(AcquiredMediaRelease)
|
||||
end
|
||||
|
||||
def set_acquired_media_release
|
||||
acquired_media_release_id = params[:acquired_media_release_id] || params[:id]
|
||||
|
||||
@acquired_media_release = authorize acquired_media_releases.find(acquired_media_release_id)
|
||||
end
|
||||
end
|
||||
13
app/controllers/concerns/appearance_release_context.rb
Normal file
13
app/controllers/concerns/appearance_release_context.rb
Normal file
@@ -0,0 +1,13 @@
|
||||
module AppearanceReleaseContext
|
||||
extend ActiveSupport::Concern
|
||||
|
||||
def appearance_releases
|
||||
policy_scope(AppearanceRelease)
|
||||
end
|
||||
|
||||
def set_appearance_release
|
||||
appearance_release_id = params[:appearance_release_id] || params[:id]
|
||||
|
||||
@appearance_release = authorize appearance_releases.find(appearance_release_id)
|
||||
end
|
||||
end
|
||||
21
app/controllers/concerns/create_releasable_jobs.rb
Normal file
21
app/controllers/concerns/create_releasable_jobs.rb
Normal file
@@ -0,0 +1,21 @@
|
||||
# frozen_string_literal: true
|
||||
|
||||
module CreateReleasableJobs
|
||||
extend ActiveSupport::Concern
|
||||
|
||||
def after_create(releasable)
|
||||
if headshots?(releasable)
|
||||
AddHeadshotCollectionUidToProjectJob.perform_later(releasable.project)
|
||||
end
|
||||
SetTagsForReleasableJob.perform_later(releasable)
|
||||
if releasable.contract_template.present?
|
||||
AttachContractToReleasableJob.perform_later(releasable)
|
||||
end
|
||||
end
|
||||
|
||||
private
|
||||
|
||||
def headshots?(releasable)
|
||||
[AppearanceRelease, TalentRelease].include?(releasable.class)
|
||||
end
|
||||
end
|
||||
13
app/controllers/concerns/location_release_context.rb
Normal file
13
app/controllers/concerns/location_release_context.rb
Normal file
@@ -0,0 +1,13 @@
|
||||
module LocationReleaseContext
|
||||
extend ActiveSupport::Concern
|
||||
|
||||
def location_releases
|
||||
policy_scope(LocationRelease)
|
||||
end
|
||||
|
||||
def set_location_release
|
||||
location_release_id = params[:location_release_id] || params[:id]
|
||||
|
||||
@location_release = authorize location_releases.find(location_release_id)
|
||||
end
|
||||
end
|
||||
13
app/controllers/concerns/music_release_context.rb
Normal file
13
app/controllers/concerns/music_release_context.rb
Normal file
@@ -0,0 +1,13 @@
|
||||
module MusicReleaseContext
|
||||
extend ActiveSupport::Concern
|
||||
|
||||
def music_releases
|
||||
policy_scope(MusicRelease)
|
||||
end
|
||||
|
||||
def set_music_release
|
||||
music_release_id = params[:music_release_id] || params[:id]
|
||||
|
||||
@music_release = authorize music_releases.find(music_release_id)
|
||||
end
|
||||
end
|
||||
13
app/controllers/concerns/project_context.rb
Normal file
13
app/controllers/concerns/project_context.rb
Normal file
@@ -0,0 +1,13 @@
|
||||
module ProjectContext
|
||||
extend ActiveSupport::Concern
|
||||
|
||||
def projects
|
||||
policy_scope(Project)
|
||||
end
|
||||
|
||||
def set_project
|
||||
project_id = params[:project_id]
|
||||
|
||||
@project = projects.find(project_id)
|
||||
end
|
||||
end
|
||||
15
app/controllers/concerns/project_layout.rb
Normal file
15
app/controllers/concerns/project_layout.rb
Normal file
@@ -0,0 +1,15 @@
|
||||
module ProjectLayout
|
||||
extend ActiveSupport::Concern
|
||||
|
||||
included do
|
||||
layout "project"
|
||||
|
||||
breadcrumb -> { t("shared.files") }, -> { project_for_layout }, match: :exact
|
||||
breadcrumb -> { controller_name.titleize }, -> { [project_for_layout, controller_name] }, match: :exact
|
||||
breadcrumb -> { action_name.titleize }, :url_for, only: [:new, :edit]
|
||||
|
||||
def project_for_layout
|
||||
@project || instance_variable_get("@#{controller_name.singularize}").project
|
||||
end
|
||||
end
|
||||
end
|
||||
10
app/controllers/concerns/set_current_request_details.rb
Normal file
10
app/controllers/concerns/set_current_request_details.rb
Normal file
@@ -0,0 +1,10 @@
|
||||
module SetCurrentRequestDetails
|
||||
extend ActiveSupport::Concern
|
||||
|
||||
included do
|
||||
before_action do
|
||||
Current.user = current_user if signed_in?
|
||||
Current.account = Account.find(session[:active_account]) if session[:active_account]
|
||||
end
|
||||
end
|
||||
end
|
||||
13
app/controllers/concerns/talent_release_context.rb
Normal file
13
app/controllers/concerns/talent_release_context.rb
Normal file
@@ -0,0 +1,13 @@
|
||||
module TalentReleaseContext
|
||||
extend ActiveSupport::Concern
|
||||
|
||||
def talent_releases
|
||||
policy_scope(TalentRelease)
|
||||
end
|
||||
|
||||
def set_talent_release
|
||||
talent_release_id = params[:talent_release_id] || params[:id]
|
||||
|
||||
@talent_release = authorize talent_releases.find(talent_release_id)
|
||||
end
|
||||
end
|
||||
Reference in New Issue
Block a user