diff --git a/htdocs/hrm/class/employee.class.php b/htdocs/hrm/class/employee.class.php deleted file mode 100644 index 42f940811a9..00000000000 --- a/htdocs/hrm/class/employee.class.php +++ /dev/null @@ -1,241 +0,0 @@ - - * - * 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 . - */ - -/** - * \file htdocs/hrm/class/employee.class.php - * \ingroup HRM - * \brief File of class to manage employees - */ - -require_once DOL_DOCUMENT_ROOT .'/core/class/commonobject.class.php'; - -/** - * Class to manage establishments - */ -class Employee extends CommonObject -{ - public $element='employee'; - public $table_element='user'; - public $table_element_line = ''; - public $fk_element = 'fk_user'; - protected $ismultientitymanaged = 1; // 0=No test on entity, 1=Test with field entity, 2=Test with link by societe - - var $rowid; - - var $name; - var $address; - var $zip; - var $town; - var $status; // 0=open, 1=closed - var $entity; - - var $statuts=array(); - var $statuts_short=array(); - - /** - * Constructor - * - * @param DoliDB $db Database handler - */ - function __construct($db) - { - $this->db = $db; - - $this->statuts_short = array(0 => 'Opened', 1 => 'Closed'); - $this->statuts = array(0 => 'Opened', 1 => 'Closed'); - - return 1; - } - - /** - * Load an object from database - * - * @param int $id Id of record to load - * @return int <0 if KO, >0 if OK - */ - function fetch($id='') - { - global $conf, $user; - - $sql = "SELECT e.rowid, e.firstname, e.lastname, e.gender, e.email, e.statut, e.entity, e.fk_user"; - $sql.= " FROM ".MAIN_DB_PREFIX."user as e"; - $sql.= " WHERE rowid = ".$id; - - dol_syslog(get_class($this)."::fetch", LOG_DEBUG); - $result = $this->db->query($sql); - if ($result) - { - $obj = $this->db->fetch_object($result); - if ($obj) - { - $this->id = $obj->rowid; - $this->lastname = $obj->lastname; - $this->firstname = $obj->firstname; - $this->gender = $obj->gender; - $this->address = $obj->address; - $this->zip = $obj->zip; - $this->town = $obj->town; - $this->statut = $obj->statut; - $this->photo = $obj->photo; - - $this->db->free($result); - } - else - { - $this->error="EMPLOYEENOTFOUND"; - dol_syslog(get_class($this)."::fetch user not found", LOG_DEBUG); - - $this->db->free($result); - return 0; - } - } - else - { - $this->error=$this->db->lasterror(); - return -1; - } - } - - /** - * Return a link to the employee card (with optionaly the picto) - * Use this->id,this->lastname, this->firstname - * - * @param int $withpictoimg Include picto in link (0=No picto, 1=Include picto into link, 2=Only picto, -1=Include photo into link, -2=Only picto photo) - * @param string $option On what the link point to - * @param integer $notooltip 1=Disable tooltip on picto and name - * @param int $maxlen Max length of visible employee name - * @param int $hidethirdpartylogo Hide logo of thirdparty - * @param string $mode ''=Show firstname and lastname, 'firstname'=Show only firstname, 'login'=Show login - * @param string $morecss Add more css on link - * @return string String with URL - */ - function getNomUrl($withpictoimg=0, $option='', $notooltip=0, $maxlen=24, $hidethirdpartylogo=0, $mode='',$morecss='') - { - global $langs, $conf; - - if (! empty($conf->global->MAIN_OPTIMIZEFORTEXTBROWSER) && $withpictoimg) $withpictoimg=0; - - $result = ''; - $companylink = ''; - $link = ''; - - $label = '' . $langs->trans("Employee") . ''; - $label.= '
'; - $label.= '' . $langs->trans('Name') . ': ' . $this->getFullName($langs,'',''); - $label.= '
' . $langs->trans("EMail").': '.$this->email; - $label.='
'; - if (! empty($this->photo)) - { - $label.= '
'; - $label.= Form::showphoto('userphoto', $this, 80, 0, 0, 'photowithmargin photologintooltip', 'small', 0, 1); - $label.= '
'; - } - - $link.= 'global->MAIN_OPTIMIZEFORTEXTBROWSER)) - { - $langs->load("users"); - $label=$langs->trans("ShowUser"); - $link.=' alt="'.dol_escape_htmltag($label, 1).'"'; - } - $link.= ' title="'.dol_escape_htmltag($label, 1).'"'; - $link.= ' class="classfortooltip'.($morecss?' '.$morecss:'').'"'; - } - $link.= '>'; - $linkend=''; - - //if ($withpictoimg == -1) $result.='
'; - $result.=$link; - if ($withpictoimg) - { - $paddafterimage=''; - if (abs($withpictoimg) == 1) $paddafterimage='style="padding-right: 3px;"'; - if ($withpictoimg > 0) $picto='
'.img_object('', 'user', $paddafterimage.' '.($notooltip?'':'class="classfortooltip"')).'
'; - else $picto='
'.Form::showphoto('userphoto', $this, 0, 0, 0, 'loginphoto', 'mini', 0, 1).'
'; - $result.=$picto; - } - if (abs($withpictoimg) != 2) - { - if (empty($conf->global->MAIN_OPTIMIZEFORTEXTBROWSER)) $result.='
'; - if ($mode == 'login') $result.=dol_trunc($this->login, $maxlen); - else $result.=$this->getFullName($langs,'',($mode == 'firstname' ? 2 : -1),$maxlen); - if (empty($conf->global->MAIN_OPTIMIZEFORTEXTBROWSER)) $result.='
'; - } - $result.=$linkend; - //if ($withpictoimg == -1) $result.='
'; - $result.=$companylink; - return $result; - } - - /** - * Return status label of an employee - * - * @param int $mode 0=long label, 1=short label, 2=Picto + short label, 3=Picto, 4=Picto + long label, 5=Short label + Picto - * @return string Label of status - */ - function getLibStatut($mode=0) - { - return $this->LibStatut($this->statut,$mode); - } - - /** - * Return label of given status - * - * @param int $statut Id statut - * @param int $mode 0=long label, 1=short label, 2=Picto + short label, 3=Picto, 4=Picto + long label, 5=Short label + Picto - * @return string Label of status - */ - function LibStatut($statut,$mode=0) - { - global $langs; - $langs->load('users'); - - if ($mode == 0) - { - $prefix=''; - if ($statut == 1) return $langs->trans('Enabled'); - if ($statut == 0) return $langs->trans('Disabled'); - } - if ($mode == 1) - { - if ($statut == 1) return $langs->trans('Enabled'); - if ($statut == 0) return $langs->trans('Disabled'); - } - if ($mode == 2) - { - if ($statut == 1) return img_picto($langs->trans('Enabled'),'statut4').' '.$langs->trans('Enabled'); - if ($statut == 0) return img_picto($langs->trans('Disabled'),'statut5').' '.$langs->trans('Disabled'); - } - if ($mode == 3) - { - if ($statut == 1) return img_picto($langs->trans('Enabled'),'statut4'); - if ($statut == 0) return img_picto($langs->trans('Disabled'),'statut5'); - } - if ($mode == 4) - { - if ($statut == 1) return img_picto($langs->trans('Enabled'),'statut4').' '.$langs->trans('Enabled'); - if ($statut == 0) return img_picto($langs->trans('Disabled'),'statut5').' '.$langs->trans('Disabled'); - } - if ($mode == 5) - { - if ($statut == 1) return $langs->trans('Enabled').' '.img_picto($langs->trans('Enabled'),'statut4'); - if ($statut == 0) return $langs->trans('Disabled').' '.img_picto($langs->trans('Disabled'),'statut5'); - } - } -} diff --git a/htdocs/hrm/employee/index.html b/htdocs/hrm/employee/index.html deleted file mode 100644 index e69de29bb2d..00000000000 diff --git a/htdocs/hrm/employee/list.php b/htdocs/hrm/employee/list.php deleted file mode 100644 index 86e1f3d10d5..00000000000 --- a/htdocs/hrm/employee/list.php +++ /dev/null @@ -1,222 +0,0 @@ - - * Copyright (C) 2004-2015 Laurent Destailleur - * Copyright (C) 2005-2012 Regis Houssin - * Copyright (C) 2015 Alexandre Spangaro - * - * 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 . - */ - -/** - * \file htdocs/hrm/employee/list.php - * \ingroup core - * \brief Page of users - */ - -require '../../main.inc.php'; -require_once DOL_DOCUMENT_ROOT.'/hrm/class/employee.class.php'; - -if (! $user->rights->hrm->employee->read) - accessforbidden(); - -$langs->load("users"); -$langs->load("companies"); -$langs->load("hrm"); - -// Security check (for external users) -$socid=0; -if ($user->societe_id > 0) - $socid = $user->societe_id; - -$sall=GETPOST('sall','alpha'); -$search_user=GETPOST('search_user','alpha'); -$search_login=GETPOST('search_login','alpha'); -$search_lastname=GETPOST('search_lastname','alpha'); -$search_firstname=GETPOST('search_firstname','alpha'); -$search_statut=GETPOST('search_statut','alpha'); -$search_thirdparty=GETPOST('search_thirdparty','alpha'); -$optioncss = GETPOST('optioncss','alpha'); - -if ($search_statut == '') $search_statut='1'; - -$sortfield = GETPOST('sortfield','alpha'); -$sortorder = GETPOST('sortorder','alpha'); -$page = GETPOST('page','int'); -if ($page == -1) { $page = 0; } -$offset = $conf->liste_limit * $page; -$pageprev = $page - 1; -$pagenext = $page + 1; -$limit = $conf->liste_limit; -if (! $sortfield) $sortfield="u.login"; -if (! $sortorder) $sortorder="ASC"; - -$employeestatic = new Employee($db); -$companystatic = new Societe($db); -$form = new Form($db); - -if (GETPOST("button_removefilter_x") || GETPOST("button_removefilter")) -{ - $search_user=""; - $search_login=""; - $search_lastname=""; - $search_firstname=""; - $search_statut=""; - $search_thirdparty=""; -} - - -/* - * View - */ - -llxHeader('',$langs->trans("ListOfEmployees")); - -$buttonviewhierarchy='
'; - -print load_fiche_titre($langs->trans("ListOfEmployees"), $buttonviewhierarchy); - -$sql = "SELECT u.rowid, u.lastname, u.firstname, u.email, u.gender,"; -$sql.= " u.datec,"; -$sql.= " u.tms as datem,"; -$sql.= " u.ldap_sid, u.statut, u.entity,"; -$sql.= " u2.login as login2, u2.firstname as firstname2, u2.lastname as lastname2,"; -$sql.= " s.nom as name, s.canvas"; -$sql.= " FROM ".MAIN_DB_PREFIX."user as u"; -$sql.= " LEFT JOIN ".MAIN_DB_PREFIX."societe as s ON u.fk_soc = s.rowid"; -$sql.= " LEFT JOIN ".MAIN_DB_PREFIX."user as u2 ON u.fk_user = u2.rowid"; -$sql.= " WHERE u.employee >= '1'"; -$sql.= " AND u.entity IN (".getEntity('user',1).")"; - -if ($socid > 0) $sql.= " AND u.fk_soc = ".$socid; -if ($search_user != '') $sql.=natural_search(array('u.login', 'u.lastname', 'u.firstname'), $search_user); -if ($search_thirdparty != '') $sql.=natural_search(array('s.nom'), $search_thirdparty); -if ($search_login != '') $sql.= natural_search("u.login", $search_login); -if ($search_lastname != '') $sql.= natural_search("u.lastname", $search_lastname); -if ($search_firstname != '') $sql.= natural_search("u.firstname", $search_firstname); -if ($search_statut != '' && $search_statut >= 0) $sql.= " AND (u.statut=".$search_statut.")"; -if ($sall) $sql.= natural_search(array('u.login', 'u.lastname', 'u.firstname', 'u.email', 'u.note'), $sall); -$sql.=$db->order($sortfield,$sortorder); - -$result = $db->query($sql); -if ($result) -{ - $num = $db->num_rows($result); - $i = 0; - - print '
'."\n"; - if ($optioncss != '') print ''; - - $param="search_user=".$search_user."&sall=".$sall; - $param.="&search_statut=".$search_statut; - if ($optioncss != '') $param.='&optioncss='.$optioncss; - - print ''; - print ''; - print_liste_field_titre($langs->trans("Login"),$_SERVER['PHP_SELF'],"u.login",$param,"","",$sortfield,$sortorder); - print_liste_field_titre($langs->trans("LastName"),$_SERVER['PHP_SELF'],"u.lastname",$param,"","",$sortfield,$sortorder); - print_liste_field_titre($langs->trans("FirstName"),$_SERVER['PHP_SELF'],"u.firstname",$param,"","",$sortfield,$sortorder); - if (! empty($conf->multicompany->enabled) && empty($conf->multicompany->transverse_mode)) - { - print_liste_field_titre($langs->trans("Entity"),$_SERVER['PHP_SELF'],"u.entity",$param,"","",$sortfield,$sortorder); - } - print_liste_field_titre($langs->trans("HierarchicalResponsible"),$_SERVER['PHP_SELF'],"u2.login",$param,"",'align="center"',$sortfield,$sortorder); - print_liste_field_titre($langs->trans("Status"),$_SERVER['PHP_SELF'],"u.statut",$param,"",'align="center"',$sortfield,$sortorder); - print_liste_field_titre('',$_SERVER["PHP_SELF"],"",'','','',$sortfield,$sortorder,'maxwidthsearch '); - print "\n"; - - // Search bar - if (! empty($conf->multicompany->enabled) && empty($conf->multicompany->transverse_mode)) $colspan++; - print ''; - print ''; - print ''; - print ''; - print ''; - - // Status - print ''; - - print ''; - - print "\n"; - - $employee2=new Employee($db); - - $var=True; - while ($i < $num) - { - $obj = $db->fetch_object($result); - $var=!$var; - - $employeestatic->id=$obj->rowid; - $employeestatic->ref=$obj->label; - $employeestatic->login=$obj->login; - $employeestatic->statut=$obj->statut; - $employeestatic->email=$obj->email; - $employeestatic->gender=$obj->gender; - $employeestatic->societe_id=$obj->fk_soc; - $employeestatic->firstname=$obj->firstname; - $employeestatic->lastname=$obj->lastname; - - $li=$employeestatic->getNomUrl(1,'',0,0,24,1); - - print ""; - print ''; - print ''; - print ''; - - // Resp - print ''; - - // Statut - print ''; - print ''; - print "\n"; - $i++; - } - print "
 '; - print $form->selectarray('search_statut', array('-1'=>'','0'=>$langs->trans('Disabled'),'1'=>$langs->trans('Enabled')),$search_statut); - print ''; - print ''; - print '
'; - print $li; - if (! empty($conf->multicompany->enabled) && $obj->admin && ! $obj->entity) - { - print img_picto($langs->trans("SuperAdministrator"),'redstar'); - } - else if ($obj->admin) - { - print img_picto($langs->trans("Administrator"),'star'); - } - print ''.ucfirst($obj->lastname).''.ucfirst($obj->firstname).''; - if ($obj->login2) - { - $employee2->login=$obj->login2; - //$employee2->lastname=$obj->lastname2; - //$employee2->firstname=$obj->firstname2; - $employee2->lastname=$employee2->login; - $employee2->firstname=''; - print $employee2->getNomUrl(1); - } - print ''.$employeestatic->getLibStatut(5).' 
"; - print "
\n"; - $db->free($result); -} -else -{ - dol_print_error($db); -} - -llxFooter(); - -$db->close();