diff --git a/htdocs/install/mysql/migration/4.0.0-5.0.0.sql b/htdocs/install/mysql/migration/4.0.0-5.0.0.sql
index 5bde4ff06ef..b5afac90e8c 100644
--- a/htdocs/install/mysql/migration/4.0.0-5.0.0.sql
+++ b/htdocs/install/mysql/migration/4.0.0-5.0.0.sql
@@ -33,6 +33,7 @@ DELETE FROM llx_menu where module='expensereport';
ALTER TABLE llx_user DROP COLUMN phenix_login;
ALTER TABLE llx_user DROP COLUMN phenix_pass;
+ALTER TABLE llx_user ADD COLUMN dateemployment datetime;
ALTER TABLE llx_societe ADD COLUMN fk_account integer;
diff --git a/htdocs/install/mysql/tables/llx_user.sql b/htdocs/install/mysql/tables/llx_user.sql
index 6b3c5b83f6d..84a36881020 100644
--- a/htdocs/install/mysql/tables/llx_user.sql
+++ b/htdocs/install/mysql/tables/llx_user.sql
@@ -80,5 +80,6 @@ create table llx_user
tjm double(24,8),
salary double(24,8),
salaryextra double(24,8),
+ dateemployment datetime,
weeklyhours double(16,8)
)ENGINE=innodb;
diff --git a/htdocs/langs/en_US/users.lang b/htdocs/langs/en_US/users.lang
index a723053fa43..b0b1d129c25 100644
--- a/htdocs/langs/en_US/users.lang
+++ b/htdocs/langs/en_US/users.lang
@@ -101,4 +101,5 @@ ColorUser=Color of the user
DisabledInMonoUserMode=Disabled in maintenance mode
UserAccountancyCode=User accountancy code
UserLogoff=User logout
-UserLogged=User logged
\ No newline at end of file
+UserLogged=User logged
+DateEmployment=Date of Employment
\ No newline at end of file
diff --git a/htdocs/langs/fr_FR/users.lang b/htdocs/langs/fr_FR/users.lang
index 5e549f607a4..1000fd233d4 100644
--- a/htdocs/langs/fr_FR/users.lang
+++ b/htdocs/langs/fr_FR/users.lang
@@ -100,3 +100,4 @@ WeeklyHours=Heures de travail hebdomadaires
ColorUser=Couleur de l'utilisateur
DisabledInMonoUserMode=Désactivé en mode maintenance
UserAccountancyCode=Code comptable utilisateur
+DateEmployment=Date d'embauche
diff --git a/htdocs/user/card.php b/htdocs/user/card.php
index dd46ef79e59..3e1a22105c5 100644
--- a/htdocs/user/card.php
+++ b/htdocs/user/card.php
@@ -215,7 +215,9 @@ if (empty($reshook)) {
$object->salaryextra = GETPOST("salaryextra") != '' ? GETPOST("salaryextra") : '';
$object->weeklyhours = GETPOST("weeklyhours") != '' ? GETPOST("weeklyhours") : '';
+ $date = dol_mktime(0, 0, 0, GETPOST('dateemploymentmonth'), GETPOST('dateemploymentday'), GETPOST('dateemploymentyear'));
$object->color = GETPOST("color") != '' ? GETPOST("color") : '';
+ $object->dateemployment = $date != '' ? $date : '';
// Fill array 'array_options' with data from add form
$ret = $extrafields->setOptionalsFromPost($extralabels, $object);
@@ -357,6 +359,8 @@ if (empty($reshook)) {
$object->weeklyhours = GETPOST("weeklyhours") != '' ? GETPOST("weeklyhours") : '';
$object->color = GETPOST("color") != '' ? GETPOST("color") : '';
+ $date = dol_mktime(0, 0, 0, GETPOST('dateemploymentmonth'), GETPOST('dateemploymentday'), GETPOST('dateemploymentyear'));
+ $object->dateemployment = $date != '' ? $date : '';
if (! empty($conf->multicompany->enabled))
{
@@ -1057,6 +1061,13 @@ if (($action == 'create') || ($action == 'adduserldap'))
print '';
print '';
print "\n";
+
+ // Date employment
+ print '
| '.$langs->trans("DateEmployment").' | ';
+ print '';
+ echo $form->select_date(GETPOST('dateemployment'),'dateemployment',0,0,1,'form'.'dateemployment',1,0,1);
+ print ' | ';
+ print "
\n";
// Accountancy code
if ($conf->accounting->enabled)
@@ -1412,6 +1423,13 @@ else
print ''.$object->accountancy_code.' | ';
}
+ // Date employment
+ print '| '.$langs->trans("DateEmployment").' | ';
+ print '';
+ print $object->dateemployment;
+ print ' | ';
+ print "
\n";
+
print '';
print '';
@@ -2186,6 +2204,13 @@ else
print '';
print "\n";
+ // Date employment
+ print '| '.$langs->trans("DateEmployment").' | ';
+ print '';
+ echo $form->select_date(GETPOST('dateemployment')?GETPOST('dateemployment'):$object->dateemployment,'dateemployment',0,0,1,'form'.'dateemployment',1,0,1);
+ print ' | ';
+ print "
\n";
+
// Accountancy code
if ($conf->accounting->enabled)
{
diff --git a/htdocs/user/class/user.class.php b/htdocs/user/class/user.class.php
index 840d5835fd4..a88c373a1b6 100644
--- a/htdocs/user/class/user.class.php
+++ b/htdocs/user/class/user.class.php
@@ -122,6 +122,8 @@ class User extends CommonObject
var $weeklyhours; // Weekly hours
var $color; // Define background color for user in agenda
+
+ var $dateemployment; // Define date of employment by company
/**
* Constructor de la classe
@@ -187,6 +189,7 @@ class User extends CommonObject
$sql.= " u.salaryextra,";
$sql.= " u.weeklyhours,";
$sql.= " u.color,";
+ $sql.= " u.dateemployment,";
$sql.= " u.ref_int, u.ref_ext,";
$sql.= " c.code as country_code, c.label as country,";
$sql.= " d.code_departement as state_code, d.nom as state";
@@ -286,6 +289,7 @@ class User extends CommonObject
$this->salaryextra = $obj->salaryextra;
$this->weeklyhours = $obj->weeklyhours;
$this->color = $obj->color;
+ $this->dateemployment = $obj->dateemployment;
$this->datec = $this->db->jdate($obj->datec);
$this->datem = $this->db->jdate($obj->datem);
@@ -1260,6 +1264,7 @@ class User extends CommonObject
$this->town = empty($this->town)?'':$this->town;
$this->accountancy_code = trim($this->accountancy_code);
$this->color = empty($this->color)?'':$this->color;
+ $this->dateemployment = empty($this->dateemployment)?'':$this->dateemployment;
// Check parameters
if (! empty($conf->global->USER_MAIL_REQUIRED) && ! isValidEMail($this->email))
@@ -1300,6 +1305,11 @@ class User extends CommonObject
$sql.= ", signature = '".$this->db->escape($this->signature)."'";
$sql.= ", accountancy_code = '".$this->db->escape($this->accountancy_code)."'";
$sql.= ", color = '".$this->db->escape($this->color)."'";
+ if (!empty($this->dateemployment)) {
+ $sql.= ", dateemployment = '".$this->db->idate($this->dateemployment)."'";
+ } else {
+ $sql.= ", dateemployment = NULL";
+ }
$sql.= ", note = '".$this->db->escape($this->note)."'";
$sql.= ", photo = ".($this->photo?"'".$this->db->escape($this->photo)."'":"null");
$sql.= ", openid = ".($this->openid?"'".$this->db->escape($this->openid)."'":"null");
@@ -1311,7 +1321,7 @@ class User extends CommonObject
$sql.= ", weeklyhours= ".($this->weeklyhours != ''?"'".$this->db->escape($this->weeklyhours)."'":"null");
$sql.= ", entity = '".$this->db->escape($this->entity)."'";
$sql.= " WHERE rowid = ".$this->id;
-
+
dol_syslog(get_class($this)."::update", LOG_DEBUG);
$resql = $this->db->query($sql);
if ($resql)