Class DepartmentEditor
In: app/models/department_editor.rb
Parent: User

Clase para los usuarios de tipo "Jefe de departamento". Es subclase de User, por lo que su tabla es users

Methods

Public Class methods

Devuelve los permisos heredados por el usuario por su role de "Jefe de departamento"

[Source]

    # File app/models/department_editor.rb, line 37
37:   def self.inherited_permissions
38:     [{:module => "news", :action => "create"}, \
39:      {:module => "comments", :action => "edit"}, {:module => "comments", :action => "official"}, \
40:      {:module => "events", :action => "create_private"}, {:module => "events", :action => "create_irekia"}, \
41:      {:module => "events", :action => "create_agencia"}]
42:   end

Public Instance methods

Indica si tiene permiso para acceder a la administración de los recursos de tipo doc_type. Ejemplos:

  • current_user.can_access?("news")
  • current_user.can_access?("photos")

[Source]

    # File app/models/department_editor.rb, line 12
12:   def can_access?(doc_type)
13:     if doc_type.eql?('schedule_events')
14:       !self.editable_schedules.blank?
15:     else
16:       ["news", "events", "comments"].include?(doc_type)
17:     end
18:   end

Indica si puede crear recursos de tipo doc_type. Ejemplos:

  • current_user.can_create?("news")
  • current_user.can_create?("photos")

[Source]

    # File app/models/department_editor.rb, line 32
32:   def can_create?(doc_type)
33:     self.can_access?(doc_type)
34:   end

Indica si puede modificar recursos de tipo doc_type. Ejemplos:

  • current_user.can_edit?("news")
  • current_user.can_edit?("photos")

[Source]

    # File app/models/department_editor.rb, line 24
24:   def can_edit?(doc_type)
25:     self.can_access?(doc_type)
26:   end

Protected Instance methods

Vacia los campos irrelevantes para este tipo de usuario. Se llama desde before_save

[Source]

    # File app/models/department_editor.rb, line 47
47:     def empty_unnecessary_fields
48:       self.media = nil
49:       self.raw_location = nil
50:       self.lat = nil
51:       self.lng = nil
52:       self.city = nil
53:       self.state = nil
54:       self.country_code = nil
55:       self.zip = nil
56:       self.photo_file_name = nil
57:       self.photo_content_type = nil
58:       self.photo_file_size = nil
59:       self.photo_updated_at = nil
60:       self.url = nil
61:       self.organization = nil
62:       self.stream_flow_ids = []
63:     end

[Validate]