diff --git a/htdocs/modulebuilder/index.php b/htdocs/modulebuilder/index.php index be9d42317ab..d6efbcb9404 100644 --- a/htdocs/modulebuilder/index.php +++ b/htdocs/modulebuilder/index.php @@ -3887,6 +3887,36 @@ if ($module == 'initmodule') { $perms = $moduleobj->rights; + // Scan for object class files + $dir = $dirread.'/'.$modulelowercase.'/class'; + $listofobject = dol_dir_list($dir, 'files', 0, '\.class\.php$'); + $objects = array('myobject'); + $reg =array(); + foreach ($listofobject as $fileobj) { + $tmpcontent = file_get_contents($fileobj['fullname']); + if (preg_match('/class\s+([^\s]*)\s+extends\s+CommonObject/ims', $tmpcontent, $reg)) { + $objects[] = $reg[1]; + } + } + // declared select list for actions and labels permissions + $crud = array('Read','Write','Delete'); + $labels = array("Read objects of $module","Create/Update objects of $module","Delete objects of $module"); + + $action = GETPOST('action', 'alpha'); + + if ($action == 'deleteright') { + $formconfirm = $form->formconfirm( + $_SERVER["PHP_SELF"].'?permskey='.urlencode(GETPOST('permskey', 'int')).'&tab='.urlencode($tab).'&module='.urlencode($module).'&tabobj='.urlencode($tabobj), + $langs->trans('Delete'), + $langs->trans('Confirm Delete Right', GETPOST('permskey', 'alpha')), + 'confirm_deleteright', + '', + 0, + 1 + ); + print $formconfirm; + } + if ($action != 'editfile' || empty($file)) { print ''; $htmlhelp = $langs->trans("PermissionsDefDescTooltip", '{s1}'); @@ -3913,33 +3943,122 @@ if ($module == 'initmodule') { print ''; print ''; - print_liste_field_titre("ID", $_SERVER["PHP_SELF"], '', "", $param, '', $sortfield, $sortorder); - print_liste_field_titre("Label", $_SERVER["PHP_SELF"], '', "", $param, '', $sortfield, $sortorder); - print_liste_field_titre("Permission", $_SERVER["PHP_SELF"], '', "", $param, '', $sortfield, $sortorder); - print_liste_field_titre("", $_SERVER["PHP_SELF"], '', "", $param, '', $sortfield, $sortorder); + print_liste_field_titre("ID", $_SERVER["PHP_SELF"], '', "", $param, '', $sortfield, $sortorder, "center"); + print_liste_field_titre("Label", $_SERVER["PHP_SELF"], '', "", $param, '', $sortfield, $sortorder, "center"); + print_liste_field_titre("Permission", $_SERVER["PHP_SELF"], '', "", $param, '', $sortfield, $sortorder, "center"); + print_liste_field_titre("CRUD", $_SERVER["PHP_SELF"], '', "", $param, '', $sortfield, $sortorder, "center"); + print_liste_field_titre("", $_SERVER["PHP_SELF"], '', "", $param, '', $sortfield, $sortorder, "center"); print "\n"; + //form for add new right + print ''; + print ''; + print ''; + + print ''; + + print ''; + + print ''; + print ''; + if (count($perms)) { + $i = 0; foreach ($perms as $perm) { - print ''; + $i++; + // section for editing right + if ($action == 'edit_right' && $perm[0] == (int) GETPOST('permskey', 'int')) { + print ''; + print ''; + print ''; + print ''; + print ''; + print ''; + print ''; + print ''; - print ''; - print ''; + print ''; - print ''; + print ''; - print ''; + print ''; - print ''; + print ''; + + print ''; + + print ''; + + print ''; + print ''; + } else { + print ''; + + print ''; + + print ''; + + print ''; + + print ''; + + print ''; + + print ''; + } } } else { print '';
'; + print ''; + print ''; + print '
'; - print $perm[0]; - print ''; - print $langs->trans($perm[1]); - print ''; - print $perm[4]; - print ''; + print ''; + print ''; - print $perm[5]; - print ''; + print ''; + print '
'; + print ''; + print ''; + print ''; + print '
'; + print ''; + print '
'; + print $perm[0]; + print ''; + print $langs->trans($perm[1]); + print ''; + print $perm[4]; + print ''; + print $perm[5]; + print ''; + if ($perm[4] != 'myobject') { + print ''.img_edit().''; + print ''.img_delete().''; + } + print '
'.$langs->trans("None").'