Add menu entries into thirdparty menu or member menu & Allow extrafields

This commit is contained in:
NextGestion 2021-04-07 12:21:59 +01:00
parent 78b4aa61fa
commit 5f5f0eb3f3
3 changed files with 39 additions and 19 deletions

View File

@ -179,10 +179,14 @@ class modPartnership extends DolibarrModules
$tabtoadd = ($conf->global->PARTNERSHIP_IS_MANAGED_FOR == 'member') ? 'member' : 'thirdparty';
if($tabtoadd == 'member')
$this->tabs[] = array('data'=>'member:+partnership:Partnership:partnership@partnership:$user->rights->partnership->read:/partnership/partnership_list.php?id=__ID__');
else
$this->tabs[] = array('data'=>'thirdparty:+partnership:Partnership:partnership@partnership:$user->rights->partnership->read:/partnership/partnership_list.php?id=__ID__');
if($tabtoadd == 'member'){
$this->tabs[] = array('data'=>'member:+partnership:Partnership:partnership@partnership:$user->rights->partnership->read:/partnership/partnership.php?socid=__ID__');
$fk_mainmenu = "members";
}
else{
$this->tabs[] = array('data'=>'thirdparty:+partnership:Partnership:partnership@partnership:$user->rights->partnership->read:/partnership/partnership.php?socid=__ID__');
$fk_mainmenu = "companies";
}
// Example:
// $this->tabs[] = array('data'=>'objecttype:+tabname1:Title1:mylangfile@partnership:$user->rights->partnership->read:/partnership/mynewtab1.php?id=__ID__'); // To add a new tab identified by code tabname1
@ -303,11 +307,11 @@ class modPartnership extends DolibarrModules
// 'user'=>2,
// );
$this->menu[$r++] = array(
'fk_menu'=>'fk_mainmenu=companies', // '' if this is a top menu. For left menu, use 'fk_mainmenu=xxx' or 'fk_mainmenu=xxx,fk_leftmenu=yyy' where xxx is mainmenucode and yyy is a leftmenucode
'fk_menu'=>'fk_mainmenu='.$fk_mainmenu, // '' if this is a top menu. For left menu, use 'fk_mainmenu=xxx' or 'fk_mainmenu=xxx,fk_leftmenu=yyy' where xxx is mainmenucode and yyy is a leftmenucode
'type'=>'left', // This is a Top menu entry
'titre'=>'Partnership',
'prefix' => img_picto('', $this->picto, 'class="paddingright pictofixedwidth"'),
'mainmenu'=>'companies',
'mainmenu'=>$fk_mainmenu,
'leftmenu'=>'partnership',
'url'=>'/partnership/partnership_list.php',
'langs'=>'partnership', // Lang file to use (without .lang) by module. File must be in langs/code_CODE/ directory.
@ -318,10 +322,10 @@ class modPartnership extends DolibarrModules
'user'=>2, // 0=Menu for internal users, 1=external users, 2=both
);
$this->menu[$r++] = array(
'fk_menu'=>'fk_mainmenu=companies,fk_leftmenu=partnership', // '' if this is a top menu. For left menu, use 'fk_mainmenu=xxx' or 'fk_mainmenu=xxx,fk_leftmenu=yyy' where xxx is mainmenucode and yyy is a leftmenucode
'fk_menu'=>'fk_mainmenu='.$fk_mainmenu.',fk_leftmenu=partnership', // '' if this is a top menu. For left menu, use 'fk_mainmenu=xxx' or 'fk_mainmenu=xxx,fk_leftmenu=yyy' where xxx is mainmenucode and yyy is a leftmenucode
'type'=>'left', // This is a Left menu entry
'titre'=>'NewPartnership',
'mainmenu'=>'companies',
'mainmenu'=>$fk_mainmenu,
'leftmenu'=>'partnership_new',
'url'=>'/partnership/partnership_card.php?action=create',
'langs'=>'partnership', // Lang file to use (without .lang) by module. File must be in langs/code_CODE/ directory.
@ -332,10 +336,10 @@ class modPartnership extends DolibarrModules
'user'=>2, // 0=Menu for internal users, 1=external users, 2=both
);
$this->menu[$r++] = array(
'fk_menu'=>'fk_mainmenu=companies,fk_leftmenu=partnership', // '' if this is a top menu. For left menu, use 'fk_mainmenu=xxx' or 'fk_mainmenu=xxx,fk_leftmenu=yyy' where xxx is mainmenucode and yyy is a leftmenucode
'fk_menu'=>'fk_mainmenu='.$fk_mainmenu.',fk_leftmenu=partnership', // '' if this is a top menu. For left menu, use 'fk_mainmenu=xxx' or 'fk_mainmenu=xxx,fk_leftmenu=yyy' where xxx is mainmenucode and yyy is a leftmenucode
'type'=>'left', // This is a Left menu entry
'titre'=>'ListOfPartnerships',
'mainmenu'=>'companies',
'mainmenu'=>$fk_mainmenu,
'leftmenu'=>'partnership_list',
'url'=>'/partnership/partnership_list.php',
'langs'=>'partnership', // Lang file to use (without .lang) by module. File must be in langs/code_CODE/ directory.

View File

@ -84,20 +84,36 @@ if ($action == 'setting') {
$partnership = new modPartnership($db);
$value = GETPOST('managed_for', 'alpha');
$res = dolibarr_set_const($db, "PARTNERSHIP_IS_MANAGED_FOR", $value, 'chaine', 0, '', $conf->entity);
$modulemenu = ($value == 'member') ? 'member' : 'thirdparty';
$res = dolibarr_set_const($db, "PARTNERSHIP_IS_MANAGED_FOR", $modulemenu, 'chaine', 0, '', $conf->entity);
$partnership->tabs = array();
$tabtoadd = ($value == 'member') ? 'member' : 'thirdparty';
if($modulemenu == 'member'){
$partnership->tabs[] = array('data'=>'member:+partnership:Partnership:partnership@partnership:$user->rights->partnership->read:/partnership/partnership.php?socid=__ID__');
$fk_mainmenu = "members";
}
else{
$partnership->tabs[] = array('data'=>'thirdparty:+partnership:Partnership:partnership@partnership:$user->rights->partnership->read:/partnership/partnership.php?socid=__ID__');
$fk_mainmenu = "companies";
}
if($tabtoadd == 'member')
$partnership->tabs[] = array('data'=>'member:+partnership:Partnership:partnership@partnership:$user->rights->partnership->read:/partnership/partnership_list.php?id=__ID__');
else
$partnership->tabs[] = array('data'=>'thirdparty:+partnership:Partnership:partnership@partnership:$user->rights->partnership->read:/partnership/partnership_list.php?id=__ID__');
foreach ($partnership->menu as $key => $menu) {
$partnership->menu[$key]['mainmenu'] = $fk_mainmenu;
if($menu['leftmenu'] == 'partnership')
$partnership->menu[$key]['fk_menu'] = 'fk_mainmenu='.$fk_mainmenu;
else
$partnership->menu[$key]['fk_menu'] = 'fk_mainmenu='.$fk_mainmenu.',fk_leftmenu=partnership';
}
$error += $partnership->delete_tabs();
$error += $partnership->insert_tabs();
$error += $partnership->delete_menus();
$error += $partnership->insert_menus();
}
if ($action) {

View File

@ -41,9 +41,9 @@ function partnershipAdminPrepareHead()
$h++;
$head[$h][0] = dol_buildpath("/partnership/admin/myobject_extrafields.php", 1);
$head[$h][0] = dol_buildpath("/partnership/admin/partnership_extrafields.php", 1);
$head[$h][1] = $langs->trans("ExtraFields");
$head[$h][2] = 'myobject_extrafields';
$head[$h][2] = 'partnership_extrafields';
$h++;