Merge pull request #15844 from frederic34/adminexpensereport
remove deprecated
This commit is contained in:
commit
4768bfe2a5
@ -37,7 +37,9 @@ require_once DOL_DOCUMENT_ROOT.'/expensereport/class/expensereport.class.php';
|
|||||||
// Load translation files required by the page
|
// Load translation files required by the page
|
||||||
$langs->loadLangs(array('admin', 'errors', 'trips', 'other'));
|
$langs->loadLangs(array('admin', 'errors', 'trips', 'other'));
|
||||||
|
|
||||||
if (!$user->admin) accessforbidden();
|
if (!$user->admin) {
|
||||||
|
accessforbidden();
|
||||||
|
}
|
||||||
|
|
||||||
$action = GETPOST('action', 'aZ09');
|
$action = GETPOST('action', 'aZ09');
|
||||||
$value = GETPOST('value', 'alpha');
|
$value = GETPOST('value', 'alpha');
|
||||||
@ -52,51 +54,47 @@ $type = 'expensereport';
|
|||||||
|
|
||||||
include DOL_DOCUMENT_ROOT.'/core/actions_setmoduleoptions.inc.php';
|
include DOL_DOCUMENT_ROOT.'/core/actions_setmoduleoptions.inc.php';
|
||||||
|
|
||||||
if ($action == 'updateMask')
|
if ($action == 'updateMask') {
|
||||||
{
|
|
||||||
$maskconst = GETPOST('maskconst', 'alpha');
|
$maskconst = GETPOST('maskconst', 'alpha');
|
||||||
$maskvalue = GETPOST('maskvalue', 'alpha');
|
$maskvalue = GETPOST('maskvalue', 'alpha');
|
||||||
if ($maskconst) $res = dolibarr_set_const($db, $maskconst, $maskvalue, 'chaine', 0, '', $conf->entity);
|
if ($maskconst) {
|
||||||
|
$res = dolibarr_set_const($db, $maskconst, $maskvalue, 'chaine', 0, '', $conf->entity);
|
||||||
|
}
|
||||||
|
|
||||||
if (!$res > 0) $error++;
|
if (!$res > 0) {
|
||||||
|
$error++;
|
||||||
|
}
|
||||||
|
|
||||||
if (!$error)
|
if (!$error) {
|
||||||
{
|
|
||||||
setEventMessages($langs->trans("SetupSaved"), null, 'mesgs');
|
setEventMessages($langs->trans("SetupSaved"), null, 'mesgs');
|
||||||
} else {
|
} else {
|
||||||
setEventMessages($langs->trans("Error"), null, 'errors');
|
setEventMessages($langs->trans("Error"), null, 'errors');
|
||||||
}
|
}
|
||||||
} elseif ($action == 'specimen') // For fiche inter
|
} elseif ($action == 'specimen') { // For fiche expensereport
|
||||||
{
|
|
||||||
$modele = GETPOST('module', 'alpha');
|
$modele = GETPOST('module', 'alpha');
|
||||||
|
|
||||||
$inter = new ExpenseReport($db);
|
$expensespecimen = new ExpenseReport($db);
|
||||||
$inter->initAsSpecimen();
|
$expensespecimen->initAsSpecimen();
|
||||||
$inter->status = 0; // Force statut draft to show watermark
|
$expensespecimen->status = 0; // Force statut draft to show watermark
|
||||||
$inter->fk_statut = 0; // Force statut draft to show watermark
|
|
||||||
|
|
||||||
// Search template files
|
// Search template files
|
||||||
$file = ''; $classname = ''; $filefound = 0;
|
$file = ''; $classname = ''; $filefound = 0;
|
||||||
$dirmodels = array_merge(array('/'), (array) $conf->modules_parts['models']);
|
$dirmodels = array_merge(array('/'), (array) $conf->modules_parts['models']);
|
||||||
foreach ($dirmodels as $reldir)
|
foreach ($dirmodels as $reldir) {
|
||||||
{
|
|
||||||
$file = dol_buildpath($reldir."core/modules/expensereport/doc/pdf_".$modele.".modules.php", 0);
|
$file = dol_buildpath($reldir."core/modules/expensereport/doc/pdf_".$modele.".modules.php", 0);
|
||||||
if (file_exists($file))
|
if (file_exists($file)) {
|
||||||
{
|
|
||||||
$filefound = 1;
|
$filefound = 1;
|
||||||
$classname = "pdf_".$modele;
|
$classname = "pdf_".$modele;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if ($filefound)
|
if ($filefound) {
|
||||||
{
|
|
||||||
require_once $file;
|
require_once $file;
|
||||||
|
|
||||||
$module = new $classname($db);
|
$module = new $classname($db);
|
||||||
|
|
||||||
if ($module->write_file($inter, $langs) > 0)
|
if ($module->write_file($expensespecimen, $langs) > 0) {
|
||||||
{
|
|
||||||
header("Location: ".DOL_URL_ROOT."/document.php?modulepart=expensereport&file=SPECIMEN.pdf");
|
header("Location: ".DOL_URL_ROOT."/document.php?modulepart=expensereport&file=SPECIMEN.pdf");
|
||||||
return;
|
return;
|
||||||
} else {
|
} else {
|
||||||
@ -107,30 +105,22 @@ if ($action == 'updateMask')
|
|||||||
setEventMessages($langs->trans("ErrorModuleNotFound"), null, 'errors');
|
setEventMessages($langs->trans("ErrorModuleNotFound"), null, 'errors');
|
||||||
dol_syslog($langs->trans("ErrorModuleNotFound"), LOG_ERR);
|
dol_syslog($langs->trans("ErrorModuleNotFound"), LOG_ERR);
|
||||||
}
|
}
|
||||||
}
|
} elseif ($action == 'set') {
|
||||||
|
// Activate a model
|
||||||
// Activate a model
|
|
||||||
elseif ($action == 'set')
|
|
||||||
{
|
|
||||||
$ret = addDocumentModel($value, $type, $label, $scandir);
|
$ret = addDocumentModel($value, $type, $label, $scandir);
|
||||||
if ($ret > 0 && empty($conf->global->EXPENSEREPORT_ADDON_PDF))
|
if ($ret > 0 && empty($conf->global->EXPENSEREPORT_ADDON_PDF)) {
|
||||||
{
|
|
||||||
dolibarr_set_const($db, 'EXPENSEREPORT_ADDON_PDF', $value, 'chaine', 0, '', $conf->entity);
|
dolibarr_set_const($db, 'EXPENSEREPORT_ADDON_PDF', $value, 'chaine', 0, '', $conf->entity);
|
||||||
}
|
}
|
||||||
} elseif ($action == 'del')
|
} elseif ($action == 'del') {
|
||||||
{
|
|
||||||
$ret = delDocumentModel($value, $type);
|
$ret = delDocumentModel($value, $type);
|
||||||
if ($ret > 0)
|
if ($ret > 0) {
|
||||||
{
|
if ($conf->global->EXPENSEREPORT_ADDON_PDF == "$value") {
|
||||||
if ($conf->global->EXPENSEREPORT_ADDON_PDF == "$value") dolibarr_del_const($db, 'EXPENSEREPORT_ADDON_PDF', $conf->entity);
|
dolibarr_del_const($db, 'EXPENSEREPORT_ADDON_PDF', $conf->entity);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
} elseif ($action == 'setdoc') {
|
||||||
|
// Set default model
|
||||||
// Set default model
|
if (dolibarr_set_const($db, "EXPENSEREPORT_ADDON_PDF", $value, 'chaine', 0, '', $conf->entity)) {
|
||||||
elseif ($action == 'setdoc')
|
|
||||||
{
|
|
||||||
if (dolibarr_set_const($db, "EXPENSEREPORT_ADDON_PDF", $value, 'chaine', 0, '', $conf->entity))
|
|
||||||
{
|
|
||||||
// La constante qui a ete lue en avant du nouveau set
|
// La constante qui a ete lue en avant du nouveau set
|
||||||
// on passe donc par une variable pour avoir un affichage coherent
|
// on passe donc par une variable pour avoir un affichage coherent
|
||||||
$conf->global->EXPENSEREPORT_ADDON_PDF = $value;
|
$conf->global->EXPENSEREPORT_ADDON_PDF = $value;
|
||||||
@ -138,18 +128,15 @@ elseif ($action == 'setdoc')
|
|||||||
|
|
||||||
// On active le modele
|
// On active le modele
|
||||||
$ret = delDocumentModel($value, $type);
|
$ret = delDocumentModel($value, $type);
|
||||||
if ($ret > 0)
|
if ($ret > 0) {
|
||||||
{
|
|
||||||
$ret = addDocumentModel($value, $type, $label, $scandir);
|
$ret = addDocumentModel($value, $type, $label, $scandir);
|
||||||
}
|
}
|
||||||
} elseif ($action == 'setmod')
|
} elseif ($action == 'setmod') {
|
||||||
{
|
|
||||||
// TODO Verifier si module numerotation choisi peut etre active
|
// TODO Verifier si module numerotation choisi peut etre active
|
||||||
// par appel methode canBeActivated
|
// par appel methode canBeActivated
|
||||||
|
|
||||||
dolibarr_set_const($db, "EXPENSEREPORT_ADDON", $value, 'chaine', 0, '', $conf->entity);
|
dolibarr_set_const($db, "EXPENSEREPORT_ADDON", $value, 'chaine', 0, '', $conf->entity);
|
||||||
} elseif ($action == 'setoptions')
|
} elseif ($action == 'setoptions') {
|
||||||
{
|
|
||||||
$db->begin();
|
$db->begin();
|
||||||
|
|
||||||
$freetext = GETPOST('EXPENSEREPORT_FREE_TEXT', 'restricthtml'); // No alpha here, we want exact string
|
$freetext = GETPOST('EXPENSEREPORT_FREE_TEXT', 'restricthtml'); // No alpha here, we want exact string
|
||||||
@ -158,10 +145,11 @@ elseif ($action == 'setdoc')
|
|||||||
$draft = GETPOST('EXPENSEREPORT_DRAFT_WATERMARK', 'alpha');
|
$draft = GETPOST('EXPENSEREPORT_DRAFT_WATERMARK', 'alpha');
|
||||||
$res2 = dolibarr_set_const($db, "EXPENSEREPORT_DRAFT_WATERMARK", trim($draft), 'chaine', 0, '', $conf->entity);
|
$res2 = dolibarr_set_const($db, "EXPENSEREPORT_DRAFT_WATERMARK", trim($draft), 'chaine', 0, '', $conf->entity);
|
||||||
|
|
||||||
if (!$res1 > 0 || !$res2 > 0) $error++;
|
if (!$res1 > 0 || !$res2 > 0) {
|
||||||
|
$error++;
|
||||||
|
}
|
||||||
|
|
||||||
if (!$error)
|
if (!$error) {
|
||||||
{
|
|
||||||
$db->commit();
|
$db->commit();
|
||||||
setEventMessages($langs->trans("SetupSaved"), null, 'mesgs');
|
setEventMessages($langs->trans("SetupSaved"), null, 'mesgs');
|
||||||
} else {
|
} else {
|
||||||
@ -206,19 +194,14 @@ print '</tr>'."\n";
|
|||||||
|
|
||||||
clearstatcache();
|
clearstatcache();
|
||||||
|
|
||||||
foreach ($dirmodels as $reldir)
|
foreach ($dirmodels as $reldir) {
|
||||||
{
|
|
||||||
$dir = dol_buildpath($reldir."core/modules/expensereport/");
|
$dir = dol_buildpath($reldir."core/modules/expensereport/");
|
||||||
|
|
||||||
if (is_dir($dir))
|
if (is_dir($dir)) {
|
||||||
{
|
|
||||||
$handle = opendir($dir);
|
$handle = opendir($dir);
|
||||||
if (is_resource($handle))
|
if (is_resource($handle)) {
|
||||||
{
|
while (($file = readdir($handle)) !== false) {
|
||||||
while (($file = readdir($handle)) !== false)
|
if (substr($file, 0, 18) == 'mod_expensereport_' && substr($file, dol_strlen($file) - 3, 3) == 'php') {
|
||||||
{
|
|
||||||
if (substr($file, 0, 18) == 'mod_expensereport_' && substr($file, dol_strlen($file) - 3, 3) == 'php')
|
|
||||||
{
|
|
||||||
$file = substr($file, 0, dol_strlen($file) - 4);
|
$file = substr($file, 0, dol_strlen($file) - 4);
|
||||||
|
|
||||||
require_once $dir.$file.'.php';
|
require_once $dir.$file.'.php';
|
||||||
@ -226,11 +209,14 @@ foreach ($dirmodels as $reldir)
|
|||||||
$module = new $file($db);
|
$module = new $file($db);
|
||||||
|
|
||||||
// Show modules according to features level
|
// Show modules according to features level
|
||||||
if ($module->version == 'development' && $conf->global->MAIN_FEATURES_LEVEL < 2) continue;
|
if ($module->version == 'development' && $conf->global->MAIN_FEATURES_LEVEL < 2) {
|
||||||
if ($module->version == 'experimental' && $conf->global->MAIN_FEATURES_LEVEL < 1) continue;
|
continue;
|
||||||
|
}
|
||||||
|
if ($module->version == 'experimental' && $conf->global->MAIN_FEATURES_LEVEL < 1) {
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
if ($module->isEnabled())
|
if ($module->isEnabled()) {
|
||||||
{
|
|
||||||
print '<tr class="oddeven"><td>'.$module->nom."</td><td>\n";
|
print '<tr class="oddeven"><td>'.$module->nom."</td><td>\n";
|
||||||
print $module->info();
|
print $module->info();
|
||||||
print '</td>';
|
print '</td>';
|
||||||
@ -241,13 +227,15 @@ foreach ($dirmodels as $reldir)
|
|||||||
if (preg_match('/^Error/', $tmp)) {
|
if (preg_match('/^Error/', $tmp)) {
|
||||||
$langs->load("errors");
|
$langs->load("errors");
|
||||||
print '<div class="error">'.$langs->trans($tmp).'</div>';
|
print '<div class="error">'.$langs->trans($tmp).'</div>';
|
||||||
} elseif ($tmp == 'NotConfigured') print $langs->trans($tmp);
|
} elseif ($tmp == 'NotConfigured') {
|
||||||
else print $tmp;
|
print $langs->trans($tmp);
|
||||||
|
} else {
|
||||||
|
print $tmp;
|
||||||
|
}
|
||||||
print '</td>'."\n";
|
print '</td>'."\n";
|
||||||
|
|
||||||
print '<td class="center">';
|
print '<td class="center">';
|
||||||
if ($conf->global->EXPENSEREPORT_ADDON == $file)
|
if ($conf->global->EXPENSEREPORT_ADDON == $file) {
|
||||||
{
|
|
||||||
print img_picto($langs->trans("Activated"), 'switch_on');
|
print img_picto($langs->trans("Activated"), 'switch_on');
|
||||||
} else {
|
} else {
|
||||||
print '<a class="reposition" href="'.$_SERVER["PHP_SELF"].'?action=setmod&token='.newToken().'&value='.urlencode($file).'">';
|
print '<a class="reposition" href="'.$_SERVER["PHP_SELF"].'?action=setmod&token='.newToken().'&value='.urlencode($file).'">';
|
||||||
@ -266,8 +254,9 @@ foreach ($dirmodels as $reldir)
|
|||||||
if ("$nextval" != $langs->trans("NotAvailable")) { // Keep " on nextval
|
if ("$nextval" != $langs->trans("NotAvailable")) { // Keep " on nextval
|
||||||
$htmltooltip .= ''.$langs->trans("NextValue").': ';
|
$htmltooltip .= ''.$langs->trans("NextValue").': ';
|
||||||
if ($nextval) {
|
if ($nextval) {
|
||||||
if (preg_match('/^Error/', $nextval) || $nextval == 'NotConfigured')
|
if (preg_match('/^Error/', $nextval) || $nextval == 'NotConfigured') {
|
||||||
$nextval = $langs->trans($nextval);
|
$nextval = $langs->trans($nextval);
|
||||||
|
}
|
||||||
$htmltooltip .= $nextval.'<br>';
|
$htmltooltip .= $nextval.'<br>';
|
||||||
} else {
|
} else {
|
||||||
$htmltooltip .= $langs->trans($module->error).'<br>';
|
$htmltooltip .= $langs->trans($module->error).'<br>';
|
||||||
@ -289,7 +278,7 @@ foreach ($dirmodels as $reldir)
|
|||||||
print "</table><br>\n";
|
print "</table><br>\n";
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Documents models for Interventions
|
* Documents models for ExpenseReport
|
||||||
*/
|
*/
|
||||||
|
|
||||||
print load_fiche_titre($langs->trans("TemplatePDFExpenseReports"), '', '');
|
print load_fiche_titre($langs->trans("TemplatePDFExpenseReports"), '', '');
|
||||||
@ -302,12 +291,10 @@ $sql .= " FROM ".MAIN_DB_PREFIX."document_model";
|
|||||||
$sql .= " WHERE type = '".$db->escape($type)."'";
|
$sql .= " WHERE type = '".$db->escape($type)."'";
|
||||||
$sql .= " AND entity = ".$conf->entity;
|
$sql .= " AND entity = ".$conf->entity;
|
||||||
$resql = $db->query($sql);
|
$resql = $db->query($sql);
|
||||||
if ($resql)
|
if ($resql) {
|
||||||
{
|
|
||||||
$i = 0;
|
$i = 0;
|
||||||
$num_rows = $db->num_rows($resql);
|
$num_rows = $db->num_rows($resql);
|
||||||
while ($i < $num_rows)
|
while ($i < $num_rows) {
|
||||||
{
|
|
||||||
$array = $db->fetch_array($resql);
|
$array = $db->fetch_array($resql);
|
||||||
array_push($def, $array[0]);
|
array_push($def, $array[0]);
|
||||||
$i++;
|
$i++;
|
||||||
@ -328,28 +315,21 @@ print "</tr>\n";
|
|||||||
|
|
||||||
clearstatcache();
|
clearstatcache();
|
||||||
|
|
||||||
foreach ($dirmodels as $reldir)
|
foreach ($dirmodels as $reldir) {
|
||||||
{
|
|
||||||
$dir = dol_buildpath($reldir."core/modules/expensereport/doc");
|
$dir = dol_buildpath($reldir."core/modules/expensereport/doc");
|
||||||
|
|
||||||
if (is_dir($dir))
|
if (is_dir($dir)) {
|
||||||
{
|
|
||||||
$handle = opendir($dir);
|
$handle = opendir($dir);
|
||||||
if (is_resource($handle))
|
if (is_resource($handle)) {
|
||||||
{
|
while (($file = readdir($handle)) !== false) {
|
||||||
while (($file = readdir($handle)) !== false)
|
|
||||||
{
|
|
||||||
$filelist[] = $file;
|
$filelist[] = $file;
|
||||||
}
|
}
|
||||||
closedir($handle);
|
closedir($handle);
|
||||||
arsort($filelist);
|
arsort($filelist);
|
||||||
|
|
||||||
foreach ($filelist as $file)
|
foreach ($filelist as $file) {
|
||||||
{
|
if (preg_match('/\.modules\.php$/i', $file) && preg_match('/^(pdf_|doc_)/', $file)) {
|
||||||
if (preg_match('/\.modules\.php$/i', $file) && preg_match('/^(pdf_|doc_)/', $file))
|
if (file_exists($dir.'/'.$file)) {
|
||||||
{
|
|
||||||
if (file_exists($dir.'/'.$file))
|
|
||||||
{
|
|
||||||
$name = substr($file, 4, dol_strlen($file) - 16);
|
$name = substr($file, 4, dol_strlen($file) - 16);
|
||||||
$classname = substr($file, 0, dol_strlen($file) - 12);
|
$classname = substr($file, 0, dol_strlen($file) - 12);
|
||||||
|
|
||||||
@ -357,21 +337,26 @@ foreach ($dirmodels as $reldir)
|
|||||||
$module = new $classname($db);
|
$module = new $classname($db);
|
||||||
|
|
||||||
$modulequalified = 1;
|
$modulequalified = 1;
|
||||||
if ($module->version == 'development' && $conf->global->MAIN_FEATURES_LEVEL < 2) $modulequalified = 0;
|
if ($module->version == 'development' && $conf->global->MAIN_FEATURES_LEVEL < 2) {
|
||||||
if ($module->version == 'experimental' && $conf->global->MAIN_FEATURES_LEVEL < 1) $modulequalified = 0;
|
$modulequalified = 0;
|
||||||
|
}
|
||||||
|
if ($module->version == 'experimental' && $conf->global->MAIN_FEATURES_LEVEL < 1) {
|
||||||
|
$modulequalified = 0;
|
||||||
|
}
|
||||||
|
|
||||||
if ($modulequalified)
|
if ($modulequalified) {
|
||||||
{
|
|
||||||
print '<tr class="oddeven"><td width="100">';
|
print '<tr class="oddeven"><td width="100">';
|
||||||
print (empty($module->name) ? $name : $module->name);
|
print (empty($module->name) ? $name : $module->name);
|
||||||
print "</td><td>\n";
|
print "</td><td>\n";
|
||||||
if (method_exists($module, 'info')) print $module->info($langs);
|
if (method_exists($module, 'info')) {
|
||||||
else print $module->description;
|
print $module->info($langs);
|
||||||
|
} else {
|
||||||
|
print $module->description;
|
||||||
|
}
|
||||||
print '</td>';
|
print '</td>';
|
||||||
|
|
||||||
// Active
|
// Active
|
||||||
if (in_array($name, $def))
|
if (in_array($name, $def)) {
|
||||||
{
|
|
||||||
print '<td class="center">'."\n";
|
print '<td class="center">'."\n";
|
||||||
print '<a href="'.$_SERVER["PHP_SELF"].'?action=del&token='.newToken().'&value='.$name.'&scan_dir='.$module->scandir.'&label='.urlencode($module->name).'">';
|
print '<a href="'.$_SERVER["PHP_SELF"].'?action=del&token='.newToken().'&value='.$name.'&scan_dir='.$module->scandir.'&label='.urlencode($module->name).'">';
|
||||||
print img_picto($langs->trans("Enabled"), 'switch_on');
|
print img_picto($langs->trans("Enabled"), 'switch_on');
|
||||||
@ -385,8 +370,7 @@ foreach ($dirmodels as $reldir)
|
|||||||
|
|
||||||
// Default
|
// Default
|
||||||
print '<td class="center">';
|
print '<td class="center">';
|
||||||
if ($conf->global->EXPENSEREPORT_ADDON_PDF == "$name")
|
if ($conf->global->EXPENSEREPORT_ADDON_PDF == "$name") {
|
||||||
{
|
|
||||||
print img_picto($langs->trans("Default"), 'on');
|
print img_picto($langs->trans("Default"), 'on');
|
||||||
} else {
|
} else {
|
||||||
print '<a href="'.$_SERVER["PHP_SELF"].'?action=setdoc&token='.newToken().'&value='.$name.'&scan_dir='.$module->scandir.'&label='.urlencode($module->name).'" alt="'.$langs->trans("Default").'">'.img_picto($langs->trans("Disabled"), 'off').'</a>';
|
print '<a href="'.$_SERVER["PHP_SELF"].'?action=setdoc&token='.newToken().'&value='.$name.'&scan_dir='.$module->scandir.'&label='.urlencode($module->name).'" alt="'.$langs->trans("Default").'">'.img_picto($langs->trans("Disabled"), 'off').'</a>';
|
||||||
@ -409,8 +393,7 @@ foreach ($dirmodels as $reldir)
|
|||||||
|
|
||||||
// Preview
|
// Preview
|
||||||
print '<td class="center">';
|
print '<td class="center">';
|
||||||
if ($module->type == 'pdf')
|
if ($module->type == 'pdf') {
|
||||||
{
|
|
||||||
print '<a href="'.$_SERVER["PHP_SELF"].'?action=specimen&module='.$name.'">'.img_object($langs->trans("Preview"), 'pdf').'</a>';
|
print '<a href="'.$_SERVER["PHP_SELF"].'?action=specimen&module='.$name.'">'.img_object($langs->trans("Preview"), 'pdf').'</a>';
|
||||||
} else {
|
} else {
|
||||||
print img_object($langs->trans("PreviewNotAvailable"), 'generic');
|
print img_object($langs->trans("PreviewNotAvailable"), 'generic');
|
||||||
@ -451,14 +434,15 @@ print "</tr>\n";
|
|||||||
$substitutionarray = pdf_getSubstitutionArray($langs, null, null, 2);
|
$substitutionarray = pdf_getSubstitutionArray($langs, null, null, 2);
|
||||||
$substitutionarray['__(AnyTranslationKey)__'] = $langs->trans("Translation");
|
$substitutionarray['__(AnyTranslationKey)__'] = $langs->trans("Translation");
|
||||||
$htmltext = '<i>'.$langs->trans("AvailableVariables").':<br>';
|
$htmltext = '<i>'.$langs->trans("AvailableVariables").':<br>';
|
||||||
foreach ($substitutionarray as $key => $val) $htmltext .= $key.'<br>';
|
foreach ($substitutionarray as $key => $val) {
|
||||||
|
$htmltext .= $key.'<br>';
|
||||||
|
}
|
||||||
$htmltext .= '</i>';
|
$htmltext .= '</i>';
|
||||||
|
|
||||||
print '<tr class="oddeven"><td colspan="2">';
|
print '<tr class="oddeven"><td colspan="2">';
|
||||||
print $form->textwithpicto($langs->trans("FreeLegalTextOnExpenseReports"), $langs->trans("AddCRIfTooLong").'<br><br>'.$htmltext, 1, 'help', '', 0, 2, 'freetexttooltip').'<br>';
|
print $form->textwithpicto($langs->trans("FreeLegalTextOnExpenseReports"), $langs->trans("AddCRIfTooLong").'<br><br>'.$htmltext, 1, 'help', '', 0, 2, 'freetexttooltip').'<br>';
|
||||||
$variablename = 'EXPENSEREPORT_FREE_TEXT';
|
$variablename = 'EXPENSEREPORT_FREE_TEXT';
|
||||||
if (empty($conf->global->PDF_ALLOW_HTML_FOR_FREE_TEXT))
|
if (empty($conf->global->PDF_ALLOW_HTML_FOR_FREE_TEXT)) {
|
||||||
{
|
|
||||||
print '<textarea name="'.$variablename.'" class="flat" cols="120">'.$conf->global->$variablename.'</textarea>';
|
print '<textarea name="'.$variablename.'" class="flat" cols="120">'.$conf->global->$variablename.'</textarea>';
|
||||||
} else {
|
} else {
|
||||||
include_once DOL_DOCUMENT_ROOT.'/core/class/doleditor.class.php';
|
include_once DOL_DOCUMENT_ROOT.'/core/class/doleditor.class.php';
|
||||||
|
|||||||
@ -20,7 +20,7 @@
|
|||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* \file htdocs/admin/expensereport_ik.php
|
* \file htdocs/admin/expensereport_rules.php
|
||||||
* \ingroup expensereport
|
* \ingroup expensereport
|
||||||
* \brief Page to display expense tax ik
|
* \brief Page to display expense tax ik
|
||||||
*/
|
*/
|
||||||
@ -34,7 +34,9 @@ require_once DOL_DOCUMENT_ROOT.'/expensereport/class/expensereport_rule.class.ph
|
|||||||
// Load translation files required by the page
|
// Load translation files required by the page
|
||||||
$langs->loadLangs(array("admin", "other", "trips", "errors", "dict"));
|
$langs->loadLangs(array("admin", "other", "trips", "errors", "dict"));
|
||||||
|
|
||||||
if (!$user->admin) accessforbidden();
|
if (!$user->admin) {
|
||||||
|
accessforbidden();
|
||||||
|
}
|
||||||
|
|
||||||
//Init error
|
//Init error
|
||||||
$error = false;
|
$error = false;
|
||||||
@ -55,15 +57,15 @@ $amount = GETPOST('amount');
|
|||||||
$restrictive = GETPOST('restrictive');
|
$restrictive = GETPOST('restrictive');
|
||||||
|
|
||||||
$object = new ExpenseReportRule($db);
|
$object = new ExpenseReportRule($db);
|
||||||
if (!empty($id))
|
if (!empty($id)) {
|
||||||
{
|
|
||||||
$result = $object->fetch($id);
|
$result = $object->fetch($id);
|
||||||
if ($result < 0) dol_print_error('', $object->error, $object->errors);
|
if ($result < 0) {
|
||||||
|
dol_print_error('', $object->error, $object->errors);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// TODO do action
|
// TODO do action
|
||||||
if ($action == 'save')
|
if ($action == 'save') {
|
||||||
{
|
|
||||||
$error = 0;
|
$error = 0;
|
||||||
|
|
||||||
// check parameters
|
// check parameters
|
||||||
@ -92,8 +94,7 @@ if ($action == 'save')
|
|||||||
setEventMessages($langs->trans("ErrorFieldRequired", $langs->transnoentitiesnoconv("ExpenseReportLimitAmount")), null, 'errors');
|
setEventMessages($langs->trans("ErrorFieldRequired", $langs->transnoentitiesnoconv("ExpenseReportLimitAmount")), null, 'errors');
|
||||||
}
|
}
|
||||||
|
|
||||||
if (empty($error))
|
if (empty($error)) {
|
||||||
{
|
|
||||||
$object->setValues($_POST);
|
$object->setValues($_POST);
|
||||||
|
|
||||||
if ($apply_to == 'U') {
|
if ($apply_to == 'U') {
|
||||||
@ -116,18 +117,22 @@ if ($action == 'save')
|
|||||||
$object->entity = $conf->entity;
|
$object->entity = $conf->entity;
|
||||||
|
|
||||||
$res = $object->create($user);
|
$res = $object->create($user);
|
||||||
if ($res > 0) setEventMessages($langs->trans('ExpenseReportRuleSave'), null);
|
if ($res > 0) {
|
||||||
else dol_print_error($object->db);
|
setEventMessages($langs->trans('ExpenseReportRuleSave'), null);
|
||||||
|
} else {
|
||||||
|
dol_print_error($object->db);
|
||||||
|
}
|
||||||
|
|
||||||
header('Location: '.$_SERVER['PHP_SELF']);
|
header('Location: '.$_SERVER['PHP_SELF']);
|
||||||
exit;
|
exit;
|
||||||
}
|
}
|
||||||
} elseif ($action == 'delete')
|
} elseif ($action == 'delete') {
|
||||||
{
|
|
||||||
// TODO add confirm
|
// TODO add confirm
|
||||||
$res = $object->delete($user);
|
$res = $object->delete($user);
|
||||||
|
|
||||||
if ($res < 0) dol_print_error($object->db);
|
if ($res < 0) {
|
||||||
|
dol_print_error($object->db);
|
||||||
|
}
|
||||||
|
|
||||||
header('Location: '.$_SERVER['PHP_SELF']);
|
header('Location: '.$_SERVER['PHP_SELF']);
|
||||||
exit;
|
exit;
|
||||||
@ -135,8 +140,17 @@ if ($action == 'save')
|
|||||||
|
|
||||||
$rules = ExpenseReportRule::getAllRule();
|
$rules = ExpenseReportRule::getAllRule();
|
||||||
|
|
||||||
$tab_apply = array('A' => $langs->trans('All'), 'G' => $langs->trans('Group'), 'U' => $langs->trans('User'));
|
$tab_apply = array(
|
||||||
$tab_rules_type = array('EX_DAY' => $langs->trans('Day'), 'EX_MON' => $langs->trans('Month'), 'EX_YEA' => $langs->trans('Year'), 'EX_EXP' => $langs->trans('OnExpense'));
|
'A' => $langs->trans('All'),
|
||||||
|
'G' => $langs->trans('Group'),
|
||||||
|
'U' => $langs->trans('User')
|
||||||
|
);
|
||||||
|
$tab_rules_type = array(
|
||||||
|
'EX_DAY' => $langs->trans('Day'),
|
||||||
|
'EX_MON' => $langs->trans('Month'),
|
||||||
|
'EX_YEA' => $langs->trans('Year'),
|
||||||
|
'EX_EXP' => $langs->trans('OnExpense')
|
||||||
|
);
|
||||||
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
@ -156,8 +170,7 @@ print dol_get_fiche_head($head, 'expenserules', $langs->trans("ExpenseReportsRul
|
|||||||
echo '<span class="opacitymedium">'.$langs->trans('ExpenseReportRulesDesc').'</span>';
|
echo '<span class="opacitymedium">'.$langs->trans('ExpenseReportRulesDesc').'</span>';
|
||||||
print '<br><br>';
|
print '<br><br>';
|
||||||
|
|
||||||
if ($action != 'edit')
|
if ($action != 'edit') {
|
||||||
{
|
|
||||||
echo '<form action="'.$_SERVER['PHP_SELF'].'" method="post">';
|
echo '<form action="'.$_SERVER['PHP_SELF'].'" method="post">';
|
||||||
echo '<input type="hidden" name="token" value="'.newToken().'" />';
|
echo '<input type="hidden" name="token" value="'.newToken().'" />';
|
||||||
echo '<input type="hidden" name="action" value="save" />';
|
echo '<input type="hidden" name="action" value="save" />';
|
||||||
@ -199,8 +212,7 @@ if ($action != 'edit')
|
|||||||
echo '<form action="'.$_SERVER['PHP_SELF'].'" method="post">';
|
echo '<form action="'.$_SERVER['PHP_SELF'].'" method="post">';
|
||||||
echo '<input type="hidden" name="token" value="'.newToken().'" />';
|
echo '<input type="hidden" name="token" value="'.newToken().'" />';
|
||||||
|
|
||||||
if ($action == 'edit')
|
if ($action == 'edit') {
|
||||||
{
|
|
||||||
echo '<input type="hidden" name="id" value="'.$object->id.'" />';
|
echo '<input type="hidden" name="id" value="'.$object->id.'" />';
|
||||||
echo '<input type="hidden" name="action" value="save" />';
|
echo '<input type="hidden" name="action" value="save" />';
|
||||||
}
|
}
|
||||||
@ -218,43 +230,47 @@ echo '<th>'.$langs->trans('ExpenseReportRestrictive').'</th>';
|
|||||||
echo '<th> </th>';
|
echo '<th> </th>';
|
||||||
echo '</tr>';
|
echo '</tr>';
|
||||||
|
|
||||||
foreach ($rules as $rule)
|
foreach ($rules as $rule) {
|
||||||
{
|
|
||||||
echo '<tr class="oddeven">';
|
echo '<tr class="oddeven">';
|
||||||
|
|
||||||
echo '<td>';
|
echo '<td>';
|
||||||
if ($action == 'edit' && $object->id == $rule->id)
|
if ($action == 'edit' && $object->id == $rule->id) {
|
||||||
{
|
|
||||||
$selected = ($object->is_for_all > 0) ? 'A' : ($object->fk_usergroup > 0 ? 'G' : 'U');
|
$selected = ($object->is_for_all > 0) ? 'A' : ($object->fk_usergroup > 0 ? 'G' : 'U');
|
||||||
echo '<div class="float">'.$form->selectarray('apply_to', $tab_apply, $selected, 0).'</div>';
|
echo '<div class="float">'.$form->selectarray('apply_to', $tab_apply, $selected, 0).'</div>';
|
||||||
echo '<div id="user" class="float">'.$form->select_dolusers($object->fk_user, 'fk_user').'</div>';
|
echo '<div id="user" class="float">'.$form->select_dolusers($object->fk_user, 'fk_user').'</div>';
|
||||||
echo '<div id="group" class="float">'.$form->select_dolgroups($object->fk_usergroup, 'fk_usergroup').'</div>';
|
echo '<div id="group" class="float">'.$form->select_dolgroups($object->fk_usergroup, 'fk_usergroup').'</div>';
|
||||||
} else {
|
} else {
|
||||||
if ($rule->is_for_all > 0) echo $tab_apply['A'];
|
if ($rule->is_for_all > 0) {
|
||||||
elseif ($rule->fk_usergroup > 0) echo $tab_apply['G'].' ('.$rule->getGroupLabel().')';
|
echo $tab_apply['A'];
|
||||||
elseif ($rule->fk_user > 0) echo $tab_apply['U'].' ('.$rule->getUserName().')';
|
} elseif ($rule->fk_usergroup > 0) {
|
||||||
}
|
echo $tab_apply['G'].' ('.$rule->getGroupLabel().')';
|
||||||
echo '</td>';
|
} elseif ($rule->fk_user > 0) {
|
||||||
|
echo $tab_apply['U'].' ('.$rule->getUserName().')';
|
||||||
|
|
||||||
echo '<td>';
|
|
||||||
if ($action == 'edit' && $object->id == $rule->id)
|
|
||||||
{
|
|
||||||
echo $form->selectExpense($object->fk_c_type_fees, 'fk_c_type_fees', 0, 1, 1);
|
|
||||||
} else {
|
|
||||||
if ($rule->fk_c_type_fees == -1) echo $langs->trans('AllExpenseReport');
|
|
||||||
else {
|
|
||||||
$key = getDictvalue(MAIN_DB_PREFIX.'c_type_fees', 'code', $rule->fk_c_type_fees, false, 'id');
|
|
||||||
if ($key != $langs->trans($key)) echo $langs->trans($key);
|
|
||||||
else echo $langs->trans(getDictvalue(MAIN_DB_PREFIX.'c_type_fees', 'label', $rule->fk_c_type_fees, false, 'id')); // TODO check to return trans of 'code'
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
echo '</td>';
|
echo '</td>';
|
||||||
|
|
||||||
|
|
||||||
echo '<td>';
|
echo '<td>';
|
||||||
if ($action == 'edit' && $object->id == $rule->id)
|
if ($action == 'edit' && $object->id == $rule->id) {
|
||||||
{
|
echo $form->selectExpense($object->fk_c_type_fees, 'fk_c_type_fees', 0, 1, 1);
|
||||||
|
} else {
|
||||||
|
if ($rule->fk_c_type_fees == -1) {
|
||||||
|
echo $langs->trans('AllExpenseReport');
|
||||||
|
} else {
|
||||||
|
$key = getDictvalue(MAIN_DB_PREFIX.'c_type_fees', 'code', $rule->fk_c_type_fees, false, 'id');
|
||||||
|
if ($key != $langs->trans($key)) {
|
||||||
|
echo $langs->trans($key);
|
||||||
|
} else {
|
||||||
|
echo $langs->trans(getDictvalue(MAIN_DB_PREFIX.'c_type_fees', 'label', $rule->fk_c_type_fees, false, 'id')); // TODO check to return trans of 'code'
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
echo '</td>';
|
||||||
|
|
||||||
|
|
||||||
|
echo '<td>';
|
||||||
|
if ($action == 'edit' && $object->id == $rule->id) {
|
||||||
echo $form->selectarray('code_expense_rules_type', $tab_rules_type, $object->code_expense_rules_type, 0);
|
echo $form->selectarray('code_expense_rules_type', $tab_rules_type, $object->code_expense_rules_type, 0);
|
||||||
} else {
|
} else {
|
||||||
echo $tab_rules_type[$rule->code_expense_rules_type];
|
echo $tab_rules_type[$rule->code_expense_rules_type];
|
||||||
@ -263,8 +279,7 @@ foreach ($rules as $rule)
|
|||||||
|
|
||||||
|
|
||||||
echo '<td>';
|
echo '<td>';
|
||||||
if ($action == 'edit' && $object->id == $rule->id)
|
if ($action == 'edit' && $object->id == $rule->id) {
|
||||||
{
|
|
||||||
print $form->selectDate(strtotime(date('Y-m-d', $object->dates)), 'start', '', '', 0, '', 1, 0);
|
print $form->selectDate(strtotime(date('Y-m-d', $object->dates)), 'start', '', '', 0, '', 1, 0);
|
||||||
} else {
|
} else {
|
||||||
echo dol_print_date($rule->dates, 'day');
|
echo dol_print_date($rule->dates, 'day');
|
||||||
@ -273,8 +288,7 @@ foreach ($rules as $rule)
|
|||||||
|
|
||||||
|
|
||||||
echo '<td>';
|
echo '<td>';
|
||||||
if ($action == 'edit' && $object->id == $rule->id)
|
if ($action == 'edit' && $object->id == $rule->id) {
|
||||||
{
|
|
||||||
print $form->selectDate(strtotime(date('Y-m-d', $object->datee)), 'end', '', '', 0, '', 1, 0);
|
print $form->selectDate(strtotime(date('Y-m-d', $object->datee)), 'end', '', '', 0, '', 1, 0);
|
||||||
} else {
|
} else {
|
||||||
echo dol_print_date($rule->datee, 'day');
|
echo dol_print_date($rule->datee, 'day');
|
||||||
@ -283,8 +297,7 @@ foreach ($rules as $rule)
|
|||||||
|
|
||||||
|
|
||||||
echo '<td>';
|
echo '<td>';
|
||||||
if ($action == 'edit' && $object->id == $rule->id)
|
if ($action == 'edit' && $object->id == $rule->id) {
|
||||||
{
|
|
||||||
echo '<input type="text" value="'.price2num($object->amount).'" name="amount" class="amount" />'.$conf->currency;
|
echo '<input type="text" value="'.price2num($object->amount).'" name="amount" class="amount" />'.$conf->currency;
|
||||||
} else {
|
} else {
|
||||||
echo price($rule->amount, 0, $langs, 1, -1, -1, $conf->currency);
|
echo price($rule->amount, 0, $langs, 1, -1, -1, $conf->currency);
|
||||||
@ -293,8 +306,7 @@ foreach ($rules as $rule)
|
|||||||
|
|
||||||
|
|
||||||
echo '<td>';
|
echo '<td>';
|
||||||
if ($action == 'edit' && $object->id == $rule->id)
|
if ($action == 'edit' && $object->id == $rule->id) {
|
||||||
{
|
|
||||||
echo $form->selectyesno('restrictive', $object->restrictive, 1);
|
echo $form->selectyesno('restrictive', $object->restrictive, 1);
|
||||||
} else {
|
} else {
|
||||||
echo yn($rule->restrictive, 1, 1);
|
echo yn($rule->restrictive, 1, 1);
|
||||||
@ -303,8 +315,7 @@ foreach ($rules as $rule)
|
|||||||
|
|
||||||
|
|
||||||
echo '<td class="center">';
|
echo '<td class="center">';
|
||||||
if ($object->id != $rule->id)
|
if ($object->id != $rule->id) {
|
||||||
{
|
|
||||||
echo '<a class="editfielda paddingright paddingleft" href="'.$_SERVER['PHP_SELF'].'?action=edit&token='.newToken().'&id='.$rule->id.'">'.img_edit().'</a> ';
|
echo '<a class="editfielda paddingright paddingleft" href="'.$_SERVER['PHP_SELF'].'?action=edit&token='.newToken().'&id='.$rule->id.'">'.img_edit().'</a> ';
|
||||||
echo '<a class="paddingright paddingleft" href="'.$_SERVER['PHP_SELF'].'?action=delete&token='.newToken().'&id='.$rule->id.'">'.img_delete().'</a>';
|
echo '<a class="paddingright paddingleft" href="'.$_SERVER['PHP_SELF'].'?action=delete&token='.newToken().'&id='.$rule->id.'">'.img_delete().'</a>';
|
||||||
} else {
|
} else {
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user