* Copyright (C) 2004-2015 Laurent Destailleur * * 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 * the Free Software Foundation; either version 3 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ /** * \file htdocs/comm/remise.php * \ingroup societe * \brief Page to edit relative discount of a customer */ require '../main.inc.php'; require_once DOL_DOCUMENT_ROOT.'/core/lib/company.lib.php'; require_once DOL_DOCUMENT_ROOT.'/contact/class/contact.class.php'; // Load translation files required by the page $langs->loadLangs(array('companies', 'orders', 'bills')); $id=GETPOST("id", 'int'); $socid = GETPOST('id', 'int')?GETPOST('id', 'int'):GETPOST('socid', 'int'); // Security check if ($user->societe_id > 0) { $socid = $user->societe_id; } $backtopage = GETPOST('backtopage', 'alpha'); /* * Actions */ if (GETPOST('cancel', 'alpha') && ! empty($backtopage)) { header("Location: ".$backtopage); exit; } if (GETPOST('action', 'aZ09') == 'setremise') { $object = new Societe($db); $object->fetch($id); $discount_type = GETPOST('discount_type', 'int'); if(! empty($discount_type)) { $result=$object->set_remise_supplier(price2num(GETPOST("remise")), GETPOST("note"), $user); } else { $result=$object->set_remise_client(price2num(GETPOST("remise")), GETPOST("note"), $user); } if ($result > 0) { if (! empty($backtopage)) { header("Location: ".$backtopage); exit; } else { header("Location: remise.php?id=".$_GET["id"]); exit; } } else { setEventMessages($object->error, $object->errors, 'errors'); } } /* * View */ $form=new Form($db); llxHeader(); /********************************************************************************* * * Mode fiche * *********************************************************************************/ if ($socid > 0) { // On recupere les donnees societes par l'objet $object = new Societe($db); $object->fetch($socid); $head = societe_prepare_head($object); $isCustomer = ($object->client == 1 || $object->client == 3); $isSupplier = $object->fournisseur == 1; print '
'; print ''; print ''; print ''; dol_fiche_head($head, 'relativediscount', $langs->trans("ThirdParty"), -1, 'company'); dol_banner_tab($object, 'socid', '', ($user->societe_id?0:1), 'rowid', 'nom'); print '
'; print '
'; if (! $isCustomer && ! $isSupplier) { print '

'.$langs->trans('ThirdpartyIsNeitherCustomerNorClientSoCannotHaveDiscounts').'

'; dol_fiche_end(); print ''; // End of page llxFooter(); $db->close(); exit; } print ''; if ($isCustomer) { // Customer discount print '"; } if ($isSupplier) { // Supplier discount print '"; } print '
'; print $langs->trans("CustomerRelativeDiscount").''.price2num($object->remise_percent)."%
'; print $langs->trans("SupplierRelativeDiscount").''.price2num($object->remise_supplier_percent)."%
'; print '
'; print load_fiche_titre($langs->trans("NewRelativeDiscount"), '', ''); print '
'; /*if (! ($isCustomer && $isSupplier)) { if ($isCustomer && ! $isSupplier) { print ''; } if (! $isCustomer && $isSupplier) { print ''; } }*/ print ''; if ($isCustomer || $isSupplier) { // Discount type print ''; } // New value print ''; // Motif/Note print ''; print "
'.$langs->trans('DiscountType').''; if ($isCustomer) { print ' '; } if ($isSupplier) { print ' '; } print '
'; print $langs->trans("NewValue").'%
'; print $langs->trans("NoteReason").'
"; print '
'; dol_fiche_end(); print '
'; print ''; if (! empty($backtopage)) { print '     '; print ''; } print '
'; print ""; print '
'; if($isCustomer) { if($isSupplier) { print '
'; print '
'; print load_fiche_titre($langs->trans("CustomerDiscounts"), '', ''); } /* * List log of all customer percent discounts */ $sql = "SELECT rc.rowid, rc.remise_client as remise_percent, rc.note, rc.datec as dc,"; $sql.= " u.login, u.rowid as user_id"; $sql.= " FROM ".MAIN_DB_PREFIX."societe_remise as rc, ".MAIN_DB_PREFIX."user as u"; $sql.= " WHERE rc.fk_soc = " . $object->id; $sql.= " AND rc.entity = " . $conf->entity; $sql.= " AND u.rowid = rc.fk_user_author"; $sql.= " ORDER BY rc.datec DESC"; $resql=$db->query($sql); if ($resql) { print ''; $tag = !$tag; print ''; print ''; print ''; print ''; print ''; print ''; $num = $db->num_rows($resql); if ($num > 0) { $i = 0; while ($i < $num) { $obj = $db->fetch_object($resql); print ''; print ''; print ''; print ''; print ''; print ''; $i++; } } else { print ''; } $db->free($resql); print "
'.$langs->trans("Date").''.$langs->trans("CustomerRelativeDiscountShort").''.$langs->trans("NoteReason").''.$langs->trans("User").'
'.dol_print_date($db->jdate($obj->dc), "dayhour").''.price2num($obj->remise_percent).'%'.$obj->note.''.img_object($langs->trans("ShowUser"), 'user').' '.$obj->login.'
'.$langs->trans("None").'
"; } else { dol_print_error($db); } } if($isSupplier) { if($isCustomer) { print '
'; // class="fichehalfleft" print '
'; print '
'; print load_fiche_titre($langs->trans("SupplierDiscounts"), '', ''); } /* * List log of all supplier percent discounts */ $sql = "SELECT rc.rowid, rc.remise_supplier as remise_percent, rc.note, rc.datec as dc,"; $sql.= " u.login, u.rowid as user_id"; $sql.= " FROM ".MAIN_DB_PREFIX."societe_remise_supplier as rc, ".MAIN_DB_PREFIX."user as u"; $sql.= " WHERE rc.fk_soc = " . $object->id; $sql.= " AND rc.entity = " . $conf->entity; $sql.= " AND u.rowid = rc.fk_user_author"; $sql.= " ORDER BY rc.datec DESC"; $resql=$db->query($sql); if ($resql) { print ''; $tag = !$tag; print ''; print ''; print ''; print ''; print ''; print ''; $num = $db->num_rows($resql); if ($num > 0) { $i = 0; while ($i < $num) { $obj = $db->fetch_object($resql); print ''; print ''; print ''; print ''; print ''; print ''; $i++; } } else { print ''; } $db->free($resql); print "
'.$langs->trans("Date").''.$langs->trans("CustomerRelativeDiscountShort").''.$langs->trans("NoteReason").''.$langs->trans("User").'
'.dol_print_date($db->jdate($obj->dc), "dayhour").''.price2num($obj->remise_percent).'%'.$obj->note.''.img_object($langs->trans("ShowUser"), 'user').' '.$obj->login.'
'.$langs->trans("None").'
"; } else { dol_print_error($db); } if($isCustomer) { print '
'; // class="ficheaddleft" print '
'; // class="fichehalfright" print '
'; // class="fichecenter" } } } // End of page llxFooter(); $db->close();