diff --git a/CHANGELOG b/CHANGELOG index 1b1b4d08a..5e6d8987e 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -5,6 +5,7 @@ - [gem] - Bugs fixes: - Tylium: Fix redirection when updating an issue or content block + - Issues: Render liquid content within the title throughout the app - Bug tracker items: - [item] - New integrations: diff --git a/app/controllers/activities_controller.rb b/app/controllers/activities_controller.rb index 5bc0f17af..0ff83097a 100644 --- a/app/controllers/activities_controller.rb +++ b/app/controllers/activities_controller.rb @@ -2,6 +2,7 @@ # users. class ActivitiesController < AuthenticatedController + include LiquidEnabledResource include ProjectScoped def index diff --git a/app/controllers/evidence_controller.rb b/app/controllers/evidence_controller.rb index e66247f42..ccdf11198 100644 --- a/app/controllers/evidence_controller.rb +++ b/app/controllers/evidence_controller.rb @@ -6,6 +6,7 @@ class EvidenceController < NestedNodeResourceController include MultipleDestroy include NodesSidebar include NotificationsReader + include ProjectScoped before_action :set_or_initialize_evidence, except: [ :index, :create_multiple ] before_action :initialize_nodes_sidebar, only: [ :edit, :new, :show ] diff --git a/app/controllers/issues/evidence_controller.rb b/app/controllers/issues/evidence_controller.rb index 23dc7b5e5..52fdd13a9 100644 --- a/app/controllers/issues/evidence_controller.rb +++ b/app/controllers/issues/evidence_controller.rb @@ -2,6 +2,7 @@ class Issues::EvidenceController < AuthenticatedController include ActivityTracking include ContentFromTemplate include DynamicFieldNamesCacher + include LiquidEnabledResource include MultipleDestroy include ProjectScoped diff --git a/app/controllers/nested_node_resource_controller.rb b/app/controllers/nested_node_resource_controller.rb index fe0e02ad4..f2f84075f 100644 --- a/app/controllers/nested_node_resource_controller.rb +++ b/app/controllers/nested_node_resource_controller.rb @@ -2,6 +2,7 @@ class NestedNodeResourceController < AuthenticatedController include ActivityTracking include ContentFromTemplate + include LiquidEnabledResource include ProjectScoped before_action :find_or_initialize_node diff --git a/app/controllers/projects_controller.rb b/app/controllers/projects_controller.rb index 3838dd02b..e6ed8b494 100644 --- a/app/controllers/projects_controller.rb +++ b/app/controllers/projects_controller.rb @@ -1,4 +1,5 @@ class ProjectsController < AuthenticatedController + include LiquidEnabledResource include NotificationsReader before_action :set_project @@ -16,12 +17,12 @@ def show @authors = [current_user] @boards = current_project.methodology_library.boards @issues = current_project.issues.includes(:tags).sort - @methodologies = current_project.methodology_library.notes.map{|n| Methodology.new(filename: n.id, content: n.text)} + @methodologies = current_project.methodology_library.notes.map { |n| Methodology.new(filename: n.id, content: n.text) } @nodes = current_project.nodes.in_tree @tags = current_project.tags @count_by_tag = { unassigned: 0 } - @issues_by_tag = Hash.new{|h,k| h[k] = [] } + @issues_by_tag = Hash.new { |h, k| h[k] = [] } @tag_names = @tags.map do |tag| @count_by_tag[tag.name] = 0 @@ -41,7 +42,7 @@ def show end respond_to do |format| - format.html { render layout: 'tylium' if !request.xhr?} + format.html { render layout: 'tylium' if !request.xhr? } format.json { render json: @boards } end end diff --git a/app/controllers/search_controller.rb b/app/controllers/search_controller.rb index 26719081e..3dd97f74c 100644 --- a/app/controllers/search_controller.rb +++ b/app/controllers/search_controller.rb @@ -1,4 +1,5 @@ class SearchController < AuthenticatedController + include LiquidEnabledResource include ProjectScoped include SearchHelper @@ -15,11 +16,13 @@ def index private def set_scope - @scope = if params[:scope].blank? || - !%{all evidence issues nodes notes}.include?(params[:scope]) - :all - else - params[:scope].to_sym - end + @scope = + if params[:scope].blank? || + !%{all cards content_blocks evidence issues nodes notes}.\ + include?(params[:scope]) + :all + else + params[:scope].to_sym + end end end diff --git a/app/helpers/application_helper.rb b/app/helpers/application_helper.rb index d0d4e237c..346384a32 100644 --- a/app/helpers/application_helper.rb +++ b/app/helpers/application_helper.rb @@ -1,5 +1,5 @@ module ApplicationHelper # :nodoc: - def markup(text, options={}) + def markup(text, options = {}) return unless text.present? context = {} @@ -27,6 +27,10 @@ def markup(text, options={}) result[:output].to_s.html_safe end + def liquid_text(text) + strip_tags(markup(text, liquid: true)) + end + def render_view_hooks(partial, locals: {}, feature: :addon) Dradis::Plugins::with_feature(feature).sort_by(&:plugin_description).each do |plugin| begin diff --git a/app/views/evidence/activities/_evidence.html.erb b/app/views/evidence/activities/_evidence.html.erb index 8664f124e..a010d5f42 100644 --- a/app/views/evidence/activities/_evidence.html.erb +++ b/app/views/evidence/activities/_evidence.html.erb @@ -3,7 +3,7 @@ <% node = evidence.node %> <%= presenter.verb %> <%= link_to 'a piece of evidence', [current_project, node, evidence] %> for - <%= link_to issue.title || "Issue #{issue.id}", [current_project, evidence.issue] %> at <%= link_to node.label, [current_project, node] %>. + <%= link_to liquid_text(issue.title) || "Issue #{issue.id}", [current_project, evidence.issue] %> at <%= link_to node.label, [current_project, node] %>. <% else %> <% if activity.action == 'destroy' %> deleted a piece of evidence. diff --git a/app/views/evidence/edit.html.erb b/app/views/evidence/edit.html.erb index 6c8737695..e84864776 100644 --- a/app/views/evidence/edit.html.erb +++ b/app/views/evidence/edit.html.erb @@ -1,4 +1,4 @@ -<% content_for :title, "Edit evidence for #{@node.label} / #{@evidence.issue.title}" %> +<% content_for :title, "Edit evidence for #{@node.label} / #{liquid_text(@evidence.issue.title)}" %> <% content_for :breadcrumbs do %>