diff --git a/ChangeLog b/ChangeLog index 1ffddf5a79e..f31be13c400 100644 --- a/ChangeLog +++ b/ChangeLog @@ -140,9 +140,9 @@ Fix: Link product, In list view and label product. Fix: visible task into area "time" for "My task" must limit task to tasks i am assigned to. Fix: When disabled, all fields to add time into task line must be disabled. Fix: Missing include files.lib.php in some pages that use dol_delete_recursive -Fix: Missing include files.lib.php in some pages ti use dol_delete_recursive. Fix: [ bug #1558 ] Product/service edit page title shows new Ref instead of old ref. Fix: [ bug #1553 ] Saving User displays setup removes menu. +Fix: [ bug #1544 ] Can remove date from invoice ***** ChangeLog for 3.5.4 compared to 3.5.3 ***** Fix: Hide title of event when agenda module disabled. diff --git a/htdocs/commande/class/commande.class.php b/htdocs/commande/class/commande.class.php index 02f6a7f0741..e1739457849 100644 --- a/htdocs/commande/class/commande.class.php +++ b/htdocs/commande/class/commande.class.php @@ -1,7 +1,7 @@ * Copyright (C) 2004-2012 Laurent Destailleur - * Copyright (C) 2005-2013 Regis Houssin + * Copyright (C) 2005-2014 Regis Houssin * Copyright (C) 2006 Andre Cianfarani * Copyright (C) 2010-2013 Juanjo Menent * Copyright (C) 2011 Jean Heimburger @@ -9,7 +9,7 @@ * Copyright (C) 2013 Florian Henry * * 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 * the Free Software Foundation; either version 3 of the License, or * (at your option) any later version. * @@ -291,6 +291,13 @@ class Commande extends CommonOrder } } + // Set new ref and current status + if (! $error) + { + $this->ref = $num; + $this->statut = 1; + } + if (! $error) { // Appel des triggers @@ -301,13 +308,6 @@ class Commande extends CommonOrder // Fin appel triggers } - // Set new ref and current status - if (! $error) - { - $this->ref = $num; - $this->statut = 1; - } - if (! $error) { $this->db->commit(); diff --git a/htdocs/compta/facture.php b/htdocs/compta/facture.php index 56c2bccc830..8138c56450e 100644 --- a/htdocs/compta/facture.php +++ b/htdocs/compta/facture.php @@ -248,18 +248,23 @@ else if ($action == 'setmode' && $user->rights->facture->creer) { dol_print_error($db, $object->error); } -else if ($action == 'setinvoicedate' && $user->rights->facture->creer) { +else if ($action == 'setinvoicedate' && $user->rights->facture->creer) +{ $object->fetch($id); $old_date_lim_reglement = $object->date_lim_reglement; - $object->date = dol_mktime(12, 0, 0, $_POST['invoicedatemonth'], $_POST['invoicedateday'], $_POST['invoicedateyear']); + $date = dol_mktime(12, 0, 0, $_POST['invoicedatemonth'], $_POST['invoicedateday'], $_POST['invoicedateyear']); + if (empty($date)) + { + setEventMessage($langs->trans("ErrorFieldRequired",$langs->transnoentitiesnoconv("Date")),'errors'); + header('Location: '.$_SERVER["PHP_SELF"].'?facid='.$id.'&action=editinvoicedate'); + exit; + } + $object->date=$date; $new_date_lim_reglement = $object->calculate_date_lim_reglement(); - if ($new_date_lim_reglement > $old_date_lim_reglement) - $object->date_lim_reglement = $new_date_lim_reglement; - if ($object->date_lim_reglement < $object->date) - $object->date_lim_reglement = $object->date; + if ($new_date_lim_reglement > $old_date_lim_reglement) $object->date_lim_reglement = $new_date_lim_reglement; + if ($object->date_lim_reglement < $object->date) $object->date_lim_reglement = $object->date; $result = $object->update($user); - if ($result < 0) - dol_print_error($db, $object->error); + if ($result < 0) dol_print_error($db, $object->error); } else if ($action == 'setconditions' && $user->rights->facture->creer) { @@ -267,18 +272,14 @@ else if ($action == 'setconditions' && $user->rights->facture->creer) { $object->cond_reglement_code = 0; // To clean property $object->cond_reglement_id = 0; // To clean property $result = $object->setPaymentTerms(GETPOST('cond_reglement_id', 'int')); - if ($result < 0) - dol_print_error($db, $object->error); + if ($result < 0) dol_print_error($db, $object->error); $old_date_lim_reglement = $object->date_lim_reglement; $new_date_lim_reglement = $object->calculate_date_lim_reglement(); - if ($new_date_lim_reglement > $old_date_lim_reglement) - $object->date_lim_reglement = $new_date_lim_reglement; - if ($object->date_lim_reglement < $object->date) - $object->date_lim_reglement = $object->date; + if ($new_date_lim_reglement > $old_date_lim_reglement) $object->date_lim_reglement = $new_date_lim_reglement; + if ($object->date_lim_reglement < $object->date) $object->date_lim_reglement = $object->date; $result = $object->update($user); - if ($result < 0) - dol_print_error($db, $object->error); + if ($result < 0) dol_print_error($db, $object->error); } else if ($action == 'setpaymentterm' && $user->rights->facture->creer) { @@ -1143,12 +1144,12 @@ else if ($action == 'addline' && $user->rights->facture->creer) // We define price for product if (! empty($conf->global->PRODUIT_MULTIPRICES) && ! empty($object->client->price_level)) { - $pu_ht = $prod->multiprices [$object->client->price_level]; - $pu_ttc = $prod->multiprices_ttc [$object->client->price_level]; - $price_min = $prod->multiprices_min [$object->client->price_level]; - $price_base_type = $prod->multiprices_base_type [$object->client->price_level]; - $tva_tx=$prod->multiprices_tva_tx[$object->client->price_level]; - $tva_npr=$prod->multiprices_recuperableonly[$object->client->price_level]; + $pu_ht = $prod->multiprices[$object->client->price_level]; + $pu_ttc = $prod->multiprices_ttc[$object->client->price_level]; + $price_min = $prod->multiprices_min[$object->client->price_level]; + $price_base_type = $prod->multiprices_base_type[$object->client->price_level]; + //$tva_tx=$prod->multiprices_tva_tx[$object->client->price_level]; + //$tva_npr=$prod->multiprices_recuperableonly[$object->client->price_level]; } elseif (! empty($conf->global->PRODUIT_CUSTOMER_PRICES)) { diff --git a/htdocs/fourn/facture/fiche.php b/htdocs/fourn/facture/fiche.php index 74cc1bd486d..f36ff37fc1a 100644 --- a/htdocs/fourn/facture/fiche.php +++ b/htdocs/fourn/facture/fiche.php @@ -1320,6 +1320,16 @@ if ($action == 'create') $form->select_types_paiements(isset($_POST['mode_reglement_id'])?$_POST['mode_reglement_id']:$mode_reglement_id,'mode_reglement_id'); print ''; + // Project + if (! empty($conf->projet->enabled)) { + $formproject = new FormProjets($db); + + $langs->load('projects'); + print '' . $langs->trans('Project') . ''; + $formproject->select_projects($soc->id, $projectid, 'projectid'); + print ''; + } + // Public note print ''.$langs->trans('NotePublic').''; print ''; diff --git a/htdocs/langs/en_US/resource.lang b/htdocs/langs/en_US/resource.lang index f5927388193..502d328d7c3 100755 --- a/htdocs/langs/en_US/resource.lang +++ b/htdocs/langs/en_US/resource.lang @@ -23,9 +23,11 @@ ShowResourcePlanning=Show resource planning NoResourceInDatabase=No resource in database GotoDate=Go to date +ResourceElementPage=Element resources ResourceCreatedWithSuccess=Resource successfully created RessourceLineSuccessfullyDeleted=Resource line successfully deleted RessourceLineSuccessfullyUpdated=Resource line successfully updated +ResourceLinkedWithSuccess=Resource linked with success TitleResourceCard=Resource card ConfirmDeleteResource=Confirm to delete this resource diff --git a/htdocs/langs/fr_FR/resource.lang b/htdocs/langs/fr_FR/resource.lang index 7d896e27f5f..e4c8a6ade87 100755 --- a/htdocs/langs/fr_FR/resource.lang +++ b/htdocs/langs/fr_FR/resource.lang @@ -2,7 +2,7 @@ MenuResourceIndex=Ressources MenuResourceAdd=Nouvelle ressource MenuResourcePlanning=Planning des Ressources -DeleteResource=Effacer resource +DeleteResource=Effacer ressource ConfirmDeleteResourceElement=Confirmer la suppression de la ressource pour cet élément NoResourceInDatabase=Aucune ressource en base de données. NoResourceLinked=Aucune ressource liée @@ -17,17 +17,19 @@ ResourceFormLabel_description=Description de la ressource ResourcesLinkedToElement=Ressources liées à l'élément RessourceLineSuccessfullyUpdated=Ressource mise à jour -RessourceLineSuccessfullyDeleted=Resource supprimée +RessourceLineSuccessfullyDeleted=Ressource supprimée ShowResourcePlanning=Montrer le planning des ressources PlanningOfAffectedResources=Planning des ressources affectées aux évènements GotoDate=Afficher la date +ResourceElementPage=Ressources de l'élément ResourceCreatedWithSuccess=Ressource créee avec succès RessourceLineSuccessfullyDeleted=Ressource supprimée avec succès RessourceLineSuccessfullyUpdated=Ressource mise à jour +ResourceLinkedWithSuccess=Ressource liée avec succès -TitleResourceCard=Fiche resource +TitleResourceCard=Fiche ressource ConfirmDeleteResource=Confirmer la suppression de cette ressource? RessourceSuccessfullyDeleted=Ressource effacée avec succès DictionaryResourceType=Type de ressources \ No newline at end of file diff --git a/htdocs/product/fiche.php b/htdocs/product/fiche.php index dfca2831b44..c1fc144e63d 100644 --- a/htdocs/product/fiche.php +++ b/htdocs/product/fiche.php @@ -466,7 +466,7 @@ if (empty($reshook)) if ($result > 0) { - header('Location: '.DOL_URL_ROOT.'/product/liste.php?delprod='.urlencode($object->ref)); + header('Location: '.DOL_URL_ROOT.'/product/liste.php?type='.$object->type.'&delprod='.urlencode($object->ref)); exit; } else diff --git a/htdocs/product/price.php b/htdocs/product/price.php index db88599f52d..b208cba1c7e 100644 --- a/htdocs/product/price.php +++ b/htdocs/product/price.php @@ -32,7 +32,7 @@ require_once DOL_DOCUMENT_ROOT . '/product/class/product.class.php'; if (! empty($conf->global->PRODUIT_CUSTOMER_PRICES)) { require_once DOL_DOCUMENT_ROOT . '/product/class/productcustomerprice.class.php'; - + $prodcustprice = new Productcustomerprice($db); } @@ -58,18 +58,18 @@ $object = new Product($db); if ($action == 'update_price' && ! $_POST ["cancel"] && ($user->rights->produit->creer || $user->rights->service->creer)) { $result = $object->fetch($id); - + // MultiPrix - if (! empty($conf->global->PRODUIT_MULTIPRICES)) + if (! empty($conf->global->PRODUIT_MULTIPRICES)) { $newprice = ''; $newprice_min = ''; $newpricebase = ''; $newvat = ''; - - for ($i = 1; $i <= $conf->global->PRODUIT_MULTIPRICES_LIMIT; $i ++) + + for ($i = 1; $i <= $conf->global->PRODUIT_MULTIPRICES_LIMIT; $i ++) { - if (isset($_POST ["price_" . $i])) + if (isset($_POST ["price_" . $i])) { $level = $i; $newprice = price2num($_POST ["price_" . $i], 'MU'); @@ -92,7 +92,7 @@ if ($action == 'update_price' && ! $_POST ["cancel"] && ($user->rights->produit- $newpsq = GETPOST('psqflag'); $newpsq = empty($newpsq) ? 0 : $newpsq; } - + if ($object->updatePrice($newprice, $newpricebase, $user, $newvat, $newprice_min, $level, $newnpr, $newpsq) > 0) { $action = ''; $mesg = '
' . $langs->trans("RecordSaved") . '
'; @@ -115,7 +115,7 @@ $error = 0; if ($action == 'activate_price_by_qty') { // Activating product price by quantity add a new price, specified as by quantity $result = $object->fetch($id); $level = GETPOST('level'); - + $object->updatePrice(0, $object->price_base_type, $user, $object->tva_tx, 0, $level, $object->tva_npr, 1); } @@ -125,7 +125,7 @@ if ($action == 'edit_price_by_qty') { // Edition d'un prix par quantité if ($action == 'update_price_by_qty') { // Ajout / Mise à jour d'un prix par quantité $result = $object->fetch($id); - + // Récupération des variables $rowid = GETPOST('rowid'); $priceid = GETPOST('priceid'); @@ -148,10 +148,10 @@ if ($action == 'update_price_by_qty') { // Ajout / Mise à jour d'un prix par qu if ($object->price_base_type == 'TTC') { $price = price2num($newprice) / (1 + ($object->tva_tx / 100)); } - + $price = price2num($newprice, 'MU'); $unitPrice = price2num($price / $quantity, 'MU'); - + // Ajout / mise à jour if ($rowid > 0) { $sql = "UPDATE " . MAIN_DB_PREFIX . "product_price_by_qty SET"; @@ -161,12 +161,12 @@ if ($action == 'update_price_by_qty') { // Ajout / Mise à jour d'un prix par qu $sql .= " remise_percent=" . $remise_percent . ","; $sql .= " remise=" . $remise; $sql .= " WHERE rowid = " . GETPOST('rowid'); - + $result = $db->query($sql); } else { $sql = "INSERT INTO " . MAIN_DB_PREFIX . "product_price_by_qty (fk_product_price,price,unitprice,quantity,remise_percent,remise) values ("; $sql .= $priceid . ',' . $price . ',' . $unitPrice . ',' . $quantity . ',' . $remise_percent . ',' . $remise . ')'; - + $result = $db->query($sql); } } @@ -174,19 +174,19 @@ if ($action == 'update_price_by_qty') { // Ajout / Mise à jour d'un prix par qu if ($action == 'delete_price_by_qty') { $rowid = GETPOST('rowid'); - + $sql = "DELETE FROM " . MAIN_DB_PREFIX . "product_price_by_qty"; $sql .= " WHERE rowid = " . GETPOST('rowid'); - + $result = $db->query($sql); } if ($action == 'delete_all_price_by_qty') { $priceid = GETPOST('priceid'); - + $sql = "DELETE FROM " . MAIN_DB_PREFIX . "product_price_by_qty"; $sql .= " WHERE fk_product_price = " . $priceid; - + $result = $db->query($sql); } @@ -196,11 +196,11 @@ if ($action == 'delete_all_price_by_qty') { * **************************************************** */ if ($action == 'add_customer_price_confirm' && ! $_POST ["cancel"] && ($user->rights->produit->creer || $user->rights->service->creer)) { - + $update_child_soc = GETPOST('updatechildprice'); - + $result = $object->fetch($id); - + // add price by customer $prodcustprice->fk_soc = GETPOST('socid', 'int'); $prodcustprice->fk_product = $object->id; @@ -209,15 +209,15 @@ if ($action == 'add_customer_price_confirm' && ! $_POST ["cancel"] && ($user->ri $prodcustprice->price_base_type = GETPOST("price_base_type", 'alpha'); $prodcustprice->tva_tx = str_replace('*', '', GETPOST("tva_tx")); $prodcustprice->recuperableonly = (preg_match('/\*/', GETPOST("tva_tx")) ? 1 : 0); - + $result = $prodcustprice->create($user, 0, $update_child_soc); - + if ($result < 0) { setEventMessage($prodcustprice->error, 'errors'); } else { setEventMessage($langs->trans('Save'), 'mesgs'); } - + $action = ''; } @@ -225,7 +225,7 @@ if ($action == 'delete_customer_price' && ($user->rights->produit->supprimer || // Delete price by customer $prodcustprice->id = GETPOST('lineid'); $result = $prodcustprice->delete($user); - + if ($result < 0) { setEventMessage($prodcustprice->error, 'mesgs'); } else { @@ -235,26 +235,26 @@ if ($action == 'delete_customer_price' && ($user->rights->produit->supprimer || } if ($action == 'update_customer_price_confirm' && ! $_POST ["cancel"] && ($user->rights->produit->creer || $user->rights->service->creer)) { - + $update_child_soc = GETPOST('updatechildprice'); - + $prodcustprice->fetch(GETPOST('lineid', 'int')); - + // update price by customer $prodcustprice->price = price2num(GETPOST("price"), 'MU'); $prodcustprice->price_min = price2num(GETPOST("price_min"), 'MU'); $prodcustprice->price_base_type = GETPOST("price_base_type", 'alpha'); $prodcustprice->tva_tx = str_replace('*', '', GETPOST("tva_tx")); $prodcustprice->recuperableonly = (preg_match('/\*/', GETPOST("tva_tx")) ? 1 : 0); - + $result = $prodcustprice->update($user, 0, $update_child_soc); - + if ($result < 0) { setEventMessage($prodcustprice->error, 'errors'); } else { setEventMessage($langs->trans('Save'), 'mesgs'); } - + $action = ''; } @@ -304,22 +304,22 @@ if (! empty($conf->global->PRODUIT_MULTIPRICES)) { $soc = new Societe($db); $soc->id = $socid; $soc->fetch($socid); - + print '' . $langs->trans("SellingPrice") . ''; - + if ($object->multiprices_base_type ["$soc->price_level"] == 'TTC') { print '' . price($object->multiprices_ttc ["$soc->price_level"]); } else { print '' . price($object->multiprices ["$soc->price_level"]); } - + if ($object->multiprices_base_type ["$soc->price_level"]) { print ' ' . $langs->trans($object->multiprices_base_type ["$soc->price_level"]); } else { print ' ' . $langs->trans($object->price_base_type); } print ''; - + // Prix mini print '' . $langs->trans("MinPrice") . ''; if ($object->multiprices_base_type ["$soc->price_level"] == 'TTC') { @@ -328,41 +328,41 @@ if (! empty($conf->global->PRODUIT_MULTIPRICES)) { print price($object->multiprices_min ["$soc->price_level"]) . ' ' . $langs->trans($object->multiprices_base_type ["$soc->price_level"]); } print ''; - + // TVA print '' . $langs->trans("VATRate") . '' . vatrate($object->multiprices_tva_tx ["$soc->price_level"], true) . ''; - } + } else { - for($i = 1; $i <= $conf->global->PRODUIT_MULTIPRICES_LIMIT; $i ++) + for($i = 1; $i <= $conf->global->PRODUIT_MULTIPRICES_LIMIT; $i ++) { // TVA if ($i == 1) // We show only price for level 1 { print '' . $langs->trans("VATRate") . '' . vatrate($object->multiprices_tva_tx [1], true) . ''; } - + print ''; - + // Label of price print '' . $langs->trans("SellingPrice") . ' ' . $i; $keyforlabel='PRODUIT_MULTIPRICES_LABEL'.$i; if (! empty($conf->global->$keyforlabel)) print ' - '.$langs->trans($conf->global->$keyforlabel); print ''; - + if ($object->multiprices_base_type ["$i"] == 'TTC') { print '' . price($object->multiprices_ttc ["$i"]); } else { print '' . price($object->multiprices ["$i"]); } - + if ($object->multiprices_base_type ["$i"]) { print ' ' . $langs->trans($object->multiprices_base_type ["$i"]); } else { print ' ' . $langs->trans($object->price_base_type); } print ''; - + // Prix mini print '' . $langs->trans("MinPrice") . ' ' . $i . ''; if ($object->multiprices_base_type ["$i"] == 'TTC') { @@ -371,15 +371,15 @@ if (! empty($conf->global->PRODUIT_MULTIPRICES)) { print price($object->multiprices_min ["$i"]) . ' ' . $langs->trans($object->multiprices_base_type ["$i"]); } print ''; - + // Price by quantity if ($conf->global->PRODUIT_CUSTOMER_PRICES_BY_QTY) { print '' . $langs->trans("PriceByQuantity") . ' ' . $i; print ''; - + if ($object->prices_by_qty [$i] == 1) { print ''; - + print ''; print ''; print ''; @@ -434,7 +434,7 @@ if (! empty($conf->global->PRODUIT_MULTIPRICES)) { print ''; print ''; } - + print '
' . $langs->trans("PriceByQuantityRange") . ' ' . $i . '' . $langs->trans("HT") . '
'; } else { print $langs->trans("No"); @@ -447,7 +447,7 @@ if (! empty($conf->global->PRODUIT_MULTIPRICES)) { } else { // TVA print '' . $langs->trans("VATRate") . '' . vatrate($object->tva_tx . ($object->tva_npr ? '*' : ''), true) . ''; - + // Price print '' . $langs->trans("SellingPrice") . ''; if ($object->price_base_type == 'TTC') { @@ -456,7 +456,7 @@ if (! empty($conf->global->PRODUIT_MULTIPRICES)) { print price($object->price) . ' ' . $langs->trans($object->price_base_type); } print ''; - + // Price minimum print '' . $langs->trans("MinPrice") . ''; if ($object->price_base_type == 'TTC') { @@ -465,7 +465,7 @@ if (! empty($conf->global->PRODUIT_MULTIPRICES)) { print price($object->price_min) . ' ' . $langs->trans($object->price_base_type); } print ''; - + // Price by quantity if ($conf->global->PRODUIT_CUSTOMER_PRICES_BY_QTY) { print '' . $langs->trans("PriceByQuantity"); @@ -473,7 +473,7 @@ if (! empty($conf->global->PRODUIT_MULTIPRICES)) { print ' ' . $langs->trans("Activate"); } print ''; - + if ($object->prices_by_qty [0] == 1) { print ''; print ''; @@ -530,7 +530,7 @@ if (! empty($conf->global->PRODUIT_MULTIPRICES)) { print ''; print ''; } - + print '
'; } else { print $langs->trans("No"); @@ -560,11 +560,11 @@ if (! empty($mesg)) { if (! $action || $action == 'delete') { print "\n" . '
\n"; } @@ -573,19 +573,19 @@ if (! $action || $action == 'delete') { */ if ($action == 'edit_price' && ($user->rights->produit->creer || $user->rights->service->creer)) { print_fiche_titre($langs->trans("NewPrice"), '', ''); - + if (empty($conf->global->PRODUIT_MULTIPRICES)) { print '
'; print ''; print ''; print ''; print ''; - + // VAT print ''; - + // Price base print ''; print ''; - + // Price print ''; - + // Price minimum print ''; - + print '
' . $langs->trans("VATRate") . ''; print $form->load_tva("tva_tx", $object->tva_tx, $mysoc, '', $object->id, $object->tva_npr); print '
'; print $langs->trans('PriceBase'); @@ -594,7 +594,7 @@ if ($action == 'edit_price' && ($user->rights->produit->creer || $user->rights-> print $form->select_PriceBaseType($object->price_base_type, "price_base_type"); print '
'; $text = $langs->trans('SellingPrice'); @@ -606,7 +606,7 @@ if ($action == 'edit_price' && ($user->rights->produit->creer || $user->rights-> print ''; } print '
'; $text = $langs->trans('MinPrice'); @@ -617,12 +617,12 @@ if ($action == 'edit_price' && ($user->rights->produit->creer || $user->rights-> print ''; } print '
'; - + print '

 '; print '
'; - + print '
'; } else { for($i = 1; $i <= $conf->global->PRODUIT_MULTIPRICES_LIMIT; $i ++) { @@ -631,7 +631,7 @@ if ($action == 'edit_price' && ($user->rights->produit->creer || $user->rights-> print ''; print ''; print ''; - + // VAT if ($i == 1) { print ''; - + // Min price print ''; - + print ''; print '
' . $langs->trans("VATRate") . ''; @@ -640,7 +640,7 @@ if ($action == 'edit_price' && ($user->rights->produit->creer || $user->rights-> } else { // We always use the vat rate of price level 1 (A vat rate does not depends on customer) print ''; } - + // Selling price print '
'; $text = $langs->trans('SellingPrice') . ' ' . $i; @@ -653,7 +653,7 @@ if ($action == 'edit_price' && ($user->rights->produit->creer || $user->rights-> } print $form->select_PriceBaseType($object->multiprices_base_type ["$i"], "multiprices_base_type_" . $i); print '
'; $text = $langs->trans('MinPrice') . ' ' . $i; @@ -664,7 +664,7 @@ if ($action == 'edit_price' && ($user->rights->produit->creer || $user->rights-> print ''; } print '
 '; print '
'; @@ -691,33 +691,33 @@ dol_syslog("sql=" . $sql); $result = $db->query($sql); if ($result) { $num = $db->num_rows($result); - + if (! $num) { $db->free($result); - + // Il doit au moins y avoir la ligne de prix initial. // On l'ajoute donc pour remettre a niveau (pb vieilles versions) $object->updatePrice($object->price, $object->price_base_type, $user, $newprice_min); - + $result = $db->query($sql); $num = $db->num_rows($result); } - + if ($num > 0) { print '
'; - + print ''; - + print ''; print ''; - + if (! empty($conf->global->PRODUIT_MULTIPRICES)) { print ''; } if (! empty($conf->global->PRODUIT_CUSTOMER_PRICES_BY_QTY)) { print ''; } - + print ''; print ''; print ''; @@ -728,7 +728,7 @@ if ($result) { if ($user->rights->produit->supprimer) print ''; print ''; - + $var = True; $i = 0; while ($i < $num) { @@ -737,7 +737,7 @@ if ($result) { print ""; // Date print ""; - + // Price level if (! empty($conf->global->PRODUIT_MULTIPRICES)) { print '"; @@ -747,17 +747,17 @@ if ($result) { $type = ($objp->price_by_qty == 1) ? 'PriceByQuantity' : 'Standard'; print '"; } - + print '"; print '"; print '"; print '"; print ''; print ''; - + // User print ''; - + // Action if ($user->rights->produit->supprimer) { print ''; } - + print "\n"; $i ++; } @@ -782,9 +782,9 @@ if ($result) { } if (! empty($conf->global->PRODUIT_CUSTOMER_PRICES)) { - + $prodcustprice = new Productcustomerprice($db); - + $sortfield = GETPOST("sortfield", 'alpha'); $sortorder = GETPOST("sortorder", 'alpha'); $page = GETPOST("page", 'int'); @@ -798,21 +798,21 @@ if (! empty($conf->global->PRODUIT_CUSTOMER_PRICES)) { $sortorder = "ASC"; if (! $sortfield) $sortfield = "soc.nom"; - + // Build filter to diplay only concerned lines $filter = array('t.fk_product' => $object->id); - + $search_soc = GETPOST('search_soc'); if (! empty($search_soc)) { $filter ['soc.nom'] = $search_soc; } - + if ($action == 'add_customer_price') { - + // Create mode - + print_fiche_titre($langs->trans('PriceByCustomer')); - + print ''; print ''; print ''; @@ -824,12 +824,12 @@ if (! empty($conf->global->PRODUIT_CUSTOMER_PRICES)) { 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 ''; print ''; - + // VAT print ''; - + // Price base print ''; print ''; - + // Price print ''; - + // Price minimum print ''; - + // Update all child soc print ''; print ''; - + print '
' . $langs->trans("AppliedPricesFrom") . '' . $langs->trans("MultiPriceLevelsName") . '' . $langs->trans("Type") . '' . $langs->trans("PriceBase") . '' . $langs->trans("VAT") . '' . $langs->trans("HT") . ' 
" . dol_print_date($db->jdate($objp->dp), "dayhour") . "' . $objp->price_level . "' . $langs->trans($type) . "' . $langs->trans($objp->price_base_type) . "' . vatrate($objp->tva_tx, true, $objp->recuperableonly) . "' . price($objp->price) . "' . price($objp->price_ttc) . "' . price($objp->price_min) . '' . price($objp->price_min_ttc) . '' . img_object($langs->trans("ShowUser"), 'user') . ' ' . $objp->login . ''; @@ -769,7 +769,7 @@ if ($result) { print ' '; // Can not delete last price (it's current price) print '
' . $langs->trans("VATRate") . ''; print $form->load_tva("tva_tx", $object->tva_tx, $mysoc, '', $object->id, $object->tva_npr); print '
'; print $langs->trans('PriceBase'); @@ -838,7 +838,7 @@ if (! empty($conf->global->PRODUIT_CUSTOMER_PRICES)) { print $form->select_PriceBaseType($object->price_base_type, "price_base_type"); print '
'; $text = $langs->trans('SellingPrice'); @@ -850,7 +850,7 @@ if (! empty($conf->global->PRODUIT_CUSTOMER_PRICES)) { print ''; } print '
'; $text = $langs->trans('MinPrice'); @@ -861,7 +861,7 @@ if (! empty($conf->global->PRODUIT_CUSTOMER_PRICES)) { print ''; } print '
'; print $langs->trans('ForceUpdateChildPriceSoc'); @@ -870,24 +870,24 @@ if (! empty($conf->global->PRODUIT_CUSTOMER_PRICES)) { print ''; print '
'; - + print '

 '; print '
