Merge branch 'develop' of git@github.com:Dolibarr/dolibarr.git into develop

This commit is contained in:
Laurent Destailleur 2021-10-19 19:52:33 +02:00
commit 885e70ff03
7 changed files with 96 additions and 76 deletions

View File

@ -4,6 +4,7 @@
* Copyright (C) 2005-2011 Regis Houssin <regis.houssin@inodbox.com> * Copyright (C) 2005-2011 Regis Houssin <regis.houssin@inodbox.com>
* Copyright (C) 2012-2107 Juanjo Menent <jmenent@2byte.es> * Copyright (C) 2012-2107 Juanjo Menent <jmenent@2byte.es>
* Copyright (C) 2019 Ferran Marcet <fmarcet@2byte.es> * Copyright (C) 2019 Ferran Marcet <fmarcet@2byte.es>
* Copyright (C) 2021 Anthony Berton <bertonanthony@gmail.com>
* *
* This program is free software; you can redistribute it and/or modify * This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by * it under the terms of the GNU General Public License as published by

View File

@ -41,17 +41,12 @@ if (!$user->admin) {
} }
$action = GETPOST('action', 'aZ09'); $action = GETPOST('action', 'aZ09');
$cancel = GETPOST('cancel', 'alpha');
/* /*
* Actions * Actions
*/ */
if ($cancel) {
$action = '';
}
if ($action == 'update') { if ($action == 'update') {
if (GETPOSTISSET('PROPOSAL_PDF_HIDE_PAYMENTTERM')) { if (GETPOSTISSET('PROPOSAL_PDF_HIDE_PAYMENTTERM')) {
dolibarr_set_const($db, "PROPOSAL_PDF_HIDE_PAYMENTTERM", GETPOST("PROPOSAL_PDF_HIDE_PAYMENTTERM"), 'chaine', 0, '', $conf->entity); dolibarr_set_const($db, "PROPOSAL_PDF_HIDE_PAYMENTTERM", GETPOST("PROPOSAL_PDF_HIDE_PAYMENTTERM"), 'chaine', 0, '', $conf->entity);
@ -62,6 +57,9 @@ if ($action == 'update') {
if (GETPOSTISSET('MAIN_GENERATE_PROPOSALS_WITH_PICTURE')) { if (GETPOSTISSET('MAIN_GENERATE_PROPOSALS_WITH_PICTURE')) {
dolibarr_set_const($db, "MAIN_GENERATE_PROPOSALS_WITH_PICTURE", GETPOST("MAIN_GENERATE_PROPOSALS_WITH_PICTURE"), 'chaine', 0, '', $conf->entity); dolibarr_set_const($db, "MAIN_GENERATE_PROPOSALS_WITH_PICTURE", GETPOST("MAIN_GENERATE_PROPOSALS_WITH_PICTURE"), 'chaine', 0, '', $conf->entity);
} }
if (GETPOSTISSET('MAIN_DOCUMENTS_WITH_PICTURE_WIDTH')) {
dolibarr_set_const($db, "MAIN_DOCUMENTS_WITH_PICTURE_WIDTH", GETPOST("MAIN_DOCUMENTS_WITH_PICTURE_WIDTH", 'int'), 'chaine', 0, '', $conf->entity);
}
setEventMessages($langs->trans("SetupSaved"), null, 'mesgs'); setEventMessages($langs->trans("SetupSaved"), null, 'mesgs');
@ -92,45 +90,47 @@ $tooltiptext = '';
print '<span class="opacitymedium">'.$form->textwithpicto($langs->trans("PDFOtherDesc"), $tooltiptext)."</span><br>\n"; print '<span class="opacitymedium">'.$form->textwithpicto($langs->trans("PDFOtherDesc"), $tooltiptext)."</span><br>\n";
print "<br>\n"; print "<br>\n";
print load_fiche_titre($langs->trans("Proposal"), '', ''); if (!empty($conf->propal->enabled)) {
print load_fiche_titre($langs->trans("Proposal"), '', '');
print '<form method="post" action="'.$_SERVER["PHP_SELF"].'">'; print '<form method="post" action="'.$_SERVER["PHP_SELF"].'">';
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 '<div class="div-table-responsive-no-min">'; print '<div class="div-table-responsive-no-min">';
print '<table summary="more" class="noborder centpercent">'; print '<table summary="more" class="noborder centpercent">';
print '<tr class="liste_titre"><td class="titlefieldmiddle">'.$langs->trans("Parameter").'</td><td width="200px">'.$langs->trans("Value").'</td></tr>'; print '<tr class="liste_titre"><td class="titlefieldmiddle">'.$langs->trans("Parameter").'</td><td width="200px">'.$langs->trans("Value").'</td></tr>';
print '<tr class="oddeven"><td>'.$langs->trans("MAIN_GENERATE_PROPOSALS_WITH_PICTURE"); print '<tr class="oddeven"><td>'.$langs->trans("MAIN_GENERATE_PROPOSALS_WITH_PICTURE");
print ' <span class="opacitymedium">('.$langs->trans("RandomlySelectedIfSeveral").')</span>'; print ' <span class="opacitymedium">('.$langs->trans("RandomlySelectedIfSeveral").')</span>';
print '</td><td>'; print '</td><td>';
if ($conf->use_javascript_ajax) { if ($conf->use_javascript_ajax) {
print ajax_constantonoff('MAIN_GENERATE_PROPOSALS_WITH_PICTURE'); print ajax_constantonoff('MAIN_GENERATE_PROPOSALS_WITH_PICTURE');
} else { } else {
$arrval = array('0' => $langs->trans("No"), '1' => $langs->trans("Yes")); $arrval = array('0' => $langs->trans("No"), '1' => $langs->trans("Yes"));
print $form->selectarray("MAIN_GENERATE_PROPOSALS_WITH_PICTURE", $arrval, $conf->global->MAIN_GENERATE_PROPOSALS_WITH_PICTURE); print $form->selectarray("MAIN_GENERATE_PROPOSALS_WITH_PICTURE", $arrval, $conf->global->MAIN_GENERATE_PROPOSALS_WITH_PICTURE);
}
print '</td></tr>';
/*
print '<tr class="oddeven"><td>'.$langs->trans("MAIN_PDF_PROPAL_USE_ELECTRONIC_SIGNING").'</td><td>';
if ($conf->use_javascript_ajax) {
print ajax_constantonoff('MAIN_PDF_PROPAL_USE_ELECTRONIC_SIGNING');
} else {
$arrval = array('0' => $langs->trans("No"), '1' => $langs->trans("Yes"));
print $form->selectarray("MAIN_PDF_PROPAL_USE_ELECTRONIC_SIGNING", $arrval, $conf->global->MAIN_PDF_PROPAL_USE_ELECTRONIC_SIGNING);
}
print '</td></tr>';
*/
print '</table>';
print '</div>';
} }
print '</td></tr>';
/* print '<br><div class="center">';
print '<tr class="oddeven"><td>'.$langs->trans("MAIN_PDF_PROPAL_USE_ELECTRONIC_SIGNING").'</td><td>'; print '<input class="button button-save" type="submit" name="save" value="'.$langs->trans("Save").'">';
if ($conf->use_javascript_ajax) {
print ajax_constantonoff('MAIN_PDF_PROPAL_USE_ELECTRONIC_SIGNING');
} else {
$arrval = array('0' => $langs->trans("No"), '1' => $langs->trans("Yes"));
print $form->selectarray("MAIN_PDF_PROPAL_USE_ELECTRONIC_SIGNING", $arrval, $conf->global->MAIN_PDF_PROPAL_USE_ELECTRONIC_SIGNING);
}
print '</td></tr>';
*/
print '</table>';
print '</div>'; print '</div>';
/*
print $form->buttonsSaveCancel();
*/
print '</form>'; print '</form>';

View File

@ -153,8 +153,8 @@ if (ini_get('safe_mode') && !empty($conf->global->MAIN_ANTIVIRUS_COMMAND)) {
dol_syslog("safe_mode is on, basedir is ".$basedir.", safe_mode_exec_dir is ".ini_get('safe_mode_exec_dir'), LOG_WARNING); dol_syslog("safe_mode is on, basedir is ".$basedir.", safe_mode_exec_dir is ".ini_get('safe_mode_exec_dir'), LOG_WARNING);
} }
} }
print '<input type="text" '.(defined('MAIN_ANTIVIRUS_COMMAND') ? 'disabled ' : '').'name="MAIN_ANTIVIRUS_COMMAND" class="minwidth500imp" value="'.(!empty($conf->global->MAIN_ANTIVIRUS_COMMAND) ?dol_escape_htmltag($conf->global->MAIN_ANTIVIRUS_COMMAND) : '').'">'; print '<input type="text" '.((defined('MAIN_ANTIVIRUS_COMMAND') && !defined('MAIN_ANTIVIRUS_BYPASS_COMMAND_AND_PARAM')) ? 'disabled ' : '').'name="MAIN_ANTIVIRUS_COMMAND" class="minwidth500imp" value="'.(!empty($conf->global->MAIN_ANTIVIRUS_COMMAND) ?dol_escape_htmltag($conf->global->MAIN_ANTIVIRUS_COMMAND) : '').'">';
if (defined('MAIN_ANTIVIRUS_COMMAND')) { if (defined('MAIN_ANTIVIRUS_COMMAND') && !defined('MAIN_ANTIVIRUS_BYPASS_COMMAND_AND_PARAM')) {
print '<br><span class="opacitymedium">'.$langs->trans("ValueIsForcedBySystem").'</span>'; print '<br><span class="opacitymedium">'.$langs->trans("ValueIsForcedBySystem").'</span>';
} }
print "</td>"; print "</td>";

View File

@ -306,7 +306,7 @@ print empty($conf->global->MAIN_ANTIVIRUS_COMMAND) ? '' : img_picto('', 'tick').
print yn(empty($conf->global->MAIN_ANTIVIRUS_COMMAND) ? 0 : 1); print yn(empty($conf->global->MAIN_ANTIVIRUS_COMMAND) ? 0 : 1);
if (!empty($conf->global->MAIN_ANTIVIRUS_COMMAND)) { if (!empty($conf->global->MAIN_ANTIVIRUS_COMMAND)) {
print ' &nbsp; - '.$conf->global->MAIN_ANTIVIRUS_COMMAND; print ' &nbsp; - '.$conf->global->MAIN_ANTIVIRUS_COMMAND;
if (defined('MAIN_ANTIVIRUS_COMMAND')) { if (defined('MAIN_ANTIVIRUS_COMMAND') && !defined('MAIN_ANTIVIRUS_BYPASS_COMMAND_AND_PARAM')) {
print ' - <span class="opacitymedium">'.$langs->trans("ValueIsForcedBySystem").'</span>'; print ' - <span class="opacitymedium">'.$langs->trans("ValueIsForcedBySystem").'</span>';
} }
} }

View File

@ -836,11 +836,13 @@ class Conf
// Note: Set MAIN_SECURITY_CSRF_TOKEN_RENEWAL_ON_EACH_CALL=1 to have a renewal of token at each page call instead of each session (not recommended) // Note: Set MAIN_SECURITY_CSRF_TOKEN_RENEWAL_ON_EACH_CALL=1 to have a renewal of token at each page call instead of each session (not recommended)
} }
if (defined('MAIN_ANTIVIRUS_COMMAND')) { if (!defined('MAIN_ANTIVIRUS_BYPASS_COMMAND_AND_PARAM')) {
$this->global->MAIN_ANTIVIRUS_COMMAND = constant('MAIN_ANTIVIRUS_COMMAND'); if (defined('MAIN_ANTIVIRUS_COMMAND')) {
} $this->global->MAIN_ANTIVIRUS_COMMAND = constant('MAIN_ANTIVIRUS_COMMAND');
if (defined('MAIN_ANTIVIRUS_PARAM')) { }
$this->global->MAIN_ANTIVIRUS_PARAM = constant('MAIN_ANTIVIRUS_PARAM'); if (defined('MAIN_ANTIVIRUS_PARAM')) {
$this->global->MAIN_ANTIVIRUS_PARAM = constant('MAIN_ANTIVIRUS_PARAM');
}
} }
if (!empty($this->global->MAIN_TZUSERINPUTKEY)) { if (!empty($this->global->MAIN_TZUSERINPUTKEY)) {

View File

@ -755,7 +755,23 @@ class FormTicket
} elseif ($htmlname!='') { } elseif ($htmlname!='') {
$groupticket=GETPOST($htmlname, 'aZ09'); $groupticket=GETPOST($htmlname, 'aZ09');
$child_id=GETPOST($htmlname.'_child_id', 'aZ09')?GETPOST($htmlname.'_child_id', 'aZ09'):0; $child_id=GETPOST($htmlname.'_child_id', 'aZ09')?GETPOST($htmlname.'_child_id', 'aZ09'):0;
if (!empty($groupticket)) {
$tmpgroupticket = $groupticket;
$sql = "SELECT ctc.rowid, ctc.fk_parent, ctc.code FROM ".MAIN_DB_PREFIX."c_ticket_category as ctc WHERE ctc.code = '".$this->db->escape($tmpgroupticket)."'";
$resql = $this->db->query($sql);
if ($resql) {
$obj = $this->db->fetch_object($resql);
$selectedgroups[] = $obj->code;
while ($obj->fk_parent > 0) {
$sql = "SELECT ctc.rowid, ctc.fk_parent, ctc.code FROM ".MAIN_DB_PREFIX."c_ticket_category as ctc WHERE ctc.rowid ='".$this->db->escape($obj->fk_parent)."'";
$resql = $this->db->query($sql);
if ($resql) {
$obj = $this->db->fetch_object($resql);
$selectedgroups[] = $obj->code;
}
}
}
}
$arrayidused = array(); $arrayidused = array();
$arrayidusedconcat = array(); $arrayidusedconcat = array();
$arraycodenotparent = array(); $arraycodenotparent = array();
@ -794,7 +810,11 @@ class FormTicket
$grouplabel = $label; $grouplabel = $label;
$isparent = $obj->isparent; $isparent = $obj->isparent;
$iselected = $groupticket == $obj->code ?'selected':''; if (is_array($selectedgroups)) {
$iselected = in_array($obj->code, $selectedgroups) ?'selected':'';
} else {
$iselected = $groupticket == $obj->code ?'selected':'';
}
$stringtoprint .= '<option '.$iselected.' class="'.$htmlname.dol_escape_htmltag($grouprowid).'" value="'.dol_escape_htmltag($groupvalue).'" data-html="'.dol_escape_htmltag($grouplabel).'">'.dol_escape_htmltag($grouplabel).'</option>'; $stringtoprint .= '<option '.$iselected.' class="'.$htmlname.dol_escape_htmltag($grouprowid).'" value="'.dol_escape_htmltag($groupvalue).'" data-html="'.dol_escape_htmltag($grouplabel).'">'.dol_escape_htmltag($grouplabel).'</option>';
if ($isparent == 'NOTPARENT') { if ($isparent == 'NOTPARENT') {
$arraycodenotparent[] = $groupvalue; $arraycodenotparent[] = $groupvalue;
@ -868,10 +888,14 @@ class FormTicket
if ($isparent == 'NOTPARENT') { if ($isparent == 'NOTPARENT') {
$arraycodenotparent[] = $groupvalue; $arraycodenotparent[] = $groupvalue;
} }
$iselected = $groupticket == $obj->code ?'selected':''; if (is_array($selectedgroups)) {
$iselected = in_array($obj->code, $selectedgroups) ?'selected':'';
} else {
$iselected = $groupticket == $obj->code ?'selected':'';
}
$stringtoprint .= '<option '.$iselected.' class="'.$htmlname.'_'.dol_escape_htmltag($fatherid).'_child_'.$levelid.'" value="'.dol_escape_htmltag($groupvalue).'" data-html="'.dol_escape_htmltag($grouplabel).'">'.dol_escape_htmltag($grouplabel).'</option>'; $stringtoprint .= '<option '.$iselected.' class="'.$htmlname.'_'.dol_escape_htmltag($fatherid).'_child_'.$levelid.'" value="'.dol_escape_htmltag($groupvalue).'" data-html="'.dol_escape_htmltag($grouplabel).'">'.dol_escape_htmltag($grouplabel).'</option>';
if (empty($tabscript[$groupcodefather])) { if (empty($tabscript[$groupcodefather])) {
$tabscript[$groupcodefather] = 'if ($("#'.$htmlname.($levelid > 1 ?'_child_'.$levelid-1:'').'")[0].value == "'.dol_escape_js($groupcodefather).'"){ $tabscript[$groupcodefather] = 'if ($("#'.$htmlname.($levelid > 1 ?'_child_'.$levelid-1:'').'").val() == "'.dol_escape_js($groupcodefather).'"){
$(".'.$htmlname.'_'.dol_escape_htmltag($fatherid).'_child_'.$levelid.'").show() $(".'.$htmlname.'_'.dol_escape_htmltag($fatherid).'_child_'.$levelid.'").show()
console.log("We show childs tickets of '.$groupcodefather.' group ticket") console.log("We show childs tickets of '.$groupcodefather.' group ticket")
}else{ }else{
@ -889,23 +913,15 @@ class FormTicket
$stringtoprint .='<script>'; $stringtoprint .='<script>';
$stringtoprint .='arraynotparents = '.json_encode($arraycodenotparent).';'; // when the last visible combo list is number x, this is the array of group $stringtoprint .='arraynotparents = '.json_encode($arraycodenotparent).';'; // when the last visible combo list is number x, this is the array of group
$stringtoprint .='if (arraynotparents.includes($("#'.$htmlname.($levelid > 1 ?'_child_'.$levelid-1:'').'")[0].value)){ $stringtoprint .='if (arraynotparents.includes($("#'.$htmlname.($levelid > 1 ?'_child_'.$levelid-1:'').'").val())){
console.log("'.$htmlname.'_child_'.$levelid.'") console.log("'.$htmlname.'_child_'.$levelid.'")
if($("#'.$htmlname.'_child_'.$levelid.'")[0].value == "" && ($("#'.$htmlname.'_child_'.$levelid.'").attr("child_id")>'.$child_id.')){ if($("#'.$htmlname.'_child_'.$levelid.'").val() == "" && ($("#'.$htmlname.'_child_'.$levelid.'").attr("child_id")>'.$child_id.')){
$("#'.$htmlname.'_child_'.$levelid.'").hide(); $("#'.$htmlname.'_child_'.$levelid.'").hide();
console.log("We hide '.$htmlname.'_child_'.$levelid.' input") console.log("We hide '.$htmlname.'_child_'.$levelid.' input")
}else if(($("#'.$htmlname.'_child_'.$levelid.'").attr("child_id")!=0) && ($("#'.$htmlname.'_child_'.$levelid.'").attr("child_id")<'.$child_id.')){
$("#'.$htmlname.'_child_'.$levelid.'").attr("disabled",true);
console.log("We disable '.$htmlname.'_child_'.$levelid.' input");
}else{
$("#'.$htmlname.'_child_'.$levelid.'").attr("disabled",true);
$("#ticketcategory_select_child_id")[0].value = $("#'.$htmlname.'_child_'.$levelid.'").attr("child_id")
$("#ticketcategory_select")[0].value = $("#'.$htmlname.'_child_'.$levelid.'")[0].value;
console.log("We disable '.$htmlname.'_child_'.$levelid.' input and reload hidden input");
} }
if(arraynotparents.includes("'.$groupticket.'") && '.$child_id.' == 0){ if(arraynotparents.includes("'.$groupticket.'") && '.$child_id.' == 0){
$("#ticketcategory_select_child_id")[0].value = $("#'.$htmlname.'").attr("child_id") $("#ticketcategory_select_child_id").val($("#'.$htmlname.'").attr("child_id"))
$("#ticketcategory_select")[0].value = $("#'.$htmlname.'")[0].value; $("#ticketcategory_select").val($("#'.$htmlname.'").val()) ;
console.log("We choose '.$htmlname.' input and reload hidden input"); console.log("We choose '.$htmlname.' input and reload hidden input");
} }
} }
@ -913,19 +929,19 @@ class FormTicket
child_id = $("#'.$htmlname.($levelid > 1 ?'_child_'.$levelid:'').'").attr("child_id"); child_id = $("#'.$htmlname.($levelid > 1 ?'_child_'.$levelid:'').'").attr("child_id");
/* Change of value to select this value*/ /* Change of value to select this value*/
if (arraynotparents.includes(this.value) || $(this).attr("child_id") == '.$use_multilevel.') { if (arraynotparents.includes($(this).val()) || $(this).attr("child_id") == '.$use_multilevel.') {
$("#ticketcategory_select")[0].value = this.value; $("#ticketcategory_select").val($(this).val());
$("#ticketcategory_select_child_id")[0].value = $(this).attr("child_id"); $("#ticketcategory_select_child_id").val($(this).attr("child_id")) ;
console.log("We choose to select "+ this.value); console.log("We choose to select "+ $(this).val());
}else{ }else{
if ($("#'.$htmlname.'_child_'.$levelid.' option").length <= 1) { if ($("#'.$htmlname.'_child_'.$levelid.' option").length <= 1) {
$("#ticketcategory_select")[0].value = this.value; $("#ticketcategory_select").val($(this).val());
$("#ticketcategory_select_child_id")[0].value = $(this).attr("child_id"); $("#ticketcategory_select_child_id").val($(this).attr("child_id"));
console.log("We choose to select "+ this.value + " and next combo has no item, so we keep this selection"); console.log("We choose to select "+ $(this).val() + " and next combo has no item, so we keep this selection");
} else { } else {
console.log("We choose to select "+ this.value + " but next combo has some item, so we clean selected item"); console.log("We choose to select "+ $(this).val() + " but next combo has some item, so we clean selected item");
$("#ticketcategory_select")[0].value = ""; $("#ticketcategory_select").val("");
$("#ticketcategory_select_child_id")[0].value = ""; $("#ticketcategory_select_child_id").val("");
} }
} }
@ -942,7 +958,7 @@ class FormTicket
/* Now we enable the next combo */ /* Now we enable the next combo */
$("#'.$htmlname.'_child_'.$levelid.'").val(""); $("#'.$htmlname.'_child_'.$levelid.'").val("");
if (!arraynotparents.includes(this.value) && $("#'.$htmlname.'_child_'.$levelid.' option").length > 1) { if (!arraynotparents.includes($(this).val()) && $("#'.$htmlname.'_child_'.$levelid.' option").length > 1) {
console.log($("#'.$htmlname.'_child_'.$levelid.' option").length); console.log($("#'.$htmlname.'_child_'.$levelid.' option").length);
$("#'.$htmlname.'_child_'.$levelid.'").show() $("#'.$htmlname.'_child_'.$levelid.'").show()
} else { } else {
@ -958,9 +974,9 @@ class FormTicket
} }
$stringtoprint .='<script>'; $stringtoprint .='<script>';
$stringtoprint .='$("#'.$htmlname.'_child_'.$use_multilevel.'").change(function() { $stringtoprint .='$("#'.$htmlname.'_child_'.$use_multilevel.'").change(function() {
$("#ticketcategory_select")[0].value = this.value; $("#ticketcategory_select").val($(this).val());
$("#ticketcategory_select_child_id")[0].value = $(this).attr("child_id"); $("#ticketcategory_select_child_id").val($(this).attr("child_id"));
console.log($("#ticketcategory_select")[0].value); console.log($("#ticketcategory_select").val());
})'; })';
$stringtoprint .='</script>'; $stringtoprint .='</script>';
$stringtoprint .= ajax_combobox($htmlname); $stringtoprint .= ajax_combobox($htmlname);

View File

@ -2004,7 +2004,8 @@ MAIN_PDF_MARGIN_RIGHT=Right margin on PDF
MAIN_PDF_MARGIN_TOP=Top margin on PDF MAIN_PDF_MARGIN_TOP=Top margin on PDF
MAIN_PDF_MARGIN_BOTTOM=Bottom margin on PDF MAIN_PDF_MARGIN_BOTTOM=Bottom margin on PDF
MAIN_DOCUMENTS_LOGO_HEIGHT=Height for logo on PDF MAIN_DOCUMENTS_LOGO_HEIGHT=Height for logo on PDF
MAIN_GENERATE_PROPOSALS_WITH_PICTURE=Add picture on proposal line MAIN_GENERATE_PROPOSALS_WITH_PICTURE=Add column for picture on proposal lines
MAIN_DOCUMENTS_WITH_PICTURE_WIDTH=Width of the column if a picture is added on lines
MAIN_PDF_NO_SENDER_FRAME=Hide borders on sender address frame MAIN_PDF_NO_SENDER_FRAME=Hide borders on sender address frame
MAIN_PDF_NO_RECIPENT_FRAME=Hide borders on recipent address frame MAIN_PDF_NO_RECIPENT_FRAME=Hide borders on recipent address frame
MAIN_PDF_HIDE_CUSTOMER_CODE=Hide customer code MAIN_PDF_HIDE_CUSTOMER_CODE=Hide customer code