Convert setup of situation invoice to new setup system + fix size
This commit is contained in:
parent
50801edb84
commit
817a9594ae
@ -94,47 +94,22 @@ $formSetup->newItem('INVOICE_RETAINED_WARRANTY_LIMITED_TO_FINAL_SITUATION')
|
|||||||
->nameText = $langs->trans('RetainedwarrantyOnlyForSituationFinal');
|
->nameText = $langs->trans('RetainedwarrantyOnlyForSituationFinal');
|
||||||
|
|
||||||
|
|
||||||
// TODO : TODO : TODO
|
$item = $formSetup->newItem('INVOICE_SITUATION_DEFAULT_RETAINED_WARRANTY_PERCENT');
|
||||||
$item = $formSetup->newItem('INVOICE_RETAINED_WARRANTY_LIMITED_TO_FINAL_SITUATION');
|
$item->nameText = $langs->trans('RetainedwarrantyDefaultPercent');
|
||||||
|
$item->fieldAttr = array(
|
||||||
$metas = array(
|
|
||||||
'type' => 'number',
|
'type' => 'number',
|
||||||
'step' => '0.01',
|
'step' => '0.01',
|
||||||
'min' => 0,
|
'min' => 0,
|
||||||
'max' => 100
|
'max' => 100
|
||||||
);
|
);
|
||||||
_printInputFormPart('INVOICE_SITUATION_DEFAULT_RETAINED_WARRANTY_PERCENT', $langs->trans('RetainedwarrantyDefaultPercent'), '', $metas);
|
|
||||||
|
|
||||||
|
|
||||||
/*
|
// Conditions paiements
|
||||||
// Hôte
|
$item = $formSetup->newItem('INVOICE_SITUATION_DEFAULT_RETAINED_WARRANTY_COND_ID');
|
||||||
$item = $formSetup->newItem('NO_PARAM_JUST_TEXT');
|
$item->nameText = $langs->trans('PaymentConditionsShortRetainedWarranty');
|
||||||
$item->fieldOverride = (empty($_SERVER['HTTPS']) ? 'http://' : 'https://') . $_SERVER['HTTP_HOST'];
|
$form->load_cache_conditions_paiements();
|
||||||
$item->cssClass = 'minwidth500';
|
$item->fieldOutputOverride = $form->cache_conditions_paiements[$conf->global->INVOICE_SITUATION_DEFAULT_RETAINED_WARRANTY_COND_ID]['label'];
|
||||||
|
$item->fieldInputOverride = $form->getSelectConditionsPaiements($conf->global->INVOICE_SITUATION_DEFAULT_RETAINED_WARRANTY_COND_ID, 'INVOICE_SITUATION_DEFAULT_RETAINED_WARRANTY_COND_ID', -1, 1);
|
||||||
// Setup conf MYMODULE_MYPARAM1 as a simple string input
|
|
||||||
$item = $formSetup->newItem('MYMODULE_MYPARAM1');
|
|
||||||
|
|
||||||
// Setup conf MYMODULE_MYPARAM1 as a simple textarea input but we replace the text of field title
|
|
||||||
$item = $formSetup->newItem('MYMODULE_MYPARAM2');
|
|
||||||
$item->nameText = $item->getNameText().' more html text ';
|
|
||||||
|
|
||||||
// Setup conf MYMODULE_MYPARAM3
|
|
||||||
$item = $formSetup->newItem('MYMODULE_MYPARAM3');
|
|
||||||
$item->setAsThirdpartyType();
|
|
||||||
|
|
||||||
// Setup conf MYMODULE_MYPARAM4 : exemple of quick define write style
|
|
||||||
$formSetup->newItem('MYMODULE_MYPARAM4')->setAsYesNo();
|
|
||||||
|
|
||||||
// Setup conf MYMODULE_MYPARAM5
|
|
||||||
$formSetup->newItem('MYMODULE_MYPARAM5')->setAsEmailTemplate('thirdparty');
|
|
||||||
|
|
||||||
// Setup conf MYMODULE_MYPARAM6
|
|
||||||
$formSetup->newItem('MYMODULE_MYPARAM6')->setAsSecureKey()->enabled = 0; // disabled
|
|
||||||
|
|
||||||
// Setup conf MYMODULE_MYPARAM7
|
|
||||||
$formSetup->newItem('MYMODULE_MYPARAM7')->setAsProduct();
|
|
||||||
*/
|
|
||||||
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
@ -180,169 +155,18 @@ if ($action == 'edit') {
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (count($formSetup->items) > 0) {
|
if (count($formSetup->items) > 0) {
|
||||||
|
if ($action != 'edit') {
|
||||||
print '<div class="tabsAction">';
|
print '<div class="tabsAction">';
|
||||||
print '<a class="butAction" href="'.$_SERVER["PHP_SELF"].'?action=edit&token='.newToken().'">'.$langs->trans("Modify").'</a>';
|
print '<a class="butAction" href="'.$_SERVER["PHP_SELF"].'?action=edit&token='.newToken().'">'.$langs->trans("Modify").'</a>';
|
||||||
print '</div>';
|
print '</div>';
|
||||||
|
}
|
||||||
} else {
|
} else {
|
||||||
print '<br>'.$langs->trans("NothingToSetup");
|
print '<br>'.$langs->trans("NothingToSetup");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
print '<hr/>';
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
print '<form method="POST" action="'.$_SERVER['PHP_SELF'].'">';
|
|
||||||
print '<input type="hidden" name="token" value="'.newToken().'">';
|
|
||||||
|
|
||||||
|
|
||||||
print '<div class="div-table-responsive-no-min">'; // You can use div-table-responsive-no-min if you dont need reserved height for your table
|
|
||||||
print '<table class="noborder centpercent">';
|
|
||||||
|
|
||||||
print '<tr class="liste_titre">';
|
|
||||||
print '<td>'.$langs->trans("Parameter").'</td>';
|
|
||||||
print '<td align="center" width="60">'.$langs->trans("Value").'</td>';
|
|
||||||
print '<td width="80"> </td>';
|
|
||||||
print "</tr>\n";
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
$metas = array(
|
|
||||||
'type' => 'number',
|
|
||||||
'step' => '0.01',
|
|
||||||
'min' => 0,
|
|
||||||
'max' => 100
|
|
||||||
);
|
|
||||||
_printInputFormPart('INVOICE_SITUATION_DEFAULT_RETAINED_WARRANTY_PERCENT', $langs->trans('RetainedwarrantyDefaultPercent'), '', $metas);
|
|
||||||
|
|
||||||
// Conditions paiements
|
|
||||||
$inputCount = empty($inputCount) ? 1 : ($inputCount + 1);
|
|
||||||
print '<tr class="oddeven">';
|
|
||||||
print '<td>'.$langs->trans('PaymentConditionsShortRetainedWarranty').'</td>';
|
|
||||||
print '<td class="center" width="20"> </td>';
|
|
||||||
print '<td class="right" width="300">';
|
|
||||||
print '<input type="hidden" name="param'.$inputCount.'" value="INVOICE_SITUATION_DEFAULT_RETAINED_WARRANTY_COND_ID">';
|
|
||||||
$form->select_conditions_paiements($conf->global->INVOICE_SITUATION_DEFAULT_RETAINED_WARRANTY_COND_ID, 'value'.$inputCount, -1, 1);
|
|
||||||
print '</td></tr>';
|
|
||||||
|
|
||||||
|
|
||||||
print '</table>';
|
|
||||||
print '</div>';
|
|
||||||
|
|
||||||
print '<br>';
|
|
||||||
|
|
||||||
_updateBtn();
|
|
||||||
|
|
||||||
print '</form>';
|
|
||||||
|
|
||||||
print dol_get_fiche_end();
|
print dol_get_fiche_end();
|
||||||
|
|
||||||
// End of page
|
// End of page
|
||||||
llxFooter();
|
llxFooter();
|
||||||
$db->close();
|
$db->close();
|
||||||
|
|
||||||
/**
|
|
||||||
* Print an update button
|
|
||||||
*
|
|
||||||
* @return void
|
|
||||||
*/
|
|
||||||
function _updateBtn()
|
|
||||||
{
|
|
||||||
global $langs;
|
|
||||||
print '<div class="center">';
|
|
||||||
print '<input type="submit" class="button button-save" value="'.$langs->trans("Save").'">';
|
|
||||||
print '</div>';
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Print a On/Off button
|
|
||||||
*
|
|
||||||
* @param string $confkey the conf key
|
|
||||||
* @param bool $title Title of conf
|
|
||||||
* @param string $desc Description
|
|
||||||
*
|
|
||||||
* @return void
|
|
||||||
*/
|
|
||||||
function _printOnOff($confkey, $title = false, $desc = '')
|
|
||||||
{
|
|
||||||
global $langs;
|
|
||||||
|
|
||||||
print '<tr class="oddeven">';
|
|
||||||
print '<td>'.($title ? $title : $langs->trans($confkey));
|
|
||||||
if (!empty($desc)) {
|
|
||||||
print '<br><small>'.$langs->trans($desc).'</small>';
|
|
||||||
}
|
|
||||||
print '</td>';
|
|
||||||
print '<td class="center" width="20"> </td>';
|
|
||||||
print '<td class="right" width="300">';
|
|
||||||
print ajax_constantonoff($confkey);
|
|
||||||
print '</td></tr>';
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Print a form part
|
|
||||||
*
|
|
||||||
* @param string $confkey the conf key
|
|
||||||
* @param bool $title Title of conf
|
|
||||||
* @param string $desc Description of
|
|
||||||
* @param array $metas html meta
|
|
||||||
* @param string $type type of input textarea or input
|
|
||||||
* @param bool $help help description
|
|
||||||
*
|
|
||||||
* @return void
|
|
||||||
*/
|
|
||||||
function _printInputFormPart($confkey, $title = false, $desc = '', $metas = array(), $type = 'input', $help = false)
|
|
||||||
{
|
|
||||||
global $langs, $conf, $db, $inputCount;
|
|
||||||
|
|
||||||
$inputCount = empty($inputCount) ? 1 : ($inputCount + 1);
|
|
||||||
$form = new Form($db);
|
|
||||||
|
|
||||||
$defaultMetas = array(
|
|
||||||
'name' => 'value'.$inputCount
|
|
||||||
);
|
|
||||||
|
|
||||||
if ($type != 'textarea') {
|
|
||||||
$defaultMetas['type'] = 'text';
|
|
||||||
$defaultMetas['value'] = $conf->global->{$confkey};
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
$metas = array_merge($defaultMetas, $metas);
|
|
||||||
$metascompil = '';
|
|
||||||
foreach ($metas as $key => $values) {
|
|
||||||
$metascompil .= ' '.$key.'="'.$values.'" ';
|
|
||||||
}
|
|
||||||
|
|
||||||
print '<tr class="oddeven">';
|
|
||||||
print '<td>';
|
|
||||||
|
|
||||||
if (!empty($help)) {
|
|
||||||
print $form->textwithtooltip(($title ? $title : $langs->trans($confkey)), $langs->trans($help), 2, 1, img_help(1, ''));
|
|
||||||
} else {
|
|
||||||
print $title ? $title : $langs->trans($confkey);
|
|
||||||
}
|
|
||||||
|
|
||||||
if (!empty($desc)) {
|
|
||||||
print '<br><small>'.$langs->trans($desc).'</small>';
|
|
||||||
}
|
|
||||||
|
|
||||||
print '</td>';
|
|
||||||
print '<td class="center" width="20"> </td>';
|
|
||||||
print '<td class="right" width="300">';
|
|
||||||
print '<input type="hidden" name="param'.$inputCount.'" value="'.$confkey.'">';
|
|
||||||
|
|
||||||
print '<input type="hidden" name="action" value="setModuleOptions">';
|
|
||||||
if ($type == 'textarea') {
|
|
||||||
print '<textarea '.$metascompil.' >'.dol_htmlentities($conf->global->{$confkey}).'</textarea>';
|
|
||||||
} elseif ($type == 'input') {
|
|
||||||
print '<input '.$metascompil.' />';
|
|
||||||
} else {
|
|
||||||
// custom
|
|
||||||
print $type;
|
|
||||||
}
|
|
||||||
print '</td></tr>';
|
|
||||||
}
|
|
||||||
|
|||||||
@ -3893,7 +3893,7 @@ class Form
|
|||||||
|
|
||||||
// phpcs:disable PEAR.NamingConventions.ValidFunctionName.ScopeNotCamelCaps
|
// phpcs:disable PEAR.NamingConventions.ValidFunctionName.ScopeNotCamelCaps
|
||||||
/**
|
/**
|
||||||
* Return list of payment modes.
|
* print list of payment modes.
|
||||||
* Constant MAIN_DEFAULT_PAYMENT_TERM_ID can used to set default value but scope is all application, probably not what you want.
|
* Constant MAIN_DEFAULT_PAYMENT_TERM_ID can used to set default value but scope is all application, probably not what you want.
|
||||||
* See instead to force the default value by the caller.
|
* See instead to force the default value by the caller.
|
||||||
*
|
*
|
||||||
@ -3908,8 +3908,28 @@ class Form
|
|||||||
public function select_conditions_paiements($selected = 0, $htmlname = 'condid', $filtertype = -1, $addempty = 0, $noinfoadmin = 0, $morecss = '')
|
public function select_conditions_paiements($selected = 0, $htmlname = 'condid', $filtertype = -1, $addempty = 0, $noinfoadmin = 0, $morecss = '')
|
||||||
{
|
{
|
||||||
// phpcs:enable
|
// phpcs:enable
|
||||||
global $langs, $user, $conf;
|
print $this->getSelectConditionsPaiements($selected, $htmlname, $filtertype, $addempty, $noinfoadmin, $morecss);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Return list of payment modes.
|
||||||
|
* Constant MAIN_DEFAULT_PAYMENT_TERM_ID can used to set default value but scope is all application, probably not what you want.
|
||||||
|
* See instead to force the default value by the caller.
|
||||||
|
*
|
||||||
|
* @param int $selected Id of payment term to preselect by default
|
||||||
|
* @param string $htmlname Nom de la zone select
|
||||||
|
* @param int $filtertype Not used
|
||||||
|
* @param int $addempty Add an empty entry
|
||||||
|
* @param int $noinfoadmin 0=Add admin info, 1=Disable admin info
|
||||||
|
* @param string $morecss Add more CSS on select tag
|
||||||
|
* @return void
|
||||||
|
*/
|
||||||
|
public function getSelectConditionsPaiements($selected = 0, $htmlname = 'condid', $filtertype = -1, $addempty = 0, $noinfoadmin = 0, $morecss = '')
|
||||||
|
{
|
||||||
|
|
||||||
|
global $langs, $user, $conf;
|
||||||
|
$out = '';
|
||||||
dol_syslog(__METHOD__." selected=".$selected.", htmlname=".$htmlname, LOG_DEBUG);
|
dol_syslog(__METHOD__." selected=".$selected.", htmlname=".$htmlname, LOG_DEBUG);
|
||||||
|
|
||||||
$this->load_cache_conditions_paiements();
|
$this->load_cache_conditions_paiements();
|
||||||
@ -3919,24 +3939,25 @@ class Form
|
|||||||
$selected = $conf->global->MAIN_DEFAULT_PAYMENT_TERM_ID;
|
$selected = $conf->global->MAIN_DEFAULT_PAYMENT_TERM_ID;
|
||||||
}
|
}
|
||||||
|
|
||||||
print '<select id="'.$htmlname.'" class="flat selectpaymentterms'.($morecss ? ' '.$morecss : '').'" name="'.$htmlname.'">';
|
$out.= '<select id="'.$htmlname.'" class="flat selectpaymentterms'.($morecss ? ' '.$morecss : '').'" name="'.$htmlname.'">';
|
||||||
if ($addempty) {
|
if ($addempty) {
|
||||||
print '<option value="0"> </option>';
|
$out.= '<option value="0"> </option>';
|
||||||
}
|
}
|
||||||
foreach ($this->cache_conditions_paiements as $id => $arrayconditions) {
|
foreach ($this->cache_conditions_paiements as $id => $arrayconditions) {
|
||||||
if ($selected == $id) {
|
if ($selected == $id) {
|
||||||
print '<option value="'.$id.'" selected>';
|
$out.= '<option value="'.$id.'" selected>';
|
||||||
} else {
|
} else {
|
||||||
print '<option value="'.$id.'">';
|
$out.= '<option value="'.$id.'">';
|
||||||
}
|
}
|
||||||
print $arrayconditions['label'];
|
$out.= $arrayconditions['label'];
|
||||||
print '</option>';
|
$out.= '</option>';
|
||||||
}
|
}
|
||||||
print '</select>';
|
$out.= '</select>';
|
||||||
if ($user->admin && empty($noinfoadmin)) {
|
if ($user->admin && empty($noinfoadmin)) {
|
||||||
print info_admin($langs->trans("YouCanChangeValuesForThisListFromDictionarySetup"), 1);
|
$out.= info_admin($langs->trans("YouCanChangeValuesForThisListFromDictionarySetup"), 1);
|
||||||
}
|
}
|
||||||
print ajax_combobox($htmlname);
|
$out.= ajax_combobox($htmlname);
|
||||||
|
return $out;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@ -215,7 +215,7 @@ class FormSetup
|
|||||||
$out = '<table class="noborder centpercent">';
|
$out = '<table class="noborder centpercent">';
|
||||||
$out .= '<thead>';
|
$out .= '<thead>';
|
||||||
$out .= '<tr class="liste_titre">';
|
$out .= '<tr class="liste_titre">';
|
||||||
$out .= ' <td class="titlefield">' . $this->langs->trans("Parameter") . '</td>';
|
$out .= ' <td>' . $this->langs->trans("Parameter") . '</td>';
|
||||||
$out .= ' <td>' . $this->langs->trans("Value") . '</td>';
|
$out .= ' <td>' . $this->langs->trans("Value") . '</td>';
|
||||||
$out .= '</tr>';
|
$out .= '</tr>';
|
||||||
$out .= '</thead>';
|
$out .= '</thead>';
|
||||||
@ -560,13 +560,16 @@ class FormSetupItem
|
|||||||
/** @var string $helpText */
|
/** @var string $helpText */
|
||||||
public $helpText = '';
|
public $helpText = '';
|
||||||
|
|
||||||
/** @var string $value */
|
/** @var string $fieldValue */
|
||||||
public $fieldValue;
|
public $fieldValue;
|
||||||
|
|
||||||
|
/** @var array $fieldAttr fields attribute only for compatible fields like input text */
|
||||||
|
public $fieldAttr;
|
||||||
|
|
||||||
/** @var bool|string set this var to override field output will override $fieldInputOverride and $fieldOutputOverride too */
|
/** @var bool|string set this var to override field output will override $fieldInputOverride and $fieldOutputOverride too */
|
||||||
public $fieldOverride = false;
|
public $fieldOverride = false;
|
||||||
|
|
||||||
/** @var bool|string set this var to override field output */
|
/** @var bool|string set this var to override field input */
|
||||||
public $fieldInputOverride = false;
|
public $fieldInputOverride = false;
|
||||||
|
|
||||||
/** @var bool|string set this var to override field output */
|
/** @var bool|string set this var to override field output */
|
||||||
@ -583,6 +586,7 @@ class FormSetupItem
|
|||||||
/**
|
/**
|
||||||
* TODO each type must have setAs{type} method to help configuration
|
* TODO each type must have setAs{type} method to help configuration
|
||||||
* And set var as protected when its done configuration must be done by method
|
* And set var as protected when its done configuration must be done by method
|
||||||
|
* this is important for retrocompatibility of futures versions
|
||||||
* @var string $type 'string', 'textarea', 'category:'.Categorie::TYPE_CUSTOMER', 'emailtemplate', 'thirdparty_type'
|
* @var string $type 'string', 'textarea', 'category:'.Categorie::TYPE_CUSTOMER', 'emailtemplate', 'thirdparty_type'
|
||||||
*/
|
*/
|
||||||
protected $type = 'string';
|
protected $type = 'string';
|
||||||
@ -598,9 +602,15 @@ class FormSetupItem
|
|||||||
*/
|
*/
|
||||||
public function __construct($confKey)
|
public function __construct($confKey)
|
||||||
{
|
{
|
||||||
global $langs, $db, $conf;
|
global $langs, $db, $conf, $form;
|
||||||
$this->db = $db;
|
$this->db = $db;
|
||||||
|
|
||||||
|
if (!empty($form) && is_object($form) && get_class($form) == 'Form') { // form class have cache inside so I use it for optimise
|
||||||
|
$this->form = $form;
|
||||||
|
} else {
|
||||||
$this->form = new Form($this->db);
|
$this->form = new Form($this->db);
|
||||||
|
}
|
||||||
|
|
||||||
$this->langs = $langs;
|
$this->langs = $langs;
|
||||||
$this->entity = $conf->entity;
|
$this->entity = $conf->entity;
|
||||||
|
|
||||||
@ -700,6 +710,10 @@ class FormSetupItem
|
|||||||
return $this->fieldInputOverride;
|
return $this->fieldInputOverride;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
$this->fieldAttr['name'] = $this->confKey;
|
||||||
|
$this->fieldAttr['id'] = 'setup-'.$this->confKey;
|
||||||
|
$this->fieldAttr['value'] = $this->fieldValue;
|
||||||
|
|
||||||
$out = '';
|
$out = '';
|
||||||
|
|
||||||
if ($this->type == 'title') {
|
if ($this->type == 'title') {
|
||||||
@ -726,7 +740,9 @@ class FormSetupItem
|
|||||||
$out.= $this->form->select_produits($selected, $this->confKey, '', 0, 0, 1, 2, '', 0, array(), 0, '1', 0, $this->cssClass, 0, '', null, 1);
|
$out.= $this->form->select_produits($selected, $this->confKey, '', 0, 0, 1, 2, '', 0, array(), 0, '1', 0, $this->cssClass, 0, '', null, 1);
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
$out.= '<input name="'.$this->confKey.'" class="flat '.(empty($this->cssClass) ? 'minwidth200' : $this->cssClass).'" value="'.$this->fieldValue.'">';
|
if (empty($this->fieldAttr)) { $this->fieldAttr['class'] = 'flat '.(empty($this->cssClass) ? 'minwidth200' : $this->cssClass); }
|
||||||
|
|
||||||
|
$out.= '<input '.FormSetup::generateAttributesStringFromArray($this->fieldAttr).' />';
|
||||||
}
|
}
|
||||||
|
|
||||||
return $out;
|
return $out;
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user