Commit 3e179f14 authored by THEO GUILLON's avatar THEO GUILLON
Browse files

Merge branch '353-notice-enregistrement-traitement' into '1.2.0'

Resolve "notice enregistrement traitement"

See merge request libriciel/pole-citoyens/web-DPO/web-DPO!326
parents 9b0bb550 9fad234b
......@@ -526,13 +526,15 @@ INSERT INTO public.droits (id, organisation_user_id, liste_droit_id, created, mo
INSERT INTO public.droits (id, organisation_user_id, liste_droit_id, created, modified) VALUES (63, 1, 31, '2020-03-02 15:19:54', '2020-03-02 15:19:54');
INSERT INTO public.droits (id, organisation_user_id, liste_droit_id, created, modified) VALUES (64, 1, 32, '2020-03-02 15:19:54', '2020-03-02 15:19:54');
INSERT INTO public.droits (id, organisation_user_id, liste_droit_id, created, modified) VALUES (65, 1, 33, '2020-03-02 15:19:54', '2020-03-02 15:19:54');
INSERT INTO public.droits (id, organisation_user_id, liste_droit_id, created, modified) VALUES (66, 1, 34, '2020-03-02 15:19:54', '2020-03-02 15:19:54');
INSERT INTO public.droits (id, organisation_user_id, liste_droit_id, created, modified) VALUES (67, 1, 35, '2020-03-02 15:19:54', '2020-03-02 15:19:54');
--
-- Name: droits_id_seq; Type: SEQUENCE SET; Schema: public; Owner: -
--
SELECT pg_catalog.setval('public.droits_id_seq', 65, true);
SELECT pg_catalog.setval('public.droits_id_seq', 67, true);
--
......@@ -919,12 +921,14 @@ INSERT INTO public.role_droits (id, role_id, liste_droit_id) VALUES (70, 2, 30);
INSERT INTO public.role_droits (id, role_id, liste_droit_id) VALUES (71, 4, 32);
INSERT INTO public.role_droits (id, role_id, liste_droit_id) VALUES (72, 5, 32);
INSERT INTO public.role_droits (id, role_id, liste_droit_id) VALUES (73, 5, 33);
INSERT INTO public.role_droits (id, role_id, liste_droit_id) VALUES (74, 5, 34);
INSERT INTO public.role_droits (id, role_id, liste_droit_id) VALUES (75, 5, 35);
--
-- Name: role_droits_id_seq; Type: SEQUENCE SET; Schema: public; Owner: -
--
SELECT pg_catalog.setval('public.role_droits_id_seq', 73, true);
SELECT pg_catalog.setval('public.role_droits_id_seq', 75, true);
--
......
......@@ -424,4 +424,108 @@ UPDATE etats SET libelle = 'Traitement initialisé, recu pour rédaction' WHERE
INSERT INTO etats (libelle, value, created, modified) VALUES
('Rédaction du traitement initialisé par le DPO', 13, NOW(), NOW());
ALTER TABLE responsables
ADD COLUMN civiliteresponsable VARCHAR(4),
ADD COLUMN civility_dpo VARCHAR(4),
ADD COLUMN prenom_dpo VARCHAR(50),
ADD COLUMN nom_dpo VARCHAR(50),
ADD COLUMN numerocnil_dpo VARCHAR(50),
ADD COLUMN email_dpo VARCHAR(100),
ADD COLUMN telephonefixe_dpo VARCHAR(15),
ADD COLUMN telephoneportable_dpo VARCHAR(15)
;
CREATE UNIQUE INDEX responsables_raisonsocialestructure_idx ON responsables (raisonsocialestructure);
CREATE UNIQUE INDEX responsables_raisonsocialestructure_siretstructure_idx ON responsables (raisonsocialestructure, siretstructure);
CREATE UNIQUE INDEX responsables_emailstructure_idx ON responsables (emailstructure);
CREATE UNIQUE INDEX responsables_numerocnil_dpo_idx ON responsables (numerocnil_dpo);
ALTER TABLE responsables ADD CONSTRAINT responsables_civiliteresponsable_in_list_chk CHECK (cakephp_validate_in_list(civiliteresponsable, ARRAY['M.', 'Mme.']));
ALTER TABLE responsables ADD CONSTRAINT responsables_civility_dpo_in_list_chk CHECK (cakephp_validate_in_list(civility_dpo, ARRAY['M.', 'Mme.']));
ALTER TABLE responsables ADD CONSTRAINT responsables_email_dpo_email_chk CHECK (cakephp_validate_email(email_dpo));
ALTER TABLE responsables ADD CONSTRAINT responsables_telephonefixe_dpo_phone_chk CHECK ( cakephp_validate_phone( telephonefixe_dpo, NULL, 'fr' ) );
ALTER TABLE responsables ADD CONSTRAINT responsables_telephoneportable_dpo_phone_chk CHECK ( cakephp_validate_phone( telephoneportable_dpo, NULL, 'fr' ) );
ALTER TABLE responsables ALTER COLUMN nomresponsable DROP NOT NULL;
ALTER TABLE responsables ALTER COLUMN prenomresponsable DROP NOT NULL;
ALTER TABLE responsables ALTER COLUMN emailresponsable DROP NOT NULL;
ALTER TABLE responsables ALTER COLUMN telephoneresponsable DROP NOT NULL;
ALTER TABLE responsables ALTER COLUMN fonctionresponsable DROP NOT NULL;
ALTER TABLE responsables ALTER COLUMN apestructure DROP NOT NULL;
ALTER TABLE coresponsables
DROP COLUMN nomcoresponsable,
DROP COLUMN prenomcoresponsable,
DROP COLUMN fonctioncoresponsable,
DROP COLUMN emailcoresponsable,
DROP COLUMN telephonecoresponsable,
DROP COLUMN raisonsocialestructure,
DROP COLUMN siretstructure,
DROP COLUMN apestructure,
DROP COLUMN telephonestructure,
DROP COLUMN faxstructure,
DROP COLUMN adressestructure,
DROP COLUMN emailstructure
;
ALTER TABLE coresponsables ADD FOREIGN KEY (responsable_id) REFERENCES responsables(id) ON DELETE CASCADE ON UPDATE CASCADE;
CREATE UNIQUE INDEX coresponsables_fiche_id_responsable_id_idx ON coresponsables (fiche_id, responsable_id);
ALTER TABLE liste_droits ALTER COLUMN libelle TYPE VARCHAR(100);
INSERT INTO liste_droits (libelle, value, created, modified) VALUES
('Gestion des co-responsables lors de la déclaration d''un traitement', 34, NOW(), NOW()),
('Gestion des sous-traitants lors de la déclaration d''un traitement', 35, NOW(), NOW());
ALTER TABLE connecteur_ldaps ALTER COLUMN login TYPE VARCHAR(100);
ALTER TABLE soustraitants
ADD COLUMN civiliteresponsable VARCHAR(4),
ADD COLUMN prenomresponsable VARCHAR(50),
ADD COLUMN nomresponsable VARCHAR(50),
ADD COLUMN emailresponsable VARCHAR(75),
ADD COLUMN telephoneresponsable VARCHAR(15),
ADD COLUMN fonctionresponsable VARCHAR(75),
ADD COLUMN civility_dpo VARCHAR(4),
ADD COLUMN prenom_dpo VARCHAR(50),
ADD COLUMN nom_dpo VARCHAR(50),
ADD COLUMN numerocnil_dpo VARCHAR(50),
ADD COLUMN email_dpo VARCHAR(75),
ADD COLUMN telephonefixe_dpo VARCHAR(15),
ADD COLUMN telephoneportable_dpo VARCHAR(15)
;
ALTER TABLE soustraitants RENAME COLUMN raisonsociale TO raisonsocialestructure;
ALTER TABLE soustraitants RENAME COLUMN siret TO siretstructure;
ALTER TABLE soustraitants RENAME COLUMN ape TO apestructure;
ALTER TABLE soustraitants RENAME COLUMN telephone TO telephonestructure;
ALTER TABLE soustraitants RENAME COLUMN fax TO faxstructure;
ALTER TABLE soustraitants RENAME COLUMN adresse TO adressestructure;
ALTER TABLE soustraitants RENAME COLUMN email TO emailstructure;
CREATE UNIQUE INDEX soustraitants_raisonsocialestructure_idx ON soustraitants (raisonsocialestructure);
CREATE UNIQUE INDEX soustraitants_raisonsocialestructure_siretstructure_idx ON soustraitants (raisonsocialestructure, siretstructure);
CREATE UNIQUE INDEX soustraitants_emailstructure_idx ON soustraitants (emailstructure);
CREATE UNIQUE INDEX soustraitants_numerocnil_dpo_idx ON soustraitants (numerocnil_dpo);
ALTER TABLE soustraitants ALTER COLUMN apestructure DROP NOT NULL;
ALTER TABLE soustraitants ADD CONSTRAINT soustraitants_civiliteresponsable_in_list_chk CHECK (cakephp_validate_in_list(civiliteresponsable, ARRAY['M.', 'Mme.']));
ALTER TABLE soustraitants ADD CONSTRAINT soustraitants_civility_dpo_in_list_chk CHECK (cakephp_validate_in_list(civility_dpo, ARRAY['M.', 'Mme.']));
ALTER TABLE soustraitants ADD CONSTRAINT soustraitants_emailresponsable_email_chk CHECK (cakephp_validate_email(emailresponsable));
ALTER TABLE soustraitants ADD CONSTRAINT soustraitants_email_dpo_email_chk CHECK (cakephp_validate_email(email_dpo));
ALTER TABLE soustraitants ADD CONSTRAINT soustraitants_telephoneresponsable_phone_chk CHECK ( cakephp_validate_phone( telephoneresponsable, NULL, 'fr' ) );
ALTER TABLE soustraitants ADD CONSTRAINT soustraitants_telephonefixe_dpo_phone_chk CHECK ( cakephp_validate_phone( telephonefixe_dpo, NULL, 'fr' ) );
ALTER TABLE soustraitants ADD CONSTRAINT soustraitants_telephoneportable_dpo_phone_chk CHECK ( cakephp_validate_phone( telephoneportable_dpo, NULL, 'fr' ) );
ALTER TABLE soustraitances
DROP COLUMN raisonsociale,
DROP COLUMN siret,
DROP COLUMN ape,
DROP COLUMN telephone,
DROP COLUMN fax,
DROP COLUMN adresse,
DROP COLUMN email
;
ALTER TABLE soustraitances ADD FOREIGN KEY (soustraitant_id) REFERENCES soustraitants(id) ON DELETE CASCADE ON UPDATE CASCADE;
CREATE UNIQUE INDEX soustraitances_fiche_id_soustraitant_id_idx ON soustraitances (fiche_id, soustraitant_id);
COMMIT;
......@@ -13,7 +13,7 @@
* Redistributions of files must retain the above copyright notice.
*
* @copyright Copyright (c) Libriciel SCOP (https://www.libriciel.fr/)
* @link https://www.libriciel.fr/web-cil/
* @link https://www.libriciel.fr/web-dpo/
* @since web-DPO v1.0.0
* @license http://www.cecill.info/licences/Licence_CeCILL_V2-fr.html CeCiLL V2 License
* @version v1.0.0
......
......@@ -13,7 +13,7 @@
* Redistributions of files must retain the above copyright notice.
*
* @copyright Copyright (c) Libriciel SCOP (https://www.libriciel.fr/)
* @link https://www.libriciel.fr/web-cil/
* @link https://www.libriciel.fr/web-dpo/
* @since web-DPO v1.0.0
* @license http://www.cecill.info/licences/Licence_CeCILL_V2-fr.html CeCiLL V2 License
* @version v1.0.0
......
......@@ -13,7 +13,7 @@
* Redistributions of files must retain the above copyright notice.
*
* @copyright Copyright (c) Libriciel SCOP (https://www.libriciel.fr/)
* @link https://www.libriciel.fr/web-cil/
* @link https://www.libriciel.fr/web-dpo/
* @since web-DPO v1.0.0
* @license http://www.cecill.info/licences/Licence_CeCILL_V2-fr.html CeCiLL V2 License
* @version v1.0.0
......
......@@ -13,7 +13,7 @@
* Redistributions of files must retain the above copyright notice.
*
* @copyright Copyright (c) Libriciel SCOP (https://www.libriciel.fr/)
* @link https://www.libriciel.fr/web-cil/
* @link https://www.libriciel.fr/web-dpo/
* @since web-DPO v1.0.0
* @license http://www.cecill.info/licences/Licence_CeCILL_V2-fr.html CeCiLL V2 License
* @version v1.0.0
......
......@@ -14,7 +14,7 @@
* Redistributions of files must retain the above copyright notice.
*
* @copyright Copyright (c) Libriciel SCOP (https://www.libriciel.fr/)
* @link https://www.libriciel.fr/web-cil/
* @link https://www.libriciel.fr/web-dpo/
* @since web-DPO v1.0.0
* @license http://www.cecill.info/licences/Licence_CeCILL_V2-fr.html CeCiLL V2 License
* @version v1.0.0
......
......@@ -14,7 +14,7 @@
* Redistributions of files must retain the above copyright notice.
*
* @copyright Copyright (c) Libriciel SCOP (https://www.libriciel.fr/)
* @link https://www.libriciel.fr/web-cil/
* @link https://www.libriciel.fr/web-dpo/
* @since web-DPO v1.0.0
* @license http://www.cecill.info/licences/Licence_CeCILL_V2-fr.html CeCiLL V2 License
* @version v1.0.0
......
......@@ -13,7 +13,7 @@
* Redistributions of files must retain the above copyright notice.
*
* @copyright Copyright (c) Libriciel SCOP (https://www.libriciel.fr/)
* @link https://www.libriciel.fr/web-cil/
* @link https://www.libriciel.fr/web-dpo/
* @since web-DPO v1.0.0
* @license http://www.cecill.info/licences/Licence_CeCILL_V2-fr.html CeCiLL V2 License
* @version v1.0.0
......
......@@ -13,7 +13,7 @@
* Redistributions of files must retain the above copyright notice.
*
* @copyright Copyright (c) Libriciel SCOP (https://www.libriciel.fr/)
* @link https://www.libriciel.fr/web-cil/
* @link https://www.libriciel.fr/web-dpo/
* @since web-DPO v1.0.0
* @license http://www.cecill.info/licences/Licence_CeCILL_V2-fr.html CeCiLL V2 License
* @version v1.0.0
......
......@@ -13,7 +13,7 @@
* Redistributions of files must retain the above copyright notice.
*
* @copyright Copyright (c) Libriciel SCOP (https://www.libriciel.fr/)
* @link https://www.libriciel.fr/web-cil/
* @link https://www.libriciel.fr/web-dpo/
* @since web-DPO v1.0.0
* @license http://www.cecill.info/licences/Licence_CeCILL_V2-fr.html CeCiLL V2 License
* @version v1.0.0
......
......@@ -13,7 +13,7 @@
* Redistributions of files must retain the above copyright notice.
*
* @copyright Copyright (c) Libriciel SCOP (https://www.libriciel.fr/)
* @link https://www.libriciel.fr/web-cil/
* @link https://www.libriciel.fr/web-dpo/
* @since web-DPO v1.0.0
* @license http://www.cecill.info/licences/Licence_CeCILL_V2-fr.html CeCiLL V2 License
* @version v1.0.0
......
......@@ -13,7 +13,7 @@
* Redistributions of files must retain the above copyright notice.
*
* @copyright Copyright (c) Libriciel SCOP (https://www.libriciel.fr/)
* @link https://www.libriciel.fr/web-cil/
* @link https://www.libriciel.fr/web-dpo/
* @since web-DPO v1.0.0
* @license http://www.cecill.info/licences/Licence_CeCILL_V2-fr.html CeCiLL V2 License
* @version v1.0.0
......
......@@ -13,7 +13,7 @@
* Redistributions of files must retain the above copyright notice.
*
* @copyright Copyright (c) Libriciel SCOP (https://www.libriciel.fr/)
* @link https://www.libriciel.fr/web-cil/
* @link https://www.libriciel.fr/web-dpo/
* @since web-DPO v1.0.0
* @license http://www.cecill.info/licences/Licence_CeCILL_V2-fr.html CeCiLL V2 License
* @version v1.0.0
......@@ -87,7 +87,14 @@ class FichesController extends AppController
$this->Droits->assertDpo();
} elseif ($action === 'edit') {
$this->Droits->assertNotSu();
} /*elseif (in_array($action, $anyone) === false) {
} elseif ($action === 'ajax_update_listing_responsable') {
$this->Droits->assertAuthorized([ListeDroit::GESTION_CORESPONSABLE_TRAITEMENT]);
$this->Droits->assertNotSu();
} elseif ($action === 'ajax_update_listing_soustraitant') {
$this->Droits->assertAuthorized([ListeDroit::GESTION_SOUSTRAITANT_TRAITEMENT]);
$this->Droits->assertNotSu();
}
/*elseif (in_array($action, $anyone) === false) {
throw new ForbiddenException(__d('default', 'default.flasherrorPasDroitPage'));
}*/
}
......@@ -591,7 +598,7 @@ class FichesController extends AppController
$query = [
'conditions' => $condition,
'order' => [
'Soustraitant.raisonsociale ASC'
'Soustraitant.raisonsocialestructure ASC'
]
];
......@@ -2582,4 +2589,27 @@ class FichesController extends AppController
return $success;
}
public function ajax_update_listing_responsable()
{
$this->autoRender = false;
if ($this->request->is('get')) {
return json_encode($this->_responsables());
}
return null;
}
public function ajax_update_listing_soustraitant()
{
$this->autoRender = false;
if ($this->request->is('get')) {
return json_encode($this->_soustraitants());
}
return null;
}
}
......@@ -13,7 +13,7 @@
* Redistributions of files must retain the above copyright notice.
*
* @copyright Copyright (c) Libriciel SCOP (https://www.libriciel.fr/)
* @link https://www.libriciel.fr/web-cil/
* @link https://www.libriciel.fr/web-dpo/
* @since web-DPO v1.0.0
* @license http://www.cecill.info/licences/Licence_CeCILL_V2-fr.html CeCiLL V2 License
* @version v1.0.0
......
......@@ -13,7 +13,7 @@
* Redistributions of files must retain the above copyright notice.
*
* @copyright Copyright (c) Libriciel SCOP (https://www.libriciel.fr/)
* @link https://www.libriciel.fr/web-cil/
* @link https://www.libriciel.fr/web-dpo/
* @since web-DPO v1.0.0
* @license http://www.cecill.info/licences/Licence_CeCILL_V2-fr.html CeCiLL V2 License
* @version v1.0.0
......
......@@ -13,7 +13,7 @@
* Redistributions of files must retain the above copyright notice.
*
* @copyright Copyright (c) Libriciel SCOP (https://www.libriciel.fr/)
* @link https://www.libriciel.fr/web-cil/
* @link https://www.libriciel.fr/web-dpo/
* @since web-DPO v1.0.0
* @license http://www.cecill.info/licences/Licence_CeCILL_V2-fr.html CeCiLL V2 License
* @version v1.0.0
......
......@@ -13,7 +13,7 @@
* Redistributions of files must retain the above copyright notice.
*
* @copyright Copyright (c) Libriciel SCOP (https://www.libriciel.fr/)
* @link https://www.libriciel.fr/web-cil/
* @link https://www.libriciel.fr/web-dpo/
* @since web-DPO v1.0.0
* @license http://www.cecill.info/licences/Licence_CeCILL_V2-fr.html CeCiLL V2 License
* @version v1.0.0
......@@ -34,7 +34,9 @@ class ModelesController extends AppController {
'Valeur',
'Organisation',
'User',
'Responsable',
'Coresponsable',
'Soustraitant',
'Soustraitance'
];
......@@ -421,12 +423,13 @@ class ModelesController extends AppController {
private function _getCoresponsables($formulaire_id)
{
$coresponsables = array_filter(array_keys($this->Coresponsable->schema()), function($name) {
return in_array($name, ['id', 'created', 'modified']) === false && preg_match('/_id$/', $name) !== 1;
$coresponsables = array_filter(array_keys($this->Responsable->schema()), function($name) {
return in_array($name, ['id', 'createdbyorganisation', 'created', 'modified']) === false && preg_match('/_id$/', $name) !== 1;
});
foreach ($coresponsables as $key => $coresponsable) {
$coresponsables[__d('fiche', 'fiche.champ' . ucfirst($coresponsable))] = 'valeur_'.$coresponsable;
$translation = str_replace('_', '', ucwords($coresponsable, "_"));
$coresponsables[__d('responsable_soustraitant', 'responsable_soustraitant.champ' . $translation)] = 'valeur_'.$coresponsable;
unset($coresponsables[$key]);
}
......@@ -452,12 +455,13 @@ class ModelesController extends AppController {
private function _getSoustraitances($formulaire_id)
{
$soustraitances = array_filter(array_keys($this->Soustraitance->schema()), function($name) {
return in_array($name, ['id', 'created', 'modified']) === false && preg_match('/_id$/', $name) !== 1;
$soustraitances = array_filter(array_keys($this->Soustraitant->schema()), function($name) {
return in_array($name, ['id', 'createdbyorganisation', 'created', 'modified']) === false && preg_match('/_id$/', $name) !== 1;
});
foreach ($soustraitances as $key => $soustraitance) {
$soustraitances[__d('fiche', 'fiche.champ' . ucfirst($soustraitance))] = 'valeur_'.$soustraitance;
$translation = str_replace('_', '', ucwords($soustraitance, "_"));
$soustraitances[__d('responsable_soustraitant', 'responsable_soustraitant.champ' . $translation)] = 'valeur_'.$soustraitance;
unset($soustraitances[$key]);
}
......
......@@ -13,7 +13,7 @@
* Redistributions of files must retain the above copyright notice.
*
* @copyright Copyright (c) Libriciel SCOP (https://www.libriciel.fr/)
* @link https://www.libriciel.fr/web-cil/
* @link https://www.libriciel.fr/web-dpo/
* @since web-DPO v1.0.0
* @license http://www.cecill.info/licences/Licence_CeCILL_V2-fr.html CeCiLL V2 License
* @version v1.0.0
......
......@@ -13,7 +13,7 @@
* Redistributions of files must retain the above copyright notice.
*
* @copyright Copyright (c) Libriciel SCOP (https://www.libriciel.fr/)
* @link https://www.libriciel.fr/web-cil/
* @link https://www.libriciel.fr/web-dpo/
* @since web-DPO v1.0.0
* @license http://www.cecill.info/licences/Licence_CeCILL_V2-fr.html CeCiLL V2 License
* @version v1.0.0
......
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