-- =============================================
-- Author:    Sólyom Péter
-- Create date: 2016.04.21.
-- Description:  Lehetséges szerepkörök lekérdezése felhasználóhoz.
-- =============================================

DROP PROCEDURE IF EXISTS sp_GetUserRoles
GO

CREATE PROCEDURE sp_GetUserRoles
  @FELHASZNALOID int
AS
BEGIN
  SET NOCOUNT ON;

    -- lekérdezi a felhasználói szerepköröket: Adminisztrator, Fenntarto
  SELECT SZEREPKOR.C_SZEREPKORTIPUS SZEREPKOR
  FROM T_FELHASZNALO_SZEREPKOR FSZ
    JOIN T_SZEREPKOR SZEREPKOR on SZEREPKOR.ID = FSZ.C_SZEREPKORID
  /*  LEFT JOIN T_MUNKAUGYIADATOK MUNKAUGY ON MUNKAUGY.C_ALKALMAZOTTID = FSZ.C_FELHASZNALOID 
      AND MUNKAUGY.C_ALKALMAZASKEZDETE <= GETDATE() AND (MUNKAUGY.C_ALKALMAZASMEGSZUNESE IS NULL OR MUNKAUGY.C_ALKALMAZASMEGSZUNESE >= GETDATE()) AND MUNKAUGY.TOROLT='F'*/
  WHERE FSZ.C_FELHASZNALOID = @FELHASZNALOID
  UNION
  SELECT 1758  -- IGAZGATÓ VAGY IGAZGATÓ HELYETTES AUTOMATIKUS ADMIN JOGOT KAP
    FROM T_MUNKAUGYIADATOK MUNKAUGY 
      WHERE MUNKAUGY.C_ALKALMAZOTTID = @FELHASZNALOID
        AND MUNKAUGY.C_ALKALMAZASKEZDETE <= GETDATE() AND (MUNKAUGY.C_ALKALMAZASMEGSZUNESE IS NULL OR MUNKAUGY.C_ALKALMAZASMEGSZUNESE >= GETDATE())
        AND MUNKAUGY.TOROLT='F'
        AND MUNKAUGY.C_MUNKAKORTIPUSA IN (1762,1763) -- IGAZGATÓ VAGY IGAZGATÓ HELYETTES
  UNION
  -- lekérdezi a felhasználót, hogy diák-e (ellenőrző könyvbe beléphet)
  SELECT 1761 FROM T_TANULO tt WHERE ID=@FELHASZNALOID AND tt.TOROLT='F'
/*  UNION  -- Csak akkor léphet be az elektronikus naplóba, ha jogot kapott rá
  -- LEKÉRDEZI HOGY A NAPLÓBA BELÉPHET (ALKALMAZOTTNAK VAN TANÁRI TÁRGYA VAGY TANTÁRGYFELOSZTÁSA VAGY TANÓRÁN KÍVÜLI FOGLALKOZÁSA)
  SELECT DISTINCT 1760
    FROM T_MUNKAUGYIADATOK MUNKAUGY 
      WHERE MUNKAUGY.C_ALKALMAZOTTID = @FELHASZNALOID
        AND (MUNKAUGY.C_ALKALMAZASMEGSZUNESE IS NULL OR MUNKAUGY.C_ALKALMAZASKEZDETE <= GETDATE())
        AND (MUNKAUGY.C_ALKALMAZASMEGSZUNESE IS NULL OR MUNKAUGY.C_ALKALMAZASMEGSZUNESE >= GETDATE())
        AND MUNKAUGY.TOROLT='F'
        AND NOT EXISTS ( SELECT 1 
                  FROM T_JOGOSULTSAG_FELHASZNALO JOGFELH
                    JOIN T_JOGOSULTSAG JOG ON JOG.ID = JOGFELH.C_JOGOSULTSAGID
                    WHERE JOGFELH.C_FELHASZNALOID = @FELHASZNALOID
                      AND JOG.C_JOG = 'Szuperadmin' )    -- Szuperadmin joggal nem lehet Elektronikus naplóba belépni
                      */
END
GO