-- +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
-- SIU-GUARANI 3
-- Version 3.0.0
-- Function: f_propuestas_comision
--
-- Retorna las propuestas definidas para una comision
--  
-- Recibe:  f_propuestas_comision(integer)
--		1. ID de la comision
-- Retorna: 
--      1. Nombre de la/s propuestas/s de la comision
-- Ejemplo: Regular / Libre
-- +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

-- DROP FUNCTION f_propuestas_comision(integer);
CREATE OR REPLACE FUNCTION f_propuestas_comision(_comision INTEGER) 
 RETURNS TEXT AS 
$BODY$
DECLARE 
  cnt smallint;
  _retorno  text;
  cur1 record;
        
  BEGIN
   cnt := 0;	
   _retorno := NULL;
		
  -- Recupero el nombre de las modalidades de cursada
  FOR cur1 IN SELECT DISTINCT sga_propuestas.nombre_abreviado as nombre
  		FROM sga_comisiones_propuestas, sga_propuestas
                WHERE sga_comisiones_propuestas.comision = _comision
                AND sga_comisiones_propuestas.propuesta = sga_propuestas.propuesta
  LOOP
      IF cnt = 0 THEN		
         _retorno :=  cur1.nombre;
      ELSE
         _retorno :=  _retorno || '/' || cur1.nombre;
      END IF;   
      cnt := cnt + 1;
  END LOOP;
	
  RETURN _retorno;
    
  END;
$BODY$
LANGUAGE 'plpgsql' VOLATILE;
-- ++++++++++++++++++++++++++++++ Fin Function f_propuestas_comision(integer) ++++++++++++++++

-- REVOKE EXECUTE ON FUNCTION f_propuestas_comision (integer) FROM public;
GRANT EXECUTE ON FUNCTION f_propuestas_comision (integer) to public;

