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'; $tabtoadd = ($conf->global->PARTNERSHIP_IS_MANAGED_FOR == 'member') ? 'member' : 'thirdparty';
if($tabtoadd == 'member') if($tabtoadd == 'member'){
$this->tabs[] = array('data'=>'member:+partnership:Partnership:partnership@partnership:$user->rights->partnership->read:/partnership/partnership_list.php?id=__ID__'); $this->tabs[] = array('data'=>'member:+partnership:Partnership:partnership@partnership:$user->rights->partnership->read:/partnership/partnership.php?socid=__ID__');
else $fk_mainmenu = "members";
$this->tabs[] = array('data'=>'thirdparty:+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.php?socid=__ID__');
$fk_mainmenu = "companies";
}
// Example: // 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 // $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, // 'user'=>2,
// ); // );
$this->menu[$r++] = array( $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 'type'=>'left', // This is a Top menu entry
'titre'=>'Partnership', 'titre'=>'Partnership',
'prefix' => img_picto('', $this->picto, 'class="paddingright pictofixedwidth"'), 'prefix' => img_picto('', $this->picto, 'class="paddingright pictofixedwidth"'),
'mainmenu'=>'companies', 'mainmenu'=>$fk_mainmenu,
'leftmenu'=>'partnership', 'leftmenu'=>'partnership',
'url'=>'/partnership/partnership_list.php', 'url'=>'/partnership/partnership_list.php',
'langs'=>'partnership', // Lang file to use (without .lang) by module. File must be in langs/code_CODE/ directory. '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 'user'=>2, // 0=Menu for internal users, 1=external users, 2=both
); );
$this->menu[$r++] = array( $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 'type'=>'left', // This is a Left menu entry
'titre'=>'NewPartnership', 'titre'=>'NewPartnership',
'mainmenu'=>'companies', 'mainmenu'=>$fk_mainmenu,
'leftmenu'=>'partnership_new', 'leftmenu'=>'partnership_new',
'url'=>'/partnership/partnership_card.php?action=create', '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. '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 'user'=>2, // 0=Menu for internal users, 1=external users, 2=both
); );
$this->menu[$r++] = array( $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 'type'=>'left', // This is a Left menu entry
'titre'=>'ListOfPartnerships', 'titre'=>'ListOfPartnerships',
'mainmenu'=>'companies', 'mainmenu'=>$fk_mainmenu,
'leftmenu'=>'partnership_list', 'leftmenu'=>'partnership_list',
'url'=>'/partnership/partnership_list.php', 'url'=>'/partnership/partnership_list.php',
'langs'=>'partnership', // Lang file to use (without .lang) by module. File must be in langs/code_CODE/ directory. '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); $partnership = new modPartnership($db);
$value = GETPOST('managed_for', 'alpha'); $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(); $partnership->tabs = array();
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";
}
$tabtoadd = ($value == 'member') ? 'member' : 'thirdparty'; foreach ($partnership->menu as $key => $menu) {
$partnership->menu[$key]['mainmenu'] = $fk_mainmenu;
if($tabtoadd == 'member') if($menu['leftmenu'] == 'partnership')
$partnership->tabs[] = array('data'=>'member:+partnership:Partnership:partnership@partnership:$user->rights->partnership->read:/partnership/partnership_list.php?id=__ID__'); $partnership->menu[$key]['fk_menu'] = 'fk_mainmenu='.$fk_mainmenu;
else else
$partnership->tabs[] = array('data'=>'thirdparty:+partnership:Partnership:partnership@partnership:$user->rights->partnership->read:/partnership/partnership_list.php?id=__ID__'); $partnership->menu[$key]['fk_menu'] = 'fk_mainmenu='.$fk_mainmenu.',fk_leftmenu=partnership';
}
$error += $partnership->delete_tabs(); $error += $partnership->delete_tabs();
$error += $partnership->insert_tabs(); $error += $partnership->insert_tabs();
$error += $partnership->delete_menus();
$error += $partnership->insert_menus();
} }
if ($action) { if ($action) {

View File

@ -41,9 +41,9 @@ function partnershipAdminPrepareHead()
$h++; $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][1] = $langs->trans("ExtraFields");
$head[$h][2] = 'myobject_extrafields'; $head[$h][2] = 'partnership_extrafields';
$h++; $h++;