commit
598508af41
@ -1,5 +1,5 @@
|
||||
<?php
|
||||
/* Copyright (C) 2015 Alexandre Spangaro <aspangaro@open-dsi.fr>
|
||||
/* Copyright (C) 2015-2021 Alexandre Spangaro <aspangaro@open-dsi.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
|
||||
@ -13,25 +13,27 @@
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||
* or see https://www.gnu.org/
|
||||
*/
|
||||
|
||||
/**
|
||||
* \file htdocs/core/modules/modHRM.class.php
|
||||
* \ingroup HRM
|
||||
* \brief Description and activation file for the module HRM
|
||||
* \defgroup HRM Module hrm
|
||||
* \file htdocs/core/modules/modHRM.class.php
|
||||
* \ingroup HRM
|
||||
* \brief Description and activation file for the module HRM
|
||||
*/
|
||||
include_once DOL_DOCUMENT_ROOT."/core/modules/DolibarrModules.class.php";
|
||||
|
||||
|
||||
/**
|
||||
* Class to describe and activate the HRM module
|
||||
* Description and activation class for module HRM
|
||||
*/
|
||||
class modHRM extends DolibarrModules
|
||||
{
|
||||
/**
|
||||
* Constructor.
|
||||
* Define names, constants, directories, boxes, permissions
|
||||
* Constructor. Define names, constants, directories, boxes, permissions
|
||||
*
|
||||
* @param DoliDB $db Database handler
|
||||
* @param DoliDB $db Database handler
|
||||
*/
|
||||
public function __construct($db)
|
||||
{
|
||||
@ -39,34 +41,27 @@ class modHRM extends DolibarrModules
|
||||
|
||||
$this->db = $db;
|
||||
|
||||
// Id for module (must be unique).
|
||||
// Use here a free id (See in Home -> System information -> Dolibarr for list of used modules id).
|
||||
$this->numero = 4000;
|
||||
// Key text used to identify module (for permissions, menus, etc...)
|
||||
$this->rights_class = 'hrm';
|
||||
|
||||
// Family can be 'crm','financial','hr','projects','products','ecm','technic','other'
|
||||
// It is used to group modules in module setup page
|
||||
$this->family = "hr";
|
||||
$this->module_position = '50';
|
||||
// Module label (no space allowed), used if translation string 'ModuleXXXName' not found (where XXX is value of numeric property 'numero' of module)
|
||||
$this->name = preg_replace('/^mod/i', '', get_class($this));
|
||||
// Module description, used if translation string 'ModulehrmDesc' not found (hrm is name of module).
|
||||
$this->description = "hrm Description product ";
|
||||
// Used only if file README.md and README-LL.md not found.
|
||||
$this->descriptionlong = "hrm Description long";
|
||||
|
||||
// Author
|
||||
$this->editor_name = 'Editor name';
|
||||
$this->editor_url = 'https://www.example.com';
|
||||
|
||||
// Possible values for version are: 'development', 'experimental', 'dolibarr', 'dolibarr_deprecated' or a version string like 'x.y.z'
|
||||
$this->version = '1.0';
|
||||
// Url to the file with your last numberversion of this module
|
||||
//$this->url_last_version = 'http://www.example.com/versionmodule.txt';
|
||||
|
||||
// Key used in llx_const table to save module status enabled/disabled (where HRMTEST is value of property name of module in uppercase)
|
||||
// Module description, used if translation string 'ModuleXXXDesc' not found (where XXX is value of numeric property 'numero' of module)
|
||||
$this->description = "HRM";
|
||||
// Possible values for version are: 'development', 'experimental', 'dolibarr' or version
|
||||
$this->version = 'development';
|
||||
// Key used in llx_const table to save module status enabled/disabled (where MYMODULE is value of property name of module in uppercase)
|
||||
$this->const_name = 'MAIN_MODULE_'.strtoupper($this->name);
|
||||
|
||||
// Name of image file used for this module.
|
||||
// If file is in theme/yourtheme/img directory under name object_pictovalue.png, use this->picto='pictovalue'
|
||||
// If file is in module/img directory under name object_pictovalue.png, use this->picto='pictovalue@module'
|
||||
// To use a supported fa-xxx css style of font awesome, use this->picto='xxx'
|
||||
$this->picto = 'hrm';
|
||||
|
||||
// Define some features supported by module (triggers, login, substitutions, menus, css, etc...)
|
||||
@ -110,32 +105,20 @@ class modHRM extends DolibarrModules
|
||||
$this->config_page_url = array("hrm.php");
|
||||
|
||||
// Dependencies
|
||||
// A condition to hide module
|
||||
$this->hidden = false;
|
||||
// List of module class names as string that must be enabled if this module is enabled. Example: array('always1'=>'modModuleToEnable1','always2'=>'modModuleToEnable2', 'FR1'=>'modModuleToEnableFR'...)
|
||||
$this->depends = array();
|
||||
$this->requiredby = array(); // List of module class names as string to disable if this one is disabled. Example: array('modModuleToDisable1', ...)
|
||||
$this->conflictwith = array(); // List of module class names as string this module is in conflict with. Example: array('modModuleToDisable1', ...)
|
||||
|
||||
// The language file dedicated to your module
|
||||
$this->hidden = false; // A condition to hide module
|
||||
$this->depends = array(); // List of module class names as string that must be enabled if this module is enabled
|
||||
$this->requiredby = array(); // List of module ids to disable if this one is disabled
|
||||
$this->conflictwith = array(); // List of module class names as string this module is in conflict with
|
||||
$this->phpmin = array(5, 6); // Minimum version of PHP required by module
|
||||
$this->need_dolibarr_version = array(11, 0); // Minimum version of Dolibarr required by module
|
||||
$this->langfiles = array("hrm");
|
||||
|
||||
// Prerequisites
|
||||
$this->phpmin = array(5, 6); // Minimum version of PHP required by module
|
||||
$this->need_dolibarr_version = array(11, -3); // Minimum version of Dolibarr required by module
|
||||
|
||||
// Messages at activation
|
||||
$this->warnings_activation = array(); // Warning to show when we activate module. array('always'='text') or array('FR'='textfr','ES'='textes'...)
|
||||
$this->warnings_activation_ext = array(); // Warning to show when we activate an external module. array('always'='text') or array('FR'='textfr','ES'='textes'...)
|
||||
//$this->automatic_activation = array('FR'=>'HrmTestWasAutomaticallyActivatedBecauseOfYourCountryChoice');
|
||||
//$this->always_enabled = true; // If true, can't be disabled
|
||||
|
||||
// Constants
|
||||
// List of particular constants to add when module is enabled (key, 'chaine', value, desc, visible, 'current' or 'allentities', deleteonunactive)
|
||||
// Example: $this->const=array(1 => array('HRMTEST_MYNEWCONST1', 'chaine', 'myvalue', 'This is a constant to add', 1),
|
||||
// 2 => array('HRMTEST_MYNEWCONST2', 'chaine', 'myvalue', 'This is another constant to add', 0, 'current', 1)
|
||||
// );
|
||||
$this->const = array();
|
||||
// Example: $this->const=array(0=>array('MYMODULE_MYNEWCONST1','chaine','myvalue','This is a constant to add',0),
|
||||
// 1=>array('MYMODULE_MYNEWCONST2','chaine','myvalue','This is another constant to add',0) );
|
||||
// 2=>array('MAIN_MODULE_MYMODULE_NEEDSMARTY','chaine',1,'Constant to say module need smarty',0)
|
||||
$this->const = array(); // List of particular constants to add when module is enabled (key, 'chaine', value, desc, visible, 0 or 'allentities')
|
||||
$r = 0;
|
||||
|
||||
|
||||
if (!isset($conf->hrm) || !isset($conf->hrm->enabled)) {
|
||||
@ -207,67 +190,78 @@ class modHRM extends DolibarrModules
|
||||
// ),
|
||||
);
|
||||
|
||||
// Permissions provided by this module
|
||||
$this->rights = array();
|
||||
|
||||
// Permissions
|
||||
$this->rights = array(); // Permission array used by this module
|
||||
$r = 0;
|
||||
// Add here entries to declare new permissions
|
||||
/* BEGIN MODULEBUILDER PERMISSIONS */
|
||||
|
||||
// Skill / Job / Position
|
||||
$this->rights[$r][0] = $this->numero . sprintf("%02d", $r + 1); // Permission id (must not be already used)
|
||||
$this->rights[$r][1] = $langs->trans('ReadSkillJobPosition'); // Permission label
|
||||
$this->rights[$r][0] = 4010; // Permission id (must not be already used)
|
||||
$this->rights[$r][1] = 'Read skill/job/position'; // Permission label
|
||||
$this->rights[$r][3] = 0; // Permission by default for new user (0/1)
|
||||
$this->rights[$r][4] = 'all';
|
||||
$this->rights[$r][5] = 'read'; // In php code, permission will be checked by test if ($user->rights->hrm->poste->read)
|
||||
$r++;
|
||||
$this->rights[$r][0] = $this->numero . sprintf("%02d", $r + 1); // Permission id (must not be already used)
|
||||
$this->rights[$r][1] = $langs->trans('CreateUpdateSkillJobPosition'); // Permission label
|
||||
|
||||
$this->rights[$r][0] = 4011; // Permission id (must not be already used)
|
||||
$this->rights[$r][1] = 'Create/modify skill/job/position'; // Permission label
|
||||
$this->rights[$r][3] = 0; // Permission by default for new user (0/1)
|
||||
$this->rights[$r][4] = 'all';
|
||||
$this->rights[$r][5] = 'write'; // In php code, permission will be checked by test if ($user->rights->hrm->poste->write)
|
||||
$r++;
|
||||
$this->rights[$r][0] = $this->numero . sprintf("%02d", $r + 1); // Permission id (must not be already used)
|
||||
$this->rights[$r][1] = $langs->trans('DeleteSkillJobPosition'); // Permission label
|
||||
|
||||
$this->rights[$r][0] = 4012; // Permission id (must not be already used)
|
||||
$this->rights[$r][1] = 'Delete skill/job/position'; // Permission label
|
||||
$this->rights[$r][3] = 0; // Permission by default for new user (0/1)
|
||||
$this->rights[$r][4] = 'all';
|
||||
$this->rights[$r][5] = 'delete'; // In php code, permission will be checked by test if ($user->rights->hrm->poste->delete)
|
||||
$r++;
|
||||
|
||||
//Eval
|
||||
$this->rights[$r][0] = $this->numero . sprintf("%02d", $r + 1); // Permission id (must not be already used)
|
||||
$this->rights[$r][1] = $langs->trans('ReadEval'); // Permission label
|
||||
// Evaluation
|
||||
$this->rights[$r][0] = 4020; // Permission id (must not be already used)
|
||||
$this->rights[$r][1] = 'Read evaluation'; // Permission label
|
||||
$this->rights[$r][3] = 0; // Permission by default for new user (0/1)
|
||||
$this->rights[$r][4] = 'evaluation';
|
||||
$this->rights[$r][5] = 'read'; // In php code, permission will be checked by test if ($user->rights->hrm->poste->read)
|
||||
$r++;
|
||||
$this->rights[$r][0] = $this->numero . sprintf("%02d", $r + 1); // Permission id (must not be already used)
|
||||
$this->rights[$r][1] = $langs->trans('CreateUpdateEval'); // Permission label
|
||||
|
||||
$this->rights[$r][0] = 4021; // Permission id (must not be already used)
|
||||
$this->rights[$r][1] = 'Create/modify evaluation'; // Permission label
|
||||
$this->rights[$r][3] = 0; // Permission by default for new user (0/1)
|
||||
$this->rights[$r][4] = 'evaluation';
|
||||
$this->rights[$r][5] = 'write'; // In php code, permission will be checked by test if ($user->rights->hrm->poste->write)
|
||||
$r++;
|
||||
$this->rights[$r][0] = $this->numero . sprintf("%02d", $r + 1); // Permission id (must not be already used)
|
||||
$this->rights[$r][1] = $langs->trans('ValidateEval'); // Permission label
|
||||
|
||||
$this->rights[$r][0] = 4022; // Permission id (must not be already used)
|
||||
$this->rights[$r][1] = 'Validate evaluation'; // Permission label
|
||||
$this->rights[$r][3] = 0; // Permission by default for new user (0/1)
|
||||
$this->rights[$r][4] = 'evaluation';
|
||||
$this->rights[$r][5] = 'validate'; // In php code, permission will be checked by test if ($user->rights->hrm->poste->write)
|
||||
$r++;
|
||||
$this->rights[$r][0] = $this->numero . sprintf("%02d", $r + 1); // Permission id (must not be already used)
|
||||
$this->rights[$r][1] = $langs->trans('DeleteEval'); // Permission label
|
||||
|
||||
$this->rights[$r][0] = 4023; // Permission id (must not be already used)
|
||||
$this->rights[$r][1] = 'Delete evaluation'; // Permission label
|
||||
$this->rights[$r][3] = 0; // Permission by default for new user (0/1)
|
||||
$this->rights[$r][4] = 'evaluation';
|
||||
$this->rights[$r][5] = 'delete'; // In php code, permission will be checked by test if ($user->rights->hrm->poste->delete)
|
||||
$r++;
|
||||
|
||||
// Comparison
|
||||
$this->rights[$r][0] = $this->numero . sprintf("%02d", $r + 1); // Permission id (must not be already used)
|
||||
$this->rights[$r][1] = $langs->trans('SeeComparisonMenu'); // Permission label
|
||||
$this->rights[$r][0] = 4030; // Permission id (must not be already used)
|
||||
$this->rights[$r][1] = 'See comparison menu'; // Permission label
|
||||
$this->rights[$r][3] = 0; // Permission by default for new user (0/1)
|
||||
$this->rights[$r][4] = 'compare';
|
||||
$this->rights[$r][5] = 'read'; // In php code, permission will be checked by test if ($user->rights->hrm->poste->delete)
|
||||
$r++;
|
||||
}
|
||||
|
||||
/**
|
||||
* Function called when module is enabled.
|
||||
* The init function add constants, boxes, permissions and menus
|
||||
* (defined in constructor) into Dolibarr database.
|
||||
* It also creates data directories
|
||||
* Function called when module is enabled.
|
||||
* The init function add constants, boxes, permissions and menus (defined in constructor) into Dolibarr database.
|
||||
* It also creates data directories
|
||||
*
|
||||
* @param string $options Enabling module ('', 'noboxes')
|
||||
* @return int if OK, 0 if KO
|
||||
* @param string $options Options when enabling module ('', 'newboxdefonly', 'noboxes')
|
||||
* @return int 1 if OK, 0 if KO
|
||||
*/
|
||||
public function init($options = '')
|
||||
{
|
||||
|
||||
@ -961,6 +961,14 @@ Permission4001=See employees
|
||||
Permission4002=Create employees
|
||||
Permission4003=Delete employees
|
||||
Permission4004=Export employees
|
||||
Permission4010=Read skill/job/position
|
||||
Permission4011=Create/modify skill/job/position
|
||||
Permission4012=Delete skill/job/position
|
||||
Permission4020=Read evaluation
|
||||
Permission4021=Create/modify evaluation
|
||||
Permission4022=Validate evaluation
|
||||
Permission4023=Delete evaluation
|
||||
Permission4030=See comparison menu
|
||||
Permission10001=Read website content
|
||||
Permission10002=Create/modify website content (html and javascript content)
|
||||
Permission10003=Create/modify website content (dynamic php code). Dangerous, must be reserved to restricted developers.
|
||||
|
||||
@ -19,12 +19,9 @@ Employees=Employees
|
||||
Employee=Employee
|
||||
NewEmployee=New employee
|
||||
ListOfEmployees=List of employees
|
||||
HrmSetup = Hrm setup
|
||||
HrmSetupPage = Hrm setup page
|
||||
HrmSetup=HRM module setup
|
||||
HRM_MAXRANK=Maximum rank for a skill
|
||||
HRM_DEFAULT_SKILL_DESCRIPTION=Default description of ranks when skill is created
|
||||
HrmAbout = About Hrm
|
||||
traduction_note=Translate
|
||||
deplacement=Shift
|
||||
DateEval=Evaluation date
|
||||
JobCard=Job card
|
||||
@ -82,11 +79,3 @@ NoEval=No evaluation done for this employee
|
||||
HowManyUserWithThisMaxNote=Number of users with this rank
|
||||
HighestRank=Highest rank
|
||||
SkillComparison=Skill comparison
|
||||
ReadSkillJobPosition=Read skills / jobs / positions
|
||||
CreateUpdateSkillJobPosition=Create / update skills / jobs / positions
|
||||
DeleteSkillJobPosition=Delete skills / jobs / positions
|
||||
ReadEval=Read evaluations
|
||||
CreateUpdateEval=Create / update evaluations
|
||||
ValidateEval=Validate evaluations
|
||||
DeleteEval=Delete evaluations
|
||||
SeeComparisonMenu=Access skills comparison menu
|
||||
|
||||
Loading…
Reference in New Issue
Block a user