'; - + print '
'; } elseif ($action == 'edit_customer_price') { - + // Edit mode - + print_fiche_titre($langs->trans('PriceByCustomer')); - + $result = $prodcustprice->fetch(GETPOST('lineid', 'int')); if ($result < 0) { setEventMessage($prodcustprice->error, 'errors'); } - + print '
'; print ''; print ''; @@ -899,12 +899,12 @@ if (! empty($conf->global->PRODUIT_CUSTOMER_PRICES)) { $staticsoc->fetch($prodcustprice->fk_soc); print "" . $staticsoc->getNomUrl(1) . ""; print ''; - + // VAT print '' . $langs->trans("VATRate") . ''; print $form->load_tva("tva_tx", $prodcustprice->tva_tx, $mysoc, '', $object->id, $prodcustprice->recuperableonly); print ''; - + // Price base print ''; print $langs->trans('PriceBase'); @@ -913,7 +913,7 @@ if (! empty($conf->global->PRODUIT_CUSTOMER_PRICES)) { print $form->select_PriceBaseType($prodcustprice->price_base_type, "price_base_type"); print ''; print ''; - + // Price print ''; $text = $langs->trans('SellingPrice'); @@ -925,18 +925,19 @@ if (! empty($conf->global->PRODUIT_CUSTOMER_PRICES)) { print ''; } print ''; - + // Price minimum print ''; $text = $langs->trans('MinPrice'); print $form->textwithpicto($text, $langs->trans("PrecisionUnitIsLimitedToXDecimals", $conf->global->MAIN_MAX_DECIMALS_UNIT), 1, 1); + print ''; if ($prodcustprice->price_base_type == 'TTC') { - print ''; + print ''; } else { - print ''; + print ''; } print ''; - + // Update all child soc print ''; print $langs->trans('ForceUpdateChildPriceSoc'); @@ -945,39 +946,39 @@ if (! empty($conf->global->PRODUIT_CUSTOMER_PRICES)) { print ''; print ''; print ''; - + print ''; - + print '

 '; print '
