Merge branch '11.0' of git@github.com:Dolibarr/dolibarr.git into develop
Conflicts: htdocs/compta/prelevement/list.php htdocs/compta/prelevement/rejets.php htdocs/fourn/commande/index.php
This commit is contained in:
commit
6c8d302dd9
77
ChangeLog
77
ChangeLog
@ -2,6 +2,83 @@
|
|||||||
English Dolibarr ChangeLog
|
English Dolibarr ChangeLog
|
||||||
--------------------------------------------------------------
|
--------------------------------------------------------------
|
||||||
|
|
||||||
|
***** ChangeLog for 11.0.4 compared to 11.0.3 *****
|
||||||
|
FIX: #13749
|
||||||
|
FIX: #7594 Expense report multi pagebreak
|
||||||
|
FIX: Access to undeclared static property: Contact::$table_element
|
||||||
|
FIX: actions on supplier proposal not saved (bad trigger name)
|
||||||
|
FIX: Add function "completeTabsHead" to "addreplace" type hook.
|
||||||
|
FIX: All forms must use newToken()
|
||||||
|
FIX: Another "Access to undeclared static property: Contact::$table_element" && "Societe::$table_element"
|
||||||
|
FIX: author search supplier proposal list
|
||||||
|
FIX: A variable was erased by a temporary variable
|
||||||
|
FIX: Avoid infinite loop when a fetch is inside a compute field.
|
||||||
|
FIX: Backto link
|
||||||
|
FIX: Bad position of total in column
|
||||||
|
FIX: bad value in currency into discount created from down payment
|
||||||
|
FIX: buyprice extrafield langfile and tooltip
|
||||||
|
FIX: Buyprice was updated only if min price for this qty had same qty
|
||||||
|
FIX: Can switch from double to price type for extrafields
|
||||||
|
FIX: Can use decimal value in virtual products
|
||||||
|
FIX: child categories only with good entity rights
|
||||||
|
FIX: cloning of emailing when no content selected
|
||||||
|
FIX: closing tags
|
||||||
|
FIX: Combo list of available users to filter on the list of leaves.
|
||||||
|
FIX: Compatibility with multicompany, bad numerotation of task.
|
||||||
|
FIX: consistency of price w/wo vat wrong when price entered with tax
|
||||||
|
FIX: default value of selectMasssAction broken
|
||||||
|
FIX: draftordered replenish virtual stock
|
||||||
|
FIX: Error update SQL into stock reception
|
||||||
|
FIX: expensereport status in generated pdf
|
||||||
|
FIX: extra date field incorrect check
|
||||||
|
FIX: Extrafields of type price must be '' and not '0' if not defined
|
||||||
|
FIX: Foreign currency lost when splitting a discount
|
||||||
|
FIX: get remain to pay with rounding decimals
|
||||||
|
FIX: gzip and bzip2 must use option -f
|
||||||
|
FIX: IHM, unexpected quote
|
||||||
|
FIX: keep viewstatut for doli 3.5
|
||||||
|
FIX: Link missing into email of some notification
|
||||||
|
FIX: Look and feel v11
|
||||||
|
FIX: md stylesheet to be included by external modules like eldy
|
||||||
|
FIX: missing array option
|
||||||
|
FIX: missing default accountancy product buy code
|
||||||
|
FIX: missing fk_bank during export of suppliers invoices
|
||||||
|
FIX: missing member entity
|
||||||
|
FIX: missing selectedlines on supplier order but checkbox are displayed
|
||||||
|
FIX: Missing token and take into account max date when it can.
|
||||||
|
FIX: model export list must be sorted by label
|
||||||
|
FIX: multicurrency manage on hidden conf SUPPLIER_PROPOSAL_UPDATE_PRICE_ON_SUPPlIER_PROPOSAL
|
||||||
|
FIX: Must escape shell
|
||||||
|
FIX: Must exclude logs and some dirs for compressed backup
|
||||||
|
FIX: ordered stock already in $stock
|
||||||
|
FIX: picture migration script from doli 9.0
|
||||||
|
FIX: print pictures on shipment docs
|
||||||
|
FIX: product get purchase prices
|
||||||
|
FIX: product purchase prices
|
||||||
|
FIX: Protection when database has a corrupted product id
|
||||||
|
FIX: remove unused var, $usercancreate can be change by Multicompany
|
||||||
|
FIX: replenish stock to buy
|
||||||
|
FIX: Sanitizing menu parameter
|
||||||
|
FIX: Send email from bulk action of list of thirdparties
|
||||||
|
FIX: setup of suggested payment mode on proposals and orders
|
||||||
|
FIX: Several pb in export of documents
|
||||||
|
FIX: Situation invoice take into account the credit notes.
|
||||||
|
FIX: some others modules (like subtotal) use other product_type than 0 or 1 AND must not be considered in this report
|
||||||
|
FIX: sort by default role makes no sense
|
||||||
|
FIX: sort on company on member list
|
||||||
|
FIX: TakePOS buying price
|
||||||
|
FIX: text version of html emailing (removed the body style)
|
||||||
|
FIX: The "test smtp connectivity" failed on page to setup mass emailing
|
||||||
|
FIX: Error logs an Orderline::delete error, but this is an Orderline::insert error
|
||||||
|
FIX: Translation of tooltips of extrafields
|
||||||
|
FIX: Use getNomURL instead of hard coded link. Fix limit.
|
||||||
|
FIX: Use of image into free text for PDF if DOL_DATA_DIR is outside of
|
||||||
|
FIX: viewstatut to search status
|
||||||
|
FIX: we must export company mail address on contact vcard only if contact email address is empty
|
||||||
|
FIX: when we filter a list on a view status, we want this filter to be on bookmark that we create
|
||||||
|
FIX: Wrong Sql on getListOfTowns api method
|
||||||
|
FIX: wrong user right's name to top menu "commercial"
|
||||||
|
FIX: XSS Vulnerability
|
||||||
|
|
||||||
***** ChangeLog for 12.0.0 compared to 11.0.0 *****
|
***** ChangeLog for 12.0.0 compared to 11.0.0 *****
|
||||||
For Users:
|
For Users:
|
||||||
|
|||||||
@ -19,7 +19,7 @@ use Term::ANSIColor;
|
|||||||
# Change this to defined target for option 98 and 99
|
# Change this to defined target for option 98 and 99
|
||||||
$PROJECT="dolibarr";
|
$PROJECT="dolibarr";
|
||||||
$PUBLISHSTABLE="eldy,dolibarr\@frs.sourceforge.net:/home/frs/project/dolibarr";
|
$PUBLISHSTABLE="eldy,dolibarr\@frs.sourceforge.net:/home/frs/project/dolibarr";
|
||||||
$PUBLISHBETARC="dolibarr\@vmprod1.dolibarr.org:/home/dolibarr/dolibarr.org/httpdocs/files";
|
$PUBLISHBETARC="dolibarr\@vmprod1.dolibarr.org:/home/dolibarr/asso.dolibarr.org/dolibarr_documents/website/www.dolibarr.org/files";
|
||||||
|
|
||||||
|
|
||||||
#@LISTETARGET=("TGZ","ZIP","RPM_GENERIC","RPM_FEDORA","RPM_MANDRIVA","RPM_OPENSUSE","DEB","EXEDOLIWAMP","SNAPSHOT"); # Possible packages
|
#@LISTETARGET=("TGZ","ZIP","RPM_GENERIC","RPM_FEDORA","RPM_MANDRIVA","RPM_OPENSUSE","DEB","EXEDOLIWAMP","SNAPSHOT"); # Possible packages
|
||||||
|
|||||||
@ -55,6 +55,7 @@ $search_ref = GETPOST('search_ref', 'alpha');
|
|||||||
$search_amount = GETPOST('search_amount', 'alpha');
|
$search_amount = GETPOST('search_amount', 'alpha');
|
||||||
|
|
||||||
$bon = new BonPrelevement($db, "");
|
$bon = new BonPrelevement($db, "");
|
||||||
|
$hookmanager->initHooks(array('withdrawalsreceiptslist'));
|
||||||
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
|||||||
@ -65,9 +65,12 @@ $search_company = GETPOST('search_company', 'alpha');
|
|||||||
$statut = GETPOST('statut', 'int');
|
$statut = GETPOST('statut', 'int');
|
||||||
|
|
||||||
$bon = new BonPrelevement($db, "");
|
$bon = new BonPrelevement($db, "");
|
||||||
$ligne = new LignePrelevement($db, $user);
|
$line = new LignePrelevement($db, $user);
|
||||||
$company = new Societe($db);
|
$company = new Societe($db);
|
||||||
|
|
||||||
|
$hookmanager->initHooks(array('withdrawalsreceiptslineslist'));
|
||||||
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Actions
|
* Actions
|
||||||
*/
|
*/
|
||||||
@ -194,7 +197,7 @@ if ($result)
|
|||||||
print '<tr class="oddeven">';
|
print '<tr class="oddeven">';
|
||||||
|
|
||||||
print '<td>';
|
print '<td>';
|
||||||
print $ligne->LibStatut($obj->statut_ligne, 2);
|
print $line->LibStatut($obj->statut_ligne, 2);
|
||||||
print " ";
|
print " ";
|
||||||
print '<a href="'.DOL_URL_ROOT.'/compta/prelevement/line.php?id='.$obj->rowid_ligne.'">';
|
print '<a href="'.DOL_URL_ROOT.'/compta/prelevement/line.php?id='.$obj->rowid_ligne.'">';
|
||||||
print substr('000000'.$obj->rowid_ligne, -6);
|
print substr('000000'.$obj->rowid_ligne, -6);
|
||||||
|
|||||||
@ -43,6 +43,7 @@ $limit = GETPOST('limit', 'int') ? GETPOST('limit', 'int') : $conf->liste_limit;
|
|||||||
$sortorder = GETPOST('sortorder', 'alpha');
|
$sortorder = GETPOST('sortorder', 'alpha');
|
||||||
$sortfield = GETPOST('sortfield', 'alpha');
|
$sortfield = GETPOST('sortfield', 'alpha');
|
||||||
$page = GETPOSTISSET('pageplusone') ? (GETPOST('pageplusone') - 1) : GETPOST("page", 'int');
|
$page = GETPOSTISSET('pageplusone') ? (GETPOST('pageplusone') - 1) : GETPOST("page", 'int');
|
||||||
|
if (empty($page) || $page == -1) { $page = 0; } // If $page is not defined, or '' or -1
|
||||||
$offset = $limit * $page;
|
$offset = $limit * $page;
|
||||||
$pageprev = $page - 1;
|
$pageprev = $page - 1;
|
||||||
$pagenext = $page + 1;
|
$pagenext = $page + 1;
|
||||||
@ -56,7 +57,10 @@ if ($sortorder == "") $sortorder = "DESC";
|
|||||||
if ($sortfield == "") $sortfield = "p.datec";
|
if ($sortfield == "") $sortfield = "p.datec";
|
||||||
|
|
||||||
$rej = new RejetPrelevement($db, $user);
|
$rej = new RejetPrelevement($db, $user);
|
||||||
$ligne = new LignePrelevement($db, $user);
|
$line = new LignePrelevement($db, $user);
|
||||||
|
|
||||||
|
$hookmanager->initHooks(array('withdrawalsreceiptsrejectedlist'));
|
||||||
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Liste des factures
|
* Liste des factures
|
||||||
@ -84,7 +88,7 @@ if ($result)
|
|||||||
|
|
||||||
print_barre_liste($langs->trans("WithdrawsRefused"), $page, $_SERVER["PHP_SELF"], $urladd, $sortfield, $sortorder, '', $num);
|
print_barre_liste($langs->trans("WithdrawsRefused"), $page, $_SERVER["PHP_SELF"], $urladd, $sortfield, $sortorder, '', $num);
|
||||||
print"\n<!-- debut table -->\n";
|
print"\n<!-- debut table -->\n";
|
||||||
print '<table class="noborder" width="100%" cellspacing="0" cellpadding="4">';
|
print '<table class="noborder tagtable liste" width="100%" cellspacing="0" cellpadding="4">';
|
||||||
print '<tr class="liste_titre">';
|
print '<tr class="liste_titre">';
|
||||||
print_liste_field_titre("Line", $_SERVER["PHP_SELF"], "p.ref", '', $urladd);
|
print_liste_field_titre("Line", $_SERVER["PHP_SELF"], "p.ref", '', $urladd);
|
||||||
print_liste_field_titre("ThirdParty", $_SERVER["PHP_SELF"], "s.nom", '', $urladd);
|
print_liste_field_titre("ThirdParty", $_SERVER["PHP_SELF"], "s.nom", '', $urladd);
|
||||||
@ -98,7 +102,7 @@ if ($result)
|
|||||||
$obj = $db->fetch_object($result);
|
$obj = $db->fetch_object($result);
|
||||||
|
|
||||||
print '<tr class="oddeven"><td>';
|
print '<tr class="oddeven"><td>';
|
||||||
print $ligne->LibStatut($obj->statut, 2).' ';
|
print $line->LibStatut($obj->statut, 2).' ';
|
||||||
print '<a href="'.DOL_URL_ROOT.'/compta/prelevement/line.php?id='.$obj->rowid.'">';
|
print '<a href="'.DOL_URL_ROOT.'/compta/prelevement/line.php?id='.$obj->rowid.'">';
|
||||||
|
|
||||||
print substr('000000'.$obj->rowid, -6)."</a></td>";
|
print substr('000000'.$obj->rowid, -6)."</a></td>";
|
||||||
|
|||||||
@ -1645,14 +1645,14 @@ class Form
|
|||||||
|
|
||||||
// phpcs:disable PEAR.NamingConventions.ValidFunctionName.ScopeNotCamelCaps
|
// phpcs:disable PEAR.NamingConventions.ValidFunctionName.ScopeNotCamelCaps
|
||||||
/**
|
/**
|
||||||
* Return select list of users
|
* Return the HTML select list of users
|
||||||
*
|
*
|
||||||
* @param string $selected Id user preselected
|
* @param string $selected Id user preselected
|
||||||
* @param string $htmlname Field name in form
|
* @param string $htmlname Field name in form
|
||||||
* @param int $show_empty 0=liste sans valeur nulle, 1=ajoute valeur inconnue
|
* @param int $show_empty 0=liste sans valeur nulle, 1=ajoute valeur inconnue
|
||||||
* @param array $exclude Array list of users id to exclude
|
* @param array $exclude Array list of users id to exclude
|
||||||
* @param int $disabled If select list must be disabled
|
* @param int $disabled If select list must be disabled
|
||||||
* @param array $include Array list of users id to include
|
* @param array|string $include Array list of users id to include. User '' for all users or 'hierarchy' to have only supervised users or 'hierarchyme' to have supervised + me
|
||||||
* @param int $enableonly Array list of users id to be enabled. All other must be disabled
|
* @param int $enableonly Array list of users id to be enabled. All other must be disabled
|
||||||
* @param string $force_entity '0' or Ids of environment to force
|
* @param string $force_entity '0' or Ids of environment to force
|
||||||
* @return void
|
* @return void
|
||||||
|
|||||||
@ -401,6 +401,9 @@ class Notify
|
|||||||
|
|
||||||
$sendto = dolGetFirstLastname($obj->firstname, $obj->lastname)." <".$obj->email.">";
|
$sendto = dolGetFirstLastname($obj->firstname, $obj->lastname)." <".$obj->email.">";
|
||||||
$notifcodedefid = $obj->adid;
|
$notifcodedefid = $obj->adid;
|
||||||
|
$trackid = '';
|
||||||
|
if ($obj->type_target == 'tocontactid') $trackid = 'con'.$obj->id;
|
||||||
|
if ($obj->type_target == 'touserid') $trackid = 'use'.$obj->id;
|
||||||
|
|
||||||
if (dol_strlen($obj->email))
|
if (dol_strlen($obj->email))
|
||||||
{
|
{
|
||||||
@ -417,100 +420,100 @@ class Notify
|
|||||||
|
|
||||||
switch ($notifcode) {
|
switch ($notifcode) {
|
||||||
case 'BILL_VALIDATE':
|
case 'BILL_VALIDATE':
|
||||||
$link = '/compta/facture/card.php?facid='.$object->id;
|
$link = '<a href="' . $urlwithroot . '/compta/facture/card.php?facid=' . $object->id . '">' . $newref . '</a>';
|
||||||
$dir_output = $conf->facture->dir_output;
|
$dir_output = $conf->facture->dir_output;
|
||||||
$object_type = 'facture';
|
$object_type = 'facture';
|
||||||
$mesg = $outputlangs->transnoentitiesnoconv("EMailTextInvoiceValidated", $newref);
|
$mesg = $outputlangs->transnoentitiesnoconv("EMailTextInvoiceValidated", $link);
|
||||||
break;
|
break;
|
||||||
case 'BILL_PAYED':
|
case 'BILL_PAYED':
|
||||||
$link = '/compta/facture/card.php?facid='.$object->id;
|
$link ='<a href="' . $urlwithroot . '/compta/facture/card.php?facid='.$object->id . '">' . $newref . '</a>';
|
||||||
$dir_output = $conf->facture->dir_output;
|
$dir_output = $conf->facture->dir_output;
|
||||||
$object_type = 'facture';
|
$object_type = 'facture';
|
||||||
$mesg = $outputlangs->transnoentitiesnoconv("EMailTextInvoicePayed", $newref);
|
$mesg = $outputlangs->transnoentitiesnoconv("EMailTextInvoicePayed", $link);
|
||||||
break;
|
break;
|
||||||
case 'ORDER_VALIDATE':
|
case 'ORDER_VALIDATE':
|
||||||
$link = '/commande/card.php?id='.$object->id;
|
$link = '<a href="' . $urlwithroot . '/commande/card.php?id='.$object->id . '">' . $newref . '</a>';
|
||||||
$dir_output = $conf->commande->dir_output;
|
$dir_output = $conf->commande->dir_output;
|
||||||
$object_type = 'order';
|
$object_type = 'order';
|
||||||
$mesg = $outputlangs->transnoentitiesnoconv("EMailTextOrderValidated", $newref);
|
$mesg = $outputlangs->transnoentitiesnoconv("EMailTextOrderValidated", $link);
|
||||||
break;
|
break;
|
||||||
case 'PROPAL_VALIDATE':
|
case 'PROPAL_VALIDATE':
|
||||||
$link = '/comm/propal/card.php?id='.$object->id;
|
$link = '<a href="' . $urlwithroot . '/comm/propal/card.php?id='.$object->id . '">' . $newref . '</a>';
|
||||||
$dir_output = $conf->propal->multidir_output[$object->entity];
|
$dir_output = $conf->propal->multidir_output[$object->entity];
|
||||||
$object_type = 'propal';
|
$object_type = 'propal';
|
||||||
$mesg = $outputlangs->transnoentitiesnoconv("EMailTextProposalValidated", $newref);
|
$mesg = $outputlangs->transnoentitiesnoconv("EMailTextProposalValidated", $link);
|
||||||
break;
|
break;
|
||||||
case 'PROPAL_CLOSE_SIGNED':
|
case 'PROPAL_CLOSE_SIGNED':
|
||||||
$link = '/comm/propal/card.php?id='.$object->id;
|
$link = '<a href="' . $urlwithroot . '/comm/propal/card.php?id='.$object->id . '">' . $newref . '</a>';
|
||||||
$dir_output = $conf->propal->multidir_output[$object->entity];
|
$dir_output = $conf->propal->multidir_output[$object->entity];
|
||||||
$object_type = 'propal';
|
$object_type = 'propal';
|
||||||
$mesg = $outputlangs->transnoentitiesnoconv("EMailTextProposalClosedSigned", $newref);
|
$mesg = $outputlangs->transnoentitiesnoconv("EMailTextProposalClosedSigned", $link);
|
||||||
break;
|
break;
|
||||||
case 'FICHINTER_ADD_CONTACT':
|
case 'FICHINTER_ADD_CONTACT':
|
||||||
$link = '/fichinter/card.php?id='.$object->id;
|
$link = '<a href="'.$urlwithroot.'/fichinter/card.php?id='.$object->id.'">'.$newref.'</a>';
|
||||||
$dir_output = $conf->ficheinter->dir_output;
|
$dir_output = $conf->ficheinter->dir_output;
|
||||||
$object_type = 'ficheinter';
|
$object_type = 'ficheinter';
|
||||||
$mesg = $outputlangs->transnoentitiesnoconv("EMailTextInterventionAddedContact", $newref);
|
$mesg = $outputlangs->transnoentitiesnoconv("EMailTextInterventionAddedContact", $link);
|
||||||
break;
|
break;
|
||||||
case 'FICHINTER_VALIDATE':
|
case 'FICHINTER_VALIDATE':
|
||||||
$link = '/fichinter/card.php?id='.$object->id;
|
$link = '<a href="'.$urlwithroot.'/fichinter/card.php?id='.$object->id.'">'.$newref.'</a>';
|
||||||
$dir_output = $conf->ficheinter->dir_output;
|
$dir_output = $conf->ficheinter->dir_output;
|
||||||
$object_type = 'ficheinter';
|
$object_type = 'ficheinter';
|
||||||
$mesg = $outputlangs->transnoentitiesnoconv("EMailTextInterventionValidated", $newref);
|
$mesg = $outputlangs->transnoentitiesnoconv("EMailTextInterventionValidated", $link);
|
||||||
break;
|
break;
|
||||||
case 'ORDER_SUPPLIER_VALIDATE':
|
case 'ORDER_SUPPLIER_VALIDATE':
|
||||||
$link = '/fourn/commande/card.php?id='.$object->id;
|
$link = '<a href="'.$urlwithroot.'/fourn/commande/card.php?id='.$object->id.'">'.$newref.'</a>';
|
||||||
$dir_output = $conf->fournisseur->commande->dir_output;
|
$dir_output = $conf->fournisseur->commande->dir_output;
|
||||||
$object_type = 'order_supplier';
|
$object_type = 'order_supplier';
|
||||||
$mesg = $outputlangs->transnoentitiesnoconv("Hello").",\n\n";
|
$mesg = $outputlangs->transnoentitiesnoconv("Hello").",\n\n";
|
||||||
$mesg .= $outputlangs->transnoentitiesnoconv("EMailTextOrderValidatedBy", $newref, $user->getFullName($outputlangs));
|
$mesg .= $outputlangs->transnoentitiesnoconv("EMailTextOrderValidatedBy", $link, $user->getFullName($outputlangs));
|
||||||
$mesg .= "\n\n".$outputlangs->transnoentitiesnoconv("Sincerely").".\n\n";
|
$mesg .= "\n\n".$outputlangs->transnoentitiesnoconv("Sincerely").".\n\n";
|
||||||
break;
|
break;
|
||||||
case 'ORDER_SUPPLIER_APPROVE':
|
case 'ORDER_SUPPLIER_APPROVE':
|
||||||
$link = '/fourn/commande/card.php?id='.$object->id;
|
$link = '<a href="'.$urlwithroot.'/fourn/commande/card.php?id='.$object->id.'">'.$newref.'</a>';
|
||||||
$dir_output = $conf->fournisseur->commande->dir_output;
|
$dir_output = $conf->fournisseur->commande->dir_output;
|
||||||
$object_type = 'order_supplier';
|
$object_type = 'order_supplier';
|
||||||
$mesg = $outputlangs->transnoentitiesnoconv("Hello").",\n\n";
|
$mesg = $outputlangs->transnoentitiesnoconv("Hello").",\n\n";
|
||||||
$mesg .= $outputlangs->transnoentitiesnoconv("EMailTextOrderApprovedBy", $newref, $user->getFullName($outputlangs));
|
$mesg .= $outputlangs->transnoentitiesnoconv("EMailTextOrderApprovedBy", $link, $user->getFullName($outputlangs));
|
||||||
$mesg .= "\n\n".$outputlangs->transnoentitiesnoconv("Sincerely").".\n\n";
|
$mesg .= "\n\n".$outputlangs->transnoentitiesnoconv("Sincerely").".\n\n";
|
||||||
break;
|
break;
|
||||||
case 'ORDER_SUPPLIER_REFUSE':
|
case 'ORDER_SUPPLIER_REFUSE':
|
||||||
$link = '/fourn/commande/card.php?id='.$object->id;
|
$link = '<a href="' . $urlwithroot . '/fourn/commande/card.php?id='.$object->id . '">' . $newref . '</a>';
|
||||||
$dir_output = $conf->fournisseur->commande->dir_output;
|
$dir_output = $conf->fournisseur->commande->dir_output;
|
||||||
$object_type = 'order_supplier';
|
$object_type = 'order_supplier';
|
||||||
$mesg = $outputlangs->transnoentitiesnoconv("Hello").",\n\n";
|
$mesg = $outputlangs->transnoentitiesnoconv("Hello").",\n\n";
|
||||||
$mesg .= $outputlangs->transnoentitiesnoconv("EMailTextOrderRefusedBy", $newref, $user->getFullName($outputlangs));
|
$mesg .= $outputlangs->transnoentitiesnoconv("EMailTextOrderRefusedBy", $link, $user->getFullName($outputlangs));
|
||||||
$mesg .= "\n\n".$outputlangs->transnoentitiesnoconv("Sincerely").".\n\n";
|
$mesg .= "\n\n".$outputlangs->transnoentitiesnoconv("Sincerely").".\n\n";
|
||||||
break;
|
break;
|
||||||
case 'SHIPPING_VALIDATE':
|
case 'SHIPPING_VALIDATE':
|
||||||
$link = '<a href="'.$urlwithroot.'/expedition/card.php?id='.$object->id.'">'.$newref.'</a>';
|
$link = '<a href="'.$urlwithroot.'/expedition/card.php?id='.$object->id.'">'.$newref.'</a>';
|
||||||
$dir_output = $conf->expedition->dir_output.'/sending/';
|
$dir_output = $conf->expedition->dir_output.'/sending/';
|
||||||
$object_type = 'expedition';
|
$object_type = 'expedition';
|
||||||
$mesg = $outputlangs->transnoentitiesnoconv("EMailTextExpeditionValidated", $newref);
|
$mesg = $outputlangs->transnoentitiesnoconv("EMailTextExpeditionValidated", $link);
|
||||||
break;
|
break;
|
||||||
case 'EXPENSE_REPORT_VALIDATE':
|
case 'EXPENSE_REPORT_VALIDATE':
|
||||||
$link = '<a href="'.$urlwithroot.'/expensereport/card.php?id='.$object->id.'">'.$newref.'</a>';
|
$link = '<a href="'.$urlwithroot.'/expensereport/card.php?id='.$object->id.'">'.$newref.'</a>';
|
||||||
$dir_output = $conf->expensereport->dir_output;
|
$dir_output = $conf->expensereport->dir_output;
|
||||||
$object_type = 'expensereport';
|
$object_type = 'expensereport';
|
||||||
$mesg = $outputlangs->transnoentitiesnoconv("EMailTextExpenseReportValidated", $newref);
|
$mesg = $outputlangs->transnoentitiesnoconv("EMailTextExpenseReportValidated", $link);
|
||||||
break;
|
break;
|
||||||
case 'EXPENSE_REPORT_APPROVE':
|
case 'EXPENSE_REPORT_APPROVE':
|
||||||
$link = '<a href="'.$urlwithroot.'/expensereport/card.php?id='.$object->id.'">'.$newref.'</a>';
|
$link = '<a href="'.$urlwithroot.'/expensereport/card.php?id='.$object->id.'">'.$newref.'</a>';
|
||||||
$dir_output = $conf->expensereport->dir_output;
|
$dir_output = $conf->expensereport->dir_output;
|
||||||
$object_type = 'expensereport';
|
$object_type = 'expensereport';
|
||||||
$mesg = $outputlangs->transnoentitiesnoconv("EMailTextExpenseReportApproved", $newref);
|
$mesg = $outputlangs->transnoentitiesnoconv("EMailTextExpenseReportApproved", $link);
|
||||||
break;
|
break;
|
||||||
case 'HOLIDAY_VALIDATE':
|
case 'HOLIDAY_VALIDATE':
|
||||||
$link = '<a href="'.$urlwithroot.'/holiday/card.php?id='.$object->id.'">'.$newref.'</a>';
|
$link = '<a href="'.$urlwithroot.'/holiday/card.php?id='.$object->id.'">'.$newref.'</a>';
|
||||||
$dir_output = $conf->holiday->dir_output;
|
$dir_output = $conf->holiday->dir_output;
|
||||||
$object_type = 'holiday';
|
$object_type = 'holiday';
|
||||||
$mesg = $outputlangs->transnoentitiesnoconv("EMailTextHolidayValidated", $newref);
|
$mesg = $outputlangs->transnoentitiesnoconv("EMailTextHolidayValidated", $link);
|
||||||
break;
|
break;
|
||||||
case 'HOLIDAY_APPROVE':
|
case 'HOLIDAY_APPROVE':
|
||||||
$link = '<a href="'.$urlwithroot.'/holiday/card.php?id='.$object->id.'">'.$newref.'</a>';
|
$link = '<a href="'.$urlwithroot.'/holiday/card.php?id='.$object->id.'">'.$newref.'</a>';
|
||||||
$dir_output = $conf->holiday->dir_output;
|
$dir_output = $conf->holiday->dir_output;
|
||||||
$object_type = 'holiday';
|
$object_type = 'holiday';
|
||||||
$mesg = $outputlangs->transnoentitiesnoconv("EMailTextHolidayApproved", $newref);
|
$mesg = $outputlangs->transnoentitiesnoconv("EMailTextHolidayApproved", $link);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
$ref = dol_sanitizeFileName($newref);
|
$ref = dol_sanitizeFileName($newref);
|
||||||
@ -529,7 +532,6 @@ class Notify
|
|||||||
$message .= $outputlangs->transnoentities("YouReceiveMailBecauseOfNotification2", $application, $mysoc->name)."\n";
|
$message .= $outputlangs->transnoentities("YouReceiveMailBecauseOfNotification2", $application, $mysoc->name)."\n";
|
||||||
$message .= "\n";
|
$message .= "\n";
|
||||||
$message .= $mesg;
|
$message .= $mesg;
|
||||||
if ($link) $message .= "\n".$urlwithroot.$link;
|
|
||||||
|
|
||||||
$parameters = array('notifcode'=>$notifcode, 'sendto'=>$sendto, 'replyto'=>$replyto, 'file'=>$filename_list, 'mimefile'=>$mimetype_list, 'filename'=>$mimefilename_list);
|
$parameters = array('notifcode'=>$notifcode, 'sendto'=>$sendto, 'replyto'=>$replyto, 'file'=>$filename_list, 'mimefile'=>$mimetype_list, 'filename'=>$mimefilename_list);
|
||||||
if (!isset($action)) $action = '';
|
if (!isset($action)) $action = '';
|
||||||
@ -555,7 +557,7 @@ class Notify
|
|||||||
-1,
|
-1,
|
||||||
'',
|
'',
|
||||||
'',
|
'',
|
||||||
'',
|
$trackid,
|
||||||
'',
|
'',
|
||||||
'notification'
|
'notification'
|
||||||
);
|
);
|
||||||
@ -606,6 +608,7 @@ class Notify
|
|||||||
{
|
{
|
||||||
foreach ($conf->global as $key => $val)
|
foreach ($conf->global as $key => $val)
|
||||||
{
|
{
|
||||||
|
$reg = array();
|
||||||
if ($val == '' || !preg_match('/^NOTIFICATION_FIXEDEMAIL_'.$notifcode.'_THRESHOLD_HIGHER_(.*)$/', $key, $reg)) continue;
|
if ($val == '' || !preg_match('/^NOTIFICATION_FIXEDEMAIL_'.$notifcode.'_THRESHOLD_HIGHER_(.*)$/', $key, $reg)) continue;
|
||||||
|
|
||||||
$threshold = (float) $reg[1];
|
$threshold = (float) $reg[1];
|
||||||
@ -620,6 +623,7 @@ class Notify
|
|||||||
$sendto = $conf->global->$param;
|
$sendto = $conf->global->$param;
|
||||||
$notifcodedefid = dol_getIdFromCode($this->db, $notifcode, 'c_action_trigger', 'code', 'rowid');
|
$notifcodedefid = dol_getIdFromCode($this->db, $notifcode, 'c_action_trigger', 'code', 'rowid');
|
||||||
if ($notifcodedefid <= 0) dol_print_error($this->db, 'Failed to get id from code');
|
if ($notifcodedefid <= 0) dol_print_error($this->db, 'Failed to get id from code');
|
||||||
|
$trackid = '';
|
||||||
|
|
||||||
$object_type = '';
|
$object_type = '';
|
||||||
$link = '';
|
$link = '';
|
||||||
@ -660,7 +664,7 @@ class Notify
|
|||||||
break;
|
break;
|
||||||
case 'FICHINTER_ADD_CONTACT':
|
case 'FICHINTER_ADD_CONTACT':
|
||||||
$link = '<a href="'.$urlwithroot.'/fichinter/card.php?id='.$object->id.'">'.$newref.'</a>';
|
$link = '<a href="'.$urlwithroot.'/fichinter/card.php?id='.$object->id.'">'.$newref.'</a>';
|
||||||
$dir_output = $conf->facture->dir_output;
|
$dir_output = $conf->ficheinter->dir_output;
|
||||||
$object_type = 'ficheinter';
|
$object_type = 'ficheinter';
|
||||||
$mesg = $langs->transnoentitiesnoconv("EMailTextInterventionAddedContact", $link);
|
$mesg = $langs->transnoentitiesnoconv("EMailTextInterventionAddedContact", $link);
|
||||||
break;
|
break;
|
||||||
@ -706,31 +710,31 @@ class Notify
|
|||||||
$link = '<a href="'.$urlwithroot.'/expedition/card.php?id='.$object->id.'">'.$newref.'</a>';
|
$link = '<a href="'.$urlwithroot.'/expedition/card.php?id='.$object->id.'">'.$newref.'</a>';
|
||||||
$dir_output = $conf->expedition->dir_output.'/sending/';
|
$dir_output = $conf->expedition->dir_output.'/sending/';
|
||||||
$object_type = 'order_supplier';
|
$object_type = 'order_supplier';
|
||||||
$mesg = $langs->transnoentitiesnoconv("EMailTextExpeditionValidated", $newref);
|
$mesg = $langs->transnoentitiesnoconv("EMailTextExpeditionValidated", $link);
|
||||||
break;
|
break;
|
||||||
case 'EXPENSE_REPORT_VALIDATE':
|
case 'EXPENSE_REPORT_VALIDATE':
|
||||||
$link = '<a href="'.$urlwithroot.'/expensereport/card.php?id='.$object->id.'">'.$newref.'</a>';
|
$link = '<a href="'.$urlwithroot.'/expensereport/card.php?id='.$object->id.'">'.$newref.'</a>';
|
||||||
$dir_output = $conf->expensereport->dir_output;
|
$dir_output = $conf->expensereport->dir_output;
|
||||||
$object_type = 'expensereport';
|
$object_type = 'expensereport';
|
||||||
$mesg = $langs->transnoentitiesnoconv("EMailTextExpenseReportValidated", $newref);
|
$mesg = $langs->transnoentitiesnoconv("EMailTextExpenseReportValidated", $link);
|
||||||
break;
|
break;
|
||||||
case 'EXPENSE_REPORT_APPROVE':
|
case 'EXPENSE_REPORT_APPROVE':
|
||||||
$link = '<a href="'.$urlwithroot.'/expensereport/card.php?id='.$object->id.'">'.$newref.'</a>';
|
$link = '<a href="'.$urlwithroot.'/expensereport/card.php?id='.$object->id.'">'.$newref.'</a>';
|
||||||
$dir_output = $conf->expensereport->dir_output;
|
$dir_output = $conf->expensereport->dir_output;
|
||||||
$object_type = 'expensereport';
|
$object_type = 'expensereport';
|
||||||
$mesg = $langs->transnoentitiesnoconv("EMailTextExpenseReportApproved", $newref);
|
$mesg = $langs->transnoentitiesnoconv("EMailTextExpenseReportApproved", $link);
|
||||||
break;
|
break;
|
||||||
case 'HOLIDAY_VALIDATE':
|
case 'HOLIDAY_VALIDATE':
|
||||||
$link = '<a href="'.$urlwithroot.'/holiday/card.php?id='.$object->id.'">'.$newref.'</a>';
|
$link = '<a href="'.$urlwithroot.'/holiday/card.php?id='.$object->id.'">'.$newref.'</a>';
|
||||||
$dir_output = $conf->holiday->dir_output;
|
$dir_output = $conf->holiday->dir_output;
|
||||||
$object_type = 'holiday';
|
$object_type = 'holiday';
|
||||||
$mesg = $langs->transnoentitiesnoconv("EMailTextHolidayValidated", $newref);
|
$mesg = $langs->transnoentitiesnoconv("EMailTextHolidayValidated", $link);
|
||||||
break;
|
break;
|
||||||
case 'HOLIDAY_APPROVE':
|
case 'HOLIDAY_APPROVE':
|
||||||
$link = '<a href="'.$urlwithroot.'/holiday/card.php?id='.$object->id.'">'.$newref.'</a>';
|
$link = '<a href="'.$urlwithroot.'/holiday/card.php?id='.$object->id.'">'.$newref.'</a>';
|
||||||
$dir_output = $conf->holiday->dir_output;
|
$dir_output = $conf->holiday->dir_output;
|
||||||
$object_type = 'holiday';
|
$object_type = 'holiday';
|
||||||
$mesg = $langs->transnoentitiesnoconv("EMailTextHolidayApproved", $newref);
|
$mesg = $langs->transnoentitiesnoconv("EMailTextHolidayApproved", $link);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
$ref = dol_sanitizeFileName($newref);
|
$ref = dol_sanitizeFileName($newref);
|
||||||
@ -745,11 +749,9 @@ class Notify
|
|||||||
$filepdf = $pdf_path;
|
$filepdf = $pdf_path;
|
||||||
}
|
}
|
||||||
|
|
||||||
$message = $langs->transnoentities("YouReceiveMailBecauseOfNotification", $application, $mysoc->name)."\n";
|
|
||||||
$message .= $langs->transnoentities("YouReceiveMailBecauseOfNotification2", $application, $mysoc->name)."\n";
|
$message .= $langs->transnoentities("YouReceiveMailBecauseOfNotification2", $application, $mysoc->name)."\n";
|
||||||
$message .= "\n";
|
$message .= "\n";
|
||||||
$message .= $mesg;
|
$message .= $mesg;
|
||||||
//if ($link) $message.= "\n" . $urlwithroot . $link; // link already added around the ref into the text
|
|
||||||
|
|
||||||
$message = nl2br($message);
|
$message = nl2br($message);
|
||||||
|
|
||||||
@ -792,7 +794,7 @@ class Notify
|
|||||||
0,
|
0,
|
||||||
1,
|
1,
|
||||||
'',
|
'',
|
||||||
'',
|
$trackid,
|
||||||
'',
|
'',
|
||||||
'',
|
'',
|
||||||
'notification'
|
'notification'
|
||||||
|
|||||||
@ -227,19 +227,21 @@ function print_eldy_menu($db, $atarget, $type_user, &$tabMenu, &$menu, $noout =
|
|||||||
$tmpentry = array(
|
$tmpentry = array(
|
||||||
'enabled'=>(!empty($conf->propal->enabled) ||
|
'enabled'=>(!empty($conf->propal->enabled) ||
|
||||||
!empty($conf->commande->enabled) ||
|
!empty($conf->commande->enabled) ||
|
||||||
!empty($conf->supplier_order->enabled) ||
|
!empty($conf->fournisseur->enabled) ||
|
||||||
!empty($conf->supplier_proposal->enabled) ||
|
!empty($conf->supplier_proposal->enabled) ||
|
||||||
|
!empty($conf->supplier_order->enabled) ||
|
||||||
!empty($conf->contrat->enabled) ||
|
!empty($conf->contrat->enabled) ||
|
||||||
!empty($conf->ficheinter->enabled)
|
!empty($conf->ficheinter->enabled)
|
||||||
) ? 1 : 0,
|
) ? 1 : 0,
|
||||||
'perms'=>(!empty($user->rights->propal->lire) ||
|
'perms'=>(!empty($user->rights->propal->lire) ||
|
||||||
!empty($user->rights->commande->lire) ||
|
!empty($user->rights->commande->lire) ||
|
||||||
!empty($user->rights->supplier_order->lire) ||
|
!empty($user->rights->fournisseur->lire) ||
|
||||||
!empty($user->rights->supplier_proposal->lire) ||
|
!empty($user->rights->supplier_proposal->lire) ||
|
||||||
|
!empty($user->rights->supplier_order->lire) ||
|
||||||
!empty($user->rights->contrat->lire) ||
|
!empty($user->rights->contrat->lire) ||
|
||||||
!empty($user->rights->ficheinter->lire)
|
!empty($user->rights->ficheinter->lire)
|
||||||
),
|
),
|
||||||
'module'=>'propal|commande|supplier_order|supplier_proposal|contrat|ficheinter'
|
'module'=>'propal|commande|supplier_proposal|supplier_order|contrat|ficheinter'
|
||||||
);
|
);
|
||||||
|
|
||||||
$onlysupplierorder = !empty($user->rights->fournisseur->commande->lire) &&
|
$onlysupplierorder = !empty($user->rights->fournisseur->commande->lire) &&
|
||||||
|
|||||||
@ -813,7 +813,7 @@ if (!empty($usemargins) && $user->rights->margins->creer)
|
|||||||
jQuery("#prod_entry_mode_free").prop('checked',true).change();
|
jQuery("#prod_entry_mode_free").prop('checked',true).change();
|
||||||
jQuery("#prod_entry_mode_predef").prop('checked',false).change();
|
jQuery("#prod_entry_mode_predef").prop('checked',false).change();
|
||||||
jQuery("#search_idprod, #idprod, #search_idprodfournprice, #buying_price").val('');
|
jQuery("#search_idprod, #idprod, #search_idprodfournprice, #buying_price").val('');
|
||||||
jQuery("#price_ht, #multicurrency_price_ht, #price_ttc, #price_ttc, #fourn_ref, #tva_tx, #buying_price, #title_vat, #title_up_ht, #title_up_ht_currency, #title_up_ttc, #title_up_ttc_currency").show();
|
jQuery("#price_ht, #multicurrency_price_ht, #price_ttc, #price_ttc, #fourn_ref, #tva_tx, #buying_price, #title_fourn_ref, #title_vat, #title_up_ht, #title_up_ht_currency, #title_up_ttc, #title_up_ttc_currency").show();
|
||||||
jQuery("#np_marginRate, #np_markRate, .np_marginRate, .np_markRate, #units, #title_units").show();
|
jQuery("#np_marginRate, #np_markRate, .np_marginRate, .np_markRate, #units, #title_units").show();
|
||||||
jQuery("#fournprice_predef").hide();
|
jQuery("#fournprice_predef").hide();
|
||||||
}
|
}
|
||||||
@ -825,11 +825,13 @@ if (!empty($usemargins) && $user->rights->margins->creer)
|
|||||||
<?php if (empty($conf->global->MAIN_DISABLE_EDIT_PREDEF_PRICEHT)) { ?>
|
<?php if (empty($conf->global->MAIN_DISABLE_EDIT_PREDEF_PRICEHT)) { ?>
|
||||||
jQuery("#price_ht").val('').show();
|
jQuery("#price_ht").val('').show();
|
||||||
jQuery("#multicurrency_price_ht").val('').show();
|
jQuery("#multicurrency_price_ht").val('').show();
|
||||||
|
jQuery("#title_up_ht, #title_up_ht_currency").show();
|
||||||
<?php } else { ?>
|
<?php } else { ?>
|
||||||
jQuery("#price_ht").val('').hide();
|
jQuery("#price_ht").val('').hide();
|
||||||
jQuery("#multicurrency_price_ht").val('').hide();
|
jQuery("#multicurrency_price_ht").val('').hide();
|
||||||
|
jQuery("#title_up_ht, #title_up_ht_currency").hide();
|
||||||
<?php } ?>
|
<?php } ?>
|
||||||
jQuery("#price_ttc, #fourn_ref, #tva_tx, #title_vat, #title_up_ht_currency, #title_up_ttc, #title_up_ttc_currency").hide();
|
jQuery("#price_ttc, #fourn_ref, #tva_tx, #title_fourn_ref, #title_vat, #title_up_ttc, #title_up_ttc_currency").hide();
|
||||||
jQuery("#np_marginRate, #np_markRate, .np_marginRate, .np_markRate, #units, #title_units").hide();
|
jQuery("#np_marginRate, #np_markRate, .np_marginRate, .np_markRate, #units, #title_units").hide();
|
||||||
jQuery("#buying_price").show();
|
jQuery("#buying_price").show();
|
||||||
jQuery('#trlinefordates, .divlinefordates').show();
|
jQuery('#trlinefordates, .divlinefordates').show();
|
||||||
|
|||||||
@ -1,6 +1,6 @@
|
|||||||
<?php
|
<?php
|
||||||
/* Copyright (C) 2011 Dimitri Mouillard <dmouillard@teclib.com>
|
/* Copyright (C) 2011 Dimitri Mouillard <dmouillard@teclib.com>
|
||||||
* Copyright (C) 2013-2018 Laurent Destailleur <eldy@users.sourceforge.net>
|
* Copyright (C) 2013-2020 Laurent Destailleur <eldy@users.sourceforge.net>
|
||||||
* Copyright (C) 2012-2016 Regis Houssin <regis.houssin@inodbox.com>
|
* Copyright (C) 2012-2016 Regis Houssin <regis.houssin@inodbox.com>
|
||||||
* Copyright (C) 2018 Charlene Benke <charlie@patas-monkey.com>
|
* Copyright (C) 2018 Charlene Benke <charlie@patas-monkey.com>
|
||||||
* Copyright (C) 2019 Frédéric France <frederic.france@netlogic.fr>
|
* Copyright (C) 2019 Frédéric France <frederic.france@netlogic.fr>
|
||||||
@ -475,7 +475,7 @@ if ($resql)
|
|||||||
|
|
||||||
|
|
||||||
$include = '';
|
$include = '';
|
||||||
if (!empty($user->rights->holiday->read_all)) $include = 'hierarchyme'; // Can see all
|
if (empty($user->rights->holiday->read_all)) $include = 'hierarchyme'; // Can see only its hierarchyl
|
||||||
|
|
||||||
print '<div class="div-table-responsive">';
|
print '<div class="div-table-responsive">';
|
||||||
print '<table class="tagtable liste'.($moreforfilter ? " listwithfilterbefore" : "").'">'."\n";
|
print '<table class="tagtable liste'.($moreforfilter ? " listwithfilterbefore" : "").'">'."\n";
|
||||||
@ -487,7 +487,7 @@ if ($resql)
|
|||||||
if (!empty($arrayfields['cp.ref']['checked']))
|
if (!empty($arrayfields['cp.ref']['checked']))
|
||||||
{
|
{
|
||||||
print '<td class="liste_titre">';
|
print '<td class="liste_titre">';
|
||||||
print '<input class="flat" size="4" type="text" name="search_ref" value="'.dol_escape_htmltag($search_ref).'">';
|
print '<input class="flat maxwidth50" type="text" name="search_ref" value="'.dol_escape_htmltag($search_ref).'">';
|
||||||
print '</td>';
|
print '</td>';
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user