Commit 14046047 authored by Laurent Lecluse's avatar Laurent Lecluse
Browse files
parent 9f8c9cc1
Loading
Loading
Loading
Loading
+25 −0
Original line number Diff line number Diff line
<?php

class v223Privileges extends AbstractMigration
{

    public function description(): string
    {
        return "Mise à jour de l'état de sortie de synthèse des privilèges pour se brancher sur la nouvelle vue";
    }



    public function utile(): bool
    {
        return $this->manager->hasNew('view', 'V_SYNTHESE_PRIVILEGE');
    }



    public function after()
    {
        $sql = "UPDATE etat_sortie SET REQUETE = 'SELECT * FROM v_synthese_privilege' WHERE code = 'synthese-privilege'";
        $this->manager->getBdd()->exec($sql);
    }
}
 No newline at end of file
+23 −0
Original line number Diff line number Diff line
CREATE OR REPLACE FORCE VIEW V_SYNTHESE_PRIVILEGE AS
SELECT
  r.libelle role,
  cp.libelle categorie_privilege,
  p.libelle privilege,
  CASE WHEN r.code = 'administrateur' THEN
    CASE
      WHEN cp.code = 'enseignement' AND p.code =  'prevu-autovalidation' THEN 'Non'
      WHEN cp.code = 'enseignement' AND p.code =  'realise-autovalidation' THEN 'Non'
      WHEN cp.code = 'referentiel' AND p.code =  'prevu-autovalidation' THEN 'Non'
      WHEN cp.code = 'referentiel' AND p.code =  'realise-autovalidation' THEN 'Non'
      ELSE 'Oui'
    END
  ELSE
    CASE WHEN rp.privilege_id IS NULL THEN 'Non' ELSE 'Oui' END
  END acces
FROM
  role r
  JOIN privilege p ON 1=1
  JOIN categorie_privilege cp ON cp.id = p.categorie_id
  LEFT JOIN role_privilege rp ON rp.privilege_id = p.id AND rp.role_id = r.id
ORDER BY
  r.libelle, cp.libelle, p.libelle
 No newline at end of file
+1 −11
Original line number Diff line number Diff line
@@ -386,17 +386,7 @@ ORDER BY
        'LIBELLE'        => 'Synthèse des privilèges par rôle',
        'PDF_TRAITEMENT' => null,
        'AUTO_BREAK'     => false,
        'REQUETE'        => 'SELECT 
  r.libelle role,
  cp.libelle categorie_privilege,
  p.libelle privilege,
  CASE WHEN rp.privilege_id IS NULL THEN \'Non\' ELSE \'Oui\' END acces
FROM
  role r
  JOIN privilege p ON 1=1
  JOIN categorie_privilege cp ON cp.id = p.categorie_id
  LEFT JOIN role_privilege rp ON rp.privilege_id = p.id AND rp.role_id = r.id
  ORDER BY r.libelle, cp.libelle, p.libelle',
        'REQUETE'        => 'SELECT * FROM v_synthese_privilege',
        'CSV_PARAMS'     => '',
    ],
];