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