-
Notifications
You must be signed in to change notification settings - Fork 197
Expand file tree
/
Copy pathstatistics_announcement_publications_controller.rb
More file actions
57 lines (46 loc) · 1.42 KB
/
statistics_announcement_publications_controller.rb
File metadata and controls
57 lines (46 loc) · 1.42 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
class Admin::StatisticsAnnouncementPublicationsController < Admin::BaseController
before_action :find_statistics_announcement
def index
if params[:title].present?
filter
end
end
def connect
@statistics_announcement.assign_attributes(publication_params)
if @statistics_announcement.save
redirect_to [:admin, @statistics_announcement], notice: "Announcement updated successfully"
else
filter
render :index
end
end
private
def filter
@filter ||= Admin::EditionFilter.new(edition_scope, current_user, edition_filter_options)
end
def edition_scope
Edition.with_translations(I18n.locale).in_pre_publication_state
end
def params_filters
params.slice(:title, :page)
.permit!
.to_h
end
def params_filters_with_default_state
params_filters.reverse_merge("state" => "active")
end
def edition_filter_options
params_filters_with_default_state
.symbolize_keys
.merge(
type: @statistics_announcement.publication_type.key,
per_page: Admin::EditionFilter::GOVUK_DESIGN_SYSTEM_PER_PAGE,
)
end
def find_statistics_announcement
@statistics_announcement = StatisticsAnnouncement.friendly.find(params[:statistics_announcement_id])
end
def publication_params
{ publication_id: params[:publication_id] }
end
end