| Class | DepartmentMember |
| In: |
app/models/department_member.rb
|
| Parent: | User |
Clase para los usuarios de tipo "Miembro de departamento". Es subclase de User, por lo que su tabla es users
Indica si tiene permiso para acceder a la administración de los recursos de tipo doc_type. Ejemplos:
# File app/models/department_member.rb, line 12
12: def can_access?(doc_type)
13: ["events"].include?(doc_type)
14: 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/department_member.rb, line 34
34: def can_create?(doc_type)
35: case doc_type
36: when 'schedule_events'
37: !self.editable_schedules.blank?
38: when 'events'
39: self.can?('create_private', 'events') || self.can?('create_irekia', 'events') || self.can?('create_agencia', 'events')
40: when 'comments'
41: self.can?('create', 'comments') || self.can?('official', 'comments')
42: else
43: false
44: end
45: end
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/department_member.rb, line 19
19: def can_edit?(doc_type)
20: case doc_type
21: when 'schedule_events'
22: !self.editable_schedules.blank?
23: when 'events'
24: self.can?('create_private', 'events') || self.can?('create_irekia', 'events') || self.can?('create_agencia', 'events')
25: when 'comments'
26: self.can?('edit', 'comments')
27: else
28: false
29: end
30: end
Vacia los campos irrelevantes para este tipo de usuario. Se llama desde before_save
# File app/models/department_member.rb, line 50
50: def empty_unnecessary_fields
51: self.media = nil
52: self.raw_location = nil
53: self.lat = nil
54: self.lng = nil
55: self.city = nil
56: self.state = nil
57: self.country_code = nil
58: self.zip = nil
59: self.photo_file_name = nil
60: self.photo_content_type = nil
61: self.photo_file_size = nil
62: self.photo_updated_at = nil
63: self.url = nil
64: self.organization = nil
65: self.stream_flow_ids = []
66: end