'; - + print '
'; } elseif ($action == 'showlog_customer_price') { - + $filter = array('t.fk_product' => $object->id,'t.fk_soc' => GETPOST('socid', 'int')); - + // Count total nb of records $nbtotalofrecords = 0; if (empty($conf->global->MAIN_DISABLE_FULL_SCANLIST)) { $nbtotalofrecords = $prodcustprice->fetch_all_log($sortorder, $sortfield, $conf->liste_limit, $offset, $filter); } - + $result = $prodcustprice->fetch_all_log($sortorder, $sortfield, $conf->liste_limit, $offset, $filter); if ($result < 0) { setEventMessage($prodcustprice->error, 'errors'); } - + $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); - + if (count($prodcustprice->lines) > 0) { - + print '
'; print ''; - + print ''; - + print ''; print ''; print ''; @@ -990,26 +991,26 @@ if (! empty($conf->global->PRODUIT_CUSTOMER_PRICES)) { print ''; print ''; print ''; - + $var = True; - + foreach ($prodcustprice->lines as $line) { - + print ""; // Date $staticsoc = new Societe($db); $staticsoc->fetch($line->fk_soc); - + print ""; print ""; - + print '"; print '"; print '"; print '"; print ''; print ''; - + // User $userstatic = new User($db); $userstatic->fetch($line->fk_user); @@ -1021,36 +1022,36 @@ if (! empty($conf->global->PRODUIT_CUSTOMER_PRICES)) { } else { print $langs->trans('None'); } - + print "\n" . '
' . "\n"; print ''; print "\n

