Skip to content

Commit 14ca33d

Browse files
committed
Change to also apply to Org-Admins etc.
1 parent 0e370a6 commit 14ca33d

1 file changed

Lines changed: 15 additions & 9 deletions

File tree

config/initializers/decidim_zuerich_customization.rb

Lines changed: 15 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -113,18 +113,24 @@ def current_assembly
113113
# On User creation, set a default close_meeting_reminder setting,
114114
# that does not spam everyone
115115
ActiveSupport::Notifications.subscribe(/sql.active_record/) do |event|
116-
next unless event.payload[:name] == 'Decidim::User Create'
116+
user =
117+
case event.payload[:name]
118+
when 'Decidim::User Create'
119+
event.payload[:binds]
120+
.select { %w[email decidim_organization_id].include?(_1.name) }
121+
.to_h { [_1.name, _1.value] }
122+
.merge({ admin: true })
123+
.then { Decidim::User.find_by(_1) }
124+
when /Decidim::.*UserRole Create/
125+
data = event.payload[:binds].to_h { [_1.name.to_sym, _1.value] }
126+
127+
Decidim::User.find(data[:decidim_user_id]) if data[:role] == 'admin'
128+
end
117129

118-
Rails.logger.info "#{event.payload[:name]} Received! Updating default close_meeting_reminder"
130+
next unless user
119131

120-
finders =
121-
event
122-
.payload[:binds]
123-
.select { %w[email decidim_organization_id].include?(_1.name) }
124-
.to_h { [_1.name, _1.value] }
132+
Rails.logger.info "#{event.payload[:name]} Received! Updating default close_meeting_reminder"
125133

126-
user = Decidim::User.find_by(finders)
127-
next unless user.admin
128134
user.notification_settings['close_meeting_reminder'] ||= '0'
129135
user.save! if user.changed?
130136
end

0 commit comments

Comments
 (0)