From ccb328f2ef9baf0eae22fe076506f9a7bc3aeac8 Mon Sep 17 00:00:00 2001 From: Jos Groot Lipman Date: Mon, 27 Mar 2017 13:59:18 +0000 Subject: [PATCH] FSN#39750 Authenticatie 'Apps', savepoint svn path=/Database/trunk/; revision=33268 --- FAC/FAC_LCL.SRC | 29 ++++++++--------- FAC/FAC_TAB.SRC | 6 ++++ FCLT.NMK | 4 +++ FCLT.SRC | 3 ++ PRS/PRS_TAB.SRC | 7 ++++ _UP/DB30to31.src | 85 +++++++++++++++++++++++++++++++++++++++++++++--- _UP/recreate.inc | 1 + 7 files changed, 115 insertions(+), 20 deletions(-) diff --git a/FAC/FAC_LCL.SRC b/FAC/FAC_LCL.SRC index 54ce0f41..a830d57e 100644 --- a/FAC/FAC_LCL.SRC +++ b/FAC/FAC_LCL.SRC @@ -1321,6 +1321,7 @@ FAC_LCL('lcl_res_item_price', 'Actuele prijs per stuk', 'Actual item price', 'Ak FAC_LCL('lcl_res_inf_kostenklant', 'Kosten klant', 'Cust. pays', 'Kostenstelle', 'Coûts client') FAC_LCL('lcl_res_deel_head1', 'Deze reservering bestaat uit ', 'This reservation consists of ', 'Diese Reservierung besteht aus ', 'Cette réservation se compose de ') FAC_LCL('lcl_res_deel_head2', ' deelreservering(en).
Wat wilt u verwijderen?
', ' reservation part(s).
What do you want to delete?', ' Teilreservierung(en).
Welche wollen Sie löschen?', ' sous réservation(s).
Quelles voulez-vous supprimer?') +FAC_LCL('lcl_res_del_multi_head', 'U wilt {0} (deel)reserveringen gaan verwijderen.', 'You want to delete {0} reservations', 'Sie möchten {0} Reservierungen löschen', 'Vous voulez supprimer {0} réservations') FAC_LCL('lcl_res_btn_current', 'Huidige', 'Current', 'Heutige', 'Actuelle') FAC_LCL('lcl_res_btn_future', 'Toekomstige', 'Future', 'Zukünftige', 'Future') FAC_LCL('lcl_res_btn_total', 'Volledig', 'All', 'Vollständig', 'Entière') @@ -1328,6 +1329,7 @@ FAC_LCL('lcl_res_confirm_delete_afspraak', 'Wilt u deze reservering verwijderen? FAC_LCL('lcl_res_del_txt_current', 'Verwijder alleen deze deelreservering', 'Only delete this recurrence', 'Löschen Sie nur diese Teilreservierung', 'Suprrimer seulement cette sous réservation') FAC_LCL('lcl_res_del_txt_future', 'Verwijder deze en toekomstige deelreserveringen', 'Delete this and all future recurrences', 'Löschen Sie diese und spätere Teilreservierungen', 'Supprimer cette et sous réservations futures') FAC_LCL('lcl_res_del_txt_total', 'Verwijder de gehele reservering', 'Delete the entire reservation', 'Löschen Sie die ganze Reservierung', 'Supprimer l''entière réservation') +FAC_LCL('lcl_res_del_txt_multi', 'Verwijder {0} (deel)reserveringen', 'Delete {0} reservations', '{0} Reservierungen löschen', 'Supprimer {0} réservations') FAC_LCL('lcl_res_kostendoorbelasten', 'Wel kosten doorbelasten', 'Charge costs', 'Wohl Kosten durchrechnen', 'Imputer coûts') FAC_LCL('lcl_res_kostendoorbelast', 'Bij verwijderen worden {0}% van de kosten doorbelast', 'When deleting {0}% of the costs will be charged', 'Beim Entfernen werden {0}% der Kosten durchgerechnet', 'En supprimant 10% des coûts sont imputé') FAC_LCL('lcl_res_charge', 'Doorbelasten', 'Charge', 'Anrechnen', 'Imputer') @@ -2328,7 +2330,6 @@ FAC_LCL('lcl_cnt_locatie_m', 'Meerdere locaties', 'Multiple locations', 'Mehrere FAC_LCL('lcl_cnt_ruimte_opp', 'Totaal
Oppervlakte', 'Total
Area', 'Summe
Fläche', 'Surface
totale') FAC_LCL('lcl_cnt_ruimte_occ', 'Gecontracteerd', 'Contracted', 'Vertrag abgeschlossen', 'Contracté') FAC_LCL('lcl_cnt_ruimte_tarief', 'Tariefsoort', 'Rate type', 'Tarifart', 'Sorte de tarif') -FAC_LCL('lcl_cnt_mutatie_ovz_title', 'Ruimtebeheer mutatieoverzicht', 'Room management mutation details', 'Immobilien Änderungsübersicht', 'Immobilier vue d''ensemble des modifications') FAC_LCL('lcl_cnt_verdeling', 'Verdeling', 'Distribution', 'Verteilung', 'Répartition') FAC_LCL('lcl_cnt_mantel', 'Mantel', 'Umbrella', 'Rahmenvertag', 'Cadre') FAC_LCL('lcl_cnt_frame_algemeen', 'Contractgegevens', 'Contract details', 'Vertragsdaten', 'Détails du contrat') @@ -2418,18 +2419,8 @@ FAC_LCL('lcl_cnt_concept', 'Concept', 'Concept', 'Konzept', 'Concept') FAC_LCL('lcl_cnt_export', 'Exporteer', 'Export', 'Exportiere', 'Exporté') FAC_LCL('lcl_cnt_verwijder', 'Verwijder', 'Delete', 'Entferne', 'Supprimé') FAC_LCL('lcl_cnt_report', 'Rapport', 'Report', 'Report', 'Rapport') -FAC_LCL('lcl_cnt_mutatie_start_date', 'Ingangsdatum', 'Start date', 'Anfangsdatum', 'Date de début') -FAC_LCL('lcl_cnt_mutatie_def', 'Definitief', 'Definitive', 'Definitiv', 'Définitif') FAC_LCL('lcl_cnt_einddatum_old_cnt', 'Einddatum oude contract', 'End date old contract', 'Endedatum des alten Vertrages', 'Date de fin du contrat ancien') -FAC_LCL('lcl_cnt_mutatie_org_huurder', 'Bestaande huurder', 'Original tenant', 'Aktueller Mieter', 'Locataire actuel') -FAC_LCL('lcl_cnt_mutatie_new_huurder', 'Nieuwe huurder', 'New tenant', 'Neuer Mieter', 'Nouveau locataire') -FAC_LCL('lcl_cnt_mutatie_afw_opp', 'Afw
Opp', 'Alt
area', 'And
Opp', 'Surf
diff') -FAC_LCL('lcl_cnt_mutatie_afw_tarief', 'Afw
Tarief', 'Alt
tariff', 'And
Tarif', 'Tarif
diff') -FAC_LCL('lcl_cnt_mutatie_afw_prijs', 'Afw
Prijs', 'Alt
price', 'And
Preis', 'Prix
diff') FAC_LCL('lcl_cnt_aanvrager', 'Aanvrager', 'Requestor', 'Antragsteller(in)', 'Demandeur') -FAC_LCL('lcl_cnt_mutatie_opp', 'Opp', 'Area size', 'Fl', 'Surf') -FAC_LCL('lcl_cnt_mutatie_soort', 'Srt', 'Type', 'Srt', 'Sorte') -FAC_LCL('lcl_cnt_mutatie_tarief', 'Tarief', 'Tariff', 'Tarif', 'Tarif') FAC_LCL('lcl_cnt_status', 'Status', 'Status', 'Status', 'Etat') FAC_LCL('lcl_cnt_child_contracts', 'Onderliggende contracten', 'Underlying contracts', 'Verbundenen Verträge', 'Contrats connexes') FAC_LCL('lcl_cnt_not_configured', 'Deze module is niet geconfigureerd.', 'This module is not configured.', 'Dieses Modul ist nicht eingerichtet.', 'Ce module n''est pas configuré.') @@ -2598,6 +2589,7 @@ FAC_LCL('lcl_prs_person_mijndata', 'Mijn gegevens', 'My details', 'Meine Daten', FAC_LCL('lcl_prs_person_voorletters', 'Voorletters', 'Initials', 'Anfangsbuchstaben
des Vornamens', 'Initiales') FAC_LCL('lcl_prs_person_voornaam', 'Voornaam', 'First name', 'Vorname', 'Prénom') FAC_LCL('lcl_prs_person_uurloon', 'Uurloon', 'Hourly rate', 'Stundenlohn', 'Salaire horaire') +FAC_LCL('lcl_prs_person_timezone', 'Tijdzone', 'Timezone', 'Zeitzone', 'Fuseau horaire') FAC_LCL('lcl_prs_person_dienstverband', 'Dienstverband', 'Employment', 'Arbeitsverhältnis', 'Emploi') FAC_LCL('lcl_prs_person_dienstverband_perc', 'Dienstverband (%)', 'Employment (%)', 'Arbeitsverhältnis (%)', 'Emploi (%)') FAC_LCL('lcl_prs_person_opp', 'Opp', 'Area size', 'Fläche', 'Surface') @@ -5500,22 +5492,29 @@ FAC_LCL('fac_idp_code', 'Code voor ?sso=', 'Code for ?sso=', 'Code f FAC_LCL('fac_idp_omschrijving', 'Omschrijving', 'Description', 'Umschreibung', 'Description') FAC_LCL('fac_idp_opmerking', 'Opmerking', 'Remark', 'Bemerkung', 'Remarque') FAC_LCL('fac_idp_type', 'Identity type', 'Identity type', 'Identitätstyp', 'Type d''identité') -FAC_LCL('fac_idp_typeLOV', '1;Internal (login.asp, future use);2;UID_DEC (deprecated);3;GUID-encrypted (deprecated);4;JWT sso;5;SAML (future use)', '1;Internal (login.asp, future use);2;UID_DEC (deprecated);3;GUID-encrypted (deprecated);4;JWT sso;5;SAML (future use)', '1;Internal (login.asp, future use);2;UID_DEC (deprecated);3;GUID-encrypted (deprecated);4;JWT sso;5;SAML (future use)', '1;Internal (login.asp, future use);2;UID_DEC (deprecated);3;GUID-encrypted (deprecated);4;JWT sso;5;SAML (future use)') +FAC_LCL('fac_idp_typeLOV', '1;Internal (login.asp, future use);2;UID_DEC (deprecated);3;GUID-encrypted (deprecated);4;JWT sso;5;SAML', '1;Internal (login.asp, future use);2;UID_DEC (deprecated);3;GUID-encrypted (deprecated);4;JWT sso;5;SAML', '1;Internal (login.asp, future use);2;UID_DEC (deprecated);3;GUID-encrypted (deprecated);4;JWT sso;5;SAML', '1;Internal (login.asp, future use);2;UID_DEC (deprecated);3;GUID-encrypted (deprecated);4;JWT sso;5;SAML') FAC_LCL('fac_idp_secret', 'Gedeeld geheim', 'Shared secret', 'Geteiltes Geheimnis', 'Secret partagé') FAC_LCL('fac_idp_audience', 'JWT audience', 'JWT audience', 'JWT audience', 'JWT audience') FAC_LCL('fac_idp_issuer', 'JWT issuer', 'JWT issuer', 'JWT issuer', 'JWT issuer') FAC_LCL('fac_idp_algorithm', 'JWT algoritme', 'JWT algorithm', 'JWT algorithm', 'JWT algorithm') FAC_LCL('fac_idp_remote_loginurl', 'Remote Login URL', 'Remote Login URL', 'Remote-Login-URL', 'Remote Login URL') FAC_LCL('fac_idp_remote_logouturl', 'Remote Logout URL', 'Remote Logout URL', 'Remote-Logout-URL', 'Remote Logout URL') -FAC_LCL('fac_idp_usermapping', 'User assertion', 'User assertion', 'User assertion', 'User assertion') FAC_LCL('fac_idp_ipfilter', 'IP adres filter', 'IP adress filter', 'IP-Adressfilter ', 'filtre d''adresse IP') FAC_LCL('fac_idp_ipauto', 'Automatisch SSO voor IP', 'Automatic SSO for IP', 'Automatische SSO für IP', 'SSO automatique pour IP') FAC_LCL('fac_idp_clockskew', 'Toegestane klok afwijking', 'Allowed clock skew', 'Erlaubte Taktverschiebung', 'Allowed clock skew') FAC_LCL('fac_idp_duration', 'Maximale geldigheid', 'Maximum validity', 'Maximalen Gültigkeitsdauer', 'Validité maximale') -FAC_LCL('lcl_idp_company', 'Alleen voor bedrijf', 'Company only', 'Nur für Betrieb', 'Limité à entreprise') -FAC_LCL('lcl_idp_department', 'Alleen voor afdeling', 'Department only', 'Nur für Abteilung', 'Limité à département') +FAC_LCL('lcl_idp_company', 'Voor bedrijf', 'For company', 'Für Betrieb', 'Pour entreprise') +FAC_LCL('lcl_idp_department', 'Voor afdeling', 'For department', 'Für Abteilung', 'Pour département') FAC_LCL('fac_idp_functie_key', 'Alleen als autorisatie', 'Only for authorisation', 'Nur für Autorisierung', 'Limité à autorisation') FAC_LCL('fac_idp_internal', 'Internal', 'Internal', 'Internal', 'Internal') +FAC_LCL('fac_idp_autocreate', 'Aanmaken/bijwerken', 'Create/Update', 'Erzeugen/Aktualisieren', 'Créer/Actualiser') + +FAC_LCL('fac_idp_map', 'Identity mapping', 'Identity mapping', 'Identity-Mapping', 'Mapping d''identité') +FAC_LCL('fac_idp_map_m', 'Identity mappings', 'Identity mappings', 'Identity-Mappinge', 'Mapping d''identité') +FAC_LCL('fac_idp_map_identify', 'Identificeren', 'Identification', 'Identifikation', 'Identification') +FAC_LCL('fac_idp_map_to', 'FACILITOR attribuut', 'FACILITOR attribute', 'FACILITOR Attribut', 'FACILITOR attribut') +FAC_LCL('fac_idp_map_from', 'Claim veld', 'Claim field', 'Claim Feld', 'Claim champ') +FAC_LCL('fac_idp_map_default', 'Standaardwaarde', 'Default value', 'Standardwert', 'Par défaut') COMMIT; FAC_LCL('fac_audit', 'Audit', 'Audit', '@@', '@@') diff --git a/FAC/FAC_TAB.SRC b/FAC/FAC_TAB.SRC index 2f752143..7cafb06b 100644 --- a/FAC/FAC_TAB.SRC +++ b/FAC/FAC_TAB.SRC @@ -1971,10 +1971,16 @@ CREATE TABLE fac_idp VARCHAR2(128), fac_idp_remote_logouturl VARCHAR2(128), + fac_idp_saml_metaurl + VARCHAR2(128), fac_idp_clockskew NUMBER(10), fac_idp_duration NUMBER(10), + fac_idp_autocreate + NUMBER(1) + DEFAULT 0 -- +1: create; +2: update + NOT NULL, -- Note: these column are defined in PRS_TAB.SRC -- prs_afdeling_key NUMBER(10) -- prs_bedrijf_key NUMBER(10) diff --git a/FCLT.NMK b/FCLT.NMK index 196fc18d..7411ee85 100644 --- a/FCLT.NMK +++ b/FCLT.NMK @@ -124,6 +124,10 @@ $(EXE)\$(NEXTROOT)\FCLT$(NEXTVERSION)$(FILEVERSION).SQL: \ $(MSRC)\alg\alg_tab.src \ $(MSRC)\alg\alg_tri.src \ $(MSRC)\alg\alg_vie.src \ + $(MSRC)\aut\aut_ind.src \ + $(MSRC)\aut\aut_seq.src \ + $(MSRC)\aut\aut_tab.src \ + $(MSRC)\aut\aut_tri.src \ $(MSRC)\bes\bes_ind.src \ $(MSRC)\bes\bes_ini.src \ $(MSRC)\bes\bes_pac.src \ diff --git a/FCLT.SRC b/FCLT.SRC index 079f5fdb..d7c5df4c 100644 --- a/FCLT.SRC +++ b/FCLT.SRC @@ -67,6 +67,7 @@ SET ECHO ON /* TABLES */ #include "fac\fac_tab.src" #include "alg\alg_tab.src" +#include "aut\aut_tab.src" #include "ins\ins_tab.src" #include "prs\prs_tab.src" #include "mld\mld_tab.src" @@ -87,6 +88,7 @@ SET ECHO ON /* SEQUENCES */ #include "fac\fac_seq.src" #include "alg\alg_seq.src" +#include "aut\aut_seq.src" #include "ins\ins_seq.src" #include "prs\prs_seq.src" #include "mld\mld_seq.src" @@ -107,6 +109,7 @@ SET ECHO ON /* INDICES */ #include "fac\fac_ind.src" #include "alg\alg_ind.src" +#include "aut\aut_ind.src" #include "ins\ins_ind.src" #include "prs\prs_ind.src" #include "mld\mld_ind.src" diff --git a/PRS/PRS_TAB.SRC b/PRS/PRS_TAB.SRC index 2741975d..8de1e683 100644 --- a/PRS/PRS_TAB.SRC +++ b/PRS/PRS_TAB.SRC @@ -791,6 +791,13 @@ ALTER TABLE fac_audit ADD CONSTRAINT fac_r_prs_perslid_key9 REFERENCES prs_perslid(prs_perslid_key) ON DELETE SET NULL ); +ALTER TABLE aut_client_perslid ADD ( + prs_perslid_key + NUMBER(10) + CONSTRAINT aut_r_aut_client_perslid REFERENCES prs_perslid(prs_perslid_key) ON DELETE CASCADE + CONSTRAINT aut_c_aut_client_perslid CHECK(prs_perslid_key IS NOT NULL) +); + COMMENT ON COLUMN prs_kostenplaats.prs_perslid_key IS 'Budgethouder'; // key_alt is een vervanger voor key als frontend diff --git a/_UP/DB30to31.src b/_UP/DB30to31.src index e6ae7c64..316a4e37 100644 --- a/_UP/DB30to31.src +++ b/_UP/DB30to31.src @@ -291,6 +291,7 @@ CREATE_TABLE(bgt_budget,0) bgt_budget_isreserve NUMBER(1) DEFAULT (0) + NOT NULL CONSTRAINT bgt_c_bgt_budget_isreserve CHECK(bgt_budget_isreserve IN (0,1)), bgt_budget_begin DATE, @@ -463,13 +464,15 @@ ALTER TABLE fac_imp_factuur MODIFY (omschrijving VARCHAR2(250)); /////////////////////////////////////////////////////////////////////////////////////////// DJIN#36213 ALTER TABLE fac_idp -ADD -( - fac_idp_autocreate +ADD fac_idp_autocreate NUMBER(1) DEFAULT 0 -- +1: create; +2: update - NOT NULL -); + NOT NULL; + +ALTER TABLE fac_idp +ADD fac_idp_saml_metaurl + VARCHAR2(128); + ALTER TABLE fac_idp DROP COLUMN fac_idp_usermapping; @@ -500,6 +503,68 @@ CREATE TABLE fac_idp_map CREATE SEQUENCE fac_s_fac_idp_map_key MINVALUE 1; +/////////////////////////////////////////////////////////////////////////////////////////// FSN#39750 +-- Clients (zoals al dan niet native App's) +CREATE TABLE aut_client +( + aut_client_key + NUMBER(10) + CONSTRAINT aut_k_aut_client_key PRIMARY KEY, + aut_client_id + VARCHAR2(64), + aut_client_type -- 1=Internal (login.asp, future use), 2=UID_DEC (deprecated), + NUMBER(3), -- 3=GUID-encrypted (deprecated), 4=JWT, 5=SAML (future use) + aut_client_omschrijving + VARCHAR2(30), + aut_client_opmerking + VARCHAR2(320), + aut_client_secret + VARCHAR2(128), + aut_client_aanmaak + DATE + DEFAULT SYSDATE +); + +-- Koppeling client en (toestemming gegeven door) perslid +-- TODO: Kan gebruiker app op meerdere toestallen inrichten? +CREATE TABLE aut_client_perslid +( + aut_client_perslid_key + NUMBER(10) + CONSTRAINT aut_k_client_perslid PRIMARY KEY, + aut_client_key + NUMBER(10) + CONSTRAINT aut_r_aut_client_id REFERENCES aut_client(aut_client_key) ON DELETE CASCADE, + aut_client_perslid_device_id + VARCHAR(320), + aut_client_perslid_scope + VARCHAR(320) + DEFAULT NULL, + aut_client_perslid_pushtoken + VARCHAR(320), + aut_client_perslid_refreshtkn -- unused yet + VARCHAR(320), + aut_client_perslid_refreshdate + DATE, + aut_client_perslid_accesstoken + VARCHAR(320), + aut_client_perslid_accessdate + DATE, + aut_client_perslid_login -- wanneer voor het laatst de app gebruikt + DATE, +// Note: this column is defined in PRS_TAB.SRC +// prs_perslid_key +// NUMBER(10) +// CONSTRAINT aut_r_aut_client_perslid REFERENCES prs_perslid(prs_perslid_key) ON DELETE CASCADE +// CONSTRAINT aut_c_aut_client_perslid CHECK(prs_perslid_key IS NOT NULL), + aut_client_perslid_aanmaak + DATE + DEFAULT SYSDATE +); + +CREATE SEQUENCE aut_s_aut_client_key MINVALUE 1; +CREATE SEQUENCE aut_s_aut_client_perslid_key MINVALUE 1; + /////////////////////////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////////////////////////// @@ -514,6 +579,16 @@ CREATE SEQUENCE fac_s_fac_idp_map_key MINVALUE 1; /////////////////////////////////////////////////////////////////////////////////////////// GENERAL /////////////////////////////////////////////////////////////////////////////////////////// CLEANUP + +/////////////////////////////////////////////////////////////////////////////////////////// FSN#39586 +DELETE fac_localeitems + WHERE fac_localeitems_dialect_id = 'MLD_SRTDISCIPLINE_KEY' + AND fac_localeitems_lcl IN ('lcl_mld_urg_hold1', + 'lcl_mld_urg_hoog1', + 'lcl_mld_urg_kritiek1', + 'lcl_mld_urg_laag1', + 'lcl_mld_urg_normaal1'); + /////////////////////////////////////////////////////////////////////////////////////////// FSN#31475 UPDATE cnt_disc_params SET cnt_srtcontract_type=4 WHERE cnt_srtcontract_type=2; DELETE FROM cnt_typecontract WHERE cnt_typecontract_key=2; diff --git a/_UP/recreate.inc b/_UP/recreate.inc index c3f682fb..89d36083 100644 --- a/_UP/recreate.inc +++ b/_UP/recreate.inc @@ -48,6 +48,7 @@ // Recreation all triggers #include "fac\fac_tri.src" #include "alg\alg_tri.src" +#include "aut\aut_tri.src" #include "ins\ins_tri.src" #include "prs\prs_tri.src" #include "cnt\cnt_tri.src"