From 90d58bde27dec1a72b5d216d14f365763e721dfb Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Thu, 8 Sep 2022 16:19:11 +0200 Subject: [PATCH] Clean module datapolicy --- .tx/config | 6 ++ htdocs/core/modules/modDataPolicy.class.php | 20 ++-- htdocs/datapolicy/{ => admin}/mailing.php | 39 +++++++- htdocs/datapolicy/admin/setup.php | 13 ++- htdocs/datapolicy/admin/setupmail.php | 74 ++++++++------ .../class/actions_datapolicy.class.php | 20 ++-- htdocs/datapolicy/class/datapolicy.class.php | 43 ++++---- .../datapolicy/class/datapolicycron.class.php | 22 ++--- htdocs/datapolicy/langs/fr_FR/datapolicy.lang | 97 ------------------- htdocs/datapolicy/langs/it_IT/datapolicy.lang | 78 --------------- htdocs/datapolicy/lib/datapolicy.lib.php | 8 +- .../langs/en_US/datapolicy.lang | 0 .../modulebuilder/template/mymoduleindex.php | 2 +- .../template/myobject_agenda.php | 4 +- .../modulebuilder/template/myobject_card.php | 8 +- .../template/myobject_contact.php | 4 +- .../template/myobject_document.php | 4 +- .../modulebuilder/template/myobject_list.php | 4 +- .../modulebuilder/template/myobject_note.php | 4 +- .../public => public/datapolicy}/index.php | 76 ++++++++------- 20 files changed, 216 insertions(+), 310 deletions(-) rename htdocs/datapolicy/{ => admin}/mailing.php (63%) delete mode 100644 htdocs/datapolicy/langs/fr_FR/datapolicy.lang delete mode 100644 htdocs/datapolicy/langs/it_IT/datapolicy.lang rename htdocs/{datapolicy => }/langs/en_US/datapolicy.lang (100%) rename htdocs/{datapolicy/public => public/datapolicy}/index.php (75%) diff --git a/.tx/config b/.tx/config index ca169bfcc50..494ba41613d 100644 --- a/.tx/config +++ b/.tx/config @@ -98,6 +98,12 @@ source_file = htdocs/langs/en_US/cron.lang source_lang = en_US type = MOZILLAPROPERTIES +[dolibarr.datapolicy] +file_filter = htdocs/langs//datapolicy.lang +source_file = htdocs/langs/en_US/datapolicy.lang +source_lang = en_US +type = MOZILLAPROPERTIES + [dolibarr.deliveries] file_filter = htdocs/langs//deliveries.lang source_file = htdocs/langs/en_US/deliveries.lang diff --git a/htdocs/core/modules/modDataPolicy.class.php b/htdocs/core/modules/modDataPolicy.class.php index 1b82334a95b..db1abf2a075 100644 --- a/htdocs/core/modules/modDataPolicy.class.php +++ b/htdocs/core/modules/modDataPolicy.class.php @@ -106,7 +106,7 @@ class modDataPolicy extends DolibarrModules { $this->depends = array('always'=>'modCron'); // List of module class names as string that must be enabled if this module is enabled $this->requiredby = array(); // List of module ids to disable if this one is disabled $this->conflictwith = array(); // List of module class names as string this module is in conflict with - $this->langfiles = array("datapolicy@datapolicy"); + $this->langfiles = array("datapolicy"); $this->phpmin = array(5, 3); // Minimum version of PHP required by module $this->need_dolibarr_version = array(4, 0); // Minimum version of Dolibarr required by module $this->warnings_activation = array(); // Warning to show when we activate module. array('always'='text') or array('FR'='textfr','ES'='textes'...) @@ -217,23 +217,23 @@ class modDataPolicy extends DolibarrModules { /* // Extrafield contact - $result1 = $extrafields->addExtraField('datapolicy_consentement', $langs->trans("DATAPOLICY_consentement"), 'boolean', 101, 3, 'thirdparty', 0, 0, '', '', 1, '', '3', 0, '', '', 'datapolicy@datapolicy', '$conf->datapolicy->enabled'); - $result1 = $extrafields->addExtraField('datapolicy_opposition_traitement', $langs->trans("DATAPOLICY_opposition_traitement"), 'boolean', 102, 3, 'thirdparty', 0, 0, '', '', 1, '', '3', 0, '', '', 'datapolicy@datapolicy', '$conf->datapolicy->enabled'); - $result1 = $extrafields->addExtraField('datapolicy_opposition_prospection', $langs->trans("DATAPOLICY_opposition_prospection"), 'boolean', 103, 3, 'thirdparty', 0, 0, '', '', 1, '', '3', 0, '', '', 'datapolicy@datapolicy', '$conf->datapolicy->enabled'); + $result1 = $extrafields->addExtraField('datapolicy_consentement', $langs->trans("DATAPOLICY_consentement"), 'boolean', 101, 3, 'thirdparty', 0, 0, '', '', 1, '', '3', 0, '', '', 'datapolicy', '$conf->datapolicy->enabled'); + $result1 = $extrafields->addExtraField('datapolicy_opposition_traitement', $langs->trans("DATAPOLICY_opposition_traitement"), 'boolean', 102, 3, 'thirdparty', 0, 0, '', '', 1, '', '3', 0, '', '', 'datapolicy', '$conf->datapolicy->enabled'); + $result1 = $extrafields->addExtraField('datapolicy_opposition_prospection', $langs->trans("DATAPOLICY_opposition_prospection"), 'boolean', 103, 3, 'thirdparty', 0, 0, '', '', 1, '', '3', 0, '', '', 'datapolicy', '$conf->datapolicy->enabled'); $result1 = $extrafields->addExtraField('datapolicy_date', $langs->trans("DATAPOLICY_date"), 'date', 104, 3, 'thirdparty', 0, 0, '', '', 1, '', '3', 0); $result1 = $extrafields->addExtraField('datapolicy_send', $langs->trans("DATAPOLICY_send"), 'date', 105, 3, 'thirdparty', 0, 0, '', '', 0, '', '0', 0); // Extrafield Tiers - $result1 = $extrafields->addExtraField('datapolicy_consentement', $langs->trans("DATAPOLICY_consentement"), 'boolean', 101, 3, 'contact', 0, 0, '', '', 1, '', '3', 0, '', '', 'datapolicy@datapolicy', '$conf->datapolicy->enabled'); - $result1 = $extrafields->addExtraField('datapolicy_opposition_traitement', $langs->trans("DATAPOLICY_opposition_traitement"), 'boolean', 102, 3, 'contact', 0, 0, '', '', 1, '', '3', 0, '', '', 'datapolicy@datapolicy', '$conf->datapolicy->enabled'); - $result1 = $extrafields->addExtraField('datapolicy_opposition_prospection', $langs->trans("DATAPOLICY_opposition_prospection"), 'boolean', 103, 3, 'contact', 0, 0, '', '', 1, '', '3', 0, '', '', 'datapolicy@datapolicy', '$conf->datapolicy->enabled'); + $result1 = $extrafields->addExtraField('datapolicy_consentement', $langs->trans("DATAPOLICY_consentement"), 'boolean', 101, 3, 'contact', 0, 0, '', '', 1, '', '3', 0, '', '', 'datapolicy', '$conf->datapolicy->enabled'); + $result1 = $extrafields->addExtraField('datapolicy_opposition_traitement', $langs->trans("DATAPOLICY_opposition_traitement"), 'boolean', 102, 3, 'contact', 0, 0, '', '', 1, '', '3', 0, '', '', 'datapolicy', '$conf->datapolicy->enabled'); + $result1 = $extrafields->addExtraField('datapolicy_opposition_prospection', $langs->trans("DATAPOLICY_opposition_prospection"), 'boolean', 103, 3, 'contact', 0, 0, '', '', 1, '', '3', 0, '', '', 'datapolicy', '$conf->datapolicy->enabled'); $result1 = $extrafields->addExtraField('datapolicy_date', $langs->trans("DATAPOLICY_date"), 'date', 104, 3, 'contact', 0, 0, '', '', 1, '', '3', 0); $result1 = $extrafields->addExtraField('datapolicy_send', $langs->trans("DATAPOLICY_send"), 'date', 105, 3, 'contact', 0, 0, '', '', 0, '', '0', 0); // Extrafield Adherent - $result1 = $extrafields->addExtraField('datapolicy_consentement', $langs->trans("DATAPOLICY_consentement"), 'boolean', 101, 3, 'adherent', 0, 0, '', '', 1, '', '3', 0, '', '', 'datapolicy@datapolicy', '$conf->datapolicy->enabled'); - $result1 = $extrafields->addExtraField('datapolicy_opposition_traitement', $langs->trans("DATAPOLICY_opposition_traitement"), 'boolean', 102, 3, 'adherent', 0, 0, '', '', 1, '', '3', 0, '', '', 'datapolicy@datapolicy', '$conf->datapolicy->enabled'); - $result1 = $extrafields->addExtraField('datapolicy_opposition_prospection', $langs->trans("DATAPOLICY_opposition_prospection"), 'boolean', 103, 3, 'adherent', 0, 0, '', '', 1, '', '3', 0, '', '', 'datapolicy@datapolicy', '$conf->datapolicy->enabled'); + $result1 = $extrafields->addExtraField('datapolicy_consentement', $langs->trans("DATAPOLICY_consentement"), 'boolean', 101, 3, 'adherent', 0, 0, '', '', 1, '', '3', 0, '', '', 'datapolicy', '$conf->datapolicy->enabled'); + $result1 = $extrafields->addExtraField('datapolicy_opposition_traitement', $langs->trans("DATAPOLICY_opposition_traitement"), 'boolean', 102, 3, 'adherent', 0, 0, '', '', 1, '', '3', 0, '', '', 'datapolicy', '$conf->datapolicy->enabled'); + $result1 = $extrafields->addExtraField('datapolicy_opposition_prospection', $langs->trans("DATAPOLICY_opposition_prospection"), 'boolean', 103, 3, 'adherent', 0, 0, '', '', 1, '', '3', 0, '', '', 'datapolicy', '$conf->datapolicy->enabled'); $result1 = $extrafields->addExtraField('datapolicy_date', $langs->trans("DATAPOLICY_date"), 'date', 104, 3, 'adherent', 0, 0, '', '', 1, '', '3', 0); $result1 = $extrafields->addExtraField('datapolicy_send', $langs->trans("DATAPOLICY_send"), 'date', 105, 3, 'adherent', 0, 0, '', '', 0, '', '0', 0); */ diff --git a/htdocs/datapolicy/mailing.php b/htdocs/datapolicy/admin/mailing.php similarity index 63% rename from htdocs/datapolicy/mailing.php rename to htdocs/datapolicy/admin/mailing.php index 7e2dccaf7d4..d381f5995de 100644 --- a/htdocs/datapolicy/mailing.php +++ b/htdocs/datapolicy/admin/mailing.php @@ -17,25 +17,56 @@ */ /** - * \file htdocs/datapolicy/mailing.php + * \file htdocs/datapolicy/admin/mailing.php * \ingroup datapolicy - * \brief datapolicy mailing page. + * \brief Page called by the setupmail.php page to send agreements by email. */ require '../../main.inc.php'; require_once DOL_DOCUMENT_ROOT.'/contact/class/contact.class.php'; require_once DOL_DOCUMENT_ROOT.'/datapolicy/class/datapolicy.class.php'; -$idcontact = GETPOST('idc'); +$idcontact = GETPOST('idc', 'int'); +$idcompany = GETPOST('ids', 'int'); +$idmember = GETPOST('ida', 'int'); + +// Security +if (!isModEnabled("datapolicy")) { + accessforbidden(); +} +if (!$user->admin) { + accessforbidden(); +} + + +/* + * Actions + */ if (!empty($idcontact)) { $contact = new Contact($db); $contact->fetch($idcontact); DataPolicy::sendMailDataPolicyContact($contact); +} elseif (!empty($idcompany)) { + $company = new Societe($db); + $company->fetch($idcompany); + DataPolicy::sendMailDataPolicyCompany($company); +} elseif (!empty($idmember)) { + $member = new Adherent($db); + $member->fetch($idmember); + DataPolicy::sendMailDataPolicyAdherent($member); } else { $contacts = new DataPolicy($db); + + // Send email to all contacts where email was not already sent $contacts->getAllContactNotInformed(); $contacts->getAllCompaniesNotInformed(); $contacts->getAllAdherentsNotInformed(); - echo $langs->trans('AllAgreementSend'); } + + +/* + * View + */ + +echo $langs->trans('AllAgreementSend'); diff --git a/htdocs/datapolicy/admin/setup.php b/htdocs/datapolicy/admin/setup.php index 26b71ce60e1..ade4e502872 100644 --- a/htdocs/datapolicy/admin/setup.php +++ b/htdocs/datapolicy/admin/setup.php @@ -19,15 +19,15 @@ /** * \file htdocs/datapolicy/admin/setup.php * \ingroup datapolicy - * \brief datapolicy setup page. + * \brief Datapolicy setup page to define duration of data keeping. */ require '../../main.inc.php'; require_once DOL_DOCUMENT_ROOT."/core/lib/admin.lib.php"; -require_once '../lib/datapolicy.lib.php'; +require_once DOL_DOCUMENT_ROOT.'/datapolicy/lib/datapolicy.lib.php'; // Translations -$langs->loadLangs(array('admin', 'companies', 'members', 'datapolicy@datapolicy')); +$langs->loadLangs(array('admin', 'companies', 'members', 'datapolicy')); // Parameters $action = GETPOST('action', 'aZ09'); @@ -69,7 +69,10 @@ $valTab = array( '240' => $langs->trans('NB_YEARS', 20), ); -// Access control +// Security +if (!isModEnabled("datapolicy")) { + accessforbidden(); +} if (!$user->admin) { accessforbidden(); } @@ -137,7 +140,7 @@ if ($action == 'edit') { foreach ($tab as $key => $val) { print ''; print $val['picto']; - print $form->textwithpicto($langs->trans($key), $langs->trans($key.'Tooltip')); + print $form->textwithpicto($langs->trans($key), $langs->trans('DATAPOLICY_Tooltip_SETUP')); print ''; print '