From 5f45883c8c0e99ed94ccf4fb22a66bc366366eea Mon Sep 17 00:00:00 2001 From: Jose Matute Date: Tue, 6 Dec 2011 20:20:04 -0800 Subject: [PATCH] listo despido de oips --- SIELHO/app/controllers/mensajes_controller.rb | 1 + .../app/controllers/solicitud_controller.rb | 12 ++++++- SIELHO/app/controllers/usuario_controller.rb | 7 ++++ SIELHO/app/models/solicitud.rb | 11 +++++++ SIELHO/app/views/mensajes/new.html.erb | 6 ++++ .../app/views/solicitud/clasificar.html.erb | 2 ++ SIELHO/app/views/solicitud/pendiente.html.erb | 32 +++++++++++++++++++ SIELHO/app/views/solicitud/show.html.erb | 5 ++- SIELHO/config/routes.rb | 3 +- 9 files changed, 76 insertions(+), 3 deletions(-) diff --git a/SIELHO/app/controllers/mensajes_controller.rb b/SIELHO/app/controllers/mensajes_controller.rb index 0cc6725..74b7862 100644 --- a/SIELHO/app/controllers/mensajes_controller.rb +++ b/SIELHO/app/controllers/mensajes_controller.rb @@ -35,6 +35,7 @@ def nuevo @solicitud = Solicitud.find(params[:solicitud_id]) @destinos = [ [ User.find(@solicitud.responsable).username , @solicitud.responsable] ] @solicitudes = [ [@solicitud.numero,@solicitud.expediente_id]] + @asignacion = Asignacion.where(:enlace_id=>current_user.id,:expediente_id=>@solicitud.expediente_id,:completada=>false)[0] render :action => "new" end diff --git a/SIELHO/app/controllers/solicitud_controller.rb b/SIELHO/app/controllers/solicitud_controller.rb index d0d9786..ee7b4e3 100644 --- a/SIELHO/app/controllers/solicitud_controller.rb +++ b/SIELHO/app/controllers/solicitud_controller.rb @@ -77,6 +77,7 @@ def clasificar expediente.crear(solicitud.id,current_user.id) solicitud.expediente_id = expediente.id solicitud.save + @s = solicitud AplicationMailer.recibo(solicitante.email).deliver temp = Mensaje.find(params[:mensaje_id]) temp.expediente_id = expediente.id @@ -89,7 +90,6 @@ def clasificar def pendiente @solicitudes = Solicitud.all - if current_user.rol.nombre.eql? "enlace" @asignacion = Asignacion.where(:enlace_id => current_user.id ) end @@ -198,4 +198,14 @@ def reclasificar end + + def reasignar + s = Solicitud.find(params[:solicitud_id]) + s.update_attributes(:responsable=>params[:nuevo]) + @solicitudes = Solicitud.all + if current_user.rol.nombre.eql? "enlace" + @asignacion = Asignacion.where(:enlace_id => current_user.id ) + end + render :action=>"pendiente" + end end diff --git a/SIELHO/app/controllers/usuario_controller.rb b/SIELHO/app/controllers/usuario_controller.rb index 2a61c2f..1e44aa4 100644 --- a/SIELHO/app/controllers/usuario_controller.rb +++ b/SIELHO/app/controllers/usuario_controller.rb @@ -40,6 +40,13 @@ def activar_oip user = User.find(Oip.find(params[:id]).usuario_id) user.activo = !user.activo user.save + + unless user.activo + responsabilidad = Solicitud.where(:finalizada => false,:responsable=>user.id) + responsabilidad.each do |r| + r.update_attributes(:responsable=>current_user.id) + end + end redirect_to directorio_path end diff --git a/SIELHO/app/models/solicitud.rb b/SIELHO/app/models/solicitud.rb index 4e1a6de..0be9c49 100644 --- a/SIELHO/app/models/solicitud.rb +++ b/SIELHO/app/models/solicitud.rb @@ -22,6 +22,17 @@ def crear(doc,fechaM,solicitante,usuario) self.save end + + def self.posibles(institucion) + a = Oip.where(:institucion_id=>institucion) + x = [] + a.each do |o| + if User.find(o.usuario_id).activo + x << ["#{o.pnombre} #{o.papellido}",o.usuario_id] + end + end + return x + end def self.solicitudes(usuario) x = User.find(usuario) diff --git a/SIELHO/app/views/mensajes/new.html.erb b/SIELHO/app/views/mensajes/new.html.erb index 829871b..3f5adfc 100644 --- a/SIELHO/app/views/mensajes/new.html.erb +++ b/SIELHO/app/views/mensajes/new.html.erb @@ -1,6 +1,12 @@ <%=semantic_form_for @mensaje , :html => {:multipart => true} do |f|%> + <%if current_user.rol.nombre.eql? "enlace"%> +

