Fix: Info "derniere connexion" n'était pas correcte mais affiché en fait "connecté depuis".

This commit is contained in:
Laurent Destailleur 2006-08-12 19:07:14 +00:00
parent 0798e730be
commit 8db3b8b0b9
13 changed files with 65 additions and 30 deletions

View File

@ -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

View File

@ -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>';

View File

@ -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)

View File

@ -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";

View File

@ -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

View File

@ -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

View File

@ -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='')

View File

@ -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>';
} }

View File

@ -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;
} }
} }

View File

@ -591,7 +591,7 @@ else
{ {
$fuser = new User($db, $_GET["id"]); $fuser = new User($db, $_GET["id"]);
$fuser->fetch(); $fuser->fetch();
// Connexion ldap // Connexion ldap
if ($conf->ldap->enabled && $fuser->ldap_sid) if ($conf->ldap->enabled && $fuser->ldap_sid)
{ {
@ -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>';

View File

@ -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');

View File

@ -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 add column ldap_sid varchar(255)DEFAULT NULL; 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 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;

View File

@ -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;