Welcome to mirror list, hosted at ThFree Co, Russian Federation.

gitlab.com/gitlab-org/gitlab-foss.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGitLab Bot <gitlab-bot@gitlab.com>2023-02-09 21:07:44 +0300
committerGitLab Bot <gitlab-bot@gitlab.com>2023-02-09 21:07:44 +0300
commit453634293e24164ffaa5cd708e47a1cebc07bcd3 (patch)
treee49bb067fc508f57b03ac582872c4b1215eec326 /app/models
parent608d6aaa3d80a33862ca2c29d96bfd687b1a011b (diff)
Add latest changes from gitlab-org/gitlab@master
Diffstat (limited to 'app/models')
-rw-r--r--app/models/concerns/taskable.rb26
-rw-r--r--app/models/namespace/detail.rb2
2 files changed, 24 insertions, 4 deletions
diff --git a/app/models/concerns/taskable.rb b/app/models/concerns/taskable.rb
index 05addcf83d2..8297221d5be 100644
--- a/app/models/concerns/taskable.rb
+++ b/app/models/concerns/taskable.rb
@@ -24,10 +24,28 @@ module Taskable
(\s.+) # followed by whitespace and some text.
}x.freeze
+ # ignore tasks in code or html comment blocks. HTML blocks
+ # are ok as we allow tasks inside <detail> blocks
+ REGEX = %r{
+ #{::Gitlab::Regex.markdown_code_or_html_comment_blocks}
+ |
+ (?<task_item>
+ #{ITEM_PATTERN}
+ )
+ }mx.freeze
+
def self.get_tasks(content)
- content.to_s.scan(ITEM_PATTERN).map do |prefix, checkbox, label|
- TaskList::Item.new("#{prefix} #{checkbox}", label.strip)
+ items = []
+
+ content.to_s.scan(REGEX) do
+ next unless $~[:task_item]
+
+ $~[:task_item].scan(ITEM_PATTERN) do |prefix, checkbox, label|
+ items << TaskList::Item.new("#{prefix.strip} #{checkbox}", label.strip)
+ end
end
+
+ items
end
def self.get_updated_tasks(old_content:, new_content:)
@@ -67,10 +85,10 @@ module Taskable
checklist_item_noun = n_('checklist item', 'checklist items', sum.item_count)
if short
format(s_('Tasks|%{complete_count}/%{total_count} %{checklist_item_noun}'),
-checklist_item_noun: checklist_item_noun, complete_count: sum.complete_count, total_count: sum.item_count)
+ checklist_item_noun: checklist_item_noun, complete_count: sum.complete_count, total_count: sum.item_count)
else
format(s_('Tasks|%{complete_count} of %{total_count} %{checklist_item_noun} completed'),
-checklist_item_noun: checklist_item_noun, complete_count: sum.complete_count, total_count: sum.item_count)
+ checklist_item_noun: checklist_item_noun, complete_count: sum.complete_count, total_count: sum.item_count)
end
end
diff --git a/app/models/namespace/detail.rb b/app/models/namespace/detail.rb
index a5643ab9f79..2660d11171e 100644
--- a/app/models/namespace/detail.rb
+++ b/app/models/namespace/detail.rb
@@ -11,3 +11,5 @@ class Namespace::Detail < ApplicationRecord
self.primary_key = :namespace_id
end
+
+Namespace::Detail.prepend_mod