/* Anonymizer for Facilitor P-ATO (reverse OTAP) chain
 *
 * $Revision$
 * $Id$
 *
 * Gradually improve over time, please
 */

-- We draaien vaak vlak na een import, mooi moment om alles valid te maken
BEGIN DBMS_UTILITY.COMPILE_SCHEMA(USER, FALSE); END;
/

column afcltlogfile new_value afcltlogfile NOPRINT;
select 'ANONYMIZED_' || UPPER(USER || '_' || sys_context('USERENV', 'SERVICE_NAME') || '_' || sys_context('USERENV', 'SERVER_HOST')) || '_' || to_char(sysdate,'YYYYMMDD_HH24MISS') || '.lst' as afcltlogfile from dual;
spool &afcltlogfile

-- Destructive obstrufication of personal data.
UPDATE prs_perslid
   SET prs_perslid_naam =
          INITCAP (DBMS_RANDOM.string ('l', LENGTH (prs_perslid_naam)))
 WHERE     prs_perslid_naam NOT LIKE 'INACTIEF:%'
       AND prs_perslid_naam NOT LIKE 'Facilitor';

UPDATE prs_perslid
   SET prs_perslid_voornaam =
          INITCAP (DBMS_RANDOM.string ('l', LENGTH (prs_perslid_voornaam)))
 WHERE prs_perslid_voornaam IS NOT NULL;

UPDATE prs_perslid
   SET prs_perslid_voorletters =
          UPPER (DBMS_RANDOM.string ('l', LENGTH (prs_perslid_voorletters)))
 WHERE prs_perslid_voorletters IS NOT NULL;

UPDATE prs_perslid
   SET prs_perslid_naam =
             'INACTIEF:'
          || INITCAP (
                DBMS_RANDOM.string ('l', LENGTH (prs_perslid_naam) - 9))
 WHERE prs_perslid_naam LIKE 'INACTIEF:%';

UPDATE prs_perslid SET prs_perslid_email='E'||TO_CHAR(prs_perslid_key)||'@facilitor.nl'
  WHERE prs_perslid_email IS NOT NULL;

UPDATE prs_perslid SET prs_perslid_oslogin2='O'||TO_CHAR(prs_perslid_key)
  WHERE prs_perslid_oslogin2 IS NOT NULL;

DELETE FROM fac_imp_perslid;

UPDATE prs_contactpersoon
   SET prs_contactpersoon_naam = INITCAP (DBMS_RANDOM.string ('l', LENGTH(prs_contactpersoon_naam)));
UPDATE prs_contactpersoon
   SET prs_contactpersoon_voornaam = INITCAP (DBMS_RANDOM.string ('l', LENGTH(prs_contactpersoon_voornaam)))
   WHERE prs_contactpersoon_voornaam IS NOT NULL;
UPDATE prs_contactpersoon
   SET prs_contactpersoon_voorletters = SUBSTR(prs_contactpersoon_voornaam,1,1)|| SUBSTR(prs_contactpersoon_voorletters,2)
   WHERE prs_contactpersoon_voorletters IS NOT NULL;
UPDATE prs_contactpersoon SET prs_contactpersoon_email='anonymous@facilitor.nl'
 WHERE prs_contactpersoon_email IS NOT NULL;

ALTER TRIGGER bez_t_bez_afspraak_B_IU DISABLE;
UPDATE bez_afspraak
   SET bez_afspraak_gastheer = (SELECT SUBSTR(prs_perslid_naam_full,1,50) FROM prs_v_perslid_fullnames_all WHERE prs_perslid_key=bez_afspraak_host_key)
 WHERE bez_afspraak_host_key IS NOT NULL;

UPDATE bez_afspraak
   SET bez_afspraak_gastheer = INITCAP (DBMS_RANDOM.string ('l', LENGTH (bez_afspraak_gastheer)))
 WHERE bez_afspraak_host_key IS NULL;
ALTER TRIGGER bez_t_bez_afspraak_B_IU ENABLE;

UPDATE bez_bezoekers
   SET bez_afspraak_naam = UPPER(SUBSTR(bez_afspraak_naam,1,1))||'. Bezoeker'
 WHERE bez_afspraak_naam IS NOT NULL;

UPDATE bez_bezoekers
   SET bez_afspraak_bedrijf = UPPER(SUBSTR(bez_afspraak_bedrijf,1,1))||'areon B.V.'
 WHERE bez_afspraak_bedrijf IS NOT NULL;


BEGIN adm.systrackscriptid('$Id$'); END;
/

exit
SPOOL OFF