\n"; } else { - + // View mode - + // Count total nb of records $nbtotalofrecords = 0; if (empty($conf->global->MAIN_DISABLE_FULL_SCANLIST)) { $nbtotalofrecords = $prodcustprice->fetch_all('', '', 0, 0, $filter); } - + $result = $prodcustprice->fetch_all($sortorder, $sortfield, $conf->liste_limit, $offset, $filter); if ($result < 0) { setEventMessage($prodcustprice->error, 'errors'); } - + $option = '&search_soc=' . $search_soc . '&id=' . $object->id; - + print_barre_liste($langs->trans('PriceByCustomer'), $page, $_SERVEUR ['PHP_SELF'], $option, $sortfield, $sortorder, '', count($prodcustprice->lines), $nbtotalofrecords); - + if (count($prodcustprice->lines) > 0) { - + print ''; print ''; - + print '
' . $langs->trans("ThirdParty") . '' . $langs->trans("AppliedPricesFrom") . '' . $langs->trans("ChangedBy") . ' 
" . $staticsoc->getNomUrl(1) . "" . dol_print_date($line->datec, "dayhour") . "' . $langs->trans($line->price_base_type) . "' . vatrate($line->tva_tx, true, $line->recuperableonly) . "' . price($line->price) . "' . price($line->price_ttc) . "' . price($line->price_min) . '' . price($line->price_min_ttc) . '
'; - + print ''; print ''; print ''; @@ -1063,7 +1064,7 @@ if (! empty($conf->global->PRODUIT_CUSTOMER_PRICES)) { print ''; print ''; print ''; - + print ''; print ''; print ''; @@ -1072,33 +1073,33 @@ if (! empty($conf->global->PRODUIT_CUSTOMER_PRICES)) { print ''; print ''; print ''; - + $var = True; - + foreach ($prodcustprice->lines as $line) { - + print ""; // Date $staticsoc = new Societe($db); $staticsoc->fetch($line->fk_soc); - + print ""; print ""; - + print '"; print '"; print '"; print '"; print ''; print ''; - + // User $userstatic = new User($db); $userstatic->fetch($line->fk_user); print ''; - + // Todo Edit or delete button // Action if ($user->rights->produit->supprimer || $user->rights->service->supprimer) { @@ -1114,24 +1115,24 @@ if (! empty($conf->global->PRODUIT_CUSTOMER_PRICES)) { print ''; print ''; } - + print "\n"; } print "
' . $langs->trans("ThirdParty") . '' . $langs->trans("AppliedPricesFrom") . '' . $langs->trans("ChangedBy") . ' 
 
