OpenIrekia v4.0.0
Copyright 2009-2013 eFaber, S.L. Copyright 2009-2013 Ejie, S.A. Copyrigth 2009-2013 Dirección de Gobierno Abierto y Comunicación en Internet;
Gobernu Irekirako eta Interneteko Komunikaziorako Zuzendaritza; Lehendakaritza. Gobierno Vasco – Eusko Jaurlaritza
Licencia con arreglo a la EUPL, Versión 1.1 o –en cuanto sean aprobadas por la Comisión Europea– versiones posteriores de la EUPL (la Licencia); Solo podrá usarse esta obra si se respeta la Licencia. Puede obtenerse una copia de la Licencia en: ec.europa.eu/idabc/eupl Salvo cuando lo exija la legislación aplicable o se acuerde por escrito, el programa distribuido con arreglo a la Licencia se distribuye TAL CUAL, SIN GARANTÍAS NI CONDICIONES DE NINGÚN TIPO, ni expresas ni implícitas. Véase la Licencia en el idioma concreto que rige los permisos y limitaciones que establece la Licencia
http://open.irekia.net, openirekia@efaber.net
# File app/models/notifiable.rb, line 24 def self.included(base) base.after_save :update_notifications end
# File app/models/notifiable.rb, line 45 def get_item case self.class.name when "Comment" item = self.get_commentable item = nil unless (item.class.base_class.eql?(Contribution) && item.approved? && item.published?) when "Argument" item = self.argumentable item = nil unless item.approved? && item.published? when "Vote" item = self.votable item = nil unless item.approved? && item.published? end return item end
# File app/models/notifiable.rb, line 28 def update_notifications item = get_item if self.approved? && item users_to_notify = [item.user_id] users_to_notify.each do |user_id| params = {:notifiable_id => item.id, :notifiable_type => item.class.base_class.to_s, :action => self.class.to_s.downcase, :user_id => user_id, :read_at => nil} if Notification.exists?(params) notification = Notification.find(:first, :conditions => params) notification.counter = notification.counter + 1 notification.save! else Notification.create(params.merge({:counter => 1})) end end end end