Respuesta a asignacion <%=@solicitud.numero%>

+

<%=@asignacion.descripcion%>



+ <%end%> + <%= f.inputs do%> <%= f.input :titulo %> + <%= f.input :expediente_id,:as => :select,:label=> "Relativo a solicitud",:collection => @solicitudes %> <%= f.input :destinatario_id, :as => :select,:label => "Destinatario:", :collection => @destinos %> <%= f.file_field :document, :label =>"Adjuntar Archivo:" %> diff --git a/SIELHO/app/views/solicitud/clasificar.html.erb b/SIELHO/app/views/solicitud/clasificar.html.erb index 1165eda..13ad997 100644 --- a/SIELHO/app/views/solicitud/clasificar.html.erb +++ b/SIELHO/app/views/solicitud/clasificar.html.erb @@ -1,3 +1,4 @@ +<%unless @s.nil?%> <%=semantic_form_for @justificacion do |f|%> @@ -19,3 +20,4 @@ <%=f.buttons%> <%end%> +<%end%> diff --git a/SIELHO/app/views/solicitud/pendiente.html.erb b/SIELHO/app/views/solicitud/pendiente.html.erb index 42c99ec..7d47137 100644 --- a/SIELHO/app/views/solicitud/pendiente.html.erb +++ b/SIELHO/app/views/solicitud/pendiente.html.erb @@ -37,5 +37,37 @@ <% end%> +<%elsif current_user.rol.nombre.eql? "admin" %> + + + + +<% @solicitudes.each do |m| %> + +<%if m.responsable.eql? current_user.id%> + + <%= form_tag("/solicitud/#{m.id}/reasignar", :method => "post") do %> + + + + + + <%end%> + + +<%end%> +<% end%> +
Numero de solicitud Fecha Responsable Estado Oip Reasignar
<%= link_to m.numero,ver_expediente_path(m,Expediente.find( m.expediente_id)) %> <%="#{m.fecha}"%> <%="#{User.find(Expediente.find(m.expediente_id).creador ).username }"%> + + <%=Estado.find(Expediente.find(m.expediente_id).estado_id).nombre %> + + + <%= submit_tag("Asignar") %> + +
<%end%> diff --git a/SIELHO/app/views/solicitud/show.html.erb b/SIELHO/app/views/solicitud/show.html.erb index 7b0d21d..eeac0fd 100644 --- a/SIELHO/app/views/solicitud/show.html.erb +++ b/SIELHO/app/views/solicitud/show.html.erb @@ -3,7 +3,10 @@

Institucion : <%=Institucion.find( @solicitud.institucion_id).nombre %>

Fecha de solicitud : <%=@solicitud.fecha%>

Clasificacion : <%=Clasificacion.find(@solicitud.clasificacion_id).nombre%>

-

Oip Responsable : <%=Oip.find_by_usuario_id(@expediente.creador).nombre%>

+

Oip Creador : <%=Oip.find_by_usuario_id(@expediente.creador).nombre%>

+

Usuario Responsable : <%=User.find(@solicitud.responsable).username%>

+ +

Estado : <%=Estado.find(@expediente.estado_id).nombre%>

Descripcion: <%=@solicitud.descripcion%>

diff --git a/SIELHO/config/routes.rb b/SIELHO/config/routes.rb index bf98948..bd9a416 100644 --- a/SIELHO/config/routes.rb +++ b/SIELHO/config/routes.rb @@ -60,7 +60,8 @@ match 'plazo/create' => "usuario#createPlazo" ,:as => :create_plazo match 'solicitud/:solicitud_id/expediente/:expediente_id/reclasificar' => "solicitud#reclasificar", :as=> :reclasificar - + + match 'solicitud/:solicitud_id/reasignar' => "solicitud#reasignar",:as => :reasignar # The priority is based upon order of creation: # first created -> highest priority.