Commit f29dc0fb authored by Johan Vervloet's avatar Johan Vervloet

Testdatabase nog wat bijgewerkt.

parent 8aaf6dad
......@@ -25,10 +25,8 @@ Installeer de [SQL server tools](https://docs.microsoft.com/en-us/sql/linux/sql-
### Database inlezen:
```
/opt/mssql-tools/bin/sqlcmd -U sa -P Db_Root_Pw -d gap_local < database/sql/gap-tabellen.sql
/opt/mssql-tools/bin/sqlcmd -U sa -P Db_Root_Pw -d gap_local < database/sql/gap-testdata.sql
/opt/mssql-tools/bin/sqlcmd -U sa -P Db_Root_Pw -d gap_local < database/sql/gap-straten.sql
/opt/mssql-tools/bin/sqlcmd -U sa -P Db_Root_Pw -d gap_local < database/sql/gap-keys-indexes.sql
/opt/mssql-tools/bin/sqlcmd -U sa -P Db_Root_Pw -d gap_local < database/sql/gap-procedures.sql
```
### Troubleshooting
......
Voer achtereenvolgens uit:
* gap-tabellen.sql
* gap-testdata.sql
* gap-keys-indexes.sql
* gap-straten.sql
* gap-procedures.sql
Dan zouden we al ergens moeten komen :-)
This diff is collapsed.
-- procedures, vooral voor intranet/extranet
CREATE PROCEDURE [auth].[spGebruikersRechtToekennenAd]
(
@stamNr VARCHAR(10)
, @adNr int
)
AS
-- Doel: Geeft login gebruikersrecht op gegeven groep
-- Als de persoon ooit gebruikersrecht had, wordt dit gewoon verlengd.
BEGIN
-- bepaal de vervaldatum.
declare @datum datetime
, @jaar varchar(4)
-- Vanaf juli gaan we ervan uit dat de login voor degene is
-- die het volgende werkjaar de groepsadministratie zal regelen.
IF MONTH(getdate()) >= 7
set @jaar = cast(year(getdate()) + 1 as varchar)
ELSE
set @jaar = cast(year(getdate()) as varchar)
set @datum = @jaar + '-11-01';
-- Verwijder eventueel oud gebruikersrecht.
DELETE gr FROM auth.GebruikersRechtV2 gr
JOIN pers.Persoon p ON gr.PersoonID = p.PersoonID
JOIN grp.Groep g ON gr.GroepID = g.GroepID
WHERE p.AdNummer=@adNr AND g.Code=@stamNr;
INSERT INTO auth.GebruikersRechtV2(PersoonID, GroepID, VervalDatum, GroepsPermissies, IedereenPermissies, PersoonsPermissies)
SELECT
p.PersoonID, g.GroepID, @datum, 3, 3, 1 -- Je moet jezelf kunnen zien om toegang te hebben, zie #5618
FROM
pers.Persoon p
, grp.Groep g
WHERE
p.AdNummer=@adNr
AND g.Code=@stamnr
IF @@ROWCOUNT <= 0
BEGIN
RAISERROR('Dat StamNr is niet gevonden in de tabel Groep', 16, 1)
END
END
GO
-- procedures voor dev (moet weg uit live db)
CREATE PROCEDURE [auth].[spWillekeurigeGroepToekennenAd]
(
@adNr int
)
AS
-- Doel: Kent rechten toe aan persoon met gegeven AD-nummer.
-- Als er geen gebruiker is met gegeven AD-nummer, wordt die gemaakt op basis
-- van meegeleverde naam en voornaam.
BEGIN
DECLARE @stamnr as varchar(10);
set @stamnr = (select top 1 g.Code from grp.Groep g where g.StopDatum is null order by newid());
exec auth.spGebruikersRechtToekennenAd @stamnr, @adNr
END
GO
This diff is collapsed.
This diff is collapsed.
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment