123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701 |
- <?php
- /* Copyright (C) 2005 Matthieu Valleton <mv@seeschloss.org>
- * Copyright (C) 2006-2015 Laurent Destailleur <eldy@users.sourceforge.net>
- * Copyright (C) 2007 Patrick Raguin <patrick.raguin@gmail.com>
- * Copyright (C) 2005-2012 Regis Houssin <regis.houssin@inodbox.com>
- * Copyright (C) 2015 Raphaël Doursenaud <rdoursenaud@gpcsolutions.fr>
- *
- * 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 <http://www.gnu.org/licenses/>.
- */
- /**
- * \file htdocs/categories/viewcat.php
- * \ingroup category
- * \brief Page to show a category card
- */
- require '../main.inc.php';
- require_once DOL_DOCUMENT_ROOT.'/categories/class/categorie.class.php';
- require_once DOL_DOCUMENT_ROOT.'/core/lib/categories.lib.php';
- require_once DOL_DOCUMENT_ROOT.'/core/class/extrafields.class.php';
- require_once DOL_DOCUMENT_ROOT.'/core/class/html.formother.class.php';
- // Load translation files required by the page
- $langs->load("categories");
- $id = GETPOST('id','int');
- $label= GETPOST('label','alpha');
- $type = GETPOST('type','az09');
- $action=GETPOST('action','aZ09');
- $confirm = GETPOST('confirm','alpha');
- $removeelem = GETPOST('removeelem','int');
- $elemid = GETPOST('elemid','alpha');
- if ($id == "" && $label == "")
- {
- dol_print_error('','Missing parameter id');
- exit();
- }
- // Security check
- $result = restrictedArea($user, 'categorie', $id, '&category');
- $object = new Categorie($db);
- $result=$object->fetch($id, $label);
- if ($result <= 0) {
- dol_print_error($db,$object->error); exit;
- }
- $object->fetch_optionals();
- if ($result <= 0) {
- dol_print_error($db,$object->error); exit;
- }
- $type=$object->type;
- if (is_numeric($type)) $type=Categorie::$MAP_ID_TO_CODE[$type]; // For backward compatibility
- $extrafields = new ExtraFields($db);
- $extralabels = $extrafields->fetch_name_optionals_label($object->table_element);
- // Initialize technical object to manage hooks. Note that conf->hooks_modules contains array array
- $hookmanager->initHooks(array('categorycard','globalcard'));
- /*
- * Actions
- */
- $parameters=array();
- $reshook=$hookmanager->executeHooks('doActions',$parameters,$object,$action); // Note that $action and $object may have been modified by some hooks
- // Remove element from category
- if ($id > 0 && $removeelem > 0)
- {
- if ($type == Categorie::TYPE_PRODUCT && ($user->rights->produit->creer || $user->rights->service->creer))
- {
- require_once DOL_DOCUMENT_ROOT.'/product/class/product.class.php';
- $tmpobject = new Product($db);
- $result = $tmpobject->fetch($removeelem);
- $elementtype = 'product';
- }
- else if ($type == Categorie::TYPE_SUPPLIER && $user->rights->societe->creer)
- {
- $tmpobject = new Societe($db);
- $result = $tmpobject->fetch($removeelem);
- $elementtype = 'supplier';
- }
- else if ($type == Categorie::TYPE_CUSTOMER && $user->rights->societe->creer)
- {
- $tmpobject = new Societe($db);
- $result = $tmpobject->fetch($removeelem);
- $elementtype = 'customer';
- }
- else if ($type == Categorie::TYPE_MEMBER && $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 == Categorie::TYPE_CONTACT && $user->rights->societe->creer) {
- require_once DOL_DOCUMENT_ROOT.'/contact/class/contact.class.php';
- $tmpobject = new Contact($db);
- $result = $tmpobject->fetch($removeelem);
- $elementtype = 'contact';
- }
- else if ($type == Categorie::TYPE_ACCOUNT && $user->rights->banque->configurer)
- {
- require_once DOL_DOCUMENT_ROOT.'/compta/bank/class/account.class.php';
- $tmpobject = new Account($db);
- $result = $tmpobject->fetch($removeelem);
- $elementtype = 'account';
- }
- else if ($type == Categorie::TYPE_PROJECT && $user->rights->projet->creer)
- {
- require_once DOL_DOCUMENT_ROOT.'/projet/class/project.class.php';
- $tmpobject = new Project($db);
- $result = $tmpobject->fetch($removeelem);
- $elementtype = 'project';
- }
- $result=$object->del_type($tmpobject,$elementtype);
- if ($result < 0) dol_print_error('',$object->error);
- }
- if ($user->rights->categorie->supprimer && $action == 'confirm_delete' && $confirm == 'yes')
- {
- if ($object->delete($user) >= 0)
- {
- header("Location: ".DOL_URL_ROOT.'/categories/index.php?type='.$type);
- exit;
- }
- else
- {
- setEventMessages($object->error, $object->errors, 'errors');
- }
- }
- if ($type == Categorie::TYPE_PRODUCT && $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)
- {
- setEventMessages($langs->trans("WasAddedSuccessfully",$newobject->ref), null, 'mesgs');
- }
- else
- {
- if ($cat->error == 'DB_ERROR_RECORD_ALREADY_EXISTS')
- {
- setEventMessages($langs->trans("ObjectAlreadyLinkedToCategory"), null, 'warnings');
- }
- else
- {
- setEventMessages($object->error,$object->errors,'errors');
- }
- }
- }
- /*
- * View
- */
- $form = new Form($db);
- $formother = new FormOther($db);
- $helpurl='';
- llxHeader("",$langs->trans("Categories"),$helpurl);
- if ($type == Categorie::TYPE_PRODUCT) $title=$langs->trans("ProductsCategoryShort");
- elseif ($type == Categorie::TYPE_SUPPLIER) $title=$langs->trans("SuppliersCategoryShort");
- elseif ($type == Categorie::TYPE_CUSTOMER) $title=$langs->trans("CustomersCategoryShort");
- elseif ($type == Categorie::TYPE_MEMBER) $title=$langs->trans("MembersCategoryShort");
- elseif ($type == Categorie::TYPE_CONTACT) $title=$langs->trans("ContactCategoriesShort");
- elseif ($type == Categorie::TYPE_ACCOUNT) $title=$langs->trans("AccountsCategoriesShort");
- elseif ($type == Categorie::TYPE_PROJECT) $title=$langs->trans("ProjectsCategoriesShort");
- elseif ($type == Categorie::TYPE_USER) $title=$langs->trans("ProjectsCategoriesShort");
- else $title=$langs->trans("Category");
- $head = categories_prepare_head($object,$type);
- dol_fiche_head($head, 'card', $title, -1, 'category');
- $linkback = '<a href="'.DOL_URL_ROOT.'/categories/index.php?leftmenu=cat&type='.$type.'">'.$langs->trans("BackToList").'</a>';
- $object->next_prev_filter=" type = ".$object->type;
- $object->ref = $object->label;
- $morehtmlref='<br><div class="refidno"><a href="'.DOL_URL_ROOT.'/categories/index.php?leftmenu=cat&type='.$type.'">'.$langs->trans("Root").'</a> >> ';
- $ways = $object->print_all_ways(" >> ", '', 1);
- foreach ($ways as $way)
- {
- $morehtmlref.=$way."<br>\n";
- }
- $morehtmlref.='</div>';
- dol_banner_tab($object, 'label', $linkback, ($user->societe_id?0:1), 'label', 'label', $morehtmlref, '', 0, '', '', 1);
- /*
- * Confirmation suppression
- */
- if ($action == 'delete')
- {
- print $form->formconfirm($_SERVER["PHP_SELF"].'?id='.$object->id.'&type='.$type, $langs->trans('DeleteCategory'), $langs->trans('ConfirmDeleteCategory'), 'confirm_delete', '', '', 1);
- }
- print '<br>';
- print '<div class="fichecenter">';
- print '<div class="underbanner clearboth"></div>';
- print '<table width="100%" class="border">';
- // Description
- print '<tr><td class="titlefield notopnoleft tdtop">';
- print $langs->trans("Description").'</td><td>';
- print dol_htmlentitiesbr($object->description);
- print '</td></tr>';
- // Color
- print '<tr><td class="notopnoleft">';
- print $langs->trans("Color").'</td><td>';
- print $formother->showColor($object->color);
- print '</td></tr>';
- // Other attributes
- include DOL_DOCUMENT_ROOT . '/core/tpl/extrafields_view.tpl.php';
- print '</table>';
- print '</div>';
- dol_fiche_end();
- /*
- * Boutons actions
- */
- print "<div class='tabsAction'>\n";
- if ($user->rights->categorie->creer)
- {
- $socid = ($object->socid ? "&socid=".$object->socid : "");
- print "<a class='butAction' href='edit.php?id=".$object->id.$socid."&type=".$type."'>".$langs->trans("Modify")."</a>";
- }
- if ($user->rights->categorie->supprimer)
- {
- print "<a class='butActionDelete' href='".DOL_URL_ROOT."/categories/viewcat.php?action=delete&id=".$object->id."&type=".$type."'>".$langs->trans("Delete")."</a>";
- }
- print "</div>";
- $cats = $object->get_filles();
- if ($cats < 0)
- {
- dol_print_error($db, $cats->error, $cats->errors);
- }
- else
- {
- print "<br>";
- print "<table class='noborder' width='100%'>\n";
- print "<tr class='liste_titre'><td colspan='2'>".$langs->trans("SubCats").'</td><td align="right">';
- if ($user->rights->categorie->creer)
- {
- print "<a href='".DOL_URL_ROOT."/categories/card.php?action=create&catorigin=".$object->id."&socid=".$object->socid."&type=".$type."&urlfrom=".urlencode($_SERVER["PHP_SELF"].'?id='.$object->id.'&type='.$type)."'>";
- print img_picto($langs->trans("Create"),'filenew');
- print "</a>";
- }
- print "</td>";
- print "</tr>\n";
- if (count($cats) > 0)
- {
- foreach ($cats as $cat)
- {
- print "\t".'<tr class="oddeven">'."\n";
- print "\t\t".'<td class="nowrap">';
- print "<a href='viewcat.php?id=".$cat->id."&type=".$type."'>".$cat->label."</a>";
- print "</td>\n";
- print "\t\t".'<td colspan="2">'.$cat->description."</td>\n";
- /*
- if ($cat->visible == 1)
- {
- print "\t\t<td>".$langs->trans("ContentsVisibleByAllShort")."</td>\n";
- }
- else
- {
- print "\t\t<td>".$langs->trans("ContentsNotVisibleByAllShort")."</td>\n";
- }
- */
- print "\t</tr>\n";
- }
- }
- else
- {
- print "<tr ".$bc[false].'><td colspan="3" class="opacitymedium">'.$langs->trans("NoSubCat")."</td></tr>";
- }
- print "</table>\n";
- }
- // List of products or services (type is type of category)
- if ($type == Categorie::TYPE_PRODUCT)
- {
- $prods = $object->getObjectsInCateg("product");
- if ($prods < 0)
- {
- dol_print_error($db, $prods->error, $prods->errors);
- }
- else
- {
- $showclassifyform=1; $typeid=Categorie::TYPE_PRODUCT;
- // 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")." (".count($prods).")</td></tr>\n";
- if (count($prods) > 0)
- {
- foreach ($prods as $prod)
- {
- print "\t".'<tr class="oddeven">'."\n";
- print '<td class="nowrap" valign="top">';
- print $prod->getNomUrl(1);
- print "</td>\n";
- print '<td class="tdtop">'.$prod->label."</td>\n";
- // Link to delete from category
- print '<td align="right">';
- $permission=0;
- if ($type == Categorie::TYPE_PRODUCT) $permission=($user->rights->produit->creer || $user->rights->service->creer);
- if ($type == Categorie::TYPE_SUPPLIER) $permission=$user->rights->societe->creer;
- if ($type == Categorie::TYPE_CUSTOMER) $permission=$user->rights->societe->creer;
- if ($type == Categorie::TYPE_MEMBER) $permission=$user->rights->adherent->creer;
- if ($type == Categorie::TYPE_PROJECT) $permission=$user->rights->projet->creer;
- if ($permission)
- {
- print "<a href= '".$_SERVER['PHP_SELF']."?".(empty($socid)?'id':'socid')."=".$object->id."&type=".$typeid."&removeelem=".$prod->id."'>";
- print img_delete($langs->trans("DeleteFromCat")).' ';
- print $langs->trans("DeleteFromCat")."</a>";
- }
- print '</td>';
- print "</tr>\n";
- }
- }
- else
- {
- print "<tr ".$bc[false].'><td colspan="2" class="opacitymedium">'.$langs->trans("ThisCategoryHasNoProduct")."</td></tr>";
- }
- print "</table>\n";
- }
- }
- if ($type == Categorie::TYPE_SUPPLIER)
- {
- $socs = $object->getObjectsInCateg("supplier");
- if ($socs < 0)
- {
- dol_print_error($db, $socs->error, $socs->errors);
- }
- else
- {
- print "<br>";
- print '<table class="noborder" width="100%">'."\n";
- print '<tr class="liste_titre"><td colspan="2">'.$langs->trans("Suppliers")." (".count($socs).")</td></tr>\n";
- if (count($socs) > 0)
- {
- foreach ($socs as $soc)
- {
- print "\t".'<tr class="oddeven">'."\n";
- print '<td class="nowrap" valign="top">';
- print $soc->getNomUrl(1);
- print "</td>\n";
- // Link to delete from category
- print '<td align="right">';
- $permission=0;
- if ($type == Categorie::TYPE_PRODUCT) $permission=($user->rights->produit->creer || $user->rights->service->creer);
- if ($type == Categorie::TYPE_SUPPLIER) $permission=$user->rights->societe->creer;
- if ($type == Categorie::TYPE_CUSTOMER) $permission=$user->rights->societe->creer;
- if ($type == Categorie::TYPE_MEMBER) $permission=$user->rights->adherent->creer;
- if ($type == Categorie::TYPE_PROJECT) $permission=$user->rights->projet->creer;
- if ($permission)
- {
- print "<a href= '".$_SERVER['PHP_SELF']."?".(empty($socid)?'id':'socid')."=".$object->id."&type=".$typeid."&removeelem=".$soc->id."'>";
- print img_delete($langs->trans("DeleteFromCat")).' ';
- print $langs->trans("DeleteFromCat")."</a>";
- }
- print '</td>';
- print "</tr>\n";
- }
- }
- else
- {
- print '<tr '.$bc[false].'><td class="opacitymedium">'.$langs->trans("ThisCategoryHasNoSupplier").'</td></tr>';
- }
- print "</table>\n";
- }
- }
- if($type == Categorie::TYPE_CUSTOMER)
- {
- $socs = $object->getObjectsInCateg("customer");
- if ($socs < 0)
- {
- dol_print_error($db, $socs->error, $socs->errors);
- }
- else
- {
- print "<br>";
- print '<table class="noborder" width="100%">'."\n";
- print '<tr class="liste_titre"><td colspan="2">'.$langs->trans("Customers")." (".count($socs).")</td></tr>\n";
- if (count($socs) > 0)
- {
- $i = 0;
- foreach ($socs as $key => $soc)
- {
- if ($user->societe_id > 0 && $soc->id != $user->societe_id) continue; // External user always see only themself
- $i++;
- print "\t".'<tr class="oddeven">'."\n";
- print '<td class="nowrap" valign="top">';
- print $soc->getNomUrl(1);
- print "</td>\n";
- // Link to delete from category
- print '<td align="right">';
- $permission=0;
- if ($type == Categorie::TYPE_PRODUCT) $permission=($user->rights->produit->creer || $user->rights->service->creer);
- if ($type == Categorie::TYPE_SUPPLIER) $permission=$user->rights->societe->creer;
- if ($type == Categorie::TYPE_CUSTOMER) $permission=$user->rights->societe->creer;
- if ($type == Categorie::TYPE_MEMBER) $permission=$user->rights->adherent->creer;
- if ($type == Categorie::TYPE_PROJECT) $permission=$user->rights->projet->creer;
- if ($permission)
- {
- print "<a href= '".$_SERVER['PHP_SELF']."?".(empty($socid)?'id':'socid')."=".$object->id."&type=".$typeid."&removeelem=".$soc->id."'>";
- print img_delete($langs->trans("DeleteFromCat")).' ';
- print $langs->trans("DeleteFromCat")."</a>";
- }
- print '</td>';
- print "</tr>\n";
- }
- }
- else
- {
- print '<tr '.$bc[false].'><td class="opacitymedium">'.$langs->trans("ThisCategoryHasNoCustomer").'</td></tr>';
- }
- print "</table>\n";
- }
- }
- // List of members
- if ($type == Categorie::TYPE_MEMBER)
- {
- require_once DOL_DOCUMENT_ROOT.'/adherents/class/adherent.class.php';
- $prods = $object->getObjectsInCateg("member");
- if ($prods < 0)
- {
- dol_print_error($db, $prods->error, $prods->errors);
- }
- else
- {
- print "<br>";
- print "<table class='noborder' width='100%'>\n";
- print '<tr class="liste_titre"><td colspan="4">'.$langs->trans("Member")." (".count($prods).")</td></tr>\n";
- if (count($prods) > 0)
- {
- foreach ($prods as $key => $member)
- {
- print "\t".'<tr class="oddeven">'."\n";
- print '<td class="nowrap" valign="top">';
- $member->ref=$member->login;
- print $member->getNomUrl(1,0);
- print "</td>\n";
- print '<td class="tdtop">'.$member->lastname."</td>\n";
- print '<td class="tdtop">'.$member->firstname."</td>\n";
- // Link to delete from category
- print '<td align="right">';
- $permission=0;
- if ($type == Categorie::TYPE_PRODUCT) $permission=($user->rights->produit->creer || $user->rights->service->creer);
- if ($type == Categorie::TYPE_SUPPLIER) $permission=$user->rights->societe->creer;
- if ($type == Categorie::TYPE_CUSTOMER) $permission=$user->rights->societe->creer;
- if ($type == Categorie::TYPE_MEMBER) $permission=$user->rights->adherent->creer;
- if ($type == Categorie::TYPE_PROJECT) $permission=$user->rights->projet->creer;
- if ($permission)
- {
- print "<a href= '".$_SERVER['PHP_SELF']."?".(empty($socid)?'id':'socid')."=".$object->id."&type=".$typeid."&removeelem=".$member->id."'>";
- print img_delete($langs->trans("DeleteFromCat")).' ';
- print $langs->trans("DeleteFromCat")."</a>";
- }
- print "</tr>\n";
- }
- }
- else
- {
- print '<tr '.$bc[false].'><td colspan="3" class="opacitymedium">'.$langs->trans("ThisCategoryHasNoMember").'</td></tr>';
- }
- print "</table>\n";
- }
- }
- // Categorie contact
- if ($type == Categorie::TYPE_CONTACT)
- {
- $contacts = $object->getObjectsInCateg("contact");
- if ($contacts < 0)
- {
- dol_print_error($db, $contacts->error, $contacts->errors);
- }
- else
- {
- print "<br>";
- print '<table class="noborder" width="100%">'."\n";
- print '<tr class="liste_titre"><td colspan="2">'.$langs->trans("Contact")." (".count($contacts).")</td></tr>\n";
- if (count($contacts) > 0)
- {
- $i = 0;
- foreach ($contacts as $key => $contact)
- {
- $i++;
- print "\t".'<tr class="oddeven">'."\n";
- print '<td class="nowrap" valign="top">';
- print $contact->getNomUrl(1,'category');
- print "</td>\n";
- // Link to delete from category
- print '<td align="right">';
- $permission=0;
- if ($type == Categorie::TYPE_PRODUCT) $permission=($user->rights->produit->creer || $user->rights->service->creer);
- if ($type == Categorie::TYPE_SUPPLIER) $permission=$user->rights->societe->creer;
- if ($type == Categorie::TYPE_CUSTOMER) $permission=$user->rights->societe->creer;
- if ($type == Categorie::TYPE_MEMBER) $permission=$user->rights->adherent->creer;
- if ($type == Categorie::TYPE_PROJECT) $permission=$user->rights->projet->creer;
- if ($permission)
- {
- print "<a href= '".$_SERVER['PHP_SELF']."?".(empty($socid)?'id':'socid')."=".$object->id."&type=".$typeid."&removeelem=".$contact->id."'>";
- print img_delete($langs->trans("DeleteFromCat")).' ';
- print $langs->trans("DeleteFromCat")."</a>";
- }
- print '</td>';
- print "</tr>\n";
- }
- }
- else
- {
- print '<tr '.$bc[false].'><td class="opacitymedium">'.$langs->trans("ThisCategoryHasNoContact").'</td></tr>';
- }
- print "</table>\n";
- }
- }
- // List of accounts
- if ($type == Categorie::TYPE_ACCOUNT)
- {
- require_once DOL_DOCUMENT_ROOT.'/compta/bank/class/account.class.php';
- $accounts = $object->getObjectsInCateg("account");
- if ($accounts < 0)
- {
- dol_print_error($db, $accounts->error, $accounts->errors);
- }
- else
- {
- print "<br>";
- print "<table class='noborder' width='100%'>\n";
- print '<tr class="liste_titre"><td colspan="4">'.$langs->trans("Account")." (".count($accounts).")</td></tr>\n";
- if (count($accounts) > 0)
- {
- foreach ($accounts as $key => $account)
- {
- print "\t".'<tr class="oddeven">'."\n";
- print '<td class="nowrap" valign="top">';
- print $account->getNomUrl(1,0);
- print "</td>\n";
- print '<td class="tdtop">'.$account->bank."</td>\n";
- print '<td class="tdtop">'.$account->number."</td>\n";
- // Link to delete from category
- print '<td align="right">';
- $permission=0;
- if ($type == Categorie::TYPE_PRODUCT) $permission=($user->rights->produit->creer || $user->rights->service->creer);
- if ($type == Categorie::TYPE_SUPPLIER) $permission=$user->rights->societe->creer;
- if ($type == Categorie::TYPE_CUSTOMER) $permission=$user->rights->societe->creer;
- if ($type == Categorie::TYPE_MEMBER) $permission=$user->rights->adherent->creer;
- if ($type == Categorie::TYPE_PROJECT) $permission=$user->rights->projet->creer;
- if ($permission)
- {
- print "<a href= '".$_SERVER['PHP_SELF']."?".(empty($socid)?'id':'socid')."=".$object->id."&type=".$typeid."&removeelem=".$account->id."'>";
- print img_delete($langs->trans("DeleteFromCat")).' ';
- print $langs->trans("DeleteFromCat")."</a>";
- }
- print "</tr>\n";
- }
- }
- else
- {
- print '<tr '.$bc[false].'><td colspan="3" class="opacitymedium">'.$langs->trans("ThisCategoryHasNoAccount").'</td></tr>';
- }
- print "</table>\n";
- }
- }
- // List of Project
- if ($type == Categorie::TYPE_PROJECT)
- {
- require_once DOL_DOCUMENT_ROOT.'/projet/class/project.class.php';
- $projects = $object->getObjectsInCateg("project");
- if ($projects < 0)
- {
- dol_print_error($db, $object->error, $object->errors);
- }
- else
- {
- print "<br>";
- print "<table class='noborder' width='100%'>\n";
- print '<tr class="liste_titre"><td colspan="4">'.$langs->trans("Project")." (".count($projects).")</td></tr>\n";
- if (count($projects) > 0)
- {
- foreach ($projects as $key => $project)
- {
- print "\t".'<tr class="oddeven">'."\n";
- print '<td class="nowrap" valign="top">';
- print $project->getNomUrl(1);
- print "</td>\n";
- print '<td class="tdtop">'.$project->ref."</td>\n";
- print '<td class="tdtop">'.$project->title."</td>\n";
- // Link to delete from category
- print '<td align="right">';
- $permission=0;
- if ($type == Categorie::TYPE_PRODUCT) $permission=($user->rights->produit->creer || $user->rights->service->creer);
- if ($type == Categorie::TYPE_SUPPLIER) $permission=$user->rights->societe->creer;
- if ($type == Categorie::TYPE_CUSTOMER) $permission=$user->rights->societe->creer;
- if ($type == Categorie::TYPE_MEMBER) $permission=$user->rights->adherent->creer;
- if ($type == Categorie::TYPE_PROJECT) $permission=$user->rights->projet->creer;
- if ($permission)
- {
- print "<a href= '".$_SERVER['PHP_SELF']."?".(empty($socid)?'id':'socid')."=".$object->id."&type=".$typeid."&removeelem=".$project->id."'>";
- print img_delete($langs->trans("DeleteFromCat")).' ';
- print $langs->trans("DeleteFromCat")."</a>";
- }
- print "</tr>\n";
- }
- }
- else
- {
- print '<tr '.$bc[false].'><td colspan="3" class="opacitymedium">'.$langs->trans("ThisCategoryHasNoProject").'</td></tr>';
- }
- print "</table>\n";
- }
- }
- // End of page
- llxFooter();
- $db->close();
|