48 lines
2.4 KiB
Transact-SQL
48 lines
2.4 KiB
Transact-SQL
-- =============================================
|
|
-- 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
|