Cast me
This commit is contained in:
@@ -17,7 +17,7 @@ class AccountsController < ApplicationController
|
||||
|
||||
if sign_in(user)
|
||||
TrackAnalyticsJob.perform_later(user, user.primary_account, :track_guest_sign_up, user_agent: request.user_agent, user_ip: request.remote_ip)
|
||||
SubmitHubspotFormJob.perform_later(user.first_name, user.last_name, user.email, account.name, i_m_interested_in: user.interested_product_name)
|
||||
SubmitHubspotFormJob.perform_later(first_name: user.first_name, last_name: user.last_name, email: user.email, company: account.name, i_m_interested_in: user.interested_product_name, form_guid: ENV["HUBSPOT_FORM_GUID"])
|
||||
redirect_to signed_in_root_path
|
||||
else
|
||||
redirect_to new_session_path, alert: t(".notice")
|
||||
|
||||
64
app/controllers/admin/casting_call_interviews_controller.rb
Normal file
64
app/controllers/admin/casting_call_interviews_controller.rb
Normal file
@@ -0,0 +1,64 @@
|
||||
class Admin::CastingCallInterviewsController < Admin::ApplicationController
|
||||
before_action :set_casting_call_interview, only: [:edit, :update, :show, :complete]
|
||||
before_action :build_casting_call_interview, only: [:new, :create]
|
||||
|
||||
def index
|
||||
@casting_call_interviews = casting_call_interviews.order_by_recent.paginate(page: params[:page])
|
||||
end
|
||||
|
||||
def new
|
||||
@accounts = accounts
|
||||
end
|
||||
|
||||
def create
|
||||
@casting_call_interview.attributes = casting_call_interview_params
|
||||
|
||||
if @casting_call_interview.save
|
||||
redirect_to [:admin, :casting_call_interviews], notice: t(".notice")
|
||||
else
|
||||
render :new
|
||||
end
|
||||
end
|
||||
|
||||
def edit
|
||||
@accounts = accounts
|
||||
end
|
||||
|
||||
def update
|
||||
if @casting_call_interview.update(casting_call_interview_params)
|
||||
redirect_to [:admin, :casting_call_interviews], notice: t(".notice")
|
||||
else
|
||||
render :edit
|
||||
end
|
||||
end
|
||||
|
||||
def complete
|
||||
if @casting_call_interview.update(interviewed_at: Time.zone.now)
|
||||
redirect_to [:admin, :casting_call_interviews], notice: t(".notice")
|
||||
else
|
||||
redirect_to [:admin, :casting_call_interviews], notice: t(".alert")
|
||||
end
|
||||
end
|
||||
|
||||
private
|
||||
|
||||
def casting_call_interview_params
|
||||
params.require(:casting_call_interview).permit(:casting_call_id, :performer_name, :interview_date, :zoom_meeting_url)
|
||||
end
|
||||
|
||||
def casting_call_interviews
|
||||
policy_scope CastingCallInterview
|
||||
end
|
||||
|
||||
def set_casting_call_interview
|
||||
@casting_call_interview = authorize policy_scope(CastingCallInterview).find(params[:id])
|
||||
end
|
||||
|
||||
def accounts
|
||||
policy_scope Account
|
||||
end
|
||||
|
||||
def build_casting_call_interview
|
||||
@casting_call_interview = authorize policy_scope(CastingCallInterview).build
|
||||
end
|
||||
end
|
||||
@@ -1,11 +0,0 @@
|
||||
class Api::MedicalReleasesController < Api::ReleasesController
|
||||
deserializable_resource :medical_release, only: [:create, :update]
|
||||
|
||||
def model_name
|
||||
"medical_release"
|
||||
end
|
||||
|
||||
def attributes_for_index
|
||||
[:name]
|
||||
end
|
||||
end
|
||||
@@ -1,11 +0,0 @@
|
||||
class Api::MiscReleasesController < Api::ReleasesController
|
||||
deserializable_resource :misc_release, only: [:create, :update]
|
||||
|
||||
def model_name
|
||||
"misc_release"
|
||||
end
|
||||
|
||||
def attributes_for_index
|
||||
[:name]
|
||||
end
|
||||
end
|
||||
@@ -10,10 +10,8 @@ class Api::SyncController < Api::ApiController
|
||||
@appearance_releases = (AppearanceRelease.where(project: accessible_projects))
|
||||
@location_releases = (LocationRelease.where(project: accessible_projects))
|
||||
@material_releases = (MaterialRelease.where(project: accessible_projects))
|
||||
@medical_releases = MedicalRelease.where(project: accessible_projects)
|
||||
@misc_releases = MiscRelease.where(project: accessible_projects)
|
||||
@talent_releases = (TalentRelease.where(project: accessible_projects))
|
||||
@notes = notes_query(Note.where(notable: @appearance_releases + @location_releases + @material_releases + @medical_releases + @misc_releases + @talent_releases + @acquired_media_releases ))
|
||||
@notes = notes_query(Note.where(notable: @appearance_releases + @location_releases + @material_releases + @talent_releases + @acquired_media_releases ))
|
||||
|
||||
render json: {
|
||||
data: {
|
||||
@@ -24,8 +22,6 @@ class Api::SyncController < Api::ApiController
|
||||
appearance_releases: releases_query(@appearance_releases),
|
||||
location_releases: releases_query(@location_releases),
|
||||
material_releases: releases_query(@material_releases),
|
||||
medical_releases: releases_query(@medical_releases),
|
||||
misc_releases: releases_query(@misc_releases),
|
||||
talent_releases: releases_query(@talent_releases),
|
||||
notes: @notes
|
||||
}
|
||||
|
||||
@@ -1,21 +0,0 @@
|
||||
class ApprovalsController < ApplicationController
|
||||
include MedicalReleaseContext
|
||||
|
||||
before_action :set_medical_release
|
||||
before_action :set_project
|
||||
|
||||
layout "project"
|
||||
|
||||
def create
|
||||
@medical_release.approve_by(current_user)
|
||||
if @medical_release.save
|
||||
redirect_to [@project, :medical_releases], notice: t('.release_approved')
|
||||
end
|
||||
end
|
||||
|
||||
private
|
||||
|
||||
def set_project
|
||||
@project = @medical_release.project
|
||||
end
|
||||
end
|
||||
28
app/controllers/casting_call_interviews_controller.rb
Normal file
28
app/controllers/casting_call_interviews_controller.rb
Normal file
@@ -0,0 +1,28 @@
|
||||
class CastingCallInterviewsController < ApplicationController
|
||||
before_action :set_project
|
||||
before_action :set_casting_call_interview, only: [:show]
|
||||
|
||||
include ProjectLayout
|
||||
|
||||
def index
|
||||
@casting_call_interviews = casting_call_interviews.completed.order_by_recent.paginate(page: params[:page])
|
||||
end
|
||||
|
||||
def show
|
||||
@files = @casting_call_interview.files.paginate(page: params[:page])
|
||||
end
|
||||
|
||||
private
|
||||
|
||||
def set_project
|
||||
@project = policy_scope(Project).find(params[:project_id])
|
||||
end
|
||||
|
||||
def set_casting_call_interview
|
||||
@casting_call_interview = authorize casting_call_interviews.find(params[:id])
|
||||
end
|
||||
|
||||
def casting_call_interviews
|
||||
authorize policy_scope(CastingCallInterview)
|
||||
end
|
||||
end
|
||||
76
app/controllers/casting_calls_controller.rb
Normal file
76
app/controllers/casting_calls_controller.rb
Normal file
@@ -0,0 +1,76 @@
|
||||
class CastingCallsController < ApplicationController
|
||||
layout "project"
|
||||
|
||||
before_action :set_project
|
||||
before_action :build_casting_call, only: [:new, :create]
|
||||
before_action :set_casting_call, only: [:show, :edit, :update, :cancel]
|
||||
|
||||
def index
|
||||
@casting_calls = casting_calls.order_by_recent.paginate(page: params[:page])
|
||||
end
|
||||
|
||||
def new
|
||||
end
|
||||
|
||||
def create
|
||||
@casting_call.attributes = casting_call_params_with_email
|
||||
|
||||
if @casting_call.save
|
||||
log_create_analytics
|
||||
castme_url = url_for([@project, @casting_call])
|
||||
SubmitHubspotFormJob.perform_later(email: @casting_call.user_email, castme_url: castme_url, form_guid: ENV["HUBSPOT_CASTING_CALL_REQUEST_FORM_GUID"])
|
||||
else
|
||||
render :new
|
||||
end
|
||||
end
|
||||
|
||||
def show
|
||||
render layout: 'application'
|
||||
end
|
||||
|
||||
def edit
|
||||
end
|
||||
|
||||
def update
|
||||
if @casting_call.update(casting_call_params)
|
||||
redirect_to [@project, :casting_calls], notice: t(".notice")
|
||||
else
|
||||
render :edit
|
||||
end
|
||||
end
|
||||
|
||||
def cancel
|
||||
@casting_call.update(cancelled_at: Time.zone.now)
|
||||
redirect_to [@project, :casting_calls], notice: t(".notice")
|
||||
end
|
||||
|
||||
private
|
||||
|
||||
def casting_call_params
|
||||
params.require(:casting_call).permit(:title, :description, :project_description, :interview_instructions, :interview_requirements, :questions)
|
||||
end
|
||||
|
||||
def casting_call_params_with_email
|
||||
casting_call_params.merge(user_email: Current.user.email)
|
||||
end
|
||||
|
||||
def set_project
|
||||
@project = policy_scope(Project).find(params[:project_id])
|
||||
end
|
||||
|
||||
def set_casting_call
|
||||
@casting_call = authorize casting_calls.find(params[:id])
|
||||
end
|
||||
|
||||
def casting_calls
|
||||
authorize policy_scope(@project.casting_calls)
|
||||
end
|
||||
|
||||
def build_casting_call
|
||||
@casting_call = authorize @project.casting_calls.build
|
||||
end
|
||||
|
||||
def log_create_analytics
|
||||
TrackAnalyticsJob.perform_later(Current.user, Current.account, :track_create_casting_call, user_agent: request.user_agent, user_ip: request.remote_ip)
|
||||
end
|
||||
end
|
||||
@@ -62,19 +62,18 @@ class ContractTemplatesController < ApplicationController
|
||||
def contract_template_params
|
||||
params
|
||||
.require(:contract_template)
|
||||
.permit(:name, :release_type, :body, :guardian_clause,
|
||||
:signature_legal_text, :fee,
|
||||
.permit(:name, :release_type, :body, :guardian_clause, :fee,
|
||||
:applicable_medium_id, :applicable_medium_text,
|
||||
:territory_id, :territory_text,
|
||||
:term_id, :term_text, :accessibility,
|
||||
:term_id, :term_text,
|
||||
:restriction_id, :restriction_text,
|
||||
:question_1_text, :question_2_text,
|
||||
:question_3_text, :question_4_text,
|
||||
:question_5_text, :question_6_text,
|
||||
:question_7_text, :question_8_text,
|
||||
:question_1_text, :question_2_text,
|
||||
:question_3_text, :question_4_text,
|
||||
:question_5_text, :question_6_text,
|
||||
:question_7_text, :question_8_text,
|
||||
:question_9_text, :question_10_text,
|
||||
:question_11_text, :question_12_text,
|
||||
:question_13_text, :question_14_text,
|
||||
:question_11_text, :question_12_text,
|
||||
:question_13_text, :question_14_text,
|
||||
:question_15_text)
|
||||
end
|
||||
|
||||
|
||||
30
app/controllers/interview_downloads_controller.rb
Normal file
30
app/controllers/interview_downloads_controller.rb
Normal file
@@ -0,0 +1,30 @@
|
||||
class InterviewDownloadsController < ApplicationController
|
||||
include ProjectContext
|
||||
|
||||
before_action :set_project, only: [:create]
|
||||
before_action :set_casting_call_interview, only: :create
|
||||
|
||||
include ProjectLayout
|
||||
|
||||
def create
|
||||
download = @project.downloads.create!(name: @casting_call_interview.zip_file_name, release_type: "CastingCallInterview")
|
||||
|
||||
other_downloads_in_progress = @project.downloads.unfinished_desc_order.offset(1)
|
||||
|
||||
if other_downloads_in_progress.any?
|
||||
in_progress_downloads_details = render_to_string "_other_pending_downloads", locals: { downloads: other_downloads_in_progress, release_type: "CastingCallInterview" }, :layout => false
|
||||
ProjectsChannel.broadcast_download_generation_update(download, in_progress_downloads_details)
|
||||
else
|
||||
ProjectsChannel.broadcast_download_generation_update(download, I18n.t("interview_downloads.download.pending", release_type: "Casting Call Interview"))
|
||||
end
|
||||
|
||||
GenerateInterviewFilesZipJob.perform_later(@project, download, @casting_call_interview)
|
||||
end
|
||||
|
||||
private
|
||||
|
||||
def set_casting_call_interview
|
||||
authorize(Download)
|
||||
@casting_call_interview = policy_scope(@project.casting_call_interviews).find(params[:casting_call_interview_id])
|
||||
end
|
||||
end
|
||||
25
app/controllers/public/casting_call_interviews_controller.rb
Normal file
25
app/controllers/public/casting_call_interviews_controller.rb
Normal file
@@ -0,0 +1,25 @@
|
||||
class Public::CastingCallInterviewsController < Public::BaseController
|
||||
skip_after_action :verify_authorized
|
||||
before_action :set_casting_call_interview, only: [:show, :update]
|
||||
|
||||
def show
|
||||
end
|
||||
|
||||
def update
|
||||
if @casting_call_interview.update(casting_call_interview_params)
|
||||
redirect_to casting_call_interview_url(token: @casting_call_interview.token), notice: t(".notice")
|
||||
else
|
||||
render :show
|
||||
end
|
||||
end
|
||||
|
||||
private
|
||||
|
||||
def set_casting_call_interview
|
||||
@casting_call_interview = CastingCallInterview.find_by_token(params[:token])
|
||||
end
|
||||
|
||||
def casting_call_interview_params
|
||||
params.require(:casting_call_interview).permit(files: [])
|
||||
end
|
||||
end
|
||||
14
app/controllers/public/casting_calls_controller.rb
Normal file
14
app/controllers/public/casting_calls_controller.rb
Normal file
@@ -0,0 +1,14 @@
|
||||
class Public::CastingCallsController < Public::BaseController
|
||||
skip_after_action :verify_authorized
|
||||
before_action :set_casting_call, only: [:show]
|
||||
|
||||
def show
|
||||
render layout: 'application'
|
||||
end
|
||||
|
||||
private
|
||||
|
||||
def set_casting_call
|
||||
@casting_call = CastingCall.find_by_token(params[:token])
|
||||
end
|
||||
end
|
||||
@@ -28,9 +28,8 @@ class StreamNotificationsController < ApplicationController
|
||||
asset_uid = notification.dig(:object, :id)
|
||||
playback_uid = notification.dig(:data, :playback_ids, 0, :id)
|
||||
file_name = notification.dig(:data, :static_renditions, :files, -1, :name)
|
||||
duration = notification.dig(:data, :duration)
|
||||
|
||||
recording = @broadcast.broadcast_recordings.create!(asset_uid: asset_uid, asset_playback_uid: playback_uid, file_name: file_name, duration: duration)
|
||||
recording = @broadcast.broadcast_recordings.create!(asset_uid: asset_uid, asset_playback_uid: playback_uid, file_name: file_name)
|
||||
recordings = @broadcast.broadcast_recordings.order_by_recent.paginate(page: params[:page])
|
||||
|
||||
link = helpers.link_to(recording.broadcast_name.titleize, recording.download_url, target: "_blank")
|
||||
|
||||
@@ -19,7 +19,7 @@ class TaskRequestsController < ApplicationController
|
||||
if @task_request.save
|
||||
log_create_analytics
|
||||
taskme_url = url_for([:admin, @task_request])
|
||||
SubmitHubspotTaskRequestFormJob.perform_later(@task_request.user_email, taskme_url)
|
||||
SubmitHubspotFormJob.perform_later(email: @task_request.user_email, taskme_url: taskme_url, form_guid: ENV["HUBSPOT_TASK_REQUEST_FORM_GUID"])
|
||||
else
|
||||
render :new
|
||||
end
|
||||
|
||||
Reference in New Issue
Block a user