Class | Journalist
In: | app/models/journalist.rb
Parent: | User

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

### Methods

empty_unnecessary_fields enable_event_alerts organization_ids random_password set_pending_status

### Attributes

normas_de_uso | [RW] |

### Public Class methods

random_password(size = 5)

Genera un password aleatorio snippets.dzone.com/posts/show/2137

[Source]

        # File app/models/journalist.rb, line 35
    35:   def self.random_password(size = 5)
    36:     chars = (('a'..'z').to_a + ('A'..'Z').to_a + ('0'..'9').to_a) - %w(i o 0 1 l 0 I O)
    37:     (1..size).collect{|a| chars[rand(chars.size)] }.join
    38:   end

### Public Instance methods

empty_unnecessary_fields()

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

[Source]

        # File app/models/journalist.rb, line 16
    16:   def empty_unnecessary_fields
    17:     self.department_id = nil
    18:   end

enable_event_alerts()

[Source]

        # File app/models/journalist.rb, line 28
    28:   def enable_event_alerts
    29:     self.has_event_alerts = true
    30:     self.alerts_locale = I18n.locale if  self.alerts_locale.nil?
    31:   end

organization_ids()

Devuelve un array con los departamentos y organismos a los que está suscrito

[Source]

        # File app/models/journalist.rb, line 41
    41:   def organization_ids
    42:     o_ids = []
    43:     self.departments.each do |dept|
    44:       o_ids = o_ids + [dept.id]+dept.organization_ids
    45:     end
    46:     o_ids
    47:   end

set_pending_status()

Los periodistas quedan en estado de "pendientes de aprobación" cuando se dan de alta. Se llama desde before_create

[Source]

        # File app/models/journalist.rb, line 23
    23:   def set_pending_status
    24:     self.status = "pendiente"
    25:   end

[Validate]