summaryrefslogtreecommitdiff
path: root/app/controllers/concerns
diff options
context:
space:
mode:
authorImre Farkas <ifarkas@gitlab.com>2018-05-31 14:01:04 +0000
committerDouwe Maan <douwe@gitlab.com>2018-05-31 14:01:04 +0000
commit20dfe25c151cc883ce0d38b67125b5ca41e6d422 (patch)
tree9a29f05a241713f3488e6bc2e5df03c07300ef45 /app/controllers/concerns
parent2fdd8982f8204340e6413a57f46e6c41d8ecb429 (diff)
downloadgitlab-ce-20dfe25c151cc883ce0d38b67125b5ca41e6d422.tar.gz
Export assigned issues in iCalendar feed
Diffstat (limited to 'app/controllers/concerns')
-rw-r--r--app/controllers/concerns/issues_action.rb15
1 files changed, 14 insertions, 1 deletions
diff --git a/app/controllers/concerns/issues_action.rb b/app/controllers/concerns/issues_action.rb
index 3b11a373368..b6eb7d292fc 100644
--- a/app/controllers/concerns/issues_action.rb
+++ b/app/controllers/concerns/issues_action.rb
@@ -17,10 +17,23 @@ module IssuesAction
end
# rubocop:enable Gitlab/ModuleWithInstanceVariables
+ # rubocop:disable Gitlab/ModuleWithInstanceVariables
+ def issues_calendar
+ @issues = issuables_collection
+ .non_archived
+ .with_due_date
+ .limit(100)
+
+ respond_to do |format|
+ format.ics { response.headers['Content-Disposition'] = 'inline' }
+ end
+ end
+ # rubocop:enable Gitlab/ModuleWithInstanceVariables
+
private
def finder_type
(super if defined?(super)) ||
- (IssuesFinder if action_name == 'issues')
+ (IssuesFinder if %w(issues issues_calendar).include?(action_name))
end
end