Fix: Info "derniere connexion" n'était pas correcte mais affiché en fait "connecté depuis".
This commit is contained in:
parent
0798e730be
commit
8db3b8b0b9
@ -174,7 +174,7 @@ class Conf
|
|||||||
$this->commercial->enabled=defined("MAIN_MODULE_COMMERCIAL")?MAIN_MODULE_COMMERCIAL:0;
|
$this->commercial->enabled=defined("MAIN_MODULE_COMMERCIAL")?MAIN_MODULE_COMMERCIAL:0;
|
||||||
$this->commercial->dir_output=DOL_DATA_ROOT."/rapport";
|
$this->commercial->dir_output=DOL_DATA_ROOT."/rapport";
|
||||||
// Module taxes et charges sociales
|
// Module taxes et charges sociales
|
||||||
$this->tax->enabled=1;
|
$this->tax->enabled=defined("MAIN_MODULE_TAX")?MAIN_MODULE_TAX:0;
|
||||||
$this->tax->dir_output=DOL_DATA_ROOT."/taxes";
|
$this->tax->dir_output=DOL_DATA_ROOT."/taxes";
|
||||||
$this->tax->dir_images=DOL_DATA_ROOT."/taxes/images";
|
$this->tax->dir_images=DOL_DATA_ROOT."/taxes/images";
|
||||||
// Module comptaexpert
|
// Module comptaexpert
|
||||||
|
|||||||
@ -892,7 +892,7 @@ else
|
|||||||
$html->select_produits('','p_idprod','',$conf->produit->limit_size,$contrat->societe->price_level);
|
$html->select_produits('','p_idprod','',$conf->produit->limit_size,$contrat->societe->price_level);
|
||||||
else
|
else
|
||||||
$html->select_produits('','p_idprod','',$conf->produit->limit_size);
|
$html->select_produits('','p_idprod','',$conf->produit->limit_size);
|
||||||
print '<br>';
|
if (! $conf->use_ajax) print '<br>';
|
||||||
print '<textarea name="desc" cols="70" rows="'.ROWS_2.'"></textarea>';
|
print '<textarea name="desc" cols="70" rows="'.ROWS_2.'"></textarea>';
|
||||||
print '</td>';
|
print '</td>';
|
||||||
|
|
||||||
|
|||||||
@ -147,9 +147,9 @@ class modUser extends DolibarrModules
|
|||||||
$r++;
|
$r++;
|
||||||
$this->export_code[$r]=$this->id.'_'.$r;
|
$this->export_code[$r]=$this->id.'_'.$r;
|
||||||
$this->export_label[$r]='Liste des utilisateurs Dolibarr et attributs';
|
$this->export_label[$r]='Liste des utilisateurs Dolibarr et attributs';
|
||||||
$this->export_fields_array[$r]=array('u.rowid'=>"Id",'u.name'=>"Lastname",'u.firstname'=>"Firstname",'u.code'=>"Code",'u.login'=>"Login",'u.datec'=>"DateCreation",'u.tms'=>"DateLastModification",'u.admin'=>"Admin",'u.fk_socpeople'=>"IdContact",'u.note'=>"Note",'u.datelastaccess'=>'DateLastAccess');
|
$this->export_fields_array[$r]=array('u.rowid'=>"Id",'u.name'=>"Lastname",'u.firstname'=>"Firstname",'u.code'=>"Code",'u.login'=>"Login",'u.datec'=>"DateCreation",'u.tms'=>"DateLastModification",'u.admin'=>"Admin",'u.fk_socpeople'=>"IdContact",'u.note'=>"Note",'u.datelastlogin'=>'DateLastLogin','u.datepreviouslogin'=>'DatePreviousLogin');
|
||||||
$this->export_entities_array[$r]=array('u.rowid'=>"user",'u.name'=>"user",'u.firstname'=>"user",'u.code'=>"user",'u.login'=>"user",'u.datec'=>"user",'u.tms'=>"user",'u.admin'=>"user",'u.fk_socpeople'=>"user",'u.note'=>"user",'u.datelastaccess'=>'user');
|
$this->export_entities_array[$r]=array('u.rowid'=>"user",'u.name'=>"user",'u.firstname'=>"user",'u.code'=>"user",'u.login'=>"user",'u.datec'=>"user",'u.tms'=>"user",'u.admin'=>"user",'u.fk_socpeople'=>"user",'u.note'=>"user",'u.datelastlogin'=>'user','u.datepreviouslogin'=>'user');
|
||||||
$this->export_alias_array[$r]=array('u.rowid'=>"rowid",'u.name'=>"name",'u.firstname'=>"firstname",'u.code'=>"code",'u.login'=>"login",'u.datec'=>"datecreation",'u.tms'=>"datelastmodification",'u.admin'=>"admin",'u.fk_socpeople'=>"idcontact",'u.note'=>"note",'u.datelastaccess'=>'datelastaccess');
|
$this->export_alias_array[$r]=array('u.rowid'=>"rowid",'u.name'=>"name",'u.firstname'=>"firstname",'u.code'=>"code",'u.login'=>"login",'u.datec'=>"datecreation",'u.tms'=>"datelastmodification",'u.admin'=>"admin",'u.fk_socpeople'=>"idcontact",'u.note'=>"note",'u.datelastlogin'=>'datelastlogin','u.datepreviouslogin'=>'datepreviouslogin');
|
||||||
$this->export_sql[$r]="select ";
|
$this->export_sql[$r]="select ";
|
||||||
$i=0;
|
$i=0;
|
||||||
foreach ($this->export_alias_array[$r] as $key => $value)
|
foreach ($this->export_alias_array[$r] as $key => $value)
|
||||||
|
|||||||
@ -85,8 +85,8 @@ print '<tr '.$bc[false].'>';
|
|||||||
$userstring=$user->fullname;
|
$userstring=$user->fullname;
|
||||||
print '<td nowrap>'.$langs->trans("User").'</td><td>'.$userstring.'</td></tr>';
|
print '<td nowrap>'.$langs->trans("User").'</td><td>'.$userstring.'</td></tr>';
|
||||||
print '<tr '.$bc[true].'>';
|
print '<tr '.$bc[true].'>';
|
||||||
print '<td nowrap>'.$langs->trans("LastAccess").'</td><td>';
|
print '<td nowrap>'.$langs->trans("PreviousConnexion").'</td><td>';
|
||||||
if ($user->datelastaccess) print dolibarr_print_date($user->datelastaccess,"%d %B %Y %H:%M:%S");
|
if ($user->datepreviouslogin) print dolibarr_print_date($user->datepreviouslogin,"%d %B %Y %H:%M:%S");
|
||||||
else print $langs->trans("Unknown");
|
else print $langs->trans("Unknown");
|
||||||
print '</td>';
|
print '</td>';
|
||||||
print "</tr>\n";
|
print "</tr>\n";
|
||||||
|
|||||||
@ -26,7 +26,9 @@ ErrorWrongValueForParameterX=Wrong value for parameter %s
|
|||||||
ErrorNoRequestInError=No request in error
|
ErrorNoRequestInError=No request in error
|
||||||
SeeAbove=See above
|
SeeAbove=See above
|
||||||
HomeArea=Home area
|
HomeArea=Home area
|
||||||
LastAccess=Last access
|
LastConnexion=Last connexion
|
||||||
|
PreviousConnexion=Previous connexion
|
||||||
|
ConnectedSince=Connected since
|
||||||
RequestedUrl=Requested Url
|
RequestedUrl=Requested Url
|
||||||
DatabaseTypeManager=Database type manager
|
DatabaseTypeManager=Database type manager
|
||||||
RequestLastAccess=Request for last database access
|
RequestLastAccess=Request for last database access
|
||||||
|
|||||||
@ -26,7 +26,9 @@ ErrorWrongValueForParameterX=Valeur incorrecte pour le param
|
|||||||
ErrorNoRequestInError=Aucune requete en erreur
|
ErrorNoRequestInError=Aucune requete en erreur
|
||||||
SeeAbove=Voir ci-dessus
|
SeeAbove=Voir ci-dessus
|
||||||
HomeArea=Espace accueil
|
HomeArea=Espace accueil
|
||||||
LastAccess=Dernière connexion
|
LastConnexion=Dernière connexion
|
||||||
|
PreviousConnexion=Connexion précédente
|
||||||
|
ConnectedSince=Connecté depuis
|
||||||
RequestedUrl=Url sollicitée
|
RequestedUrl=Url sollicitée
|
||||||
DatabaseTypeManager=Type gestionnaire de base de donnée
|
DatabaseTypeManager=Type gestionnaire de base de donnée
|
||||||
RequestLastAccess=Requete dernier acces en base
|
RequestLastAccess=Requete dernier acces en base
|
||||||
|
|||||||
@ -412,7 +412,7 @@ function dolibarr_time_plus_duree($time,$duration_value,$duration_unit)
|
|||||||
/**
|
/**
|
||||||
\brief Formattage de la date en fonction de la langue $conf->langage
|
\brief Formattage de la date en fonction de la langue $conf->langage
|
||||||
\param time Date 'timestamp' ou format 'YYYY-MM-DD' ou 'YYYY-MM-DD HH:MM:SS'
|
\param time Date 'timestamp' ou format 'YYYY-MM-DD' ou 'YYYY-MM-DD HH:MM:SS'
|
||||||
\param format Format d'affichage de la date ("%d %b %Y", "%d/%m/%Y", ...)
|
\param format Format d'affichage de la date ("%d %b %Y", "%d/%m/%Y %h:%M:%s", ...)
|
||||||
\return string Date formatée ou '' si time null
|
\return string Date formatée ou '' si time null
|
||||||
*/
|
*/
|
||||||
function dolibarr_print_date($time,$format='')
|
function dolibarr_print_date($time,$format='')
|
||||||
|
|||||||
@ -466,8 +466,10 @@ function top_menu($head, $title="", $target="")
|
|||||||
print '<a href="'.DOL_URL_ROOT.'/user/logout.php"';
|
print '<a href="'.DOL_URL_ROOT.'/user/logout.php"';
|
||||||
print $menutop->atarget?(' target="'.$menutop->atarget.'"'):'';
|
print $menutop->atarget?(' target="'.$menutop->atarget.'"'):'';
|
||||||
print '>';
|
print '>';
|
||||||
|
$title=$langs->trans("Logout");
|
||||||
|
$title.=' ('.$langs->trans("ConnectedSince").': '.dolibarr_print_date($user->datelastlogin,"%d/%m/%Y %H:%M:%S").')';
|
||||||
print '<img class="login" border="0" src="'.DOL_URL_ROOT.'/theme/'.$conf->theme.'/img/logout.png"';
|
print '<img class="login" border="0" src="'.DOL_URL_ROOT.'/theme/'.$conf->theme.'/img/logout.png"';
|
||||||
print ' alt="'.$langs->trans("Logout").'" title="'.$langs->trans("Logout").'"';
|
print ' alt="'.$title.'" title="'.$title.'"';
|
||||||
print '>';
|
print '>';
|
||||||
print '</a>';
|
print '</a>';
|
||||||
}
|
}
|
||||||
|
|||||||
@ -62,12 +62,15 @@ class User
|
|||||||
var $admin;
|
var $admin;
|
||||||
var $login;
|
var $login;
|
||||||
var $pass;
|
var $pass;
|
||||||
var $lang;
|
|
||||||
var $datec;
|
var $datec;
|
||||||
var $datem;
|
var $datem;
|
||||||
var $societe_id;
|
var $societe_id;
|
||||||
var $webcal_login;
|
var $webcal_login;
|
||||||
var $datelastaccess;
|
|
||||||
|
var $datelastlogin;
|
||||||
|
var $datepreviouslogin;
|
||||||
|
var $statut;
|
||||||
|
var $lang;
|
||||||
|
|
||||||
var $error;
|
var $error;
|
||||||
var $userpref_limite_liste;
|
var $userpref_limite_liste;
|
||||||
@ -102,10 +105,14 @@ class User
|
|||||||
function fetch($login='')
|
function fetch($login='')
|
||||||
{
|
{
|
||||||
// Recupere utilisateur
|
// Recupere utilisateur
|
||||||
$sql = "SELECT u.rowid, u.name, u.firstname, u.email, u.office_phone, u.office_fax, u.user_mobile, u.code, u.admin, u.login, u.pass, u.webcal_login, u.note,";
|
$sql = "SELECT u.rowid, u.name, u.firstname, u.email, u.office_phone, u.office_fax, u.user_mobile,";
|
||||||
|
$sql.= " u.code, u.admin, u.login, u.pass, u.webcal_login, u.note,";
|
||||||
$sql.= " u.fk_societe, u.fk_socpeople, u.ldap_sid,";
|
$sql.= " u.fk_societe, u.fk_socpeople, u.ldap_sid,";
|
||||||
$sql.= " ".$this->db->pdate("u.datec")." as datec, ".$this->db->pdate("u.tms")." as datem,";
|
$sql.= " u.statut, u.lang,";
|
||||||
$sql.= " ".$this->db->pdate("u.datelastaccess")." as datel";
|
$sql.= " ".$this->db->pdate("u.datec")." as datec,";
|
||||||
|
$sql.= " ".$this->db->pdate("u.tms")." as datem,";
|
||||||
|
$sql.= " ".$this->db->pdate("u.datelastlogin")." as datel,";
|
||||||
|
$sql.= " ".$this->db->pdate("u.datepreviouslogin")." as datep";
|
||||||
$sql.= " FROM ".MAIN_DB_PREFIX."user as u";
|
$sql.= " FROM ".MAIN_DB_PREFIX."user as u";
|
||||||
if ($login)
|
if ($login)
|
||||||
{
|
{
|
||||||
@ -138,14 +145,18 @@ class User
|
|||||||
$this->admin = $obj->admin;
|
$this->admin = $obj->admin;
|
||||||
$this->contact_id = $obj->fk_socpeople;
|
$this->contact_id = $obj->fk_socpeople;
|
||||||
$this->note = stripslashes($obj->note);
|
$this->note = stripslashes($obj->note);
|
||||||
$this->lang = 'fr_FR'; // \todo Gérer la langue par défaut d'un utilisateur Dolibarr
|
$this->statut = $obj->statut;
|
||||||
|
$this->lang = $obj->lang;
|
||||||
|
|
||||||
$this->datec = $obj->datec;
|
$this->datec = $obj->datec;
|
||||||
$this->datem = $obj->datem;
|
$this->datem = $obj->datem;
|
||||||
$this->datelastaccess = $obj->datel;
|
$this->datelastlogin = $obj->datel;
|
||||||
|
$this->datepreviouslogin = $obj->datep;
|
||||||
|
|
||||||
$this->webcal_login = $obj->webcal_login;
|
$this->webcal_login = $obj->webcal_login;
|
||||||
$this->societe_id = $obj->fk_societe;
|
$this->societe_id = $obj->fk_societe;
|
||||||
|
|
||||||
|
if (! $this->lang) $this->lang='fr_FR';
|
||||||
}
|
}
|
||||||
$this->db->free($result);
|
$this->db->free($result);
|
||||||
|
|
||||||
@ -811,6 +822,7 @@ class User
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* \brief Mise à jour en base de la date de deniere connexion d'un utilisateur
|
* \brief Mise à jour en base de la date de deniere connexion d'un utilisateur
|
||||||
|
* Fonction appelée lors d'une nouvelle connexion
|
||||||
* \return <0 si echec, >=0 si ok
|
* \return <0 si echec, >=0 si ok
|
||||||
*/
|
*/
|
||||||
function update_last_login_date()
|
function update_last_login_date()
|
||||||
@ -819,19 +831,21 @@ class User
|
|||||||
|
|
||||||
$now=time();
|
$now=time();
|
||||||
|
|
||||||
$sql = "UPDATE ".MAIN_DB_PREFIX."user";
|
$sql = "UPDATE ".MAIN_DB_PREFIX."user SET";
|
||||||
$sql.= " SET datelastaccess = ".$this->db->idate($now).",";
|
$sql.= " datepreviouslogin = datelastlogin,";
|
||||||
|
$sql.= " datelastlogin = ".$this->db->idate($now).",";
|
||||||
$sql.= " tms = tms"; // La date de derniere modif doit changer sauf pour la mise a jour de date de derniere connexion
|
$sql.= " tms = tms"; // La date de derniere modif doit changer sauf pour la mise a jour de date de derniere connexion
|
||||||
$sql.= " WHERE rowid = ".$this->id;
|
$sql.= " WHERE rowid = ".$this->id;
|
||||||
$resql = $this->db->query($sql);
|
$resql = $this->db->query($sql);
|
||||||
if ($resql)
|
if ($resql)
|
||||||
{
|
{
|
||||||
$this->datelastaccess=$now;
|
$this->datepreviouslogin=$this->datelastlogin;
|
||||||
|
$this->datelastlogin=$now;
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
$this->error=$this->db->error();
|
$this->error=$this->db->error().' sql='.$sql;
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -818,11 +818,19 @@ else
|
|||||||
print "</tr>\n";
|
print "</tr>\n";
|
||||||
|
|
||||||
print '<tr><td width="25%" valign="top">'.$langs->trans("DateCreation").'</td>';
|
print '<tr><td width="25%" valign="top">'.$langs->trans("DateCreation").'</td>';
|
||||||
print '<td class="valeur">'.dolibarr_print_date($fuser->datec).'</td>';
|
print '<td class="valeur">'.dolibarr_print_date($fuser->datec,"%d/%m/%Y %H:%M:%S").'</td>';
|
||||||
print "</tr>\n";
|
print "</tr>\n";
|
||||||
|
|
||||||
print '<tr><td width="25%" valign="top">'.$langs->trans("DateModification").'</td>';
|
print '<tr><td width="25%" valign="top">'.$langs->trans("DateModification").'</td>';
|
||||||
print '<td class="valeur">'.dolibarr_print_date($fuser->datem).'</td>';
|
print '<td class="valeur">'.dolibarr_print_date($fuser->datem,"%d/%m/%Y %H:%M:%S").'</td>';
|
||||||
|
print "</tr>\n";
|
||||||
|
|
||||||
|
print '<tr><td width="25%" valign="top">'.$langs->trans("LastConnexion").'</td>';
|
||||||
|
print '<td class="valeur">'.dolibarr_print_date($fuser->datelastlogin,"%d/%m/%Y %H:%M:%S").'</td>';
|
||||||
|
print "</tr>\n";
|
||||||
|
|
||||||
|
print '<tr><td width="25%" valign="top">'.$langs->trans("PreviousConnexion").'</td>';
|
||||||
|
print '<td class="valeur">'.dolibarr_print_date($fuser->datepreviouslogin,"%d/%m/%Y %H:%M:%S").'</td>';
|
||||||
print "</tr>\n";
|
print "</tr>\n";
|
||||||
|
|
||||||
print "<tr>".'<td width="25%" valign="top">'.$langs->trans("Note").'</td>';
|
print "<tr>".'<td width="25%" valign="top">'.$langs->trans("Note").'</td>';
|
||||||
|
|||||||
@ -405,14 +405,14 @@ insert into llx_c_forme_juridique (fk_pays, code, libelle) values (1,'62','Group
|
|||||||
insert into llx_c_forme_juridique (fk_pays, code, libelle) values (1,'63','Société coopérative agricole');
|
insert into llx_c_forme_juridique (fk_pays, code, libelle) values (1,'63','Société coopérative agricole');
|
||||||
insert into llx_c_forme_juridique (fk_pays, code, libelle) values (1,'64','Société non commerciale d\'assurances');
|
insert into llx_c_forme_juridique (fk_pays, code, libelle) values (1,'64','Société non commerciale d\'assurances');
|
||||||
insert into llx_c_forme_juridique (fk_pays, code, libelle) values (1,'65','Société civile');
|
insert into llx_c_forme_juridique (fk_pays, code, libelle) values (1,'65','Société civile');
|
||||||
insert into llx_c_forme_juridique (fk_pays, code, libelle) values (1,'69','Autres personnes de droit privé inscrites au registre du commerce et sociétés');
|
insert into llx_c_forme_juridique (fk_pays, code, libelle) values (1,'69','Autres personnes de droit privé inscrites au RCS');
|
||||||
|
|
||||||
insert into llx_c_forme_juridique (fk_pays, code, libelle) values (1,'71','Administration de l\'état');
|
insert into llx_c_forme_juridique (fk_pays, code, libelle) values (1,'71','Administration de l\'état');
|
||||||
insert into llx_c_forme_juridique (fk_pays, code, libelle) values (1,'72','Collectivité territoriale');
|
insert into llx_c_forme_juridique (fk_pays, code, libelle) values (1,'72','Collectivité territoriale');
|
||||||
insert into llx_c_forme_juridique (fk_pays, code, libelle) values (1,'73','Établissement public administratif');
|
insert into llx_c_forme_juridique (fk_pays, code, libelle) values (1,'73','Établissement public administratif');
|
||||||
insert into llx_c_forme_juridique (fk_pays, code, libelle) values (1,'74','Autre personne morale de droit public administratif');
|
insert into llx_c_forme_juridique (fk_pays, code, libelle) values (1,'74','Autre personne morale de droit public administratif');
|
||||||
|
|
||||||
insert into llx_c_forme_juridique (fk_pays, code, libelle) values (1,'81','Organisme gérant un régime de protection social à adhésion obligatoire');
|
insert into llx_c_forme_juridique (fk_pays, code, libelle) values (1,'81','Organisme gérant régime de protection social à adhésion obligatoire');
|
||||||
insert into llx_c_forme_juridique (fk_pays, code, libelle) values (1,'82','Organisme mutualiste');
|
insert into llx_c_forme_juridique (fk_pays, code, libelle) values (1,'82','Organisme mutualiste');
|
||||||
insert into llx_c_forme_juridique (fk_pays, code, libelle) values (1,'83','Comité d\'entreprise');
|
insert into llx_c_forme_juridique (fk_pays, code, libelle) values (1,'83','Comité d\'entreprise');
|
||||||
insert into llx_c_forme_juridique (fk_pays, code, libelle) values (1,'84','Organisme professionnel');
|
insert into llx_c_forme_juridique (fk_pays, code, libelle) values (1,'84','Organisme professionnel');
|
||||||
|
|||||||
@ -330,7 +330,11 @@ alter table llx_propal add column ref_client varchar(30) after ref;
|
|||||||
|
|
||||||
alter table llx_societe_adresse_livraison drop column fk_departement;
|
alter table llx_societe_adresse_livraison drop column fk_departement;
|
||||||
|
|
||||||
|
alter table llx_user change datelastaccess datelastlogin datetime;
|
||||||
|
alter table llx_user add column datepreviouslogin datetime after datelastlogin;
|
||||||
alter table llx_user add column ldap_sid varchar(255) DEFAULT NULL;
|
alter table llx_user add column ldap_sid varchar(255) DEFAULT NULL;
|
||||||
|
alter table llx_user add column statut tinyint DEFAULT 1;
|
||||||
|
alter table llx_user add column lang varchar(6);
|
||||||
|
|
||||||
|
|
||||||
alter table llx_commande_fournisseur drop column fk_soc_contact;
|
alter table llx_commande_fournisseur drop column fk_soc_contact;
|
||||||
|
|||||||
@ -41,9 +41,12 @@ create table llx_user
|
|||||||
fk_societe integer DEFAULT 0,
|
fk_societe integer DEFAULT 0,
|
||||||
fk_socpeople integer DEFAULT 0,
|
fk_socpeople integer DEFAULT 0,
|
||||||
note text,
|
note text,
|
||||||
datelastaccess datetime,
|
datelastlogin datetime,
|
||||||
|
datepreviouslogin datetime,
|
||||||
egroupware_id integer,
|
egroupware_id integer,
|
||||||
ldap_sid varchar(255) DEFAULT NULL,
|
ldap_sid varchar(255) DEFAULT NULL,
|
||||||
|
statut tinyint DEFAULT 1,
|
||||||
|
lang varchar(6),
|
||||||
|
|
||||||
UNIQUE INDEX(login)
|
UNIQUE INDEX(login)
|
||||||
)type=innodb;
|
)type=innodb;
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user