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
Propuestas de un político: las que ha hecho él
# File app/models/politician.rb, line 134 def approved_and_published_proposals self.proposals.published.approved end
# File app/models/politician.rb, line 138 def approved_headlines end
# File app/models/politician.rb, line 53 def approved_or_ex? ['aprobado', 'ex-cargo'].include?(self.status) end
Indica si el usuario puede crear contenidos de tipo doc_type
Los tipos de contenido disponibles se pueden consultar en #Permission
# File app/models/politician.rb, line 171 def can_create?(doc_type) case doc_type when 'schedule_events' !self.editable_schedules.blank? when 'events' self.can?('create_private', 'events') || self.can?('create_irekia', 'events') when 'comments' self.can?('create', 'comments') || self.can?('official', 'comments') else self.can?('create', doc_type) end end
Los permisos se asignan presonalmente igual que en el caso de los miembros de dept.
Indica si puede modificar recursos de tipo doc_type
. Los
miembros de los departamentos no pueden modificar ni crear recursos
compartidos. Sólo tendrán acceso a la agenda privada de su departamento.
# File app/models/politician.rb, line 156 def can_edit?(doc_type) case doc_type when 'schedule_events' !self.editable_schedules.blank? when 'events' self.can?('create_private', 'events') || self.can?('create_irekia', 'events') when 'comments' self.can?('edit', 'comments') else self.can?('edit', doc_type) end end
# File app/models/politician.rb, line 61 def draft false end
Para descatar una noticia para un político hay que ponerle el tag “destacado<tag del area>”
# File app/models/politician.rb, line 82 def featured_tag_name_es "_destacado#{self.tag_name_es}" end
# File app/models/politician.rb, line 57 def former? self.status.eql?('ex-cargo') end
Mostramos e enlace a la Guía de comunicación sólo si el político es cargo actual y tiene ID en la Guía.
# File app/models/politician.rb, line 103 def gc_link self.gc_id.present? && !self.former? ? "http://www2.irekia.euskadi.net/#{I18n.locale}/people/#{self.gc_id}" : nil end
# File app/models/politician.rb, line 142 def has_admin_access? self.can?('create', 'news') || self.can?('create', 'proposals') || self.can?('create', 'comments') # HQ || self.can?('create', 'questions') end
# File app/models/politician.rb, line 93 def public_name_and_role(locale = I18n.locale) txt = self.public_name role = self.send("public_role_#{locale}") || self.public_role txt += " (#{role})" if role.present? txt.strip end
# File app/models/politician.rb, line 89 def public_role self.former? && !self.public_role_orig.match(/^Ex-/) ? "Ex-#{self.public_role_orig}" : self.public_role_orig end
Redefinimos el método #public_role para poder añadir “Ex-” para los excargos.
# File app/models/politician.rb, line 110 def published? self.approved? end
# File app/models/politician.rb, line 65 def show_in_irekia? true end
# File app/models/politician.rb, line 69 def tag Tag.politicians.find_by_kind_info(self.id.to_s) end
# File app/models/politician.rb, line 73 def tag_name self.tag.present? ? self.tag.name : '' end
# File app/models/politician.rb, line 77 def tag_name_es @tag_name_es ||= self.tag.present? ? self.tag.name_es : '' end
/permisos
# File app/models/politician.rb, line 186 def to_yaml( opts = {} ) if self.photo.present? FileUtils.cp(self.photo.path, File.join(RAILS_ROOT, 'data', 'fotos_politicos')) end YAML.quick_emit( self.id, opts ) { |out| out.map( taguri, to_yaml_style ) { |map| atr = @attributes.dup atr["area_tag_names"] = self.areas.map {|a| a.tag_name_es} atr["area_positions"] = self.area_users.map {|au| au.position} atr["filename4photo"] = self.photo.present? ? File.basename(self.photo.path) : '' map.add("attributes", atr) } } end