" . $staticsoc->getNomUrl(1) . "" . dol_print_date($line->datec, "dayhour") . "' . $langs->trans($line->price_base_type) . "' . vatrate($line->tva_tx, true, $line->recuperableonly) . "' . price($line->price) . "' . price($line->price_ttc) . "' . price($line->price_min) . '' . price($line->price_min_ttc) . ''; print $userstatic->getLoginUrl(1); print '
"; - + print "
"; } else { print $langs->trans('None'); } - + /* ************************************************************************** */ /* */ /* Barre d'action */ /* */ /* ************************************************************************** */ - + print "\n" . '
' . "\n"; - + if ($user->rights->produit->creer || $user->rights->service->creer) { print ''; } diff --git a/htdocs/resource/class/actions_resource.class.php b/htdocs/resource/class/actions_resource.class.php index 8d233dea847..afcf9eb19b8 100644 --- a/htdocs/resource/class/actions_resource.class.php +++ b/htdocs/resource/class/actions_resource.class.php @@ -82,87 +82,5 @@ class ActionsResource } } } - if (in_array('element_resource',explode(':',$parameters['context']))) - { - - $element_id = GETPOST('element_id','int'); - $element = GETPOST('element','alpha'); - $resource_type = GETPOST('resource_type'); - - $fk_resource = GETPOST('fk_resource'); - - $busy = GETPOST('busy','int'); - $mandatory = GETPOST('mandatory','int'); - - if($action == 'add_element_resource' && !GETPOST('cancel')) - { - $objstat = fetchObjectByElement($element_id,$element); - - $res = $objstat->add_element_resource($fk_resource,$resource_type,$busy,$mandatory); - - - if($res > 0) - { - setEventMessage($langs->trans('ResourceLinkedWithSuccess'),'mesgs'); - header("Location: ".$_SERVER['PHP_SELF'].'?element='.$element.'&element_id='.$element_id); - exit; - } - else - { - setEventMessage($langs->trans('ErrorWhenLinkingResource'),'errors'); - header("Location: ".$_SERVER['PHP_SELF'].'?mode=add&resource_type='.$resource_type.'&element='.$element.'&element_id='.$element_id); - exit; - } - } - - // Delete a resource linked to an element - if ($action == 'confirm_delete_linked_resource' && $user->rights->resource->delete && GETPOST('confirm') == 'yes') - { - $res = $object->fetch(GETPOST('id')); - if($res) - { - - $result = $object->delete_resource(GETPOST('lineid'),GETPOST('element')); - - if ($result >= 0) - { - setEventMessage($langs->trans('RessourceLineSuccessfullyDeleted')); - Header("Location: ".$_SERVER['PHP_SELF']."?element=".GETPOST('element')."&element_id=".GETPOST('element_id')); - exit; - } - else { - setEventMessage($object->error,'errors'); - } - } - else - { - setEventMessage($object->error,'errors'); - } - } - - // Update ressource - if ($action == 'update_linked_resource' && $user->rights->resource->write && !GETPOST('cancel') ) - { - $res = $object->fetch_element_resource(GETPOST('lineid')); - if($res) - { - - $object->busy = GETPOST('busy'); - $object->mandatory = GETPOST('mandatory'); - - $result = $object->update_element_resource($user); - - if ($result >= 0) - { - setEventMessage($langs->trans('RessourceLineSuccessfullyUpdated')); - Header("Location: ".$_SERVER['PHP_SELF']."?element=".GETPOST('element')."&element_id=".GETPOST('element_id')); - exit; - } - else { - setEventMessage($object->error,'errors'); - } - } - } - } }*/ } diff --git a/htdocs/resource/class/resource.class.php b/htdocs/resource/class/resource.class.php index 6edeef201fb..9cf6a83ef1d 100644 --- a/htdocs/resource/class/resource.class.php +++ b/htdocs/resource/class/resource.class.php @@ -779,7 +779,7 @@ class Resource extends CommonObject // Links beetween objects are stored in this table $sql = 'SELECT rowid, resource_id, resource_type, busy, mandatory'; $sql.= ' FROM '.MAIN_DB_PREFIX.'element_resources'; - $sql.= " WHERE element_id='".$element_id."' AND resource_type='".$this->element."'"; + $sql.= " WHERE element_id='".$element_id."' AND element_type='".$element."'"; if($resource_type) $sql.=" AND resource_type LIKE '%".$resource_type."%'"; $sql .= ' ORDER BY resource_type'; diff --git a/htdocs/resource/element_resource.php b/htdocs/resource/element_resource.php index 7bd4b0dc2fb..c5329edd1f3 100644 --- a/htdocs/resource/element_resource.php +++ b/htdocs/resource/element_resource.php @@ -57,13 +57,90 @@ if( ! $user->rights->resource->read) $object=new Resource($db); $hookmanager->initHooks(array('element_resource')); - - $object->available_resources = array('resource'); -$parameters=array('resource_id'=>$available_resources); +// Get parameters +$id = GETPOST('id','int'); +$action = GETPOST('action','alpha'); +$mode = GETPOST('mode','alpha'); +$lineid = GETPOST('lineid','int'); +$element = GETPOST('element','alpha'); +$element_id = GETPOST('element_id','int'); +$resource_id = GETPOST('fk_resource','int'); +$resource_type = GETPOST('resource_type','alpha'); +$busy = GETPOST('busy','int'); +$mandatory = GETPOST('mandatory','int'); + +if($action == 'add_element_resource' && !GETPOST('cancel')) +{ + $objstat = fetchObjectByElement($element_id,$element); + $res = $objstat->add_element_resource($resource_id,$resource_type,$busy,$mandatory); + if($res > 0) + { + setEventMessage($langs->trans('ResourceLinkedWithSuccess'),'mesgs'); + header("Location: ".$_SERVER['PHP_SELF'].'?element='.$element.'&element_id='.$element_id); + exit; + } + else + { + setEventMessage($langs->trans('ErrorWhenLinkingResource'),'errors'); + header("Location: ".$_SERVER['PHP_SELF'].'?mode=add&resource_type='.$resource_type.'&element='.$element.'&element_id='.$element_id); + exit; + } +} + +// Update ressource +if ($action == 'update_linked_resource' && $user->rights->resource->write && !GETPOST('cancel') ) +{ + $res = $object->fetch_element_resource($lineid); + if($res) + { + $object->busy = $busy; + $object->mandatory = $mandatory; + + $result = $object->update_element_resource($user); + + if ($result >= 0) + { + setEventMessage($langs->trans('RessourceLineSuccessfullyUpdated')); + Header("Location: ".$_SERVER['PHP_SELF']."?element=".$element."&element_id=".$element_id); + exit; + } + else { + setEventMessage($object->error,'errors'); + } + } +} + +// Delete a resource linked to an element +if ($action == 'confirm_delete_linked_resource' && $user->rights->resource->delete && GETPOST('confirm') == 'yes') +{ + $res = $object->fetch(GETPOST('id')); + if($res) + { + $result = $object->delete_resource($lineid,$element); + + if ($result >= 0) + { + setEventMessage($langs->trans('RessourceLineSuccessfullyDeleted')); + Header("Location: ".$_SERVER['PHP_SELF']."?element=".$element."&element_id=".$element_id); + exit; + } + else { + setEventMessage($object->error,'errors'); + } + } + else + { + setEventMessage($object->error,'errors'); + } +} + +$parameters=array('resource_id'=>resource_id); $reshook=$hookmanager->executeHooks('doActions',$parameters,$object,$action); // Note that $action and $object may have been modified by some hooks + + $parameters=array('resource_id'=>$resource_id); $reshook=$hookmanager->executeHooks('getElementResources',$parameters,$object,$action); // Note that $action and $object may have been modified by some hooks diff --git a/htdocs/societe/price.php b/htdocs/societe/price.php index 0765a6adb31..7ab39a10ddc 100644 --- a/htdocs/societe/price.php +++ b/htdocs/societe/price.php @@ -32,7 +32,7 @@ require_once DOL_DOCUMENT_ROOT . '/societe/class/societe.class.php'; if (! empty($conf->global->PRODUIT_CUSTOMER_PRICES)) { require_once DOL_DOCUMENT_ROOT . '/product/class/productcustomerprice.class.php'; - + $prodcustprice = new Productcustomerprice($db); } @@ -54,9 +54,9 @@ $result = restrictedArea($user, 'societe', $socid, '&societe'); * **************************************************** */ if ($action == 'add_customer_price_confirm' && ! $_POST ["cancel"] && ($user->rights->produit->creer || $user->rights->service->creer)) { - + $update_child_soc = GETPOST('updatechildprice'); - + // add price by customer $prodcustprice->fk_soc = $socid; $prodcustprice->fk_product = GETPOST('prodid', 'int'); @@ -65,15 +65,15 @@ if ($action == 'add_customer_price_confirm' && ! $_POST ["cancel"] && ($user->ri $prodcustprice->price_base_type = GETPOST("price_base_type", 'alpha'); $prodcustprice->tva_tx = str_replace('*', '', GETPOST("tva_tx")); $prodcustprice->recuperableonly = (preg_match('/\*/', GETPOST("tva_tx")) ? 1 : 0); - + $result = $prodcustprice->create($user, 0, $update_child_soc); - + if ($result < 0) { setEventMessage($prodcustprice->error, 'errors'); } else { setEventMessage($langs->trans('Save'), 'mesgs'); } - + $action = ''; } @@ -81,7 +81,7 @@ if ($action == 'delete_customer_price' && ($user->rights->produit->creer || $use // Delete price by customer $prodcustprice->id = GETPOST('lineid'); $result = $prodcustprice->delete($user); - + if ($result < 0) { setEventMessage($prodcustprice->error, 'mesgs'); } else { @@ -91,25 +91,25 @@ if ($action == 'delete_customer_price' && ($user->rights->produit->creer || $use } if ($action == 'update_customer_price_confirm' && ! $_POST ["cancel"] && ($user->rights->produit->creer || $user->rights->service->creer)) { - + $prodcustprice->fetch(GETPOST('lineid', 'int')); - + $update_child_soc = GETPOST('updatechildprice'); - + // update price by customer $prodcustprice->price = price2num(GETPOST("price"), 'MU'); $prodcustprice->price_min = price2num(GETPOST("price_min"), 'MU'); $prodcustprice->price_base_type = GETPOST("price_base_type", 'alpha'); $prodcustprice->tva_tx = str_replace('*', '', GETPOST("tva_tx")); $prodcustprice->recuperableonly = (preg_match('/\*/', GETPOST("tva_tx")) ? 1 : 0); - + $result = $prodcustprice->update($user, 0, $update_child_soc); if ($result < 0) { setEventMessage($prodcustprice->error, 'errors'); } else { setEventMessage($langs->trans('Save'), 'mesgs'); } - + $action = ''; } @@ -199,9 +199,9 @@ print ''; print '
'; if (! empty($conf->global->PRODUIT_CUSTOMER_PRICES)) { - + $prodcustprice = new Productcustomerprice($db); - + $sortfield = GETPOST("sortfield", 'alpha'); $sortorder = GETPOST("sortorder", 'alpha'); $page = GETPOST("page", 'int'); @@ -215,23 +215,23 @@ if (! empty($conf->global->PRODUIT_CUSTOMER_PRICES)) { $sortorder = "ASC"; if (! $sortfield) $sortfield = "soc.nom"; - + // Build filter to diplay only concerned lines $filter = array ( - 't.fk_soc' => $soc->id + 't.fk_soc' => $soc->id ); - + $search_soc = GETPOST('search_soc'); if (! empty($search_soc)) { $filter ['soc.nom'] = $search_soc; } - + if ($action == 'add_customer_price') { - + // Create mode - + print_fiche_titre($langs->trans('PriceByCustomer')); - + print '
'; print ''; print ''; @@ -243,12 +243,12 @@ if (! empty($conf->global->PRODUIT_CUSTOMER_PRICES)) { print $form->select_produits('', 'prodid', '', 0); print ''; print ''; - + // VAT print '' . $langs->trans("VATRate") . ''; print $form->load_tva("tva_tx", $object->tva_tx, $mysoc, '', $object->id, $object->tva_npr); print ''; - + // Price base print ''; print $langs->trans('PriceBase'); @@ -257,7 +257,7 @@ if (! empty($conf->global->PRODUIT_CUSTOMER_PRICES)) { print $form->select_PriceBaseType($object->price_base_type, "price_base_type"); print ''; print ''; - + // Price print ''; $text = $langs->trans('SellingPrice'); @@ -269,7 +269,7 @@ if (! empty($conf->global->PRODUIT_CUSTOMER_PRICES)) { print ''; } print ''; - + // Price minimum print ''; $text = $langs->trans('MinPrice'); @@ -280,7 +280,7 @@ if (! empty($conf->global->PRODUIT_CUSTOMER_PRICES)) { print ''; } print ''; - + // Update all child soc print ''; print $langs->trans('ForceUpdateChildPriceSoc'); @@ -289,24 +289,24 @@ if (! empty($conf->global->PRODUIT_CUSTOMER_PRICES)) { print ''; print ''; print ''; - + print ''; - + print '

 '; print '
