Debug price per customer
This commit is contained in:
parent
5376c771d7
commit
b3c1ebf30a
@ -818,15 +818,16 @@ class Form
|
||||
*
|
||||
* @param string $selected Preselected type
|
||||
* @param string $htmlname Name of field in form
|
||||
* @param string $filter optional filters criteras (example: 's.rowid <> x')
|
||||
* @param string $filter optional filters criteras (example: 's.rowid <> x', 's.client IN (1,3)')
|
||||
* @param int $showempty Add an empty field
|
||||
* @param int $showtype Show third party type in combolist (customer, prospect or supplier)
|
||||
* @param int $forcecombo Force to use combo box
|
||||
* @param array $events Ajax event options to run on change. Example: array(array('method'=>'getContacts', 'url'=>dol_buildpath('/core/ajax/contacts.php',1), 'htmlname'=>'contactid', 'params'=>array('add-customer-contact'=>'disabled')))
|
||||
* @param int $limit Maximum number of elements
|
||||
* @param string $morecss Add more css styles to the SELECT component
|
||||
* @return string HTML string with select box for thirdparty.
|
||||
*/
|
||||
function select_company($selected='', $htmlname='socid', $filter='', $showempty=0, $showtype=0, $forcecombo=0, $events=array(), $limit=0)
|
||||
function select_company($selected='', $htmlname='socid', $filter='', $showempty=0, $showtype=0, $forcecombo=0, $events=array(), $limit=0, $morecss='minwidth100')
|
||||
{
|
||||
$out='';
|
||||
|
||||
@ -860,7 +861,7 @@ class Form
|
||||
}
|
||||
else
|
||||
{*/
|
||||
$out.=$this->select_thirdparty_list($selected, $htmlname, $filter, $showempty, $showtype, $forcecombo, $events, '', 0, $limit);
|
||||
$out.=$this->select_thirdparty_list($selected, $htmlname, $filter, $showempty, $showtype, $forcecombo, $events, '', 0, $limit, $morecss);
|
||||
//}
|
||||
|
||||
return $out;
|
||||
@ -879,9 +880,10 @@ class Form
|
||||
* @param string $filterkey Filter on key value
|
||||
* @param int $outputmode 0=HTML select string, 1=Array
|
||||
* @param int $limit Limit number of answers
|
||||
* @param string $morecss Add more css styles to the SELECT component
|
||||
* @return string HTML string with
|
||||
*/
|
||||
function select_thirdparty_list($selected='',$htmlname='socid',$filter='',$showempty=0, $showtype=0, $forcecombo=0, $events=array(), $filterkey='', $outputmode=0, $limit=0)
|
||||
function select_thirdparty_list($selected='',$htmlname='socid',$filter='',$showempty=0, $showtype=0, $forcecombo=0, $events=array(), $filterkey='', $outputmode=0, $limit=0, $morecss='minwidth100')
|
||||
{
|
||||
global $conf,$user,$langs;
|
||||
|
||||
@ -935,7 +937,7 @@ class Form
|
||||
}
|
||||
|
||||
// Construct $out and $outarray
|
||||
$out.= '<select id="'.$htmlname.'" class="flat minwidth100" name="'.$htmlname.'"'.$nodatarole.'>'."\n";
|
||||
$out.= '<select id="'.$htmlname.'" class="flat'.($morecss?' '.$morecss:'').'" name="'.$htmlname.'"'.$nodatarole.'>'."\n";
|
||||
|
||||
$textifempty='';
|
||||
// Do not use textempty = ' ' or ' ' here, or search on key will search on ' key'.
|
||||
|
||||
@ -110,7 +110,9 @@ if (empty($reshook))
|
||||
break; // We found submited price
|
||||
}
|
||||
}
|
||||
} else {
|
||||
}
|
||||
else
|
||||
{
|
||||
$level = 0;
|
||||
$newprice = price2num($_POST ["price"], 'MU');
|
||||
$newprice_min = price2num($_POST ["price_min"], 'MU');
|
||||
@ -128,7 +130,8 @@ if (empty($reshook))
|
||||
$action='edit_price';
|
||||
}
|
||||
|
||||
if ($newprice < $newprice_min && ! empty($object->fk_price_expression)) {
|
||||
if ($newprice < $newprice_min && ! empty($object->fk_price_expression))
|
||||
{
|
||||
$newprice = $newprice_min; //Set price same as min, the user will not see the
|
||||
}
|
||||
|
||||
@ -185,11 +188,13 @@ if (empty($reshook))
|
||||
$object->updatePrice(0, $object->price_base_type, $user, $object->tva_tx, 0, $level, $object->tva_npr, 1);
|
||||
}
|
||||
|
||||
if ($action == 'edit_price_by_qty') { // Edition d'un prix par quantité
|
||||
if ($action == 'edit_price_by_qty')
|
||||
{ // Edition d'un prix par quantité
|
||||
$rowid = GETPOST('rowid');
|
||||
}
|
||||
|
||||
if ($action == 'update_price_by_qty') { // Ajout / Mise à jour d'un prix par quantité
|
||||
if ($action == 'update_price_by_qty')
|
||||
{ // Ajout / Mise à jour d'un prix par quantité
|
||||
|
||||
// Récupération des variables
|
||||
$rowid = GETPOST('rowid');
|
||||
@ -237,7 +242,8 @@ if (empty($reshook))
|
||||
}
|
||||
}
|
||||
|
||||
if ($action == 'delete_price_by_qty') {
|
||||
if ($action == 'delete_price_by_qty')
|
||||
{
|
||||
$rowid = GETPOST('rowid');
|
||||
|
||||
$sql = "DELETE FROM " . MAIN_DB_PREFIX . "product_price_by_qty";
|
||||
@ -246,7 +252,8 @@ if (empty($reshook))
|
||||
$result = $db->query($sql);
|
||||
}
|
||||
|
||||
if ($action == 'delete_all_price_by_qty') {
|
||||
if ($action == 'delete_all_price_by_qty')
|
||||
{
|
||||
$priceid = GETPOST('priceid');
|
||||
|
||||
$sql = "DELETE FROM " . MAIN_DB_PREFIX . "product_price_by_qty";
|
||||
@ -289,14 +296,15 @@ if (empty($reshook))
|
||||
if ($result < 0) {
|
||||
setEventMessage($prodcustprice->error, 'errors');
|
||||
} else {
|
||||
setEventMessage($langs->trans('Save'), 'mesgs');
|
||||
setEventMessage($langs->trans('RecordSaved'), 'mesgs');
|
||||
}
|
||||
|
||||
$action = '';
|
||||
}
|
||||
}
|
||||
|
||||
if ($action == 'delete_customer_price' && ($user->rights->produit->supprimer || $user->rights->service->supprimer)) {
|
||||
if ($action == 'delete_customer_price' && ($user->rights->produit->supprimer || $user->rights->service->supprimer))
|
||||
{
|
||||
// Delete price by customer
|
||||
$prodcustprice->id = GETPOST('lineid');
|
||||
$result = $prodcustprice->delete($user);
|
||||
@ -304,13 +312,13 @@ if (empty($reshook))
|
||||
if ($result < 0) {
|
||||
setEventMessage($prodcustprice->error, 'mesgs');
|
||||
} else {
|
||||
setEventMessage($langs->trans('Delete'), 'errors');
|
||||
setEventMessage($langs->trans('RecordDeleted'), 'errors');
|
||||
}
|
||||
$action = '';
|
||||
}
|
||||
|
||||
if ($action == 'update_customer_price_confirm' && !$cancel && ($user->rights->produit->creer || $user->rights->service->creer)) {
|
||||
|
||||
if ($action == 'update_customer_price_confirm' && !$cancel && ($user->rights->produit->creer || $user->rights->service->creer))
|
||||
{
|
||||
$maxpricesupplier = $object->min_recommended_price();
|
||||
|
||||
$update_child_soc = GETPOST('updatechildprice');
|
||||
@ -644,7 +652,7 @@ print '</td></tr>';
|
||||
|
||||
print "</table>\n";
|
||||
|
||||
print "</div>\n";
|
||||
dol_fiche_end();
|
||||
|
||||
|
||||
/* ************************************************************************** */
|
||||
@ -653,7 +661,7 @@ print "</div>\n";
|
||||
/* */
|
||||
/* ************************************************************************** */
|
||||
|
||||
if (! $action || $action == 'delete')
|
||||
if (! $action || $action == 'delete' || $action == 'showlog_customer_price' || $action == 'add_customer_price')
|
||||
{
|
||||
print "\n" . '<div class="tabsAction">' . "\n";
|
||||
|
||||
@ -669,7 +677,7 @@ if (! $action || $action == 'delete')
|
||||
*/
|
||||
if ($action == 'edit_price' && ($user->rights->produit->creer || $user->rights->service->creer))
|
||||
{
|
||||
print_fiche_titre($langs->trans("NewPrice"), '', '');
|
||||
print_fiche_titre($langs->trans("NewPrice"), '');
|
||||
|
||||
if (empty($conf->global->PRODUIT_MULTIPRICES))
|
||||
{
|
||||
@ -853,8 +861,6 @@ if ($result)
|
||||
|
||||
if ($num > 0)
|
||||
{
|
||||
print '<br>';
|
||||
|
||||
if (! empty($conf->global->PRODUIT_CUSTOMER_PRICES)) print_fiche_titre($langs->trans("DefaultPrice"),'','');
|
||||
|
||||
print '<table class="noborder" width="100%">';
|
||||
@ -932,7 +938,8 @@ if ($result)
|
||||
print '<td align="right"><a href="' . DOL_URL_ROOT . '/user/card.php?id=' . $objp->user_id . '">' . img_object($langs->trans("ShowUser"), 'user') . ' ' . $objp->login . '</a></td>';
|
||||
|
||||
// Action
|
||||
if ($user->rights->produit->supprimer) {
|
||||
if ($user->rights->produit->supprimer)
|
||||
{
|
||||
print '<td align="right">';
|
||||
if ($i > 0) {
|
||||
print '<a href="' . $_SERVER["PHP_SELF"] . '?action=delete&id=' . $object->id . '&lineid=' . $objp->rowid . '">';
|
||||
@ -955,9 +962,9 @@ if ($result)
|
||||
}
|
||||
|
||||
|
||||
// Add area to show/add/edit a price for a dedicated customer
|
||||
if (! empty($conf->global->PRODUIT_CUSTOMER_PRICES))
|
||||
{
|
||||
|
||||
$prodcustprice = new Productcustomerprice($db);
|
||||
|
||||
$sortfield = GETPOST("sortfield", 'alpha');
|
||||
@ -979,7 +986,7 @@ if (! empty($conf->global->PRODUIT_CUSTOMER_PRICES))
|
||||
|
||||
$search_soc = GETPOST('search_soc');
|
||||
if (! empty($search_soc)) {
|
||||
$filter ['soc.nom'] = $search_soc;
|
||||
$filter['soc.nom'] = $search_soc;
|
||||
}
|
||||
|
||||
if ($action == 'add_customer_price')
|
||||
@ -997,7 +1004,7 @@ if (! empty($conf->global->PRODUIT_CUSTOMER_PRICES))
|
||||
print '<tr>';
|
||||
print '<td>' . $langs->trans('ThirdParty') . '</td>';
|
||||
print '<td>';
|
||||
print $form->select_company('', 'socid', 's.rowid NOT IN (SELECT fk_soc FROM ' . MAIN_DB_PREFIX . 'product_customer_price WHERE fk_product='.$object->id.')', 1);
|
||||
print $form->select_company('', 'socid', 's.client in (1,2,3) AND s.rowid NOT IN (SELECT fk_soc FROM ' . MAIN_DB_PREFIX . 'product_customer_price WHERE fk_product='.$object->id.')', 1, 0, 0, array(), 0, 'minwidth300');
|
||||
print '</td>';
|
||||
print '</tr>';
|
||||
|
||||
@ -1165,9 +1172,10 @@ if (! empty($conf->global->PRODUIT_CUSTOMER_PRICES))
|
||||
|
||||
$option = '&socid=' . GETPOST('socid', 'int') . '&id=' . $object->id;
|
||||
|
||||
print_barre_liste($langs->trans('PriceByCustomerLog'), $page, $_SERVEUR ['PHP_SELF'], $option, $sortfield, $sortorder, '', count($prodcustprice->lines), $nbtotalofrecords);
|
||||
print_barre_liste($langs->trans('PriceByCustomerLog'), $page, $_SERVEUR['PHP_SELF'], $option, $sortfield, $sortorder, '', count($prodcustprice->lines), $nbtotalofrecords, '');
|
||||
|
||||
if (count($prodcustprice->lines) > 0) {
|
||||
if (count($prodcustprice->lines) > 0)
|
||||
{
|
||||
|
||||
print '<form action="' . $_SERVER["PHP_SELF"] . '?id=' . $object->id . '" method="POST">';
|
||||
print '<input type="hidden" name="id" value="' . $object->id . '">';
|
||||
@ -1189,9 +1197,9 @@ if (! empty($conf->global->PRODUIT_CUSTOMER_PRICES))
|
||||
|
||||
$var = True;
|
||||
|
||||
foreach ($prodcustprice->lines as $line) {
|
||||
|
||||
print "<tr $bc[$var]>";
|
||||
foreach ($prodcustprice->lines as $line)
|
||||
{
|
||||
print "<tr ".$bc[$var].">";
|
||||
// Date
|
||||
$staticsoc = new Societe($db);
|
||||
$staticsoc->fetch($line->fk_soc);
|
||||
@ -1219,7 +1227,7 @@ if (! empty($conf->global->PRODUIT_CUSTOMER_PRICES))
|
||||
}
|
||||
|
||||
print "\n" . '<div class="tabsAction">' . "\n";
|
||||
print '<div class="inline-block divButAction"><a class="butAction" href="' . $_SERVER["PHP_SELF"] . '?id=' . $object->id . '">' . $langs->trans("Ok") . '</a></div>';
|
||||
print '<div class="inline-block divButAction"><a class="butAction" href="' . $_SERVER["PHP_SELF"] . '?id=' . $object->id . '">' . $langs->trans("Back") . '</a></div>';
|
||||
print "\n</div><br>\n";
|
||||
}
|
||||
else
|
||||
@ -1268,12 +1276,12 @@ if (! empty($conf->global->PRODUIT_CUSTOMER_PRICES))
|
||||
print '</td>';
|
||||
print '</tr>';
|
||||
|
||||
if (count($prodcustprice->lines) > 0) {
|
||||
|
||||
$var = True;
|
||||
|
||||
foreach ($prodcustprice->lines as $line) {
|
||||
if (count($prodcustprice->lines) > 0)
|
||||
{
|
||||
$var = False;
|
||||
|
||||
foreach ($prodcustprice->lines as $line)
|
||||
{
|
||||
print "<tr ".$bc[$var].">";
|
||||
// Date
|
||||
$staticsoc = new Societe($db);
|
||||
@ -1298,26 +1306,33 @@ if (! empty($conf->global->PRODUIT_CUSTOMER_PRICES))
|
||||
|
||||
// Todo Edit or delete button
|
||||
// Action
|
||||
if ($user->rights->produit->supprimer || $user->rights->service->supprimer) {
|
||||
if ($user->rights->produit->supprimer || $user->rights->service->supprimer)
|
||||
{
|
||||
print '<td align="right">';
|
||||
print '<a href="' . $_SERVER["PHP_SELF"] . '?action=delete_customer_price&id=' . $object->id . '&lineid=' . $line->id . '">';
|
||||
print img_delete();
|
||||
print '</a>';
|
||||
print '<a href="' . $_SERVER["PHP_SELF"] . '?action=edit_customer_price&id=' . $object->id . '&lineid=' . $line->id . '">';
|
||||
print img_edit();
|
||||
print '</a>';
|
||||
print '<a href="' . $_SERVER["PHP_SELF"] . '?action=showlog_customer_price&id=' . $object->id . '&socid=' . $line->fk_soc . '">';
|
||||
print img_info();
|
||||
print '</a>';
|
||||
print ' ';
|
||||
print '<a href="' . $_SERVER["PHP_SELF"] . '?action=edit_customer_price&id=' . $object->id . '&lineid=' . $line->id . '">';
|
||||
print img_edit('default', 0, 'style="vertical-align: middle;"');
|
||||
print '</a>';
|
||||
print ' ';
|
||||
print '<a href="' . $_SERVER["PHP_SELF"] . '?action=delete_customer_price&id=' . $object->id . '&lineid=' . $line->id . '">';
|
||||
print img_delete('default', 'style="vertical-align: middle;"');
|
||||
print '</a>';
|
||||
print '</td>';
|
||||
}
|
||||
|
||||
print "</tr>\n";
|
||||
}
|
||||
} else {
|
||||
}
|
||||
else
|
||||
{
|
||||
$colspan=9;
|
||||
if ($user->rights->produit->supprimer || $user->rights->service->supprimer) $colspan+=1;
|
||||
print "<tr ".$bc[false].">";
|
||||
print '<td colspan="'.$colspan.'">'.$langs->trans('None').'</td>';
|
||||
print "</tr>";
|
||||
}
|
||||
|
||||
print "</table>";
|
||||
|
||||
Loading…
Reference in New Issue
Block a user