Merge branch 'develop' of git@github.com:Dolibarr/dolibarr.git into develop
This commit is contained in:
commit
cd9acd02a1
@ -2,6 +2,8 @@
|
|||||||
|
|
||||||

|

|
||||||

|

|
||||||
|
[](https://php.net/)
|
||||||
|
[](https://github.com/Dolibarr/dolibarr)
|
||||||
|
|
||||||
Dolibarr ERP & CRM is a modern software package that helps manage your organization's activity (contacts, suppliers, invoices, orders, stocks, agenda…).
|
Dolibarr ERP & CRM is a modern software package that helps manage your organization's activity (contacts, suppliers, invoices, orders, stocks, agenda…).
|
||||||
|
|
||||||
|
|||||||
@ -639,10 +639,11 @@ if ($object->id > 0)
|
|||||||
if (!empty($conf->facture->enabled) && $user->rights->facture->lire)
|
if (!empty($conf->facture->enabled) && $user->rights->facture->lire)
|
||||||
{
|
{
|
||||||
// Box factures
|
// Box factures
|
||||||
$tmp = $object->getOutstandingBills();
|
$tmp = $object->getOutstandingBills('customer', 0);
|
||||||
$outstandingOpened = $tmp['opened'];
|
$outstandingOpened = $tmp['opened'];
|
||||||
$outstandingTotal = $tmp['total_ht'];
|
$outstandingTotal = $tmp['total_ht'];
|
||||||
$outstandingTotalIncTax = $tmp['total_ttc'];
|
$outstandingTotalIncTax = $tmp['total_ttc'];
|
||||||
|
|
||||||
$text = $langs->trans("OverAllInvoices");
|
$text = $langs->trans("OverAllInvoices");
|
||||||
$link = DOL_URL_ROOT.'/compta/facture/list.php?socid='.$object->id;
|
$link = DOL_URL_ROOT.'/compta/facture/list.php?socid='.$object->id;
|
||||||
$icon = 'bill';
|
$icon = 'bill';
|
||||||
@ -668,6 +669,24 @@ if ($object->id > 0)
|
|||||||
$boxstat .= '<span class="boxstatsindicator'.($outstandingOpened > 0 ? ' amountremaintopay' : '').'">'.price($outstandingOpened, 1, $langs, 1, -1, -1, $conf->currency).$warn.'</span>';
|
$boxstat .= '<span class="boxstatsindicator'.($outstandingOpened > 0 ? ' amountremaintopay' : '').'">'.price($outstandingOpened, 1, $langs, 1, -1, -1, $conf->currency).$warn.'</span>';
|
||||||
$boxstat .= '</div>';
|
$boxstat .= '</div>';
|
||||||
if ($link) $boxstat .= '</a>';
|
if ($link) $boxstat .= '</a>';
|
||||||
|
|
||||||
|
$tmp = $object->getOutstandingBills('customer', 1);
|
||||||
|
$outstandingOpenedLate = $tmp['opened'];
|
||||||
|
if ($outstandingOpened != $outstandingOpenedLate && !empty($outstandingOpenedLate)) {
|
||||||
|
$warn = '';
|
||||||
|
if ($object->outstanding_limit != '' && $object->outstanding_limit < $outstandingOpenedLate) {
|
||||||
|
$warn = ' ' . img_warning($langs->trans("OutstandingBillReached"));
|
||||||
|
}
|
||||||
|
$text = $langs->trans("CurrentOutstandingBillLate");
|
||||||
|
$link = DOL_URL_ROOT . '/compta/recap-compta.php?socid=' . $object->id;
|
||||||
|
$icon = 'bill';
|
||||||
|
if ($link) $boxstat .= '<a href="' . $link . '" class="boxstatsindicator thumbstat nobold nounderline">';
|
||||||
|
$boxstat .= '<div class="boxstats" title="' . dol_escape_htmltag($text) . '">';
|
||||||
|
$boxstat .= '<span class="boxstatstext">' . img_object("", $icon) . ' <span>' . $text . '</span></span><br>';
|
||||||
|
$boxstat .= '<span class="boxstatsindicator' . ($outstandingOpenedLate > 0 ? ' amountremaintopay' : '') . '">'.price($outstandingOpenedLate, 1, $langs, 1, -1, -1, $conf->currency) . $warn . '</span>';
|
||||||
|
$boxstat .= '</div>';
|
||||||
|
if ($link) $boxstat .= '</a>';
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
$parameters = array();
|
$parameters = array();
|
||||||
|
|||||||
@ -135,7 +135,7 @@ if (empty($reshook))
|
|||||||
$from = $object->email_from;
|
$from = $object->email_from;
|
||||||
$replyto = $object->email_replyto;
|
$replyto = $object->email_replyto;
|
||||||
$errorsto = $object->email_errorsto;
|
$errorsto = $object->email_errorsto;
|
||||||
// Le message est-il en html
|
// Is the message in html
|
||||||
$msgishtml = -1; // Unknown by default
|
$msgishtml = -1; // Unknown by default
|
||||||
if (preg_match('/[\s\t]*<html>/i', $message)) $msgishtml = 1;
|
if (preg_match('/[\s\t]*<html>/i', $message)) $msgishtml = 1;
|
||||||
|
|
||||||
@ -144,8 +144,8 @@ if (empty($reshook))
|
|||||||
|
|
||||||
$nbok = 0; $nbko = 0;
|
$nbok = 0; $nbko = 0;
|
||||||
|
|
||||||
// On choisit les mails non deja envoyes pour ce mailing (statut=0)
|
// We choose mails not already sent for this mailing (statut=0)
|
||||||
// ou envoyes en erreur (statut=-1)
|
// or sent in error (statut=-1)
|
||||||
$sql = "SELECT mc.rowid, mc.fk_mailing, mc.lastname, mc.firstname, mc.email, mc.other, mc.source_url, mc.source_id, mc.source_type, mc.tag";
|
$sql = "SELECT mc.rowid, mc.fk_mailing, mc.lastname, mc.firstname, mc.email, mc.other, mc.source_url, mc.source_id, mc.source_type, mc.tag";
|
||||||
$sql .= " FROM ".MAIN_DB_PREFIX."mailing_cibles as mc";
|
$sql .= " FROM ".MAIN_DB_PREFIX."mailing_cibles as mc";
|
||||||
$sql .= " WHERE mc.statut < 1 AND mc.fk_mailing = ".$object->id;
|
$sql .= " WHERE mc.statut < 1 AND mc.fk_mailing = ".$object->id;
|
||||||
@ -155,7 +155,7 @@ if (empty($reshook))
|
|||||||
$resql = $db->query($sql);
|
$resql = $db->query($sql);
|
||||||
if ($resql)
|
if ($resql)
|
||||||
{
|
{
|
||||||
$num = $db->num_rows($resql); // nb of possible recipients
|
$num = $db->num_rows($resql); // Number of possible recipients
|
||||||
|
|
||||||
if ($num)
|
if ($num)
|
||||||
{
|
{
|
||||||
@ -163,7 +163,7 @@ if (empty($reshook))
|
|||||||
|
|
||||||
$now = dol_now();
|
$now = dol_now();
|
||||||
|
|
||||||
// Positionne date debut envoi
|
// Positioning date of start sending
|
||||||
$sql = "UPDATE ".MAIN_DB_PREFIX."mailing SET date_envoi='".$db->idate($now)."' WHERE rowid=".$object->id;
|
$sql = "UPDATE ".MAIN_DB_PREFIX."mailing SET date_envoi='".$db->idate($now)."' WHERE rowid=".$object->id;
|
||||||
$resql2 = $db->query($sql);
|
$resql2 = $db->query($sql);
|
||||||
if (!$resql2)
|
if (!$resql2)
|
||||||
@ -273,7 +273,7 @@ if (empty($reshook))
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// Fabrication du mail
|
// Mail making
|
||||||
$trackid = 'emailing-'.$obj->fk_mailing.'-'.$obj->rowid;
|
$trackid = 'emailing-'.$obj->fk_mailing.'-'.$obj->rowid;
|
||||||
$mail = new CMailFile($newsubject, $sendto, $from, $newmessage, $arr_file, $arr_mime, $arr_name, '', '', 0, $msgishtml, $errorsto, $arr_css, $trackid, '', 'emailing');
|
$mail = new CMailFile($newsubject, $sendto, $from, $newmessage, $arr_file, $arr_mime, $arr_name, '', '', 0, $msgishtml, $errorsto, $arr_css, $trackid, '', 'emailing');
|
||||||
|
|
||||||
@ -408,15 +408,15 @@ if (empty($reshook))
|
|||||||
|
|
||||||
if (!$error)
|
if (!$error)
|
||||||
{
|
{
|
||||||
// Le message est-il en html
|
// Is the message in html
|
||||||
$msgishtml = -1; // Inconnu par defaut
|
$msgishtml = -1; // Unknow by default
|
||||||
if (preg_match('/[\s\t]*<html>/i', $object->body)) $msgishtml = 1;
|
if (preg_match('/[\s\t]*<html>/i', $object->body)) $msgishtml = 1;
|
||||||
|
|
||||||
// other are set at begin of page
|
// other are set at begin of page
|
||||||
$object->substitutionarrayfortest['__EMAIL__'] = $object->sendto;
|
$object->substitutionarrayfortest['__EMAIL__'] = $object->sendto;
|
||||||
$object->substitutionarrayfortest['__MAILTOEMAIL__'] = '<a href="mailto:'.$object->sendto.'">'.$object->sendto.'</a>';
|
$object->substitutionarrayfortest['__MAILTOEMAIL__'] = '<a href="mailto:'.$object->sendto.'">'.$object->sendto.'</a>';
|
||||||
|
|
||||||
// Pratique les substitutions sur le sujet et message
|
// Subject and message substitutions
|
||||||
complete_substitutions_array($object->substitutionarrayfortest, $langs);
|
complete_substitutions_array($object->substitutionarrayfortest, $langs);
|
||||||
$tmpsujet = make_substitutions($object->sujet, $object->substitutionarrayfortest);
|
$tmpsujet = make_substitutions($object->sujet, $object->substitutionarrayfortest);
|
||||||
$tmpbody = make_substitutions($object->body, $object->substitutionarrayfortest);
|
$tmpbody = make_substitutions($object->body, $object->substitutionarrayfortest);
|
||||||
@ -426,7 +426,7 @@ if (empty($reshook))
|
|||||||
$arr_name = array();
|
$arr_name = array();
|
||||||
$arr_css = array();
|
$arr_css = array();
|
||||||
|
|
||||||
// Ajout CSS
|
// Add CSS
|
||||||
if (!empty($object->bgcolor)) $arr_css['bgcolor'] = (preg_match('/^#/', $object->bgcolor) ? '' : '#').$object->bgcolor;
|
if (!empty($object->bgcolor)) $arr_css['bgcolor'] = (preg_match('/^#/', $object->bgcolor) ? '' : '#').$object->bgcolor;
|
||||||
if (!empty($object->bgimage)) $arr_css['bgimage'] = $object->bgimage;
|
if (!empty($object->bgimage)) $arr_css['bgimage'] = $object->bgimage;
|
||||||
|
|
||||||
@ -540,7 +540,7 @@ if (empty($reshook))
|
|||||||
$action = "edit";
|
$action = "edit";
|
||||||
}
|
}
|
||||||
|
|
||||||
// Action remove file
|
// Action of file remove
|
||||||
if (!empty($_POST["removedfile"]))
|
if (!empty($_POST["removedfile"]))
|
||||||
{
|
{
|
||||||
$upload_dir = $conf->mailing->dir_output."/".get_exdir($object->id, 2, 0, 1, $object, 'mailing');
|
$upload_dir = $conf->mailing->dir_output."/".get_exdir($object->id, 2, 0, 1, $object, 'mailing');
|
||||||
@ -552,7 +552,7 @@ if (empty($reshook))
|
|||||||
$action = "edit";
|
$action = "edit";
|
||||||
}
|
}
|
||||||
|
|
||||||
// Action update emailing
|
// Action of emailing update
|
||||||
if ($action == 'update' && empty($_POST["removedfile"]) && empty($_POST["cancel"]))
|
if ($action == 'update' && empty($_POST["removedfile"]) && empty($_POST["cancel"]))
|
||||||
{
|
{
|
||||||
require_once DOL_DOCUMENT_ROOT.'/core/lib/files.lib.php';
|
require_once DOL_DOCUMENT_ROOT.'/core/lib/files.lib.php';
|
||||||
@ -592,7 +592,7 @@ if (empty($reshook))
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// Action confirmation validation
|
// Action of validation confirmation
|
||||||
if ($action == 'confirm_valid' && $confirm == 'yes')
|
if ($action == 'confirm_valid' && $confirm == 'yes')
|
||||||
{
|
{
|
||||||
if ($object->id > 0)
|
if ($object->id > 0)
|
||||||
@ -606,7 +606,7 @@ if (empty($reshook))
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// Action confirmation validation
|
// Action of validation confirmation
|
||||||
if ($action == 'confirm_settodraft' && $confirm == 'yes')
|
if ($action == 'confirm_settodraft' && $confirm == 'yes')
|
||||||
{
|
{
|
||||||
if ($object->id > 0)
|
if ($object->id > 0)
|
||||||
@ -652,7 +652,7 @@ if (empty($reshook))
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// Action confirmation suppression
|
// Action of delete confirmation
|
||||||
if ($action == 'confirm_delete' && $confirm == 'yes')
|
if ($action == 'confirm_delete' && $confirm == 'yes')
|
||||||
{
|
{
|
||||||
if ($object->delete($object->id))
|
if ($object->delete($object->id))
|
||||||
@ -736,7 +736,7 @@ if ($action == 'create')
|
|||||||
print '</table>';
|
print '</table>';
|
||||||
|
|
||||||
print '<div style="padding-top: 10px">';
|
print '<div style="padding-top: 10px">';
|
||||||
// Editeur wysiwyg
|
// wysiwyg editor
|
||||||
require_once DOL_DOCUMENT_ROOT.'/core/class/doleditor.class.php';
|
require_once DOL_DOCUMENT_ROOT.'/core/class/doleditor.class.php';
|
||||||
$doleditor = new DolEditor('bodyemail', GETPOST('bodyemail', 'restricthtml'), '', 600, 'dolibarr_mailings', '', true, true, $conf->global->FCKEDITOR_ENABLE_MAILING, 20, '90%');
|
$doleditor = new DolEditor('bodyemail', GETPOST('bodyemail', 'restricthtml'), '', 600, 'dolibarr_mailings', '', true, true, $conf->global->FCKEDITOR_ENABLE_MAILING, 20, '90%');
|
||||||
$doleditor->Create();
|
$doleditor->Create();
|
||||||
@ -759,7 +759,7 @@ if ($action == 'create')
|
|||||||
{
|
{
|
||||||
print $form->formconfirm($_SERVER["PHP_SELF"]."?id=".$object->id, $langs->trans("SetToDraft"), $langs->trans("ConfirmUnvalidateEmailing"), "confirm_settodraft", '', '', 1);
|
print $form->formconfirm($_SERVER["PHP_SELF"]."?id=".$object->id, $langs->trans("SetToDraft"), $langs->trans("ConfirmUnvalidateEmailing"), "confirm_settodraft", '', '', 1);
|
||||||
}
|
}
|
||||||
// Confirmation validation of mailing
|
// Confirmation of mailing validation
|
||||||
if ($action == 'valid')
|
if ($action == 'valid')
|
||||||
{
|
{
|
||||||
print $form->formconfirm($_SERVER["PHP_SELF"]."?id=".$object->id, $langs->trans("ValidMailing"), $langs->trans("ConfirmValidMailing"), "confirm_valid", '', '', 1);
|
print $form->formconfirm($_SERVER["PHP_SELF"]."?id=".$object->id, $langs->trans("ValidMailing"), $langs->trans("ConfirmValidMailing"), "confirm_valid", '', '', 1);
|
||||||
@ -779,7 +779,7 @@ if ($action == 'create')
|
|||||||
dol_fiche_head($head, 'card', $langs->trans("Mailing"), -1, 'email');
|
dol_fiche_head($head, 'card', $langs->trans("Mailing"), -1, 'email');
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Mailing en mode visu
|
* View mode mailing
|
||||||
*/
|
*/
|
||||||
if ($action == 'sendall')
|
if ($action == 'sendall')
|
||||||
{
|
{
|
||||||
@ -883,7 +883,7 @@ if ($action == 'create')
|
|||||||
}
|
}
|
||||||
print '</td></tr>';
|
print '</td></tr>';
|
||||||
|
|
||||||
// Nb of distinct emails
|
// Number of distinct emails
|
||||||
print '<tr><td>';
|
print '<tr><td>';
|
||||||
print $langs->trans("TotalNbOfDistinctRecipients");
|
print $langs->trans("TotalNbOfDistinctRecipients");
|
||||||
print '</td><td colspan="3">';
|
print '</td><td colspan="3">';
|
||||||
@ -929,12 +929,12 @@ if ($action == 'create')
|
|||||||
array('type' => 'checkbox', 'name' => 'clone_content', 'label' => $langs->trans("CloneContent"), 'value' => 1),
|
array('type' => 'checkbox', 'name' => 'clone_content', 'label' => $langs->trans("CloneContent"), 'value' => 1),
|
||||||
array('type' => 'checkbox', 'name' => 'clone_receivers', 'label' => $langs->trans("CloneReceivers"), 'value' => 0)
|
array('type' => 'checkbox', 'name' => 'clone_receivers', 'label' => $langs->trans("CloneReceivers"), 'value' => 0)
|
||||||
);
|
);
|
||||||
// Paiement incomplet. On demande si motif = escompte ou autre
|
// Incomplete payment. On demande si motif = escompte ou autre
|
||||||
print $form->formconfirm($_SERVER["PHP_SELF"].'?id='.$object->id, $langs->trans('ToClone'), $langs->trans('ConfirmCloneEMailing', $object->ref), 'confirm_clone', $formquestion, 'yes', 2, 240);
|
print $form->formconfirm($_SERVER["PHP_SELF"].'?id='.$object->id, $langs->trans('ToClone'), $langs->trans('ConfirmCloneEMailing', $object->ref), 'confirm_clone', $formquestion, 'yes', 2, 240);
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Boutons d'action
|
* Actions Buttons
|
||||||
*/
|
*/
|
||||||
|
|
||||||
if (GETPOST('cancel', 'alpha') || $confirm == 'no' || $action == '' || in_array($action, array('settodraft', 'valid', 'delete', 'sendall', 'clone', 'test')))
|
if (GETPOST('cancel', 'alpha') || $confirm == 'no' || $action == '' || in_array($action, array('settodraft', 'valid', 'delete', 'sendall', 'clone', 'test')))
|
||||||
@ -1021,7 +1021,7 @@ if ($action == 'create')
|
|||||||
print '</div>';
|
print '</div>';
|
||||||
}
|
}
|
||||||
|
|
||||||
// Affichage formulaire de TEST
|
// Display of the TEST form
|
||||||
if ($action == 'test')
|
if ($action == 'test')
|
||||||
{
|
{
|
||||||
print '<div id="formmailbeforetitle" name="formmailbeforetitle"></div>';
|
print '<div id="formmailbeforetitle" name="formmailbeforetitle"></div>';
|
||||||
@ -1029,7 +1029,7 @@ if ($action == 'create')
|
|||||||
|
|
||||||
dol_fiche_head(null, '', '', -1);
|
dol_fiche_head(null, '', '', -1);
|
||||||
|
|
||||||
// Create l'objet formulaire mail
|
// Create mail form object
|
||||||
include_once DOL_DOCUMENT_ROOT.'/core/class/html.formmail.class.php';
|
include_once DOL_DOCUMENT_ROOT.'/core/class/html.formmail.class.php';
|
||||||
$formmail = new FormMail($db);
|
$formmail = new FormMail($db);
|
||||||
$formmail->fromname = $object->email_from;
|
$formmail->fromname = $object->email_from;
|
||||||
@ -1046,9 +1046,9 @@ if ($action == 'create')
|
|||||||
$formmail->withbodyreadonly = 1;
|
$formmail->withbodyreadonly = 1;
|
||||||
$formmail->withcancel = 1;
|
$formmail->withcancel = 1;
|
||||||
$formmail->withdeliveryreceipt = 0;
|
$formmail->withdeliveryreceipt = 0;
|
||||||
// Tableau des substitutions
|
// Table of substitutions
|
||||||
$formmail->substit = $object->substitutionarrayfortest;
|
$formmail->substit = $object->substitutionarrayfortest;
|
||||||
// Tableau des parametres complementaires du post
|
// Table of post's complementary params
|
||||||
$formmail->param["action"] = "send";
|
$formmail->param["action"] = "send";
|
||||||
$formmail->param["models"] = 'none';
|
$formmail->param["models"] = 'none';
|
||||||
$formmail->param["mailid"] = $object->id;
|
$formmail->param["mailid"] = $object->id;
|
||||||
@ -1109,7 +1109,7 @@ if ($action == 'create')
|
|||||||
if (empty($object->bgcolor) || strtolower($object->bgcolor) == 'ffffff') // CKEditor does not apply the color of the div into its content area
|
if (empty($object->bgcolor) || strtolower($object->bgcolor) == 'ffffff') // CKEditor does not apply the color of the div into its content area
|
||||||
{
|
{
|
||||||
$readonly = 1;
|
$readonly = 1;
|
||||||
// Editeur wysiwyg
|
// wysiwyg editor
|
||||||
require_once DOL_DOCUMENT_ROOT.'/core/class/doleditor.class.php';
|
require_once DOL_DOCUMENT_ROOT.'/core/class/doleditor.class.php';
|
||||||
$doleditor = new DolEditor('bodyemail', $object->body, '', 600, 'dolibarr_mailings', '', false, true, empty($conf->global->FCKEDITOR_ENABLE_MAILING) ? 0 : 1, 20, '90%', $readonly);
|
$doleditor = new DolEditor('bodyemail', $object->body, '', 600, 'dolibarr_mailings', '', false, true, empty($conf->global->FCKEDITOR_ENABLE_MAILING) ? 0 : 1, 20, '90%', $readonly);
|
||||||
$doleditor->Create();
|
$doleditor->Create();
|
||||||
@ -1119,7 +1119,7 @@ if ($action == 'create')
|
|||||||
dol_fiche_end();
|
dol_fiche_end();
|
||||||
} else {
|
} else {
|
||||||
/*
|
/*
|
||||||
* Mailing en mode edition (CKeditor or HTML source)
|
* Edition mode mailing (CKeditor or HTML source)
|
||||||
*/
|
*/
|
||||||
|
|
||||||
dol_fiche_head($head, 'card', $langs->trans("Mailing"), -1, 'email');
|
dol_fiche_head($head, 'card', $langs->trans("Mailing"), -1, 'email');
|
||||||
@ -1150,7 +1150,7 @@ if ($action == 'create')
|
|||||||
// To
|
// To
|
||||||
print '<tr><td>'.$langs->trans("MailErrorsTo").'</td><td colspan="3">'.dol_print_email($object->email_errorsto, 0, 0, 0, 0, 1).'</td></tr>';
|
print '<tr><td>'.$langs->trans("MailErrorsTo").'</td><td colspan="3">'.dol_print_email($object->email_errorsto, 0, 0, 0, 0, 1).'</td></tr>';
|
||||||
|
|
||||||
// Nb of distinct emails
|
// Number of distinct emails
|
||||||
print '<tr><td>';
|
print '<tr><td>';
|
||||||
print $langs->trans("TotalNbOfDistinctRecipients");
|
print $langs->trans("TotalNbOfDistinctRecipients");
|
||||||
print '</td><td colspan="3">';
|
print '</td><td colspan="3">';
|
||||||
@ -1267,14 +1267,14 @@ if ($action == 'create')
|
|||||||
|
|
||||||
if ($action == 'edit')
|
if ($action == 'edit')
|
||||||
{
|
{
|
||||||
// Editeur wysiwyg
|
// wysiwyg editor
|
||||||
require_once DOL_DOCUMENT_ROOT.'/core/class/doleditor.class.php';
|
require_once DOL_DOCUMENT_ROOT.'/core/class/doleditor.class.php';
|
||||||
$doleditor = new DolEditor('bodyemail', $object->body, '', 600, 'dolibarr_mailings', '', true, true, $conf->global->FCKEDITOR_ENABLE_MAILING, 20, '90%');
|
$doleditor = new DolEditor('bodyemail', $object->body, '', 600, 'dolibarr_mailings', '', true, true, $conf->global->FCKEDITOR_ENABLE_MAILING, 20, '90%');
|
||||||
$doleditor->Create();
|
$doleditor->Create();
|
||||||
}
|
}
|
||||||
if ($action == 'edithtml')
|
if ($action == 'edithtml')
|
||||||
{
|
{
|
||||||
// Editor HTML source
|
// HTML source editor
|
||||||
require_once DOL_DOCUMENT_ROOT.'/core/class/doleditor.class.php';
|
require_once DOL_DOCUMENT_ROOT.'/core/class/doleditor.class.php';
|
||||||
$doleditor = new DolEditor('bodyemail', $object->body, '', 600, 'dolibarr_mailings', '', true, true, 'ace', 20, '90%');
|
$doleditor = new DolEditor('bodyemail', $object->body, '', 600, 'dolibarr_mailings', '', true, true, 'ace', 20, '90%');
|
||||||
$doleditor->Create(0, '', false, 'HTML Source', 'php');
|
$doleditor->Create(0, '', false, 'HTML Source', 'php');
|
||||||
|
|||||||
@ -207,7 +207,7 @@ if (empty($reshook))
|
|||||||
{
|
{
|
||||||
$action = 'create';
|
$action = 'create';
|
||||||
}
|
}
|
||||||
// Le reste propre a cette action s'affiche en bas de page.
|
// The next of this action is displayed at the page's bottom.
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
@ -249,7 +249,7 @@ if (empty($reshook))
|
|||||||
|
|
||||||
if (!empty($conf->banque->enabled))
|
if (!empty($conf->banque->enabled))
|
||||||
{
|
{
|
||||||
// Si module bank actif, un compte est obligatoire lors de la saisie d'un paiement
|
// If the bank module is active, an account is required to input a payment
|
||||||
if (GETPOST('accountid', 'int') <= 0)
|
if (GETPOST('accountid', 'int') <= 0)
|
||||||
{
|
{
|
||||||
setEventMessages($langs->trans('ErrorFieldRequired', $langs->transnoentities('AccountToCredit')), null, 'errors');
|
setEventMessages($langs->trans('ErrorFieldRequired', $langs->transnoentities('AccountToCredit')), null, 'errors');
|
||||||
@ -503,7 +503,7 @@ if ($action == 'create' || $action == 'confirm_paiement' || $action == 'add_paie
|
|||||||
}
|
}
|
||||||
print "</tr>\n";
|
print "</tr>\n";
|
||||||
|
|
||||||
// Cheque number
|
// Bank check number
|
||||||
print '<tr><td>'.$langs->trans('Numero');
|
print '<tr><td>'.$langs->trans('Numero');
|
||||||
print ' <em>('.$langs->trans("ChequeOrTransferNumber").')</em>';
|
print ' <em>('.$langs->trans("ChequeOrTransferNumber").')</em>';
|
||||||
print '</td>';
|
print '</td>';
|
||||||
@ -793,7 +793,7 @@ if ($action == 'create' || $action == 'confirm_paiement' || $action == 'add_paie
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
// Bouton Enregistrer
|
// Save button
|
||||||
if ($action != 'add_paiement')
|
if ($action != 'add_paiement')
|
||||||
{
|
{
|
||||||
$checkboxlabel = $langs->trans("ClosePaidInvoicesAutomatically");
|
$checkboxlabel = $langs->trans("ClosePaidInvoicesAutomatically");
|
||||||
|
|||||||
@ -179,13 +179,13 @@ $head = payment_prepare_head($object);
|
|||||||
|
|
||||||
dol_fiche_head($head, 'payment', $langs->trans("PaymentCustomerInvoice"), -1, 'payment');
|
dol_fiche_head($head, 'payment', $langs->trans("PaymentCustomerInvoice"), -1, 'payment');
|
||||||
|
|
||||||
// Confirmation de la suppression du paiement
|
// Confirmation of payment delete
|
||||||
if ($action == 'delete')
|
if ($action == 'delete')
|
||||||
{
|
{
|
||||||
print $form->formconfirm($_SERVER['PHP_SELF'].'?id='.$object->id, $langs->trans("DeletePayment"), $langs->trans("ConfirmDeletePayment"), 'confirm_delete', '', 0, 2);
|
print $form->formconfirm($_SERVER['PHP_SELF'].'?id='.$object->id, $langs->trans("DeletePayment"), $langs->trans("ConfirmDeletePayment"), 'confirm_delete', '', 0, 2);
|
||||||
}
|
}
|
||||||
|
|
||||||
// Confirmation de la validation du paiement
|
// Confirmation of payment validation
|
||||||
if ($action == 'valide')
|
if ($action == 'valide')
|
||||||
{
|
{
|
||||||
$facid = $_GET['facid'];
|
$facid = $_GET['facid'];
|
||||||
@ -408,7 +408,7 @@ if ($resql)
|
|||||||
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Boutons Actions
|
* Actions Buttons
|
||||||
*/
|
*/
|
||||||
|
|
||||||
print '<div class="tabsAction">';
|
print '<div class="tabsAction">';
|
||||||
|
|||||||
@ -312,7 +312,7 @@ if ($action == 'new')
|
|||||||
dol_fiche_head($head, $hselected, $langs->trans("Cheques"), -1, 'payment');
|
dol_fiche_head($head, $hselected, $langs->trans("Cheques"), -1, 'payment');
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Confirmation de la suppression du bordereau
|
* Confirmation of slip's delete
|
||||||
*/
|
*/
|
||||||
if ($action == 'delete')
|
if ($action == 'delete')
|
||||||
{
|
{
|
||||||
@ -320,7 +320,7 @@ if ($action == 'new')
|
|||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Confirmation de la validation du bordereau
|
* Confirmation of slip's validation
|
||||||
*/
|
*/
|
||||||
if ($action == 'valide')
|
if ($action == 'valide')
|
||||||
{
|
{
|
||||||
@ -595,7 +595,7 @@ if ($action == 'new')
|
|||||||
print $accountstatic->getNomUrl(1);
|
print $accountstatic->getNomUrl(1);
|
||||||
print '</td></tr>';
|
print '</td></tr>';
|
||||||
|
|
||||||
// Nb of cheques
|
// Number of bank checks
|
||||||
print '<tr><td>'.$langs->trans('NbOfCheques').'</td><td colspan="2">';
|
print '<tr><td>'.$langs->trans('NbOfCheques').'</td><td colspan="2">';
|
||||||
print $object->nbcheque;
|
print $object->nbcheque;
|
||||||
print '</td></tr>';
|
print '</td></tr>';
|
||||||
@ -613,7 +613,7 @@ if ($action == 'new')
|
|||||||
print '</div>';
|
print '</div>';
|
||||||
|
|
||||||
|
|
||||||
// List of cheques
|
// List of bank checks
|
||||||
$sql = "SELECT b.rowid, b.amount, b.num_chq, b.emetteur,";
|
$sql = "SELECT b.rowid, b.amount, b.num_chq, b.emetteur,";
|
||||||
$sql .= " b.dateo as date, b.datec as datec, b.banque,";
|
$sql .= " b.dateo as date, b.datec as datec, b.banque,";
|
||||||
$sql .= " p.rowid as pid, ba.rowid as bid, p.statut";
|
$sql .= " p.rowid as pid, ba.rowid as bid, p.statut";
|
||||||
@ -654,7 +654,7 @@ if ($action == 'new')
|
|||||||
{
|
{
|
||||||
print '<tr class="oddeven">';
|
print '<tr class="oddeven">';
|
||||||
print '<td class="center">'.$i.'</td>';
|
print '<td class="center">'.$i.'</td>';
|
||||||
print '<td class="center">'.dol_print_date($db->jdate($objp->date), 'day').'</td>'; // Date operation
|
print '<td class="center">'.dol_print_date($db->jdate($objp->date), 'day').'</td>'; // Operation date
|
||||||
print '<td class="center">'.($objp->num_chq ? $objp->num_chq : ' ').'</td>';
|
print '<td class="center">'.($objp->num_chq ? $objp->num_chq : ' ').'</td>';
|
||||||
print '<td>'.dol_trunc($objp->emetteur, 24).'</td>';
|
print '<td>'.dol_trunc($objp->emetteur, 24).'</td>';
|
||||||
print '<td>'.dol_trunc($objp->banque, 24).'</td>';
|
print '<td>'.dol_trunc($objp->banque, 24).'</td>';
|
||||||
@ -707,7 +707,7 @@ if ($action == 'new')
|
|||||||
|
|
||||||
print "</table>";
|
print "</table>";
|
||||||
|
|
||||||
// Cheque denormalized data nbcheque is similar to real number of cheque
|
// Cheque denormalized data nbcheque is similar to real number of bank check
|
||||||
if ($num > 0 && $i < ($object->nbcheque + 1)) {
|
if ($num > 0 && $i < ($object->nbcheque + 1)) {
|
||||||
// Show warning that some records were removed.
|
// Show warning that some records were removed.
|
||||||
$langs->load("errors");
|
$langs->load("errors");
|
||||||
@ -727,7 +727,7 @@ if ($action == 'new')
|
|||||||
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Boutons Actions
|
* Actions Buttons
|
||||||
*/
|
*/
|
||||||
|
|
||||||
print '<div class="tabsAction">';
|
print '<div class="tabsAction">';
|
||||||
|
|||||||
@ -109,7 +109,7 @@ if ($action == 'add_payment' || ($action == 'confirm_paiement' && $confirm == 'y
|
|||||||
$paiement = new PaymentSocialContribution($db);
|
$paiement = new PaymentSocialContribution($db);
|
||||||
$paiement->chid = $chid;
|
$paiement->chid = $chid;
|
||||||
$paiement->datepaye = $datepaye;
|
$paiement->datepaye = $datepaye;
|
||||||
$paiement->amounts = $amounts; // Tableau de montant
|
$paiement->amounts = $amounts; // Amount list
|
||||||
$paiement->paiementtype = GETPOST("paiementtype", 'alphanohtml');
|
$paiement->paiementtype = GETPOST("paiementtype", 'alphanohtml');
|
||||||
$paiement->num_payment = GETPOST("num_payment", 'alphanohtml');
|
$paiement->num_payment = GETPOST("num_payment", 'alphanohtml');
|
||||||
$paiement->note = GETPOST("note", 'restricthtml');
|
$paiement->note = GETPOST("note", 'restricthtml');
|
||||||
@ -160,7 +160,7 @@ llxHeader();
|
|||||||
$form = new Form($db);
|
$form = new Form($db);
|
||||||
|
|
||||||
|
|
||||||
// Formulaire de creation d'un paiement de charge
|
// Form of charge payment creation
|
||||||
if ($action == 'create')
|
if ($action == 'create')
|
||||||
{
|
{
|
||||||
$charge->fetch($chid);
|
$charge->fetch($chid);
|
||||||
@ -255,7 +255,7 @@ if ($action == 'create')
|
|||||||
dol_fiche_end();
|
dol_fiche_end();
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Autres charges impayees
|
* Other unpaid charges
|
||||||
*/
|
*/
|
||||||
$num = 1;
|
$num = 1;
|
||||||
$i = 0;
|
$i = 0;
|
||||||
@ -327,7 +327,7 @@ if ($action == 'create')
|
|||||||
|
|
||||||
print "</table>";
|
print "</table>";
|
||||||
|
|
||||||
// Bouton Save payment
|
// Save payment button
|
||||||
print '<br><div class="center"><input type="checkbox" checked name="closepaidcontrib"> '.$langs->trans("ClosePaidContributionsAutomatically");
|
print '<br><div class="center"><input type="checkbox" checked name="closepaidcontrib"> '.$langs->trans("ClosePaidContributionsAutomatically");
|
||||||
print '<br><input type="submit" class="button" name="save" value="'.$langs->trans('ToMakePayment').'">';
|
print '<br><input type="submit" class="button" name="save" value="'.$langs->trans('ToMakePayment').'">';
|
||||||
print ' ';
|
print ' ';
|
||||||
|
|||||||
@ -131,7 +131,7 @@ print '<tr><td>'.$langs->trans('Mode').'</td><td colspan="3">'.$langs->trans("Pa
|
|||||||
// Numero
|
// Numero
|
||||||
print '<tr><td>'.$langs->trans('Numero').'</td><td colspan="3">'.$object->num_payment.'</td></tr>';
|
print '<tr><td>'.$langs->trans('Numero').'</td><td colspan="3">'.$object->num_payment.'</td></tr>';
|
||||||
|
|
||||||
// Montant
|
// Amount
|
||||||
print '<tr><td>'.$langs->trans('Amount').'</td><td colspan="3">'.price($object->amount, 0, $outputlangs, 1, -1, -1, $conf->currency).'</td></tr>';
|
print '<tr><td>'.$langs->trans('Amount').'</td><td colspan="3">'.price($object->amount, 0, $outputlangs, 1, -1, -1, $conf->currency).'</td></tr>';
|
||||||
|
|
||||||
// Note
|
// Note
|
||||||
@ -235,7 +235,7 @@ if ($resql)
|
|||||||
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Boutons Actions
|
* Actions Buttons
|
||||||
*/
|
*/
|
||||||
print '<div class="tabsAction">';
|
print '<div class="tabsAction">';
|
||||||
|
|
||||||
|
|||||||
@ -1748,7 +1748,7 @@ function addFileIntoDatabaseIndex($dir, $file, $fullpathorig = '', $mode = 'uplo
|
|||||||
|
|
||||||
if (is_object($object) && $object->id > 0) {
|
if (is_object($object) && $object->id > 0) {
|
||||||
$ecmfile->src_object_id = $object->id;
|
$ecmfile->src_object_id = $object->id;
|
||||||
$ecmfile->src_object_type = $object->element;
|
$ecmfile->src_object_type = $object->table_element;
|
||||||
}
|
}
|
||||||
|
|
||||||
if ($setsharekey)
|
if ($setsharekey)
|
||||||
|
|||||||
@ -54,9 +54,11 @@ function intracommReportAdminPrepareHead()
|
|||||||
/**
|
/**
|
||||||
* Prepare array with list of tabs
|
* Prepare array with list of tabs
|
||||||
*
|
*
|
||||||
|
* @param Object $object Object related to tabs
|
||||||
|
*
|
||||||
* @return array Array of tabs to show
|
* @return array Array of tabs to show
|
||||||
*/
|
*/
|
||||||
function intracommReportPrepareHead()
|
function intracommReportPrepareHead($object)
|
||||||
{
|
{
|
||||||
global $langs, $conf;
|
global $langs, $conf;
|
||||||
|
|
||||||
|
|||||||
@ -417,6 +417,20 @@ if ($object->id > 0)
|
|||||||
$boxstat .= '<span class="boxstatsindicator'.($outstandingOpened > 0 ? ' amountremaintopay' : '').'">'.price($outstandingOpened, 1, $langs, 1, -1, -1, $conf->currency).$warn.'</span>';
|
$boxstat .= '<span class="boxstatsindicator'.($outstandingOpened > 0 ? ' amountremaintopay' : '').'">'.price($outstandingOpened, 1, $langs, 1, -1, -1, $conf->currency).$warn.'</span>';
|
||||||
$boxstat .= '</div>';
|
$boxstat .= '</div>';
|
||||||
if ($link) $boxstat .= '</a>';
|
if ($link) $boxstat .= '</a>';
|
||||||
|
|
||||||
|
$tmp = $object->getOutstandingBills('supplier', 1);
|
||||||
|
$outstandingOpenedLate = $tmp['opened'];
|
||||||
|
if ($outstandingOpened != $outstandingOpenedLate && !empty($outstandingOpenedLate)) {
|
||||||
|
$text = $langs->trans("CurrentOutstandingBillLate");
|
||||||
|
$link = DOL_URL_ROOT.'/fourn/recap-fourn.php?socid='.$object->id;
|
||||||
|
$icon = 'bill';
|
||||||
|
if ($link) $boxstat .= '<a href="'.$link.'" class="boxstatsindicator thumbstat nobold nounderline">';
|
||||||
|
$boxstat .= '<div class="boxstats" title="' . dol_escape_htmltag($text) . '">';
|
||||||
|
$boxstat .= '<span class="boxstatstext">' . img_object("", $icon) . ' <span>' . $text . '</span></span><br>';
|
||||||
|
$boxstat .= '<span class="boxstatsindicator' . ($outstandingOpenedLate > 0 ? ' amountremaintopay' : '') . '">'.price($outstandingOpenedLate, 1, $langs, 1, -1, -1, $conf->currency) . $warn . '</span>';
|
||||||
|
$boxstat .= '</div>';
|
||||||
|
if ($link) $boxstat .= '</a>';
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
$boxstat .= '</td></tr>';
|
$boxstat .= '</td></tr>';
|
||||||
|
|||||||
@ -134,12 +134,12 @@ CREATE TABLE llx_intracommreport
|
|||||||
ref varchar(30) NOT NULL, -- report reference number
|
ref varchar(30) NOT NULL, -- report reference number
|
||||||
entity integer DEFAULT 1 NOT NULL, -- multi company id
|
entity integer DEFAULT 1 NOT NULL, -- multi company id
|
||||||
type_declaration varchar(32),
|
type_declaration varchar(32),
|
||||||
period varchar(32),
|
periods varchar(32),
|
||||||
mode varchar(32),
|
mode varchar(32),
|
||||||
content_xml text,
|
content_xml text,
|
||||||
type_export varchar(10),
|
type_export varchar(10),
|
||||||
datec datetime,
|
datec datetime,
|
||||||
tms timestamp DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
|
tms timestamp DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
|
||||||
)ENGINE=innodb;
|
)ENGINE=innodb;
|
||||||
|
|
||||||
ALTER TABLE llx_c_incoterms ADD COLUMN label varchar(100) NULL;
|
ALTER TABLE llx_c_incoterms ADD COLUMN label varchar(100) NULL;
|
||||||
|
|||||||
@ -24,7 +24,7 @@ create table llx_intracommreport
|
|||||||
ref varchar(30) NOT NULL, -- report reference number
|
ref varchar(30) NOT NULL, -- report reference number
|
||||||
entity integer DEFAULT 1 NOT NULL, -- multi company id
|
entity integer DEFAULT 1 NOT NULL, -- multi company id
|
||||||
type_declaration varchar(32),
|
type_declaration varchar(32),
|
||||||
period varchar(32),
|
periods varchar(32),
|
||||||
mode varchar(32),
|
mode varchar(32),
|
||||||
content_xml text,
|
content_xml text,
|
||||||
type_export varchar(10),
|
type_export varchar(10),
|
||||||
|
|||||||
@ -102,7 +102,7 @@ print '<form action="'.$_SERVER["PHP_SELF"].'" method="post">';
|
|||||||
print '<input type="hidden" name="token" value="'.newToken().'">';
|
print '<input type="hidden" name="token" value="'.newToken().'">';
|
||||||
print '<input type="hidden" name="action" value="update">';
|
print '<input type="hidden" name="action" value="update">';
|
||||||
|
|
||||||
print_fiche_titre($langs->trans("Parameters").' (DEB)');
|
print load_fiche_titre($langs->trans("Parameters").' (DEB)');
|
||||||
|
|
||||||
print '<table class="noborder" width="100%">';
|
print '<table class="noborder" width="100%">';
|
||||||
print '<tr class="liste_titre">';
|
print '<tr class="liste_titre">';
|
||||||
@ -168,7 +168,7 @@ print "</tr>\n";
|
|||||||
print '</table>';
|
print '</table>';
|
||||||
|
|
||||||
|
|
||||||
print_fiche_titre($langs->trans("Parameters").' (DES)');
|
print load_fiche_titre($langs->trans("Parameters").' (DES)');
|
||||||
|
|
||||||
print '<table class="noborder" width="100%">';
|
print '<table class="noborder" width="100%">';
|
||||||
print '<tr class="liste_titre">';
|
print '<tr class="liste_titre">';
|
||||||
|
|||||||
@ -459,4 +459,5 @@ MulticurrencyUsed=Use Multicurrency
|
|||||||
MulticurrencyCurrency=Currency
|
MulticurrencyCurrency=Currency
|
||||||
InEEC=Europe (EEC)
|
InEEC=Europe (EEC)
|
||||||
RestOfEurope=Rest of Europe (EEC)
|
RestOfEurope=Rest of Europe (EEC)
|
||||||
OutOfEurope=Out of Europe (EEC)
|
OutOfEurope=Out of Europe (EEC)
|
||||||
|
CurrentOutstandingBillLate=Current outstanding bill late
|
||||||
|
|||||||
@ -4092,9 +4092,10 @@ class Societe extends CommonObject
|
|||||||
* Return amount of bill not paid and total
|
* Return amount of bill not paid and total
|
||||||
*
|
*
|
||||||
* @param string $mode 'customer' or 'supplier'
|
* @param string $mode 'customer' or 'supplier'
|
||||||
|
* @param int $late 0 => all invoice, 1=> only late
|
||||||
* @return array array('opened'=>Amount, 'total'=>Total amount)
|
* @return array array('opened'=>Amount, 'total'=>Total amount)
|
||||||
*/
|
*/
|
||||||
public function getOutstandingBills($mode = 'customer')
|
public function getOutstandingBills($mode = 'customer', $late = 0)
|
||||||
{
|
{
|
||||||
$table = 'facture';
|
$table = 'facture';
|
||||||
if ($mode == 'supplier') $table = 'facture_fourn';
|
if ($mode == 'supplier') $table = 'facture_fourn';
|
||||||
@ -4109,6 +4110,9 @@ class Societe extends CommonObject
|
|||||||
if ($mode == 'supplier') $sql = "SELECT rowid, total_ht as total_ht, total_ttc, paye, type, fk_statut as status, close_code FROM ".MAIN_DB_PREFIX.$table." as f";
|
if ($mode == 'supplier') $sql = "SELECT rowid, total_ht as total_ht, total_ttc, paye, type, fk_statut as status, close_code FROM ".MAIN_DB_PREFIX.$table." as f";
|
||||||
else $sql = "SELECT rowid, total as total_ht, total_ttc, paye, fk_statut as status, close_code FROM ".MAIN_DB_PREFIX.$table." as f";
|
else $sql = "SELECT rowid, total as total_ht, total_ttc, paye, fk_statut as status, close_code FROM ".MAIN_DB_PREFIX.$table." as f";
|
||||||
$sql .= " WHERE fk_soc = ".$this->id;
|
$sql .= " WHERE fk_soc = ".$this->id;
|
||||||
|
if (!empty($late)) {
|
||||||
|
$sql .= " AND date_lim_reglement < '".$this->db->idate(dol_now())."'";
|
||||||
|
}
|
||||||
if ($mode == 'supplier') {
|
if ($mode == 'supplier') {
|
||||||
$sql .= " AND entity IN (".getEntity('facture_fourn').")";
|
$sql .= " AND entity IN (".getEntity('facture_fourn').")";
|
||||||
} else {
|
} else {
|
||||||
|
|||||||
@ -18,7 +18,7 @@ module.exports = {
|
|||||||
browserName : 'chrome',
|
browserName : 'chrome',
|
||||||
javascriptEnabled : true,
|
javascriptEnabled : true,
|
||||||
chromeOptions : {
|
chromeOptions : {
|
||||||
args : ['disable-gpu'],
|
args : ['disable-gpu', 'window-size=1280,1024'],
|
||||||
w3c : false
|
w3c : false
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -26,7 +26,8 @@ module.exports = {
|
|||||||
},
|
},
|
||||||
|
|
||||||
userIsLoggedIn: async function (login) {
|
userIsLoggedIn: async function (login) {
|
||||||
await this.useXpath()
|
await this.waitForElementNotPresent('@loginTable')
|
||||||
|
.useXpath()
|
||||||
.waitForElementVisible('@userLogin')
|
.waitForElementVisible('@userLogin')
|
||||||
.expect.element('@userLogin')
|
.expect.element('@userLogin')
|
||||||
.text.to.equal(login);
|
.text.to.equal(login);
|
||||||
|
|||||||
@ -30,7 +30,7 @@ Before(async function getDolApiKey() {
|
|||||||
const params = new URLSearchParams()
|
const params = new URLSearchParams()
|
||||||
params.set('login', adminUsername)
|
params.set('login', adminUsername)
|
||||||
params.set('password', adminPassword)
|
params.set('password', adminPassword)
|
||||||
const apiKey = `http://localhost/dolibarr/htdocs/api/index.php/login?${params.toString()}`;
|
const apiKey = client.globals.backend_url + `api/index.php/login?${params.toString()}`;
|
||||||
header['Accept'] = 'application/json'
|
header['Accept'] = 'application/json'
|
||||||
await fetch(apiKey, {
|
await fetch(apiKey, {
|
||||||
method: 'GET',
|
method: 'GET',
|
||||||
@ -74,4 +74,4 @@ After(async () => {
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|||||||
@ -5,12 +5,6 @@ const assert = require('assert');
|
|||||||
let response;
|
let response;
|
||||||
let Login = {};
|
let Login = {};
|
||||||
|
|
||||||
Given('the administrator has logged in using the webUI', async function () {
|
|
||||||
await client.page.loginPage().navigate().waitForLoginPage();
|
|
||||||
await client.page.loginPage().userLogsInWithUsernameAndPassword(client.globals.adminUsername, client.globals.adminPassword);
|
|
||||||
return client.page.loginPage().userIsLoggedIn(client.globals.adminUsername);
|
|
||||||
});
|
|
||||||
|
|
||||||
Given('the administrator has browsed to the new users page', function () {
|
Given('the administrator has browsed to the new users page', function () {
|
||||||
return client.page.homePage().browsedToNewUserPage();
|
return client.page.homePage().browsedToNewUserPage();
|
||||||
});
|
});
|
||||||
@ -153,4 +147,4 @@ const getResponseMessage = async function (expectedResponseMessage) {
|
|||||||
const actualResponseMessage = json_response['error']['0'];
|
const actualResponseMessage = json_response['error']['0'];
|
||||||
return assert.strictEqual(actualResponseMessage, expectedResponseMessage,
|
return assert.strictEqual(actualResponseMessage, expectedResponseMessage,
|
||||||
`the expected response message was ${expectedResponseMessage} but got ${actualResponseMessage}`);
|
`the expected response message was ${expectedResponseMessage} but got ${actualResponseMessage}`);
|
||||||
};
|
};
|
||||||
|
|||||||
@ -1,6 +1,12 @@
|
|||||||
const { Given, When, Then } = require('cucumber')
|
const { Given, When, Then } = require('cucumber')
|
||||||
const { client } = require('nightwatch-api')
|
const { client } = require('nightwatch-api')
|
||||||
|
|
||||||
|
Given('the administrator has logged in using the webUI', async function () {
|
||||||
|
await client.page.loginPage().navigate().waitForLoginPage();
|
||||||
|
await client.page.loginPage().userLogsInWithUsernameAndPassword(client.globals.adminUsername, client.globals.adminPassword);
|
||||||
|
return client.page.loginPage().userIsLoggedIn(client.globals.adminUsername);
|
||||||
|
});
|
||||||
|
|
||||||
Given('the user has browsed to the login page', function () {
|
Given('the user has browsed to the login page', function () {
|
||||||
return client.page.loginPage().navigate();
|
return client.page.loginPage().navigate();
|
||||||
});
|
});
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user