Debug v14
This commit is contained in:
parent
200c36836b
commit
c37ccc10b1
@ -14,7 +14,6 @@ NEW: Add a performance center page with all information and advices related to t
|
||||
NEW: A lot of fix into english text after a small proofreading campaign (still not perfect, but really better)
|
||||
NEW: All main menu entries are using the picto of the module
|
||||
NEW: Add an example of scheduled job to send email reminder for unpayed invoices
|
||||
NEW: Accountancy - Add closure menu
|
||||
NEW: Accountancy - Add FEC import
|
||||
NEW: Accountancy - Add a confirmation form with options on export
|
||||
NEW: Accountancy - Add select date from/to in already bind customer and supplier list
|
||||
|
||||
@ -31,6 +31,7 @@ if ($action == 'update' && is_array($arrayofparameters)) {
|
||||
$db->begin();
|
||||
|
||||
foreach ($arrayofparameters as $key => $val) {
|
||||
var_dump($key);
|
||||
// Modify constant only if key was posted (avoid resetting key to the null value)
|
||||
if (GETPOSTISSET($key)) {
|
||||
if (preg_match('/category:/', $val['type'])) {
|
||||
|
||||
@ -3512,7 +3512,7 @@ function img_picto($titlealt, $picto, $moreatt = '', $pictoisfullpath = false, $
|
||||
'partnership', 'payment', 'pencil-ruler', 'preview', 'project', 'projectpub', 'projecttask', 'refresh', 'salary', 'shipment', 'supplier_invoice', 'technic', 'ticket',
|
||||
'error', 'warning',
|
||||
'reception', 'recruitmentcandidature', 'recruitmentjobposition', 'resource',
|
||||
'shapes', 'supplier_proposal', 'supplier_order', 'supplier_invoice',
|
||||
'shapes', 'supplier', 'supplier_proposal', 'supplier_order', 'supplier_invoice',
|
||||
'timespent', 'title_setup', 'title_accountancy', 'title_bank', 'title_hrm', 'title_agenda',
|
||||
'uncheck', 'user-cog', 'website', 'workstation',
|
||||
'conferenceorbooth', 'eventorganization'
|
||||
@ -3556,7 +3556,8 @@ function img_picto($titlealt, $picto, $moreatt = '', $pictoisfullpath = false, $
|
||||
'reception'=>'dolly', 'recruitmentjobposition'=>'id-card-alt', 'recruitmentcandidature'=>'id-badge',
|
||||
'resize'=>'crop', 'supplier_order'=>'dol-order_supplier', 'supplier_proposal'=>'file-signature',
|
||||
'refresh'=>'redo', 'resource'=>'laptop-house',
|
||||
'salary'=>'wallet', 'shipment'=>'dolly', 'stock'=>'box-open', 'stats' => 'chart-bar', 'split'=>'code-branch', 'stripe'=>'stripe-s', 'supplier_invoice'=>'file-invoice-dollar', 'technic'=>'cogs', 'ticket'=>'ticket-alt',
|
||||
'salary'=>'wallet', 'shipment'=>'dolly', 'stock'=>'box-open', 'stats' => 'chart-bar', 'split'=>'code-branch', 'stripe'=>'stripe-s',
|
||||
'supplier'=>'building', 'supplier_invoice'=>'file-invoice-dollar', 'technic'=>'cogs', 'ticket'=>'ticket-alt',
|
||||
'timespent'=>'clock', 'title_setup'=>'tools', 'title_accountancy'=>'money-check-alt', 'title_bank'=>'university', 'title_hrm'=>'umbrella-beach',
|
||||
'title_agenda'=>'calendar-alt',
|
||||
'uncheck'=>'times', 'uparrow'=>'share', 'vcard'=>'address-card',
|
||||
@ -3634,7 +3635,7 @@ function img_picto($titlealt, $picto, $moreatt = '', $pictoisfullpath = false, $
|
||||
'reception'=>'flip', 'recruitmentjobposition'=>'infobox-adherent', 'recruitmentcandidature'=>'infobox-adherent',
|
||||
'resource'=>'infobox-action',
|
||||
'salary'=>'infobox-bank_account', 'shipment'=>'infobox-commande', 'supplier_invoice'=>'infobox-order_supplier', 'supplier_invoicea'=>'infobox-order_supplier', 'supplier_invoiced'=>'infobox-order_supplier',
|
||||
'supplier_order'=>'infobox-order_supplier', 'supplier_proposal'=>'infobox-supplier_proposal',
|
||||
'supplier'=>'infobox-order_supplier', 'supplier_order'=>'infobox-order_supplier', 'supplier_proposal'=>'infobox-supplier_proposal',
|
||||
'ticket'=>'infobox-contrat', 'title_accountancy'=>'infobox-bank_account', 'title_hrm'=>'infobox-holiday', 'expensereport'=>'infobox-expensereport', 'trip'=>'infobox-expensereport', 'title_agenda'=>'infobox-action',
|
||||
//'title_setup'=>'infobox-action', 'tools'=>'infobox-action',
|
||||
'list-alt'=>'imgforviewmode', 'calendar'=>'imgforviewmode', 'calendarweek'=>'imgforviewmode', 'calendarmonth'=>'imgforviewmode', 'calendarday'=>'imgforviewmode', 'calendarperuser'=>'imgforviewmode'
|
||||
|
||||
@ -352,7 +352,7 @@ if (($action == "create") || ($action == "edit")) {
|
||||
|
||||
print '<tr class="blockmethod"><td>';
|
||||
print $langs->trans('CronModule')."</td><td>";
|
||||
print "<input type=\"text\" size=\"20\" name=\"module_name\" value=\"".$object->module_name."\" /> ";
|
||||
print "<input type=\"text\" class=\"width200\" name=\"module_name\" value=\"".$object->module_name."\" /> ";
|
||||
print "</td>";
|
||||
print "<td>";
|
||||
print $form->textwithpicto('', $langs->trans("CronModuleHelp"), 1, 'help');
|
||||
@ -370,7 +370,7 @@ if (($action == "create") || ($action == "edit")) {
|
||||
|
||||
print '<tr class="blockmethod"><td>';
|
||||
print $langs->trans('CronObject')."</td><td>";
|
||||
print "<input type=\"text\" size=\"20\" name=\"objectname\" value=\"".$object->objectname."\" /> ";
|
||||
print "<input type=\"text\" class=\"width200\" name=\"objectname\" value=\"".$object->objectname."\" /> ";
|
||||
print "</td>";
|
||||
print "<td>";
|
||||
print $form->textwithpicto('', $langs->trans("CronObjectHelp"), 1, 'help');
|
||||
|
||||
@ -27,15 +27,7 @@ require_once DOL_DOCUMENT_ROOT."/core/lib/admin.lib.php";
|
||||
require_once '../lib/datapolicy.lib.php';
|
||||
|
||||
// Translations
|
||||
$langs->load('admin');
|
||||
$langs->load('companies');
|
||||
$langs->load('members');
|
||||
$langs->load('datapolicy@datapolicy');
|
||||
|
||||
// Access control
|
||||
if (!$user->admin) {
|
||||
accessforbidden();
|
||||
}
|
||||
$langs->loadLangs(array('admin', 'companies', 'members', 'datapolicy@datapolicy'));
|
||||
|
||||
// Parameters
|
||||
$action = GETPOST('action', 'aZ09');
|
||||
@ -43,35 +35,27 @@ $backtopage = GETPOST('backtopage', 'alpha');
|
||||
|
||||
$arrayofparameters = array();
|
||||
$arrayofparameters['ThirdParty'] = array(
|
||||
'DATAPOLICY_TIERS_CLIENT'=>array('css'=>'minwidth200'),
|
||||
'DATAPOLICY_TIERS_PROSPECT'=>array('css'=>'minwidth200'),
|
||||
'DATAPOLICY_TIERS_PROSPECT_CLIENT'=>array('css'=>'minwidth200'),
|
||||
'DATAPOLICY_TIERS_NIPROSPECT_NICLIENT'=>array('css'=>'minwidth200'),
|
||||
'DATAPOLICY_TIERS_FOURNISSEUR'=>array('css'=>'minwidth200'),
|
||||
'DATAPOLICY_TIERS_CLIENT'=>array('css'=>'minwidth200', 'picto'=>img_picto('', 'company', 'class="pictofixedwidth"')),
|
||||
'DATAPOLICY_TIERS_PROSPECT'=>array('css'=>'minwidth200', 'picto'=>img_picto('', 'company', 'class="pictofixedwidth"')),
|
||||
'DATAPOLICY_TIERS_PROSPECT_CLIENT'=>array('css'=>'minwidth200', 'picto'=>img_picto('', 'company', 'class="pictofixedwidth"')),
|
||||
'DATAPOLICY_TIERS_NIPROSPECT_NICLIENT'=>array('css'=>'minwidth200', 'picto'=>img_picto('', 'company', 'class="pictofixedwidth"')),
|
||||
'DATAPOLICY_TIERS_FOURNISSEUR'=>array('css'=>'minwidth200', 'picto'=>img_picto('', 'supplier', 'class="pictofixedwidth"')),
|
||||
);
|
||||
if (!empty($conf->global->DATAPOLICY_USE_SPECIFIC_DELAY_FOR_CONTACT)) {
|
||||
$arrayofparameters['Contact'] = array(
|
||||
'DATAPOLICY_CONTACT_CLIENT'=>array('css'=>'minwidth200'),
|
||||
'DATAPOLICY_CONTACT_PROSPECT'=>array('css'=>'minwidth200'),
|
||||
'DATAPOLICY_CONTACT_PROSPECT_CLIENT'=>array('css'=>'minwidth200'),
|
||||
'DATAPOLICY_CONTACT_NIPROSPECT_NICLIENT'=>array('css'=>'minwidth200'),
|
||||
'DATAPOLICY_CONTACT_FOURNISSEUR'=>array('css'=>'minwidth200'),
|
||||
'DATAPOLICY_CONTACT_CLIENT'=>array('css'=>'minwidth200', 'picto'=>img_picto('', 'contact', 'class="pictofixedwidth"')),
|
||||
'DATAPOLICY_CONTACT_PROSPECT'=>array('css'=>'minwidth200', 'picto'=>img_picto('', 'contact', 'class="pictofixedwidth"')),
|
||||
'DATAPOLICY_CONTACT_PROSPECT_CLIENT'=>array('css'=>'minwidth200', 'picto'=>img_picto('', 'contact', 'class="pictofixedwidth"')),
|
||||
'DATAPOLICY_CONTACT_NIPROSPECT_NICLIENT'=>array('css'=>'minwidth200', 'picto'=>img_picto('', 'contact', 'class="pictofixedwidth"')),
|
||||
'DATAPOLICY_CONTACT_FOURNISSEUR'=>array('css'=>'minwidth200', 'picto'=>img_picto('', 'contact', 'class="pictofixedwidth"')),
|
||||
);
|
||||
}
|
||||
if (!empty($conf->adherent->enabled)) {
|
||||
$arrayofparameters['Member'] = array(
|
||||
'DATAPOLICY_ADHERENT'=>array('css'=>'minwidth200'),
|
||||
'DATAPOLICY_ADHERENT'=>array('css'=>'minwidth200', 'picto'=>img_picto('', 'member', 'class="pictofixedwidth"')),
|
||||
);
|
||||
}
|
||||
|
||||
|
||||
|
||||
/*
|
||||
* Actions
|
||||
*/
|
||||
|
||||
include DOL_DOCUMENT_ROOT.'/core/actions_setmoduleoptions.inc.php';
|
||||
|
||||
$valTab = array(
|
||||
'' => $langs->trans('Never'),
|
||||
'6' => $langs->trans('NB_MONTHS', 6),
|
||||
@ -85,6 +69,40 @@ $valTab = array(
|
||||
'240' => $langs->trans('NB_YEARS', 20),
|
||||
);
|
||||
|
||||
// Access control
|
||||
if (!$user->admin) {
|
||||
accessforbidden();
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
* Actions
|
||||
*/
|
||||
|
||||
foreach ($arrayofparameters as $title => $tab) {
|
||||
foreach ($tab as $key => $val) {
|
||||
// Modify constant only if key was posted (avoid resetting key to the null value)
|
||||
if (GETPOSTISSET($key)) {
|
||||
if (preg_match('/category:/', $val['type'])) {
|
||||
if (GETPOST($key, 'int') == '-1') {
|
||||
$val_const = '';
|
||||
} else {
|
||||
$val_const = GETPOST($key, 'int');
|
||||
}
|
||||
} else {
|
||||
$val_const = GETPOST($key, 'alpha');
|
||||
}
|
||||
|
||||
$result = dolibarr_set_const($db, $key, $val_const, 'chaine', 0, '', $conf->entity);
|
||||
if ($result < 0) {
|
||||
$error++;
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
/*
|
||||
* View
|
||||
@ -96,11 +114,11 @@ llxHeader('', $langs->trans($page_name));
|
||||
// Subheader
|
||||
$linkback = '<a href="'.($backtopage ? $backtopage : DOL_URL_ROOT.'/admin/modules.php?restore_lastsearch_values=1').'">'.$langs->trans("BackToModuleList").'</a>';
|
||||
|
||||
print load_fiche_titre($langs->trans($page_name), $linkback, 'object_generic');
|
||||
print load_fiche_titre($langs->trans($page_name), $linkback, 'generic');
|
||||
|
||||
// Configuration header
|
||||
$head = datapolicyAdminPrepareHead();
|
||||
print dol_get_fiche_head($head, 'settings', '', -1, "datapolicy@datapolicy");
|
||||
print dol_get_fiche_head($head, 'settings', '', -1, '');
|
||||
|
||||
// Setup page goes here
|
||||
echo '<span class="opacitymedium">'.$langs->trans("datapolicySetupPage").'</span><br><br>';
|
||||
@ -118,6 +136,7 @@ if ($action == 'edit') {
|
||||
print '<tr class="trforbreak"><td class="titlefield trforbreak" colspan="2">'.$langs->trans($title).'</td></tr>';
|
||||
foreach ($tab as $key => $val) {
|
||||
print '<tr class="oddeven"><td>';
|
||||
print $val['picto'];
|
||||
print $form->textwithpicto($langs->trans($key), $langs->trans($key.'Tooltip'));
|
||||
print '</td><td>';
|
||||
print '<select name="'.$key.'" class="flat '.(empty($val['css']) ? 'minwidth200' : $val['css']).'">';
|
||||
@ -147,6 +166,7 @@ if ($action == 'edit') {
|
||||
print '<tr class="trforbreak"><td class="titlefield trforbreak" colspan="2">'.$langs->trans($title).'</td></tr>';
|
||||
foreach ($tab as $key => $val) {
|
||||
print '<tr class="oddeven"><td>';
|
||||
print $val['picto'];
|
||||
print $form->textwithpicto($langs->trans($key), $langs->trans('DATAPOLICY_Tooltip_SETUP'));
|
||||
print '</td><td>'.($conf->global->$key == '' ? $langs->trans('None') : $valTab[$conf->global->$key]).'</td></tr>';
|
||||
}
|
||||
|
||||
@ -54,27 +54,26 @@ class DataPolicyCron
|
||||
$errormsg = '';
|
||||
$nbupdated = $nbdeleted = 0;
|
||||
|
||||
// FIXME Removed hardcoded values of id
|
||||
// FIXME Exclude data from the selection if there is at least 1 invoice.
|
||||
$arrayofparameters = array(
|
||||
'DATAPOLICIES_TIERS_CLIENT' => array(
|
||||
'sql' => "
|
||||
SELECT s.rowid FROM ".MAIN_DB_PREFIX."societe as s
|
||||
WHERE (s.fk_forme_juridique IN (11, 12, 13, 15, 17, 18, 19, 35, 60, 312, 316, 401, 600, 700, 1005) OR s.fk_typent = 8)
|
||||
AND s.entity = %d
|
||||
WHERE s.entity = %d
|
||||
AND s.client = 1
|
||||
AND s.fournisseur = 0
|
||||
AND s.tms < DATE_SUB(NOW(), INTERVAL %d MONTH)
|
||||
AND s.rowid NOT IN (
|
||||
SELECT DISTINCT a.fk_soc
|
||||
FROM ".MAIN_DB_PREFIX."actioncomm as a
|
||||
WHERE a.tms > DATE_SUB(NOW(), INTERVAL %d MONTH)
|
||||
AND a.fk_soc IS NOT NULL
|
||||
AND NOT EXISTS (
|
||||
SELECT id FROM ".MAIN_DB_PREFIX."actioncomm as a WHERE a.fk_soc = s.rowid AND a.tms > DATE_SUB(NOW(), INTERVAL %d MONTH)
|
||||
)
|
||||
AND NOT EXISTS (
|
||||
SELECT rowid FROM ".MAIN_DB_PREFIX."facture as f WHERE f.fk_soc = s.rowid
|
||||
)
|
||||
",
|
||||
"class" => "Societe",
|
||||
"file" => DOL_DOCUMENT_ROOT.'/societe/class/societe.class.php',
|
||||
'fields_anonym' => array(
|
||||
'name' => $langs->trans('ANONYME'),
|
||||
'name' => 'MAKEANONYMOUS',
|
||||
'name_bis' => '',
|
||||
'name_alias' => '',
|
||||
'address' => '',
|
||||
@ -87,29 +86,28 @@ class DataPolicyCron
|
||||
'state' => '',
|
||||
'country' => '',
|
||||
'state_id' => '',
|
||||
'skype' => '',
|
||||
'socialnetworks' => '',
|
||||
'country_id' => '',
|
||||
)
|
||||
),
|
||||
'DATAPOLICIES_TIERS_PROSPECT' => array(
|
||||
'sql' => "
|
||||
SELECT s.rowid FROM ".MAIN_DB_PREFIX."societe as s
|
||||
WHERE (s.fk_forme_juridique IN (11, 12, 13, 15, 17, 18, 19, 35, 60, 312, 316, 401, 600, 700, 1005) OR s.fk_typent = 8)
|
||||
AND s.entity = %d
|
||||
WHERE s.entity = %d
|
||||
AND s.client = 2
|
||||
AND s.fournisseur = 0
|
||||
AND s.tms < DATE_SUB(NOW(), INTERVAL %d MONTH)
|
||||
AND s.rowid NOT IN (
|
||||
SELECT DISTINCT a.fk_soc
|
||||
FROM ".MAIN_DB_PREFIX."actioncomm as a
|
||||
WHERE a.tms > DATE_SUB(NOW(), INTERVAL %d MONTH)
|
||||
AND a.fk_soc IS NOT NULL
|
||||
AND NOT EXISTS (
|
||||
SELECT id FROM ".MAIN_DB_PREFIX."actioncomm as a WHERE a.fk_soc = s.rowid AND a.tms > DATE_SUB(NOW(), INTERVAL %d MONTH)
|
||||
)
|
||||
AND NOT EXISTS (
|
||||
SELECT rowid FROM ".MAIN_DB_PREFIX."facture as f WHERE f.fk_soc = s.rowid
|
||||
)
|
||||
",
|
||||
"class" => "Societe",
|
||||
"file" => DOL_DOCUMENT_ROOT.'/societe/class/societe.class.php',
|
||||
'fields_anonym' => array(
|
||||
'name' => $langs->trans('ANONYME'),
|
||||
'name' => 'MAKEANONYMOUS',
|
||||
'name_bis' => '',
|
||||
'name_alias' => '',
|
||||
'address' => '',
|
||||
@ -122,29 +120,28 @@ class DataPolicyCron
|
||||
'state' => '',
|
||||
'country' => '',
|
||||
'state_id' => '',
|
||||
'skype' => '',
|
||||
'socialnetworks' => '',
|
||||
'country_id' => '',
|
||||
)
|
||||
),
|
||||
'DATAPOLICIES_TIERS_PROSPECT_CLIENT' => array(
|
||||
'sql' => "
|
||||
SELECT s.rowid FROM ".MAIN_DB_PREFIX."societe as s
|
||||
WHERE (s.fk_forme_juridique IN (11, 12, 13, 15, 17, 18, 19, 35, 60, 312, 316, 401, 600, 700, 1005) OR s.fk_typent = 8)
|
||||
AND s.entity = %d
|
||||
WHERE s.entity = %d
|
||||
AND s.client = 3
|
||||
AND s.fournisseur = 0
|
||||
AND s.tms < DATE_SUB(NOW(), INTERVAL %d MONTH)
|
||||
AND s.rowid NOT IN (
|
||||
SELECT DISTINCT a.fk_soc
|
||||
FROM ".MAIN_DB_PREFIX."actioncomm as a
|
||||
WHERE a.tms > DATE_SUB(NOW(), INTERVAL %d MONTH)
|
||||
AND a.fk_soc IS NOT NULL
|
||||
AND NOT EXISTS (
|
||||
SELECT id FROM ".MAIN_DB_PREFIX."actioncomm as a WHERE a.fk_soc = s.rowid AND a.tms > DATE_SUB(NOW(), INTERVAL %d MONTH)
|
||||
)
|
||||
AND NOT EXISTS (
|
||||
SELECT rowid FROM ".MAIN_DB_PREFIX."facture as f WHERE f.fk_soc = s.rowid
|
||||
)
|
||||
",
|
||||
"class" => "Societe",
|
||||
"file" => DOL_DOCUMENT_ROOT.'/societe/class/societe.class.php',
|
||||
'fields_anonym' => array(
|
||||
'name' => $langs->trans('ANONYME'),
|
||||
'name' => 'MAKEANONYMOUS',
|
||||
'name_bis' => '',
|
||||
'name_alias' => '',
|
||||
'address' => '',
|
||||
@ -157,29 +154,28 @@ class DataPolicyCron
|
||||
'state' => '',
|
||||
'country' => '',
|
||||
'state_id' => '',
|
||||
'skype' => '',
|
||||
'socialnetworks' => '',
|
||||
'country_id' => '',
|
||||
)
|
||||
),
|
||||
'DATAPOLICIES_TIERS_NIPROSPECT_NICLIENT' => array(
|
||||
'sql' => "
|
||||
SELECT s.rowid FROM ".MAIN_DB_PREFIX."societe as s
|
||||
WHERE (s.fk_forme_juridique IN (11, 12, 13, 15, 17, 18, 19, 35, 60, 312, 316, 401, 600, 700, 1005) OR s.fk_typent = 8)
|
||||
AND s.entity = %d
|
||||
WHERE s.entity = %d
|
||||
AND s.client = 0
|
||||
AND s.fournisseur = 0
|
||||
AND s.tms < DATE_SUB(NOW(), INTERVAL %d MONTH)
|
||||
AND s.rowid NOT IN (
|
||||
SELECT DISTINCT a.fk_soc
|
||||
FROM ".MAIN_DB_PREFIX."actioncomm as a
|
||||
WHERE a.tms > DATE_SUB(NOW(), INTERVAL %d MONTH)
|
||||
AND a.fk_soc IS NOT NULL
|
||||
AND NOT EXISTS (
|
||||
SELECT id FROM ".MAIN_DB_PREFIX."actioncomm as a WHERE a.fk_soc = s.rowid AND a.tms > DATE_SUB(NOW(), INTERVAL %d MONTH)
|
||||
)
|
||||
AND NOT EXISTS (
|
||||
SELECT rowid FROM ".MAIN_DB_PREFIX."facture as f WHERE f.fk_soc = s.rowid
|
||||
)
|
||||
",
|
||||
"class" => "Societe",
|
||||
"file" => DOL_DOCUMENT_ROOT.'/societe/class/societe.class.php',
|
||||
'fields_anonym' => array(
|
||||
'name' => $langs->trans('ANONYME'),
|
||||
'name' => 'MAKEANONYMOUS',
|
||||
'name_bis' => '',
|
||||
'name_alias' => '',
|
||||
'address' => '',
|
||||
@ -192,28 +188,27 @@ class DataPolicyCron
|
||||
'state' => '',
|
||||
'country' => '',
|
||||
'state_id' => '',
|
||||
'skype' => '',
|
||||
'socialnetworks' => '',
|
||||
'country_id' => '',
|
||||
)
|
||||
),
|
||||
'DATAPOLICIES_TIERS_FOURNISSEUR' => array(
|
||||
'sql' => "
|
||||
SELECT s.rowid FROM ".MAIN_DB_PREFIX."societe as s
|
||||
WHERE (s.fk_forme_juridique IN (11, 12, 13, 15, 17, 18, 19, 35, 60, 312, 316, 401, 600, 700, 1005) OR s.fk_typent = 8)
|
||||
AND s.entity = %d
|
||||
WHERE s.entity = %d
|
||||
AND s.fournisseur = 1
|
||||
AND s.tms < DATE_SUB(NOW(), INTERVAL %d MONTH)
|
||||
AND s.rowid NOT IN (
|
||||
SELECT DISTINCT a.fk_soc
|
||||
FROM ".MAIN_DB_PREFIX."actioncomm as a
|
||||
WHERE a.tms > DATE_SUB(NOW(), INTERVAL %d MONTH)
|
||||
AND a.fk_contact IS NOT NULL
|
||||
AND NOT EXISTS (
|
||||
SELECT id FROM ".MAIN_DB_PREFIX."actioncomm as a WHERE a.fk_soc = s.rowid AND a.tms > DATE_SUB(NOW(), INTERVAL %d MONTH)
|
||||
)
|
||||
AND NOT EXISTS (
|
||||
SELECT rowid FROM ".MAIN_DB_PREFIX."facture as f WHERE f.fk_soc = s.rowid
|
||||
)
|
||||
",
|
||||
"class" => "Societe",
|
||||
"file" => DOL_DOCUMENT_ROOT.'/societe/class/societe.class.php',
|
||||
'fields_anonym' => array(
|
||||
'name' => $langs->trans('ANONYME'),
|
||||
'name' => 'MAKEANONYMOUS',
|
||||
'name_bis' => '',
|
||||
'name_alias' => '',
|
||||
'address' => '',
|
||||
@ -226,7 +221,7 @@ class DataPolicyCron
|
||||
'state' => '',
|
||||
'country' => '',
|
||||
'state_id' => '',
|
||||
'skype' => '',
|
||||
'socialnetworks' => '',
|
||||
'country_id' => '',
|
||||
)
|
||||
),
|
||||
@ -238,17 +233,17 @@ class DataPolicyCron
|
||||
AND c.tms < DATE_SUB(NOW(), INTERVAL %d MONTH)
|
||||
AND s.client = 1
|
||||
AND s.fournisseur = 0
|
||||
AND c.rowid NOT IN (
|
||||
SELECT DISTINCT a.fk_contact
|
||||
FROM ".MAIN_DB_PREFIX."actioncomm as a
|
||||
WHERE a.tms > DATE_SUB(NOW(), INTERVAL %d MONTH)
|
||||
AND a.fk_contact IS NOT NULL
|
||||
AND NOT EXISTS (
|
||||
SELECT id FROM ".MAIN_DB_PREFIX."actioncomm as a WHERE a.fk_contact = c.rowid AND a.tms > DATE_SUB(NOW(), INTERVAL %d MONTH)
|
||||
)
|
||||
AND NOT EXISTS (
|
||||
SELECT rowid FROM ".MAIN_DB_PREFIX."facture as f WHERE f.fk_soc = s.rowid
|
||||
)
|
||||
",
|
||||
"class" => "Contact",
|
||||
"file" => DOL_DOCUMENT_ROOT.'/contact/class/contact.class.php',
|
||||
'fields_anonym' => array(
|
||||
'lastname' => $langs->trans('ANONYME'),
|
||||
'lastname' => 'MAKEANONYMOUS',
|
||||
'firstname' => '',
|
||||
'civility_id' => '',
|
||||
'poste' => '',
|
||||
@ -264,8 +259,7 @@ class DataPolicyCron
|
||||
'state' => '',
|
||||
'country' => '',
|
||||
'state_id' => '',
|
||||
'skype' => '',
|
||||
'jabberid' => '',
|
||||
'socialnetworks' => '',
|
||||
'country_id' => '',
|
||||
)
|
||||
),
|
||||
@ -277,17 +271,17 @@ class DataPolicyCron
|
||||
AND c.tms < DATE_SUB(NOW(), INTERVAL %d MONTH)
|
||||
AND s.client = 2
|
||||
AND s.fournisseur = 0
|
||||
AND c.rowid NOT IN (
|
||||
SELECT DISTINCT a.fk_contact
|
||||
FROM ".MAIN_DB_PREFIX."actioncomm as a
|
||||
WHERE a.tms > DATE_SUB(NOW(), INTERVAL %d MONTH)
|
||||
AND a.fk_contact IS NOT NULL
|
||||
AND NOT EXISTS (
|
||||
SELECT id FROM ".MAIN_DB_PREFIX."actioncomm as a WHERE a.fk_contact = c.rowid AND a.tms > DATE_SUB(NOW(), INTERVAL %d MONTH)
|
||||
)
|
||||
AND NOT EXISTS (
|
||||
SELECT rowid FROM ".MAIN_DB_PREFIX."facture as f WHERE f.fk_soc = s.rowid
|
||||
)
|
||||
",
|
||||
"class" => "Contact",
|
||||
"file" => DOL_DOCUMENT_ROOT.'/contact/class/contact.class.php',
|
||||
'fields_anonym' => array(
|
||||
'lastname' => $langs->trans('ANONYME'),
|
||||
'lastname' => 'MAKEANONYMOUS',
|
||||
'firstname' => '',
|
||||
'civility_id' => '',
|
||||
'poste' => '',
|
||||
@ -303,8 +297,7 @@ class DataPolicyCron
|
||||
'state' => '',
|
||||
'country' => '',
|
||||
'state_id' => '',
|
||||
'skype' => '',
|
||||
'jabberid' => '',
|
||||
'socialnetworks' => '',
|
||||
'country_id' => '',
|
||||
)
|
||||
),
|
||||
@ -316,17 +309,17 @@ class DataPolicyCron
|
||||
AND c.tms < DATE_SUB(NOW(), INTERVAL %d MONTH)
|
||||
AND s.client = 3
|
||||
AND s.fournisseur = 0
|
||||
AND c.rowid NOT IN (
|
||||
SELECT DISTINCT a.fk_contact
|
||||
FROM ".MAIN_DB_PREFIX."actioncomm as a
|
||||
WHERE a.tms > DATE_SUB(NOW(), INTERVAL %d MONTH)
|
||||
AND a.fk_contact IS NOT NULL
|
||||
AND NOT EXISTS (
|
||||
SELECT id FROM ".MAIN_DB_PREFIX."actioncomm as a WHERE a.fk_contact = c.rowid AND a.tms > DATE_SUB(NOW(), INTERVAL %d MONTH)
|
||||
)
|
||||
AND NOT EXISTS (
|
||||
SELECT rowid FROM ".MAIN_DB_PREFIX."facture as f WHERE f.fk_soc = s.rowid
|
||||
)
|
||||
",
|
||||
"class" => "Contact",
|
||||
"file" => DOL_DOCUMENT_ROOT.'/contact/class/contact.class.php',
|
||||
'fields_anonym' => array(
|
||||
'lastname' => $langs->trans('ANONYME'),
|
||||
'lastname' => 'MAKEANONYMOUS',
|
||||
'firstname' => '',
|
||||
'civility_id' => '',
|
||||
'poste' => '',
|
||||
@ -342,8 +335,7 @@ class DataPolicyCron
|
||||
'state' => '',
|
||||
'country' => '',
|
||||
'state_id' => '',
|
||||
'skype' => '',
|
||||
'jabberid' => '',
|
||||
'socialnetworks' => '',
|
||||
'country_id' => '',
|
||||
)
|
||||
),
|
||||
@ -355,17 +347,17 @@ class DataPolicyCron
|
||||
AND c.tms < DATE_SUB(NOW(), INTERVAL %d MONTH)
|
||||
AND s.client = 0
|
||||
AND s.fournisseur = 0
|
||||
AND c.rowid NOT IN (
|
||||
SELECT DISTINCT a.fk_contact
|
||||
FROM ".MAIN_DB_PREFIX."actioncomm as a
|
||||
WHERE a.tms > DATE_SUB(NOW(), INTERVAL %d MONTH)
|
||||
AND a.fk_contact IS NOT NULL
|
||||
AND NOT EXISTS (
|
||||
SELECT id FROM ".MAIN_DB_PREFIX."actioncomm as a WHERE a.fk_contact = c.rowid AND a.tms > DATE_SUB(NOW(), INTERVAL %d MONTH)
|
||||
)
|
||||
AND NOT EXISTS (
|
||||
SELECT rowid FROM ".MAIN_DB_PREFIX."facture as f WHERE f.fk_soc = s.rowid
|
||||
)
|
||||
",
|
||||
"class" => "Contact",
|
||||
"file" => DOL_DOCUMENT_ROOT.'/contact/class/contact.class.php',
|
||||
'fields_anonym' => array(
|
||||
'lastname' => $langs->trans('ANONYME'),
|
||||
'lastname' => 'MAKEANONYMOUS',
|
||||
'firstname' => '',
|
||||
'civility_id' => '',
|
||||
'poste' => '',
|
||||
@ -381,8 +373,7 @@ class DataPolicyCron
|
||||
'state' => '',
|
||||
'country' => '',
|
||||
'state_id' => '',
|
||||
'skype' => '',
|
||||
'jabberid' => '',
|
||||
'socialnetworks' => '',
|
||||
'country_id' => '',
|
||||
)
|
||||
),
|
||||
@ -393,17 +384,17 @@ class DataPolicyCron
|
||||
WHERE c.entity = %d
|
||||
AND c.tms < DATE_SUB(NOW(), INTERVAL %d MONTH)
|
||||
AND s.fournisseur = 1
|
||||
AND c.rowid NOT IN (
|
||||
SELECT DISTINCT a.fk_contact
|
||||
FROM ".MAIN_DB_PREFIX."actioncomm as a
|
||||
WHERE a.tms > DATE_SUB(NOW(), INTERVAL %d MONTH)
|
||||
AND a.fk_contact IS NOT NULL
|
||||
AND NOT EXISTS (
|
||||
SELECT id FROM ".MAIN_DB_PREFIX."actioncomm as a WHERE a.fk_contact = c.rowid AND a.tms > DATE_SUB(NOW(), INTERVAL %d MONTH)
|
||||
)
|
||||
AND NOT EXISTS (
|
||||
SELECT rowid FROM ".MAIN_DB_PREFIX."facture as f WHERE f.fk_soc = s.rowid
|
||||
)
|
||||
",
|
||||
"class" => "Contact",
|
||||
"file" => DOL_DOCUMENT_ROOT.'/contact/class/contact.class.php',
|
||||
'fields_anonym' => array(
|
||||
'lastname' => $langs->trans('ANONYME'),
|
||||
'lastname' => 'MAKEANONYMOUS',
|
||||
'firstname' => '',
|
||||
'civility_id' => '',
|
||||
'poste' => '',
|
||||
@ -419,8 +410,7 @@ class DataPolicyCron
|
||||
'state' => '',
|
||||
'country' => '',
|
||||
'state_id' => '',
|
||||
'skype' => '',
|
||||
'jabberid' => '',
|
||||
'socialnetworks' => '',
|
||||
'country_id' => '',
|
||||
)
|
||||
),
|
||||
@ -429,19 +419,15 @@ class DataPolicyCron
|
||||
SELECT a.rowid FROM ".MAIN_DB_PREFIX."adherent as a
|
||||
WHERE a.entity = %d
|
||||
AND a.tms < DATE_SUB(NOW(), INTERVAL %d MONTH)
|
||||
AND a.rowid NOT IN (
|
||||
SELECT DISTINCT a.fk_element
|
||||
FROM ".MAIN_DB_PREFIX."actioncomm as a
|
||||
WHERE a.tms > DATE_SUB(NOW(), INTERVAL %d MONTH)
|
||||
AND a.elementtype LIKE 'member'
|
||||
AND a.fk_element IS NOT NULL
|
||||
AND NOT EXISTS (
|
||||
SELECT id FROM ".MAIN_DB_PREFIX."actioncomm as a WHERE a.fk_element = a.rowid AND a.tms > DATE_SUB(NOW(), INTERVAL %d MONTH) AND a.elementtype LIKE 'member'
|
||||
)
|
||||
",
|
||||
"class" => "Adherent",
|
||||
"file" => DOL_DOCUMENT_ROOT.'/adherents/class/adherent.class.php',
|
||||
'fields_anonym' => array(
|
||||
'lastname' => $langs->trans('ANONYME'),
|
||||
'firstname' => $langs->trans('ANONYME'),
|
||||
'lastname' => 'MAKEANONYMOUS',
|
||||
'firstname' => 'MAKEANONYMOUS',
|
||||
'civility_id' => '',
|
||||
'societe' => '',
|
||||
'address' => '',
|
||||
@ -456,7 +442,7 @@ class DataPolicyCron
|
||||
'state' => '',
|
||||
'country' => '',
|
||||
'state_id' => '',
|
||||
'skype' => '',
|
||||
'socialnetworks' => '',
|
||||
'country_id' => '',
|
||||
)
|
||||
),
|
||||
@ -483,27 +469,27 @@ class DataPolicyCron
|
||||
$object->fetch($obj->rowid);
|
||||
$object->id = $obj->rowid;
|
||||
|
||||
if ($object->isObjectUsed($obj->rowid) > 0) { // If object to clean is used
|
||||
foreach ($params['fields_anonym'] as $fields => $val) {
|
||||
$object->$fields = $val;
|
||||
}
|
||||
$result = $object->update($obj->rowid, $user);
|
||||
if ($result > 0) {
|
||||
if ($params['class'] == 'Societe') {
|
||||
// We delete contacts of thirdparty
|
||||
$sql = "DELETE FROM ".MAIN_DB_PREFIX."socpeople WHERE fk_soc = ".$obj->rowid;
|
||||
$result = $this->db->query($sql);
|
||||
if ($result < 0) {
|
||||
$errormsg = $this->db->lasterror();
|
||||
$error++;
|
||||
$action = 'anonymize'; // TODO Offer also action "delete" in setup of module
|
||||
|
||||
if ($action == 'anonymize') {
|
||||
if ($object->isObjectUsed($obj->rowid) == 0) { // If object to clean is used
|
||||
foreach ($params['fields_anonym'] as $fields => $val) {
|
||||
if ($val == 'MAKEANONYMOUS') {
|
||||
$object->$fields = $fields.'-anonymous-'.$obj->rowid;
|
||||
} else {
|
||||
$object->$fields = $val;
|
||||
}
|
||||
}
|
||||
} else {
|
||||
$errormsg = $object->error;
|
||||
$error++;
|
||||
$result = $object->update($obj->rowid, $user);
|
||||
if ($result > 0) {
|
||||
$errormsg = $object->error;
|
||||
$error++;
|
||||
}
|
||||
$nbupdated++;
|
||||
}
|
||||
$nbupdated++;
|
||||
} else { // If object to clean is not used
|
||||
}
|
||||
|
||||
if ($action == 'delete') { // If object to clean is not used
|
||||
if ($object->element == 'adherent') {
|
||||
$result = $object->delete($obj->rowid, $user);
|
||||
} else {
|
||||
|
||||
@ -1768,7 +1768,7 @@ AGENDA_DEFAULT_VIEW=Which view do you want to open by default when selecting men
|
||||
AGENDA_REMINDER_BROWSER=Enable event reminder <b>on user's browser</b> (When remind date is reached, a popup is shown by the browser. Each user can disable such notifications from its browser notification setup).
|
||||
AGENDA_REMINDER_BROWSER_SOUND=Enable sound notification
|
||||
AGENDA_REMINDER_EMAIL=Enable event reminder <b>by emails</b> (remind option/delay can be defined on each event).
|
||||
AGENDA_REMINDER_EMAIL_NOTE=Note: The frequency of the task %s must be enough to be sure that the remind are sent at the correct moment.
|
||||
AGENDA_REMINDER_EMAIL_NOTE=Note: The frequency of the scheduled job %s must be enough to be sure that the remind are sent at the correct moment.
|
||||
AGENDA_SHOW_LINKED_OBJECT=Show linked object into agenda view
|
||||
##### Clicktodial #####
|
||||
ClickToDialSetup=Click To Dial module setup
|
||||
|
||||
Loading…
Reference in New Issue
Block a user