module LinksHelper def link_to_path_element(element, options={}) name = extract_name element, options link_to name, element, options end def link_to_error_404 " #{I18n.t(:error_404)} " end def link_to_issues(translation) " #{I18n.t(translation)} " end def link_to_status_codes(code) " #{I18n.t("error_#{code}")} " end def url_for_application(app_name) app = Mumukit::Platform.application_for(app_name) app.organic_url(Organization.current.name) end def teacher_info_button(item) if current_user&.teacher_here? && item.teacher_info.present? %Q{ #{fixed_fa_icon('info-circle')} }.html_safe end end def link_to_bibliotheca_guide(guide) edit_link_to_bibliotheca { url_for_bibliotheca_guide(guide) } end def link_to_bibliotheca_exercise(exercise) edit_link_to_bibliotheca { "#{url_for_bibliotheca_guide(exercise.guide)}/exercises/#{exercise.bibliotheca_id}" } end def mail_to_administrator mail_to Organization.current.contact_email, Organization.current.contact_email, subject: I18n.t(:permissions), body: permissions_help_email_body(current_user) end def turbolinks_enable_for(exercise) %Q{data-turbolinks="#{!exercise.input_kids?}"}.html_safe end private def extract_name(named, options) case options.delete(:mode) when :plain named.name when :friendly named.friendly else named.navigable_name end end def edit_link_to_bibliotheca return unless current_user&.writer? url = yield link_to fixed_fa_icon(:pencil), url, class: "mu-content-toolbar-item", target: "_blank", title: t(:edit) end def url_for_bibliotheca_guide(guide) "#{url_for_application(:bibliotheca_ui)}/#/guides/#{guide.slug}" end end