gremien mitgliedschaften bearbeiten.

This commit is contained in:
Andreas Stephanides
2013-11-12 22:04:57 +01:00
parent 3f6734d51e
commit d1ae7b7da5
7 changed files with 53 additions and 5 deletions

View File

@@ -20,10 +20,15 @@ class Fetprofile < ActiveRecord::Base
has_many :gremien, :through=> :membership
mount_uploader :picture, PictureUploader
has_paper_trail
validates :desc, :presence=>true
validates :nachname, length:{minimum: 3},:presence=>true
validates :vorname, length:{minimum: 3},:presence=>true
validates :short, length:{minimum: 3},:presence=>true
def name
[vorname, nachname, "(",short,")"].join(" ")
end
accepts_nested_attributes_for :memberships
accepts_nested_attributes_for :memberships, :reject_if=>lambda{|a| a[:typ].blank?|| a[:start].blank? ||a[:fetprofile_id].blank?}
scope :active, -> { where(:active=>true).order(:vorname) }
def fetmail
(fetmailalias.nil? || fetmailalias.empty?) ? short.to_s + "@fet.at" : fetmailalias.to_s + "@fet.at"

View File

@@ -15,11 +15,12 @@ class Gremium < ActiveRecord::Base
TYPEN={1=>"offiziell", 2=>"offiziell-temporär", 3 => "inoffiziell",4=>"inoffiziell-tempo"} # Kategorien, im Wesentlichen wichtig für Listung oder nicht Listung
GESCHLECHT={0=>"saechlich", 1 => "maennlich", 2 => "weiblich"} # Geschlecht des Gremiums zur richtige Deklination
ART2FALL={0=>"des", 1=>"des",2=>"der"} # Artikel 2.Fall abhängig vom Geschlecht
attr_accessible :desc, :name, :typ, :geschlecht,:thema_id
attr_accessible :desc, :name, :typ, :geschlecht,:thema_id, :memberships_attributes
has_many :memberships # Mitgliedschaften bei dem Gremium
belongs_to :thema # Gehört zu einem Thema
scope :tabs, -> { where(:typ => [1,3]).order(:typ).order(:name) } # Gremien die in Tabs angezeigt werden (Alle Anderen nur in der Liste
# Gremium im 2. Fall für die Konstruktion "Mitglied des ... / der ... "
accepts_nested_attributes_for :memberships, :reject_if=>lambda{|a| a[:typ].blank?|| a[:start].blank? ||a[:fetprofile_id].blank?}
def fall2
Gremium::ART2FALL[self.geschlecht.to_i].to_s+" "+ self.name.to_s+ ((self.geschlecht.to_i==1||self.geschlecht.to_i==0)? "s":"")
end

View File

@@ -18,5 +18,7 @@ class Membership < ActiveRecord::Base
belongs_to :fetprofile
belongs_to :gremium
scope :active, -> {where("stop >= ? OR stop IS NULL", Time.now.to_date)}
validates :typ, :presence=>true
validates :fetprofile, :presence=>true
validates :start, :presence=>true
end