diff --git a/htdocs/categories/class/categorie.class.php b/htdocs/categories/class/categorie.class.php
index ee4ff76a008..5224fa2d72e 100644
--- a/htdocs/categories/class/categorie.class.php
+++ b/htdocs/categories/class/categorie.class.php
@@ -28,6 +28,7 @@
require_once DOL_DOCUMENT_ROOT.'/product/class/product.class.php';
require_once DOL_DOCUMENT_ROOT.'/fourn/class/fournisseur.class.php';
+require_once DOL_DOCUMENT_ROOT.'/contact/class/contact.class.php';
/**
@@ -333,6 +334,17 @@ class Categorie
$error++;
}
}
+ if (! $error)
+ {
+ $sql = "DELETE FROM ".MAIN_DB_PREFIX."categorie_contact";
+ $sql .= " WHERE fk_categorie = ".$this->id;
+ if (!$this->db->query($sql))
+ {
+ $this->error=$this->db->lasterror();
+ dol_syslog("Error sql=".$sql." ".$this->error, LOG_ERR);
+ $error++;
+ }
+ }
// Delete category
if (! $error)
diff --git a/htdocs/categories/index.php b/htdocs/categories/index.php
index bd293f9febb..0e512cdfcf7 100644
--- a/htdocs/categories/index.php
+++ b/htdocs/categories/index.php
@@ -50,6 +50,7 @@ if ($type == 0) $title=$langs->trans("ProductsCategoriesArea");
elseif ($type == 1) $title=$langs->trans("SuppliersCategoriesArea");
elseif ($type == 2) $title=$langs->trans("CustomersCategoriesArea");
elseif ($type == 3) $title=$langs->trans("MembersCategoriesArea");
+elseif ($type == 4) $title=$langs->trans("ContactsCategoriesArea");
else $title=$langs->trans("CategoriesArea");
$arrayofjs=array('/includes/jquery/plugins/jquerytreeview/jquery.treeview.js', '/includes/jquery/plugins/jquerytreeview/lib/jquery.cookie.js');
diff --git a/htdocs/categories/photos.php b/htdocs/categories/photos.php
index 8a98ff44c01..06345dfb4cb 100644
--- a/htdocs/categories/photos.php
+++ b/htdocs/categories/photos.php
@@ -94,6 +94,7 @@ if ($object->id)
elseif ($type == 1) $title=$langs->trans("SuppliersCategoryShort");
elseif ($type == 2) $title=$langs->trans("CustomersCategoryShort");
elseif ($type == 3) $title=$langs->trans("MembersCategoryShort");
+ elseif ($type == 4) $title=$langs->trans("ContactCategoriesShort");
$head = categories_prepare_head($object,$type);
dol_fiche_head($head, 'photos', $title, 0, 'category');
diff --git a/htdocs/categories/viewcat.php b/htdocs/categories/viewcat.php
index 3cdb5d516f1..da18c5eba76 100644
--- a/htdocs/categories/viewcat.php
+++ b/htdocs/categories/viewcat.php
@@ -72,25 +72,32 @@ if ($id > 0 && $removeelem > 0)
$result = $tmpobject->fetch($removeelem);
$elementtype = 'product';
}
- if ($type==1 && $user->rights->societe->creer)
+ else if ($type==1 && $user->rights->societe->creer)
{
$tmpobject = new Societe($db);
$result = $tmpobject->fetch($removeelem);
$elementtype = 'fournisseur';
}
- if ($type==2 && $user->rights->societe->creer)
+ else if ($type==2 && $user->rights->societe->creer)
{
$tmpobject = new Societe($db);
$result = $tmpobject->fetch($removeelem);
$elementtype = 'societe';
}
- if ($type == 3 && $user->rights->adherent->creer)
+ else if ($type == 3 && $user->rights->adherent->creer)
{
require_once DOL_DOCUMENT_ROOT.'/adherents/class/adherent.class.php';
$tmpobject = new Adherent($db);
$result = $tmpobject->fetch($removeelem);
$elementtype = 'member';
}
+ else if ($type == 4 && $user->rights->societe->creer) {
+
+ require_once DOL_DOCUMENT_ROOT.'/contact/class/contact.class.php';
+ $tmpobject = new Contact($db);
+ $result = $tmpobject->fetch($removeelem);
+ $elementtype = 'contact';
+ }
$result=$object->del_type($tmpobject,$elementtype);
if ($result < 0) dol_print_error('',$object->error);
@@ -125,6 +132,7 @@ if ($type == 0) $title=$langs->trans("ProductsCategoryShort");
elseif ($type == 1) $title=$langs->trans("SuppliersCategoryShort");
elseif ($type == 2) $title=$langs->trans("CustomersCategoryShort");
elseif ($type == 3) $title=$langs->trans("MembersCategoryShort");
+elseif ($type == 4) $title=$langs->trans("ContactCategoriesShort");
else $title=$langs->trans("Category");
$head = categories_prepare_head($object,$type);
@@ -444,6 +452,59 @@ if ($object->type == 3)
}
}
+//Categorie contact
+if($object->type == 4)
+{
+ $contacts = $object->get_type("socpeople","Contact",'contact',"socpeople");
+ if ($contacts < 0)
+ {
+ dol_print_error();
+ }
+ else
+ {
+ print "
";
+ print '
| '.$langs->trans("Contact")." | |
| '; + print $contact->getNomUrl(1,'category'); + print " | \n"; + // Link to delete from category + print ''; + $typeid=$object->type; + $permission=0; + if ($typeid == 0) $permission=($user->rights->produit->creer || $user->rights->service->creer); + if ($typeid == 1) $permission=$user->rights->societe->creer; + if ($typeid == 2) $permission=$user->rights->societe->creer; + if ($typeid == 3) $permission=$user->rights->adherent->creer; + if ($typeid == 4) $permission=$user->rights->societe->creer; + if ($permission) + { + print "id."&type=".$typeid."&removeelem=".$contact->id."'>"; + print img_delete($langs->trans("DeleteFromCat")).' '; + print $langs->trans("DeleteFromCat").""; + } + print ' | '; + print "
| ".$langs->trans("ThisCategoryHasNoContact")." | |