Skip to content
Snippets Groups Projects
hotfix2.3.9.sql 1000 B
Newer Older
DROP FUNCTION IF EXISTS public.deletemodulebonus(pteacherid integer, pdisciplineid integer);
CREATE OR REPLACE FUNCTION public.deletemodulebonus(pteacherid integer, pdisciplineid integer)
  RETURNS integer
LANGUAGE plpgsql
AS $function$
DECLARE vBonusModuleID INT DEFAULT -1;
begin
  --	select public.deletemodulebonus(
  --	:pteacherid,	-- put the pteacherid parameter value instead of 'pteacherid' (int4)
  --	:pdisciplineid 	-- put the pdisciplineid parameter value instead of 'pdisciplineid' (int4)
  --);

  select * from GetBonusModule(pDisciplineID) into vBonusModuleID;
  CASE WHEN  NOT InternalIsTeacherAuthor(pTeacherID, pDisciplineID) OR
             InternalIsMapLocked(pDisciplineID)
    THEN
      RETURN -1;
  else null;
  END CASE;

  CASE WHEN vBonusModuleID <= 0 THEN
    RETURN -1;
  else null;
  END CASE;

  DELETE FROM submodules
  WHERE vBonusModuleID = submodules.ModuleID;

  DELETE FROM modules
  WHERE vBonusModuleID = modules.ID;
  --LIMIT 1;

  RETURN 0;
END
$function$;