Module: Crm::PublicationsHelper
- Defined in:
- app/helpers/crm/publications_helper.rb
Overview
View helper for CRM publications — form setup and the action/transmit
link sets rendered on the CRM publication views.
Instance Method Summary collapse
-
#publication_command_options(publication = @publication) ⇒ Array<String>
Build the management action links for a publication.
-
#publication_transmit_options(publication = @publication) ⇒ Array<String>
Build the transmit/download links for a publication's literature.
-
#setup_publication(publication) ⇒ Publication
Prepare a publication for the form by ensuring its literature upload exists.
Instance Method Details
#publication_command_options(publication = @publication) ⇒ Array<String>
Build the management action links for a publication.
23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 |
# File 'app/helpers/crm/publications_helper.rb', line 23 def (publication = @publication) links = [] if can?(:update, publication) links << link_to("Edit", edit_publication_path(publication), data: { turbo_action: 'replace' }) links << link_to("Revise", revise_publication_path(publication), data: { turbo_method: :post }) links << link_to("Update Stock", edit_stock_publication_path(publication), data: { turbo_method: :post }) links << link_to("Generate Cover Image", generate_cover_image_publication_path(publication), data: { turbo_method: :post }) links << link_to("Create PDF Variation", create_pdf_variation_publication_path(publication), data: { turbo_method: :post }) if publication.literature && can?(:read, GeneratedPdf) links << link_to("Translate PDF", translate_pdf_publication_path(publication)) if publication.literature&. && can?(:read, GeneratedPdf) && DeepLClient.configured? links << link_to("Edit Typst Master", edit_typst_publication_path(publication), data: { turbo_method: :post }) if publication.literature&.typst_source.present? && can?(:read, GeneratedPdf) links << link_to(fa_icon('broom', text: 'Purge Cache'), purge_cache_publication_path(publication), data: { turbo_method: :post }) end links << link_to(fa_icon('trash', text: 'Destroy'), publication_path(publication), data: { turbo_method: :delete, turbo_confirm: 'Are you sure you want to delete this publication?' }) if can?(:manage, publication) links end |
#publication_transmit_options(publication = @publication) ⇒ Array<String>
Build the transmit/download links for a publication's literature.
43 44 45 46 47 48 49 50 |
# File 'app/helpers/crm/publications_helper.rb', line 43 def (publication = @publication) links = [] if publication.literature links << link_to("Transmit", new_communication_path(upload_id: publication.literature_id, return_path: publication_path(publication))) links << link_to(fa_icon('download', text: 'Download'), upload_path(publication.literature)) end links end |
#setup_publication(publication) ⇒ Publication
Prepare a publication for the form by ensuring its literature upload exists.
13 14 15 16 17 |
# File 'app/helpers/crm/publications_helper.rb', line 13 def setup_publication(publication) publication.tap do |p| p.build_literature unless p.literature end end |