diff options
author | 2011-05-17 17:14:01 +0200 | |
---|---|---|
committer | 2011-05-24 18:55:39 +0200 | |
commit | 8fcbeab8bf791e9b2b793bb85ee5faea80338ac7 (patch) | |
tree | 3fdc4e394423118d4337d6307d3d546ae37f11ad /site/app/models/agenda.rb | |
parent | Agenda items (diff) | |
download | council-webapp-8fcbeab8bf791e9b2b793bb85ee5faea80338ac7.tar.gz council-webapp-8fcbeab8bf791e9b2b793bb85ee5faea80338ac7.tar.bz2 council-webapp-8fcbeab8bf791e9b2b793bb85ee5faea80338ac7.zip |
Basic meeting participation tracing
When archiving agenda mark all council members as participants. Remember
their names and irc_nicks.
Diffstat (limited to 'site/app/models/agenda.rb')
-rw-r--r-- | site/app/models/agenda.rb | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/site/app/models/agenda.rb b/site/app/models/agenda.rb index 5998ae8..f8f90df 100644 --- a/site/app/models/agenda.rb +++ b/site/app/models/agenda.rb @@ -8,6 +8,7 @@ class Agenda < ActiveRecord::Base end has_many :agenda_items + has_many :participations lifecycle do state :open, :default => true @@ -16,7 +17,14 @@ class Agenda < ActiveRecord::Base transition :close, {:open => :submissions_closed}, :available_to => '::Agenda.transitions_available(acting_user)' transition :reopen, {:submissions_closed=> :open}, :available_to => '::Agenda.transitions_available(acting_user)' transition :archive, {:submissions_closed => :old}, :available_to => '::Agenda.transitions_available(acting_user)' do - Agenda.new.save! + ActiveRecord::Base.transaction do + Agenda.new.save! + ::User.council_member_is(true).each do |participant| + Participation.create! :irc_nick => participant.irc_nick, + :participant => participant, + :agenda => self + end + end end end |