Merge branch 'develop' of git@github.com:Dolibarr/dolibarr.git into develop
This commit is contained in:
commit
60a6e2a579
@ -5,6 +5,7 @@ English Dolibarr ChangeLog
|
||||
|
||||
***** ChangeLog for 3.7 compared to 3.6.* *****
|
||||
For users:
|
||||
- New: Can add product into category from category card.
|
||||
- New: PDF event report show project and status of event.
|
||||
- New: Can filter on status on interventions.
|
||||
- New: Add help info of field type into dictionary of payment types.
|
||||
|
||||
@ -1,6 +1,6 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project name="dolibarr" default="hudson" basedir=".">
|
||||
|
||||
fdfds
|
||||
<!-- Exclude/ignore paths -->
|
||||
<property name="ignorepaths" value="${basedir}/htdocs/conf,${basedir}/htdocs/core/filemanagerdol,${basedir}/htdocs/includes" />
|
||||
<property name="ignoreregexp" value="**/PEAR/*,**/NET/*,**/HTTP/*,**/zendgdata/*,**/reportico/*" />
|
||||
|
||||
@ -207,8 +207,7 @@ if (empty($reshook))
|
||||
}
|
||||
else
|
||||
{
|
||||
setEventMessage($cat->error,'errors');
|
||||
setEventMessage($cat->errors,'errors');
|
||||
setEventMessages($cat->error,$this->errors,'errors');
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -628,7 +627,7 @@ function formCategory($db,$object,$typeid,$socid=0,$showclassifyform=1)
|
||||
// Form to add record into a category
|
||||
if ($showclassifyform)
|
||||
{
|
||||
print '<form method="post" action="'.DOL_URL_ROOT.'/categories/categorie.php">';
|
||||
print '<form method="post" action="'.$_SERVER["PHP_SELF"].'">';
|
||||
print '<input type="hidden" name="token" value="'.$_SESSION['newtoken'].'">';
|
||||
print '<input type="hidden" name="typeid" value="'.$typeid.'">';
|
||||
print '<input type="hidden" name="type" value="'.$typeid.'">';
|
||||
|
||||
@ -38,6 +38,7 @@ $type=GETPOST('type');
|
||||
$action=GETPOST('action');
|
||||
$confirm=GETPOST('confirm');
|
||||
$removeelem = GETPOST('removeelem','int');
|
||||
$elemid=GETPOST('elemid');
|
||||
|
||||
if ($id == "")
|
||||
{
|
||||
@ -120,6 +121,33 @@ if ($user->rights->categorie->supprimer && $action == 'confirm_delete' && $confi
|
||||
}
|
||||
}
|
||||
|
||||
if ($type==0 && $elemid && $action == 'addintocategory' && ($user->rights->produit->creer || $user->rights->service->creer))
|
||||
{
|
||||
require_once DOL_DOCUMENT_ROOT.'/product/class/product.class.php';
|
||||
$newobject = new Product($db);
|
||||
$result = $newobject->fetch($elemid);
|
||||
$elementtype = 'product';
|
||||
|
||||
// TODO Add into categ
|
||||
$result=$object->add_type($newobject,$elementtype);
|
||||
if ($result >= 0)
|
||||
{
|
||||
setEventMessage($langs->trans("WasAddedSuccessfully",$newobject->ref));
|
||||
}
|
||||
else
|
||||
{
|
||||
if ($cat->error == 'DB_ERROR_RECORD_ALREADY_EXISTS')
|
||||
{
|
||||
setEventMessage($langs->trans("ObjectAlreadyLinkedToCategory"),'warnings');
|
||||
}
|
||||
else
|
||||
{
|
||||
setEventMessages($object->error,$object->errors,'errors');
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
/*
|
||||
@ -144,6 +172,7 @@ dol_fiche_head($head, 'card', $title, 0, 'category');
|
||||
/*
|
||||
* Confirmation suppression
|
||||
*/
|
||||
|
||||
if ($action == 'delete')
|
||||
{
|
||||
print $form->formconfirm($_SERVER["PHP_SELF"].'?id='.$object->id.'&type='.$type,$langs->trans('DeleteCategory'),$langs->trans('ConfirmDeleteCategory'),'confirm_delete');
|
||||
@ -251,10 +280,9 @@ else
|
||||
print "</table>\n";
|
||||
}
|
||||
|
||||
// List of products
|
||||
// List of products or services (type is type of category)
|
||||
if ($object->type == 0)
|
||||
{
|
||||
|
||||
$prods = $object->getObjectsInCateg("product");
|
||||
if ($prods < 0)
|
||||
{
|
||||
@ -262,6 +290,29 @@ if ($object->type == 0)
|
||||
}
|
||||
else
|
||||
{
|
||||
$showclassifyform=1; $typeid=0;
|
||||
|
||||
// Form to add record into a category
|
||||
if ($showclassifyform)
|
||||
{
|
||||
print '<br>';
|
||||
print '<form method="post" action="'.$_SERVER["PHP_SELF"].'">';
|
||||
print '<input type="hidden" name="token" value="'.$_SESSION['newtoken'].'">';
|
||||
print '<input type="hidden" name="typeid" value="'.$typeid.'">';
|
||||
print '<input type="hidden" name="type" value="'.$typeid.'">';
|
||||
print '<input type="hidden" name="id" value="'.$object->id.'">';
|
||||
print '<input type="hidden" name="action" value="addintocategory">';
|
||||
print '<table class="noborder" width="100%">';
|
||||
print '<tr class="liste_titre"><td width="40%">';
|
||||
print $langs->trans("AddProductServiceIntoCategory").' ';
|
||||
print $form->select_produits('','elemid','',0,0,-1,2,'',1);
|
||||
print '</td><td>';
|
||||
print '<input type="submit" class="button" value="'.$langs->trans("ClassifyInCategory").'"></td>';
|
||||
print '</tr>';
|
||||
print '</table>';
|
||||
print '</form>';
|
||||
}
|
||||
|
||||
print "<br>";
|
||||
print "<table class='noborder' width='100%'>\n";
|
||||
print '<tr class="liste_titre"><td colspan="3">'.$langs->trans("ProductsAndServices")."</td></tr>\n";
|
||||
|
||||
@ -111,3 +111,4 @@ ExtraFieldsCategories=Complementary attributes
|
||||
CategoriesSetup=Categories setup
|
||||
CategorieRecursiv=Link with parent category automatically
|
||||
CategorieRecursivHelp=If activated, product will also linked to parent category when adding into a subcategory
|
||||
AddProductServiceIntoCategory=Add the following product/service
|
||||
@ -341,21 +341,23 @@ if ($isphoto) {
|
||||
print '</tr>';
|
||||
|
||||
// MultiPrix
|
||||
if (! empty($conf->global->PRODUIT_MULTIPRICES)) {
|
||||
if (! empty($socid)) {
|
||||
if (! empty($conf->global->PRODUIT_MULTIPRICES))
|
||||
{
|
||||
if (! empty($socid))
|
||||
{
|
||||
$soc = new Societe($db);
|
||||
$soc->id = $socid;
|
||||
$soc->fetch($socid);
|
||||
|
||||
print '<tr><td>' . $langs->trans("SellingPrice") . '</td>';
|
||||
|
||||
if ($object->multiprices_base_type ["$soc->price_level"] == 'TTC') {
|
||||
if ($object->multiprices_base_type["$soc->price_level"] == 'TTC') {
|
||||
print '<td>' . price($object->multiprices_ttc ["$soc->price_level"]);
|
||||
} else {
|
||||
print '<td>' . price($object->multiprices ["$soc->price_level"]);
|
||||
}
|
||||
|
||||
if ($object->multiprices_base_type ["$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);
|
||||
@ -364,15 +366,16 @@ if (! empty($conf->global->PRODUIT_MULTIPRICES)) {
|
||||
|
||||
// Prix mini
|
||||
print '<tr><td>' . $langs->trans("MinPrice") . '</td><td>';
|
||||
if ($object->multiprices_base_type ["$soc->price_level"] == 'TTC') {
|
||||
print price($object->multiprices_min_ttc ["$soc->price_level"]) . ' ' . $langs->trans($object->multiprices_base_type ["$soc->price_level"]);
|
||||
if ($object->multiprices_base_type["$soc->price_level"] == 'TTC')
|
||||
{
|
||||
print price($object->multiprices_min_ttc["$soc->price_level"]) . ' ' . $langs->trans($object->multiprices_base_type["$soc->price_level"]);
|
||||
} else {
|
||||
print price($object->multiprices_min ["$soc->price_level"]) . ' ' . $langs->trans($object->multiprices_base_type ["$soc->price_level"]);
|
||||
print price($object->multiprices_min["$soc->price_level"]) . ' ' . $langs->trans(empty($object->multiprices_base_type["$soc->price_level"])?'HT':$object->multiprices_base_type["$soc->price_level"]);
|
||||
}
|
||||
print '</td></tr>';
|
||||
|
||||
// TVA
|
||||
print '<tr><td>' . $langs->trans("VATRate") . '</td><td>' . vatrate($object->multiprices_tva_tx ["$soc->price_level"], true) . '</td></tr>';
|
||||
print '<tr><td>' . $langs->trans("VATRate") . '</td><td>' . vatrate($object->multiprices_tva_tx["$soc->price_level"], true) . '</td></tr>';
|
||||
}
|
||||
else
|
||||
{
|
||||
@ -393,12 +396,12 @@ if (! empty($conf->global->PRODUIT_MULTIPRICES)) {
|
||||
print '</td>';
|
||||
|
||||
if ($object->multiprices_base_type ["$i"] == 'TTC') {
|
||||
print '<td>' . price($object->multiprices_ttc ["$i"]);
|
||||
print '<td>' . price($object->multiprices_ttc["$i"]);
|
||||
} else {
|
||||
print '<td>' . price($object->multiprices ["$i"]);
|
||||
print '<td>' . price($object->multiprices["$i"]);
|
||||
}
|
||||
|
||||
if ($object->multiprices_base_type ["$i"]) {
|
||||
if ($object->multiprices_base_type["$i"]) {
|
||||
print ' ' . $langs->trans($object->multiprices_base_type ["$i"]);
|
||||
} else {
|
||||
print ' ' . $langs->trans($object->price_base_type);
|
||||
@ -408,9 +411,9 @@ if (! empty($conf->global->PRODUIT_MULTIPRICES)) {
|
||||
// Prix mini
|
||||
print '<tr><td>' . $langs->trans("MinPrice") . ' ' . $i . '</td><td>';
|
||||
if ($object->multiprices_base_type ["$i"] == 'TTC') {
|
||||
print price($object->multiprices_min_ttc ["$i"]) . ' ' . $langs->trans($object->multiprices_base_type ["$i"]);
|
||||
print price($object->multiprices_min_ttc["$i"]) . ' ' . $langs->trans($object->multiprices_base_type["$i"]);
|
||||
} else {
|
||||
print price($object->multiprices_min ["$i"]) . ' ' . $langs->trans($object->multiprices_base_type ["$i"]);
|
||||
print price($object->multiprices_min["$i"]) . ' ' . $langs->trans(empty($object->multiprices_base_type["$i"])?'HT':$object->multiprices_base_type["$i"]);
|
||||
}
|
||||
print '</td></tr>';
|
||||
|
||||
|
||||
Loading…
Reference in New Issue
Block a user