Merge pull request #21563 from cfoellmann/PR/fix-recruitment
Fix recruitment
This commit is contained in:
commit
ba52b3314b
@ -93,11 +93,11 @@ if ((float) DOL_VERSION >= 6) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
if ($action == 'updateMask') {
|
if ($action == 'updateMask') {
|
||||||
$maskconstorder = GETPOST('maskconstorder', 'alpha');
|
$maskconstjob = GETPOST('maskconstjob', 'alpha');
|
||||||
$maskorder = GETPOST('maskorder', 'alpha');
|
$maskjob = GETPOST('maskjob', 'alpha');
|
||||||
|
|
||||||
if ($maskconstorder) {
|
if ($maskconstjob) {
|
||||||
$res = dolibarr_set_const($db, $maskconstorder, $maskorder, 'chaine', 0, '', $conf->entity);
|
$res = dolibarr_set_const($db, $maskconstjob, $maskjob, 'chaine', 0, '', $conf->entity);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!($res > 0)) {
|
if (!($res > 0)) {
|
||||||
|
|||||||
@ -93,11 +93,11 @@ if ((float) DOL_VERSION >= 6) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
if ($action == 'updateMask') {
|
if ($action == 'updateMask') {
|
||||||
$maskconstorder = GETPOST('maskconstorder', 'alpha');
|
$maskconstcand = GETPOST('maskconstcand', 'alpha');
|
||||||
$maskorder = GETPOST('maskorder', 'alpha');
|
$maskcand = GETPOST('maskcand', 'alpha');
|
||||||
|
|
||||||
if ($maskconstorder) {
|
if ($maskconstcand) {
|
||||||
$res = dolibarr_set_const($db, $maskconstorder, $maskorder, 'chaine', 0, '', $conf->entity);
|
$res = dolibarr_set_const($db, $maskconstcand, $maskcand, 'chaine', 0, '', $conf->entity);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!($res > 0)) {
|
if (!($res > 0)) {
|
||||||
|
|||||||
@ -105,9 +105,9 @@ class RecruitmentJobPosition extends CommonObject
|
|||||||
'label' => array('type'=>'varchar(255)', 'label'=>'JobLabel', 'enabled'=>'1', 'position'=>30, 'notnull'=>1, 'visible'=>1, 'searchall'=>1, 'css'=>'minwidth500', 'csslist'=>'tdoverflowmax300', 'showoncombobox'=>'2', 'autofocusoncreate'=>1),
|
'label' => array('type'=>'varchar(255)', 'label'=>'JobLabel', 'enabled'=>'1', 'position'=>30, 'notnull'=>1, 'visible'=>1, 'searchall'=>1, 'css'=>'minwidth500', 'csslist'=>'tdoverflowmax300', 'showoncombobox'=>'2', 'autofocusoncreate'=>1),
|
||||||
'qty' => array('type'=>'integer', 'label'=>'NbOfEmployeesExpected', 'enabled'=>'1', 'position'=>45, 'notnull'=>1, 'visible'=>1, 'default'=>'1', 'isameasure'=>'1', 'css'=>'maxwidth75imp'),
|
'qty' => array('type'=>'integer', 'label'=>'NbOfEmployeesExpected', 'enabled'=>'1', 'position'=>45, 'notnull'=>1, 'visible'=>1, 'default'=>'1', 'isameasure'=>'1', 'css'=>'maxwidth75imp'),
|
||||||
'fk_project' => array('type'=>'integer:Project:projet/class/project.class.php:1', 'label'=>'Project', 'enabled'=>'$conf->project->enabled', 'position'=>52, 'notnull'=>-1, 'visible'=>-1, 'index'=>1, 'css'=>'maxwidth500', 'picto'=>'project'),
|
'fk_project' => array('type'=>'integer:Project:projet/class/project.class.php:1', 'label'=>'Project', 'enabled'=>'$conf->project->enabled', 'position'=>52, 'notnull'=>-1, 'visible'=>-1, 'index'=>1, 'css'=>'maxwidth500', 'picto'=>'project'),
|
||||||
'fk_user_recruiter' => array('type'=>'integer:User:user/class/user.class.php', 'label'=>'ResponsibleOfRecruitement', 'enabled'=>'1', 'position'=>54, 'notnull'=>1, 'visible'=>1, 'foreignkey'=>'user.rowid', 'css'=>'maxwidth500', 'csslist'=>'tdoverflowmax150', 'picto'=>'user'),
|
'fk_user_recruiter' => array('type'=>'integer:User:user/class/user.class.php:status=1', 'label'=>'ResponsibleOfRecruitement', 'enabled'=>'1', 'position'=>54, 'notnull'=>1, 'visible'=>1, 'foreignkey'=>'user.rowid', 'css'=>'maxwidth500', 'csslist'=>'tdoverflowmax150', 'picto'=>'user'),
|
||||||
'email_recruiter' => array('type'=>'varchar(255)', 'label'=>'EmailRecruiter', 'enabled'=>'1', 'position'=>54, 'notnull'=>0, 'visible'=>-1, 'help'=>'ToUseAGenericEmail', 'picto'=>'email'),
|
'email_recruiter' => array('type'=>'varchar(255)', 'label'=>'EmailRecruiter', 'enabled'=>'1', 'position'=>54, 'notnull'=>0, 'visible'=>-1, 'help'=>'ToUseAGenericEmail', 'picto'=>'email'),
|
||||||
'fk_user_supervisor' => array('type'=>'integer:User:user/class/user.class.php', 'label'=>'FutureManager', 'enabled'=>'1', 'position'=>55, 'notnull'=>0, 'visible'=>-1, 'foreignkey'=>'user.rowid', 'css'=>'maxwidth500', 'csslist'=>'tdoverflowmax150', 'picto'=>'user'),
|
'fk_user_supervisor' => array('type'=>'integer:User:user/class/user.class.php::t.statut = 1', 'label'=>'FutureManager', 'enabled'=>'1', 'position'=>55, 'notnull'=>0, 'visible'=>-1, 'foreignkey'=>'user.rowid', 'css'=>'maxwidth500', 'csslist'=>'tdoverflowmax150', 'picto'=>'user'),
|
||||||
'fk_establishment' => array('type'=>'integer:Establishment:hrm/class/establishment.class.php', 'label'=>'Establishment', 'enabled'=>'$conf->hrm->enabled', 'position'=>56, 'notnull'=>0, 'visible'=>-1, 'foreignkey'=>'establishment.rowid',),
|
'fk_establishment' => array('type'=>'integer:Establishment:hrm/class/establishment.class.php', 'label'=>'Establishment', 'enabled'=>'$conf->hrm->enabled', 'position'=>56, 'notnull'=>0, 'visible'=>-1, 'foreignkey'=>'establishment.rowid',),
|
||||||
'fk_soc' => array('type'=>'integer:Societe:societe/class/societe.class.php:1:status=1 AND entity IN (__SHARED_ENTITIES__)', 'label'=>'WorkPlace', 'enabled'=>'$conf->societe->enabled', 'position'=>57, 'notnull'=>-1, 'visible'=>-1, 'css'=>'maxwidth500', 'index'=>1, 'help'=>"IfJobIsLocatedAtAPartner", 'picto'=>'company'),
|
'fk_soc' => array('type'=>'integer:Societe:societe/class/societe.class.php:1:status=1 AND entity IN (__SHARED_ENTITIES__)', 'label'=>'WorkPlace', 'enabled'=>'$conf->societe->enabled', 'position'=>57, 'notnull'=>-1, 'visible'=>-1, 'css'=>'maxwidth500', 'index'=>1, 'help'=>"IfJobIsLocatedAtAPartner", 'picto'=>'company'),
|
||||||
'date_planned' => array('type'=>'date', 'label'=>'DateExpected', 'enabled'=>'1', 'position'=>60, 'notnull'=>0, 'visible'=>1,),
|
'date_planned' => array('type'=>'date', 'label'=>'DateExpected', 'enabled'=>'1', 'position'=>60, 'notnull'=>0, 'visible'=>1,),
|
||||||
|
|||||||
@ -0,0 +1,143 @@
|
|||||||
|
<?php
|
||||||
|
/* Copyright (C) 2003-2007 Rodolphe Quiedeville <rodolphe@quiedeville.org>
|
||||||
|
* Copyright (C) 2004-2007 Laurent Destailleur <eldy@users.sourceforge.net>
|
||||||
|
* Copyright (C) 2005-2009 Regis Houssin <regis.houssin@inodbox.com>
|
||||||
|
* Copyright (C) 2008 Raphael Bertrand (Resultic) <raphael.bertrand@resultic.fr>
|
||||||
|
* Copyright (C) 2019 Frédéric France <frederic.france@netlogic.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
|
||||||
|
* the Free Software Foundation; either version 3 of the License, or
|
||||||
|
* (at your option) any later version.
|
||||||
|
*
|
||||||
|
* This program is distributed in the hope that it will be useful,
|
||||||
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
* GNU General Public License for more details.
|
||||||
|
*
|
||||||
|
* 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/recruitment/mod_recruitmentcandidaturen_advanced.php
|
||||||
|
* \ingroup recruitment
|
||||||
|
* \brief File containing class for advanced numbering model of RecruitmentCandidature
|
||||||
|
*/
|
||||||
|
|
||||||
|
dol_include_once('/recruitment/core/modules/recruitment/modules_recruitmentcandidature.php');
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Class to manage customer Bom numbering rules advanced
|
||||||
|
*/
|
||||||
|
class mod_recruitmentcandidature_advanced extends ModeleNumRefRecruitmentCandidature
|
||||||
|
{
|
||||||
|
/**
|
||||||
|
* Dolibarr version of the loaded document
|
||||||
|
* @var string
|
||||||
|
*/
|
||||||
|
public $version = 'dolibarr'; // 'development', 'experimental', 'dolibarr'
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @var string Error message
|
||||||
|
*/
|
||||||
|
public $error = '';
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @var string name
|
||||||
|
*/
|
||||||
|
public $name = 'advanced';
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Returns the description of the numbering model
|
||||||
|
*
|
||||||
|
* @return string Texte descripif
|
||||||
|
*/
|
||||||
|
public function info()
|
||||||
|
{
|
||||||
|
global $conf, $langs, $db;
|
||||||
|
|
||||||
|
$langs->load("bills");
|
||||||
|
|
||||||
|
$form = new Form($db);
|
||||||
|
|
||||||
|
$texte = $langs->trans('GenericNumRefModelDesc')."<br>\n";
|
||||||
|
$texte .= '<form action="'.$_SERVER["PHP_SELF"].'" method="POST">';
|
||||||
|
$texte .= '<input type="hidden" name="token" value="'.newToken().'">';
|
||||||
|
$texte .= '<input type="hidden" name="action" value="updateMask">';
|
||||||
|
$texte .= '<input type="hidden" name="maskconstcand" value="RECRUITMENT_RECRUITMENTCANDIDATURE_ADVANCED_MASK">';
|
||||||
|
$texte .= '<table class="nobordernopadding" width="100%">';
|
||||||
|
|
||||||
|
$tooltip = $langs->trans("GenericMaskCodes", $langs->transnoentities("RecruitmentCandidature"), $langs->transnoentities("RecruitmentCandidature"));
|
||||||
|
$tooltip .= $langs->trans("GenericMaskCodes2");
|
||||||
|
$tooltip .= $langs->trans("GenericMaskCodes3");
|
||||||
|
$tooltip .= $langs->trans("GenericMaskCodes4a", $langs->transnoentities("RecruitmentCandidature"), $langs->transnoentities("RecruitmentCandidature"));
|
||||||
|
$tooltip .= $langs->trans("GenericMaskCodes5");
|
||||||
|
|
||||||
|
// Parametrage du prefix
|
||||||
|
$texte .= '<tr><td>'.$langs->trans("Mask").':</td>';
|
||||||
|
$texte .= '<td class="right">'.$form->textwithpicto('<input type="text" class="flat minwidth175" name="maskcand" value="'.getDolGlobalString('RECRUITMENT_RECRUITMENTCANDIDATURE_ADVANCED_MASK').'">', $tooltip, 1, 1).'</td>';
|
||||||
|
|
||||||
|
$texte .= '<td class="left" rowspan="2"> <input type="submit" class="button button-edit" name="Button"value="'.$langs->trans("Modify").'"></td>';
|
||||||
|
|
||||||
|
$texte .= '</tr>';
|
||||||
|
|
||||||
|
$texte .= '</table>';
|
||||||
|
$texte .= '</form>';
|
||||||
|
|
||||||
|
return $texte;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Return an example of numbering
|
||||||
|
*
|
||||||
|
* @return string Example
|
||||||
|
*/
|
||||||
|
public function getExample()
|
||||||
|
{
|
||||||
|
global $conf, $langs, $mysoc;
|
||||||
|
|
||||||
|
$old_code_client = $mysoc->code_client;
|
||||||
|
$old_code_type = $mysoc->typent_code;
|
||||||
|
$mysoc->code_client = 'CCCCCCCCCC';
|
||||||
|
$mysoc->typent_code = 'TTTTTTTTTT';
|
||||||
|
$numExample = $this->getNextValue($mysoc, '');
|
||||||
|
$mysoc->code_client = $old_code_client;
|
||||||
|
$mysoc->typent_code = $old_code_type;
|
||||||
|
|
||||||
|
if (!$numExample) {
|
||||||
|
$numExample = $langs->trans('NotConfigured');
|
||||||
|
}
|
||||||
|
return $numExample;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Return next free value
|
||||||
|
*
|
||||||
|
* @param Object $object Object we need next value for
|
||||||
|
* @return string Value if KO, <0 if KO
|
||||||
|
*/
|
||||||
|
public function getNextValue($object)
|
||||||
|
{
|
||||||
|
global $db, $conf;
|
||||||
|
|
||||||
|
require_once DOL_DOCUMENT_ROOT.'/core/lib/functions2.lib.php';
|
||||||
|
|
||||||
|
// We get cursor rule
|
||||||
|
$mask = getDolGlobalString('RECRUITMENT_RECRUITMENTCANDIDATURE_ADVANCED_MASK');
|
||||||
|
|
||||||
|
if (!$mask) {
|
||||||
|
$this->error = 'NotConfigured';
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
$date = $object->date;
|
||||||
|
|
||||||
|
$numFinal = get_next_value($db, $mask, 'recruitment_recruitmentcandidature', 'ref', '', null, $date);
|
||||||
|
|
||||||
|
return $numFinal;
|
||||||
|
}
|
||||||
|
}
|
||||||
@ -68,7 +68,7 @@ class mod_recruitmentjobposition_advanced extends ModeleNumRefRecruitmentJobPosi
|
|||||||
$texte .= '<form action="'.$_SERVER["PHP_SELF"].'" method="POST">';
|
$texte .= '<form action="'.$_SERVER["PHP_SELF"].'" method="POST">';
|
||||||
$texte .= '<input type="hidden" name="token" value="'.newToken().'">';
|
$texte .= '<input type="hidden" name="token" value="'.newToken().'">';
|
||||||
$texte .= '<input type="hidden" name="action" value="updateMask">';
|
$texte .= '<input type="hidden" name="action" value="updateMask">';
|
||||||
$texte .= '<input type="hidden" name="maskconstBom" value="RECRUITMENT_RECRUITMENTJOBPOSITION_ADVANCED_MASK">';
|
$texte .= '<input type="hidden" name="maskconstjob" value="RECRUITMENT_RECRUITMENTJOBPOSITION_ADVANCED_MASK">';
|
||||||
$texte .= '<table class="nobordernopadding" width="100%">';
|
$texte .= '<table class="nobordernopadding" width="100%">';
|
||||||
|
|
||||||
$tooltip = $langs->trans("GenericMaskCodes", $langs->transnoentities("RecruitmentJobPosition"), $langs->transnoentities("RecruitmentJobPosition"));
|
$tooltip = $langs->trans("GenericMaskCodes", $langs->transnoentities("RecruitmentJobPosition"), $langs->transnoentities("RecruitmentJobPosition"));
|
||||||
@ -79,7 +79,7 @@ class mod_recruitmentjobposition_advanced extends ModeleNumRefRecruitmentJobPosi
|
|||||||
|
|
||||||
// Parametrage du prefix
|
// Parametrage du prefix
|
||||||
$texte .= '<tr><td>'.$langs->trans("Mask").':</td>';
|
$texte .= '<tr><td>'.$langs->trans("Mask").':</td>';
|
||||||
$texte .= '<td class="right">'.$form->textwithpicto('<input type="text" class="flat minwidth175" name="maskRecruitmentJobPosition" value="'.getDolGlobalString('RECRUITMENT_RECRUITMENTJOBPOSITION_ADVANCED_MASK').'">', $tooltip, 1, 1).'</td>';
|
$texte .= '<td class="right">'.$form->textwithpicto('<input type="text" class="flat minwidth175" name="maskjob" value="'.getDolGlobalString('RECRUITMENT_RECRUITMENTJOBPOSITION_ADVANCED_MASK').'">', $tooltip, 1, 1).'</td>';
|
||||||
|
|
||||||
$texte .= '<td class="left" rowspan="2"> <input type="submit" class="button button-edit" name="Button"value="'.$langs->trans("Modify").'"></td>';
|
$texte .= '<td class="left" rowspan="2"> <input type="submit" class="button button-edit" name="Button"value="'.$langs->trans("Modify").'"></td>';
|
||||||
|
|
||||||
@ -98,20 +98,15 @@ class mod_recruitmentjobposition_advanced extends ModeleNumRefRecruitmentJobPosi
|
|||||||
*/
|
*/
|
||||||
public function getExample()
|
public function getExample()
|
||||||
{
|
{
|
||||||
global $conf, $db, $langs, $mysoc;
|
global $conf, $langs, $mysoc;
|
||||||
|
|
||||||
$object = new RecruitmentJobPosition($db);
|
$old_code_client = $mysoc->code_client;
|
||||||
$object->initAsSpecimen();
|
|
||||||
|
|
||||||
/*$old_code_client = $mysoc->code_client;
|
|
||||||
$old_code_type = $mysoc->typent_code;
|
$old_code_type = $mysoc->typent_code;
|
||||||
$mysoc->code_client = 'CCCCCCCCCC';
|
$mysoc->code_client = 'CCCCCCCCCC';
|
||||||
$mysoc->typent_code = 'TTTTTTTTTT';*/
|
$mysoc->typent_code = 'TTTTTTTTTT';
|
||||||
|
$numExample = $this->getNextValue($mysoc, '');
|
||||||
$numExample = $this->getNextValue($object);
|
$mysoc->code_client = $old_code_client;
|
||||||
|
$mysoc->typent_code = $old_code_type;
|
||||||
/*$mysoc->code_client = $old_code_client;
|
|
||||||
$mysoc->typent_code = $old_code_type;*/
|
|
||||||
|
|
||||||
if (!$numExample) {
|
if (!$numExample) {
|
||||||
$numExample = $langs->trans('NotConfigured');
|
$numExample = $langs->trans('NotConfigured');
|
||||||
|
|||||||
@ -86,7 +86,7 @@ foreach ($object->fields as $key => $val) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (empty($action) && empty($id) && empty($ref)) {
|
if (empty($action) && empty($id) && empty($ref)) {
|
||||||
$action = 'view';
|
$action = 'create';
|
||||||
}
|
}
|
||||||
|
|
||||||
// Load object
|
// Load object
|
||||||
|
|||||||
@ -188,6 +188,7 @@ if ($object->id) {
|
|||||||
$param = '&id='.$object->id;
|
$param = '&id='.$object->id;
|
||||||
|
|
||||||
$relativepathwithnofile = 'recruitmentcandidature/'.dol_sanitizeFileName($object->ref).'/';
|
$relativepathwithnofile = 'recruitmentcandidature/'.dol_sanitizeFileName($object->ref).'/';
|
||||||
|
$savingdocmask = dol_sanitizeFileName($object->ref).'-__file__';
|
||||||
|
|
||||||
include DOL_DOCUMENT_ROOT.'/core/tpl/document_actions_post_headers.tpl.php';
|
include DOL_DOCUMENT_ROOT.'/core/tpl/document_actions_post_headers.tpl.php';
|
||||||
} else {
|
} else {
|
||||||
|
|||||||
@ -85,7 +85,7 @@ foreach ($object->fields as $key => $val) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (empty($action) && empty($id) && empty($ref)) {
|
if (empty($action) && empty($id) && empty($ref)) {
|
||||||
$action = 'view';
|
$action = 'create';
|
||||||
}
|
}
|
||||||
|
|
||||||
// Load object
|
// Load object
|
||||||
|
|||||||
@ -186,8 +186,8 @@ if ($object->id) {
|
|||||||
$permtoedit = $user->rights->recruitment->recruitmentjobposition->write;
|
$permtoedit = $user->rights->recruitment->recruitmentjobposition->write;
|
||||||
$param = '&id='.$object->id;
|
$param = '&id='.$object->id;
|
||||||
|
|
||||||
//$relativepathwithnofile='recruitmentjobposition/' . dol_sanitizeFileName($object->id).'/';
|
|
||||||
$relativepathwithnofile = 'recruitmentjobposition/'.dol_sanitizeFileName($object->ref).'/';
|
$relativepathwithnofile = 'recruitmentjobposition/'.dol_sanitizeFileName($object->ref).'/';
|
||||||
|
$savingdocmask = dol_sanitizeFileName($object->ref).'-__file__';
|
||||||
|
|
||||||
include DOL_DOCUMENT_ROOT.'/core/tpl/document_actions_post_headers.tpl.php';
|
include DOL_DOCUMENT_ROOT.'/core/tpl/document_actions_post_headers.tpl.php';
|
||||||
} else {
|
} else {
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user