'; - + print '
'; } elseif ($action == 'edit_customer_price') { - + // Edit mode - + print_fiche_titre($langs->trans('PriceByCustomer')); - + $result = $prodcustprice->fetch(GETPOST('lineid', 'int')); if ($result < 0) { setEventMessage($prodcustprice->error, 'errors'); } - + print '
'; print ''; print ''; @@ -318,12 +318,12 @@ if (! empty($conf->global->PRODUIT_CUSTOMER_PRICES)) { $staticprod->fetch($prodcustprice->fk_product); print "" . $staticprod->getNomUrl(1) . ""; print ''; - + // VAT print '' . $langs->trans("VATRate") . ''; print $form->load_tva("tva_tx", $prodcustprice->tva_tx, $mysoc, '', $staticprod->id, $prodcustprice->recuperableonly); print ''; - + // Price base print ''; print $langs->trans('PriceBase'); @@ -332,7 +332,7 @@ if (! empty($conf->global->PRODUIT_CUSTOMER_PRICES)) { print $form->select_PriceBaseType($prodcustprice->price_base_type, "price_base_type"); print ''; print ''; - + // Price print ''; $text = $langs->trans('SellingPrice'); @@ -344,18 +344,19 @@ if (! empty($conf->global->PRODUIT_CUSTOMER_PRICES)) { print ''; } print ''; - + // Price minimum print ''; $text = $langs->trans('MinPrice'); print $form->textwithpicto($text, $langs->trans("PrecisionUnitIsLimitedToXDecimals", $conf->global->MAIN_MAX_DECIMALS_UNIT), 1, 1); + print ''; if ($prodcustprice->price_base_type == 'TTC') { - print ''; + print ''; } else { - print ''; + print ''; } print ''; - + // Update all child soc print ''; print $langs->trans('ForceUpdateChildPriceSoc'); @@ -364,41 +365,41 @@ if (! empty($conf->global->PRODUIT_CUSTOMER_PRICES)) { print ''; print ''; print ''; - + print ''; - + print '

 '; print '
