Merge branch 'develop' of git@github.com:Dolibarr/dolibarr.git into develop
This commit is contained in:
commit
e9f9cf62af
@ -7,7 +7,7 @@
|
|||||||
* Copyright (C) 2013-2019 Alexandre Spangaro <aspangaro@open-dsi.fr>
|
* Copyright (C) 2013-2019 Alexandre Spangaro <aspangaro@open-dsi.fr>
|
||||||
* Copyright (C) 2013-2014 Florian Henry <florian.henry@open-concept.pro>
|
* Copyright (C) 2013-2014 Florian Henry <florian.henry@open-concept.pro>
|
||||||
* Copyright (C) 2013-2014 Olivier Geffroy <jeff@jeffinfo.com>
|
* Copyright (C) 2013-2014 Olivier Geffroy <jeff@jeffinfo.com>
|
||||||
* Copyright (C) 2017-2020 Frédéric France <frederic.france@netlogic.fr>
|
* Copyright (C) 2017-2021 Frédéric France <frederic.france@netlogic.fr>
|
||||||
* Copyright (C) 2018 Ferran Marcet <fmarcet@2byte.es>
|
* Copyright (C) 2018 Ferran Marcet <fmarcet@2byte.es>
|
||||||
* Copyright (C) 2018 Eric Seigne <eric.seigne@cap-rel.fr>
|
* Copyright (C) 2018 Eric Seigne <eric.seigne@cap-rel.fr>
|
||||||
* Copyright (C) 2021 Gauthier VERDOL <gauthier.verdol@atm-consulting.fr>
|
* Copyright (C) 2021 Gauthier VERDOL <gauthier.verdol@atm-consulting.fr>
|
||||||
@ -960,13 +960,18 @@ if (empty($action) || $action == 'view') {
|
|||||||
$nom = $langs->trans("FinanceJournal").' | '.$accountingjournalstatic->getNomUrl(0, 1, 1, '', 1);
|
$nom = $langs->trans("FinanceJournal").' | '.$accountingjournalstatic->getNomUrl(0, 1, 1, '', 1);
|
||||||
$builddate = dol_now();
|
$builddate = dol_now();
|
||||||
//$description = $langs->trans("DescFinanceJournal") . '<br>';
|
//$description = $langs->trans("DescFinanceJournal") . '<br>';
|
||||||
$description .= $langs->trans("DescJournalOnlyBindedVisible").'<br>';
|
$description = $langs->trans("DescJournalOnlyBindedVisible").'<br>';
|
||||||
|
|
||||||
$listofchoices = array('notyet'=>$langs->trans("NotYetInGeneralLedger"), 'already'=>$langs->trans("AlreadyInGeneralLedger"));
|
$listofchoices = array(
|
||||||
|
'notyet'=>$langs->trans("NotYetInGeneralLedger"),
|
||||||
|
'already'=>$langs->trans("AlreadyInGeneralLedger")
|
||||||
|
);
|
||||||
$period = $form->selectDate($date_start ? $date_start : -1, 'date_start', 0, 0, 0, '', 1, 0).' - '.$form->selectDate($date_end ? $date_end : -1, 'date_end', 0, 0, 0, '', 1, 0);
|
$period = $form->selectDate($date_start ? $date_start : -1, 'date_start', 0, 0, 0, '', 1, 0).' - '.$form->selectDate($date_end ? $date_end : -1, 'date_end', 0, 0, 0, '', 1, 0);
|
||||||
$period .= ' - '.$langs->trans("JournalizationInLedgerStatus").' '.$form->selectarray('in_bookkeeping', $listofchoices, $in_bookkeeping, 1);
|
$period .= ' - '.$langs->trans("JournalizationInLedgerStatus").' '.$form->selectarray('in_bookkeeping', $listofchoices, $in_bookkeeping, 1);
|
||||||
|
|
||||||
$varlink = 'id_journal='.$id_journal;
|
$varlink = 'id_journal='.$id_journal;
|
||||||
|
$periodlink = '';
|
||||||
|
$exportlink = '';
|
||||||
|
|
||||||
journalHead($nom, '', $period, $periodlink, $description, $builddate, $exportlink, array('action' => ''), '', $varlink);
|
journalHead($nom, '', $period, $periodlink, $description, $builddate, $exportlink, array('action' => ''), '', $varlink);
|
||||||
|
|
||||||
|
|||||||
@ -8,7 +8,7 @@
|
|||||||
* Copyright (C) 2013-2016 Florian Henry <florian.henry@open-concept.pro>
|
* Copyright (C) 2013-2016 Florian Henry <florian.henry@open-concept.pro>
|
||||||
* Copyright (C) 2013-2016 Olivier Geffroy <jeff@jeffinfo.com>
|
* Copyright (C) 2013-2016 Olivier Geffroy <jeff@jeffinfo.com>
|
||||||
* Copyright (C) 2014 Raphaël Doursenaud <rdoursenaud@gpcsolutions.fr>
|
* Copyright (C) 2014 Raphaël Doursenaud <rdoursenaud@gpcsolutions.fr>
|
||||||
* Copyright (C) 2018 Frédéric France <frederic.france@netlogic.fr>
|
* Copyright (C) 2018-2021 Frédéric France <frederic.france@netlogic.fr>
|
||||||
*
|
*
|
||||||
* This program is free software; you can redistribute it and/or modify
|
* This program is free software; you can redistribute it and/or modify
|
||||||
* it under the terms of the GNU General Public License as published by
|
* it under the terms of the GNU General Public License as published by
|
||||||
@ -663,7 +663,7 @@ if (empty($action) || $action == 'view') {
|
|||||||
$periodlink = '';
|
$periodlink = '';
|
||||||
$exportlink = '';
|
$exportlink = '';
|
||||||
$builddate = dol_now();
|
$builddate = dol_now();
|
||||||
$description .= $langs->trans("DescJournalOnlyBindedVisible").'<br>';
|
$description = $langs->trans("DescJournalOnlyBindedVisible").'<br>';
|
||||||
if (!empty($conf->global->FACTURE_DEPOSITS_ARE_JUST_PAYMENTS)) {
|
if (!empty($conf->global->FACTURE_DEPOSITS_ARE_JUST_PAYMENTS)) {
|
||||||
$description .= $langs->trans("DepositsAreNotIncluded");
|
$description .= $langs->trans("DepositsAreNotIncluded");
|
||||||
} else {
|
} else {
|
||||||
|
|||||||
@ -8,7 +8,7 @@
|
|||||||
* Copyright (C) 2011-2012 Juanjo Menent <jmenent@2byte.es>
|
* Copyright (C) 2011-2012 Juanjo Menent <jmenent@2byte.es>
|
||||||
* Copyright (C) 2012 J. Fernando Lagrange <fernando@demo-tic.org>
|
* Copyright (C) 2012 J. Fernando Lagrange <fernando@demo-tic.org>
|
||||||
* Copyright (C) 2015 Jean-François Ferry <jfefe@aternatik.fr>
|
* Copyright (C) 2015 Jean-François Ferry <jfefe@aternatik.fr>
|
||||||
* Copyright (C) 2020 Frédéric France <frederic.france@netlogic.fr>
|
* Copyright (C) 2020-2021 Frédéric France <frederic.france@netlogic.fr>
|
||||||
*
|
*
|
||||||
* This program is free software; you can redistribute it and/or modify
|
* This program is free software; you can redistribute it and/or modify
|
||||||
* it under the terms of the GNU General Public License as published by
|
* it under the terms of the GNU General Public License as published by
|
||||||
@ -254,7 +254,8 @@ if ($conf->facture->enabled) {
|
|||||||
if (!empty($conf->product->enabled) || !empty($conf->service->enabled)) {
|
if (!empty($conf->product->enabled) || !empty($conf->service->enabled)) {
|
||||||
print '<tr class="oddeven"><td>'.$langs->trans("ADHERENT_PRODUCT_ID_FOR_SUBSCRIPTIONS").'</td>';
|
print '<tr class="oddeven"><td>'.$langs->trans("ADHERENT_PRODUCT_ID_FOR_SUBSCRIPTIONS").'</td>';
|
||||||
print '<td>';
|
print '<td>';
|
||||||
$form->select_produits($conf->global->ADHERENT_PRODUCT_ID_FOR_SUBSCRIPTIONS, 'ADHERENT_PRODUCT_ID_FOR_SUBSCRIPTIONS', '', 0);
|
$selected = (empty($conf->global->ADHERENT_PRODUCT_ID_FOR_SUBSCRIPTIONS) ? '' : $conf->global->ADHERENT_PRODUCT_ID_FOR_SUBSCRIPTIONS);
|
||||||
|
$form->select_produits($selected, 'ADHERENT_PRODUCT_ID_FOR_SUBSCRIPTIONS', '', 0);
|
||||||
print '</td>';
|
print '</td>';
|
||||||
}
|
}
|
||||||
print "</tr>\n";
|
print "</tr>\n";
|
||||||
|
|||||||
@ -1691,6 +1691,7 @@ if (is_object($objcanvas) && $objcanvas->displayCanvasExists($action)) {
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
print '<div class="tabsAction">';
|
print '<div class="tabsAction">';
|
||||||
|
$isinspip = 0;
|
||||||
$parameters = array();
|
$parameters = array();
|
||||||
$reshook = $hookmanager->executeHooks('addMoreActionsButtons', $parameters, $object, $action); // Note that $action and $object may have been
|
$reshook = $hookmanager->executeHooks('addMoreActionsButtons', $parameters, $object, $action); // Note that $action and $object may have been
|
||||||
if (empty($reshook)) {
|
if (empty($reshook)) {
|
||||||
@ -1827,7 +1828,7 @@ if (is_object($objcanvas) && $objcanvas->displayCanvasExists($action)) {
|
|||||||
$genallowed = $user->rights->adherent->lire;
|
$genallowed = $user->rights->adherent->lire;
|
||||||
$delallowed = $user->rights->adherent->creer;
|
$delallowed = $user->rights->adherent->creer;
|
||||||
|
|
||||||
print $formfile->showdocuments('member', $filename, $filedir, $urlsource, $genallowed, $delallowed, $object->model_pdf, 1, 0, 0, 28, 0, '', '', '', $object->default_lang, '', $object);
|
print $formfile->showdocuments('member', $filename, $filedir, $urlsource, $genallowed, $delallowed, $object->model_pdf, 1, 0, 0, 28, 0, '', '', '', (empty($object->default_lang) ? '' : $object->default_lang), '', $object);
|
||||||
$somethingshown = $formfile->numoffiles;
|
$somethingshown = $formfile->numoffiles;
|
||||||
|
|
||||||
// Show links to link elements
|
// Show links to link elements
|
||||||
|
|||||||
@ -442,7 +442,7 @@ foreach ($configfileparameters as $key => $value) {
|
|||||||
print img_warning($langs->trans('SwitchThisForABetterSecurity', 0));
|
print img_warning($langs->trans('SwitchThisForABetterSecurity', 0));
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
print ${$newkey};
|
print (empty(${$newkey}) ? '' : ${$newkey});
|
||||||
}
|
}
|
||||||
if ($newkey == 'dolibarr_main_url_root' && ${$newkey} != DOL_MAIN_URL_ROOT) {
|
if ($newkey == 'dolibarr_main_url_root' && ${$newkey} != DOL_MAIN_URL_ROOT) {
|
||||||
print ' (currently overwritten by autodetected value: '.DOL_MAIN_URL_ROOT.')';
|
print ' (currently overwritten by autodetected value: '.DOL_MAIN_URL_ROOT.')';
|
||||||
|
|||||||
@ -81,7 +81,7 @@ $langs->loadLangs(array('propal', 'other', 'companies'));
|
|||||||
if ($mode == 'customer') {
|
if ($mode == 'customer') {
|
||||||
$picto = 'propal';
|
$picto = 'propal';
|
||||||
$title = $langs->trans("ProposalsStatistics");
|
$title = $langs->trans("ProposalsStatistics");
|
||||||
$dir = $conf->propale->dir_temp;
|
$dir = $conf->propal->dir_temp;
|
||||||
$cat_type = Categorie::TYPE_CUSTOMER;
|
$cat_type = Categorie::TYPE_CUSTOMER;
|
||||||
$cat_label = $langs->trans("Category").' '.lcfirst($langs->trans("Customer"));
|
$cat_label = $langs->trans("Category").' '.lcfirst($langs->trans("Customer"));
|
||||||
}
|
}
|
||||||
|
|||||||
@ -233,6 +233,7 @@ $account_from = '';
|
|||||||
$account_to = '';
|
$account_to = '';
|
||||||
$label = '';
|
$label = '';
|
||||||
$amount = '';
|
$amount = '';
|
||||||
|
$amountto = '';
|
||||||
|
|
||||||
if ($error) {
|
if ($error) {
|
||||||
$account_from = GETPOST('account_from', 'int');
|
$account_from = GETPOST('account_from', 'int');
|
||||||
|
|||||||
@ -1543,6 +1543,13 @@ class Facture extends CommonInvoice
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
global $action, $hookmanager;
|
||||||
|
$hookmanager->initHooks(array('invoicedao'));
|
||||||
|
$parameters = array('id'=>$this->id, 'getnomurl'=>$result, 'notooltip' => $notooltip, 'addlinktonotes' => $addlinktonotes, 'save_lastsearch_value'=> $save_lastsearch_value, 'target' => $target);
|
||||||
|
$reshook = $hookmanager->executeHooks('getNomUrl', $parameters, $this, $action); // Note that $action and $object may have been modified by some hooks
|
||||||
|
if ($reshook > 0) $result = $hookmanager->resPrint;
|
||||||
|
else $result .= $hookmanager->resPrint;
|
||||||
|
|
||||||
return $result;
|
return $result;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -493,6 +493,10 @@ if ($search_user > 0) {
|
|||||||
$sql .= ", ".MAIN_DB_PREFIX."element_contact as ec";
|
$sql .= ", ".MAIN_DB_PREFIX."element_contact as ec";
|
||||||
$sql .= ", ".MAIN_DB_PREFIX."c_type_contact as tc";
|
$sql .= ", ".MAIN_DB_PREFIX."c_type_contact as tc";
|
||||||
}
|
}
|
||||||
|
// Add table from hooks
|
||||||
|
$parameters = array();
|
||||||
|
$reshook = $hookmanager->executeHooks('printFieldListFrom', $parameters, $object); // Note that $action and $object may have been modified by hook
|
||||||
|
$sql .= $hookmanager->resPrint;
|
||||||
|
|
||||||
$sql .= ' WHERE f.fk_soc = s.rowid';
|
$sql .= ' WHERE f.fk_soc = s.rowid';
|
||||||
$sql .= ' AND f.entity IN ('.getEntity('invoice').')';
|
$sql .= ' AND f.entity IN ('.getEntity('invoice').')';
|
||||||
@ -689,10 +693,19 @@ if (!$sall) {
|
|||||||
$sql .= ($extrafields->attributes[$object->table_element]['type'][$key] != 'separate' ? ", ef.".$key : '');
|
$sql .= ($extrafields->attributes[$object->table_element]['type'][$key] != 'separate' ? ", ef.".$key : '');
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
// Add GroupBy from hooks
|
||||||
|
$parameters = array('all' => $all, 'fieldstosearchall' => $fieldstosearchall);
|
||||||
|
$reshook = $hookmanager->executeHooks('printFieldListGroupBy', $parameters, $object); // Note that $action and $object may have been modified by hook
|
||||||
|
$sql .= $hookmanager->resPrint;
|
||||||
} else {
|
} else {
|
||||||
$sql .= natural_search(array_keys($fieldstosearchall), $sall);
|
$sql .= natural_search(array_keys($fieldstosearchall), $sall);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Add HAVING from hooks
|
||||||
|
$parameters = array();
|
||||||
|
$reshook = $hookmanager->executeHooks('printFieldListHaving', $parameters, $object); // Note that $action and $object may have been modified by hook
|
||||||
|
$sql .= !empty($hookmanager->resPrint) ? (' HAVING 1=1 ' . $hookmanager->resPrint) : '';
|
||||||
|
|
||||||
$sql .= ' ORDER BY ';
|
$sql .= ' ORDER BY ';
|
||||||
$listfield = explode(',', $sortfield);
|
$listfield = explode(',', $sortfield);
|
||||||
$listorder = explode(',', $sortorder);
|
$listorder = explode(',', $sortorder);
|
||||||
@ -865,6 +878,10 @@ if ($resql) {
|
|||||||
|
|
||||||
// Add $param from extra fields
|
// Add $param from extra fields
|
||||||
include DOL_DOCUMENT_ROOT.'/core/tpl/extrafields_list_search_param.tpl.php';
|
include DOL_DOCUMENT_ROOT.'/core/tpl/extrafields_list_search_param.tpl.php';
|
||||||
|
// Add $param from hooks
|
||||||
|
$parameters = array();
|
||||||
|
$reshook = $hookmanager->executeHooks('printFieldListSearchParam', $parameters, $object); // Note that $action and $object may have been modified by hook
|
||||||
|
$param .= $hookmanager->resPrint;
|
||||||
|
|
||||||
$arrayofmassactions = array(
|
$arrayofmassactions = array(
|
||||||
'validate'=>$langs->trans("Validate"),
|
'validate'=>$langs->trans("Validate"),
|
||||||
|
|||||||
@ -1510,7 +1510,7 @@ if (is_object($objcanvas) && $objcanvas->displayCanvasExists($action)) {
|
|||||||
// Presend form
|
// Presend form
|
||||||
$modelmail = 'contact';
|
$modelmail = 'contact';
|
||||||
$defaulttopic = 'Information';
|
$defaulttopic = 'Information';
|
||||||
$diroutput = $conf->contact->dir_output;
|
$diroutput = $conf->societe->dir_output.'/contact/';
|
||||||
$trackid = 'ctc'.$object->id;
|
$trackid = 'ctc'.$object->id;
|
||||||
|
|
||||||
include DOL_DOCUMENT_ROOT.'/core/tpl/card_presend.tpl.php';
|
include DOL_DOCUMENT_ROOT.'/core/tpl/card_presend.tpl.php';
|
||||||
|
|||||||
@ -1,7 +1,7 @@
|
|||||||
<?php
|
<?php
|
||||||
/* Copyright (C) 2014 Alexandre Spangaro <aspangaro@open-dsi.fr>
|
/* Copyright (C) 2014 Alexandre Spangaro <aspangaro@open-dsi.fr>
|
||||||
* Copyright (C) 2015 Frederic France <frederic.france@free.fr>
|
* Copyright (C) 2015-2021 Frederic France <frederic.france@free.fr>
|
||||||
* Copyright (C) 2017 Regis Houssin <regis.houssin@inodbox.com>
|
* Copyright (C) 2017 Regis Houssin <regis.houssin@inodbox.com>
|
||||||
*
|
*
|
||||||
* This program is free software; you can redistribute it and/or modify
|
* This program is free software; you can redistribute it and/or modify
|
||||||
* it under the terms of the GNU General Public License as published by
|
* it under the terms of the GNU General Public License as published by
|
||||||
@ -107,7 +107,7 @@ if (!empty($conf->global->MAIN_HTML_TITLE) && preg_match('/contactnameonly/', $c
|
|||||||
$title = $object->lastname;
|
$title = $object->lastname;
|
||||||
}
|
}
|
||||||
$help_url = 'EN:Module_Third_Parties|FR:Module_Tiers|ES:Empresas';
|
$help_url = 'EN:Module_Third_Parties|FR:Module_Tiers|ES:Empresas';
|
||||||
llxHeader('', $title, $helpurl);
|
llxHeader('', $title, $help_url);
|
||||||
|
|
||||||
if ($object->id) {
|
if ($object->id) {
|
||||||
$head = contact_prepare_head($object);
|
$head = contact_prepare_head($object);
|
||||||
|
|||||||
@ -9,7 +9,7 @@
|
|||||||
* Copyright (C) 2013 Florian Henry <florian.henry@open-concept.pro>
|
* Copyright (C) 2013 Florian Henry <florian.henry@open-concept.pro>
|
||||||
* Copyright (C) 2014-2015 Marcos García <marcosgdf@gmail.com>
|
* Copyright (C) 2014-2015 Marcos García <marcosgdf@gmail.com>
|
||||||
* Copyright (C) 2018 Nicolas ZABOURI <info@inovea-conseil.com>
|
* Copyright (C) 2018 Nicolas ZABOURI <info@inovea-conseil.com>
|
||||||
* Copyright (C) 2018-2020 Frédéric France <frederic.france@netlogic.fr>
|
* Copyright (C) 2018-2021 Frédéric France <frederic.france@netlogic.fr>
|
||||||
* Copyright (C) 2015-2018 Ferran Marcet <fmarcet@2byte.es>
|
* Copyright (C) 2015-2018 Ferran Marcet <fmarcet@2byte.es>
|
||||||
*
|
*
|
||||||
* This program is free software; you can redistribute it and/or modify
|
* This program is free software; you can redistribute it and/or modify
|
||||||
@ -2001,7 +2001,8 @@ class Contrat extends CommonObject
|
|||||||
$label .= ' '.$this->getLibStatut(5);
|
$label .= ' '.$this->getLibStatut(5);
|
||||||
}*/
|
}*/
|
||||||
$label .= '<br><b>'.$langs->trans('Ref').':</b> '.($this->ref ? $this->ref : $this->id);
|
$label .= '<br><b>'.$langs->trans('Ref').':</b> '.($this->ref ? $this->ref : $this->id);
|
||||||
$label .= '<br><b>'.$langs->trans('RefCustomer').':</b> '.($this->ref_customer ? $this->ref_customer : $this->ref_client);
|
$ref_customer = (!empty($this->ref_customer) ? $this->ref_customer : (empty($this->ref_client) ? '' : $this->ref_client));
|
||||||
|
$label .= '<br><b>'.$langs->trans('RefCustomer').':</b> '.$ref_customer;
|
||||||
$label .= '<br><b>'.$langs->trans('RefSupplier').':</b> '.$this->ref_supplier;
|
$label .= '<br><b>'.$langs->trans('RefSupplier').':</b> '.$this->ref_supplier;
|
||||||
if (!empty($this->total_ht)) {
|
if (!empty($this->total_ht)) {
|
||||||
$label .= '<br><b>'.$langs->trans('AmountHT').':</b> '.price($this->total_ht, 0, $langs, 0, -1, -1, $conf->currency);
|
$label .= '<br><b>'.$langs->trans('AmountHT').':</b> '.price($this->total_ht, 0, $langs, 0, -1, -1, $conf->currency);
|
||||||
|
|||||||
@ -79,6 +79,10 @@ if (!empty($conf->societe->enabled) && empty($conf->global->MAIN_SEARCHFORM_CONT
|
|||||||
if (((!empty($conf->product->enabled) && $user->rights->produit->lire) || (!empty($conf->service->enabled) && $user->rights->service->lire))
|
if (((!empty($conf->product->enabled) && $user->rights->produit->lire) || (!empty($conf->service->enabled) && $user->rights->service->lire))
|
||||||
&& empty($conf->global->MAIN_SEARCHFORM_PRODUITSERVICE_DISABLED)) {
|
&& empty($conf->global->MAIN_SEARCHFORM_PRODUITSERVICE_DISABLED)) {
|
||||||
$arrayresult['searchintoproduct'] = array('position'=>30, 'shortcut'=>'P', 'img'=>'object_product', 'label'=>$langs->trans("SearchIntoProductsOrServices", $search_boxvalue), 'text'=>img_picto('', 'object_product').' '.$langs->trans("SearchIntoProductsOrServices", $search_boxvalue), 'url'=>DOL_URL_ROOT.'/product/list.php'.($search_boxvalue ? '?sall='.urlencode($search_boxvalue) : ''));
|
$arrayresult['searchintoproduct'] = array('position'=>30, 'shortcut'=>'P', 'img'=>'object_product', 'label'=>$langs->trans("SearchIntoProductsOrServices", $search_boxvalue), 'text'=>img_picto('', 'object_product').' '.$langs->trans("SearchIntoProductsOrServices", $search_boxvalue), 'url'=>DOL_URL_ROOT.'/product/list.php'.($search_boxvalue ? '?sall='.urlencode($search_boxvalue) : ''));
|
||||||
|
// search on lot/serial numbers
|
||||||
|
if ( ! empty($conf->productbatch->enabled) ) {
|
||||||
|
$arrayresult['searchintobatch'] = array('position'=>32, 'shortcut'=>'B', 'img'=>'object_plot', 'label'=>$langs->trans("SearchIntoBatch", $search_boxvalue), 'text'=>img_picto('', 'object_lot').' '.$langs->trans("SearchIntoBatch", $search_boxvalue), 'url'=>DOL_URL_ROOT.'/product/stock/productlot_list.php'.($search_boxvalue ? '?sall='.urlencode($search_boxvalue) : ''));
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!empty($conf->mrp->enabled) && $user->rights->mrp->read && empty($conf->global->MAIN_SEARCHFORM_MRP_DISABLED)) {
|
if (!empty($conf->mrp->enabled) && $user->rights->mrp->read && empty($conf->global->MAIN_SEARCHFORM_MRP_DISABLED)) {
|
||||||
|
|||||||
@ -860,7 +860,7 @@ abstract class CommonObject
|
|||||||
if (!empty($conf->socialnetworks->enabled)) {
|
if (!empty($conf->socialnetworks->enabled)) {
|
||||||
$outsocialnetwork = '';
|
$outsocialnetwork = '';
|
||||||
|
|
||||||
if (is_array($this->socialnetworks) && count($this->socialnetworks) > 0) {
|
if (!empty($this->socialnetworks) && is_countable($this->socialnetworks) && count($this->socialnetworks) > 0) {
|
||||||
$socialnetworksdict = getArrayOfSocialNetworks();
|
$socialnetworksdict = getArrayOfSocialNetworks();
|
||||||
foreach ($this->socialnetworks as $key => $value) {
|
foreach ($this->socialnetworks as $key => $value) {
|
||||||
if ($value) {
|
if ($value) {
|
||||||
|
|||||||
@ -826,23 +826,29 @@ class Conf
|
|||||||
unset($this->global->MAIN_NO_CONCAT_DESCRIPTION);
|
unset($this->global->MAIN_NO_CONCAT_DESCRIPTION);
|
||||||
}
|
}
|
||||||
|
|
||||||
// For backward compatibility
|
// product is new use
|
||||||
if (isset($this->product)) {
|
if (isset($this->product)) {
|
||||||
|
// For backward compatibility
|
||||||
$this->produit = $this->product;
|
$this->produit = $this->product;
|
||||||
}
|
}
|
||||||
|
// invoice is new use, facture is old use still initialised
|
||||||
if (isset($this->facture)) {
|
if (isset($this->facture)) {
|
||||||
$this->invoice = $this->facture;
|
$this->invoice = $this->facture;
|
||||||
}
|
}
|
||||||
|
// order is new use, commande is old use still initialised
|
||||||
if (isset($this->commande)) {
|
if (isset($this->commande)) {
|
||||||
$this->order = $this->commande;
|
$this->order = $this->commande;
|
||||||
}
|
}
|
||||||
|
// contract is new use, contrat is old use still initialised
|
||||||
if (isset($this->contrat)) {
|
if (isset($this->contrat)) {
|
||||||
$this->contract = $this->contrat;
|
$this->contract = $this->contrat;
|
||||||
}
|
}
|
||||||
|
// category is new use, categorie is old use still initialised
|
||||||
if (isset($this->categorie)) {
|
if (isset($this->categorie)) {
|
||||||
$this->category = $this->categorie;
|
$this->category = $this->categorie;
|
||||||
}
|
}
|
||||||
if (isset($this->project)) {
|
// project is new use, projet is old use still initialised
|
||||||
|
if (isset($this->projet) && !isset($this->project)) {
|
||||||
$this->project = $this->projet;
|
$this->project = $this->projet;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -362,7 +362,7 @@ class FormOther
|
|||||||
if (!is_numeric($showempty)) {
|
if (!is_numeric($showempty)) {
|
||||||
$textforempty = $showempty;
|
$textforempty = $showempty;
|
||||||
}
|
}
|
||||||
$moreforfilter .= '<option class="optiongrey" '.($moreparamonempty ? $moreparamonempty.' ' : '').'value="'.($showempty < 0 ? $showempty : -1).'"'.($selected == $showempty ? ' selected' : '').'>'.$textforempty.'</option>'."\n";
|
$moreforfilter .= '<option class="optiongrey" value="'.($showempty < 0 ? $showempty : -1).'"'.($selected == $showempty ? ' selected' : '').'>'.$textforempty.'</option>'."\n";
|
||||||
//$moreforfilter .= '<option value="0" '.($moreparamonempty ? $moreparamonempty.' ' : '').' class="optiongrey">'.(is_numeric($showempty) ? ' ' : $showempty).'</option>'; // Should use -1 to say nothing
|
//$moreforfilter .= '<option value="0" '.($moreparamonempty ? $moreparamonempty.' ' : '').' class="optiongrey">'.(is_numeric($showempty) ? ' ' : $showempty).'</option>'; // Should use -1 to say nothing
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -1190,7 +1190,7 @@ function show_contacts($conf, $langs, $db, $object, $backtopage = '')
|
|||||||
$obj = $db->fetch_object($result);
|
$obj = $db->fetch_object($result);
|
||||||
|
|
||||||
$contactstatic->id = $obj->rowid;
|
$contactstatic->id = $obj->rowid;
|
||||||
$contactstatic->ref = $obj->ref;
|
$contactstatic->ref = $obj->rowid;
|
||||||
$contactstatic->statut = $obj->statut;
|
$contactstatic->statut = $obj->statut;
|
||||||
$contactstatic->lastname = $obj->lastname;
|
$contactstatic->lastname = $obj->lastname;
|
||||||
$contactstatic->firstname = $obj->firstname;
|
$contactstatic->firstname = $obj->firstname;
|
||||||
@ -1204,7 +1204,6 @@ function show_contacts($conf, $langs, $db, $object, $backtopage = '')
|
|||||||
$contactstatic->phone_mobile = $obj->phone_mobile;
|
$contactstatic->phone_mobile = $obj->phone_mobile;
|
||||||
$contactstatic->phone_perso = $obj->phone_perso;
|
$contactstatic->phone_perso = $obj->phone_perso;
|
||||||
$contactstatic->email = $obj->email;
|
$contactstatic->email = $obj->email;
|
||||||
$contactstatic->web = $obj->web;
|
|
||||||
$contactstatic->socialnetworks = $obj->socialnetworks;
|
$contactstatic->socialnetworks = $obj->socialnetworks;
|
||||||
$contactstatic->photo = $obj->photo;
|
$contactstatic->photo = $obj->photo;
|
||||||
|
|
||||||
|
|||||||
@ -1,7 +1,7 @@
|
|||||||
<?php
|
<?php
|
||||||
/* Copyright (C) 2006-2010 Laurent Destailleur <eldy@users.sourceforge.net>
|
/* Copyright (C) 2006-2010 Laurent Destailleur <eldy@users.sourceforge.net>
|
||||||
* Copyright (C) 2010-2017 Regis Houssin <regis.houssin@inodbox.com>
|
* Copyright (C) 2010-2017 Regis Houssin <regis.houssin@inodbox.com>
|
||||||
* Copyright (C) 2015 Frederic France <frederic.france@free.fr>
|
* Copyright (C) 2015-2021 Frederic France <frederic.france@netlogic.fr>
|
||||||
* Copyright (C) 2015 Raphaël Doursenaud <rdoursenaud@gpcsolutions.fr>
|
* Copyright (C) 2015 Raphaël Doursenaud <rdoursenaud@gpcsolutions.fr>
|
||||||
*
|
*
|
||||||
* This program is free software; you can redistribute it and/or modify
|
* This program is free software; you can redistribute it and/or modify
|
||||||
@ -98,7 +98,7 @@ function contact_prepare_head(Contact $object)
|
|||||||
|
|
||||||
// Agenda / Events
|
// Agenda / Events
|
||||||
$head[$tab][0] = DOL_URL_ROOT.'/contact/agenda.php?id='.$object->id;
|
$head[$tab][0] = DOL_URL_ROOT.'/contact/agenda.php?id='.$object->id;
|
||||||
$head[$tab][1] .= $langs->trans("Events");
|
$head[$tab][1] = $langs->trans("Events");
|
||||||
if (!empty($conf->agenda->enabled) && (!empty($user->rights->agenda->myactions->read) || !empty($user->rights->agenda->allactions->read))) {
|
if (!empty($conf->agenda->enabled) && (!empty($user->rights->agenda->myactions->read) || !empty($user->rights->agenda->allactions->read))) {
|
||||||
$head[$tab][1] .= '/';
|
$head[$tab][1] .= '/';
|
||||||
$head[$tab][1] .= $langs->trans("Agenda");
|
$head[$tab][1] .= $langs->trans("Agenda");
|
||||||
|
|||||||
@ -1876,7 +1876,7 @@ function dol_banner_tab($object, $paramid, $morehtml = '', $shownav = 1, $fieldi
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!$phototoshow) { // Show No photo link (picto of object)
|
if (empty($phototoshow)) { // Show No photo link (picto of object)
|
||||||
$morehtmlleft .= '<div class="floatleft inline-block valignmiddle divphotoref">';
|
$morehtmlleft .= '<div class="floatleft inline-block valignmiddle divphotoref">';
|
||||||
if ($object->element == 'action') {
|
if ($object->element == 'action') {
|
||||||
$width = 80;
|
$width = 80;
|
||||||
@ -2069,33 +2069,33 @@ function dol_format_address($object, $withcountry = 0, $sep = "\n", $outputlangs
|
|||||||
// See format of addresses on https://en.wikipedia.org/wiki/Address
|
// See format of addresses on https://en.wikipedia.org/wiki/Address
|
||||||
// Address
|
// Address
|
||||||
if (empty($mode)) {
|
if (empty($mode)) {
|
||||||
$ret .= ($extralangcode ? $object->array_languages['address'][$extralangcode] : $object->address);
|
$ret .= ($extralangcode ? $object->array_languages['address'][$extralangcode] : (empty($object->address) ? '' : $object->address));
|
||||||
}
|
}
|
||||||
// Zip/Town/State
|
// Zip/Town/State
|
||||||
if (isset($object->country_code) && in_array($object->country_code, array('AU', 'CA', 'US')) || !empty($conf->global->MAIN_FORCE_STATE_INTO_ADDRESS)) {
|
if (isset($object->country_code) && in_array($object->country_code, array('AU', 'CA', 'US')) || !empty($conf->global->MAIN_FORCE_STATE_INTO_ADDRESS)) {
|
||||||
// US: title firstname name \n address lines \n town, state, zip \n country
|
// US: title firstname name \n address lines \n town, state, zip \n country
|
||||||
$town = ($extralangcode ? $object->array_languages['town'][$extralangcode] : $object->town);
|
$town = ($extralangcode ? $object->array_languages['town'][$extralangcode] : (empty($object->town) ? '' : $object->town));
|
||||||
$ret .= ($ret ? $sep : '').$town;
|
$ret .= ($ret ? $sep : '').$town;
|
||||||
if (!empty($object->state)) {
|
if (!empty($object->state)) {
|
||||||
$ret .= ($ret ? ", " : '').$object->state;
|
$ret .= ($ret ? ", " : '').$object->state;
|
||||||
}
|
}
|
||||||
if ($object->zip) {
|
if (!empty($object->zip)) {
|
||||||
$ret .= ($ret ? ", " : '').$object->zip;
|
$ret .= ($ret ? ", " : '').$object->zip;
|
||||||
}
|
}
|
||||||
} elseif (isset($object->country_code) && in_array($object->country_code, array('GB', 'UK'))) {
|
} elseif (isset($object->country_code) && in_array($object->country_code, array('GB', 'UK'))) {
|
||||||
// UK: title firstname name \n address lines \n town state \n zip \n country
|
// UK: title firstname name \n address lines \n town state \n zip \n country
|
||||||
$town = ($extralangcode ? $object->array_languages['town'][$extralangcode] : $object->town);
|
$town = ($extralangcode ? $object->array_languages['town'][$extralangcode] : (empty($object->town) ? '' : $object->town));
|
||||||
$ret .= ($ret ? $sep : '').$town;
|
$ret .= ($ret ? $sep : '').$town;
|
||||||
if (!empty($object->state)) {
|
if (!empty($object->state)) {
|
||||||
$ret .= ($ret ? ", " : '').$object->state;
|
$ret .= ($ret ? ", " : '').$object->state;
|
||||||
}
|
}
|
||||||
if ($object->zip) {
|
if (!empty($object->zip)) {
|
||||||
$ret .= ($ret ? $sep : '').$object->zip;
|
$ret .= ($ret ? $sep : '').$object->zip;
|
||||||
}
|
}
|
||||||
} elseif (isset($object->country_code) && in_array($object->country_code, array('ES', 'TR'))) {
|
} elseif (isset($object->country_code) && in_array($object->country_code, array('ES', 'TR'))) {
|
||||||
// ES: title firstname name \n address lines \n zip town \n state \n country
|
// ES: title firstname name \n address lines \n zip town \n state \n country
|
||||||
$ret .= ($ret ? $sep : '').$object->zip;
|
$ret .= ($ret ? $sep : '').$object->zip;
|
||||||
$town = ($extralangcode ? $object->array_languages['town'][$extralangcode] : $object->town);
|
$town = ($extralangcode ? $object->array_languages['town'][$extralangcode] : (empty($object->town) ? '' : $object->town));
|
||||||
$ret .= ($town ? (($object->zip ? ' ' : '').$town) : '');
|
$ret .= ($town ? (($object->zip ? ' ' : '').$town) : '');
|
||||||
if (!empty($object->state)) {
|
if (!empty($object->state)) {
|
||||||
$ret .= "\n".$object->state;
|
$ret .= "\n".$object->state;
|
||||||
@ -2103,12 +2103,12 @@ function dol_format_address($object, $withcountry = 0, $sep = "\n", $outputlangs
|
|||||||
} elseif (isset($object->country_code) && in_array($object->country_code, array('IT'))) {
|
} elseif (isset($object->country_code) && in_array($object->country_code, array('IT'))) {
|
||||||
// IT: tile firstname name\n address lines \n zip (Code Departement) \n country
|
// IT: tile firstname name\n address lines \n zip (Code Departement) \n country
|
||||||
$ret .= ($ret ? $sep : '').$object->zip;
|
$ret .= ($ret ? $sep : '').$object->zip;
|
||||||
$town = ($extralangcode ? $object->array_languages['town'][$extralangcode] : $object->town);
|
$town = ($extralangcode ? $object->array_languages['town'][$extralangcode] : (empty($object->town) ? '' : $object->town));
|
||||||
$ret .= ($town ? (($object->zip ? ' ' : '').$town) : '');
|
$ret .= ($town ? (($object->zip ? ' ' : '').$town) : '');
|
||||||
$ret .= (empty($object->state_code) ? '' : (' '.$object->state_code));
|
$ret .= (empty($object->state_code) ? '' : (' '.$object->state_code));
|
||||||
} else { // Other: title firstname name \n address lines \n zip town \n country
|
} else { // Other: title firstname name \n address lines \n zip town \n country
|
||||||
$town = ($extralangcode ? $object->array_languages['town'][$extralangcode] : $object->town);
|
$town = ($extralangcode ? $object->array_languages['town'][$extralangcode] : (empty($object->town) ? '' : $object->town));
|
||||||
$ret .= $object->zip ? (($ret ? $sep : '').$object->zip) : '';
|
$ret .= !empty($object->zip) ? (($ret ? $sep : '').$object->zip) : '';
|
||||||
$ret .= ($town ? (($object->zip ? ' ' : ($ret ? $sep : '')).$town) : '');
|
$ret .= ($town ? (($object->zip ? ' ' : ($ret ? $sep : '')).$town) : '');
|
||||||
if (!empty($object->state) && in_array($object->country_code, $countriesusingstate)) {
|
if (!empty($object->state) && in_array($object->country_code, $countriesusingstate)) {
|
||||||
$ret .= ($ret ? ", " : '').$object->state;
|
$ret .= ($ret ? ", " : '').$object->state;
|
||||||
|
|||||||
@ -204,8 +204,8 @@ $listofexamplesforlink = 'Societe:societe/class/societe.class.php<br>Contact:con
|
|||||||
<!-- Totalizable -->
|
<!-- Totalizable -->
|
||||||
<tr class="extra_totalizable"><td><?php echo $langs->trans("Totalizable"); ?></td><td class="valeur"><input id="totalizable" type="checkbox" name="totalizable"<?php echo ((GETPOST('totalizable', 'alpha') || GETPOST('button', 'alpha')) ? ' checked' : ''); ?>></td></tr>
|
<tr class="extra_totalizable"><td><?php echo $langs->trans("Totalizable"); ?></td><td class="valeur"><input id="totalizable" type="checkbox" name="totalizable"<?php echo ((GETPOST('totalizable', 'alpha') || GETPOST('button', 'alpha')) ? ' checked' : ''); ?>></td></tr>
|
||||||
<!-- Help tooltip -->
|
<!-- Help tooltip -->
|
||||||
<tr class="help"><td><?php echo $form->textwithpicto($langs->trans("HelpOnTooltip"), $langs->trans("HelpOnTooltipDesc")); ?></td><td class="valeur"><input id="help" class="quatrevingtpercent" type="text" name="help" value="<?php echo dol_escape_htmltag($help); ?>"></td></tr>
|
<tr class="help"><td><?php echo $form->textwithpicto($langs->trans("HelpOnTooltip"), $langs->trans("HelpOnTooltipDesc")); ?></td><td class="valeur"><input id="help" class="quatrevingtpercent" type="text" name="help" value="<?php echo dol_escape_htmltag((empty($help) ? '' : $help)); ?>"></td></tr>
|
||||||
<?php if ($conf->multicompany->enabled) { ?>
|
<?php if (empty($conf->multicompany->enabled)) { ?>
|
||||||
<!-- Multicompany entity -->
|
<!-- Multicompany entity -->
|
||||||
<tr><td><?php echo $langs->trans("AllEntities"); ?></td><td class="valeur"><input id="entitycurrentorall" type="checkbox" name="entitycurrentorall"<?php echo (GETPOST('entitycurrentorall', 'alpha') ? '' : ' checked'); ?>></td></tr>
|
<tr><td><?php echo $langs->trans("AllEntities"); ?></td><td class="valeur"><input id="entitycurrentorall" type="checkbox" name="entitycurrentorall"<?php echo (GETPOST('entitycurrentorall', 'alpha') ? '' : ' checked'); ?>></td></tr>
|
||||||
<?php } ?>
|
<?php } ?>
|
||||||
|
|||||||
@ -141,7 +141,7 @@ $listofexamplesforlink = 'Societe:societe/class/societe.class.php<br>Contact:con
|
|||||||
<input type="hidden" name="token" value="<?php echo newToken(); ?>">
|
<input type="hidden" name="token" value="<?php echo newToken(); ?>">
|
||||||
<input type="hidden" name="attrname" value="<?php echo $attrname; ?>">
|
<input type="hidden" name="attrname" value="<?php echo $attrname; ?>">
|
||||||
<input type="hidden" name="action" value="update">
|
<input type="hidden" name="action" value="update">
|
||||||
<input type="hidden" name="rowid" value="<?php echo $rowid ?>">
|
<input type="hidden" name="rowid" value="<?php echo (empty($rowid) ? '' : $rowid) ?>">
|
||||||
<input type="hidden" name="enabled" value="<?php echo $extrafields->attributes[$elementtype]['enabled'][$attrname]; ?>">
|
<input type="hidden" name="enabled" value="<?php echo $extrafields->attributes[$elementtype]['enabled'][$attrname]; ?>">
|
||||||
|
|
||||||
<?php print dol_get_fiche_head(); ?>
|
<?php print dol_get_fiche_head(); ?>
|
||||||
@ -295,7 +295,7 @@ if (in_array($type, array_keys($typewecanchangeinto))) {
|
|||||||
<!-- Help tooltip -->
|
<!-- Help tooltip -->
|
||||||
<tr class="help"><td><?php echo $form->textwithpicto($langs->trans("HelpOnTooltip"), $langs->trans("HelpOnTooltipDesc")); ?></td><td class="valeur"><input id="help" class="quatrevingtpercent" type="text" name="help" value="<?php echo dol_escape_htmltag($help); ?>"></td></tr>
|
<tr class="help"><td><?php echo $form->textwithpicto($langs->trans("HelpOnTooltip"), $langs->trans("HelpOnTooltipDesc")); ?></td><td class="valeur"><input id="help" class="quatrevingtpercent" type="text" name="help" value="<?php echo dol_escape_htmltag($help); ?>"></td></tr>
|
||||||
|
|
||||||
<?php if ($conf->multicompany->enabled) { ?>
|
<?php if (empty($conf->multicompany->enabled)) { ?>
|
||||||
<!-- Multicompany entity -->
|
<!-- Multicompany entity -->
|
||||||
<tr><td><?php echo $langs->trans("AllEntities"); ?></td><td class="valeur"><input id="entitycurrentorall" type="checkbox" name="entitycurrentorall"<?php echo (empty($entitycurrentorall) ? ' checked' : ''); ?>></td></tr>
|
<tr><td><?php echo $langs->trans("AllEntities"); ?></td><td class="valeur"><input id="entitycurrentorall" type="checkbox" name="entitycurrentorall"<?php echo (empty($entitycurrentorall) ? ' checked' : ''); ?>></td></tr>
|
||||||
<?php } ?>
|
<?php } ?>
|
||||||
|
|||||||
@ -65,7 +65,7 @@ print '<td class="center">'.$langs->trans("AlwaysEditable").'</td>';
|
|||||||
print '<td class="center">'.$form->textwithpicto($langs->trans("Visible"), $langs->trans("VisibleDesc")).'</td>';
|
print '<td class="center">'.$form->textwithpicto($langs->trans("Visible"), $langs->trans("VisibleDesc")).'</td>';
|
||||||
print '<td class="center">'.$form->textwithpicto($langs->trans("DisplayOnPdf"), $langs->trans("DisplayOnPdfDesc")).'</td>';
|
print '<td class="center">'.$form->textwithpicto($langs->trans("DisplayOnPdf"), $langs->trans("DisplayOnPdfDesc")).'</td>';
|
||||||
print '<td class="center">'.$form->textwithpicto($langs->trans("Totalizable"), $langs->trans("TotalizableDesc")).'</td>';
|
print '<td class="center">'.$form->textwithpicto($langs->trans("Totalizable"), $langs->trans("TotalizableDesc")).'</td>';
|
||||||
if ($conf->multicompany->enabled) {
|
if (empty($conf->multicompany->enabled)) {
|
||||||
print '<td class="center">'.$langs->trans("Entities").'</td>';
|
print '<td class="center">'.$langs->trans("Entities").'</td>';
|
||||||
}
|
}
|
||||||
print '<td width="80"> </td>';
|
print '<td width="80"> </td>';
|
||||||
|
|||||||
@ -62,7 +62,7 @@ if (!$sortfield) {
|
|||||||
if (!$sortorder) {
|
if (!$sortorder) {
|
||||||
$sortorder = 'DESC,ASC';
|
$sortorder = 'DESC,ASC';
|
||||||
}
|
}
|
||||||
|
$optioncss = GETPOST('optioncss', 'alpha');
|
||||||
$mode = GETPOST('mode', 'aZ09');
|
$mode = GETPOST('mode', 'aZ09');
|
||||||
//Search criteria
|
//Search criteria
|
||||||
$search_status = (GETPOSTISSET('search_status') ?GETPOST('search_status', 'int') : GETPOST('status', 'int'));
|
$search_status = (GETPOSTISSET('search_status') ?GETPOST('search_status', 'int') : GETPOST('status', 'int'));
|
||||||
@ -71,7 +71,11 @@ $search_module_name = GETPOST("search_module_name", 'alpha');
|
|||||||
$search_lastresult = GETPOST("search_lastresult", "alpha");
|
$search_lastresult = GETPOST("search_lastresult", "alpha");
|
||||||
$securitykey = GETPOST('securitykey', 'alpha');
|
$securitykey = GETPOST('securitykey', 'alpha');
|
||||||
|
|
||||||
$diroutputmassaction = $conf->cronjob->dir_output.'/temp/massgeneration/'.$user->id;
|
$outputdir = $conf->cron->dir_output;
|
||||||
|
if (empty($outputdir)) {
|
||||||
|
$outputdir = $conf->cronjob->dir_output;
|
||||||
|
}
|
||||||
|
$diroutputmassaction = $outputdir.'/temp/massgeneration/'.$user->id;
|
||||||
|
|
||||||
$object = new Cronjob($db);
|
$object = new Cronjob($db);
|
||||||
|
|
||||||
@ -360,7 +364,7 @@ $arrayofmassactions = array(
|
|||||||
'enable'=>$langs->trans("CronStatusActiveBtn"),
|
'enable'=>$langs->trans("CronStatusActiveBtn"),
|
||||||
'disable'=>$langs->trans("CronStatusInactiveBtn"),
|
'disable'=>$langs->trans("CronStatusInactiveBtn"),
|
||||||
);
|
);
|
||||||
if ($user->rights->mymodule->delete) {
|
if ($user->rights->cron->delete) {
|
||||||
$arrayofmassactions['predelete'] = '<span class="fa fa-trash paddingrightonly"></span>'.$langs->trans("Delete");
|
$arrayofmassactions['predelete'] = '<span class="fa fa-trash paddingrightonly"></span>'.$langs->trans("Delete");
|
||||||
}
|
}
|
||||||
if (in_array($massaction, array('presend', 'predelete'))) {
|
if (in_array($massaction, array('presend', 'predelete'))) {
|
||||||
|
|||||||
@ -148,7 +148,10 @@ if (GETPOST('delete', 'alpha')) {
|
|||||||
|
|
||||||
$form = new Form($db);
|
$form = new Form($db);
|
||||||
|
|
||||||
llxHeader();
|
|
||||||
|
$help_url = 'EN:Module_FTP_En|FR:Module_FTP|ES:Módulo_FTP';
|
||||||
|
|
||||||
|
llxHeader('', 'FTP', $help_url);
|
||||||
|
|
||||||
$linkback = '<a href="'.DOL_URL_ROOT.'/admin/modules.php?restore_lastsearch_values=1">'.$langs->trans("BackToModuleList").'</a>';
|
$linkback = '<a href="'.DOL_URL_ROOT.'/admin/modules.php?restore_lastsearch_values=1">'.$langs->trans("BackToModuleList").'</a>';
|
||||||
print load_fiche_titre($langs->trans("FTPClientSetup"), $linkback, 'title_setup');
|
print load_fiche_titre($langs->trans("FTPClientSetup"), $linkback, 'title_setup');
|
||||||
|
|||||||
@ -6,6 +6,7 @@
|
|||||||
* Copyright (C) 2017 Alexandre Spangaro <aspangaro@open-dsi.fr>
|
* Copyright (C) 2017 Alexandre Spangaro <aspangaro@open-dsi.fr>
|
||||||
* Copyright (C) 2014-2017 Ferran Marcet <fmarcet@2byte.es>
|
* Copyright (C) 2014-2017 Ferran Marcet <fmarcet@2byte.es>
|
||||||
* Copyright (C) 2018 Frédéric France <frederic.france@netlogic.fr>
|
* Copyright (C) 2018 Frédéric France <frederic.france@netlogic.fr>
|
||||||
|
* Copyright (C) 2020-2021 Udo Tamm <dev@dolibit.de>
|
||||||
*
|
*
|
||||||
* This program is free software; you can redistribute it and/or modify
|
* This program is free software; you can redistribute it and/or modify
|
||||||
* it under the terms of the GNU General Public License as published by
|
* it under the terms of the GNU General Public License as published by
|
||||||
@ -408,7 +409,7 @@ if (empty($reshook)) {
|
|||||||
|
|
||||||
$verif = $object->validate($user);
|
$verif = $object->validate($user);
|
||||||
|
|
||||||
// Si pas d'erreur SQL on redirige vers la fiche de la demande
|
// If no SQL error, we redirect to the request form
|
||||||
if ($verif > 0) {
|
if ($verif > 0) {
|
||||||
// To
|
// To
|
||||||
$destinataire = new User($db);
|
$destinataire = new User($db);
|
||||||
@ -446,7 +447,7 @@ if (empty($reshook)) {
|
|||||||
|
|
||||||
$nextMonth = dol_time_plus_duree($now, $delayForRequest, 'd');
|
$nextMonth = dol_time_plus_duree($now, $delayForRequest, 'd');
|
||||||
|
|
||||||
// Si l'option pour avertir le valideur en cas de délai trop court
|
// option to warn the validator in case of too short delay
|
||||||
if ($object->getConfCP('AlertValidatorDelay')) {
|
if ($object->getConfCP('AlertValidatorDelay')) {
|
||||||
if ($object->date_debut < $nextMonth) {
|
if ($object->date_debut < $nextMonth) {
|
||||||
$message .= "\n";
|
$message .= "\n";
|
||||||
@ -454,7 +455,7 @@ if (empty($reshook)) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// Si l'option pour avertir le valideur en cas de solde inférieur à la demande
|
// option to notify the validator if the balance is less than the request
|
||||||
if ($object->getConfCP('AlertValidatorSolde')) {
|
if ($object->getConfCP('AlertValidatorSolde')) {
|
||||||
$nbopenedday = num_open_day($object->date_debut_gmt, $object->date_fin_gmt, 0, 1, $object->halfday);
|
$nbopenedday = num_open_day($object->date_debut_gmt, $object->date_fin_gmt, 0, 1, $object->halfday);
|
||||||
if ($nbopenedday > $object->getCPforUser($object->fk_user, $object->fk_type)) {
|
if ($nbopenedday > $object->getCPforUser($object->fk_user, $object->fk_type)) {
|
||||||
@ -473,7 +474,7 @@ if (empty($reshook)) {
|
|||||||
|
|
||||||
$mail = new CMailFile($subject, $emailTo, $emailFrom, $message, array(), array(), array(), '', '', 0, 0, '', '', $trackid);
|
$mail = new CMailFile($subject, $emailTo, $emailFrom, $message, array(), array(), array(), '', '', 0, 0, '', '', $trackid);
|
||||||
|
|
||||||
// Envoi du mail
|
// Sending the email
|
||||||
$result = $mail->sendfile();
|
$result = $mail->sendfile();
|
||||||
|
|
||||||
if (!$result) {
|
if (!$result) {
|
||||||
@ -533,21 +534,21 @@ if (empty($reshook)) {
|
|||||||
$error++;
|
$error++;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Si pas d'erreur SQL on redirige vers la fiche de la demande
|
// If no SQL error, we redirect to the request form
|
||||||
if (!$error) {
|
if (!$error) {
|
||||||
// Calculcate number of days consummed
|
// Calculcate number of days consummed
|
||||||
$nbopenedday = num_open_day($object->date_debut_gmt, $object->date_fin_gmt, 0, 1, $object->halfday);
|
$nbopenedday = num_open_day($object->date_debut_gmt, $object->date_fin_gmt, 0, 1, $object->halfday);
|
||||||
$soldeActuel = $object->getCpforUser($object->fk_user, $object->fk_type);
|
$soldeActuel = $object->getCpforUser($object->fk_user, $object->fk_type);
|
||||||
$newSolde = ($soldeActuel - $nbopenedday);
|
$newSolde = ($soldeActuel - $nbopenedday);
|
||||||
|
|
||||||
// On ajoute la modification dans le LOG
|
// The modification is added to the LOG
|
||||||
$result = $object->addLogCP($user->id, $object->fk_user, $langs->transnoentitiesnoconv("Holidays"), $newSolde, $object->fk_type);
|
$result = $object->addLogCP($user->id, $object->fk_user, $langs->transnoentitiesnoconv("Holidays"), $newSolde, $object->fk_type);
|
||||||
if ($result < 0) {
|
if ($result < 0) {
|
||||||
$error++;
|
$error++;
|
||||||
setEventMessages(null, $object->errors, 'errors');
|
setEventMessages(null, $object->errors, 'errors');
|
||||||
}
|
}
|
||||||
|
|
||||||
//Update balance
|
// Update balance
|
||||||
$result = $object->updateSoldeCP($object->fk_user, $newSolde, $object->fk_type);
|
$result = $object->updateSoldeCP($object->fk_user, $newSolde, $object->fk_type);
|
||||||
if ($result < 0) {
|
if ($result < 0) {
|
||||||
$error++;
|
$error++;
|
||||||
@ -593,7 +594,7 @@ if (empty($reshook)) {
|
|||||||
|
|
||||||
$mail = new CMailFile($subject, $emailTo, $emailFrom, $message, array(), array(), array(), '', '', 0, 0, '', '', $trackid);
|
$mail = new CMailFile($subject, $emailTo, $emailFrom, $message, array(), array(), array(), '', '', 0, 0, '', '', $trackid);
|
||||||
|
|
||||||
// Envoi du mail
|
// Sending email
|
||||||
$result = $mail->sendfile();
|
$result = $mail->sendfile();
|
||||||
|
|
||||||
if (!$result) {
|
if (!$result) {
|
||||||
@ -619,7 +620,7 @@ if (empty($reshook)) {
|
|||||||
if (!empty($_POST['detail_refuse'])) {
|
if (!empty($_POST['detail_refuse'])) {
|
||||||
$object->fetch($id);
|
$object->fetch($id);
|
||||||
|
|
||||||
// Si statut en attente de validation et valideur = utilisateur
|
// If status pending validation and validator = user
|
||||||
if ($object->statut == Holiday::STATUS_VALIDATED && $user->id == $object->fk_validator) {
|
if ($object->statut == Holiday::STATUS_VALIDATED && $user->id == $object->fk_validator) {
|
||||||
$object->date_refuse = dol_print_date('dayhour', dol_now());
|
$object->date_refuse = dol_print_date('dayhour', dol_now());
|
||||||
$object->fk_user_refuse = $user->id;
|
$object->fk_user_refuse = $user->id;
|
||||||
@ -634,7 +635,7 @@ if (empty($reshook)) {
|
|||||||
setEventMessages($object->error, $object->errors, 'errors');
|
setEventMessages($object->error, $object->errors, 'errors');
|
||||||
}
|
}
|
||||||
|
|
||||||
// Si pas d'erreur SQL on redirige vers la fiche de la demande
|
// If no SQL error, we redirect to the request form
|
||||||
if (!$error) {
|
if (!$error) {
|
||||||
// To
|
// To
|
||||||
$destinataire = new User($db);
|
$destinataire = new User($db);
|
||||||
@ -674,7 +675,7 @@ if (empty($reshook)) {
|
|||||||
|
|
||||||
$mail = new CMailFile($subject, $emailTo, $emailFrom, $message, array(), array(), array(), '', '', 0, 0, '', '', $trackid);
|
$mail = new CMailFile($subject, $emailTo, $emailFrom, $message, array(), array(), array(), '', '', 0, 0, '', '', $trackid);
|
||||||
|
|
||||||
// Envoi du mail
|
// sending email
|
||||||
$result = $mail->sendfile();
|
$result = $mail->sendfile();
|
||||||
|
|
||||||
if (!$result) {
|
if (!$result) {
|
||||||
@ -703,7 +704,7 @@ if (empty($reshook)) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
// Si Validation de la demande
|
// If the request is validated
|
||||||
if ($action == 'confirm_draft' && GETPOST('confirm') == 'yes') {
|
if ($action == 'confirm_draft' && GETPOST('confirm') == 'yes') {
|
||||||
$error = 0;
|
$error = 0;
|
||||||
|
|
||||||
@ -728,13 +729,13 @@ if (empty($reshook)) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// Si confirmation of cancellation
|
// If confirmation of cancellation
|
||||||
if ($action == 'confirm_cancel' && GETPOST('confirm') == 'yes') {
|
if ($action == 'confirm_cancel' && GETPOST('confirm') == 'yes') {
|
||||||
$error = 0;
|
$error = 0;
|
||||||
|
|
||||||
$object->fetch($id);
|
$object->fetch($id);
|
||||||
|
|
||||||
// Si statut en attente de validation et valideur = valideur ou utilisateur, ou droits de faire pour les autres
|
// If status pending validation and validator = validator or user, or rights to do for others
|
||||||
if (($object->statut == Holiday::STATUS_VALIDATED || $object->statut == Holiday::STATUS_APPROVED) && ($user->id == $object->fk_validator || in_array($object->fk_user, $childids)
|
if (($object->statut == Holiday::STATUS_VALIDATED || $object->statut == Holiday::STATUS_APPROVED) && ($user->id == $object->fk_validator || in_array($object->fk_user, $childids)
|
||||||
|| (!empty($conf->global->MAIN_USE_ADVANCED_PERMS) && !empty($user->rights->holiday->writeall_advance)))) {
|
|| (!empty($conf->global->MAIN_USE_ADVANCED_PERMS) && !empty($user->rights->holiday->writeall_advance)))) {
|
||||||
$db->begin();
|
$db->begin();
|
||||||
@ -753,10 +754,10 @@ if (empty($reshook)) {
|
|||||||
$soldeActuel = $object->getCpforUser($object->fk_user, $object->fk_type);
|
$soldeActuel = $object->getCpforUser($object->fk_user, $object->fk_type);
|
||||||
$newSolde = ($soldeActuel + $nbopenedday);
|
$newSolde = ($soldeActuel + $nbopenedday);
|
||||||
|
|
||||||
// On ajoute la modification dans le LOG
|
// The modification is added to the LOG
|
||||||
$result1 = $object->addLogCP($user->id, $object->fk_user, $langs->transnoentitiesnoconv("HolidaysCancelation"), $newSolde, $object->fk_type);
|
$result1 = $object->addLogCP($user->id, $object->fk_user, $langs->transnoentitiesnoconv("HolidaysCancelation"), $newSolde, $object->fk_type);
|
||||||
|
|
||||||
// Mise à jour du solde
|
// Update of the balance
|
||||||
$result2 = $object->updateSoldeCP($object->fk_user, $newSolde, $object->fk_type);
|
$result2 = $object->updateSoldeCP($object->fk_user, $newSolde, $object->fk_type);
|
||||||
|
|
||||||
if ($result1 < 0 || $result2 < 0) {
|
if ($result1 < 0 || $result2 < 0) {
|
||||||
@ -771,7 +772,7 @@ if (empty($reshook)) {
|
|||||||
$db->rollback();
|
$db->rollback();
|
||||||
}
|
}
|
||||||
|
|
||||||
// Si pas d'erreur SQL on redirige vers la fiche de la demande
|
// If no SQL error, we redirect to the request form
|
||||||
if (!$error && $result > 0) {
|
if (!$error && $result > 0) {
|
||||||
// To
|
// To
|
||||||
$destinataire = new User($db);
|
$destinataire = new User($db);
|
||||||
@ -811,7 +812,7 @@ if (empty($reshook)) {
|
|||||||
|
|
||||||
$mail = new CMailFile($subject, $emailTo, $emailFrom, $message, array(), array(), array(), '', '', 0, 0, '', '', $trackid);
|
$mail = new CMailFile($subject, $emailTo, $emailFrom, $message, array(), array(), array(), '', '', 0, 0, '', '', $trackid);
|
||||||
|
|
||||||
// Envoi du mail
|
// sending email
|
||||||
$result = $mail->sendfile();
|
$result = $mail->sendfile();
|
||||||
|
|
||||||
if (!$result) {
|
if (!$result) {
|
||||||
@ -853,7 +854,9 @@ $object = new Holiday($db);
|
|||||||
|
|
||||||
$listhalfday = array('morning'=>$langs->trans("Morning"), "afternoon"=>$langs->trans("Afternoon"));
|
$listhalfday = array('morning'=>$langs->trans("Morning"), "afternoon"=>$langs->trans("Afternoon"));
|
||||||
|
|
||||||
llxHeader('', $langs->trans('CPTitreMenu'));
|
$help_url = 'EN:Module_Holiday';
|
||||||
|
|
||||||
|
llxHeader('', $langs->trans('CPTitreMenu'), $help_url);
|
||||||
|
|
||||||
if ((empty($id) && empty($ref)) || $action == 'create' || $action == 'add') {
|
if ((empty($id) && empty($ref)) || $action == 'create' || $action == 'add') {
|
||||||
// If user has no permission to create a leave
|
// If user has no permission to create a leave
|
||||||
|
|||||||
@ -30,13 +30,13 @@
|
|||||||
-- Do not concatenate the values in a single query, for the same reason.
|
-- Do not concatenate the values in a single query, for the same reason.
|
||||||
|
|
||||||
--
|
--
|
||||||
-- Departements/Cantons/Provinces
|
-- Departements/Cantons/Provinces/States
|
||||||
--
|
--
|
||||||
|
|
||||||
insert into llx_c_departements (fk_region, code_departement, cheflieu, tncc, ncc, nom) values ( 0, '0', '0',0,'-','-');
|
insert into llx_c_departements (fk_region, code_departement, cheflieu, tncc, ncc, nom) values ( 0, '0', '0',0,'-','-');
|
||||||
|
|
||||||
|
|
||||||
-- Andorra Provinces (rowid country=34)
|
-- Andorra Parròquies (id country=34)
|
||||||
INSERT INTO llx_c_departements (fk_region, code_departement, cheflieu, tncc, ncc, nom) VALUES (34000, 'AD-002', 'AD100', NULL, NULL, 'Canillo');
|
INSERT INTO llx_c_departements (fk_region, code_departement, cheflieu, tncc, ncc, nom) VALUES (34000, 'AD-002', 'AD100', NULL, NULL, 'Canillo');
|
||||||
INSERT INTO llx_c_departements (fk_region, code_departement, cheflieu, tncc, ncc, nom) VALUES (34000, 'AD-003', 'AD200', NULL, NULL, 'Encamp');
|
INSERT INTO llx_c_departements (fk_region, code_departement, cheflieu, tncc, ncc, nom) VALUES (34000, 'AD-003', 'AD200', NULL, NULL, 'Encamp');
|
||||||
INSERT INTO llx_c_departements (fk_region, code_departement, cheflieu, tncc, ncc, nom) VALUES (34000, 'AD-004', 'AD400', NULL, NULL, 'La Massana');
|
INSERT INTO llx_c_departements (fk_region, code_departement, cheflieu, tncc, ncc, nom) VALUES (34000, 'AD-004', 'AD400', NULL, NULL, 'La Massana');
|
||||||
@ -45,6 +45,19 @@ INSERT INTO llx_c_departements (fk_region, code_departement, cheflieu, tncc, ncc
|
|||||||
INSERT INTO llx_c_departements (fk_region, code_departement, cheflieu, tncc, ncc, nom) VALUES (34000, 'AD-007', 'AD500', NULL, NULL, 'Andorra la Vella');
|
INSERT INTO llx_c_departements (fk_region, code_departement, cheflieu, tncc, ncc, nom) VALUES (34000, 'AD-007', 'AD500', NULL, NULL, 'Andorra la Vella');
|
||||||
INSERT INTO llx_c_departements (fk_region, code_departement, cheflieu, tncc, ncc, nom) VALUES (34000, 'AD-008', 'AD700', NULL, NULL, 'Escaldes-Engordany');
|
INSERT INTO llx_c_departements (fk_region, code_departement, cheflieu, tncc, ncc, nom) VALUES (34000, 'AD-008', 'AD700', NULL, NULL, 'Escaldes-Engordany');
|
||||||
|
|
||||||
|
|
||||||
|
-- Austria States (Bundesländer) (id country=41)
|
||||||
|
INSERT INTO llx_c_departements (fk_region, code_departement, ncc, nom, active) VALUES (4101,'B','BURGENLAND','Burgenland',1);
|
||||||
|
INSERT INTO llx_c_departements (fk_region, code_departement, ncc, nom, active) VALUES (4101,'K','KAERNTEN','Kärnten',1);
|
||||||
|
INSERT INTO llx_c_departements (fk_region, code_departement, ncc, nom, active) VALUES (4101,'N','NIEDEROESTERREICH','Niederösterreich',1);
|
||||||
|
INSERT INTO llx_c_departements (fk_region, code_departement, ncc, nom, active) VALUES (4101,'O','OBEROESTERREICH','Oberösterreich',1);
|
||||||
|
INSERT INTO llx_c_departements (fk_region, code_departement, ncc, nom, active) VALUES (4101,'S','SALZBURG','Salzburg',1);
|
||||||
|
INSERT INTO llx_c_departements (fk_region, code_departement, ncc, nom, active) VALUES (4101,'ST','STEIERMARK','Steiermark',1);
|
||||||
|
INSERT INTO llx_c_departements (fk_region, code_departement, ncc, nom, active) VALUES (4101,'T','TIROL','Tirol',1);
|
||||||
|
INSERT INTO llx_c_departements (fk_region, code_departement, ncc, nom, active) VALUES (4101,'V','VORARLBERG','Vorarlberg',1);
|
||||||
|
INSERT INTO llx_c_departements (fk_region, code_departement, ncc, nom, active) VALUES (4101,'W','WIEN','Wien',1);
|
||||||
|
|
||||||
|
|
||||||
-- Departements France (id country=1)
|
-- Departements France (id country=1)
|
||||||
insert into llx_c_departements (fk_region, code_departement,cheflieu,tncc,ncc,nom) values ( 1,'971','97105',3,'GUADELOUPE','Guadeloupe');
|
insert into llx_c_departements (fk_region, code_departement,cheflieu,tncc,ncc,nom) values ( 1,'971','97105',3,'GUADELOUPE','Guadeloupe');
|
||||||
insert into llx_c_departements (fk_region, code_departement,cheflieu,tncc,ncc,nom) values ( 2,'972','97209',3,'MARTINIQUE','Martinique');
|
insert into llx_c_departements (fk_region, code_departement,cheflieu,tncc,ncc,nom) values ( 2,'972','97209',3,'MARTINIQUE','Martinique');
|
||||||
@ -149,16 +162,6 @@ insert into llx_c_departements (fk_region, code_departement,cheflieu,tncc,ncc,no
|
|||||||
insert into llx_c_departements (fk_region, code_departement,cheflieu,tncc,ncc,nom) values (11,'94','94028',2,'VAL-DE-MARNE','Val-de-Marne');
|
insert into llx_c_departements (fk_region, code_departement,cheflieu,tncc,ncc,nom) values (11,'94','94028',2,'VAL-DE-MARNE','Val-de-Marne');
|
||||||
insert into llx_c_departements (fk_region, code_departement,cheflieu,tncc,ncc,nom) values (11,'95','95500',2,'VAL-D OISE','Val-d Oise');
|
insert into llx_c_departements (fk_region, code_departement,cheflieu,tncc,ncc,nom) values (11,'95','95500',2,'VAL-D OISE','Val-d Oise');
|
||||||
|
|
||||||
-- Provinces Austria (id country=41)
|
|
||||||
INSERT INTO llx_c_departements (fk_region, code_departement, ncc, nom, active) VALUES (4101,'B','BURGENLAND','Burgenland',1);
|
|
||||||
INSERT INTO llx_c_departements (fk_region, code_departement, ncc, nom, active) VALUES (4101,'K','KAERNTEN','Kärnten',1);
|
|
||||||
INSERT INTO llx_c_departements (fk_region, code_departement, ncc, nom, active) VALUES (4101,'N','NIEDEROESTERREICH','Niederösterreich',1);
|
|
||||||
INSERT INTO llx_c_departements (fk_region, code_departement, ncc, nom, active) VALUES (4101,'O','OBEROESTERREICH','Oberösterreich',1);
|
|
||||||
INSERT INTO llx_c_departements (fk_region, code_departement, ncc, nom, active) VALUES (4101,'S','SALZBURG','Salzburg',1);
|
|
||||||
INSERT INTO llx_c_departements (fk_region, code_departement, ncc, nom, active) VALUES (4101,'ST','STEIERMARK','Steiermark',1);
|
|
||||||
INSERT INTO llx_c_departements (fk_region, code_departement, ncc, nom, active) VALUES (4101,'T','TIROL','Tirol',1);
|
|
||||||
INSERT INTO llx_c_departements (fk_region, code_departement, ncc, nom, active) VALUES (4101,'V','VORARLBERG','Vorarlberg',1);
|
|
||||||
INSERT INTO llx_c_departements (fk_region, code_departement, ncc, nom, active) VALUES (4101,'W','WIEN','Wien',1);
|
|
||||||
|
|
||||||
-- Provinces Belgium (id country=2)
|
-- Provinces Belgium (id country=2)
|
||||||
insert into llx_c_departements (fk_region, code_departement,cheflieu,tncc,ncc,nom) values (201,'01','',1,'ANVERS','Anvers');
|
insert into llx_c_departements (fk_region, code_departement,cheflieu,tncc,ncc,nom) values (201,'01','',1,'ANVERS','Anvers');
|
||||||
|
|||||||
@ -1017,6 +1017,7 @@ SearchIntoContacts=Contacts
|
|||||||
SearchIntoMembers=Members
|
SearchIntoMembers=Members
|
||||||
SearchIntoUsers=Users
|
SearchIntoUsers=Users
|
||||||
SearchIntoProductsOrServices=Products or services
|
SearchIntoProductsOrServices=Products or services
|
||||||
|
SearchIntoBatch=Lots / Serials
|
||||||
SearchIntoProjects=Projects
|
SearchIntoProjects=Projects
|
||||||
SearchIntoMO=Manufacturing Orders
|
SearchIntoMO=Manufacturing Orders
|
||||||
SearchIntoTasks=Tasks
|
SearchIntoTasks=Tasks
|
||||||
|
|||||||
@ -1013,6 +1013,7 @@ SearchIntoContacts=Contacts
|
|||||||
SearchIntoMembers=Adhérents
|
SearchIntoMembers=Adhérents
|
||||||
SearchIntoUsers=Utilisateurs
|
SearchIntoUsers=Utilisateurs
|
||||||
SearchIntoProductsOrServices=Produits ou services
|
SearchIntoProductsOrServices=Produits ou services
|
||||||
|
SearchIntoBatch=Lots / N° de série
|
||||||
SearchIntoProjects=Projets
|
SearchIntoProjects=Projets
|
||||||
SearchIntoMO=Ordres de fabrication
|
SearchIntoMO=Ordres de fabrication
|
||||||
SearchIntoTasks=Tâches
|
SearchIntoTasks=Tâches
|
||||||
|
|||||||
@ -1197,6 +1197,7 @@ if ($resql) {
|
|||||||
|
|
||||||
$i = 0;
|
$i = 0;
|
||||||
$totalarray = array();
|
$totalarray = array();
|
||||||
|
$totalarray['nbfield'] = 0;
|
||||||
while ($i < min($num, $limit)) {
|
while ($i < min($num, $limit)) {
|
||||||
$obj = $db->fetch_object($resql);
|
$obj = $db->fetch_object($resql);
|
||||||
|
|
||||||
|
|||||||
@ -65,7 +65,7 @@ $includeuserlist = array();
|
|||||||
llxHeader('', $langs->trans('Projects'));
|
llxHeader('', $langs->trans('Projects'));
|
||||||
|
|
||||||
$title = $langs->trans("ProjectsStatistics");
|
$title = $langs->trans("ProjectsStatistics");
|
||||||
$dir = $conf->projet->dir_output.'/temp';
|
$dir = $conf->project->dir_output.'/temp';
|
||||||
|
|
||||||
print load_fiche_titre($title, '', 'project');
|
print load_fiche_titre($title, '', 'project');
|
||||||
|
|
||||||
@ -224,7 +224,8 @@ if (!empty($conf->global->PROJECT_USE_OPPORTUNITIES)) {
|
|||||||
$mesg = $px3->isGraphKo();
|
$mesg = $px3->isGraphKo();
|
||||||
if (!$mesg) {
|
if (!$mesg) {
|
||||||
$px3->SetData($data);
|
$px3->SetData($data);
|
||||||
$i = $startyear; $legend = array();
|
$i = $startyear;
|
||||||
|
$legend = array();
|
||||||
while ($i <= $endyear) {
|
while ($i <= $endyear) {
|
||||||
$legend[] = $i;
|
$legend[] = $i;
|
||||||
$i++;
|
$i++;
|
||||||
@ -268,7 +269,7 @@ $head[$h][1] = $langs->trans("ByMonthYear");
|
|||||||
$head[$h][2] = 'byyear';
|
$head[$h][2] = 'byyear';
|
||||||
$h++;
|
$h++;
|
||||||
|
|
||||||
complete_head_from_modules($conf, $langs, null, $head, $h, $type);
|
complete_head_from_modules($conf, $langs, null, $head, $h, 'project_stats');
|
||||||
|
|
||||||
print dol_get_fiche_head($head, 'byyear', $langs->trans("Statistics"), -1, '');
|
print dol_get_fiche_head($head, 'byyear', $langs->trans("Statistics"), -1, '');
|
||||||
|
|
||||||
@ -337,9 +338,9 @@ foreach ($data_all_year as $val) {
|
|||||||
print '<td class="center"><a href="'.$_SERVER["PHP_SELF"].'?year='.$year.($socid > 0 ? '&socid='.$socid : '').($userid > 0 ? '&userid='.$userid : '').'">'.$year.'</a></td>';
|
print '<td class="center"><a href="'.$_SERVER["PHP_SELF"].'?year='.$year.($socid > 0 ? '&socid='.$socid : '').($userid > 0 ? '&userid='.$userid : '').'">'.$year.'</a></td>';
|
||||||
print '<td class="right">'.$val['nb'].'</td>';
|
print '<td class="right">'.$val['nb'].'</td>';
|
||||||
if (!empty($conf->global->PROJECT_USE_OPPORTUNITIES)) {
|
if (!empty($conf->global->PROJECT_USE_OPPORTUNITIES)) {
|
||||||
print '<td class="right">'.($val['total'] ?price(price2num($val['total'], 'MT'), 1) : '0').'</td>';
|
print '<td class="right">'.($val['total'] ? price(price2num($val['total'], 'MT'), 1) : '0').'</td>';
|
||||||
print '<td class="right">'.($val['avg'] ?price(price2num($val['avg'], 'MT'), 1) : '0').'</td>';
|
print '<td class="right">'.($val['avg'] ? price(price2num($val['avg'], 'MT'), 1) : '0').'</td>';
|
||||||
print '<td class="right">'.($val['weighted'] ?price(price2num($val['weighted'], 'MT'), 1) : '0').'</td>';
|
print '<td class="right">'.(isset($val['weighted']) ? price(price2num($val['weighted'], 'MT'), 1) : '0').'</td>';
|
||||||
}
|
}
|
||||||
print '</tr>';
|
print '</tr>';
|
||||||
$oldyear = $year;
|
$oldyear = $year;
|
||||||
@ -350,7 +351,7 @@ print '</div>';
|
|||||||
|
|
||||||
print '</div><div class="fichetwothirdright"><div class="ficheaddleft">';
|
print '</div><div class="fichetwothirdright"><div class="ficheaddleft">';
|
||||||
|
|
||||||
$stringtoshow .= '<table class="border centpercent"><tr class="pair nohover"><td class="center">';
|
$stringtoshow = '<table class="border centpercent"><tr class="pair nohover"><td class="center">';
|
||||||
if ($mesg) {
|
if ($mesg) {
|
||||||
print $mesg;
|
print $mesg;
|
||||||
} else {
|
} else {
|
||||||
|
|||||||
@ -65,7 +65,7 @@ $includeuserlist = array();
|
|||||||
llxHeader('', $langs->trans('Tasks'));
|
llxHeader('', $langs->trans('Tasks'));
|
||||||
|
|
||||||
$title = $langs->trans("TasksStatistics");
|
$title = $langs->trans("TasksStatistics");
|
||||||
$dir = $conf->projet->dir_output.'/temp';
|
$dir = $conf->project->dir_output.'/temp';
|
||||||
|
|
||||||
print load_fiche_titre($title, '', 'projecttask');
|
print load_fiche_titre($title, '', 'projecttask');
|
||||||
|
|
||||||
@ -134,12 +134,12 @@ if (!count($arrayyears)) {
|
|||||||
|
|
||||||
$h = 0;
|
$h = 0;
|
||||||
$head = array();
|
$head = array();
|
||||||
$head[$h][0] = DOL_URL_ROOT.'/projet/tasks/stats/index.php?mode='.$mode;
|
$head[$h][0] = DOL_URL_ROOT.'/projet/tasks/stats/index.php';
|
||||||
$head[$h][1] = $langs->trans("ByMonthYear");
|
$head[$h][1] = $langs->trans("ByMonthYear");
|
||||||
$head[$h][2] = 'byyear';
|
$head[$h][2] = 'byyear';
|
||||||
$h++;
|
$h++;
|
||||||
|
|
||||||
complete_head_from_modules($conf, $langs, null, $head, $h, $type);
|
complete_head_from_modules($conf, $langs, null, $head, $h, 'project_tasks_stats');
|
||||||
|
|
||||||
print dol_get_fiche_head($head, 'byyear', $langs->trans("Statistics"), -1, '');
|
print dol_get_fiche_head($head, 'byyear', $langs->trans("Statistics"), -1, '');
|
||||||
|
|
||||||
@ -191,13 +191,13 @@ foreach ($data_all_year as $val) {
|
|||||||
$oldyear--;
|
$oldyear--;
|
||||||
|
|
||||||
print '<tr class="oddeven" height="24">';
|
print '<tr class="oddeven" height="24">';
|
||||||
print '<td><a href="'.$_SERVER["PHP_SELF"].'?year='.$oldyear.'&mode='.$mode.($socid > 0 ? '&socid='.$socid : '').($userid > 0 ? '&userid='.$userid : '').'">'.$oldyear.'</a></td>';
|
print '<td><a href="'.$_SERVER["PHP_SELF"].'?year='.$oldyear.($socid > 0 ? '&socid='.$socid : '').($userid > 0 ? '&userid='.$userid : '').'">'.$oldyear.'</a></td>';
|
||||||
print '<td class="right">0</td>';
|
print '<td class="right">0</td>';
|
||||||
print '</tr>';
|
print '</tr>';
|
||||||
}
|
}
|
||||||
|
|
||||||
print '<tr class="oddeven" height="24">';
|
print '<tr class="oddeven" height="24">';
|
||||||
print '<td><a href="'.$_SERVER["PHP_SELF"].'?year='.$year.'&mode='.$mode.($socid > 0 ? '&socid='.$socid : '').($userid > 0 ? '&userid='.$userid : '').'">'.$year.'</a></td>';
|
print '<td><a href="'.$_SERVER["PHP_SELF"].'?year='.$year.($socid > 0 ? '&socid='.$socid : '').($userid > 0 ? '&userid='.$userid : '').'">'.$year.'</a></td>';
|
||||||
print '<td class="right">'.$val['nb'].'</td>';
|
print '<td class="right">'.$val['nb'].'</td>';
|
||||||
print '</tr>';
|
print '</tr>';
|
||||||
$oldyear = $year;
|
$oldyear = $year;
|
||||||
@ -208,7 +208,7 @@ print '</div>';
|
|||||||
|
|
||||||
print '</div><div class="fichetwothirdright"><div class="ficheaddleft">';
|
print '</div><div class="fichetwothirdright"><div class="ficheaddleft">';
|
||||||
|
|
||||||
$stringtoshow .= '<table class="border centpercent"><tr class="pair nohover"><td class="center">';
|
$stringtoshow = '<table class="border centpercent"><tr class="pair nohover"><td class="center">';
|
||||||
if ($mesg) {
|
if ($mesg) {
|
||||||
print $mesg;
|
print $mesg;
|
||||||
} else {
|
} else {
|
||||||
|
|||||||
@ -493,6 +493,7 @@ class Dolresource extends CommonObject
|
|||||||
$sql .= " t.entity,";
|
$sql .= " t.entity,";
|
||||||
$sql .= " t.ref,";
|
$sql .= " t.ref,";
|
||||||
$sql .= " t.description,";
|
$sql .= " t.description,";
|
||||||
|
$sql .= " t.fk_country,";
|
||||||
$sql .= " t.fk_code_type_resource,";
|
$sql .= " t.fk_code_type_resource,";
|
||||||
$sql .= " t.tms,";
|
$sql .= " t.tms,";
|
||||||
// Add fields from extrafields
|
// Add fields from extrafields
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user