class DepartmentEditor

Clase para los usuarios de tipo “Jefe de prensa”. Es subclase de User, por lo que su tabla es users

Public Class Methods

inherited_permissions() click to toggle source

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

# File app/models/department_editor.rb, line 56
def self.inherited_permissions
  [{:module => "news", :action => "create"},       {:module => "comments", :action => "edit"}, {:module => "comments", :action => "official"},       {:module => "events", :action => "create_private"}, {:module => "events", :action => "create_irekia"}]
end

Public Instance Methods

can_access?(doc_type) click to toggle source

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”)

# File app/models/department_editor.rb, line 31
def can_access?(doc_type)
  if doc_type.eql?('schedule_events')
    !self.editable_schedules.blank?
  else
    ["news", "events", "comments"].include?(doc_type)
  end
end
can_create?(doc_type) click to toggle source

Indica si puede crear recursos de tipo doc_type. Ejemplos:

  • current_user.can_create?(“news”)

  • current_user.can_create?(“photos”)

# File app/models/department_editor.rb, line 51
def can_create?(doc_type)
  self.can_access?(doc_type)
end
can_edit?(doc_type) click to toggle source

Indica si puede modificar recursos de tipo doc_type. Ejemplos:

  • current_user.can_edit?(“news”)

  • current_user.can_edit?(“photos”)

# File app/models/department_editor.rb, line 43
def can_edit?(doc_type)
  self.can_access?(doc_type)
end

Protected Instance Methods

reset_unnecessary_fields() click to toggle source

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

# File app/models/department_editor.rb, line 65
def reset_unnecessary_fields
  self.media = nil
  self.raw_location = nil
  self.lat = nil
  self.lng = nil
  self.city = nil
  self.state = nil
  self.country_code = nil
  self.zip = nil
  self.photo_file_name = nil
  self.photo_content_type = nil
  self.photo_file_size = nil
  self.photo_updated_at = nil
  self.url = nil
  self.organization = nil
  self.stream_flow_ids = []
  self.public_role_es = nil
  self.public_role_eu = nil
  self.public_role_en = nil
  self.gc_id = nil
  self.description_es = nil
  self.description_eu = nil
  self.description_en = nil
  self.politician_has_agenda = nil
end