now adding contact to conforbooth, not only to thirdparty
This commit is contained in:
parent
9c20e92e17
commit
a00c9c44c3
@ -378,120 +378,119 @@ if (empty($reshook) && $action == 'add') {
|
|||||||
$errmsg .= $conforbooth->error;
|
$errmsg .= $conforbooth->error;
|
||||||
} else {
|
} else {
|
||||||
// Adding the contact to the project
|
// Adding the contact to the project
|
||||||
/*$resultaddcontact = $conforbooth->add_contact($contact);
|
$resultaddcontact = $conforbooth->add_contact($contact->id, 'RESPONSIBLE');
|
||||||
if ($resultaddcontact<0) {
|
if ($resultaddcontact<0) {
|
||||||
$error++;
|
$error++;
|
||||||
$errmsg .= $conforbooth->error;
|
$errmsg .= $conforbooth->error;
|
||||||
} else {*/
|
} else {
|
||||||
|
|
||||||
// If this is a paying booth, we have to redirect to payment page and create an invoice
|
// If this is a paying booth, we have to redirect to payment page and create an invoice
|
||||||
if (!empty(floatval($project->price_booth))) {
|
if (!empty(floatval($project->price_booth))) {
|
||||||
$productforinvoicerow = new Product($db);
|
$productforinvoicerow = new Product($db);
|
||||||
$resultprod = $productforinvoicerow->fetch($conf->global->SERVICE_BOOTH_LOCATION);
|
$resultprod = $productforinvoicerow->fetch($conf->global->SERVICE_BOOTH_LOCATION);
|
||||||
if ($resultprod < 0) {
|
if ($resultprod < 0) {
|
||||||
$error++;
|
|
||||||
$errmsg .= $productforinvoicerow->error;
|
|
||||||
} else {
|
|
||||||
$facture = new Facture($db);
|
|
||||||
$facture->type = Facture::TYPE_STANDARD;
|
|
||||||
$facture->socid = $thirdparty->id;
|
|
||||||
$facture->paye = 0;
|
|
||||||
$facture->date = dol_now();
|
|
||||||
$facture->cond_reglement_id = $contact->cond_reglement_id;
|
|
||||||
|
|
||||||
if (empty($facture->cond_reglement_id)) {
|
|
||||||
$paymenttermstatic = new PaymentTerm($contact->db);
|
|
||||||
$facture->cond_reglement_id = $paymenttermstatic->getDefaultId();
|
|
||||||
if (empty($facture->cond_reglement_id)) {
|
|
||||||
$error++;
|
|
||||||
$contact->error = 'ErrorNoPaymentTermRECEPFound';
|
|
||||||
$contact->errors[] = $contact->error;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
$resultfacture = $facture->create($user);
|
|
||||||
if ($resultfacture <= 0) {
|
|
||||||
$contact->error = $facture->error;
|
|
||||||
$contact->errors = $facture->errors;
|
|
||||||
$error++;
|
$error++;
|
||||||
|
$errmsg .= $productforinvoicerow->error;
|
||||||
} else {
|
} else {
|
||||||
$db->commit();
|
$facture = new Facture($db);
|
||||||
$facture->add_object_linked($contact->element, $contact->id);
|
$facture->type = Facture::TYPE_STANDARD;
|
||||||
}
|
$facture->socid = $thirdparty->id;
|
||||||
}
|
$facture->paye = 0;
|
||||||
|
$facture->date = dol_now();
|
||||||
|
$facture->cond_reglement_id = $contact->cond_reglement_id;
|
||||||
|
|
||||||
if (!$error) {
|
if (empty($facture->cond_reglement_id)) {
|
||||||
// Add line to draft invoice
|
$paymenttermstatic = new PaymentTerm($contact->db);
|
||||||
$vattouse = get_default_tva($mysoc, $thirdparty, $productforinvoicerow->id);
|
$facture->cond_reglement_id = $paymenttermstatic->getDefaultId();
|
||||||
$result = $facture->addline($langs->trans("BoothLocationFee", $conforbooth->label, dol_print_date($conforbooth->datep, '%d/%m/%y %H:%M:%S'), dol_print_date($conforbooth->datep2, '%d/%m/%y %H:%M:%S')), floatval($project->price_booth), 1, $vattouse, 0, 0, $productforinvoicerow->id, 0, dol_now(), '', 0, 0, '', 'HT', 0, 1);
|
if (empty($facture->cond_reglement_id)) {
|
||||||
if ($result <= 0) {
|
$error++;
|
||||||
$contact->error = $facture->error;
|
$contact->error = 'ErrorNoPaymentTermRECEPFound';
|
||||||
$contact->errors = $facture->errors;
|
$contact->errors[] = $contact->error;
|
||||||
$error++;
|
|
||||||
}
|
|
||||||
if (!$error) {
|
|
||||||
$valid = true;
|
|
||||||
$sourcetouse = 'boothlocation';
|
|
||||||
$reftouse = $facture->id;
|
|
||||||
$redirection = $dolibarr_main_url_root.'/public/payment/newpayment.php?source='.$sourcetouse.'&ref='.$reftouse.'&booth='.$conforbooth->id;
|
|
||||||
if (!empty($conf->global->PAYMENT_SECURITY_TOKEN)) {
|
|
||||||
if (!empty($conf->global->PAYMENT_SECURITY_TOKEN_UNIQUE)) {
|
|
||||||
$redirection .= '&securekey='.dol_hash($conf->global->PAYMENT_SECURITY_TOKEN . $sourcetouse . $reftouse, 2); // Use the source in the hash to avoid duplicates if the references are identical
|
|
||||||
} else {
|
|
||||||
$redirection .= '&securekey='.$conf->global->PAYMENT_SECURITY_TOKEN;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
Header("Location: ".$redirection);
|
$resultfacture = $facture->create($user);
|
||||||
exit;
|
if ($resultfacture <= 0) {
|
||||||
|
$contact->error = $facture->error;
|
||||||
|
$contact->errors = $facture->errors;
|
||||||
|
$error++;
|
||||||
|
} else {
|
||||||
|
$db->commit();
|
||||||
|
$facture->add_object_linked($contact->element, $contact->id);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!$error) {
|
||||||
|
// Add line to draft invoice
|
||||||
|
$vattouse = get_default_tva($mysoc, $thirdparty, $productforinvoicerow->id);
|
||||||
|
$result = $facture->addline($langs->trans("BoothLocationFee", $conforbooth->label, dol_print_date($conforbooth->datep, '%d/%m/%y %H:%M:%S'), dol_print_date($conforbooth->datep2, '%d/%m/%y %H:%M:%S')), floatval($project->price_booth), 1, $vattouse, 0, 0, $productforinvoicerow->id, 0, dol_now(), '', 0, 0, '', 'HT', 0, 1);
|
||||||
|
if ($result <= 0) {
|
||||||
|
$contact->error = $facture->error;
|
||||||
|
$contact->errors = $facture->errors;
|
||||||
|
$error++;
|
||||||
|
}
|
||||||
|
if (!$error) {
|
||||||
|
$valid = true;
|
||||||
|
$sourcetouse = 'boothlocation';
|
||||||
|
$reftouse = $facture->id;
|
||||||
|
$redirection = $dolibarr_main_url_root.'/public/payment/newpayment.php?source='.$sourcetouse.'&ref='.$reftouse.'&booth='.$conforbooth->id;
|
||||||
|
if (!empty($conf->global->PAYMENT_SECURITY_TOKEN)) {
|
||||||
|
if (!empty($conf->global->PAYMENT_SECURITY_TOKEN_UNIQUE)) {
|
||||||
|
$redirection .= '&securekey='.dol_hash($conf->global->PAYMENT_SECURITY_TOKEN . $sourcetouse . $reftouse, 2); // Use the source in the hash to avoid duplicates if the references are identical
|
||||||
|
} else {
|
||||||
|
$redirection .= '&securekey='.$conf->global->PAYMENT_SECURITY_TOKEN;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
Header("Location: ".$redirection);
|
||||||
|
exit;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
// If no price has been set for the booth, we confirm it as suggested and we update
|
||||||
|
$conforbooth->status = CONFERENCEORBOOTH::STATUS_SUGGESTED;
|
||||||
|
$conforbooth->update($user);
|
||||||
|
// Sending mail
|
||||||
|
require_once DOL_DOCUMENT_ROOT.'/core/class/CMailFile.class.php';
|
||||||
|
include_once DOL_DOCUMENT_ROOT.'/core/class/html.formmail.class.php';
|
||||||
|
$formmail = new FormMail($db);
|
||||||
|
// Set output language
|
||||||
|
$outputlangs = new Translate('', $conf);
|
||||||
|
$outputlangs->setDefaultLang(empty($thirdparty->default_lang) ? $mysoc->default_lang : $thirdparty->default_lang);
|
||||||
|
// Load traductions files required by page
|
||||||
|
$outputlangs->loadLangs(array("main", "members"));
|
||||||
|
// Get email content from template
|
||||||
|
$arraydefaultmessage = null;
|
||||||
|
|
||||||
|
$labeltouse = $conf->global->EVENTORGANIZATION_TEMPLATE_EMAIL_AFT_SUBS_EVENT;
|
||||||
|
if (!empty($labeltouse)) {
|
||||||
|
$arraydefaultmessage = $formmail->getEMailTemplate($db, 'eventorganization_send', $user, $outputlangs, $labeltouse, 1, '');
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!empty($labeltouse) && is_object($arraydefaultmessage) && $arraydefaultmessage->id > 0) {
|
||||||
|
$subject = $arraydefaultmessage->topic;
|
||||||
|
$msg = $arraydefaultmessage->content;
|
||||||
|
}
|
||||||
|
|
||||||
|
$substitutionarray = getCommonSubstitutionArray($outputlangs, 0, null, $thirdparty);
|
||||||
|
complete_substitutions_array($substitutionarray, $outputlangs, $object);
|
||||||
|
|
||||||
|
$subjecttosend = make_substitutions($subject, $substitutionarray, $outputlangs);
|
||||||
|
$texttosend = make_substitutions($msg, $substitutionarray, $outputlangs);
|
||||||
|
|
||||||
|
$sendto = $thirdparty->email;
|
||||||
|
$from = $conf->global->MAILING_EMAIL_FROM;
|
||||||
|
$urlback = $_SERVER["REQUEST_URI"];
|
||||||
|
|
||||||
|
$ishtml = dol_textishtml($texttosend); // May contain urls
|
||||||
|
|
||||||
|
$mailfile = new CMailFile($subjecttosend, $sendto, $from, $texttosend, array(), array(), array(), '', '', 0, $ishtml);
|
||||||
|
|
||||||
|
$result = $mailfile->sendfile();
|
||||||
|
if ($result) {
|
||||||
|
dol_syslog("EMail sent to ".$sendto, LOG_DEBUG, 0, '_payment');
|
||||||
|
} else {
|
||||||
|
dol_syslog("Failed to send EMail to ".$sendto, LOG_ERR, 0, '_payment');
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
} else {
|
|
||||||
// If no price has been set for the booth, we confirm it as suggested and we update
|
|
||||||
$conforbooth->status = CONFERENCEORBOOTH::STATUS_SUGGESTED;
|
|
||||||
$conforbooth->update($user);
|
|
||||||
// Sending mail
|
|
||||||
require_once DOL_DOCUMENT_ROOT.'/core/class/CMailFile.class.php';
|
|
||||||
include_once DOL_DOCUMENT_ROOT.'/core/class/html.formmail.class.php';
|
|
||||||
$formmail = new FormMail($db);
|
|
||||||
// Set output language
|
|
||||||
$outputlangs = new Translate('', $conf);
|
|
||||||
$outputlangs->setDefaultLang(empty($thirdparty->default_lang) ? $mysoc->default_lang : $thirdparty->default_lang);
|
|
||||||
// Load traductions files required by page
|
|
||||||
$outputlangs->loadLangs(array("main", "members"));
|
|
||||||
// Get email content from template
|
|
||||||
$arraydefaultmessage = null;
|
|
||||||
|
|
||||||
$labeltouse = $conf->global->EVENTORGANIZATION_TEMPLATE_EMAIL_AFT_SUBS_EVENT;
|
|
||||||
if (!empty($labeltouse)) {
|
|
||||||
$arraydefaultmessage = $formmail->getEMailTemplate($db, 'eventorganization_send', $user, $outputlangs, $labeltouse, 1, '');
|
|
||||||
}
|
|
||||||
|
|
||||||
if (!empty($labeltouse) && is_object($arraydefaultmessage) && $arraydefaultmessage->id > 0) {
|
|
||||||
$subject = $arraydefaultmessage->topic;
|
|
||||||
$msg = $arraydefaultmessage->content;
|
|
||||||
}
|
|
||||||
|
|
||||||
$substitutionarray = getCommonSubstitutionArray($outputlangs, 0, null, $thirdparty);
|
|
||||||
complete_substitutions_array($substitutionarray, $outputlangs, $object);
|
|
||||||
|
|
||||||
$subjecttosend = make_substitutions($subject, $substitutionarray, $outputlangs);
|
|
||||||
$texttosend = make_substitutions($msg, $substitutionarray, $outputlangs);
|
|
||||||
|
|
||||||
$sendto = $thirdparty->email;
|
|
||||||
$from = $conf->global->MAILING_EMAIL_FROM;
|
|
||||||
$urlback = $_SERVER["REQUEST_URI"];
|
|
||||||
|
|
||||||
$ishtml = dol_textishtml($texttosend); // May contain urls
|
|
||||||
|
|
||||||
$mailfile = new CMailFile($subjecttosend, $sendto, $from, $texttosend, array(), array(), array(), '', '', 0, $ishtml);
|
|
||||||
|
|
||||||
$result = $mailfile->sendfile();
|
|
||||||
if ($result) {
|
|
||||||
dol_syslog("EMail sent to ".$sendto, LOG_DEBUG, 0, '_payment');
|
|
||||||
} else {
|
|
||||||
dol_syslog("Failed to send EMail to ".$sendto, LOG_ERR, 0, '_payment');
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
//}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -374,11 +374,11 @@ if (empty($reshook) && $action == 'add') {
|
|||||||
$errmsg .= $conforbooth->error;
|
$errmsg .= $conforbooth->error;
|
||||||
} else {
|
} else {
|
||||||
// Adding the contact to the project
|
// Adding the contact to the project
|
||||||
/*$resultaddcontact = $conforbooth->add_contact($contact);
|
$resultaddcontact = $conforbooth->add_contact($contact->id, 'SPEAKER');
|
||||||
if ($resultaddcontact<0) {
|
if ($resultaddcontact<0) {
|
||||||
$error++;
|
$error++;
|
||||||
$errmsg .= $conforbooth->error;
|
$errmsg .= $conforbooth->error;
|
||||||
} else {*/
|
} else {
|
||||||
$conforbooth->status = CONFERENCEORBOOTH::STATUS_SUGGESTED;
|
$conforbooth->status = CONFERENCEORBOOTH::STATUS_SUGGESTED;
|
||||||
$conforbooth->update($user);
|
$conforbooth->update($user);
|
||||||
|
|
||||||
@ -395,14 +395,14 @@ if (empty($reshook) && $action == 'add') {
|
|||||||
$arraydefaultmessage = null;
|
$arraydefaultmessage = null;
|
||||||
|
|
||||||
$labeltouse = $conf->global->EVENTORGANIZATION_TEMPLATE_EMAIL_AFT_SUBS_EVENT;
|
$labeltouse = $conf->global->EVENTORGANIZATION_TEMPLATE_EMAIL_AFT_SUBS_EVENT;
|
||||||
if (!empty($labeltouse)) {
|
if (!empty($labeltouse)) {
|
||||||
$arraydefaultmessage = $formmail->getEMailTemplate($db, 'eventorganization_send', $user, $outputlangs, $labeltouse, 1, '');
|
$arraydefaultmessage = $formmail->getEMailTemplate($db, 'eventorganization_send', $user, $outputlangs, $labeltouse, 1, '');
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!empty($labeltouse) && is_object($arraydefaultmessage) && $arraydefaultmessage->id > 0) {
|
if (!empty($labeltouse) && is_object($arraydefaultmessage) && $arraydefaultmessage->id > 0) {
|
||||||
$subject = $arraydefaultmessage->topic;
|
$subject = $arraydefaultmessage->topic;
|
||||||
$msg = $arraydefaultmessage->content;
|
$msg = $arraydefaultmessage->content;
|
||||||
}
|
}
|
||||||
|
|
||||||
$substitutionarray = getCommonSubstitutionArray($outputlangs, 0, null, $thirdparty);
|
$substitutionarray = getCommonSubstitutionArray($outputlangs, 0, null, $thirdparty);
|
||||||
complete_substitutions_array($substitutionarray, $outputlangs, $object);
|
complete_substitutions_array($substitutionarray, $outputlangs, $object);
|
||||||
@ -419,12 +419,12 @@ if (empty($reshook) && $action == 'add') {
|
|||||||
$mailfile = new CMailFile($subjecttosend, $sendto, $from, $texttosend, array(), array(), array(), '', '', 0, $ishtml);
|
$mailfile = new CMailFile($subjecttosend, $sendto, $from, $texttosend, array(), array(), array(), '', '', 0, $ishtml);
|
||||||
|
|
||||||
$result = $mailfile->sendfile();
|
$result = $mailfile->sendfile();
|
||||||
if ($result) {
|
if ($result) {
|
||||||
dol_syslog("EMail sent to ".$sendto, LOG_DEBUG, 0, '_payment');
|
dol_syslog("EMail sent to ".$sendto, LOG_DEBUG, 0, '_payment');
|
||||||
} else {
|
} else {
|
||||||
dol_syslog("Failed to send EMail to ".$sendto, LOG_ERR, 0, '_payment');
|
dol_syslog("Failed to send EMail to ".$sendto, LOG_ERR, 0, '_payment');
|
||||||
|
}
|
||||||
}
|
}
|
||||||
//}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user