Proyecto

General

Perfil

Funcionalidad #5229

Actualizado por Oscar Abad hace 10 meses

h1. Especificación 

 Cuando un usuario cambie el estado de un contrato a uno con metaestado 'Revisión jurídico', se debe enviar un correo a todos los usuarios con rol 'Autorizador Jurídico'. 

 h1. Análisis 

 Localizar el punto del código donde se cambia de estado un contrato para poder enviar el correo correspondiente. 

 h1. Implementación 

 app/views/contratos_mailer/aviso_revision_juridico_contrato.html.erb 
 <pre> 
     <p><%= _("El contrato '%{nombre}' ha pasado a estado de revisión jurídico.")%{nombre: @contrato.codigo_nombre} %></p> 
     <p><ul> 
       <% @info_contrato.each do |k,v| %> 
         <li><strong><%= k %>: </strong><%= v %></li> 
       <% end %> 
     </ul></p> 
 </pre> 

 app/views/contratos_mailer/aviso_revision_juridico_contrato.text.erb 
 <pre> 
 <%= _("El contrato '%{nombre}' ha pasado a estado de revisión jurídico.")%{nombre: @contrato.codigo_nombre} %>: 

 <% @info_contrato.each do |k,v| -%> 
   * <%= k %>: <%= v %> 
 <% end -%> 
 </pre> 

 app/mailers/contratos_mailer.rb 
 <pre><code class="ruby"> 
   def aviso_revision_juridico_contrato destinatario, contrato 
     @usuario = destinatario 
     @contrato = contrato 
     @info_contrato = info_contrato contrato 
     if contrato.proyecto 
       @url = default_url_values.merge( seccion: 'proyectos', proyecto_id: contrato.proyecto_id, 
                                        menu: 'ejecucion_economica', controller: 'contrato' )  
     else 
       @url = default_url_values.merge( seccion: 'agentes', agente_id: contrato.agente_id, 
                                        menu: 'economico_agente', controller: 'contrato' ) 
     end 
     texto_subject = _('El contrato %{contrato} ha pasado a estado de revisión jurídico')%{contrato: contrato.codigo} 
     subject = "[#{INSTANCIA}][AVISO][Contrato] #{texto_subject}"  
     # Envia el correo al usuario 
     logger.info "=========== Enviando mail de aviso de revisión jurídica del contrato '#{contrato.codigo_nombre}' a '#{@usuario.nombre_completo}'" 
     mail to: "#{@usuario.nombre_completo} <#{@usuario.correoe}>", subject: subject 
   end 
 </code></pre> 

 app/models/contrato.rb 

 app/controllers/estado_contrato_controller.rb 

Atrás