From 40f241b75f14b412dc931158752265fcf254c674 Mon Sep 17 00:00:00 2001 From: Senad Uka Date: Mon, 20 Jul 2020 13:28:40 +0000 Subject: [PATCH] Usptream sync --- .../javascripts/channels/broadcasts.coffee | 3 +- app/assets/javascripts/group_qr_code.js | 50 + ...recordings.js.erb => stream_player.js.erb} | 6 +- app/controllers/approvals_controller.rb | 21 +- .../contract_templates/qr_codes_controller.rb | 7 +- .../public/contract_templates_controller.rb | 18 + app/helpers/tooltip_helper.rb | 8 +- app/models/acquired_media_release.rb | 1 + app/models/appearance_release.rb | 1 + app/models/concerns/approvable.rb | 17 + app/models/concerns/csv_exportable.rb | 2 +- app/models/location_release.rb | 1 + app/models/material_release.rb | 1 + app/models/medical_release.rb | 15 +- app/models/misc_release.rb | 1 + app/models/music_release.rb | 1 + app/models/qr_code.rb | 12 + app/models/talent_release.rb | 1 + app/models/task_request.rb | 2 +- app/policies/acquired_media_release_policy.rb | 8 + app/policies/appearance_release_policy.rb | 8 + app/policies/location_release_policy.rb | 8 + app/policies/material_release_policy.rb | 8 + app/policies/misc_release_policy.rb | 8 + app/policies/music_release_policy.rb | 8 + app/policies/talent_release_policy.rb | 8 + .../_acquired_media_release.html.erb | 11 + .../acquired_media_releases/index.html.erb | 1 + .../_appearance_release.html.erb | 11 + app/views/appearance_releases/index.html.erb | 1 + app/views/approvals/new.html.erb | 8 +- app/views/broadcasts/show.html.erb | 4 +- .../_contract_template.html.erb | 1 + app/views/contract_templates/index.html.erb | 2 + app/views/contracts/pdf.html.erb | 2 +- .../_location_release.html.erb | 11 + app/views/location_releases/index.html.erb | 1 + .../_material_release.html.erb | 11 + app/views/material_releases/index.html.erb | 1 + .../_medical_release.html.erb | 2 +- .../misc_releases/_misc_release.html.erb | 11 + app/views/misc_releases/index.html.erb | 1 + .../music_releases/_music_release.html.erb | 11 + app/views/music_releases/index.html.erb | 1 + .../_contract_template.html.erb | 8 + .../public/contract_templates/index.html.erb | 27 + .../talent_releases/_talent_release.html.erb | 11 + app/views/talent_releases/index.html.erb | 1 + app/views/task_requests/_form.html.erb | 16 +- config/locales/en.yml | 46 +- config/locales/es.yml | 4 +- config/routes.rb | 12 +- ...7_add_approval_fields_to_music_releases.rb | 7 + ...53_add_approval_fields_to_misc_releases.rb | 7 + ...roval_fields_to_acquired_media_releases.rb | 7 + ...dd_approval_fields_to_material_releases.rb | 7 + ...dd_approval_fields_to_location_releases.rb | 7 + ..._add_approval_fields_to_talent_releases.rb | 7 + ..._approval_fields_to_appearance_releases.rb | 7 + db/structure.sql | 44 +- package-lock.json | 11246 ++++++++++++++++ .../qr_codes_controller_spec.rb | 9 + .../contract_templates_controller_spec.rb | 39 + ...r_managing_acquired_media_releases_spec.rb | 142 +- .../user_managing_appearance_releases_spec.rb | 151 +- .../features/user_managing_broadcasts_spec.rb | 43 + .../user_managing_location_releases_spec.rb | 151 +- .../user_managing_material_releases_spec.rb | 151 +- .../user_managing_medical_releases_spec.rb | 2 +- .../user_managing_misc_releases_spec.rb | 126 + .../user_managing_music_releases_spec.rb | 67 +- .../user_managing_talent_releases_spec.rb | 151 +- .../user_managing_task_requests_spec.rb | 31 + spec/models/task_request_spec.rb | 8 +- 74 files changed, 12779 insertions(+), 71 deletions(-) create mode 100644 app/assets/javascripts/group_qr_code.js rename app/assets/javascripts/{play_previous_recordings.js.erb => stream_player.js.erb} (80%) create mode 100644 app/controllers/public/contract_templates_controller.rb create mode 100644 app/models/concerns/approvable.rb create mode 100644 app/views/public/contract_templates/_contract_template.html.erb create mode 100644 app/views/public/contract_templates/index.html.erb create mode 100644 db/migrate/20200715084927_add_approval_fields_to_music_releases.rb create mode 100644 db/migrate/20200716055453_add_approval_fields_to_misc_releases.rb create mode 100644 db/migrate/20200716075851_add_approval_fields_to_acquired_media_releases.rb create mode 100644 db/migrate/20200716083706_add_approval_fields_to_material_releases.rb create mode 100644 db/migrate/20200716094927_add_approval_fields_to_location_releases.rb create mode 100644 db/migrate/20200716103525_add_approval_fields_to_talent_releases.rb create mode 100644 db/migrate/20200716105723_add_approval_fields_to_appearance_releases.rb create mode 100644 package-lock.json create mode 100644 spec/controllers/public/contract_templates_controller_spec.rb diff --git a/app/assets/javascripts/channels/broadcasts.coffee b/app/assets/javascripts/channels/broadcasts.coffee index 9ed744f..f163bee 100644 --- a/app/assets/javascripts/channels/broadcasts.coffee +++ b/app/assets/javascripts/channels/broadcasts.coffee @@ -21,7 +21,8 @@ $(document).on "turbolinks:load", -> refreshBroadcastVideo: (data) -> $("#broadcast_updates").html data.status_content - if data.streamer_status == 'recording' && data.status == 'active' + stream_selected = $("#broadcast_video").attr('video-type') == 'stream'; + if data.streamer_status == 'recording' && data.status == 'active' && stream_selected $("#broadcast_video").html data.video_content new (Clappr.Player)( parentId: '#broadcast_video' diff --git a/app/assets/javascripts/group_qr_code.js b/app/assets/javascripts/group_qr_code.js new file mode 100644 index 0000000..e297cc2 --- /dev/null +++ b/app/assets/javascripts/group_qr_code.js @@ -0,0 +1,50 @@ +$(document).on("click", "[data-behavior=select_contract_template]", function() { + var _this = this; + var checkbox = $(this).children("input:checkbox"); + + selectContractTemplate(_this, checkbox); +}); + +$(document).on("click", "[data-behavior=select_contract_template] input[type='checkbox']", function(e) { + e.stopPropagation(); + + var _this = this; + var checkbox = $(this); + + selectContractTemplate(_this, checkbox); +}); + +function selectContractTemplate(clicked_element, checkbox) { + if (clicked_element.hasChildNodes()) { + if(checkbox.prop("checked")) { + checkbox.prop('checked', false); + } else { + checkbox.prop('checked', true); + } + } + + var checked = checkbox.prop("checked"); + var project_id = JSON.parse($('#group_qr_code').attr('data-project-id')); + var contract_template_ids = JSON.parse($('#group_qr_code').attr('data-contract-template-ids')); + var selected_contract_template_id = checkbox.val(); + + if (checked && !contract_template_ids.includes(selected_contract_template_id)) { + contract_template_ids.push(selected_contract_template_id); + } else if(!checked && contract_template_ids.includes(selected_contract_template_id)) { + contract_template_ids.splice( $.inArray(selected_contract_template_id, contract_template_ids), 1 ); + } + + $('#group_qr_code').attr('data-contract-template-ids', JSON.stringify(contract_template_ids)); + + if (contract_template_ids.length >= 2) { + multi_sign_ids = $.param({multi_sign_ids: contract_template_ids}); + contract_template_url = "/en/contract_templates/" + contract_template_ids[0] + "/qr_codes?" + multi_sign_ids + + $("#group_qr_code").attr("href", contract_template_url); + $("#group_qr_code").attr("target", "_blank"); + $("#group_qr_code").removeClass('disabled'); + } else if (contract_template_ids.length < 2) { + $("#group_qr_code").attr("href", "javascript:void(0);"); + $("#group_qr_code").addClass('disabled'); + } +} diff --git a/app/assets/javascripts/play_previous_recordings.js.erb b/app/assets/javascripts/stream_player.js.erb similarity index 80% rename from app/assets/javascripts/play_previous_recordings.js.erb rename to app/assets/javascripts/stream_player.js.erb index c3c7b49..4a9f00d 100644 --- a/app/assets/javascripts/play_previous_recordings.js.erb +++ b/app/assets/javascripts/stream_player.js.erb @@ -3,7 +3,7 @@ $(document).on("click", "[data-behavior=play_recording]", function() { return false; } - console.warn('Play prev : ', playback_url); + $("#broadcast_video").attr('video-type', 'recording'); var playback_url = $(this).attr("data-playback-url") $("#broadcast_video").empty(); @@ -23,4 +23,6 @@ $(document).on("click", "[data-behavior=play_recording]", function() { $(this).siblings().children("i").remove(); $(this).addClass('active'); $(this).prepend(' '); -}); \ No newline at end of file +}); + +$(document).on("click", "[data-behavior=play_stream]", function() { $("#broadcast_video").attr('video-type', 'stream'); }); \ No newline at end of file diff --git a/app/controllers/approvals_controller.rb b/app/controllers/approvals_controller.rb index ad7bdd9..8b680cd 100644 --- a/app/controllers/approvals_controller.rb +++ b/app/controllers/approvals_controller.rb @@ -1,21 +1,28 @@ class ApprovalsController < ApplicationController - include MedicalReleaseContext - - before_action :set_medical_release + before_action :set_releasable 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') + @releasable.approve_by(current_user) + + if @releasable.save + redirect_to [@project, "#{@releasable_param.name.pluralize}"], notice: t('.release_approved', release_type: @releasable.model_name.human) end end private + def releasable_param + @releasable_param ||= ReleasableParam.new(params.to_unsafe_h) + end + + def set_releasable + @releasable = authorize policy_scope(releasable_param.type).find(releasable_param.id) + end + def set_project - @project = @medical_release.project + @project = @releasable.project end end diff --git a/app/controllers/contract_templates/qr_codes_controller.rb b/app/controllers/contract_templates/qr_codes_controller.rb index ffb9ee7..a0bebbb 100644 --- a/app/controllers/contract_templates/qr_codes_controller.rb +++ b/app/controllers/contract_templates/qr_codes_controller.rb @@ -16,7 +16,12 @@ class ContractTemplates::QrCodesController < ApplicationController end def qr_code - authorize QrCode.build_from_contract_template(@contract_template) + if params[:multi_sign_ids].present? + contract_templates_group = authorize contract_templates.where(id: params[:multi_sign_ids]).order_by_recent + authorize QrCode.build_from_multiple_contract_templates(contract_templates_group, @contract_template.project) + else + authorize QrCode.build_from_contract_template(@contract_template) + end end def download_attributes diff --git a/app/controllers/public/contract_templates_controller.rb b/app/controllers/public/contract_templates_controller.rb new file mode 100644 index 0000000..52dfba9 --- /dev/null +++ b/app/controllers/public/contract_templates_controller.rb @@ -0,0 +1,18 @@ +class Public::ContractTemplatesController < Public::BaseController + skip_after_action :verify_authorized, :verify_policy_scoped + before_action :set_account, :set_project + + def index + @contract_templates = @project.contract_templates.where(id: params[:contract_template_ids]).order_by_name.paginate(page: params[:page]) + end + + private + + def set_project + @project = @account.projects.find(params[:project_id]) + end + + def set_account + @account = Account.find_by(slug: params[:account_id]) + end +end \ No newline at end of file diff --git a/app/helpers/tooltip_helper.rb b/app/helpers/tooltip_helper.rb index f409b97..b401e60 100644 --- a/app/helpers/tooltip_helper.rb +++ b/app/helpers/tooltip_helper.rb @@ -6,11 +6,11 @@ module TooltipHelper end end - def get_approval_data_for_medical_release(medical_release) - if medical_release.approved_by_user_name.present? - "#{medical_release.approved_by_user_name} [#{medical_release.approved_by_user_email}]" + def get_approval_data_for_releasable(release) + if release.approved_by_user_name.present? + "#{release.approved_by_user_name} [#{release.approved_by_user_email}]" else - medical_release.approved_by_user_email + release.approved_by_user_email end end end diff --git a/app/models/acquired_media_release.rb b/app/models/acquired_media_release.rb index 8b7a7b0..d05f127 100644 --- a/app/models/acquired_media_release.rb +++ b/app/models/acquired_media_release.rb @@ -10,6 +10,7 @@ class AcquiredMediaRelease < ApplicationRecord include Syncable include PersonName include CsvExportable + include Approvable class << self def custom_csv_exportable_headers diff --git a/app/models/appearance_release.rb b/app/models/appearance_release.rb index c9bb4c0..00576e1 100644 --- a/app/models/appearance_release.rb +++ b/app/models/appearance_release.rb @@ -16,6 +16,7 @@ class AppearanceRelease < ApplicationRecord include GuardianName include SecondGuardianName include CsvExportable + include Approvable class << self def custom_csv_exportable_headers diff --git a/app/models/concerns/approvable.rb b/app/models/concerns/approvable.rb new file mode 100644 index 0000000..d55b64b --- /dev/null +++ b/app/models/concerns/approvable.rb @@ -0,0 +1,17 @@ +module Approvable + extend ActiveSupport::Concern + + included do + def approve_by(user) + return unless approved_at.nil? + + self.approved_by_user_name = user.full_name + self.approved_by_user_email = user.email + self.approved_at = Time.zone.now + end + + def approved? + self.approved_at.present? + end + end +end diff --git a/app/models/concerns/csv_exportable.rb b/app/models/concerns/csv_exportable.rb index 4619e86..3b03f59 100644 --- a/app/models/concerns/csv_exportable.rb +++ b/app/models/concerns/csv_exportable.rb @@ -3,7 +3,7 @@ module CsvExportable extend ActiveSupport::Concern - COMMON_HEADERS = %i[notes tags signed_at].freeze + COMMON_HEADERS = %i[approved? notes tags signed_at].freeze COMMON_VALUES = %w[clean_notes clean_tags signed_on].freeze included do diff --git a/app/models/location_release.rb b/app/models/location_release.rb index 1e49d73..f6063e8 100644 --- a/app/models/location_release.rb +++ b/app/models/location_release.rb @@ -11,6 +11,7 @@ class LocationRelease < ApplicationRecord include Taggable include PersonName include CsvExportable + include Approvable class << self def custom_csv_exportable_headers diff --git a/app/models/material_release.rb b/app/models/material_release.rb index dc5380e..874981b 100644 --- a/app/models/material_release.rb +++ b/app/models/material_release.rb @@ -11,6 +11,7 @@ class MaterialRelease < ApplicationRecord include Taggable include PersonName include CsvExportable + include Approvable class << self def custom_csv_exportable_headers diff --git a/app/models/medical_release.rb b/app/models/medical_release.rb index e037ef5..6e12549 100644 --- a/app/models/medical_release.rb +++ b/app/models/medical_release.rb @@ -12,10 +12,11 @@ class MedicalRelease < ApplicationRecord include GuardianName include SecondGuardianName include CsvExportable + include Approvable class << self def custom_csv_exportable_headers - %i[approved? name contact_info] + %i[name contact_info] end end @@ -107,18 +108,6 @@ class MedicalRelease < ApplicationRecord "#{project.name.parameterize}_#{contract_template.release_type}_#{(signed_at || created_at).strftime("%Y.%m.%d")}_#{release_number}_#{filename_suffix.parameterize}" end - def approve_by(user) - return unless approved_at.nil? - - self.approved_by_user_name = user.full_name - self.approved_by_user_email = user.email - self.approved_at = Time.zone.now - end - - def approved? - approved_at.present? - end - private def valid_answers diff --git a/app/models/misc_release.rb b/app/models/misc_release.rb index 2679542..f59dbec 100644 --- a/app/models/misc_release.rb +++ b/app/models/misc_release.rb @@ -10,6 +10,7 @@ class MiscRelease < ApplicationRecord include GuardianName include GuardianPhotoable include CsvExportable + include Approvable class << self def custom_csv_exportable_headers diff --git a/app/models/music_release.rb b/app/models/music_release.rb index b324b9f..9c8454e 100644 --- a/app/models/music_release.rb +++ b/app/models/music_release.rb @@ -8,6 +8,7 @@ class MusicRelease < ApplicationRecord include Taggable include PersonName include CsvExportable + include Approvable class << self def custom_csv_exportable_headers diff --git a/app/models/qr_code.rb b/app/models/qr_code.rb index 2dd13de..a26a0df 100644 --- a/app/models/qr_code.rb +++ b/app/models/qr_code.rb @@ -13,6 +13,18 @@ class QrCode new(url, "#{filename}.png") end + def self.build_from_multiple_contract_templates(contract_templates, project) + account = project.account + locale = I18n.locale + host = AppHost.new.domain_with_port + route = [account, project, :contract_templates, contract_template_ids: contract_templates.ids, locale: I18n.locale, host: AppHost.new.domain_with_port] + + url = Rails.application.routes.url_helpers.url_for(route) + filename = [project.account.name, project.name].map(&:parameterize).join("_") + + new(url, "#{filename}.png") + end + def initialize(url, filename = "qrcode.png") @url = url @filename = filename diff --git a/app/models/talent_release.rb b/app/models/talent_release.rb index f507ba7..74efb83 100644 --- a/app/models/talent_release.rb +++ b/app/models/talent_release.rb @@ -15,6 +15,7 @@ class TalentRelease < ApplicationRecord include GuardianName include SecondGuardianName include CsvExportable + include Approvable class << self def custom_csv_exportable_headers diff --git a/app/models/task_request.rb b/app/models/task_request.rb index 04345ac..7f43e18 100644 --- a/app/models/task_request.rb +++ b/app/models/task_request.rb @@ -6,5 +6,5 @@ class TaskRequest < ApplicationRecord scope :order_by_recent, -> { order(created_at: :desc) } - validates :time_allowed, numericality: { only_integer: true, greater_than_or_equal_to: 2 } + validates :time_allowed, numericality: { only_integer: true, greater_than_or_equal_to: 2 }, allow_blank: true end diff --git a/app/policies/acquired_media_release_policy.rb b/app/policies/acquired_media_release_policy.rb index f2e5108..9d59ba8 100644 --- a/app/policies/acquired_media_release_policy.rb +++ b/app/policies/acquired_media_release_policy.rb @@ -30,4 +30,12 @@ class AcquiredMediaReleasePolicy < ApplicationPolicy def download_multiple? true end + + def review? + user.account_manager? + end + + def approve? + review? + end end diff --git a/app/policies/appearance_release_policy.rb b/app/policies/appearance_release_policy.rb index b49287b..dd58643 100644 --- a/app/policies/appearance_release_policy.rb +++ b/app/policies/appearance_release_policy.rb @@ -26,4 +26,12 @@ class AppearanceReleasePolicy < ReleasePolicy def download_multiple? true end + + def review? + user.account_manager? + end + + def approve? + review? + end end diff --git a/app/policies/location_release_policy.rb b/app/policies/location_release_policy.rb index 66e2114..ead9d02 100644 --- a/app/policies/location_release_policy.rb +++ b/app/policies/location_release_policy.rb @@ -34,4 +34,12 @@ class LocationReleasePolicy < ReleasePolicy def download_multiple? true end + + def review? + user.account_manager? + end + + def approve? + review? + end end diff --git a/app/policies/material_release_policy.rb b/app/policies/material_release_policy.rb index 4c834f7..4d1192f 100644 --- a/app/policies/material_release_policy.rb +++ b/app/policies/material_release_policy.rb @@ -34,4 +34,12 @@ class MaterialReleasePolicy < ReleasePolicy def download_multiple? true end + + def review? + user.account_manager? + end + + def approve? + review? + end end diff --git a/app/policies/misc_release_policy.rb b/app/policies/misc_release_policy.rb index 06bae3b..df9e59c 100644 --- a/app/policies/misc_release_policy.rb +++ b/app/policies/misc_release_policy.rb @@ -38,4 +38,12 @@ class MiscReleasePolicy < ReleasePolicy def download_multiple? download_single? end + + def review? + user.account_manager? + end + + def approve? + review? + end end diff --git a/app/policies/music_release_policy.rb b/app/policies/music_release_policy.rb index 14d0224..20688f7 100644 --- a/app/policies/music_release_policy.rb +++ b/app/policies/music_release_policy.rb @@ -22,4 +22,12 @@ class MusicReleasePolicy < ReleasePolicy def download_multiple? true end + + def review? + user.account_manager? + end + + def approve? + review? + end end diff --git a/app/policies/talent_release_policy.rb b/app/policies/talent_release_policy.rb index 5d3a308..ec440b9 100644 --- a/app/policies/talent_release_policy.rb +++ b/app/policies/talent_release_policy.rb @@ -34,4 +34,12 @@ class TalentReleasePolicy < ReleasePolicy def download_multiple? true end + + def review? + user.account_manager? + end + + def approve? + review? + end end diff --git a/app/views/acquired_media_releases/_acquired_media_release.html.erb b/app/views/acquired_media_releases/_acquired_media_release.html.erb index 4741e61..2ebcc67 100644 --- a/app/views/acquired_media_releases/_acquired_media_release.html.erb +++ b/app/views/acquired_media_releases/_acquired_media_release.html.erb @@ -1,5 +1,13 @@ <%= check_box_tag "acquired_media_release_ids[]", acquired_media_release.id, false %> + + <% if acquired_media_release.approved? %> + <% tooltip_user_data = get_approval_data_for_releasable(acquired_media_release) %> + + <% end %> + <%= acquired_media_release.name %> @@ -35,6 +43,9 @@ <% if policy(Contract).show? && (acquired_media_release.contract.attached? || acquired_media_release.contract_template.present?) %> <%= link_to fa_icon("download fw", text: "Download"), [acquired_media_release, :contracts, format: "pdf"], class: "dropdown-item", target: "_blank" %> <% end %> + <% if policy(AcquiredMediaRelease).review? %> + <%= link_to fa_icon("search fw", text: t('.actions.review')), new_acquired_media_release_approvals_path(acquired_media_release), class: "dropdown-item" %> + <% end %> <% if policy(acquired_media_release).edit? %> <%= link_to fa_icon("pencil fw", text: "Edit"), [:edit, acquired_media_release], class: "dropdown-item" %> <% end %> diff --git a/app/views/acquired_media_releases/index.html.erb b/app/views/acquired_media_releases/index.html.erb index 8a9f7d3..3bbc09c 100644 --- a/app/views/acquired_media_releases/index.html.erb +++ b/app/views/acquired_media_releases/index.html.erb @@ -26,6 +26,7 @@ <%= check_box_tag "acquired_media_release_ids[]", false, false %> + <%= t '.table_headers.approved'%> <%= AcquiredMediaRelease.human_attribute_name(:name) %> <%= t(".table_headers.file_infos_count") %> <%= t(".table_headers.notes") %> diff --git a/app/views/appearance_releases/_appearance_release.html.erb b/app/views/appearance_releases/_appearance_release.html.erb index 9779356..4e1d369 100644 --- a/app/views/appearance_releases/_appearance_release.html.erb +++ b/app/views/appearance_releases/_appearance_release.html.erb @@ -1,5 +1,13 @@ <%= check_box_tag "appearance_release_ids[]", appearance_release.id, false %> + + <% if appearance_release.approved? %> + <% tooltip_user_data = get_approval_data_for_releasable(appearance_release) %> + + <% end %> + <% if appearance_release.photo.attached? %> <%= image_tag medium_variant(appearance_release.photo) %> @@ -39,6 +47,9 @@ <% if policy(Contract).show? && (appearance_release.contract.attached? || appearance_release.contract_template.present?) %> <%= link_to fa_icon("download fw", text: "Download"), [appearance_release, :contracts, format: "pdf"], class: "dropdown-item", target: "_blank" %> <% end %> + <% if policy(AppearanceRelease).review? %> + <%= link_to fa_icon("search fw", text: t('.actions.review')), new_appearance_release_approvals_path(appearance_release), class: "dropdown-item" %> + <% end %> <% if policy(appearance_release).edit? %> <%= link_to fa_icon("pencil fw", text: "Edit"), [:edit, appearance_release], class: "dropdown-item" %> <% end %> diff --git a/app/views/appearance_releases/index.html.erb b/app/views/appearance_releases/index.html.erb index f496ca2..2d51e2c 100644 --- a/app/views/appearance_releases/index.html.erb +++ b/app/views/appearance_releases/index.html.erb @@ -44,6 +44,7 @@ <%= check_box_tag "appearance_release_ids[]", false, false %> + <%= t '.table_headers.approved'%> <%= AppearanceRelease.human_attribute_name(:person_name) %> <%= AppearanceRelease.human_attribute_name(:contact_info) %> diff --git a/app/views/approvals/new.html.erb b/app/views/approvals/new.html.erb index 688d2ba..cc1127d 100644 --- a/app/views/approvals/new.html.erb +++ b/app/views/approvals/new.html.erb @@ -1,11 +1,11 @@
- <%= card_header text: t(".heading"), close_action_path: [@project, :medical_releases] %> + <%= card_header text: t(".heading", release_type: @releasable_param.name.titleize), close_action_path: [@project, "#{@releasable_param.name.pluralize}"] %>
- " width="90%" height="1200" /> + " width="90%" height="1200" /> - <%= bootstrap_form_with model: @medical_release, method: :post, url: medical_release_approvals_path(@medical_release), local: true do |form| %> + <%= bootstrap_form_with model: @releasable, method: :post, url: public_send("#{@releasable_param.name}_approvals_path", @releasable), local: true do |form| %>
- <%= link_to t("shared.cancel"), [@medical_release.project, :medical_releases], class: "col-3 text-reset" %> + <%= link_to t("shared.cancel"), [@releasable.project, "#{@releasable_param.name.pluralize}"], class: "col-3 text-reset" %>
<%= form.button t('.actions.approve'), id: "approve_release", class: class_string("btn btn-block btn-success btn-primary"), data: { disable_with: t("shared.disable_with") } %>
diff --git a/app/views/broadcasts/show.html.erb b/app/views/broadcasts/show.html.erb index 12e0a93..d36fccc 100644 --- a/app/views/broadcasts/show.html.erb +++ b/app/views/broadcasts/show.html.erb @@ -33,10 +33,10 @@ <%= link_to "Switch View", "#", class: "btn btn-light border dropdown-toggle", role: "button", id: "dropdownMenuLink", data: { toggle: "dropdown" }, aria: { haspopup: "true", expanded: "false" } %>