# frozen_string_literal: true module TemplateHelper def template_details_path(template) if template_modifiable?(template) edit_org_admin_template_path(template) else if template.persisted? org_admin_template_path(template) else org_admin_templates_path end end end # Is this Template modifiable? # # template - A Template object # # Returns Boolean def template_modifiable?(template) template.latest? && template.customization_of.blank? && template.id.present? && template.org_id = current_user.org.id end def links_to_a_elements(links, separator = ", ") a = links.map do |l| "<a href=\"#{l['link']}\">#{l['text']}</a>" end a.join(separator) end # Generate a direct plan creation link based on provided template # @param template [Template] template used for plan creation # @param hidden [Boolean] should the link be hidden? # @param text [String] text for the link # @param id [String] id for the link element def direct_link(template, hidden = false, text = nil, id = nil) params = { org_id: template.org.id, funder_id: "-1", template_id: template.id } cls = text.nil? ? "direct-link" : "direct-link btn btn-primary accessible" style = hidden ? "display: none" : "" link_to( plans_url(plan: params), method: :post, class: cls, id: id, style: style, target: "_self", "data-toggle": "tooltip", "data-original-title": _("Create plan"), ) do if text.nil? "<span class='fa fa-plus-square'></span>".html_safe else text.html_safe end end end end