'; - + print '
'; } elseif ($action == 'showlog_customer_price') { - + $filter = array ( - 't.fk_product' => GETPOST('prodid', 'int'),'t.fk_soc' => $socid + 't.fk_product' => GETPOST('prodid', 'int'),'t.fk_soc' => $socid ); - + // Count total nb of records $nbtotalofrecords = 0; if (empty($conf->global->MAIN_DISABLE_FULL_SCANLIST)) { $nbtotalofrecords = $prodcustprice->fetch_all_log($sortorder, $sortfield, $conf->liste_limit, $offset, $filter); } - + $result = $prodcustprice->fetch_all_log($sortorder, $sortfield, $conf->liste_limit, $offset, $filter); if ($result < 0) { setEventMessage($prodcustprice->error, 'errors'); } - + $option = '&socid=' . GETPOST('socid', 'int') . '&prodid=' . GETPOST('prodid', 'int'); - + print_barre_liste($langs->trans('PriceByCustomerLog'), $page, $_SERVEUR ['PHP_SELF'], $option, $sortfield, $sortorder, '', count($prodcustprice->lines), $nbtotalofrecords); - + if (count($prodcustprice->lines) > 0) { - + print '
'; print ''; - + print ''; - + print ''; print ''; print ''; @@ -411,25 +412,25 @@ if (! empty($conf->global->PRODUIT_CUSTOMER_PRICES)) { print ''; print ''; print ''; - + $var = True; - + foreach ( $prodcustprice->lines as $line ) { - + print ""; $staticprod = new Product($db); $staticprod->fetch($line->fk_product); - + print ""; print ""; - + print '"; print '"; print '"; print '"; print ''; print ''; - + // User $userstatic = new User($db); $userstatic->fetch($line->fk_user); @@ -441,36 +442,36 @@ if (! empty($conf->global->PRODUIT_CUSTOMER_PRICES)) { } else { print $langs->trans('None'); } - + print "\n" . '
' . "\n"; print ''; print "\n

