class CommentResponse

OpenIrekia v4.0.0

Copyright 2009-2013 eFaber, S.L. Copyright 2009-2013 Ejie, S.A. Copyrigth 2009-2013 Dirección de Gobierno Abierto y Comunicación en Internet;

Gobernu Irekirako eta Interneteko Komunikaziorako Zuzendaritza; Lehendakaritza.
Gobierno Vasco – Eusko Jaurlaritza

Licencia con arreglo a la EUPL, Versión 1.1 o –en cuanto sean aprobadas por la Comisión Europea– versiones posteriores de la EUPL (la Licencia); Solo podrá usarse esta obra si se respeta la Licencia. Puede obtenerse una copia de la Licencia en: ec.europa.eu/idabc/eupl Salvo cuando lo exija la legislación aplicable o se acuerde por escrito, el programa distribuido con arreglo a la Licencia se distribuye TAL CUAL, SIN GARANTÍAS NI CONDICIONES DE NINGÚN TIPO, ni expresas ni implícitas. Véase la Licencia en el idioma concreto que rige los permisos y limitaciones que establece la Licencia

http://open.irekia.net, openirekia@efaber.net

Constants

STATUS

Los estados de una solicitud de respuesta oficial: new: hemos creado la solicitud en nuestra BD pero no la hemos enviado a RRCC send_with_error: hemos enviado la solicitud a RRCC y nos han respondido con error send: hemos enviado la solicitud a RRCC y nos han respondido que la han recibido waiting: hemos hecho una consulta a RRCC y nos han respondido que la solicitud está pendiente responded: hemos hecho una consulta a RRCC y nos han respondido que la solicitud está respondida y nos han enviado el texto de la respuesta published: el admin ha publicado la respuesta oficial en la web de Irekia.

Public Instance Methods

answer_text() click to toggle source
# File app/models/comment_response.rb, line 44
def answer_text
  self.status.eql?('new') ? '' : self.response_requests.first.answer_text 
end
create_answer_comment_if_answer_received() click to toggle source
# File app/models/comment_response.rb, line 92
def create_answer_comment_if_answer_received
  if self.status.eql?("responded") && self.answer.nil?
    a = Comment.new(:commentable_id => self.comment.commentable_id,
                    :commentable_type => self.comment.commentable_type,
                    :status => "aprobado",
                    :name => self.organization.name, 
                    :email => 'info@euskadi.net',
                    :user_id => User.find_by_telephone('rrcc').id,
                    :rrcc_answered_at => self.updated_at, 
                    :body => self.answer_text)
    if a.valid?
      a.save
      self.answer_comment_id = a.id
      self.status = "published"
    end
  end
  true
end
last_request_info() click to toggle source
# File app/models/comment_response.rb, line 56
def last_request_info
  info = if last_response
    [I18n.l(last_response.created_at, :format => :short), last_response.pretty_result]
  else
    ["no hay consultas"]
  end
  info.join(", ")
end
last_response() click to toggle source
# File app/models/comment_response.rb, line 52
def last_response
  self.response_requests.first
end
pretty_status() click to toggle source
# File app/models/comment_response.rb, line 40
def pretty_status
  I18n.t("admin.comment_response.status_#{self.status}")
end
send_info() click to toggle source
# File app/models/comment_response.rb, line 48
def send_info
  self.send_at.present? ? I18n.l(self.send_at, :format => :short) : 'no'
end
set_status_and_citizen_id!() click to toggle source
# File app/models/comment_response.rb, line 65
def set_status_and_citizen_id!
  lr = last_response
  if lr
    self.citizen_id ||= lr.citizen_id
    self.send_at = lr.created_at
    self.status = case lr.result.to_i
    when 1
      # la solicitud es correcta, hay que mirar el result para saber el estado actual
      "send"
    when 0, 11..19
      # ha habido algún error en los datos
      self.status.eql?('new') ? "new" : "with_error"
    when 31
      "waiting"
    when 32
      "responded"
    when 99
      # ha habido algún error en los datos
      "with_error"        
    else
      # no cambiamos el estado 
    end
  end
  
  self.save
end