diff --git a/htdocs/comm/propal/card.php b/htdocs/comm/propal/card.php
index 754d01e3b78..17c36226333 100644
--- a/htdocs/comm/propal/card.php
+++ b/htdocs/comm/propal/card.php
@@ -2113,6 +2113,24 @@ if ($action == 'create') {
print '';
print '';
+ // Payment mode
+ print '
';
+ print '';
+ print '';
+ print ' ';
+ if ($object->statut == Propal::STATUS_DRAFT && $action == 'editmode' && $usercancreate) {
+ $form->form_modes_reglement($_SERVER['PHP_SELF'].'?id='.$object->id, $object->mode_reglement_id, 'mode_reglement_id', 'CRDT', 1, 1);
+ } else {
+ $form->form_modes_reglement($_SERVER['PHP_SELF'].'?id='.$object->id, $object->mode_reglement_id, 'none');
+ }
+ print ' ';
+
// Delivery date
$langs->load('deliveries');
print '';
@@ -2200,24 +2218,6 @@ if ($action == 'create') {
print ' ';
print ' ';
- // Payment mode
- print '';
- print '';
- print '';
- print ' ';
- if ($object->statut == Propal::STATUS_DRAFT && $action == 'editmode' && $usercancreate) {
- $form->form_modes_reglement($_SERVER['PHP_SELF'].'?id='.$object->id, $object->mode_reglement_id, 'mode_reglement_id', 'CRDT', 1, 1);
- } else {
- $form->form_modes_reglement($_SERVER['PHP_SELF'].'?id='.$object->id, $object->mode_reglement_id, 'none');
- }
- print ' ';
-
// Multicurrency
if (!empty($conf->multicurrency->enabled)) {
// Multicurrency code
diff --git a/htdocs/comm/propal/list.php b/htdocs/comm/propal/list.php
index c75589c1aa0..085b9196820 100644
--- a/htdocs/comm/propal/list.php
+++ b/htdocs/comm/propal/list.php
@@ -95,6 +95,7 @@ $search_availability = GETPOST('search_availability', 'int');
$search_categ_cus = GETPOST("search_categ_cus", 'int');
$search_fk_cond_reglement = GETPOST("search_fk_cond_reglement", 'int');
$search_fk_shipping_method = GETPOST("search_fk_shipping_method", 'int');
+$search_fk_input_reason = GETPOST("search_fk_input_reason", 'int');
$search_fk_mode_reglement = GETPOST("search_fk_mode_reglement", 'int');
$search_btn = GETPOST('button_search', 'alpha');
$search_remove_btn = GETPOST('button_removefilter', 'alpha');
@@ -189,6 +190,7 @@ $arrayfields = array(
'p.date_livraison'=>array('label'=>"DeliveryDate", 'checked'=>0),
'ava.rowid'=>array('label'=>"AvailabilityPeriod", 'checked'=>0),
'p.fk_shipping_method'=>array('label'=>"SendingMethod", 'checked'=>0, 'enabled'=>!empty($conf->expedition->enabled)),
+ 'p.fk_input_reason'=>array('label'=>"Origin", 'checked'=>0, 'enabled'=>1),
'p.fk_cond_reglement'=>array('label'=>"PaymentConditionsShort", 'checked'=>0),
'p.fk_mode_reglement'=>array('label'=>"PaymentMode", 'checked'=>0),
'p.total_ht'=>array('label'=>"AmountHT", 'checked'=>1),
@@ -277,6 +279,7 @@ if (GETPOST('button_removefilter_x', 'alpha') || GETPOST('button_removefilter.x'
$search_categ_cus = 0;
$search_fk_cond_reglement = '';
$search_fk_shipping_method = '';
+ $search_fk_input_reason = '';
$search_fk_mode_reglement = '';
}
if ($object_statut != '') {
@@ -414,7 +417,7 @@ $sql .= ' p.rowid, p.entity, p.note_private, p.total_ht, p.total_tva, p.total_tt
$sql .= ' p.fk_multicurrency, p.multicurrency_code, p.multicurrency_tx, p.multicurrency_total_ht, p.multicurrency_total_tva, p.multicurrency_total_ttc,';
$sql .= ' p.datec as date_creation, p.tms as date_update, p.date_cloture as date_cloture,';
$sql .= ' p.note_public, p.note_private,';
-$sql .= ' p.fk_cond_reglement,p.fk_mode_reglement,p.fk_shipping_method,';
+$sql .= ' p.fk_cond_reglement,p.fk_mode_reglement,p.fk_shipping_method,p.fk_input_reason,';
$sql .= " pr.rowid as project_id, pr.ref as project_ref, pr.title as project_label,";
$sql .= ' u.login';
if (!$user->rights->societe->client->voir && !$socid) {
@@ -547,6 +550,9 @@ if ($search_fk_cond_reglement > 0) {
if ($search_fk_shipping_method > 0) {
$sql .= " AND p.fk_shipping_method = ".$db->escape($search_fk_shipping_method);
}
+if ($search_fk_input_reason > 0) {
+ $sql .= " AND p.fk_input_reason = ".$db->escape($search_fk_input_reason);
+}
if ($search_fk_mode_reglement > 0) {
$sql .= " AND p.fk_mode_reglement = ".$db->escape($search_fk_mode_reglement);
}
@@ -735,6 +741,9 @@ if ($resql) {
if ($search_fk_shipping_method > 0) {
$param .= '&search_fk_shipping_method='.$search_fk_shipping_method;
}
+ if ($search_fk_input_reason > 0) {
+ $param .= '&search_fk_input_reason='.$search_fk_input_reason;
+ }
if ($search_fk_mode_reglement > 0) {
$param .= '&search_fk_mode_reglement='.$search_fk_mode_reglement;
}
@@ -983,6 +992,12 @@ if ($resql) {
$form->selectShippingMethod($search_fk_shipping_method, 'search_fk_shipping_method', '', 1, '', 1);
print '';
}
+ // Source - Input reason
+ if (!empty($arrayfields['p.fk_input_reason']['checked'])) {
+ print '';
+ $form->selectInputReason($search_fk_input_reason, 'search_fk_input_reason', '', 1, 'maxwidth125', 1);
+ print ' ';
+ }
// Payment term
if (!empty($arrayfields['p.fk_cond_reglement']['checked'])) {
print '';
@@ -1169,6 +1184,9 @@ if ($resql) {
if (!empty($arrayfields['p.fk_shipping_method']['checked'])) {
print_liste_field_titre($arrayfields['p.fk_shipping_method']['label'], $_SERVER["PHP_SELF"], "p.fk_shipping_method", "", $param, '', $sortfield, $sortorder);
}
+ if (!empty($arrayfields['p.fk_input_reason']['checked'])) {
+ print_liste_field_titre($arrayfields['p.fk_input_reason']['label'], $_SERVER["PHP_SELF"], "p.fk_input_reason", "", $param, '', $sortfield, $sortorder);
+ }
if (!empty($arrayfields['p.fk_cond_reglement']['checked'])) {
print_liste_field_titre($arrayfields['p.fk_cond_reglement']['label'], $_SERVER["PHP_SELF"], "p.fk_cond_reglement", "", $param, '', $sortfield, $sortorder);
}
@@ -1473,7 +1491,7 @@ if ($resql) {
$totalarray['nbfield']++;
}
}
- //Shipping Method
+ // Shipping Method
if (!empty($arrayfields['p.fk_shipping_method']['checked'])) {
print ' ';
$form->formSelectShippingMethod('', $obj->fk_shipping_method, 'none', 1);
@@ -1482,6 +1500,17 @@ if ($resql) {
$totalarray['nbfield']++;
}
}
+ // Source - input reason
+ if (!empty($arrayfields['p.fk_input_reason']['checked'])) {
+ print ' ';
+ if ($obj->fk_input_reason > 0) {
+ print $form->cache_demand_reason[$obj->fk_input_reason]['label'];
+ }
+ print ' ';
+ if (!$i) {
+ $totalarray['nbfield']++;
+ }
+ }
// Payment terms
if (!empty($arrayfields['p.fk_cond_reglement']['checked'])) {
print '';
diff --git a/htdocs/core/class/html.form.class.php b/htdocs/core/class/html.form.class.php
index 08a83d5ad0a..5ecbf41586b 100644
--- a/htdocs/core/class/html.form.class.php
+++ b/htdocs/core/class/html.form.class.php
@@ -3729,15 +3729,17 @@ class Form
* @param string $htmlname Nom de la zone select
* @param string $exclude To exclude a code value (Example: SRC_PROP)
* @param int $addempty Add an empty entry
+ * @param string $morecss Add more css to the HTML select component
+ * @param int $notooltip Do not show the tooltip for admin
* @return void
*/
- public function selectInputReason($selected = '', $htmlname = 'demandreasonid', $exclude = '', $addempty = 0)
+ public function selectInputReason($selected = '', $htmlname = 'demandreasonid', $exclude = '', $addempty = 0, $morecss = '', $notooltip = 0)
{
global $langs, $user;
$this->loadCacheInputReason();
- print '';
+ print '';
if ($addempty) {
print ' ';
}
@@ -3756,7 +3758,7 @@ class Form
print '';
}
print ' ';
- if ($user->admin) {
+ if ($user->admin && empty($notooltip)) {
print info_admin($langs->trans("YouCanChangeValuesForThisListFromDictionarySetup"), 1);
}
print ajax_combobox('select_'.$htmlname);