class Contribution

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

Constants

MODERATORS
STATUS

Attributes

notify_department[RW]
notify_proposer[RW]

Public Instance Methods

approved?() click to toggle source

Indica si la propuesta está aprobada

# File app/models/contribution.rb, line 107
def approved?
  self.status.eql?('aprobado') || self.status.eql?('aprobado tras denuncia')
end
author_name() click to toggle source

Nombre de la persona que hace la propuesta

# File app/models/contribution.rb, line 127
def author_name
  self.user ? self.user.public_name : self.name
end
cannot_approve_if_empty_department() click to toggle source
# File app/models/contribution.rb, line 86
def cannot_approve_if_empty_department
  if self.status_changed? && self.status.eql?("aprobado") && !self.organization
    errors.add_to_base "No puedes aprobar la propuesta sin asignarle departamento antes"
  end
end
is_public?() click to toggle source
# File app/models/contribution.rb, line 131
def is_public?
  !self.published_at.nil?
end
organization() click to toggle source
# File app/models/contribution.rb, line 92
def organization
  department
end
pending?() click to toggle source

Indica si la propuesta está pendiente de aprobación

# File app/models/contribution.rb, line 122
def pending?
  status.eql?('pendiente')
end
published?() click to toggle source

Indica si la propuesta está publicada

# File app/models/contribution.rb, line 97
def published?
  !published_at.nil? &&  published_at <= Time.now
end
rejected?() click to toggle source

Indica si la propuesta está rechazada

# File app/models/contribution.rb, line 112
def rejected?
  status.eql?('rechazado')
end
spam?() click to toggle source

Indica si la propuesta es spam

# File app/models/contribution.rb, line 117
def spam?
  status.eql?('spam')
end
translated_to?(lang_code) click to toggle source

Indica si la propuesta está traducida a lang_code, idiomas definidos en Proposal::LANGUAGES

# File app/models/contribution.rb, line 102
def translated_to?(lang_code)
  self.send("title_#{lang_code}").present? && self.send("body_#{lang_code}").present?
end
validates_presence_of_any_language() click to toggle source

Valida que el título y el cuerpo no está vacío al menos en un idioma

# File app/models/contribution.rb, line 76
def validates_presence_of_any_language
  titles_empty = Proposal::LANGUAGES.collect {|l| l if self.send("title_#{l}").blank?}.compact
  if titles_empty.length == Proposal::LANGUAGES.length
    Proposal::LANGUAGES.each do |l|
      self.errors.add "title_#{l}", "El título no puede estar vacío" if self.send("title_#{l}").blank?
    end
    
  end
end