<repo_name>pedroaro/FORMINST<file_sep>/forminst_new1/app/views/entidads/index.json.jbuilder
json.array!(@entidads) do |entidad|
  json.extract! entidad, :id, :id, :nombre, :escuelaId
  json.url entidad_url(entidad, format: :json)
end
<file_sep>/forminst_new1/app/models/informe_actividad.rb
class InformeActividad < ActiveRecord::Base
	belongs_to :informe
	has_many :documento
	has_many :observacion_actividad_informe
	has_many :actividad_ejecutada
	has_many :observacion_tutor
	belongs_to :actividad
end
<file_sep>/forminst_new1/app/models/adecuacionactividad.rb
class Adecuacionactividad < ActiveRecord::Base
	belongs_to :adecuacion
	has_many :observacionesactividadadecuacion
	belongs_to :actividad
end<file_sep>/forminst_new1/app/models/permisologium.rb
class Permisologium < ActiveRecord::Base
	belongs_to :usuario
	belongs_to :permiso
end<file_sep>/forminst_new1/app/controllers/inicioinstructor_controller.rb
﻿class InicioinstructorController < ApplicationController
	layout 'ly_inicio_entidad'

	#Inicio del Modulo del Instructor
  def index
    if session[:usuario_id] && session[:instructor] == true #verificar que no ingresara con el link del modulo
      plan = Planformacion.where(instructor_id: session[:usuario_id]).take #Se busca  el plan de formación del instructor
      session[:adecuacion_id] = Adecuacion.where(planformacion_id: plan.id).take.id #se busca la adecuacion del instructor
      session[:plan_id] = plan.id #se alamacena el plan de formación
      session[:instructorName] = nil
      session[:informe_id] = nil
      @nombre = session[:nombre_usuario]
      #almacenar las notificaciones del usuario para mostrarlas
      @notificaciones1= []
      @notificaciones = Notificacion.where(instructor_id: session[:usuario_id]).all
      @notificaciones.each do |notificaciones|
        if notificaciones.actual == 2        #Caso de notificaciones del instructor
          @notificaciones1.push(notificaciones)
        end
      end
      #si intenta ingresar por la direccion del url
    else
      redirect_to controller:"forminst", action: "index"
    end
  end

  def destroyNotifications
    @post = Notificacion.find(params[:id])
    respond_to do |format|
    	if @post.destroy
    		format.html { redirect_to :back }
    	else
    		flash[:notice] = "Post failed to delete."
    		format.html { redirect_to :back }
    	end
    end
  end

  #Vista de los soportes agregados
  def ver_soporte
    @plan = Planformacion.where(id: session[:plan_id]).take #buscar planformacion de instructor
    $actividad = params[:actividad_id].to_i
    @documents = []
    #si son los soportes de un informe
    if !session[:informe_id].blank?
      @documents = Document.where("informe_id <= ? AND adecuacion_id = ? AND actividad_id = ?",session[:informe_id] , session[:adecuacion_id],  $actividad).all
    #si son los soporter de una adecuacion
    else
      @documents = Document.where(adecuacion_id: session[:adecuacion_id], informe_id: nil).all
    end
  end

	def listar_adecuaciones
		if session[:usuario_id] && session[:instructor] == true
			@nombre = session[:nombre_usuario]

			@plan_formacion = Planformacion.where(instructor_id: session[:usuario_id]).take
			@adecuacion = Adecuacion.where(planformacion_id: @plan_formacion).take
			@tutor1 = Persona.where(usuario_id: @adecuacion.tutor_id).take
      @tutor = @tutor1.nombres.to_s.split.map(&:capitalize).join(' ') + " " + @tutor1.apellidos.to_s.split.map(&:capitalize).join(' ')
			@status_adecuacion = EstatusAdecuacion.where(adecuacion_id: @adecuacion.id, actual: 1).take
			@tipo_status = "[" + @status_adecuacion.fecha.to_s  + "]: " + TipoEstatus.where(id: @status_adecuacion.estatus_id, ).take.concepto


			if not @adecuacion
			end

		else
			redirect_to controller:"forminst", action: "index"
		end
	end

  def ver_respaldos
    if session[:usuario_id] && session[:instructor] 
      @plan = Planformacion.where(id: session[:plan_id]).take
      @documents = []
      adec = Adecuacion.where(planformacion_id: session[:plan_id]).take
      #si se desea saber el respaldo de los informes
      if !session[:informe_id].blank?
        @documents = Respaldo.where(adecuacion_id: adec.id, informe_id: session[:informe_id], actual: 0).all
      else
        @documents = Respaldo.where(adecuacion_id: adec.id, informe_id: nil, actual: 0).all
      end
    #si intenta ingresar mediante el link
    else
      redirect_to controller:"forminst", action: "index"
    end
  end

    #mostrar el pdf del respaldo
  	def show

  		#si es informe
	    if params[:informe_id].blank?
	      @document = Respaldo.where(adecuacion_id: params[:adecuacion_id], informe_id: nil, version: params[:version].to_i, filename: params[:namefile]).take
	    #si es adecuacion
	    else
	      @document = Respaldo.where(adecuacion_id: params[:adecuacion_id], informe_id: params[:informe_id],version: params[:version].to_i, filename: params[:namefile]).take
	    end
	    #abrir el documento
	    send_data(@document.file_contents,
        type: @document.content_type,
        filename: @document.filename)
    end

    #modulo de prorroga (fuera de funcionamiento)
	def prorrogas
		if session[:usuario_id] && session[:instructor] == true
	      @persona = Persona.where(usuario_id: session[:usuario_id]).take
	      @nombre = session[:nombre_usuario]
	      @planformacion = Planformacion.where(instructor_id: session[:usuario_id]).take
	      #@tutor = Persona.where(usuario_id: @adecuacion.tutor_id).take.nombres
	      @informes = Informe.where(planformacion_id: @planformacion)
	      @informe = Informe.where(planformacion_id: @planformacion).take
	      session[:informe_id] = nil

	      @tipos= []

	      @informes.each do |inf|
	        if inf.tipo_id == 1
	          @tipos.push('Semestral')
	        else
	          if inf.tipo_id ==2
	            @tipos.push('Anual')
	          else
	            if inf.tipo_id==3
	              @tipos.push('Final')
	            end
	          end
	        end
	      end
	      
	      if not @nombre
	        print "NO HAY USUARIO"
	      end
	    else
	      redirect_to controller:"forminst", action: "index"
	    end
	end

#Vista previa del Informe
def vista_previa1  
  if !session[:informe_id].blank?
 	#Obtener todos los datos importantes de la base de datos 
    @informe= Informe.find(session[:informe_id])
    @TipoSemestre=TipoInforme.where(id: @informe.tipo_id).take
    @fechaActual = Date.current.to_s
    @plan= Planformacion.find(session[:plan_id])
    @fechaConcurso = @plan.fecha_inicio
    @usere= Usuarioentidad.where(usuario_id: @plan.instructor_id).take
    @escuela= Escuela.find(@usere.escuela_id)
    @adecuacion= Adecuacion.where(planformacion_id: @plan.id).take
    @adscripcion_docencia= @plan.adscripcion_docencia
    @adscripcion_investigacion= @plan.adscripcion_investigacion
    @persona= Persona.where(usuario_id: @plan.instructor_id).take
    @cpinstruccion = @persona.grado_instruccion
    @user = Usuario.find(@plan.instructor_id)
    @tutor = Persona.where(usuario_id: @plan.tutor_id).take
    @periodo = @informe.fecha_inicio.to_s + " al " + @informe.fecha_fin.to_s

    @nombre_informe = ""
    if (@informe.numero == 1 || @informe.numero == 3)
      @nombre_informe= "PRIMER INFORME "
    elsif (@informe.numero == 2 || @informe.numero == 6)
      @nombre_informe= "SEGUNDO INFORME "
    elsif @informe.numero == 4
      @nombre_informe= "TERCER INFORME "
    elsif @informe.numero == 5
      @nombre_informe= "CUARTO INFORME "
    end

    if @informe.tipo_id == 1
      @nombre_informe= @nombre_informe+"SEMESTRAL"
    elsif @informe.tipo_id == 2
      @nombre_informe= @nombre_informe+"ANUAL"
    else
      @nombre_informe= "INFORME "+"FINAL"
    end

    @docencia='docencia'
    @investigacion= 'investigacion'
    @obligatoria= 'obligatoria'
    @formacion= 'formacion'
    @extension= 'extension'
    @otra= 'otra' 
    @CJagregado=["no","no","no","no"]
    @semestres = []

    @nombre = session[:nombre_usuario]
    @instructorName = session[:instructorName]

    @actividades1doc= []
    @actividades1inv= []
    @actividades1ext= []
    @actividades1for= []
    @actividades1otr= []

    @actividades1= AdecuacionActividad.where(adecuacion_id: @adecuacion.id, semestre: 1).all
    @actividades1.each do |actade| 
      @act= Actividad.find(actade.actividad_id)
      tipo= @act.tipo_actividad_id
      if tipo==1
        @actividades1doc.push(@act)
      else
        if tipo==2
          if @informe.numero == 1
            @resActi= InformeActividad.where(informe_id: @informe.id, actividad_id: @act.id).take
            @res= Resultado.where(informe_actividad_id: @resActi.id).all
          end
          @actividades1inv.push(@act)
        else
          if tipo==3
            @actividades1ext.push(@act)
          else
            if tipo==4
              @actividades1for.push(@act)
            else
              if tipo==5
                @actividades1otr.push(@act)
              end
            end
          end
        end
      end
    end
    @actividades2doc= []
    @actividades2inv= []
    @actividades2ext= []
    @actividades2for= []
    @actividades2otr= []
    @actividades2= AdecuacionActividad.where(adecuacion_id: @adecuacion.id, semestre: 2).all
    @actividades2.each do |actade| 
    @act= Actividad.find(actade.actividad_id)
    tipo= @act.tipo_actividad_id
      if tipo==1
        @actividades2doc.push(@act)
      else
        if tipo==2
          @actividades2inv.push(@act)
        else
          if tipo==3
            @actividades2ext.push(@act)
          else
            if tipo==4
              @actividades2for.push(@act)
            else
              if tipo==5
                @actividades2otr.push(@act)
              end
            end
          end
        end
      end
    end


    @actividades3doc= []
    @actividades3inv= []
    @actividades3ext= []
    @actividades3for= []
    @actividades3otr= []
    @actividades3= AdecuacionActividad.where(adecuacion_id: @adecuacion.id, semestre: 3).all
    @actividades3.each do |actade| 
      @act= Actividad.find(actade.actividad_id)
      tipo= @act.tipo_actividad_id
      if tipo==1
        @actividades3doc.push(@act)
      else
        if tipo==2
          @actividades3inv.push(@act)
        else
          if tipo==3
            @actividades3ext.push(@act)
          else
            if tipo==4
              @actividades3for.push(@act)
            else
              if tipo==5
                @actividades3otr.push(@act)
              end
            end
          end
        end
      end
    end


    @actividades4doc= []
    @actividades4inv= []
    @actividades4ext= []
    @actividades4for= []
    @actividades4otr= []
    @actividades4= AdecuacionActividad.where(adecuacion_id: @adecuacion.id, semestre: 4).all
    @actividades4.each do |actade| 
      @act= Actividad.find(actade.actividad_id)
      tipo= @act.tipo_actividad_id
      if tipo==1
        @actividades4doc.push(@act)
      else
        if tipo==2
          @actividades4inv.push(@act)
        else
          if tipo==3
            @actividades4ext.push(@act)
          else
            if tipo==4
              @actividades4for.push(@act)
            else
              if tipo==5
                @actividades4otr.push(@act)
              end
            end
          end
        end
      end
    end

    @actividades5doc= []
    @actividades5inv= []
    @actividades5ext= []
    @actividades5for= []
    @actividades5otr= []
    @actividades5= AdecuacionActividad.where(adecuacion_id: @adecuacion.id, semestre: 5).all
    @actividades5.each do |actade| 
      @act= Actividad.find(actade.actividad_id)
      tipo= @act.tipo_actividad_id
      if tipo==1
        @actividades5doc.push(@act)
      elsif tipo==2
          @actividades5inv.push(@act)
      elsif tipo==3
          @actividades5ext.push(@act)
      elsif tipo==4
          @actividades5for.push(@act)
      end
    end

    @bool_enviado = 0
    estatus_informe = EstatusInforme.where(informe_id: @informe.id, actual: 1).take
    if (estatus_informe.estatus_id != 6 && estatus_informe.estatus_id != 5)
      @bool_enviado = 1
    end

    actividades = AdecuacionActividad.where(adecuacion_id: @adecuacion.id, semestre: 0)
    actividades1 = []
    if !actividades.blank?
      actividades.each do |actividadAde|
        actividad = Actividad.find(actividadAde.actividad_id)
        actividades1.push(actividad)
      end
    end
    @presentacion = ""
    @descripcion = ""
    @docencia = [] 
    @investigacion = []
    @formacion = []  
    @extension = []

    if !actividades1.blank?
      actividades1.each do |actividadAde|
        if actividadAde.tipo_actividad_id == 9
          if actividadAde.actividad.blank?
            @presentacion = " "
          else
            @presentacion = actividadAde.actividad 
          end
        elsif actividadAde.tipo_actividad_id == 8
          if actividadAde.actividad.blank?
            @descripcion = " "
          else
            @descripcion = actividadAde.actividad  
          end
        elsif actividadAde.tipo_actividad_id == 1
          if actividadAde.actividad.blank?
            @docencia.push(" ")
          else
            @docencia.push(actividadAde)
          end
        elsif actividadAde.tipo_actividad_id == 2
          if actividadAde.actividad.blank?
            @investigacion.push(" ")
          else
            @investigacion.push(actividadAde)
          end
        elsif actividadAde.tipo_actividad_id == 4
          if actividadAde.actividad.blank?
            @formacion.push(" ")
          else
            @formacion.push(actividadAde)  
          end
        elsif actividadAde.tipo_actividad_id == 3
          if actividadAde.actividad.blank?
            @extension.push(" ")
          else
            @extension.push(actividadAde)
          end
        end
      end
    else
      @presentacion = " "
      @descripcion = " "
      @docencia = [" "]  
      @investigacion = [" "]
      @formacion = [" "] 
      @extension = [" "] 
    end
    @j = 0
    @i = 0
    @actividadesa= InformeActividad.where(informe_id: @informe.id).all
    @actividadesadoc= []
    @actividadesainv= []
    @actividadesaext= []
    @actividadesafor= []
    @actividadesaobli= []
    @actividadesaotr= []
    @resultados= []
    @actividadese= []
    @observaciont= []
    @resultTP = []
    @resultPP = []
    @resultPIT = []
    @resultO = []
    @resultAEC = []
    @resultOEC = []
    @resultDCS = []
    @actividadesa.each do |actade| 
      @resultados2 = ""
      @res= Resultado.where(informe_actividad_id: actade.id).all
      if actade.actividad_id == nil #Es el caso que es un resultado no contemplado en el plan de formacion o un avancwe de postgrado
        if !@res.blank?
          @res.each do |res|
            @resultados2 = ""
            @cparray = ["a", "a", "a", "a", "a", "a", "a", "a", "a","a", "a", "a", "a", "a", "a", "a", "a", "a", "a", "a", "a", "a", "a", "a", "a", "a", "a", "a", "a", "a", "a"]
            @cparray[0] = res.titulo.capitalize
            @cparray[1] = res.autor.capitalize
            @cparray[2] = res.nombre_capitulo.to_s.capitalize
            @cparray[3] = res.autor_capitulo.to_s.capitalize
            @cparray[4] = res.dia
            @cparray[5] = res.mes
            @cparray[6] = res.ano
            @cparray[7] = res.ciudad.to_s.capitalize
            @cparray[8] = res.estado.to_s.capitalize
            @cparray[9] = res.pais.to_s.capitalize
            @cparray[10] = res.organizador.to_s.capitalize
            @cparray[11] = res.duracion.to_s.capitalize
            @cparray[12] = res.editor.to_s.capitalize
            @cparray[13] = res.titulo_libro.to_s.capitalize
            @cparray[14] = res.autor_libro.to_s.capitalize
            @cparray[15] = res.nombre_revista.to_s.capitalize
            @cparray[16] = res.nombre_periodico.to_s.capitalize
            @cparray[17] = res.nombre_acto.to_s.capitalize
            @cparray[18] = res.paginas
            @cparray[19] = res.nombre_paginaw.to_s.capitalize
            @cparray[20] = res.sitio_paginaw
            @cparray[21] = res.infoafiliaion.to_s.capitalize
            @cparray[22] = res.cptipo.to_s.capitalize
            @cparray[23] = res.nombre.to_s.capitalize
            @cparray[24] = res.ISSN_impreso.to_s.capitalize
            @cparray[25] = res.ISSN_electro.to_s.capitalize
            @cparray[26] = res.volumen.to_s.capitalize
            @cparray[27] = res.edicion.to_s.capitalize
            @cparray[28] = res.DOI
            @cparray[29] = res.ISBN
            @cparray[30] = res.universidad.to_s.capitalize
            @cparray[31] = res.url
            if !@cparray.blank?
              @noemptyarray = @cparray - ["", nil]
              if !@resultados2
                @noemptyarray = @cparray - ["", nil]
                if !@noemptyarray.join(',').blank?
                  @resultados2 = "* " + @noemptyarray
                end
              else
                @noemptyarray = @cparray - ["", nil]
                if !@noemptyarray.join(',').blank?
                  @resultados2 = @resultados2 + @noemptyarray.join(', ')
                end
              end
            end
            if res.tipo_resultado_id == 1
              @resultTP.push(@resultados2)
            elsif res.tipo_resultado_id == 2
              @resultPP.push(@resultados2)
            elsif res.tipo_resultado_id == 3
              @resultPIT.push(@resultados2)
            elsif res.tipo_resultado_id == 4
              @resultO.push(@resultados2)
            elsif res.tipo_resultado_id == 5
              @resultAEC.push(@resultados2)
            elsif res.tipo_resultado_id == 6
              @resultOEC.push(@resultados2)
            elsif res.tipo_resultado_id == 7
              @resultDCS.push(@resultados2)
            end
            @resultados.push(res)
          end
        end
      else
        @act= Actividad.find(actade.actividad_id)
        tipo= @act.tipo_actividad_id
        if !@res.blank?
          @res.each do |res|
            @resultados2 = ""
            @cparray = ["a", "a", "a", "a", "a", "a", "a", "a", "a","a", "a", "a", "a", "a", "a", "a", "a", "a", "a", "a", "a", "a", "a", "a", "a", "a", "a", "a", "a", "a", "a"]
            @cparray[0] = res.titulo.capitalize
            @cparray[1] = res.autor.capitalize
            @cparray[2] = res.nombre_capitulo.to_s.capitalize
            @cparray[3] = res.autor_capitulo.to_s.capitalize
            @cparray[4] = res.dia
            @cparray[5] = res.mes
            @cparray[6] = res.ano
            @cparray[7] = res.ciudad.to_s.capitalize
            @cparray[8] = res.estado.to_s.capitalize
            @cparray[9] = res.pais.to_s.capitalize
            @cparray[10] = res.organizador.to_s.capitalize
            @cparray[11] = res.duracion.to_s.capitalize
            @cparray[12] = res.editor.to_s.capitalize
            @cparray[13] = res.titulo_libro.to_s.capitalize
            @cparray[14] = res.autor_libro.to_s.capitalize
            @cparray[15] = res.nombre_revista.to_s.capitalize
            @cparray[16] = res.nombre_periodico.to_s.capitalize
            @cparray[17] = res.nombre_acto.to_s.capitalize
            @cparray[18] = res.paginas
            @cparray[19] = res.nombre_paginaw.to_s.capitalize
            @cparray[20] = res.sitio_paginaw
            @cparray[21] = res.infoafiliaion.to_s.capitalize
            @cparray[22] = res.cptipo.to_s.capitalize
            @cparray[23] = res.nombre.to_s.capitalize
            @cparray[24] = res.ISSN_impreso.to_s.capitalize
            @cparray[25] = res.ISSN_electro.to_s.capitalize
            @cparray[26] = res.volumen.to_s.capitalize
            @cparray[27] = res.edicion.to_s.capitalize
            @cparray[28] = res.DOI
            @cparray[29] = res.ISBN
            @cparray[30] = res.universidad.to_s.capitalize
            @cparray[31] = res.url
            if !@cparray.blank?
              @noemptyarray = @cparray - ["", nil]
              if !@resultados2
                @noemptyarray = @cparray - ["", nil]
                if !@noemptyarray.join(',').blank?
                  @resultados2 = "* " + @noemptyarray
                end
              else
                @noemptyarray = @cparray - ["", nil]
                if !@noemptyarray.join(',').blank?
                  @resultados2 = @resultados2 + @noemptyarray.join(', ')
                end
              end
            end
            if res.tipo_resultado_id == 1
              @resultTP.push(@resultados2)
            elsif res.tipo_resultado_id == 2
              @resultPP.push(@resultados2)
            elsif res.tipo_resultado_id == 3
              @resultPIT.push(@resultados2)
            elsif res.tipo_resultado_id == 4
              @resultO.push(@resultados2)
            elsif res.tipo_resultado_id == 5
              @resultAEC.push(@resultados2)
            elsif res.tipo_resultado_id == 6
              @resultOEC.push(@resultados2)
            elsif res.tipo_resultado_id == 7
              @resultDCS.push(@resultados2)
            end
            @resultados.push(res)
          end
        end
      end
      @ae= ActividadEjecutada.where(informe_actividad_id: actade.id).take
      @actividadese.push(@ae)
      @obs= ObservacionTutor.where(informe_actividad_id: actade.id).take
	  semestre = AdecuacionActividad.where(actividad_id: @act.id).take.semestre
	  @semestres[@act.id]=semestre
      if @obs==nil
        @observaciont.push("")
      else
        @observaciont.push(@obs.observaciones)
      end
      if tipo==1
        @actividadesadoc.push(@act)
      elsif tipo==2
        @actividadesainv.push(@act)
      elsif tipo==3
        @actividadesaext.push(@act)
      elsif tipo==4
        @actividadesafor.push(@act)
      elsif tipo==5
        @actividadesaotr.push(@act)
      elsif tipo==7
        @actividadesaobli.push(@act)
      end
    end
  else
    flash[:info]="Selecciona un informe"
    redirect_to controller: "inicioinstructor", action: "listar_informes"
  end
end
	
	#listar todos los informes del instructor
	def listar_informes
	    if session[:usuario_id] && session[:instructor] == true

	      @nombre = session[:nombre_usuario]
	      @planformacion = Planformacion.where(instructor_id: session[:usuario_id]).take
        @informes = Informe.where(planformacion_id: @planformacion).order(fecha_modificacion: :desc)
        @status = []
	      session[:informe_id] = nil
	      @tipos= []
	      @informes.each do |inf|
	          si = EstatusInforme.where(informe_id: inf.id, actual: 1).take
	          #Status a mostrar segun el informe 
	          if(si.estatus_id==1)
	            @st = "[" + si.fecha.to_s  + "]: APROBADO POR CONSEJO DE FACULTAD"
	          elsif(si.estatus_id==2)
	            @st = "[" + si.fecha.to_s  + "]: ENVIADO A CONSEJO TÉCNICO"
	          elsif(si.estatus_id==3)
	            @st = "[" + si.fecha.to_s  + "]: ENVIADO A COMISION DE INVESTIGACIÓN"
	          elsif(si.estatus_id==4)
	            @st = "[" + si.fecha.to_s  + "]: ENVIADO A CONSEJO DE FACULTAD"
	          elsif(si.estatus_id==5)
	            @st = "[" + si.fecha.to_s  + "]: APROBADO CON OBSERVACIONES POR CONSEJO DE FACULTAD"
	          elsif(si.estatus_id==6)
	           @st = "GUARDADO"
	          elsif(si.estatus_id==8)
	            @st = "[" + si.fecha.to_s  + "]: ENVIADO A CONSEJO DE ESCUELA"
	          elsif(si.estatus_id==9)
	            @st = "[" + si.fecha.to_s  + "]: RECHAZADO POR CONSEJO DE FACULTAD"
            elsif(si.estatus_id==12)
              @st = "[" + si.fecha.to_s  + "]: ENVIADO A CONSEJO TÉCNICO SIN REVISIÓN"
            elsif(si.estatus_id==13)
              @st = "[" + si.fecha.to_s  + "]: ENVIADO A COMISIÓN DE INVESTIGACIÓN SIN REVISIÓN"
            elsif(si.estatus_id==14)
              @st = "[" + si.fecha.to_s  + "]: ENVIADO A CONSEJO DE FACULTAD SIN REVISIÓN"
            elsif(si.estatus_id==18)
              @st = "[" + si.fecha.to_s  + "]: ENVIADO A CONSEJO DE ESCUELA SIN REVISIÓN"
	          end
	          #Tipo de los informes
	          @status.push(@st)
		      if inf.tipo_id == 1
		        @tipos.push('Semestral')
		      else
		        if inf.tipo_id ==2
		          @tipos.push('Anual')
		        else
		          if inf.tipo_id==3
		            @tipos.push('Final')
		          end
		        end
		      end
	      end
	    #si intenta ingresar con el link 
	    else
	      redirect_to controller:"forminst", action: "index"
	    end
  	end


	def logout
		reset_session
		redirect_to controller: "forminst", action: "index"
	end

	def ver_detalles_adecuacion
		if session[:usuario_id] && session[:instructor] == true

			@plan_formacion = Planformacion.where(instructor_id: session[:usuario_id]).take
			@adecuacion = Adecuacion.where(planformacion_id: @plan_formacion).take
			@status_adecuacion = EstatusAdecuacion.where(adecuacion_id: @adecuacion.id, actual: 1).take
			@tipo_status = TipoEstatus.where(id: @status_adecuacion.estatus_id, ).take.concepto



			@nombre = session[:nombre_usuario]
			@instructorName = session[:nombre_usuario]
			@modifique=false
      		session[:informe_id] = nil
			@cant_delete= params[:cant_delete]
			@cant_edit= params[:cant_edit]
			@cant_doc= params[:cant_docencia]
			@cant_inv= params[:cant_investigacion]
			@cant_for= params[:cant_formacion]
			@cant_ext= params[:cant_extension]
			@cant_otr= params[:cant_otra]
			semestre= params[:semestre].to_i

			#if params[:adecuacion_id]!=nil
				session[:adecuacion_id]= @adecuacion.id
			#end
      
      		@tutoresAnteriores = Instructortutor.where(instructor_id: session[:usuario_id], actual: 0)
			@adecuacion= Adecuacion.find(session[:adecuacion_id])
			@plan = Planformacion.where(instructor_id: session[:usuario_id]).take
			@userentidad= Usuarioentidad.where(usuario_id: session[:usuario_id]).take
			@entidad= Entidad.find(@userentidad.entidad_id)
			@escuela= Escuela.where(id: @userentidad.escuela_id).take
			@tutor = Persona.where(usuario_id: @adecuacion.tutor_id).take
      @usuario = Usuario.where(id: session[:usuario_id]).take
      @persona = Persona.where(usuario_id: session[:usuario_id]).take
      @cpTutor= Persona.where(usuario_id: @plan.tutor_id).take
      @cpTutorEmail= Usuario.find(@plan.tutor_id).email

			@instructor= Persona.where(usuario_id: session[:usuario_id]).take

			@actividadesadoc= []
			@actividadesainv= []
			@actividadesaext= []
			@actividadesafor= []
			@actividadesaotr= []



			if @cant_edit.to_i > 0
				@modifique= true
				j=0
				i=:edit.to_s+j.to_s
				@edit= params[i].to_i

				while j < @cant_edit.to_i
					@act= Actividad.find(@edit)
					tipo= @act.tipo_actividad_id

					if tipo==1
						m=:docencia.to_s+@edit.to_s
						text= params[m]
					else
						if tipo==2
							m=:investigacion.to_s+@edit.to_s
							text= params[m]
						else
							if tipo==3
								m=:extension.to_s+@edit.to_s
								text= params[m]
							else
								if tipo==4
									m=:formacion.to_s+@edit.to_s
									text= params[m]
								else
									if tipo==5
										m=:otra.to_s+@edit.to_s
										text= params[m]
									end
								end
							end
						end
					end
					@act.actividad= text
					@act.save
					j= j+1
					i=:edit.to_s+j.to_s
					@edit= params[i].to_i
				end
			end

			if @cant_delete.to_i > 0
				@modifique= true
				j= 0
				i=:delete.to_s+j.to_s;
				@delete = params[i].to_i
				while j < @cant_delete.to_i
					AdecuacionActividad.where(actividad_id: @delete).destroy_all
					Actividad.find(@delete).destroy
					j = j + 1
					i=:delete.to_s+j.to_s;
					@delete = params[i]
				end
			end

			j=0
			i=:nuevadoc.to_s+j.to_s
			@docencias = params[i]

			while j < @cant_doc.to_i
				@modifique= true
				if  @docencias!=nil && @docencias!=""
					a = Actividad.new
					a.tipo_actividad_id = 1
					a.actividad = @docencias
					a.save
					adac = AdecuacionActividad.new
					adac.adecuacion_id = @adecuacion.id
					adac.actividad_id = a.id
					adac.semestre = semestre
					adac.save
				end
				j = j + 1
				i=:nuevadoc.to_s+j.to_s;
				@docencias = params[i]
			end

			j=0
			i=:nuevainv.to_s+j.to_s
			@invest = params[i]

			while j < @cant_inv.to_i
				@modifique= true
				if  @invest!=nil && @invest!=""
					a = Actividad.new
					a.tipo_actividad_id = 2
					a.actividad = @invest
					a.save
					adac = AdecuacionActividad.new
					adac.adecuacion_id = @adecuacion.id
					adac.actividad_id = a.id
					adac.semestre = semestre
					adac.save
				end
				j = j + 1
				i=:nuevainv.to_s+j.to_s;
				@invest = params[i]
			end

			j=0
			i=:nuevafor.to_s+j.to_s
			@formacion = params[i]

			while j < @cant_for.to_i
				@modifique= true
				if  @formacion!=nil && @formacion!=""
					a = Actividad.new
					a.tipo_actividad_id = 4
					a.actividad = @formacion
					a.save
					adac = AdecuacionActividad.new
					adac.adecuacion_id = @adecuacion.id
					adac.actividad_id = a.id
					adac.semestre = semestre
					adac.save
				end
				j = j + 1
				i=:nuevafor.to_s+j.to_s;
				@formacion = params[i]
			end

			j=0
			i=:nuevaext.to_s+j.to_s
			@extension = params[i]

			while j < @cant_ext.to_i
				@modifique= true
				if  @extension!=nil && @extension!=""
					a = Actividad.new
					a.tipo_actividad_id = 3
					a.actividad = @extension
					a.save
					adac = AdecuacionActividad.new
					adac.adecuacion_id = @adecuacion.id
					adac.actividad_id = a.id
					adac.semestre = semestre
					adac.save
				end
				j = j + 1
				i=:nuevaext.to_s+j.to_s;
				@extension = params[i]
			end

			j=0
			i=:nuevaotr.to_s+j.to_s
			@otra = params[i]

			while j < @cant_otr.to_i
				@modifique= true
				if  @otra!=nil && @otra!=""
					a = Actividad.new
					a.tipo_actividad_id = 5
					a.actividad = @otra
					a.save
					adac = AdecuacionActividad.new
					adac.adecuacion_id = @adecuacion.id
					adac.actividad_id = a.id
					adac.semestre = semestre
					adac.save
				end
				j = j + 1
				i=:nuevaotr.to_s+j.to_s;
				@otra = params[i]
			end

			if @modifique == true
				flash[:mensaje]= "La adecuación fue modificada y guardada correctamente"
				redirect_to controller:"iniciotutor", action: "detalles_adecuacion3"
			end
			
		else
			redirect_to controller:"forminst", action: "index"
		end
	end

  def detalles_adecuacion2

    if session[:usuario_id] && session[:instructor]
			if params[:plan_id]
			    @planformacion = Planformacion.find(params[:plan_id])
			    session[:plan_id] = @planformacion.id
			    @adecuacion = Adecuacion.where(planformacion_id: session[:plan_id]).take
			    session[:adecuacion_id]= @adecuacion.id
			else 
			    @planformacion = Planformacion.find(session[:plan_id])
			end
			if !@planformacion.blank?
			#Ver si el informe fue rachazado
			cpInstructor = Usuario.find(@planformacion.instructor_id)
			if (cpInstructor.activo == false)
				@cpBloquear = true
			else
				@cpBloquear = false
			end
			#fin
		end

		@adecuacion = Adecuacion.where(planformacion_id: session[:plan_id]).take
		if params[:editar] == 'no' 
			session[:editar]= false
		end
		@est= EstatusAdecuacion.where(adecuacion_id: @adecuacion.id, actual: 1).take
		if !session[:editar] && (@est.estatus_id == 6 || @est.estatus_id == 5)
			flash.now[:info]= "Para editar la Adecuación debe seleccionar Modificar Adecuación"
		end
		@adecuaciones = Adecuacion.where(planformacion_id: session[:plan_id])
		@iddoc= 'id_docencia'
		@docencia='docencia'
		@desc='descripcion'
		@pres='presentacion'
		@investigacion= 'investigacion'
		@formacion= 'formacion'
		@extension= 'extension'
		@otra= 'otra' 
		@nombre = session[:nombre_usuario]
		@instructorName = session[:instructorName]
		@plan= Planformacion.find(session[:plan_id])
		@actividadesadoc= []
		@actividadesainv= []
		@actividadesaext= []
		@actividadesafor= []
		@actividadesaotr= []
		@observacionesExtras= []
		@j=0
		@actividadesa= AdecuacionActividad.where(adecuacion_id: @adecuacion.id, semestre: 0).all
		@actividadesa.each do |actade| 
			@act= Actividad.find(actade.actividad_id)
			tipo= @act.tipo_actividad_id
			if tipo==1
				@actividadesadoc.push(@act)
			else
				if tipo==2
					@actividadesainv.push(@act)
				else
					if tipo==3
						@actividadesaext.push(@act)
					else
						if tipo==4
							@actividadesafor.push(@act)
						else
							if tipo==5
								@actividadesaotr.push(@act)
							elsif tipo==8
								@descripcion=@act.actividad
								@descripcionId=@act.id
							elsif tipo==9
								@presentacion=@act.actividad
								@presentacionId=@act.id
							end
						end
					end
				end
			end
		end
		@actividadesa= AdecuacionActividad.where(adecuacion_id: @adecuacion.id, semestre: 0).all
		@actividadesa.each do |actade| 
			@cpObs= ObservacionActividadAdecuacion.where(adecuacionactividad_id: actade.id).all

		    if @cpObs.blank?
		    	@observacionesExtras[actade.id]="no"
		    else

				cpBool = 0
				@cpObs.each do |probar|
					if !probar.observaciones.blank?
						cpBool = 1
					end
				end

		    	if cpBool == 0
		    		@observacionesExtras[actade.id]="no"
		    	else
		    		@observacionesExtras[actade.id]="si"
		    	end
		    end
		end

    else
      redirect_to controller:"forminst", action: "index"
    end
  end

	def detalles_adecuacion3
		if session[:usuario_id] && session[:instructor] == true
      session[:informe_id] = nil
			@iddoc= 'id_docencia'
			@docencia='docencia'
			@investigacion= 'investigacion'
			@formacion= 'formacion'
			@extension= 'extension'
			@otra= 'otra' 
			@nombre = session[:nombre_usuario]
			@instructorName = session[:instructorName]
			@adecuacion= Adecuacion.find(session[:adecuacion_id])
			@plan = Planformacion.where(instructor_id: session[:usuario_id]).take
			@actividadesadoc= []
			@actividadesainv= []
			@actividadesaext= []
			@actividadesafor= []
			@actividadesaotr= []
      @observacionesExtras= []
			@actividadesa= AdecuacionActividad.where(adecuacion_id: @adecuacion.id, semestre: 1).all
			@actividadesa.each do |actade| 
				@act= Actividad.find(actade.actividad_id)
				tipo= @act.tipo_actividad_id
				if tipo==1
					@actividadesadoc.push(@act)
				else
					if tipo==2
						@actividadesainv.push(@act)
					else
						if tipo==3
							@actividadesaext.push(@act)
						else
							if tipo==4
								@actividadesafor.push(@act)
							else
								if tipo==5
									@actividadesaotr.push(@act)
								end
							end
						end
					end
				end
			end
			@actividadesa= AdecuacionActividad.where(adecuacion_id: @adecuacion.id, semestre: 1).all
			@actividadesa.each do |actade| 
				@cpObs= ObservacionActividadAdecuacion.where(adecuacionactividad_id: actade.id).all

			    if @cpObs.blank?
			    	@observacionesExtras[actade.id]="no"
			    else

					cpBool = 0
					@cpObs.each do |probar|
						if !probar.observaciones.blank?
							cpBool = 1
						end
					end

			    	if cpBool == 0
			    		@observacionesExtras[actade.id]="no"
			    	else
			    		@observacionesExtras[actade.id]="si"
			    	end
			    end
			end
		else
			redirect_to controller:"forminst", action: "index"
		end
	end

	def detalles_adecuacion4
		if session[:usuario_id] && session[:instructor] == true
			@iddoc= 'id_docencia'
      session[:informe_id] = nil
			@docencia='docencia'
			@investigacion= 'investigacion'
			@formacion= 'formacion'
			@extension= 'extension'
			@otra= 'otra' 
			@nombre = session[:nombre_usuario]
			@instructorName = session[:instructorName]
			@adecuacion= Adecuacion.find(session[:adecuacion_id])
			@plan = Planformacion.where(instructor_id: session[:usuario_id]).take
			@actividadesadoc= []
			@actividadesainv= []
			@actividadesaext= []
			@actividadesafor= []
			@actividadesaotr= []
      @observacionesExtras= []
			@actividadesa= AdecuacionActividad.where(adecuacion_id: @adecuacion.id, semestre: 2).all
			@actividadesa.each do |actade| 
				@act= Actividad.find(actade.actividad_id)
				tipo= @act.tipo_actividad_id
				if tipo==1
					@actividadesadoc.push(@act)
				else
					if tipo==2
						@actividadesainv.push(@act)
					else
						if tipo==3
							@actividadesaext.push(@act)
						else
							if tipo==4
								@actividadesafor.push(@act)
							else
								if tipo==5
									@actividadesaotr.push(@act)
								end
							end
						end
					end
				end
			end
			@actividadesa= AdecuacionActividad.where(adecuacion_id: @adecuacion.id, semestre: 2).all
			@actividadesa.each do |actade| 
				@cpObs= ObservacionActividadAdecuacion.where(adecuacionactividad_id: actade.id).all

			    if @cpObs.blank?
			    	@observacionesExtras[actade.id]="no"
			    else

					cpBool = 0
					@cpObs.each do |probar|
						if !probar.observaciones.blank?
							cpBool = 1
						end
					end

			    	if cpBool == 0
			    		@observacionesExtras[actade.id]="no"
			    	else
			    		@observacionesExtras[actade.id]="si"
			    	end
			    end
			end
		else
			redirect_to controller:"forminst", action: "index"
		end
	end

	def detalles_adecuacion5
		if session[:usuario_id] && session[:instructor] == true
      session[:informe_id] = nil
			@iddoc= 'id_docencia'
			@docencia='docencia'
			@investigacion= 'investigacion'
			@formacion= 'formacion'
			@extension= 'extension'
			@otra= 'otra' 
			@nombre = session[:nombre_usuario]
			@instructorName = session[:instructorName]
			@adecuacion= Adecuacion.find(session[:adecuacion_id])
			@plan = Planformacion.where(instructor_id: session[:usuario_id]).take
			@actividadesadoc= []
			@actividadesainv= []
			@actividadesaext= []
			@actividadesafor= []
			@actividadesaotr= []
      @observacionesExtras= []
			@actividadesa= AdecuacionActividad.where(adecuacion_id: @adecuacion.id, semestre: 3).all
			@actividadesa.each do |actade| 
				@act= Actividad.find(actade.actividad_id)
				tipo= @act.tipo_actividad_id
				if tipo==1
					@actividadesadoc.push(@act)
				else
					if tipo==2
						@actividadesainv.push(@act)
					else
						if tipo==3
							@actividadesaext.push(@act)
						else
							if tipo==4
								@actividadesafor.push(@act)
							else
								if tipo==5
									@actividadesaotr.push(@act)
								end
							end
						end
					end
				end
			end
			@actividadesa= AdecuacionActividad.where(adecuacion_id: @adecuacion.id, semestre: 3).all
			@actividadesa.each do |actade| 
				@cpObs= ObservacionActividadAdecuacion.where(adecuacionactividad_id: actade.id).all

			    if @cpObs.blank?
			    	@observacionesExtras[actade.id]="no"
			    else

					cpBool = 0
					@cpObs.each do |probar|
						if !probar.observaciones.blank?
							cpBool = 1
						end
					end

			    	if cpBool == 0
			    		@observacionesExtras[actade.id]="no"
			    	else
			    		@observacionesExtras[actade.id]="si"
			    	end
			    end
			end
		else
			redirect_to controller:"forminst", action: "index"
		end
	end

	def detalles_adecuacion6
		if session[:usuario_id] && session[:instructor] == true
      session[:informe_id] = nil
			@iddoc= 'id_docencia'
			@docencia='docencia'
			@investigacion= 'investigacion'
			@formacion= 'formacion'
			@extension= 'extension'
			@otra= 'otra' 
			@nombre = session[:nombre_usuario]
			@instructorName = session[:instructorName]
			@adecuacion= Adecuacion.find(session[:adecuacion_id])
			@plan = Planformacion.where(instructor_id: session[:usuario_id]).take
			@actividadesadoc= []
			@actividadesainv= []
			@actividadesaext= []
			@actividadesafor= []
			@actividadesaotr= []
      @observacionesExtras= []
			@actividadesa= AdecuacionActividad.where(adecuacion_id: @adecuacion.id, semestre: 4).all
			@actividadesa.each do |actade| 
				@act= Actividad.find(actade.actividad_id)
				tipo= @act.tipo_actividad_id
				if tipo==1
					@actividadesadoc.push(@act)
				else
					if tipo==2
						@actividadesainv.push(@act)
					else
						if tipo==3
							@actividadesaext.push(@act)
						else
							if tipo==4
								@actividadesafor.push(@act)
							else
								if tipo==5
									@actividadesaotr.push(@act)
								end
							end
						end
					end
				end
			end
			@actividadesa= AdecuacionActividad.where(adecuacion_id: @adecuacion.id, semestre: 4).all
			@actividadesa.each do |actade| 
				@cpObs= ObservacionActividadAdecuacion.where(adecuacionactividad_id: actade.id).all

			    if @cpObs.blank?
			    	@observacionesExtras[actade.id]="no"
			    else

					cpBool = 0
					@cpObs.each do |probar|
						if !probar.observaciones.blank?
							cpBool = 1
						end
					end

			    	if cpBool == 0
			    		@observacionesExtras[actade.id]="no"
			    	else
			    		@observacionesExtras[actade.id]="si"
			    	end
			    end
			end
		else
			redirect_to controller:"forminst", action: "index"
		end
	end

  def detalles_adecuacion7
    if session[:usuario_id] && session[:instructor] == true
      session[:informe_id] = nil
      @iddoc= 'id_docencia'
      @docencia='docencia'
      @investigacion= 'investigacion'
      @formacion= 'formacion'
      @extension= 'extension'
      @otra= 'otra' 
      @nombre = session[:nombre_usuario]
      @instructorName = session[:instructorName]
      @adecuacion= Adecuacion.find(session[:adecuacion_id])
      @plan = Planformacion.where(instructor_id: session[:usuario_id]).take
      @actividadesadoc= []
      @actividadesainv= []
      @actividadesaext= []
      @actividadesafor= []
      @actividadesaotr= []
      @observacionesExtras= []
      @actividadesa= AdecuacionActividad.where(adecuacion_id: @adecuacion.id, semestre: 5).all
      @actividadesa.each do |actade| 
        @act= Actividad.find(actade.actividad_id)
        tipo= @act.tipo_actividad_id
        if tipo==1
          @actividadesadoc.push(@act)
        else
          if tipo==2
            @actividadesainv.push(@act)
          else
            if tipo==3
              @actividadesaext.push(@act)
            else
              if tipo==4
                @actividadesafor.push(@act)
              else
                if tipo==5
                  @actividadesaotr.push(@act)
                end
              end
            end
          end
        end
      end
      @actividadesa= AdecuacionActividad.where(adecuacion_id: @adecuacion.id, semestre: 5).all
      @actividadesa.each do |actade| 
        @cpObs= ObservacionActividadAdecuacion.where(adecuacionactividad_id: actade.id).all

          if @cpObs.blank?
            @observacionesExtras[actade.id]="no"
          else

          cpBool = 0
          @cpObs.each do |probar|
            if !probar.observaciones.blank?
              cpBool = 1
            end
          end

            if cpBool == 0
              @observacionesExtras[actade.id]="no"
            else
              @observacionesExtras[actade.id]="si"
            end
          end
      end
    else
      redirect_to controller:"forminst", action: "index"
    end
  end

	def vista_previa
		@fechaActual = Date.current.to_s
    session[:informe_id] = nil
		@plan= Planformacion.where(instructor_id: session[:usuario_id]).take
		@usere= Usuarioentidad.where(usuario_id: @plan.instructor_id).take
		@fechaConcurso = @plan.fecha_inicio
		@escuela= Escuela.find(@usere.escuela_id)
		@adecuacion= Adecuacion.where(planformacion_id: @plan.id).take
		@adscripcion_docencia= @plan.adscripcion_docencia
		@adscripcion_investigacion= @plan.adscripcion_investigacion
		@persona= Persona.where(usuario_id: @plan.instructor_id).take
		@cpinstruccion = @persona.grado_instruccion
		@user = Usuario.find(@plan.instructor_id)
    @cpTutor= Persona.where(usuario_id: @plan.tutor_id).take
    @cpTutorEmail= Usuario.find(@plan.tutor_id).email

		@docencia='docencia'
		@investigacion= 'investigacion'
		@formacion= 'formacion'
		@extension= 'extension'
		@obligatoria= 'obligatoria'
		@otra= 'otra' 

		@nombre = session[:nombre_usuario]
		@instructorName = session[:instructorName]
    actividades = AdecuacionActividad.where(adecuacion_id: @adecuacion.id, semestre: 0)
      if !actividades.blank?
        actividades.each do |actividadAde|
          actividad = Actividad.find(actividadAde.actividad_id)
          if actividad.tipo_actividad_id == 9
            @presentacion = actividad.actividad
          elsif actividad.tipo_actividad_id == 8
            @descripcion = actividad.actividad
          end
        end
      else
        @presentacion = " "
        @descripcion = " "  
      end

      @actividades0doc= []
      @actividades0inv= []
      @actividades0ext= []
      @actividades0for= []
      @actividades0otr= []
      @actividades0= AdecuacionActividad.where(adecuacion_id: @adecuacion.id, semestre: 0).all
      @actividades0.each do |actade| 
        @act= Actividad.find(actade.actividad_id)
        tipo= @act.tipo_actividad_id
        if tipo==1
          @actividades0doc.push(@act)
        elsif tipo==2
          @actividades0inv.push(@act)
        elsif tipo==3
          @actividades0ext.push(@act)
        elsif tipo==4
          @actividades0for.push(@act)
        elsif tipo==5
          @actividades0otr.push(@act)
        end
      end

		@actividades1doc= []
		@actividades1inv= []
		@actividades1ext= []
		@actividades1for= []
		@actividades1otr= []
		@actividades1= AdecuacionActividad.where(adecuacion_id: @adecuacion.id, semestre: 1).all
		@actividades1.each do |actade| 
			@act= Actividad.find(actade.actividad_id)
			tipo= @act.tipo_actividad_id
			if tipo==1
				@actividades1doc.push(@act)
			else
				if tipo==2
					@actividades1inv.push(@act)
				else
					if tipo==3
						@actividades1ext.push(@act)
					else
						if tipo==4
							@actividades1for.push(@act)
						else
							if tipo==5
								@actividades1otr.push(@act)
							end
						end
					end
				end
			end
		end

		@actividades2doc= []
		@actividades2inv= []
		@actividades2ext= []
		@actividades2for= []
		@actividades2otr= []
		@actividades2= AdecuacionActividad.where(adecuacion_id: @adecuacion.id, semestre: 2).all
		@actividades2.each do |actade| 
			@act= Actividad.find(actade.actividad_id)
			tipo= @act.tipo_actividad_id
			if tipo==1
				@actividades2doc.push(@act)
			else
				if tipo==2
					@actividades2inv.push(@act)
				else
					if tipo==3
						@actividades2ext.push(@act)
					else
						if tipo==4
							@actividades2for.push(@act)
						else
							if tipo==5
								@actividades2otr.push(@act)
							end
						end
					end
				end
			end
		end

		@actividades3doc= []
		@actividades3inv= []
		@actividades3ext= []
		@actividades3for= []
		@actividades3otr= []
		@actividades3= AdecuacionActividad.where(adecuacion_id: @adecuacion.id, semestre: 3).all
		@actividades3.each do |actade| 
			@act= Actividad.find(actade.actividad_id)
			tipo= @act.tipo_actividad_id
			if tipo==1
				@actividades3doc.push(@act)
			else
				if tipo==2
					@actividades3inv.push(@act)
				else
					if tipo==3
						@actividades3ext.push(@act)
					else
						if tipo==4
							@actividades3for.push(@act)
						else
							if tipo==5
								@actividades3otr.push(@act)
							end
						end
					end
				end
			end
		end

		@actividades4doc= []
		@actividades4inv= []
		@actividades4ext= []
		@actividades4for= []
		@actividades4otr= []
		@actividades4= AdecuacionActividad.where(adecuacion_id: @adecuacion.id, semestre: 4).all
		@actividades4.each do |actade| 
			@act= Actividad.find(actade.actividad_id)
			tipo= @act.tipo_actividad_id
			if tipo==1
				@actividades4doc.push(@act)
			else
				if tipo==2
					@actividades4inv.push(@act)
				else
					if tipo==3
						@actividades4ext.push(@act)
					else
						if tipo==4
							@actividades4for.push(@act)
						else
							if tipo==5
								@actividades4otr.push(@act)
							end
						end
					end
				end
			end
		end
		@actividades5doc= []
    @actividades5inv= []
    @actividades5ext= []
    @actividades5for= []
    @actividades5otr= []
    @actividades5= AdecuacionActividad.where(adecuacion_id: @adecuacion.id, semestre: 5).all
    @actividades5.each do |actade| 
      @act= Actividad.find(actade.actividad_id)
      tipo= @act.tipo_actividad_id
      if tipo==1
        @actividades5doc.push(@act)
      else
        if tipo==2
          @actividades5inv.push(@act)
        else
          if tipo==3
            @actividades5ext.push(@act)
          else
            if tipo==4
              @actividades5for.push(@act)
            end
          end
        end
      end
    end

	end

	def ver_detalles_informe
	    if session[:usuario_id] && session[:instructor] == true
	      @nombre = session[:nombre_usuario]   
	      if not @nombre
	        print "NO HAY USUARIO"
	      end
	      @persona = Persona.where(usuario_id: session[:usuario_id]).take
	      if session[:plan_id]
	        @planformacion = Planformacion.where(instructor_id: session[:usuario_id]).take
	      else
	        @planformacion = Planformacion.where(instructor_id: session[:usuario_id]).take
          session[:plan_id] = @planformacion.id
	      end
	      if params[:informe_id]!=nil
	        session[:informe_id]= params[:informe_id]
	      end
        if !session[:informe_id].blank?
  		    @tutor = Persona.where(usuario_id: @planformacion.tutor_id).take
  	      @instructor = Persona.where(usuario_id: @planformacion.instructor_id).take

  	      if session[:informe_id] == nil
  	      	session[:informe_id] = params[:informe_id]
  	      	@informe= Informe.find(session[:informe_id])
  	      else 
  	      	@informe = Informe.find(session[:informe_id])
  	      end
          @periodo = @informe.fecha_inicio.to_s + " al " + @informe.fecha_fin.to_s
  	      if @informe.numero == 1
  	        @nombre_informe= "<NAME> "
  	        session[:numero_informe]=1
  	      else
  	        if @informe.numero == 2
  	          @nombre_informe= "<NAME> "
  	          session[:numero_informe]=2
  	        else
  	          if @informe.numero == 3
  	            @nombre_informe= "<NAME> "
  	            session[:numero_informe]=3
  	          else                                                                                                                                                                                                                                                                  
  	            @nombre_informe= "<NAME> "
  	            session[:numero_informe]=4
  	          end
  	        end
  	      end


  	      if @informe.tipo_id == 1
  	        @nombre_informe= @nombre_informe+"SEMESTRAL"
  	      else
  	        if @informe.tipo_id == 2
  	          @nombre_informe= @nombre_informe+"ANUAL"
  	        else
  	          @nombre_informe= @nombre_informe+"FINAL"
  	        end
  	      end

  	      @estatus= EstatusInforme.where(informe_id: @informe.id).take
  	      @status= TipoEstatus.find(@estatus.estatus_id)
  	      @userentidad= Usuarioentidad.where(usuario_id: @planformacion.instructor_id).take
  	      @entidad= Entidad.find(@userentidad.entidad_id)
  	      @escuela= Escuela.find(@userentidad.escuela_id)
  	      session[:nombre_informe] = @nombre_informe
  	      session[:status_informe] = @status.concepto
        else
          flash[:info]="Selecciona un informe"
          redirect_to controller: "inicioinstructor", action: "listar_informes"
        end
	    else
	      redirect_to controller:"forminst", action: "index"
	    end
	end

	def detalles_informe2
    if !session[:informe_id].blank?
      @nombre = session[:nombre_usuario]  
      @CJagregado = ["no","no","no","no"] 
        if not @nombre
          print "NO HAY USUARIO"
        end
      @informe= Informe.find(session[:informe_id])
      @est= EstatusInforme.where(informe_id: @informe.id).take
      @modificar= false
      if @est.estatus_id == 6
        @modificar=true
      end
      @docencia= "docencia"
      @j= 0
      @k=0
      @actividadesa= InformeActividad.where(informe_id: @informe.id).all
      @actividadesadoc= []
      @actividadesainv= []
      @actividadesaext= []
      @actividadesafor= []
      @actividadesaobli= []
      @actividadesaotr= []
      @resultados= []
      @semestres=[]
      @CJagregado=["no","no","no","no"]
      @resultados2= ""
      @resultados2a= []
      @resultados2b= []
      @actividadese= []
      @observaciont= []
      @actividadesa.each do |actade| 
        if actade.actividad_id == nil #Es el caso que es un resultado no contemplado en el plan de formacion o un avancwe de postgrado
          if @resultados2b != []
            @resultados2b= Array.new(0) { |i|  }
          end
          @res= Resultado.where(informe_actividad_id: actade.id).all
          @resultados.push(@res)
          @res.each do |cpresultado| 
            @cparray = ["a", "a", "a", "a", "a", "a", "a", "a", "a", "a", "a", "a", "a", "a", "a", "a", "a", "a", "a", "a", "a", "a", "a", "a", "a", "a", "a", "a", "a", "a", "a", "a"]
            @cparray[0] = cpresultado.titulo
            @cparray[1] = cpresultado.autor
            @cparray[2] = cpresultado.nombre_capitulo
            @cparray[3] = cpresultado.autor_capitulo
            @cparray[4] = cpresultado.dia
            @cparray[5] = cpresultado.mes
            @cparray[6] = cpresultado.ano
            @cparray[7] = cpresultado.ciudad
            @cparray[8] = cpresultado.estado
            @cparray[9] = cpresultado.pais
            @cparray[10] = cpresultado.organizador
            @cparray[11] = cpresultado.duracion
            @cparray[12] = cpresultado.editor
            @cparray[13] = cpresultado.titulo_libro
            @cparray[14] = cpresultado.autor_libro
            @cparray[15] = cpresultado.nombre_revista
            @cparray[16] = cpresultado.nombre_periodico
            @cparray[17] = cpresultado.nombre_acto
            @cparray[18] = cpresultado.paginas
            @cparray[19] = cpresultado.nombre_paginaw
            @cparray[20] = cpresultado.sitio_paginaw
            @cparray[21] = cpresultado.infoafiliaion
            @cparray[22] = cpresultado.cptipo
            @cparray[23] = cpresultado.nombre
            @cparray[24] = cpresultado.ISSN_impreso
            @cparray[25] = cpresultado.ISSN_electro
            @cparray[26] = cpresultado.volumen
            @cparray[27] = cpresultado.edicion
            @cparray[28] = cpresultado.DOI
            @cparray[29] = cpresultado.ISBN
            @cparray[30] = cpresultado.universidad
            @cparray[31] = cpresultado.url
            if !@cparray.blank?
              @noemptyarray = @cparray - ["", nil]
              if !@resultados2
                @noemptyarray = @cparray - ["", nil]
                if !@noemptyarray.join(',').blank?
                  @resultados2 = @noemptyarray.join(',')
                end
              else
                @noemptyarray = @cparray - ["", nil]
                if !@noemptyarray.join(',').blank?
                  @resultados2 = @noemptyarray.join(',')
                end
              end
              @resultados2b.push(@resultados2)
            end
          end
          @resultados2a.push(@resultados2b)
        else
          @act= Actividad.find(actade.actividad_id)
          tipo= @act.tipo_actividad_id
          if @resultados2b != []
            @resultados2b= Array.new(0) { |i|  }
          end
          @res= Resultado.where(informe_actividad_id: actade.id).all
          @resultados.push(@res)
          @res.each do |cpresultado| 
            @cparray = ["a", "a", "a", "a", "a", "a", "a", "a", "a", "a", "a", "a", "a", "a", "a", "a", "a", "a", "a", "a", "a", "a", "a", "a", "a", "a", "a", "a", "a", "a", "a", "a"]
            @cparray[0] = cpresultado.titulo
            @cparray[1] = cpresultado.autor
            @cparray[2] = cpresultado.nombre_capitulo
            @cparray[3] = cpresultado.autor_capitulo
            @cparray[4] = cpresultado.dia
            @cparray[5] = cpresultado.mes
            @cparray[6] = cpresultado.ano
            @cparray[7] = cpresultado.ciudad
            @cparray[8] = cpresultado.estado
            @cparray[9] = cpresultado.pais
            @cparray[10] = cpresultado.organizador
            @cparray[11] = cpresultado.duracion
            @cparray[12] = cpresultado.editor
            @cparray[13] = cpresultado.titulo_libro
            @cparray[14] = cpresultado.autor_libro
            @cparray[15] = cpresultado.nombre_revista
            @cparray[16] = cpresultado.nombre_periodico
            @cparray[17] = cpresultado.nombre_acto
            @cparray[18] = cpresultado.paginas
            @cparray[19] = cpresultado.nombre_paginaw
            @cparray[20] = cpresultado.sitio_paginaw
            @cparray[21] = cpresultado.infoafiliaion
            @cparray[22] = cpresultado.cptipo
            @cparray[23] = cpresultado.nombre
            @cparray[24] = cpresultado.ISSN_impreso
            @cparray[25] = cpresultado.ISSN_electro
            @cparray[26] = cpresultado.volumen
            @cparray[27] = cpresultado.edicion
            @cparray[28] = cpresultado.DOI
            @cparray[29] = cpresultado.ISBN
            @cparray[30] = cpresultado.universidad
            @cparray[31] = cpresultado.url
            if !@cparray.blank?
              @noemptyarray = @cparray - ["", nil]
              if !@resultados2
                @noemptyarray = @cparray - ["", nil]
                if !@noemptyarray.join(',').blank?
                  @resultados2 = @noemptyarray.join(',')
                end
              else
                @noemptyarray = @cparray - ["", nil]
                if !@noemptyarray.join(',').blank?
                  @resultados2 = @noemptyarray.join(',')
                end
              end
              @resultados2b.push(@resultados2)
            end
          end
          @resultados2a.push(@resultados2b)
          @ae= ActividadEjecutada.where(informe_actividad_id: actade.id).take
          @actividadese.push(@ae)
          @obs= ObservacionTutor.where(informe_actividad_id: actade.id).take
          if @obs==nil
            @observaciont.push("")
          else
            @observaciont.push(@obs.observaciones)
          end
          semestre = AdecuacionActividad.where(actividad_id: @act.id).take.semestre
          @semestres[@<EMAIL>]=semestre
          if tipo==1
            @actividadesadoc.push(@act)
          else
            if tipo==2
              @actividadesainv.push(@act)
            else
              if tipo==3
                @actividadesaext.push(@act)
              else
                if tipo==4
                  @actividadesafor.push(@act)
                else
                  if tipo==5
                    @actividadesaotr.push(@act)
                  elsif tipo==7
                    @actividadesaobli.push(@act)
                  end
                end
              end
            end
          end
        end
      end
    else
          flash[:info]="Selecciona un informe"
          redirect_to controller: "inicioinstructor", action: "listar_informes"
    end
  end

  def borrar_notificaciones #mas obs de actividades del informe
    if session[:usuario_id] && session[:instructor] == true
      @noti= params[:noti]
      notaeliminar = Notificacion.where(id: @noti ).take
      if notaeliminar.blank?
          flash[:danger] = "Ha ocurrido un error al eliminar (notificacion no existente)"
      else
        notaeliminar.destroy
      end
      redirect_to controller:"inicioinstructor", action: "index"
    else
      redirect_to controller:"forminst", action: "index"
    end
  end

  def mas_observaciones3 #mas obs de actividades del informe

    @adecuacion= Adecuacion.find(session[:adecuacion_id])
    @planformacion=Planformacion.find(@adecuacion.planformacion_id)
    if !@planformacion.blank?
      #Ver si el informe fue rachazado
      cpInstructor = Usuario.find(@planformacion.instructor_id)
      if (cpInstructor.activo == false)
        @cpBloquear = true
      else
        @cpBloquear = false
      end
      #fin
    end
    if ( params[:informe_id].blank?)
      @semestre = params[:semestre].to_i
      @actividad_id = params[:actividad_id].to_i
      
      puts @adecuacion.id
      puts @semestre
      puts @actividad_id
      aa= AdecuacionActividad.where(adecuacion_id: @adecuacion.id, semestre: @semestre, actividad_id: @actividad_id).take
      
      @observaciones = ObservacionActividadAdecuacion.where(adecuacionactividad_id: aa.id)

      @observaciones.each do |obs|  
        if(obs.observaciones != "")
        @boolobs = 1
        end
      end
        

      @observaciones.each do |obs|

        rev = Revision.find(obs.revision_id)
      
        entidad = Usuarioentidad.where(usuario_id: rev.usuario_id).take

        
        if (entidad.entidad_id  >= 7 && entidad.entidad_id  <= 12)
        #comision investigacion   
            @obs_inv = obs.observaciones  #Estatus enviado a comision de investigacion
            
        else
          if (entidad.entidad_id  >= 14 && entidad.entidad_id  <= 17)
          #Consejo tecnico
            @obs_consejoT = obs.observaciones
          else
            if (entidad.entidad_id  >= 1 && entidad.entidad_id  <= 6)
            #Consejo de escuela
              @obs_consejoE = obs.observaciones
            else
              if (entidad.entidad_id  == 13)
              #Consejo de facultad
                @obs_consejoF =  obs.observaciones

              end 
            end
          end
        end
      end
    else
      @informe_id = params[:informe_id].to_i
      @actividad_id = params[:actividad_id].to_i
      
      aa= InformeActividad.where(informe_id: @informe_id, actividad_id: @actividad_id).take
      
      @observaciones = ObservacionActividadInforme.where(informe_actividad_id: aa.id)

      @observaciones.each do |obs|  
        if(obs.observaciones != "")
        @boolobs = 1
        end
      end
        

      @observaciones.each do |obs|

        rev = Revision.find(obs.revision_id)
      
        entidad = Usuarioentidad.where(usuario_id: rev.usuario_id).take

        
        if (entidad.entidad_id  >= 7 && entidad.entidad_id  <= 12)
        #comision investigacion   
            @obs_inv = obs.observaciones  #Estatus enviado a comision de investigacion
            
        else
          if (entidad.entidad_id  >= 14 && entidad.entidad_id  <= 17)
          #Consejo tecnico
            @obs_consejoT = obs.observaciones
          else
            if (entidad.entidad_id  >= 1 && entidad.entidad_id  <= 6)
            #Consejo de escuela
              @obs_consejoE = obs.observaciones
            else
              if (entidad.entidad_id  == 13)
              #Consejo de facultad
                @obs_consejoF =  obs.observaciones

              end 
            end
          end
        end
      end
    end
  end

end
<file_sep>/forminst_new1/app/models/observacion_tutor.rb
class ObservacionTutor < ActiveRecord::Base
	belongs_to :informe_actividad
end
<file_sep>/forminst_new1/app/models/actividad.rb
class Actividad < ActiveRecord::Base
	has_many :informe_actividad
	has_many :adecuacion_actividad
	belongs_to :tipo_actividad
	has_one :resultado
end<file_sep>/forminst_new1/test/controllers/tipoactividads_controller_test.rb
require 'test_helper'

class TipoactividadsControllerTest < ActionController::TestCase
  setup do
    @tipoactividad = tipoactividads(:one)
  end

  test "should get index" do
    get :index
    assert_response :success
    assert_not_nil assigns(:tipoactividads)
  end

  test "should get new" do
    get :new
    assert_response :success
  end

  test "should create tipoactividad" do
    assert_difference('Tipoactividad.count') do
      post :create, tipoactividad: { concepto: @tipoactividad.concepto, grupoActividadesId: @tipoactividad.grupoActividadesId, id: @tipoactividad.id, subGrupoActividadId: @tipoactividad.subGrupoActividadId }
    end

    assert_redirected_to tipoactividad_path(assigns(:tipoactividad))
  end

  test "should show tipoactividad" do
    get :show, id: @tipoactividad
    assert_response :success
  end

  test "should get edit" do
    get :edit, id: @tipoactividad
    assert_response :success
  end

  test "should update tipoactividad" do
    patch :update, id: @tipoactividad, tipoactividad: { concepto: @tipoactividad.concepto, grupoActividadesId: @tipoactividad.grupoActividadesId, id: @tipoactividad.id, subGrupoActividadId: @tipoactividad.subGrupoActividadId }
    assert_redirected_to tipoactividad_path(assigns(:tipoactividad))
  end

  test "should destroy tipoactividad" do
    assert_difference('Tipoactividad.count', -1) do
      delete :destroy, id: @tipoactividad
    end

    assert_redirected_to tipoactividads_path
  end
end
<file_sep>/forminst_new1/app/controllers/actividadejecutadas_controller.rb
class ActividadejecutadasController < ApplicationController
  before_action :set_actividadejecutada, only: [:show, :edit, :update, :destroy]

  # GET /actividadejecutadas
  # GET /actividadejecutadas.json
  def index
    @actividadejecutadas = Actividadejecutada.all
  end

  # GET /actividadejecutadas/1
  # GET /actividadejecutadas/1.json
  def show
  end

  # GET /actividadejecutadas/new
  def new
    @actividadejecutada = Actividadejecutada.new
  end

  # GET /actividadejecutadas/1/edit
  def edit
  end

  # POST /actividadejecutadas
  # POST /actividadejecutadas.json
  def create
    @actividadejecutada = Actividadejecutada.new(actividadejecutada_params)

    respond_to do |format|
      if @actividadejecutada.save
        format.html { redirect_to @actividadejecutada, notice: 'Actividadejecutada was successfully created.' }
        format.json { render :show, status: :created, location: @actividadejecutada }
      else
        format.html { render :new }
        format.json { render json: @actividadejecutada.errors, status: :unprocessable_entity }
      end
    end
  end

  # PATCH/PUT /actividadejecutadas/1
  # PATCH/PUT /actividadejecutadas/1.json
  def update
    respond_to do |format|
      if @actividadejecutada.update(actividadejecutada_params)
        format.html { redirect_to @actividadejecutada, notice: 'Actividadejecutada was successfully updated.' }
        format.json { render :show, status: :ok, location: @actividadejecutada }
      else
        format.html { render :edit }
        format.json { render json: @actividadejecutada.errors, status: :unprocessable_entity }
      end
    end
  end

  # DELETE /actividadejecutadas/1
  # DELETE /actividadejecutadas/1.json
  def destroy
    @actividadejecutada.destroy
    respond_to do |format|
      format.html { redirect_to actividadejecutadas_url, notice: 'Actividadejecutada was successfully destroyed.' }
      format.json { head :no_content }
    end
  end

  private
    # Use callbacks to share common setup or constraints between actions.
    def set_actividadejecutada
      @actividadejecutada = Actividadejecutada.find(params[:id])
    end

    # Never trust parameters from the scary internet, only allow the white list through.
    def actividadejecutada_params
      params.require(:actividadejecutada).permit(:id, :descripcion, :fecha, :actual, :informeActividadId)
    end
end
<file_sep>/forminst_new1/app/controllers/planformacions_controller.rb
class PlanformacionsController < ApplicationController
  layout 'ly_inicio_tutor'
  before_action :set_planformacion, only: [:show, :edit, :update, :destroy]

  # GET /planformacions
  # GET /planformacions.json
  def index
    @persona = Persona.where(usuarioId: session[:usuario_id]).take
    
    @planformacions = Planformacion.where(tutorId: session[:usuario_id]).take
    #@usuarios= Usuario.all      #se quiere acceder a la informacion del usuario como el nombre, para agregarlo en la tabla pero aun no sabemos como
    #@personas= Persona.all
  end

  # GET /planformacions/1
  # GET /planformacions/1.json
  def show
  end

  # GET /planformacions/new
  def new
    @planformacion = Planformacion.new
  end

  # GET /planformacions/1/edit
  def edit
  end

  # POST /planformacions
  # POST /planformacions.json
  def create
    @planformacion = Planformacion.new(planformacion_params)

    respond_to do |format|
      if @planformacion.save
        format.html { redirect_to @planformacion, notice: 'Planformacion was successfully created.' }
        format.json { render :show, status: :created, location: @planformacion }
      else
        format.html { render :new }
        format.json { render json: @planformacion.errors, status: :unprocessable_entity }
      end
    end
  end

  # PATCH/PUT /planformacions/1
  # PATCH/PUT /planformacions/1.json
  def update
    respond_to do |format|
      if @planformacion.update(planformacion_params)
        format.html { redirect_to @planformacion, notice: 'Planformacion was successfully updated.' }
        format.json { render :show, status: :ok, location: @planformacion }
      else
        format.html { render :edit }
        format.json { render json: @planformacion.errors, status: :unprocessable_entity }
      end
    end
  end

  # DELETE /planformacions/1
  # DELETE /planformacions/1.json
  def destroy
    @planformacion.destroy
    respond_to do |format|
      format.html { redirect_to planformacions_url, notice: 'Planformacion was successfully destroyed.' }
      format.json { head :no_content }
    end
  end

  private
    # Use callbacks to share common setup or constraints between actions.
    def set_planformacion
      @planformacion = Planformacion.find(params[:id])
    end

    # Never trust parameters from the scary internet, only allow the white list through.
    def planformacion_params
      params.require(:planformacion).permit(:id, :fechaInicio, :fechaFin, :activo, :instructorId, :tutorId)
    end
end
<file_sep>/forminst_new1/app/models/prorroga.rb
class Prorroga < ActiveRecord::Base
	belongs_to :planformacion
end<file_sep>/forminst_new1/test/controllers/actividadejecutadas_controller_test.rb
require 'test_helper'

class ActividadejecutadasControllerTest < ActionController::TestCase
  setup do
    @actividadejecutada = actividadejecutadas(:one)
  end

  test "should get index" do
    get :index
    assert_response :success
    assert_not_nil assigns(:actividadejecutadas)
  end

  test "should get new" do
    get :new
    assert_response :success
  end

  test "should create actividadejecutada" do
    assert_difference('Actividadejecutada.count') do
      post :create, actividadejecutada: { actual: @actividadejecutada.actual, descripcion: @actividadejecutada.descripcion, fecha: @actividadejecutada.fecha, id: @actividadejecutada.id, informeActividadId: @actividadejecutada.informeActividadId }
    end

    assert_redirected_to actividadejecutada_path(assigns(:actividadejecutada))
  end

  test "should show actividadejecutada" do
    get :show, id: @actividadejecutada
    assert_response :success
  end

  test "should get edit" do
    get :edit, id: @actividadejecutada
    assert_response :success
  end

  test "should update actividadejecutada" do
    patch :update, id: @actividadejecutada, actividadejecutada: { actual: @actividadejecutada.actual, descripcion: @actividadejecutada.descripcion, fecha: @actividadejecutada.fecha, id: @actividadejecutada.id, informeActividadId: @actividadejecutada.informeActividadId }
    assert_redirected_to actividadejecutada_path(assigns(:actividadejecutada))
  end

  test "should destroy actividadejecutada" do
    assert_difference('Actividadejecutada.count', -1) do
      delete :destroy, id: @actividadejecutada
    end

    assert_redirected_to actividadejecutadas_path
  end
end
<file_sep>/forminst_new1/test/controllers/permisologia_controller_test.rb
require 'test_helper'

class PermisologiaControllerTest < ActionController::TestCase
  setup do
    @permisologium = permisologia(:one)
  end

  test "should get index" do
    get :index
    assert_response :success
    assert_not_nil assigns(:permisologia)
  end

  test "should get new" do
    get :new
    assert_response :success
  end

  test "should create permisologium" do
    assert_difference('Permisologium.count') do
      post :create, permisologium: { attribute: @permisologium.attribute, id: @permisologium.id, permisosId: @permisologium.permisosId, read: @permisologium.read, usuarioId: @permisologium.usuarioId, write: @permisologium.write }
    end

    assert_redirected_to permisologium_path(assigns(:permisologium))
  end

  test "should show permisologium" do
    get :show, id: @permisologium
    assert_response :success
  end

  test "should get edit" do
    get :edit, id: @permisologium
    assert_response :success
  end

  test "should update permisologium" do
    patch :update, id: @permisologium, permisologium: { attribute: @permisologium.attribute, id: @permisologium.id, permisosId: @permisologium.permisosId, read: @permisologium.read, usuarioId: @permisologium.usuarioId, write: @permisologium.write }
    assert_redirected_to permisologium_path(assigns(:permisologium))
  end

  test "should destroy permisologium" do
    assert_difference('Permisologium.count', -1) do
      delete :destroy, id: @permisologium
    end

    assert_redirected_to permisologia_path
  end
end
<file_sep>/forminst_new1/app/views/documentos/index.json.jbuilder
json.array!(@documentos) do |documento|
  json.extract! documento, :id, :id, :informeActividadId, :archivo
  json.url documento_url(documento, format: :json)
end
<file_sep>/forminst_new1/test/controllers/tiporesultados_controller_test.rb
require 'test_helper'

class TiporesultadosControllerTest < ActionController::TestCase
  setup do
    @tiporesultado = tiporesultados(:one)
  end

  test "should get index" do
    get :index
    assert_response :success
    assert_not_nil assigns(:tiporesultados)
  end

  test "should get new" do
    get :new
    assert_response :success
  end

  test "should create tiporesultado" do
    assert_difference('Tiporesultado.count') do
      post :create, tiporesultado: { concepto: @tiporesultado.concepto, id: @tiporesultado.id, idPadre: @tiporesultado.idPadre, tipoActividadId: @tiporesultado.tipoActividadId }
    end

    assert_redirected_to tiporesultado_path(assigns(:tiporesultado))
  end

  test "should show tiporesultado" do
    get :show, id: @tiporesultado
    assert_response :success
  end

  test "should get edit" do
    get :edit, id: @tiporesultado
    assert_response :success
  end

  test "should update tiporesultado" do
    patch :update, id: @tiporesultado, tiporesultado: { concepto: @tiporesultado.concepto, id: @tiporesultado.id, idPadre: @tiporesultado.idPadre, tipoActividadId: @tiporesultado.tipoActividadId }
    assert_redirected_to tiporesultado_path(assigns(:tiporesultado))
  end

  test "should destroy tiporesultado" do
    assert_difference('Tiporesultado.count', -1) do
      delete :destroy, id: @tiporesultado
    end

    assert_redirected_to tiporesultados_path
  end
end
<file_sep>/forminst_new1/test/controllers/planformacions_controller_test.rb
require 'test_helper'

class PlanformacionsControllerTest < ActionController::TestCase
  setup do
    @planformacion = planformacions(:one)
  end

  test "should get index" do
    get :index
    assert_response :success
    assert_not_nil assigns(:planformacions)
  end

  test "should get new" do
    get :new
    assert_response :success
  end

  test "should create planformacion" do
    assert_difference('Planformacion.count') do
      post :create, planformacion: { activo: @planformacion.activo, fechaFin: @planformacion.fechaFin, fechaInicio: @planformacion.fechaInicio, id: @planformacion.id, instructorId: @planformacion.instructorId, tutorId: @planformacion.tutorId }
    end

    assert_redirected_to planformacion_path(assigns(:planformacion))
  end

  test "should show planformacion" do
    get :show, id: @planformacion
    assert_response :success
  end

  test "should get edit" do
    get :edit, id: @planformacion
    assert_response :success
  end

  test "should update planformacion" do
    patch :update, id: @planformacion, planformacion: { activo: @planformacion.activo, fechaFin: @planformacion.fechaFin, fechaInicio: @planformacion.fechaInicio, id: @planformacion.id, instructorId: @planformacion.instructorId, tutorId: @planformacion.tutorId }
    assert_redirected_to planformacion_path(assigns(:planformacion))
  end

  test "should destroy planformacion" do
    assert_difference('Planformacion.count', -1) do
      delete :destroy, id: @planformacion
    end

    assert_redirected_to planformacions_path
  end
end
<file_sep>/forminst_new1/app/views/informes/index.json.jbuilder
json.array!(@informes) do |informe|
  json.extract! informe, :id, :id, :PlanFormacionId, :tutorId, :opinionTutor, :conclusiones
  json.url informe_url(informe, format: :json)
end
<file_sep>/forminst_new1/test/controllers/estatusadecuacions_controller_test.rb
require 'test_helper'

class EstatusadecuacionsControllerTest < ActionController::TestCase
  setup do
    @estatusadecuacion = estatusadecuacions(:one)
  end

  test "should get index" do
    get :index
    assert_response :success
    assert_not_nil assigns(:estatusadecuacions)
  end

  test "should get new" do
    get :new
    assert_response :success
  end

  test "should create estatusadecuacion" do
    assert_difference('Estatusadecuacion.count') do
      post :create, estatusadecuacion: { actual: @estatusadecuacion.actual, adecuacionId: @estatusadecuacion.adecuacionId, estatusId: @estatusadecuacion.estatusId, fecha: @estatusadecuacion.fecha, id: @estatusadecuacion.id }
    end

    assert_redirected_to estatusadecuacion_path(assigns(:estatusadecuacion))
  end

  test "should show estatusadecuacion" do
    get :show, id: @estatusadecuacion
    assert_response :success
  end

  test "should get edit" do
    get :edit, id: @estatusadecuacion
    assert_response :success
  end

  test "should update estatusadecuacion" do
    patch :update, id: @estatusadecuacion, estatusadecuacion: { actual: @estatusadecuacion.actual, adecuacionId: @estatusadecuacion.adecuacionId, estatusId: @estatusadecuacion.estatusId, fecha: @estatusadecuacion.fecha, id: @estatusadecuacion.id }
    assert_redirected_to estatusadecuacion_path(assigns(:estatusadecuacion))
  end

  test "should destroy estatusadecuacion" do
    assert_difference('Estatusadecuacion.count', -1) do
      delete :destroy, id: @estatusadecuacion
    end

    assert_redirected_to estatusadecuacions_path
  end
end
<file_sep>/forminst_new1/bin/server
#!/usr/bin/env ruby
ENV['RAILS_ENV'] = ARGV.first || ENV['RAILS_ENV'] || 'development'
require File.expand_path(File.dirname(__FILE__) + "/../config/environment")
require 'daemons'
#Daemons.daemonize

# Change the following to reflect your database settings
ActiveRecord::Base.establish_connection(
  adapter:  'mysql2', # or 'postgresql' or 'sqlite3' or 'oracle_enhanced'
  host:     'localhost',
  database: 'FORMIST',
  username: 'root',
  password: '<PASSWORD>'
)

while true
	puts "ejecutando..."
	#Aclualizar los estatus de las adecuaciones luego de haber pasado dos semana-----------------------------------------------
	estatus_adecuacion = EstatusAdecuacion.where(actual: 1).all
	fecha = Time.now.strftime("%Y-%m-%d")
	fecha2 = Time.now
	estatus_adecuacion.each do |status|
		if status.fecha + 3.week <= fecha2
			@adecuacion_id = status.adecuacion_id.to_i
			if (status.estatus_id == 3 || status.estatus_id == 13)
			#Usuario comision
		  		status.actual = 0
		  		status.save
				cambio_est = EstatusAdecuacion.new 
				cambio_est.adecuacion_id = @adecuacion_id
				cambio_est.fecha = Time.now 
				cambio_est.estatus_id = 18
				cambio_est.actual = 1
				cambio_est.save
				adac = AdecuacionActividad.where(adecuacion_id: @adecuacion_id).all
				adac.each do |adaa|
					oa = ObservacionActividadAdecuacion.where(adecuacionactividad_id: adaa.id, actual: 1).all
					oa.each do |oaa|
						oaa.fecha = Time.now 
						oaa.actual = 0
						oaa.save
					end
				end

				adecuacion = Adecuacion.find(@adecuacion_id)
				plan = Planformacion.find(adecuacion.planformacion_id)
				notific = Notificacion.new
				@document = Respaldo.where(adecuacion_id: @adecuacion_id, informe_id: nil, actual: 1).take
				@document.estatus = "Enviado a Consejo de Escuela"
				@document.save

		        notific.instructor_id = plan.instructor_id
		        notific.tutor_id = plan.tutor_id
		        notific.adecuacion_id = @adecuacion_id
		        notific.informe_id = nil
		        notific.actual = 1
		        person = Persona.where(usuario_id: plan.instructor_id).take
		        notificacionfecha = Date.current.to_s 
		    	notific.mensaje = "[" + notificacionfecha + "] La adecuación de "+ person.nombres.to_s.split.map(&:capitalize).join(' ') + " " + person.apellidos.to_s.split.map(&:capitalize).join(' ') + " fue enviada a Consejo de Escuela sin ser revisado."
		    	notific.save
		    	notific2 = Notificacion.new
		        notific2.instructor_id = plan.instructor_id
		        notific2.tutor_id = plan.tutor_id
		        notific2.adecuacion_id = @adecuacion_id
		        notific2.informe_id = nil
		        notific2.actual = 2
		    	notific2.mensaje = "[" + notificacionfecha + "] Su adecuación fue enviada a Consejo de Escuela sin ser revisada"
		    	notific2.save
		    	notific3 = Notificacion.new
		        notific3.instructor_id = plan.instructor_id
		        notific3.tutor_id = plan.tutor_id
		        notific3.adecuacion_id = @adecuacion_id
		        notific3.informe_id = nil
		        notific3.actual = 4		#Consejo de Escuela
		    	notific3.mensaje = "[" + notificacionfecha + "] Se ha recibido una nueva Adecuación: "+ person.nombres.to_s.split.map(&:capitalize).join(' ') + " " + person.apellidos.to_s.split.map(&:capitalize).join(' ') + ", favor aprobar y enviar a la siguiente entidad."
		    	notific3.save

				 user =Usuarioentidad.where(usuario_id: plan.instructor_id).take
		          if(user.escuela_id == 1)
		            uentidad = Usuarioentidad.where(escuela_id: user.escuela_id, entidad_id: 1).take
		          else
		            if(user.escuela_id == 2)
		              uentidad = Usuarioentidad.where(escuela_id: user.escuela_id, entidad_id: 2).take
		            else
		              if(user.escuela_id == 3)
		                uentidad = Usuarioentidad.where(escuela_id: user.escuela_id, entidad_id: 3).take
		              else
		                if(user.escuela_id == 4)
		                uentidad = Usuarioentidad.where(escuela_id: user.escuela_id, entidad_id: 4).take
		                else
		                  if(user.escuela_id == 9)
		                    uentidad = Usuarioentidad.where(escuela_id: user.escuela_id, entidad_id: 5).take
		                  else
		                    if(user.escuela_id == 10)
		                      uentidad = Usuarioentidad.where(escuela_id: user.escuela_id, entidad_id: 6).take
		                    end
		                  end
		                end
		              end
		            end  
		          end

				linkT = "http://formacion.ciens.ucv.ve/forminst?accion=mostrar adecuacion&param1=" + plan.id.to_s + "&param2=no"
			    linkI = "http://formacion.ciens.ucv.ve/forminst?accion=mostrar adecuacion"			
				linkE = "http://formacion.ciens.ucv.ve/forminst?accion=mostrar adecuacion&param3=" + @adecuacion_id.to_s  
			    remitente3 = Usuario.where(id: plan.tutor_id).take
				ActionCorreo.envio_adecuacion(remitente3, notific.mensaje,2,linkT,@document).deliver
				remitente2 = Usuario.where(id: plan.instructor_id).take
				ActionCorreo.envio_adecuacion(remitente2, notific2.mensaje,1,linkI,@document).deliver
				remitente = Usuario.where(id: uentidad.usuario_id).take
				ActionCorreo.envio_adecuacion(remitente, notific3.mensaje,0,linkE,@document).deliver

			elsif (status.estatus_id == 8 || status.estatus_id == 18)
			#Consejo de escuela
				adac = AdecuacionActividad.where(adecuacion_id: @adecuacion_id).all
				adac.each do |adaa|
					oa = ObservacionActividadAdecuacion.where(adecuacionactividad_id: adaa.id, actual: 1).all
					oa.each do |oaa|
						oaa.fecha = Time.now 
						oaa.actual = 0
						oaa.save
					end
				end
				@document = Respaldo.where(adecuacion_id: @adecuacion_id, informe_id: nil, actual: 1).take
				@document.estatus = "Enviado a Consejo de Facultad"
				@document.save
				cambio_act = EstatusAdecuacion.where(adecuacion_id: @adecuacion_id, actual: 1).take
				cambio_act.actual = 0
				cambio_act.save
				cambio_est = EstatusAdecuacion.new 
				cambio_est.adecuacion_id = @adecuacion_id
				cambio_est.fecha = Time.now 
				cambio_est.estatus_id = 14
				cambio_est.actual = 1
				cambio_est.save

				adecuacion = Adecuacion.find(@adecuacion_id)
				plan= Planformacion.find(adecuacion.planformacion_id)
				notific = Notificacion.new
		        notific.instructor_id = plan.instructor_id
		        notific.tutor_id = plan.tutor_id
		        notific.adecuacion_id = @adecuacion_id
		        notific.informe_id = nil
		        notific.actual = 1
		        person = Persona.where(usuario_id: plan.instructor_id).take
		        notificacionfecha = Date.current.to_s 
	        	notific.mensaje = "[" + notificacionfecha + "] La adecuación de "+ person.nombres.to_s.split.map(&:capitalize).join(' ') + " " + person.apellidos.to_s.split.map(&:capitalize).join(' ') + " fue enviada a Consejo de Facultad sin ser revisado."
	        	notific.save
	        	notific2 = Notificacion.new
		        notific2.instructor_id = plan.instructor_id
		        notific2.tutor_id = plan.tutor_id
		        notific2.adecuacion_id = @adecuacion_id
		        notific2.informe_id = nil
		        notific2.actual = 2
	        	notific2.mensaje = "[" + notificacionfecha + "] Su adecuación fue enviada a Consejo de Facultad sin ser revisado"
	        	notific2.save
	        	notific3 = Notificacion.new
		        notific3.instructor_id = plan.instructor_id
		        notific3.tutor_id = plan.tutor_id
		        notific3.adecuacion_id = @adecuacion_id
		        notific3.informe_id = nil
		        notific3.actual = 5		#Consejo de Escuela
	        	notific3.mensaje = "[" + notificacionfecha + "] Se ha recibido una nueva Adecuación: "+ person.nombres.to_s.split.map(&:capitalize).join(' ') + " " + person.apellidos.to_s.split.map(&:capitalize).join(' ') + ", Revisar."
	        	notific3.save
	       		uentidad = Usuarioentidad.where(entidad_id: 13).take
	       		linkT = "http://formacion.ciens.ucv.ve/forminst?accion=mostrar adecuacion&param1=" + plan.id.to_s + "&param2=no"
			    linkI = "http://formacion.ciens.ucv.ve/forminst?accion=mostrar adecuacion"			
				linkE = "http://formacion.ciens.ucv.ve/forminst?accion=mostrar adecuacion&param3=" + @adecuacion_id.to_s
				remitente3 = Usuario.where(id: plan.tutor_id).take
				ActionCorreo.envio_adecuacion(remitente3, notific.mensaje,2,linkT,@document).deliver
				remitente2 = Usuario.where(id: plan.instructor_id).take
				ActionCorreo.envio_adecuacion(remitente2, notific2.mensaje,1,linkI,@document).deliver
				remitente = Usuario.where(id: uentidad.usuario_id).take
				ActionCorreo.envio_adecuacion(remitente, notific3.mensaje,0,linkE,@document).deliver
				ActionCorreo.envio_adecuacion("<EMAIL>", notific3.mensaje,0, linkE,@document).deliver
			end	
		end
	end
	#FIN clualizar los estatus de las adecuaciones luego de haber pasado dos semana---------------------------------------------

	#Aclualizar los estatus de los informes luego de haber pasado dos semana-----------------------------------------------
	estatus_informes = EstatusInforme.where(actual: 1).all
	fecha = Time.now.strftime("%Y-%m-%d")
	fecha2 = Time.now
	estatus_informes.each do |status|
		if status.fecha + 3.week <= fecha2
			@informe_id = status.informe_id.to_i
			informeAct = Informe.where(id: @informe_id).take
			plan_id = informeAct.planformacion_id
			adec = Adecuacion.where(planformacion_id: informeAct.planformacion_id).take
			adecuacion_id = adec.id
			if (status.estatus_id == 3 || status.estatus_id == 13)
				#Comision de investigacion 
				@document = Respaldo.where(adecuacion_id: adecuacion_id, informe_id: @informe_id, actual: 1).take
				@document.estatus = "Enviado a Consejo de Escuela"
				@document.save
				cambio_act = EstatusInforme.where(informe_id: @informe_id, actual: 1).take
		      	cambio_act.actual = 0
		      	cambio_act.save
				cambio_est = EstatusInforme.new 
				cambio_est.informe_id = @informe_id
				cambio_est.fecha = Time.now 
				cambio_est.estatus_id = 18
				cambio_est.actual = 1
				cambio_est.save
				plan = Planformacion.find(plan_id)
				cambio_est.fecha = Time.now 

				if (informeAct.numero == 1 || informeAct.numero == 3)
		        	nombre_informe= "<NAME> "
		      	elsif (informeAct.numero == 2 || informeAct.numero == 6)
		         	nombre_informe= "<NAME> "
		        elsif informeAct.numero == 4
	            	nombre_informe= "<NAME> "
				elsif informeAct.numero == 5
	            	nombre_informe= "<NAME> "
		      	end

		      	if informeAct.tipo_id == 1
		        	nombre_informe= nombre_informe+"SEMESTRAL"
		      	elsif informeAct.tipo_id == 2
		          	nombre_informe= nombre_informe+"ANUAL"
		        else
		          	nombre_informe= "INFORME "+"FINAL"
		        end

				notific = Notificacion.new
				notific.instructor_id = plan.instructor_id
				notific.tutor_id = informeAct.tutor_id
				notific.adecuacion_id = adecuacion_id
				notific.informe_id = @informe_id
				notific.actual = 1
				person = Persona.where(usuario_id: plan.instructor_id).take
				notificacionfecha = Date.current.to_s 
				notific.mensaje = "[" + notificacionfecha + "] El " + nombre_informe + " de " + person.nombres.to_s.split.map(&:capitalize).join(' ') + " " + person.apellidos.to_s.split.map(&:capitalize).join(' ') + " ha sido aprobado por Comisión de Investigación y fue enviada a Consejo de Escuela."
				notific.save
				notific2 = Notificacion.new
				notific2.instructor_id = plan.instructor_id
				notific2.tutor_id = informeAct.tutor_id
				notific2.adecuacion_id = adecuacion_id
				notific2.informe_id = @informe_id
				notific2.actual = 2
				notific2.mensaje = "[" + notificacionfecha + "] El " + nombre_informe + " ha sido aprobado por Comisión de Investigación y fue enviada a Consejo de Escuela."
				notific2.save
				notific3 = Notificacion.new
				notific3.instructor_id = plan.instructor_id
				notific3.tutor_id = informeAct.tutor_id
				notific3.adecuacion_id = adecuacion_id
				notific3.informe_id = @informe_id
				notific3.actual = 4   #Consejo de Escuela
				notific3.mensaje = "[" + notificacionfecha + "] Ha recibido un nuevo Informe: ' " + nombre_informe + " ' de " + person.nombres.to_s.split.map(&:capitalize).join(' ') + " " + person.apellidos.to_s.split.map(&:capitalize).join(' ') + ", favor aprobar y enviar a la siguiente entidad."
				notific3.save
		        user =Usuarioentidad.where(usuario_id: plan.instructor_id).take
				if(user.escuela_id == 1)
					uentidad = Usuarioentidad.where(escuela_id: user.escuela_id, entidad_id: 1).take
				elsif(user.escuela_id == 2)
					uentidad = Usuarioentidad.where(escuela_id: user.escuela_id, entidad_id: 2).take
				elsif(user.escuela_id == 3)
					uentidad = Usuarioentidad.where(escuela_id: user.escuela_id, entidad_id: 3).take
				elsif(user.escuela_id == 4)
					uentidad = Usuarioentidad.where(escuela_id: user.escuela_id, entidad_id: 4).take
				elsif(user.escuela_id == 9)
				    uentidad = Usuarioentidad.where(escuela_id: user.escuela_id, entidad_id: 5).take
				elsif(user.escuela_id == 10)
					uentidad = Usuarioentidad.where(escuela_id: user.escuela_id, entidad_id: 6).take
				end
				linkTeI = "http://formacion.ciens.ucv.ve/forminst?accion=mostrar informe&param1=" + plan.id.to_s + "&param2="+ @informe_id.to_s
	        	linkE = "http://formacion.ciens.ucv.ve/forminst?accion=mostrar informe&param1=" + plan.id.to_s+ "&param2="+@informe_id.to_s+"&param3="+adec.id.to_s
		        remitente3 = Usuario.where(id: informeAct.tutor_id).take
			    ActionCorreo.envio_informe(remitente3, notific.mensaje,2,linkTeI,@document).deliver
			    remitente2 = Usuario.where(id: plan.instructor_id).take
			    ActionCorreo.envio_informe(remitente2, notific2.mensaje,1,linkTeI,@document).deliver
			    remitente = Usuario.where(id: uentidad.usuario_id).take
			    ActionCorreo.envio_informe(remitente, notific3.mensaje,0,linkE,@document).deliver
			elsif (status.estatus_id == 8 || status.estatus_id == 18)
				#Consejo de escuela
				@document = Respaldo.where(adecuacion_id: adecuacion_id, informe_id: @informe_id, actual: 1).take
				@document.estatus = "Enviado a Consejo de Facultad"
				@document.save
				cambio_act = EstatusInforme.where(informe_id: @informe_id, actual: 1).take
		      	cambio_act.actual = 0
		      	cambio_act.save
				cambio_est = EstatusInforme.new 
				cambio_est.informe_id = @informe_id
				cambio_est.fecha = Time.now 
				cambio_est.estatus_id = 14
				cambio_est.actual = 1
				cambio_est.save
				plan = Planformacion.find(plan_id)
				cambio_est.fecha = Time.now 

				if (informeAct.numero == 1 || informeAct.numero == 3)
		        	nombre_informe= "<NAME> "
		      	elsif (informeAct.numero == 2 || informeAct.numero == 6)
		         	nombre_informe= "<NAME> "
		        elsif informeAct.numero == 4
	            	nombre_informe= "<NAME> "
				elsif informeAct.numero == 5
	            	nombre_informe= "CUARTO INFORME "
		      	end

		      	if informeAct.tipo_id == 1
		        	nombre_informe= nombre_informe+"SEMESTRAL"
		      	elsif informeAct.tipo_id == 2
		          	nombre_informe= nombre_informe+"ANUAL"
		        else
		          	nombre_informe= "INFORME "+"FINAL"
		        end
		        
				notific = Notificacion.new
				notific.instructor_id = plan.instructor_id
				notific.tutor_id = informeAct.tutor_id
				notific.adecuacion_id = adecuacion_id
				notific.informe_id = @informe_id
				notific.actual = 1
				person = Persona.where(usuario_id: plan.instructor_id).take
				notificacionfecha = Date.current.to_s 
				notific.mensaje = "[" + notificacionfecha + "] El " + nombre_informe + " de " + person.nombres.to_s.split.map(&:capitalize).join(' ') + " " + person.apellidos.to_s.split.map(&:capitalize).join(' ') + " ha sido aprobado por Consejo de Escuela y fue enviada a Consejo de Facultad."
				notific.save
				notific2 = Notificacion.new
				notific2.instructor_id = plan.instructor_id
				notific2.tutor_id = informeAct.tutor_id
				notific2.adecuacion_id = adecuacion_id
				notific2.informe_id = @informe_id
				notific2.actual = 2
				notific2.mensaje = "[" + notificacionfecha + "] El " + nombre_informe + " ha sido aprobado por Consejo de Escuela y fue enviada a Consejo de Facultad."
				notific2.save
				notific3 = Notificacion.new
				notific3.instructor_id = plan.instructor_id
				notific3.tutor_id = informeAct.tutor_id
				notific3.adecuacion_id = adecuacion_id
				notific3.informe_id = @informe_id
				notific3.actual = 5   #Consejo de Facultad
				notific3.mensaje = "[" + notificacionfecha + "] Ha recibido un nuevo Informe: ' " + nombre_informe + " ' de " + person.nombres.to_s.split.map(&:capitalize).join(' ') + " " + person.apellidos.to_s.split.map(&:capitalize).join(' ') + ", revisar."
				notific3.save
				uentidad = Usuarioentidad.where(entidad_id: 13).take
				remitente3 = Usuario.where(id: informeAct.tutor_id).take
				linkTeI = "http://formacion.ciens.ucv.ve/forminst?accion=mostrar informe&param1=" + plan.id.to_s + "&param2="+ @informe_id.to_s
	        	linkE = "http://formacion.ciens.ucv.ve/forminst?accion=mostrar informe&param1=" + plan.id.to_s+ "&param2="+@informe_id.to_s+"&param3="+adec.id.to_s
				ActionCorreo.envio_informe(remitente3, notific.mensaje,2,linkTeI,@document).deliver
				remitente2 = Usuario.where(id: plan.instructor_id).take
				ActionCorreo.envio_informe(remitente2, notific2.mensaje,1,linkTeI,@document).deliver
				remitente = Usuario.where(id: uentidad.usuario_id).take
				ActionCorreo.envio_informe(remitente, notific3.mensaje,0,linkE,@document).deliver
				ActionCorreo.envio_informe("<EMAIL>", notific3.mensaje,0, linkE,@document).deliver
			end
		end

	end
	#FIN aclualizar los estatus de los informes luego de haber pasado dos semana--------------------------------------------

	#Enviar correo de notificacion de informes------------------------------------------------------------------------------
	planFormacion = Planformacion.all
	fecha = Time.now.strftime("%Y-%m-%d")
	fecha2 = Time.now
	puts "inicio"
	planFormacion.each do |plan|

		puts plan.fecha_inicio + 5.month
		puts fecha2
		puts plan.fecha_inicio + 11.month
		puts plan.fecha_inicio + 5.month <= fecha2
		puts plan.fecha_inicio + 11.month >= fecha2
		puts plan.mensaje
		puts plan.mensaje.blank?
		if plan.fecha_inicio + 5.month <= fecha2 && plan.fecha_inicio + 6.month >= fecha2 && plan.mensaje.blank?
			puts "entro!"
			puts plan.fecha_inicio
			adecuacion = Adecuacion.where(planformacion_id: plan.id).take
			notific = Notificacion.new
			notific.instructor_id = plan.instructor_id
			notific.tutor_id = plan.tutor_id
			notific.adecuacion_id = adecuacion.id
			notific.actual = 1
			person = Persona.where(usuario_id: plan.tutor_id).take
			person2 = Persona.where(usuario_id: plan.instructor_id).take
			notificacionfecha = Date.current.to_s 
			notific.mensaje = "[" + notificacionfecha + "] " + person.nombres.to_s.split.map(&:capitalize).join(' ') + " " + person.apellidos.to_s.split.map(&:capitalize).join(' ') + " usted posee un mes para enviar el primer informe semestral de " + person2.nombres.to_s.split.map(&:capitalize).join(' ') + " " + person2.apellidos.to_s.split.map(&:capitalize).join(' ') +"."
			notific.save

			notific2 = Notificacion.new
			notific2.instructor_id = plan.instructor_id
			notific2.tutor_id = plan.tutor_id
			notific2.adecuacion_id = adecuacion.id
			notific2.actual = 2
			notificacionfecha = Date.current.to_s 
			notific2.mensaje = "[" + notificacionfecha + "] " + person2.nombres.to_s.split.map(&:capitalize).join(' ') + " " + person2.apellidos.to_s.split.map(&:capitalize).join(' ') + " su tutor " + person2.nombres.to_s.split.map(&:capitalize).join(' ') + " " + person2.apellidos.to_s.split.map(&:capitalize).join(' ') +" dispone de un mes para enviar el primer informe semestral."
			notific2.save

			linkTeI = "http://formacion.ciens.ucv.ve/forminst?accion=mostrar informe"
			remitente4 = Usuario.where(id: plan.instructor_id).take
			ActionCorreo.retraso_informe(remitente4, notific2.mensaje,linkTeI).deliver
			remitente3 = Usuario.where(id: plan.tutor_id).take
			ActionCorreo.retraso_informe(remitente3, notific.mensaje,linkTeI).deliver
			plan.mensaje = 1
			plan.save
		end

		if plan.fecha_inicio + 11.month <= fecha2 && plan.fecha_inicio + 12.month >= fecha2 && (plan.mensaje.blank? || plan.mensaje < 3)
			puts plan.fecha_inicio
			adecuacion = Adecuacion.where(planformacion_id: plan.id).take
			notific = Notificacion.new
			notific.instructor_id = plan.instructor_id
			notific.tutor_id = plan.tutor_id
			notific.adecuacion_id = adecuacion.id
			notific.actual = 1
			person = Persona.where(usuario_id: plan.tutor_id).take
			person2 = Persona.where(usuario_id: plan.instructor_id).take
			notificacionfecha = Date.current.to_s 
			notific.mensaje = "[" + notificacionfecha + "] " + person.nombres.to_s.split.map(&:capitalize).join(' ') + " " + person.apellidos.to_s.split.map(&:capitalize).join(' ') + " usted posee un mes para enviar el segundo informe semestral junto con el primer informe anual de " + person2.nombres.to_s.split.map(&:capitalize).join(' ') + " " + person2.apellidos.to_s.split.map(&:capitalize).join(' ') +"."
			notific.save

			notific2 = Notificacion.new
			notific2.instructor_id = plan.instructor_id
			notific2.tutor_id = plan.tutor_id
			notific2.adecuacion_id = adecuacion.id
			notific2.actual = 2
			notificacionfecha = Date.current.to_s 
			notific2.mensaje = "[" + notificacionfecha + "] " + person2.nombres.to_s.split.map(&:capitalize).join(' ') + " " + person2.apellidos.to_s.split.map(&:capitalize).join(' ') + " su tutor " + person2.nombres.to_s.split.map(&:capitalize).join(' ') + " " + person2.apellidos.to_s.split.map(&:capitalize).join(' ') +" dispone de un mes para enviar el segundo informe semestral junto con el primer informe anual."
			notific2.save
			linkTeI = "http://formacion.ciens.ucv.ve/forminst?accion=mostrar informe"			
			remitente4 = Usuario.where(id: plan.instructor_id).take
			ActionCorreo.retraso_informe(remitente4, notific2.mensaje,linkTeI).deliver

			remitente3 = Usuario.where(id: plan.tutor_id).take
			ActionCorreo.retraso_informe(remitente3, notific.mensaje,linkTeI).deliver

			plan.mensaje = 3
			plan.save
		end

		if plan.fecha_inicio + 17.month <= fecha2 && plan.fecha_inicio + 18.month >= fecha2 && (plan.mensaje.blank? || plan.mensaje < 5)
			puts plan.fecha_inicio

			adecuacion = Adecuacion.where(planformacion_id: plan.id).take
			notific = Notificacion.new
			notific.instructor_id = plan.instructor_id
			notific.tutor_id = plan.tutor_id
			notific.adecuacion_id = adecuacion.id
			notific.actual = 1
			person = Persona.where(usuario_id: plan.tutor_id).take
			person2 = Persona.where(usuario_id: plan.instructor_id).take
			notificacionfecha = Date.current.to_s 
			notific.mensaje = "[" + notificacionfecha + "] " + person.nombres.to_s.split.map(&:capitalize).join(' ') + " " + person.apellidos.to_s.split.map(&:capitalize).join(' ') + " usted posee un mes para enviar el tercer informe semestral de " + person2.nombres.to_s.split.map(&:capitalize).join(' ') + " " + person2.apellidos.to_s.split.map(&:capitalize).join(' ') +"."
			notific.save

			notific2 = Notificacion.new
			notific2.instructor_id = plan.instructor_id
			notific2.tutor_id = plan.tutor_id
			notific2.adecuacion_id = adecuacion.id
			notific2.actual = 2
			notificacionfecha = Date.current.to_s 
			notific2.mensaje = "[" + notificacionfecha + "] " + person2.nombres.to_s.split.map(&:capitalize).join(' ') + " " + person2.apellidos.to_s.split.map(&:capitalize).join(' ') + " su tutor " + person2.nombres.to_s.split.map(&:capitalize).join(' ') + " " + person2.apellidos.to_s.split.map(&:capitalize).join(' ') +" dispone de un mes para enviar el tercer informe semestral ."
			notific2.save
			linkTeI = "http://formacion.ciens.ucv.ve/forminst?accion=mostrar informe"						
			remitente4 = Usuario.where(id: plan.instructor_id).take
			ActionCorreo.retraso_informe(remitente4, notific2.mensaje,linkTeI).deliver

			remitente3 = Usuario.where(id: plan.tutor_id).take
			ActionCorreo.retraso_informe(remitente3, notific.mensaje,linkTeI).deliver

			plan.mensaje = 5
			plan.save
		end

		if plan.fecha_inicio + 23.month <= fecha2 && (plan.mensaje.blank? || plan.mensaje < 7)
			puts plan.fecha_inicio

			adecuacion = Adecuacion.where(planformacion_id: plan.id).take
			notific = Notificacion.new
			notific.instructor_id = plan.instructor_id
			notific.tutor_id = plan.tutor_id
			notific.adecuacion_id = adecuacion.id
			notific.actual = 1
			person = Persona.where(usuario_id: plan.tutor_id).take
			person2 = Persona.where(usuario_id: plan.instructor_id).take
			notificacionfecha = Date.current.to_s 
			notific.mensaje = "[" + notificacionfecha + "] " + person.nombres.to_s.split.map(&:capitalize).join(' ') + " " + person.apellidos.to_s.split.map(&:capitalize).join(' ') + " usted posee un mes para enviar el cuarto informe semestral junto con el segundo informe anual y el final de " + person2.nombres.to_s.split.map(&:capitalize).join(' ') + " " + person2.apellidos.to_s.split.map(&:capitalize).join(' ') +"."
			notific.save

			notific2 = Notificacion.new
			notific2.instructor_id = plan.instructor_id
			notific2.tutor_id = plan.tutor_id
			notific2.adecuacion_id = adecuacion.id
			notific2.actual = 2
			notificacionfecha = Date.current.to_s 
			notific2.mensaje = "[" + notificacionfecha + "] " + person2.nombres.to_s.split.map(&:capitalize).join(' ') + " " + person2.apellidos.to_s.split.map(&:capitalize).join(' ') + " su tutor " + person2.nombres.to_s.split.map(&:capitalize).join(' ') + " " + person2.apellidos.to_s.split.map(&:capitalize).join(' ') +" dispone de un mes para enviarlo el cuarto informe semestral junto con el segundo informe anual y el final."
			notific2.save
			linkTeI = "http://formacion.ciens.ucv.ve/forminst?accion=mostrar informe"									
			remitente4 = Usuario.where(id: plan.instructor_id).take
			ActionCorreo.retraso_informe(remitente4, notific2.mensaje,linkTeI).deliver

			remitente3 = Usuario.where(id: plan.tutor_id).take
			ActionCorreo.retraso_informe(remitente3, notific.mensaje,linkTeI).deliver

			plan.mensaje = 7
			plan.save
		end






		info = Informe.where(planformacion_id: plan.id).all

		infor1 = 0
		infor2 = 0
		infor3 = 0
		infor4 = 0
		infor5 = 0
		infor6 = 0
		infor7 = 0
		info.each do |inf|
			#Se ven los informe enviados
			if inf.numero == 1
				est_inf = EstatusInforme.where(informe_id: inf.id, actual:1).take
				if (est_inf.estatus_id != 6 && est_inf.estatus_id != 9)
					infor1 = 1
				end
			elsif inf.numero == 2
				est_inf = EstatusInforme.where(informe_id: inf.id, actual:1).take
				if (est_inf.estatus_id != 6 && est_inf.estatus_id != 9)
					infor2 = 1
				end
			elsif inf.numero == 3
				est_inf = EstatusInforme.where(informe_id: inf.id, actual:1).take
				if (est_inf.estatus_id != 6 && est_inf.estatus_id != 9)
					infor3 = 1
				end
			elsif inf.numero == 4
				est_inf = EstatusInforme.where(informe_id: inf.id, actual:1).take
				if (est_inf.estatus_id != 6 && est_inf.estatus_id != 9)
					infor4 = 1
				end
			elsif inf.numero == 5
				est_inf = EstatusInforme.where(informe_id: inf.id, actual:1).take
				if (est_inf.estatus_id != 6 && est_inf.estatus_id != 9)
					infor5 = 1
				end
			elsif inf.numero == 6
				est_inf = EstatusInforme.where(informe_id: inf.id, actual:1).take
				if (est_inf.estatus_id != 6 && est_inf.estatus_id != 9)
					infor6 = 1
				end
			elsif inf.numero == 7
				est_inf = EstatusInforme.where(informe_id: inf.id, actual:1).take
				if (est_inf.estatus_id != 6 && est_inf.estatus_id != 9)
					infor7 = 1
				end
			end
		end

		if plan.fecha_inicio + 6.month + 15.day <= fecha2 && plan.mensaje2.blank? && infor1 == 0
			puts "AAAAAAAAAAAAAAAAAAAAAAAAA"
			puts ((fecha2 - Time.parse((plan.fecha_inicio + 6.month).to_s)).to_i / (24 * 60 * 60)).round
			dias = ((fecha2 - Time.parse((plan.fecha_inicio + 6.month).to_s)).to_i / (24 * 60 * 60)).round.to_s
			puts plan.fecha_inicio
			adecuacion = Adecuacion.where(planformacion_id: plan.id).take
			notific = Notificacion.new
			notific.instructor_id = plan.instructor_id
			notific.tutor_id = plan.tutor_id
			notific.adecuacion_id = adecuacion.id
			notific.actual = 1
			person = Persona.where(usuario_id: plan.tutor_id).take
			person2 = Persona.where(usuario_id: plan.instructor_id).take
			notificacionfecha = Date.current.to_s 
			notific.mensaje = "[" + notificacionfecha + "] " + person.nombres.to_s.split.map(&:capitalize).join(' ') + " " + person.apellidos.to_s.split.map(&:capitalize).join(' ') + " ha excedido en "+dias+" dias el dia tope de entrega del primer informe semestral de " + person2.nombres.to_s.split.map(&:capitalize).join(' ') + " " + person2.apellidos.to_s.split.map(&:capitalize).join(' ') +", enviar en la brevedad posible."
			notific.save

			notific2 = Notificacion.new
			notific2.instructor_id = plan.instructor_id
			notific2.tutor_id = plan.tutor_id
			notific2.adecuacion_id = adecuacion.id
			notific2.actual = 2
			notificacionfecha = Date.current.to_s 
			notific2.mensaje = "[" + notificacionfecha + "] " + person2.nombres.to_s.split.map(&:capitalize).join(' ') + " " + person2.apellidos.to_s.split.map(&:capitalize).join(' ') + " su tutor " + person2.nombres.to_s.split.map(&:capitalize).join(' ') + " " + person2.apellidos.to_s.split.map(&:capitalize).join(' ') +"  ha excedido en "+dias+" dias el dia tope de entrega del primer informe semestral, enviar en la brevedad posible."
			notific2.save
			linkTeI = "http://formacion.ciens.ucv.ve/forminst?accion=mostrar informe"												
			remitente4 = Usuario.where(id: plan.instructor_id).take
			ActionCorreo.retraso_informe(remitente4, notific2.mensaje,linkTeI).deliver

			remitente3 = Usuario.where(id: plan.tutor_id).take
			ActionCorreo.retraso_informe(remitente3, notific.mensaje,linkTeI).deliver
			plan.mensaje2 = 1
			plan.save
		end

		if plan.fecha_inicio + 12.month + 15.day <= fecha2 && (plan.mensaje2.blank? || plan.mensaje2 < 2) && (infor2 == 0 || infor3 == 0)
			dias = ((fecha2 - Time.parse((plan.fecha_inicio + 12.month).to_s)).to_i / (24 * 60 * 60)).round.to_s
			puts plan.fecha_inicio
			adecuacion = Adecuacion.where(planformacion_id: plan.id).take
			notific = Notificacion.new
			notific.instructor_id = plan.instructor_id
			notific.tutor_id = plan.tutor_id
			notific.adecuacion_id = adecuacion.id
			notific.actual = 1
			person = Persona.where(usuario_id: plan.tutor_id).take
			person2 = Persona.where(usuario_id: plan.instructor_id).take
			notificacionfecha = Date.current.to_s 
			if infor2 == 0
				notific.mensaje = "[" + notificacionfecha + "] " + person.nombres.to_s.split.map(&:capitalize).join(' ') + " " + person.apellidos.to_s.split.map(&:capitalize).join(' ') + "  ha excedido en "+dias+" dias el dia tope de entrega del segundo informe semestral y con el primer informe anual de " + person2.nombres.to_s.split.map(&:capitalize).join(' ') + " " + person2.apellidos.to_s.split.map(&:capitalize).join(' ') +", enviar en la brevedad posible."
			else
				notific.mensaje = "[" + notificacionfecha + "] " + person.nombres.to_s.split.map(&:capitalize).join(' ') + " " + person.apellidos.to_s.split.map(&:capitalize).join(' ') + "  ha excedido en "+dias+" dias el dia tope de entrega del primer informe anual de " + person2.nombres.to_s.split.map(&:capitalize).join(' ') + " " + person2.apellidos.to_s.split.map(&:capitalize).join(' ') +", enviar en la brevedad posible."
			end
			notific.save

			notific2 = Notificacion.new
			notific2.instructor_id = plan.instructor_id
			notific2.tutor_id = plan.tutor_id
			notific2.adecuacion_id = adecuacion.id
			notific2.actual = 2
			notificacionfecha = Date.current.to_s 
			if infor2 == 0
				notific2.mensaje = "[" + notificacionfecha + "] " + person2.nombres.to_s.split.map(&:capitalize).join(' ') + " " + person2.apellidos.to_s.split.map(&:capitalize).join(' ') + " su tutor " + person2.nombres.to_s.split.map(&:capitalize).join(' ') + " " + person2.apellidos.to_s.split.map(&:capitalize).join(' ') +"  ha excedido en "+dias+" dias el dia tope de entrega del segundo informe semestral y con el primer informe anual, enviar en la brevedad posible."
			else
				notific2.mensaje = "[" + notificacionfecha + "] " + person2.nombres.to_s.split.map(&:capitalize).join(' ') + " " + person2.apellidos.to_s.split.map(&:capitalize).join(' ') + " su tutor " + person2.nombres.to_s.split.map(&:capitalize).join(' ') + " " + person2.apellidos.to_s.split.map(&:capitalize).join(' ') +"  ha excedido en "+dias+" dias el dia tope de entrega del primer informe anual, enviar en la brevedad posible."
			end
			notific2.save
			linkTeI = "http://formacion.ciens.ucv.ve/forminst?accion=mostrar informe"															
			remitente4 = Usuario.where(id: plan.instructor_id).take
			ActionCorreo.retraso_informe(remitente4, notific2.mensaje,linkTeI).deliver

			remitente3 = Usuario.where(id: plan.tutor_id).take
			ActionCorreo.retraso_informe(remitente3, notific.mensaje,linkTeI).deliver

			plan.mensaje2 = 2
			plan.save
		end

		if plan.fecha_inicio + 18.month + 15.day <= fecha2 && (plan.mensaje2.blank? || plan.mensaje2 < 3) && infor4 == 0
			dias = ((fecha2 - Time.parse((plan.fecha_inicio + 18.month).to_s)).to_i / (24 * 60 * 60)).round.to_s
			puts plan.fecha_inicio
			adecuacion = Adecuacion.where(planformacion_id: plan.id).take
			notific = Notificacion.new
			notific.instructor_id = plan.instructor_id
			notific.tutor_id = plan.tutor_id
			notific.adecuacion_id = adecuacion.id
			notific.actual = 1
			person = Persona.where(usuario_id: plan.tutor_id).take
			person2 = Persona.where(usuario_id: plan.instructor_id).take
			notificacionfecha = Date.current.to_s 
			notific.mensaje = "[" + notificacionfecha + "] " + person.nombres.to_s.split.map(&:capitalize).join(' ') + " " + person.apellidos.to_s.split.map(&:capitalize).join(' ') + "  ha excedido en "+dias+" dias el dia tope de entrega del tercer informe semestral de " + person2.nombres.to_s.split.map(&:capitalize).join(' ') + " " + person2.apellidos.to_s.split.map(&:capitalize).join(' ') +", enviar en la brevedad posible."
			notific.save

			notific2 = Notificacion.new
			notific2.instructor_id = plan.instructor_id
			notific2.tutor_id = plan.tutor_id
			notific2.adecuacion_id = adecuacion.id
			notific2.actual = 2
			notificacionfecha = Date.current.to_s 
			notific2.mensaje = "[" + notificacionfecha + "] " + person2.nombres.to_s.split.map(&:capitalize).join(' ') + " " + person2.apellidos.to_s.split.map(&:capitalize).join(' ') + " su tutor " + person2.nombres.to_s.split.map(&:capitalize).join(' ') + " " + person2.apellidos.to_s.split.map(&:capitalize).join(' ') +"  ha excedido en "+dias+" dias el dia tope de entrega del tercer informe semestral, enviar en la brevedad posible."
			notific2.save
			linkTeI = "http://formacion.ciens.ucv.ve/forminst?accion=mostrar informe"															
			remitente4 = Usuario.where(id: plan.instructor_id).take
			ActionCorreo.retraso_informe(remitente4, notific2.mensaje,linkTeI).deliver

			remitente3 = Usuario.where(id: plan.tutor_id).take
			ActionCorreo.retraso_informe(remitente3, notific.mensaje,linkTeI).deliver

			plan.mensaje2 = 3
			plan.save
		end

		if plan.fecha_inicio + 24.month + 15.day <= fecha2 && (plan.mensaje2.blank? || plan.mensaje2 < 4) && (infor5 == 0 || infor6 == 0 ||  infor7 == 0)
			dias = ((fecha2 - Time.parse((plan.fecha_inicio + 24.month).to_s)).to_i / (24 * 60 * 60)).round.to_s
			puts plan.fecha_inicio
			adecuacion = Adecuacion.where(planformacion_id: plan.id).take
			notific = Notificacion.new
			notific.instructor_id = plan.instructor_id
			notific.tutor_id = plan.tutor_id
			notific.adecuacion_id = adecuacion.id
			notific.actual = 1
			person = Persona.where(usuario_id: plan.tutor_id).take
			person2 = Persona.where(usuario_id: plan.instructor_id).take
			notificacionfecha = Date.current.to_s 
			if infor5 == 0
				notific.mensaje = "[" + notificacionfecha + "] " + person.nombres.to_s.split.map(&:capitalize).join(' ') + " " + person.apellidos.to_s.split.map(&:capitalize).join(' ') + " ha excedido en "+dias+" dias el dia tope de entrega del cuarto informe semestral, el segundo informe anual y el final de " + person2.nombres.to_s.split.map(&:capitalize).join(' ') + " " + person2.apellidos.to_s.split.map(&:capitalize).join(' ') +", enviar en la brevedad posible."
			elsif infor6 == 0
				notific.mensaje = "[" + notificacionfecha + "] " + person.nombres.to_s.split.map(&:capitalize).join(' ') + " " + person.apellidos.to_s.split.map(&:capitalize).join(' ') + "  ha excedido en "+dias+" dias el dia tope de entrega del segundo informe anual y el final de " + person2.nombres.to_s.split.map(&:capitalize).join(' ') + " " + person2.apellidos.to_s.split.map(&:capitalize).join(' ') +", enviar en la brevedad posible."
			else
				notific.mensaje = "[" + notificacionfecha + "] " + person.nombres.to_s.split.map(&:capitalize).join(' ') + " " + person.apellidos.to_s.split.map(&:capitalize).join(' ') + "  ha excedido en "+dias+" dias el dia tope de entrega del informe final de " + person2.nombres.to_s.split.map(&:capitalize).join(' ') + " " + person2.apellidos.to_s.split.map(&:capitalize).join(' ') +", enviar en la brevedad posible."
			end
			notific.save

			notific2 = Notificacion.new
			notific2.instructor_id = plan.instructor_id
			notific2.tutor_id = plan.tutor_id
			notific2.adecuacion_id = adecuacion.id
			notific2.actual = 2
			notificacionfecha = Date.current.to_s 
			if infor5 == 0
				notific2.mensaje = "[" + notificacionfecha + "] " + person2.nombres.to_s.split.map(&:capitalize).join(' ') + " " + person2.apellidos.to_s.split.map(&:capitalize).join(' ') + " su tutor " + person2.nombres.to_s.split.map(&:capitalize).join(' ') + " " + person2.apellidos.to_s.split.map(&:capitalize).join(' ') +"  ha excedido en "+dias+" dias el dia tope de entrega del cuarto informe semestral, con el primer informe anual y el iforme final, enviar en la brevedad posible."
			elsif infor6 == 0
				notific2.mensaje = "[" + notificacionfecha + "] " + person2.nombres.to_s.split.map(&:capitalize).join(' ') + " " + person2.apellidos.to_s.split.map(&:capitalize).join(' ') + " su tutor " + person2.nombres.to_s.split.map(&:capitalize).join(' ') + " " + person2.apellidos.to_s.split.map(&:capitalize).join(' ') +"  ha excedido en "+dias+" dias el dia tope de entrega del segundo informe final y con el informe final, enviar en la brevedad posible."
			else
				notific2.mensaje = "[" + notificacionfecha + "] " + person2.nombres.to_s.split.map(&:capitalize).join(' ') + " " + person2.apellidos.to_s.split.map(&:capitalize).join(' ') + " su tutor " + person2.nombres.to_s.split.map(&:capitalize).join(' ') + " " + person2.apellidos.to_s.split.map(&:capitalize).join(' ') +"  ha excedido en "+dias+" dias el dia tope de entrega del informe final, enviar en la brevedad posible."
			end
			notific2.save
			linkTeI = "http://formacion.ciens.ucv.ve/forminst?accion=mostrar informe"															
			remitente4 = Usuario.where(id: plan.instructor_id).take
			ActionCorreo.retraso_informe(remitente4, notific2.mensaje,linkTeI).deliver

			remitente3 = Usuario.where(id: plan.tutor_id).take
			ActionCorreo.retraso_informe(remitente3, notific.mensaje,linkTeI).deliver

			plan.mensaje2 = 4
			plan.save
		end
	end


	#FIN Enviar correo de notificacion de informes--------------------------------------------------------------------------
	puts "fin"
	sleep(1.minute)
end<file_sep>/forminst_new1/app/models/departamento.rb
class Departamento < ActiveRecord::Base
	has_many :departamento
end<file_sep>/forminst_new1/app/controllers/tipoactividads_controller.rb
class TipoactividadsController < ApplicationController
  before_action :set_tipoactividad, only: [:show, :edit, :update, :destroy]

  # GET /tipoactividads
  # GET /tipoactividads.json
  def index
    @tipoactividads = Tipoactividad.all
  end

  # GET /tipoactividads/1
  # GET /tipoactividads/1.json
  def show
  end

  # GET /tipoactividads/new
  def new
    @tipoactividad = Tipoactividad.new
  end

  # GET /tipoactividads/1/edit
  def edit
  end

  # POST /tipoactividads
  # POST /tipoactividads.json
  def create
    @tipoactividad = Tipoactividad.new(tipoactividad_params)

    respond_to do |format|
      if @tipoactividad.save
        format.html { redirect_to @tipoactividad, notice: 'Tipoactividad was successfully created.' }
        format.json { render :show, status: :created, location: @tipoactividad }
      else
        format.html { render :new }
        format.json { render json: @tipoactividad.errors, status: :unprocessable_entity }
      end
    end
  end

  # PATCH/PUT /tipoactividads/1
  # PATCH/PUT /tipoactividads/1.json
  def update
    respond_to do |format|
      if @tipoactividad.update(tipoactividad_params)
        format.html { redirect_to @tipoactividad, notice: 'Tipoactividad was successfully updated.' }
        format.json { render :show, status: :ok, location: @tipoactividad }
      else
        format.html { render :edit }
        format.json { render json: @tipoactividad.errors, status: :unprocessable_entity }
      end
    end
  end

  # DELETE /tipoactividads/1
  # DELETE /tipoactividads/1.json
  def destroy
    @tipoactividad.destroy
    respond_to do |format|
      format.html { redirect_to tipoactividads_url, notice: 'Tipoactividad was successfully destroyed.' }
      format.json { head :no_content }
    end
  end

  private
    # Use callbacks to share common setup or constraints between actions.
    def set_tipoactividad
      @tipoactividad = Tipoactividad.find(params[:id])
    end

    # Never trust parameters from the scary internet, only allow the white list through.
    def tipoactividad_params
      params.require(:tipoactividad).permit(:id, :concepto, :grupoActividadesId, :subGrupoActividadId)
    end
end
<file_sep>/forminst_new1/app/models/observacionactividadinforme.rb
class Observacionesactividadinforme < ActiveRecord::Base
	belongs_to :informeactividad
	belongs_to :revision
end<file_sep>/forminst_new1/app/models/observacion_actividad_adecuacion.rb
class ObservacionActividadAdecuacion < ActiveRecord::Base
	belongs_to :revision
	belongs_to :adecuacion_actividad
end
<file_sep>/forminst_new1/app/views/tipoestatuses/show.json.jbuilder
json.extract! @tipoestatus, :id, :id, :informeId, :created_at, :updated_at
<file_sep>/forminst_new1/app/views/tipoestatuses/index.json.jbuilder
json.array!(@tipoestatuses) do |tipoestatus|
  json.extract! tipoestatus, :id, :id, :informeId
  json.url tipoestatus_url(tipoestatus, format: :json)
end
<file_sep>/forminst_new1/app/controllers/tipoestatuses_controller.rb
class TipoestatusesController < ApplicationController
  before_action :set_tipoestatus, only: [:show, :edit, :update, :destroy]

  # GET /tipoestatuses
  # GET /tipoestatuses.json
  def index
    @tipoestatuses = Tipoestatus.all
  end

  # GET /tipoestatuses/1
  # GET /tipoestatuses/1.json
  def show
  end

  # GET /tipoestatuses/new
  def new
    @tipoestatus = Tipoestatus.new
  end

  # GET /tipoestatuses/1/edit
  def edit
  end

  # POST /tipoestatuses
  # POST /tipoestatuses.json
  def create
    @tipoestatus = Tipoestatus.new(tipoestatus_params)

    respond_to do |format|
      if @tipoestatus.save
        format.html { redirect_to @tipoestatus, notice: 'Tipoestatus was successfully created.' }
        format.json { render :show, status: :created, location: @tipoestatus }
      else
        format.html { render :new }
        format.json { render json: @tipoestatus.errors, status: :unprocessable_entity }
      end
    end
  end

  # PATCH/PUT /tipoestatuses/1
  # PATCH/PUT /tipoestatuses/1.json
  def update
    respond_to do |format|
      if @tipoestatus.update(tipoestatus_params)
        format.html { redirect_to @tipoestatus, notice: 'Tipoestatus was successfully updated.' }
        format.json { render :show, status: :ok, location: @tipoestatus }
      else
        format.html { render :edit }
        format.json { render json: @tipoestatus.errors, status: :unprocessable_entity }
      end
    end
  end

  # DELETE /tipoestatuses/1
  # DELETE /tipoestatuses/1.json
  def destroy
    @tipoestatus.destroy
    respond_to do |format|
      format.html { redirect_to tipoestatuses_url, notice: 'Tipoestatus was successfully destroyed.' }
      format.json { head :no_content }
    end
  end

  private
    # Use callbacks to share common setup or constraints between actions.
    def set_tipoestatus
      @tipoestatus = Tipoestatus.find(params[:id])
    end

    # Never trust parameters from the scary internet, only allow the white list through.
    def tipoestatus_params
      params.require(:tipoestatus).permit(:id, :informeId)
    end
end
<file_sep>/forminst_new1/app/models/observaciontutor.rb
class Observaciontutor < ActiveRecord::Base
	belongs_to :informeactividad
end<file_sep>/forminst_new1/app/views/personas/index.json.jbuilder
json.array!(@personas) do |persona|
  json.extract! persona, :id, :id, :usuarioId, :nombres, :apellidos, :fechaNac, :ci, :telefono1, :telefono2, :direccion
  json.url persona_url(persona, format: :json)
end
<file_sep>/forminst_new1/app/models/tipoestatus.rb
class Tipoestatus < ActiveRecord::Base
	has_many :estatusinforme
	has_many :estatusadecuacion
	has_many :revision
end<file_sep>/forminst_new1/app/controllers/observacionactividadinformes_controller.rb
class ObservacionactividadinformesController < ApplicationController
  before_action :set_observacionactividadinforme, only: [:show, :edit, :update, :destroy]

  # GET /observacionactividadinformes
  # GET /observacionactividadinformes.json
  def index
    @observacionactividadinformes = Observacionactividadinforme.all
  end

  # GET /observacionactividadinformes/1
  # GET /observacionactividadinformes/1.json
  def show
  end

  # GET /observacionactividadinformes/new
  def new
    @observacionactividadinforme = Observacionactividadinforme.new
  end

  # GET /observacionactividadinformes/1/edit
  def edit
  end

  # POST /observacionactividadinformes
  # POST /observacionactividadinformes.json
  def create
    @observacionactividadinforme = Observacionactividadinforme.new(observacionactividadinforme_params)

    respond_to do |format|
      if @observacionactividadinforme.save
        format.html { redirect_to @observacionactividadinforme, notice: 'Observacionactividadinforme was successfully created.' }
        format.json { render :show, status: :created, location: @observacionactividadinforme }
      else
        format.html { render :new }
        format.json { render json: @observacionactividadinforme.errors, status: :unprocessable_entity }
      end
    end
  end

  # PATCH/PUT /observacionactividadinformes/1
  # PATCH/PUT /observacionactividadinformes/1.json
  def update
    respond_to do |format|
      if @observacionactividadinforme.update(observacionactividadinforme_params)
        format.html { redirect_to @observacionactividadinforme, notice: 'Observacionactividadinforme was successfully updated.' }
        format.json { render :show, status: :ok, location: @observacionactividadinforme }
      else
        format.html { render :edit }
        format.json { render json: @observacionactividadinforme.errors, status: :unprocessable_entity }
      end
    end
  end

  # DELETE /observacionactividadinformes/1
  # DELETE /observacionactividadinformes/1.json
  def destroy
    @observacionactividadinforme.destroy
    respond_to do |format|
      format.html { redirect_to observacionactividadinformes_url, notice: 'Observacionactividadinforme was successfully destroyed.' }
      format.json { head :no_content }
    end
  end

  private
    # Use callbacks to share common setup or constraints between actions.
    def set_observacionactividadinforme
      @observacionactividadinforme = Observacionactividadinforme.find(params[:id])
    end

    # Never trust parameters from the scary internet, only allow the white list through.
    def observacionactividadinforme_params
      params.require(:observacionactividadinforme).permit(:id, :informeActividadId, :revisionId, :observacion)
    end
end
<file_sep>/forminst_new1/app/models/pdf.rb
class Pdf 
# estas funciones permite generar el cuerpo del documento en formato pdf

	def self.pdf_adecuacion(actividades, plan, adecuacion, tutor, instructor, correoi, correot, escuela, pactv_docencia, pactv_investigacion, pactv_extension, pactv_formacion, pactv_otras, sactv_docencia, sactv_investigacion, sactv_extension, sactv_formacion, sactv_otras, tactv_docencia, tactv_investigacion, tactv_extension, tactv_formacion, tactv_otras, cactv_docencia, cactv_investigacion, cactv_extension, cactv_formacion, cactv_otras, fechaActual, fechaConcurso, soportes,numeroDeVersion, dactv_docencia, dactv_investigacion, dactv_extension, dactv_formacion)
	#def self.pdf_adecuacion(adecuacion, tutor, instructor, notificacion, perfil, pactv_docencia, pactv_investigacion, pactv_extension, pactv_formacion, pactv_otras, sactv_docencia, sactv_investigacion, sactv_extension, sactv_formacion, sactv_otras, tactv_docencia, tactv_investigacion, tactv_extension, tactv_formacion, tactv_otras, cactv_docencia, cactv_investigacion, cactv_extension, cactv_formacion, cactv_otras)
		
		# se invocan la bibliotecas
		require "prawn" 
		require "prawn/layout"

		presentacion = ""
		descripcion = ""
		docencia = []	
		investigacion = []
		formacion = []	
		extension = []
		culminacion = []
		if !actividades.blank?
			puts "Generando PDF.........."
			actividades.each do |actividadAde|
				if actividadAde.tipo_actividad_id == 9
					if actividadAde.actividad.blank?
						presentacion = " "
					else
						presentacion = actividadAde.actividad	
					end
				elsif actividadAde.tipo_actividad_id == 8
					if actividadAde.actividad.blank?
						descripcion = " "
					else
						descripcion = actividadAde.actividad	
					end
				elsif actividadAde.tipo_actividad_id == 1
					if actividadAde.actividad.blank?
						docencia.push(" ")
					else
						docencia.push(actividadAde)
					end
				elsif actividadAde.tipo_actividad_id == 2
					if actividadAde.actividad.blank?
						investigacion.push(" ")
					else
						investigacion.push(actividadAde)
					end
				elsif actividadAde.tipo_actividad_id == 4
					if actividadAde.actividad.blank?
						formacion.push(" ")
					else
						formacion.push(actividadAde)	
					end
				elsif actividadAde.tipo_actividad_id == 3
					if actividadAde.actividad.blank?
						extension.push(" ")
					else
						extension.push(actividadAde)
					end
				elsif actividadAde.tipo_actividad_id == 5
				if actividadAde.actividad.blank?
					culminacion.push(" ")
				else
					culminacion.push(actividadAde)
				end
			end
			end
		else
			presentacion = " "
			descripcion = " "
			docencia = [" "]	
			investigacion = [" "]
			formacion = [" "]	
			extension = [" "]	
			culminacion = [" "]
		end


		pdf= Prawn::Document.new(:background=>"#{Rails.root}/app/assets/images/fondo.png", :top_margin=> 99, :bottom_margin=>35, :page_size => 'A4') # se coloca la imagen de fondo del documento
		
		pdf.repeat :all do
			#Encabezado
			pdf.text_box "UNIVERSIDAD CENTRAL DE VENEZUELA \n FACULTAD DE CIENCIAS\n "+escuela.nombre.upcase+"\n\n",:style => :bold, :at => [pdf.bounds.right-490, pdf.bounds.top+59]
		end

		pdf.repeat :all do
			#Pie de pagina
			point = [pdf.bounds.right-525, pdf.bounds.bottom+35]
			pdf.lazy_bounding_box(point, :width => 500) do
				pdf.text " Universidad Central de Venezuela - Facultad de Ciencias \n", :size=>9 , :align=>:center, :style => :bold
				pdf.text "Av. Los Ilustres, Ciudad Universitaria de Caracas, Facultad de Ciencias, \n Edificio del Decanato, Planta Baja, Los Chaguaramos, Caracas-Venezuela\n Teléfono/Fax: 58-212-605.11.65 / 605.11.63 / E-mail: <EMAIL>",  :size=>7 , :align=>:center
			end.draw
		end
		#######
		
		pdf.text("ADECUACIÓN DEL PLAN DE FORMACIÓN Y CAPACITACIÓN DE DOCENTES EN LA CATEGORÍA DE INSTRUCTOR\n\n", :align=>:center, :style => :bold) # titulo del documento
		
		pdf.bounding_box([0,pdf.bounds.top], :width=>350, :height=>675) do # permite establecer el espacio en donde se puede escribir en el docuemnto
			pdf.move_down(35)		
			# Datos de la dependencia
			pdf.text("1.- DATOS DE LA DEPENDENCIA:", :style => :bold, :size  => 10)
			
			if plan.adscripcion_docencia == nil
				plan.adscripcion_docencia= ""
				plan.save
			end

			if plan.adscripcion_investigacion == nil
				plan.adscripcion_investigacion= ""
				plan.save
			end

			if instructor.area == nil
				instructor.area= ""
				instructor.save
			end

			if instructor.subarea == nil
				instructor.subarea= ""
				instructor.save
			end

			if instructor.grado_instruccion == nil
				instructor.grado_instruccion= ""
				instructor.save
			end

			data1 = [[{:text=>"Escuela o Instituto:", :font_style => :bold}, {:text => escuela.nombre, :align=>:left}],
					[{:text=>"Área:", :font_style => :bold}, {:text => instructor.area , :align=>:left}], 
					[{:text=>"Fecha de realización del presente documento:", :font_style => :bold},{:text => fechaActual, :align=>:left}],
					[{:text=>"Unidad de Adscripción de Docencia:", :font_style => :bold},{:text => plan.adscripcion_docencia,  :align=>:left}],
					[{:text=>"Unidad de Adscripción de Investigación:", :font_style => :bold},{:text => plan.adscripcion_investigacion,  :align=>:left}]] # datos que se desean en la tabla
		  
			pdf.table data1, # lineas para generar la tabla en el docuemnto
			:border_style => :grid, 
			:font_size  => 10, 
			:font_style => :blod, 
			:horizontal_padding => 6, 
			:vertical_padding   => 3, 
			:border_width => 0.7,  
			:column_widths => { 0 => 130, 1 => 390}, 
			:position => :left, 
			:align => { 0 => :left, 1 => :right}
						
			blanco=' '
			if instructor.apellidos==nil
				instructor.apellidos=""
				instructor.save
			end
			if instructor.nombres==nil
				instructor.nombres=""
				instructor.save
			end
			if instructor.telefono1==nil
				instructor.telefono1=""
				instructor.save
			end
			if instructor.telefono2==nil
				instructor.telefono2=""
				instructor.save
			end


			pdf.text("\n")
			pdf.text("2.- DATOS DEL INSTRUCTOR EN FORMACIÓN:", :style => :bold, :size  => 10)
			dataa2 = [
			[{:text=>"Fecha del Concurso de Oposición:", :font_style=>:bold},{:text => fechaConcurso.to_s, :align=>:left}],
			[{:text=>"Apellidos y Nombres:", :font_style => :bold}, {:text => instructor.apellidos.to_s.split.map(&:capitalize).join(' ') + " " + instructor.nombres.to_s.split.map(&:capitalize).join(' '), :align=>:left}],
			[{:text=>"Cédula de Identidad:", :font_style => :bold}, {:text => instructor.ci.to_s, :align=>:left}],
			[{:text=>"Correo Electrónico:", :font_style => :bold},{:text => correoi,  :align=>:left}],
			[{:text=>"Teléfono Celular:", :font_style => :bold},{:text => instructor.telefono1, :align=>:left}],
			[{:text=>"Otro teléfono:", :font_style => :bold},{:text => instructor.telefono2,  :align=>:left}]			
		  ] # datos que se desean en la tabla
			
			pdf.table dataa2,  # lineas para generar la tabla en el docuemnto
			:border_style => :grid, #:underline_header
			:font_size  => 10, 
			:horizontal_padding => 6,
			:vertical_padding   => 3,
			:border_width => 0.7, 
			:column_widths => { 0 => 130, 1 => 390}, 
			:position => :left,
			:align => { 0 => :left, 1 => :right}
			
			pdf.text("\n")
			pdf.text("3.- PERFIL DE INSTRUCTOR EN FORMACIÓN:", :style => :bold, :size  => 10)
			
			data3 = [ 
			[{:text=>"Grado de Instrucción:",:font_style => :bold}, {:text => instructor.grado_instruccion, :align=>:left}],
			[{:text=>"Área:", :font_style => :bold}, {:text => instructor.area, :align=>:left}],
			[{:text=>"Sub Área u Opción:", :font_style => :bold},{:text => instructor.subarea, :align=>:left}]	
			] # datos que se desean en la tabla
				
			pdf.table data3,  # lineas para generar la tabla en el docuemnto
			:border_style => :grid, #:underline_header
			:font_size  => 10, 
			:horizontal_padding => 6,
			:vertical_padding   => 3,
			:border_width => 0.7, 
			:column_widths => { 0 => 130, 1=>390}, 
			:position => :left,
			:align => { 0 => :left, 1 => :right}
			
			
			salto='\n'
			pdf.text("\n")
			pdf.text("4.- DATOS DEL TUTOR ENCARGADO:", :style => :bold, :size  => 10)
			if !tutor.telefono2.blank?
				dataa4 = [
				[{:text=>"Apellidos y Nombres:", :font_style => :bold}, {:text => tutor.nombres.to_s.split.map(&:capitalize).join(' ') + " " + tutor.apellidos.to_s.split.map(&:capitalize).join(' ') , :align=>:left}],
				[{:text=>"Dirección:", :font_style => :bold},{:text => tutor.direccion, :align=>:left}],
				[{:text=>"Correo Electrónico:", :font_style => :bold},{:text => correot,  :align=>:left}],
				[{:text=>"Telefono Celular:", :font_style => :bold},{:text => tutor.telefono1,  :align=>:left}]	,		
				[{:text=>"Otro Telefono:", :font_style => :bold},{:text => tutor.telefono2,  :align=>:left}]			
			  ] # datos que se desean en la tabla
			else
				dataa4 = [	
				[{:text=>"Apellidos y Nombres:", :font_style => :bold}, {:text => tutor.nombres.to_s.split.map(&:capitalize).join(' ') + " " + tutor.apellidos.to_s.split.map(&:capitalize).join(' ') , :align=>:left}],
				[{:text=>"Dirección:", :font_style => :bold},{:text => "No posee", :align=>:left}],
				[{:text=>"Correo Electrónico:", :font_style => :bold},{:text => correot,  :align=>:left}],
				[{:text=>"Telefono Celular:", :font_style => :bold},{:text => "No posee",  :align=>:left}],		
				[{:text=>"Otro Telefono:", :font_style => :bold},{:text => "No posee",  :align=>:left}]					  ] #
			end
			pdf.table dataa4,  # lineas para generar la tabla en el docuemnto
			:border_style => :grid, #:underline_header
			:font_size  => 10, 
			:horizontal_padding => 6,
			:vertical_padding   => 3,
			:border_width => 0.7, 
			:column_widths => { 0 => 130, 1=>390}, 
			:position => :left,
			:align => { 0 => :left, 1 => :right}
			
			pdf.text("\n")

			pdf.text("\n")
			pdf.text("5.- PRESENTACIÓN", :style => :bold, :size  => 10)
			dataaa35 = [[{:text=>  presentacion  ,  :align=>:left}]] # datos que se desean en la tabla

			pdf.table dataaa35,  # lineas para generar la tabla en el docuemnto
			:border_style => :grid, #:underline_header
			:font_size  => 10, 
			:horizontal_padding => 6,
			:vertical_padding   => 3,
			:border_width => 0.7, 
			:column_widths => { 0 => 520}, 
			:position => :left,
			:align => { 0 => :left}

			pdf.text("\n")
			pdf.text("6.- DESCRIPCIÓN DEL PERFIL DEL INSTRUCTOR <NAME>", :style => :bold, :size  => 10)

			data350 = [[{:text=>  descripcion ,  :align=>:left}]] # datos que se desean en la tabla
				
			pdf.table data350,  # lineas para generar la tabla en el docuemnto
			:border_style => :grid, #:underline_header
			:font_size  => 10, 
			:horizontal_padding => 6,
			:vertical_padding   => 3,
			:border_width => 0.7, 
			:column_widths => { 0 => 520}, 
			:position => :left,
			:align => { 0 => :left}


			pdf.text("\n")
			pdf.text("7.- DOCENCIA", :style => :bold, :size  => 10)

			if docencia != [" "]
				docencia.each do |actv|
					data5 = [[{:text=>  actv.actividad ,  :align=>:left}]] # datos que se desean en la tabla
					
					pdf.table data5, # lineas para generar la tabla en el docuemnto
					:border_style => :grid, #:underline_header
					:font_size  => 10, 
					:horizontal_padding => 6,
					:vertical_padding   => 3,
					:border_width => 0.7, 
					:column_widths => { 0 => 520}, 
					:position => :left,
					:align => { 0 => :left}
				end	
			else
				data5 = [[{:text=>  "No hubo." ,  :align=>:left}]] # datos que se desean en la tabla
				pdf.table data5, # lineas para generar la tabla en el docuemnto
				:border_style => :grid, #:underline_header
				:font_size  => 10, 
				:horizontal_padding => 6,
				:vertical_padding   => 3,
				:border_width => 0.7, 
				:column_widths => { 0 => 520}, 
				:position => :left,
				:align => { 0 => :left}
			end


			pdf.text("\n")
			pdf.text("8.- INVESTIGACIÓN", :style => :bold, :size  => 10)

			if investigacion != [" "]
				investigacion.each do |actv|
					data5 = [[{:text=>  actv.actividad ,  :align=>:left}]] # datos que se desean en la tabla
					
					pdf.table data5, # lineas para generar la tabla en el docuemnto
					:border_style => :grid, #:underline_header
					:font_size  => 10, 
					:horizontal_padding => 6,
					:vertical_padding   => 3,
					:border_width => 0.7, 
					:column_widths => { 0 => 520}, 
					:position => :left,
					:align => { 0 => :left}
				end	
			else
				data5 = [[{:text=>  "No hubo." ,  :align=>:left}]] # datos que se desean en la tabla
				pdf.table data5, # lineas para generar la tabla en el docuemnto
				:border_style => :grid, #:underline_header
				:font_size  => 10, 
				:horizontal_padding => 6,
				:vertical_padding   => 3,
				:border_width => 0.7, 
				:column_widths => { 0 => 520}, 
				:position => :left,
				:align => { 0 => :left}
			end


			pdf.text("\n")
			pdf.text("9.- FORMACIÓN Y CAPACITACIÓN PROFESIONAL", :style => :bold, :size  => 10)

			if formacion != [" "]
				formacion.each do |actv|
					data5 = [[{:text=>  actv.actividad ,  :align=>:left}]] # datos que se desean en la tabla
					
					pdf.table data5, # lineas para generar la tabla en el docuemnto
					:border_style => :grid, #:underline_header
					:font_size  => 10, 
					:horizontal_padding => 6,
					:vertical_padding   => 3,
					:border_width => 0.7, 
					:column_widths => { 0 => 520}, 
					:position => :left,
					:align => { 0 => :left}
				end	
			else
				data5 = [[{:text=>  "No hubo." ,  :align=>:left}]] # datos que se desean en la tabla
				pdf.table data5, # lineas para generar la tabla en el docuemnto
				:border_style => :grid, #:underline_header
				:font_size  => 10, 
				:horizontal_padding => 6,
				:vertical_padding   => 3,
				:border_width => 0.7, 
				:column_widths => { 0 => 520}, 
				:position => :left,
				:align => { 0 => :left}
			end


			pdf.text("\n")
			pdf.text("10.- EXTENSION", :style => :bold, :size  => 10)

			if extension != [" "]
				extension.each do |actv|
					data5 = [[{:text=>  actv.actividad ,  :align=>:left}]] # datos que se desean en la tabla
					
					pdf.table data5, # lineas para generar la tabla en el docuemnto
					:border_style => :grid, #:underline_header
					:font_size  => 10, 
					:horizontal_padding => 6,
					:vertical_padding   => 3,
					:border_width => 0.7, 
					:column_widths => { 0 => 520}, 
					:position => :left,
					:align => { 0 => :left}
				end	
			else
				data5 = [[{:text=>  "No hubo." ,  :align=>:left}]] # datos que se desean en la tabla
				pdf.table data5, # lineas para generar la tabla en el docuemnto
				:border_style => :grid, #:underline_header
				:font_size  => 10, 
				:horizontal_padding => 6,
				:vertical_padding   => 3,
				:border_width => 0.7, 
				:column_widths => { 0 => 520}, 
				:position => :left,
				:align => { 0 => :left}
			end

			pdf.text("\n")
			pdf.text("11.- CULMINACIÓN", :style => :bold, :size  => 10)

			if culminacion != [" "]
				culminacion.each do |actv|
					data5 = [[{:text=>  actv.actividad ,  :align=>:left}]] # datos que se desean en la tabla
					
					pdf.table data5, # lineas para generar la tabla en el docuemnto
					:border_style => :grid, #:underline_header
					:font_size  => 10, 
					:horizontal_padding => 6,
					:vertical_padding   => 3,
					:border_width => 0.7, 
					:column_widths => { 0 => 520}, 
					:position => :left,
					:align => { 0 => :left}
				end	
			else
				data5 = [[{:text=>  "No hubo." ,  :align=>:left}]] # datos que se desean en la tabla
				pdf.table data5, # lineas para generar la tabla en el docuemnto
				:border_style => :grid, #:underline_header
				:font_size  => 10, 
				:horizontal_padding => 6,
				:vertical_padding   => 3,
				:border_width => 0.7, 
				:column_widths => { 0 => 520}, 
				:position => :left,
				:align => { 0 => :left}
			end

			salto='\n'
			pdf.text("\n")
			
			pdf.text("12.- ACTIVIDADES A REALIZAR POR EL INSTRUCTOR:", :style => :bold, :size  => 10)
			
			data4= [[{:text=>"<NAME> ", :font_style => :bold}],
				[{:text=>"12.1.- DOCENCIA:",:font_style => :bold }]] # datos que se desean en la tabla
			
			pdf.table data4,  # lineas para generar la tabla en el docuemnto
			:border_style => :grid, #:underline_header
			:font_size  => 10, 
			:horizontal_padding => 6,
			:vertical_padding   => 3,
			:border_width => 0.7, 
			:column_widths => { 0 => 520}, 
			:position => :left,
			:align => { 0 => :left}
						
			if pactv_docencia != []
				pactv_docencia.each do |actv|
					data5 = [[{:text=>  actv.actividad ,  :align=>:left}]] # datos que se desean en la tabla
					
					pdf.table data5, # lineas para generar la tabla en el docuemnto
					:border_style => :grid, #:underline_header
					:font_size  => 10, 
					:horizontal_padding => 6,
					:vertical_padding   => 3,
					:border_width => 0.7, 
					:column_widths => { 0 => 520}, 
					:position => :left,
					:align => { 0 => :left}
				end	
			else
				data5 = [[{:text=>  "No hubo." ,  :align=>:left}]] # datos que se desean en la tabla
				pdf.table data5, # lineas para generar la tabla en el docuemnto
				:border_style => :grid, #:underline_header
				:font_size  => 10, 
				:horizontal_padding => 6,
				:vertical_padding   => 3,
				:border_width => 0.7, 
				:column_widths => { 0 => 520}, 
				:position => :left,
				:align => { 0 => :left}
			end
			
			data61=[[{:text=>"12.2.- INVESTIGACIÓN:", :font_style => :bold}]] # datos que se desean en la tabla
			pdf.table data61, # lineas para generar la tabla en el docuemnto
					:border_style => :grid, #:underline_header
					:font_size  => 10, 
					:horizontal_padding => 6,
					:vertical_padding   => 3,
					:border_width => 0.7, 
					:column_widths => { 0 => 520}, 
					:position => :left,
					:align => { 0 => :left}
					
			if pactv_investigacion != []
				pactv_investigacion.each do |actv|
					data6= [[{:text=>  actv.actividad , :align=>:left}]] # datos que se desean en la tabla
					
					pdf.table data6, # lineas para generar la tabla en el docuemnto
					:border_style => :grid, #:underline_header
					:font_size  => 10, 
					:horizontal_padding => 6,
					:vertical_padding   => 3,
					:border_width => 0.7, 
					:column_widths => { 0 => 520}, 
					:position => :left,
					:align => { 0 => :left}
				end
			else
				data6= [[{:text=>  "No hubo." , :align=>:left}]]# datos que se desean en la tabla
					
					pdf.table data6, # lineas para generar la tabla en el docuemnto
					:border_style => :grid, #:underline_header
					:font_size  => 10, 
					:horizontal_padding => 6,
					:vertical_padding   => 3,
					:border_width => 0.7, 
					:column_widths => { 0 => 520}, 
					:position => :left,
					:align => { 0 => :left}
			end
			
			data81=[[{:text=>"12.3.- FORMACIÓN:", :font_style => :bold}]] # datos que se desean en la tabla
			pdf.table data81, # lineas para generar la tabla en el docuemnto
					:border_style => :grid, #:underline_header
					:font_size  => 10, 
					:horizontal_padding => 6,
					:vertical_padding   => 3,
					:border_width => 0.7, 
					:column_widths => { 0 => 520}, 
					:position => :left,
					:align => { 0 => :left}
			
			if pactv_formacion != []
				pactv_formacion.each do |actv|
					data8=[[{:text=> actv.actividad , :aling=> :left}]] # datos que se desean en la tabla
						
					pdf.table data8, # lineas para generar la tabla en el docuemnto
					:border_style => :grid, #:underline_header
					:font_size  => 10, 
					:horizontal_padding => 6,
					:vertical_padding   => 3,
					:border_width => 0.7, 
					:column_widths => { 0 => 520}, 
					:position => :left,
					:align => { 0 => :left}
				end
			else
				data8=[[{:text=>  "No hubo." , :aling=> :left}]] # datos que se desean en la tabla
					
				pdf.table data8, # lineas para generar la tabla en el docuemnto
				:border_style => :grid, #:underline_header
				:font_size  => 10, 
				:horizontal_padding => 6,
				:vertical_padding   => 3,
				:border_width => 0.7, 
				:column_widths => { 0 => 520}, 
				:position => :left,
				:align => { 0 => :left}
			end
			
			
			data71=[[{:text=>"12.4.- EXTENSIÓN:", :font_style => :bold}]]# datos que se desean en la tabla
			
			pdf.table data71, # lineas para generar la tabla en el docuemnto
					:border_style => :grid, #:underline_header
					:font_size  => 10, 
					:horizontal_padding => 6,
					:vertical_padding   => 3,
					:border_width => 0.7, 
					:column_widths => { 0 => 520}, 
					:position => :left,
					:align => { 0 => :left}
			
			if pactv_extension != []
				pactv_extension.each do |actv|
					data7=[[{:text=>  actv.actividad , :aling=> :left}]] # datos que se desean en la tabla
					
					pdf.table data7, # lineas para generar la tabla en el docuemnto
					:border_style => :grid, #:underline_header
					:font_size  => 10, 
					:horizontal_padding => 6,
					:vertical_padding   => 3,
					:border_width => 0.7, 
					:column_widths => { 0 => 520}, 
					:position => :left,
					:align => { 0 => :left}
					
				end			
			else
				data7=[[{:text=>  "No hubo." , :aling=> :left}]] # datos que se desean en la tabla
					
				pdf.table data7, # lineas para generar la tabla en el docuemnto
				:border_style => :grid, #:underline_header
				:font_size  => 10, 
				:horizontal_padding => 6,
				:vertical_padding   => 3,
				:border_width => 0.7, 
				:column_widths => { 0 => 520}, 
				:position => :left,
				:align => { 0 => :left}
			end
							
			data91=[[{:text=>"12.5.- OTRAS ACTIVIDADES:", :font_style => :bold}]] # datos que se desean en la tabla
			
			pdf.table data91, # lineas para generar la tabla en el docuemnto
					:border_style => :grid, #:underline_header
					:font_size  => 10, 
					:horizontal_padding => 6,
					:vertical_padding   => 3,
					:border_width => 0.7, 
					:column_widths => { 0 => 520}, 
					:position => :left,
					:align => { 0 => :left}
			
			if pactv_otras != []
				pactv_otras.each do |actv|
					data9 =[[{:text => actv.actividad , :aling=> :left}]] # datos que se desean en la tabla
					
					pdf.table data9, # lineas para generar la tabla en el docuemnto
					:border_style => :grid, #:underline_header
					:font_size  => 10, 
					:horizontal_padding => 6,
					:vertical_padding   => 3,
					:border_width => 0.7, 
					:column_widths => { 0 => 520}, 
					:position => :left,
					:align => { 0 => :left}
				end
			else
				data9 =[[{:text => "No hubo." , :aling=> :left}]] # datos que se desean en la tabla
				
				pdf.table data9, # lineas para generar la tabla en el docuemnto
				:border_style => :grid, #:underline_header
				:font_size  => 10, 
				:horizontal_padding => 6,
				:vertical_padding   => 3,
				:border_width => 0.7, 
				:column_widths => { 0 => 520}, 
				:position => :left,
				:align => { 0 => :left}
			end

			data10 = [[{:text=>"<NAME> ", :font_style => :bold}], [{:text=>"12.1.- DOCENCIA:",:font_style => :bold }]] # datos que se desean en la tabla
			
			pdf.table data10, # lineas para generar la tabla en el docuemnto
			:border_style => :grid, #:underline_header
			:font_size  => 10, 
			:horizontal_padding => 6,
			:vertical_padding   => 3,
			:border_width => 0.7, 
			:column_widths => { 0 => 520}, 
			:position => :left,
			:align => { 0 => :left}
			
			if sactv_docencia != []
				sactv_docencia.each do |actv|
					data11 = [[{:text=>  actv.actividad ,  :align=>:left}]]# datos que se desean en la tabla
					
					pdf.table data11, # lineas para generar la tabla en el docuemnto
					:border_style => :grid, #:underline_header
					:font_size  => 10, 
					:horizontal_padding => 6,
					:vertical_padding   => 3,
					:border_width => 0.7, 
					:column_widths => { 0 => 520}, 
					:position => :left,
					:align => { 0 => :left}
				end	
			else
				data11 = [[{:text=>  "No hubo." ,  :align=>:left}]]# datos que se desean en la tabla
				pdf.table data11, # lineas para generar la tabla en el docuemnto
				:border_style => :grid, #:underline_header
				:font_size  => 10, 
				:horizontal_padding => 6,
				:vertical_padding   => 3,
				:border_width => 0.7, 
				:column_widths => { 0 => 520}, 
				:position => :left,
				:align => { 0 => :left}
			end
			
			data121= [[{:text=>"12.2.- INVESTIGACIÓN:", :font_style => :bold}]] # datos que se desean en la tabla
			
			pdf.table data121, # lineas para generar la tabla en el docuemnto
					:border_style => :grid, #:underline_header
					:font_size  => 10, 
					:horizontal_padding => 6,
					:vertical_padding   => 3,
					:border_width => 0.7, 
					:column_widths => { 0 => 520}, 
					:position => :left,
					:align => { 0 => :left}
			
			if sactv_investigacion != []
				sactv_investigacion.each do |actv|
					data12= [[{:text=>  actv.actividad , :align=>:left}]] # datos que se desean en la tabla
					
					pdf.table data12, # lineas para generar la tabla en el docuemnto
					:border_style => :grid, #:underline_header
					:font_size  => 10, 
					:horizontal_padding => 6,
					:vertical_padding   => 3,
					:border_width => 0.7, 
					:column_widths => { 0 => 520}, 
					:position => :left,
					:align => { 0 => :left}
				end
			else
				data12= [[{:text=>  "No hubo." , :align=>:left}]] # datos que se desean en la tabla
					
					pdf.table data12, # lineas para generar la tabla en el docuemnto
					:border_style => :grid, #:underline_header
					:font_size  => 10, 
					:horizontal_padding => 6,
					:vertical_padding   => 3,
					:border_width => 0.7, 
					:column_widths => { 0 => 520}, 
					:position => :left,
					:align => { 0 => :left}
			end
			
			data141=[[{:text=>"12.3.- FORMACIÓN:", :font_style => :bold}]]# datos que se desean en la tabla
			
			pdf.table data141, # lineas para generar la tabla en el docuemnto
					:border_style => :grid, #:underline_header
					:font_size  => 10, 
					:horizontal_padding => 6,
					:vertical_padding   => 3,
					:border_width => 0.7, 
					:column_widths => { 0 => 520}, 
					:position => :left,
					:align => { 0 => :left}
			
			
			if sactv_formacion != []
				sactv_formacion.each do |actv|
					data14=[[{:text=> actv.actividad , :aling=> :left}]] # datos que se desean en la tabla
						
					pdf.table data14, # lineas para generar la tabla en el docuemnto
					:border_style => :grid, #:underline_header
					:font_size  => 10, 
					:horizontal_padding => 6,
					:vertical_padding   => 3,
					:border_width => 0.7, 
					:column_widths => { 0 => 520}, 
					:position => :left,
					:align => { 0 => :left}
				end
			else
				data14=[[{:text=>  "No hubo." , :aling=> :left}]] # datos que se desean en la tabla
					
				pdf.table data14, # lineas para generar la tabla en el docuemnto
				:border_style => :grid, #:underline_header
				:font_size  => 10, 
				:horizontal_padding => 6,
				:vertical_padding   => 3,
				:border_width => 0.7, 
				:column_widths => { 0 => 520}, 
				:position => :left,
				:align => { 0 => :left}
			end
			
			data131=[[{:text=>"12.4.- EXTENSIÓN:", :font_style => :bold}]] # datos que se desean en la tabla
			
			pdf.table data131, # lineas para generar la tabla en el docuemnto
					:border_style => :grid, #:underline_header
					:font_size  => 10, 
					:horizontal_padding => 6,
					:vertical_padding   => 3,
					:border_width => 0.7, 
					:column_widths => { 0 => 520}, 
					:position => :left,
					:align => { 0 => :left}
			
			if sactv_extension != []
				sactv_extension.each do |actv|
					data13=[[{:text=>  actv.actividad , :aling=> :left}]] # datos que se desean en la tabla
					 
					pdf.table data13, # lineas para generar la tabla en el docuemnto
					:border_style => :grid, #:underline_header
					:font_size  => 10, 
					:horizontal_padding => 6,
					:vertical_padding   => 3,
					:border_width => 0.7, 
					:column_widths => { 0 => 520}, 
					:position => :left,
					:align => { 0 => :left}
					
				end			
			else
				data13=[[{:text=>  "No hubo." , :aling=> :left}]] # datos que se desean en la tabla
					
				pdf.table data13, # lineas para generar la tabla en el docuemnto
				:border_style => :grid, #:underline_header
				:font_size  => 10, 
				:horizontal_padding => 6,
				:vertical_padding   => 3,
				:border_width => 0.7, 
				:column_widths => { 0 => 520}, 
				:position => :left,
				:align => { 0 => :left}
			end
							
			data151=[[{:text=>"12.5.- OTRAS ACTIVIDADES:", :font_style => :bold}]] # datos que se desean en la tabla
			
			pdf.table data151, # lineas para generar la tabla en el docuemnto
					:border_style => :grid, #:underline_header
					:font_size  => 10, 
					:horizontal_padding => 6,
					:vertical_padding   => 3,
					:border_width => 0.7, 
					:column_widths => { 0 => 520}, 
					:position => :left,
					:align => { 0 => :left}
			
			if sactv_otras != []
				sactv_otras.each do |actv|
					data15 =[[{:text => actv.actividad , :aling=> :left}]] # datos que se desean en la tabla
					
					pdf.table data15, # lineas para generar la tabla en el docuemnto
					:border_style => :grid, #:underline_header
					:font_size  => 10, 
					:horizontal_padding => 6,
					:vertical_padding   => 3,
					:border_width => 0.7, 
					:column_widths => { 0 => 520}, 
					:position => :left,
					:align => { 0 => :left}
				end
			else
				data15 =[[{:text => "No hubo." , :aling=> :left}]] # datos que se desean en la tabla
				
				pdf.table data15, # lineas para generar la tabla en el docuemnto
				:border_style => :grid, #:underline_header
				:font_size  => 10, 
				:horizontal_padding => 6,
				:vertical_padding   => 3,
				:border_width => 0.7, 
				:column_widths => { 0 => 520}, 
				:position => :left,
				:align => { 0 => :left}
			end
			
			data152= [[{:text=>"<NAME> ", :font_style => :bold}],
				[{:text=>"12.1.- DOCENCIA:",:font_style => :bold }]] # datos que se desean en la tabla
			 
			pdf.table data152, # lineas para generar la tabla en el docuemnto
			:border_style => :grid, #:underline_header
			:font_size  => 10, 
			:horizontal_padding => 6,
			:vertical_padding   => 3,
			:border_width => 0.7, 
			:column_widths => { 0 => 520}, 
			:position => :left,
			:align => { 0 => :left}
						
			if tactv_docencia != []
				tactv_docencia.each do |actv|
					data153 = [[{:text=>  actv.actividad ,  :align=>:left}]]# datos que se desean en la tabla
					
					pdf.table data153, # lineas para generar la tabla en el docuemnto
					:border_style => :grid, #:underline_header
					:font_size  => 10, 
					:horizontal_padding => 6,
					:vertical_padding   => 3,
					:border_width => 0.7, 
					:column_widths => { 0 => 520}, 
					:position => :left,
					:align => { 0 => :left}
				end	
			else
				data153 = [[{:text=>  "No hubo." ,  :align=>:left}]]# datos que se desean en la tabla
				pdf.table data153, # lineas para generar la tabla en el docuemnto
				:border_style => :grid, #:underline_header
				:font_size  => 10, 
				:horizontal_padding => 6,
				:vertical_padding   => 3,
				:border_width => 0.7, 
				:column_widths => { 0 => 520}, 
				:position => :left,
				:align => { 0 => :left}
			end
			
			data154=[[{:text=>"12.2.- INVESTIGACIÓN:", :font_style => :bold}]] # datos que se desean en la tabla
			pdf.table data154, # lineas para generar la tabla en el docuemnto
					:border_style => :grid, #:underline_header
					:font_size  => 10, 
					:horizontal_padding => 6,
					:vertical_padding   => 3,
					:border_width => 0.7, 
					:column_widths => { 0 => 520}, 
					:position => :left,
					:align => { 0 => :left}
					
			if tactv_investigacion != []
				tactv_investigacion.each do |actv|
					data155= [[{:text=>  actv.actividad , :align=>:left}]] # datos que se desean en la tabla
					
					pdf.table data155, # lineas para generar la tabla en el docuemnto
					:border_style => :grid, #:underline_header
					:font_size  => 10, 
					:horizontal_padding => 6,
					:vertical_padding   => 3,
					:border_width => 0.7, 
					:column_widths => { 0 => 520}, 
					:position => :left,
					:align => { 0 => :left}
				end
			else
				data155= [[{:text=>  "No hubo." , :align=>:left}]] # datos que se desean en la tabla
					
					pdf.table data155, # lineas para generar la tabla en el docuemnto
					:border_style => :grid, #:underline_header
					:font_size  => 10, 
					:horizontal_padding => 6,
					:vertical_padding   => 3,
					:border_width => 0.7, 
					:column_widths => { 0 => 520}, 
					:position => :left,
					:align => { 0 => :left}
			end
			
			data156=[[{:text=>"12.3.- FORMACIÓN:", :font_style => :bold}]] # datos que se desean en la tabla
			pdf.table data156, # lineas para generar la tabla en el docuemnto
					:border_style => :grid, #:underline_header
					:font_size  => 10, 
					:horizontal_padding => 6,
					:vertical_padding   => 3,
					:border_width => 0.7, 
					:column_widths => { 0 => 520}, 
					:position => :left,
					:align => { 0 => :left}
			
			if tactv_formacion != []
				tactv_formacion.each do |actv|
					data157=[[{:text=> actv.actividad , :aling=> :left}]] # datos que se desean en la tabla
						
					pdf.table data157, # lineas para generar la tabla en el docuemnto
					:border_style => :grid, #:underline_header
					:font_size  => 10, 
					:horizontal_padding => 6,
					:vertical_padding   => 3,
					:border_width => 0.7, 
					:column_widths => { 0 => 520}, 
					:position => :left,
					:align => { 0 => :left}
				end
			else
				data157=[[{:text=>  "No hubo." , :aling=> :left}]] # datos que se desean en la tabla
					
				pdf.table data157, # lineas para generar la tabla en el docuemnto
				:border_style => :grid, #:underline_header
				:font_size  => 10, 
				:horizontal_padding => 6,
				:vertical_padding   => 3,
				:border_width => 0.7, 
				:column_widths => { 0 => 520}, 
				:position => :left,
				:align => { 0 => :left}
			end
			
			
			data158=[[{:text=>"12.4.- EXTENSIÓN:", :font_style => :bold}]] # datos que se desean en la tabla
			
			pdf.table data158, # lineas para generar la tabla en el docuemnto
					:border_style => :grid, #:underline_header
					:font_size  => 10, 
					:horizontal_padding => 6,
					:vertical_padding   => 3,
					:border_width => 0.7, 
					:column_widths => { 0 => 520}, 
					:position => :left,
					:align => { 0 => :left}
			
			if tactv_extension != []
				tactv_extension.each do |actv|
					data159=[[{:text=>  actv.actividad , :aling=> :left}]] # datos que se desean en la tabla
					
					pdf.table data159, # lineas para generar la tabla en el docuemnto
					:border_style => :grid, #:underline_header
					:font_size  => 10, 
					:horizontal_padding => 6,
					:vertical_padding   => 3,
					:border_width => 0.7, 
					:column_widths => { 0 => 520}, 
					:position => :left,
					:align => { 0 => :left}
					
				end			
			else
				data159=[[{:text=>  "No hubo." , :aling=> :left}]] # datos que se desean en la tabla
					
				pdf.table data159, # lineas para generar la tabla en el docuemnto
				:border_style => :grid, #:underline_header
				:font_size  => 10, 
				:horizontal_padding => 6,
				:vertical_padding   => 3,
				:border_width => 0.7, 
				:column_widths => { 0 => 520}, 
				:position => :left,
				:align => { 0 => :left}
			end
							
			data160=[[{:text=>"12.5.- OTRAS ACTIVIDADES:", :font_style => :bold}]] # datos que se desean en la tabla
			
			pdf.table data160, # lineas para generar la tabla en el docuemnto
					:border_style => :grid, #:underline_header
					:font_size  => 10, 
					:horizontal_padding => 6,
					:vertical_padding   => 3,
					:border_width => 0.7, 
					:column_widths => { 0 => 520}, 
					:position => :left,
					:align => { 0 => :left}
			
			if tactv_otras != []
				tactv_otras.each do |actv|
					data161 =[[{:text => actv.actividad , :aling=> :left}]] # datos que se desean en la tabla
					
					pdf.table data161, # lineas para generar la tabla en el docuemnto
					:border_style => :grid, #:underline_header
					:font_size  => 10, 
					:horizontal_padding => 6,
					:vertical_padding   => 3,
					:border_width => 0.7, 
					:column_widths => { 0 => 520}, 
					:position => :left,
					:align => { 0 => :left}
				end
			else
				data161 =[[{:text => "No hubo." , :aling=> :left}]] # datos que se desean en la tabla
				
				pdf.table data161, # lineas para generar la tabla en el docuemnto
				:border_style => :grid, #:underline_header
				:font_size  => 10, 
				:horizontal_padding => 6,
				:vertical_padding   => 3,
				:border_width => 0.7, 
				:column_widths => { 0 => 520}, 
				:position => :left,
				:align => { 0 => :left}
			end

			data162 = [[{:text=>"<NAME> ", :font_style => :bold}], [{:text=>"12.1.- DOCENCIA:",:font_style => :bold }]] # datos que se desean en la tabla
			
			pdf.table data162, # lineas para generar la tabla en el docuemnto
			:border_style => :grid, #:underline_header
			:font_size  => 10, 
			:horizontal_padding => 6,
			:vertical_padding   => 3,
			:border_width => 0.7, 
			:column_widths => { 0 => 520}, 
			:position => :left,
			:align => { 0 => :left}
			
			if cactv_docencia != []
				cactv_docencia.each do |actv|
					data163 = [[{:text=>  actv.actividad ,  :align=>:left}]] # datos que se desean en la tabla
					
					pdf.table data163, # lineas para generar la tabla en el docuemnto
					:border_style => :grid, #:underline_header
					:font_size  => 10, 
					:horizontal_padding => 6,
					:vertical_padding   => 3,
					:border_width => 0.7, 
					:column_widths => { 0 => 520}, 
					:position => :left,
					:align => { 0 => :left}
				end	
			else
				data163 = [[{:text=>  "No hubo." ,  :align=>:left}]] # datos que se desean en la tabla
				pdf.table data163, # lineas para generar la tabla en el docuemnto
				:border_style => :grid, #:underline_header
				:font_size  => 10, 
				:horizontal_padding => 6,
				:vertical_padding   => 3,
				:border_width => 0.7, 
				:column_widths => { 0 => 520}, 
				:position => :left,
				:align => { 0 => :left}
			end
			
			data164= [[{:text=>"12.2.- INVESTIGACIÓN:", :font_style => :bold}]] # datos que se desean en la tabla
			
			pdf.table data164, # lineas para generar la tabla en el docuemnto
					:border_style => :grid, #:underline_header
					:font_size  => 10, 
					:horizontal_padding => 6,
					:vertical_padding   => 3,
					:border_width => 0.7, 
					:column_widths => { 0 => 520}, 
					:position => :left,
					:align => { 0 => :left}
			
			if cactv_investigacion != []
				cactv_investigacion.each do |actv|
					data165= [[{:text=>  actv.actividad , :align=>:left}]] # datos que se desean en la tabla
					
					pdf.table data165, # lineas para generar la tabla en el docuemnto
					:border_style => :grid, #:underline_header
					:font_size  => 10, 
					:horizontal_padding => 6,
					:vertical_padding   => 3,
					:border_width => 0.7, 
					:column_widths => { 0 => 520}, 
					:position => :left,
					:align => { 0 => :left}
				end
			else
				data165= [[{:text=>  "No hubo." , :align=>:left}]] # datos que se desean en la tabla
					
					pdf.table data165, # lineas para generar la tabla en el docuemnto
					:border_style => :grid, #:underline_header
					:font_size  => 10, 
					:horizontal_padding => 6,
					:vertical_padding   => 3,
					:border_width => 0.7, 
					:column_widths => { 0 => 520}, 
					:position => :left,
					:align => { 0 => :left}
			end
			
			data166=[[{:text=>"12.3.- FORMACIÓN:", :font_style => :bold}]] # datos que se desean en la tabla
			
			pdf.table data166, # lineas para generar la tabla en el docuemnto
					:border_style => :grid, #:underline_header
					:font_size  => 10, 
					:horizontal_padding => 6,
					:vertical_padding   => 3,
					:border_width => 0.7, 
					:column_widths => { 0 => 520}, 
					:position => :left,
					:align => { 0 => :left}
			
			
			if cactv_formacion != []
				cactv_formacion.each do |actv|
					data167=[[{:text=> actv.actividad , :aling=> :left}]] # datos que se desean en la tabla
						
					pdf.table data167, # lineas para generar la tabla en el docuemnto
					:border_style => :grid, #:underline_header
					:font_size  => 10, 
					:horizontal_padding => 6,
					:vertical_padding   => 3,
					:border_width => 0.7, 
					:column_widths => { 0 => 520}, 
					:position => :left,
					:align => { 0 => :left}
				end
			else
				data167=[[{:text=>  "No hubo." , :aling=> :left}]] # datos que se desean en la tabla
					
				pdf.table data167, # lineas para generar la tabla en el docuemnto
				:border_style => :grid, #:underline_header
				:font_size  => 10, 
				:horizontal_padding => 6,
				:vertical_padding   => 3,
				:border_width => 0.7, 
				:column_widths => { 0 => 520}, 
				:position => :left,
				:align => { 0 => :left}
			end
			
			data168=[[{:text=>"12.4.- EXTENSIÓN:", :font_style => :bold}]] # datos que se desean en la tabla
			
			pdf.table data168, # lineas para generar la tabla en el docuemnto
					:border_style => :grid, #:underline_header
					:font_size  => 10, 
					:horizontal_padding => 6,
					:vertical_padding   => 3,
					:border_width => 0.7, 
					:column_widths => { 0 => 520}, 
					:position => :left,
					:align => { 0 => :left}
			
			if cactv_extension != []
				cactv_extension.each do |actv|
					data169=[[{:text=>  actv.actividad , :aling=> :left}]] # datos que se desean en la tabla
					 
					pdf.table data169,  # lineas para generar la tabla en el docuemnto
					:border_style => :grid, #:underline_header
					:font_size  => 10, 
					:horizontal_padding => 6,
					:vertical_padding   => 3,
					:border_width => 0.7, 
					:column_widths => { 0 => 520}, 
					:position => :left,
					:align => { 0 => :left}
					
				end			
			else
				data169=[[{:text=>  "No hubo." , :aling=> :left}]] # datos que se desean en la tabla
					
				pdf.table data169, # lineas para generar la tabla en el docuemnto
				:border_style => :grid, #:underline_header
				:font_size  => 10, 
				:horizontal_padding => 6,
				:vertical_padding   => 3,
				:border_width => 0.7, 
				:column_widths => { 0 => 520}, 
				:position => :left,
				:align => { 0 => :left}
			end
							
			data170 = [[{:text=>"ACTIVIDADES OBLIGATORIAS ", :font_style => :bold}], [{:text=>"12.1.- DOCENCIA:",:font_style => :bold }]] # datos que se desean en la tabla
			
			pdf.table data170, # lineas para generar la tabla en el docuemnto
			:border_style => :grid, #:underline_header
			:font_size  => 10, 
			:horizontal_padding => 6,
			:vertical_padding   => 3,
			:border_width => 0.7, 
			:column_widths => { 0 => 520}, 
			:position => :left,
			:align => { 0 => :left}
			
			if dactv_docencia != []
				dactv_docencia.each do |actv|
					data171 = [[{:text=>  actv.actividad ,  :align=>:left}]] # datos que se desean en la tabla
					
					pdf.table data171, # lineas para generar la tabla en el docuemnto
					:border_style => :grid, #:underline_header
					:font_size  => 10, 
					:horizontal_padding => 6,
					:vertical_padding   => 3,
					:border_width => 0.7, 
					:column_widths => { 0 => 520}, 
					:position => :left,
					:align => { 0 => :left}
				end	
			else
				data171 = [[{:text=>  "No hubo." ,  :align=>:left}]] # datos que se desean en la tabla
				pdf.table data171, # lineas para generar la tabla en el docuemnto
				:border_style => :grid, #:underline_header
				:font_size  => 10, 
				:horizontal_padding => 6,
				:vertical_padding   => 3,
				:border_width => 0.7, 
				:column_widths => { 0 => 520}, 
				:position => :left,
				:align => { 0 => :left}
			end
			
			data172= [[{:text=>"12.2.- INVESTIGACIÓN:", :font_style => :bold}]] # datos que se desean en la tabla
			
			pdf.table data172, # lineas para generar la tabla en el docuemnto
					:border_style => :grid, #:underline_header
					:font_size  => 10, 
					:horizontal_padding => 6,
					:vertical_padding   => 3,
					:border_width => 0.7, 
					:column_widths => { 0 => 520}, 
					:position => :left,
					:align => { 0 => :left}
			
			if dactv_investigacion != []
				dactv_investigacion.each do |actv|
					data173= [[{:text=>  actv.actividad , :align=>:left}]] # datos que se desean en la tabla
					
					pdf.table data173, # lineas para generar la tabla en el docuemnto
					:border_style => :grid, #:underline_header
					:font_size  => 10, 
					:horizontal_padding => 6,
					:vertical_padding   => 3,
					:border_width => 0.7, 
					:column_widths => { 0 => 520}, 
					:position => :left,
					:align => { 0 => :left}
				end
			else
				data173= [[{:text=>  "No hubo." , :align=>:left}]] # datos que se desean en la tabla
					
					pdf.table data173, # lineas para generar la tabla en el docuemnto
					:border_style => :grid, #:underline_header
					:font_size  => 10, 
					:horizontal_padding => 6,
					:vertical_padding   => 3,
					:border_width => 0.7, 
					:column_widths => { 0 => 520}, 
					:position => :left,
					:align => { 0 => :left}
			end
			
			data174=[[{:text=>"12.3.- FORMACIÓN:", :font_style => :bold}]] # datos que se desean en la tabla
			
			pdf.table data174, # lineas para generar la tabla en el docuemnto
					:border_style => :grid, #:underline_header
					:font_size  => 10, 
					:horizontal_padding => 6,
					:vertical_padding   => 3,
					:border_width => 0.7, 
					:column_widths => { 0 => 520}, 
					:position => :left,
					:align => { 0 => :left}
			
			
			if dactv_formacion != []
				dactv_formacion.each do |actv|
					data175=[[{:text=> actv.actividad , :aling=> :left}]] # datos que se desean en la tabla
						
					pdf.table data175, # lineas para generar la tabla en el docuemnto
					:border_style => :grid, #:underline_header
					:font_size  => 10, 
					:horizontal_padding => 6,
					:vertical_padding   => 3,
					:border_width => 0.7, 
					:column_widths => { 0 => 520}, 
					:position => :left,
					:align => { 0 => :left}
				end
			else
				data175=[[{:text=>  "No hubo." , :aling=> :left}]] # datos que se desean en la tabla
					
				pdf.table data175, # lineas para generar la tabla en el docuemnto
				:border_style => :grid, #:underline_header
				:font_size  => 10, 
				:horizontal_padding => 6,
				:vertical_padding   => 3,
				:border_width => 0.7, 
				:column_widths => { 0 => 520}, 
				:position => :left,
				:align => { 0 => :left}
			end
			
			data176=[[{:text=>"12.4.- EXTENSIÓN:", :font_style => :bold}]] # datos que se desean en la tabla
			
			pdf.table data176, # lineas para generar la tabla en el docuemnto
					:border_style => :grid, #:underline_header
					:font_size  => 10, 
					:horizontal_padding => 6,
					:vertical_padding   => 3,
					:border_width => 0.7, 
					:column_widths => { 0 => 520}, 
					:position => :left,
					:align => { 0 => :left}
			
			if dactv_extension != []
				dactv_extension.each do |actv|
					data177=[[{:text=>  actv.actividad , :aling=> :left}]] # datos que se desean en la tabla
					 
					pdf.table data177,  # lineas para generar la tabla en el docuemnto
					:border_style => :grid, #:underline_header
					:font_size  => 10, 
					:horizontal_padding => 6,
					:vertical_padding   => 3,
					:border_width => 0.7, 
					:column_widths => { 0 => 520}, 
					:position => :left,
					:align => { 0 => :left}
					
				end			
			else
				data177=[[{:text=>  "No hubo." , :aling=> :left}]] # datos que se desean en la tabla
					
				pdf.table data177, # lineas para generar la tabla en el docuemnto
				:border_style => :grid, #:underline_header
				:font_size  => 10, 
				:horizontal_padding => 6,
				:vertical_padding   => 3,
				:border_width => 0.7, 
				:column_widths => { 0 => 520}, 
				:position => :left,
				:align => { 0 => :left}
			end
					  
			pdf.text("\n")
			data = [
				[{:text=>"Firma del Tutor: \n", :font_style => :bold}, {:text => '', :align=>:left,  :font_style => :bold} ],
				[{:text=>"Adecuación del Plan de Formación y Capacitación Aprobado por el Consejo de Escuela o Instituto en Sesión de Fecha: \n",  :font_style => :bold}, {:text => 'Adecuación del Plan de Formación y Capacitación Aprobado por el Consejo de la Facultad de Ciencias en Sesión de Fecha:', :align=>:left,  :font_style => :bold} ]
			] # cuadro final del documento
		  
			pdf.table data, # lineas para generar la tabla en el docuemnto
			:border_style => :grid, #:underline_header
			:font_size  => 8, 
			:horizontal_padding => 6,
			:vertical_padding   => 15,
			:border_width => 0.7, 
			:column_widths => {0 => 260, 1=>260}, 
			:position => :left,
			:align => {0 => :left, 1=> :left}
			
			@i = soportes.size
			pdf.text("\n")
			pdf.text("Cantidad de soportes adjuntos:"+ @i.to_s+" \n", :style => :bold, :size  => 10)
			
		end
		###################
		if numeroDeVersion == nil
			nombre_archivo= instructor.ci.to_s+'-'+fechaActual+'-adecuacion.pdf' # nombre del dcouemrnto
		else
			nombre_archivo= instructor.ci.to_s+'-'+fechaActual+'-adecuacionV'+numeroDeVersion.to_s+'.pdf' # nombre del dcouemrnto
		end	
		url = "#{Rails.root}/tmp/PDFs/" + nombre_archivo
		pdf.render_file(url) # creación del docuemnto bajo su nombre
		return nombre_archivo
	end
#########################################################################################################################################################################
	def self.pdf_informe(actividades, tipo_informe,escuela,informe, adecuacion, tutor, instructor, pactv_docencia, pactv_investigacion, pactv_extension, pactv_formacion, pactv_otras, sactv_docencia, sactv_investigacion, sactv_extension, sactv_otras, sactv_formacion,  tactv_docencia, tactv_investigacion, tactv_extension,tactv_formacion, tactv_otras, cactv_docencia, cactv_investigacion, cactv_extension, cactv_formacion, cactv_otras, info_docencia, info_investigacion,info_formacion, info_extension, info_otras,resx,resultados,actividadese,observaciont, resultTP, resultPP, resultO, resultAEC, resultOEC, resultDCS,documents, numeroDeVersion, factv_obligatoria, actividadesaobli, dactv_docencia, dactv_investigacion, dactv_extension, dactv_formacion, semestres)
		
		presentacion = ""
		descripcion = ""
		docencia = []	
		investigacion = []
		formacion = []	
		extension = []

		if !actividades.blank?
			puts "Generando PDF.........."
			actividades.each do |actividadAde|
				if actividadAde.tipo_actividad_id == 9
					if actividadAde.actividad.blank?
						presentacion = " "
					else
						presentacion = actividadAde.actividad	
					end
				elsif actividadAde.tipo_actividad_id == 8
					if actividadAde.actividad.blank?
						descripcion = " "
					else
						descripcion = actividadAde.actividad	
					end
				elsif actividadAde.tipo_actividad_id == 1
					if actividadAde.actividad.blank?
						docencia.push(" ")
					else
						docencia.push(actividadAde)
					end
				elsif actividadAde.tipo_actividad_id == 2
					if actividadAde.actividad.blank?
						investigacion.push(" ")
					else
						investigacion.push(actividadAde)
					end
				elsif actividadAde.tipo_actividad_id == 4
					if actividadAde.actividad.blank?
						formacion.push(" ")
					else
						formacion.push(actividadAde)	
					end
				elsif actividadAde.tipo_actividad_id == 3
					if actividadAde.actividad.blank?
						extension.push(" ")
					else
						extension.push(actividadAde)
					end
				end
			end
		else
			presentacion = " "
			descripcion = " "
			docencia = [" "]	
			investigacion = [" "]
			formacion = [" "]	
			extension = [" "]	
		end


		noplan_a=[]
		noplan_na=[]
		res_tp=[]
		res_ppcc=[]
		res_otp=[]
		res_aec=[]
		res_oec=[]
		res_dctsc=[]
		resultados.each do |resultado|
			if resultado.tipo_resultado_id == 1
				res_tp.push(resultado)
			elsif resultado.tipo_resultado_id == 2
				res_ppcc.push(resultado)
			elsif resultado.tipo_resultado_id == 4
				res_otp.push(resultado)
			elsif resultado.tipo_resultado_id == 5
				res_aec.push(resultado)
			elsif resultado.tipo_resultado_id == 6
				res_oec.push(resultado)
			elsif resultado.tipo_resultado_id == 7
				res_dctsc.push(resultado)
			end
		end

		# se invocan la bibliotecas
		require "prawn"
		require 'prawn/layout'

		pdf= Prawn::Document.new(:background=>"#{Rails.root}/app/assets/images/fondo.png", :top_margin=> 99, :bottom_margin=>35, :page_size => 'A4') # se coloca la imagen de fondo del documento
		
		pdf.repeat :all do
			#Encabezado
			pdf.text_box "UNIVERSIDAD CENTRAL DE VENEZUELA \n FACULTAD DE CIENCIAS\n "+escuela.nombre.upcase+"\n\n",:style => :bold, :at => [pdf.bounds.right-490, pdf.bounds.top+59]
		end
		pdf.repeat :all do
			#Pie de pagina
			point = [pdf.bounds.right-525, pdf.bounds.bottom+35]
			pdf.lazy_bounding_box(point, :width => 500) do
				pdf.text " Universidad Central de Venezuela - Facultad de Ciencias \n", :size=>9 , :align=>:center, :style => :bold
				pdf.text "Av. Los Ilustres, Ciudad Universitaria de Caracas, Facultad de Ciencias, \n Edificio del Decanato, Planta Baja, Los Chaguaramos, Caracas-Venezuela\n Teléfono/Fax: 58-212-605.11.65 / 605.11.63 / E-mail: <EMAIL>",  :size=>7 , :align=>:center
			end.draw
		end

		nombre_informe = ""
		if (informe.numero == 1 || informe.numero == 3)
			nombre_informe= "PRIMER INFORME "
		elsif (informe.numero == 2 || informe.numero == 6)
			nombre_informe= "SEGUNDO INFORME "
		elsif informe.numero == 4
			nombre_informe= "TERCER INFORME "
		elsif informe.numero == 5
			nombre_informe= "<NAME> "
		end

		if informe.tipo_id == 1
			nombre_informe= nombre_informe+"SEMESTRAL"
		elsif informe.tipo_id == 2
			nombre_informe= nombre_informe+"ANUAL"
		else
			nombre_informe= "INFORME "+"FINAL"
		end
		
		#titulo del documento
		ati = tipo_informe.tipo.upcase
		pdf.text("#{nombre_informe} DE ACTIVIDADES REALIZADAS POR EL INSTRUCTOR DURANTE LA EJECUCIÓN DE SU PLAN DE FORMACIÓN Y CAPACITACIÓN\n\n", :align=>:center, :style => :bold) # titulo del documento
		
		################
		pdf.bounding_box([0,pdf.bounds.top], :width=>350, :height=>675) do # permite establecer el espacio en donde se puede escribir en el docuemnto
		pdf.move_down(35)	
		#apartado 1
			pdf.text("1.- DATOS DEL INSTRUCTOR EN FORMACIÓN Y SU TUTOR:", :style => :bold, :size  => 10)
			
			blanco=' '
			data1 = [
			#[{:text=>"N° del informe", :font_style => :bold}, {:text => informe.numero_informe.to_s, :align=>:left}],
			[{:text=>"N° del informe", :font_style => :bold}, {:text => nombre_informe.capitalize, :align=>:left}],
			#[{:text=>"Fecha de realización del informe:", :font_style => :bold}, {:text => informe.fecha_informe.to_s, :align=>:left}],
			[{:text=>"Fecha de realización del informe:", :font_style => :bold}, {:text => informe.fecha_creacion.to_s, :align=>:left}],
			#[{:text=>"Apellidos y Nombres del Instructor:", :font_style => :bold},{:text => instructor.apellidos+blanco+instructor.nombres, :align=>:left}],
			[{:text=>"Apellidos y Nombres del Instructor:", :font_style => :bold},{:text => instructor.nombres.to_s.split.map(&:capitalize).join(' ') + " " + instructor.apellidos.to_s.split.map(&:capitalize).join(' '), :align=>:left}],
			#[{:text=>"Cédula de Identidad del Instructor:", :font_style => :bold}, {:text => instructor.ci.to_s, :align=>:left}],
			[{:text=>"Cédula de Identidad del Instructor:", :font_style => :bold}, {:text => instructor.ci.to_s, :align=>:left}],
			#[{:text=>"Período que comprende el Informe:", :font_style => :bold}, {:text => informe.periodo.to_s, :align=>:left}],
			[{:text=>"Período que comprende el Informe:", :font_style => :bold}, {:text => informe.fecha_inicio.to_s + " al " + informe.fecha_fin.to_s, :align=>:left}],
			#[{:text=>"Apellidos y Nombre del Tutor:", :font_style => :bold}, {:text => tutor.nombres, :align=>:left}],
			[{:text=>"Apellidos y Nombre del Tutor:", :font_style => :bold}, {:text => tutor.nombres.to_s.split.map(&:capitalize).join(' ') + " " + tutor.apellidos.to_s.split.map(&:capitalize).join(' '), :align=>:left}],
			#[{:text=>"Cédula de Identidad del Tutor:", :font_style => :bold}, {:text => tutor.ci.to_s, :align=>:left}],
			[{:text=>"Cédula de Identidad del Tutor:", :font_style => :bold}, {:text => tutor.ci.to_s, :align=>:left}],
			#+[{:text=>"Escuela o Instituto de adscripción:", :font_style => :bold}, {:text => escuela.nombre, :align=>:left}]
			[{:text=>"Escuela o Instituto de adscripción:", :font_style => :bold}, {:text => escuela.nombre, :align=>:left}]
		  ]# datos que se desean en la tabla
		  
			pdf.table data1, # lineas para generar la tabla en el docuemnto
			:border_style => :grid, #:underline_header
			:font_size  => 8, 
			:font_style => :blod,
			:horizontal_padding => 6,
			:vertical_padding   => 3,
			:border_width => 0.7, 
			:column_widths => { 0 => 200, 1 => 320}, 
			:position => :left,
			:align => { 0 => :left, 1 => :right}
			
			pdf.text("\n")

			pdf.text("\n")
			pdf.text("2.- PRESENTACIÓN", :style => :bold, :size  => 10)
			dataaa35 = [[{:text=>  presentacion  ,  :align=>:left}]] # datos que se desean en la tabla

			pdf.table dataaa35,  # lineas para generar la tabla en el docuemnto
			:border_style => :grid, #:underline_header
			:font_size  => 10, 
			:horizontal_padding => 6,
			:vertical_padding   => 3,
			:border_width => 0.7, 
			:column_widths => { 0 => 520}, 
			:position => :left,
			:align => { 0 => :left}

			pdf.text("\n")
			pdf.text("3.- DESCRIPCIÓN DEL PERFIL DEL INSTRUCTOR <NAME>", :style => :bold, :size  => 10)

			data350 = [[{:text=>  descripcion ,  :align=>:left}]] # datos que se desean en la tabla
				
			pdf.table data350,  # lineas para generar la tabla en el docuemnto
			:border_style => :grid, #:underline_header
			:font_size  => 10, 
			:horizontal_padding => 6,
			:vertical_padding   => 3,
			:border_width => 0.7, 
			:column_widths => { 0 => 520}, 
			:position => :left,
			:align => { 0 => :left}


			pdf.text("\n")
			pdf.text("4.- DOCENCIA", :style => :bold, :size  => 10)

			if docencia != []
				docencia.each do |actv|
					data5 = [[{:text=>  actv.actividad ,  :align=>:left}]] # datos que se desean en la tabla
					
					pdf.table data5, # lineas para generar la tabla en el docuemnto
					:border_style => :grid, #:underline_header
					:font_size  => 10, 
					:horizontal_padding => 6,
					:vertical_padding   => 3,
					:border_width => 0.7, 
					:column_widths => { 0 => 520}, 
					:position => :left,
					:align => { 0 => :left}
				end	
			else
				data5 = [[{:text=>  "No hubo." ,  :align=>:left}]] # datos que se desean en la tabla
				pdf.table data5, # lineas para generar la tabla en el docuemnto
				:border_style => :grid, #:underline_header
				:font_size  => 10, 
				:horizontal_padding => 6,
				:vertical_padding   => 3,
				:border_width => 0.7, 
				:column_widths => { 0 => 520}, 
				:position => :left,
				:align => { 0 => :left}
			end


			pdf.text("\n")
			pdf.text("5.- INVESTIGACIÓN", :style => :bold, :size  => 10)

			if investigacion != []
				investigacion.each do |actv|
					data5 = [[{:text=>  actv.actividad ,  :align=>:left}]] # datos que se desean en la tabla
					
					pdf.table data5, # lineas para generar la tabla en el docuemnto
					:border_style => :grid, #:underline_header
					:font_size  => 10, 
					:horizontal_padding => 6,
					:vertical_padding   => 3,
					:border_width => 0.7, 
					:column_widths => { 0 => 520}, 
					:position => :left,
					:align => { 0 => :left}
				end	
			else
				data5 = [[{:text=>  "No hubo." ,  :align=>:left}]] # datos que se desean en la tabla
				pdf.table data5, # lineas para generar la tabla en el docuemnto
				:border_style => :grid, #:underline_header
				:font_size  => 10, 
				:horizontal_padding => 6,
				:vertical_padding   => 3,
				:border_width => 0.7, 
				:column_widths => { 0 => 520}, 
				:position => :left,
				:align => { 0 => :left}
			end


			pdf.text("\n")
			pdf.text("6.- FORMACIÓN Y CAPACITACIÓN PROFESIONAL", :style => :bold, :size  => 10)

			if formacion != []
				formacion.each do |actv|
					data5 = [[{:text=>  actv.actividad ,  :align=>:left}]] # datos que se desean en la tabla
					
					pdf.table data5, # lineas para generar la tabla en el docuemnto
					:border_style => :grid, #:underline_header
					:font_size  => 10, 
					:horizontal_padding => 6,
					:vertical_padding   => 3,
					:border_width => 0.7, 
					:column_widths => { 0 => 520}, 
					:position => :left,
					:align => { 0 => :left}
				end	
			else
				data5 = [[{:text=>  "No hubo." ,  :align=>:left}]] # datos que se desean en la tabla
				pdf.table data5, # lineas para generar la tabla en el docuemnto
				:border_style => :grid, #:underline_header
				:font_size  => 10, 
				:horizontal_padding => 6,
				:vertical_padding   => 3,
				:border_width => 0.7, 
				:column_widths => { 0 => 520}, 
				:position => :left,
				:align => { 0 => :left}
			end


			pdf.text("\n")
			pdf.text("7.- EXTENSIÓN", :style => :bold, :size  => 10)

			if extension != []
				extension.each do |actv|
					data5 = [[{:text=>  actv.actividad ,  :align=>:left}]] # datos que se desean en la tabla
					
					pdf.table data5, # lineas para generar la tabla en el docuemnto
					:border_style => :grid, #:underline_header
					:font_size  => 10, 
					:horizontal_padding => 6,
					:vertical_padding   => 3,
					:border_width => 0.7, 
					:column_widths => { 0 => 520}, 
					:position => :left,
					:align => { 0 => :left}
				end	
			else
				data5 = [[{:text=>  "No hubo." ,  :align=>:left}]] # datos que se desean en la tabla
				pdf.table data5, # lineas para generar la tabla en el docuemnto
				:border_style => :grid, #:underline_header
				:font_size  => 10, 
				:horizontal_padding => 6,
				:vertical_padding   => 3,
				:border_width => 0.7, 
				:column_widths => { 0 => 520}, 
				:position => :left,
				:align => { 0 => :left}
			end

			salto='\n'
			pdf.text("\n")

			
			#apartado 2
			data2 = [[{:text=>"8.- PRESENTACIÓN DE PLAN DE FORMACIÓN Y CAPACITACIÓN:", :font_style => :bold}]]# datos que se desean en la tabla
			
			pdf.table data2, # lineas para generar la tabla en el docuemnto
			:border_style => :grid, #:underline_header
			:font_size  => 8, 
			:horizontal_padding => 6,
			:vertical_padding   => 3,
			:border_width => 0.7, 
			:column_widths => { 0 => 520}, 
			:position => :left,
			:align => { 0 => :left}
			
			data24= [[{:text=>"<NAME> ", :font_style => :bold}], [{:text=>"8.1.- DOCENCIA:",:font_style => :bold }]]# datos que se desean en la tabla
			
			pdf.table data24, # lineas para generar la tabla en el docuemnto
			:border_style => :grid, #:underline_header
			:font_size  => 8, 
			:horizontal_padding => 6,
			:vertical_padding   => 3,
			:border_width => 0.7, 
			:column_widths => { 0 => 520}, 
			:position => :left,
			:align => { 0 => :left}
			
			if !pactv_docencia.blank?
				pactv_docencia.each do |actv|
					data25 = [[{:text=>  actv.actividad ,  :align=>:left}]]# datos que se desean en la tabla
					
					pdf.table data25, # lineas para generar la tabla en el docuemnto
					:border_style => :grid, #:underline_header
					:font_size  => 8, 
					:horizontal_padding => 6,
					:vertical_padding   => 3,
					:border_width => 0.7, 
					:column_widths => { 0 => 520}, 
					:position => :left,
					:align => { 0 => :left}
				end	
			else
				data25 = [[{:text=>  "No hubo." ,  :align=>:left}]]# datos que se desean en la tabla
				pdf.table data25, # lineas para generar la tabla en el docuemnto
				:border_style => :grid, #:underline_header
				:font_size  => 8, 
				:horizontal_padding => 6,
				:vertical_padding   => 3,
				:border_width => 0.7, 
				:column_widths => { 0 => 520}, 
				:position => :left,
				:align => { 0 => :left}
			end
			
			data261= [[{:text=>"8.2.- INVESTIGACIÓN:", :font_style => :bold}]]# datos que se desean en la tabla
			
			pdf.table data261, # lineas para generar la tabla en el docuemnto
					:border_style => :grid, #:underline_header
					:font_size  => 8, 
					:horizontal_padding => 6,
					:vertical_padding   => 3,
					:border_width => 0.7, 
					:column_widths => { 0 => 520}, 
					:position => :left,
					:align => { 0 => :left}
			
			if !pactv_investigacion.blank?
				pactv_investigacion.each do |actv|
					data26= [[{:text=>  actv.actividad , :align=>:left}]]# datos que se desean en la tabla
					
					pdf.table data26, # lineas para generar la tabla en el docuemnto
					:border_style => :grid, #:underline_header
					:font_size  => 8, 
					:horizontal_padding => 6,
					:vertical_padding   => 3,
					:border_width => 0.7, 
					:column_widths => { 0 => 520}, 
					:position => :left,
					:align => { 0 => :left}
				end
			else
				data26= [[{:text=>  "No hubo." , :align=>:left}]]# datos que se desean en la tabla
					
					pdf.table data26, # lineas para generar la tabla en el docuemnto
					:border_style => :grid, #:underline_header
					:font_size  => 8, 
					:horizontal_padding => 6,
					:vertical_padding   => 3,
					:border_width => 0.7, 
					:column_widths => { 0 => 520}, 
					:position => :left,
					:align => { 0 => :left}
			end
			
			data281=[[{:text=>"8.3.- FORMACIÓN:", :font_style => :bold}]]# datos que se desean en la tabla
			pdf.table data281, # lineas para generar la tabla en el docuemnto
					:border_style => :grid, #:underline_header
					:font_size  => 8, 
					:horizontal_padding => 6,
					:vertical_padding   => 3,
					:border_width => 0.7, 
					:column_widths => { 0 => 520}, 
					:position => :left,
					:align => { 0 => :left}
			
			
			if !pactv_formacion.blank?
				pactv_formacion.each do |actv|
					data28=[[{:text=> actv.actividad , :aling=> :left}]]# datos que se desean en la tabla
						
					pdf.table data28, # lineas para generar la tabla en el docuemnto
					:border_style => :grid, #:underline_header
					:font_size  => 8, 
					:horizontal_padding => 6,
					:vertical_padding   => 3,
					:border_width => 0.7, 
					:column_widths => { 0 => 520}, 
					:position => :left,
					:align => { 0 => :left}
				end
			else
				data28=[[{:text=>  "No hubo." , :aling=> :left}]]# datos que se desean en la tabla
					
				pdf.table data28, # lineas para generar la tabla en el docuemnto
				:border_style => :grid, #:underline_header
				:font_size  => 8, 
				:horizontal_padding => 6,
				:vertical_padding   => 3,
				:border_width => 0.7, 
				:column_widths => { 0 => 520}, 
				:position => :left,
				:align => { 0 => :left}
			end
			
			data271=[[{:text=>"8.4.- EXTENSIÓN:", :font_style => :bold}]]# datos que se desean en la tabla
			pdf.table data271, # lineas para generar la tabla en el docuemnto
					:border_style => :grid, #:underline_header
					:font_size  => 8, 
					:horizontal_padding => 6,
					:vertical_padding   => 3,
					:border_width => 0.7, 
					:column_widths => { 0 => 520}, 
					:position => :left,
					:align => { 0 => :left}
			
			
			if !pactv_extension.blank?
				pactv_extension.each do |actv|
					data27=[[{:text=>  actv.actividad , :aling=> :left}]]# datos que se desean en la tabla
					
					pdf.table data27, # lineas para generar la tabla en el docuemnto
					:border_style => :grid, #:underline_header
					:font_size  => 8, 
					:horizontal_padding => 6,
					:vertical_padding   => 3,
					:border_width => 0.7, 
					:column_widths => { 0 => 520}, 
					:position => :left,
					:align => { 0 => :left}
					
				end			
			else
				data27=[[{:text=>  "No hubo." , :aling=> :left}]]# datos que se desean en la tabla
					
				pdf.table data27, # lineas para generar la tabla en el docuemnto
				:border_style => :grid, #:underline_header
				:font_size  => 8, 
				:horizontal_padding => 6,
				:vertical_padding   => 3,
				:border_width => 0.7, 
				:column_widths => { 0 => 520}, 
				:position => :left,
				:align => { 0 => :left}
			end
			
			
			
			data291 =[[{:text=>"8.5.- OTRAS ACTIVIDADES:", :font_style => :bold}]]# datos que se desean en la tabla
			
			pdf.table data291, # lineas para generar la tabla en el docuemnto
					:border_style => :grid, #:underline_header
					:font_size  => 8, 
					:horizontal_padding => 6,
					:vertical_padding   => 3,
					:border_width => 0.7, 
					:column_widths => { 0 => 520}, 
					:position => :left,
					:align => { 0 => :left}
			
			
			if !pactv_otras.blank?
				pactv_otras.each do |actv|
					data29 =[[{:text => actv.actividad , :aling=> :left}]]# datos que se desean en la tabla
					
					pdf.table data29, # lineas para generar la tabla en el docuemnto
					:border_style => :grid, #:underline_header
					:font_size  => 8, 
					:horizontal_padding => 6,
					:vertical_padding   => 3,
					:border_width => 0.7, 
					:column_widths => { 0 => 520}, 
					:position => :left,
					:align => { 0 => :left}
				end
			else
				data29 =[[{:text => "No hubo." , :aling=> :left}]]# datos que se desean en la tabla
				
				pdf.table data29, # lineas para generar la tabla en el docuemnto
				:border_style => :grid, #:underline_header
				:font_size  => 8, 
				:horizontal_padding => 6,
				:vertical_padding   => 3,
				:border_width => 0.7, 
				:column_widths => { 0 => 520}, 
				:position => :left,
				:align => { 0 => :left}
			end

			data210 = [[{:text=>"<NAME> ", :font_style => :bold}], [{:text=>"8.1.- DOCENCIA:",:font_style => :bold }]]# datos que se desean en la tabla
			
			pdf.table data210, # lineas para generar la tabla en el docuemnto
			:border_style => :grid, #:underline_header
			:font_size  => 8, 
			:horizontal_padding => 6,
			:vertical_padding   => 3,
			:border_width => 0.7, 
			:column_widths => { 0 => 520}, 
			:position => :left,
			:align => { 0 => :left}
			
			if !sactv_docencia.blank?
				sactv_docencia.each do |actv|
					data211 = [[{:text=>  actv.actividad ,  :align=>:left}]]# datos que se desean en la tabla
					
					pdf.table data211, # lineas para generar la tabla en el docuemnto
					:border_style => :grid, #:underline_header
					:font_size  => 8, 
					:horizontal_padding => 6,
					:vertical_padding   => 3,
					:border_width => 0.7, 
					:column_widths => { 0 => 520}, 
					:position => :left,
					:align => { 0 => :left}
				end	
			else
				data211 = [[{:text=>  "No hubo." ,  :align=>:left}]]# datos que se desean en la tabla
				pdf.table data211, # lineas para generar la tabla en el docuemnto
				:border_style => :grid, #:underline_header
				:font_size  => 8, 
				:horizontal_padding => 6,
				:vertical_padding   => 3,
				:border_width => 0.7, 
				:column_widths => { 0 => 520}, 
				:position => :left,
				:align => { 0 => :left}
			end
			
			data2121= [[{:text=>"8.2.- INVESTIGACIÓN:", :font_style => :bold}]]# datos que se desean en la tabla
			
			pdf.table data2121, # lineas para generar la tabla en el docuemnto
					:border_style => :grid, #:underline_header
					:font_size  => 8, 
					:horizontal_padding => 6,
					:vertical_padding   => 3,
					:border_width => 0.7, 
					:column_widths => { 0 => 520}, 
					:position => :left,
					:align => { 0 => :left}
			
			if !sactv_investigacion.blank?
				sactv_investigacion.each do |actv|
					data212= [[{:text=>  actv.actividad , :align=>:left}]]# datos que se desean en la tabla
					
					pdf.table data212, # lineas para generar la tabla en el docuemnto
					:border_style => :grid, #:underline_header
					:font_size  => 8, 
					:horizontal_padding => 6,
					:vertical_padding   => 3,
					:border_width => 0.7, 
					:column_widths => { 0 => 520}, 
					:position => :left,
					:align => { 0 => :left}
				end
			else
				data212= [[{:text=>  "No hubo." , :align=>:left}]]# datos que se desean en la tabla
					
					pdf.table data212, # lineas para generar la tabla en el docuemnto
					:border_style => :grid, #:underline_header
					:font_size  => 8, 
					:horizontal_padding => 6,
					:vertical_padding   => 3,
					:border_width => 0.7, 
					:column_widths => { 0 => 520}, 
					:position => :left,
					:align => { 0 => :left}
			end
			
			data2141=[[{:text=>"8.3.- FORMACIÓN:", :font_style => :bold}]]# datos que se desean en la tabla
			
			pdf.table data2141, # lineas para generar la tabla en el docuemnto
					:border_style => :grid, #:underline_header
					:font_size  => 8, 
					:horizontal_padding => 6,
					:vertical_padding   => 3,
					:border_width => 0.7, 
					:column_widths => { 0 => 520}, 
					:position => :left,
					:align => { 0 => :left}
			
			if !sactv_formacion.blank?
				sactv_formacion.each do |actv|
					data214=[[{:text=> actv.actividad , :aling=> :left}]]# datos que se desean en la tabla
						
					pdf.table data214, # lineas para generar la tabla en el docuemnto
					:border_style => :grid, #:underline_header
					:font_size  => 8, 
					:horizontal_padding => 6,
					:vertical_padding   => 3,
					:border_width => 0.7, 
					:column_widths => { 0 => 520}, 
					:position => :left,
					:align => { 0 => :left}
				end
			else
				data214=[[{:text=>  "No hubo." , :aling=> :left}]]# datos que se desean en la tabla
					
				pdf.table data214, # lineas para generar la tabla en el docuemnto
				:border_style => :grid, #:underline_header
				:font_size  => 8, 
				:horizontal_padding => 6,
				:vertical_padding   => 3,
				:border_width => 0.7, 
				:column_widths => { 0 => 520}, 
				:position => :left,
				:align => { 0 => :left}
			end
			
			data2131=[[{:text=>"8.4.- EXTENSIÓN:", :font_style => :bold}]]# datos que se desean en la tabla
			
			pdf.table data2131, # lineas para generar la tabla en el docuemnto
					:border_style => :grid, #:underline_header
					:font_size  => 8, 
					:horizontal_padding => 6,
					:vertical_padding   => 3,
					:border_width => 0.7, 
					:column_widths => { 0 => 520}, 
					:position => :left,
					:align => { 0 => :left}
			
			if !sactv_extension.blank?
				sactv_extension.each do |actv|
					data213=[[{:text=>  actv.actividad , :aling=> :left}]]# datos que se desean en la tabla
					
					pdf.table data213, # lineas para generar la tabla en el docuemnto
					:border_style => :grid, #:underline_header
					:font_size  => 8, 
					:horizontal_padding => 6,
					:vertical_padding   => 3,
					:border_width => 0.7, 
					:column_widths => { 0 => 520}, 
					:position => :left,
					:align => { 0 => :left}
					
				end			
			else
				data213=[[{:text=>  "No hubo." , :aling=> :left}]]# datos que se desean en la tabla
					
				pdf.table data213, # lineas para generar la tabla en el docuemnto
				:border_style => :grid, #:underline_header
				:font_size  => 8, 
				:horizontal_padding => 6,
				:vertical_padding   => 3,
				:border_width => 0.7, 
				:column_widths => { 0 => 520}, 
				:position => :left,
				:align => { 0 => :left}
			end
			
			
			
			data2151 =[[{:text=>"8.5.- OTRAS ACTIVIDADES:", :font_style => :bold}]]# datos que se desean en la tabla
					
					pdf.table data2151, # lineas para generar la tabla en el docuemnto
					:border_style => :grid, #:underline_header
					:font_size  => 8, 
					:horizontal_padding => 6,
					:vertical_padding   => 3,
					:border_width => 0.7, 
					:column_widths => { 0 => 520}, 
					:position => :left,
					:align => { 0 => :left}
			
			
			if !sactv_otras.blank?
				sactv_otras.each do |actv|
					data215 =[[{:text => actv.actividad , :aling=> :left}]]# datos que se desean en la tabla
					
					pdf.table data215, # lineas para generar la tabla en el docuemnto
					:border_style => :grid, #:underline_header
					:font_size  => 8, 
					:horizontal_padding => 6,
					:vertical_padding   => 3,
					:border_width => 0.7, 
					:column_widths => { 0 => 520}, 
					:position => :left,
					:align => { 0 => :left}
				end
			else
				data215 =[[{:text => "No hubo." , :aling=> :left}]]# datos que se desean en la tabla
				
				pdf.table data215, # lineas para generar la tabla en el docuemnto
				:border_style => :grid, #:underline_header
				:font_size  => 8, 
				:horizontal_padding => 6,
				:vertical_padding   => 3,
				:border_width => 0.7, 
				:column_widths => { 0 => 520}, 
				:position => :left,
				:align => { 0 => :left}
			end
			
			data152= [[{:text=>"<NAME> ", :font_style => :bold}],
				[{:text=>"8.1.- DOCENCIA:",:font_style => :bold }]]# datos que se desean en la tabla
			
			pdf.table data152, # lineas para generar la tabla en el docuemnto
			:border_style => :grid, #:underline_header
			:font_size  => 8, 
			:horizontal_padding => 6,
			:vertical_padding   => 3,
			:border_width => 0.7, 
			:column_widths => { 0 => 520}, 
			:position => :left,
			:align => { 0 => :left}
						
			if !tactv_docencia.blank?
				tactv_docencia.each do |actv|
					data153 = [[{:text=>  actv.actividad ,  :align=>:left}]]# datos que se desean en la tabla
					
					pdf.table data153, # lineas para generar la tabla en el docuemnto
					:border_style => :grid, #:underline_header
					:font_size  => 8, 
					:horizontal_padding => 6,
					:vertical_padding   => 3,
					:border_width => 0.7, 
					:column_widths => { 0 => 520}, 
					:position => :left,
					:align => { 0 => :left}
				end	
			else
				data153 = [[{:text=>  "No hubo." ,  :align=>:left}]]# datos que se desean en la tabla
				pdf.table data153, # lineas para generar la tabla en el docuemnto
				:border_style => :grid, #:underline_header
				:font_size  => 8, 
				:horizontal_padding => 6,
				:vertical_padding   => 3,
				:border_width => 0.7, 
				:column_widths => { 0 => 520}, 
				:position => :left,
				:align => { 0 => :left}
			end
			
			data154=[[{:text=>"8.2.- INVESTIGACIÓN:", :font_style => :bold}]]# datos que se desean en la tabla
			pdf.table data154, # lineas para generar la tabla en el docuemnto
					:border_style => :grid, #:underline_header
					:font_size  => 8, 
					:horizontal_padding => 6,
					:vertical_padding   => 3,
					:border_width => 0.7, 
					:column_widths => { 0 => 520}, 
					:position => :left,
					:align => { 0 => :left}
					
			if !tactv_investigacion.blank?
				tactv_investigacion.each do |actv|
					data155= [[{:text=>  actv.actividad , :align=>:left}]]# datos que se desean en la tabla
					
					pdf.table data155, # lineas para generar la tabla en el docuemnto
					:border_style => :grid, #:underline_header
					:font_size  => 8, 
					:horizontal_padding => 6,
					:vertical_padding   => 3,
					:border_width => 0.7, 
					:column_widths => { 0 => 520}, 
					:position => :left,
					:align => { 0 => :left}
				end
			else
				data155= [[{:text=>  "No hubo." , :align=>:left}]]# datos que se desean en la tabla
					
					pdf.table data155, # lineas para generar la tabla en el docuemnto
					:border_style => :grid, #:underline_header
					:font_size  => 8, 
					:horizontal_padding => 6,
					:vertical_padding   => 3,
					:border_width => 0.7, 
					:column_widths => { 0 => 520}, 
					:position => :left,
					:align => { 0 => :left}
			end
			
			data156=[[{:text=>"8.3.- FORMACIÓN:", :font_style => :bold}]]# datos que se desean en la tabla
			pdf.table data156, # lineas para generar la tabla en el docuemnto
					:border_style => :grid, #:underline_header
					:font_size  => 8, 
					:horizontal_padding => 6,
					:vertical_padding   => 3,
					:border_width => 0.7, 
					:column_widths => { 0 => 520}, 
					:position => :left,
					:align => { 0 => :left}
			
			if !tactv_formacion.blank?
				tactv_formacion.each do |actv|
					data157=[[{:text=> actv.actividad , :aling=> :left}]]# datos que se desean en la tabla
						
					pdf.table data157, # lineas para generar la tabla en el docuemnto
					:border_style => :grid, #:underline_header
					:font_size  => 8, 
					:horizontal_padding => 6,
					:vertical_padding   => 3,
					:border_width => 0.7, 
					:column_widths => { 0 => 520}, 
					:position => :left,
					:align => { 0 => :left}
				end
			else
				data157=[[{:text=>  "No hubo." , :aling=> :left}]]# datos que se desean en la tabla
					
				pdf.table data157, # lineas para generar la tabla en el docuemnto
				:border_style => :grid, #:underline_header
				:font_size  => 8, 
				:horizontal_padding => 6,
				:vertical_padding   => 3,
				:border_width => 0.7, 
				:column_widths => { 0 => 520}, 
				:position => :left,
				:align => { 0 => :left}
			end
			
			
			data158=[[{:text=>"8.4.- EXTENSIÓN:", :font_style => :bold}]]# datos que se desean en la tabla
			
			pdf.table data158, # lineas para generar la tabla en el docuemnto
					:border_style => :grid, #:underline_header
					:font_size  => 8, 
					:horizontal_padding => 6,
					:vertical_padding   => 3,
					:border_width => 0.7, 
					:column_widths => { 0 => 520}, 
					:position => :left,
					:align => { 0 => :left}
			
			if !tactv_extension.blank?
				tactv_extension.each do |actv|
					data159=[[{:text=>  actv.actividad , :aling=> :left}]]# datos que se desean en la tabla
					
					pdf.table data159, # lineas para generar la tabla en el docuemnto
					:border_style => :grid, #:underline_header
					:font_size  => 8, 
					:horizontal_padding => 6,
					:vertical_padding   => 3,
					:border_width => 0.7, 
					:column_widths => { 0 => 520}, 
					:position => :left,
					:align => { 0 => :left}
					
				end			
			else
				data159=[[{:text=>  "No hubo." , :aling=> :left}]]# datos que se desean en la tabla
					
				pdf.table data159, # lineas para generar la tabla en el docuemnto
				:border_style => :grid, #:underline_header
				:font_size  => 8, 
				:horizontal_padding => 6,
				:vertical_padding   => 3,
				:border_width => 0.7, 
				:column_widths => { 0 => 520}, 
				:position => :left,
				:align => { 0 => :left}
			end
							
			data160=[[{:text=>"8.5.- OTRAS ACTIVIDADES:", :font_style => :bold}]]# cuadro final del documento
			
			pdf.table data160, # lineas para generar la tabla en el docuemnto
					:border_style => :grid, #:underline_header
					:font_size  => 8, 
					:horizontal_padding => 6,
					:vertical_padding   => 3,
					:border_width => 0.7, 
					:column_widths => { 0 => 520}, 
					:position => :left,
					:align => { 0 => :left}
			
			if !tactv_otras.blank?
				tactv_otras.each do |actv|
					data161 =[[{:text => actv.actividad , :aling=> :left}]]# datos que se desean en la tabla
					
					pdf.table data161, # lineas para generar la tabla en el docuemnto
					:border_style => :grid, #:underline_header
					:font_size  => 8, 
					:horizontal_padding => 6,
					:vertical_padding   => 3,
					:border_width => 0.7, 
					:column_widths => { 0 => 520}, 
					:position => :left,
					:align => { 0 => :left}
				end
			else
				data161 =[[{:text => "No hubo." , :aling=> :left}]] # datos que se desean en la tabla
				
				pdf.table data161, # lineas para generar la tabla en el docuemnto
				:border_style => :grid, #:underline_header
				:font_size  => 8, 
				:horizontal_padding => 6,
				:vertical_padding   => 3,
				:border_width => 0.7, 
				:column_widths => { 0 => 520}, 
				:position => :left,
				:align => { 0 => :left}
			end

			data162 = [[{:text=>"<NAME> ", :font_style => :bold}], [{:text=>"8.1.- DOCENCIA:",:font_style => :bold }]] # datos que se desean en la tabla
			
			pdf.table data162, # lineas para generar la tabla en el docuemnto
			:border_style => :grid, #:underline_header
			:font_size  => 8, 
			:horizontal_padding => 6,
			:vertical_padding   => 3,
			:border_width => 0.7, 
			:column_widths => { 0 => 520}, 
			:position => :left,
			:align => { 0 => :left}
			
			if !cactv_docencia.blank?
				cactv_docencia.each do |actv|
					data163 = [[{:text=>  actv.actividad ,  :align=>:left}]]# datos que se desean en la tabla
					
					pdf.table data163, # lineas para generar la tabla en el docuemnto
					:border_style => :grid, #:underline_header
					:font_size  => 8, 
					:horizontal_padding => 6,
					:vertical_padding   => 3,
					:border_width => 0.7, 
					:column_widths => { 0 => 520}, 
					:position => :left,
					:align => { 0 => :left}
				end	
			else
				data163 = [[{:text=>  "No hubo." ,  :align=>:left}]	] # datos que se desean en la tabla
				pdf.table data163, # lineas para generar la tabla en el docuemnto
				:border_style => :grid, #:underline_header
				:font_size  => 8, 
				:horizontal_padding => 6,
				:vertical_padding   => 3,
				:border_width => 0.7, 
				:column_widths => { 0 => 520}, 
				:position => :left,
				:align => { 0 => :left}
			end
			
			data164= [[{:text=>"8.2.- INVESTIGACIÓN:", :font_style => :bold}]] # datos que se desean en la tabla
			
			pdf.table data164, # lineas para generar la tabla en el docuemnto
					:border_style => :grid, #:underline_header
					:font_size  => 8, 
					:horizontal_padding => 6,
					:vertical_padding   => 3,
					:border_width => 0.7, 
					:column_widths => { 0 => 520}, 
					:position => :left,
					:align => { 0 => :left}
			
			if !cactv_investigacion.blank?
				cactv_investigacion.each do |actv|
					data165= [[{:text=>  actv.actividad , :align=>:left}]] # datos que se desean en la tabla
					
					pdf.table data165, # lineas para generar la tabla en el docuemnto
					:border_style => :grid, #:underline_header
					:font_size  => 8, 
					:horizontal_padding => 6,
					:vertical_padding   => 3,
					:border_width => 0.7, 
					:column_widths => { 0 => 520}, 
					:position => :left,
					:align => { 0 => :left}
				end
			else
				data165= [[{:text=>  "No hubo." , :align=>:left}]] # datos que se desean en la tabla
					
					pdf.table data165, # lineas para generar la tabla en el docuemnto
					:border_style => :grid, #:underline_header
					:font_size  => 8, 
					:horizontal_padding => 6,
					:vertical_padding   => 3,
					:border_width => 0.7, 
					:column_widths => { 0 => 520}, 
					:position => :left,
					:align => { 0 => :left}
			end
			
			data166=[[{:text=>"8.3.- FORMACIÓN:", :font_style => :bold}]] # datos que se desean en la tabla
			
			pdf.table data166, # lineas para generar la tabla en el docuemnto
					:border_style => :grid, #:underline_header
					:font_size  => 8, 
					:horizontal_padding => 6,
					:vertical_padding   => 3,
					:border_width => 0.7, 
					:column_widths => { 0 => 520}, 
					:position => :left,
					:align => { 0 => :left}
			
			
			if !cactv_formacion.blank?
				cactv_formacion.each do |actv|
					data167=[[{:text=> actv.actividad , :aling=> :left}]] # datos que se desean en la tabla
						
					pdf.table data167, # lineas para generar la tabla en el docuemnto
					:border_style => :grid, #:underline_header
					:font_size  => 8, 
					:horizontal_padding => 6,
					:vertical_padding   => 3,
					:border_width => 0.7, 
					:column_widths => { 0 => 520}, 
					:position => :left,
					:align => { 0 => :left}
				end
			else
				data167=[[{:text=>  "No hubo." , :aling=> :left}]] # datos que se desean en la tabla
					
				pdf.table data167, # lineas para generar la tabla en el docuemnto
				:border_style => :grid, #:underline_header
				:font_size  => 8, 
				:horizontal_padding => 6,
				:vertical_padding   => 3,
				:border_width => 0.7, 
				:column_widths => { 0 => 520}, 
				:position => :left,
				:align => { 0 => :left}
			end
			
			data168=[[{:text=>"8.4.- EXTENSIÓN:", :font_style => :bold}]] # datos que se desean en la tabla
			
			pdf.table data168, # lineas para generar la tabla en el docuemnto
					:border_style => :grid, #:underline_header
					:font_size  => 8, 
					:horizontal_padding => 6,
					:vertical_padding   => 3,
					:border_width => 0.7, 
					:column_widths => { 0 => 520}, 
					:position => :left,
					:align => { 0 => :left}
			
			if !cactv_extension.blank?
				cactv_extension.each do |actv|
					data169=[[{:text=>  actv.actividad , :aling=> :left}]] # datos que se desean en la tabla
					
					pdf.table data169, # lineas para generar la tabla en el docuemnto
					:border_style => :grid, #:underline_header
					:font_size  => 8, 
					:horizontal_padding => 6,
					:vertical_padding   => 3,
					:border_width => 0.7, 
					:column_widths => { 0 => 520}, 
					:position => :left,
					:align => { 0 => :left}
					
				end			
			else
				data169=[[{:text=>  "No hubo." , :aling=> :left}]] # datos que se desean en la tabla
					
				pdf.table data169, # lineas para generar la tabla en el docuemnto
				:border_style => :grid, #:underline_header
				:font_size  => 8, 
				:horizontal_padding => 6,
				:vertical_padding   => 3,
				:border_width => 0.7, 
				:column_widths => { 0 => 520}, 
				:position => :left,
				:align => { 0 => :left}
			end
							
			data170=[[{:text=>"8.5.- OTRAS ACTIVIDADES:", :font_style => :bold}]] # datos que se desean en la tabla
			
			pdf.table data170, # lineas para generar la tabla en el docuemnto
					:border_style => :grid, #:underline_header
					:font_size  => 8, 
					:horizontal_padding => 6,
					:vertical_padding   => 3,
					:border_width => 0.7, 
					:column_widths => { 0 => 520}, 
					:position => :left,
					:align => { 0 => :left}
			
			if !cactv_otras.blank?
				cactv_otras.each do |actv|
					data171 =[[{:text => actv.actividad , :aling=> :left}]] # datos que se desean en la tabla
					
					pdf.table data171, # lineas para generar la tabla en el docuemnto
					:border_style => :grid, #:underline_header
					:font_size  => 8, 
					:horizontal_padding => 6,
					:vertical_padding   => 3,
					:border_width => 0.7, 
					:column_widths => { 0 => 520}, 
					:position => :left,
					:align => { 0 => :left}
				end
			else
				data171 =[[{:text => "No hubo." , :aling=> :left}]] # datos que se desean en la tabla
				
				pdf.table data171, # lineas para generar la tabla en el docuemnto
				:border_style => :grid, #:underline_header
				:font_size  => 8, 
				:horizontal_padding => 6,
				:vertical_padding   => 3,
				:border_width => 0.7, 
				:column_widths => { 0 => 520}, 
				:position => :left,
				:align => { 0 => :left}
			end

			data162 = [[{:text=>"ACTIVIDADES OBLIGATORIAS ", :font_style => :bold}], [{:text=>"8.1.- DOCENCIA:",:font_style => :bold }]] # datos que se desean en la tabla
			
			pdf.table data162, # lineas para generar la tabla en el docuemnto
			:border_style => :grid, #:underline_header
			:font_size  => 8, 
			:horizontal_padding => 6,
			:vertical_padding   => 3,
			:border_width => 0.7, 
			:column_widths => { 0 => 520}, 
			:position => :left,
			:align => { 0 => :left}
			
			if !cactv_docencia.blank?
				dactv_docencia.each do |actv|
					data163 = [[{:text=>  actv.actividad ,  :align=>:left}]]# datos que se desean en la tabla
					
					pdf.table data163, # lineas para generar la tabla en el docuemnto
					:border_style => :grid, #:underline_header
					:font_size  => 8, 
					:horizontal_padding => 6,
					:vertical_padding   => 3,
					:border_width => 0.7, 
					:column_widths => { 0 => 520}, 
					:position => :left,
					:align => { 0 => :left}
				end	
			else
				data163 = [[{:text=>  "No hubo." ,  :align=>:left}]	] # datos que se desean en la tabla
				pdf.table data163, # lineas para generar la tabla en el docuemnto
				:border_style => :grid, #:underline_header
				:font_size  => 8, 
				:horizontal_padding => 6,
				:vertical_padding   => 3,
				:border_width => 0.7, 
				:column_widths => { 0 => 520}, 
				:position => :left,
				:align => { 0 => :left}
			end
			
			data164= [[{:text=>"8.2.- INVESTIGACIÓN:", :font_style => :bold}]] # datos que se desean en la tabla
			
			pdf.table data164, # lineas para generar la tabla en el docuemnto
					:border_style => :grid, #:underline_header
					:font_size  => 8, 
					:horizontal_padding => 6,
					:vertical_padding   => 3,
					:border_width => 0.7, 
					:column_widths => { 0 => 520}, 
					:position => :left,
					:align => { 0 => :left}
			
			if !cactv_investigacion.blank?
				dactv_investigacion.each do |actv|
					data165= [[{:text=>  actv.actividad , :align=>:left}]] # datos que se desean en la tabla
					
					pdf.table data165, # lineas para generar la tabla en el docuemnto
					:border_style => :grid, #:underline_header
					:font_size  => 8, 
					:horizontal_padding => 6,
					:vertical_padding   => 3,
					:border_width => 0.7, 
					:column_widths => { 0 => 520}, 
					:position => :left,
					:align => { 0 => :left}
				end
			else
				data165= [[{:text=>  "No hubo." , :align=>:left}]] # datos que se desean en la tabla
					
					pdf.table data165, # lineas para generar la tabla en el docuemnto
					:border_style => :grid, #:underline_header
					:font_size  => 8, 
					:horizontal_padding => 6,
					:vertical_padding   => 3,
					:border_width => 0.7, 
					:column_widths => { 0 => 520}, 
					:position => :left,
					:align => { 0 => :left}
			end
			
			data166=[[{:text=>"8.3.- FORMACIÓN:", :font_style => :bold}]] # datos que se desean en la tabla
			
			pdf.table data166, # lineas para generar la tabla en el docuemnto
					:border_style => :grid, #:underline_header
					:font_size  => 8, 
					:horizontal_padding => 6,
					:vertical_padding   => 3,
					:border_width => 0.7, 
					:column_widths => { 0 => 520}, 
					:position => :left,
					:align => { 0 => :left}
			
			
			if !cactv_formacion.blank?
				dactv_formacion.each do |actv|
					data167=[[{:text=> actv.actividad , :aling=> :left}]] # datos que se desean en la tabla
						
					pdf.table data167, # lineas para generar la tabla en el docuemnto
					:border_style => :grid, #:underline_header
					:font_size  => 8, 
					:horizontal_padding => 6,
					:vertical_padding   => 3,
					:border_width => 0.7, 
					:column_widths => { 0 => 520}, 
					:position => :left,
					:align => { 0 => :left}
				end
			else
				data167=[[{:text=>  "No hubo." , :aling=> :left}]] # datos que se desean en la tabla
					
				pdf.table data167, # lineas para generar la tabla en el docuemnto
				:border_style => :grid, #:underline_header
				:font_size  => 8, 
				:horizontal_padding => 6,
				:vertical_padding   => 3,
				:border_width => 0.7, 
				:column_widths => { 0 => 520}, 
				:position => :left,
				:align => { 0 => :left}
			end
			
			data168=[[{:text=>"8.4.- EXTENSIÓN:", :font_style => :bold}]] # datos que se desean en la tabla
			
			pdf.table data168, # lineas para generar la tabla en el docuemnto
					:border_style => :grid, #:underline_header
					:font_size  => 8, 
					:horizontal_padding => 6,
					:vertical_padding   => 3,
					:border_width => 0.7, 
					:column_widths => { 0 => 520}, 
					:position => :left,
					:align => { 0 => :left}
			
			if !cactv_extension.blank?
				dactv_extension.each do |actv|
					data169=[[{:text=>  actv.actividad , :aling=> :left}]] # datos que se desean en la tabla
					
					pdf.table data169, # lineas para generar la tabla en el docuemnto
					:border_style => :grid, #:underline_header
					:font_size  => 8, 
					:horizontal_padding => 6,
					:vertical_padding   => 3,
					:border_width => 0.7, 
					:column_widths => { 0 => 520}, 
					:position => :left,
					:align => { 0 => :left}
					
				end			
			else
				data169=[[{:text=>  "No hubo." , :aling=> :left}]] # datos que se desean en la tabla
					
				pdf.table data169, # lineas para generar la tabla en el docuemnto
				:border_style => :grid, #:underline_header
				:font_size  => 8, 
				:horizontal_padding => 6,
				:vertical_padding   => 3,
				:border_width => 0.7, 
				:column_widths => { 0 => 520}, 
				:position => :left,
				:align => { 0 => :left}
			end
							
			pdf.text("\n")
			
			pdf.text("ACTIVIDADES DESARROLLADAS \n")
			pdf.text("\n")
			salto='\n'
			
			#apartado 3
			pdf.text("9.- ACTIVIDADES DE DOCENCIA:", :style => :bold, :size  => 10)
			
				data3 = [[{:text=>"ACTIVIDAD DE DOCENCIA PROGRAMADA",:align=>:center,:font_style => :bold}, {:text =>"ACTIVIDAD DE DOCENCIA EJECUTADA", :align=>:center,:font_style => :bold},{:text =>"OBSERVACIONES", :align=>:center,:font_style => :bold}]] # datos que se desean en la tabla
			  
			
			pdf.table data3, # lineas para generar la tabla en el docuemnto
			:border_style => :grid, #:underline_header
			:font_size  => 8,
			:horizontal_padding => 3,
			:vertical_padding   => 3,
			:border_width => 0.7, 
			:column_widths => { 0 => 173, 1 => 173, 2 => 173}, 
			:position => :left,
			:align => { 0 => :left, 1 => :left, 2=> :left}
			
			if !info_docencia.blank?
				listo = "no"
				info_docencia.each do |actv|
					if semestres[actv.id] == 5 && listo == "no"
						data31 = [[{:text=> "Obligatorias", :align=>:center}]]
						pdf.table data31, # lineas para generar la tabla en el docuemnto
						:border_style => :grid, #:underline_header
						:font_size  => 8,
						:horizontal_padding => 6,
						:vertical_padding   => 3,
						:border_width => 0.7, 
						:column_widths => { 0 =>519}, 
						:position => :left,
						:align => { 0 => :left}
						listo = "si"
					end
					ae = InformeActividad.where(actividad_id: actv.id, informe: informe.id).take
					ai = ActividadEjecutada.where(informe_actividad_id: ae.id).take
        			obs= ObservacionTutor.where(informe_actividad_id: ae.id).take
        			if !obs.blank?
        				if !ai.blank?
							data31 = [[{:text=> actv.actividad.to_s, :align=>:left}, {:text => ai.descripcion.to_s, :align=>:left}, {:text => obs.observaciones.to_s, :align=>:left}]] # datos que se desean en la tabla
						else
							data31 = [[{:text=> actv.actividad.to_s, :align=>:left}, {:text => "", :align=>:left}, {:text => obs.observaciones.to_s, :align=>:left}]] # datos que se desean en la tabla
						end
					else
						if !ai.blank?
							data31 = [[{:text=> actv.actividad.to_s, :align=>:left}, {:text => ai.descripcion.to_s, :align=>:left}, {:text => "", :align=>:left}]] # datos que se desean en la tabla
						else
							data31 = [[{:text=> actv.actividad.to_s, :align=>:left}, {:text => "", :align=>:left}, {:text => "", :align=>:left}]] # datos que se desean en la tabla
						end
					end
					pdf.table data31, # lineas para generar la tabla en el docuemnto
					:border_style => :grid, #:underline_header
					:font_size  => 8,
					:horizontal_padding => 6,
					:vertical_padding   => 3,
					:border_width => 0.7, 
					:column_widths => { 0 => 173, 1 => 173, 2 => 173}, 
					:position => :left,
					:align => { 0 => :left, 1 => :left, 2=> :left}
				end	
			else
				data31 = [[{:text=>  "No hubo." ,  :align=>:left}, {:text=>  "" ,  :align=>:left}, {:text=>  "" ,  :align=>:left}]] # datos que se desean en la tabla
				pdf.table data31, # lineas para generar la tabla en el docuemnto
				:border_style => :grid, #:underline_header
				:font_size  => 8,
				:horizontal_padding => 6,
				:vertical_padding   => 3,
				:border_width => 0.7, 
				:column_widths => { 0 => 173, 1 => 173, 2 => 173}, 
				:position => :left,
				:align => { 0 => :left, 1 => :left, 2=> :left}
			end
			
			
			
			pdf.text("\n")
			
			#aparatado 4 Y RESULTADOS
			pdf.text("10.- ACTIVIDADES DE INVESTIGACIÓN:", :style => :bold, :size  => 10)
			data4 = [[{:text=>"ACTIVIDAD DE INVESTIGACIÓN PROGRAMADA",:align=>:center,:font_style => :bold}, {:text =>"ACTIVIDAD DE INVESTIGACION EJECUTADA", :align=>:center,:font_style => :bold},{:text =>"OBSERVACIONES", :align=>:center,:font_style => :bold} ]] # datos que se desean en la tabla
			
			pdf.table data4, # lineas para generar la tabla en el docuemnto
			:border_style => :grid, #:underline_header
			:font_size  => 8, 
			:horizontal_padding => 6,
			:vertical_padding   => 3,
			:border_width => 0.7, 
			:column_widths => { 0 => 173, 1 => 173, 2 => 173}, 
			:position => :left,
			:align => { 0 => :left, 1 => :left, 2=> :left}
			aee = 0
			if !info_investigacion.blank?
				listo = "no"
				info_investigacion.each do |actv|
					if listo == "no" && semestres[actv.id] == 5
						data41 = [[{:text=> "Obligatorias", :align=>:center}]]
						pdf.table data41, # lineas para generar la tabla en el docuemnto
						:border_style => :grid, #:underline_header
						:font_size  => 8,
						:horizontal_padding => 6,
						:vertical_padding   => 3,
						:border_width => 0.7, 
						:column_widths => { 0 =>519}, 
						:position => :left,
						:align => { 0 => :left}
						listo = "si"
					end
					ae = InformeActividad.where(actividad_id: actv.id, informe: informe.id).take
					ai = ActividadEjecutada.where(informe_actividad_id: ae.id).take
        			obs= ObservacionTutor.where(informe_actividad_id: ae.id).take
        			if !obs.blank?
        				if !ai.blank?
							data41 = [[{:text=> actv.actividad.to_s, :align=>:left}, {:text => ai.descripcion.to_s, :align=>:left}, {:text => obs.observaciones.to_s, :align=>:left}]] # datos que se desean en la tabla
						else
							data41 = [[{:text=> actv.actividad.to_s, :align=>:left}, {:text => "", :align=>:left}, {:text => obs.observaciones.to_s, :align=>:left}]] # datos que se desean en la tabla
						end
					else
						if !ai.blank?
							data41 = [[{:text=> actv.actividad.to_s, :align=>:left}, {:text => ai.descripcion.to_s, :align=>:left}, {:text => "", :align=>:left}]] # datos que se desean en la tabla
						else
							data41 = [[{:text=> actv.actividad.to_s, :align=>:left}, {:text => "", :align=>:left}, {:text => "", :align=>:left}]] # datos que se desean en la tabla
						end
					end
					pdf.table data41, # lineas para generar la tabla en el docuemnto
					:border_style => :grid, #:underline_header
					:font_size  => 8,
					:horizontal_padding => 6,
					:vertical_padding   => 3,
					:border_width => 0.7 ,
					:column_widths => { 0 => 173, 1 => 173, 2 => 173},
					:position => :left,
					:align => { 0 => :left, 1 => :left, 2=> :left}
						
				 end	
			else
				data41 = [[{:text=>  "No hubo." ,  :align=>:left}, {:text=>  "" ,  :align=>:left}, {:text=>  "" ,  :align=>:left}]] # datos que se desean en la tabla
				pdf.table data41,
				:border_style => :grid, #:underline_header
				:font_size  => 8,
				:horizontal_padding => 6,
				:vertical_padding   => 3,
				:border_width => 0.7 ,
				:column_widths => { 0 => 173, 1 => 173, 2 => 173},
				:position => :left,
				:align => { 0 => :left, 1 => :left, 2=> :left}
			end
				
				res1 = [[{:text=> "10.1.- Divulgación de resultados:", :font_style => :bold}],
					[{:text=> "10.1.1.- Trabajos publicados (libros, revistas, artículos de prensa, CDs, manuales, publicaciones electrónicas, etc.): \n", :font_style => :bold}]] # cuadro final del documento
			
				pdf.table res1, # lineas para generar la tabla en el docuemnto
				:border_style =>:grid, #:underline_header
				:font_size  => 8, 
				:horizontal_padding => 6,
				:vertical_padding   => 3,
				:border_width => 0.7, 
				:column_widths => { 0 => 520}, 
				:position => :left,
				:align => { 0 => :left}

				if resultTP != []
					resultTP.each do |res|
						res2=[[{:text=> res, :align=>:left }]] # datos que se desean en la tabla
						pdf.table res2, # lineas para generar la tabla en el docuemnto
						:border_style => :grid, #:underline_header
						:font_size  => 8, 
						:horizontal_padding => 6,
						:vertical_padding   => 3,
						:border_width => 0.7, 
						:column_widths => { 0 => 520}, 
						:position => :left,
						:align => { 0 => :left}
					end
				else
						res2 =[[{:text => "No hubo." , :aling=> :left}]	] # datos que se desean en la tabla
				
						pdf.table res2,  # lineas para generar la tabla en el docuemnto
						:border_style => :grid, #:underline_header
						:font_size  => 8, 
						:horizontal_padding => 6,
						:vertical_padding   => 3,
						:border_width => 0.7, 
						:column_widths => { 0 => 520}, 
						:position => :left,
						:align => { 0 => :left}
					
				end
									
				res3 = [[{:text=> "10.1.2.- Presentación de ponencias, conferencias y carteles en eventos:\n", :font_style => :bold}]] # datos que se desean en la tabla
				
				pdf.table res3, # lineas para generar la tabla en el docuemnto
				:border_style => :grid, #:underline_header
				:font_size  => 8, 
				:horizontal_padding => 6,
				:vertical_padding   => 3,
				:border_width => 0.7, 
				:column_widths => { 0 => 520}, 
				:position => :left,
				:align => { 0 => :left}
			
				if resultPP !=[]
					resultPP.each do |res|
						res4 = [[{:text=> res, :align=>:left }]] # datos que se desean en la tabla
						pdf.table res4, # lineas para generar la tabla en el docuemnto
						:border_style => :grid, #:underline_header
						:font_size  => 8, 
						:horizontal_padding => 6,
						:vertical_padding   => 3,
						:border_width => 0.7, 
						:column_widths => { 0 => 520}, 
						:position => :left,
						:align => { 0 => :left}
					end
				else
					res4 =[[{:text => "No hubo." , :aling=> :left}]	] # datos que se desean en la tabla
				
					pdf.table res4,  # lineas para generar la tabla en el docuemnto
					:border_style => :grid, #:underline_header
					:font_size  => 8, 
					:horizontal_padding => 6,
					:vertical_padding   => 3,
					:border_width => 0.7, 
					:column_widths => { 0 => 520}, 
					:position => :left,
					:align => { 0 => :left}
				end
			
				res5 = [[{:text=> "10.1.3.- Otros:\n", :font_style => :bold}]] # datos que se desean en la tabla
				
				pdf.table res5, # lineas para generar la tabla en el docuemnto
				:border_style => :grid, #:underline_header
				:font_size  => 8, 
				:horizontal_padding => 6,
				:vertical_padding   => 3,
				:border_width => 0.7, 
				:column_widths => { 0 => 520}, 
				:position => :left,
				:align => { 0 => :left}
			
			
				if resultO != []
					resultO.each do |res|
						res6 = [[{:text=> res, :align=>:left }]] # datos que se desean en la tabla
						pdf.table res6, # lineas para generar la tabla en el docuemnto
						:border_style => :grid, #:underline_header
						:font_size  => 8, 
						:horizontal_padding => 6,
						:vertical_padding   => 3,
						:border_width => 0.7, 
						:column_widths => { 0 => 520}, 
						:position => :left,
						:align => { 0 => :left}
						
					end
				else
					res6 =[	[{:text => "No hubo." , :aling=> :left}]] # datos que se desean en la tabla
				
					pdf.table res6,  # lineas para generar la tabla en el docuemnto
					:border_style => :grid, #:underline_header
					:font_size  => 8, 
					:horizontal_padding => 6,
					:vertical_padding   => 3,
					:border_width => 0.7, 
					:column_widths => { 0 => 520}, 
					:position => :left,
					:align => { 0 => :left}
				end
				
				res7 = [[{:text=> "10.1.4.- Asistencia a eventos científicos (Congresos, Seminarios, Coloquios, Jornadas, etc.):\n", :font_style => :bold}]] # datos que se desean en la tabla
				
				pdf.table res7, # lineas para generar la tabla en el docuemnto
				:border_style => :grid, #:underline_header
				:font_size  => 8, 
				:horizontal_padding => 6,
				:vertical_padding   => 3,
				:border_width => 0.7, 
				:column_widths => { 0 => 520}, 
				:position => :left,
				:align => { 0 => :left}
				
				if resultAEC != []
					resultAEC.each do |res|
						res8 = [[{:text=> res, :align=>:left }]] # datos que se desean en la tabla
						pdf.table res8, # lineas para generar la tabla en el docuemnto
						:border_style => :grid, #:underline_header
						:font_size  => 8, 
						:horizontal_padding => 6,
						:vertical_padding   => 3,
						:border_width => 0.7, 
						:column_widths => { 0 => 520}, 
						:position => :left,
						:align => { 0 => :left}
					end
				else
					res8 =[	[{:text => "No hubo." , :aling=> :left}]] # datos que se desean en la tabla
				
					pdf.table res8,  # lineas para generar la tabla en el docuemnto
					:border_style => :grid, #:underline_header
					:font_size  => 8, 
					:horizontal_padding => 6,
					:vertical_padding   => 3,
					:border_width => 0.7, 
					:column_widths => { 0 => 520}, 
					:position => :left,
					:align => { 0 => :left}
				end
				
				res9 = [[{:text=> "10.1.5.- Organización de eventos científicos (Congresos, Seminarios, Coloquios, Jornadas, etc.):\n", :font_style => :bold}]	] # datos que se desean en la tabla
				
				pdf.table res9, # lineas para generar la tabla en el docuemnto
				:border_style => :grid, #:underline_header
				:font_size  => 8, 
				:horizontal_padding => 6,
				:vertical_padding   => 3,
				:border_width => 0.7, 
				:column_widths => { 0 => 520}, 
				:position => :left,
				:align => { 0 => :left}
				
				if resultOEC != []
					resultOEC.each do |res|
						res10 = [[{:text=> res, :align=>:left }]] # datos que se desean en la tabla
						pdf.table res10, # lineas para generar la tabla en el docuemnto
						:border_style => :grid, #:underline_header
						:font_size  => 8, 
						:horizontal_padding => 6,
						:vertical_padding   => 3,
						:border_width => 0.7, 
						:column_widths => { 0 => 520}, 
						:position => :left,
						:align => { 0 => :left}
					end
				else
					res10 =[[{:text => "No hubo." , :aling=> :left}]] # datos que se desean en la tabla
				 
					pdf.table res10, # lineas para generar la tabla en el docuemnto
					:border_style => :grid, #:underline_header
					:font_size  => 8, 
					:horizontal_padding => 6,
					:vertical_padding   => 3,
					:border_width => 0.7, 
					:column_widths => { 0 => 520}, 
					:position => :left,
					:align => { 0 => :left}
				end
				
				res11 = [[{:text=> "10.1.6.- Dictado de cursos, talleres o seminarios científicos:\n", :font_style => :bold}]] # datos que se desean en la tabla
				
				pdf.table res11, # lineas para generar la tabla en el docuemnto
				:border_style => :grid, #:underline_header
				:font_size  => 8, 
				:horizontal_padding => 6,
				:vertical_padding   => 3,
				:border_width => 0.7, 
				:column_widths => { 0 => 520}, 
				:position => :left,
				:align => { 0 => :left}
				
				if resultDCS != []
					resultDCS.each do |res|
						res12= [[{:text=> res, :align=>:left }]] # datos que se desean en la tabla
						pdf.table res12, # lineas para generar la tabla en el docuemnto
						:border_style => :grid, #:underline_header
						:font_size  => 8, 
						:horizontal_padding => 6,
						:vertical_padding   => 3,
						:border_width => 0.7, 
						:column_widths => { 0 => 520}, 
						:position => :left,
						:align => { 0 => :left}
					end
				else
					res12 =[[{:text => "No hubo." , :aling=> :left}]] # datos que se desean en la tabla
				
					pdf.table res12,  # lineas para generar la tabla en el docuemnto
					:border_style => :grid, #:underline_header
					:font_size  => 8, 
					:horizontal_padding => 6,
					:vertical_padding   => 3,
					:border_width => 0.7, 
					:column_widths => { 0 => 520}, 
					:position => :left,
					:align => { 0 => :left}
				end
				
				
				
			#aparatado 5
			pdf.text("\n")
			pdf.text("11.- ACTIVIDADES DE FORMACIÓN:", :style => :bold, :size  => 10)
			data5 = [[{:text=>"ACTIVIDAD DE FORMACIÓN PROGRAMADA",:align=>:center,:font_style => :bold}, {:text =>"ACTIVIDAD DE FORMACIÓN EJECUTADA", :align=>:center,:font_style => :bold},{:text =>"OBSERVACIONES", :align=>:center,:font_style => :bold} ]	] # datos que se desean en la tabla
			
			pdf.table data5,  # lineas para generar la tabla en el docuemnto
			:border_style => :grid, #:underline_header
			:font_size  => 8, 
			:horizontal_padding => 6,
			:vertical_padding   => 3,
			:border_width => 0.7, 
			:column_widths => { 0 => 173, 1 => 173, 2 => 173}, 
			:position => :left,
			:align => { 0 => :left, 1 => :left, 2=> :left}
			
			if info_formacion != []
				listo = "no"
				info_formacion.each do |actv|
					if listo == "no" && semestres[actv.id] == 5
						data51 = [[{:text=> "Obligatorias", :align=>:center}]]
						pdf.table data51, # lineas para generar la tabla en el docuemnto
						:border_style => :grid, #:underline_header
						:font_size  => 8,
						:horizontal_padding => 6,
						:vertical_padding   => 3,
						:border_width => 0.7, 
						:column_widths => { 0 =>519}, 
						:position => :left,
						:align => { 0 => :left}
						listo = "si"
					end
					ae = InformeActividad.where(actividad_id: actv.id, informe: informe.id).take
					ai = ActividadEjecutada.where(informe_actividad_id: ae.id).take
        			obs= ObservacionTutor.where(informe_actividad_id: ae.id).take
        			if !obs.blank?
        				if !ai.blank?
							data51 = [[{:text=> actv.actividad.to_s, :align=>:left}, {:text => ai.descripcion.to_s, :align=>:left}, {:text => obs.observaciones.to_s, :align=>:left}]] # datos que se desean en la tabla
						else
							data51 = [[{:text=> actv.actividad.to_s, :align=>:left}, {:text => "", :align=>:left}, {:text => obs.observaciones.to_s, :align=>:left}]] # datos que se desean en la tabla
						end
					else
						if !ai.blank?
							data51 = [[{:text=> actv.actividad.to_s, :align=>:left}, {:text => ai.descripcion.to_s, :align=>:left}, {:text => "", :align=>:left}]] # datos que se desean en la tabla
						else
							data51 = [[{:text=> actv.actividad.to_s, :align=>:left}, {:text => "", :align=>:left}, {:text => "", :align=>:left}]] # datos que se desean en la tabla
						end
					end
					pdf.table data51,  # lineas para generar la tabla en el docuemnto
					:border_style => :grid, #:underline_header
					:font_size  => 8, 
					:horizontal_padding => 6,
					:vertical_padding   => 3,
					:border_width => 0.7, 
					:column_widths => { 0 => 173, 1 => 173, 2 => 173}, 
					:position => :left,
					:align => { 0 => :left, 1 => :left, 2=> :left}
					
				end
			else
				data51=[[{:text=> "No hubo.", :align=>:left}, {:text => "", :align=>:left}, {:text => "", :align=>:left}]] # datos que se desean en la tabla
					pdf.table data51, # lineas para generar la tabla en el docuemnto
					:border_style => :grid, #:underline_header
					:font_size  => 8, 
					:horizontal_padding => 6,
					:vertical_padding   => 3,
					:border_width => 0.7, 
					:column_widths => { 0 => 173, 1 => 173, 2 => 173}, 
					:position => :left,
					:align => { 0 => :left, 1 => :left, 2=> :left}
			end
			
			#data52=[[{:text=> "5.1.- Grado de avance en los estudios de postgrado:\n", :font_style => :bold}],
			#[{:text=> informe.avance.to_s, :align=>:left}]] # datos que se desean en la tabla
			
			pdf.text("\n")

			pdf.text("12.- ACTIVIDADES DE EXTENSIÓN:", :style => :bold, :size  => 10)
			data6 = [[{:text=>"ACTIVIDAD DE EXTENSIÓN PROGRAMADA",:align=>:center,:font_style => :bold}, {:text =>"ACTIVIDAD DE EXTENSIÓN EJECUTADA", :align=>:center,:font_style => :bold},{:text =>"OBSERVACIONES", :align=>:center,:font_style => :bold} ]	] # datos que se desean en la tabla
			
			pdf.table data6,  # lineas para generar la tabla en el docuemnto
			:border_style => :grid, #:underline_header
			:font_size  => 8, 
			:horizontal_padding => 6,
			:vertical_padding   => 3,
			:border_width => 0.7, 
			:column_widths => { 0 => 173, 1 => 173, 2 => 173}, 
			:position => :left,
			:align => {0 => :left, 1 => :left, 2=> :left}
			
			if info_extension != []
				listo = "no"
				info_extension.each do |actv|
					if listo == "no" && semestres[actv.id] == 5
						data51 = [[{:text=> "Obligatorias", :align=>:center}]]
						pdf.table data51, # lineas para generar la tabla en el docuemnto
						:border_style => :grid, #:underline_header
						:font_size  => 8,
						:horizontal_padding => 6,
						:vertical_padding   => 3,
						:border_width => 0.7, 
						:column_widths => { 0 =>519}, 
						:position => :left,
						:align => { 0 => :left}
						listo = "si"
					end
					ae = InformeActividad.where(actividad_id: actv.id, informe: informe.id).take
					ai = ActividadEjecutada.where(informe_actividad_id: ae.id).take
        			obs= ObservacionTutor.where(informe_actividad_id: ae.id).take
        			if !obs.blank?
        				if !ai.blank?
							data61 = [[{:text=> actv.actividad.to_s, :align=>:left}, {:text => ai.descripcion.to_s, :align=>:left}, {:text => obs.observaciones.to_s, :align=>:left}]] # datos que se desean en la tabla
						else
							data61 = [[{:text=> actv.actividad.to_s, :align=>:left}, {:text => "", :align=>:left}, {:text => obs.observaciones.to_s, :align=>:left}]] # datos que se desean en la tabla
						end
					else
						if !ai.blank?
							data61 = [[{:text=> actv.actividad.to_s, :align=>:left}, {:text => ai.descripcion.to_s, :align=>:left}, {:text => "", :align=>:left}]] # datos que se desean en la tabla
						else
							data61 = [[{:text=> actv.actividad.to_s, :align=>:left}, {:text => "", :align=>:left}, {:text => "", :align=>:left}]] # datos que se desean en la tabla
						end
					end
					pdf.table data61, # lineas para generar la tabla en el docuemnto
					:border_style => :grid, #:underline_header
					:font_size  => 8, 
					:horizontal_padding => 6,
					:vertical_padding   => 3,
					:border_width => 0.7, 
					:column_widths => { 0 => 173, 1 => 173, 2 => 173}, 
					:position => :left,
					:align => { 0 => :left, 1 => :left, 2=> :left}
					
				end
			else
				data61=[[{:text=> "No hubo.", :align=>:left}, {:text => "", :align=>:left}, {:text => "", :align=>:left}]] # datos que se desean en la tabla
				pdf.table data61, # lineas para generar la tabla en el docuemnto
				:border_style => :grid, #:underline_header
				:font_size  => 8, 
				:horizontal_padding => 6,
				:vertical_padding   => 3,
				:border_width => 0.7, 
				:column_widths => { 0 => 173, 1 => 173, 2 => 173}, 
				:position => :left,
				:align => { 0 => :left, 1 => :left, 2=> :left}
			end

			x=13

			if tipo_informe.tipo=="Final"
				pdf.text("\n")

				pdf.text(x.to_s+".- ACTIVIDADES PARA LA APROBACIÓN:", :style => :bold, :size  => 10)
				data6 = [[{:text=>"ACTIVIDAD PARA LA APROBACIÓN",:align=>:center,:font_style => :bold}, {:text =>"ACTIVIDAD PARA LA APROBACIÓN EJECUTADA", :align=>:center,:font_style => :bold},{:text =>"OBSERVACIONES", :align=>:center,:font_style => :bold} ]	] # datos que se desean en la tabla
				
				pdf.table data6,  # lineas para generar la tabla en el docuemnto
				:border_style => :grid, #:underline_header
				:font_size  => 8, 
				:horizontal_padding => 6,
				:vertical_padding   => 3,
				:border_width => 0.7, 
				:column_widths => { 0 => 173, 1 => 173, 2 => 173}, 
				:position => :left,
				:align => {0 => :left, 1 => :left, 2=> :left}
				
				if actividadesaobli != []
					actividadesaobli.each do |actv|
						ae = InformeActividad.where(actividad_id: actv.id, informe: informe.id).take
						ai = ActividadEjecutada.where(informe_actividad_id: ae.id).take
	        			obs= ObservacionTutor.where(informe_actividad_id: ae.id).take
	        			if !obs.blank?
	        				if !ai.blank?
								data61 = [[{:text=> actv.actividad.to_s, :align=>:left}, {:text => ai.descripcion.to_s, :align=>:left}, {:text => obs.observaciones.to_s, :align=>:left}]] # datos que se desean en la tabla
							else
								data61 = [[{:text=> actv.actividad.to_s, :align=>:left}, {:text => "", :align=>:left}, {:text => obs.observaciones.to_s, :align=>:left}]] # datos que se desean en la tabla
							end
						else
							if !ai.blank?
								data61 = [[{:text=> actv.actividad.to_s, :align=>:left}, {:text => ai.descripcion.to_s, :align=>:left}, {:text => "", :align=>:left}]] # datos que se desean en la tabla
							else
								data61 = [[{:text=> actv.actividad.to_s, :align=>:left}, {:text => "", :align=>:left}, {:text => "", :align=>:left}]] # datos que se desean en la tabla
							end
						end
						pdf.table data61, # lineas para generar la tabla en el docuemnto
						:border_style => :grid, #:underline_header
						:font_size  => 8, 
						:horizontal_padding => 6,
						:vertical_padding   => 3,
						:border_width => 0.7, 
						:column_widths => { 0 => 173, 1 => 173, 2 => 173}, 
						:position => :left,
						:align => { 0 => :left, 1 => :left, 2=> :left}
						
					end
				else
					data61=[[{:text=> "No hubo.", :align=>:left}, {:text => "", :align=>:left}, {:text => "", :align=>:left}]] # datos que se desean en la tabla
					pdf.table data61, # lineas para generar la tabla en el docuemnto
					:border_style => :grid, #:underline_header
					:font_size  => 8, 
					:horizontal_padding => 6,
					:vertical_padding   => 3,
					:border_width => 0.7, 
					:column_widths => { 0 => 173, 1 => 173, 2 => 173}, 
					:position => :left,
					:align => { 0 => :left, 1 => :left, 2=> :left}
				end
				x=x+1
			end
			
			pdf.text("\n")
			
			#APARTADO 7
			x=13
			pdf.text(x.to_s+".- OTRAS ACTIVIDADES: \n", :style => :bold, :size  => 10)
			data7 = [[{:text=>"CONTEMPLADAS EN EL PLAN DE FORMACIÓN Y CAPACITACIÓN:",:align=>:center,:font_style => :bold}, {:text =>"NO CONTEMPLADAS EN EL PLAN DE FORMACIÓN Y CAPACITACIÓN", :align=>:center,:font_style => :bold}]] # datos que se desean en la tabla
			
			pdf.table data7,  # lineas para generar la tabla en el docuemnto
			:border_style => :grid, #:underline_header
			:font_size  => 8, 
			:horizontal_padding => 6,
			:vertical_padding   => 2,
			:border_width => 0.7, 
			:column_widths => { 0 => 259, 1 => 259}, 
			:position => :left,
			:align => {0 => :left, 1 => :left}
			if info_otras != []
				info_otras.each do |actv|
					ae = InformeActividad.where(actividad_id: actv.id, informe: informe.id).take
					ai = ActividadEjecutada.where(informe_actividad_id: ae.id).take
					if ai
						data71 = [[{:text=> actv.actividad.to_s, :align=>:left}, {:text => ai.descripcion.to_s, :align=>:left}]] # datos que se desean en la tabla
					else
						data71 = [[{:text=> actv.actividad.to_s, :align=>:left}, {:text => "" , :align=>:left}]] # datos que se desean en la tabla
					end
					pdf.table data71, # lineas para generar la tabla en el docuemnto
					:border_style => :grid, #:underline_header
					:font_size  => 8, 
					:horizontal_padding => 6,
					:vertical_padding   => 2,
					:border_width => 0.7, 
					:column_widths => { 0 => 259, 1 => 259}, 
					:position => :left,
					:align => {0 => :left, 1 => :left}
				end
			else
				data71=[[{:text=> "No hubo.", :align=>:left}, {:text => "", :align=>:left}]] # datos que se desean en la tabla
				pdf.table data71, # lineas para generar la tabla en el docuemnto
				:border_style => :grid, #:underline_header
				:font_size  => 8, 
				:horizontal_padding => 6,
				:vertical_padding   => 2,
				:border_width => 0.7, 
				:column_widths => { 0 => 259, 1 => 259}, 
				:position => :left,
				:align => {0 => :left, 1 => :left}
			end
			x=x+1
			pdf.text("\n")
			x=14
			#aparatdo 8
			punto='. '
			pdf.text(x.to_s+".- CONCLUSIONES:", :style => :bold, :size  => 10)
			

			if !informe.conclusiones.blank?
				data10 = [[{:text=> informe.conclusiones.to_s, :align=> :left}]] # datos que se desean en la tabla
				
				pdf.table data10, # lineas para generar la tabla en el docuemnto
				:border_style => :grid, #:underline_header
				:font_size  => 8, 
				:horizontal_padding => 6,
				:vertical_padding   => 3,
				:border_width => 0.7, 
				:column_widths => { 0 => 520}, 
				:position => :left,
				:align => { 0 => :left}
				
			else
				data10 = [[{:text=> " ", :align=> :left}]] # datos que se desean en la tabla
				
				pdf.table data10, # lineas para generar la tabla en el docuemnto
				:border_style => :grid, #:underline_header
				:font_size  => 8, 
				:horizontal_padding => 6,
				:vertical_padding   => 3,
				:border_width => 0.7, 
				:column_widths => { 0 => 520}, 
				:position => :left,
				:align => { 0 => :left}
			end
			
			pdf.text("\n")
			x=x+1
			
			#aparatdo 9
			x=15
			pdf.text(x.to_s+".- OPINIÓN DEL TUTOR:", :style => :bold, :size  => 10)
			
			if !informe.opinion_tutor.blank?
				data11 = [[{:text=> informe.opinion_tutor.to_s, :align=> :left}]] # datos que se desean en la tabla
				
				pdf.table data11, # lineas para generar la tabla en el docuemnto
				:border_style => :grid, #:underline_header
				:font_size  => 8, 
				:horizontal_padding => 6,
				:vertical_padding   => 3,
				:border_width => 0.7, 
				:column_widths => { 0 => 520}, 
				:position => :left,
				:align => { 0 => :left}
				
			else
				data11 = [[{:text=> " ", :align=> :left}]] # datos que se desean en la tabla
				
				pdf.table data11, # lineas para generar la tabla en el docuemnto
				:border_style => :grid, #:underline_header
				:font_size  => 8, 
				:horizontal_padding => 6,
				:vertical_padding   => 3,
				:border_width => 0.7, 
				:column_widths => { 0 => 520}, 
				:position => :left,
				:align => { 0 => :left}
			end
			
						
			x=16
			pdf.text("\n")
			pdf.text(x.to_s+".- JUSTIFICACIONES:", :style => :bold, :size  => 10)
			
			if !informe.justificaciones.blank?
				data112 = [[{:text=> informe.justificaciones.to_s, :align=> :left}]] # datos que se desean en la tabla
				
				pdf.table data112, # lineas para generar la tabla en el docuemnto
				:border_style => :grid, #:underline_header
				:font_size  => 8, 
				:horizontal_padding => 6,
				:vertical_padding   => 3,
				:border_width => 0.7, 
				:column_widths => { 0 => 520}, 
				:position => :left,
				:align => { 0 => :left}
				
			else
				data112 = [[{:text=> " ", :align=> :left}]] # datos que se desean en la tabla
				
				pdf.table data112, # lineas para generar la tabla en el docuemnto
				:border_style => :grid, #:underline_header
				:font_size  => 8, 
				:horizontal_padding => 6,
				:vertical_padding   => 3,
				:border_width => 0.7, 
				:column_widths => { 0 => 520}, 
				:position => :left,
				:align => { 0 => :left}
			end
			
						
			#FIN DEL INFORME		
			
			
			pdf.text("\n")
			data12 = [
				[{:text=>"<NAME>: \n", :font_style => :bold}, {:text => 'Fecha:', :align=>:left,  :font_style => :bold} ],
				[{:text=>"Adecuación del Plan de Formación y Capacitación Aprobado por el Consejo de Escuela o Instituto en Sesión de Fecha: \n",  :font_style => :bold}, {:text => 'Adecuación del Plan de Formación y Capacitación Aprobado por el Consejo de la Facultad de Ciencias en Sesión de Fecha:', :align=>:left,  :font_style => :bold} ]] # cuadro final del documento
		  
			pdf.table data12, # lineas para generar la tabla en el docuemnto
			:border_style => :grid, #:underline_header
			:font_size  => 8, 
			:horizontal_padding => 6,
			:vertical_padding   => 15,
			:border_width => 0.7, 
			:column_widths => {0 => 260, 1=>260}, 
			:position => :left,
			:align => {0 => :left, 1=> :left}

			@i = documents.size
			pdf.text("\n")
			pdf.text("Cantidad de soportes adjuntos:"+ @i.to_s+" \n", :style => :bold, :size  => 10)
			
			
		end
		#####################+
		fechaActual = Date.current.to_s
		if numeroDeVersion == nil
   			nombre_archivo= instructor.ci.to_s+'-'+fechaActual+'-informe.pdf' # se arma el nombre del documento 
		else
   			nombre_archivo= instructor.ci.to_s+'-'+fechaActual+'-informeV'+numeroDeVersion.to_s+'.pdf' # se arma el nombre del documento 
		end
		url = "#{Rails.root}/tmp/PDFs/" + nombre_archivo
		pdf.render_file(url) # creación del docuemnto bajo su nombre
		return nombre_archivo
	end
end<file_sep>/forminst_new1/test/helpers/forminst_helper_test.rb
require 'test_helper'

class ForminstHelperTest < ActionView::TestCase
end
<file_sep>/forminst_new1/app/views/observacionactividadinformes/index.json.jbuilder
json.array!(@observacionactividadinformes) do |observacionactividadinforme|
  json.extract! observacionactividadinforme, :id, :id, :informeActividadId, :revisionId, :observacion
  json.url observacionactividadinforme_url(observacionactividadinforme, format: :json)
end
<file_sep>/forminst_new1/app/controllers/observacionactividadadecuacions_controller.rb
class ObservacionactividadadecuacionsController < ApplicationController
  before_action :set_observacionactividadadecuacion, only: [:show, :edit, :update, :destroy]

  # GET /observacionactividadadecuacions
  # GET /observacionactividadadecuacions.json
  def index
    @observacionactividadadecuacions = Observacionactividadadecuacion.all
  end

  # GET /observacionactividadadecuacions/1
  # GET /observacionactividadadecuacions/1.json
  def show
  end

  # GET /observacionactividadadecuacions/new
  def new
    @observacionactividadadecuacion = Observacionactividadadecuacion.new
  end

  # GET /observacionactividadadecuacions/1/edit
  def edit
  end

  # POST /observacionactividadadecuacions
  # POST /observacionactividadadecuacions.json
  def create
    @observacionactividadadecuacion = Observacionactividadadecuacion.new(observacionactividadadecuacion_params)

    respond_to do |format|
      if @observacionactividadadecuacion.save
        format.html { redirect_to @observacionactividadadecuacion, notice: 'Observacionactividadadecuacion was successfully created.' }
        format.json { render :show, status: :created, location: @observacionactividadadecuacion }
      else
        format.html { render :new }
        format.json { render json: @observacionactividadadecuacion.errors, status: :unprocessable_entity }
      end
    end
  end

  # PATCH/PUT /observacionactividadadecuacions/1
  # PATCH/PUT /observacionactividadadecuacions/1.json
  def update
    respond_to do |format|
      if @observacionactividadadecuacion.update(observacionactividadadecuacion_params)
        format.html { redirect_to @observacionactividadadecuacion, notice: 'Observacionactividadadecuacion was successfully updated.' }
        format.json { render :show, status: :ok, location: @observacionactividadadecuacion }
      else
        format.html { render :edit }
        format.json { render json: @observacionactividadadecuacion.errors, status: :unprocessable_entity }
      end
    end
  end

  # DELETE /observacionactividadadecuacions/1
  # DELETE /observacionactividadadecuacions/1.json
  def destroy
    @observacionactividadadecuacion.destroy
    respond_to do |format|
      format.html { redirect_to observacionactividadadecuacions_url, notice: 'Observacionactividadadecuacion was successfully destroyed.' }
      format.json { head :no_content }
    end
  end

  private
    # Use callbacks to share common setup or constraints between actions.
    def set_observacionactividadadecuacion
      @observacionactividadadecuacion = Observacionactividadadecuacion.find(params[:id])
    end

    # Never trust parameters from the scary internet, only allow the white list through.
    def observacionactividadadecuacion_params
      params.require(:observacionactividadadecuacion).permit(:id, :revisionId, :adecuacionActividadId, :observacion, :fecha)
    end
end
<file_sep>/forminst_new1/app/controllers/adecuacionactividads_controller.rb
class AdecuacionactividadsController < ApplicationController
  before_action :set_adecuacionactividad, only: [:show, :edit, :update, :destroy]

  # GET /adecuacionactividads
  # GET /adecuacionactividads.json
  def index
    @adecuacionactividads = Adecuacionactividad.all
  end

  # GET /adecuacionactividads/1
  # GET /adecuacionactividads/1.json
  def show
  end

  # GET /adecuacionactividads/new
  def new
    @adecuacionactividad = Adecuacionactividad.new
  end

  # GET /adecuacionactividads/1/edit
  def edit
  end

  # POST /adecuacionactividads
  # POST /adecuacionactividads.json
  def create
    @adecuacionactividad = Adecuacionactividad.new(adecuacionactividad_params)

    respond_to do |format|
      if @adecuacionactividad.save
        format.html { redirect_to @adecuacionactividad, notice: 'Adecuacionactividad was successfully created.' }
        format.json { render :show, status: :created, location: @adecuacionactividad }
      else
        format.html { render :new }
        format.json { render json: @adecuacionactividad.errors, status: :unprocessable_entity }
      end
    end
  end

  # PATCH/PUT /adecuacionactividads/1
  # PATCH/PUT /adecuacionactividads/1.json
  def update
    respond_to do |format|
      if @adecuacionactividad.update(adecuacionactividad_params)
        format.html { redirect_to @adecuacionactividad, notice: 'Adecuacionactividad was successfully updated.' }
        format.json { render :show, status: :ok, location: @adecuacionactividad }
      else
        format.html { render :edit }
        format.json { render json: @adecuacionactividad.errors, status: :unprocessable_entity }
      end
    end
  end

  # DELETE /adecuacionactividads/1
  # DELETE /adecuacionactividads/1.json
  def destroy
    @adecuacionactividad.destroy
    respond_to do |format|
      format.html { redirect_to adecuacionactividads_url, notice: 'Adecuacionactividad was successfully destroyed.' }
      format.json { head :no_content }
    end
  end

  private
    # Use callbacks to share common setup or constraints between actions.
    def set_adecuacionactividad
      @adecuacionactividad = Adecuacionactividad.find(params[:id])
    end

    # Never trust parameters from the scary internet, only allow the white list through.
    def adecuacionactividad_params
      params.require(:adecuacionactividad).permit(:id, :adecuacionId, :actividadId, :anulada, :semestre)
    end
end
<file_sep>/forminst_new1/test/controllers/entidads_controller_test.rb
require 'test_helper'

class EntidadsControllerTest < ActionController::TestCase
  setup do
    @entidad = entidads(:one)
  end

  test "should get index" do
    get :index
    assert_response :success
    assert_not_nil assigns(:entidads)
  end

  test "should get new" do
    get :new
    assert_response :success
  end

  test "should create entidad" do
    assert_difference('Entidad.count') do
      post :create, entidad: { escuelaId: @entidad.escuelaId, id: @entidad.id, nombre: @entidad.nombre }
    end

    assert_redirected_to entidad_path(assigns(:entidad))
  end

  test "should show entidad" do
    get :show, id: @entidad
    assert_response :success
  end

  test "should get edit" do
    get :edit, id: @entidad
    assert_response :success
  end

  test "should update entidad" do
    patch :update, id: @entidad, entidad: { escuelaId: @entidad.escuelaId, id: @entidad.id, nombre: @entidad.nombre }
    assert_redirected_to entidad_path(assigns(:entidad))
  end

  test "should destroy entidad" do
    assert_difference('Entidad.count', -1) do
      delete :destroy, id: @entidad
    end

    assert_redirected_to entidads_path
  end
end
<file_sep>/forminst_new1/config/routes.rb
Rails.application.routes.draw do
  resources :documents
	post 'iniciotutor/ver_detalles_plan', to: 'iniciotutor#ver_detalles_plan'
	get 'adecuacions/descargar_pdf', to: 'adecuacions#descargar_pdf'
	get ':controller(/:action(/:id(.:format)))'
	post ':controller(/:action(/:id(.:format)))'
	root 'forminst#index'

  resources :resumes, only: [:index, :new, :create, :destroy]
  root "resumes#index"

end
<file_sep>/forminst_new1/app/models/estatus_informe.rb
class EstatusInforme < ActiveRecord::Base
	belongs_to :informe
	belongs_to :tipo_estatus
end
<file_sep>/forminst_new1/app/models/tiporesultado.rb
class Tiporesultado < ActiveRecord::Base
	belongs_to :tipoactividad
	has_one :resultado
end
<file_sep>/forminst_new1/app/views/usuarios/show.json.jbuilder
json.extract! @usuario, :id, :id, :user, :ldap, :activo, :password, :email, :created_at, :updated_at
<file_sep>/forminst_new1/app/views/observaciontutors/index.json.jbuilder
json.array!(@observaciontutors) do |observaciontutor|
  json.extract! observaciontutor, :id, :id, :informeActividadId, :observacion, :fecha, :actual
  json.url observaciontutor_url(observaciontutor, format: :json)
end
<file_sep>/forminst_new1/app/views/informeactividads/show.json.jbuilder
json.extract! @informeactividad, :id, :id, :informeId, :actividadId, :created_at, :updated_at
<file_sep>/forminst_new1/app/models/revision.rb
class Revision < ActiveRecord::Base
	belongs_to :tipo_estatus
	belongs_to :informe
	has_many :observacion_actividadad_adecuacion
	belongs_to :adecuacion
	has_many :observacion_actividad_informe
end<file_sep>/forminst_new1/app/views/escuelas/show.json.jbuilder
json.extract! @escuela, :id, :id, :nombre, :created_at, :updated_at
<file_sep>/forminst_new1/app/models/entidad.rb
class Entidad < ActiveRecord::Base
	belongs_to :usuario
	belongs_to :escuela

	has_many :usuarioentidad
end<file_sep>/forminst_new1/app/controllers/firmas_controller.rb
class DocumentsController < ApplicationController
  layout 'ly_inicio_tutor'
  before_action :set_document, only: [:show, :edit, :update, :destroy]

  # GET /documents
  # GET /documents.json
  def index
    if session[:usuario_id] && session[:tutor]
      @plan = Planformacion.where(id: session[:plan_id]).take
      @documents = []
      if !session[:informe_id].blank?
        @documents = Document.where(adecuacion_id: session[:adecuacion_id], informe_id: session[:informe_id]).all
      else
        @documents = Document.where(adecuacion_id: session[:adecuacion_id], informe_id: nil).all
      end
    else
      redirect_to controller:"forminst", action: "index"
    end
  end

  # GET /documents/1
  # GET /documents/1.json
  def show
    send_data(@document.file_contents,
              type: @document.content_type,
              filename: @document.filename)
  end

  # GET /documents/new
  def new
    @bool_enviado = 0
    @adecuacion = Adecuacion.where(planformacion_id: session[:plan_id]).take
    if session[:informe_id].blank?
      estatus_x = EstatusAdecuacion.where(adecuacion_id: @adecuacion.id, actual: 1).take
    else
      estatus_x = EstatusInforme.where(informe_id: session[:informe_id], actual: 1).take
    end
    if (estatus_x.estatus_id != 6 && estatus_x.estatus_id != 5)
      @bool_enviado = 1
    end
    if ( @bool_enviado == 1)
      flash.now[:info]="No puede añadir soportes, ya ha enviado la adecuación"
    else
      @document = Document.new
    end
  end

  # GET /documents/1/edit
  def edit
  end

  # POST /documents
  # POST /documents.json
  def create
    if session[:usuario_id] && session[:tutor]
	    if params[:document].present?
			@document = Document.new(document_params)
			@planformacion = Planformacion.find(session[:plan_id])
			@adecuacion = Adecuacion.where(planformacion_id: session[:plan_id]).take
			@document.instructor_id = @planformacion.instructor_id
			@document.tutor_id = session[:usuario_id]
			@document.adecuacion_id = @adecuacion.id
			@document.informe_id = session[:informe_id]
			if @document.save
			flash[:success]="El documento se ha subido con exito"
			redirect_to controller:"documents", action: "index"
			else
			flash[:danger]="El documento no se ha cargado, recuerde que debe pesar menos de 1MB"
			redirect_to controller:"documents", action: "new"
			end
		else
		flash[:info]="Debe seleccionar un archivo antes de cargar"
		redirect_to controller:"documents", action: "new"
		end
    else
      redirect_to controller:"forminst", action: "index"
    end
  end

  # PATCH/PUT /documents/1
  # PATCH/PUT /documents/1.json
  def update
    respond_to do |format|
      if @document.update(document_params)
        format.html { redirect_to @document, notice: 'Document was successfully updated.' }
        format.json { render :show, status: :ok, location: @document }
      else
        format.html { render :edit }
        format.json { render json: @document.errors, status: :unprocessable_entity }
      end
    end
  end

  # DELETE /documents/1
  # DELETE /documents/1.json
  def destroy
    @document.destroy
    respond_to do |format|
      flash[:success]="El documento fue borrado con exito"
      format.html { redirect_to documents_url }
      format.json { head :no_content }
    end
  end

  private
    # Use callbacks to share common setup or constraints between actions.
    def set_document
      @document = Document.find(params[:id])
    end

    # Never trust parameters from the scary internet, only allow the white list through.
    def document_params
     params.require(:document).permit(:file)
    end
end
<file_sep>/forminst_new1/app/views/escuelas/index.json.jbuilder
json.array!(@escuelas) do |escuela|
  json.extract! escuela, :id, :id, :nombre
  json.url escuela_url(escuela, format: :json)
end
<file_sep>/forminst_new1/app/controllers/informes_controller.rb
class InformesController < ApplicationController
  layout 'ly_inicio_tutor'
    
  def ver_crear_informe
    @ejecutada = 'ejecutada'
    @observacion = 'observacion'
    
    if session[:usuario_id] && session[:tutor]
      @informes= Informe.where(planformacion_id: session[:plan_id],numero: params[:informe_id]).take
      if !@informes.blank?
        flash[:danger]= "Este informe ya fue creado"
        redirect_to controller:"informes", action: "listar_informes"
      else
        if session[:adecuacion_id]
          @adecuacion= Adecuacion.find(session[:adecuacion_id])
          esta = EstatusAdecuacion.where(adecuacion_id: session[:adecuacion_id], actual: 1).take
          if esta.estatus_id == 6 
            flash[:danger]= "La adecuación debe ser enviada/aprobada para poder crear algun informe"
            redirect_to controller:"informes", action: "listar_informes"
          end
          @actividadesa= []
          @actividadesadoc= []
          @actividadesainv= []
          @actividadesaext= []
          @actividadesafor= []
          @actividadesaotr= []
          @actividadesaobli= []
          @actividadesadocejec = []
          @actividadesainvejec = []
          @actividadesaextejec = []
          @actividadesaforejec = []
          @actividadesaotrejec = []
          @fecha_inicio1 = nil
          @fecha_fin1 = nil
          numero_informe = params[:informe_id].to_i
          if numero_informe == 1 || numero_informe == 2 || numero_informe == 4 || numero_informe == 5
            # Si el informe es alguno semestral
            if(numero_informe == 1)
              @nombre_informe = "PRIMER SEMESTRAL"
              @tipo_informe=1 
              @numero_informe=1
              @actividadesa= AdecuacionActividad.where(adecuacion_id: @adecuacion.id, semestre: 1).all
            elsif(numero_informe == 2)
              @nombre_informe = "<NAME>"
              @tipo_informe=2
              @numero_informe=2
              @actividadesa= AdecuacionActividad.where(adecuacion_id: @adecuacion.id, semestre: 2).all
            elsif(numero_informe == 4)
              @nombre_informe = "<NAME>"
              @tipo_informe=4
              @numero_informe=4
              @actividadesa= AdecuacionActividad.where(adecuacion_id: @adecuacion.id, semestre: 3).all
            elsif(numero_informe == 5)
              @nombre_informe = "<NAME>"
              @tipo_informe=5
              @numero_informe=5
              @actividadesa= AdecuacionActividad.where(adecuacion_id: @adecuacion.id, semestre: 4).all
            end
            @actividadesa.each do |actade| 
              @act= Actividad.find(actade.actividad_id)
              tipo= @act.tipo_actividad_id
              if tipo==1
                @actividadesadoc.push(@act)
              elsif tipo==2
                @actividadesainv.push(@act)
              elsif tipo==3
                @actividadesaext.push(@act)
              elsif tipo==4
                @actividadesafor.push(@act)
              elsif tipo==5
                @actividadesaotr.push(@act)
              end
            end
          elsif params[:informe_id].to_i ==3
            # Si el informe es el primer anual
            puts "HELLLOOOOOO"
            @nombre_informe = "<NAME>"
            @tipo_informe=3
            @numero_informe=3
            informe1 = Informe.where( planformacion_id: session[:plan_id], numero: 1).take
            informe2 = Informe.where( planformacion_id: session[:plan_id], numero: 2).take
            if informe1.blank? || informe2.blank?
              flash[:danger] = "Debe crear primero el primer y segundo informe semestral "
              redirect_to controller:"informes", action: "listar_informes"
              return 0
            end
            @fecha_inicio1 = informe1.fecha_inicio
            @fecha_fin1 = informe2.fecha_fin 
            @actividadesa= AdecuacionActividad.where(adecuacion_id: @adecuacion.id, semestre: [1,2]).all
            @actividadesa.each do |actade| 
              @act= Actividad.find(actade.actividad_id)
              begin
                @actividadesi= InformeActividad.where(actividad_id: actade.actividad_id).take
                @actinf= ActividadEjecutada.where(informe_actividad_id: @actividadesi.id).take
              rescue => ex
                @actinf= []
              end
              tipo= @act.tipo_actividad_id
              if tipo==1
                @actividadesadoc.push(@act)
                @actividadesadocejec.push(@actinf)
              elsif tipo==2
                @actividadesainv.push(@act)
                @actividadesainvejec.push(@actinf)
              elsif tipo==3
                @actividadesaext.push(@act)
                @actividadesaextejec.push(@actinf)
              elsif tipo==4
                @actividadesafor.push(@act)
                @actividadesaforejec.push(@actinf)
              elsif tipo==5
                @actividadesaotr.push(@act)
                if(@actinf.blank?)
                  @actividadesaotrejec.push([])
                else
                  @actividadesaotrejec.push(@actinf)
                end
              end
            end
          elsif params[:informe_id].to_i ==6
            # Si el informe es el segundo anual
            @nombre_informe = "SEGUNDO ANUAL"
            @tipo_informe=6
            @numero_informe=6
            informe1 = Informe.where( planformacion_id: session[:plan_id], numero: 4).take
            informe2 = Informe.where( planformacion_id: session[:plan_id], numero: 5).take
            if informe1.blank? || informe2.blank?
              flash[:danger] = "Debe crear primero el tercer y cuarto informe semestral "
              redirect_to controller: "informes", action: "listar_informes"
              return 0
            end
            @fecha_inicio1 = informe1.fecha_inicio
            @fecha_fin1 = informe2.fecha_fin 
            @actividadesa= AdecuacionActividad.where(adecuacion_id: @adecuacion.id, semestre: [3,4]).all
            @actividadesa.each do |actade| 
              @act= Actividad.find(actade.actividad_id)
              tipo= @act.tipo_actividad_id
              begin
                @actividadesi= InformeActividad.where(actividad_id: actade.actividad_id).take
                @actinf= ActividadEjecutada.where(informe_actividad_id: @actividadesi.id).take
              rescue => ex
                @actividadesi= []
                @actinf= []
              end
              if tipo==1
                @actividadesadoc.push(@act)
                @actividadesadocejec.push(@actinf)
              elsif tipo==2
                @actividadesainv.push(@act)
                @actividadesainvejec.push(@actinf)
              elsif tipo==3
                @actividadesaext.push(@act)
                @actividadesaextejec.push(@actinf)
              elsif tipo==4
                @actividadesafor.push(@act)
                @actividadesaforejec.push(@actinf)
              elsif tipo==5
                @actividadesaotr.push(@act)
                if(@actinf.blank?)
                  @actividadesaotrejec.push([])
                else
                  @actividadesaotrejec.push(@actinf)
                end
              end
            end
          elsif params[:informe_id].to_i ==7
            # Si el informe es el final
            @nombre_informe = "PRIMER FINAL"
            @tipo_informe=7
            @numero_informe=7
            informe1 = Informe.where( planformacion_id: session[:plan_id], numero: 3).take
            informe2 = Informe.where( planformacion_id: session[:plan_id], numero: 6).take
            if informe1.blank? || informe2.blank?
              flash[:danger] = "Debe crear primero el primer y segundo informe anual "
              redirect_to controller: "informes", action: "listar_informes"
              return 0
            end
            @fecha_inicio1 = informe1.fecha_inicio
            @fecha_fin1 = informe2.fecha_fin 
            puts @adecuacion.id
            @actividadesa= AdecuacionActividad.where(adecuacion_id: @adecuacion.id, semestre: [1,2,3,4]).all
            @actividadesa.each do |actade| 
              @act= Actividad.find(actade.actividad_id)
              tipo= @act.tipo_actividad_id
              puts actade.actividad_id
              begin
                @actividadesi= InformeActividad.where(actividad_id: actade.actividad_id).take
                @actinf= ActividadEjecutada.where(informe_actividad_id: @actividadesi.id).take
              rescue => ex
                @actividadesi= []
                @actinf= []
              end
              if tipo==1
                @actividadesadoc.push(@act)
                @actividadesadocejec.push(@actinf)
              elsif tipo==2
                @actividadesainv.push(@act)
                @actividadesainvejec.push(@actinf)
              elsif tipo==3
                @actividadesaext.push(@act)
                @actividadesaextejec.push(@actinf)
              elsif tipo==4
                @actividadesafor.push(@act)
                @actividadesaforejec.push(@actinf)
              elsif tipo==5
                @actividadesaotr.push(@act)
                if(@actinf.blank?)
                  @actividadesaotrejec.push([])
                else
                  @actividadesaotrejec.push(@actinf)
                end
              elsif tipo==7
                @actividadesaobli.push(@act)
              end
            end
          else
            flash[:danger]= "Ya completo el numero de informes, no puede crear más"
            redirect_to controller:"informes", action: "listar_informes"
          end

          @mes= ['Enero', 'Febrero', 'Marzo', 'Abril', 'Mayo', 'Junio', 'Julio', 'Agosto', 'Septiembre', 'Octubre', 'Noviembre', 'Diciembre']
          @dia= [1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31]
          @tipos= [['Libros',1], ['Artículo de Revista',2], ['Artículo de Prensa',3], ['CD',4], ['Manuales',5], ['Publicaciones Electrónicas',6]]
        else
          flash[:warning]= "Error, no hay sesion de adecuacion"
          redirect_to controller:"iniciotutor", action: "ver_detalles_adecuacion"
        end
      end
    else
      redirect_to controller:"forminst", action: "index"
    end
  end

  def eliminar_informe
    if !session[:informe_id].blank?
      @informe= Informe.find(session[:informe_id])
      @est= EstatusInforme.where(informe_id: @informe.id, actual: 1).take
      if @est.estatus_id == 6
        @documents = Document.where(adecuacion_id: session[:adecuacion_id], informe_id: session[:informe_id]).all
        @documents.each do |documents| 
          documents.destroy
        end
        @informesAct = InformeActividad.where(informe_id: session[:informe_id]).all
        @informesAct.each do |informeAct| 
          @actividadEjec= ActividadEjecutada.where(informe_actividad_id: informeAct.id).take
          if !@actividadEjec.blank?
            @actividadEjec.destroy
          end
          informeAct.destroy
        end
        @informe.destroy
        flash[:success]= "El informe fue eliminado correctamente"
      else
        flash[:danger]= "No está permitido eliminar este informe"
      end
    else
      flash[:info]= "Seleccione un informe"
    end
    redirect_to controller:"informes", action: "listar_informes"
  end

  def detalles_informe2
    if session[:usuario_id] && session[:tutor]
      @nombre = session[:nombre_usuario]   
      @CJagregado = ["no","no","no","no"]
      if not @nombre
        print "NO HAY USUARIO"
      end
      @persona = Persona.where(usuario_id: session[:usuario_id]).take
      if session[:plan_id]
        @planformacion = Planformacion.find(session[:plan_id])
      else
        @planformacion = Planformacion.find(session[:plan_id])
      end

      if !@planformacion.blank?
        #Ver si el informe fue rachazado
        cpInstructor = Usuario.find(@planformacion.instructor_id)
        if (cpInstructor.activo == 0)
          @cpBloquear = true
        else
          @cpBloquear = false
        end
        #fin
      end

      if session[:informe_id]
        @informe= Informe.find(session[:informe_id])
        @estatus= EstatusInforme.where(informe_id: @informe.id, actual: 1).take
        @status= TipoEstatus.find(@estatus.estatus_id)
        @est= EstatusInforme.where(informe_id: @informe.id).take
        @numero_informe = @informe.numero
        @fecha1 = @informe.fecha_inicio
        @fecha2 = @informe.fecha_fin
        @modificar= false
        if @est.estatus_id == 6
          @modificar=true
        end
        @docencia= "docencia"
        @j= 0
        @k=0
        @actividadesa= InformeActividad.where(informe_id: @informe.id).all
        @actividadesadoc= []
        @actividadesainv= []
        @actividadesaext= []
        @actividadesafor= []
        @actividadesaotr= []
        @actividadesaobli= []
        @semestres=[]
        @resultados= []
        @resultados2= ""
        @resultados2a= []
        @resultados2b= []
        @actividadese= []
        @observaciont= []
        @observacionesExtras = []

        @bool_enviado = 0
        if (@estatus.estatus_id != 6 && @estatus.estatus_id != 5)
          @bool_enviado = 1
        end

        @actividadesa.each do |actade| 
          if actade.actividad_id == nil #Es el caso que es un resultado no contemplado en el plan de formacion o un avancwe de postgrado
            if @bool_enviado == 0
              @res= Resultado.where(informe_actividad_id: actade.id).all
              @resultados.push(@res)
            else
              if @resultados2b != []
                @resultados2b= Array.new(0) { |i|  }
              end
              @res= Resultado.where(informe_actividad_id: actade.id).all
              @resultados.push(@res)
              @res.each do |cpresultado| 
                @cparray = ["a", "a", "a", "a", "a", "a", "a", "a", "a", "a", "a", "a", "a", "a", "a", "a", "a", "a", "a", "a", "a", "a", "a", "a", "a", "a", "a", "a", "a", "a", "a", "a"]
                @cparray[0] = cpresultado.titulo
                @cparray[1] = cpresultado.autor
                @cparray[2] = cpresultado.nombre_capitulo
                @cparray[3] = cpresultado.autor_capitulo
                @cparray[4] = cpresultado.dia
                @cparray[5] = cpresultado.mes
                @cparray[6] = cpresultado.ano
                @cparray[7] = cpresultado.ciudad
                @cparray[8] = cpresultado.estado
                @cparray[9] = cpresultado.pais
                @cparray[10] = cpresultado.organizador
                @cparray[11] = cpresultado.duracion
                @cparray[12] = cpresultado.editor
                @cparray[13] = cpresultado.titulo_libro
                @cparray[14] = cpresultado.autor_libro
                @cparray[15] = cpresultado.nombre_revista
                @cparray[16] = cpresultado.nombre_periodico
                @cparray[17] = cpresultado.nombre_acto
                @cparray[18] = cpresultado.paginas
                @cparray[19] = cpresultado.nombre_paginaw
                @cparray[20] = cpresultado.sitio_paginaw
                @cparray[21] = cpresultado.infoafiliaion
                @cparray[22] = cpresultado.cptipo
                @cparray[23] = cpresultado.nombre
                @cparray[24] = cpresultado.ISSN_impreso
                @cparray[25] = cpresultado.ISSN_electro
                @cparray[26] = cpresultado.volumen
                @cparray[27] = cpresultado.edicion
                @cparray[28] = cpresultado.DOI
                @cparray[29] = cpresultado.ISBN
                @cparray[30] = cpresultado.universidad
                @cparray[31] = cpresultado.url
                if !@cparray.blank?
                  @noemptyarray = @cparray - ["", nil]
                  if !@resultados2
                    @noemptyarray = @cparray - ["", nil]
                    if !@noemptyarray.join(',').blank?
                      @resultados2 = @noemptyarray.join(',')
                    end
                  else
                    @noemptyarray = @cparray - ["", nil]
                    if !@noemptyarray.join(',').blank?
                      @resultados2 = @noemptyarray.join(',')
                    end
                  end
                  @resultados2b.push(@resultados2)
                end
              end
              @resultados2a.push(@resultados2b)
            end
          else
            @act= Actividad.find(actade.actividad_id)
            tipo= @act.tipo_actividad_id
            if @bool_enviado == 0
              @res= Resultado.where(informe_actividad_id: actade.id).all
              @resultados.push(@res)
            else
              if @resultados2b != []
                @resultados2b= Array.new(0) { |i|  }
              end
              @res= Resultado.where(informe_actividad_id: actade.id).all
              @resultados.push(@res)
              @res.each do |cpresultado| 
                @cparray = ["a", "a", "a", "a", "a", "a", "a", "a", "a", "a", "a", "a", "a", "a", "a", "a", "a", "a", "a", "a", "a", "a", "a", "a", "a", "a", "a", "a", "a", "a", "a", "a"]
                @cparray[0] = cpresultado.titulo
                @cparray[1] = cpresultado.autor
                @cparray[2] = cpresultado.nombre_capitulo
                @cparray[3] = cpresultado.autor_capitulo
                @cparray[4] = cpresultado.dia
                @cparray[5] = cpresultado.mes
                @cparray[6] = cpresultado.ano
                @cparray[7] = cpresultado.ciudad
                @cparray[8] = cpresultado.estado
                @cparray[9] = cpresultado.pais
                @cparray[10] = cpresultado.organizador
                @cparray[11] = cpresultado.duracion
                @cparray[12] = cpresultado.editor
                @cparray[13] = cpresultado.titulo_libro
                @cparray[14] = cpresultado.autor_libro
                @cparray[15] = cpresultado.nombre_revista
                @cparray[16] = cpresultado.nombre_periodico
                @cparray[17] = cpresultado.nombre_acto
                @cparray[18] = cpresultado.paginas
                @cparray[19] = cpresultado.nombre_paginaw
                @cparray[20] = cpresultado.sitio_paginaw
                @cparray[21] = cpresultado.infoafiliaion
                @cparray[22] = cpresultado.cptipo
                @cparray[23] = cpresultado.nombre
                @cparray[24] = cpresultado.ISSN_impreso
                @cparray[25] = cpresultado.ISSN_electro
                @cparray[26] = cpresultado.volumen
                @cparray[27] = cpresultado.edicion
                @cparray[28] = cpresultado.DOI
                @cparray[29] = cpresultado.ISBN
                @cparray[30] = cpresultado.universidad
                @cparray[31] = cpresultado.url
                if !@cparray.blank?
                  @noemptyarray = @cparray - ["", nil]
                  if !@resultados2
                    @noemptyarray = @cparray - ["", nil]
                    if !@noemptyarray.join(',').blank?
                      @resultados2 = @noemptyarray.join(',')
                    end
                  else
                    @noemptyarray = @cparray - ["", nil]
                    if !@noemptyarray.join(',').blank?
                      @resultados2 = @noemptyarray.join(',')
                    end
                  end
                  @resultados2b.push(@resultados2)
                end
              end
              @resultados2a.push(@resultados2b)
            end
            @ae= ActividadEjecutada.where(informe_actividad_id: actade.id).take
            @actividadese.push(@ae)
            @obs= ObservacionTutor.where(informe_actividad_id: actade.id).take
            if @obs==nil
              @observaciont.push("")

              @cpObs= ObservacionActividadInforme.where(informe_actividad_id: actade.id).all
              if @cpObs.blank?
                @observacionesExtras.push("no")
              else

              cpBool = 0
              @cpObs.each do |probar|
                if !probar.observaciones.blank?
                  cpBool = 1
                end
              end

                if cpBool == 0
                  @observacionesExtras.push("no")
                else
                  @observacionesExtras.push("si")
                end
              end
            else
              @observaciont.push(@obs.observaciones)

              @cpObs= ObservacionActividadInforme.where(informe_actividad_id: actade.id).all
              if @cpObs.blank?
                @observacionesExtras.push("no")
              else
              cpBool = 0
              @cpObs.each do |probar|
                if !probar.observaciones.blank?
                  cpBool = 1
                end
              end

                if cpBool == 0
                  @observacionesExtras.push("no")
                else
                  @observacionesExtras.push("si")
                end
              end
            end
            semestre = AdecuacionActividad.where(actividad_id: @act.id).take.semestre
            @semestres[@act.id]=semestre
            if tipo==1
              @actividadesadoc.push(@act)
            elsif tipo==2
              @actividadesainv.push(@act)
            elsif tipo==3
              @actividadesaext.push(@act)
            elsif tipo==4
              @actividadesafor.push(@act)
            elsif tipo==5
              @actividadesaotr.push(@act)
            elsif tipo==7
              @actividadesaobli.push(@act)
            end
          end
        end
      else
        flash[:warning]= "Error, no hay sesion de adecuacion"
        redirect_to controller:"iniciotutor", action: "ver_detalles_adecuacion"
      end
    else
     redirect_to controller:"forminst", action: "index"
    end
  end

def vista_previa
  if (session[:informe_id] && session[:tutor] && session[:informe_id])
    if(!session[:plan_id].blank?)
      @informe= Informe.find(session[:informe_id])
      @TipoSemestre=TipoInforme.where(id: @informe.tipo_id).take
      @fechaActual = Date.current.to_s
      @plan= Planformacion.find(session[:plan_id])
      @nombre_informe = ""
      if (@informe.numero == 1 || @informe.numero == 3)
        @nombre_informe= "<NAME> "
      elsif (@informe.numero == 2 || @informe.numero == 6)
        @nombre_informe= "SEGUNDO INFORME "
      elsif @informe.numero == 4
        @nombre_informe= "<NAME> "
      elsif @informe.numero == 5
        @nombre_informe= "CUARTO INFORME "
      end

      if @informe.tipo_id == 1
        @nombre_informe= @nombre_informe+"SEMESTRAL"
      elsif @informe.tipo_id == 2
        @nombre_informe= @nombre_informe+"ANUAL"
      else
        @nombre_informe= "INFORME "+"FINAL"
      end

      if !@plan.blank?
        #Ver si el informe fue rachazado
        cpInstructor = Usuario.find(@plan.instructor_id)
        if (cpInstructor.activo == 0)
          @cpBloquear = true
        else
          @cpBloquear = false
        end
        #fin
      end
      
      @fechaConcurso = @plan.fecha_inicio
      @usere= Usuarioentidad.where(usuario_id: @plan.instructor_id).take
      @escuela= Escuela.find(@usere.escuela_id)
      @adecuacion= Adecuacion.where(planformacion_id: @plan.id).take
      @adscripcion_docencia= @plan.adscripcion_docencia
      @adscripcion_investigacion= @plan.adscripcion_investigacion
      @persona= Persona.where(usuario_id: @plan.instructor_id).take
      @cpinstruccion = @persona.grado_instruccion
      @user = Usuario.find(@plan.instructor_id)
      @tutor = Persona.where(usuario_id: session[:usuario_id]).take
      @docencia='docencia'
      @investigacion= 'investigacion'
      @obligatoria= 'obligatoria'
      @formacion= 'formacion'
      @extension= 'extension'
      @otra= 'otra' 

      @nombre = session[:nombre_usuario]
      @instructorName = session[:instructorName]
      actividades = AdecuacionActividad.where(adecuacion_id: @adecuacion.id, semestre: 0)
      actividades1 = []
      if !actividades.blank?
        actividades.each do |actividadAde|
          actividad = Actividad.find(actividadAde.actividad_id)
          actividades1.push(actividad)
        end
      end
      @presentacion = ""
      @descripcion = ""
      @docencia = [] 
      @investigacion = []
      @formacion = []  
      @extension = []

      if !actividades1.blank?
        puts "entroooo"
        actividades1.each do |actividadAde|
          if actividadAde.tipo_actividad_id == 9
            if actividadAde.actividad.blank?
              @presentacion = " "
            else
              @presentacion = actividadAde.actividad 
            end
          elsif actividadAde.tipo_actividad_id == 8
            if actividadAde.actividad.blank?
              @descripcion = " "
            else
              @descripcion = actividadAde.actividad  
            end
          elsif actividadAde.tipo_actividad_id == 1
            if actividadAde.actividad.blank?
              @docencia.push(" ")
            else
              @docencia.push(actividadAde)
            end
          elsif actividadAde.tipo_actividad_id == 2
            if actividadAde.actividad.blank?
              @investigacion.push(" ")
            else
              @investigacion.push(actividadAde)
            end
          elsif actividadAde.tipo_actividad_id == 4
            if actividadAde.actividad.blank?
              @formacion.push(" ")
            else
              @formacion.push(actividadAde)  
            end
          elsif actividadAde.tipo_actividad_id == 3
            if actividadAde.actividad.blank?
              @extension.push(" ")
            else
              @extension.push(actividadAde)
            end
          end
        end
      else
        @presentacion = " "
        @descripcion = " "
        @docencia = [" "]  
        @investigacion = [" "]
        @formacion = [" "] 
        @extension = [" "] 
      end

      @periodo = @informe.fecha_inicio.to_s + " al " + @informe.fecha_fin.to_s
      @actividades1doc= []
      @actividades1inv= []
      @actividades1ext= []
      @actividades1for= []
      @actividades1otr= []

      @actividades1= AdecuacionActividad.where(adecuacion_id: @adecuacion.id, semestre: 1).all
      @actividades1.each do |actade| 
        @act= Actividad.find(actade.actividad_id)
        tipo= @act.tipo_actividad_id
        if tipo==1
          @actividades1doc.push(@act)
        else
          if tipo==2
            if @informe.numero == 1
              @resActi= InformeActividad.where(informe_id: @informe.id, actividad_id: @act.id).take
              @res= Resultado.where(informe_actividad_id: @resActi.id).all
            end
            @actividades1inv.push(@act)
          else
            if tipo==3
              @actividades1ext.push(@act)
            else
              if tipo==4
                @actividades1for.push(@act)
              else
                if tipo==5
                  @actividades1otr.push(@act)
                end
              end
            end
          end
        end
      end
      @actividades2doc= []
      @actividades2inv= []
      @actividades2ext= []
      @actividades2for= []
      @actividades2otr= []
      @actividades2= AdecuacionActividad.where(adecuacion_id: @adecuacion.id, semestre: 2).all
      @actividades2.each do |actade| 
      @act= Actividad.find(actade.actividad_id)
      tipo= @act.tipo_actividad_id
        if tipo==1
          @actividades2doc.push(@act)
        else
          if tipo==2
            @actividades2inv.push(@act)
          else
            if tipo==3
              @actividades2ext.push(@act)
            else
              if tipo==4
                @actividades2for.push(@act)
              else
                if tipo==5
                  @actividades2otr.push(@act)
                end
              end
            end
          end
        end
      end


      @actividades3doc= []
      @actividades3inv= []
      @actividades3ext= []
      @actividades3for= []
      @actividades3otr= []
      @actividades3= AdecuacionActividad.where(adecuacion_id: @adecuacion.id, semestre: 3).all
      @actividades3.each do |actade| 
        @act= Actividad.find(actade.actividad_id)
        tipo= @act.tipo_actividad_id
        if tipo==1
          @actividades3doc.push(@act)
        else
          if tipo==2
            @actividades3inv.push(@act)
          else
            if tipo==3
              @actividades3ext.push(@act)
            else
              if tipo==4
                @actividades3for.push(@act)
              else
                if tipo==5
                  @actividades3otr.push(@act)
                end
              end
            end
          end
        end
      end


      @actividades4doc= []
      @actividades4inv= []
      @actividades4ext= []
      @actividades4for= []
      @actividades4otr= []
      @actividades4= AdecuacionActividad.where(adecuacion_id: @adecuacion.id, semestre: 4).all
      @actividades4.each do |actade| 
        @act= Actividad.find(actade.actividad_id)
        tipo= @act.tipo_actividad_id
        if tipo==1
          @actividades4doc.push(@act)
        else
          if tipo==2
            @actividades4inv.push(@act)
          else
            if tipo==3
              @actividades4ext.push(@act)
            else
              if tipo==4
                @actividades4for.push(@act)
              else
                if tipo==5
                  @actividades4otr.push(@act)
                end
              end
            end
          end
        end
      end


      @actividades5doc= []
      @actividades5inv= []
      @actividades5ext= []
      @actividades5for= []
      @actividades5otr= []
      @actividades5= AdecuacionActividad.where(adecuacion_id: @adecuacion.id, semestre: 5).all
      @actividades5.each do |actade| 
        @act= Actividad.find(actade.actividad_id)
        tipo= @act.tipo_actividad_id
        if tipo==1
          @actividades5doc.push(@act)
        elsif tipo==2
          @actividades5inv.push(@act)
        elsif tipo==3
          @actividades5ext.push(@act)
        elsif tipo==4
          @actividades5for.push(@act)
        elsif tipo==5
          @actividades5otr.push(@act)
        end
      end


      @bool_enviado = 0
      estatus_informe = EstatusInforme.where(informe_id: @informe.id, actual: 1).take
      if (estatus_informe.estatus_id != 6 && estatus_informe.estatus_id != 5)
        @bool_enviado = 1
      end
      @j = 0
      @i = 0
      @actividadesa= InformeActividad.where(informe_id: @informe.id).all
      @actividadesadoc= []
      @actividadesainv= []
      @actividadesaext= []
      @actividadesafor= []
      @actividadesaobli= []
      @actividadesaotr= []
      @resultados= []
      @semestres= []
      @CJagregado=["no","no","no","no"]
      @actividadese= []
      @observaciont= []
      @resultTP = []
      @resultPP = []
      @resultPIT = []
      @resultO = []
      @resultAEC = []
      @resultOEC = []
      @resultDCS = []
      @actividadesa.each do |actade| 
        @resultados2 = ""
        @res= Resultado.where(informe_actividad_id: actade.id).all
        if actade.actividad_id == nil #Es el caso que es un resultado no contemplado en el plan de formacion o un avancwe de postgrado
          if !@res.blank?
            @res.each do |res|
              @resultados2 = ""
              @cparray = ["a", "a", "a", "a", "a", "a", "a", "a", "a","a", "a", "a", "a", "a", "a", "a", "a", "a", "a", "a", "a", "a", "a", "a", "a", "a", "a", "a", "a", "a", "a"]
              @cparray[0] = res.titulo.capitalize
              @cparray[1] = res.autor.capitalize
              @cparray[2] = res.nombre_capitulo.to_s.capitalize
              @cparray[3] = res.autor_capitulo.to_s.capitalize
              @cparray[4] = res.dia
              @cparray[5] = res.mes
              @cparray[6] = res.ano
              @cparray[7] = res.ciudad.to_s.capitalize
              @cparray[8] = res.estado.to_s.capitalize
              @cparray[9] = res.pais.to_s.capitalize
              @cparray[10] = res.organizador.to_s.capitalize
              @cparray[11] = res.duracion.to_s.capitalize
              @cparray[12] = res.editor.to_s.capitalize
              @cparray[13] = res.titulo_libro.to_s.capitalize
              @cparray[14] = res.autor_libro.to_s.capitalize
              @cparray[15] = res.nombre_revista.to_s.capitalize
              @cparray[16] = res.nombre_periodico.to_s.capitalize
              @cparray[17] = res.nombre_acto.to_s.capitalize
              @cparray[18] = res.paginas
              @cparray[19] = res.nombre_paginaw.to_s.capitalize
              @cparray[20] = res.sitio_paginaw
              @cparray[21] = res.infoafiliaion.to_s.capitalize
              @cparray[22] = res.cptipo.to_s.capitalize
              @cparray[23] = res.nombre.to_s.capitalize
              @cparray[24] = res.ISSN_impreso.to_s.capitalize
              @cparray[25] = res.ISSN_electro.to_s.capitalize
              @cparray[26] = res.volumen.to_s.capitalize
              @cparray[27] = res.edicion.to_s.capitalize
              @cparray[28] = res.DOI
              @cparray[29] = res.ISBN
              @cparray[30] = res.universidad.to_s.capitalize
              @cparray[31] = res.url
              if !@cparray.blank?
                @noemptyarray = @cparray - ["", nil]
                if !@resultados2
                  @noemptyarray = @cparray - ["", nil]
                  if !@noemptyarray.join(',').blank?
                    @resultados2 = "* " + @noemptyarray
                  end
                else
                  @noemptyarray = @cparray - ["", nil]
                  if !@noemptyarray.join(',').blank?
                    @resultados2 = @resultados2 + @noemptyarray.join(', ')
                  end
                end
              end
              if res.tipo_resultado_id == 1
                @resultTP.push(@resultados2)
              elsif res.tipo_resultado_id == 2
                @resultPP.push(@resultados2)
              elsif res.tipo_resultado_id == 3
                @resultPIT.push(@resultados2)
              elsif res.tipo_resultado_id == 4
                @resultO.push(@resultados2)
              elsif res.tipo_resultado_id == 5
                @resultAEC.push(@resultados2)
              elsif res.tipo_resultado_id == 6
                @resultOEC.push(@resultados2)
              elsif res.tipo_resultado_id == 7
                @resultDCS.push(@resultados2)
              end
              @resultados.push(res)
            end
          end
        else
          @act= Actividad.find(actade.actividad_id)
          tipo= @act.tipo_actividad_id
          if !@res.blank?
            @res.each do |res|
              @resultados2 = ""
              @cparray = ["a", "a", "a", "a", "a", "a", "a", "a", "a","a", "a", "a", "a", "a", "a", "a", "a", "a", "a", "a", "a", "a", "a", "a", "a", "a", "a", "a", "a", "a", "a"]
              @cparray[0] = res.titulo.capitalize
              @cparray[1] = res.autor.capitalize
              @cparray[2] = res.nombre_capitulo.to_s.capitalize
              @cparray[3] = res.autor_capitulo.to_s.capitalize
              @cparray[4] = res.dia
              @cparray[5] = res.mes
              @cparray[6] = res.ano
              @cparray[7] = res.ciudad.to_s.capitalize
              @cparray[8] = res.estado.to_s.capitalize
              @cparray[9] = res.pais.to_s.capitalize
              @cparray[10] = res.organizador.to_s.capitalize
              @cparray[11] = res.duracion.to_s.capitalize
              @cparray[12] = res.editor.to_s.capitalize
              @cparray[13] = res.titulo_libro.to_s.capitalize
              @cparray[14] = res.autor_libro.to_s.capitalize
              @cparray[15] = res.nombre_revista.to_s.capitalize
              @cparray[16] = res.nombre_periodico.to_s.capitalize
              @cparray[17] = res.nombre_acto.to_s.capitalize
              @cparray[18] = res.paginas
              @cparray[19] = res.nombre_paginaw.to_s.capitalize
              @cparray[20] = res.sitio_paginaw
              @cparray[21] = res.infoafiliaion.to_s.capitalize
              @cparray[22] = res.cptipo.to_s.capitalize
              @cparray[23] = res.nombre.to_s.capitalize
              @cparray[24] = res.ISSN_impreso.to_s.capitalize
              @cparray[25] = res.ISSN_electro.to_s.capitalize
              @cparray[26] = res.volumen.to_s.capitalize
              @cparray[27] = res.edicion.to_s.capitalize
              @cparray[28] = res.DOI
              @cparray[29] = res.ISBN
              @cparray[30] = res.universidad.to_s.capitalize
              @cparray[31] = res.url
              if !@cparray.blank?
                @noemptyarray = @cparray - ["", nil]
                if !@resultados2
                  @noemptyarray = @cparray - ["", nil]
                  if !@noemptyarray.join(',').blank?
                    @resultados2 = "* " + @noemptyarray
                  end
                else
                  @noemptyarray = @cparray - ["", nil]
                  if !@noemptyarray.join(',').blank?
                    @resultados2 = @resultados2 + @noemptyarray.join(', ')
                  end
                end
              end
              if res.tipo_resultado_id == 1
                @resultTP.push(@resultados2)
              elsif res.tipo_resultado_id == 2
                @resultPP.push(@resultados2)
              elsif res.tipo_resultado_id == 3
                @resultPIT.push(@resultados2)
              elsif res.tipo_resultado_id == 4
                @resultO.push(@resultados2)
              elsif res.tipo_resultado_id == 5
                @resultAEC.push(@resultados2)
              elsif res.tipo_resultado_id == 6
                @resultOEC.push(@resultados2)
              elsif res.tipo_resultado_id == 7
                @resultDCS.push(@resultados2)
              end
              @resultados.push(res)
            end
          end
        end
        @ae= ActividadEjecutada.where(informe_actividad_id: actade.id).take
        @actividadese.push(@ae)
        @obs= ObservacionTutor.where(informe_actividad_id: actade.id).take
        if @obs==nil
          @observaciont.push("")
        else
          @observaciont.push(@obs.observaciones)
        end
      semestre = AdecuacionActividad.where(actividad_id: @act.id).take.semestre
      @semestres[@act.id]=semestre
        if tipo==1
          @actividadesadoc.push(@act)
        elsif tipo==2
          @actividadesainv.push(@act)
        elsif tipo==3
          @actividadesaext.push(@act)
        elsif tipo==4
          @actividadesafor.push(@act)
        elsif tipo==5
          @actividadesaotr.push(@act)
        elsif tipo==7
          @actividadesaobli.push(@act)
        end
      end
    else
      flash[:info]="Seleccione una adecuación"
      redirect_to controller:"iniciotutor", action: "planformacions"
    end
  else
    flash[:info]= "Seleccione un informe"
    redirect_to controller:"informes", action: "listar_informes"
  end
end

  def ver_detalles_informe

    if session[:usuario_id] && session[:tutor]
      if(!session[:plan_id].blank?)
        @nombre = session[:nombre_usuario]   
        @persona = Persona.where(usuario_id: session[:usuario_id]).take
        if session[:plan_id]
          @planformacion = Planformacion.find(session[:plan_id])
        else
          @planformacion = Planformacion.find(session[:plan_id])
        end

        if !@planformacion.blank?
          #Ver si el informe fue rachazado
          cpInstructor = Usuario.find(@planformacion.instructor_id)
          if (cpInstructor.activo == 0)
            @cpBloquear = true
          else
            @cpBloquear = false
          end
          #fin
        end
            
        if params[:informe_id]
          session[:informe_id] = params[:informe_id]
        end

        if session[:informe_id]

          @instructor = Persona.where(usuario_id: @planformacion.instructor_id).take
          @informe= Informe.find(session[:informe_id])

          #Anual
          if @informe.numero ==3
            begin
              @informe.fecha_inicio = Informe.where( planformacion_id: session[:plan_id], numero: 1).take.fecha_inicio
              @informe.fecha_fin = Informe.where( planformacion_id: session[:plan_id], numero: 2).take.fecha_fin
              @informe.save
            rescue => ex
              @informe.fecha_inicio = "-"
              @informe.fecha_fin = "-"
              @informe.save
              flash[:danger]= "Usted ha eliminado un informe utilizado por este, por favor proceda a eliminar este"
            end
          
          end

          #Anual
          if @informe.numero ==6
            begin
              @informe.fecha_inicio = Informe.where( planformacion_id: session[:plan_id], numero: 4).take.fecha_inicio
              @informe.fecha_fin = Informe.where( planformacion_id: session[:plan_id], numero: 5).take.fecha_fin
              @informe.save
            rescue => ex
              @informe.fecha_inicio = "-"
              @informe.fecha_fin = "-"
              @informe.save
              flash[:danger]= "Usted ha eliminado un informe utilizado por este, por favor proceda a eliminar este"
            end
          end

          #Anual
          if @informe.numero ==7
            begin
              @informe.fecha_inicio = Informe.where( planformacion_id: session[:plan_id], numero: 1).take.fecha_inicio
              @informe.fecha_fin = Informe.where( planformacion_id: session[:plan_id], numero: 4).take.fecha_fin
              @informe.save
            rescue => ex
              @informe.fecha_inicio = "-"
              @informe.fecha_fin = "-"
              @informe.save
              flash[:danger]= "Usted ha eliminado un informe utilizado por este, por favor proceda a eliminar este"
            end
          end

          @periodo = @informe.fecha_inicio.to_s + " al " + @informe.fecha_fin.to_s
          @estatus= EstatusInforme.where(informe_id: @informe.id, actual: 1).take
          @status= TipoEstatus.find(@estatus.estatus_id)
          if (@informe.numero == 1 || @informe.numero == 3)
            @nombre_informe= "Primer Informe "
            session[:numero_informe]=1
          elsif (@informe.numero == 2 || @informe.numero == 6)
            @nombre_informe= "Segundo Informe "
            session[:numero_informe]=2
          elsif @informe.numero == 4
            @nombre_informe= "Tercer Informe "
            session[:numero_informe]=4
          elsif @informe.numero == 5                                                                                                                                                                                                                                                                    
            @nombre_informe= "Cuarto Informe "
            session[:numero_informe]=5
          end


          if @informe.tipo_id == 1
            @nombre_informe= @nombre_informe+"Semestral"
          else
            if @informe.tipo_id == 2
              @nombre_informe= @nombre_informe+"Anual"
            else
              @nombre_informe= "Informe Final"
            end
          end

          @userentidad= Usuarioentidad.where(usuario_id: @planformacion.instructor_id).take
          @entidad= Entidad.find(@userentidad.entidad_id)
          @escuela= Escuela.find(@userentidad.escuela_id)
          session[:nombre_informe] = @nombre_informe
          session[:status_informe] = @status.concepto

          @bool_enviado = 0
          estatus_informe = EstatusInforme.where(informe_id: @informe.id, actual: 1).take

          if (estatus_informe.estatus_id != 6 && estatus_informe.estatus_id != 5)
            @bool_enviado = 1
          end
        else
          flash[:info]= "Seleccione un informe"
          redirect_to controller:"informes", action: "listar_informes"
        end
      else
        flash[:info]="Seleccione una adecuación"
        redirect_to controller:"iniciotutor", action: "planformacions"
      end
    else
      redirect_to controller:"forminst", action: "index"
    end
  end

  def crear_informe

    if session[:usuario_id] && session[:tutor]
      if(!session[:plan_id].blank?)

        nombre = session[:nombre_usuario]   
        if not @nombre
          print "NO HAY USUARIO"
        end
        @persona = Persona.where(usuario_id: session[:usuario_id]).take

        if session[:plan_id]
          @planformacion = Planformacion.find(session[:plan_id])
        else
          @planformacion = Planformacion.find(session[:plan_id])
        end

        @fecha_inicio = params[:fechaIni]
        @fecha_fin = params[:fechaFin]

        @cant_doc= params[:cant_docencia].to_i
        @cant_inv= params[:cant_investigacion].to_i
        @cant_for= params[:cant_formacion].to_i
        @cant_ext= params[:cant_extension].to_i
        @cant_obli= params[:cant_obligatoria].to_i
        @cant_otr= params[:cant_otra].to_i

        @tipo_informe = params[:tipoinf].to_i
        @numero_informe= params[:numero_informe].to_i
        if @tipo_informe == 1 || @tipo_informe==2 || @tipo_informe==4 || @tipo_informe==5
          @tipo= 1
          @nombre_inf= 'Semestral'
        else
          if @tipo_informe== 3 || @tipo_informe==6
            @tipo=2
            @nombre_inf= 'Anual'
          else
            @tipo=3
            @nombre_inf= 'Final'
          end
        end
        informe = Informe.new
        informe.planformacion_id = session[:plan_id]
        informe.tutor_id = session[:usuario_id]
        informe.opinion_tutor = params[:opinion]
        informe.conclusiones = params[:conclusiones]
        informe.justificaciones = params[:justi]
        informe.tipo_id = @tipo
        informe.numero = @numero_informe
        informe.fecha_creacion = Time.now
        informe.fecha_modificacion = Time.now
        if (@tipo_informe == 1 || @tipo_informe== 2 || @tipo_informe==4 || @tipo_informe==5)
          if !params[:fechaIni].blank?
            informe.fecha_inicio = @fecha_inicio
          end
          if !params[:fechaFin].blank?
            informe.fecha_fin = @fecha_fin
          end
        elsif (@tipo_informe == 3) #TIPO SEMESTRAL
          informe1 = Informe.where( planformacion_id: session[:plan_id], numero: 1).take
          informe2 = Informe.where( planformacion_id: session[:plan_id], numero: 2).take
          informe.fecha_inicio = informe1.fecha_inicio
          informe.fecha_fin = informe2.fecha_fin 
        elsif(@tipo_informe == 6)	#TIPO ANUAL
          informe1 = Informe.where( planformacion_id: session[:plan_id], numero: 4).take
          informe2 = Informe.where( planformacion_id: session[:plan_id], numero: 5).take
          informe.fecha_inicio = informe1.fecha_inicio
          informe.fecha_fin = informe2.fecha_fin 
        elsif(@tipo_informe == 7)	#TIPO FINAL
          informe1 = Informe.where( planformacion_id: session[:plan_id], numero: 1).take
          informe2 = Informe.where( planformacion_id: session[:plan_id], numero: 5).take
          informe.fecha_inicio = informe1.fecha_inicio
          informe.fecha_fin = informe2.fecha_fin 
        end
        informe.save

        ei = EstatusInforme.new
        ei.informe_id = informe.id
        ei.fecha = Time.now
        ei.estatus_id = 6
        ei.actual = 1
        ei.save
        

        @estado =EstatusInforme.where(informe_id: informe.id, actual: 1).take
        informe.estado = @estado.id
        informe.save


        #Comienza actividades de docencia
        j=0
        i=:doc.to_s+j.to_s
        @act = params[i].to_i
        while j <  @cant_doc
          ia = InformeActividad.new
          ia.informe_id = informe.id
          ia.actividad_id = @act
          ia.save

          ejecutada =:ejecutada.to_s+@act.to_s
          ae = ActividadEjecutada.new
          ae.descripcion = params[ejecutada]
          ae.fecha = Time.now
          ae.actual = 1
          ae.informe_actividad_id = ia.id
          ae.save

          observacion =:observacion.to_s+@act.to_s
          if params[observacion]!=nil && params[observacion]!="" && !params[observacion].blank?
            oa = ObservacionTutor.new
            oa.observaciones = params[observacion]
            oa.fecha = Time.now
            oa.actual = 1
            oa.informe_actividad_id = ia.id
            oa.save
          end
          

          j= j+1
          i=:doc.to_s+j.to_s
          @act= params[i].to_i
        end

        #Comienza actividades de investigacion
        j=0
        i=:inv.to_s+j.to_s
        @act = params[i].to_i
        while j <  @cant_inv
          ia = InformeActividad.new
          ia.informe_id = informe.id
          ia.actividad_id = @act
          ia.save

          ejecutada =:ejecutada.to_s+@act.to_s
          ae = ActividadEjecutada.new
          ae.descripcion = params[ejecutada]
          ae.fecha = Time.now
          ae.actual = 1
          ae.informe_actividad_id = ia.id
          ae.save

          observacion =:observacion.to_s+@act.to_s
          if params[observacion]!=nil && params[observacion]!="" && !params[observacion].blank?
            oa = ObservacionTutor.new
            oa.observaciones = params[observacion]
            oa.fecha = Time.now
            oa.actual = 1
            oa.informe_actividad_id = ia.id
            oa.save
          end
          
          #Guardo los resultados de la actividad

          cpi = 1

          while (!params[:tipo.to_s+cpi.to_s+j.to_s].blank?)

            @tipo = params[:tipo.to_s+cpi.to_s+j.to_s].to_i
            @tipo_publicacion = nil
            @titulo = nil
            @autor = nil
            @nombre_capitulo = nil
            @autor_capitulo = nil
            @dia = nil
            @mes = nil
            @ano = nil
            @ciudad = nil
            @estado = nil
            @pais = nil
            @organizador = nil
            @duracion = nil
            @editor = nil
            @titulo_libro = nil
            @autor_libro = nil
            @nombre_revista = nil
            @nombre_periodico = nil
            @paginas = nil
            @nombre_acto = nil
            @nombre_paginaw = nil
            @sitio_paginaw = nil
            @url = nil
            @isbm = nil
            @volumen = nil
            @edicion = nil
            @issni = nil
            @issne = nil
            @doi = nil
            @nombre = nil 
            @infoafiliaion = nil
            @universidad = nil
            @cptipo = nil

            # trabajos publicados
            if (@tipo == 1) 
              @tipo_publicacion = params[:resultado_tipos.to_s+cpi.to_s+j.to_s].to_i

              # libro
              if (@tipo_publicacion == 1) 
                @titulo = params[:atitulo.to_s+cpi.to_s+j.to_s]
                @ciudad = params[:aciudad.to_s+cpi.to_s+j.to_s]
                @url = params[:aURL.to_s+cpi.to_s+j.to_s]
                @autor = params[:aautor.to_s+cpi.to_s+j.to_s]
                @pais = params[:apais.to_s+cpi.to_s+j.to_s]
                @isbm = params[:aISBM.to_s+cpi.to_s+j.to_s]
                @editor = params[:aeditor.to_s+cpi.to_s+j.to_s]
                @ano = params[:aano.to_s+cpi.to_s+j.to_s]

              # articulo de revista o journals
              elsif (@tipo_publicacion == 2)
                @titulo = params[:btitulo.to_s+cpi.to_s+j.to_s]
                @autor = params[:bautor.to_s+cpi.to_s+j.to_s]
                @mes = params[:bmes.to_s+cpi.to_s+j.to_s]
                @ano = params[:bano.to_s+cpi.to_s+j.to_s]
                @ciudad = params[:bciudad.to_s+cpi.to_s+j.to_s]
                @estado = params[:bestado.to_s+cpi.to_s+j.to_s]
                @pais = params[:bpais.to_s+cpi.to_s+j.to_s]
                @paginas = params[:bnumpaginas.to_s+cpi.to_s+j.to_s]
                @url = params[:burl.to_s+cpi.to_s+j.to_s]
                @volumen = params[:bvolumen.to_s+cpi.to_s+j.to_s]
                @edicion = params[:bnedicion.to_s+cpi.to_s+j.to_s]
                @issni = params[:bissnimpre.to_s+cpi.to_s+j.to_s]
                @nombre_revista = params[:brevista.to_s+cpi.to_s+j.to_s]
                @issne = params[:bissnelec.to_s+cpi.to_s+j.to_s]
                @doi = params[:bdoi.to_s+cpi.to_s+j.to_s]

              # articulo de prensa
              elsif (@tipo_publicacion == 3)
                @titulo = params[:ctitulo.to_s+cpi.to_s+j.to_s]
                @autor = params[:cautor.to_s+cpi.to_s+j.to_s]
                @dia = params[:cdia.to_s+cpi.to_s+j.to_s]
                @mes = params[:cmes.to_s+cpi.to_s+j.to_s]
                @ano = params[:cano.to_s+cpi.to_s+j.to_s]
                @pais = params[:cpais.to_s+cpi.to_s+j.to_s]
                @nombre_periodico = params[:cnomperi.to_s+cpi.to_s+j.to_s]
                @paginas = params[:cnumpag.to_s+cpi.to_s+j.to_s]
                @url = params[:curl.to_s+cpi.to_s+j.to_s]

              # cd
              elsif (@tipo_publicacion == 4)
                @titulo = params[:dtitulo.to_s+cpi.to_s+j.to_s]
                @autor = params[:dautor.to_s+cpi.to_s+j.to_s]
                @ano = params[:daño.to_s+cpi.to_s+j.to_s]
                @ciudad = params[:dciudad.to_s+cpi.to_s+j.to_s]
                @pais = params[:dpais.to_s+cpi.to_s+j.to_s]
                @editor = params[:deditor.to_s+cpi.to_s+j.to_s]

              #manuales
              elsif (@tipo_publicacion == 5)
                @titulo = params[:etitulo.to_s+cpi.to_s+j.to_s]
                @autor = params[:eautor.to_s+cpi.to_s+j.to_s]
                @mes = params[:emes.to_s+cpi.to_s+j.to_s]
                @ano = params[:eano.to_s+cpi.to_s+j.to_s]
                @ciudad = params[:eciudad.to_s+cpi.to_s+j.to_s]
                @pais = params[:epais.to_s+cpi.to_s+j.to_s]
                @editor = params[:eeditor.to_s+cpi.to_s+j.to_s]

              #publicaciones electronicas
              elsif (@tipo_publicacion == 6)
                @titulo = params[:ftitulo.to_s+cpi.to_s+j.to_s]
                @autor = params[:fautor.to_s+cpi.to_s+j.to_s]
                @nombre = params[:fnombre.to_s+cpi.to_s+j.to_s]
                @mes = params[:fmes.to_s+cpi.to_s+j.to_s]
                @ano = params[:fano.to_s+cpi.to_s+j.to_s]
                @nombre_paginaw = params[:fnompagweb.to_s+cpi.to_s+j.to_s]
                @sitio_paginaw = params[:fsitioweb.to_s+cpi.to_s+j.to_s]
                @url = params[:furl.to_s+cpi.to_s+j.to_s]
                @isbm = params[:fisbn.to_s+cpi.to_s+j.to_s]
                @doi = params[:fdoi.to_s+cpi.to_s+j.to_s]

              #tesis
              elsif (@tipo_publicacion == 7)
                @titulo = params[:gtitulo.to_s+cpi.to_s+j.to_s]
                @autor = params[:gautor.to_s+cpi.to_s+j.to_s]
                @mes = params[:gmes.to_s+cpi.to_s+j.to_s]
                @ano = params[:gano.to_s+cpi.to_s+j.to_s]
                @ciudad = params[:gciudad.to_s+cpi.to_s+j.to_s]
                @pais = params[:gpais.to_s+cpi.to_s+j.to_s]
                @infoafiliaion = params[:ginfoafiliacion.to_s+cpi.to_s+j.to_s]
                @universidad = params[:guniversidad.to_s+cpi.to_s+j.to_s]
                @cptipo = params[:gtipotesis.to_s+cpi.to_s+j.to_s]

              #acta de conferencia
              elsif  (@tipo_publicacion == 8)
                @titulo = params[:htitulo.to_s+cpi.to_s+j.to_s]
                @autor = params[:hautor.to_s+cpi.to_s+j.to_s]
                @mes = params[:hmes.to_s+cpi.to_s+j.to_s]
                @ano = params[:hano.to_s+cpi.to_s+j.to_s]
                @paginas = params[:hpaginas.to_s+cpi.to_s+j.to_s]
                @isbm = params[:hisbm.to_s+cpi.to_s+j.to_s]
                @issni = params[:hissn.to_s+cpi.to_s+j.to_s]
                @doi = params[:hdoi.to_s+cpi.to_s+j.to_s]
                @nombre = params[:hnombreconf.to_s+cpi.to_s+j.to_s] 

              #capitulo de un libro
              elsif  (@tipo_publicacion == 9)
                @nombre_capitulo = params[:ititulocapitulo.to_s+cpi.to_s+j.to_s]
                @autor = params[:iautor.to_s+cpi.to_s+j.to_s]
                @ano = params[:iano.to_s+cpi.to_s+j.to_s]
                @titulo_libro = params[:ititulolibro.to_s+cpi.to_s+j.to_s]
                @paginas = params[:ipaginas.to_s+cpi.to_s+j.to_s]
                @isbm = params[:iisbn.to_s+cpi.to_s+j.to_s]

              end

            #presentación de potencias
            elsif (@tipo == 2)
              @titulo = params[:jtitulo.to_s+cpi.to_s+j.to_s]
              @autor = params[:jautordoc.to_s+cpi.to_s+j.to_s]
              @nombre_capitulo = params[:jtitulocapitulo.to_s+cpi.to_s+j.to_s]
              @autor_capitulo = params[:jautorcap.to_s+cpi.to_s+j.to_s]
              @dia = params[:jdia.to_s+cpi.to_s+j.to_s]
              @mes = params[:jmes.to_s+cpi.to_s+j.to_s]
              @ano = params[:jano.to_s+cpi.to_s+j.to_s]
              @ciudad = params[:jciudad.to_s+cpi.to_s+j.to_s]
              @editor = params[:jeditor.to_s+cpi.to_s+j.to_s]
              @paginas = params[:jnumpag.to_s+cpi.to_s+j.to_s]
              @nombre = params[:jnombreact.to_s+cpi.to_s+j.to_s]

            #presentación informes tecnicos
            elsif (@tipo == 3)
              @titulo = params[:ktitulo.to_s+cpi.to_s+j.to_s]
              @autor = params[:kautordoc.to_s+cpi.to_s+j.to_s]
              @nombre_capitulo = params[:ktitulocapitulo.to_s+cpi.to_s+j.to_s]
              @autor_capitulo = params[:kautorcap.to_s+cpi.to_s+j.to_s]
              @dia = params[:kdia.to_s+cpi.to_s+j.to_s]
              @mes = params[:kmes.to_s+cpi.to_s+j.to_s]
              @ano = params[:kano.to_s+cpi.to_s+j.to_s]
              @ciudad = params[:kciudad.to_s+cpi.to_s+j.to_s]
              @estado = params[:kestado.to_s+cpi.to_s+j.to_s]
              @pais = params[:kpais.to_s+cpi.to_s+j.to_s]
              @organizador = params[:kentidadorg.to_s+cpi.to_s+j.to_s]
              @editor = params[:keditor.to_s+cpi.to_s+j.to_s]
              @paginas = params[:knumpag.to_s+cpi.to_s+j.to_s]
              @nombre_acto = params[:knombreact.to_s+cpi.to_s+j.to_s]

            #otro
            elsif (@tipo == 4)
              @titulo = params[:ltitulo.to_s+cpi.to_s+j.to_s]
              @autor = params[:lautor.to_s+cpi.to_s+j.to_s]
              @dia = params[:ldia.to_s+cpi.to_s+j.to_s]
              @mes = params[:lmes.to_s+cpi.to_s+j.to_s]
              @ano = params[:laño.to_s+cpi.to_s+j.to_s]
              @ciudad = params[:lciudad.to_s+cpi.to_s+j.to_s]
              @editor = params[:leditor.to_s+cpi.to_s+j.to_s]
              @paginas = params[:lnumpag.to_s+cpi.to_s+j.to_s]
              @nombre_acto = params[:lnomacto.to_s+cpi.to_s+j.to_s]
            
            #asistencia y organización de eventos cientificos
            elsif (@tipo == 5 || @tipo == 6)
              @titulo = params[:ntitulo.to_s+cpi.to_s+j.to_s]
              @autor = params[:nautordoc.to_s+cpi.to_s+j.to_s]
              @nombre_capitulo = params[:ntitulocapitulo.to_s+cpi.to_s+j.to_s]
              @autor_capitulo = params[:nnombreautor.to_s+cpi.to_s+j.to_s]
              @dia = params[:ndia.to_s+cpi.to_s+j.to_s]
              @mes = params[:nmes.to_s+cpi.to_s+j.to_s]
              @ano = params[:nano.to_s+cpi.to_s+j.to_s]
              @ciudad = params[:nciudad.to_s+cpi.to_s+j.to_s]
              @estado = params[:nestado.to_s+cpi.to_s+j.to_s]
              @pais = params[:npais.to_s+cpi.to_s+j.to_s]
              @nombre_acto = params[:nnombreacto.to_s+cpi.to_s+j.to_s]
            
            #dictado de cursos, talleres, etc
            elsif (@tipo == 7)
              @titulo = params[:otitulo.to_s+cpi.to_s+j.to_s]
              @autor = params[:oautordoc.to_s+cpi.to_s+j.to_s]
              @nombre_capitulo = params[:otitulocap.to_s+cpi.to_s+j.to_s]
              @autor_capitulo = params[:oautorcap.to_s+cpi.to_s+j.to_s]
              @dia = params[:odia.to_s+cpi.to_s+j.to_s]
              @mes = params[:omes.to_s+cpi.to_s+j.to_s]
              @ano = params[:oano.to_s+cpi.to_s+j.to_s]
              @ciudad = params[:ociudad.to_s+cpi.to_s+j.to_s]
              @estado = params[:oestado.to_s+cpi.to_s+j.to_s]
              @pais = params[:opais.to_s+cpi.to_s+j.to_s]
              @organizador = params[:oentidadorg.to_s+cpi.to_s+j.to_s]
              @duracion = params[:oduracion.to_s+cpi.to_s+j.to_s]
              @editor = params[:oeditor.to_s+cpi.to_s+j.to_s]
              @titulo_libro = params[:otitulolib.to_s+cpi.to_s+j.to_s]
              @autor_libro = params[:oautorref.to_s+cpi.to_s+j.to_s]
              @paginas = params[:onumpag.to_s+cpi.to_s+j.to_s]


            end


              r = Resultado.new 
              r.tipo_resultado_id = @tipo
              r.tipo_publicacion = @tipo_publicacion
              r.titulo = @titulo
              r.autor = @autor
              r.nombre_capitulo = @nombre_capitulo
              r.autor_capitulo = @autor_capitulo
              r.dia = @dia
              r.mes =@mes
              r.ano = @ano
              r.ciudad = @ciudad
              r.estado = @estado
              r.pais = @pais
              r.organizador = @organizador
              r.duracion = @duracion
              r.editor = @editor
              r.titulo_libro = @titulo_libro
              r.autor_libro = @autor_libro
              r.nombre_revista = @nombre_revista
              r.nombre_periodico = @nombre_periodico
              r.paginas = @paginas
              r.nombre_acto = @nombre_acto
              r.nombre_paginaw = @nombre_paginaw
              r.sitio_paginaw = @sitio_paginaw
              r.infoafiliaion = @infoafiliaion
              r.cptipo = @cptipo
              r.nombre = @nombre
              r.ISSN_impreso = @issni
              r.ISSN_electro = @issne
              r.volumen = @volumen
              r.edicion = @edicion
              r.DOI = @doi
              r.ISBN = @isbm
              r.universidad = @universidad
              r.url = @url
              r.informe_actividad_id = ia.id
              r.save

            cpi = cpi+1

          end
          ia.save
          j= j+1
          i=:inv.to_s+j.to_s
          @act= params[i].to_i
        end





        #Comienza actividades de formacion
        j=0
        i=:for.to_s+j.to_s
        @act = params[i].to_i
        while j <  @cant_for
          ia = InformeActividad.new
          ia.informe_id = informe.id
          ia.actividad_id = @act
          ia.save

          ejecutada =:ejecutada.to_s+@act.to_s
          ae = ActividadEjecutada.new
          ae.descripcion = params[ejecutada]
          ae.fecha = Time.now
          ae.actual = 1
          ae.informe_actividad_id = ia.id
          ae.save

          observacion =:observacion.to_s+@act.to_s
          if params[observacion]!=nil && params[observacion]!="" && !params[observacion].blank?
            oa = ObservacionTutor.new
            oa.observaciones = params[observacion]
            oa.fecha = Time.now
            oa.actual = 1
            oa.informe_actividad_id = ia.id
            oa.save
          end

          j= j+1
          i=:for.to_s+j.to_s
          @act= params[i].to_i
        end

        if params[:postgrado]!=nil && params[:postgrado]!=""
          rp = Resultado.new
          rp.tipo_resultado_id = 8
          rp.concepto = params[:postgrado]
          rp.save
          ia = InformeActividad.new
          ia.informe_id = informe.id
          ia.resultado_id = rp.id
          ia.save
        end

        #Comienza actividades de extension
        j=0
        i=:ext.to_s+j.to_s
        @act = params[i].to_i
        while j <  @cant_ext
          ia = InformeActividad.new
          ia.informe_id = informe.id
          ia.actividad_id = @act
          ia.save

          ejecutada =:ejecutada.to_s+@act.to_s
          ae = ActividadEjecutada.new
          ae.descripcion = params[ejecutada]
          ae.fecha = Time.now
          ae.actual = 1
          ae.informe_actividad_id = ia.id
          ae.save

          observacion =:observacion.to_s+@act.to_s
          if params[observacion]!=nil && params[observacion]!="" && !params[observacion].blank?
            oa = ObservacionTutor.new
            oa.observaciones = params[observacion]
            oa.fecha = Time.now
            oa.actual = 1
            oa.informe_actividad_id = ia.id
            oa.save
          end

          j= j+1
          i=:ext.to_s+j.to_s
          @act= params[i].to_i
        end

        #Comienza actividades obligatorias
        j=0
        i=:obli.to_s+j.to_s
        @act = params[i].to_i
        while j <  @cant_obli
          ia = InformeActividad.new
          ia.informe_id = informe.id
          ia.actividad_id = @act
          ia.save

          ejecutada =:ejecutada.to_s+@act.to_s
          ae = ActividadEjecutada.new
          ae.descripcion = params[ejecutada]
          ae.fecha = Time.now
          ae.actual = 1
          ae.informe_actividad_id = ia.id
          ae.save

          observacion =:observacion.to_s+@act.to_s
          if params[observacion]!=nil && params[observacion]!="" && !params[observacion].blank?
            oa = ObservacionTutor.new
            oa.observaciones = params[observacion]
            oa.fecha = Time.now
            oa.actual = 1
            oa.informe_actividad_id = ia.id
            oa.save
          end
          

          j= j+1
          i=:obli.to_s+j.to_s
          @act= params[i].to_i
        end

        #Comienzan otras actividades contempladas en el plan
        j=0
        i=:otra.to_s+j.to_s
        @act = params[i].to_i
        while j <  @cant_otr
          ia = InformeActividad.new
          ia.informe_id = informe.id
          ia.actividad_id = @act
          ia.save
          ejecutada =:ejecutada.to_s+@act.to_s
          if params[ejecutada]!=nil && params[ejecutada]!=""
            ae = ActividadEjecutada.new
            ae.descripcion = params[ejecutada]
            ae.fecha = Time.now
            ae.actual = 1
            ae.informe_actividad_id = ia.id
            ae.save
          end
          j= j+1
          i=:otra.to_s+j.to_s
          @act= params[i].to_i
        end

        redirect_to controller:"informes", action: "listar_informes"
        flash[:success]= "El informe fue creado y guardado correctamente"
      else
				flash[:info]="Seleccione una adecuación"
				redirect_to controller:"iniciotutor", action: "planformacions"
			end
    else
      redirect_to controller:"forminst", action: "index"
    end
  end

def generar_pdf() # es función permite generar el documento pdf de la adecuación
    if session[:plan_id] == nil
      redirect_to controller:"informes", action: "listar_informes"
      flash[:danger]= "Ha ocurrido un error"
    end
    @informe= Informe.find(session[:informe_id])
    @TipoSemestre =TipoInforme.where(id: @informe.tipo_id).take
    @planformacion = Planformacion.find(session[:plan_id])
    @adecuacion = Adecuacion.where(planformacion_id: session[:plan_id]).take
    @fechaConcurso = @planformacion.fecha_inicio
    @id_docente= @planformacion.tutor_id # se obtiene el indicador del ususario al que corresponde la adecuación
    @usertutor= Usuario.find(@id_docente) # se obtiene la información del tutor mediante la base de datos y la variable anterior
    @tutor= Persona.where(usuario_id: @id_docente).take
    @id_instructor= @planformacion.instructor_id # se toma el identificador del instructor
    @userinst=Usuario.find(@id_instructor) # se obtienen toda la información del instructor 
    @instructor= Persona.where(usuario_id: @id_instructor).take
    @fechaActual = Date.current.to_s
    @userentidad= Usuarioentidad.where(usuario_id: @planformacion.instructor_id).take
    @dactv_docencia=[]
    @dactv_investigacion=[]
    @dactv_extension=[]
    @dactv_formacion=[]
    @semestres=[]
    if @userentidad.escuela_id == nil
      @userentidad.escuela_id=12
      @userentidad.save
      @escuela= Escuela.where(id: @userentidad.escuela_id).take
    else
      @escuela= Escuela.where(id: @userentidad.escuela_id).take
    end

    @res = []
    @resActi = []
    @correoi=  @userinst.user+'@<EMAIL>'
    
    @pactv_docencia= []
    @pactv_investigacion= []
    @pactv_formacion= []
    @pactv_extension=[]
    @pactv_otras=[]
    @sactv_docencia= []
    @sactv_investigacion= []
    @sactv_formacion= []
    @sactv_extension=[]
    @sactv_otras=[]
    @tactv_docencia= []
    @tactv_investigacion= []
    @tactv_formacion= []
    @tactv_extension=[]
    @tactv_otras=[]
    @cactv_docencia= []
    @cactv_investigacion= []
    @cactv_formacion= []
    @cactv_extension=[]
    @cactv_otras=[]
    @factv_obligatoria=[]
    @semestres=[]

    @aactv_docencia= []
    @aactv_investigacion= []
    @aactv_formacion= []
    @aactv_extension=[]
    @aactv_otras=[]

    @actividadesa= AdecuacionActividad.where(adecuacion_id: @adecuacion.id, semestre: 1).all
    @actividadesa.each do |actade| 
      @act= Actividad.find(actade.actividad_id)
      tipo= @act.tipo_actividad_id
      if tipo==1
        if @informe.numero == 1
          @aactv_docencia.push(@act)
        end
        @pactv_docencia.push(@act)
      elsif tipo==2
        if @informe.numero == 1
          @resActi= InformeActividad.where(informe_id: @informe.id, actividad_id: @act.id).take
          @res= Resultado.where(informe_actividad_id: @resActi.id).all
          @aactv_investigacion.push(@act)
        end
        @pactv_investigacion.push(@act)
      elsif tipo==3
        if @informe.numero == 1
          @aactv_formacion.push(@act)
        end
        @pactv_extension.push(@act)
      elsif tipo==4
        if @informe.numero == 1
          @aactv_extension.push(@act)
        end
        @pactv_formacion.push(@act)
      elsif tipo==5
        if @informe.numero == 1
          @aactv_otras.push(@act)
        end
        @pactv_otras.push(@act)
      end
    end

    @sactividadesa= AdecuacionActividad.where(adecuacion_id: @adecuacion.id, semestre: 2).all
    @sactividadesa.each do |actade| 
      @act= Actividad.find(actade.actividad_id)
      tipo= @act.tipo_actividad_id
      if tipo==1
        if @informe.numero == 2
          @aactv_docencia.push(@act)
        end
        @sactv_docencia.push(@act)
      elsif tipo==2
        if @informe.numero == 2
          @resActi= InformeActividad.where(informe_id: @informe.id, actividad_id: @act.id).take
          @res= Resultado.where(informe_actividad_id: @resActi.id).all
          @aactv_investigacion.push(@act)
        end
        @sactv_investigacion.push(@act)
      elsif tipo==3
        if @informe.numero == 2
          @aactv_formacion.push(@act)
        end
        @sactv_extension.push(@act)
      elsif tipo==4
        if @informe.numero == 2
          @aactv_extension.push(@act)
        end
        @sactv_formacion.push(@act)
      elsif tipo==5
        if @informe.numero == 2
          @aactv_otras.push(@act)
        end
        @sactv_otras.push(@act)
      end
    end

    @tactividadesa= AdecuacionActividad.where(adecuacion_id: @adecuacion.id, semestre: 3).all
    @tactividadesa.each do |actade| 
      @act= Actividad.find(actade.actividad_id)
      tipo= @act.tipo_actividad_id
      if tipo==1
        if @informe.numero == 4
          @aactv_docencia.push(@act)
        end
        @tactv_docencia.push(@act)
      elsif tipo==2
        if @informe.numero == 4
          @resActi= InformeActividad.where(informe_id: @informe.id, actividad_id: @act.id).take
          @res= Resultado.where(informe_actividad_id: @resActi.id).all
          @aactv_investigacion.push(@act)
        end
        @tactv_investigacion.push(@act)
      elsif tipo==3
        if @informe.numero == 4
          @aactv_formacion.push(@act)
        end
        @tactv_extension.push(@act)
      elsif tipo==4
        if @informe.numero == 4
          @aactv_extension.push(@act)
        end
        @tactv_formacion.push(@act)
      elsif tipo==5
        if @informe.numero == 4
          @aactv_otras.push(@act)
        end
        @tactv_otras.push(@act)
      end
    end

    @cactividadesa= AdecuacionActividad.where(adecuacion_id: @adecuacion.id, semestre: 4).all
    @cactividadesa.each do |actade| 
      @act= Actividad.find(actade.actividad_id)
      tipo= @act.tipo_actividad_id
      if tipo==1
        if @informe.numero == 5
          @aactv_docencia.push(@act)
        end
        @cactv_docencia.push(@act)
      elsif tipo==2
        if @informe.numero == 5
          @resActi= InformeActividad.where(informe_id: @informe.id, actividad_id: @act.id).take
          @res= Resultado.where(informe_actividad_id: @resActi.id).all
          if !@cparray.blank?
            @noemptyarray = @cparray - ["", nil]
            if !@resultados2
              @noemptyarray = @cparray - ["", nil]
              if !@noemptyarray.join(',').blank?
                @resultados2 = "* " + @noemptyarray
              end
            else
              @noemptyarray = @cparray - ["", nil]
              if !@noemptyarray.join(',').blank?
                @resultados2 = @resultados2 + "\n" + "* " + @noemptyarray.join(',')
              end
            end
          end
          @aactv_investigacion.push(@act)
        end
        @cactv_investigacion.push(@act)
      elsif tipo==3
        if @informe.numero == 5
          @aactv_formacion.push(@act)
        end
        @cactv_extension.push(@act)
      elsif tipo==4
        if @informe.numero == 5
          @aactv_extension.push(@act)
        end
        @cactv_formacion.push(@act)
      elsif tipo==5
        if @informe.numero == 5
          @aactv_otras.push(@act)
        end
        @cactv_otras.push(@act)
      end
    end

    @actividadesa= InformeActividad.where(informe_id: @informe.id).all
    @actividadesadoc= []
    @actividadesainv= []
    @actividadesaext= []
    @actividadesafor= []
    @actividadesaotr= []
    @actividadesaobli= []
    @resultados= []
    @actividadese= []
    @observaciont= []
    @resultTP = []
    @resultPP = []
    @resultPIT = []
    @resultO = []
    @resultAEC = []
    @resultOEC = []
    @resultDCS = []
    @actividadesa.each do |actade| 
      @res= Resultado.where(informe_actividad_id: actade.id).all
      @resultados2 = ""
      if actade.actividad_id == nil #Es el caso que es un resultado no contemplado en el plan de formacion o un avancwe de postgrado
        @res= Resultado.find(actade.resultado_id)
        if !@res.blank?
          @res.each do |res|
            @resultados2 = ""
            @cparray = ["a", "a", "a", "a", "a", "a", "a", "a", "a","a", "a", "a", "a", "a", "a", "a", "a", "a", "a", "a", "a", "a", "a", "a", "a", "a", "a", "a", "a", "a", "a"]
            @cparray[0] = res.titulo.capitalize
            @cparray[1] = res.autor.capitalize
            @cparray[2] = res.nombre_capitulo.to_s.capitalize
            @cparray[3] = res.autor_capitulo.to_s.capitalize
            @cparray[4] = res.dia
            @cparray[5] = res.mes
            @cparray[6] = res.ano
            @cparray[7] = res.ciudad.to_s.capitalize
            @cparray[8] = res.estado.to_s.capitalize
            @cparray[9] = res.pais.to_s.capitalize
            @cparray[10] = res.organizador.to_s.capitalize
            @cparray[11] = res.duracion.to_s.capitalize
            @cparray[12] = res.editor.to_s.capitalize
            @cparray[13] = res.titulo_libro.to_s.capitalize
            @cparray[14] = res.autor_libro.to_s.capitalize
            @cparray[15] = res.nombre_revista.to_s.capitalize
            @cparray[16] = res.nombre_periodico.to_s.capitalize
            @cparray[17] = res.nombre_acto.to_s.capitalize
            @cparray[18] = res.paginas
            @cparray[19] = res.nombre_paginaw.to_s.capitalize
            @cparray[20] = res.sitio_paginaw
            @cparray[21] = res.infoafiliaion.to_s.capitalize
            @cparray[22] = res.cptipo.to_s.capitalize
            @cparray[23] = res.nombre.to_s.capitalize
            @cparray[24] = res.ISSN_impreso.to_s.capitalize
            @cparray[25] = res.ISSN_electro.to_s.capitalize
            @cparray[26] = res.volumen.to_s.capitalize
            @cparray[27] = res.edicion.to_s.capitalize
            @cparray[28] = res.DOI
            @cparray[29] = res.ISBN
            @cparray[30] = res.universidad.to_s.capitalize
            @cparray[31] = res.url
            if !@cparray.blank?
              @noemptyarray = @cparray - ["", nil]
              if !@resultados2
                @noemptyarray = @cparray - ["", nil]
                if !@noemptyarray.join(',').blank?
                  @resultados2 = "* " + @noemptyarray
                end
              else
                @noemptyarray = @cparray - ["", nil]
                if !@noemptyarray.join(',').blank?
                  @resultados2 = @resultados2 + @noemptyarray.join(', ')
                end
              end
            end
            if res.tipo_resultado_id == 1
              @resultTP.push(@resultados2)
            elsif res.tipo_resultado_id == 2
              @resultPP.push(@resultados2)
            elsif res.tipo_resultado_id == 3
              @resultPIT.push(@resultados2)
            elsif res.tipo_resultado_id == 4
              @resultO.push(@resultados2)
            elsif res.tipo_resultado_id == 5
              @resultAEC.push(@resultados2)
            elsif res.tipo_resultado_id == 6
              @resultOEC.push(@resultados2)
            elsif res.tipo_resultado_id == 7
              @resultDCS.push(@resultados2)
            end
            @resultados.push(res)
          end
        end
      else
        @act= Actividad.find(actade.actividad_id)
        tipo= @act.tipo_actividad_id
        if !@res.blank?
          @res.each do |res|
            @resultados2 = ""
            @cparray = ["a", "a", "a", "a", "a", "a", "a", "a", "a","a", "a", "a", "a", "a", "a", "a", "a", "a", "a", "a", "a", "a", "a", "a", "a", "a", "a", "a", "a", "a", "a"]
            @cparray[0] = res.titulo.capitalize
            @cparray[1] = res.autor.capitalize
            @cparray[2] = res.nombre_capitulo.to_s.capitalize
            @cparray[3] = res.autor_capitulo.to_s.capitalize
            @cparray[4] = res.dia
            @cparray[5] = res.mes
            @cparray[6] = res.ano
            @cparray[7] = res.ciudad.to_s.capitalize
            @cparray[8] = res.estado.to_s.capitalize
            @cparray[9] = res.pais.to_s.capitalize
            @cparray[10] = res.organizador.to_s.capitalize
            @cparray[11] = res.duracion.to_s.capitalize
            @cparray[12] = res.editor.to_s.capitalize
            @cparray[13] = res.titulo_libro.to_s.capitalize
            @cparray[14] = res.autor_libro.to_s.capitalize
            @cparray[15] = res.nombre_revista.to_s.capitalize
            @cparray[16] = res.nombre_periodico.to_s.capitalize
            @cparray[17] = res.nombre_acto.to_s.capitalize
            @cparray[18] = res.paginas
            @cparray[19] = res.nombre_paginaw.to_s.capitalize
            @cparray[20] = res.sitio_paginaw
            @cparray[21] = res.infoafiliaion.to_s.capitalize
            @cparray[22] = res.cptipo.to_s.capitalize
            @cparray[23] = res.nombre.to_s.capitalize
            @cparray[24] = res.ISSN_impreso.to_s.capitalize
            @cparray[25] = res.ISSN_electro.to_s.capitalize
            @cparray[26] = res.volumen.to_s.capitalize
            @cparray[27] = res.edicion.to_s.capitalize
            @cparray[28] = res.DOI
            @cparray[29] = res.ISBN
            @cparray[30] = res.universidad.to_s.capitalize
            @cparray[31] = res.url
            if !@cparray.blank?
              @noemptyarray = @cparray - ["", nil]
              if !@resultados2
                @noemptyarray = @cparray - ["", nil]
                if !@noemptyarray.join(',').blank?
                  @resultados2 = "* " + @noemptyarray
                end
              else
                @noemptyarray = @cparray - ["", nil]
                if !@noemptyarray.join(',').blank?
                  @resultados2 = @resultados2 + @noemptyarray.join(', ')
                end
              end
            end
            if res.tipo_resultado_id == 1
              @resultTP.push(@resultados2)
            elsif res.tipo_resultado_id == 2
              @resultPP.push(@resultados2)
            elsif res.tipo_resultado_id == 3
              @resultPIT.push(@resultados2)
            elsif res.tipo_resultado_id == 4
              @resultO.push(@resultados2)
            elsif res.tipo_resultado_id == 5
              @resultAEC.push(@resultados2)
            elsif res.tipo_resultado_id == 6
              @resultOEC.push(@resultados2)
            elsif res.tipo_resultado_id == 7
              @resultDCS.push(@resultados2)
            end
            @resultados.push(res)
          end
        end
      @ae= ActividadEjecutada.where(informe_actividad_id: actade.id).take
      @actividadese.push(@ae)
      @obs= ObservacionTutor.where(informe_actividad_id: actade.id).take
      if @obs==nil
        @observaciont.push("")
      else
        @observaciont.push(@obs.observaciones)
      end
	  semestre = AdecuacionActividad.where(actividad_id: @act.id).take.semestre
	  @semestres[@act.id]=semestre
      if tipo==1
        @actividadesadoc.push(@act)
      elsif tipo==2
        @actividadesainv.push(@act)
      elsif tipo==3
        @actividadesaext.push(@act)
      elsif tipo==4
        @actividadesafor.push(@act)
      elsif tipo==5
        @actividadesaotr.push(@act)
      elsif tipo==7
        @actividadesaobli.push(@act)
      end
    end
  end
    
    @documents = []
    @documents = Document.where(adecuacion_id: @adecuacion.id, informe_id: session[:informe_id] ).all
    respaldos = []
    respaldos = Respaldo.where(adecuacion_id: @adecuacion.id, informe_id: session[:informe_id] ).all
    @numeroDeVersion = respaldos.size + 1

    @actividades1 = []
    actividades = AdecuacionActividad.where(adecuacion_id: @adecuacion.id, semestre: 0)
    if !actividades.blank?
      actividades.each do |actividadAde|
        actividad = Actividad.find(actividadAde.actividad_id)
        @actividades1.push(actividad)
      end
    end
    # se llama a la función de "pedf_adecuacion" del modelo "pdf", pasando todas las variables correspondientes
    @nombre_archivo= Pdf.pdf_informe(@actividades1,@TipoSemestre, @escuela, @informe, @adecuacion, @tutor, @instructor, @pactv_docencia, @pactv_investigacion, @pactv_extension, @pactv_formacion, @pactv_otras, @sactv_docencia, @sactv_investigacion, @sactv_extension, @sactv_formacion, @sactv_otras, @tactv_docencia, @tactv_investigacion, @tactv_extension, @tactv_formacion, @tactv_otras, @cactv_docencia, @cactv_investigacion, @cactv_extension, @cactv_formacion, @cactv_otras, @actividadesadoc, @actividadesainv, @actividadesafor, @actividadesaext, @actividadesaotr,@res,@resultados,@actividadese,@observaciont,@resultTP,@resultPP,@resultO,@resultAEC,@resultOEC,@resultDCS, @documents, @numeroDeVersion, @factv_obligatoria, @actividadesaobli, @dactv_docencia, @dactv_investigacion, @dactv_extension, @dactv_formacion, @semestres)
    act = "#{Rails.root}/tmp/PDFs/" + @nombre_archivo
    #act = @nombre_archivo
    send_file(
      act,
      filename: @nombre_archivo,
      type: "application/pdf"
    )
    return @nombre_archivo # se retorna el nombre del archivo
  end

  def actualizar_informe
    @informe= Informe.find(session[:informe_id])
    @informe.fecha_modificacion = Time.now
    @cant_doc= params[:cant_docencia].to_i
    @cant_inv= params[:cant_investigacion].to_i
    @cant_for= params[:cant_formacion].to_i
    @cant_ext= params[:cant_extension].to_i
    @cant_obli= params[:cant_obligatoria].to_i
    @cant_otr= params[:cant_otra].to_i
    @cant_result= params[:cant_result].to_i
    if !params[:fechaIni].blank?
      @fecha_inicio = params[:fechaIni]
      @informe.fecha_inicio = @fecha_inicio
    end
    if !params[:fechaFin].blank?
      @informe.fecha_fin = params[:fechaFin]
    end
    @informe.opinion_tutor = params[:opinion]
    @informe.conclusiones = params[:conclusiones]
    @informe.justificaciones = params[:justi]
    @plan= Planformacion.find(session[:plan_id])
    @plan.fecha_modificacion = Time.now
    @plan.save
    @informe.save
  #Comienza actividades de docencia
      j=0
      i=:doc.to_s+j.to_s
      @act = params[i].to_i
      while j <  @cant_doc
        ia = InformeActividad.where(informe_id: @informe.id,actividad_id: @act).take

        ejecutada =:ejecutada.to_s+@act.to_s
        if params[ejecutada]!=nil && params[ejecutada]!=""
          ae = ActividadEjecutada.where(informe_actividad_id: ia.id, actual: 1).take
          ae.descripcion = params[ejecutada]
          ae.save
        end

        observacion =:observacion.to_s+@act.to_s
      
          oa = ObservacionTutor.where(informe_actividad_id: ia.id).take
          if !params[observacion].blank?
            if(oa == nil || oa =="")
              oa = ObservacionTutor.new
              oa.observaciones = params[observacion]
              oa.fecha = Time.now
              oa.informe_actividad_id = ia.id
              oa.save
            else
               oa.observaciones = params[observacion]
                  oa.save
            end
          end
        
        j= j+1
        i=:doc.to_s+j.to_s
        @act= params[i].to_i
      end

      #Comienza actividades de investigacion
      j=0
      i=:inv.to_s+j.to_s
      @act = params[i].to_i
      k=:result.to_s+j.to_s
      @result= params[k].to_i
      while j <  @cant_inv
        ia = InformeActividad.where(informe_id: @informe.id,actividad_id: @act).take

        ejecutada =:ejecutada.to_s+@act.to_s
        if params[ejecutada]!=nil && params[ejecutada]!=""
          ae = ActividadEjecutada.where(informe_actividad_id: ia.id, actual: 1).take
          ae.descripcion = params[ejecutada]
          ae.save
        end

         observacion =:observacion.to_s+@act.to_s
       
          oa = ObservacionTutor.where(informe_actividad_id: ia.id).take
          if !params[observacion].blank?
            if(oa == nil || oa =="")
              oa = ObservacionTutor.new
              oa.observaciones = params[observacion]
              oa.fecha = Time.now
              oa.informe_actividad_id = ia.id
              oa.save
            else
               oa.observaciones = params[observacion]
                  oa.save
            end
          end
          ia.save
     
        

      
        

      #Actualizará los resultados

      cpi = 1
      cpres= Resultado.destroy_all(informe_actividad_id: ia.id)
     

        while (!params[:tipo.to_s+cpi.to_s+j.to_s].blank?)

          @tipo = params[:tipo.to_s+cpi.to_s+j.to_s].to_i
          @tipo_publicacion = nil
          @titulo = nil
          @autor = nil
          @nombre_capitulo = nil
          @autor_capitulo = nil
          @dia = nil
          @mes = nil
          @ano = nil
          @ciudad = nil
          @estado = nil
          @pais = nil
          @organizador = nil
          @duracion = nil
          @editor = nil
          @titulo_libro = nil
          @autor_libro = nil
          @nombre_revista = nil
          @nombre_periodico = nil
          @paginas = nil
          @nombre_acto = nil
          @nombre_paginaw = nil
          @sitio_paginaw = nil
          @url = nil
          @isbm = nil
          @volumen = nil
          @edicion = nil
          @issni = nil
          @issne = nil
          @doi = nil
          @nombre = nil 
          @infoafiliaion = nil
          @universidad = nil
          @cptipo = nil

          # trabajos publicados
          if (@tipo == 1) 
            @tipo_publicacion = params[:resultado_tipos.to_s+cpi.to_s+j.to_s].to_i

            # libro
            if (@tipo_publicacion == 1) 
              @titulo = params[:atitulo.to_s+cpi.to_s+j.to_s]
              @ciudad = params[:aciudad.to_s+cpi.to_s+j.to_s]
              @url = params[:aURL.to_s+cpi.to_s+j.to_s]
              @autor = params[:aautor.to_s+cpi.to_s+j.to_s]
              @pais = params[:apais.to_s+cpi.to_s+j.to_s]
              @isbm = params[:aISBM.to_s+cpi.to_s+j.to_s]
              @editor = params[:aeditor.to_s+cpi.to_s+j.to_s]
              @ano = params[:aano.to_s+cpi.to_s+j.to_s]

            # articulo de revista o journals
            elsif (@tipo_publicacion == 2)
              @titulo = params[:btitulo.to_s+cpi.to_s+j.to_s]
              @autor = params[:bautor.to_s+cpi.to_s+j.to_s]
              @mes = params[:bmes.to_s+cpi.to_s+j.to_s]
              @ano = params[:bano.to_s+cpi.to_s+j.to_s]
              @ciudad = params[:bciudad.to_s+cpi.to_s+j.to_s]
              @estado = params[:bestado.to_s+cpi.to_s+j.to_s]
              @pais = params[:bpais.to_s+cpi.to_s+j.to_s]
              @paginas = params[:bnumpaginas.to_s+cpi.to_s+j.to_s]
              @url = params[:burl.to_s+cpi.to_s+j.to_s]
              @volumen = params[:bvolumen.to_s+cpi.to_s+j.to_s]
              @edicion = params[:bnedicion.to_s+cpi.to_s+j.to_s]
              @issni = params[:bissnimpre.to_s+cpi.to_s+j.to_s]
              @nombre_revista = params[:brevista.to_s+cpi.to_s+j.to_s]
              @issne = params[:bissnelec.to_s+cpi.to_s+j.to_s]
              @doi = params[:bdoi.to_s+cpi.to_s+j.to_s]

            # articulo de prensa
            elsif (@tipo_publicacion == 3)
              @titulo = params[:ctitulo.to_s+cpi.to_s+j.to_s]
              @autor = params[:cautor.to_s+cpi.to_s+j.to_s]
              @dia = params[:cdia.to_s+cpi.to_s+j.to_s]
              @mes = params[:cmes.to_s+cpi.to_s+j.to_s]
              @ano = params[:cano.to_s+cpi.to_s+j.to_s]
              @pais = params[:cpais.to_s+cpi.to_s+j.to_s]
              @nombre_periodico = params[:cnomperi.to_s+cpi.to_s+j.to_s]
              @paginas = params[:cnumpag.to_s+cpi.to_s+j.to_s]
              @url = params[:curl.to_s+cpi.to_s+j.to_s]

            # cd
            elsif (@tipo_publicacion == 4)
              @titulo = params[:dtitulo.to_s+cpi.to_s+j.to_s]
              @autor = params[:dautor.to_s+cpi.to_s+j.to_s]
              @ano = params[:daño.to_s+cpi.to_s+j.to_s]
              @ciudad = params[:dciudad.to_s+cpi.to_s+j.to_s]
              @pais = params[:dpais.to_s+cpi.to_s+j.to_s]
              @editor = params[:deditor.to_s+cpi.to_s+j.to_s]

            #manuales
            elsif (@tipo_publicacion == 5)
              @titulo = params[:etitulo.to_s+cpi.to_s+j.to_s]
              @autor = params[:eautor.to_s+cpi.to_s+j.to_s]
              @mes = params[:emes.to_s+cpi.to_s+j.to_s]
              @ano = params[:eano.to_s+cpi.to_s+j.to_s]
              @ciudad = params[:eciudad.to_s+cpi.to_s+j.to_s]
              @pais = params[:epais.to_s+cpi.to_s+j.to_s]
              @editor = params[:eeditor.to_s+cpi.to_s+j.to_s]

            #publicaciones electronicas
            elsif (@tipo_publicacion == 6)
              @titulo = params[:ftitulo.to_s+cpi.to_s+j.to_s]
              @autor = params[:fautor.to_s+cpi.to_s+j.to_s]
              @nombre = params[:fnombre.to_s+cpi.to_s+j.to_s]
              @mes = params[:fmes.to_s+cpi.to_s+j.to_s]
              @ano = params[:fano.to_s+cpi.to_s+j.to_s]
              @nombre_paginaw = params[:fnompagweb.to_s+cpi.to_s+j.to_s]
              @sitio_paginaw = params[:fsitioweb.to_s+cpi.to_s+j.to_s]
              @url = params[:furl.to_s+cpi.to_s+j.to_s]
              @isbm = params[:fisbn.to_s+cpi.to_s+j.to_s]
              @doi = params[:fdoi.to_s+cpi.to_s+j.to_s]

            #tesis
            elsif (@tipo_publicacion == 7)
              @titulo = params[:gtitulo.to_s+cpi.to_s+j.to_s]
              @autor = params[:gautor.to_s+cpi.to_s+j.to_s]
              @mes = params[:gmes.to_s+cpi.to_s+j.to_s]
              @ano = params[:gano.to_s+cpi.to_s+j.to_s]
              @ciudad = params[:gciudad.to_s+cpi.to_s+j.to_s]
              @pais = params[:gpais.to_s+cpi.to_s+j.to_s]
              @infoafiliaion = params[:ginfoafiliacion.to_s+cpi.to_s+j.to_s]
              @universidad = params[:guniversidad.to_s+cpi.to_s+j.to_s]
              @cptipo = params[:gtipotesis.to_s+cpi.to_s+j.to_s]

            #acta de conferencia
            elsif  (@tipo_publicacion == 8)
              @titulo = params[:htitulo.to_s+cpi.to_s+j.to_s]
              @autor = params[:hautor.to_s+cpi.to_s+j.to_s]
              @mes = params[:hmes.to_s+cpi.to_s+j.to_s]
              @ano = params[:hano.to_s+cpi.to_s+j.to_s]
              @paginas = params[:hpaginas.to_s+cpi.to_s+j.to_s]
              @isbm = params[:hisbm.to_s+cpi.to_s+j.to_s]
              @issni = params[:hissn.to_s+cpi.to_s+j.to_s]
              @doi = params[:hdoi.to_s+cpi.to_s+j.to_s]
              @nombre = params[:hnombreconf.to_s+cpi.to_s+j.to_s] 

            #capitulo de un libro
            elsif  (@tipo_publicacion == 9)
              @nombre_capitulo = params[:ititulocapitulo.to_s+cpi.to_s+j.to_s]
              @autor = params[:iautor.to_s+cpi.to_s+j.to_s]
              @ano = params[:iano.to_s+cpi.to_s+j.to_s]
              @titulo_libro = params[:ititulolibro.to_s+cpi.to_s+j.to_s]
              @paginas = params[:ipaginas.to_s+cpi.to_s+j.to_s]
              @isbm = params[:iisbn.to_s+cpi.to_s+j.to_s]

            end

          #presentación de potencias
          elsif (@tipo == 2)
            @titulo = params[:jtitulo.to_s+cpi.to_s+j.to_s]
            @autor = params[:jautordoc.to_s+cpi.to_s+j.to_s]
            @nombre_capitulo = params[:jtitulocapitulo.to_s+cpi.to_s+j.to_s]
            @autor_capitulo = params[:jautorcap.to_s+cpi.to_s+j.to_s]
            @dia = params[:jdia.to_s+cpi.to_s+j.to_s]
            @mes = params[:jmes.to_s+cpi.to_s+j.to_s]
            @ano = params[:jano.to_s+cpi.to_s+j.to_s]
            @ciudad = params[:jciudad.to_s+cpi.to_s+j.to_s]
            @editor = params[:jeditor.to_s+cpi.to_s+j.to_s]
            @paginas = params[:jnumpag.to_s+cpi.to_s+j.to_s]
            @nombre = params[:jnombreact.to_s+cpi.to_s+j.to_s]

          #presentación informes tecnicos
          elsif (@tipo == 3)
            @titulo = params[:ktitulo.to_s+cpi.to_s+j.to_s]
            @autor = params[:kautordoc.to_s+cpi.to_s+j.to_s]
            @nombre_capitulo = params[:ktitulocapitulo.to_s+cpi.to_s+j.to_s]
            @autor_capitulo = params[:kautorcap.to_s+cpi.to_s+j.to_s]
            @dia = params[:kdia.to_s+cpi.to_s+j.to_s]
            @mes = params[:kmes.to_s+cpi.to_s+j.to_s]
            @ano = params[:kano.to_s+cpi.to_s+j.to_s]
            @ciudad = params[:kciudad.to_s+cpi.to_s+j.to_s]
            @estado = params[:kestado.to_s+cpi.to_s+j.to_s]
            @pais = params[:kpais.to_s+cpi.to_s+j.to_s]
            @organizador = params[:kentidadorg.to_s+cpi.to_s+j.to_s]
            @editor = params[:keditor.to_s+cpi.to_s+j.to_s]
            @paginas = params[:knumpag.to_s+cpi.to_s+j.to_s]
            @nombre_acto = params[:knombreact.to_s+cpi.to_s+j.to_s]

          #otro
          elsif (@tipo == 4)
            @titulo = params[:ltitulo.to_s+cpi.to_s+j.to_s]
            @autor = params[:lautor.to_s+cpi.to_s+j.to_s]
            @dia = params[:ldia.to_s+cpi.to_s+j.to_s]
            @mes = params[:lmes.to_s+cpi.to_s+j.to_s]
            @ano = params[:laño.to_s+cpi.to_s+j.to_s]
            @ciudad = params[:lciudad.to_s+cpi.to_s+j.to_s]
            @editor = params[:leditor.to_s+cpi.to_s+j.to_s]
            @paginas = params[:lnumpag.to_s+cpi.to_s+j.to_s]
            @nombre_acto = params[:lnomacto.to_s+cpi.to_s+j.to_s]
          
          #asistencia y organización de eventos cientificos
          elsif (@tipo == 5 || @tipo == 6)
            @titulo = params[:ntitulo.to_s+cpi.to_s+j.to_s]
            @autor = params[:nautordoc.to_s+cpi.to_s+j.to_s]
            @nombre_capitulo = params[:ntitulocapitulo.to_s+cpi.to_s+j.to_s]
            @autor_capitulo = params[:nnombreautor.to_s+cpi.to_s+j.to_s]
            @dia = params[:ndia.to_s+cpi.to_s+j.to_s]
            @mes = params[:nmes.to_s+cpi.to_s+j.to_s]
            @ano = params[:nano.to_s+cpi.to_s+j.to_s]
            @ciudad = params[:nciudad.to_s+cpi.to_s+j.to_s]
            @estado = params[:nestado.to_s+cpi.to_s+j.to_s]
            @pais = params[:npais.to_s+cpi.to_s+j.to_s]
            @nombre_acto = params[:nnombreacto.to_s+cpi.to_s+j.to_s]
          
          #dictado de cursos, talleres, etc
          elsif (@tipo == 7)
            @titulo = params[:otitulo.to_s+cpi.to_s+j.to_s]
            @autor = params[:oautordoc.to_s+cpi.to_s+j.to_s]
            @nombre_capitulo = params[:otitulocap.to_s+cpi.to_s+j.to_s]
            @autor_capitulo = params[:oautorcap.to_s+cpi.to_s+j.to_s]
            @dia = params[:odia.to_s+cpi.to_s+j.to_s]
            @mes = params[:omes.to_s+cpi.to_s+j.to_s]
            @ano = params[:oano.to_s+cpi.to_s+j.to_s]
            @ciudad = params[:ociudad.to_s+cpi.to_s+j.to_s]
            @estado = params[:oestado.to_s+cpi.to_s+j.to_s]
            @pais = params[:opais.to_s+cpi.to_s+j.to_s]
            @organizador = params[:oentidadorg.to_s+cpi.to_s+j.to_s]
            @duracion = params[:oduracion.to_s+cpi.to_s+j.to_s]
            @editor = params[:oeditor.to_s+cpi.to_s+j.to_s]
            @titulo_libro = params[:otitulolib.to_s+cpi.to_s+j.to_s]
            @autor_libro = params[:oautorref.to_s+cpi.to_s+j.to_s]
            @paginas = params[:onumpag.to_s+cpi.to_s+j.to_s]


          end


            r = Resultado.new 
            r.tipo_resultado_id = @tipo
            r.tipo_publicacion = @tipo_publicacion
            r.titulo = @titulo
            r.autor = @autor
            r.nombre_capitulo = @nombre_capitulo
            r.autor_capitulo = @autor_capitulo
            r.dia = @dia
            r.mes =@mes
            r.ano = @ano
            r.ciudad = @ciudad
            r.estado = @estado
            r.pais = @pais
            r.organizador = @organizador
            r.duracion = @duracion
            r.editor = @editor
            r.titulo_libro = @titulo_libro
            r.autor_libro = @autor_libro
            r.nombre_revista = @nombre_revista
            r.nombre_periodico = @nombre_periodico
            r.paginas = @paginas
            r.nombre_acto = @nombre_acto
            r.nombre_paginaw = @nombre_paginaw
            r.sitio_paginaw = @sitio_paginaw
            r.infoafiliaion = @infoafiliaion
            r.cptipo = @cptipo
            r.nombre = @nombre
            r.ISSN_impreso = @issni
            r.ISSN_electro = @issne
            r.volumen = @volumen
            r.edicion = @edicion
            r.DOI = @doi
            r.ISBN = @isbm
            r.universidad = @universidad
            r.url = @url
            r.informe_actividad_id = ia.id
            r.save

          cpi = cpi+1

        end

          j=j+1
          k=:result.to_s+j.to_s
          @result= params[k].to_i
          i=:inv.to_s+j.to_s
          @act= params[i].to_i

      end

      #Comienza actividades de formación
      j=0
      i=:for.to_s+j.to_s
      @act = params[i].to_i
      while j <  @cant_for
        ia = InformeActividad.where(informe_id: @informe.id,actividad_id: @act).take

        ejecutada =:ejecutada.to_s+@act.to_s
        if params[ejecutada]!=nil && params[ejecutada]!=""
          ae = ActividadEjecutada.where(informe_actividad_id: ia.id, actual: 1).take
          ae.descripcion = params[ejecutada]
          ae.save
        end

         observacion =:observacion.to_s+@act.to_s
      
          oa = ObservacionTutor.where(informe_actividad_id: ia.id).take
          if !params[observacion].blank?
            if(oa == nil || oa =="")
              oa = ObservacionTutor.new
              oa.observaciones = params[observacion]
              oa.fecha = Time.now
              oa.informe_actividad_id = ia.id
              oa.save
            else
               oa.observaciones = params[observacion]
                  oa.save
            end
          end
        
        
        j= j+1
        i=:for.to_s+j.to_s
        @act= params[i].to_i
      end

      #Resultado de avances de postgrado
       if params[:postgrado]!=nil && params[:postgrado]!=""
        if params[:postg].to_i == -1
          rp = Resultado.new
          rp.tipo_resultado_id = 8
          rp.concepto = params[:postgrado]
          rp.save
          ia = InformeActividad.new
          ia.informe_id = @informe.id
          ia.resultado_id = rp.id
          ia.save
        else
          rp= Resultado.find(params[:postg].to_i)
          rp.concepto = params[:postgrado]
          rp.save
        end
      end

      #Comienzan actividades de extensión
      j=0
      i=:ext.to_s+j.to_s
      @act = params[i].to_i
      while j <  @cant_ext
        ia = InformeActividad.where(informe_id: @informe.id,actividad_id: @act).take

        ejecutada =:ejecutada.to_s+@act.to_s
        if params[ejecutada]!=nil && params[ejecutada]!=""
          ae = ActividadEjecutada.where(informe_actividad_id: ia.id, actual: 1).take
          ae.descripcion = params[ejecutada]
          ae.save
        end

        observacion =:observacion.to_s+@act.to_s
    
          oa = ObservacionTutor.where(informe_actividad_id: ia.id).take
          if !params[observacion].blank?  
            if(oa == nil || oa =="")
              oa = ObservacionTutor.new
              oa.observaciones = params[observacion]
              oa.fecha = Time.now
              oa.informe_actividad_id = ia.id
              oa.save
            else
               oa.observaciones = params[observacion]
                  oa.save
            end
          end
        
        
        j= j+1
        i=:ext.to_s+j.to_s
        @act= params[i].to_i
      end

      #Comienza actividades obligatorias
      j=0
      i=:obli.to_s+j.to_s
      @act = params[i].to_i
      while j <  @cant_obli
        ia = InformeActividad.where(informe_id: @informe.id,actividad_id: @act).take

        ejecutada =:ejecutada.to_s+@act.to_s
        if params[ejecutada]!=nil && params[ejecutada]!=""
          ae = ActividadEjecutada.where(informe_actividad_id: ia.id, actual: 1).take
          ae.descripcion = params[ejecutada]
          ae.save
        end

         observacion =:observacion.to_s+@act.to_s
      
          oa = ObservacionTutor.where(informe_actividad_id: ia.id).take
          if !params[observacion].blank?
            if(oa == nil || oa =="")
              oa = ObservacionTutor.new
              oa.observaciones = params[observacion]
              oa.fecha = Time.now
              oa.informe_actividad_id = ia.id
              oa.save
            else
               oa.observaciones = params[observacion]
                  oa.save
            end
          end
        
        
        j= j+1
        i=:obli.to_s+j.to_s
        @act= params[i].to_i
      end

      #Comienzan otras actividades
      j=0
      i=:otra.to_s+j.to_s
      @act = params[i].to_i
      while j <  @cant_otr
        ia = InformeActividad.where(informe_id: @informe.id,actividad_id: @act).take
        ejecutada =:ejecutada.to_s+@act.to_s
        if params[ejecutada]!=nil && params[ejecutada]!=""
          ae = ActividadEjecutada.where(informe_actividad_id: ia.id, actual: 1).take
          if ae.blank?
            ae = ActividadEjecutada.new
            ae.descripcion = params[ejecutada]
            ae.fecha = Time.now
            ae.actual = 1
            ae.informe_actividad_id = ia.id
            ae.save
          end
          ae.descripcion = params[ejecutada]
          ae.save
        end
        j= j+1
        i=:otra.to_s+j.to_s
        @act= params[i].to_i
      end
      #EN ESTA SECCION IRIAN LAS OTRAS ACTIVIDADES CONTEMPLADAS EN EL PLAN HAY QUE VERIFICAR SI ESTAS SE PUEDEN MODIFICAR


      flash[:success]="Su informe fue editado exitosamente"
      redirect_to controller:"informes", action: "ver_detalles_informe"

  end

  def listar_informes
    if session[:usuario_id]  && session[:tutor]
      @persona = Persona.where(usuario_id: session[:usuario_id]).take
      @nombre = session[:nombre_usuario]
      @planformacion = session[:plan_id]
      @instructorName = session[:instructorName]
      @informes = Informe.where(planformacion_id: @planformacion).order(fecha_modificacion: :desc)
      @informe = Informe.where(planformacion_id: @planformacion).take
      @status = []

      @tipos= []

      @informes.each do |inf|
        si = EstatusInforme.where(informe_id: inf.id, actual: 1).take
        if(si.estatus_id==1)
          @st = "[" + si.fecha.to_s  + "]: APROBADO POR CONSEJO DE FACULTAD"
        elsif(si.estatus_id==2)
          @st = "[" + si.fecha.to_s  + "]: ENVIADO A CONSEJO TÉCNICO"
        elsif(si.estatus_id==3)
          @st = "[" + si.fecha.to_s  + "]: ENVIADO A COMISION DE INVESTIGACIÓN"
        elsif(si.estatus_id==4)
          @st = "[" + si.fecha.to_s  + "]: ENVIADO A CONSEJO DE FACULTAD"
        elsif(si.estatus_id==5)
          @st = "[" + si.fecha.to_s  + "]: APROBADO CON OBSERVACIONES POR CONSEJO DE FACULTAD"
        elsif(si.estatus_id==6)
         @st = "GUARDADO"
        elsif(si.estatus_id==8)
          @st = "[" + si.fecha.to_s  + "]: ENVIADO A CONSEJO DE ESCUELA"
        elsif(si.estatus_id==9)
          @st = "[" + si.fecha.to_s  + "]: RECHAZADO POR CONSEJO DE FACULTAD"
        elsif(si.estatus_id==12)
          @st = "[" + si.fecha.to_s  + "]: ENVIADO A CONSEJO TÉCNICO SIN REVISIÓN"
        elsif(si.estatus_id==13)
          @st = "[" + si.fecha.to_s  + "]: ENVIADO A COMISIÓN DE INVESTIGACIÓN SIN REVISIÓN"
        elsif(si.estatus_id==14)
          @st = "[" + si.fecha.to_s  + "]: ENVIADO A CONSEJO DE FACULTAD SIN REVISIÓN"
        elsif(si.estatus_id==18)
          @st = "[" + si.fecha.to_s  + "]: ENVIADO A CONSEJO DE ESCUELA SIN REVISIÓN"
        end
        @status.push(@st)

        if inf.tipo_id == 1
          @tipos.push('Semestral')
        else
          if inf.tipo_id ==2
            @tipos.push('Anual')
          else
            if inf.tipo_id==3
              @tipos.push('Final')
            end
          end
        end
      end
      
      if not @nombre
        print "NO HAY USUARIO"
      end
    else
      redirect_to controller:"forminst", action: "index"
    end
  end


  def cambiar_estatusI

    cpenviar = "si"

    cpStatus = EstatusAdecuacion.where(adecuacion_id: session[:adecuacion_id], actual: 1).take
    if cpStatus.estatus_id != 1
      cpenviar = "no1"
    end

    cpInformeAVerificar = Informe.find(params[:informe_id].to_i)
    if cpInformeAVerificar.conclusiones.blank?
      cpenviar = "no2"
    end
    if cpInformeAVerificar.opinion_tutor.blank?
      cpenviar = "no3"
    end

    cpActividadAVerificar = InformeActividad.where(informe_id: params[:informe_id].to_i).all
    cpActividadAVerificar.each do |actividadV|
      cpActividadPrueba = Actividad.find(actividadV.actividad_id)
      if cpActividadPrueba.tipo_actividad_id != 5
        cpActividadE = ActividadEjecutada.where(informe_actividad_id: actividadV.id, actual: 1).take
        if cpActividadE.blank?
          cpenviar = "no4"
        elsif cpActividadE.descripcion.blank?
          cpenviar = "no5"
        end
      end
    end

    if cpenviar == "si"

      @informe_id = params[:informe_id].to_i
      cambio_act = EstatusInforme.where(informe_id: @informe_id, actual: 1).take
      cambio_est = EstatusInforme.new 
      cambio_est.informe_id = @informe_id
      cambio_est.fecha = Time.now 
      error = 0
      plan = Planformacion.where(id: session[:plan_id]).take
      adec = Adecuacion.where(planformacion_id: session[:plan_id]).take
      informesAdecuacion = Informe.where(id: @informe_id).take
      informesAdecuaciones = Informe.where(planformacion_id: session[:plan_id]).all
      contador = 0
      @informe = Informe.find(@informe_id)
      if !informesAdecuacion.fecha_inicio.blank?
        if informesAdecuacion.numero != 1
          maxinforme = informesAdecuacion.numero.to_i - 1
          for i in 1..maxinforme
            informesAdecuaciones.each do |inf|
              estatusInf = EstatusInforme.where(informe_id: inf.id, actual: 1 ).take
              if (estatusInf.estatus_id != 6 && inf.numero == i)
                contador = contador + 1
              end
            end
          end
          if (contador != maxinforme)
            error = error + 1
          end
        end

        if error == 0
          if @informe.justificaciones.blank?
            @informe.justificaciones = "Sin Justificaciones"
          end
          @informe.save
          cambio_est = EstatusInforme.new 
          cambio_est.informe_id = @informe_id
          cambio_est.fecha = Time.now 

          respaldos = []
          respaldos = Respaldo.where(adecuacion_id: session[:adecuacion_id], informe_id: @informe_id).all
          Respaldo.where(adecuacion_id: session[:adecuacion_id], informe_id: @informe_id).update_all(actual: 0)
          numeroDeVersion = respaldos.size + 1
          nombre = generar_pdf()
          nameofthefile = "#{Rails.root}/tmp/PDFs/" + nombre 
          #nameofthefile  = nombre
          contents = IO.binread(nameofthefile)
          respaldo = Respaldo.new 
          respaldo.filename = nombre
          respaldo.content_type = "application/pdf"
          respaldo.file_contents = contents
          respaldo.created_at = Date.current
          respaldo.version = numeroDeVersion
          respaldo.estatus = "Enviado a Comisión de Investigación"
          respaldo.instructor_id = plan.instructor_id
          respaldo.tutor_id = session[:usuario_id]
          respaldo.adecuacion_id = session[:adecuacion_id]
          respaldo.informe_id = @informe_id
          respaldo.actual = 1
          if (cambio_act.estatus_id == 6)
            cambio_est.estatus_id = 3 #Enviado a comision de investigacion
            flash[:success]="El informe se ha enviado a Comision de Investigación"
            respaldo.estatus = "Enviado a Comisión de Investigación"
          elsif (cambio_act.estatus_id == 5)
            cambio_est.estatus_id = 4 #Enviado a consejo de facultad
            flash[:success]="El informe se ha envíado a Consejo de Facultad"
            respaldo.estatus = "Enviado a Consejo de Facultad"
          end
          respaldo.save

          cambio_est.actual = 1
          cambio_est.save
          cambio_act.actual = 0
          cambio_act.save
          cambio_est.fecha = Time.now 
          notific = Notificacion.new
          notific.instructor_id = plan.instructor_id
          notific.tutor_id = session[:usuario_id]
          notific.adecuacion_id = session[:adecuacion_id]
          notific.informe_id = @informe_id
          notific.actual = 1
          person = Persona.where(usuario_id: plan.instructor_id).take
          notificacionfecha = Date.current.to_s 
          if (cambio_act.estatus_id == 6)
            notific.mensaje = "[" + notificacionfecha + "] El " + session[:nombre_informe] + " de " + person.nombres.to_s.split.map(&:capitalize).join(' ') + " " + person.apellidos.to_s.split.map(&:capitalize).join(' ') + " se ha enviado a comisión de investigación."
          elsif (cambio_act.estatus_id == 5)
            notific.mensaje = "[" + notificacionfecha + "] El " + session[:nombre_informe] + " de " + person.nombres.to_s.split.map(&:capitalize).join(' ') + " " + person.apellidos.to_s.split.map(&:capitalize).join(' ') + " se ha enviado a Consejo de Facultad."
          end
          userr= Usuario.where(id: session[:usuario_id]).take
          user =Usuarioentidad.where(usuario_id: userr.id).take
          notific.save
          notific2 = Notificacion.new
          notific2.instructor_id = plan.instructor_id
          notific2.tutor_id = session[:usuario_id]
          notific2.adecuacion_id = session[:adecuacion_id]
          notific2.informe_id = @informe_id
          notific2.actual = 2
          if (cambio_act.estatus_id == 6)
            notific2.mensaje = "[" + notificacionfecha + "] Se ha enviado el " + session[:nombre_informe] + " a comisión de investigación."
          elsif (cambio_act.estatus_id == 5)
            notific2.mensaje = "[" + notificacionfecha + "] Se ha enviado el " + session[:nombre_informe] + " a Consejo de Facultad."
          end
          notific2.save
          notific3 = Notificacion.new
          notific3.instructor_id = plan.instructor_id
          notific3.tutor_id = session[:usuario_id]
          notific3.adecuacion_id = session[:adecuacion_id]
          notific3.informe_id = @informe_id
          if (cambio_act.estatus_id == 6)
            if(user.escuela_id == 1)
              notific3.departamento_id = user.departamento_id
            end
            notific3.actual = 3   #Comisión de investigación
            notific3.mensaje = "[" + notificacionfecha + "] Ha recibido un nuevo Informe: ' " + session[:nombre_informe]+ " ' de " + person.nombres.to_s.split.map(&:capitalize).join(' ') + " " + person.apellidos.to_s.split.map(&:capitalize).join(' ') + ", favor aprobar y enviar a la siguiente entidad."
          elsif (cambio_act.estatus_id == 5)
            notific3.actual = 5   #consejo de facultad
            notific3.mensaje = "[" + notificacionfecha + "] Ha recibido un nuevo Informe: ' " + session[:nombre_informe]+ " ' de " + person.nombres.to_s.split.map(&:capitalize).join(' ') + " " + person.apellidos.to_s.split.map(&:capitalize).join(' ') + ", favor revisar."
          end
          notific3.save
          
          if(user.escuela_id == 1)
            uentidad = Usuarioentidad.where(escuela_id: user.escuela_id, entidad_id: 7).take
          else
            if(user.escuela_id == 2)
              uentidad = Usuarioentidad.where(escuela_id: user.escuela_id, entidad_id: 8).take
            else
              if(user.escuela_id == 3)
                uentidad = Usuarioentidad.where(escuela_id: user.escuela_id, entidad_id: 9).take
              else
                if(user.escuela_id == 4)
                uentidad = Usuarioentidad.where(escuela_id: user.escuela_id, entidad_id: 10).take
                else
                  if(user.escuela_id == 9)
                    uentidad = Usuarioentidad.where(escuela_id: user.escuela_id, entidad_id: 11).take
                  else
                    if(user.escuela_id == 10)
                      uentidad = Usuarioentidad.where(escuela_id: user.escuela_id, entidad_id: 12).take
                    end
                  end
                end
              end
            end  
          end
          linkTeI = "http://formacion.ciens.ucv.ve/forminst?accion=mostrar informe&param1=" + plan.id.to_s + "&param2="+ @informe_id.to_s
          linkE = "http://formacion.ciens.ucv.ve/forminst?accion=mostrar informe&param1=" + plan.id.to_s+ "&param2="+@informe_id.to_s+"&param3="+adec.id.to_s
          @document = Respaldo.where(id: respaldo.id).take
          remitente3 = Usuario.where(id: session[:usuario_id]).take
          ActionCorreo.envio_informe(remitente3, notific.mensaje,2,linkTeI,@document).deliver
          remitente2 = Usuario.where(id: plan.instructor_id).take
          ActionCorreo.envio_informe(remitente2, notific2.mensaje,1,linkTeI,@document).deliver
          remitente = Usuario.where(id: uentidad.usuario_id).take
          ActionCorreo.envio_informe(remitente, notific3.mensaje,0,linkE,@document).deliver
          if (cambio_act.estatus_id == 5)
            ActionCorreo.envio_informe("<EMAIL>", notific3.mensaje,0, linkE,@document).deliver
          end
          
        else
            flash[:warning]="Debe enviar los informes en orden"
        end
      else 
        flash[:warning]="Debe introducir una fecha de inicio"
      end
      redirect_to controller:"informes", action: "listar_informes"
    else
      if cpenviar=="no1"
        flash[:warning]="Debe esperar a que la adecuación sea aprobada por consejo de facultad"
      elsif cpenviar=="no2" || cpenviar=="no3" || cpenviar=="no4" || cpenviar=="no5"
        flash[:warning]="El informe no se puede enviar sin terminar"
      end
      redirect_to controller:"informes", action: "listar_informes"
    end
  end

  def mas_observaciones
    
    @boolobs= 0
    @booltutor = 0
    @informe_id = params[:informe_id].to_i
    @actividad_id = params[:actividad_id].to_i
    ia = InformeActividad.where(informe_id: @informe_id, actividad_id: @actividad_id).take 


    @observaciones = ObservacionActividadInforme.where(informe_actividad_id: ia.id).all

    @observaciones.each do |obs|
      
      if(obs.observaciones != "")
      @boolobs = 1
      end
    end
      
    @observaciones.each do |obs|

      rev =  Revision.find(obs.revision_id)
      entidad = Usuarioentidad.where(usuario_id: rev.usuario_id).take

      if (entidad.entidad_id  >= 7 && entidad.entidad_id  <= 12)
      #comision investigacion   
          @obs_inv = obs.observaciones  #Estatus enviado a comision de investigacion
          
      else
        if (entidad.entidad_id  >= 14 && entidad.entidad_id  <= 17)
        #Consejo tecnico
          @obs_consejoT = obs.observaciones
        else
          if (entidad.entidad_id  >= 1 && entidad.entidad_id  <= 6)
          #Consejo de escuela
            @obs_consejoE = obs.observaciones
          else
            if (entidad.entidad_id  == 13)
            #Consejo de facultad
              @obs_consejoF =  obs.observaciones

            end 
          end
        end
      end
    end

      @obs_t= ObservacionTutor.where(informe_actividad_id: ia.id).take
      
      if(@obs_t != nil && @obs_t != "")
        @obs_tutor = @obs_t.observaciones
        @booltutor = 1
      end

    
  end

  def mas_observaciones2
    @boolobsb = 0
    @informe_id = params[:informe_id].to_i
    @resultado_id = params[:resultado_id].to_i
    ia = InformeActividad.where(informe_id: @informe_id, resultado_id: @resultado_id).take 

    @observaciones = ObservacionActividadInforme.where(informe_actividad_id: ia.id)

    @observaciones.each do |obs|
      
      if(obs.observaciones != "")
      @boolobs = 1
      end
    end
      
    @observaciones.each do |obs|

      rev =  Revision.find(obs.revision_id)
    
      entidad = Usuarioentidad.where(usuario_id: rev.usuario_id).take

      
      if (entidad.entidad_id  >= 7 && entidad.entidad_id  <= 12)
      #comision investigacion   
          @obs_inv = obs.observaciones  #Estatus enviado a comision de investigacion
          
      else
        if (entidad.entidad_id  >= 14 && entidad.entidad_id  <= 17)
        #Consejo tecnico
          @obs_consejoT = obs.observaciones
        else
          if (entidad.entidad_id  >= 1 && entidad.entidad_id  <= 6)
          #Consejo de escuela
            @obs_consejoE = obs.observaciones
          else
            if (entidad.entidad_id  == 13)
            #Consejo de facultad
              @obs_consejoF =  obs.observaciones

            end 
          end
        end
      end

    end
    
  end 

end


  
<file_sep>/forminst_new1/app/controllers/prorrogas_controller.rb
class ProrrogasController < ApplicationController
  before_action :set_prorroga, only: [:show, :edit, :update, :destroy]

  # GET /prorrogas
  # GET /prorrogas.json
  def index
    @prorrogas = Prorroga.all
  end

  # GET /prorrogas/1
  # GET /prorrogas/1.json
  def show
  end

  # GET /prorrogas/new
  def new
    @prorroga = Prorroga.new
  end

  # GET /prorrogas/1/edit
  def edit
  end

  # POST /prorrogas
  # POST /prorrogas.json
  def create
    @prorroga = Prorroga.new(prorroga_params)

    respond_to do |format|
      if @prorroga.save
        format.html { redirect_to @prorroga, notice: 'Prorroga was successfully created.' }
        format.json { render :show, status: :created, location: @prorroga }
      else
        format.html { render :new }
        format.json { render json: @prorroga.errors, status: :unprocessable_entity }
      end
    end
  end

  # PATCH/PUT /prorrogas/1
  # PATCH/PUT /prorrogas/1.json
  def update
    respond_to do |format|
      if @prorroga.update(prorroga_params)
        format.html { redirect_to @prorroga, notice: 'Prorroga was successfully updated.' }
        format.json { render :show, status: :ok, location: @prorroga }
      else
        format.html { render :edit }
        format.json { render json: @prorroga.errors, status: :unprocessable_entity }
      end
    end
  end

  # DELETE /prorrogas/1
  # DELETE /prorrogas/1.json
  def destroy
    @prorroga.destroy
    respond_to do |format|
      format.html { redirect_to prorrogas_url, notice: 'Prorroga was successfully destroyed.' }
      format.json { head :no_content }
    end
  end

  private
    # Use callbacks to share common setup or constraints between actions.
    def set_prorroga
      @prorroga = Prorroga.find(params[:id])
    end

    # Never trust parameters from the scary internet, only allow the white list through.
    def prorroga_params
      params.require(:prorroga).permit(:id, :planFormacionId)
    end
end
<file_sep>/forminst_new1/app/models/tipo_resultado.rb
class TipoResultado < ActiveRecord::Base
	belongs_to :tipo_actividad
	has_one :resultado
end
<file_sep>/forminst_new1/app/models/escuela.rb
class Escuela < ActiveRecord::Base
	has_many :entidad
end<file_sep>/forminst_new1/app/models/usuario.rb
class Usuario < ActiveRecord::Base
	has_many :usuarioentidad
	has_many :permisologium
	has_one :persona
	#has_many :planformacion
	#has_many :adecuacion
	#has_many :informe
end<file_sep>/forminst_new1/app/models/instructor.rb
class Instructor < ActiveRecord::Base
	belongs_to :usuario

	def self.md5(clave) # función que permite encriptar las claves a MD5
		Digest::MD5.hexdigest("#{clave}")
	end
end
<file_sep>/forminst_new1/app/controllers/forminst_controller.rb
class ForminstController < ApplicationController
	require 'net-ldap'
	require 'pry'
	require 'digest/sha1'

	layout 'ec_aplanes'

	#Página Principal
	def index
		reset_session
		@accion = params[:accion]
		@param1 = params[:param1]
		@param2 = params[:param2]
		@param3 = params[:param3]
	end

	#Iniciar Sesión
	def autenticar

		#Conectar con el servidor ldap
		ldap= Net::LDAP.new(:host=>"correo.ciens.ucv.ve",:port=>389, :auth=>{:method=> :simple, :username=>"cn=vmail,dc=ciens,dc=ucv,dc=ve", :password => "<PASSWORD>"})
		correo= params[:correo] # se toma el valor correo del ususario
		clave= params[:password] # se toma el valor password del usuario
		#Si es un Administrados

		#Descomentar el codigo siempre que se desee encriptar todas las contraseñas de la base de datos
		#usu = Usuario.all
		#usu.each do |u|
		#	u.password = <PASSWORD>::SHA1.<PASSWORD>(u.password)
		#	u.save
		#end

		if correo == "Administrador" && params[:password]=="<PASSWORD>"

			session[:usuario_id] = "-2552" #número de usuario para el administrador (usado para no ingresar al modulo con el link)
			session[:nombre_usuario] = "Administrador" #usado para no ingresar al modulo con el link
			session[:administrador] = true
			session[:tutor] = false
			session[:instructor] = false
			session[:entidad] = false
			flash[:success] = "Bienvenido! Administrador"
			redirect_to controller:"administrador", action: "index" #Mostrar el modulo del administrador

		elsif correo!=nil && correo!="" && clave!=nil && clave!="" #verificar que el correo no sea nulo
		begin
			result = ldap.bind_as(:base => "dc=ciens, dc=ucv, dc=ve", :filter => "(uid=#{correo})", :password => clave)
		rescue  => error
			result = nil
		end
		@usuario= Usuario.where(user: correo).take #buscar el usuario en la base de datos
			if @usuario #Si el usuario esta registrado
	      		tipo=@usuario.tipo #Guardar el tipo de usuario "Secretaria, Entidad, Vista(No poder modificar en la entidad), tutor e instructor"
				@usuarioe= Usuarioentidad.where(usuario_id: @usuario.id).take
				@entidad= Entidad.find(@usuarioe.entidad_id)
				if @usuario.activo==true #Sber si el usuario no esta bloqueado
					if @usuario.ldap==true && !result.blank? #si el usuario se encuentra en el ldap entonces
						@usuario.password = <PASSWORD>) #Se encripta la clave del usuario para almacenarlo en la base de datos (se usa cuando no funciona el ldap)
						@usuario.save
						#segun el usuario se muestra su modulo y se almacenan los datos de las sesiones
						if tipo=="Secretaria"
							session[:usuario_id]= @usuario.id
							@persona = Persona.where(usuario_id: session[:usuario_id]).take
							session[:nombre_usuario] = @persona.nombres.titleize+' '+@persona.apellidos.titleize
							session[:administrador] = false
							session[:tutor]= false
							session[:instructor]= false
							session[:entidad]= true
							flash[:success]= "Bienvenido! " + session[:nombre_usuario] = @persona.nombres.titleize+' '+@persona.apellidos.titleize
							redirect_to controller:"secretarias", action: "index"
						elsif tipo == "Docente"
							if @entidad.nombre=="tutor"
								session[:usuario_id]= @usuario.id
										@persona = Persona.where(usuario_id: session[:usuario_id]).take
										session[:nombre_usuario] = @persona.nombres.titleize+' '+@persona.apellidos.titleize
										session[:administrador] = false
										session[:tutor]= true
										session[:instructor]= false
										session[:entidad]= false
										if params[:accion] == "mostrar adecuacion"
											plan = Planformacion.where(id: params[:param1].to_i).take
											if session[:usuario_id] == plan.tutor_id
												session[:plan_id] = plan.id
												@inst = Persona.where(usuario_id: plan.instructor_id).take
												@instructorName = @inst.nombres.to_s.split.map(&:capitalize).join(' ') + " " + @inst.apellidos.to_s.split.map(&:capitalize).join(' ')
												session[:instructorName] = @instructorName
												@instructorName = session[:instructorName]
												session[:adecuacion_id] = Adecuacion.where(planformacion_id: session[:plan_id]).take.id
												flash[:success]= "Bienvenido! " + session[:nombre_usuario] = @persona.nombres.titleize+' '+@persona.apellidos.titleize
												redirect_to controller:"iniciotutor", action: "ver_detalles_adecuacion", plan_id: params[:param1], editar: params[:param2]
											else
												flash[:success]= "Bienvenido! " + session[:nombre_usuario] = @persona.nombres.titleize+' '+@persona.apellidos.titleize
												redirect_to controller:"iniciotutor", action: "index"
											end
										elsif params[:accion] == "mostrar informe"
											@inform = Informe.where(id: params[:param2].to_i).take
											if session[:usuario_id] == @inform.tutor_id
												session[:plan_id] = params[:param1].to_i
												session[:informe_id] = @inform.id
												plan = Planformacion.where(id: session[:plan_id]).take
												@inst = Persona.where(usuario_id: plan.instructor_id).take
												@instructorName = @inst.nombres.to_s.split.map(&:capitalize).join(' ') + " " + @inst.apellidos.to_s.split.map(&:capitalize).join(' ')
												session[:instructorName] = @instructorName
												@instructorName = session[:instructorName]
												puts session[:instructorName]
												session[:adecuacion_id] = Adecuacion.where(planformacion_id: session[:plan_id]).take.id
												flash[:success]= "Bienvenido! " + session[:nombre_usuario] = @persona.nombres.titleize+' '+@persona.apellidos.titleize
												redirect_to controller:"informes", action: "ver_detalles_informe", informe_id: params[:param2]
											else
												flash[:success]= "Bienvenido! " + session[:nombre_usuario] = @persona.nombres.titleize+' '+@persona.apellidos.titleize
												redirect_to controller:"iniciotutor", action: "index"
											end
										elsif params[:accion] == "listar informes"
											flash[:success]= "Bienvenido! " + session[:nombre_usuario] = @persona.nombres.titleize+' '+@persona.apellidos.titleize
											redirect_to controller:"inicioinstructor", action: "listar_informes"
										else
											flash[:success]= "Bienvenido! " + session[:nombre_usuario] = @persona.nombres.titleize+' '+@persona.apellidos.titleize
											redirect_to controller:"iniciotutor", action: "index"
										end

							elsif @entidad.nombre=="instructor"
								session[:usuario_id] = @usuario.id
								@persona = Persona.where(usuario_id: session[:usuario_id]).take
								session[:nombre_usuario] = @persona.nombres.titleize+' '+@persona.apellidos.titleize
								session[:administrador] = false
								session[:tutor]= false
								session[:instructor]= true
								session[:entidad]= false
								if params[:accion] == "mostrar adecuacion"
									if !Planformacion.where(instructor_id: session[:usuario_id]).take.blank?
										flash[:success]= "Bienvenido! " + session[:nombre_usuario] = @persona.nombres.titleize+' '+@persona.apellidos.titleize
										redirect_to controller:"inicioinstructor", action: "ver_detalles_adecuacion"
									else
										flash[:success]= "Bienvenido! " + session[:nombre_usuario] = @persona.nombres.titleize+' '+@persona.apellidos.titleize
										redirect_to controller:"inicioinstructor", action: "index"
									end
								elsif params[:accion] == "mostrar informe"
									if !Planformacion.where(instructor_id: session[:usuario_id]).take.blank?
										session[:plan_id] = params[:param1]
										flash[:success]= "Bienvenido! " + session[:nombre_usuario] = @persona.nombres.titleize+' '+@persona.apellidos.titleize
										redirect_to controller:"inicioinstructor", action: "ver_detalles_informe", informe_id: params[:param2]
									else
										flash[:success]= "Bienvenido! " + session[:nombre_usuario] = @persona.nombres.titleize+' '+@persona.apellidos.titleize
										redirect_to controller:"inicioinstructor", action: "index"
									end
								elsif params[:accion] == "listar informes"
									flash[:success]= "Bienvenido! " + session[:nombre_usuario] = @persona.nombres.titleize+' '+@persona.apellidos.titleize
									redirect_to controller:"inicioinstructor", action: "listar_informes"
								else
									flash[:success]= "Bienvenido! " + session[:nombre_usuario] = @persona.nombres.titleize+' '+@persona.apellidos.titleize
									redirect_to controller:"inicioinstructor", action: "index"
								end
							else
								session[:usuario_id]= @usuario.id
								@persona = Persona.where(usuario_id: session[:usuario_id]).take
								session[:nombre_usuario] = @persona.nombres.titleize+' '+@persona.apellidos.titleize
								session[:administrador] = false
								session[:tutor]= false
								session[:instructor]= false
								session[:entidad]= true
								flash[:success]= "Bienvenido! " + session[:nombre_usuario] = @persona.nombres.titleize+' '+@persona.apellidos.titleize

								redirect_to controller:"forminst", action: "index"
							end
						else
							if tipo=="Institucional" || tipo=="Vista"
								session[:usuario_id]= @usuario.id
								session[:administrador] = false
								session[:tutor]= false
								session[:instructor]= false
								session[:entidad]= true
								session[:entidad_id] = @entidad.id
								if(@entidad.nombre == "Comisión de Investigación de Biología")
									@depto = Departamento.where(id: @usuarioe.departamento_id).take
									if(@depto.blank?)
										puts "qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq"
										puts @entidad.nombre
										session[:nombre_usuario] = @entidad.nombre
									else
										puts "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"
										session[:nombre_usuario] = @depto.nombre
									end
								else
									session[:nombre_usuario] = @entidad.nombre
								end

								if params[:accion] == "mostrar adecuacion"
									ea = EstatusAdecuacion.where(adecuacion_id: params[:param3], actual: 1).take.estatus_id
									a = [3,2,8,4,1,5,9]
									b = [2,8,4,1,5,9]
									c = [8,4,1,5,9]
									d = [4,1,5,9]
									if (session[:entidad_id] >= 7 && session[:entidad_id] <= 12 && (a.include? ea)) || (session[:entidad_id] >= 14 && session[:entidad_id] <= 17 && (b.include? ea))  || (session[:entidad_id] >= 1 && session[:entidad_id] <= 6 && (c.include? ea)) || (session[:entidad_id] == 13 && (d.include? ea))
										session[:plan_id] = plan.id
										plan = Planformacion.where(id: session[:plan_id]).take
										@inst = Persona.where(usuario_id: plan.instructor_id).take
										@instructorName = @inst.nombres.to_s.split.map(&:capitalize).join(' ') + " " + @inst.apellidos.to_s.split.map(&:capitalize).join(' ')
										session[:instructorName] = @instructorName
										@instructorName = session[:instructorName]
										session[:adecuacion_id] = Adecuacion.where(planformacion_id: session[:plan_id]).take.id
										flash[:success]= "Bienvenido al " + @entidad.nombre
										redirect_to controller:"inicioentidad", action: "ver_detalles_adecuacion", adecuacion_id: params[:param3]
									else
										flash[:success]= "Bienvenido al " + @entidad.nombre
										redirect_to controller:"inicioentidad", action: "index"
									end
								elsif params[:accion] == "mostrar informe"
									
									ea = EstatusAdecuacion.where(adecuacion_id: params[:param3], actual: 1).take.estatus_id
									ea = ea.to_s
									a = ["3","2","8","4","1","5","9"]
									b = ["2","8","4","1","5","9"]
									c = ["8","4","1","5","9"]
									d = ["4","1","5","9"]
									if (session[:entidad_id] >= 7 && session[:entidad_id] <= 12 && (a.include? ea)) || (session[:entidad_id] >= 14 && session[:entidad_id] <= 17 && (b.include? ea))  || (session[:entidad_id] >= 1 && session[:entidad_id] <= 6 && (c.include? ea)) || (session[:entidad_id] == 13 && (d.include? ea))
										@inform = Informe.where(id: params[:param2].to_i).take
										session[:plan_id] = params[:param1].to_i
										session[:informe_id] = @inform.id
										plan = Planformacion.where(id: session[:plan_id]).take
										@inst = Persona.where(usuario_id: plan.instructor_id).take
										@instructorName = @inst.nombres.to_s.split.map(&:capitalize).join(' ') + " " + @inst.apellidos.to_s.split.map(&:capitalize).join(' ')
										session[:instructorName] = @instructorName
										@instructorName = session[:instructorName]
										session[:adecuacion_id] = Adecuacion.where(planformacion_id: session[:plan_id]).take.id
										flash[:success]= "Bienvenido al " + @entidad.nombre
										redirect_to controller:"inicioentidad", action: "ver_detalles_informe", informe_id: params[:param2].to_i
									else
										flash[:success]= "Bienvenido al " + @entidad.nombre
										redirect_to controller:"inicioentidad", action: "index"
									end
								else
									flash[:success]= "Bienvenido al " + @entidad.nombre
									redirect_to controller:"inicioentidad", action: "index"
								end
							else
								flash.now[:mensaje] = 'Su contraseña o correo electrónico es incorrecto.'
								redirect_to controller:"forminst", action: "index"
							end
						end
					else #en caso de no funcionar el ldap o de no econtrase el usuario en el mismo
						clave = Digest::SHA1.hexdigest(clave) #se encripta la clave resivida por el usuario para su posterior comparación
						if @usuario.email == correo #si el correo se encuentra registrado
							if @usuario.password == clave #y la clave es la misma
								@usuarioe= Usuarioentidad.where(usuario_id: @usuario.id).take
								@entidad= Entidad.find(@usuarioe.entidad_id)
								#segun el usuario se muestra su modulo y se almacenan los datos de las sesiones
								if tipo=="Secretaria"
									session[:usuario_id]= @usuario.id
									@persona = Persona.where(usuario_id: session[:usuario_id]).take
									session[:nombre_usuario] = @persona.nombres.titleize+' '+@persona.apellidos.titleize
									session[:administrador] = false
									session[:tutor]= false
									session[:instructor]= false
									session[:entidad]= true
									flash[:success]= "Bienvenido! " + session[:nombre_usuario] = @persona.nombres.titleize+' '+@persona.apellidos.titleize
									redirect_to controller:"secretarias", action: "index"
								elsif tipo == "Docente"
									if @entidad.nombre=="tutor"
										session[:usuario_id]= @usuario.id
										@persona = Persona.where(usuario_id: session[:usuario_id]).take
										session[:nombre_usuario] = @persona.nombres.titleize+' '+@persona.apellidos.titleize
										session[:administrador] = false
										session[:tutor]= true
										session[:instructor]= false
										session[:entidad]= false
										if params[:accion] == "mostrar adecuacion"
											plan = Planformacion.where(id: params[:param1].to_i).take
											if session[:usuario_id] == plan.tutor_id
												session[:plan_id] = plan.id
												@inst = Persona.where(usuario_id: plan.instructor_id).take
												@instructorName = @inst.nombres.to_s.split.map(&:capitalize).join(' ') + " " + @inst.apellidos.to_s.split.map(&:capitalize).join(' ')
												session[:instructorName] = @instructorName
												@instructorName = session[:instructorName]
												session[:adecuacion_id] = Adecuacion.where(planformacion_id: session[:plan_id]).take.id
												flash[:success]= "Bienvenido! " + session[:nombre_usuario] = @persona.nombres.titleize+' '+@persona.apellidos.titleize
												redirect_to controller:"iniciotutor", action: "ver_detalles_adecuacion", plan_id: params[:param1], editar: params[:param2]
											else
												flash[:success]= "Bienvenido! " + session[:nombre_usuario] = @persona.nombres.titleize+' '+@persona.apellidos.titleize
												redirect_to controller:"iniciotutor", action: "index"
											end
										elsif params[:accion] == "mostrar informe"
											@inform = Informe.where(id: params[:param2].to_i).take
											if session[:usuario_id] == @inform.tutor_id
												session[:plan_id] = params[:param1].to_i
												session[:informe_id] = @inform.id
												plan = Planformacion.where(id: session[:plan_id]).take
												@inst = Persona.where(usuario_id: plan.instructor_id).take
												@instructorName = @inst.nombres.to_s.split.map(&:capitalize).join(' ') + " " + @inst.apellidos.to_s.split.map(&:capitalize).join(' ')
												session[:instructorName] = @instructorName
												@instructorName = session[:instructorName]
												puts session[:instructorName]
												session[:adecuacion_id] = Adecuacion.where(planformacion_id: session[:plan_id]).take.id
												flash[:success]= "Bienvenido! " + session[:nombre_usuario] = @persona.nombres.titleize+' '+@<EMAIL>ize
												redirect_to controller:"informes", action: "ver_detalles_informe", informe_id: params[:param2]
											else
												flash[:success]= "Bienvenido! " + session[:nombre_usuario] = @persona.nombres.titleize+' '+@persona.<EMAIL>.titleize
												redirect_to controller:"iniciotutor", action: "index"
											end
										elsif params[:accion] == "listar informes"
											flash[:success]= "Bienvenido! " + session[:nombre_usuario] = @persona.nombres.titleize+' '+@persona.apellidos.titleize
											redirect_to controller:"inicioinstructor", action: "listar_informes"
										else
											flash[:success]= "Bienvenido! " + session[:nombre_usuario] = @persona.nombres.titleize+' '+@persona.apellidos.titleize
											redirect_to controller:"iniciotutor", action: "index"
										end
									else
										if @entidad.nombre="instructor"
											session[:usuario_id] = @usuario.id
											@persona = Persona.where(usuario_id: session[:usuario_id]).take
											session[:nombre_usuario] = @persona.nombres.titleize+' '+@persona.apellidos.titleize
											session[:administrador] = false
											session[:tutor]= false
											session[:instructor]= true
											session[:entidad]= false
											if params[:accion] == "mostrar adecuacion"
												if !Planformacion.where(instructor_id: session[:usuario_id]).take.blank?
													flash[:success]= "Bienvenido! " + session[:nombre_usuario] = @persona.nombres.titleize+' '+@persona.apellidos.titleize
													redirect_to controller:"inicioinstructor", action: "ver_detalles_adecuacion"
												else
													flash[:success]= "Bienvenido! " + session[:nombre_usuario] = @persona.nombres.titleize+' '+@persona.apellidos.titleize
													redirect_to controller:"inicioinstructor", action: "index"
												end
											elsif params[:accion] == "mostrar informe"
												if !Planformacion.where(instructor_id: session[:usuario_id]).take.blank?
													session[:plan_id] = params[:param1]
													flash[:success]= "Bienvenido! " + session[:nombre_usuario] = @persona.nombres.titleize+' '+@persona.apellidos.titleize
													redirect_to controller:"inicioinstructor", action: "ver_detalles_informe", informe_id: params[:param2]
												else
													flash[:success]= "Bienvenido! " + session[:nombre_usuario] = @persona.nombres.titleize+' '+@persona.apellidos.titleize
													redirect_to controller:"inicioinstructor", action: "index"
												end
											elsif params[:accion] == "listar informes"
												flash[:success]= "Bienvenido! " + session[:nombre_usuario] = @persona.nombres.titleize+' '+@persona.apellidos.titleize
												redirect_to controller:"inicioinstructor", action: "listar_informes"
											else
												flash[:success]= "Bienvenido! " + session[:nombre_usuario] = @persona.nombres.titleize+' '+@persona.apellidos.titleize
												redirect_to controller:"inicioinstructor", action: "index"
											end
										else
											session[:usuario_id]= @usuario.id
											@persona = Persona.where(usuario_id: session[:usuario_id]).take
											session[:nombre_usuario] = @persona.nombres.titleize+' '+@persona.apellidos.titleize
											session[:administrador] = false
											session[:tutor]= false
											session[:instructor]= false
											session[:entidad]= true
											flash[:success]= "Bienvenido! " + session[:nombre_usuario] = @persona.nombres.titleize+' '+@persona.apellidos.titleize

											redirect_to controller:"forminst", action: "index"
										end
									end
								elsif tipo == "Institucional" || tipo == "Vista"
									session[:usuario_id]= @usuario.id
									session[:administrador] = false
									session[:tutor]= false
									session[:instructor]= false
									session[:entidad]= true
									session[:entidad_id] = @entidad.id
									if(@entidad.nombre == "Comisión de Investigación de Biología")
										@depto = Departamento.where(id: @usuarioe.departamento_id).take
										if(@depto.blank?)
											puts "qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq"
											puts @entidad.nombre
											session[:nombre_usuario] = @entidad.nombre
										else
											puts "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"
											session[:nombre_usuario] = @depto.nombre
										end
									else
										session[:nombre_usuario] = @entidad.nombre
									end

									if params[:accion] == "mostrar adecuacion"
										ea = EstatusAdecuacion.where(adecuacion_id: params[:param3], actual: 1).take.estatus_id
										a = [3,2,8,4,1,5,9]
										b = [2,8,4,1,5,9]
										c = [8,4,1,5,9]
										d = [4,1,5,9]
										if (session[:entidad_id] >= 7 && session[:entidad_id] <= 12 && (a.include? ea)) || (session[:entidad_id] >= 14 && session[:entidad_id] <= 17 && (b.include? ea))  || (session[:entidad_id] >= 1 && session[:entidad_id] <= 6 && (c.include? ea)) || (session[:entidad_id] == 13 && (d.include? ea))
											session[:plan_id] = plan.id
											plan = Planformacion.where(id: session[:plan_id]).take
											@inst = Persona.where(usuario_id: plan.instructor_id).take
											@instructorName = @inst.nombres.to_s.split.map(&:capitalize).join(' ') + " " + @inst.apellidos.to_s.split.map(&:capitalize).join(' ')
											session[:instructorName] = @instructorName
											@instructorName = session[:instructorName]
											session[:adecuacion_id] = Adecuacion.where(planformacion_id: session[:plan_id]).take.id
											flash[:success]= "Bienvenido al " + @entidad.nombre
											redirect_to controller:"inicioentidad", action: "ver_detalles_adecuacion", adecuacion_id: params[:param3]
										else
											flash[:success]= "Bienvenido al " + @entidad.nombre
											redirect_to controller:"inicioentidad", action: "index"
										end
									elsif params[:accion] == "mostrar informe"
										
										ea = EstatusAdecuacion.where(adecuacion_id: params[:param3], actual: 1).take.estatus_id
										ea = ea.to_s
										a = ["3","2","8","4","1","5","9"]
										b = ["2","8","4","1","5","9"]
										c = ["8","4","1","5","9"]
										d = ["4","1","5","9"]
										if (session[:entidad_id] >= 7 && session[:entidad_id] <= 12 && (a.include? ea)) || (session[:entidad_id] >= 14 && session[:entidad_id] <= 17 && (b.include? ea))  || (session[:entidad_id] >= 1 && session[:entidad_id] <= 6 && (c.include? ea)) || (session[:entidad_id] == 13 && (d.include? ea))
											@inform = Informe.where(id: params[:param2].to_i).take
											session[:plan_id] = params[:param1].to_i
											session[:informe_id] = @inform.id
											plan = Planformacion.where(id: session[:plan_id]).take
											@inst = Persona.where(usuario_id: plan.instructor_id).take
											@instructorName = @inst.nombres.to_s.split.map(&:capitalize).join(' ') + " " + @inst.apellidos.to_s.split.map(&:capitalize).join(' ')
											session[:instructorName] = @instructorName
											@instructorName = session[:instructorName]
											session[:adecuacion_id] = Adecuacion.where(planformacion_id: session[:plan_id]).take.id
											flash[:success]= "Bienvenido al " + @entidad.nombre
											redirect_to controller:"inicioentidad", action: "ver_detalles_informe", informe_id: params[:param2].to_i
										else
											flash[:success]= "Bienvenido al " + @entidad.nombre
											redirect_to controller:"inicioentidad", action: "index"
										end
									else
										flash[:success]= "Bienvenido al " + @entidad.nombre
										redirect_to controller:"inicioentidad", action: "index"
									end
								end
							#Autenticación Incorrecta
							else
								flash.now[:danger]="Su usuario o contraseña son incorrectas"
								render 'index'
							end
						else
							flash.now[:danger]="Su usuario o contraseña son incorrectas"
							render 'index'
						end
					end
				else
					flash.now[:danger]= "El usuario no está activo en el sistema"
					render 'index'
				end
			else
				flash[:danger]= "El usuario o la contraseña son incorrectas"
				render 'index'
			end
			
		else
			flash[:danger]= "El usuario o la contraseña son incorrectas"
			render "index"
		end
	end


end
<file_sep>/forminst_new1/app/assets/javascripts/informes.js
// Place all the behaviors and hooks related to the matching controller here.
// All this logic will automatically be available in application.js.
	
	function mostrarInputs(op, params, letra){
		var numero = parseInt(letra);
		if (op == 1){
			$("#tipos"+numero+params).show()
			$("#cplibro"+numero+params).css({display: "none"})
			$("#cprevista"+numero+params).css({display: "none"})
			$("#cpprensa"+numero+params).css({display: "none"})
			$("#cpcd"+numero+params).css({display: "none"})
			$("#cpmanuales"+numero+params).css({display: "none"})
			$("#cppelectronicas"+numero+params).css({display: "none"})
			$("#tesis"+numero+params).css({display: "none"})
			$("#cpactaconferencia"+numero+params).css({display: "none"})
			$("#cpcapitulolibro"+numero+params).css({display: "none"})
			$("#cppresentacionp"+numero+params).css({display: "none"})
			$("#cppresentacioni"+numero+params).css({display: "none"})
			$("#cpotro"+numero+params).css({display: "none"})
			$("#cpasistenciae"+numero+params).css({display: "none"})
			$("#cporganizaione"+numero+params).css({display: "none"})
			$("#cpdictadoc"+numero+params).css({display: "none"})
		}else if (op == 2){
			$("#tipos"+numero+params).css({display: "none"})
			$("#cplibro"+numero+params).css({display: "none"})
			$("#cprevista"+numero+params).css({display: "none"})
			$("#cpprensa"+numero+params).css({display: "none"})
			$("#cpcd"+numero+params).css({display: "none"})
			$("#cpmanuales"+numero+params).css({display: "none"})
			$("#cppelectronicas"+numero+params).css({display: "none"})
			$("#tesis"+numero+params).css({display: "none"})
			$("#cpactaconferencia"+numero+params).css({display: "none"})
			$("#cpcapitulolibro"+numero+params).css({display: "none"})
			$("#cppresentacionp"+numero+params).show()
			$("#cppresentacioni"+numero+params).css({display: "none"})
			$("#cpotro"+numero+params).css({display: "none"})
			$("#cpasistenciae"+numero+params).css({display: "none"})
			$("#cporganizaione"+numero+params).css({display: "none"})
			$("#cpdictadoc"+numero+params).css({display: "none"})
		}else if (op == 3){
			$("#tipos"+numero+params).css({display: "none"})
			$("#cplibro"+numero+params).css({display: "none"})
			$("#cprevista"+numero+params).css({display: "none"})
			$("#cpprensa"+numero+params).css({display: "none"})
			$("#cpcd"+numero+params).css({display: "none"})
			$("#cpmanuales"+numero+params).css({display: "none"})
			$("#cppelectronicas"+numero+params).css({display: "none"})
			$("#tesis"+numero+params).css({display: "none"})
			$("#cpactaconferencia"+numero+params).css({display: "none"})
			$("#cpcapitulolibro"+numero+params).css({display: "none"})
			$("#cppresentacionp"+numero+params).css({display: "none"})
			$("#cppresentacioni"+numero+params).show()
			$("#cpotro"+numero+params).css({display: "none"})
			$("#cpasistenciae"+numero+params).css({display: "none"})
			$("#cporganizaione"+numero+params).css({display: "none"})
			$("#cpdictadoc"+numero+params).css({display: "none"})
		}else if (op == 4){
			$("#tipos"+numero+params).css({display: "none"})
			$("#cplibro"+numero+params).css({display: "none"})
			$("#cprevista"+numero+params).css({display: "none"})
			$("#cpprensa"+numero+params).css({display: "none"})
			$("#cpcd"+numero+params).css({display: "none"})
			$("#cpmanuales"+numero+params).css({display: "none"})
			$("#cppelectronicas"+numero+params).css({display: "none"})
			$("#tesis"+numero+params).css({display: "none"})
			$("#cpactaconferencia"+numero+params).css({display: "none"})
			$("#cpcapitulolibro"+numero+params).css({display: "none"})
			$("#cppresentacionp"+numero+params).css({display: "none"})
			$("#cppresentacioni"+numero+params).css({display: "none"})
			$("#cpotro"+numero+params).show()
			$("#cpasistenciae"+numero+params).css({display: "none"})
			$("#cporganizaione"+numero+params).css({display: "none"})
			$("#cpdictadoc"+numero+params).css({display: "none"})
		}else if (op == 5){
			$("#tipos"+numero+params).css({display: "none"})
			$("#cplibro"+numero+params).css({display: "none"})
			$("#cprevista"+numero+params).css({display: "none"})
			$("#cpprensa"+numero+params).css({display: "none"})
			$("#cpcd"+numero+params).css({display: "none"})
			$("#cpmanuales"+numero+params).css({display: "none"})
			$("#cppelectronicas"+numero+params).css({display: "none"})
			$("#tesis"+numero+params).css({display: "none"})
			$("#cpactaconferencia"+numero+params).css({display: "none"})
			$("#cpcapitulolibro"+numero+params).css({display: "none"})
			$("#cppresentacionp"+numero+params).css({display: "none"})
			$("#cppresentacioni"+numero+params).css({display: "none"})
			$("#cpotro"+numero+params).css({display: "none"})
			$("#cpasistenciae"+numero+params).show()
			$("#cporganizaione"+numero+params).css({display: "none"})
			$("#cpdictadoc"+numero+params).css({display: "none"})
		}else if (op == 6){
			$("#tipos"+numero+params).css({display: "none"})
			$("#cplibro"+numero+params).css({display: "none"})
			$("#cprevista"+numero+params).css({display: "none"})
			$("#cpprensa"+numero+params).css({display: "none"})
			$("#cpcd"+numero+params).css({display: "none"})
			$("#cpmanuales"+numero+params).css({display: "none"})
			$("#cppelectronicas"+numero+params).css({display: "none"})
			$("#tesis"+numero+params).css({display: "none"})
			$("#cpactaconferencia"+numero+params).css({display: "none"})
			$("#cpcapitulolibro"+numero+params).css({display: "none"})
			$("#cppresentacionp"+numero+params).css({display: "none"})
			$("#cppresentacioni"+numero+params).css({display: "none"})
			$("#cpotro"+numero+params).css({display: "none"})
			$("#cpasistenciae"+numero+params).css({display: "none"})
			$("#cporganizaione"+numero+params).show()
			$("#cpdictadoc"+numero+params).css({display: "none"})
		}else if (op == 7){
			$("#tipos"+numero+params).css({display: "none"})
			$("#cplibro"+numero+params).css({display: "none"})
			$("#cprevista"+numero+params).css({display: "none"})
			$("#cpprensa"+numero+params).css({display: "none"})
			$("#cpcd"+numero+params).css({display: "none"})
			$("#cpmanuales"+numero+params).css({display: "none"})
			$("#cppelectronicas"+numero+params).css({display: "none"})
			$("#tesis"+numero+params).css({display: "none"})
			$("#cpactaconferencia"+numero+params).css({display: "none"})
			$("#cpcapitulolibro"+numero+params).css({display: "none"})
			$("#cppresentacionp"+numero+params).css({display: "none"})
			$("#cppresentacioni"+numero+params).css({display: "none"})
			$("#cpotro"+numero+params).css({display: "none"})
			$("#cpasistenciae"+numero+params).css({display: "none"})
			$("#cporganizaione"+numero+params).css({display: "none"})
			$("#cpdictadoc"+numero+params).show()
		}else{
			$("#tipos"+numero+params).css({display: "none"})
			$("#cplibro"+numero+params).css({display: "none"})
			$("#cprevista"+numero+params).css({display: "none"})
			$("#cpprensa"+numero+params).css({display: "none"})
			$("#cpcd"+numero+params).css({display: "none"})
			$("#cpmanuales"+numero+params).css({display: "none"})
			$("#cppelectronicas"+numero+params).css({display: "none"})
			$("#tesis"+numero+params).css({display: "none"})
			$("#cpactaconferencia"+numero+params).css({display: "none"})
			$("#cpcapitulolibro"+numero+params).css({display: "none"})
			$("#cppresentacionp"+numero+params).css({display: "none"})
			$("#cppresentacioni"+numero+params).css({display: "none"})
			$("#cpotro"+numero+params).css({display: "none"})
			$("#cpasistenciae"+numero+params).css({display: "none"})
			$("#cporganizaione"+numero+params).css({display: "none"})
			$("#cpdictadoc"+numero+params).css({display: "none"})
		};
	}

	function mostrarInputsTipos(op,params,letra){
		var numero = parseInt(letra);
		if (op == 1) {
			/*$("#tipos").show()*/
			$("#cplibro"+numero+params).show()
			$("#cprevista"+numero+params).css({display: "none"})
			$("#cpprensa"+numero+params).css({display: "none"})
			$("#cpcd"+numero+params).css({display: "none"})
			$("#cpmanuales"+numero+params).css({display: "none"})
			$("#cppelectronicas"+numero+params).css({display: "none"})
			$("#tesis"+numero+params).css({display: "none"})
			$("#cpactaconferencia"+numero+params).css({display: "none"})
			$("#cpcapitulolibro"+numero+params).css({display: "none"})
			$("#cppresentacionp"+numero+params).css({display: "none"})
			$("#cppresentacioni"+numero+params).css({display: "none"})
			$("#cpotro"+numero+params).css({display: "none"})
			$("#cpasistenciae"+numero+params).css({display: "none"})
			$("#cporganizaione"+numero+params).css({display: "none"})
			$("#cpdictadoc"+numero+params).css({display: "none"})
		}else if (op == 2) {
			$("#cplibro"+numero+params).css({display: "none"})
			$("#cprevista"+numero+params).show()
			$("#cpprensa"+numero+params).css({display: "none"})
			$("#cpcd"+numero+params).css({display: "none"})
			$("#cpmanuales"+numero+params).css({display: "none"})
			$("#cppelectronicas"+numero+params).css({display: "none"})
			$("#tesis"+numero+params).css({display: "none"})
			$("#cpactaconferencia"+numero+params).css({display: "none"})
			$("#cpcapitulolibro"+numero+params).css({display: "none"})
			$("#cppresentacionp"+numero+params).css({display: "none"})
			$("#cppresentacioni"+numero+params).css({display: "none"})
			$("#cpotro"+numero+params).css({display: "none"})
			$("#cpasistenciae"+numero+params).css({display: "none"})
			$("#cporganizaione"+numero+params).css({display: "none"})
			$("#cpdictadoc"+numero+params).css({display: "none"})
		}else if (op == 3) {
			$("#cplibro"+numero+params).css({display: "none"})
			$("#cprevista"+numero+params).css({display: "none"})
			$("#cpprensa"+numero+params).show()
			$("#cpcd"+numero+params).css({display: "none"})
			$("#cpmanuales"+numero+params).css({display: "none"})
			$("#cppelectronicas"+numero+params).css({display: "none"})
			$("#tesis"+numero+params).css({display: "none"})
			$("#cpactaconferencia"+numero+params).css({display: "none"})
			$("#cpcapitulolibro"+numero+params).css({display: "none"})
			$("#cppresentacionp"+numero+params).css({display: "none"})
			$("#cppresentacioni"+numero+params).css({display: "none"})
			$("#cpotro"+numero+params).css({display: "none"})
			$("#cpasistenciae"+numero+params).css({display: "none"})
			$("#cporganizaione"+numero+params).css({display: "none"})
			$("#cpdictadoc"+numero+params).css({display: "none"})
		}else if (op == 4) {
			$("#cplibro"+numero+params).css({display: "none"})
			$("#cprevista"+numero+params).css({display: "none"})
			$("#cpprensa"+numero+params).css({display: "none"})
			$("#cpcd"+numero+params).show()
			$("#cpmanuales"+numero+params).css({display: "none"})
			$("#cppelectronicas"+numero+params).css({display: "none"})
			$("#tesis"+numero+params).css({display: "none"})
			$("#cpactaconferencia"+numero+params).css({display: "none"})
			$("#cpcapitulolibro"+numero+params).css({display: "none"})
			$("#cppresentacionp"+numero+params).css({display: "none"})
			$("#cppresentacioni"+numero+params).css({display: "none"})
			$("#cpotro"+numero+params).css({display: "none"})
			$("#cpasistenciae"+numero+params).css({display: "none"})
			$("#cporganizaione"+numero+params).css({display: "none"})
			$("#cpdictadoc"+numero+params).css({display: "none"})
		}else if (op == 5) {
			$("#cplibro"+numero+params).css({display: "none"})
			$("#cprevista"+numero+params).css({display: "none"})
			$("#cpprensa"+numero+params).css({display: "none"})
			$("#cpcd"+numero+params).css({display: "none"})
			$("#cpmanuales"+numero+params).show()
			$("#cppelectronicas"+numero+params).css({display: "none"})
			$("#tesis"+numero+params).css({display: "none"})
			$("#cpactaconferencia"+numero+params).css({display: "none"})
			$("#cpcapitulolibro"+numero+params).css({display: "none"})
			$("#cppresentacionp"+numero+params).css({display: "none"})
			$("#cppresentacioni"+numero+params).css({display: "none"})
			$("#cpotro"+numero+params).css({display: "none"})
			$("#cpasistenciae"+numero+params).css({display: "none"})
			$("#cporganizaione"+numero+params).css({display: "none"})
			$("#cpdictadoc"+numero+params).css({display: "none"})
		}else if (op == 6) {
			$("#cplibro"+numero+params).css({display: "none"})
			$("#cprevista"+numero+params).css({display: "none"})
			$("#cpprensa"+numero+params).css({display: "none"})
			$("#cpcd"+numero+params).css({display: "none"})
			$("#cpmanuales"+numero+params).css({display: "none"})
			$("#cppelectronicas"+numero+params).show()
			$("#tesis"+numero+params).css({display: "none"})
			$("#cpactaconferencia"+numero+params).css({display: "none"})
			$("#cpcapitulolibro"+numero+params).css({display: "none"})
			$("#cppresentacionp"+numero+params).css({display: "none"})
			$("#cppresentacioni"+numero+params).css({display: "none"})
			$("#cpotro"+numero+params).css({display: "none"})
			$("#cpasistenciae"+numero+params).css({display: "none"})
			$("#cporganizaione"+numero+params).css({display: "none"})
			$("#cpdictadoc"+numero+params).css({display: "none"})
		}else if (op == 7) {
			$("#cplibro"+numero+params).css({display: "none"})
			$("#cprevista"+numero+params).css({display: "none"})
			$("#cpprensa"+numero+params).css({display: "none"})
			$("#cpcd"+numero+params).css({display: "none"})
			$("#cpmanuales"+numero+params).css({display: "none"})
			$("#cppelectronicas"+numero+params).css({display: "none"})
			$("#tesis"+numero+params).show()
			$("#cpactaconferencia"+numero+params).css({display: "none"})
			$("#cpcapitulolibro"+numero+params).css({display: "none"})
			$("#cppresentacionp"+numero+params).css({display: "none"})
			$("#cppresentacioni"+numero+params).css({display: "none"})
			$("#cpotro"+numero+params).css({display: "none"})
			$("#cpasistenciae"+numero+params).css({display: "none"})
			$("#cporganizaione"+numero+params).css({display: "none"})
			$("#cpdictadoc"+numero+params).css({display: "none"})
		}else if (op == 8) {
			$("#cplibro"+numero+params).css({display: "none"})
			$("#cprevista"+numero+params).css({display: "none"})
			$("#cpprensa"+numero+params).css({display: "none"})
			$("#cpcd"+numero+params).css({display: "none"})
			$("#cpmanuales"+numero+params).css({display: "none"})
			$("#cppelectronicas"+numero+params).css({display: "none"})
			$("#tesis"+numero+params).css({display: "none"})
			$("#cpactaconferencia"+numero+params).show()
			$("#cpcapitulolibro"+numero+params).css({display: "none"})
			$("#cppresentacionp"+numero+params).css({display: "none"})
			$("#cppresentacioni"+numero+params).css({display: "none"})
			$("#cpotro"+numero+params).css({display: "none"})
			$("#cpasistenciae"+numero+params).css({display: "none"})
			$("#cporganizaione"+numero+params).css({display: "none"})
			$("#cpdictadoc"+numero+params).css({display: "none"})
		}else if (op == 9) {
			$("#cplibro"+numero+params).css({display: "none"})
			$("#cprevista"+numero+params).css({display: "none"})
			$("#cpprensa"+numero+params).css({display: "none"})
			$("#cpcd"+numero+params).css({display: "none"})
			$("#cpmanuales"+numero+params).css({display: "none"})
			$("#cppelectronicas"+numero+params).css({display: "none"})
			$("#tesis"+numero+params).css({display: "none"})
			$("#cpactaconferencia"+numero+params).css({display: "none"})
			$("#cpcapitulolibro"+numero+params).show()
			$("#cppresentacionp"+numero+params).css({display: "none"})
			$("#cppresentacioni"+numero+params).css({display: "none"})
			$("#cpotro"+numero+params).css({display: "none"})
			$("#cpasistenciae"+numero+params).css({display: "none"})
			$("#cporganizaione"+numero+params).css({display: "none"})
			$("#cpdictadoc"+numero+params).css({display: "none"})	
		}else{
			$("#cplibro"+numero+params).css({display: "none"})
			$("#cprevista"+numero+params).css({display: "none"})
			$("#cpprensa"+numero+params).css({display: "none"})
			$("#cpcd"+numero+params).css({display: "none"})
			$("#cpmanuales"+numero+params).css({display: "none"})
			$("#cppelectronicas"+numero+params).css({display: "none"})
			$("#tesis"+numero+params).css({display: "none"})
			$("#cpactaconferencia"+numero+params).css({display: "none"})
			$("#cpcapitulolibro"+numero+params).css({display: "none"})
		};

	}
<file_sep>/forminst_new1/app/controllers/estatusinformes_controller.rb
class EstatusinformesController < ApplicationController
  before_action :set_estatusinforme, only: [:show, :edit, :update, :destroy]

  # GET /estatusinformes
  # GET /estatusinformes.json
  def index
    @estatusinformes = Estatusinforme.all
  end

  # GET /estatusinformes/1
  # GET /estatusinformes/1.json
  def show
  end

  # GET /estatusinformes/new
  def new
    @estatusinforme = Estatusinforme.new
  end

  # GET /estatusinformes/1/edit
  def edit
  end

  # POST /estatusinformes
  # POST /estatusinformes.json
  def create
    @estatusinforme = Estatusinforme.new(estatusinforme_params)

    respond_to do |format|
      if @estatusinforme.save
        format.html { redirect_to @estatusinforme, notice: 'Estatusinforme was successfully created.' }
        format.json { render :show, status: :created, location: @estatusinforme }
      else
        format.html { render :new }
        format.json { render json: @estatusinforme.errors, status: :unprocessable_entity }
      end
    end
  end

  # PATCH/PUT /estatusinformes/1
  # PATCH/PUT /estatusinformes/1.json
  def update
    respond_to do |format|
      if @estatusinforme.update(estatusinforme_params)
        format.html { redirect_to @estatusinforme, notice: 'Estatusinforme was successfully updated.' }
        format.json { render :show, status: :ok, location: @estatusinforme }
      else
        format.html { render :edit }
        format.json { render json: @estatusinforme.errors, status: :unprocessable_entity }
      end
    end
  end

  # DELETE /estatusinformes/1
  # DELETE /estatusinformes/1.json
  def destroy
    @estatusinforme.destroy
    respond_to do |format|
      format.html { redirect_to estatusinformes_url, notice: 'Estatusinforme was successfully destroyed.' }
      format.json { head :no_content }
    end
  end

  private
    # Use callbacks to share common setup or constraints between actions.
    def set_estatusinforme
      @estatusinforme = Estatusinforme.find(params[:id])
    end

    # Never trust parameters from the scary internet, only allow the white list through.
    def estatusinforme_params
      params.require(:estatusinforme).permit(:id, :informeId, :fecha, :estatusId, :actual)
    end
end
<file_sep>/forminst_new1/app/models/tutor.rb
class Tutor < ActiveRecord::Base
	belongs_to :usuario
end
<file_sep>/forminst_new1/app/controllers/observaciontutors_controller.rb
class ObservaciontutorsController < ApplicationController
  before_action :set_observaciontutor, only: [:show, :edit, :update, :destroy]

  # GET /observaciontutors
  # GET /observaciontutors.json
  def index
    @observaciontutors = Observaciontutor.all
  end

  # GET /observaciontutors/1
  # GET /observaciontutors/1.json
  def show
  end

  # GET /observaciontutors/new
  def new
    @observaciontutor = Observaciontutor.new
  end

  # GET /observaciontutors/1/edit
  def edit
  end

  # POST /observaciontutors
  # POST /observaciontutors.json
  def create
    @observaciontutor = Observaciontutor.new(observaciontutor_params)

    respond_to do |format|
      if @observaciontutor.save
        format.html { redirect_to @observaciontutor, notice: 'Observaciontutor was successfully created.' }
        format.json { render :show, status: :created, location: @observaciontutor }
      else
        format.html { render :new }
        format.json { render json: @observaciontutor.errors, status: :unprocessable_entity }
      end
    end
  end

  # PATCH/PUT /observaciontutors/1
  # PATCH/PUT /observaciontutors/1.json
  def update
    respond_to do |format|
      if @observaciontutor.update(observaciontutor_params)
        format.html { redirect_to @observaciontutor, notice: 'Observaciontutor was successfully updated.' }
        format.json { render :show, status: :ok, location: @observaciontutor }
      else
        format.html { render :edit }
        format.json { render json: @observaciontutor.errors, status: :unprocessable_entity }
      end
    end
  end

  # DELETE /observaciontutors/1
  # DELETE /observaciontutors/1.json
  def destroy
    @observaciontutor.destroy
    respond_to do |format|
      format.html { redirect_to observaciontutors_url, notice: 'Observaciontutor was successfully destroyed.' }
      format.json { head :no_content }
    end
  end

  private
    # Use callbacks to share common setup or constraints between actions.
    def set_observaciontutor
      @observaciontutor = Observaciontutor.find(params[:id])
    end

    # Never trust parameters from the scary internet, only allow the white list through.
    def observaciontutor_params
      params.require(:observaciontutor).permit(:id, :informeActividadId, :observacion, :fecha, :actual)
    end
end
<file_sep>/forminst_new1/app/views/tipoactividads/index.json.jbuilder
json.array!(@tipoactividads) do |tipoactividad|
  json.extract! tipoactividad, :id, :id, :concepto, :grupoActividadesId, :subGrupoActividadId
  json.url tipoactividad_url(tipoactividad, format: :json)
end
<file_sep>/forminst_new1/test/controllers/estatusinformes_controller_test.rb
require 'test_helper'

class EstatusinformesControllerTest < ActionController::TestCase
  setup do
    @estatusinforme = estatusinformes(:one)
  end

  test "should get index" do
    get :index
    assert_response :success
    assert_not_nil assigns(:estatusinformes)
  end

  test "should get new" do
    get :new
    assert_response :success
  end

  test "should create estatusinforme" do
    assert_difference('Estatusinforme.count') do
      post :create, estatusinforme: { actual: @estatusinforme.actual, estatusId: @estatusinforme.estatusId, fecha: @estatusinforme.fecha, id: @estatusinforme.id, informeId: @estatusinforme.informeId }
    end

    assert_redirected_to estatusinforme_path(assigns(:estatusinforme))
  end

  test "should show estatusinforme" do
    get :show, id: @estatusinforme
    assert_response :success
  end

  test "should get edit" do
    get :edit, id: @estatusinforme
    assert_response :success
  end

  test "should update estatusinforme" do
    patch :update, id: @estatusinforme, estatusinforme: { actual: @estatusinforme.actual, estatusId: @estatusinforme.estatusId, fecha: @estatusinforme.fecha, id: @estatusinforme.id, informeId: @estatusinforme.informeId }
    assert_redirected_to estatusinforme_path(assigns(:estatusinforme))
  end

  test "should destroy estatusinforme" do
    assert_difference('Estatusinforme.count', -1) do
      delete :destroy, id: @estatusinforme
    end

    assert_redirected_to estatusinformes_path
  end
end
<file_sep>/forminst_new1/app/models/estatusinforme.rb
class Estatusinforme < ActiveRecord::Base
	belongs_to :informe
	belongs_to :tipoestatus
end<file_sep>/forminst_new1/app/models/resultado.rb
class Resultado < ActiveRecord::Base
	belongs_to :actividad
	belongs_to :tipo_resultado
	has_one :informe_actividad
end<file_sep>/forminst_new1/test/controllers/documentoinformes_controller_test.rb
require 'test_helper'

class DocumentoinformesControllerTest < ActionController::TestCase
  setup do
    @documentoinforme = documentoinformes(:one)
  end

  test "should get index" do
    get :index
    assert_response :success
    assert_not_nil assigns(:documentoinformes)
  end

  test "should get new" do
    get :new
    assert_response :success
  end

  test "should create documentoinforme" do
    assert_difference('Documentoinforme.count') do
      post :create, documentoinforme: { archivo: @documentoinforme.archivo, id: @documentoinforme.id, informeId: @documentoinforme.informeId }
    end

    assert_redirected_to documentoinforme_path(assigns(:documentoinforme))
  end

  test "should show documentoinforme" do
    get :show, id: @documentoinforme
    assert_response :success
  end

  test "should get edit" do
    get :edit, id: @documentoinforme
    assert_response :success
  end

  test "should update documentoinforme" do
    patch :update, id: @documentoinforme, documentoinforme: { archivo: @documentoinforme.archivo, id: @documentoinforme.id, informeId: @documentoinforme.informeId }
    assert_redirected_to documentoinforme_path(assigns(:documentoinforme))
  end

  test "should destroy documentoinforme" do
    assert_difference('Documentoinforme.count', -1) do
      delete :destroy, id: @documentoinforme
    end

    assert_redirected_to documentoinformes_path
  end
end
<file_sep>/forminst_new1/app/models/observacionactividadadecuacion.rb
class Observacionesactividadadecuacion < ActiveRecord::Base
	belongs_to :revision
	belongs_to :adecuacionactividad
end<file_sep>/forminst_new1/app/models/tipoactividad.rb
class Tipoactividad < ActiveRecord::Base
	has_many :actividad
	has_many :tiporesultado
end<file_sep>/forminst_new1/app/controllers/inicio_controller.rb
class InicioController < ApplicationController
	layout 'inicio'

	def index
		puts "estoy entrando al index"
	end

	add_flash_types :danger,:info, :warning, :success

	def autenticar
		ldap= Net::LDAP.new(:host=>"strix.ciens.ucv.ve",:port=>389, :auth=>{:method=> :simple, :username=>"cn=zaira, dc=ciens, dc=ucv, dc=ve", :password => "<PASSWORD>"})
		correo= params[:correo]
		clave= paramas[:clave]
		result = ldap.bind_as(:base => "dc=ciens, dc=ucv, dc=ve", :filter => "(uid=#{correo})", :password => <PASSWORD>)
		if result
			@usuario = Usuario.where(user: correo)
			if @usuario.activo == 1
				if @usuario.ldap == 1

				else
					flash[:mensaje]= "El usuario no debe autenticarse por ldap"
				end
			else
				flash[:mensaje]= "El usuario no está activo"
			end
		else
		end
	end

end
<file_sep>/forminst_new1/app/models/adecuacion_actividad.rb
class AdecuacionActividad < ActiveRecord::Base
	belongs_to :adecuacion
	has_many :observacion_actividadad_adecuacion
	belongs_to :actividad
end
<file_sep>/forminst_new1/app/views/planformacions/index.json.jbuilder
json.array!(@planformacions) do |planformacion|
  json.extract! planformacion, :id, :id, :fechaInicio, :fechaFin, :activo, :instructorId, :tutorId
  json.url planformacion_url(planformacion, format: :json)
end
<file_sep>/forminst_new1/app/controllers/tiporesultados_controller.rb
class TiporesultadosController < ApplicationController
  before_action :set_tiporesultado, only: [:show, :edit, :update, :destroy]

  # GET /tiporesultados
  # GET /tiporesultados.json
  def index
    @tiporesultados = Tiporesultado.all
  end

  # GET /tiporesultados/1
  # GET /tiporesultados/1.json
  def show
  end

  # GET /tiporesultados/new
  def new
    @tiporesultado = Tiporesultado.new
  end

  # GET /tiporesultados/1/edit
  def edit
  end

  # POST /tiporesultados
  # POST /tiporesultados.json
  def create
    @tiporesultado = Tiporesultado.new(tiporesultado_params)

    respond_to do |format|
      if @tiporesultado.save
        format.html { redirect_to @tiporesultado, notice: 'Tiporesultado was successfully created.' }
        format.json { render :show, status: :created, location: @tiporesultado }
      else
        format.html { render :new }
        format.json { render json: @tiporesultado.errors, status: :unprocessable_entity }
      end
    end
  end

  # PATCH/PUT /tiporesultados/1
  # PATCH/PUT /tiporesultados/1.json
  def update
    respond_to do |format|
      if @tiporesultado.update(tiporesultado_params)
        format.html { redirect_to @tiporesultado, notice: 'Tiporesultado was successfully updated.' }
        format.json { render :show, status: :ok, location: @tiporesultado }
      else
        format.html { render :edit }
        format.json { render json: @tiporesultado.errors, status: :unprocessable_entity }
      end
    end
  end

  # DELETE /tiporesultados/1
  # DELETE /tiporesultados/1.json
  def destroy
    @tiporesultado.destroy
    respond_to do |format|
      format.html { redirect_to tiporesultados_url, notice: 'Tiporesultado was successfully destroyed.' }
      format.json { head :no_content }
    end
  end

  private
    # Use callbacks to share common setup or constraints between actions.
    def set_tiporesultado
      @tiporesultado = Tiporesultado.find(params[:id])
    end

    # Never trust parameters from the scary internet, only allow the white list through.
    def tiporesultado_params
      params.require(:tiporesultado).permit(:id, :tipoActividadId, :idPadre, :concepto)
    end
end
<file_sep>/forminst_new1/app/views/observacionactividadadecuacions/index.json.jbuilder
json.array!(@observacionactividadadecuacions) do |observacionactividadadecuacion|
  json.extract! observacionactividadadecuacion, :id, :id, :revisionId, :adecuacionActividadId, :observacion, :fecha
  json.url observacionactividadadecuacion_url(observacionactividadadecuacion, format: :json)
end
<file_sep>/forminst_new1/app/models/instructortutor.rb
class Instructortutor < ActiveRecord::Base
	has_many :usuario
end
<file_sep>/forminst_new1/app/models/actividad_ejecutada.rb
class ActividadEjecutada < ActiveRecord::Base
	belongs_to :informe_actividad
end
<file_sep>/forminst_new1/app/views/entidads/show.json.jbuilder
json.extract! @entidad, :id, :id, :nombre, :escuelaId, :created_at, :updated_at
<file_sep>/forminst_new1/app/views/estatusadecuacions/index.json.jbuilder
json.array!(@estatusadecuacions) do |estatusadecuacion|
  json.extract! estatusadecuacion, :id, :id, :adecuacionId, :fecha, :estatusId, :actual
  json.url estatusadecuacion_url(estatusadecuacion, format: :json)
end
<file_sep>/forminst_new1/app/assets/javascripts/evitar_doble_envio.js

$('#boton_enviar').click(function(e) {
	$(this).prop('disabled', true);
	$(this).addClass('disabled');
    //do other stuff when a click happens
});<file_sep>/forminst_new1/app/models/adecuacion.rb
class Adecuacion < ActiveRecord::Base
	belongs_to :usuario
	belongs_to :planformacion
	has_many :estatus_adecuacion
	has_many :revision
	has_many :adecuacion_actividad
end<file_sep>/forminst_new1/app/models/documentoplan.rb
class Documentoplan < ActiveRecord::Base
	belongs_to :planformacion
end<file_sep>/forminst_new1/app/controllers/estatusadecuacions_controller.rb
class EstatusadecuacionsController < ApplicationController
  before_action :set_estatusadecuacion, only: [:show, :edit, :update, :destroy]

  # GET /estatusadecuacions
  # GET /estatusadecuacions.json
  def index
    @estatusadecuacions = Estatusadecuacion.all
  end

  # GET /estatusadecuacions/1
  # GET /estatusadecuacions/1.json
  def show
  end

  # GET /estatusadecuacions/new
  def new
    @estatusadecuacion = Estatusadecuacion.new
  end

  # GET /estatusadecuacions/1/edit
  def edit
  end

  # POST /estatusadecuacions
  # POST /estatusadecuacions.json
  def create
    @estatusadecuacion = Estatusadecuacion.new(estatusadecuacion_params)

    respond_to do |format|
      if @estatusadecuacion.save
        format.html { redirect_to @estatusadecuacion, notice: 'Estatusadecuacion was successfully created.' }
        format.json { render :show, status: :created, location: @estatusadecuacion }
      else
        format.html { render :new }
        format.json { render json: @estatusadecuacion.errors, status: :unprocessable_entity }
      end
    end
  end

  # PATCH/PUT /estatusadecuacions/1
  # PATCH/PUT /estatusadecuacions/1.json
  def update
    respond_to do |format|
      if @estatusadecuacion.update(estatusadecuacion_params)
        format.html { redirect_to @estatusadecuacion, notice: 'Estatusadecuacion was successfully updated.' }
        format.json { render :show, status: :ok, location: @estatusadecuacion }
      else
        format.html { render :edit }
        format.json { render json: @estatusadecuacion.errors, status: :unprocessable_entity }
      end
    end
  end

  # DELETE /estatusadecuacions/1
  # DELETE /estatusadecuacions/1.json
  def destroy
    @estatusadecuacion.destroy
    respond_to do |format|
      format.html { redirect_to estatusadecuacions_url, notice: 'Estatusadecuacion was successfully destroyed.' }
      format.json { head :no_content }
    end
  end

  private
    # Use callbacks to share common setup or constraints between actions.
    def set_estatusadecuacion
      @estatusadecuacion = Estatusadecuacion.find(params[:id])
    end

    # Never trust parameters from the scary internet, only allow the white list through.
    def estatusadecuacion_params
      params.require(:estatusadecuacion).permit(:id, :adecuacionId, :fecha, :estatusId, :actual)
    end
end
<file_sep>/forminst_new1/app/models/estatus_adecuacion.rb
class EstatusAdecuacion < ActiveRecord::Base
	belongs_to :adecuacion
	belongs_to :tipo_estatus
end
<file_sep>/forminst_new1/app/views/permisos/show.json.jbuilder
json.extract! @permiso, :id, :id, :concepto, :created_at, :updated_at
<file_sep>/forminst_new1/app/controllers/documents_controller.rb
class DocumentsController < ApplicationController
  layout 'ly_inicio_tutor'

  before_action :set_document, only: [:show, :edit, :update, :destroy]

  # GET /documents
  # GET /documents.json
  def index
    #pdf_filename = File.join(Rails.root, "tmp/PDFs/18810993-2017-07-02-adecuacion.pdf")
    #send_file(pdf_filename, :filename => "18810993-2017-07-02-adecuacion.pdf", :disposition => 'inline', :type => "application/pdf")
    #validar si se envio la adecuacion
      if session[:usuario_id] && session[:tutor]
        if(!session[:plan_id].blank?)

          @bool_enviado = 0
          @adecuacion = Adecuacion.where(planformacion_id: session[:plan_id]).take
          if session[:informe_id].blank?
            estatus_x = EstatusAdecuacion.where(adecuacion_id: @adecuacion.id, actual: 1).take
          else
            estatus_x = EstatusInforme.where(informe_id: session[:informe_id], actual: 1).take
          end
          if (estatus_x.estatus_id != 6 && estatus_x.estatus_id != 5)
            @bool_enviado = 1
          end
          @plan = Planformacion.where(id: session[:plan_id]).take

          if !@plan.blank?
            #Ver si el informe fue rachazado
            cpInstructor = Usuario.find(@plan.instructor_id)
            if (cpInstructor.activo == false)
              @cpBloquear = true
            else
              @cpBloquear = false
            end
            #fin
          end

          $actividad = params[:actividad_id].to_i
          @documents = []
          if !session[:informe_id].blank?
            @documents = Document.where("informe_id <= ? AND adecuacion_id = ? AND actividad_id = ?",session[:informe_id].to_i , session[:adecuacion_id],  $actividad).all
          else
            @documents = Document.where(adecuacion_id: session[:adecuacion_id], informe_id: nil).all
          end
        else
          flash.now[:info]="Seleccione una adecuación"
          redirect_to controller:"iniciotutor", action: "planformacions"
        end
      else
        redirect_to controller:"forminst", action: "index"
      end
  end

  # GET /documents/1.json
  def show
    puts "holaaaaaaaaaaaaaaaaaaaaaa"
    puts params[:commit]
    puts @document.filename
    send_data(@document.file_contents,
            type: @document.content_type,
            filename: @document.filename,
            disposition: 'inline')
  end

  # GET /documents/new
  def new
    @bool_enviado = 0
    if(!session[:plan_id].blank?)
      @adecuacion = Adecuacion.where(planformacion_id: session[:plan_id]).take
      if session[:informe_id].blank?
        estatus_x = EstatusAdecuacion.where(adecuacion_id: @adecuacion.id, actual: 1).take
      else
        estatus_x = EstatusInforme.where(informe_id: session[:informe_id], actual: 1).take
      end
      if (estatus_x.estatus_id != 6 && estatus_x.estatus_id != 5)
        @bool_enviado = 1
      end
      if ( @bool_enviado == 1)
        flash.now[:info]="No puede añadir soportes, ya ha enviado la adecuación"
      else
        @document = Document.new
      end
    else
      flash.now[:info]="Seleccione una adecuación"
      redirect_to controller:"iniciotutor", action: "planformacions"
    end
  end

  # GET /documents/1/edit
  def edit
  end

  # POST /documents
  # POST /documents.json
  def create
    if session[:usuario_id] && session[:tutor]
	    if params[:document].present?
        @document = Document.new(document_params)
        @planformacion = Planformacion.find(session[:plan_id])
        @adecuacion = Adecuacion.where(planformacion_id: session[:plan_id]).take
        @document.instructor_id = @planformacion.instructor_id
        @document.tutor_id = session[:usuario_id]
        @document.adecuacion_id = @adecuacion.id
        @document.informe_id = session[:informe_id]
        @document.actividad_id = $actividad
        if @document.save
          flash[:success]="El documento se ha subido con exito"
          redirect_to controller:"documents", action: "index", :actividad_id => $actividad
        else
          flash[:danger]="Error: Recuerde que el documento debe ser un pdf que ocupe menos de 1MB"
          redirect_to controller:"documents", action: "new"
        end
      else
        flash[:info]="Debe seleccionar un archivo antes de cargar"
        redirect_to controller:"documents", action: "new"
      end
    else
      redirect_to controller:"forminst", action: "index"
    end
  end

  # PATCH/PUT /documents/1
  # PATCH/PUT /documents/1.json
  def update
    respond_to do |format|
      if @document.update(document_params)
        format.html { redirect_to @document, notice: 'Document was successfully updated.' }
        format.json { render :show, status: :ok, location: @document }
      else
        format.html { render :edit }
        format.json { render json: @document.errors, status: :unprocessable_entity }
      end
    end
  end

  # DELETE /documents/1
  # DELETE /documents/1.json
  def destroy
    @document.destroy
    flash[:success]="El documento fue borrado con exito"
    redirect_to controller:"documents", action: "index", :actividad_id => $actividad
  end

  private
    # Use callbacks to share common setup or constraints between actions.
    def set_document
      @document = Document.find(params[:id])
    end

    # Never trust parameters from the scary internet, only allow the white list through.
    def document_params
     params.require(:document).permit(:file)
    end
end
<file_sep>/forminst_new1/app/controllers/inicioentidad_controller.rb
class InicioentidadController < ApplicationController
	layout 'ly_inicio_entidad'

	def index
		if session[:usuario_id] && session[:entidad] == true
			session[:adecuacion_id] = nil
			session[:plan_id] = nil
			session[:instructorName] = nil
			session[:informe_id]=nil
			@usuarioAux=Usuario.find(session[:usuario_id])
			@cjpTipo=@usuarioAux.tipo
			@nombre = session[:nombre_usuario]
			@usu=Usuarioentidad.where(usuario_id: @usuarioAux.id).take
			@entidad_escuela_id= @usu.escuela_id
			@notificaciones1= []
			puts @usu.departamento_id
			puts "aaaaaaaaaaaaaaaaaaaaaaaaaaa"
			puts @entidad_escuela_id
			if (session[:entidad_id] >= 7 && session[:entidad_id] <= 12)#Caso de Comision de Investigación
				if(@entidad_escuela_id == 1)
					@notificaciones = Notificacion.where(actual: 3, departamento_id: @usu.departamento_id).all
				else
					@notificaciones = Notificacion.where(actual: 3).all
				end
		    	@notificaciones.each do |notificaciones|
			    	@tutor_escuela = Usuarioentidad.where(usuario_id: notificaciones.tutor_id).take
			    	if (@tutor_escuela.escuela_id == @entidad_escuela_id) #Caso de notificaciones del Comision de investigación 
			        	@notificaciones1.push(notificaciones)
			        end
		    	end
		    elsif (session[:entidad_id] >= 1 && session[:entidad_id] <= 6)#Caso Consejo de Escuela
		    	@notificaciones = Notificacion.where(actual: 4).all
		    	@notificaciones.each do |notificaciones|
			    	@tutor_escuela = Usuarioentidad.where(usuario_id: notificaciones.tutor_id).take
			    	if (@tutor_escuela.escuela_id == @entidad_escuela_id) #Caso de notificaciones del Comision de investigación 
			        	@notificaciones1.push(notificaciones)
			        end
		    	end
		    elsif (session[:entidad_id] == 13)							#Caso Consejo de Facultad
		    	@notificaciones1 = Notificacion.where(actual: 5).all
		    end			
		else
			redirect_to controller:"forminst", action: "index"
		end
	end

	#Cerrar Sesión
	def logout	
		reset_session
		redirect_to controller: "forminst", action: "index"
	end

	#Modulo para activar a los instructores inhabilitados
	def reactivacion
		if session[:usuario_id]
			enti = Usuarioentidad.where(usuario_id: session[:usuario_id]).take
		end
		#Solamente el consejo de facultad tiene la posibilidad de reactivar instructores
		if session[:usuario_id] && session[:entidad] == true && enti.entidad_id == 13
			session[:adecuacion_id] = nil
			session[:plan_id] = nil
			session[:instructorName] = nil
			session[:informe_id]=nil
			@cjpTipo=Usuario.find(session[:usuario_id]).tipo
			@nombre = session[:nombre_usuario]
			@usu=Usuarioentidad.where(entidad_id: session[:entidad_id]).take
			@entidad_escuela_id= @usu.escuela_id
			@usuarios = Usuario.where(activo: 0).all
			@instructores = []
			cpcontador = 0
			@instructores[cpcontador] = Array.new(2) { |i|  }
			@instructores[cpcontador][0] =  "Seleccione el instructor"
			@instructores[cpcontador][1] = 0
			cpcontador = cpcontador + 1

			@usuarios.each do |usuari|		#Arreglo con los usuarios inahibilitados
				cppersona = Persona.find_by usuario_id: usuari.id
				@instructores[cpcontador] = Array.new(2) { |i|  }
				@instructores[cpcontador][0] = cppersona.nombres.to_s.split.map(&:capitalize).join(' ') + " " + cppersona.apellidos.to_s.split.map(&:capitalize).join(' ')
				@instructores[cpcontador][1] = usuari.id
				cpcontador = cpcontador + 1
			end

			i = 1
			j = 1
			nombre = "hola"
			cpid = 1

			#Ordena los nombres por orden alfabetico (Ordenamiento Burbuja)
			while i < cpcontador  do
				nombre = @instructores[i][0]
				cpid = @instructores[i][1]
				j = i + 1
				while j < cpcontador  do

					if @instructores[j][0] < nombre
						@instructores[i][0] = @instructores[j][0]
						@instructores[i][1] = @instructores[j][1]
						@instructores[j][0] = nombre
						@instructores[j][1] = cpid
						nombre = @instructores[i][0]
						cpid = @instructores[i][1]
					end

					j +=1
				end
				i +=1
			end

		else
			redirect_to controller:"forminst", action: "index"
		end
	end

	#Guardar la reactivacion de Usuarios
	def reactivacion_guardar
		if session[:usuario_id]	
			if params[:Instructor].to_s != "0"
				usuari = Usuario.where(id: params[:Instructor]).take
				if !usuari.blank?
					usuari.activo = 1
					usuari.save
					pers = Persona.where(usuario_id: usuari.id).take
					nombres = pers.nombres.to_s.split.map(&:capitalize).join(' ') + " " + pers.apellidos.to_s.split.map(&:capitalize).join(' ')
					flash[:success]= "Se ha habilitado a " + nombres + " de manera exitosa"
				else
					flash[:danger]= "Error al seleccionar usuario, puede no existir en la Base de Datos"
				end
			else
				flash[:info]= "Debe seleccionar un instructor primero"
			end
			redirect_to :back
		else
			redirect_to controller:"forminst", action: "index"
		end
	end

	#Lista las adecuaciones,  independientemente si fueron ya enviadas a entidades mayores

	def listar_adecuaciones
		if session[:usuario_id] && session[:entidad]== true
			session[:informe_id]=nil
			@cjpTipo=Usuario.find(session[:usuario_id]).tipo
			session[:adecuacion_id]=nil
				@nombre = session[:nombre_usuario]
				@usu=Usuarioentidad.where(usuario_id: session[:usuario_id]).take
				@entidad_escuela_id= @usu.escuela_id
				@entidad_departamento= @usu.departamento_id
				@adecuaciones = []
				@status = []
				@fecha_status = []
				@nombre_tutor = []
				@nombre_instructor = []
			if (session[:entidad_id] >= 7 && session[:entidad_id] <= 12)
			#Usuario comision
				@status_inv = EstatusAdecuacion.where(actual: 1,  estatus_id: [3,2,8,4,1,5,9,12,13,14,18]).order(fecha: :desc) #Estatus enviado a comision de investigacion
				#.order(fecha: :desc) para ordenar el arreglo poniendo los mas nuevos primero
			else
				if (session[:entidad_id] >= 14 && session[:entidad_id] <= 17)
				#Consejo tecnico
					@status_inv = EstatusAdecuacion.where(actual: 1, estatus_id: [2,8,4,1,5,9,12,18,14]).order(fecha: :desc) #Estatus enviado a consejo tecnico
				else
					if (session[:entidad_id] >= 1 && session[:entidad_id] <= 6)
					#Consejo de escuela
						@status_inv = EstatusAdecuacion.where(actual: 1, estatus_id: [8,4,1,5,9,18,14]).order(fecha: :desc) #Estatus enviado a consejo escuela
					else
						if (session[:entidad_id] == 13)
						#Consejo de facultad
							@status_inv = EstatusAdecuacion.where(actual: 1, estatus_id: [4,1,5,9,14]).order(fecha: :desc) #Estatus enviado a consejo de facultad
							@entidad_escuela_id=nil
						end	
					end
				end
			end

			@status_inv.each do |si|
				@adec= Adecuacion.find(si.adecuacion_id)
				@pf = Planformacion.find(@adec.planformacion_id)
				if (session[:entidad_id] == 13)
					@adecuacion = true
					@adecuaciones.push(@adec)
					if(si.estatus_id==1)
						@st = "APROBADO POR CONSEJO DE FACULTAD"
					elsif(si.estatus_id==2)
						@st = "ENVIADO A CONSEJO TÉCNICO"
					elsif(si.estatus_id==3)
						@st = "ENVIADO A COMISION DE INVESTIGACIÓN"
					elsif(si.estatus_id==4)
						@st = "ENVIADO A CONSEJO DE FACULTAD"
					elsif(si.estatus_id==5)
						@st = "APROBADO CON OBSERVACIONES POR CONSEJO DE FACULTAD"
					elsif(si.estatus_id==8)
						@st = "ENVIADO A CONSEJO DE ESCUELA"
					elsif(si.estatus_id==9)
						@st = "RECHAZADO POR CONSEJO DE FACULTAD"
			        elsif(si.estatus_id==12)
			            @st = "ENVIADO A CONSEJO TÉCNICO SIN REVISIÓN"
			        elsif(si.estatus_id==13)
			            @st = "ENVIADO A COMISIÓN DE INVESTIGACIÓN SIN REVISIÓN"
			        elsif(si.estatus_id==14)
			            @st = "ENVIADO A CONSEJO DE FACULTAD SIN REVISIÓN"
			        elsif(si.estatus_id==18)
			            @st = "ENVIADO A CONSEJO DE ESCUELA SIN REVISIÓN"
					end
					tutor_aux= Persona.where(usuario_id: @pf.tutor_id)
					instructor_aux= Persona.where(usuario_id: @pf.instructor_id)
					@nombre_tutor.push(tutor_aux.take.nombres.split.map(&:capitalize).join(' ') + " " + tutor_aux.take.apellidos.split.map(&:capitalize).join(' '))
					@nombre_instructor.push(instructor_aux.take.nombres.split.map(&:capitalize).join(' ') + " " + instructor_aux.take.apellidos.split.map(&:capitalize).join(' '))
					@fecha_status.push(si.fecha)
					@status.push(@st)
				else
					#Para que salgan las adecuaciones correspondientes a la escuela y al departamento
					@tutor_escuela = Usuarioentidad.where(usuario_id: @adec.tutor_id).take
					if @tutor_escuela.escuela_id == @entidad_escuela_id && (@tutor_escuela.departamento_id == @entidad_departamento || @entidad_departamento == nil)
						
						@adecuacion = true
						@adecuaciones.push(@adec)
						if(si.estatus_id==1)
							@st = "APROBADO POR CONSEJO DE FACULTAD"
						elsif(si.estatus_id==2)
							@st = "ENVIADO A CONSEJO TÉCNICO"
						elsif(si.estatus_id==3)
							@st = "ENVIADO A COMISION DE INVESTIGACIÓN"
						elsif(si.estatus_id==4)
							@st = "ENVIADO A CONSEJO DE FACULTAD"
						elsif(si.estatus_id==5)
							@st = "APROBADO CON OBSERVACIONES POR CONSEJO DE FACULTAD"
						elsif(si.estatus_id==8)
							@st = "ENVIADO A CONSEJO DE ESCUELA"
						elsif(si.estatus_id==9)
							@st = "RECHAZADO POR CONSEJO DE FACULTAD"
				        elsif(si.estatus_id==12)
				            @st = "ENVIADO A CONSEJO TÉCNICO SIN REVISIÓN"
				        elsif(si.estatus_id==13)
				            @st = "ENVIADO A COMISIÓN DE INVESTIGACIÓN SIN REVISIÓN"
				        elsif(si.estatus_id==14)
				            @st = "ENVIADO A CONSEJO DE FACULTAD SIN REVISIÓN"
				        elsif(si.estatus_id==18)
				            @st = "ENVIADO A CONSEJO DE ESCUELA SIN REVISIÓN"
						end
						tutor_aux= Persona.where(usuario_id: @pf.tutor_id)
						instructor_aux= Persona.where(usuario_id: @pf.instructor_id)
						@nombre_tutor.push(tutor_aux.take.nombres.split.map(&:capitalize).join(' ') + " " + tutor_aux.take.apellidos.split.map(&:capitalize).join(' '))
						@nombre_instructor.push(instructor_aux.take.nombres.split.map(&:capitalize).join(' ') + " " + instructor_aux.take.apellidos.split.map(&:capitalize).join(' '))
						@fecha_status.push(si.fecha)
						@status.push(@st)
					end
				end
			end			
		else
			redirect_to controller:"forminst", action: "index"
		end

	end

#Modulo para poder visualizar los soportes adjuntados por el tutor
def ver_soporte
	if(!session[:plan_id].blank?)
		@plan = Planformacion.where(id: session[:plan_id]).take
		@adecuacion = Adecuacion.where(planformacion_id: session[:plan_id]).take
		@documents = []
		@cjpTipo=Usuario.find(session[:usuario_id]).tipo
		if !session[:informe_id].blank?
			$actividad = params[:actividad_id].to_i
			adec = Adecuacion.where(planformacion_id: session[:plan_id]).take
			session[:adecuacion_id] = adec.id
			@documents = Document.where("informe_id <= ? AND adecuacion_id = ? AND actividad_id = ?",session[:informe_id] , session[:adecuacion_id],  $actividad).all
			@bool_enviado = 0
			if (session[:entidad_id] >= 7 && session[:entidad_id] <= 12)
			#Usuario comision
				estatusI = EstatusInforme.where(informe_id: session[:informe_id], actual: 1).take #Estatus enviado a comision de investigacioni
				if(estatusI.estatus_id != 3 && estatusI.estatus_id != 13)
					@bool_enviado = 1
				end
			elsif (session[:entidad_id] >= 14 && session[:entidad_id] <= 17)
				#Consejo tecnico
				estatusI = EstatusInforme.where(informe_id: session[:informe_id], actual: 1).take
				if(estatusI.estatus_id != 2 && estatusI.estatus_id != 12)
					@bool_enviado = 1
				end
			elsif (session[:entidad_id] >= 1 && session[:entidad_id] <= 6)
				#Consejo de escuela
				estatusI = EstatusInforme.where(informe_id: session[:informe_id], actual: 1).take 
				if(estatusI.estatus_id != 8 && estatusI.estatus_id != 18)
					@bool_enviado = 1 #Estatus enviado a consejo escuela
				end
			elsif (session[:entidad_id] == 13)
				#Consejo de facultad
				estatusI = EstatusInforme.where(informe_id: session[:informe_id], actual: 1).take
				if(estatusI.estatus_id != 4 && estatusI.estatus_id != 14)
					@bool_enviado = 1
				end
			end		    
		else
			@documents = Document.where(adecuacion_id: session[:adecuacion_id], informe_id: nil).all
			@bool_enviado = 0
			if (session[:entidad_id] >= 7 && session[:entidad_id] <= 12)
			#Usuario comision
				estatusI = EstatusAdecuacion.where(adecuacion_id: session[:adecuacion_id], actual: 1).take #Estatus enviado a comision de investigacioni
				if(estatusI.estatus_id != 3 && estatusI.estatus_id != 13)
					@bool_enviado = 1
				end
			elsif (session[:entidad_id] >= 14 && session[:entidad_id] <= 17)
			#Consejo tecnico
				estatusI = EstatusAdecuacion.where(adecuacion_id: session[:adecuacion_id], actual: 1).take
				if(estatusI.estatus_id != 2 && estatusI.estatus_id != 12)
					@bool_enviado = 1
				end
			elsif (session[:entidad_id] >= 1 && session[:entidad_id] <= 6)
			#Consejo de escuela
				estatusI = EstatusAdecuacion.where(adecuacion_id: session[:adecuacion_id], actual: 1).take 
				if(estatusI.estatus_id != 8 && estatusI.estatus_id != 18)
					@bool_enviado = 1 #Estatus enviado a consejo escuela
				end
			elsif (session[:entidad_id] == 13)
			#Consejo de facultad
				estatusI = EstatusAdecuacion.where(adecuacion_id: session[:adecuacion_id], actual: 1).take
				if(estatusI.estatus_id != 4 && estatusI.estatus_id != 14)
					@bool_enviado = 1
				end
			end	
		end
	else
		flash[:info]="Seleccione una adecuación"
		redirect_to controller:"inicioentidad", action: "listar_adecuaciones"
	end
end

	#Modulo para ver la primera pestaña de las adecuaciones
	def ver_detalles_adecuacion
		if session[:usuario_id] && session[:entidad] == true
			if (!session[:adecuacion_id].blank? || !params[:adecuacion_id].blank?)
				@cjpTipo=Usuario.find(session[:usuario_id]).tipo
				@nombre = session[:nombre_usuario]
				@modifique=false
				session[:informe_id] = nil
				@cant_delete= params[:cant_delete]
				@cant_edit= params[:cant_edit]
				@cant_doc= params[:cant_docencia]
				@cant_inv= params[:cant_investigacion]
				@cant_for= params[:cant_formacion]
				@cant_ext= params[:cant_extension]
				@cant_otr= params[:cant_otra]
				semestre= params[:semestre].to_i

				if params[:adecuacion_id]!=nil
					session[:adecuacion_id]= params[:adecuacion_id]
				end
				
				@tutoresAnteriores = Instructortutor.where(instructor_id: session[:usuario_id], actual: 0)
				@adecuacion= Adecuacion.find(session[:adecuacion_id])
				@plan= Planformacion.find(@adecuacion.planformacion_id)
				@inst = Persona.where(usuario_id: @plan.instructor_id).take
				@instructorName = @inst.nombres.to_s.split.map(&:capitalize).join(' ') + " " + @inst.apellidos.to_s.split.map(&:capitalize).join(' ')
				session[:instructorName] = @instructorName
				session[:plan_id] = @plan.id
				@userentidad= Usuarioentidad.where(usuario_id: @plan.instructor_id).take
				if @userentidad.escuela_id == nil
					@userentidad.escuela_id=12
					@userentidad.save
					@escuela= Escuela.where(id: @userentidad.escuela_id).take
				else
					@escuela= Escuela.where(id: @userentidad.escuela_id).take
				end
				@instructor= Persona.where(usuario_id: @plan.instructor_id).take

				@bool_enviado = 0
				if (session[:entidad_id] >= 7 && session[:entidad_id] <= 12)
				#Usuario comision
					estatusI = EstatusAdecuacion.where(adecuacion_id: @adecuacion.id, actual: 1).take #Estatus enviado a comision de investigacioni
					if(estatusI.estatus_id != 3 && estatusI.estatus_id != 13)
						@bool_enviado = 1
					end
				elsif (session[:entidad_id] >= 14 && session[:entidad_id] <= 17)
					#Consejo tecnico
					estatusI = EstatusAdecuacion.where(adecuacion_id: @adecuacion.id, actual: 1).take
					if(estatusI.estatus_id != 2 && estatusI.estatus_id != 12)
						@bool_enviado = 1
					end
				elsif (session[:entidad_id] >= 1 && session[:entidad_id] <= 6)
					#Consejo de escuela
					estatusI = EstatusAdecuacion.where(adecuacion_id: @adecuacion.id, actual: 1).take 
					if(estatusI.estatus_id != 8 && estatusI.estatus_id != 18)
						@bool_enviado = 1 #Estatus enviado a consejo escuela
					end
				elsif (session[:entidad_id] == 13)
				#Consejo de facultad
					estatusI = EstatusAdecuacion.where(adecuacion_id: @adecuacion.id, actual: 1).take
					if(estatusI.estatus_id != 4 && estatusI.estatus_id != 14)
						@bool_enviado = 1
					end
				end	

				@nombre = session[:nombre_usuario]
				@adecuacion= Adecuacion.find(session[:adecuacion_id])
				@plan= Planformacion.find(@adecuacion.planformacion_id)
				@userentidad= Usuarioentidad.where(usuario_id: @plan.instructor_id).take
				if @userentidad.escuela_id == nil
					@userentidad.escuela_id=12
					@userentidad.save
					@escuela= Escuela.where(id: @userentidad.escuela_id).take
				else
					@escuela= Escuela.where(id: @userentidad.escuela_id).take
				end
				@persona= Persona.where(usuario_id: @plan.instructor_id).take
				@usuario= Usuario.find(@plan.instructor_id)
				@cpTutor= Persona.where(usuario_id: @plan.tutor_id).take
				@cpTutorEmail= Usuario.find(@plan.tutor_id).email

				@bool_enviado = 0
				if (session[:entidad_id] >= 7 && session[:entidad_id] <= 12)
				#Usuario comision
					estatusI = EstatusAdecuacion.where(adecuacion_id: @adecuacion.id, actual: 1).take #Estatus enviado a comision de investigacioni
					if(estatusI.estatus_id != 3 && estatusI.estatus_id != 13)
						@bool_enviado = 1
					end
				elsif (session[:entidad_id] >= 14 && session[:entidad_id] <= 17)
					#Consejo tecnico
					estatusI = EstatusAdecuacion.where(adecuacion_id: @adecuacion.id, actual: 1).take
					if(estatusI.estatus_id != 2 && estatusI.estatus_id != 12)
						@bool_enviado = 1
					end
				elsif (session[:entidad_id] >= 1 && session[:entidad_id] <= 6)
					#Consejo de escuela
					estatusI = EstatusAdecuacion.where(adecuacion_id: @adecuacion.id, actual: 1).take 
					if(estatusI.estatus_id != 8 && estatusI.estatus_id != 18)
						@bool_enviado = 1 #Estatus enviado a consejo escuela
					end
				elsif (session[:entidad_id] == 13)
					#Consejo de facultad
					estatusI = EstatusAdecuacion.where(adecuacion_id: @adecuacion.id, actual: 1).take
					if(estatusI.estatus_id != 4 && estatusI.estatus_id != 14)
						@bool_enviado = 1
					end
				end
			else
				flash[:info]="Seleccione una adecuación primero"
				redirect_to controller:"inicioentidad", action: "listar_adecuaciones"
			end

		else
			redirect_to controller:"forminst", action: "index"
		end
	end

	#Modulo para ver la segunda pestaña de las adecuaciones
	def detalles_adecuacion2

		if session[:usuario_id] && session[:entidad]
			if session[:adecuacion_id]
				@cjpTipo=Usuario.find(session[:usuario_id]).tipo
				if params[:plan_id]
					@planformacion = Planformacion.find(params[:plan_id])
					session[:editar]= true
					session[:plan_id] = @planformacion.id
					@inst = Persona.where(usuario_id: @plan.instructor_id).take
					@instructorName = @inst.nombres.to_s.split.map(&:capitalize).join(' ') + " " + @inst.apellidos.to_s.split.map(&:capitalize).join(' ')
					session[:instructorName] = @instructorName
					@adecuacion = Adecuacion.where(planformacion_id: session[:plan_id]).take
					session[:adecuacion_id]= @adecuacion.id
				else 
					@planformacion = Planformacion.find(session[:plan_id])
				end
				@nombre = session[:nombre_usuario]
				@semestre="0"
				@actividadesadoc= []
				@actividadesainv= []
				@actividadesaext= []
				@actividadesafor= []
				@actividadesaotr= []
				@observaciont= []
				@observacionesExtras= []
				@iddoc= 'id_docencia'
				@docencia='docencia'
				@investigacion= 'investigacion'
				@formacion= 'formacion'
				@extension= 'extension'
				@otra= 'otra' 
				@j=0
				if !@planformacion.blank?
					#Ver si el informe fue rachazado
					cpInstructor = Usuario.find(@planformacion.instructor_id)
					if (cpInstructor.activo == false)
						@cpBloquear = true
					else
						@cpBloquear = false
					end
					#fin
				end

				@adecuacion = Adecuacion.where(planformacion_id: session[:plan_id]).take
				@est= EstatusAdecuacion.where(adecuacion_id: @adecuacion.id).take
				@revision= Revision.where(usuario_id: session[:usuario_id], adecuacion_id: @adecuacion.id, estatus_id: @est.estatus_id, informe_id: nil).take
				actividades = AdecuacionActividad.where(adecuacion_id: session[:adecuacion_id], semestre: 0)
				if !actividades.blank?
					actividades.each do |actividadAde|
						actividad = Actividad.find(actividadAde.actividad_id)
						if actividad.tipo_actividad_id == 9
							@presentacion = actividad.actividad
							@presentacionId = actividad.id
							if(@revision!=nil && @revision != "")
								@cpObs= ObservacionActividadAdecuacion.where(adecuacionactividad_id: @presentacionId).where.not(revision_id: @revision.id).all
							else
								@cpObs= ObservacionActividadAdecuacion.where(adecuacionactividad_id: @presentacionId).all
							end
						    if @cpObs.blank?
						    	@observacionesExtras[@presentacionId]="no"
						    else
						    	@observacionesExtras[@presentacionId]="si"
						    end
						elsif actividad.tipo_actividad_id == 8
							@descripcion = actividad.actividad
							@descripcionId = actividad.id
							if(@revision!=nil && @revision != "")
								@cpObs= ObservacionActividadAdecuacion.where(adecuacionactividad_id: @descripcionId).where.not(revision_id: @revision.id).all
							else
								@cpObs= ObservacionActividadAdecuacion.where(adecuacionactividad_id: @descripcionId).all
							end
						    if @cpObs.blank?
						    	@observacionesExtras[@descripcionId]="no"
						    else
						    	@observacionesExtras[@descripcionId]="si"
						    end
						end
					end
				end

				@est= EstatusAdecuacion.where(adecuacion_id: @adecuacion.id).take
				@revision= Revision.where(usuario_id: session[:usuario_id], adecuacion_id: @adecuacion.id, estatus_id: @est.estatus_id, informe_id: nil).take
				@actividadesa= AdecuacionActividad.where(adecuacion_id: session[:adecuacion_id], semestre: 0).all
				@actividadesa.each do |actade| 

					@act= Actividad.find(actade.actividad_id)
					tipo= @act.tipo_actividad_id

					if(@revision!=nil && @revision != "")
				
						@obs= ObservacionActividadAdecuacion.where(adecuacionactividad_id: actade.id, revision_id: @revision.id).take
			       
				        if @obs==nil
							@observaciont[@<EMAIL>] = ""
				        else
							@observaciont[@<EMAIL>] = @obs.observaciones
				        end

				        @cpObs= ObservacionActividadAdecuacion.where(adecuacionactividad_id: actade.id).where.not(revision_id: @revision.id).all
					    if @cpObs.blank?
					    	<EMAIL>]="no"
					    else
					    	<EMAIL>]="si"
					    end
					else 
						@cpObs= ObservacionActividadAdecuacion.where(adecuacionactividad_id: actade.id).all

					    if @cpObs.blank?
					    	@<EMAIL>]="no"
					    else

							cpBool = 0
							@cpObs.each do |probar|
								if !probar.observaciones.blank?
									cpBool = 1
								end
							end

					    	if cpBool == 0
					    		<EMAIL>]="no"
					    	else
					    		@<EMAIL>]="si"
					    	end
					    end
				    end

					if tipo==1
						@actividadesadoc.push(@act)
					elsif tipo==2
						@actividadesainv.push(@act)
					elsif tipo==3
						@actividadesaext.push(@act)
					elsif tipo==4
						@actividadesafor.push(@act)
					elsif tipo==5
						@actividadesaotr.push(@act)
					end
				end

				if params[:editar] == 'no' 
					session[:editar]= false
				end
				@est= EstatusAdecuacion.where(adecuacion_id: @adecuacion.id, actual: 1).take
				
				@bool_enviado = 0
				if (session[:entidad_id] >= 7 && session[:entidad_id] <= 12)
				#Usuario comision
					estatusI = EstatusAdecuacion.where(adecuacion_id: @adecuacion.id, actual: 1).take #Estatus enviado a comision de investigacioni
					if(estatusI.estatus_id != 3 && estatusI.estatus_id != 13)
						@bool_enviado = 1
					end
				elsif (session[:entidad_id] >= 14 && session[:entidad_id] <= 17)
				#Consejo tecnico
					estatusI = EstatusAdecuacion.where(adecuacion_id: @adecuacion.id, actual: 1).take
					if(estatusI.estatus_id != 2 && estatusI.estatus_id != 12)
						@bool_enviado = 1
					end
				elsif (session[:entidad_id] >= 1 && session[:entidad_id] <= 6)
					#Consejo de escuela
					estatusI = EstatusAdecuacion.where(adecuacion_id: @adecuacion.id, actual: 1).take 
					if(estatusI.estatus_id != 8 && estatusI.estatus_id != 18)
						@bool_enviado = 1 #Estatus enviado a consejo escuela
					end
				elsif (session[:entidad_id] == 13)
					#Consejo de facultad
					estatusI = EstatusAdecuacion.where(adecuacion_id: @adecuacion.id, actual: 1).take
					if(estatusI.estatus_id != 4 && estatusI.estatus_id != 14)
						@bool_enviado = 1
					end
				end	

				#Presentacion 
				aa= AdecuacionActividad.where(adecuacion_id: @adecuacion.id, semestre: 0, actividad_id: @presentacionId).take
				if !aa.blank?
					cp = ObservacionActividadAdecuacion.where(adecuacionactividad_id: aa.id, actual: 1).take
					if !cp.blank?
						@obsPresentacion = cp.observaciones
					end
				end

				#Descripcion 
				aa= AdecuacionActividad.where(adecuacion_id: @adecuacion.id, semestre: 0, actividad_id: @descripcionId).take
				if !aa.blank?
					cp = ObservacionActividadAdecuacion.where(adecuacionactividad_id: aa.id, actual: 1).take
					if !cp.blank?
						@obsDescripcion = cp.observaciones
					end
				end
			else
				flash[:info]="Seleccione una adecuación primero"
				redirect_to controller:"inicioentidad", action: "listar_adecuaciones"
			end
		else
			redirect_to controller:"forminst", action: "index"
		end
	end

	#Modulo para ver la tercera pestaña de las adecuaciones
	def detalles_adecuacion3
		if session[:usuario_id] && session[:entidad] == true
			if !session[:adecuacion_id].blank?
				@cjpTipo=Usuario.find(session[:usuario_id]).tipo
				@semestre = 1
				@iddoc= 'id_docencia'
				@docencia='docencia'
				@investigacion= 'investigacion'
				session[:informe_id] = nil
				@formacion= 'formacion'
				@extension= 'extension'
				@otra= 'otra' 
				@nombre = session[:nombre_usuario]
				@adecuacion= Adecuacion.find(session[:adecuacion_id])

				@plan= Planformacion.find(@adecuacion.planformacion_id)
				@actividadesadoc= []
				@actividadesainv= []
				@actividadesaext= []
				@actividadesafor= []
				@actividadesaotr= []
				@observaciont= []
				@observacionesExtras= []
				@j=0
				@est= EstatusAdecuacion.where(adecuacion_id: @adecuacion.id).take
				@revision= Revision.where(usuario_id: session[:usuario_id], adecuacion_id: @adecuacion.id, estatus_id: @est.estatus_id, informe_id: nil).take
				@actividadesa= AdecuacionActividad.where(adecuacion_id: @adecuacion.id, semestre: 1).all
				@actividadesa.each do |actade| 

					@act= Actividad.find(actade.actividad_id)
					tipo= @act.tipo_actividad_id

					if(@revision!=nil && @revision != "")
				
						@obs= ObservacionActividadAdecuacion.where(adecuacionactividad_id: actade.id, revision_id: @revision.id).take
			       
				        if @obs==nil
							@<EMAIL>[<EMAIL>] = ""
				        else
							@<EMAIL>] = @obs.observaciones
				        end

				        @cpObs= ObservacionActividadAdecuacion.where(adecuacionactividad_id: actade.id).where.not(revision_id: @revision.id).all
						
						if @cpObs.blank?
					    	<EMAIL>]="no"
						else
							puts @act.actividad
							puts @act.id
							puts "aaaaaaaaaaaaaaaaaaaaaaaaa"
					    	<EMAIL>]="si"
					    end
					else 
						@cpObs= ObservacionActividadAdecuacion.where(adecuacionactividad_id: actade.id).all

					    if @cpObs.blank?
					    	<EMAIL>]="no"
					    else

							cpBool = 0
							@cpObs.each do |probar|
								if !probar.observaciones.blank?
									cpBool = 1
								end
							end

					    	if cpBool == 0
					    		<EMAIL>]="no"
					    	else
					    		<EMAIL>]="si"
					    	end
					    end
				    end

					if tipo==1
						@actividadesadoc.push(@act)
					elsif tipo==2
						@actividadesainv.push(@act)
					elsif tipo==3
						@actividadesaext.push(@act)
					elsif tipo==4
						@actividadesafor.push(@act)
					elsif tipo==5
						@actividadesaotr.push(@act)
					end
				end
				@bool_enviado = 0
				if (session[:entidad_id] >= 7 && session[:entidad_id] <= 12)
				#Usuario comision
					estatusI = EstatusAdecuacion.where(adecuacion_id: @adecuacion.id, actual: 1).take #Estatus enviado a comision de investigacioni
					if(estatusI.estatus_id != 3 && estatusI.estatus_id != 13)
						@bool_enviado = 1
					end
				elsif (session[:entidad_id] >= 14 && session[:entidad_id] <= 17)
					#Consejo tecnico
					estatusI = EstatusAdecuacion.where(adecuacion_id: @adecuacion.id, actual: 1).take
					if(estatusI.estatus_id != 2 && estatusI.estatus_id != 12)
						@bool_enviado = 1
					end
				elsif (session[:entidad_id] >= 1 && session[:entidad_id] <= 6)
				#Consejo de escuela
					estatusI = EstatusAdecuacion.where(adecuacion_id: @adecuacion.id, actual: 1).take 
					if(estatusI.estatus_id != 8 && estatusI.estatus_id != 18)
						@bool_enviado = 1 #Estatus enviado a consejo escuela
					end
				elsif (session[:entidad_id] == 13)
				#Consejo de facultad
					estatusI = EstatusAdecuacion.where(adecuacion_id: @adecuacion.id, actual: 1).take
					if(estatusI.estatus_id != 4 && estatusI.estatus_id != 14)
						@bool_enviado = 1
					end
				end	
			else
				flash[:info]="Seleccione una adecuación primero"
				redirect_to controller:"inicioentidad", action: "listar_adecuaciones"
			end
		else
			redirect_to controller:"forminst", action: "index"
		end
	end

	#Modulo para ver la cuarta pestaña de las adecuaciones
	def detalles_adecuacion4
		if session[:usuario_id] && session[:entidad] == true
			if !session[:adecuacion_id].blank?
				@cjpTipo=Usuario.find(session[:usuario_id]).tipo
				@semestre = 2
				@iddoc= 'id_docencia'
				session[:informe_id] = nil
				@docencia='docencia'
				@investigacion= 'investigacion'
				@formacion= 'formacion'
				@extension= 'extension'
				@otra= 'otra' 
				@nombre = session[:nombre_usuario]
				@adecuacion= Adecuacion.find(session[:adecuacion_id])

				@plan= Planformacion.find(@adecuacion.planformacion_id)
				@actividadesadoc= []
				@actividadesainv= []
				@actividadesaext= []
				@actividadesafor= []
				@actividadesaotr= []
				@observaciont= []
				@observacionesExtras= []
				@j=0
				@est= EstatusAdecuacion.where(adecuacion_id: @adecuacion.id).take
				@revision= Revision.where(usuario_id: session[:usuario_id], adecuacion_id: @adecuacion.id, estatus_id: @est.estatus_id, informe_id: nil).take
				@actividadesa= AdecuacionActividad.where(adecuacion_id: @adecuacion.id, semestre: 2).all
				@actividadesa.each do |actade| 

					@act= Actividad.find(actade.actividad_id)
					tipo= @act.tipo_actividad_id

					if(@revision!=nil && @revision != "")
				
						@obs= ObservacionActividadAdecuacion.where(adecuacionactividad_id: actade.id, revision_id: @revision.id).take
			       
				        if @obs==nil
				          	<EMAIL>]=""
				        else
				          	@<EMAIL>]=@obs.observaciones
				        end

				        @cpObs= ObservacionActividadAdecuacion.where(adecuacionactividad_id: actade.id).where.not(revision_id: @revision.id).all
					    if @cpObs.blank?
					    	<EMAIL>]="no"
					    else
					    	<EMAIL>]="si"
					    end
					else 
						@cpObs= ObservacionActividadAdecuacion.where(adecuacionactividad_id: actade.id).all

					    if @cpObs.blank?
					    	<EMAIL>]="no"
					    else

							cpBool = 0
							@cpObs.each do |probar|
								if !probar.observaciones.blank?
									cpBool = 1
								end
							end

					    	if cpBool == 0
					    		<EMAIL>]="no"
					    	else
					    		<EMAIL>]="si"
					    	end
					    end
				    end
					if tipo==1
						@actividadesadoc.push(@act)
					elsif tipo==2
						@actividadesainv.push(@act)
					elsif tipo==3
						@actividadesaext.push(@act)
					elsif tipo==4
						@actividadesafor.push(@act)
					elsif tipo==5
						@actividadesaotr.push(@act)
					end
				end
				@bool_enviado = 0
				if (session[:entidad_id] >= 7 && session[:entidad_id] <= 12)
				#Usuario comision
					estatusI = EstatusAdecuacion.where(adecuacion_id: @adecuacion.id, actual: 1).take #Estatus enviado a comision de investigacioni
					if(estatusI.estatus_id != 3 && estatusI.estatus_id != 13)
						@bool_enviado = 1
					end
				elsif (session[:entidad_id] >= 14 && session[:entidad_id] <= 17)
					#Consejo tecnico
					estatusI = EstatusAdecuacion.where(adecuacion_id: @adecuacion.id, actual: 1).take
					if(estatusI.estatus_id != 2 && estatusI.estatus_id != 12)
						@bool_enviado = 1
					end
				elsif (session[:entidad_id] >= 1 && session[:entidad_id] <= 6)
					#Consejo de escuela
					estatusI = EstatusAdecuacion.where(adecuacion_id: @adecuacion.id, actual: 1).take 
					if(estatusI.estatus_id != 8 && estatusI.estatus_id != 18)
						@bool_enviado = 1 #Estatus enviado a consejo escuela
					end
				elsif (session[:entidad_id] == 13)
					#Consejo de facultad
					estatusI = EstatusAdecuacion.where(adecuacion_id: @adecuacion.id, actual: 1).take
					if(estatusI.estatus_id != 4 && estatusI.estatus_id != 14)
						@bool_enviado = 1
					end
				end	
			else
				flash[:info]="Seleccione una adecuación primero"
				redirect_to controller:"inicioentidad", action: "listar_adecuaciones"
			end
		else
			redirect_to controller:"forminst", action: "index"
		end
	end

	#Modulo para ver la quinta pestaña de las adecuaciones
	def detalles_adecuacion5
		if session[:usuario_id] && session[:entidad] == true
			if !session[:adecuacion_id].blank?
				@cjpTipo=Usuario.find(session[:usuario_id]).tipo
				@semestre = 3
				@iddoc= 'id_docencia'
				@docencia='docencia'
				@investigacion= 'investigacion'
				session[:informe_id] = nil
				@formacion= 'formacion'
				@extension= 'extension'
				@otra= 'otra' 
				@nombre = session[:nombre_usuario]
				@adecuacion= Adecuacion.find(session[:adecuacion_id])

				@plan= Planformacion.find(@adecuacion.planformacion_id)
				@actividadesadoc= []
				@actividadesainv= []
				@actividadesaext= []
				@actividadesafor= []
				@actividadesaotr= []
				@observaciont= []
				@observacionesExtras= []
				@j=0
				@est= EstatusAdecuacion.where(adecuacion_id: @adecuacion.id).take
				@revision= Revision.where(usuario_id: session[:usuario_id], adecuacion_id: @adecuacion.id, estatus_id: @est.estatus_id, informe_id: nil).take
				@actividadesa= AdecuacionActividad.where(adecuacion_id: @adecuacion.id, semestre: 3).all
				@actividadesa.each do |actade| 

					@act= Actividad.find(actade.actividad_id)
					tipo= @act.tipo_actividad_id

					if(@revision!=nil && @revision != "")
				
						@obs= ObservacionActividadAdecuacion.where(adecuacionactividad_id: actade.id, revision_id: @revision.id).take
			       
				        if @obs==nil
				          	@observaciont[<EMAIL>]=""
				        else
				          	@observaciont[@<EMAIL>]=@obs.observaciones
				        end

				        @cpObs= ObservacionActividadAdecuacion.where(adecuacionactividad_id: actade.id).where.not(revision_id: @revision.id).all
					    if @cpObs.blank?
					    	<EMAIL>]="no"
					    else
					    	<EMAIL>]="si"
					    end
					else 
						@cpObs= ObservacionActividadAdecuacion.where(adecuacionactividad_id: actade.id).all

					    if @cpObs.blank?
					    	<EMAIL>]="no"
					    else

							cpBool = 0
							@cpObs.each do |probar|
								if !probar.observaciones.blank?
									cpBool = 1
								end
							end

					    	if cpBool == 0
					    		<EMAIL>]="no"
					    	else
					    		<EMAIL>]="si"
					    	end
					    end
				    end
					if tipo==1
						@actividadesadoc.push(@act)
					elsif tipo==2
						@actividadesainv.push(@act)
					elsif tipo==3
						@actividadesaext.push(@act)
					elsif tipo==4
						@actividadesafor.push(@act)
					elsif tipo==5
						@actividadesaotr.push(@act)
					end
				end
				@bool_enviado = 0
				if (session[:entidad_id] >= 7 && session[:entidad_id] <= 12)
				#Usuario comision
					estatusI = EstatusAdecuacion.where(adecuacion_id: @adecuacion.id, actual: 1).take #Estatus enviado a comision de investigacioni
					if(estatusI.estatus_id != 3 && estatusI.estatus_id != 13)
						@bool_enviado = 1
					end
				elsif (session[:entidad_id] >= 14 && session[:entidad_id] <= 17)
					#Consejo tecnico
					estatusI = EstatusAdecuacion.where(adecuacion_id: @adecuacion.id, actual: 1).take
					if(estatusI.estatus_id != 2 && estatusI.estatus_id != 12)
						@bool_enviado = 1
					end
				elsif (session[:entidad_id] >= 1 && session[:entidad_id] <= 6)
					#Consejo de escuela
					estatusI = EstatusAdecuacion.where(adecuacion_id: @adecuacion.id, actual: 1).take 
					if(estatusI.estatus_id != 8 && estatusI.estatus_id != 18)
						@bool_enviado = 1 #Estatus enviado a consejo escuela
					end
				elsif (session[:entidad_id] == 13)
					#Consejo de facultad
					estatusI = EstatusAdecuacion.where(adecuacion_id: @adecuacion.id, actual: 1).take
					if(estatusI.estatus_id != 4 && estatusI.estatus_id != 14)
						@bool_enviado = 1
					end
				end	
			else
				flash[:info]="Seleccione una adecuación primero"
				redirect_to controller:"inicioentidad" , action: "listar_adecuaciones"
			end
		else
			redirect_to controller:"forminst", action: "index"
		end
	end

	def detalles_adecuacion6
		if session[:usuario_id] && session[:entidad] == true
			if !session[:adecuacion_id].blank?
				@cjpTipo=Usuario.find(session[:usuario_id]).tipo
				@semestre = 4
				@iddoc= 'id_docencia'
				session[:informe_id] = nil
				@docencia='docencia'
				@investigacion= 'investigacion'
				@formacion= 'formacion'
				@extension= 'extension'
				@otra= 'otra' 
				@nombre = session[:nombre_usuario]
				@adecuacion= Adecuacion.find(session[:adecuacion_id])

				@plan= Planformacion.find(@adecuacion.planformacion_id)
				@actividadesadoc= []
				@actividadesainv= []
				@actividadesaext= []
				@actividadesafor= []
				@actividadesaotr= []
				@observaciont= []
				@observacionesExtras= []
				@j=0
				@est= EstatusAdecuacion.where(adecuacion_id: @adecuacion.id).take
				@revision= Revision.where(usuario_id: session[:usuario_id], adecuacion_id: @adecuacion.id, estatus_id: @est.estatus_id, informe_id: nil).take
				@actividadesa= AdecuacionActividad.where(adecuacion_id: @adecuacion.id, semestre: 4).all
				@actividadesa.each do |actade| 

					@act= Actividad.find(actade.actividad_id)
					tipo= @act.tipo_actividad_id

					if(@revision!=nil && @revision != "")
				
						@obs= ObservacionActividadAdecuacion.where(adecuacionactividad_id: actade.id, revision_id: @revision.id).take
			       
				        if @obs==nil
				          	@observaciont[<EMAIL>]=""
				        else
				          	@observaciont[@<EMAIL>]=@obs.observaciones
				        end

				        @cpObs= ObservacionActividadAdecuacion.where(adecuacionactividad_id: actade.id).where.not(revision_id: @revision.id).all
					    if @cpObs.blank?
					    	@<EMAIL>]="no"
					    else
					    	@<EMAIL>]="si"
					    end
					else 
						@cpObs= ObservacionActividadAdecuacion.where(adecuacionactividad_id: actade.id).all

					    if @cpObs.blank?
					    	@<EMAIL>]="no"
					    else

							cpBool = 0
							@cpObs.each do |probar|
								if !probar.observaciones.blank?
									cpBool = 1
								end
							end

					    	if cpBool == 0
					    		@<EMAIL>]="no"
					    	else
					    		@<EMAIL>]="si"
					    	end
					    end
				    end

					if tipo==1
						@actividadesadoc.push(@act)
					elsif tipo==2
						@actividadesainv.push(@act)
					elsif tipo==3
						@actividadesaext.push(@act)
					elsif tipo==4
						@actividadesafor.push(@act)
					elsif tipo==5
						@actividadesaotr.push(@act)
					end
				end
				@bool_enviado = 0
				if (session[:entidad_id] >= 7 && session[:entidad_id] <= 12)
				#Usuario comision
					estatusI = EstatusAdecuacion.where(adecuacion_id: @adecuacion.id, actual: 1).take #Estatus enviado a comision de investigacioni
					if(estatusI.estatus_id != 3 && estatusI.estatus_id != 13)
						@bool_enviado = 1
					end
				elsif (session[:entidad_id] >= 14 && session[:entidad_id] <= 17)
					#Consejo tecnico
					estatusI = EstatusAdecuacion.where(adecuacion_id: @adecuacion.id, actual: 1).take
					if(estatusI.estatus_id != 2 && estatusI.estatus_id != 12)
						@bool_enviado = 1
					end
				elsif (session[:entidad_id] >= 1 && session[:entidad_id] <= 6)
					#Consejo de escuela
					estatusI = EstatusAdecuacion.where(adecuacion_id: @adecuacion.id, actual: 1).take 
					if(estatusI.estatus_id != 8 && estatusI.estatus_id != 18)
						@bool_enviado = 1 #Estatus enviado a consejo escuela
					end
				elsif (session[:entidad_id] == 13)
					#Consejo de facultad
					estatusI = EstatusAdecuacion.where(adecuacion_id: @adecuacion.id, actual: 1).take
					if(estatusI.estatus_id != 4 && estatusI.estatus_id != 14)
						@bool_enviado = 1
					end
				end
			else
				flash[:info]="Seleccione una adecuación primero"
				redirect_to controller:"inicioentidad", action: "listar_adecuaciones"
			end
		else
			redirect_to controller:"forminst", action: "index"
		end
	end

	def detalles_adecuacion7
		if session[:usuario_id] && session[:entidad]== true
			if !session[:adecuacion_id].blank?
				@cjpTipo=Usuario.find(session[:usuario_id]).tipo
				@semestre = 5
				@iddoc= 'id_docencia'
				session[:informe_id] = nil
				@docencia='docencia'
				@investigacion= 'investigacion'
				@formacion= 'formacion'
				@extension= 'extension'
				@otra= 'otra' 
				@nombre = session[:nombre_usuario]
				@adecuacion= Adecuacion.find(session[:adecuacion_id])

				@plan= Planformacion.find(@adecuacion.planformacion_id)
				@actividadesadoc= []
				@actividadesainv= []
				@actividadesaext= []
				@actividadesafor= []
				@observaciont= []
				@observacionesExtras= []
				@j=0
				@est= EstatusAdecuacion.where(adecuacion_id: @adecuacion.id).take
				@revision= Revision.where(usuario_id: session[:usuario_id], adecuacion_id: @adecuacion.id, estatus_id: @est.estatus_id, informe_id: nil).take
				@actividadesa= AdecuacionActividad.where(adecuacion_id: @adecuacion.id, semestre: 5).all
				@actividadesa.each do |actade| 

					@act= Actividad.find(actade.actividad_id)
					tipo= @act.tipo_actividad_id

					if(@revision!=nil && @revision != "")
				
						@obs= ObservacionActividadAdecuacion.where(adecuacionactividad_id: actade.id, revision_id: @revision.id).take
			       
				        if @obs==nil
				          	@observaciont[@<EMAIL>]=""
				        else
				          	@observaciont[@<EMAIL>]=@obs.observaciones
				        end

				        @cpObs= ObservacionActividadAdecuacion.where(adecuacionactividad_id: actade.id).where.not(revision_id: @revision.id).all
					    if @cpObs.blank?
					    	<EMAIL>]="no"
					    else
					    	<EMAIL>]="si"
					    end
					else 
						@cpObs= ObservacionActividadAdecuacion.where(adecuacionactividad_id: actade.id).all

					    if @cpObs.blank?
					    	<EMAIL>]="no"
					    else

							cpBool = 0
							@cpObs.each do |probar|
								if !probar.observaciones.blank?
									cpBool = 1
								end
							end

					    	if cpBool == 0
					    		@<EMAIL>]="no"
					    	else
					    		@<EMAIL>]="si"
					    	end
					    end
				    end
					if tipo==1
						@actividadesadoc.push(@act)
					elsif tipo==2
						@actividadesainv.push(@act)
					elsif tipo==3
						@actividadesaext.push(@act)
					elsif tipo==4
						@actividadesafor.push(@act)
					elsif tipo==5
						@actividadesaotr.push(@act)
					end
				end
				@bool_enviado = 0
				if (session[:entidad_id] >= 7 && session[:entidad_id] <= 12)
				#Usuario comision
					estatusI = EstatusAdecuacion.where(adecuacion_id: @adecuacion.id, actual: 1).take #Estatus enviado a comision de investigacioni
					if(estatusI.estatus_id != 3 && estatusI.estatus_id != 13)
						@bool_enviado = 1
					end
				elsif (session[:entidad_id] >= 14 && session[:entidad_id] <= 17)
					#Consejo tecnico
					estatusI = EstatusAdecuacion.where(adecuacion_id: @adecuacion.id, actual: 1).take
					if(estatusI.estatus_id != 2 && estatusI.estatus_id != 12)
						@bool_enviado = 1
					end
				elsif (session[:entidad_id] >= 1 && session[:entidad_id] <= 6)
					#Consejo de escuela
					estatusI = EstatusAdecuacion.where(adecuacion_id: @adecuacion.id, actual: 1).take 
					if(estatusI.estatus_id != 8 && estatusI.estatus_id != 18)
						@bool_enviado = 1 #Estatus enviado a consejo escuela
					end
				elsif (session[:entidad_id] == 13)
					#Consejo de facultad
					estatusI = EstatusAdecuacion.where(adecuacion_id: @adecuacion.id, actual: 1).take
					if(estatusI.estatus_id != 4 && estatusI.estatus_id != 14)
						@bool_enviado = 1
					end
				end	
			else
				flash[:info]="Seleccione una adecuación primero"
				redirect_to controller:"inicioentidad", action: "listar_adecuaciones"
			end
		else
			redirect_to controller:"forminst", action: "index"
		end
	end

#Modulo para mostrar los informes enviados a comision de investigacion o aprobadas por el mismo
	def listar_informes
	    if session[:usuario_id] && session[:entidad]== true

			@cjpTipo=Usuario.find(session[:usuario_id]).tipo
	    	session[:informe_id]=nil
	    	@nombre = session[:nombre_usuario]
			@usu=Usuarioentidad.where(usuario_id: session[:usuario_id]).take
			@entidad_escuela_id= @usu.escuela_id
			@depto = @usu.departamento_id
			@informes = []
			@tipos= []
			@status = []
			@fecha_status = []
			@nombre_tutor = []
			@nombre_instructor = []
			if (session[:entidad_id] >= 7 && session[:entidad_id] <= 12)
			#Usuario comision
				@status_inv = EstatusInforme.where(actual: 1,  estatus_id: [3,2,8,4,1,5,9,13,12,18,14]).order(fecha: :desc) #Estatus enviado a comision de investigacion
				#.order(fecha: :desc) para ordenar el arreglo poniendo los mas nuevos primero
			elsif (session[:entidad_id] >= 14 && session[:entidad_id] <= 17)
			#Consejo tecnico
				@status_inv = EstatusInforme.where(actual: 1, estatus_id: [2,8,4,1,5,9,12,18,14]).order(fecha: :desc) #Estatus enviado a consejo tecnico
			elsif (session[:entidad_id] >= 1 && session[:entidad_id] <= 6)
			#Consejo de escuela
				@status_inv = EstatusInforme.where(actual: 1, estatus_id: [8,4,1,5,9,18,14]).order(fecha: :desc) #Estatus enviado a consejo escuela
			elsif (session[:entidad_id] == 13)
			#Consejo de facultad
				@status_inv = EstatusInforme.where(actual: 1, estatus_id: [4,1,5,9,14]).order(fecha: :desc) #Estatus enviado a consejo de facultad
				@entidad_escuela_id=nil
			end
			@status_inv.each do |si|
				@inf= Informe.find(si.informe_id)
				@pf = Planformacion.find(@inf.planformacion_id)
				@ppp = Persona.where(usuario_id: @pf.instructor_id).take.nombres
				if (session[:entidad_id] == 13)			#Si es consejo de facultad, listar todos los informes enviados a CF sin importar la escuela
					@informe = true
					@informes.push(@inf)
					if(si.estatus_id==1)
						@st = "APROBADO POR CONSEJO DE FACULTAD"
					elsif(si.estatus_id==2)
						@st = "ENVIADO A CONSEJO TÉCNICO"
					elsif(si.estatus_id==3)
						@st = "ENVIADO A COMISION DE INVESTIGACIÓN"
					elsif(si.estatus_id==4)
						@st = "ENVIADO A CONSEJO DE FACULTAD"
					elsif(si.estatus_id==5)
						@st = "APROBADO CON OBSERVACIONES POR CONSEJO DE FACULTAD"
					elsif(si.estatus_id==6)
                  		@st = "GUARDADO"
					elsif(si.estatus_id==8)
						@st = "ENVIADO A CONSEJO DE ESCUELA"
					elsif(si.estatus_id==9)
						@st = "RECHAZADO POR CONSEJO DE FACULTAD"
			        elsif(si.estatus_id==12)
			            @st = "ENVIADO A CONSEJO TÉCNICO SIN REVISIÓN"
			        elsif(si.estatus_id==13)
			            @st = "ENVIADO A COMISIÓN DE INVESTIGACIÓN SIN REVISIÓN"
			        elsif(si.estatus_id==14)
			            @st = "ENVIADO A CONSEJO DE FACULTAD SIN REVISIÓN"
			        elsif(si.estatus_id==18)
			            @st = "ENVIADO A CONSEJO DE ESCUELA SIN REVISIÓN"
					end
					if @inf.tipo_id == 1
			          	@tipos.push('Semestral')
			        elsif @inf.tipo_id ==2
			            @tipos.push('Anual')
			        elsif @inf.tipo_id==3
			            @tipos.push('Final')
			        else
			          	@tipos.push('')
			        end
			        tutor_aux= Persona.where(usuario_id: @pf.tutor_id)
					instructor_aux= Persona.where(usuario_id: @pf.instructor_id)
					@nombre_tutor.push(tutor_aux.take.nombres.split.map(&:capitalize).join(' ') + " " + tutor_aux.take.apellidos.split.map(&:capitalize).join(' '))
					@nombre_instructor.push(instructor_aux.take.nombres.split.map(&:capitalize).join(' ') + " " + instructor_aux.take.apellidos.split.map(&:capitalize).join(' '))
					@fecha_status.push(si.fecha)
					@status.push(@st)
				else
					@tutor_escuela = Usuarioentidad.where(usuario_id: @inf.tutor_id).take
					if @tutor_escuela.escuela_id == @entidad_escuela_id && (@tutor_escuela.departamento_id == @depto || @depto == nil)
						@informe = true
						@informes.push(@inf)
						if @inf.tipo_id == 1
				          	@tipos.push('Semestral')
				        elsif @inf.tipo_id ==2
				            @tipos.push('Anual')
				        elsif @inf.tipo_id==3
				            @tipos.push('Final')
			          	else
			          		@tipos.push('')  	
			            end
						if(si.estatus_id==1)
							@st = "APROBADO POR CONSEJO DE FACULTAD"
						elsif(si.estatus_id==2)
							@st = "ENVIADO A CONSEJO TÉCNICO"
						elsif(si.estatus_id==3)
							@st = "ENVIADO A COMISION DE INVESTIGACIÓN"
						elsif(si.estatus_id==4)
							@st = "ENVIADO A CONSEJO DE FACULTAD"
						elsif(si.estatus_id==5)
							@st = "APROBADO CON OBSERVACIONES POR CONSEJO DE FACULTAD"
						elsif(si.estatus_id==8)
							@st = "ENVIADO A CONSEJO DE ESCUELA"
						elsif(si.estatus_id==9)
							@st = "RECHAZADO POR CONSEJO DE FACULTAD"
				        elsif(si.estatus_id==12)
				            @st = "ENVIADO A CONSEJO TÉCNICO SIN REVISIÓN"
				        elsif(si.estatus_id==13)
				            @st = "ENVIADO A COMISIÓN DE INVESTIGACIÓN SIN REVISIÓN"
				        elsif(si.estatus_id==14)
				            @st = "ENVIADO A CONSEJO DE FACULTAD SIN REVISIÓN"
				        elsif(si.estatus_id==18)
				            @st = "ENVIADO A CONSEJO DE ESCUELA SIN REVISIÓN"
						end
						tutor_aux= Persona.where(usuario_id: @pf.tutor_id)
						instructor_aux= Persona.where(usuario_id: @pf.instructor_id)
						@nombre_tutor.push(tutor_aux.take.nombres.split.map(&:capitalize).join(' ') + " " + tutor_aux.take.apellidos.split.map(&:capitalize).join(' '))
						@nombre_instructor.push(instructor_aux.take.nombres.split.map(&:capitalize).join(' ') + " " + instructor_aux.take.apellidos.split.map(&:capitalize).join(' '))
						@fecha_status.push(si.fecha)
						@status.push(@st)
					end
				end
			end	
	    else
      		redirect_to controller:"forminst", action: "index"
    	end
  	end
	def ver_detalles_informe
		if session[:usuario_id] && session[:entidad] == true
			@cjpTipo=Usuario.find(session[:usuario_id]).tipo
			@nombre = session[:nombre_usuario]
			if params[:informe_id]!=nil
				session[:informe_id]= params[:informe_id]
			end
			if !session[:informe_id].blank?
				@informe= Informe.find(session[:informe_id])
				session[:plan_id] = @informe.planformacion_id
				@est= EstatusInforme.where(informe_id: @informe.id, actual: 1).take
				@status= TipoEstatus.find(@est.estatus_id)
				@planformacion = Planformacion.find(@informe.planformacion_id)
				@persona = Persona.where(usuario_id: @planformacion.tutor_id).take
				@instructor = Persona.where(usuario_id: @planformacion.instructor_id).take
				@instructorName = @instructor.nombres.to_s.split.map(&:capitalize).join(' ') + " " + @instructor.apellidos.to_s.split.map(&:capitalize).join(' ')
				session[:instructorName] = @instructorName
				@periodo = @informe.fecha_inicio.to_s + " al " + @informe.fecha_fin.to_s

				if (@informe.numero == 1 || @informe.numero == 3)
					@nombre_informe= "<NAME> "
					session[:numero_informe]=1
				elsif (@informe.numero == 2 || @informe.numero == 6)
					@nombre_informe= "<NAME> "
					session[:numero_informe]=2
				elsif @informe.numero == 4
					@nombre_informe= "<NAME> "
					session[:numero_informe]=4
				elsif @informe.numero == 5
					@nombre_informe= "<NAME> "
					session[:numero_informe]=5
				end

				if @informe.tipo_id == 1
					@nombre_informe= @nombre_informe+"SEMESTRAL"
					session[:nombre_informe] = @nombre_informe
				elsif @informe.tipo_id == 2
					@nombre_informe= @nombre_informe+"ANUAL"
					session[:nombre_informe] = @nombre_informe
				else
					@nombre_informe= "INFORME "+"FINAL"
					session[:nombre_informe] = @nombre_informe
				end

				@estatus= EstatusInforme.where(informe_id: @informe.id, actual: 1).take
				@status= TipoEstatus.find(@estatus.estatus_id)
				@userentidad=Usuarioentidad.where(entidad_id: session[:entidad_id]).take
				@userentidadUsuario=Usuarioentidad.where(usuario_id: @informe.tutor_id).take
				@escuela= Escuela.where(id: @userentidadUsuario.escuela_id).take
				session[:nombre_informe] = @nombre_informe.downcase.split.map(&:capitalize).join(' ')		##Capitalize every first word of the string
				session[:status_informe] = @status.concepto
			else
				flash[:info]= "Seleccione un informe"
				redirect_to controller:"inicioentidad", action: "listar_informes"
			end	
	    else
	      redirect_to controller:"forminst", action: "index"
	    end
	end


	def detalles_informe2
		@cjpTipo=Usuario.find(session[:usuario_id]).tipo
		@nombre = session[:nombre_usuario]
		if !session[:informe_id].blank?
	    	@informe= Informe.find(session[:informe_id])
	    	@est= EstatusInforme.where(informe_id: @informe.id, actual: 1).take
	    	@status= TipoEstatus.find(@est.estatus_id)
	    	@adecuacion = Adecuacion.where(planformacion_id: @informe.planformacion_id).take
	    	@modificar= false
	    	if @est.estatus_id == 6
	    	  @modificar=true
			end
			@nombre_informe = ""
			if (@informe.numero == 1 || @informe.numero == 3)
				@nombre_informe= "PRIMER INFORME "
				session[:numero_informe]=1
			elsif (@informe.numero == 2 || @informe.numero == 6)
				@nombre_informe= "SEGUNDO INFORME "
				session[:numero_informe]=2
			elsif @informe.numero == 4
				@nombre_informe= "TERCER INFORME "
				session[:numero_informe]=4
			elsif @informe.numero == 5
				@nombre_informe= "CUARTO INFORME "
				session[:numero_informe]=5
			end

			if @informe.tipo_id == 1
				@nombre_informe= @nombre_informe+"SEMESTRAL"
				session[:nombre_informe] = @nombre_informe
			elsif @informe.tipo_id == 2
				@nombre_informe= @nombre_informe+"ANUAL"
				session[:nombre_informe] = @nombre_informe
			else
				@nombre_informe= "INFORME "+"FINAL"
				session[:nombre_informe] = @nombre_informe
			end

			@docencia= "docencia"
	    	@cp=0
	    	@j= 0
	    	@k=0
	    	@actividadesa= InformeActividad.where(informe_id: @informe.id).all
	    	@actividadesadoc= []
	    	@actividadesainv= []
	    	@actividadesaext= []
	    	@actividadesafor= []
	    	@actividadesaotr= []
	    	@actividadesaobli= []
	    	@semestres=[]
	      	@CJagregado=["no","no","no","no"]
	    	@resultados= []
	    	@resultados2= ""
	    	@resultados2a= []
	    	@resultados2b= []
	    	@actividadese= []
	    	@observaciont= []
	    	@observacionesExtras = []
	    	@revision= Revision.where(informe_id: @informe.id, usuario_id: session[:usuario_id], adecuacion_id: @adecuacion.id).take
	    	@actividadesa.each do |actade| 
	    		if @resultados2b != []
	    			@resultados2b= Array.new(0) { |i|  }
	    		end
		      	if actade.actividad_id == nil #Es el caso que es un resultado no contemplado en el plan de formacion o un avancwe de postgrado
		        	@res= Resultado.where(informe_actividad_id: actade.id).all
		        	@resultados.push(@res)
		        	@actividadese.push("")
		        	@res.each do |cpresultado| 
			        	@cparray = ["a", "a", "a", "a", "a", "a", "a", "a", "a", "a", "a", "a", "a", "a", "a", "a", "a", "a", "a", "a", "a", "a", "a", "a", "a", "a", "a", "a", "a", "a", "a", "a"]
			        	@cparray[0] = cpresultado.titulo
			        	@cparray[1] = cpresultado.autor
			        	@cparray[2] = cpresultado.nombre_capitulo
			        	@cparray[3] = cpresultado.autor_capitulo
			        	@cparray[4] = cpresultado.dia
			        	@cparray[5] = cpresultado.mes
			        	@cparray[6] = cpresultado.ano
			        	@cparray[7] = cpresultado.ciudad
			        	@cparray[8] = cpresultado.estado
			        	@cparray[9] = cpresultado.pais
			        	@cparray[10] = cpresultado.organizador
			        	@cparray[11] = cpresultado.duracion
			        	@cparray[12] = cpresultado.editor
			        	@cparray[13] = cpresultado.titulo_libro
			        	@cparray[14] = cpresultado.autor_libro
			        	@cparray[15] = cpresultado.nombre_revista
			        	@cparray[16] = cpresultado.nombre_periodico
			        	@cparray[17] = cpresultado.nombre_acto
			        	@cparray[18] = cpresultado.paginas
			        	@cparray[19] = cpresultado.nombre_paginaw
			        	@cparray[20] = cpresultado.sitio_paginaw
			        	@cparray[21] = cpresultado.infoafiliaion
			        	@cparray[22] = cpresultado.cptipo
			        	@cparray[23] = cpresultado.nombre
			        	@cparray[24] = cpresultado.ISSN_impreso
			        	@cparray[25] = cpresultado.ISSN_electro
			        	@cparray[26] = cpresultado.volumen
			        	@cparray[27] = cpresultado.edicion
			        	@cparray[28] = cpresultado.DOI
			        	@cparray[29] = cpresultado.ISBN
			        	@cparray[30] = cpresultado.universidad
			        	@cparray[31] = cpresultado.url
			       		if !@cparray.blank?
				        	@noemptyarray = @cparray - ["", nil]
				        	if !@resultados2
					        	@noemptyarray = @cparray - ["", nil]
					        	if !@noemptyarray.join(',').blank?
						        	@resultados2 = @noemptyarray.join(',')
						        end
					        else
					        	@noemptyarray = @cparray - ["", nil]
					        	if !@noemptyarray.join(',').blank?
						        	@resultados2 = @noemptyarray.join(',')
					        	end
				        	end
				        	@resultados2b.push(@resultados2)
			        	end

				    end
				    @resultados2a.push(@resultados2b)

		        	if @revision == nil || @revision == ""
			        	@obs=nil

			        else
			        	@obs= ObservacionActividadInforme.where(informe_actividad_id: actade.id, revision_id: @revision.id).take

			        end	  
			        @cpObs2= ObservacionTutor.where(informe_actividad_id: actade.id).take 
			        cpVerificar = "si"
			        if !@cpObs2.blank? && !@cpObs2.observaciones.blank? 
			        	@observacionesExtras.push("si")
			        	cpVerificar = "no"
			        end
			        if @obs==nil
			          	@observaciont.push("")

			          	if cpVerificar == "si"
				          	@cpObs= ObservacionActividadInforme.where(informe_actividad_id: actade.id).all
						    if @cpObs.blank?
						    	@observacionesExtras.push("no")
						    else

								cpBool = 0
								@cpObs.each do |probar|
									if !probar.observaciones.blank?
										cpBool = 1
									end
								end

						    	if cpBool == 0
						    		@observacionesExtras.push("no")
						    	else
						    		@observacionesExtras.push("si")
						    	end
						    end
						end
			        else
			          	@observaciont.push(@obs.observaciones)

			          	if cpVerificar == "si"
				          	@cpObs= ObservacionActividadInforme.where(informe_actividad_id: actade.id).where.not(revision_id: @revision.id).all
						    if @cpObs.blank?
						    	@observacionesExtras.push("no")
						    else
								cpBool = 0
								@cpObs.each do |probar|
									if !probar.observaciones.blank?
										cpBool = 1
									end
								end

						    	if cpBool == 0
						    		@observacionesExtras.push("no")
						    	else
						    		@observacionesExtras.push("si")
						    	end
						    end
						end
			        end

		     	else
			        @act= Actividad.find(actade.actividad_id)
			        tipo= @act.tipo_actividad_id
			        @res= Resultado.where(informe_actividad_id: actade.id).all
			        if !@res.blank?
			          	@resultados.push(@res)
			        	@res.each do |cpresultado| 
				        	@cparray = ["a", "a", "a", "a", "a", "a", "a", "a", "a", "a", "a", "a", "a", "a", "a", "a", "a", "a", "a", "a", "a", "a", "a", "a", "a", "a", "a", "a", "a", "a", "a", "a"]
				        	@cparray[0] = cpresultado.titulo
				        	@cparray[1] = cpresultado.autor
				        	@cparray[2] = cpresultado.nombre_capitulo
				        	@cparray[3] = cpresultado.autor_capitulo
				        	@cparray[4] = cpresultado.dia
				        	@cparray[5] = cpresultado.mes
				        	@cparray[6] = cpresultado.ano
				        	@cparray[7] = cpresultado.ciudad
				        	@cparray[8] = cpresultado.estado
				        	@cparray[9] = cpresultado.pais
				        	@cparray[10] = cpresultado.organizador
				        	@cparray[11] = cpresultado.duracion
				        	@cparray[12] = cpresultado.editor
				        	@cparray[13] = cpresultado.titulo_libro
				        	@cparray[14] = cpresultado.autor_libro
				        	@cparray[15] = cpresultado.nombre_revista
				        	@cparray[16] = cpresultado.nombre_periodico
				        	@cparray[17] = cpresultado.nombre_acto
				        	@cparray[18] = cpresultado.paginas
				        	@cparray[19] = cpresultado.nombre_paginaw
				        	@cparray[20] = cpresultado.sitio_paginaw
				        	@cparray[21] = cpresultado.infoafiliaion
				        	@cparray[22] = cpresultado.cptipo
				        	@cparray[23] = cpresultado.nombre
				        	@cparray[24] = cpresultado.ISSN_impreso
				        	@cparray[25] = cpresultado.ISSN_electro
				        	@cparray[26] = cpresultado.volumen
				        	@cparray[27] = cpresultado.edicion
				        	@cparray[28] = cpresultado.DOI
				        	@cparray[29] = cpresultado.ISBN
				        	@cparray[30] = cpresultado.universidad
				        	@cparray[31] = cpresultado.url
				       		if !@cparray.blank?
					        	@noemptyarray = @cparray - ["", nil]
					        	if !@resultados2
						        	@noemptyarray = @cparray - ["", nil]
						        	if !@noemptyarray.join(',').blank?
							        	@resultados2 = @noemptyarray.join(',')
							        end
						        else
						        	@noemptyarray = @cparray - ["", nil]
						        	if !@noemptyarray.join(',').blank?
							        	@resultados2 = @noemptyarray.join(',')
						        	end
					        	end
					        	@resultados2b.push(@resultados2)
				        	end
				        end
			        else
			          	@resultados.push(nil)
			        end
			        @resultados2a.push(@resultados2b)
			        @ae= ActividadEjecutada.where(informe_actividad_id: actade.id).take
			        if @ae==nil || @ae== ""
			        	
			        	@actividadese.push("")
			        else
			        	
			        	@actividadese.push(@ae)
			        end

			        if @revision == nil || @revision == ""
			        	@obs=nil
			        else
			        	@obs= ObservacionActividadInforme.where(informe_actividad_id: actade.id, revision_id: @revision.id).take
			        end

			        @cpObs2= ObservacionTutor.where(informe_actividad_id: actade.id).take 
			        cpVerificar = "si"
			        if !@cpObs2.blank? && !@cpObs2.observaciones.blank? 
			        	@observacionesExtras.push("si")
			        	cpVerificar = "no"
			        end
			        if @obs==nil
			          	@observaciont.push("")

			          	if cpVerificar == "si"
				          	@cpObs= ObservacionActividadInforme.where(informe_actividad_id: actade.id).all
						    if @cpObs.blank?
						    	@observacionesExtras.push("no")
						    else

								cpBool = 0
								@cpObs.each do |probar|
									if !probar.observaciones.blank?
										cpBool = 1
									end
								end

						    	if cpBool == 0
						    		@observacionesExtras.push("no")
						    	else
						    		@observacionesExtras.push("si")
						    	end
						    end
						end
			        else
			          	@observaciont.push(@obs.observaciones)

			          	if cpVerificar == "si"
				          	@cpObs= ObservacionActividadInforme.where(informe_actividad_id: actade.id).where.not(revision_id: @revision.id).all
						    if @cpObs.blank?
						    	@observacionesExtras.push("no")
						    else
								cpBool = 0
								@cpObs.each do |probar|
									if !probar.observaciones.blank?
										cpBool = 1
									end
								end

						    	if cpBool == 0
						    		@observacionesExtras.push("no")
						    	else
						    		@observacionesExtras.push("si")
						    	end
						    end
						end
			        end
			          semestre = AdecuacionActividad.where(actividad_id: @act.id).take.semestre
			          @semestres[@act.id]=semestre
			        if tipo==1
			          	@actividadesadoc.push(@act)
			        elsif tipo==2
			            @actividadesainv.push(@act)
			        elsif tipo==3
				        @actividadesaext.push(@act)
				    elsif tipo==4
			            @actividadesafor.push(@act)
	          		elsif tipo==5
	              		@actividadesaotr.push(@act)
	              	elsif tipo==7
	              		@actividadesaobli.push(@act)
	            	end
	      		end
	    	end
	    	@bool_enviado = 0
			if (session[:entidad_id] >= 7 && session[:entidad_id] <= 12)
				#Usuario comision
				estatusI = EstatusInforme.where(informe_id: @informe.id, actual: 1).take #Estatus enviado a comision de investigacioni
				if(estatusI.estatus_id != 3 && estatusI.estatus_id != 13)
					@bool_enviado = 1
				end
			elsif (session[:entidad_id] >= 14 && session[:entidad_id] <= 17)
				#Consejo tecnico
				estatusI = EstatusInforme.where(informe_id: @informe.id, actual: 1).take
				if(estatusI.estatus_id != 2 && estatusI.estatus_id != 12)
					@bool_enviado = 1
				end
			elsif (session[:entidad_id] >= 1 && session[:entidad_id] <= 6)
				#Consejo de escuela
				estatusI = EstatusInforme.where(informe_id: @informe.id, actual: 1).take 
				if(estatusI.estatus_id != 8 && estatusI.estatus_id != 18)
					@bool_enviado = 1 #Estatus enviado a consejo escuela
				end
			elsif (session[:entidad_id] == 13)
				#Consejo de facultad
				estatusI = EstatusInforme.where(informe_id: @informe.id, actual: 1).take
				if(estatusI.estatus_id != 4 && estatusI.estatus_id != 14)
					@bool_enviado = 1
				end
			end
		else
		    flash[:info]= "Seleccione un informe"
		    redirect_to controller:"inicioentidad", action: "listar_informes"
		end	
 	end

	def vista_previa1  
		  if !session[:informe_id].blank?
			if !session[:plan_id].blank?
				@cjpTipo=Usuario.find(session[:usuario_id]).tipo
				@informe= Informe.find(session[:informe_id])
				@TipoSemestre=TipoInforme.where(id: @informe.tipo_id).take
				@fechaActual = Date.current.to_s
				@plan= Planformacion.find(session[:plan_id])
				@fechaConcurso = @plan.fecha_inicio
				@usere= Usuarioentidad.where(usuario_id: @plan.instructor_id).take
				@escuela= Escuela.find(@usere.escuela_id)
				@adecuacion= Adecuacion.where(planformacion_id: @plan.id).take
				@adscripcion_docencia= @plan.adscripcion_docencia
				@adscripcion_investigacion= @plan.adscripcion_investigacion
				@persona= Persona.where(usuario_id: @plan.instructor_id).take
				@cpinstruccion = @persona.grado_instruccion
				@user = Usuario.find(@plan.instructor_id)
				@tutor = Persona.where(usuario_id: @plan.tutor_id).take
				@periodo = @informe.fecha_inicio.to_s + " al " + @informe.fecha_fin.to_s
				
				@nombre_informe = ""
				if (@informe.numero == 1 || @informe.numero == 3)
					@nombre_informe= "<NAME> "
					session[:numero_informe]=1
				elsif (@informe.numero == 2 || @informe.numero == 6)
					@nombre_informe= "<NAME> "
					session[:numero_informe]=2
				elsif @informe.numero == 4
					@nombre_informe= "<NAME> "
					session[:numero_informe]=4
				elsif @informe.numero == 5
					@nombre_informe= "CUARTO INFORME "
					session[:numero_informe]=5
				end
	
				if @informe.tipo_id == 1
					@nombre_informe= @nombre_informe+"SEMESTRAL"
				elsif @informe.tipo_id == 2
					@nombre_informe= @nombre_informe+"ANUAL"
				else
					@nombre_informe= "INFORME "+"FINAL"
				end

				@docencia='docencia'
				@investigacion= 'investigacion'
				@formacion= 'formacion'
				@obligatoria= 'obligatoria'
				@extension= 'extension'
				@otra= 'otra' 
				@CJagregado=["no","no","no","no"]
				@semestres = []


				@nombre = session[:nombre_usuario]
				@instructorName = session[:instructorName]


				@actividades1doc= []
				@actividades1inv= []
				@actividades1ext= []
				@actividades1for= []
				@actividades1otr= []

				@actividades1= AdecuacionActividad.where(adecuacion_id: @adecuacion.id, semestre: 1).all
				@actividades1.each do |actade| 
					@act= Actividad.find(actade.actividad_id)
					tipo= @act.tipo_actividad_id
					if tipo==1
						@actividades1doc.push(@act)
					elsif tipo==2
						if @informe.numero == 1
							@resActi= InformeActividad.where(informe_id: @informe.id, actividad_id: @act.id).take
							@res= Resultado.where(informe_actividad_id: @resActi.id).all
						end
						@actividades1inv.push(@act)
					elsif tipo==3
						@actividades1ext.push(@act)
					elsif tipo==4
						@actividades1for.push(@act)
					elsif tipo==5
						@actividades1otr.push(@act)
					end
				end
				@actividades2doc= []
				@actividades2inv= []
				@actividades2ext= []
				@actividades2for= []
				@actividades2otr= []
				@actividades2= AdecuacionActividad.where(adecuacion_id: @adecuacion.id, semestre: 2).all
				@actividades2.each do |actade| 
				@act= Actividad.find(actade.actividad_id)
					tipo= @act.tipo_actividad_id
					if tipo==1
						@actividades2doc.push(@act)
					elsif tipo==2
						@actividades2inv.push(@act)
					elsif tipo==3
						@actividades2ext.push(@act)
					elsif tipo==4
						@actividades2for.push(@act)
					elsif tipo==5
						@actividades2otr.push(@act)
					end
				end


				@actividades3doc= []
				@actividades3inv= []
				@actividades3ext= []
				@actividades3for= []
				@actividades3otr= []
				@actividades3= AdecuacionActividad.where(adecuacion_id: @adecuacion.id, semestre: 3).all
				@actividades3.each do |actade| 
					@act= Actividad.find(actade.actividad_id)
					tipo= @act.tipo_actividad_id
					if tipo==1
						@actividades3doc.push(@act)
					elsif tipo==2
						@actividades3inv.push(@act)
					elsif tipo==3
						@actividades3ext.push(@act)
					elsif tipo==4
						@actividades3for.push(@act)
					elsif tipo==5
						@actividades3otr.push(@act)
					end
				end


				@actividades4doc= []
				@actividades4inv= []
				@actividades4ext= []
				@actividades4for= []
				@actividades4otr= []
				@actividades4= AdecuacionActividad.where(adecuacion_id: @adecuacion.id, semestre: 4).all
				@actividades4.each do |actade| 
					@act= Actividad.find(actade.actividad_id)
					tipo= @act.tipo_actividad_id
					if tipo==1
						@actividades4doc.push(@act)
					elsif tipo==2
						@actividades4inv.push(@act)
					elsif tipo==3
						@actividades4ext.push(@act)
					elsif tipo==4
						@actividades4for.push(@act)
					elsif tipo==5
						@actividades4otr.push(@act)
					end
				end

				@actividades5doc= []
				@actividades5inv= []
				@actividades5ext= []
				@actividades5for= []
				@actividades5otr= []
				@actividades5= AdecuacionActividad.where(adecuacion_id: @adecuacion.id, semestre: 5).all
				@actividades5.each do |actade| 
					@act= Actividad.find(actade.actividad_id)
					tipo= @act.tipo_actividad_id
					if tipo==1
						@actividades5doc.push(@act)
					elsif tipo==2
						@actividades5inv.push(@act)
					elsif tipo==3
						@actividades5ext.push(@act)
					elsif tipo==4
						@actividades5for.push(@act)
					end
				end

				@bool_enviado = 0
				estatus_informe = EstatusInforme.where(informe_id: @informe.id, actual: 1).take
				if (estatus_informe.estatus_id != 6 && estatus_informe.estatus_id != 5)
					@bool_enviado = 1
				end

				actividades = AdecuacionActividad.where(adecuacion_id: @adecuacion.id, semestre: 0)
				actividades1 = []
				if !actividades.blank?
					actividades.each do |actividadAde|
						actividad = Actividad.find(actividadAde.actividad_id)
						actividades1.push(actividad)
					end
				end
				@presentacion = ""
				@descripcion = ""
				@docencia = [] 
				@investigacion = []
				@formacion = []  
				@extension = []

				if !actividades1.blank?
					actividades1.each do |actividadAde|
						if actividadAde.tipo_actividad_id == 9
							if actividadAde.actividad.blank?
								@presentacion = " "
							else
								@presentacion = actividadAde.actividad 
							end
						elsif actividadAde.tipo_actividad_id == 8
							if actividadAde.actividad.blank?
								@descripcion = " "
							else
								@descripcion = actividadAde.actividad  
							end
						elsif actividadAde.tipo_actividad_id == 1
							if actividadAde.actividad.blank?
								@docencia.push(" ")
							else
								@docencia.push(actividadAde)
							end
						elsif actividadAde.tipo_actividad_id == 2
							if actividadAde.actividad.blank?
								@investigacion.push(" ")
							else
								@investigacion.push(actividadAde)
							end
						elsif actividadAde.tipo_actividad_id == 4
							if actividadAde.actividad.blank?
								@formacion.push(" ")
							else
								@formacion.push(actividadAde)  
							end
						elsif actividadAde.tipo_actividad_id == 3
							if actividadAde.actividad.blank?
								@extension.push(" ")
							else
								@extension.push(actividadAde)
							end
						end
					end
				else
					@presentacion = " "
					@descripcion = " "
					@docencia = [" "]  
					@investigacion = [" "]
					@formacion = [" "] 
					@extension = [" "] 
				end

				@j = 0
				@i = 0
				@actividadesa= InformeActividad.where(informe_id: @informe.id).all
				@actividadesadoc= []
				@actividadesainv= []
				@actividadesaext= []
				@actividadesafor= []
				@actividadesaotr= []
				@actividadesaobli= []
				@resultados= []
				@actividadese= []
				@observaciont= []
				@resultTP = []
				@resultPP = []
				@resultPIT = []
				@resultO = []
				@resultAEC = []
				@resultOEC = []
				@resultDCS = []    
				@actividadesa.each do |actade| 
				@resultados2 = ""
				@res= Resultado.where(informe_actividad_id: actade.id).all
				if actade.actividad_id == nil #Es el caso que es un resultado no contemplado en el plan de formacion o un avancwe de postgrado
					if !@res.blank?
					@res.each do |res|
						@resultados2 = ""
						@cparray = ["a", "a", "a", "a", "a", "a", "a", "a", "a","a", "a", "a", "a", "a", "a", "a", "a", "a", "a", "a", "a", "a", "a", "a", "a", "a", "a", "a", "a", "a", "a"]
						@cparray[0] = res.titulo.capitalize
						@cparray[1] = res.autor.capitalize
						@cparray[2] = res.nombre_capitulo.to_s.capitalize
						@cparray[3] = res.autor_capitulo.to_s.capitalize
						@cparray[4] = res.dia
						@cparray[5] = res.mes
						@cparray[6] = res.ano
						@cparray[7] = res.ciudad.to_s.capitalize
						@cparray[8] = res.estado.to_s.capitalize
						@cparray[9] = res.pais.to_s.capitalize
						@cparray[10] = res.organizador.to_s.capitalize
						@cparray[11] = res.duracion.to_s.capitalize
						@cparray[12] = res.editor.to_s.capitalize
						@cparray[13] = res.titulo_libro.to_s.capitalize
						@cparray[14] = res.autor_libro.to_s.capitalize
						@cparray[15] = res.nombre_revista.to_s.capitalize
						@cparray[16] = res.nombre_periodico.to_s.capitalize
						@cparray[17] = res.nombre_acto.to_s.capitalize
						@cparray[18] = res.paginas
						@cparray[19] = res.nombre_paginaw.to_s.capitalize
						@cparray[20] = res.sitio_paginaw
						@cparray[21] = res.infoafiliaion.to_s.capitalize
						@cparray[22] = res.cptipo.to_s.capitalize
						@cparray[23] = res.nombre.to_s.capitalize
						@cparray[24] = res.ISSN_impreso.to_s.capitalize
						@cparray[25] = res.ISSN_electro.to_s.capitalize
						@cparray[26] = res.volumen.to_s.capitalize
						@cparray[27] = res.edicion.to_s.capitalize
						@cparray[28] = res.DOI
						@cparray[29] = res.ISBN
						@cparray[30] = res.universidad.to_s.capitalize
						@cparray[31] = res.url
						if !@cparray.blank?
						@noemptyarray = @cparray - ["", nil]
						if !@resultados2
							@noemptyarray = @cparray - ["", nil]
							if !@noemptyarray.join(',').blank?
							@resultados2 = "* " + @noemptyarray
							end
						else
							@noemptyarray = @cparray - ["", nil]
							if !@noemptyarray.join(',').blank?
							@resultados2 = @resultados2 + @noemptyarray.join(', ')
							end
						end
						end
						if res.tipo_resultado_id == 1
						@resultTP.push(@resultados2)
						elsif res.tipo_resultado_id == 2
						@resultPP.push(@resultados2)
						elsif res.tipo_resultado_id == 3
						@resultPIT.push(@resultados2)
						elsif res.tipo_resultado_id == 4
						@resultO.push(@resultados2)
						elsif res.tipo_resultado_id == 5
						@resultAEC.push(@resultados2)
						elsif res.tipo_resultado_id == 6
						@resultOEC.push(@resultados2)
						elsif res.tipo_resultado_id == 7
						@resultDCS.push(@resultados2)
						end
						@resultados.push(res)
					end
					end
				else
					@act= Actividad.find(actade.actividad_id)
					tipo= @act.tipo_actividad_id
					if !@res.blank?
					@res.each do |res|
						@resultados2 = ""
						@cparray = ["a", "a", "a", "a", "a", "a", "a", "a", "a","a", "a", "a", "a", "a", "a", "a", "a", "a", "a", "a", "a", "a", "a", "a", "a", "a", "a", "a", "a", "a", "a"]
						@cparray[0] = res.titulo.capitalize
						@cparray[1] = res.autor.capitalize
						@cparray[2] = res.nombre_capitulo.to_s.capitalize
						@cparray[3] = res.autor_capitulo.to_s.capitalize
						@cparray[4] = res.dia
						@cparray[5] = res.mes
						@cparray[6] = res.ano
						@cparray[7] = res.ciudad.to_s.capitalize
						@cparray[8] = res.estado.to_s.capitalize
						@cparray[9] = res.pais.to_s.capitalize
						@cparray[10] = res.organizador.to_s.capitalize
						@cparray[11] = res.duracion.to_s.capitalize
						@cparray[12] = res.editor.to_s.capitalize
						@cparray[13] = res.titulo_libro.to_s.capitalize
						@cparray[14] = res.autor_libro.to_s.capitalize
						@cparray[15] = res.nombre_revista.to_s.capitalize
						@cparray[16] = res.nombre_periodico.to_s.capitalize
						@cparray[17] = res.nombre_acto.to_s.capitalize
						@cparray[18] = res.paginas
						@cparray[19] = res.nombre_paginaw.to_s.capitalize
						@cparray[20] = res.sitio_paginaw
						@cparray[21] = res.infoafiliaion.to_s.capitalize
						@cparray[22] = res.cptipo.to_s.capitalize
						@cparray[23] = res.nombre.to_s.capitalize
						@cparray[24] = res.ISSN_impreso.to_s.capitalize
						@cparray[25] = res.ISSN_electro.to_s.capitalize
						@cparray[26] = res.volumen.to_s.capitalize
						@cparray[27] = res.edicion.to_s.capitalize
						@cparray[28] = res.DOI
						@cparray[29] = res.ISBN
						@cparray[30] = res.universidad.to_s.capitalize
						@cparray[31] = res.url
						if !@cparray.blank?
						@noemptyarray = @cparray - ["", nil]
						if !@resultados2
							@noemptyarray = @cparray - ["", nil]
							if !@noemptyarray.join(',').blank?
							@resultados2 = "* " + @noemptyarray
							end
						else
							@noemptyarray = @cparray - ["", nil]
							if !@noemptyarray.join(',').blank?
							@resultados2 = @resultados2 + @noemptyarray.join(', ')
							end
						end
						end
						if res.tipo_resultado_id == 1
						@resultTP.push(@resultados2)
						elsif res.tipo_resultado_id == 2
						@resultPP.push(@resultados2)
						elsif res.tipo_resultado_id == 3
						@resultPIT.push(@resultados2)
						elsif res.tipo_resultado_id == 4
						@resultO.push(@resultados2)
						elsif res.tipo_resultado_id == 5
						@resultAEC.push(@resultados2)
						elsif res.tipo_resultado_id == 6
						@resultOEC.push(@resultados2)
						elsif res.tipo_resultado_id == 7
						@resultDCS.push(@resultados2)
						end
						@resultados.push(res)
					end
					end
				end
				@ae= ActividadEjecutada.where(informe_actividad_id: actade.id).take
				@actividadese.push(@ae)
				@obs= ObservacionTutor.where(informe_actividad_id: actade.id).take
				semestre = AdecuacionActividad.where(actividad_id: @act.id).take.semestre
				@semestres[@act.id]=semestre
				if @obs==nil
					@observaciont.push("")
				else
					@observaciont.push(@obs.observaciones)
				end
				if tipo==1
					@actividadesadoc.push(@act)
				elsif tipo==2
					@actividadesainv.push(@act)
				elsif tipo==3
					@actividadesaext.push(@act)
				elsif tipo==4
					@actividadesafor.push(@act)
				elsif tipo==5
					@actividadesaotr.push(@act)
				elsif tipo==7
					@actividadesaobli.push(@act)
				end
				end

				@bool_enviado = 0
				if (session[:entidad_id] >= 7 && session[:entidad_id] <= 12)
				#Usuario comision
					estatusI = EstatusAdecuacion.where(adecuacion_id: @adecuacion.id, actual: 1).take #Estatus enviado a comision de investigacioni
					if(estatusI.estatus_id != 3 && estatusI.estatus_id != 13)
						@bool_enviado = 1
					end
				elsif (session[:entidad_id] >= 14 && session[:entidad_id] <= 17)
				#Consejo tecnico
					estatusI = EstatusAdecuacion.where(adecuacion_id: @adecuacion.id, actual: 1).take
					if(estatusI.estatus_id != 2 && estatusI.estatus_id != 12)
						@bool_enviado = 1
					end
				elsif (session[:entidad_id] >= 1 && session[:entidad_id] <= 6)
				#Consejo de escuela
					estatusI = EstatusAdecuacion.where(adecuacion_id: @adecuacion.id, actual: 1).take 
					if(estatusI.estatus_id != 8 && estatusI.estatus_id != 18)
						@bool_enviado = 1 #Estatus enviado a consejo escuela
					end
				elsif (session[:entidad_id] == 13)
				#Consejo de facultad
					estatusI = EstatusAdecuacion.where(adecuacion_id: @adecuacion.id, actual: 1).take
					if(estatusI.estatus_id != 4 && estatusI.estatus_id != 14)
						@bool_enviado = 1
					end
				end
			else
				flash[:info]="Seleccione una adecuación primero"
				redirect_to controller:"inicioentidad", action: "listar_adecuaciones"
			end
		else
			flash[:info]="Selecciona un informe"
			redirect_to controller: "inicioentidad", action: "listar_informes"
		end
	end

	#Funcion para guardar observaciones
 	def guardar_observaciones
 		if session[:usuario_id] && session[:entidad] == true
			@cjpTipo=Usuario.find(session[:usuario_id]).tipo
 
 			@informe = Informe.find(session[:informe_id])
 			@adecuacion = Adecuacion.where(planformacion_id: @informe.planformacion_id).take
 			@estatus = EstatusInforme.where(informe_id: @informe.id, actual: 1).take
		    @cant_doc = params[:cant_docencia].to_i
		    @cant_inv = params[:cant_investigacion].to_i
		    @cant_for = params[:cant_formacion].to_i
		    @cant_ext = params[:cant_extension].to_i
		    @cant_otr = params[:cant_otra].to_i
		    @cant_obli = params[:cant_obligatoria].to_i
		    @cant_result= params[:cant_result].to_i
		    @informe.opinion_tutor = params[:opinion]
		    @informe.conclusiones = params[:conclusiones]
		    #@informe.save

	       revision= Revision.where(informe_id: @informe.id, usuario_id: session[:usuario_id], adecuacion_id: @adecuacion.id, estatus_id: @estatus.estatus_id).take
	        if(revision == nil || revision =="")
		        revision = Revision.new
		        revision.informe_id = @informe.id
	    	    revision.usuario_id = session[:usuario_id]
	    	    revision.adecuacion_id = @adecuacion.id
	        	revision.fecha =  Time.now
	        	revision.estatus_id = @estatus.estatus_id
	        	revision.save
			else
				revision.fecha =  Time.now
	        	revision.save
        	end 


		 	#Comienza actividades de docencia
		      	j=0
		      	i=:doc.to_s+j.to_s
		      	@act = params[i].to_i
		      	while j <  @cant_doc
		        	ia = InformeActividad.where(informe_id: @informe.id,actividad_id: @act).take     
		        	observacion =:observacion.to_s+@act.to_s
		        	
		          		oa = ObservacionActividadInforme.where(informe_actividad_id: ia, revision_id: revision.id).take
						if(!params[observacion].blank?)
							if(oa == nil || oa =="")
								oa = ObservacionActividadInforme.new
								oa.informe_actividad_id = ia.id
								oa.revision_id =  revision.id
								oa.observaciones = params[observacion]
								oa.save
							else
								oa.observaciones = params[observacion]
								oa.save
							end
						end
		        	  j= j+1
			        i=:doc.to_s+j.to_s
			        @act= params[i].to_i
			    end

		   	#Comienza actividades de investigacion
		      	j=0
		      	i=:inv.to_s+j.to_s
		      	@act = params[i].to_i
		      	k=:result.to_s+j.to_s
		      	@result= params[k].to_i
		      	while j <  @cant_inv
		        	ia = InformeActividad.where(informe_id: @informe.id,actividad_id: @act).take
					observacion =:observacion.to_s+@act.to_s				
	        
	          		oa = ObservacionActividadInforme.where(informe_actividad_id: ia, revision_id: revision.id).take
					if(!params[observacion].blank?)	  
						if(oa == nil || oa =="")
							oa = ObservacionActividadInforme.new
							oa.informe_actividad_id = ia.id
							oa.revision_id =  revision.id
							oa.observaciones = params[observacion]
							oa.save
						else
							oa.observaciones = params[observacion]
							oa.save
						end
					end


			        j=j+1
			        i=:inv.to_s+j.to_s
			        @act= params[i].to_i
		      	end

		    #Comienza actividades de formación
		      	j=0
		      	i=:for.to_s+j.to_s
		      	@act = params[i].to_i
		      	while j <  @cant_for
		        	ia = InformeActividad.where(informe_id: @informe.id,actividad_id: @act).take
		        	observacion =:observacion.to_s+@act.to_s

		      
		          	oa = ObservacionActividadInforme.where(informe_actividad_id: ia, revision_id: revision.id).take
					if(!params[observacion].blank?)
		          		if(oa == nil || oa== "")
							oa = ObservacionActividadInforme.new
							oa.informe_actividad_id = ia.id
							oa.revision_id =  revision.id
							oa.observaciones = params[observacion]
							oa.save
							
						else
							
							oa.observaciones = params[observacion]
							oa.save
							
						end
					end
		        	j= j+1
		        	i=:for.to_s+j.to_s
		        	@act= params[i].to_i
		      	end

		    #Resultado de avances de postgrado

		        @id_resultado= params[:postgradoRest].to_i

		        if @id_resultado !=0 && @id_resultado != nil

			 
			        ia = InformeActividad.where(informe_id: @informe.id, resultado_id:  @id_resultado).take     

		          	oa = ObservacionActividadInforme.where(informe_actividad_id: ia.id, revision_id: revision.id).take
					if(!params[:observacionPost].blank?) 
						if(oa == nil || oa =="")
							oa = ObservacionActividadInforme.new
							oa.informe_actividad_id = ia.id
							oa.revision_id =  revision.id
							oa.observaciones = params[:observacionPost].to_s
							oa.save	
						else
							oa.observaciones = params[:observacionPost].to_s
							oa.save
						end
					end
			    end
	        
		    #Comienzan actividades de extensión
		
		      	j=0
		      	i=:ext.to_s+j.to_s
		      	@act = params[i].to_i
		      	while j <  @cant_ext
		        	ia = InformeActividad.where(informe_id: @informe.id, actividad_id: @act).take
		        	observacion =:observacion.to_s+@act.to_s
		        	
		          		oa = ObservacionActividadInforme.where(informe_actividad_id: ia, revision_id: revision.id).take
						if(!params[observacion].blank?)  
							if(oa == nil || oa =="")
								oa = ObservacionActividadInforme.new
								oa.informe_actividad_id = ia.id
								oa.revision_id =  revision.id
								oa.observaciones = params[observacion]
								oa.save
							else
								oa.observaciones = params[observacion]
								oa.save
							end
						end
			        j= j+1
			        i=:ext.to_s+j.to_s
			        @act= params[i].to_i
			    end

			#Comienza actividades de docencia
		      	j=0
			    i=:obli.to_s+j.to_s
			    @act = params[i].to_i
		      	while j <  @cant_obli
		        	ia = InformeActividad.where(informe_id: @informe.id,actividad_id: @act).take     
		        	observacion =:observacion.to_s+@act.to_s
		        	
		          		oa = ObservacionActividadInforme.where(informe_actividad_id: ia, revision_id: revision.id).take
						if(!params[observacion].blank?)
							if(oa == nil || oa =="")
								oa = ObservacionActividadInforme.new
								oa.informe_actividad_id = ia.id
								oa.revision_id =  revision.id
								oa.observaciones = params[observacion]
								oa.save
							else
								oa.observaciones = params[observacion]
								oa.save
							end
						end
		        	j= j+1
			        i=:obli.to_s+j.to_s
			        @act= params[i].to_i
			    end


			#Comienzan Otras actividades
		      	j=0
		      	i=:otr.to_s+j.to_s
		      	@act = params[i].to_i

		      	while j <  @cant_otr
		        	ia = InformeActividad.where(informe_id: @informe.id,actividad_id: @act).take
		        	observacion =:observacion.to_s+@act.to_s
		        
		          		oa = ObservacionActividadInforme.where(informe_actividad_id: ia, revision_id: revision.id).take
						if(!params[observacion].blank?)
							if(oa == nil || oa =="")
								oa = ObservacionActividadInforme.new
								oa.informe_actividad_id = ia.id
								oa.revision_id =  revision.id
								oa.observaciones = params[observacion]
								oa.save
							else
								oa.observaciones = params[observacion]
								oa.save
							end
						end
			        j= j+1
			        i=:otr.to_s+j.to_s
			        @act= params[i].to_i
			    end

	      	#Resultado actividades no contempladas
		 
		        @id_resultado= params[:noConRest].to_i
		       	if @id_resultado !=0 && @id_resultado != nil
			        ia = InformeActividad.where(informe_id: @informe.id, resultado_id:  @id_resultado).take
		          	oa = ObservacionActividadInforme.where(informe_actividad_id: ia.id, revision_id: revision.id).take
					if(!params[:observacionNoCon].blank?)  
						if(oa == nil || oa =="")
							oa = ObservacionActividadInforme.new
							oa.informe_actividad_id = ia.id
							oa.revision_id =  revision.id
							oa.observaciones = params[:observacionNoCon].to_s
							oa.save	
						else
							oa.observaciones = params[:observacionNoCon].to_s
							oa.save
						end
					end
			    end

	      	flash[:success]="Se han creado y/o modificado las observaciones satisfactoriamente"
	      	redirect_to controller:"inicioentidad", action: "detalles_informe2"
 		end
 	end

 	#Cerrar Sesión
	def logout
		reset_session
		redirect_to controller: "forminst", action: "index"
	end
	#Observaciones de informe
	def mas_observaciones
		@boolobs= 0
		@booltutor = 0
		@informe_id = params[:informe_id].to_i
		@actividad_id = params[:actividad_id].to_i
			@cjpTipo=Usuario.find(session[:usuario_id]).tipo
		ia = InformeActividad.where(informe_id: @informe_id, actividad_id: @actividad_id).take 


		@observaciones = ObservacionActividadInforme.where(informe_actividad_id: ia.id).all

		@observaciones.each do |obs|
			
			if(obs.observaciones != "")
			@boolobs = 1
			end
		end
			
		@observaciones.each do |obs|

			rev =  Revision.find(obs.revision_id)
			entidad = Usuarioentidad.where(usuario_id: rev.usuario_id).take

			if (entidad.entidad_id  >= 7 && entidad.entidad_id  <= 12)
			#comision investigacion		
				@obs_inv = obs.observaciones  #Estatus enviado a comision de investigacion
			elsif (entidad.entidad_id  >= 14 && entidad.entidad_id  <= 17)
			#Consejo tecnico
				@obs_consejoT = obs.observaciones
			elsif (entidad.entidad_id  >= 1 && entidad.entidad_id  <= 6)
			#Consejo de escuela
				@obs_consejoE = obs.observaciones
			elsif (entidad.entidad_id  == 13)
			#Consejo de facultad
				@obs_consejoF =  obs.observaciones
			end	
		end

		@obs_t= ObservacionTutor.where(informe_actividad_id: ia.id).take
		
		if(@obs_t != nil && @obs_t != "")
			@obs_tutor = @obs_t.observaciones
			@booltutor = 1
		end

		@bool_enviado = 0
		if (session[:entidad_id] >= 7 && session[:entidad_id] <= 12)
		#Usuario comision
			estatusI = EstatusInforme.where(informe_id: @informe_id, actual: 1).take #Estatus enviado a comision de investigacioni
			if(estatusI.estatus_id != 3 && estatusI.estatus_id != 13)
				@bool_enviado = 1
			end
		elsif (session[:entidad_id] >= 14 && session[:entidad_id] <= 17)
		#Consejo tecnico
			estatusI = EstatusInforme.where(informe_id: @informe_id, actual: 1).take
			if(estatusI.estatus_id != 2 && estatusI.estatus_id != 12)
				@bool_enviado = 1
			end
		elsif (session[:entidad_id] >= 1 && session[:entidad_id] <= 6)
			#Consejo de escuela
			estatusI = EstatusInforme.where(informe_id: @informe_id, actual: 1).take 
			if(estatusI.estatus_id != 8 && estatusI.estatus_id != 18)
				@bool_enviado = 1 #Estatus enviado a consejo escuela
			end
		elsif (session[:entidad_id] == 13)
		#Consejo de facultad
			estatusI = EstatusInforme.where(informe_id: @informe_id, actual: 1).take
			if(estatusI.estatus_id != 4 && estatusI.estatus_id != 14)
				@bool_enviado = 1
			end
		end	
	end

	def mas_observaciones2
		@boolobsb = 0
		@informe_id = params[:informe_id].to_i
		@resultado_id = params[:resultado_id].to_i
		@cjpTipo=Usuario.find(session[:usuario_id]).tipo
		ia = InformeActividad.where(informe_id: @informe_id, resultado_id: @resultado_id).take 

		@observaciones = ObservacionActividadInforme.where(informe_actividad_id: ia.id)

		@observaciones.each do |obs|
			
			if(obs.observaciones != "")
			@boolobs = 1
			end
		end
			
		@observaciones.each do |obs|

			rev =  Revision.find(obs.revision_id)
		
			entidad = Usuarioentidad.where(usuario_id: rev.usuario_id).take

			
			if (entidad.entidad_id  >= 7 && entidad.entidad_id  <= 12)
			#comision investigacion		
					@obs_inv = obs.observaciones  #Estatus enviado a comision de investigacion
					
			else
				if (entidad.entidad_id  >= 14 && entidad.entidad_id  <= 17)
				#Consejo tecnico
					@obs_consejoT = obs.observaciones
				else
					if (entidad.entidad_id  >= 1 && entidad.entidad_id  <= 6)
					#Consejo de escuela
						@obs_consejoE = obs.observaciones
					else
						if (entidad.entidad_id  == 13)
						#Consejo de facultad
							@obs_consejoF =  obs.observaciones

						end	
					end
				end
			end

		end
		 @bool_enviado = 0
		if (session[:entidad_id] >= 7 && session[:entidad_id] <= 12)
		#Usuario comision
			estatusI = EstatusInforme.where(informe_id: @informe_id, actual: 1).take #Estatus enviado a comision de investigacioni
			if(estatusI.estatus_id != 3 && estatusI.estatus_id != 13)
				@bool_enviado = 1
 			end
		elsif (session[:entidad_id] >= 14 && session[:entidad_id] <= 17)
		#Consejo tecnico
			estatusI = EstatusInforme.where(informe_id: @informe_id, actual: 1).take
			if(estatusI.estatus_id != 2 && estatusI.estatus_id != 12)
				@bool_enviado = 1
			end
		elsif (session[:entidad_id] >= 1 && session[:entidad_id] <= 6)
			#Consejo de escuela
			estatusI = EstatusInforme.where(informe_id: @informe_id, actual: 1).take 
			if(estatusI.estatus_id != 8 && estatusI.estatus_id != 18)
				@bool_enviado = 1 #Estatus enviado a consejo escuela
			end
		elsif (session[:entidad_id] == 13)
		#Consejo de facultad
			estatusI = EstatusInforme.where(informe_id: @informe_id, actual: 1).take
			if(estatusI.estatus_id != 4 && estatusI.estatus_id != 14)
				@bool_enviado = 1
			end
		end
		
	end

	#Visualizar los respaldos
	def ver_respaldos
		if session[:usuario_id] && session[:entidad] 
			if !session[:plan_id].blank?
				@cjpTipo=Usuario.find(session[:usuario_id]).tipo
				@plan = Planformacion.where(id: session[:plan_id]).take
				@adec = Adecuacion.where(planformacion_id: session[:plan_id]).take
				@documents = []
				if !session[:informe_id].blank?
					@documents = Respaldo.where(adecuacion_id: @adec.id, informe_id: session[:informe_id], actual: 0).all
				else
					@documents = Respaldo.where(adecuacion_id: @adec.id, informe_id: nil, actual: 0).all
				end
			else
				flash[:info]="Seleccione una adecuación primero"
				redirect_to controller:"inicioentidad", action: "listar_adecuaciones"
			end
		else
		  redirect_to controller:"forminst", action: "index"
		end
	end
	#Descargar respaldos
	def show

		if params[:informe_id].blank?
			@document = Respaldo.where(adecuacion_id: params[:adecuacion_id], informe_id: nil, version: params[:version].to_i, filename: params[:namefile]).take
		else
			@document = Respaldo.where(adecuacion_id: params[:adecuacion_id], informe_id: params[:informe_id],version: params[:version].to_i, filename: params[:namefile]).take
		end
	    send_data(@document.file_contents,
	              type: @document.content_type,
	              filename: @document.filename)
  	end

	def guardar_obs_primera_parte
		 if session[:usuario_id] && session[:entidad]== true
			if !session[:adecuacion_id].blank?
				@semestre = params[:semestre].to_i
				@vista_adecuacion = @semestre + 2
				@adecuacion= Adecuacion.find(session[:adecuacion_id])
				@estatus= EstatusAdecuacion.where(adecuacion_id: @adecuacion.id).take
			
				revision= Revision.where(usuario_id: session[:usuario_id], adecuacion_id: @adecuacion.id, estatus_id: @estatus.estatus_id, informe_id: nil).take 
			
				if(revision == nil || revision =="")

					revision = Revision.new
					revision.informe_id = nil
					revision.usuario_id = session[:usuario_id]
					revision.adecuacion_id = @adecuacion.id
					revision.estatus_id = @estatus.estatus_id
					revision.fecha =  Time.now
					revision.save
				else
					revision.fecha =  Time.now
					revision.save

				end 

				#presentacion
				aa= AdecuacionActividad.where(adecuacion_id: @adecuacion.id, semestre: 0, actividad_id: params[:presentacionId]).take
					oa= ObservacionActividadAdecuacion.where(adecuacionactividad_id: aa.id, revision_id: revision.id).take
				
				if(!params[:obsPresentacion].blank?)
					if(oa == nil || oa =="")
						oa = ObservacionActividadAdecuacion.new
						oa.adecuacionactividad_id = aa.id
						oa.revision_id =  revision.id
						oa.observaciones = params[:obsPresentacion]
						oa.actual = 1
						oa.save
					else
						oa.observaciones = params[:obsPresentacion]
						oa.save
					end
				end

				#Descripcion
				aa= AdecuacionActividad.where(adecuacion_id: @adecuacion.id, semestre: 0, actividad_id: params[:descripcionId]).take
					oa= ObservacionActividadAdecuacion.where(adecuacionactividad_id: aa, revision_id: revision.id).take

				if(!params[:obsDescripcion].blank?)
					if(oa == nil || oa =="")
						oa = ObservacionActividadAdecuacion.new
						oa.adecuacionactividad_id = aa.id
						oa.revision_id =  revision.id
						oa.observaciones = params[:obsDescripcion]
						oa.actual = 1
						oa.save
					else
						oa.observaciones = params[:obsDescripcion]
						oa.save
					end
				end

				#Docencia
				aa= AdecuacionActividad.where(adecuacion_id: @adecuacion.id, semestre: 0, actividad_id: params[:docenciaId]).take
					oa= ObservacionActividadAdecuacion.where(adecuacionactividad_id: aa, revision_id: revision.id).take
				
				if(!params[:obsDocencia].blank?)
					if(oa == nil || oa =="")
						oa = ObservacionActividadAdecuacion.new
						oa.adecuacionactividad_id = aa.id
						oa.revision_id =  revision.id
						oa.observaciones = params[:obsDocencia]
						oa.actual = 1
						oa.save
					else
						oa.observaciones = params[:obsDocencia]
						oa.save
					end
				end

				#Investigacion
				aa= AdecuacionActividad.where(adecuacion_id: @adecuacion.id, semestre: 0, actividad_id: params[:investigacionId]).take
					oa= ObservacionActividadAdecuacion.where(adecuacionactividad_id: aa, revision_id: revision.id).take

				if(!params[:obsInvestigacion].blank?)
					if(oa == nil || oa =="")
						oa = ObservacionActividadAdecuacion.new
						oa.adecuacionactividad_id = aa.id
						oa.revision_id =  revision.id
						oa.observaciones = params[:obsInvestigacion]
						oa.actual = 1
						oa.save
					else
						oa.observaciones = params[:obsInvestigacion]
						oa.save
					end
				end

				#Formacion
				aa= AdecuacionActividad.where(adecuacion_id: @adecuacion.id, semestre: 0, actividad_id: params[:formacionId]).take
					oa= ObservacionActividadAdecuacion.where(adecuacionactividad_id: aa, revision_id: revision.id).take

				if(!params[:obsFormacion].blank?)
					if(oa == nil || oa =="")
						oa = ObservacionActividadAdecuacion.new
						oa.adecuacionactividad_id = aa.id
						oa.revision_id =  revision.id
						oa.observaciones = params[:obsFormacion]
						oa.actual = 1
						oa.save
					else
						oa.observaciones = params[:obsFormacion]
						oa.save
					end
				end

				#Extension
				aa= AdecuacionActividad.where(adecuacion_id: @adecuacion.id, semestre: 0, actividad_id: params[:extensionId]).take
					oa= ObservacionActividadAdecuacion.where(adecuacionactividad_id: aa, revision_id: revision.id).take

				if(!params[:obsExtension].blank?)
					if(oa == nil || oa =="")
						oa = ObservacionActividadAdecuacion.new
						oa.adecuacionactividad_id = aa.id
						oa.revision_id =  revision.id
						oa.observaciones = params[:obsExtension]
						oa.actual = 1
						oa.save
					else
						oa.observaciones = params[:obsExtension]
						oa.save
					end
				end

			

				flash[:success]="Se han creado y/o modificado las observaciones satisfactoriamente"
				redirect_to controller:"inicioentidad", action: "detalles_adecuacion2"
			else
				flash[:info]="Seleccione una adecuación primero"
				redirect_to controller:"inicioentidad", action: "listar_adecuaciones"
			end
 		end
 	end

	def guardar_observaciones2
		 if session[:usuario_id] && session[:entidad]== true
			if !session[:adecuacion_id].blank?
				@semestre = params[:semestre].to_i
				@cjpTipo=Usuario.find(session[:usuario_id]).tipo
				@vista_adecuacion = @semestre + 2
				@adecuacion= Adecuacion.find(session[:adecuacion_id])
				puts "holaaaaaaaaaaaaaaa"
				puts session[:adecuacion_id]
				@estatus= EstatusAdecuacion.where(adecuacion_id: @adecuacion.id).take
				@cant_doc= params[:cant_docencia].to_i
				@cant_inv= params[:cant_investigacion].to_i
				@cant_for= params[:cant_formacion].to_i
				@cant_ext= params[:cant_extension].to_i
				@cant_obli= params[:cant_obligatoria].to_i
				@cant_otr= params[:cant_otra].to_i
			



				revision= Revision.where(usuario_id: session[:usuario_id], adecuacion_id: @adecuacion.id, estatus_id: @estatus.estatus_id, informe_id: nil).take 

				if(revision == nil || revision =="")

					revision = Revision.new
					revision.informe_id = nil
					revision.usuario_id = session[:usuario_id]
					revision.adecuacion_id = @adecuacion.id
					revision.estatus_id = @estatus.estatus_id
					revision.fecha =  Time.now
					revision.save
				else
					revision.fecha =  Time.now
					revision.save

				end 

				if params[:prim_part] == "si"
					#presentacion
					aa= AdecuacionActividad.where(adecuacion_id: @adecuacion.id, semestre: 0, actividad_id: params[:presentacionId]).take
						oa= ObservacionActividadAdecuacion.where(adecuacionactividad_id: aa.id, revision_id: revision.id).take
					if(!params[:obsPresentacion].blank?)
						if(oa == nil || oa =="")
							oa = ObservacionActividadAdecuacion.new
							oa.adecuacionactividad_id = aa.id
							oa.revision_id =  revision.id
							oa.observaciones = params[:obsPresentacion]
							oa.actual = 1
							oa.save
						else
							oa.observaciones = params[:obsPresentacion]
							oa.save
						end
					end

					#Descripcion
					aa= AdecuacionActividad.where(adecuacion_id: @adecuacion.id, semestre: 0, actividad_id: params[:descripcionId]).take
						oa= ObservacionActividadAdecuacion.where(adecuacionactividad_id: aa, revision_id: revision.id).take
					if(!params[:obsDescripcion].blank?)
						if(oa == nil || oa =="")
							oa = ObservacionActividadAdecuacion.new
							oa.adecuacionactividad_id = aa.id
							oa.revision_id =  revision.id
							oa.observaciones = params[:obsDescripcion]
							oa.actual = 1
							oa.save
						else
							oa.observaciones = params[:obsDescripcion]
							oa.save
						end
					end
				end


				#Comienza actividades de docencia
					j=0
					i=:doc.to_s+j.to_s
					@act = params[i].to_i
					while j <  @cant_doc
						aa= AdecuacionActividad.where(adecuacion_id: @adecuacion.id, semestre: params[:semestre].to_i, actividad_id: @act).take

						observacion =:observacion.to_s+@act.to_s
					
							oa= ObservacionActividadAdecuacion.where(adecuacionactividad_id: aa, revision_id: revision.id).take
							if(!params[observacion].blank?)
								if(oa == nil || oa =="")
									oa = ObservacionActividadAdecuacion.new
									oa.adecuacionactividad_id = aa.id
									oa.revision_id =  revision.id
									oa.observaciones = params[observacion]
									oa.actual = 1
									oa.save
								else
									oa.observaciones = params[observacion]
									oa.save
								end
							end
						j= j+1
						i=:doc.to_s+j.to_s
						@act= params[i].to_i
					end

				#Comienza actividades de investigacion
					j=0
					i=:inv.to_s+j.to_s
					@act = params[i].to_i
					k=:result.to_s+j.to_s
					@result= params[k].to_i
					while j <  @cant_inv
						
						aa= AdecuacionActividad.where(adecuacion_id: @adecuacion.id, semestre: params[:semestre].to_i, actividad_id: @act).take

						observacion =:observacion.to_s+@act.to_s
					
							oa= ObservacionActividadAdecuacion.where(adecuacionactividad_id: aa, revision_id: revision.id).take
							if(!params[observacion].blank?)
								if(oa == nil || oa =="")
									oa = ObservacionActividadAdecuacion.new
									oa.adecuacionactividad_id = aa.id
									oa.revision_id =  revision.id
									oa.observaciones = params[observacion]
									oa.actual = 1
									oa.save
								else
									oa.observaciones = params[observacion]
									oa.save
								end
							end
						j=j+1
						i=:inv.to_s+j.to_s
						@act= params[i].to_i
					end

				#Comienza actividades de formación
					j=0
					i=:for.to_s+j.to_s
					@act = params[i].to_i
					while j <  @cant_for
						aa= AdecuacionActividad.where(adecuacion_id: @adecuacion.id, semestre: params[:semestre].to_i, actividad_id: @act).take

						observacion =:observacion.to_s+@act.to_s
					
							oa= ObservacionActividadAdecuacion.where(adecuacionactividad_id: aa, revision_id: revision.id).take
							if(!params[observacion].blank?)
								if(oa == nil || oa =="")
									oa = ObservacionActividadAdecuacion.new
									oa.adecuacionactividad_id = aa.id
									oa.revision_id =  revision.id
									oa.observaciones = params[observacion]
									oa.actual = 1
									oa.save
								else
									oa.observaciones = params[observacion]
									oa.save
								end
							end
				
						j= j+1
						i=:for.to_s+j.to_s
						@act= params[i].to_i
					end

		
				#Comienzan actividades de extensión


					j=0
					i=:ext.to_s+j.to_s
					@act = params[i].to_i
					while j <  @cant_ext
						aa= AdecuacionActividad.where(adecuacion_id: @adecuacion.id, semestre: params[:semestre].to_i, actividad_id: @act).take

						observacion =:observacion.to_s+@act.to_s

							oa= ObservacionActividadAdecuacion.where(adecuacionactividad_id: aa, revision_id: revision.id).take
							if(!params[observacion].blank?)
								if(oa == nil || oa =="")
									oa = ObservacionActividadAdecuacion.new
									oa.adecuacionactividad_id = aa.id
									oa.revision_id =  revision.id
									oa.observaciones = params[observacion]
									oa.actual = 1
									oa.save
								else
									oa.observaciones = params[observacion]
									oa.save
								end
							end
						
						j= j+1
						i=:ext.to_s+j.to_s
						@act= params[i].to_i
					end


				#Comienzan Otras actividades
					j=0
					i=:otr.to_s+j.to_s
					@act = params[i].to_i
			

					while j <  @cant_otr
						aa= AdecuacionActividad.where(adecuacion_id: @adecuacion.id, semestre: params[:semestre].to_i, actividad_id: @act).take

						observacion =:observacion.to_s+@act.to_s
					
							oa= ObservacionActividadAdecuacion.where(adecuacionactividad_id: aa, revision_id: revision.id).take
							if(!params[observacion].blank?)
								if(oa == nil || oa =="")
									oa = ObservacionActividadAdecuacion.new
									oa.adecuacionactividad_id = aa.id
									oa.revision_id =  revision.id
									oa.observaciones = params[observacion]
									oa.actual = 1
									oa.save
								else
									oa.observaciones = params[observacion]
									oa.save
								end
							end
						j= j+1
						i=:otr.to_s+j.to_s
						@act= params[i].to_i
					end

			

				flash[:success]="Se han creado y/o modificado las observaciones satisfactoriamente"

				if(@semestre == 0)
						redirect_to controller:"inicioentidad", action: "detalles_adecuacion2"
				end
				if(@semestre == 1)
						redirect_to controller:"inicioentidad", action: "detalles_adecuacion3"
				end
				if(@semestre == 2)
						redirect_to controller:"inicioentidad", action: "detalles_adecuacion4"
				end
				if(@semestre == 3)
						redirect_to controller:"inicioentidad", action: "detalles_adecuacion5"
				end
				if(@semestre == 4)
						redirect_to controller:"inicioentidad", action: "detalles_adecuacion6"
				end
				if(@semestre == 5)
						redirect_to controller:"inicioentidad", action: "detalles_adecuacion7"
				end
			else
				flash[:info]="Seleccione una adecuación primero"
				redirect_to controller:"inicioentidad", action: "listar_adecuaciones"
			end
 		end
 	end

	 def mas_observaciones3 #mas obs de actividades del Adecuación
		if !session[:adecuacion_id].blank?

			@boolobs = 0
			@adecuacion= Adecuacion.find(session[:adecuacion_id])
			@cjpTipo=Usuario.find(session[:usuario_id]).tipo
			@semestre = params[:semestre].to_i
			@actividad_id = params[:actividad_id].to_i
			
			aa= AdecuacionActividad.where(adecuacion_id: @adecuacion.id, semestre: @semestre, actividad_id: @actividad_id).take
			
			@observaciones= ObservacionActividadAdecuacion.where(adecuacionactividad_id: aa.id)

			@observaciones.each do |obs|	
				if(obs.observaciones != "")
				@boolobs = 1
				end
			end
				
			@observaciones.each do |obs|

				rev = Revision.find(obs.revision_id)
			
				entidad = Usuarioentidad.where(usuario_id: rev.usuario_id).take

				
				if (entidad.entidad_id  >= 7 && entidad.entidad_id  <= 12)
				#comision investigacion		
					@obs_inv = obs.observaciones  #Estatus enviado a comision de investigacion
				elsif (entidad.entidad_id  >= 14 && entidad.entidad_id  <= 17)
				#Consejo tecnico
					@obs_consejoT = obs.observaciones
				elsif (entidad.entidad_id  >= 1 && entidad.entidad_id  <= 6)
				#Consejo de escuela
					@obs_consejoE = obs.observaciones
				elsif (entidad.entidad_id  == 13)
				#Consejo de facultad
					@obs_consejoF =  obs.observaciones
				end
			end
			@bool_enviado = 0
			if (session[:entidad_id] >= 7 && session[:entidad_id] <= 12)
			#Usuario comision
				estatusI = EstatusAdecuacion.where(adecuacion_id: @adecuacion.id, actual: 1).take #Estatus enviado a comision de investigacioni
				if(estatusI.estatus_id != 3 && estatusI.estatus_id != 13)
					@bool_enviado = 1
				end
			elsif (session[:entidad_id] >= 14 && session[:entidad_id] <= 17)
			#Consejo tecnico
				estatusI = EstatusAdecuacion.where(adecuacion_id: @adecuacion.id, actual: 1).take
				if(estatusI.estatus_id != 2 && estatusI.estatus_id != 12)
					@bool_enviado = 1
				end
			elsif (session[:entidad_id] >= 1 && session[:entidad_id] <= 6)
			#Consejo de escuela
				estatusI = EstatusAdecuacion.where(adecuacion_id: @adecuacion.id, actual: 1).take 
				if(estatusI.estatus_id != 8 && estatusI.estatus_id != 18)
					@bool_enviado = 1 #Estatus enviado a consejo escuela
				end
			elsif (session[:entidad_id] == 13)
			#Consejo de facultad
				estatusI = EstatusAdecuacion.where(adecuacion_id: @adecuacion.id, actual: 1).take
				if(estatusI.estatus_id != 4 && estatusI.estatus_id != 14)
					@bool_enviado = 1
				end
			end
		else
			flash[:info]="Seleccione una adecuación primero"
			redirect_to controller:"inicioentidad", action: "listar_adecuaciones"
		end
	end

	def cambiar_estatusI
		if !params[:informe_id].blank?

			@informe_id = params[:informe_id].to_i
			rechazar = params[:rechazar].to_i
			@cjpTipo=Usuario.find(session[:usuario_id]).tipo
			informeAct = Informe.where(id: @informe_id).take
			session[:plan_id] = informeAct.planformacion_id
			adec = Adecuacion.where(planformacion_id: informeAct.planformacion_id).take
			session[:adecuacion_id] = adec.id
					
			if (session[:entidad_id] >= 7 && session[:entidad_id] <= 12)
				@document = Respaldo.where(adecuacion_id: session[:adecuacion_id], informe_id: @informe_id, actual: 1).take
				@document.estatus = "Enviado a Consejo de Escuela"
				@document.save
				cambio_act = EstatusInforme.where(informe_id: @informe_id, actual: 1).take
				cambio_act.actual = 0
				cambio_act.save
				cambio_est = EstatusInforme.new 
				cambio_est.informe_id = @informe_id
				cambio_est.fecha = Time.now 
				cambio_est.estatus_id = 8
				cambio_est.actual = 1
				cambio_est.save
				plan = Planformacion.find(session[:plan_id])
				cambio_est.fecha = Time.now 
				notific = Notificacion.new
				notific.instructor_id = plan.instructor_id
				notific.tutor_id = informeAct.tutor_id
				notific.adecuacion_id = session[:adecuacion_id]
				notific.informe_id = @informe_id
				notific.actual = 1
				person = Persona.where(usuario_id: plan.instructor_id).take
				notificacionfecha = Date.current.to_s 
				notific.mensaje = "[" + notificacionfecha + "] El " + session[:nombre_informe] + " de " + person.nombres.to_s.split.map(&:capitalize).join(' ') + " " + person.apellidos.to_s.split.map(&:capitalize).join(' ') + " ha sido aprobado por Comisión de Investigación y fue enviada a Consejo de Escuela."
				notific.save
				notific2 = Notificacion.new
				notific2.instructor_id = plan.instructor_id
				notific2.tutor_id = informeAct.tutor_id
				notific2.adecuacion_id = session[:adecuacion_id]
				notific2.informe_id = @informe_id
				notific2.actual = 2
				notific2.mensaje = "[" + notificacionfecha + "] El " + session[:nombre_informe] + " ha sido aprobado por Comisión de Investigación y fue enviada a Consejo de Escuela."
				notific2.save
				notific3 = Notificacion.new
				notific3.instructor_id = plan.instructor_id
				notific3.tutor_id = informeAct.tutor_id
				notific3.adecuacion_id = session[:adecuacion_id]
				notific3.informe_id = @informe_id
				notific3.actual = 4   #Consejo de Escuela
				notific3.mensaje = "[" + notificacionfecha + "] Ha recibido un nuevo Informe: ' " + session[:nombre_informe]+ " ' de " + person.nombres.to_s.split.map(&:capitalize).join(' ') + " " + person.apellidos.to_s.split.map(&:capitalize).join(' ') + ", favor aprobar y enviar a la siguiente entidad."
				notific3.save
				user =Usuarioentidad.where(entidad_id: session[:entidad_id]).take
				if(user.escuela_id == 1)
					uentidad = Usuarioentidad.where(escuela_id: user.escuela_id, entidad_id: 1).take
				elsif(user.escuela_id == 2)
					uentidad = Usuarioentidad.where(escuela_id: user.escuela_id, entidad_id: 2).take
				elsif(user.escuela_id == 3)
					uentidad = Usuarioentidad.where(escuela_id: user.escuela_id, entidad_id: 3).take
				elsif(user.escuela_id == 4)
					uentidad = Usuarioentidad.where(escuela_id: user.escuela_id, entidad_id: 4).take
				elsif(user.escuela_id == 9)
					uentidad = Usuarioentidad.where(escuela_id: user.escuela_id, entidad_id: 5).take
				elsif(user.escuela_id == 10)
					uentidad = Usuarioentidad.where(escuela_id: user.escuela_id, entidad_id: 6).take
				end
				linkTeI = "http://formacion.ciens.ucv.ve/forminst?accion=mostrar informe&param1=" + plan.id.to_s + "&param2="+ @informe_id.to_s
				linkE = "http://formacion.ciens.ucv.ve/forminst?accion=mostrar informe&param1=" + plan.id.to_s+ "&param2="+@informe_id.to_s+"&param3="+adec.id.to_s
				remitente3 = Usuario.where(id: informeAct.tutor_id).take
				ActionCorreo.envio_informe(remitente3, notific.mensaje,2,linkTeI,@document).deliver
				remitente2 = Usuario.where(id: plan.instructor_id).take
				ActionCorreo.envio_informe(remitente2, notific2.mensaje,1,linkTeI,@document).deliver
				remitente = Usuario.where(id: uentidad.usuario_id).take
				ActionCorreo.envio_informe(remitente, notific3.mensaje,0,linkE,@document).deliver
				flash[:success]="El informe se ha envíado a consejo de escuela"
			elsif (session[:entidad_id] >= 14 && session[:entidad_id] <= 17)
				#Consejo tecnico
			elsif (session[:entidad_id] >= 1 && session[:entidad_id] <= 6)
				#Consejo de escuela
				@document = Respaldo.where(adecuacion_id: session[:adecuacion_id], informe_id: @informe_id, actual: 1).take
				@document.estatus = "Enviado a Consejo de Facultad"
				@document.save
				cambio_act = EstatusInforme.where(informe_id: @informe_id, actual: 1).take
				cambio_act.actual = 0
				cambio_act.save
				cambio_est = EstatusInforme.new 
				cambio_est.informe_id = @informe_id
				cambio_est.fecha = Time.now 
				cambio_est.estatus_id = 4
				cambio_est.actual = 1
				cambio_est.save
				plan = Planformacion.find(session[:plan_id])
				cambio_est.fecha = Time.now 
				notific = Notificacion.new
				notific.instructor_id = plan.instructor_id
				notific.tutor_id = informeAct.tutor_id
				notific.adecuacion_id = session[:adecuacion_id]
				notific.informe_id = @informe_id
				notific.actual = 1
				person = Persona.where(usuario_id: plan.instructor_id).take
				notificacionfecha = Date.current.to_s 
				notific.mensaje = "[" + notificacionfecha + "] El " + session[:nombre_informe] + " de " + person.nombres.to_s.split.map(&:capitalize).join(' ') + " " + person.apellidos.to_s.split.map(&:capitalize).join(' ') + " ha sido aprobado por Consejo de Escuela y fue enviada a Consejo de Facultad."
				notific.save
				notific2 = Notificacion.new
				notific2.instructor_id = plan.instructor_id
				notific2.tutor_id = informeAct.tutor_id
				notific2.adecuacion_id = session[:adecuacion_id]
				notific2.informe_id = @informe_id
				notific2.actual = 2
				notific2.mensaje = "[" + notificacionfecha + "] El " + session[:nombre_informe] + " ha sido aprobado por Consejo de Escuela y fue enviada a Consejo de Facultad."
				notific2.save
				notific3 = Notificacion.new
				notific3.instructor_id = plan.instructor_id
				notific3.tutor_id = informeAct.tutor_id
				notific3.adecuacion_id = session[:adecuacion_id]
				notific3.informe_id = @informe_id
				notific3.actual = 5   #Consejo de Facultad
				notific3.mensaje = "[" + notificacionfecha + "] Ha recibido un nuevo Informe: ' " + session[:nombre_informe]+ " ' de " + person.nombres.to_s.split.map(&:capitalize).join(' ') + " " + person.apellidos.to_s.split.map(&:capitalize).join(' ') + ", revisar."
				notific3.save
				uentidad = Usuarioentidad.where(entidad_id: 13).take
				remitente3 = Usuario.where(id: informeAct.tutor_id).take
				linkTeI = "http://formacion.ciens.ucv.ve/forminst?accion=mostrar informe&param1=" + plan.id.to_s + "&param2="+ @informe_id.to_s
				linkE = "http://formacion.ciens.ucv.ve/forminst?accion=mostrar informe&param1=" + plan.id.to_s+ "&param2="+@informe_id.to_s+"&param3="+adec.id.to_s
				ActionCorreo.envio_informe(remitente3, notific.mensaje,2,linkTeI,@document).deliver
				remitente2 = Usuario.where(id: plan.instructor_id).take
				ActionCorreo.envio_informe(remitente2, notific2.mensaje,1,linkTeI,@document).deliver
				remitente = Usuario.where(id: uentidad.usuario_id).take
				ActionCorreo.envio_informe(remitente, notific3.mensaje,0,linkE,@document).deliver
				ActionCorreo.envio_informe("<EMAIL>", notific3.mensaje,0, linkE,@document).deliver
				flash[:success]="El informe se ha envíado a consejo de facultad"
			elsif (session[:entidad_id] == 13)
				#Consejo de facultad
				bool_observaciones= 0
				acts_informe = InformeActividad.where(informe_id: @informe_id)
				
				if (rechazar == 2)
					bool_observaciones = 1
				end
				cambio_act = EstatusInforme.where(informe_id: @informe_id, actual: 1).take
				cambio_act.actual = 0
				cambio_act.save

				cambio_est = EstatusInforme.new 
				cambio_est.informe_id = @informe_id
				cambio_est.fecha = Time.now
				if(rechazar == 1)
					cambio_est.estatus_id = 9
				else 
					if bool_observaciones == 1 
						cambio_est.estatus_id = 5
					else
						cambio_est.estatus_id = 1
					end
				end
				cambio_est.actual = 1
				cambio_est.save

				
				inf = Informe.where(id: @informe_id).take
				cambio_est.fecha = Time.now 
				plan = Planformacion.find(session[:plan_id])
				linkTeI = "http://formacion.ciens.ucv.ve/forminst?accion=mostrar informe&param1=" + plan.id.to_s + "&param2="+ @informe_id.to_s
				if(rechazar == 1)
					@document = Respaldo.where(adecuacion_id: session[:adecuacion_id], informe_id: @informe_id, actual: 1).take
					@document.estatus = "Rechazado por Consejo de Facultad"
					@document.actual = 0
					@document.save
					flash[:info]="El informe ha sido rechazado por consejo de facultad"
					notific = Notificacion.new
					notific.instructor_id = plan.instructor_id
					notific.tutor_id = informeAct.tutor_id
					notific.adecuacion_id = session[:adecuacion_id]
					notific.informe_id = @informe_id
					notific.actual = 1
					person = Persona.where(usuario_id: plan.instructor_id).take
					notificacionfecha = Date.current.to_s 
					notific.mensaje = "[" + notificacionfecha + "] El " + session[:nombre_informe] + " de " + person.nombres.to_s.split.map(&:capitalize).join(' ') + " " + person.apellidos.to_s.split.map(&:capitalize).join(' ') + " ha sido rechazado por Consejo de Facultad."
					notific.save
					notific2 = Notificacion.new
					notific2.instructor_id = plan.instructor_id
					notific2.tutor_id = informeAct.tutor_id
					notific2.adecuacion_id = session[:adecuacion_id]
					notific2.informe_id = @informe_id
					notific2.actual = 2
					notific2.mensaje = "[" + notificacionfecha + "] El " + session[:nombre_informe] + " ha sido rechazado por Consejo de Facultad."
					notific2.save
					remitente3 = Usuario.where(id: informeAct.tutor_id).take
					ActionCorreo.envio_informe(remitente3, notific.mensaje,2,linkTeI,@document).deliver
					remitente2 = Usuario.where(id: plan.instructor_id).take
					ActionCorreo.envio_informe(remitente2, notific2.mensaje,1,linkTeI,@document).deliver
					cpusuario = Usuario.where(id: plan.instructor_id).take
					cpusuario.activo = 0
					cpusuario.save
				elsif bool_observaciones == 1 
					@document = Respaldo.where(adecuacion_id: session[:adecuacion_id], informe_id: @informe_id, actual: 1).take
					@document.estatus = "Aprobado por Consejo de Facultad con Observaciones"
					@document.actual = 0
					@document.save	
					flash[:info]="El informe ha sido aprobado con observaciones por consejo de facultad"
					notific = Notificacion.new
					notific.instructor_id = plan.instructor_id
					notific.tutor_id = informeAct.tutor_id
					notific.adecuacion_id = session[:adecuacion_id]
					notific.informe_id = @informe_id
					notific.actual = 1
					person = Persona.where(usuario_id: plan.instructor_id).take
					notificacionfecha = Date.current.to_s 
					notific.mensaje = "[" + notificacionfecha + "] El " + session[:nombre_informe] + " de " + person.nombres.to_s.split.map(&:capitalize).join(' ') + " " + person.apellidos.to_s.split.map(&:capitalize).join(' ') + " ha sido aprobado con observaciones por Consejo de Facultad."
					notific.save
					notific2 = Notificacion.new
					notific2.instructor_id = plan.instructor_id
					notific2.tutor_id = informeAct.tutor_id
					notific2.adecuacion_id = session[:adecuacion_id]
					notific2.informe_id = @informe_id
					notific2.actual = 2
					notific2.mensaje = "[" + notificacionfecha + "] El " + session[:nombre_informe] + " ha sido aprobado con observaciones por Consejo de Facultad."
					notific2.save
					remitente3 = Usuario.where(id: informeAct.tutor_id).take
					ActionCorreo.envio_informe(remitente3, notific.mensaje,2,linkTeI,@document).deliver
					remitente2 = Usuario.where(id: plan.instructor_id).take
					ActionCorreo.envio_informe(remitente2, notific2.mensaje,1,linkTeI,@document).deliver
				else
					@document = Respaldo.where(adecuacion_id: session[:adecuacion_id], informe_id: @informe_id, actual: 1).take
					@document.estatus = "Aprobado por Consejo de Facultad"
					@document.actual = 0
					@document.save
					flash[:info]="El informe ha sido aprobado por consejo de facultad"
					notific = Notificacion.new
					notific.instructor_id = plan.instructor_id
					notific.tutor_id = informeAct.tutor_id
					notific.adecuacion_id = session[:adecuacion_id]
					notific.informe_id = @informe_id
					notific.actual = 1
					person = Persona.where(usuario_id: plan.instructor_id).take
					notificacionfecha = Date.current.to_s 
					notific.mensaje = "[" + notificacionfecha + "] ¡Felicitaciones! El " + session[:nombre_informe] + " de " + person.nombres.to_s.split.map(&:capitalize).join(' ') + " " + person.apellidos.to_s.split.map(&:capitalize).join(' ') + " ha sido aprobado por Consejo de Facultad."
					notific.save
					notific2 = Notificacion.new
					notific2.instructor_id = plan.instructor_id
					notific2.tutor_id = informeAct.tutor_id
					notific2.adecuacion_id = session[:adecuacion_id]
					notific2.informe_id = @informe_id
					notific2.actual = 2
					notific2.mensaje = "[" + notificacionfecha + "] ¡Felicitaciones! El " + session[:nombre_informe] + " ha sido aprobado por Consejo de Facultad."
					notific2.save	
					remitente3 = Usuario.where(id: informeAct.tutor_id).take
					ActionCorreo.envio_informe(remitente3, notific.mensaje,2,linkTeI,@document).deliver
					remitente2 = Usuario.where(id: plan.instructor_id).take
					ActionCorreo.envio_informe(remitente2, notific2.mensaje,1,linkTeI,@document).deliver
				end
			end	
			redirect_to controller:"inicioentidad", action: "listar_informes"
		else
			flash[:info]="Seleccione un informe primero"
			redirect_to controller:"inicioentidad", action: "listar_informes"
		end
	end 
	
	def vista_previa
		if !session[:plan_id].blank?
			session[:informe_id]=nil
			@cjpTipo=Usuario.find(session[:usuario_id]).tipo
			@fechaActual = Date.current.to_s
			@plan= Planformacion.find(session[:plan_id])
			@fechaConcurso = @plan.fecha_inicio
			@usere= Usuarioentidad.where(usuario_id: @plan.instructor_id).take
			@escuela= Escuela.find(@usere.escuela_id)
			@adecuacion= Adecuacion.where(planformacion_id: @plan.id).take
			@adscripcion_docencia= @plan.adscripcion_docencia
			@adscripcion_investigacion= @plan.adscripcion_investigacion
			@persona= Persona.where(usuario_id: @plan.instructor_id).take
			@cpinstruccion = @persona.grado_instruccion
			@user = Usuario.find(@plan.instructor_id)
			@cpTutor= Persona.where(usuario_id: @plan.tutor_id).take
			@cpTutorEmail= Usuario.find(@plan.tutor_id).email

			@docencia='docencia'
			@investigacion= 'investigacion'
			@formacion= 'formacion'
			@extension= 'extension'
			@obligatoria= 'obligatoria'
			@otra= 'otra' 

			@nombre = session[:nombre_usuario]
			@instructorName = session[:instructorName]

			actividades = AdecuacionActividad.where(adecuacion_id: @adecuacion.id, semestre: 0)
				if !actividades.blank?
					actividades.each do |actividadAde|
						actividad = Actividad.find(actividadAde.actividad_id)
						if actividad.tipo_actividad_id == 9
							@presentacion = actividad.actividad
						elsif actividad.tipo_actividad_id == 8
							@descripcion = actividad.actividad
						end
					end
				else
					@presentacion = " "
					@descripcion = " "	
				end

				@actividades0doc= []
				@actividades0inv= []
				@actividades0ext= []
				@actividades0for= []
				@actividades0otr= []
				@actividades0= AdecuacionActividad.where(adecuacion_id: @adecuacion.id, semestre: 0).all
				@actividades0.each do |actade| 
					@act= Actividad.find(actade.actividad_id)
					tipo= @act.tipo_actividad_id
					if tipo==1
						@actividades0doc.push(@act)
					elsif tipo==2
						@actividades0inv.push(@act)
					elsif tipo==3
						@actividades0ext.push(@act)
					elsif tipo==4
						@actividades0for.push(@act)
					elsif tipo==5
						@actividades0otr.push(@act)
					end
				end

			@actividades1doc= []
			@actividades1inv= []
			@actividades1ext= []
			@actividades1for= []
			@actividades1otr= []
			@actividades1= AdecuacionActividad.where(adecuacion_id: @adecuacion.id, semestre: 1).all
			@actividades1.each do |actade| 
				@act= Actividad.find(actade.actividad_id)
				tipo= @act.tipo_actividad_id
				if tipo==1
					@actividades1doc.push(@act)
				elsif tipo==2
					@actividades1inv.push(@act)
				elsif tipo==3
					@actividades1ext.push(@act)
				elsif tipo==4
					@actividades1for.push(@act)
				elsif tipo==5
					@actividades1otr.push(@act)
				end
			end

			@actividades2doc= []
			@actividades2inv= []
			@actividades2ext= []
			@actividades2for= []
			@actividades2otr= []
			@actividades2= AdecuacionActividad.where(adecuacion_id: @adecuacion.id, semestre: 2).all
			@actividades2.each do |actade| 
				@act= Actividad.find(actade.actividad_id)
				tipo= @act.tipo_actividad_id
				if tipo==1
					@actividades2doc.push(@act)
				elsif tipo==2
					@actividades2inv.push(@act)
				elsif tipo==3
					@actividades2ext.push(@act)
				elsif tipo==4
					@actividades2for.push(@act)
				elsif tipo==5
					@actividades2otr.push(@act)
				end
			end

			@actividades3doc= []
			@actividades3inv= []
			@actividades3ext= []
			@actividades3for= []
			@actividades3otr= []
			@actividades3= AdecuacionActividad.where(adecuacion_id: @adecuacion.id, semestre: 3).all
			@actividades3.each do |actade| 
				@act= Actividad.find(actade.actividad_id)
				tipo= @act.tipo_actividad_id
				if tipo==1
					@actividades3doc.push(@act)
				elsif tipo==2
					@actividades3inv.push(@act)
				elsif tipo==3
					@actividades3ext.push(@act)
				elsif tipo==4
					@actividades3for.push(@act)
				elsif tipo==5
					@actividades3otr.push(@act)
				end
			end

			@actividades4doc= []
			@actividades4inv= []
			@actividades4ext= []
			@actividades4for= []
			@actividades4otr= []
			@actividades4= AdecuacionActividad.where(adecuacion_id: @adecuacion.id, semestre: 4).all
			@actividades4.each do |actade| 
				@act= Actividad.find(actade.actividad_id)
				tipo= @act.tipo_actividad_id
				if tipo==1
					@actividades4doc.push(@act)
				elsif tipo==2
					@actividades4inv.push(@act)
				elsif tipo==3
					@actividades4ext.push(@act)
				elsif tipo==4
					@actividades4for.push(@act)
				elsif tipo==5
					@actividades4otr.push(@act)
				end
			end

			@actividades5doc= []
			@actividades5inv= []
			@actividades5ext= []
			@actividades5for= []
			@actividades5otr= []
			@actividades5= AdecuacionActividad.where(adecuacion_id: @adecuacion.id, semestre: 5).all
			@actividades5.each do |actade| 
				@act= Actividad.find(actade.actividad_id)
				tipo= @act.tipo_actividad_id
				if tipo==1
					@actividades5doc.push(@act)
				elsif tipo==2
					@actividades5inv.push(@act)
				elsif tipo==3
					@actividades5ext.push(@act)
				elsif tipo==4
					@actividades5for.push(@act)
				elsif tipo==5
					@actividades5otr.push(@act)
				end
			end

			@bool_enviado = 0
			if (session[:entidad_id] >= 7 && session[:entidad_id] <= 12)
			#Usuario comision
				estatusI = EstatusAdecuacion.where(adecuacion_id: @adecuacion.id, actual: 1).take #Estatus enviado a comision de investigacioni
				if(estatusI.estatus_id != 3 && estatusI.estatus_id != 13)
					@bool_enviado = 1
				end
			elsif (session[:entidad_id] >= 14 && session[:entidad_id] <= 17)
			#Consejo tecnico
				estatusI = EstatusAdecuacion.where(adecuacion_id: @adecuacion.id, actual: 1).take
				if(estatusI.estatus_id != 2 && estatusI.estatus_id != 12)
					@bool_enviado = 1
				end
			elsif (session[:entidad_id] >= 1 && session[:entidad_id] <= 6)
			#Consejo de escuela
				estatusI = EstatusAdecuacion.where(adecuacion_id: @adecuacion.id, actual: 1).take 
				if(estatusI.estatus_id != 8 && estatusI.estatus_id != 18)
					@bool_enviado = 1 #Estatus enviado a consejo escuela
				
				end
			elsif (session[:entidad_id] == 13)
			#Consejo de facultad
				estatusI = EstatusAdecuacion.where(adecuacion_id: @adecuacion.id, actual: 1).take
				if(estatusI.estatus_id != 4 && estatusI.estatus_id != 14)
					@bool_enviado = 1
				end
			end	
		else
			flash[:info]="Seleccione una adecuación primero"
			redirect_to controller:"inicioentidad", action: "listar_adecuaciones"
		end
	end

	#Cambia el estatus de la adecuación
	def cambiar_estatusA
		if !params[:adecuacion_id].blank?

			@adecuacion_id = params[:adecuacion_id].to_i
			rechazar = params[:rechazar].to_i
			@cjpTipo=Usuario.find(session[:usuario_id]).tipo
			
			if (session[:entidad_id] >= 7 && session[:entidad_id] <= 12)
			#Usuario comision
				cambio_act = EstatusAdecuacion.where(adecuacion_id: @adecuacion_id, actual: 1).take
				cambio_act.actual = 0
				cambio_act.save
				cambio_est = EstatusAdecuacion.new 
				cambio_est.adecuacion_id = @adecuacion_id
				cambio_est.fecha = Time.now 
				cambio_est.estatus_id = 8
				cambio_est.actual = 1
				cambio_est.save
				cambio_est.fecha = Time.now 
				adac = AdecuacionActividad.where(adecuacion_id: @adecuacion_id).all
				adac.each do |adaa|
					oa = ObservacionActividadAdecuacion.where(adecuacionactividad_id: adaa.id, actual: 1).all
					oa.each do |oaa|
						oaa.fecha = Time.now 
						oaa.actual = 0
						oaa.save
					end
				end

				plan= Planformacion.find(session[:plan_id])
				notific = Notificacion.new
				@document = Respaldo.where(adecuacion_id: session[:adecuacion_id], informe_id: nil, actual: 1).take
				@document.estatus = "Enviado a Consejo de Escuela"
				@document.save
				
				#Carga de Notificaciones y Correos
				notific.instructor_id = plan.instructor_id
				notific.tutor_id = plan.tutor_id
				notific.adecuacion_id = session[:adecuacion_id]
				notific.informe_id = nil
				notific.actual = 1
				person = Persona.where(usuario_id: plan.instructor_id).take
				notificacionfecha = Date.current.to_s 
				notific.mensaje = "[" + notificacionfecha + "] La adecuación de "+ person.nombres.to_s.split.map(&:capitalize).join(' ') + " " + person.apellidos.to_s.split.map(&:capitalize).join(' ') + " ha sido aprobada por Comisión de Investigación y fue enviada a Consejo de Escuela."
				notific.save
				notific2 = Notificacion.new
				notific2.instructor_id = plan.instructor_id
				notific2.tutor_id = plan.tutor_id
				notific2.adecuacion_id = session[:adecuacion_id]
				notific2.informe_id = nil
				notific2.actual = 2
				notific2.mensaje = "[" + notificacionfecha + "] Su adecuación ha sido aprobada por Comisión de Investigación y fue enviada a Consejo de Escuela"
				notific2.save
				notific3 = Notificacion.new
				notific3.instructor_id = plan.instructor_id
				notific3.tutor_id = plan.tutor_id
				notific3.adecuacion_id = session[:adecuacion_id]
				notific3.informe_id = nil
				notific3.actual = 4		#Consejo de Escuela
				notific3.mensaje = "[" + notificacionfecha + "] Se ha recibido una nueva Adecuación: "+ person.nombres.to_s.split.map(&:capitalize).join(' ') + " " + person.apellidos.to_s.split.map(&:capitalize).join(' ') + ", favor aprobar y enviar a la siguiente entidad."
				notific3.save
				#\Carga de Notificaciones y Correos

				user =Usuarioentidad.where(entidad_id: session[:entidad_id]).take
				if(user.escuela_id == 1)
					uentidad = Usuarioentidad.where(escuela_id: user.escuela_id, entidad_id: 1).take
				elsif(user.escuela_id == 2)
					uentidad = Usuarioentidad.where(escuela_id: user.escuela_id, entidad_id: 2).take
				elsif(user.escuela_id == 3)
					uentidad = Usuarioentidad.where(escuela_id: user.escuela_id, entidad_id: 3).take
				elsif(user.escuela_id == 4)
					uentidad = Usuarioentidad.where(escuela_id: user.escuela_id, entidad_id: 4).take
				elsif(user.escuela_id == 9)
					uentidad = Usuarioentidad.where(escuela_id: user.escuela_id, entidad_id: 5).take
				elsif(user.escuela_id == 10)
					uentidad = Usuarioentidad.where(escuela_id: user.escuela_id, entidad_id: 6).take
				end
				linkT = "http://formacion.ciens.ucv.ve/forminst?accion=mostrar adecuacion&param1=" + plan.id.to_s + "&param2=no"
				linkI = "http://formacion.ciens.ucv.ve/forminst?accion=mostrar adecuacion"			
				linkE = "http://formacion.ciens.ucv.ve/forminst?accion=mostrar adecuacion&param3=" + @adecuacion_id.to_s  
				remitente3 = Usuario.where(id: plan.tutor_id).take
				ActionCorreo.envio_adecuacion(remitente3, notific.mensaje,2,linkT,@document).deliver
				remitente2 = Usuario.where(id: plan.instructor_id).take
				ActionCorreo.envio_adecuacion(remitente2, notific2.mensaje,1,linkI,@document).deliver
				remitente = Usuario.where(id: uentidad.usuario_id).take
				ActionCorreo.envio_adecuacion(remitente, notific3.mensaje,0,linkE,@document).deliver

				flash[:success]="La adecuación se ha envíado a consejo de escuela"
			elsif (session[:entidad_id] >= 14 && session[:entidad_id] <= 17)
			#Consejo tecnico

			elsif (session[:entidad_id] >= 1 && session[:entidad_id] <= 6)
			#Consejo de escuela
				adac = AdecuacionActividad.where(adecuacion_id: @adecuacion_id).all
				adac.each do |adaa|
					oa = ObservacionActividadAdecuacion.where(adecuacionactividad_id: adaa.id, actual: 1).all
					oa.each do |oaa|
						oaa.fecha = Time.now 
						oaa.actual = 0
						oaa.save
					end
				end
				@document = Respaldo.where(adecuacion_id: session[:adecuacion_id], informe_id: nil, actual: 1).take
				@document.estatus = "Enviado a Consejo de Facultad"
				@document.save
				cambio_act = EstatusAdecuacion.where(adecuacion_id: @adecuacion_id, actual: 1).take
					cambio_act.actual = 0
					cambio_act.save
				cambio_est = EstatusAdecuacion.new 
				cambio_est.adecuacion_id = @adecuacion_id
				cambio_est.fecha = Time.now 
				cambio_est.estatus_id = 4
				cambio_est.actual = 1
				cambio_est.save
				cambio_est.fecha = Time.now 
				plan= Planformacion.find(session[:plan_id])
				#Carga de Notificaciones y Correos
				notific = Notificacion.new
				notific.instructor_id = plan.instructor_id
				notific.tutor_id = plan.tutor_id
				notific.adecuacion_id = session[:adecuacion_id]
				notific.informe_id = nil
				notific.actual = 1
				person = Persona.where(usuario_id: plan.instructor_id).take
				notificacionfecha = Date.current.to_s 
				notific.mensaje = "[" + notificacionfecha + "] La adecuación de "+ person.nombres.to_s.split.map(&:capitalize).join(' ') + " " + person.apellidos.to_s.split.map(&:capitalize).join(' ') + " ha sido aprobada por Consejo de Escuela y fue enviada a Consejo de Facultad."
				notific.save
				notific2 = Notificacion.new
				notific2.instructor_id = plan.instructor_id
				notific2.tutor_id = plan.tutor_id
				notific2.adecuacion_id = session[:adecuacion_id]
				notific2.informe_id = nil
				notific2.actual = 2
				notific2.mensaje = "[" + notificacionfecha + "] Su adecuación ha sido aprobada por Consejo de Escuela y fue enviada a Consejo de Facultad"
				notific2.save
				notific3 = Notificacion.new
				notific3.instructor_id = plan.instructor_id
				notific3.tutor_id = plan.tutor_id
				notific3.adecuacion_id = session[:adecuacion_id]
				notific3.informe_id = nil
				notific3.actual = 5		#Consejo de Escuela
				notific3.mensaje = "[" + notificacionfecha + "] Se ha recibido una nueva Adecuación: "+ person.nombres.to_s.split.map(&:capitalize).join(' ') + " " + person.apellidos.to_s.split.map(&:capitalize).join(' ') + ", Revisar."
				notific3.save
				uentidad = Usuarioentidad.where(entidad_id: 13).take
				linkT = "http://formacion.ciens.ucv.ve/forminst?accion=mostrar adecuacion&param1=" + plan.id.to_s + "&param2=no"
				linkI = "http://formacion.ciens.ucv.ve/forminst?accion=mostrar adecuacion"			
				linkE = "http://formacion.ciens.ucv.ve/forminst?accion=mostrar adecuacion&param3=" + @adecuacion_id.to_s
				remitente3 = Usuario.where(id: plan.tutor_id).take
				ActionCorreo.envio_adecuacion(remitente3, notific.mensaje,2,linkT,@document).deliver
				remitente2 = Usuario.where(id: plan.instructor_id).take
				ActionCorreo.envio_adecuacion(remitente2, notific2.mensaje,1,linkI,@document).deliver
				remitente = Usuario.where(id: uentidad.usuario_id).take
				ActionCorreo.envio_adecuacion(remitente, notific3.mensaje,0,linkE,@document).deliver
				ActionCorreo.envio_adecuacion("<EMAIL>", notific3.mensaje,0, linkE,@document).deliver
				#\Carga de Notificaciones y Correos

				flash[:success]="La adecuación se ha envíado a consejo de facultad"
			elsif (session[:entidad_id] == 13)
			#Consejo de FACULTAD
				bool_observaciones= 0
				acts_adecuacion = AdecuacionActividad.where(adecuacion_id: @adecuacion_id)

				if (rechazar == 2)
					bool_observaciones = 1
				end
				#Consejo de facultad
				cambio_act = EstatusAdecuacion.where(adecuacion_id: @adecuacion_id, actual: 1).take
					cambio_act.actual = 0
					cambio_act.save	
				cambio_est = EstatusAdecuacion.new 
				cambio_est.adecuacion_id = @adecuacion_id
				cambio_est.fecha = Time.now 
				if(rechazar == 1)
					cambio_est.estatus_id = 9
				else 
					if bool_observaciones == 1 
						cambio_est.estatus_id = 5
					else
						cambio_est.estatus_id = 1
					end
				end
				cambio_est.actual = 1
				cambio_est.save
				
				adec = Adecuacion.where(id: @adecuacion_id).take
				plan = Planformacion.where(id: adec.planformacion_id).take
				linkT = "http://formacion.ciens.ucv.ve/forminst?accion=mostrar adecuacion&param1=" + plan.id.to_s + "&param2=no"
				linkI = "http://formacion.ciens.ucv.ve/forminst?accion=mostrar adecuacion"			

				if(rechazar == 1)
					@document = Respaldo.where(adecuacion_id: session[:adecuacion_id], informe_id: nil, actual: 1).take
					@document.estatus = "Rechazado por Consejo de Facultad"
					@document.actual = 0
					@document.save
					flash[:info]="La adecuación ha sido rechazada por consejo de facultad"
					#Carga de Notificaciones y Correos
					notific = Notificacion.new
					notific.instructor_id = plan.instructor_id
					notific.tutor_id = plan.tutor_id
					notific.adecuacion_id = session[:adecuacion_id]
					notific.informe_id = nil
					notific.actual = 1
					person = Persona.where(usuario_id: plan.instructor_id).take
					notificacionfecha = Date.current.to_s 
					notific.mensaje = "[" + notificacionfecha + "] La adecuación de " + person.nombres.to_s.split.map(&:capitalize).join(' ') + " " + person.apellidos.to_s.split.map(&:capitalize).join(' ') + " ha sido rechazada por Consejo de Facultad."
					notific.save
					notific2 = Notificacion.new
					notific2.instructor_id = plan.instructor_id
					notific2.tutor_id = plan.tutor_id
					notific2.adecuacion_id = session[:adecuacion_id]
					notific2.informe_id = nil
					notific2.actual = 2
					notific2.mensaje = "[" + notificacionfecha + "] Su adecuación ha sido rechazada por Consejo de Facultad."
					notific2.save
					remitente3 = Usuario.where(id: adec.tutor_id).take	
					ActionCorreo.envio_adecuacion(remitente3, notific.mensaje,2,linkT,@document).deliver		##CORREO AL TUTOR
					remitente2 = Usuario.where(id: plan.instructor_id).take
					ActionCorreo.envio_adecuacion(remitente2, notific2.mensaje,1,linkI,@document).deliver		##CORREO AL INSTRUCTOR
					#\Carga de Notificaciones y Correos
				elsif bool_observaciones == 1 
					@document = Respaldo.where(adecuacion_id: session[:adecuacion_id], informe_id: nil, actual: 1).take
					@document.estatus = "Aprobado por Consejo de Facultad con Observaciones"
					@document.actual = 0
					@document.save
					flash[:info]="La adecuación ha sido aprobada con observaciones por consejo de facultad"
					#Carga de Notificaciones y Correos
					notific = Notificacion.new
					notific.instructor_id = plan.instructor_id
					notific.tutor_id = plan.tutor_id
					notific.adecuacion_id = session[:adecuacion_id]
					notific.informe_id = nil
					notific.actual = 1
					person = Persona.where(usuario_id: plan.instructor_id).take
					notificacionfecha = Date.current.to_s 
					notific.mensaje = "[" + notificacionfecha + "] La adecuación de " + person.nombres.to_s.split.map(&:capitalize).join(' ') + " " + person.apellidos.to_s.split.map(&:capitalize).join(' ') + " ha sido aprobada con observaciones por Consejo de Facultad."
					notific.save
					notific2 = Notificacion.new
					notific2.instructor_id = plan.instructor_id
					notific2.tutor_id = plan.tutor_id
					notific2.adecuacion_id = session[:adecuacion_id]
					notific2.informe_id = nil
					notific2.actual = 2
					notific2.mensaje = "[" + notificacionfecha + "] Su adecuación ha sido aprobado con observaciones por Consejo de Facultad."
					notific2.save
					remitente3 = Usuario.where(id: adec.tutor_id).take	
					ActionCorreo.envio_adecuacion(remitente3, notific.mensaje,2,linkT,@document).deliver		##CORREO AL TUTOR
					remitente2 = Usuario.where(id: plan.instructor_id).take
					ActionCorreo.envio_adecuacion(remitente2, notific2.mensaje,1,linkI,@document).deliver		##CORREO AL INSTRUCTOR
					#\Carga de Notificaciones y Correos
				else
					@document = Respaldo.where(adecuacion_id: session[:adecuacion_id], informe_id: nil, actual: 1).take
					@document.estatus = "Aprobado por Consejo de Facultad"
					@document.actual = 0
					@document.save
					flash[:info]="La adecuación ha sido aprobado por consejo de facultad"
					#Carga de Notificaciones y Correos
					notific = Notificacion.new
					notific.instructor_id = plan.instructor_id
					notific.tutor_id = plan.tutor_id
					notific.adecuacion_id = session[:adecuacion_id]
					notific.informe_id = nil
					notific.actual = 1
					person = Persona.where(usuario_id: plan.instructor_id).take
					notificacionfecha = Date.current.to_s 
					notific.mensaje = "[" + notificacionfecha + "] ¡Felicitaciones! La adecuación de " + person.nombres.to_s.split.map(&:capitalize).join(' ') + " " + person.apellidos.to_s.split.map(&:capitalize).join(' ') + " ha sido aprobada por Consejo de Facultad."
					notific.save
					notific2 = Notificacion.new
					notific2.instructor_id = plan.instructor_id
					notific2.tutor_id = plan.tutor_id
					notific2.adecuacion_id = session[:adecuacion_id]
					notific2.informe_id = nil
					notific2.actual = 2
					notific2.mensaje = "[" + notificacionfecha + "] ¡Felicitaciones! Su adecuación ha sido aprobada por Consejo de Facultad."
					notific2.save	
					remitente3 = Usuario.where(id: adec.tutor_id).take	
					ActionCorreo.envio_adecuacion(remitente3, notific.mensaje,2,linkT,@document).deliver		##CORREO AL TUTOR
					remitente2 = Usuario.where(id: plan.instructor_id).take
					ActionCorreo.envio_adecuacion(remitente2, notific2.mensaje,1,linkI,@document).deliver		##CORREO AL INSTRUCTOR
					#\Carga de Notificaciones y Correos
				end
				adac = AdecuacionActividad.where(adecuacion_id: @adecuacion_id).all
				adac.each do |adaa|
					oa = ObservacionActividadAdecuacion.where(adecuacionactividad_id: adaa.id, actual: 1).all
					oa.each do |oaa|
						oaa.fecha = Time.now 
						oaa.actual = 0
						oaa.save
					end
				end
			end	
			redirect_to controller:"inicioentidad", action: "listar_adecuaciones"
		else
			flash[:info]="Seleccione una adecuación primero"
			redirect_to controller:"inicioentidad", action: "listar_adecuaciones"
		end
	end 

	def borrar_notificaciones #Funcion para borrar las notificaciones
		if session[:usuario_id] && session[:entidad] == true
			@noti= params[:noti]
			@cjpTipo=Usuario.find(session[:usuario_id]).tipo
    		notaeliminar = Notificacion.where(id: @noti ).take
    		if notaeliminar.blank?
    			flash[:danger] = "Ha ocurrido un error al eliminar (notificacion no existente)"
    		else
    			notaeliminar.destroy
    		end
			redirect_to controller:"inicioentidad", action: "index"
		else
			redirect_to controller:"forminst", action: "index"
		end
	end

	def destroyNotifications
		@post = Notificacion.find(params[:id])
		respond_to do |format|
			if @post.destroy
				format.html { redirect_to :back }
			else
				flash[:notice] = "Post failed to delete."
				format.html { redirect_to :back }
			end
		end
	end
end<file_sep>/forminst_new1/app/controllers/documentoinformes_controller.rb
class DocumentoinformesController < ApplicationController
  before_action :set_documentoinforme, only: [:show, :edit, :update, :destroy]

  # GET /documentoinformes
  # GET /documentoinformes.json
  def index
    @documentoinformes = Documentoinforme.all
  end

  # GET /documentoinformes/1
  # GET /documentoinformes/1.json
  def show
  end

  # GET /documentoinformes/new
  def new
    @documentoinforme = Documentoinforme.new
  end

  # GET /documentoinformes/1/edit
  def edit
  end

  # POST /documentoinformes
  # POST /documentoinformes.json
  def create
    @documentoinforme = Documentoinforme.new(documentoinforme_params)

    respond_to do |format|
      if @documentoinforme.save
        format.html { redirect_to @documentoinforme, notice: 'Documentoinforme was successfully created.' }
        format.json { render :show, status: :created, location: @documentoinforme }
      else
        format.html { render :new }
        format.json { render json: @documentoinforme.errors, status: :unprocessable_entity }
      end
    end
  end

  # PATCH/PUT /documentoinformes/1
  # PATCH/PUT /documentoinformes/1.json
  def update
    respond_to do |format|
      if @documentoinforme.update(documentoinforme_params)
        format.html { redirect_to @documentoinforme, notice: 'Documentoinforme was successfully updated.' }
        format.json { render :show, status: :ok, location: @documentoinforme }
      else
        format.html { render :edit }
        format.json { render json: @documentoinforme.errors, status: :unprocessable_entity }
      end
    end
  end

  # DELETE /documentoinformes/1
  # DELETE /documentoinformes/1.json
  def destroy
    @documentoinforme.destroy
    respond_to do |format|
      format.html { redirect_to documentoinformes_url, notice: 'Documentoinforme was successfully destroyed.' }
      format.json { head :no_content }
    end
  end

  private
    # Use callbacks to share common setup or constraints between actions.
    def set_documentoinforme
      @documentoinforme = Documentoinforme.find(params[:id])
    end

    # Never trust parameters from the scary internet, only allow the white list through.
    def documentoinforme_params
      params.require(:documentoinforme).permit(:id, :informeId, :archivo)
    end
end
<file_sep>/forminst_new1/app/models/documento.rb
class Documento < ActiveRecord::Base
	belongs_to :informe_actividad
end<file_sep>/forminst_new1/app/models/planformacion.rb
class Planformacion < ActiveRecord::Base
	belongs_to :usuario
	has_many :adecuacion
	has_many :prorroga
	has_many :informe
	has_many :documento_plan
end<file_sep>/forminst_new1/app/controllers/escuelas_controller.rb
class EscuelasController < ApplicationController
  before_action :set_escuela, only: [:show, :edit, :update, :destroy]

  # GET /escuelas
  # GET /escuelas.json
  def index
    @escuelas = Escuela.all
  end

  # GET /escuelas/1
  # GET /escuelas/1.json
  def show
  end

  # GET /escuelas/new
  def new
    @escuela = Escuela.new
  end

  # GET /escuelas/1/edit
  def edit
  end

  # POST /escuelas
  # POST /escuelas.json
  def create
    @escuela = Escuela.new(escuela_params)

    respond_to do |format|
      if @escuela.save
        format.html { redirect_to @escuela, notice: 'Escuela was successfully created.' }
        format.json { render :show, status: :created, location: @escuela }
      else
        format.html { render :new }
        format.json { render json: @escuela.errors, status: :unprocessable_entity }
      end
    end
  end

  # PATCH/PUT /escuelas/1
  # PATCH/PUT /escuelas/1.json
  def update
    respond_to do |format|
      if @escuela.update(escuela_params)
        format.html { redirect_to @escuela, notice: 'Escuela was successfully updated.' }
        format.json { render :show, status: :ok, location: @escuela }
      else
        format.html { render :edit }
        format.json { render json: @escuela.errors, status: :unprocessable_entity }
      end
    end
  end

  # DELETE /escuelas/1
  # DELETE /escuelas/1.json
  def destroy
    @escuela.destroy
    respond_to do |format|
      format.html { redirect_to escuelas_url, notice: 'Escuela was successfully destroyed.' }
      format.json { head :no_content }
    end
  end

  private
    # Use callbacks to share common setup or constraints between actions.
    def set_escuela
      @escuela = Escuela.find(params[:id])
    end

    # Never trust parameters from the scary internet, only allow the white list through.
    def escuela_params
      params.require(:escuela).permit(:id, :nombre)
    end
end
<file_sep>/forminst_new1/app/views/adecuacions/index.json.jbuilder
json.array!(@adecuacions) do |adecuacion|
  json.extract! adecuacion, :id, :id, :PlanFormacionId, :tutorId
  json.url adecuacion_url(adecuacion, format: :json)
end
<file_sep>/forminst_new1/app/views/documentoinformes/index.json.jbuilder
json.array!(@documentoinformes) do |documentoinforme|
  json.extract! documentoinforme, :id, :id, :informeId, :archivo
  json.url documentoinforme_url(documentoinforme, format: :json)
end
<file_sep>/forminst_new1/app/models/permiso.rb
class Permiso < ActiveRecord::Base
	has_many :permisologium
end<file_sep>/forminst_new1/README.txt
Para las notificaciones, el campo actual significa a donde y/o quien va dirigido esa notificación:
1._ Tutor
2._ Instructor
3._ Comisión de Investigación
4._ Consejo de Escuela
5._ Consejo de Facultad<file_sep>/forminst_new1/app/views/adecuacionactividads/index.json.jbuilder
json.array!(@adecuacionactividads) do |adecuacionactividad|
  json.extract! adecuacionactividad, :id, :id, :adecuacionId, :actividadId, :anulada, :semestre
  json.url adecuacionactividad_url(adecuacionactividad, format: :json)
end
<file_sep>/forminst_new1/app/views/prorrogas/show.json.jbuilder
json.extract! @prorroga, :id, :id, :planFormacionId, :created_at, :updated_at
<file_sep>/forminst_new1/test/controllers/observaciontutors_controller_test.rb
require 'test_helper'

class ObservaciontutorsControllerTest < ActionController::TestCase
  setup do
    @observaciontutor = observaciontutors(:one)
  end

  test "should get index" do
    get :index
    assert_response :success
    assert_not_nil assigns(:observaciontutors)
  end

  test "should get new" do
    get :new
    assert_response :success
  end

  test "should create observaciontutor" do
    assert_difference('Observaciontutor.count') do
      post :create, observaciontutor: { actual: @observaciontutor.actual, fecha: @observaciontutor.fecha, id: @observaciontutor.id, informeActividadId: @observaciontutor.informeActividadId, observacion: @observaciontutor.observacion }
    end

    assert_redirected_to observaciontutor_path(assigns(:observaciontutor))
  end

  test "should show observaciontutor" do
    get :show, id: @observaciontutor
    assert_response :success
  end

  test "should get edit" do
    get :edit, id: @observaciontutor
    assert_response :success
  end

  test "should update observaciontutor" do
    patch :update, id: @observaciontutor, observaciontutor: { actual: @observaciontutor.actual, fecha: @observaciontutor.fecha, id: @observaciontutor.id, informeActividadId: @observaciontutor.informeActividadId, observacion: @observaciontutor.observacion }
    assert_redirected_to observaciontutor_path(assigns(:observaciontutor))
  end

  test "should destroy observaciontutor" do
    assert_difference('Observaciontutor.count', -1) do
      delete :destroy, id: @observaciontutor
    end

    assert_redirected_to observaciontutors_path
  end
end
<file_sep>/forminst_new1/app/views/estatusinformes/index.json.jbuilder
json.array!(@estatusinformes) do |estatusinforme|
  json.extract! estatusinforme, :id, :id, :informeId, :fecha, :estatusId, :actual
  json.url estatusinforme_url(estatusinforme, format: :json)
end
<file_sep>/forminst_new1/app/controllers/documentoplans_controller.rb
class DocumentoplansController < ApplicationController
  before_action :set_documentoplan, only: [:show, :edit, :update, :destroy]

  # GET /documentoplans
  # GET /documentoplans.json
  def index
    @documentoplans = Documentoplan.all
  end

  # GET /documentoplans/1
  # GET /documentoplans/1.json
  def show
  end

  # GET /documentoplans/new
  def new
    @documentoplan = Documentoplan.new
  end

  # GET /documentoplans/1/edit
  def edit
  end

  # POST /documentoplans
  # POST /documentoplans.json
  def create
    @documentoplan = Documentoplan.new(documentoplan_params)

    respond_to do |format|
      if @documentoplan.save
        format.html { redirect_to @documentoplan, notice: 'Documentoplan was successfully created.' }
        format.json { render :show, status: :created, location: @documentoplan }
      else
        format.html { render :new }
        format.json { render json: @documentoplan.errors, status: :unprocessable_entity }
      end
    end
  end

  # PATCH/PUT /documentoplans/1
  # PATCH/PUT /documentoplans/1.json
  def update
    respond_to do |format|
      if @documentoplan.update(documentoplan_params)
        format.html { redirect_to @documentoplan, notice: 'Documentoplan was successfully updated.' }
        format.json { render :show, status: :ok, location: @documentoplan }
      else
        format.html { render :edit }
        format.json { render json: @documentoplan.errors, status: :unprocessable_entity }
      end
    end
  end

  # DELETE /documentoplans/1
  # DELETE /documentoplans/1.json
  def destroy
    @documentoplan.destroy
    respond_to do |format|
      format.html { redirect_to documentoplans_url, notice: 'Documentoplan was successfully destroyed.' }
      format.json { head :no_content }
    end
  end

  private
    # Use callbacks to share common setup or constraints between actions.
    def set_documentoplan
      @documentoplan = Documentoplan.find(params[:id])
    end

    # Never trust parameters from the scary internet, only allow the white list through.
    def documentoplan_params
      params.require(:documentoplan).permit(:id, :planFormacionId, :archivo)
    end
end
<file_sep>/forminst_new1/app/controllers/administrador_controller.rb
class AdministradorController < ApplicationController
	layout 'ly_inicio_entidad'
    def index
		session[:administrador]
		if session[:usuario_id]=="-2552" && session[:administrador] && session[:nombre_usuario]=="Administrador"
		else
			redirect_to controller:"forminst", action: "index"
		end
	end

	def agregar_secretaria
		session[:administrador]
		if session[:usuario_id]=="-2552" && session[:administrador] && session[:nombre_usuario]=="Administrador"

			#Todas las Entidades
			cpentidad = Entidad.all
			cpcontador = 0
			@cpentidades = []
			@cpentidades[cpcontador] = Array.new(2) { |i|  }
			@cpentidades[cpcontador][0] =  "Seleccione una entidad"
			@cpentidades[cpcontador][1] = 0
			cpcontador = cpcontador + 1

			cpentidad.each do |entidad|
				if entidad.nombre != "tutor" && entidad.nombre != "instructor"
					@cpentidades[cpcontador] = Array.new(2) { |i|  }
					@cpentidades[cpcontador][0] =  entidad.nombre
					@cpentidades[cpcontador][1] = entidad.id
					cpcontador = cpcontador + 1
				end
			end

			#Todas las Escuelas
			cpescuela = Escuela.all
			cpcontador = 0
			@cpescuelas = []
			@cpescuelas[cpcontador] = Array.new(2) { |i|  }
			@cpescuelas[cpcontador][0] =  "Seleccione una escuela"
			@cpescuelas[cpcontador][1] = 0
			cpcontador = cpcontador + 1

			cpescuela.each do |escuela|
				if escuela.nombre != "Desconocida"
					@cpescuelas[cpcontador] = Array.new(2) { |i|  }
					@cpescuelas[cpcontador][0] =  escuela.nombre
					@cpescuelas[cpcontador][1] = escuela.id
					cpcontador = cpcontador + 1
				end
			end

		else
			redirect_to controller:"forminst", action: "index"
		end
	end

	def guardar_secretaria
		session[:administrador]
		if session[:usuario_id]=="-2552" && session[:administrador] && session[:nombre_usuario]=="Administrador"
			clave = params[:CI].to_s
			cpusuario = Usuario.new
			cpusuario.user = params[:correo]
			cpusuario.password = <PASSWORD>(<PASSWORD>)
			cpusuario.ldap = 0
			cpusuario.activo = 1
			cpusuario.tipo = "Secretaria"
			cpusuario.email = params[:correo]
			cpusuario.save

			cppersona = Persona.new
			cppersona.usuario_id = cpusuario.id
			cppersona.nombres = params[:Nombre]
			cppersona.apellidos = params[:Apellido]
			cppersona.ci = params[:CI].to_s
			cppersona.save

			cpuentidad = Usuarioentidad.new
			cpuentidad.usuario_id = cpusuario.id
			cpuentidad.entidad_id = params[:jrentidades]
			cpuentidad.id = cpusuario.id
			cpuentidad.escuela_id = params[:jrescuelas]
			cpuentidad.save

			redirect_to controller:"administrador", action: "index"
		else
			redirect_to controller:"forminst", action: "index"
		end
	end

	def seleccionar_entidad
		session[:administrador]
		if session[:usuario_id]=="-2552" && session[:administrador] && session[:nombre_usuario]=="Administrador"

			#Todas las Entidades
			cpentidad = Entidad.all
			cpcontador = 0
			@cpentidades = []
			@cpentidades[cpcontador] = Array.new(2) { |i|  }
			@cpentidades[cpcontador][0] =  "Seleccione una entidad"
			@cpentidades[cpcontador][1] = 0
			cpcontador = cpcontador + 1

			cpentidad.each do |entidad|
				if entidad.nombre != "tutor" && entidad.nombre != "instructor"
					@cpentidades[cpcontador] = Array.new(2) { |i|  }
					@cpentidades[cpcontador][0] =  entidad.nombre
					@cpentidades[cpcontador][1] = entidad.id
					cpcontador = cpcontador + 1
				end
			end

		else
			redirect_to controller:"forminst", action: "index"
		end
	end

	def modificar_email
		session[:administrador]
		if session[:usuario_id]=="-2552" && session[:administrador] && session[:nombre_usuario]=="Administrador"
			@entidadId = params[:jrentidades]
			cjpUsuarios = Usuarioentidad.where(entidad_id: params[:jrentidades])
			cjpUsuarios.each do |uentidad|
				if Usuario.where(id: uentidad.usuario_id).take.tipo == "Institucional"
					$id = uentidad.usuario_id
				end
			end
			@email = Usuario.where(id: $id).take.user

		else
			redirect_to controller:"forminst", action: "index"
		end
	end

	def nuevo_participante
		session[:administrador]
		if session[:usuario_id]=="-2552" && session[:administrador] && session[:nombre_usuario]=="Administrador"
			@entidadId = params[:jrentidades]
		else
			redirect_to controller:"forminst", action: "index"
		end
	end

	def seleccionar_entidad_participante
		session[:administrador]
		if session[:usuario_id]=="-2552" && session[:administrador] && session[:nombre_usuario]=="Administrador"
			#Todas las Entidades
			cpentidad = Entidad.all
			cpcontador = 0
			@cpentidades = []
			@cpentidades[cpcontador] = Array.new(2) { |i|  }
			@cpentidades[cpcontador][0] =  "Seleccione una entidad"
			@cpentidades[cpcontador][1] = 0
			cpcontador = cpcontador + 1

			cpentidad.each do |entidad|
				if entidad.nombre != "tutor" && entidad.nombre != "instructor"
					@cpentidades[cpcontador] = Array.new(2) { |i|  }
					@cpentidades[cpcontador][0] =  entidad.nombre
					@cpentidades[cpcontador][1] = entidad.id
					cpcontador = cpcontador + 1
				end
			end
		else
			redirect_to controller:"forminst", action: "index"
		end
	end

	def guardar_participante
		session[:administrador]
		if session[:usuario_id]=="-2552" && session[:administrador] && session[:nombre_usuario]=="Administrador"
			envio = Aenviar.new
			envio.entidad_id = params[:jrentidades]
			envio.email = params[:email]
			envio.save
			flash[:success]= "Participante guardado con exito"
			redirect_to controller:"administrador", action: "index"
		else
			redirect_to controller:"forminst", action: "index"
		end
	end

	def guardar_email
		session[:administrador]
		if session[:usuario_id]=="-2552" && session[:administrador] && session[:nombre_usuario]=="Administrador"
			
			usuario = Usuario.where(id: $id).take
			usuario.email = params[:email]
			usuario.user = params[:email]
			usuario.save
			redirect_to controller:"administrador", action: "index"
		else
			redirect_to controller:"forminst", action: "index"
		end
	end

	def logout
		reset_session
		redirect_to controller: "forminst", action: "index"
	end
end
<file_sep>/forminst_new1/app/models/actividadejecutada.rb
class Actividadejecutada < ActiveRecord::Base
	belongs_to :informeactividad
end<file_sep>/forminst_new1/app/views/permisologia/index.json.jbuilder
json.array!(@permisologia) do |permisologium|
  json.extract! permisologium, :id, :id, :permisosId, :usuarioId, :attribute, :read, :write
  json.url permisologium_url(permisologium, format: :json)
end
<file_sep>/forminst_new1/app/controllers/secretarias_controller.rb
class SecretariasController < ApplicationController
	require 'digest/sha1'
	layout 'ly_inicio_entidad'
	def index
		$modulo = "index"

		if session[:usuario_id]			
			@nombre = session[:nombre_usuario]
		else
			redirect_to controller:"forminst", action: "index"
		end
	end

	def agregarTutor
		if session[:usuario_id]

			if $modulo != "agregarTutor"
				$cpnombre = nil
				$cpapellido = nil
				$cpci = nil
				$cpcorreo = nil
				$cptlf = nil
				$cpotlf = nil
				$cpfechanac = nil
				$cpdir = nil
				$cpgradoi = nil
				$cparea = nil
				$cpsubarea = nil
				$cpfechaconcurso = nil
				$cpjrtutores = nil
				$cpuad = nil
				$cpuai = nil
			end

			cpSecretariaID = session[:usuario_id]
			cpSecretaria = Usuarioentidad.where(usuario_id: cpSecretariaID).take
			cpSecretariaEscuela = cpSecretaria.escuela_id
			uentidad = Departamento.where(escuela_id: cpSecretariaEscuela)
			cpcontador = 0
			@departamentos = []
			@departamentos[cpcontador] = Array.new(2) { |i|  }
			@departamentos[cpcontador][0] =  "Seleccione un Departamento"
			@departamentos[cpcontador][1] = 0
			cpcontador = cpcontador + 1

			uentidad.each do |usuarioentidad|
				@departamentos[cpcontador] = Array.new(2) { |i|  }
				@departamentos[cpcontador][0] = usuarioentidad.nombre
				@departamentos[cpcontador][1] = usuarioentidad.id
				cpcontador = cpcontador + 1
			end

			$modulo = "agregarTutor"

			@nombre = session[:nombre_usuario]
			@personas = Persona.all
			session[:personas] = @personas.as_json(only: [:usuario_id, :nombres, :apellidos])
		else
			redirect_to controller:"forminst", action: "index"
		end
	end

	def guarda_tutor
		if session[:usuario_id]	

			haceralgo = "Si"

			cjprpersonas = Persona.where(ci: params[:CI]).take
			if !cjprpersonas.blank?
				haceralgo = "No"
			end

			cjprpersonas = Usuario.where(email: params[:correo]).take
			if !cjprpersonas.blank?
				haceralgo = "No"
			end

			cjprpersonas = Usuario.where(user: params[:correo]).take
			if !cjprpersonas.blank?
				haceralgo = "No"
			end
			
			if haceralgo == "Si"
			
				if params[:depto].to_i != 0
					cpSecretariaID = session[:usuario_id]
					cpSecretaria = Usuarioentidad.where(usuario_id: cpSecretariaID).take
					cpSecretariaEscuela = cpSecretaria.escuela_id

					cpusuario = Usuario.new
					cpusuario.user = params[:correo].to_s
					cpusuario.password = <PASSWORD>(params[:CI])
					cpusuario.ldap = 1
					cpusuario.activo = 1
					cpusuario.tipo = "Docente"
					cpusuario.email = params[:correo].to_s
					cpusuario.save

					cppersona = Persona.new
					cppersona.usuario_id = cpusuario.id
					cppersona.nombres = params[:Nombre].to_s
					cppersona.apellidos = params[:Apellido].to_s
					cppersona.fecha_nacimiento = params[:FechaNac].to_s
					cppersona.ci = params[:CI].to_s
					cppersona.telefono1 = params[:Tlf].to_s
					cppersona.telefono2 = params[:OTlf].to_s
					cppersona.direccion = params[:Dir].to_s
					cppersona.grado_instruccion = params[:GradoI].to_s
					cppersona.area = params[:Area].to_s
					cppersona.subarea = params[:Subarea].to_s
					cppersona.save

					cpuentidad = Usuarioentidad.new
					cpuentidad.usuario_id = cpusuario.id
					cpuentidad.entidad_id = 18
					cpuentidad.id = cpusuario.id
					cpuentidad.escuela_id = cpSecretariaEscuela
					cpuentidad.departamento_id = params[:depto].to_i
					cpuentidad.save

					notific = Notificacion.new
			        notific.instructor_id = nil
			        notific.tutor_id = cpusuario.id
			        notific.adecuacion_id = nil
			        notific.informe_id = nil
			        notific.actual = 1
			        notificacionfecha = Date.current.to_s 
		        	notific.mensaje = "[" + notificacionfecha + "] ¡Bienvenido a FORMINST! Se ha creado su perfil de Tutor."
		        	notific.save
					remitente3 = Usuario.where(id: notific.tutor_id).take
					ActionCorreo.creacion_de_tutor(remitente3, notific.mensaje).deliver
		        	flash[:success] = "Se ha creado el tutor " + cppersona.nombres.to_s.split.map(&:capitalize).join(' ') + " " + cppersona.apellidos.to_s.split.map(&:capitalize).join(' ') + " de manera exitosa"
					redirect_to controller:"secretarias", action: "index"
				else
					$cpnombre = params[:Nombre]
					$cpapellido =params[:Apellido]
					$cpci = params[:CI]
					$cpcorreo = params[:correo]
					$cptlf = params[:Tlf]
					$cpotlf = params[:OTlf]
					$cpfechanac = params[:FechaNac]
					$cpdir = params[:Dir]
					$cpgradoi = params[:GradoI]
					$cparea = params[:Area]
					$cpsubarea = params[:Subarea]

					flash[:danger] = "Debe selecionar un departamento"
					redirect_to :back
				end
			else
				$cpnombre = params[:Nombre]
				$cpapellido =params[:Apellido]
				$cpci = params[:CI]
				$cpcorreo = params[:correo]
				$cptlf = params[:Tlf]
				$cpotlf = params[:OTlf]
				$cpfechanac = params[:FechaNac]
				$cpdir = params[:Dir]
				$cpgradoi = params[:GradoI]
				$cparea = params[:Area]
				$cpsubarea = params[:Subarea]

				flash[:danger] = "La cedula de identidad o el correo ya existe"
				redirect_to :back
			end
		else
			redirect_to controller:"forminst", action: "index"
		end
	end

	def agregarInstructor
		if session[:usuario_id]	

			if $modulo != "agregarInstructor"
				$cpnombre = nil
				$cpapellido = nil
				$cpci = nil
				$cpcorreo = nil
				$cptlf = nil
				$cpotlf = nil
				$cpfechanac = nil
				$cpdir = nil
				$cpgradoi = nil
				$cparea = nil
				$cpsubarea = nil
				$cpfechaconcurso = nil
				$cpjrtutores = nil
				$cpuad = nil
				$cpuai = nil
			end

			$modulo = "agregarInstructor"
				
			i = 1
			j = 1
			nombre = "hola"
			cpid = 1

			@nombre = session[:nombre_usuario]
			@personas = Persona.all
			session[:personas] = @personas.as_json(only: [:usuario_id, :nombres, :apellidos])
			cpSecretariaID = session[:usuario_id]
			cpSecretaria = Usuarioentidad.where(usuario_id: cpSecretariaID).take
			cpSecretariaEscuela = cpSecretaria.escuela_id

			deptos = Departamento.where(escuela_id: cpSecretariaEscuela)
			cpcontador1 = 0
			@departamentos = []
			@departamentos[cpcontador1] = Array.new(2) { |i|  }
			@departamentos[cpcontador1][0] =  "Seleccione un Departamento"
			@departamentos[cpcontador1][1] = 0
			cpcontador1 = cpcontador1 + 1

			deptos.each do |usuarioentidad|
				@departamentos[cpcontador1] = Array.new(2) { |i|  }
				@departamentos[cpcontador1][0] = usuarioentidad.nombre
				@departamentos[cpcontador1][1] = usuarioentidad.id
				cpcontador1 = cpcontador1 + 1
			end

			uentidad = Usuarioentidad.where(escuela_id: cpSecretariaEscuela, entidad_id: 18)
			cpcontador = 0
			cpaux = ['var1', 0]
			@cptutores = []
			@cptutores[cpcontador] = Array.new(2) { |i|  }
			@cptutores[cpcontador][0] =  "Seleccione un tutor"
			@cptutores[cpcontador][1] = 0
			cpcontador = cpcontador + 1

			uentidad.each do |usuarioentidad|
				cppersona = Persona.find_by usuario_id: usuarioentidad.usuario_id
				@cptutores[cpcontador] = Array.new(2) { |i|  }
				@cptutores[cpcontador][0] = cppersona.nombres.to_s.split.map(&:capitalize).join(' ') + " " + cppersona.apellidos.to_s.split.map(&:capitalize).join(' ')
				@cptutores[cpcontador][1] = usuarioentidad.usuario_id
				cpcontador = cpcontador + 1
			end

			

			while i < cpcontador  do
				nombre = @cptutores[i][0]
				cpid = @cptutores[i][1]
				j = i + 1
				while j < cpcontador  do

					if @cptutores[j][0] < nombre
						@cptutores[i][0] = @cptutores[j][0]
						@cptutores[i][1] = @cptutores[j][1]
						@cptutores[j][0] = nombre
						@cptutores[j][1] = cpid
						nombre = @cptutores[i][0]
						cpid = @cptutores[i][1]
					end
	
					j +=1
				end
				i +=1
			end


		else
			redirect_to controller:"forminst", action: "index"
		end
	end

	def guarda_instructor
		if session[:usuario_id]	

			haceralgo = "Si"
				
			i = 1
			j = 1
			nombre = "hola"
			cpid = 1

			cjprpersonas = Persona.where(ci: params[:CI]).take
			if !cjprpersonas.blank?
				haceralgo = "No"
			end

			cjprpersonas = Usuario.where(email: params[:correo]).take
			if !cjprpersonas.blank?
				haceralgo = "No"
			end

			cjprpersonas = Usuario.where(user: params[:correo]).take
			if !cjprpersonas.blank?
				haceralgo = "No"
			end

			
			if haceralgo == "Si"	
				if params[:JRTutores].to_s != "0" && params[:depto].to_i != 0
					profenti = Usuarioentidad.where(usuario_id: params[:JRTutores]).take
					if profenti.departamento_id == params[:depto].to_i
						cpelAno = params[:FechaConcurso][0..3]
						cpanoIncrementado = cpelAno.to_i + 2
						cpGuardar = cpanoIncrementado.to_s + params[:FechaConcurso][4..params[:FechaConcurso].mb_chars.length]

						cpSecretariaID = session[:usuario_id]
						cpSecretaria = Usuarioentidad.where(usuario_id: cpSecretariaID).take
						cpSecretariaEscuela = cpSecretaria.escuela_id

						cpusuario = Usuario.new
						cpusuario.user = params[:correo]
						cpusuario.password = Digest::SHA1.hexdigest(params[:CI])
						cpusuario.ldap = 1
						cpusuario.activo = 1
						cpusuario.tipo = "Docente"
						cpusuario.email = params[:correo]
						cpusuario.save

						cppersona = Persona.new
						cppersona.usuario_id = cpusuario.id
						cppersona.nombres = params[:Nombre]
						cppersona.apellidos = params[:Apellido]
						cppersona.fecha_nacimiento = params[:FechaNac]
						cppersona.ci = params[:CI].to_s
						cppersona.telefono1 = params[:Tlf]
						cppersona.telefono2 = params[:OTlf]
						cppersona.direccion = params[:Dir]
						cppersona.grado_instruccion = params[:GradoI]
						cppersona.area = params[:Area]
						cppersona.subarea = params[:Subarea]
						cppersona.save

						cpuentidad = Usuarioentidad.new
						cpuentidad.usuario_id = cpusuario.id
						cpuentidad.entidad_id = 19
						cpuentidad.id = cpusuario.id
						cpuentidad.escuela_id = cpSecretariaEscuela
						cpuentidad.departamento_id = params[:depto].to_i
						cpuentidad.save

						cpplanformacion = Planformacion.new
						cpplanformacion.fecha_inicio = params[:FechaConcurso]
						cpplanformacion.fecha_fin = cpGuardar
						cpplanformacion.activo = 1
						cpplanformacion.instructor_id = cpusuario.id
						cpplanformacion.tutor_id = params[:JRTutores]
						cpplanformacion.adscripcion_docencia = params[:UAD]
						cpplanformacion.adscripcion_investigacion = params[:UAI]
						cpplanformacion.save

						cpAdecuacion = Adecuacion.new
						cpAdecuacion.planformacion_id = cpplanformacion.id
						cpAdecuacion.tutor_id = cpplanformacion.tutor_id
						cpAdecuacion.fecha_creacion = cpplanformacion.fecha_inicio
						cpAdecuacion.fecha_modificacion = cpplanformacion.fecha_inicio
						cpAdecuacion.save

						cpEstatus_Adecuacion = EstatusAdecuacion.new
						cpEstatus_Adecuacion.adecuacion_id = cpAdecuacion.id
						cpEstatus_Adecuacion.fecha = Date.current.to_s
						cpEstatus_Adecuacion.estatus_id = 6
						cpEstatus_Adecuacion.actual = 1
						cpEstatus_Adecuacion.save

						cpinstructortutor = Instructortutor.where(instructor_id: cpplanformacion.instructor_id, tutor_id: params[:JRTutores]).take
						if cpinstructortutor.blank?
							cpinstructortutor = Instructortutor.new
							cpinstructortutor.tutor_id = params[:JRTutores]
							cpinstructortutor.instructor_id = cpplanformacion.instructor_id
							cpinstructortutor.actual = 1
							cpinstructortutor.fecha_inicio = params[:FechaConcurso]
						else
							cpinstructortutor.actual = 1
						end
						cpinstructortutor.save
						notific = Notificacion.new
				        notific.instructor_id = cpusuario.id
				        notific.tutor_id = params[:JRTutores]
				        profe = Persona.where(usuario_id: params[:JRTutores]).take
				        adecc = Adecuacion.where(planformacion_id: cpAdecuacion.planformacion_id).take
				        plan = Planformacion.where(id: cpAdecuacion.planformacion_id).take
				        notific.adecuacion_id = adecc.id
				        notific.informe_id = nil
				        notific.actual = 1
				        notificacionfecha = Date.current.to_s 
			        	notific.mensaje = "[" + notificacionfecha + "] Se le ha asignado el Plan formación de " + cppersona.nombres.to_s.split.map(&:capitalize).join(' ') + " " + cppersona.apellidos.to_s.split.map(&:capitalize).join(' ') + ", recuerde crear la adecuación correspondiente y enviarla."
			        	notific.save
			        	notific2 = Notificacion.new
				        notific2.instructor_id = cpusuario.id
				        notific2.tutor_id = params[:JRTutores]
				        notific2.adecuacion_id = adecc.id
				        notific2.informe_id = nil
				        notific2.actual = 2
				        notificacionfecha = Date.current.to_s 
			        	notific2.mensaje = "[" + notificacionfecha + "] ¡Bienvenido a FORMINST! Se le ha asignado a  " + profe.nombres.to_s.split.map(&:capitalize).join(' ') + " " + profe.apellidos.to_s.split.map(&:capitalize).join(' ') + " como tutor de su Plan de formación."
			        	notific2.save
			        	linkT = "http://formacion.ciens.ucv.ve/forminst?accion=mostrar adecuacion&param1=" + cpAdecuacion.planformacion_id.to_s + "&param2=no"
			        	linkI = "http://formacion.ciens.ucv.ve/forminst?accion=mostrar adecuacion"
						remitente3 = Usuario.where(id: notific.tutor_id).take
						ActionCorreo.creacion_de_instructor(remitente3, notific.mensaje,1,linkT).deliver
						remitente2 = Usuario.where(id: plan.instructor_id).take
						ActionCorreo.creacion_de_instructor(remitente2, notific2.mensaje,0,linkI).deliver
			        	flash[:success] = "Se ha creado el instructor " + cppersona.nombres.to_s.split.map(&:capitalize).join(' ') + " " + cppersona.apellidos.to_s.split.map(&:capitalize).join(' ') + " de manera exitosa"
						redirect_to controller:"secretarias", action: "index"
					else

						$cpnombre = params[:Nombre]
						$cpapellido =params[:Apellido]
						$cpci = params[:CI]
						$cpcorreo = params[:correo]
						$cptlf = params[:Tlf]
						$cpotlf = params[:OTlf]
						$cpfechanac = params[:FechaNac]
						$cpdir = params[:Dir]
						$cpgradoi = params[:GradoI]
						$cparea = params[:Area]
						$cpsubarea = params[:Subarea]
						$cpfechaconcurso = params[:FechaConcurso]
						$cpjrtutores = params[:JRTutores]
						$cpuad = params[:UAD]
						$cpuai = params[:UAI]
						flash[:danger] = "El tutor debe pertenecer al mismo departamento del instructor"
						redirect_to :back

					end
				else

					$cpnombre = params[:Nombre]
					$cpapellido =params[:Apellido]
					$cpci = params[:CI]
					$cpcorreo = params[:correo]
					$cptlf = params[:Tlf]
					$cpotlf = params[:OTlf]
					$cpfechanac = params[:FechaNac]
					$cpdir = params[:Dir]
					$cpgradoi = params[:GradoI]
					$cparea = params[:Area]
					$cpsubarea = params[:Subarea]
					$cpfechaconcurso = params[:FechaConcurso]
					$cpjrtutores = params[:JRTutores]
					$cpuad = params[:UAD]
					$cpuai = params[:UAI]
					flash[:danger] = "Seleccione Departamento y Tutor"
					redirect_to :back

				end

			else


				$cpnombre = params[:Nombre]
				$cpapellido =params[:Apellido]
				$cpci = params[:CI]
				$cpcorreo = params[:correo]
				$cptlf = params[:Tlf]
				$cpotlf = params[:OTlf]
				$cpfechanac = params[:FechaNac]
				$cpdir = params[:Dir]
				$cpgradoi = params[:GradoI]
				$cparea = params[:Area]
				$cpsubarea = params[:Subarea]
				$cpfechaconcurso = params[:FechaConcurso]
				$cpjrtutores = params[:JRTutores]
				$cpuad = params[:UAD]
				$cpuai = params[:UAI]
				flash[:danger] = "La cedula de identidad o el correo ya existe"
				redirect_to :back

			end

		else
			redirect_to controller:"forminst", action: "index"
		end
	end

	def modificarInstructor
		if session[:usuario_id]	
				
			if $modulo != "modificarInstructor"
				$cpnombre = nil
				$cpapellido = nil
				$cpci = nil
				$cpcorreo = nil
				$cptlf = nil
				$cpotlf = nil
				$cpfechanac = nil
				$cpdir = nil
				$cpgradoi = nil
				$cparea = nil
				$cpsubarea = nil
				$cpfechaconcurso = nil
				$cpjrtutores = nil
				$cpuad = nil
				$cpuai = nil
			end
			@ver = params[:ver]
			$modulo = "modificarInstructor"

			i = 1
			j = 1
			nombre = "hola"
			cpid = 1
			@nombre = session[:nombre_usuario]
			@personas = Persona.all
			session[:personas] = @personas.as_json(only: [:usuario_id, :nombres, :apellidos])
			cpSecretariaID = session[:usuario_id]
			cpSecretaria = Usuarioentidad.where(usuario_id: cpSecretariaID).take
			cpSecretariaEscuela = cpSecretaria.escuela_id

			uentidad = Usuarioentidad.where(escuela_id: cpSecretariaEscuela, entidad_id: 19)
			cpcontador = 0
			cpaux = ['var1', 0]
			@cptutores = []
			@cptutores[cpcontador] = Array.new(2) { |i|  }
			@cptutores[cpcontador][0] =  "Seleccione un instructor"
			@cptutores[cpcontador][1] = 0
			cpcontador = cpcontador + 1

			uentidad.each do |usuarioentidad|
				cppersona = Persona.find_by usuario_id: usuarioentidad.usuario_id
				@cptutores[cpcontador] = Array.new(2) { |i|  }
				@cptutores[cpcontador][0] =  cppersona.nombres.to_s.split.map(&:capitalize).join(' ') + " " + cppersona.apellidos.to_s.split.map(&:capitalize).join(' ')
				@cptutores[cpcontador][1] = usuarioentidad.usuario_id
				cpcontador = cpcontador + 1
			end

			

			while i < cpcontador  do
				nombre = @cptutores[i][0]
				cpid = @cptutores[i][1]
				j = i + 1
				while j < cpcontador  do

					if @cptutores[j][0] < nombre
						@cptutores[i][0] = @cptutores[j][0]
						@cptutores[i][1] = @cptutores[j][1]
						@cptutores[j][0] = nombre
						@cptutores[j][1] = cpid
						nombre = @cptutores[i][0]
						cpid = @cptutores[i][1]
					end
	
					j +=1
				end
				i +=1
			end



		else
			redirect_to controller:"forminst", action: "index"
		end
	end


	def modificarInstructor2
		if session[:usuario_id]

			if params[:JRTutores].to_s != "0"

				$id_tutor_seleccionado = params[:JRTutores]
				cppersona = Persona.find_by usuario_id: params[:JRTutores]
				cpusuario = Usuario.find_by id: params[:JRTutores]
				cpuentidad = Usuarioentidad.find_by usuario_id: params[:JRTutores]
				cpplanformacion = Planformacion.find_by instructor_id: params[:JRTutores]
				@ver = params[:ver]

				i = 1
				j = 1
				nombre = "hola"
				cpid = 1

				@nombre = session[:nombre_usuario]
				@personas = Persona.all
				session[:personas] = @personas.as_json(only: [:usuario_id, :nombres, :apellidos])
				cpSecretariaID = session[:usuario_id]
				cpSecretaria = Usuarioentidad.where(usuario_id: cpSecretariaID).take
				cpSecretariaEscuela = cpSecretaria.escuela_id

				uentidad = Usuarioentidad.where(escuela_id: cpSecretariaEscuela, entidad_id: 18)
				cpcontador = 0
				cpaux = ['var1', 0]
				@cptutores = []
				@cptutores[cpcontador] = Array.new(2) { |i|  }
				@cptutores[cpcontador][0] =  "Seleccione un tutor"
				@cptutores[cpcontador][1] = 0
				cpcontador = cpcontador + 1

				uentidad.each do |usuarioentidad|
					if usuarioentidad.usuario_id != cpplanformacion.tutor_id
						ccppersona = Persona.find_by usuario_id: usuarioentidad.usuario_id
						@cptutores[cpcontador] = Array.new(2) { |i|  }
						@cptutores[cpcontador][0] =  ccppersona.nombres
						@cptutores[cpcontador][1] = usuarioentidad.usuario_id
						cpcontador = cpcontador + 1
					end
				end

				#informacion
				@tutoreDeInstructor = Persona.where(usuario_id: cpplanformacion.tutor_id).take
				@tutoreDeInstructorUsu = Usuario.where(id: cpplanformacion.tutor_id).take

				

				while i < cpcontador  do
					nombre = @cptutores[i][0]
					cpid = @cptutores[i][1]
					j = i + 1
					while j < cpcontador  do

						if @cptutores[j][0] < nombre
							@cptutores[i][0] = @cptutores[j][0]
							@cptutores[i][1] = @cptutores[j][1]
							@cptutores[j][0] = nombre
							@cptutores[j][1] = cpid
							nombre = @cptutores[i][0]
							cpid = @cptutores[i][1]
						end
		
						j +=1
					end
					i +=1
				end

				$cpnombre = cppersona.nombres
				$cpapellido = cppersona.apellidos
				$cpci = cppersona.ci
				$cpcifija = cppersona.ci
				$cpcorreofijo = cpusuario.email
				$cpcorreo = cpusuario.email
				$cptlf = cppersona.telefono1
				$cpotlf = cppersona.telefono2
				$cpfechanac = cppersona.fecha_nacimiento
				$cpdir = cppersona.direccion
				$cpgradoi = cppersona.grado_instruccion
				$cparea = cppersona.area
				$cpsubarea = cppersona.subarea
				$cpfechaconcurso = cpplanformacion.fecha_inicio
				$cpuad = cpplanformacion.adscripcion_docencia
				$cpuai = cpplanformacion.adscripcion_investigacion


			else

				flash[:danger] = "Seleccione un Instructor"
				redirect_to :back

			end

		else
			redirect_to controller:"forminst", action: "index"
		end
	end


	def guarda_instructor_modificado
		if session[:usuario_id]	


			haceralgo = "Si"
				
			i = 1
			j = 1
			nombre = "hola"
			cpid = 1

			if $cpcifija.to_s != params[:CI].to_s
				cjprpersonas = Persona.where(ci: params[:CI]).take
				if !cjprpersonas.blank?
					haceralgo = "No"
				end
			end

			if $cpcorreofijo.to_s != params[:correo].to_s
				cjprpersonas = Usuario.where(email: params[:correo]).take
				if !cjprpersonas.blank?
					haceralgo = "No"
				end

				cjprpersonas = Usuario.where(user: params[:correo]).take
				if !cjprpersonas.blank?
					haceralgo = "No"
				end
			end

			
			if haceralgo == "Si"

				cpusuario = Usuario.find_by id: $id_tutor_seleccionado
				cpusuario.user = params[:correo].to_s
				cpusuario.password = params[:CI].to_s
				cpusuario.email = params[:correo].to_s
				cpusuario.save

				cppersona = Persona.find_by usuario_id: $id_tutor_seleccionado
				cppersona.nombres = params[:Nombre].to_s
				cppersona.apellidos = params[:Apellido].to_s
				cppersona.fecha_nacimiento = params[:FechaNac].to_s
				cppersona.ci = params[:CI].to_s
				cppersona.telefono1 = params[:Tlf].to_s
				cppersona.telefono2 = params[:OTlf].to_s
				cppersona.direccion = params[:Dir].to_s
				cppersona.grado_instruccion = params[:GradoI].to_s
				cppersona.area = params[:Area].to_s
				cppersona.subarea = params[:Subarea].to_s
				cppersona.save

				cpuentidad = Usuarioentidad.find_by usuario_id: $id_tutor_seleccionado
				cpuentidad.usuario_id = cpusuario.id
				cpuentidad.id = cpusuario.id
				cpuentidad.save

				cpplanformacion = Planformacion.find_by instructor_id: $id_tutor_seleccionado
				cpplanformacion.fecha_inicio = params[:FechaConcurso]
				cpplanformacion.adscripcion_docencia = params[:UAD]
				cpplanformacion.adscripcion_investigacion = params[:UAI]
				if params[:JRTutores].to_s != "0"

						cpinstructortutor = Instructortutor.where(instructor_id: cpplanformacion.instructor_id, tutor_id: cpplanformacion.tutor_id).take

						cpinstructortutor.actual = 0
						cpinstructortutor.fecha_fin = Time.now.strftime("%Y") + "-" + Time.now.strftime("%m") + "-" + Time.now.strftime("%d")
						cpinstructortutor.save

						cpinstructortutor = Instructortutor.where(instructor_id: cpplanformacion.instructor_id, tutor_id: params[:JRTutores]).take
						if cpinstructortutor.blank?
							cpinstructortutor = Instructortutor.new
							cpinstructortutor.tutor_id = params[:JRTutores]
							cpinstructortutor.instructor_id = cpplanformacion.instructor_id
							cpinstructortutor.actual = 1
							cpinstructortutor.fecha_inicio = Time.now.strftime("%Y") + "-" + Time.now.strftime("%m") + "-" + Time.now.strftime("%d")
							cpplanformacion.tutor_id = params[:JRTutores]
						else
							cpinstructortutor.actual = 1
							cpplanformacion.tutor_id = params[:JRTutores]
						end
						cpinstructortutor.save

						pacjadecuacion = Adecuacion.where(planformacion_id: cpplanformacion.id).take
						pacjadecuacion.tutor_id = params[:JRTutores]
						pacjadecuacion.save

				end
				cpplanformacion.save

				cpAdecuacion = Adecuacion.find_by planformacion_id: cpplanformacion.id
				cpAdecuacion.fecha_creacion = cpplanformacion.fecha_inicio
				cpAdecuacion.save

				redirect_to controller:"secretarias", action: "index"

			else
			$cpnombre = params[:Nombre]
			$cpapellido =params[:Apellido]
			$cpci = params[:CI]
			$cpcorreo = params[:correo]
			$cptlf = params[:Tlf]
			$cpotlf = params[:OTlf]
			$cpfechanac = params[:FechaNac]
			$cpdir = params[:Dir]
			$cpgradoi = params[:GradoI]
			$cparea = params[:Area]
			$cpsubarea = params[:Subarea]

			flash[:danger] = "La cedula de identidad ya existe"
			redirect_to :back

			end

		else
			redirect_to controller:"forminst", action: "index"
		end
	end



	def modificarTutor
		if session[:usuario_id]	

			if $modulo != "modificarTutor"
				$cpnombre = nil
				$cpapellido = nil
				$cpci = nil
				$cpcorreo = nil
				$cptlf = nil
				$cpotlf = nil
				$cpfechanac = nil
				$cpdir = nil
				$cpgradoi = nil
				$cparea = nil
				$cpsubarea = nil
				$cpfechaconcurso = nil
				$cpjrtutores = nil
				$cpuad = nil
				$cpuai = nil
			end
			@ver = params[:ver]
			$modulo = "modificarTutor"
				
			i = 1
			j = 1
			nombre = "hola"
			cpid = 1
			@nombre = session[:nombre_usuario]
			@personas = Persona.all
			session[:personas] = @personas.as_json(only: [:usuario_id, :nombres, :apellidos])
			cpSecretariaID = session[:usuario_id]
			cpSecretaria = Usuarioentidad.where(usuario_id: cpSecretariaID).take
			cpSecretariaEscuela = cpSecretaria.escuela_id

			uentidad = Usuarioentidad.where(escuela_id: cpSecretariaEscuela, entidad_id: 18)
			cpcontador = 0
			cpaux = ['var1', 0]
			@cptutores = []
			@cptutores[cpcontador] = Array.new(2) { |i|  }
			@cptutores[cpcontador][0] =  "Seleccione un tutor"
			@cptutores[cpcontador][1] = 0
			cpcontador = cpcontador + 1

			uentidad.each do |usuarioentidad|
				cppersona = Persona.find_by usuario_id: usuarioentidad.usuario_id
				@cptutores[cpcontador] = Array.new(2) { |i|  }
				@cptutores[cpcontador][0] =  cppersona.nombres.to_s.split.map(&:capitalize).join(' ') + " " + cppersona.apellidos.to_s.split.map(&:capitalize).join(' ')
				@cptutores[cpcontador][1] = usuarioentidad.usuario_id
				cpcontador = cpcontador + 1
			end

			

			while i < cpcontador  do
				nombre = @cptutores[i][0]
				cpid = @cptutores[i][1]
				j = i + 1
				while j < cpcontador  do

					if @cptutores[j][0] < nombre
						@cptutores[i][0] = @cptutores[j][0]
						@cptutores[i][1] = @cptutores[j][1]
						@cptutores[j][0] = nombre
						@cptutores[j][1] = cpid
						nombre = @cptutores[i][0]
						cpid = @cptutores[i][1]
					end
	
					j +=1
				end
				i +=1
			end

		else
			redirect_to controller:"forminst", action: "index"
		end
	end

	def modificarTutor2
		if session[:usuario_id]

			if params[:JRTutores].to_s != "0"

				$id_tutor_seleccionado = params[:JRTutores].to_s
				cppersona = Persona.find_by usuario_id: params[:JRTutores].to_s
				cpusuario = Usuario.find_by id: params[:JRTutores].to_s
				cpuentidad = Usuarioentidad.find_by usuario_id: params[:JRTutores].to_s
				@ver = params[:ver]

				$cpnombre = cppersona.nombres
				$cpapellido = cppersona.apellidos
				$cpci = cppersona.ci
				$cpcifija = cppersona.ci
				$cpcorreo = cpusuario.email
				$cpcorreofijo = cpusuario.email
				$cptlf = cppersona.telefono1
				$cpotlf = cppersona.telefono2
				$cpfechanac = cppersona.fecha_nacimiento
				$cpdir = cppersona.direccion
				$cpgradoi = cppersona.grado_instruccion
				$cparea = cppersona.area
				$cpsubarea = cppersona.subarea

			else

				flash[:danger] = "Seleccione un Tutor"
				redirect_to :back

			end


		else
			redirect_to controller:"forminst", action: "index"
		end
	end

	def guarda_tutor_modificado
		if session[:usuario_id]	


			haceralgo = "Si"
				
			i = 1
			j = 1
			nombre = "hola"
			cpid = 1

			if $cpcifija.to_s != params[:CI].to_s
				cjprpersonas = Persona.where(ci: params[:CI]).take
				if !cjprpersonas.blank?
					haceralgo = "No"
				end
			end

			if $cpcorreofijo.to_s != params[:correo].to_s
				cjprpersonas = Usuario.where(email: params[:correo]).take
				if !cjprpersonas.blank?
					haceralgo = "No"
				end

				cjprpersonas = Usuario.where(user: params[:correo]).take
				if !cjprpersonas.blank?
					haceralgo = "No"
				end
			end

			
			if haceralgo == "Si"

				cpusuario = Usuario.find_by id: $id_tutor_seleccionado
				cpusuario.user = params[:correo].to_s
				cpusuario.password = params[:CI].to_s
				cpusuario.email = params[:correo].to_s
				cpusuario.save

				cppersona = Persona.find_by usuario_id: $id_tutor_seleccionado
				cppersona.nombres = params[:Nombre].to_s
				cppersona.apellidos = params[:Apellido].to_s
				cppersona.fecha_nacimiento = params[:FechaNac].to_s
				cppersona.ci = params[:CI].to_s
				cppersona.telefono1 = params[:Tlf].to_s
				cppersona.telefono2 = params[:OTlf].to_s
				cppersona.direccion = params[:Dir].to_s
				cppersona.grado_instruccion = params[:GradoI].to_s
				cppersona.area = params[:Area].to_s
				cppersona.subarea = params[:Subarea].to_s
				cppersona.save

				cpuentidad = Usuarioentidad.find_by usuario_id: $id_tutor_seleccionado
				cpuentidad.usuario_id = cpusuario.id
				cpuentidad.id = cpusuario.id
				cpuentidad.save

				redirect_to controller:"secretarias", action: "index"

			else
			$cpnombre = params[:Nombre]
			$cpapellido =params[:Apellido]
			$cpci = params[:CI]
			$cpcorreo = params[:correo]
			$cptlf = params[:Tlf]
			$cpotlf = params[:OTlf]
			$cpfechanac = params[:FechaNac]
			$cpdir = params[:Dir]
			$cpgradoi = params[:GradoI]
			$cparea = params[:Area]
			$cpsubarea = params[:Subarea]

			flash[:danger] = "La cedula de identidad o el correo ya existe"
			redirect_to :back

			end

		else
			redirect_to controller:"forminst", action: "index"
		end
	end

	def tutores_asignados
		if session[:usuario_id]

			@tutores_asig = Instructortutor.where(instructor_id: $id_tutor_seleccionado)

		else
			redirect_to controller:"forminst", action: "index"
		end
	end

	def logout
		reset_session
		redirect_to controller: "forminst", action: "index"
	end
end


<file_sep>/forminst_new1/test/controllers/informes_controller_test.rb
require 'test_helper'

class InformesControllerTest < ActionController::TestCase
  setup do
    @informe = informes(:one)
  end

  test "should get index" do
    get :index
    assert_response :success
    assert_not_nil assigns(:informes)
  end

  test "should get new" do
    get :new
    assert_response :success
  end

  test "should create informe" do
    assert_difference('Informe.count') do
      post :create, informe: { PlanFormacionId: @informe.PlanFormacionId, conclusiones: @informe.conclusiones, id: @informe.id, opinionTutor: @informe.opinionTutor, tutorId: @informe.tutorId }
    end

    assert_redirected_to informe_path(assigns(:informe))
  end

  test "should show informe" do
    get :show, id: @informe
    assert_response :success
  end

  test "should get edit" do
    get :edit, id: @informe
    assert_response :success
  end

  test "should update informe" do
    patch :update, id: @informe, informe: { PlanFormacionId: @informe.PlanFormacionId, conclusiones: @informe.conclusiones, id: @informe.id, opinionTutor: @informe.opinionTutor, tutorId: @informe.tutorId }
    assert_redirected_to informe_path(assigns(:informe))
  end

  test "should destroy informe" do
    assert_difference('Informe.count', -1) do
      delete :destroy, id: @informe
    end

    assert_redirected_to informes_path
  end
end
<file_sep>/forminst_new1/app/models/usuarioentidad.rb
class Usuarioentidad < ActiveRecord::Base
	belongs_to :entidad
	belongs_to :usuario
end<file_sep>/forminst_new1/test/controllers/observacionactividadadecuacions_controller_test.rb
require 'test_helper'

class ObservacionactividadadecuacionsControllerTest < ActionController::TestCase
  setup do
    @observacionactividadadecuacion = observacionactividadadecuacions(:one)
  end

  test "should get index" do
    get :index
    assert_response :success
    assert_not_nil assigns(:observacionactividadadecuacions)
  end

  test "should get new" do
    get :new
    assert_response :success
  end

  test "should create observacionactividadadecuacion" do
    assert_difference('Observacionactividadadecuacion.count') do
      post :create, observacionactividadadecuacion: { adecuacionActividadId: @observacionactividadadecuacion.adecuacionActividadId, fecha: @observacionactividadadecuacion.fecha, id: @observacionactividadadecuacion.id, observacion: @observacionactividadadecuacion.observacion, revisionId: @observacionactividadadecuacion.revisionId }
    end

    assert_redirected_to observacionactividadadecuacion_path(assigns(:observacionactividadadecuacion))
  end

  test "should show observacionactividadadecuacion" do
    get :show, id: @observacionactividadadecuacion
    assert_response :success
  end

  test "should get edit" do
    get :edit, id: @observacionactividadadecuacion
    assert_response :success
  end

  test "should update observacionactividadadecuacion" do
    patch :update, id: @observacionactividadadecuacion, observacionactividadadecuacion: { adecuacionActividadId: @observacionactividadadecuacion.adecuacionActividadId, fecha: @observacionactividadadecuacion.fecha, id: @observacionactividadadecuacion.id, observacion: @observacionactividadadecuacion.observacion, revisionId: @observacionactividadadecuacion.revisionId }
    assert_redirected_to observacionactividadadecuacion_path(assigns(:observacionactividadadecuacion))
  end

  test "should destroy observacionactividadadecuacion" do
    assert_difference('Observacionactividadadecuacion.count', -1) do
      delete :destroy, id: @observacionactividadadecuacion
    end

    assert_redirected_to observacionactividadadecuacions_path
  end
end
<file_sep>/forminst_new1/app/models/informeactividad.rb
class Informeactividad < ActiveRecord::Base
	belongs_to :informe
	has_many :documento
	has_many :observacionesactividadinforme
	has_many :actividadejecutada
	has_many :observaciontutor
	belongs_to :actividad
end<file_sep>/forminst_new1/app/views/usuarioentidads/index.json.jbuilder
json.array!(@usuarioentidads) do |usuarioentidad|
  json.extract! usuarioentidad, :id, :id, :usuarioId, :entidadesId
  json.url usuarioentidad_url(usuarioentidad, format: :json)
end
<file_sep>/forminst_new1/app/models/documentoinforme.rb
class Documentoinforme < ActiveRecord::Base
	belongs_to :informe
end<file_sep>/forminst_new1/app/controllers/permisologia_controller.rb
class PermisologiaController < ApplicationController
  before_action :set_permisologium, only: [:show, :edit, :update, :destroy]

  # GET /permisologia
  # GET /permisologia.json
  def index
    @permisologia = Permisologium.all
  end

  # GET /permisologia/1
  # GET /permisologia/1.json
  def show
  end

  # GET /permisologia/new
  def new
    @permisologium = Permisologium.new
  end

  # GET /permisologia/1/edit
  def edit
  end

  # POST /permisologia
  # POST /permisologia.json
  def create
    @permisologium = Permisologium.new(permisologium_params)

    respond_to do |format|
      if @permisologium.save
        format.html { redirect_to @permisologium, notice: 'Permisologium was successfully created.' }
        format.json { render :show, status: :created, location: @permisologium }
      else
        format.html { render :new }
        format.json { render json: @permisologium.errors, status: :unprocessable_entity }
      end
    end
  end

  # PATCH/PUT /permisologia/1
  # PATCH/PUT /permisologia/1.json
  def update
    respond_to do |format|
      if @permisologium.update(permisologium_params)
        format.html { redirect_to @permisologium, notice: 'Permisologium was successfully updated.' }
        format.json { render :show, status: :ok, location: @permisologium }
      else
        format.html { render :edit }
        format.json { render json: @permisologium.errors, status: :unprocessable_entity }
      end
    end
  end

  # DELETE /permisologia/1
  # DELETE /permisologia/1.json
  def destroy
    @permisologium.destroy
    respond_to do |format|
      format.html { redirect_to permisologia_url, notice: 'Permisologium was successfully destroyed.' }
      format.json { head :no_content }
    end
  end

  private
    # Use callbacks to share common setup or constraints between actions.
    def set_permisologium
      @permisologium = Permisologium.find(params[:id])
    end

    # Never trust parameters from the scary internet, only allow the white list through.
    def permisologium_params
      params.require(:permisologium).permit(:id, :permisosId, :usuarioId, :attribute, :read, :write)
    end
end
<file_sep>/forminst_new1/app/views/resultados/index.json.jbuilder
json.array!(@resultados) do |resultado|
  json.extract! resultado, :id, :id, :actividadId, :tipoResultadoId, :concepto
  json.url resultado_url(resultado, format: :json)
end
<file_sep>/forminst_new1/test/controllers/adecuacions_controller_test.rb
require 'test_helper'

class AdecuacionsControllerTest < ActionController::TestCase
  setup do
    @adecuacion = adecuacions(:one)
  end

  test "should get index" do
    get :index
    assert_response :success
    assert_not_nil assigns(:adecuacions)
  end

  test "should get new" do
    get :new
    assert_response :success
  end

  test "should create adecuacion" do
    assert_difference('Adecuacion.count') do
      post :create, adecuacion: { PlanFormacionId: @adecuacion.PlanFormacionId, id: @adecuacion.id, tutorId: @adecuacion.tutorId }
    end

    assert_redirected_to adecuacion_path(assigns(:adecuacion))
  end

  test "should show adecuacion" do
    get :show, id: @adecuacion
    assert_response :success
  end

  test "should get edit" do
    get :edit, id: @adecuacion
    assert_response :success
  end

  test "should update adecuacion" do
    patch :update, id: @adecuacion, adecuacion: { PlanFormacionId: @adecuacion.PlanFormacionId, id: @adecuacion.id, tutorId: @adecuacion.tutorId }
    assert_redirected_to adecuacion_path(assigns(:adecuacion))
  end

  test "should destroy adecuacion" do
    assert_difference('Adecuacion.count', -1) do
      delete :destroy, id: @adecuacion
    end

    assert_redirected_to adecuacions_path
  end
end
<file_sep>/forminst_new1/app/views/documentos/show.json.jbuilder
json.extract! @documento, :id, :id, :informeActividadId, :archivo, :created_at, :updated_at
<file_sep>/forminst_new1/app/views/informeactividads/index.json.jbuilder
json.array!(@informeactividads) do |informeactividad|
  json.extract! informeactividad, :id, :id, :informeId, :actividadId
  json.url informeactividad_url(informeactividad, format: :json)
end
<file_sep>/forminst_new1/test/controllers/usuarioentidads_controller_test.rb
require 'test_helper'

class UsuarioentidadsControllerTest < ActionController::TestCase
  setup do
    @usuarioentidad = usuarioentidads(:one)
  end

  test "should get index" do
    get :index
    assert_response :success
    assert_not_nil assigns(:usuarioentidads)
  end

  test "should get new" do
    get :new
    assert_response :success
  end

  test "should create usuarioentidad" do
    assert_difference('Usuarioentidad.count') do
      post :create, usuarioentidad: { entidadesId: @usuarioentidad.entidadesId, id: @usuarioentidad.id, usuarioId: @usuarioentidad.usuarioId }
    end

    assert_redirected_to usuarioentidad_path(assigns(:usuarioentidad))
  end

  test "should show usuarioentidad" do
    get :show, id: @usuarioentidad
    assert_response :success
  end

  test "should get edit" do
    get :edit, id: @usuarioentidad
    assert_response :success
  end

  test "should update usuarioentidad" do
    patch :update, id: @usuarioentidad, usuarioentidad: { entidadesId: @usuarioentidad.entidadesId, id: @usuarioentidad.id, usuarioId: @usuarioentidad.usuarioId }
    assert_redirected_to usuarioentidad_path(assigns(:usuarioentidad))
  end

  test "should destroy usuarioentidad" do
    assert_difference('Usuarioentidad.count', -1) do
      delete :destroy, id: @usuarioentidad
    end

    assert_redirected_to usuarioentidads_path
  end
end
<file_sep>/forminst_new1/app/models/respaldo.rb
class Respaldo < ActiveRecord::Base


  private

    def sanitize_filename(filename)
      # Get only the filename, not the whole path (for IE)
      # Thanks to this article I just found for the tip: http://mattberther.com/2007/10/19/uploading-files-to-a-database-using-rails
      return File.basename(filename)
    end

    NUM_BYTES_IN_MEGABYTE = 1048576
    def file_size_under_one_mb
      if (this.file_contents.size.to_f / NUM_BYTES_IN_MEGABYTE) > 10
        errors.add(:file, 'File size cannot be over ten megabytes.')
      end
    end

end<file_sep>/forminst_new1/app/views/documentoinformes/show.json.jbuilder
json.extract! @documentoinforme, :id, :id, :informeId, :archivo, :created_at, :updated_at
<file_sep>/forminst_new1/app/controllers/iniciotutor_controller.rb
class IniciotutorController < ApplicationController
	layout 'ly_inicio_tutor'

	def index

		session[:tutor]
		if session[:usuario_id] && session[:tutor]
			session[:adecuacion_id] = nil
			session[:plan_id] = nil
			session[:instructorName] = nil

			@nombre = session[:nombre_usuario]
			if not @nombre
				print "NO HAY USUARIO"
			end
			@notificaciones1= []
		    @notificaciones = Notificacion.where(tutor_id: session[:usuario_id]).all
		    @notificaciones.each do |notificaciones|
		        if notificaciones.actual == 1        #Caso de notificaciones del tutor
		        	@notificaciones1.push(notificaciones)
		        end
		    end
		else
			redirect_to controller:"forminst", action: "index"
		end
	end

	def logout
		reset_session
		redirect_to controller: "forminst", action: "index"
	end

	def destroyNotifications
		@post = Notificacion.find(params[:id])
		respond_to do |format|
			if @post.destroy
				format.html { redirect_to :back }
			else
				flash[:notice] = "Post failed to delete."
				format.html { redirect_to :back }
			end
		end
	end

	def planformacions

		if session[:usuario_id] && session[:tutor]
			session[:adecuacion_id] = nil
			@persona = Persona.where(usuario_id: session[:usuario_id]).take
    		@planformacions = Planformacion.where(tutor_id: session[:usuario_id]).order(fecha_modificacion: :desc)
    		@nombreinstructor = []
			@status = []
			@cpenviado = []
			@planformacions.each do |plan|
				@person= Persona.where(usuario_id: plan.instructor_id).take
				@nombreinstructor.push(@tutor = @person.nombres.to_s.split.map(&:capitalize).join(' ') + " " + @person.apellidos.to_s.split.map(&:capitalize).join(' '))

				adecuacion = Adecuacion.where(planformacion_id: plan.id).take
				@est= EstatusAdecuacion.where(adecuacion_id: adecuacion.id, actual: 1).take
				if !@est.blank?
					if @est.estatus_id == 1
						@status.push("[" + @est.fecha.to_s  + "]: APROBADO POR CONSEJO DE FACULTAD")
						@cpenviado.push(1)
					elsif @est.estatus_id == 2
						@status.push("[" + @est.fecha.to_s  + "]: ENVIADO A CONSEJO TÉCNICO")
						@cpenviado.push(1)
					elsif @est.estatus_id == 3
						@status.push("[" + @est.fecha.to_s  + "]: ENVIADO A COMISIÓN DE INVESTIGACIÓN")
						@cpenviado.push(1)
					elsif @est.estatus_id == 4
						@status.push("[" + @est.fecha.to_s  + "]: ENVIADO A CONSEJO DE FACULTAD")
						@cpenviado.push(1)
					elsif @est.estatus_id == 5
						@status.push("[" + @est.fecha.to_s  + "]: APROBADO CON OBSERVACIONES POR CONSEJO DE FACULTAD")
						@cpenviado.push(0)
					elsif @est.estatus_id == 6
						@status.push("[" + @est.fecha.to_s  + "]: GUARDADO")
						@cpenviado.push(0)
					elsif @est.estatus_id == 7
						@status.push("[" + @est.fecha.to_s  + "]: EN REVISIÓN MENOR POR COMISIÓN DE INVESTIGACIÓN")
						@cpenviado.push(1)
					elsif @est.estatus_id == 8
						@status.push("[" + @est.fecha.to_s  + "]: ENVIADO A CONSEJO DE ESCUELA")
						@cpenviado.push(1)
					elsif @est.estatus_id == 9
						@status.push("[" + @est.fecha.to_s  + "]: RECHAZADO POR CONSEJO DE FACULTAD")
						@cpenviado.push(1)
					end
				else
    				flash.now[:danger] = "Ha ocurrido un error, adecuaciones sin estatus de envio"
				end

			end
			@nombre = session[:nombre_usuario]
			if not @nombre
				print "NO HAY USUARIO"
			end
		else
			redirect_to controller:"forminst", action: "index"
		end
	end

	def prorroga
		if session[:usuario_id] && session[:tutor]
			session[:adecuacion_id] = nil
			@persona = Persona.where(usuario_id: session[:usuario_id]).take
			@nombre = session[:nombre_usuario]
			@planformacion = session[:plan_id]
			if not @planformacion
			end
			@instructorName = session[:instructorName]
			if not @instructorName
			end
			

			if not @nombre
				print "NO HAY USUARIO"
			end
		else
			redirect_to controller:"forminst", action: "index"
		end
	end

	def ver_detalles_adecuacion
		if session[:usuario_id] && session[:tutor]
			if(!session[:plan_id].blank? || !params[:plan_id].blank?)

				if !params[:plan_id].blank?
					session[:plan_id] = params[:plan_id]
				end
				if params[:editar] == 'no' 
					session[:editar]= false
				else
					session[:editar]= true
				end
				@tutoresAnteriores = Instructortutor.where(instructor_id: session[:usuario_id], actual: 0)
				@nombre = session[:nombre_usuario]
				@plan= Planformacion.find(session[:plan_id])

				if !@plan.blank?
					#Ver si el informe fue rachazado
					cpInstructor = Usuario.find(@plan.instructor_id)
					if (cpInstructor.activo == false)
						@cpBloquear = true
					else
						@cpBloquear = false
					end
					#fin
				end

				@inst = Persona.where(usuario_id: @plan.instructor_id).take
				@instructorName = @inst.nombres.to_s.split.map(&:capitalize).join(' ') + " " + @inst.apellidos.to_s.split.map(&:capitalize).join(' ')
				session[:instructorName] = @instructorName
				@instructorName = session[:instructorName]
				@userentidad= Usuarioentidad.where(usuario_id: @plan.instructor_id).take
				@escuela= Escuela.where(id: @userentidad.escuela_id).take
				@persona= Persona.where(usuario_id: @plan.instructor_id).take
				@usuario= Usuario.find(@plan.instructor_id)
				@cpTutor= Persona.where(usuario_id: @plan.tutor_id).take
				@cpTutorEmail= Usuario.find(@plan.tutor_id).email
				semestre= params[:semestre].to_i
				if !params[:adecuacion_id].blank?
					session[:adecuacion_id]= params[:adecuacion_id]
					@adecuacion= Adecuacion.find(session[:adecuacion_id])
				else
					@adecuacion= Adecuacion.where(planformacion_id: session[:plan_id]).take
					session[:adecuacion_id]= @adecuacion.id
				end

				@plan= Planformacion.find(session[:plan_id])
				@userentidad= Usuarioentidad.where(usuario_id: @plan.instructor_id).take
				if @userentidad.escuela_id == nil
					@userentidad.escuela_id=12
					@userentidad.save
					@escuela= Escuela.where(id: @userentidad.escuela_id).take
				else
					@escuela= Escuela.where(id: @userentidad.escuela_id).take
				end
				@instructor= Persona.where(usuario_id: @plan.instructor_id).take
				@bool_enviado = 0
				estatus_adecuacion = EstatusAdecuacion.where(adecuacion_id: @adecuacion.id, actual: 1).take

				if (estatus_adecuacion.estatus_id != 6 && estatus_adecuacion.estatus_id != 5 && estatus_adecuacion.estatus_id != 9)
					@bool_enviado = 1
				end
			else
				flash[:info]="Seleccione una adecuación"
				redirect_to controller:"iniciotutor", action: "planformacions"
			end
		else
			redirect_to controller:"forminst", action: "index"
		end
	end

	def guardar_primera_parte

		if session[:usuario_id] && session[:tutor]
			#Guardar primera parte del informe

			if !params[:firtsPart].blank?
				#Presentacion
				if params[:presentacionId].blank?
					cpActividad = Actividad.new
					cpActividad.tipo_actividad_id = 9
					cpActividad.actividad = params[:presentacion]
					cpActividad.save
					cpActividadAdecuacion = AdecuacionActividad.new
					cpActividadAdecuacion.adecuacion_id = session[:adecuacion_id]
					cpActividadAdecuacion.actividad_id = cpActividad.id
					cpActividadAdecuacion.semestre = 0
					cpActividadAdecuacion.save
				end

				# Descripción del Perfil del Ganador del concurso
				if params[:descripcionId].blank?
					cpActividad = Actividad.new
					cpActividad.tipo_actividad_id = 8
					cpActividad.actividad = params[:descripcion]
					cpActividad.save
					cpActividadAdecuacion = AdecuacionActividad.new
					cpActividadAdecuacion.adecuacion_id = session[:adecuacion_id]
					cpActividadAdecuacion.actividad_id = cpActividad.id
					cpActividadAdecuacion.semestre = 0
					cpActividadAdecuacion.save
				end

				# Docencia
				if params[:docenciaId].blank?
					cpActividad = Actividad.new
					cpActividad.tipo_actividad_id = 1
					cpActividad.actividad = params[:docencia]
					cpActividad.save
					cpActividadAdecuacion = AdecuacionActividad.new
					cpActividadAdecuacion.adecuacion_id = session[:adecuacion_id]
					cpActividadAdecuacion.actividad_id = cpActividad.id
					cpActividadAdecuacion.semestre = 0
					cpActividadAdecuacion.save
				end

				# Investigacion
				if params[:investigacionId].blank?
					cpActividad = Actividad.new
					cpActividad.tipo_actividad_id = 2
					cpActividad.actividad = params[:investigacion]
					cpActividad.save
					cpActividadAdecuacion = AdecuacionActividad.new
					cpActividadAdecuacion.adecuacion_id = session[:adecuacion_id]
					cpActividadAdecuacion.actividad_id = cpActividad.id
					cpActividadAdecuacion.semestre = 0
					cpActividadAdecuacion.save
				end

				# Formación y capacitación profesional
				if params[:formacionId].blank?
					cpActividad = Actividad.new
					cpActividad.tipo_actividad_id = 4
					cpActividad.actividad = params[:formacion]
					cpActividad.save
					cpActividadAdecuacion = AdecuacionActividad.new
					cpActividadAdecuacion.adecuacion_id = session[:adecuacion_id]
					cpActividadAdecuacion.actividad_id = cpActividad.id
					cpActividadAdecuacion.semestre = 0
					cpActividadAdecuacion.save
				end

				# Extension
				if params[:extensionId].blank?
					cpActividad = Actividad.new
					cpActividad.tipo_actividad_id = 3
					cpActividad.actividad = params[:extension]
					cpActividad.save
					cpActividadAdecuacion = AdecuacionActividad.new
					cpActividadAdecuacion.adecuacion_id = session[:adecuacion_id]
					cpActividadAdecuacion.actividad_id = cpActividad.id
					cpActividadAdecuacion.semestre = 0
					cpActividadAdecuacion.save
				end

				#Editar
				j=0
				i=:edit.to_s+j.to_s
				@edit= params[i].to_s

				while j < params[:cant_edit].to_i
					if @edit == "presentacion"
						if !params[:presentacionId].blank?
							cpActividad = Actividad.find(params[:presentacionId])
							cpActividad.actividad = params[:presentacion]
							cpActividad.save
						end
					elsif @edit == "descripcion"
						if !params[:presentacionId].blank?
							cpActividad = Actividad.find(params[:descripcionId])
							cpActividad.actividad = params[:descripcion]
							cpActividad.save
						end
					elsif @edit == "docencia"
						if !params[:presentacionId].blank?
							cpActividad = Actividad.find(params[:docenciaId])
							cpActividad.actividad = params[:docencia]
							cpActividad.save
						end
					elsif @edit == "investigacion"
						if !params[:presentacionId].blank?
							cpActividad = Actividad.find(params[:investigacionId])
							cpActividad.actividad = params[:investigacion]
							cpActividad.save
						end
					elsif @edit == "formacion"
						if !params[:presentacionId].blank?
							cpActividad = Actividad.find(params[:formacionId])
							cpActividad.actividad = params[:formacion]
							cpActividad.save
						end
					elsif @edit == "extension"
						if !params[:presentacionId].blank?
							cpActividad = Actividad.find(params[:extensionId])
							cpActividad.actividad = params[:extension]
							cpActividad.save
						end
					end

					j+=1
					i=:edit.to_s+j.to_s
					@edit= params[i].to_s
				end
			end
		else
			redirect_to controller:"forminst", action: "index"
		end
	end

	def detalles_adecuacion2
		if session[:usuario_id] && session[:tutor]
			if(!session[:plan_id].blank?)
				if params[:plan_id]
					@planformacion = Planformacion.find(params[:plan_id])
					session[:plan_id] = @planformacion.id
					@inst = Persona.where(usuario_id: @planformacion.instructor_id).take
					@adecuacion = Adecuacion.where(planformacion_id: session[:plan_id]).take
					session[:editar]= true
					session[:adecuacion_id]= @adecuacion.id
				else 
					@planformacion = Planformacion.find(session[:plan_id])
				end
				
				if !@planformacion.blank?
					#Ver si el informe fue rachazado
					cpInstructor = Usuario.find(@planformacion.instructor_id)
					if (cpInstructor.activo == false)
						@cpBloquear = true
					else
						@cpBloquear = false
					end
					#fin
				end

				@adecuacion = Adecuacion.where(planformacion_id: session[:plan_id]).take
				if params[:editar] == 'no' 
					session[:editar]= false
				end
				@est= EstatusAdecuacion.where(adecuacion_id: @adecuacion.id, actual: 1).take
				if !session[:editar] && (@est.estatus_id == 6 || @est.estatus_id == 5)
					flash.now[:info]= "Para editar la Adecuación debe seleccionar Modificar Adecuación"
				end
				@adecuaciones = Adecuacion.where(planformacion_id: session[:plan_id])
				@iddoc= 'id_docencia'
				@docencia='docencia'
				@desc='descripcion'
				@pres='presentacion'
				@investigacion= 'investigacion'
				@formacion= 'formacion'
				@extension= 'extension'
				@otra= 'otra' 
				@nombre = session[:nombre_usuario]
				@instructorName = session[:instructorName]
				@plan= Planformacion.find(session[:plan_id])
				@actividadesadoc= []
				@actividadesainv= []
				@actividadesaext= []
				@actividadesafor= []
				@actividadesaotr= []
				@observacionesExtras= []
				@j=0
				@actividadesa= AdecuacionActividad.where(adecuacion_id: @adecuacion.id, semestre: 0).all
				@actividadesa.each do |actade| 
					@act= Actividad.find(actade.actividad_id)
					tipo= @act.tipo_actividad_id
					if tipo==1
						@actividadesadoc.push(@act)
					elsif tipo==2
						@actividadesainv.push(@act)
					elsif tipo==3
						@actividadesaext.push(@act)
					elsif tipo==4
						@actividadesafor.push(@act)
					elsif tipo==5
						@actividadesaotr.push(@act)
					elsif tipo==8
						@descripcion=@act.actividad
						@descripcionId=@act.id
					elsif tipo==9
						@presentacion=@act.actividad
						@presentacionId=@act.id
					end
				end
				@actividadesa= AdecuacionActividad.where(adecuacion_id: @adecuacion.id, semestre: 0).all
				@actividadesa.each do |actade| 
					@cpObs= ObservacionActividadAdecuacion.where(adecuacionactividad_id: actade.id).all

					if @cpObs.blank?
						@observacionesExtras[actade.id]="no"
					else

						cpBool = 0
						@cpObs.each do |probar|
							if !probar.observaciones.blank?
								cpBool = 1
							end
						end

						if cpBool == 0
							@observacionesExtras[actade.id]="no"
						else
							@observacionesExtras[actade.id]="si"
						end
					end
				end
				@bool_enviado = 0
				estatus_adecuacion = EstatusAdecuacion.where(adecuacion_id: @adecuacion.id, actual: 1).take

				if (estatus_adecuacion.estatus_id != 6 && estatus_adecuacion.estatus_id != 5 && estatus_adecuacion.estatus_id != 9)
					@bool_enviado = 1
				end
			else
				flash[:info]="Seleccione una adecuación"
				redirect_to controller:"iniciotutor", action: "planformacions"
			end
		else
			redirect_to controller:"forminst", action: "index"
		end
	end

	def detalles_adecuacion3

		if session[:usuario_id] && session[:tutor]
			if(!session[:plan_id].blank?)
				if params[:plan_id]
					@planformacion = Planformacion.find(params[:plan_id])
					session[:editar]= true
					session[:plan_id] = @planformacion.id
					@adecuacion = Adecuacion.where(planformacion_id: session[:plan_id]).take
					session[:adecuacion_id]= @adecuacion.id
				else 
					@planformacion = Planformacion.find(session[:plan_id])
				end
				
				if !@planformacion.blank?
					#Ver si el informe fue rachazado
					cpInstructor = Usuario.find(@planformacion.instructor_id)
					if (cpInstructor.activo == false)
						@cpBloquear = true
					else
						@cpBloquear = false
					end
					#fin
				end

				@adecuacion = Adecuacion.where(planformacion_id: session[:plan_id]).take
				if params[:editar] == 'no' 
					session[:editar]= false
				end
				@est= EstatusAdecuacion.where(adecuacion_id: @adecuacion.id, actual: 1).take
				if !session[:editar] && (@est.estatus_id == 6 || @est.estatus_id == 5)
					flash.now[:info]= "Para editar la Adecuación debe seleccionar Modificar Adecuación"
				end
				@adecuaciones = Adecuacion.where(planformacion_id: session[:plan_id])
				@iddoc= 'id_docencia'
				@docencia='docencia'
				@investigacion= 'investigacion'
				@formacion= 'formacion'
				@extension= 'extension'
				@otra= 'otra' 
				@nombre = session[:nombre_usuario]
				@instructorName = session[:instructorName]
				@plan= Planformacion.find(session[:plan_id])
				@actividadesadoc= []
				@actividadesainv= []
				@actividadesaext= []
				@actividadesafor= []
				@actividadesaotr= []
				@observacionesExtras= []
				@j=0
				@actividadesa= AdecuacionActividad.where(adecuacion_id: @adecuacion.id, semestre: 1).all
				@actividadesa.each do |actade| 
					@act= Actividad.find(actade.actividad_id)
					tipo= @act.tipo_actividad_id
					if tipo==1
						@actividadesadoc.push(@act)
					elsif tipo==2
						@actividadesainv.push(@act)
					elsif tipo==3
						@actividadesaext.push(@act)
					elsif tipo==4
						@actividadesafor.push(@act)
					elsif tipo==5
						@actividadesaotr.push(@act)
					end

				end
				@actividadesa= AdecuacionActividad.where(adecuacion_id: @adecuacion.id, semestre: 1).all
				@actividadesa.each do |actade| 
					@cpObs= ObservacionActividadAdecuacion.where(adecuacionactividad_id: actade.id).all

					if @cpObs.blank?
						@observacionesExtras[actade.id]="no"
					else

						cpBool = 0
						@cpObs.each do |probar|
							if !probar.observaciones.blank?
								cpBool = 1
							end
						end

						if cpBool == 0
							@observacionesExtras[actade.id]="no"
						else
							@observacionesExtras[actade.id]="si"
						end
					end
				end
				@bool_enviado = 0
				estatus_adecuacion = EstatusAdecuacion.where(adecuacion_id: @adecuacion.id, actual: 1).take

				if (estatus_adecuacion.estatus_id != 6 && estatus_adecuacion.estatus_id != 5 && estatus_adecuacion.estatus_id != 9)
					@bool_enviado = 1
				end
			else
				flash[:info]="Seleccione una adecuación"
				redirect_to controller:"iniciotutor", action: "planformacions"
			end
		else
			redirect_to controller:"forminst", action: "index"
		end
	end

	def detalles_adecuacion4
		if session[:usuario_id] && session[:tutor]
			if(!session[:plan_id].blank?)
				@iddoc= 'id_docencia'
				@docencia='docencia'
				@investigacion= 'investigacion'
				@formacion= 'formacion'
				@extension= 'extension'
				@otra= 'otra' 
				@adecuacion = Adecuacion.where(planformacion_id: session[:plan_id]).take
				@est= EstatusAdecuacion.where(adecuacion_id: @adecuacion.id, actual: 1).take
				if !session[:editar] && (@est.estatus_id == 6 || @est.estatus_id == 5)
					flash.now[:info]= "Para editar la Adecuación debe seleccionar Modificar Adecuación"
				end
				@nombre = session[:nombre_usuario]
				@instructorName = session[:instructorName]
				@plan= Planformacion.find(session[:plan_id])
				@planformacion = Planformacion.find(session[:plan_id])
				if !@planformacion.blank?
					#Ver si el informe fue rachazado
					cpInstructor = Usuario.find(@planformacion.instructor_id)
					if (cpInstructor.activo == false)
						@cpBloquear = true
					else
						@cpBloquear = false
					end
					#fin
				end

				@actividadesadoc= []
				@actividadesainv= []
				@actividadesaext= []
				@actividadesafor= []
				@actividadesaotr= []
				@observacionesExtras= []
				@actividadesa= AdecuacionActividad.where(adecuacion_id: @adecuacion.id, semestre: 2).all
				@actividadesa.each do |actade| 
					@act= Actividad.find(actade.actividad_id)
					tipo= @act.tipo_actividad_id
					if tipo==1
						@actividadesadoc.push(@act)
					elsif tipo==2
						@actividadesainv.push(@act)
					elsif tipo==3
						@actividadesaext.push(@act)
					elsif tipo==4
						@actividadesafor.push(@act)
					elsif tipo==5
						@actividadesaotr.push(@act)
					end
				end
				@actividadesa= AdecuacionActividad.where(adecuacion_id: @adecuacion.id, semestre: 2).all
				@actividadesa.each do |actade| 
					@cpObs= ObservacionActividadAdecuacion.where(adecuacionactividad_id: actade.id).all

					if @cpObs.blank?
						@observacionesExtras[actade.id]="no"
					else

						cpBool = 0
						@cpObs.each do |probar|
							if !probar.observaciones.blank?
								cpBool = 1
							end
						end

						if cpBool == 0
							@observacionesExtras[actade.id]="no"
						else
							@observacionesExtras[actade.id]="si"
						end
					end
				end
				@bool_enviado = 0
				estatus_adecuacion = EstatusAdecuacion.where(adecuacion_id: @adecuacion.id, actual: 1).take

				if (estatus_adecuacion.estatus_id != 6 && estatus_adecuacion.estatus_id != 5 && estatus_adecuacion.estatus_id != 9)
					@bool_enviado = 1
				end
			else
				flash[:info]="Seleccione una adecuación"
				redirect_to controller:"iniciotutor", action: "planformacions"
			end
		else
			redirect_to controller:"forminst", action: "index"
		end
	end

	def detalles_adecuacion5
		if session[:usuario_id] && session[:tutor]
			if(!session[:plan_id].blank?)
				@iddoc= 'id_docencia'
				@docencia='docencia'
				@investigacion= 'investigacion'
				@formacion= 'formacion'
				@extension= 'extension'
				@otra= 'otra' 
				@nombre = session[:nombre_usuario]
				@instructorName = session[:instructorName]
				@plan= Planformacion.find(session[:plan_id])

				@planformacion = Planformacion.find(session[:plan_id])
				if !@planformacion.blank?
					#Ver si el informe fue rachazado
					cpInstructor = Usuario.find(@planformacion.instructor_id)
					if (cpInstructor.activo == false)
						@cpBloquear = true
					else
						@cpBloquear = false
					end
					#fin
				end

				@actividadesadoc= []
				@actividadesainv= []
				@actividadesaext= []
				@actividadesafor= []
				@actividadesaotr= []
				@observacionesExtras= []
				@adecuacion = Adecuacion.where(planformacion_id: session[:plan_id]).take
				@est= EstatusAdecuacion.where(adecuacion_id: @adecuacion.id, actual: 1).take
				if !session[:editar] && (@est.estatus_id == 6 || @est.estatus_id == 5)
					flash.now[:info]= "Para editar la Adecuación debe seleccionar Modificar Adecuación"
				end
				@actividadesa= AdecuacionActividad.where(adecuacion_id: @adecuacion.id, semestre: 3).all
				a= false
				b= false
				c= false
				d= false
				e= false
				@actividadesa.each do |actade| 
					@act= Actividad.find(actade.actividad_id)
					tipo= @act.tipo_actividad_id
					if tipo==1
						@actividadesadoc.push(@act)
						a = true
					elsif tipo==2
						@actividadesainv.push(@act)
						b = true
					elsif tipo==3
						@actividadesaext.push(@act)
						c = true
					elsif tipo==4
						@actividadesafor.push(@act)
						d = true
					elsif tipo==5
						@actividadesaotr.push(@act)
						e = true
					end
				end
				@actividadesa= AdecuacionActividad.where(adecuacion_id: @adecuacion.id, semestre: 3).all
				@actividadesa.each do |actade| 
					@cpObs= ObservacionActividadAdecuacion.where(adecuacionactividad_id: actade.id).all

					if @cpObs.blank?
						@observacionesExtras[actade.id]="no"
					else

						cpBool = 0
						@cpObs.each do |probar|
							if !probar.observaciones.blank?
								cpBool = 1
							end
						end

						if cpBool == 0
							@observacionesExtras[actade.id]="no"
						else
							@observacionesExtras[actade.id]="si"
						end
					end
				end
				if (a == true && b== true && c== true && d== true  && e== true)
				else 
				end
				@bool_enviado = 0
				estatus_adecuacion = EstatusAdecuacion.where(adecuacion_id: @adecuacion.id, actual: 1).take

				if (estatus_adecuacion.estatus_id != 6 && estatus_adecuacion.estatus_id != 5 && estatus_adecuacion.estatus_id != 9)
					@bool_enviado = 1
				end
			else
				flash[:info]="Seleccione una adecuación"
				redirect_to controller:"iniciotutor", action: "planformacions"
			end
		else
			redirect_to controller:"forminst", action: "index"
		end
	end

	def detalles_adecuacion6
		if session[:usuario_id] && session[:tutor]
			if(!session[:plan_id].blank?)
				@iddoc= 'id_docencia'
				@docencia='docencia'
				@investigacion= 'investigacion'
				@formacion= 'formacion'
				@extension= 'extension'
				@otra= 'otra' 
				@nombre = session[:nombre_usuario]
				@instructorName = session[:instructorName]
				@plan= Planformacion.find(session[:plan_id])

				@planformacion = Planformacion.find(session[:plan_id])
				if !@planformacion.blank?
					#Ver si el informe fue rachazado
					cpInstructor = Usuario.find(@planformacion.instructor_id)
					if (cpInstructor.activo == false)
						@cpBloquear = true
					else
						@cpBloquear = false
					end
					#fin
				end

				@actividadesadoc= []
				@actividadesainv= []
				@actividadesaext= []
				@actividadesafor= []
				@actividadesaotr= []
				@observacionesExtras= []
				@adecuacion = Adecuacion.where(planformacion_id: session[:plan_id]).take
				@est= EstatusAdecuacion.where(adecuacion_id: @adecuacion.id, actual: 1).take
				if !session[:editar] && (@est.estatus_id == 6 || @est.estatus_id == 5)
					flash.now[:info]= "Para editar la Adecuación debe seleccionar Modificar Adecuación"
				end
				@actividadesa= AdecuacionActividad.where(adecuacion_id: @adecuacion.id, semestre: 4).all
				if @actividadesa.blank?
				end
				@actividadesa.each do |actade| 
					@act= Actividad.find(actade.actividad_id)
					tipo= @act.tipo_actividad_id
					if tipo==1
						@actividadesadoc.push(@act)
					elsif tipo==2
						@actividadesainv.push(@act)
					elsif tipo==3
						@actividadesaext.push(@act)
					elsif tipo==4
						@actividadesafor.push(@act)
					elsif tipo==5
						@actividadesaotr.push(@act)
					end
				end
				@actividadesa= AdecuacionActividad.where(adecuacion_id: @adecuacion.id, semestre: 4).all
				@actividadesa.each do |actade| 
					@cpObs= ObservacionActividadAdecuacion.where(adecuacionactividad_id: actade.id).all

					if @cpObs.blank?
						@observacionesExtras[actade.id]="no"
					else

						cpBool = 0
						@cpObs.each do |probar|
							if !probar.observaciones.blank?
								cpBool = 1
							end
						end

						if cpBool == 0
							@observacionesExtras[actade.id]="no"
						else
							@observacionesExtras[actade.id]="si"
						end
					end
				end
				@bool_enviado = 0
				estatus_adecuacion = EstatusAdecuacion.where(adecuacion_id: @adecuacion.id, actual: 1).take

				if (estatus_adecuacion.estatus_id != 6 && estatus_adecuacion.estatus_id != 5 )
					@bool_enviado = 1
				end
			else
				flash[:info]="Seleccione una adecuación"
				redirect_to controller:"iniciotutor", action: "planformacions"
			end
		else
			redirect_to controller:"forminst", action: "index"
		end
	end

	def detalles_adecuacion7
		if session[:usuario_id] && session[:tutor]
			if(!session[:plan_id].blank?)
				@iddoc= 'id_docencia'
				@docencia='docencia'
				@investigacion= 'investigacion'
				@formacion= 'formacion'
				@extension= 'extension'
				@otra= 'otra' 
				@nombre = session[:nombre_usuario]
				@instructorName = session[:instructorName]
				@plan= Planformacion.find(session[:plan_id])

				@planformacion = Planformacion.find(session[:plan_id])
				if !@planformacion.blank?
					#Ver si el informe fue rachazado
					cpInstructor = Usuario.find(@planformacion.instructor_id)
					if (cpInstructor.activo == false)
						@cpBloquear = true
					else
						@cpBloquear = false
					end
					#fin
				end

				@actividadesadoc= []
				@actividadesainv= []
				@actividadesaext= []
				@actividadesafor= []
				@actividadesaotr= []
				@observacionesExtras= []
				@adecuacion = Adecuacion.where(planformacion_id: session[:plan_id]).take
				@est= EstatusAdecuacion.where(adecuacion_id: @adecuacion.id, actual: 1).take
				if !session[:editar] && (@est.estatus_id == 6 || @est.estatus_id == 5)
					flash.now[:info]= "Para editar la Adecuación debe seleccionar Modificar Adecuación"
				end
				@actividadesa= AdecuacionActividad.where(adecuacion_id: @adecuacion.id, semestre: 5).all
				if @actividadesa.blank?
				end
				@actividadesa.each do |actade| 
					@act= Actividad.find(actade.actividad_id)
					tipo= @act.tipo_actividad_id
					if tipo==1
						@actividadesadoc.push(@act)
					elsif tipo==2
						@actividadesainv.push(@act)
					elsif tipo==3
						@actividadesaext.push(@act)
					elsif tipo==4
						@actividadesafor.push(@act)
					elsif tipo==5
						@actividadesaotr.push(@act)
					end
				end
				@actividadesa= AdecuacionActividad.where(adecuacion_id: @adecuacion.id, semestre: 5).all
				@actividadesa.each do |actade| 
					@cpObs= ObservacionActividadAdecuacion.where(adecuacionactividad_id: actade.id).all

					if @cpObs.blank?
						@observacionesExtras[actade.id]="no"
					else

						cpBool = 0
						@cpObs.each do |probar|
							if !probar.observaciones.blank?
								cpBool = 1
							end
						end

						if cpBool == 0
							@observacionesExtras[actade.id]="no"
						else
							@observacionesExtras[actade.id]="si"
						end
					end
				end
				@bool_enviado = 0
				estatus_adecuacion = EstatusAdecuacion.where(adecuacion_id: @adecuacion.id, actual: 1).take

				if (estatus_adecuacion.estatus_id != 6 && estatus_adecuacion.estatus_id != 5 )
					@bool_enviado = 1
				end
			else
				flash[:info]="Seleccione una adecuación"
				redirect_to controller:"iniciotutor", action: "planformacions"
			end
		else
			redirect_to controller:"forminst", action: "index"
		end
	end

	def crear_actividad(tipo_id, descripcion, semestre, adecuacion_id)
		cpActividad = Actividad.new
		cpActividad.tipo_actividad_id = tipo_id
		cpActividad.actividad = descripcion
		cpActividad.save
		cpActividadAdecuacion = AdecuacionActividad.new
		cpActividadAdecuacion.adecuacion_id = adecuacion_id
		cpActividadAdecuacion.actividad_id = cpActividad.id
		cpActividadAdecuacion.semestre = semestre
		cpActividadAdecuacion.save
	end

	def guardar_adecuacion
		if session[:usuario_id] && session[:tutor]
			if(!session[:plan_id].blank? || !params[:plan_id].blank?)

				if !params[:plan_id].blank?
					session[:plan_id] = params[:plan_id]
				end
				if params[:editar] == 'no' 
					session[:editar]= false
				else
					session[:editar]= true
				end
				@tutoresAnteriores = Instructortutor.where(instructor_id: session[:usuario_id], actual: 0)
				@nombre = session[:nombre_usuario]
				@plan= Planformacion.find(session[:plan_id])

				if !@plan.blank?
					#Ver si el informe fue rachazado
					cpInstructor = Usuario.find(@plan.instructor_id)
					if (cpInstructor.activo == false)
						@cpBloquear = true
					else
						@cpBloquear = false
					end
					#fin
				end

				@inst = Persona.where(usuario_id: @plan.instructor_id).take
				@instructorName = @inst.nombres.to_s.split.map(&:capitalize).join(' ') + " " + @inst.apellidos.to_s.split.map(&:capitalize).join(' ')
				session[:instructorName] = @instructorName
				@instructorName = session[:instructorName]
				@userentidad= Usuarioentidad.where(usuario_id: @plan.instructor_id).take
				@escuela= Escuela.where(id: @userentidad.escuela_id).take
				@persona= Persona.where(usuario_id: @plan.instructor_id).take
				@usuario= Usuario.find(@plan.instructor_id)
				@cpTutor= Persona.where(usuario_id: @plan.tutor_id).take
				@cpTutorEmail= Usuario.find(@plan.tutor_id).email

				semestre= params[:semestre].to_i
				if !params[:adecuacion_id].blank?
					session[:adecuacion_id]= params[:adecuacion_id]
					@adecuacion= Adecuacion.find(session[:adecuacion_id])
				else
					@adecuacion= Adecuacion.where(planformacion_id: session[:plan_id]).take
					session[:adecuacion_id]= @adecuacion.id
				end

				@userentidad= Usuarioentidad.where(usuario_id: @plan.instructor_id).take
				if @userentidad.escuela_id == nil
					@userentidad.escuela_id=12
					@userentidad.save
					@escuela= Escuela.where(id: @userentidad.escuela_id).take
				else
					@escuela= Escuela.where(id: @userentidad.escuela_id).take
				end
				@instructor= Persona.where(usuario_id: @plan.instructor_id).take

				@modifique=false
				@cant_delete= params[:cant_delete]
				@cant_edit= params[:cant_edit]
				@cant_doc= params[:cant_docencia]
				@cant_obli= params[:cant_obligatoria]
				@cant_inv= params[:cant_investigacion]
				@cant_for= params[:cant_formacion]
				@cant_ext= params[:cant_extension]
				@cant_otr= params[:cant_otra]
				@nombre = session[:nombre_usuario]
				semestre= params[:semestre].to_i

				@actividadesadoc= []
				@actividadesainv= []
				@actividadesaext= []
				@actividadesafor= []
				@actividadesaotr= []
				j=0
				if params[:primera_parte] == "si"
					puts "HELLOOOOOOOOOOOOOOOOOOOOOOO"
					#Presentacion
					if params[:presentacionId].blank?
						puts "hello"
						crear_actividad(9, params[:presentacion], 0, session[:adecuacion_id])
					end

					# Descripción del Perfil del Ganador del concurso
					if params[:descripcionId].blank?
						crear_actividad(8, params[:descripcion], 0, session[:adecuacion_id])
					end


					j=0
					@modifique= true
					i=:edit.to_s+j.to_s
					@edit= params[i].to_s

					if @edit == "presentacion" || @edit == "descripcion"
						while j < params[:cant_edit].to_i
							if @edit == "presentacion"
								if !params[:presentacionId].blank?
									cpActividad = Actividad.find(params[:presentacionId])
									cpActividad.actividad = params[:presentacion]
									cpActividad.save
								end
							elsif @edit == "descripcion"
								if !params[:presentacionId].blank?
									cpActividad = Actividad.find(params[:descripcionId])
									cpActividad.actividad = params[:descripcion]
									cpActividad.save
								end
							end
							j+=1
							i=:edit.to_s+j.to_s
							@edit= params[i].to_s
						end
					end
				end
				if @cant_edit.to_i > 0
					j=0
					@modifique= true
					i=:edit.to_s+j.to_s
					@edit= params[i].to_s
					puts "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"
					while j < @cant_edit.to_i
						@modifique= true
						i=:edit.to_s+j.to_s
						@edit= params[i]
						if @edit != "presentacion" && @edit != "descripcion"
							@act= Actividad.find(@edit)
							tipo= @act.tipo_actividad_id

							if tipo==1
								m=:docencia.to_s+@edit.to_s
								text= params[m]
							elsif tipo==2
								m=:investigacion.to_s+@edit.to_s
								text= params[m]
							elsif tipo==3
								m=:extension.to_s+@edit.to_s
								text= params[m]
							elsif tipo==4
								m=:formacion.to_s+@edit.to_s
								text= params[m]
							elsif tipo==5
								m=:otra.to_s+@edit.to_s
								text= params[m]
							elsif tipo==7
								m=:obligatoria.to_s+@edit.to_s
								text= params[m]
							end
							@act.actividad= text
							@adecuacion.fecha_modificacion = Time.now
							@plan.fecha_modificacion = Time.now
							@plan.save
							@adecuacion.save
							@act.save
						end
						j= j+1
						i=:edit.to_s+j.to_s
						@edit= params[i].to_i
					end
				end

				if @cant_delete.to_i > 0
					@modifique= true
					j= 0
					i=:delete.to_s+j.to_s;
					@delete = params[i].to_i
					while j < @cant_delete.to_i
						AdecuacionActividad.where(actividad_id: @delete).destroy_all
						Actividad.find(@delete).destroy
						j = j + 1
						i=:delete.to_s+j.to_s;
						@delete = params[i]
					end
				end

				j=0
				i=:nuevadoc.to_s+j.to_s
				@docencias = params[i]

				while j < @cant_doc.to_i
					@modifique= true
					if  @docencias!=nil && @docencias!=""
						a = Actividad.new
						a.tipo_actividad_id = 1
						a.actividad = @docencias
						a.save
						adac = AdecuacionActividad.new
						adac.adecuacion_id = @adecuacion.id
						adac.actividad_id = a.id
						adac.semestre = semestre
						@plan.fecha_modificacion = Time.now
						@plan.save
						@adecuacion.fecha_modificacion = Time.now
						@adecuacion.save
						adac.save
					end
					j = j + 1
					i=:nuevadoc.to_s+j.to_s;
					@docencias = params[i]
				end

				j=0
				i=:nuevaobli.to_s+j.to_s
				@obliga = params[i]

				#obligatorias
				while j < @cant_obli.to_i
					@modifique= true
					if  @obliga!=nil && @obliga!=""
						a = Actividad.new
						a.tipo_actividad_id = 7
						a.actividad = @obliga
						a.save
						adac = AdecuacionActividad.new
						adac.adecuacion_id = @adecuacion.id
						adac.actividad_id = a.id
						adac.semestre = semestre
						@plan.fecha_modificacion = Time.now
						@plan.save
						@adecuacion.fecha_modificacion = Time.now
						@adecuacion.save
						adac.save
					end
					j = j + 1
					i=:nuevaobli.to_s+j.to_s;
					@obliga = params[i]
				end

				j=0
				i=:nuevainv.to_s+j.to_s
				@invest = params[i]

				while j < @cant_inv.to_i
					@modifique= true
					if  @invest!=nil && @invest!=""
						a = Actividad.new
						a.tipo_actividad_id = 2
						a.actividad = @invest
						a.save
						adac = AdecuacionActividad.new
						adac.adecuacion_id = @adecuacion.id
						adac.actividad_id = a.id
						adac.semestre = semestre
						@plan.fecha_modificacion = Time.now
						@plan.save
						@adecuacion.fecha_modificacion = Time.now
						@adecuacion.save
						adac.save
					end
					j = j + 1
					i=:nuevainv.to_s+j.to_s;
					@invest = params[i]
				end

				j=0
				i=:nuevafor.to_s+j.to_s
				@formacion = params[i]

				while j < @cant_for.to_i
					@modifique= true
					if  @formacion!=nil && @formacion!=""
						a = Actividad.new
						a.tipo_actividad_id = 4
						a.actividad = @formacion
						a.save
						adac = AdecuacionActividad.new
						adac.adecuacion_id = @adecuacion.id
						adac.actividad_id = a.id
						adac.semestre = semestre
						@plan.fecha_modificacion = Time.now
						@plan.save
						@adecuacion.fecha_modificacion = Time.now
						@adecuacion.save
						adac.save
					end
					j = j + 1
					i=:nuevafor.to_s+j.to_s;
					@formacion = params[i]
				end

				j=0
				i=:nuevaext.to_s+j.to_s
				@extension = params[i]

				while j < @cant_ext.to_i
					@modifique= true
					if  @extension!=nil && @extension!=""
						a = Actividad.new
						a.tipo_actividad_id = 3
						a.actividad = @extension
						a.save
						adac = AdecuacionActividad.new
						adac.adecuacion_id = @adecuacion.id
						adac.actividad_id = a.id
						adac.semestre = semestre
						@plan.fecha_modificacion = Time.now
						@plan.save
						@adecuacion.fecha_modificacion = Time.now
						@adecuacion.save
						adac.save
					end
					j = j + 1
					i=:nuevaext.to_s+j.to_s;
					@extension = params[i]
				end

				j=0
				i=:nuevaotr.to_s+j.to_s
				@otra = params[i]

				while j < @cant_otr.to_i
					@modifique= true
					if  @otra!=nil && @otra!=""
						a = Actividad.new
						a.tipo_actividad_id = 5
						a.actividad = @otra
						a.save
						adac = AdecuacionActividad.new
						adac.adecuacion_id = @adecuacion.id
						adac.actividad_id = a.id
						adac.semestre = semestre
						@plan.fecha_modificacion = Time.now
						@plan.save
						@adecuacion.fecha_modificacion = Time.now
						@adecuacion.save
						adac.save
					end
					j = j + 1
					i=:nuevaotr.to_s+j.to_s;
					@otra = params[i]
				end

				if @modifique == true
					if semestre == 1
						flash[:success]= "La adecuación fue modificada y guardada correctamente"
						redirect_to controller:"iniciotutor", action: "detalles_adecuacion3"
					elsif semestre == 2
						flash[:success]= "La adecuación fue modificada y guardada correctamente"
						redirect_to controller:"iniciotutor", action: "detalles_adecuacion4"
					elsif semestre == 3
						flash[:success]= "La adecuación fue modificada y guardada correctamente"
						redirect_to controller:"iniciotutor", action: "detalles_adecuacion5"
					elsif semestre == 4
						flash[:success]= "La adecuación fue modificada y guardada correctamente"
						redirect_to controller:"iniciotutor", action: "detalles_adecuacion6"
					elsif semestre == 5
						flash[:success]= "La adecuación fue modificada y guardada correctamente"
						redirect_to controller:"iniciotutor", action: "detalles_adecuacion7"
					elsif semestre == 0
						flash[:success]= "La adecuación fue modificada y guardada correctamente"
						redirect_to controller:"iniciotutor", action: "detalles_adecuacion2"
					end
				end
			else
				flash[:info]="Seleccione una adecuación"
				redirect_to controller:"iniciotutor", action: "planformacions"
			end
		else
			redirect_to controller:"forminst", action: "index"
		end
		
	end

	def eliminar_adecuacion
		if session[:usuario_id] && session[:tutor]
			if(!session[:adecuacion_id].blank?)
				@adecuacion= Adecuacion.find(session[:adecuacion_id])
				@est= EstatusAdecuacion.where(adecuacion_id: @adecuacion.id, actual: 1).take
				if @est.estatus_id == 6
					@documents = Document.where(adecuacion_id: session[:adecuacion_id]).all
					@actividadAde = AdecuacionActividad.where(adecuacion_id: @adecuacion.id).all
					@actividadAde.each do |actade| 
						@elimi = Actividad.where(id: actade.actividad_id).take
						@elimi.destroy
						actade.destroy
					end
					@documents.each do |documents| 
						documents.destroy
					end

					flash[:success]= "La adecuacion fue eliminada correctamente"
				else
					flash[:danger]= "No está permitido eliminar esta adecuación"
				end
				redirect_to controller:"iniciotutor", action: "ver_detalles_adecuacion"
			else
				flash[:info]="Seleccione una adecuación"
				redirect_to controller:"iniciotutor", action: "planformacions"
			end
		else 
			redirect_to controller:"forminst", action: "index"
		end
	end

	def vista_previa
		if session[:usuario_id] && session[:tutor]
			if(!session[:plan_id].blank?)

				@fechaActual = Date.current.to_s
				@plan= Planformacion.find(session[:plan_id])
				

				if !@plan.blank?
					#Ver si el informe fue rachazado
					cpInstructor = Usuario.find(@plan.instructor_id)
					if (cpInstructor.activo == false)
						@cpBloquear = true
					else
						@cpBloquear = false
					end
					#fin
				end

				@fechaConcurso = @plan.fecha_inicio
				@usere= Usuarioentidad.where(usuario_id: @plan.instructor_id).take
				@escuela= Escuela.find(@usere.escuela_id)
				@adecuacion= Adecuacion.where(planformacion_id: @plan.id).take
				@adscripcion_docencia= @plan.adscripcion_docencia
				@adscripcion_investigacion= @plan.adscripcion_investigacion
				@persona= Persona.where(usuario_id: @plan.instructor_id).take
				@cpinstruccion = @persona.grado_instruccion
				@user = Usuario.find(@plan.instructor_id)
				@cpTutor= Persona.where(usuario_id: @plan.tutor_id).take
				@cpTutorEmail= Usuario.find(@plan.tutor_id).email
				
				@bool_enviado = 0
				estatus_adecuacion = EstatusAdecuacion.where(adecuacion_id: @adecuacion.id, actual: 1).take

				if (estatus_adecuacion.estatus_id != 6 && estatus_adecuacion.estatus_id != 5 && estatus_adecuacion.estatus_id != 9)
					@bool_enviado = 1
				end
				@docencia='docencia'
				@investigacion= 'investigacion'
				@formacion= 'formacion'
				@extension= 'extension'
				@otra= 'otra' 

				@nombre = session[:nombre_usuario]
				@instructorName = session[:instructorName]
				actividades = AdecuacionActividad.where(adecuacion_id: @adecuacion.id, semestre: 0)
				if !actividades.blank?
					actividades.each do |actividadAde|
						actividad = Actividad.find(actividadAde.actividad_id)
						if actividad.tipo_actividad_id == 9
							@presentacion = actividad.actividad
						elsif actividad.tipo_actividad_id == 8
							@descripcion = actividad.actividad
						end
					end
				else
					@presentacion = " "
					@descripcion = " "	
				end

				@actividades0doc= []
				@actividades0inv= []
				@actividades0ext= []
				@actividades0for= []
				@actividades0otr= []
				@actividades0= AdecuacionActividad.where(adecuacion_id: @adecuacion.id, semestre: 0).all
				@actividades0.each do |actade| 
					@act= Actividad.find(actade.actividad_id)
					tipo= @act.tipo_actividad_id
					if tipo==1
						@actividades0doc.push(@act)
					elsif tipo==2
						@actividades0inv.push(@act)
					elsif tipo==3
						@actividades0ext.push(@act)
					elsif tipo==4
						@actividades0for.push(@act)
					elsif tipo==5
						@actividades0otr.push(@act)
					end
				end

				@actividades1doc= []
				@actividades1inv= []
				@actividades1ext= []
				@actividades1for= []
				@actividades1otr= []
				@actividades1= AdecuacionActividad.where(adecuacion_id: @adecuacion.id, semestre: 1).all
				@actividades1.each do |actade| 
					@act= Actividad.find(actade.actividad_id)
					tipo= @act.tipo_actividad_id
					if tipo==1
						@actividades1doc.push(@act)
					elsif tipo==2
						@actividades1inv.push(@act)
					elsif tipo==3
						@actividades1ext.push(@act)
					elsif tipo==4
						@actividades1for.push(@act)
					elsif tipo==5
						@actividades1otr.push(@act)
					end
				end

				@actividades2doc= []
				@actividades2inv= []
				@actividades2ext= []
				@actividades2for= []
				@actividades2otr= []
				@actividades2= AdecuacionActividad.where(adecuacion_id: @adecuacion.id, semestre: 2).all
				@actividades2.each do |actade| 
					@act= Actividad.find(actade.actividad_id)
					tipo= @act.tipo_actividad_id
					if tipo==1
						@actividades2doc.push(@act)
					elsif tipo==2
						@actividades2inv.push(@act)
					elsif tipo==3
						@actividades2ext.push(@act)
					elsif tipo==4
						@actividades2for.push(@act)
					elsif tipo==5
						@actividades2otr.push(@act)
					end
				end

				@actividades3doc= []
				@actividades3inv= []
				@actividades3ext= []
				@actividades3for= []
				@actividades3otr= []
				@actividades3= AdecuacionActividad.where(adecuacion_id: @adecuacion.id, semestre: 3).all
				@actividades3.each do |actade| 
					@act= Actividad.find(actade.actividad_id)
					tipo= @act.tipo_actividad_id
					if tipo==1
						@actividades3doc.push(@act)
					elsif tipo==2
						@actividades3inv.push(@act)
					elsif tipo==3
						@actividades3ext.push(@act)
					elsif tipo==4
						@actividades3for.push(@act)
					elsif tipo==5
						@actividades3otr.push(@act)
					end
				end

				@actividades4doc= []
				@actividades4inv= []
				@actividades4ext= []
				@actividades4for= []
				@actividades4otr= []
				@actividades4= AdecuacionActividad.where(adecuacion_id: @adecuacion.id, semestre: 4).all
				@actividades4.each do |actade| 
					@act= Actividad.find(actade.actividad_id)
					tipo= @act.tipo_actividad_id
					if tipo==1
						@actividades4doc.push(@act)
					elsif tipo==2
						@actividades4inv.push(@act)
					elsif tipo==3
						@actividades4ext.push(@act)
					elsif tipo==4
						@actividades4for.push(@act)
					elsif tipo==5
						@actividades4otr.push(@act)
					end
				end


				@actividades5doc= []
				@actividades5inv= []
				@actividades5ext= []
				@actividades5for= []
				@actividades5otr= []
				@actividades5= AdecuacionActividad.where(adecuacion_id: @adecuacion.id, semestre: 5).all
				@actividades5.each do |actade| 
					@act= Actividad.find(actade.actividad_id)
					tipo= @act.tipo_actividad_id
					if tipo==1
						puts "soy una actividad de docencia"
						puts @act.actividad
						@actividades5doc.push(@act)
					elsif tipo==2
						puts "soy una actividad de investigacion"
						puts @act.actividad
						@actividades5inv.push(@act)
					elsif tipo==3
						puts "soy una actividad de extension"
						puts @act.actividad
						@actividades5ext.push(@act)
					elsif tipo==4
						puts "soy una actividad de formacion"
						puts @act.actividad
						@actividades5for.push(@act)
					end
				end
			else
				flash[:info]="Seleccione una adecuación"
				redirect_to controller:"iniciotutor", action: "planformacions"
			end
		else 
			redirect_to controller:"forminst", action: "index"
		end

	end

	def cambiar_estatusA
		if session[:usuario_id] && session[:tutor]
			if(!session[:plan_id].blank?)
				@adecuacion_id = params[:adecuacion_id].to_i
				@actividades1doc= []
				@actividades1inv= []
				@actividades1ext= []
				@actividades1for= []
				@actividades1otr= []
				g=0;
				cambio_act = EstatusAdecuacion.where(adecuacion_id: @adecuacion_id, actual: 1).take

				if (cambio_act.estatus_id != 6 && cambio_act.estatus_id != 5)
					flash[:info]="Esta adecuación ya habia sido enviada"
					redirect_to controller:"iniciotutor", action: "planformacions"
				else
					for semestreN in 1..4
						@actividades1= AdecuacionActividad.where(adecuacion_id: @adecuacion_id, semestre: semestreN).all
						if @actividades1.blank?
							g = g + 1
						else 
							a= false
							b= false
							c= false
							d= false
							e= false
							@actividades1.each do |actade| 
								@act= Actividad.find(actade.actividad_id)
								tipo= @act.tipo_actividad_id
								if tipo==1
									a = true
								elsif tipo==2
									b = true
								elsif tipo==3
									c = true
								elsif tipo==4
									d = true
								elsif tipo==5
									e = true
								end
							end
							if (a && b && c && d && e)
								#Si todas las actividades de el semestre semestreN tienen algo escrito
							elsif ( a && b && c && d && !e)
								#Si todas las actividades de el semestre semestreN tienen algo escrito menos "otras actividades" que es opcional
								a = Actividad.new
								a.tipo_actividad_id = 5
								a.actividad = "Ninguna"
								a.save

								adac = AdecuacionActividad.new
								adac.adecuacion_id = @adecuacion_id
								adac.actividad_id = a.id
								adac.semestre = semestreN
								adac.save
							else 
								g = g + 1
							end
						end
					end
					aob = 0
					a= false
					b= false
					c= false
					d= false
					e= false
					@actividades5= AdecuacionActividad.where(adecuacion_id: @adecuacion_id, semestre: 5).all
					@actividades5.each do |actade| 
						@act= Actividad.find(actade.actividad_id)
						tipo= @act.tipo_actividad_id
						if tipo==1
							a = true
						elsif tipo==2
							b = true
						elsif tipo==3
							c = true
						elsif tipo==4
							d = true
						end
					end

					if (a && b && c && d)
					elsif ( a && c )
						if(!b)
							a = Actividad.new
							a.tipo_actividad_id = 2
							a.actividad = "Ninguna"
							a.save

							adac = AdecuacionActividad.new
							adac.adecuacion_id = @adecuacion_id
							adac.actividad_id = a.id
							adac.semestre = 5
							adac.save
						end
						if(!d)
							a = Actividad.new
							a.tipo_actividad_id = 4
							a.actividad = "Ninguna"
							a.save

							adac = AdecuacionActividad.new
							adac.adecuacion_id = @adecuacion_id
							adac.actividad_id = a.id
							adac.semestre = 5
							adac.save
						end
					else 
						g = g + 1
					end

					are1 = 0
					are2 = 0
					are3 = 0
					are4 = 0
					are5 = 0
					are6 = 0
					are7 = 0
					@actividades0= AdecuacionActividad.where(adecuacion_id: @adecuacion_id, semestre: 0).all
					@actividades0.each do |cpActividadAdecuacion|
						cpActividad = Actividad.find(cpActividadAdecuacion.actividad_id)
						if cpActividad.tipo_actividad_id == 9 && !cpActividad.actividad.blank?
							are1+=1
						end
						if cpActividad.tipo_actividad_id == 8 && !cpActividad.actividad.blank?
							are2+=1
						end
						if cpActividad.tipo_actividad_id == 1 && !cpActividad.actividad.blank?
							are3+=1
						end
						if cpActividad.tipo_actividad_id == 2 && !cpActividad.actividad.blank?
							are4+=1
						end
						if cpActividad.tipo_actividad_id == 3 && !cpActividad.actividad.blank?
							are5+=1
						end
						if cpActividad.tipo_actividad_id == 4 && !cpActividad.actividad.blank?
							are6+=1
						end
						if cpActividad.tipo_actividad_id == 5 && !cpActividad.actividad.blank?
							are7+=1
						end
					end

					if are1 == 0 || are2 == 0 || are3 == 0 || are3 == 0 || are4 == 0 || are5 == 0 || are6 == 0 || are7 == 0
						g=1
					end

					if (g != 0)
						if are1 == 0 || are2 == 0 || are3 == 0 || are3 == 0 || are4 == 0 || are5 == 0 || are6 == 0
							if aob == 0
								flash[:danger]="No puede enviar la adecuación sin haber llenado todos los semestres"
							else
								flash[:danger]="No puede enviar la adecuación sin tener al menos una actividad obligatoria de docencia e investigación"
							end
						else
							flash[:danger]="No puede enviar la adecuación sin estar terminada"
						end
						redirect_to controller:"iniciotutor", action: "detalles_adecuacion3"
					else
						plan = Planformacion.find(session[:plan_id])
						cambio_act.actual = 0
						cambio_act.save
						cambio_est = EstatusAdecuacion.new 
						cambio_est.adecuacion_id = @adecuacion_id
						cambio_est.fecha = Time.now 
						notific = Notificacion.new
						notific.instructor_id = plan.instructor_id
						notific.tutor_id = session[:usuario_id]
						notific.adecuacion_id = session[:adecuacion_id]
						notific.informe_id = nil
						notific.actual = 1
						person = Persona.where(usuario_id: plan.instructor_id).take
						notificacionfecha = Date.current.to_s
						if (cambio_act.estatus_id == 6)
							notific.mensaje = "[" + notificacionfecha + "] La adecuación de "+ person.nombres.to_s.split.map(&:capitalize).join(' ') + " " + person.apellidos.to_s.split.map(&:capitalize).join(' ') + " se ha enviado a comisión de investigación."
						elsif (cambio_act.estatus_id == 5)
							notific.mensaje = "[" + notificacionfecha + "] La adecuación de "+ person.nombres.to_s.split.map(&:capitalize).join(' ') + " " + person.apellidos.to_s.split.map(&:capitalize).join(' ') + " se ha enviado a Consejo de Facultad para ser revisado nuevamente."
						end
						notific.save
						notific2 = Notificacion.new
						notific2.instructor_id = plan.instructor_id
						notific2.tutor_id = session[:usuario_id]
						notific2.adecuacion_id = session[:adecuacion_id]
						notific2.informe_id = nil
						notific2.actual = 2
						if (cambio_act.estatus_id == 6)
							notific2.mensaje = "[" + notificacionfecha + "] Su adecuación se ha enviado a comisión de investigación."
						elsif (cambio_act.estatus_id == 5)
							notific2.mensaje = "[" + notificacionfecha + "] Su adecuación se ha enviado a Consejo de Facultad para ser revisado nuevamente"
						end
						notific2.save
						notific3 = Notificacion.new
						notific3.instructor_id = plan.instructor_id
						notific3.tutor_id = session[:usuario_id]
						notific3.adecuacion_id = session[:adecuacion_id]
						notific3.informe_id = nil
						userr= Usuario.where(id: session[:usuario_id]).take
						usernoti =Usuarioentidad.where(usuario_id: userr.id).take
						if (cambio_act.estatus_id == 6)
							if(usernoti.escuela_id == 1)
								notific3.departamento_id = usernoti.departamento_id
							end
							notific3.actual = 3		#Comisión de investigación
							notific3.mensaje = "[" + notificacionfecha + "] Se ha recibido una nueva Adecuación: "+ person.nombres.to_s.split.map(&:capitalize).join(' ') + " " + person.apellidos.to_s.split.map(&:capitalize).join(' ') + ", favor revisar y enviar a la siguiente entidad."
						elsif (cambio_act.estatus_id == 5)
							notific3.actual = 5	 #Enviado a Consejo de Facultad
							notific3.mensaje = "[" + notificacionfecha + "] Se ha recibido una nueva Adecuación: "+ person.nombres.to_s.split.map(&:capitalize).join(' ') + " " + person.apellidos.to_s.split.map(&:capitalize).join(' ') + ", favor revisar."
						end
						notific3.save
						notific.save
						respaldos = []
						respaldos = Respaldo.where(adecuacion_id: @adecuacion_id, informe_id: nil).all
						numeroDeVersion = respaldos.size + 1
						nombre = generar_pdf()
						nameofthefile = "#{Rails.root}/tmp/PDFs/"+nombre
						#nameofthefile = nombre
						contents = IO.binread(nameofthefile)

						respaldo = Respaldo.new 
						respaldo.filename = nombre
						respaldo.content_type = "application/pdf"
						respaldo.file_contents = contents
						respaldo.created_at = Date.current
						respaldo.version = numeroDeVersion
						respaldo.estatus = "Enviado a Comisión de Investigación"
						respaldo.instructor_id = plan.instructor_id
						respaldo.tutor_id = session[:usuario_id]
						respaldo.adecuacion_id = session[:adecuacion_id]
						respaldo.informe_id = nil
						respaldo.actual = 1
						if (cambio_act.estatus_id == 6)
							cambio_est.estatus_id = 3 #Enviado a Comisión de Investigación
							respaldo.estatus = "Enviado a Comisión de Investigación"
						elsif (cambio_act.estatus_id == 5)
							cambio_est.estatus_id = 4 #Enviado a Consejo de Facultad
							respaldo.estatus = "Enviado a Consejo de Facultad"
						end
						respaldo.save

						cambio_est.actual = 1
						cambio_est.save
						@document = Respaldo.where(id: respaldo.id).take											
						if (cambio_act.estatus_id == 6)
							userr= Usuario.where(id: session[:usuario_id]).take
							user =Usuarioentidad.where(usuario_id: userr.id).take
							if(user.escuela_id == 1)
								uentidad = Usuarioentidad.where(escuela_id: user.escuela_id, entidad_id: 7).take
							elsif(user.escuela_id == 2)
								uentidad = Usuarioentidad.where(escuela_id: user.escuela_id, entidad_id: 8).take
							elsif(user.escuela_id == 3)
								uentidad = Usuarioentidad.where(escuela_id: user.escuela_id, entidad_id: 9).take
							elsif(user.escuela_id == 4)
								uentidad = Usuarioentidad.where(escuela_id: user.escuela_id, entidad_id: 10).take
							elsif(user.escuela_id == 9)
								uentidad = Usuarioentidad.where(escuela_id: user.escuela_id, entidad_id: 11).take
							elsif(user.escuela_id == 10)
								uentidad = Usuarioentidad.where(escuela_id: user.escuela_id, entidad_id: 12).take
							end
							#CORREO EDITAAAAAAR
							linkT = "http://formacion.ciens.ucv.ve/forminst?accion=mostrar adecuacion&param1=" + plan.id.to_s + "&param2=no"
							linkI = "http://formacion.ciens.ucv.ve/forminst?accion=mostrar adecuacion"
							linkE = "http://formacion.ciens.ucv.ve/forminst?accion=mostrar adecuacion&param3=" + plan.id.to_s
							remitente3 = Usuario.where(id: session[:usuario_id]).take
							ActionCorreo.envio_adecuacion(remitente3, notific.mensaje,2,linkT,@document).deliver
							remitente2 = Usuario.where(id: plan.instructor_id).take
							ActionCorreo.envio_adecuacion(remitente2, notific2.mensaje,1,linkI,@document).deliver
							remitente = Usuario.where(id: uentidad.usuario_id).take
							ActionCorreo.envio_adecuacion(remitente, notific3.mensaje,0,linkI,@document).deliver
						elsif (cambio_act.estatus_id == 5)
							uentidad = Usuarioentidad.where(entidad_id: 13).take
							remitente3 = Usuario.where(id: session[:usuario_id]).take
							ActionCorreo.envio_adecuacion(remitente3, notific.mensaje,2, linkT,@document).deliver
							remitente2 = Usuario.where(id: plan.instructor_id).take
							ActionCorreo.envio_adecuacion(remitente2, notific2.mensaje,1, linkI,@document).deliver
							remitente = Usuario.where(id: uentidad.usuario_id).take
							ActionCorreo.envio_adecuacion(remitente, notific3.mensaje,0, linkE,@document).deliver
							ActionCorreo.envio_adecuacion("<EMAIL>", notific3.mensaje,0, linkE,@document).deliver

						end

						if(cambio_act.estatus_id == 5)
							flash[:success]="La adecuación se ha enviado a Consejo de Facultad"
						else
							flash[:success]="La adecuación se ha enviado a Comisión de Investigación"
						end

						redirect_to controller:"iniciotutor", action: "planformacions"
				end
				end
			else
				flash[:info]="Seleccione una adecuación"
				redirect_to controller:"iniciotutor", action: "planformacions"
			end
		else 
			redirect_to controller:"forminst", action: "index"
		end
 	end 

  	def generar_pdf() # es función permite generar el documento pdf de la adecuación
		if(!session[:adecuacion_id].blank?)

			@adecuacion= Adecuacion.find(session[:adecuacion_id]) # se obtienen la información de la adecuación seleccionada
			@planformacion= Planformacion.find(@adecuacion.planformacion_id)
			@fechaConcurso = @planformacion.fecha_inicio
			@id_docente= @planformacion.tutor_id # se obtiene el indicador del ususario al que corresponde la adecuación
			@usertutor= Usuario.find(@id_docente) # se obtiene la información del tutor mediante la base de datos y la variable anterior
			@tutor= Persona.where(usuario_id: @id_docente).take
			@id_instructor= @planformacion.instructor_id # se toma el identificador del instructor
			@userinst=Usuario.find(@id_instructor) # se obtienen toda la información del instructor 
			@instructor= Persona.where(usuario_id: @id_instructor).take
			@fechaActual = Date.current.to_s
			@userentidad= Usuarioentidad.where(usuario_id: @planformacion.instructor_id).take
			if @userentidad.escuela_id == nil
				@userentidad.escuela_id=12
				@userentidad.save
				@escuela= Escuela.where(id: @userentidad.escuela_id).take
			else
				@escuela= Escuela.where(id: @userentidad.escuela_id).take
			end

			@userinst2=Usuario.find(@id_docente) # se obtienen toda la información del tutor
			@correot= @userinst2.user+'<EMAIL>'
			@correoi=  @userinst.user+'@<EMAIL>'
			
			@pactv_docencia= []
			@pactv_investigacion= []
			@pactv_formacion= []
			@pactv_extension=[]
			@pactv_otras=[]
			@sactv_docencia= []
			@sactv_investigacion= []
			@sactv_formacion= []
			@sactv_extension=[]
			@sactv_otras=[]
			@tactv_docencia= []
			@tactv_investigacion= []
			@tactv_formacion= []
			@tactv_extension=[]
			@tactv_otras=[]
			@cactv_docencia= []
			@cactv_investigacion= []
			@cactv_formacion= []
			@cactv_extension=[]
			@cactv_otras=[]
			@dactv_docencia= []
			@dactv_investigacion= []
			@dactv_formacion= []
			@dactv_extension=[]

			@actividadesa= AdecuacionActividad.where(adecuacion_id: @adecuacion.id, semestre: 1).all
			@actividadesa.each do |actade| 
				@act= Actividad.find(actade.actividad_id)
				tipo= @act.tipo_actividad_id
				if tipo==1
					@pactv_docencia.push(@act)
				elsif tipo==2
					@pactv_investigacion.push(@act)
				elsif tipo==3
					@pactv_extension.push(@act)
				elsif tipo==4
					@pactv_formacion.push(@act)
				elsif tipo==5
					@pactv_otras.push(@act)
				end
			end

			@sactividadesa= AdecuacionActividad.where(adecuacion_id: @adecuacion.id, semestre: 2).all
			@sactividadesa.each do |actade| 
				@act= Actividad.find(actade.actividad_id)
				tipo= @act.tipo_actividad_id
				if tipo==1
					@sactv_docencia.push(@act)
				elsif tipo==2
					@sactv_investigacion.push(@act)
				elsif tipo==3
					@sactv_extension.push(@act)
				elsif tipo==4
					@sactv_formacion.push(@act)
				elsif tipo==5
					@sactv_otras.push(@act)
				end
			end

			@tactividadesa= AdecuacionActividad.where(adecuacion_id: @adecuacion.id, semestre: 3).all
			@tactividadesa.each do |actade| 
				@act= Actividad.find(actade.actividad_id)
				tipo= @act.tipo_actividad_id
				if tipo==1
					@tactv_docencia.push(@act)
				elsif tipo==2
					@tactv_investigacion.push(@act)
				elsif tipo==3
					@tactv_extension.push(@act)
				elsif tipo==4
					@tactv_formacion.push(@act)
				elsif tipo==5
					@tactv_otras.push(@act)
				end
			end

			@cactividadesa= AdecuacionActividad.where(adecuacion_id: @adecuacion.id, semestre: 4).all
			@cactividadesa.each do |actade| 
				@act= Actividad.find(actade.actividad_id)
				tipo= @act.tipo_actividad_id
				if tipo==1
					@cactv_docencia.push(@act)
				elsif tipo==2
					@cactv_investigacion.push(@act)
				elsif tipo==3
					@cactv_extension.push(@act)
				elsif tipo==4
					@cactv_formacion.push(@act)
				elsif tipo==5
					@cactv_otras.push(@act)
				end
			end

			@cactividadesa= AdecuacionActividad.where(adecuacion_id: @adecuacion.id, semestre: 5).all
			@cactividadesa.each do |actade| 
				@act= Actividad.find(actade.actividad_id)
				tipo= @act.tipo_actividad_id
				if tipo==1
					@dactv_docencia.push(@act)
				elsif tipo==2
					@dactv_investigacion.push(@act)
				elsif tipo==3
					@dactv_extension.push(@act)
				elsif tipo==4
					@dactv_formacion.push(@act)
				end
			end
			@documents = []
			@documents = Document.where(adecuacion_id: @adecuacion.id, informe_id: nil).all
			# se llama a la función de "pedf_adecuacion" del modelo "pdf", pasando todas las variables correspondientes
			respaldos = []
			respaldos = Respaldo.where(adecuacion_id: @adecuacion.id, informe_id: nil).all
			@numeroDeVersion = respaldos.size + 1
			@actividades1 = []
			actividades = AdecuacionActividad.where(adecuacion_id: @adecuacion.id, semestre: 0)
			if !actividades.blank?
				actividades.each do |actividadAde|
					actividad = Actividad.find(actividadAde.actividad_id)
					@actividades1.push(actividad)
				end
			end
			Pdf.pdf_adecuacion(@actividades1, @planformacion, @adecuacion, @tutor, @instructor, @correoi, @correot, @escuela, @pactv_docencia, @pactv_investigacion, @pactv_extension, @pactv_formacion, @pactv_otras, @sactv_docencia, @sactv_investigacion, @sactv_extension, @sactv_formacion, @sactv_otras, @tactv_docencia, @tactv_investigacion, @tactv_extension, @tactv_formacion, @tactv_otras, @cactv_docencia, @cactv_investigacion, @cactv_extension, @cactv_formacion, @cactv_otras, @fechaActual, @fechaConcurso, @documents, @numeroDeVersion, @dactv_docencia, @dactv_investigacion, @dactv_extension, @dactv_formacion)
			@nombre_archivo= @instructor.ci.to_s+'-'+@fechaActual+'-adecuacionV'+@numeroDeVersion.to_s+'.pdf' # se arma el nombre del documento 
			act = "#{Rails.root}/tmp/PDFs" + @nombre_archivo
			return @nombre_archivo # se retorna el nombre del archivo
		else
			flash[:info]="Seleccione una adecuación"
			redirect_to controller:"iniciotutor", action: "planformacions"
		end
  	end

	def mas_observaciones3 #mas obs de actividades del informe
		if(!session[:adecuacion_id].blank?)
			@adecuacion= Adecuacion.find(session[:adecuacion_id])
			@planformacion=Planformacion.find(@adecuacion.planformacion_id)
			if !@planformacion.blank?
				#Ver si el informe fue rachazado
				cpInstructor = Usuario.find(@planformacion.instructor_id)
				if (cpInstructor.activo == false)
					@cpBloquear = true
				else
					@cpBloquear = false
				end
				#fin
			end

			@semestre = params[:semestre].to_i
			@actividad_id = params[:actividad_id].to_i
			
			aa= AdecuacionActividad.where(adecuacion_id: @adecuacion.id, semestre: @semestre, actividad_id: @actividad_id).take
			
			@observaciones = ObservacionActividadAdecuacion.where(adecuacionactividad_id: aa.id)

			@observaciones.each do |obs|	
				if(obs.observaciones != "")
				@boolobs = 1
				end
			end
				

			@observaciones.each do |obs|

				rev = Revision.find(obs.revision_id)
			
				entidad = Usuarioentidad.where(usuario_id: rev.usuario_id).take

				
				if (entidad.entidad_id  >= 7 && entidad.entidad_id  <= 12)
					#comision investigacion		
					@obs_inv = obs.observaciones  #Estatus enviado a Comisión de Investigación
				elsif (entidad.entidad_id  >= 14 && entidad.entidad_id  <= 17)
					#Consejo tecnico
					@obs_consejoT = obs.observaciones
				elsif (entidad.entidad_id  >= 1 && entidad.entidad_id  <= 6)
					#Consejo de escuela
					@obs_consejoE = obs.observaciones
				elsif (entidad.entidad_id  == 13)
					#Consejo de Facultad
					@obs_consejoF =  obs.observaciones
				end	

			end
		else
			flash[:info]="Seleccione una adecuación"
			redirect_to controller:"iniciotutor", action: "planformacions"
		end
	end

	def ver_respaldos
		if session[:usuario_id] && session[:tutor] 
			if(!session[:adecuacion_id].blank?)
				@plan = Planformacion.where(id: session[:plan_id]).take
				if !@plan.blank?
					#Ver si el informe fue rachazado
					cpInstructor = Usuario.find(@plan.instructor_id)
					if (cpInstructor.activo == false)
						@cpBloquear = true
					else
						@cpBloquear = false
					end
					#fin
				end
				@documents = []
				if !session[:informe_id].blank?
					@documents = Respaldo.where(adecuacion_id: session[:adecuacion_id], informe_id: session[:informe_id], actual: 0).all
				else
					@documents = Respaldo.where(adecuacion_id: session[:adecuacion_id], informe_id: nil, actual: 0).all
				end
			else
				flash[:info]="Seleccione una adecuación"
				redirect_to controller:"iniciotutor", action: "planformacions"
			end
		else
		  redirect_to controller:"forminst", action: "index"
		end
	end

	def show

		if params[:informe_id].blank?
			@document = Respaldo.where(adecuacion_id: params[:adecuacion_id], informe_id: nil, version: params[:version].to_i, filename: params[:namefile]).take
		else
			@document = Respaldo.where(adecuacion_id: params[:adecuacion_id], informe_id: params[:informe_id],version: params[:version].to_i, filename: params[:namefile]).take
		end
	    send_data(@document.file_contents,
	              type: @document.content_type,
	              filename: @document.filename)
  	end

	def borrar_notificaciones #
		if session[:usuario_id] && session[:tutor]
			@noti= params[:noti]
    		notaeliminar = Notificacion.where(id: @noti ).take
    		if notaeliminar.blank?
    			flash[:danger] = "Ha ocurrido un error al eliminar (notificacion no existente)"
    		else
    			notaeliminar.destroy
    		end
			redirect_to controller:"iniciotutor", action: "notificaciones"
		else
			redirect_to controller:"forminst", action: "index"
		end
	end

	def borrar_notificaciones1 #
		if session[:usuario_id] && session[:tutor]
			@noti= params[:noti]
    		notaeliminar = Notificacion.where(id: @noti ).take
    		if notaeliminar.blank?
    			flash[:danger] = "Ha ocurrido un error al eliminar (notificación no existente)"
    		else
    			notaeliminar.destroy
    		end
			redirect_to controller:"iniciotutor", action: "index"
		else
			redirect_to controller:"forminst", action: "index"
		end
	end

	def notificaciones #Ver todas las notificaciones

		if session[:usuario_id] && session[:tutor]
    		@planformacions = Planformacion.where(tutor_id: session[:usuario_id])
    		@notificaciones1= []
			@notificaciones = Notificacion.where( tutor_id: session[:usuario_id]).all
			@notificaciones.each do |notificaciones|
				if notificaciones.actual == 1					#Caso de notificaciones del tutor
					@notificaciones1.push(notificaciones)
				end
			end
		else
			redirect_to controller:"forminst", action: "index"
		end
	end
end
<file_sep>/forminst_new1/app/controllers/usuarioentidads_controller.rb
class UsuarioentidadsController < ApplicationController
  before_action :set_usuarioentidad, only: [:show, :edit, :update, :destroy]

  # GET /usuarioentidads
  # GET /usuarioentidads.json
  def index
    @usuarioentidads = Usuarioentidad.all
  end

  # GET /usuarioentidads/1
  # GET /usuarioentidads/1.json
  def show
  end

  # GET /usuarioentidads/new
  def new
    @usuarioentidad = Usuarioentidad.new
  end

  # GET /usuarioentidads/1/edit
  def edit
  end

  # POST /usuarioentidads
  # POST /usuarioentidads.json
  def create
    @usuarioentidad = Usuarioentidad.new(usuarioentidad_params)

    respond_to do |format|
      if @usuarioentidad.save
        format.html { redirect_to @usuarioentidad, notice: 'Usuarioentidad was successfully created.' }
        format.json { render :show, status: :created, location: @usuarioentidad }
      else
        format.html { render :new }
        format.json { render json: @usuarioentidad.errors, status: :unprocessable_entity }
      end
    end
  end

  # PATCH/PUT /usuarioentidads/1
  # PATCH/PUT /usuarioentidads/1.json
  def update
    respond_to do |format|
      if @usuarioentidad.update(usuarioentidad_params)
        format.html { redirect_to @usuarioentidad, notice: 'Usuarioentidad was successfully updated.' }
        format.json { render :show, status: :ok, location: @usuarioentidad }
      else
        format.html { render :edit }
        format.json { render json: @usuarioentidad.errors, status: :unprocessable_entity }
      end
    end
  end

  # DELETE /usuarioentidads/1
  # DELETE /usuarioentidads/1.json
  def destroy
    @usuarioentidad.destroy
    respond_to do |format|
      format.html { redirect_to usuarioentidads_url, notice: 'Usuarioentidad was successfully destroyed.' }
      format.json { head :no_content }
    end
  end

  private
    # Use callbacks to share common setup or constraints between actions.
    def set_usuarioentidad
      @usuarioentidad = Usuarioentidad.find(params[:id])
    end

    # Never trust parameters from the scary internet, only allow the white list through.
    def usuarioentidad_params
      params.require(:usuarioentidad).permit(:id, :usuarioId, :entidadesId)
    end
end
<file_sep>/forminst_new1/app/views/prorrogas/index.json.jbuilder
json.array!(@prorrogas) do |prorroga|
  json.extract! prorroga, :id, :id, :planFormacionId
  json.url prorroga_url(prorroga, format: :json)
end
<file_sep>/forminst_new1/app/models/notificacion.rb
class Notificacion < ActiveRecord::Base
	has_many :usuario
	has_one :adecuacion
	has_one :informe
end
<file_sep>/forminst_new1/app/views/documents/_document.json.jbuilder
json.extract! document, :id, :filename, :content_type, :file_contents, :created_at, :updated_at, :instructor_id, :tutor_id, :adecuacion_id, :informe_id
json.url document_url(document, format: :json)
<file_sep>/forminst_new1/app/views/documentoplans/show.json.jbuilder
json.extract! @documentoplan, :id, :id, :planFormacionId, :archivo, :created_at, :updated_at
<file_sep>/forminst_new1/app/controllers/entidads_controller.rb
class EntidadsController < ApplicationController
  before_action :set_entidad, only: [:show, :edit, :update, :destroy]

  # GET /entidads
  # GET /entidads.json
  def index
    @entidads = Entidad.all
  end

  # GET /entidads/1
  # GET /entidads/1.json
  def show
  end

  # GET /entidads/new
  def new
    @entidad = Entidad.new
  end

  # GET /entidads/1/edit
  def edit
  end

  # POST /entidads
  # POST /entidads.json
  def create
    @entidad = Entidad.new(entidad_params)

    respond_to do |format|
      if @entidad.save
        format.html { redirect_to @entidad, notice: 'Entidad was successfully created.' }
        format.json { render :show, status: :created, location: @entidad }
      else
        format.html { render :new }
        format.json { render json: @entidad.errors, status: :unprocessable_entity }
      end
    end
  end

  # PATCH/PUT /entidads/1
  # PATCH/PUT /entidads/1.json
  def update
    respond_to do |format|
      if @entidad.update(entidad_params)
        format.html { redirect_to @entidad, notice: 'Entidad was successfully updated.' }
        format.json { render :show, status: :ok, location: @entidad }
      else
        format.html { render :edit }
        format.json { render json: @entidad.errors, status: :unprocessable_entity }
      end
    end
  end

  # DELETE /entidads/1
  # DELETE /entidads/1.json
  def destroy
    @entidad.destroy
    respond_to do |format|
      format.html { redirect_to entidads_url, notice: 'Entidad was successfully destroyed.' }
      format.json { head :no_content }
    end
  end

  private
    # Use callbacks to share common setup or constraints between actions.
    def set_entidad
      @entidad = Entidad.find(params[:id])
    end

    # Never trust parameters from the scary internet, only allow the white list through.
    def entidad_params
      params.require(:entidad).permit(:id, :nombre, :escuelaId)
    end
end
<file_sep>/forminst_new1/app/models/observacion_actividad_informe.rb
class ObservacionActividadInforme < ActiveRecord::Base
	belongs_to :informe_actividad
	belongs_to :revision
end
<file_sep>/forminst_new1/app/views/usuarioentidads/show.json.jbuilder
json.extract! @usuarioentidad, :id, :id, :usuarioId, :entidadesId, :created_at, :updated_at
<file_sep>/forminst_new1/app/assets/javascripts/application.js
// This is a manifest file that'll be compiled into application.js, which will include all the files
// listed below.
//
// Any JavaScript/Coffee file within this directory, lib/assets/javascripts, vendor/assets/javascripts,
// or vendor/assets/javascripts of plugins, if any, can be referenced here using a relative path.
//
// It's not advisable to add code directly here, but if you do, it'll appear at the bottom of the
// compiled file.
//
// Read Sprockets README (https://github.com/sstephenson/sprockets#sprockets-directives) for details
// about supported directives.
//
//= require jquery
//= require jquery_ujs
//= require turbolinks
//= require jquery-2.1.3.min
//= require bootstrap
//= require_tree .
//= require bootstrap-datepicker
//= require bootstrap-datepicker/core
//= require bootstrap-datepicker/locales/bootstrap-datepicker.es.js
//= require bootstrap-datepicker/locales/bootstrap-datepicker.fr.js

function fecha(){
	var fecha=new Date()
	var ano=fecha.getYear()
	if (ano < 1000)
	ano+=1900
	var dia=fecha.getDay()
	var mes=fecha.getMonth()
	var diaS=fecha.getDate()
	if (diaS<10)
	diaS="0"+diaS
	var diassemana=new Array("Domingo","Lunes","Martes","Miércoles","Jueves","Viernes","Sabado")
	var meses=new Array("enero","febrero","marzo","abril","mayo","junio","julio","agosto","septiembre","octubre","noviembre","diciembre")
	$('#fechamuestra').append("<h4>"+diassemana[dia]+", "+diaS+" de "+meses[mes]+" de "+ano+"</h4>")
}


$('#boton_enviar').click(function(e) {
	$(this).prop('disabled', true);
	$(this).addClass('disabled');
    //do other stuff when a click happens
});<file_sep>/forminst_new1/test/controllers/documentoplans_controller_test.rb
require 'test_helper'

class DocumentoplansControllerTest < ActionController::TestCase
  setup do
    @documentoplan = documentoplans(:one)
  end

  test "should get index" do
    get :index
    assert_response :success
    assert_not_nil assigns(:documentoplans)
  end

  test "should get new" do
    get :new
    assert_response :success
  end

  test "should create documentoplan" do
    assert_difference('Documentoplan.count') do
      post :create, documentoplan: { archivo: @documentoplan.archivo, id: @documentoplan.id, planFormacionId: @documentoplan.planFormacionId }
    end

    assert_redirected_to documentoplan_path(assigns(:documentoplan))
  end

  test "should show documentoplan" do
    get :show, id: @documentoplan
    assert_response :success
  end

  test "should get edit" do
    get :edit, id: @documentoplan
    assert_response :success
  end

  test "should update documentoplan" do
    patch :update, id: @documentoplan, documentoplan: { archivo: @documentoplan.archivo, id: @documentoplan.id, planFormacionId: @documentoplan.planFormacionId }
    assert_redirected_to documentoplan_path(assigns(:documentoplan))
  end

  test "should destroy documentoplan" do
    assert_difference('Documentoplan.count', -1) do
      delete :destroy, id: @documentoplan
    end

    assert_redirected_to documentoplans_path
  end
end
<file_sep>/forminst_new1/app/views/actividads/show.json.jbuilder
json.extract! @actividad, :id, :id, :tipoActividadId, :actividad, :anulada, :created_at, :updated_at
<file_sep>/forminst_new1/app/controllers/adecuacions_controller.rb
class AdecuacionsController < ApplicationController

  def generar_pdf() # es función permite generar el documento pdf de la adecuación
    @adecuacion= Adecuacion.find(session[:adecuacion_id]) # se obtienen la información de la adecuación seleccionada
    @planformacion= Planformacion.find(@adecuacion.planformacion_id)
    @fechaConcurso = @planformacion.fecha_inicio
    @id_docente= @planformacion.tutor_id # se obtiene el indicador del ususario al que corresponde la adecuación
    @usertutor= Usuario.find(@id_docente) # se obtiene la información del tutor mediante la base de datos y la variable anterior
    @tutor= Persona.where(usuario_id: @id_docente).take
    @id_instructor= @planformacion.instructor_id # se toma el identificador del instructor
    @userinst=Usuario.find(@id_instructor) # se obtienen toda la información del instructor 
    @instructor= Persona.where(usuario_id: @id_instructor).take
    @fechaActual = Date.current.to_s
    @userentidad= Usuarioentidad.where(usuario_id: @planformacion.instructor_id).take
      if @userentidad.escuela_id == nil
        @userentidad.escuela_id=12
        @userentidad.save
        @escuela= Escuela.where(id: @userentidad.escuela_id).take
      else
        @escuela= Escuela.where(id: @userentidad.escuela_id).take
      end

    @userinst2=Usuario.find(@id_docente) # se obtienen toda la información del tutor
    @correot= @userinst2.user+'@<EMAIL>'
    @correoi=  @userinst.user+'@<EMAIL>'
    
    @pactv_docencia= []
    @pactv_investigacion= []
    @pactv_formacion= []
    @pactv_extension=[]
    @pactv_otras=[]
    @sactv_docencia= []
    @sactv_investigacion= []
    @sactv_formacion= []
    @sactv_extension=[]
    @sactv_otras=[]
    @tactv_docencia= []
    @tactv_investigacion= []
    @tactv_formacion= []
    @tactv_extension=[]
    @tactv_otras=[]
    @cactv_docencia= []
    @cactv_investigacion= []
    @cactv_formacion= []
    @cactv_extension=[]
    @cactv_otras=[]
    @dactv_docencia= []
    @dactv_investigacion= []
    @dactv_formacion= []
    @dactv_extension=[]

    @actividadesa= AdecuacionActividad.where(adecuacion_id: @adecuacion.id, semestre: 1).all
    @actividadesa.each do |actade| 
      @act= Actividad.find(actade.actividad_id)
      tipo= @act.tipo_actividad_id
      if tipo==1
        @pactv_docencia.push(@act)
      else
        if tipo==2
          @pactv_investigacion.push(@act)
        else
          if tipo==3
            @pactv_extension.push(@act)
          else
            if tipo==4
              @pactv_formacion.push(@act)
            else
              if tipo==5
                @pactv_otras.push(@act)
              end
            end
          end
        end
      end
    end

    @sactividadesa= AdecuacionActividad.where(adecuacion_id: @adecuacion.id, semestre: 2).all
    @sactividadesa.each do |actade| 
      @act= Actividad.find(actade.actividad_id)
      tipo= @act.tipo_actividad_id
      if tipo==1
        @sactv_docencia.push(@act)
      else
        if tipo==2
          @sactv_investigacion.push(@act)
        else
          if tipo==3
            @sactv_extension.push(@act)
          else
            if tipo==4
              @sactv_formacion.push(@act)
            else
              if tipo==5
                @sactv_otras.push(@act)
              end
            end
          end
        end
      end
    end

    @tactividadesa= AdecuacionActividad.where(adecuacion_id: @adecuacion.id, semestre: 3).all
    @tactividadesa.each do |actade| 
      @act= Actividad.find(actade.actividad_id)
      tipo= @act.tipo_actividad_id
      if tipo==1
        @tactv_docencia.push(@act)
      else
        if tipo==2
          @tactv_investigacion.push(@act)
        else
          if tipo==3
            @tactv_extension.push(@act)
          else
            if tipo==4
              @tactv_formacion.push(@act)
            else
              if tipo==5
                @tactv_otras.push(@act)
              end
            end
          end
        end
      end
    end

    @cactividadesa= AdecuacionActividad.where(adecuacion_id: @adecuacion.id, semestre: 4).all
    @cactividadesa.each do |actade| 
      @act= Actividad.find(actade.actividad_id)
      tipo= @act.tipo_actividad_id
      if tipo==1
        @cactv_docencia.push(@act)
      else
        if tipo==2
          @cactv_investigacion.push(@act)
        else
          if tipo==3
            @cactv_extension.push(@act)
          else
            if tipo==4
              @cactv_formacion.push(@act)
            else
              if tipo==5
                @cactv_otras.push(@act)
              end
            end
          end
        end
      end
    end

    @cactividadesa= AdecuacionActividad.where(adecuacion_id: @adecuacion.id, semestre: 5).all
    @cactividadesa.each do |actade| 
      @act= Actividad.find(actade.actividad_id)
      tipo= @act.tipo_actividad_id
      if tipo==1
        @dactv_docencia.push(@act)
      else
        if tipo==2
          @dactv_investigacion.push(@act)
        else
          if tipo==3
            @dactv_extension.push(@act)
          else
            if tipo==4
              @dactv_formacion.push(@act)
            end
          end
        end
      end
    end
    @documents = []
    @documents = Document.where(adecuacion_id: @adecuacion.id, informe_id: nil).all
    @numeroDeVersion = nil
    @actividades1 = []
    actividades = AdecuacionActividad.where(adecuacion_id: @adecuacion.id, semestre: 0)
    if !actividades.blank?
      actividades.each do |actividadAde|
        actividad = Actividad.find(actividadAde.actividad_id)
          @actividades1.push(actividad)
      end
    end
    # se llama a la función de "pedf_adecuacion" del modelo "pdf", pasando todas las variables correspondientes
    Pdf.pdf_adecuacion(@actividades1, @planformacion, @adecuacion, @tutor, @instructor, @correoi, @correot, @escuela, @pactv_docencia, @pactv_investigacion, @pactv_extension, @pactv_formacion, @pactv_otras, @sactv_docencia, @sactv_investigacion, @sactv_extension, @sactv_formacion, @sactv_otras, @tactv_docencia, @tactv_investigacion, @tactv_extension, @tactv_formacion, @tactv_otras, @cactv_docencia, @cactv_investigacion, @cactv_extension, @cactv_formacion, @cactv_otras, @fechaActual, @fechaConcurso, @documents, @numeroDeVersion, @dactv_docencia, @dactv_investigacion, @dactv_extension, @dactv_formacion)
    @nombre_archivo= @instructor.ci.to_s+'-'+@fechaActual+'-adecuacion.pdf' # se arma el nombre del documento 
    act = "#{Rails.root}/tmp/PDFs/" + @nombre_archivo
    #act = @nombre_archivo        #PRODUCCION
    send_file(
      act,
      filename: @nombre_archivo,
      type: "application/pdf"
    )
    return @nombre_archivo # se retorna el nombre del archivo
  end

####################################################################################  
  def descargar_pdf # esta función permite la generación y descarga del archivo PDF del documento
    require 'prawn'
    pdf = Prawn::Document.new
    pdf.text "Hello It's me"
    pdf.render_file "example.pdf"
    return "example.pdf"
    #pdf_filename = File.join(Rails.root, "example.pdf")
    #send_file(pdf_filename, :filename => "example.pdf", :disposition => 'inline', :type => "application/pdf")

  end

end
<file_sep>/forminst_new1/app/models/tipo_actividad.rb
class TipoActividad < ActiveRecord::Base
	has_many :actividad
	has_many :tipo_resultado
end
<file_sep>/forminst_new1/app/views/documentoplans/index.json.jbuilder
json.array!(@documentoplans) do |documentoplan|
  json.extract! documentoplan, :id, :id, :planFormacionId, :archivo
  json.url documentoplan_url(documentoplan, format: :json)
end
<file_sep>/forminst_new1/app/views/tiporesultados/index.json.jbuilder
json.array!(@tiporesultados) do |tiporesultado|
  json.extract! tiporesultado, :id, :id, :tipoActividadId, :idPadre, :concepto
  json.url tiporesultado_url(tiporesultado, format: :json)
end
<file_sep>/forminst_new1/db/migrate/20150511190755_create_tipo_estatus.rb
class CreateTipoEstatus < ActiveRecord::Migration
  def change
    create_table :tipo_estatus do |t|

      t.timestamps
    end
  end
end
<file_sep>/forminst_new1/app/models/tipo_estatus.rb
class TipoEstatus < ActiveRecord::Base
	has_many :estatus_informe
	has_many :estatus_adecuacion
	has_many :revision
end
<file_sep>/forminst_new1/app/views/actividadejecutadas/index.json.jbuilder
json.array!(@actividadejecutadas) do |actividadejecutada|
  json.extract! actividadejecutada, :id, :id, :descripcion, :fecha, :actual, :informeActividadId
  json.url actividadejecutada_url(actividadejecutada, format: :json)
end
<file_sep>/forminst_new1/test/controllers/adecuacionactividads_controller_test.rb
require 'test_helper'

class AdecuacionactividadsControllerTest < ActionController::TestCase
  setup do
    @adecuacionactividad = adecuacionactividads(:one)
  end

  test "should get index" do
    get :index
    assert_response :success
    assert_not_nil assigns(:adecuacionactividads)
  end

  test "should get new" do
    get :new
    assert_response :success
  end

  test "should create adecuacionactividad" do
    assert_difference('Adecuacionactividad.count') do
      post :create, adecuacionactividad: { actividadId: @adecuacionactividad.actividadId, adecuacionId: @adecuacionactividad.adecuacionId, anulada: @adecuacionactividad.anulada, id: @adecuacionactividad.id, semestre: @adecuacionactividad.semestre }
    end

    assert_redirected_to adecuacionactividad_path(assigns(:adecuacionactividad))
  end

  test "should show adecuacionactividad" do
    get :show, id: @adecuacionactividad
    assert_response :success
  end

  test "should get edit" do
    get :edit, id: @adecuacionactividad
    assert_response :success
  end

  test "should update adecuacionactividad" do
    patch :update, id: @adecuacionactividad, adecuacionactividad: { actividadId: @adecuacionactividad.actividadId, adecuacionId: @adecuacionactividad.adecuacionId, anulada: @adecuacionactividad.anulada, id: @adecuacionactividad.id, semestre: @adecuacionactividad.semestre }
    assert_redirected_to adecuacionactividad_path(assigns(:adecuacionactividad))
  end

  test "should destroy adecuacionactividad" do
    assert_difference('Adecuacionactividad.count', -1) do
      delete :destroy, id: @adecuacionactividad
    end

    assert_redirected_to adecuacionactividads_path
  end
end
<file_sep>/forminst_new1/app/models/informe.rb
class Informe < ActiveRecord::Base
	belongs_to :usuario
	belongs_to :planformacion
	has_many :estatusinforme
	has_many :revision
	has_many :informeactividad
	has_many :documentoinforme
	belongs_to :tipo_informe
end<file_sep>/forminst_new1/app/mailers/action_correo.rb
class ActionCorreo < ActionMailer::Base
  	default from: "FORMINST"

  	def envio_informe(remitente, mensaje, id, link,document) ##ID :: 0 = ENTIDAD, 1 = INSTRUCTOR, 2 T= TUTOR
  		@id = id
  		@mensaje = mensaje
  		if remitente.to_s.include? "@gmail.com"
			email = remitente
		else
			email = remitente.user + "@ciens.ucv.ve"
		end
  		@email= email
		@user_email = '<EMAIL>'
		@link = link
		attachments[document.filename] = document.file_contents		
		if (id == 0	&& !(remitente.to_s.include? "@gmail.com"))	##ENTIDAD
			uEntidad = Usuarioentidad.where(usuario_id: remitente.id).take
			pertenecientes = Aenviar.where(entidad_id: uEntidad.entidad_id)
			nombreEntidad = Entidad.find(uEntidad.entidad_id).nombre
			pertenecientes.each do |email|
				mail(to: [@user_email,email], subject: nombreEntidad + ': Ha recibido una nueva Adecuación')
			end
			mail(to: [@user_email,@email], subject: 'Ha recibido un nuevo Informe')
		else			##TUTOR O INSTRUCTOR
			mail(to: [@user_email,@email], subject: 'Avance de Informe')
		end
	end

	def envio_adecuacion(remitente, mensaje, id, link,document)
  		@id = id
		@mensaje = mensaje
		if remitente.to_s.include? "@gmail.com"
			email = remitente
		else
			email = remitente.user + "@ciens.ucv.ve"
		end
  		@email= email
		@user_email = '<EMAIL>'
		@link = link
		attachments[document.filename] = document.file_contents				
		if (id == 0	&& !(remitente.to_s.include? "@gmail.com"))		##ENTIDAD
			uEntidad = Usuarioentidad.where(usuario_id: remitente.id).take
			pertenecientes = Aenviar.where(entidad_id: uEntidad.entidad_id)
			nombreEntidad = Entidad.find(uEntidad.entidad_id).nombre
			pertenecientes.each do |email|
				mail(to: [@user_email,email], subject: nombreEntidad + ': Ha recibido una nueva Adecuación')
			end
			mail(to: [@user_email,@email], subject: 'Ha recibido una nueva Adecuación')
		else			##TUTOR O INSTRUCTOR
			mail(to: [@user_email,@email], subject: 'Avance de Adecuación')
		end
	end

	def retraso_informe(remitente, mensaje, link)
  		@mensaje = mensaje
  		email = remitente.user + "@ciens.ucv.ve"
  		@email= email
		@user_email = '<EMAIL>'
		@link = link
		mail(to: [@user_email,@email], subject: 'Recordatorio de envío de informe')
	end

	def creacion_de_instructor(remitente, mensaje, id, link)
  		@id = id
  		@mensaje = mensaje
  		email = remitente.user + "@<EMAIL>"
  		@email= email
		@user_email = '<EMAIL>'
		@link = link
		if id == 0		##INSTRUCTOR
			mail(to: [@user_email,@email], subject: '¡Bienvenido a FORMINST!')
		else			##TUTOR
			mail(to: [@user_email,@email], subject: 'Nueva Asignación de Instructor')
		end
	end

	def creacion_de_tutor(remitente, mensaje)
  		@mensaje = mensaje
  		email = remitente.user + "@ciens.ucv.ve"
  		@email= email
		@link = "http://formacion.ciens.ucv.ve"
		@user_email = '<EMAIL>'
		mail(to: [@user_email,@email], subject: '¡Bienvenido a FORMINST!')
	end
end