\n"; } else { - + // View mode - + // Count total nb of records $nbtotalofrecords = 0; if (empty($conf->global->MAIN_DISABLE_FULL_SCANLIST)) { $nbtotalofrecords = $prodcustprice->fetch_all('', '', 0, 0, $filter); } - + $result = $prodcustprice->fetch_all($sortorder, $sortfield, $conf->liste_limit, $offset, $filter); if ($result < 0) { setEventMessage($prodcustprice->error, 'errors'); } - + $option = '&search_soc=' . $search_soc . '&id=' . $object->id; - + print_barre_liste($langs->trans('PriceByCustomer'), $page, $_SERVEUR ['PHP_SELF'], $option, $sortfield, $sortorder, '', count($prodcustprice->lines), $nbtotalofrecords); - + if (count($prodcustprice->lines) > 0) { - + print ''; print ''; - + print '
' . $langs->trans("Product") . '' . $langs->trans("AppliedPricesFrom") . '' . $langs->trans("ChangedBy") . ' 
" . $staticprod->getNomUrl(1) . "" . dol_print_date($line->datec, "dayhour") . "' . $langs->trans($line->price_base_type) . "' . vatrate($line->tva_tx, true, $line->recuperableonly) . "' . price($line->price) . "' . price($line->price_ttc) . "' . price($line->price_min) . '' . price($line->price_min_ttc) . '
'; - + print ''; print ''; print ''; @@ -483,7 +484,7 @@ if (! empty($conf->global->PRODUIT_CUSTOMER_PRICES)) { print ''; print ''; print ''; - + print ''; print ''; print ''; @@ -492,33 +493,33 @@ if (! empty($conf->global->PRODUIT_CUSTOMER_PRICES)) { print ''; print ''; print ''; - + $var = True; - + foreach ( $prodcustprice->lines as $line ) { - + print ""; - + $staticprod = new Product($db); $staticprod->fetch($line->fk_product); - + print ""; print ""; - + print '"; print '"; print '"; print '"; print ''; print ''; - + // User $userstatic = new User($db); $userstatic->fetch($line->fk_user); print ''; - + // Todo Edit or delete button // Action if ($user->rights->produit->creer || $user->rights->service->creer) { @@ -534,24 +535,24 @@ if (! empty($conf->global->PRODUIT_CUSTOMER_PRICES)) { print ''; print ''; } - + print "\n"; } print "
' . $langs->trans("Product") . '' . $langs->trans("AppliedPricesFrom") . '' . $langs->trans("ChangedBy") . ' 
 
" . $staticprod->getNomUrl(1) . "" . dol_print_date($line->datec, "dayhour") . "' . $langs->trans($line->price_base_type) . "' . vatrate($line->tva_tx, true, $line->recuperableonly) . "' . price($line->price) . "' . price($line->price_ttc) . "' . price($line->price_min) . '' . price($line->price_min_ttc) . ''; print $userstatic->getLoginUrl(1); print '
"; - + print "
"; } else { print $langs->trans('None'); } - + /* ************************************************************************** */ /* */ /* Barre d'action */ /* */ /* ************************************************************************** */ - + print "\n" . '
' . "\n"; - + if ($user->rights->produit->creer || $user->rights->service->creer) { print ''; } diff --git a/htdocs/theme/amarok/style.css.php b/htdocs/theme/amarok/style.css.php index 68c12c64bef..1d81029a1e4 100644 --- a/htdocs/theme/amarok/style.css.php +++ b/htdocs/theme/amarok/style.css.php @@ -586,6 +586,10 @@ div.login { height: 16px; } +#securitycode { + min-width: 60px; +} + img.login, img.printer, img.entity { margin:2px 0px 0px 0px; text-decoration:none; diff --git a/htdocs/theme/auguria/style.css.php b/htdocs/theme/auguria/style.css.php index 04dc5467520..f0c2e96fe52 100644 --- a/htdocs/theme/auguria/style.css.php +++ b/htdocs/theme/auguria/style.css.php @@ -551,6 +551,9 @@ form#login { background-image: -ms-linear-gradient(top, rgba(240,240,240,.3) 0%, rgba(192,192,192,.3) 100%); background-image: linear-gradient(top, rgba(240,240,240,.3) 0%, rgba(192,192,192,.3) 100%); } +#securitycode { + min-width: 60px; +} #img_securitycode { border: 1px solid #DDDDDD; } diff --git a/htdocs/theme/bureau2crea/style.css.php b/htdocs/theme/bureau2crea/style.css.php index 8c1758b8648..ee0bcde0baf 100644 --- a/htdocs/theme/bureau2crea/style.css.php +++ b/htdocs/theme/bureau2crea/style.css.php @@ -585,6 +585,9 @@ form#login { background-image: -ms-linear-gradient(top, rgba(240,240,240,.3) 0%, rgba(192,192,192,.3) 100%); background-image: linear-gradient(top, rgba(240,240,240,.3) 0%, rgba(192,192,192,.3) 100%); } +#securitycode { + min-width: 60px; +} #img_securitycode { border: 1px solid #DDDDDD; } diff --git a/htdocs/theme/cameleo/style.css.php b/htdocs/theme/cameleo/style.css.php index 241621d1aff..13dfee590ae 100644 --- a/htdocs/theme/cameleo/style.css.php +++ b/htdocs/theme/cameleo/style.css.php @@ -657,6 +657,9 @@ form#login { background-image: -ms-linear-gradient(top, rgba(240,240,240,.3) 0%, rgba(192,192,192,.3) 100%); background-image: linear-gradient(top, rgba(240,240,240,.3) 0%, rgba(192,192,192,.3) 100%); } +#securitycode { + min-width: 60px; +} #img_securitycode { border: 1px solid #DDDDDD; } diff --git a/htdocs/theme/eldy/style.css.php b/htdocs/theme/eldy/style.css.php index f3c86c0897f..b572ac73f66 100644 --- a/htdocs/theme/eldy/style.css.php +++ b/htdocs/theme/eldy/style.css.php @@ -867,6 +867,9 @@ div#login_left, div#login_right { table.login_table tr td table.none tr td { padding: 2px; } +#securitycode { + min-width: 60px; +} #img_securitycode { border: 1px solid #DDDDDD; }