Merge pull request #19826 from atm-gauthier/FIX_hrm
FIX : several adaptations rank => rankorder and langs correction for HRM
This commit is contained in:
commit
71e470eb6c
@ -1817,7 +1817,7 @@ function print_left_eldy_menu($db, $menu_array_before, $menu_array_after, &$tabM
|
||||
$newmenu->add("/hrm/evaluation_list.php?mainmenu=hrm&leftmenu=hrm_sm", $langs->trans("Evalutions"), 1, $user->rights->hrm->evaluation->read, '', $mainmenu, 'hrm_sm', 0, '', '', '', img_picto('', 'user', 'class="pictofixedwidth"'));
|
||||
//$newmenu->add("/hrm/evaluation_card.php?mainmenu=hrm&leftmenu=hrm_sm&action=create", $langs->trans("NewEval"), 1, $user->rights->hrm->evaluation->write);
|
||||
//$newmenu->add("/hrm/evaluation_list.php?mainmenu=hrm&leftmenu=hrm_sm", $langs->trans("List"), 1, $user->rights->hrm->evaluation->read);
|
||||
$newmenu->add("/hrm/compare.php?mainmenu=hrm&leftmenu=hrm_sm", $langs->trans("SkillComparison"), 1, $user->rights->hrm->evaluation->read || $user->rights->hrm->compare->read);
|
||||
$newmenu->add("/hrm/compare.php?mainmenu=hrm&leftmenu=hrm_sm", $langs->trans("SkillComparison"), 1, $user->rights->hrm->evaluation->read || $user->rights->hrm->compare_advance->read);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@ -236,7 +236,7 @@ class Evaluation extends CommonObject
|
||||
$line = new Evaluationline($this->db);
|
||||
$line->fk_evaluation = $resultcreate;
|
||||
$line->fk_skill = $required->fk_skill;
|
||||
$line->required_rank = $required->rank;
|
||||
$line->required_rank = $required->rankorder;
|
||||
$line->fk_rank = 0;
|
||||
|
||||
$res = $line->create($user, $notrigger);
|
||||
|
||||
@ -978,7 +978,7 @@ class Skill extends CommonObject
|
||||
$this->lines = array();
|
||||
|
||||
$objectline = new SkillLine($this->db);
|
||||
$result = $objectline->fetchAll('ASC', 'rank', 0, 0, array('customsql'=>'fk_skill = '.$this->id));
|
||||
$result = $objectline->fetchAll('ASC', 'rankorder', 0, 0, array('customsql'=>'fk_skill = '.$this->id));
|
||||
|
||||
if (is_numeric($result)) {
|
||||
$this->error = $this->error;
|
||||
|
||||
@ -107,7 +107,7 @@ class SkillRank extends CommonObject
|
||||
public $fields=array(
|
||||
'rowid' => array('type'=>'integer', 'label'=>'TechnicalID', 'enabled'=>'1', 'position'=>1, 'notnull'=>1, 'visible'=>0, 'noteditable'=>'1', 'index'=>1, 'css'=>'left', 'comment'=>"Id"),
|
||||
'fk_skill' => array('type'=>'integer:Skill:hrm/class/skill.class.php:1', 'label'=>'Skill', 'enabled'=>'1', 'position'=>3, 'notnull'=>1, 'visible'=>1, 'index'=>1,),
|
||||
'rank' => array('type'=>'integer', 'label'=>'Rank', 'enabled'=>'1', 'position'=>4, 'notnull'=>1, 'visible'=>1, 'default' => 0),
|
||||
'rankorder' => array('type'=>'integer', 'label'=>'Rank', 'enabled'=>'1', 'position'=>4, 'notnull'=>1, 'visible'=>1, 'default' => 0),
|
||||
'fk_object' => array('type'=>'integer', 'label'=>'object', 'enabled'=>'1', 'position'=>5, 'notnull'=>1, 'visible'=>0,),
|
||||
'date_creation' => array('type'=>'datetime', 'label'=>'DateCreation', 'enabled'=>'1', 'position'=>500, 'notnull'=>1, 'visible'=>-2,),
|
||||
'tms' => array('type'=>'timestamp', 'label'=>'DateModification', 'enabled'=>'1', 'position'=>501, 'notnull'=>0, 'visible'=>-2,),
|
||||
@ -371,7 +371,7 @@ class SkillRank extends CommonObject
|
||||
global $user;
|
||||
|
||||
$this->fk_skill = $currentSkill->fk_skill;
|
||||
$this->rank = $currentSkill->rank;
|
||||
$this->rankorder = $currentSkill->rankorder;
|
||||
$this->fk_object = $fk_user;
|
||||
$this->date_creation = dol_now();
|
||||
$this->fk_user_creat = $user->id;
|
||||
|
||||
@ -42,7 +42,7 @@ require_once DOL_DOCUMENT_ROOT . '/hrm/class/evaluation.class.php';
|
||||
require_once DOL_DOCUMENT_ROOT . '/hrm/class/position.class.php';
|
||||
require_once DOL_DOCUMENT_ROOT . '/hrm/lib/hrm.lib.php';
|
||||
|
||||
$permissiontoread = $user->rights->hrm->evaluation->read || $user->rights->hrm->compare->read;
|
||||
$permissiontoread = $user->rights->hrm->evaluation->read || $user->rights->hrm->compare_advance->read;
|
||||
$permissiontoadd = 0;
|
||||
if (empty($conf->hrm->enabled)) accessforbidden();
|
||||
if (!$permissiontoread || ($action === 'create' && !$permissiontoadd)) accessforbidden();
|
||||
@ -372,7 +372,7 @@ function mergeSkills($TSkill1, $TSkill2)
|
||||
foreach ($TSkill1 as &$sk) {
|
||||
if (empty($Tab[$sk->fk_skill])) $Tab[$sk->fk_skill] = new stdClass;
|
||||
|
||||
$Tab[$sk->fk_skill]->rate1 = $sk->rank;
|
||||
$Tab[$sk->fk_skill]->rate1 = $sk->rankorder;
|
||||
$Tab[$sk->fk_skill]->how_many_max1 = $sk->how_many_max;
|
||||
$Tab[$sk->fk_skill]->label = $sk->label;
|
||||
$Tab[$sk->fk_skill]->description = $sk->description;
|
||||
@ -380,7 +380,7 @@ function mergeSkills($TSkill1, $TSkill2)
|
||||
|
||||
foreach ($TSkill2 as &$sk) {
|
||||
if (empty($Tab[$sk->fk_skill])) $Tab[$sk->fk_skill] = new stdClass;
|
||||
$Tab[$sk->fk_skill]->rate2 = $sk->rank;
|
||||
$Tab[$sk->fk_skill]->rate2 = $sk->rankorder;
|
||||
$Tab[$sk->fk_skill]->label = $sk->label;
|
||||
$Tab[$sk->fk_skill]->description = $sk->description;
|
||||
$Tab[$sk->fk_skill]->how_many_max2 = $sk->how_many_max;
|
||||
@ -481,7 +481,7 @@ function getSkillForUsers($TUser)
|
||||
if (empty($TUser)) return array();
|
||||
|
||||
$sql = 'SELECT sk.rowid, sk.label, sk.description, sk.skill_type, sr.fk_object, sr.objecttype, sr.fk_skill, ';
|
||||
$sql.= ' MAX(sr.rank) as "rank"';
|
||||
$sql.= ' MAX(sr.rankorder) as "rankorder"';
|
||||
$sql.= ' FROM '.MAIN_DB_PREFIX.'hrm_skill sk';
|
||||
$sql.= ' LEFT JOIN '.MAIN_DB_PREFIX.'hrm_skillrank sr ON (sk.rowid = sr.fk_skill)';
|
||||
$sql.= " WHERE sr.objecttype = '".SkillRank::SKILLRANK_TYPE_USER."'";
|
||||
@ -496,7 +496,7 @@ function getSkillForUsers($TUser)
|
||||
$num = 0;
|
||||
while ($obj = $db->fetch_object($resql) ) {
|
||||
$sql1 = "SELECT count(*) as how_many_max FROM ".MAIN_DB_PREFIX."hrm_skillrank sr";
|
||||
$sql1.=" WHERE sr.rank = ".((int) $obj->rank);
|
||||
$sql1.=" WHERE sr.rankorder = ".((int) $obj->rankorder);
|
||||
$sql1.=" AND sr.objecttype = '".Skillrank::SKILLRANK_TYPE_USER."'";
|
||||
$sql1.=" AND sr.fk_skill = ".((int) $obj->fk_skill);
|
||||
$sql1.=" AND sr.fk_object IN (".$db->sanitize(implode(',', $TUser)).")";
|
||||
@ -511,7 +511,7 @@ function getSkillForUsers($TUser)
|
||||
$Tab[$num]->skill_type = $obj->skill_type;
|
||||
$Tab[$num]->fk_object = $obj->fk_object;
|
||||
$Tab[$num]->objectType = SkillRank::SKILLRANK_TYPE_USER;
|
||||
$Tab[$num]->rank = $obj->rank;
|
||||
$Tab[$num]->rankorder = $obj->rankorder;
|
||||
$Tab[$num]->how_many_max = $objMax->how_many_max;
|
||||
|
||||
$num++;
|
||||
@ -536,7 +536,7 @@ function getSkillForJob($fk_job)
|
||||
if (empty($fk_job)) return array();
|
||||
|
||||
$sql = 'SELECT sk.rowid, sk.label, sk.description, sk.skill_type, sr.fk_object, sr.objecttype, sr.fk_skill, ';
|
||||
$sql.= ' MAX(sr.rank) as "rank"';
|
||||
$sql.= ' MAX(sr.rankorder) as "rankorder"';
|
||||
$sql.=' FROM '.MAIN_DB_PREFIX.'hrm_skill sk';
|
||||
$sql.=' LEFT JOIN '.MAIN_DB_PREFIX.'hrm_skillrank sr ON (sk.rowid = sr.fk_skill)';
|
||||
$sql.=" WHERE sr.objecttype = '".SkillRank::SKILLRANK_TYPE_JOB."'";
|
||||
@ -559,7 +559,7 @@ function getSkillForJob($fk_job)
|
||||
//$Tab[$num]->date_end = ''; // du poste
|
||||
$Tab[$num]->fk_object = $obj->fk_object;
|
||||
$Tab[$num]->objectType = SkillRank::SKILLRANK_TYPE_JOB;
|
||||
$Tab[$num]->rank = $obj->rank;
|
||||
$Tab[$num]->rankorder = $obj->rankorder;
|
||||
$Tab[$num]->how_many_max = $obj->how_many_max;
|
||||
|
||||
$num++;
|
||||
|
||||
@ -93,7 +93,7 @@ print '</td>';
|
||||
<?php
|
||||
global $permissiontoadd;
|
||||
|
||||
print displayRankInfos($line->rank, $line->fk_skill, 'TNote', ($this->status == 0 && $permissiontoadd) ? 'edit' : 'view');
|
||||
print displayRankInfos($line->rankorder, $line->fk_skill, 'TNote', ($this->status == 0 && $permissiontoadd) ? 'edit' : 'view');
|
||||
|
||||
?>
|
||||
|
||||
|
||||
@ -82,7 +82,7 @@ include DOL_DOCUMENT_ROOT.'/core/actions_fetchobject.inc.php'; // Must be includ
|
||||
|
||||
$permissiontoread = $user->rights->hrm->evaluation->read;
|
||||
$permissiontoadd = $user->rights->hrm->evaluation->write; // Used by the include of actions_addupdatedelete.inc.php and actions_lineupdown.inc.php
|
||||
$permissiontovalidate = $user->rights->hrm->evaluation->validate;
|
||||
$permissiontovalidate = $user->rights->hrm->evaluation_advance->validate;
|
||||
$permissiontoClose = $user->rights->hrm->evaluation->write;
|
||||
$permissiontodelete = $user->rights->hrm->evaluation->delete/* || ($permissiontoadd && isset($object->status) && $object->status == $object::STATUS_DRAFT)*/;
|
||||
$permissiondellink = $user->rights->hrm->evaluation->write; // Used by the include of actions_dellink.inc.php
|
||||
@ -156,7 +156,7 @@ if (empty($reshook)) {
|
||||
$TNote = GETPOST('TNote', 'array');
|
||||
if (!empty($TNote)) {
|
||||
foreach ($object->lines as $line) {
|
||||
$line->rank = $TNote[$line->fk_skill];
|
||||
$line->rankorder = $TNote[$line->fk_skill];
|
||||
$line->update($user);
|
||||
}
|
||||
}
|
||||
@ -172,16 +172,12 @@ if (empty($reshook)) {
|
||||
foreach ($object->lines as $key => $line) {
|
||||
// no reference .. we add the line to use it
|
||||
if (count($SkillrecordsForActiveUser) == 0) {
|
||||
if ($res > 0) {
|
||||
$newSkill = new SkillRank($db);
|
||||
$resCreate = $newSkill->cloneFromCurrentSkill($line, $object->fk_user);
|
||||
$newSkill = new SkillRank($db);
|
||||
$resCreate = $newSkill->cloneFromCurrentSkill($line, $object->fk_user);
|
||||
|
||||
if ($resCreate <= 0) {
|
||||
$errors++;
|
||||
setEventMessage($langs->trans('ErrorCreateUserSkill'), $line->fk_skill);
|
||||
}
|
||||
} else {
|
||||
setEventMessage($langs->trans('NoSkilRankLoaded'));
|
||||
if ($resCreate <= 0) {
|
||||
$errors++;
|
||||
setEventMessage($langs->trans('ErrorCreateUserSkill'), $line->fk_skill);
|
||||
}
|
||||
} else {
|
||||
//check if the skill is present to use it
|
||||
@ -198,7 +194,7 @@ if (empty($reshook)) {
|
||||
if ($find) {
|
||||
$updSkill = $SkillrecordsForActiveUser[$k];
|
||||
|
||||
$updSkill->rank = $line->rank;
|
||||
$updSkill->rankorder = $line->rankorder;
|
||||
$updSkill->update($user);
|
||||
} else { // sinon on ajoute la skill
|
||||
$newSkill = new SkillRank($db);
|
||||
@ -519,9 +515,9 @@ if ($object->id > 0 && (empty($action) || ($action != 'edit' && $action != 'crea
|
||||
$sql .= ' sk.label as "skilllabel",';
|
||||
$sql .= ' sk.skill_type,';
|
||||
$sql .= ' sk.description,';
|
||||
$sql .= ' ed.rank,';
|
||||
$sql .= ' ed.rankorder,';
|
||||
$sql .= ' ed.required_rank,';
|
||||
$sql .= ' ed.rank as "userRankForSkill",';
|
||||
$sql .= ' ed.rankorder as "userRankForSkill",';
|
||||
$sql .= ' skdet_user.description as "userRankForSkillDesc",';
|
||||
$sql .= ' skdet_required.description as "required_rank_desc"';
|
||||
|
||||
@ -529,9 +525,9 @@ if ($object->id > 0 && (empty($action) || ($action != 'edit' && $action != 'crea
|
||||
$sql .= ' LEFT JOIN ' . MAIN_DB_PREFIX . 'hrm_evaluationdet as ed ON e.rowid = ed.fk_evaluation';
|
||||
$sql .= ' LEFT JOIN ' . MAIN_DB_PREFIX . 'hrm_job as j ON e.fk_job = j.rowid';
|
||||
$sql .= ' LEFT JOIN ' . MAIN_DB_PREFIX . 'hrm_skill as sk ON ed.fk_skill = sk.rowid';
|
||||
$sql .= ' INNER JOIN ' . MAIN_DB_PREFIX . 'hrm_skilldet as skdet_user ON (skdet_user.fk_skill = sk.rowid AND skdet_user.rank = ed.rank)';
|
||||
$sql .= ' INNER JOIN ' . MAIN_DB_PREFIX . 'hrm_skilldet as skdet_user ON (skdet_user.fk_skill = sk.rowid AND skdet_user.rankorder = ed.rankorder)';
|
||||
//$sql .= " LEFT JOIN " . MAIN_DB_PREFIX . "hrm_skillrank as skr ON (j.rowid = skr.fk_object AND skr.fk_skill = ed.fk_skill AND skr.objecttype = 'job')";
|
||||
$sql .= ' LEFT JOIN ' . MAIN_DB_PREFIX . 'hrm_skilldet as skdet_required ON (skdet_required.fk_skill = sk.rowid AND skdet_required.rank = ed.required_rank)';
|
||||
$sql .= ' LEFT JOIN ' . MAIN_DB_PREFIX . 'hrm_skilldet as skdet_required ON (skdet_required.fk_skill = sk.rowid AND skdet_required.rankorder = ed.required_rank)';
|
||||
$sql .= " WHERE e.rowid =" . ((int) $object->id);
|
||||
|
||||
// echo $sql;
|
||||
|
||||
@ -124,13 +124,13 @@ function displayRankInfos($selected_rank, $fk_skill, $inputname = 'TNote', $mode
|
||||
if (is_array($Lines) && !empty($Lines)) {
|
||||
foreach ($Lines as $line) {
|
||||
$MaxNumberSkill = isset($conf->global->HRM_MAXRANK) ? $conf->global->HRM_MAXRANK : Skill::DEFAULT_MAX_RANK_PER_SKILL;
|
||||
if ($line->rank > $MaxNumberSkill) {
|
||||
if ($line->rankorder > $MaxNumberSkill) {
|
||||
continue;
|
||||
}
|
||||
|
||||
$ret .= '<span title="' . $line->description . '" class="radio_js_bloc_number ' . $inputname . '_' . $line->fk_skill;
|
||||
$ret .= $line->rank == $selected_rank ? ' selected' : '';
|
||||
$ret .= '">' . $line->rank . '</span>';
|
||||
$ret .= $line->rankorder == $selected_rank ? ' selected' : '';
|
||||
$ret .= '">' . $line->rankorder . '</span>';
|
||||
}
|
||||
|
||||
if ($mode == 'edit') {
|
||||
|
||||
@ -130,7 +130,7 @@ if (empty($reshook)) {
|
||||
$TSkills = $skill->fetchAll('ASC', 't.rowid', 0, 0, array('customsql' => 'fk_object=' . ((int) $id) . " AND objecttype='" . $db->escape($objecttype) . "' AND fk_skill = " . ((int) $skillId)));
|
||||
if (is_array($TSkills) && !empty($TSkills)) {
|
||||
foreach ($TSkills as $tmpObj) {
|
||||
$tmpObj->rank = $rank;
|
||||
$tmpObj->rankorder = $rank;
|
||||
$tmpObj->update($user);
|
||||
}
|
||||
}
|
||||
@ -305,7 +305,7 @@ if ($object->id > 0 && (empty($action) || ($action != 'edit' && $action != 'crea
|
||||
print '<td>';
|
||||
print $sk->description;
|
||||
print '</td><td class="linecolrank">';
|
||||
print displayRankInfos($skillElement->rank, $skillElement->fk_skill, 'TNote', $objecttype == 'job' && $permissiontoadd ? 'edit' : 'view');
|
||||
print displayRankInfos($skillElement->rankorder, $skillElement->fk_skill, 'TNote', $objecttype == 'job' && $permissiontoadd ? 'edit' : 'view');
|
||||
print '</td>';
|
||||
if ($objecttype != 'user' && $permissiontoadd) {
|
||||
print '<td class="linecoledit"></td>';
|
||||
|
||||
@ -23,7 +23,7 @@ HrmSetup=Configuration du module GRH
|
||||
SkillsManagement=Gestion des compétences
|
||||
HRM_MAXRANK=Nombre maximum de niveaux pour classer une compétence
|
||||
HRM_DEFAULT_SKILL_DESCRIPTION=Description par défaut des rangs lors de la création de la compétence
|
||||
deplacement=Ctrl
|
||||
deplacement=Déplacement
|
||||
DateEval=Date d'évaluation
|
||||
JobCard=Fiche emploi
|
||||
JobPosition=Emploi
|
||||
|
||||
Loading…
Reference in New Issue
Block a user