| Class | Department |
| In: |
app/models/department.rb
|
| Parent: | Organization |
Clase para los departamentos en los que se pueden clasificar los News y Events. Es subclase de Organization, por lo que su tabla es organizations
Devuelve el departamento con la etiqueta indicada.
# File app/models/department.rb, line 20
20: def self.find_by_label(dept_label)
21: tag_name = "_"+dept_label.gsub(/[^\w_]/,'')
22: dept = self.tag_names.include?(tag_name) ? self.find_by_tag_name(tag_name) : nil
23: dept
24: end
Array de departamentos en formato óptimo para hacer un select en un view. El formato del output es [[[dep.nombre, dep.id], [[subdep1.nombre, subdep1.id], [subdep2.nombre, subdep2.id]…]], [[dep2.nombre, dep2.id], […]]]
# File app/models/department.rb, line 29
29: def self.grouped_options
30: opts = []
31: self.find(:all, :order => "coalesce(internal_id,0)").each do |dept|
32: opts.push [[dept.name, dept.id], dept.organizations.map {|d| [d.name, d.id]}]
33: end
34: opts
35: end
Cada departamento tiene asociado un tag oculto que se añade automáticamente
# File app/models/department.rb, line 9
9: def self.tag_names
10: self.find(:all, :select => "tag_name").map {|d| d.tag_name}
11: end