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->dir_output=DOL_DATA_ROOT."/rapport";
// 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_images=DOL_DATA_ROOT."/taxes/images";
// Module comptaexpert

View File

@ -892,7 +892,7 @@ else
$html->select_produits('','p_idprod','',$conf->produit->limit_size,$contrat->societe->price_level);
else
$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 '</td>';

View File

@ -147,9 +147,9 @@ class modUser extends DolibarrModules
$r++;
$this->export_code[$r]=$this->id.'_'.$r;
$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_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_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_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.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.datelastlogin'=>'datelastlogin','u.datepreviouslogin'=>'datepreviouslogin');
$this->export_sql[$r]="select ";
$i=0;
foreach ($this->export_alias_array[$r] as $key => $value)

View File

@ -85,8 +85,8 @@ print '<tr '.$bc[false].'>';
$userstring=$user->fullname;
print '<td nowrap>'.$langs->trans("User").'</td><td>'.$userstring.'</td></tr>';
print '<tr '.$bc[true].'>';
print '<td nowrap>'.$langs->trans("LastAccess").'</td><td>';
if ($user->datelastaccess) print dolibarr_print_date($user->datelastaccess,"%d %B %Y %H:%M:%S");
print '<td nowrap>'.$langs->trans("PreviousConnexion").'</td><td>';
if ($user->datepreviouslogin) print dolibarr_print_date($user->datepreviouslogin,"%d %B %Y %H:%M:%S");
else print $langs->trans("Unknown");
print '</td>';
print "</tr>\n";

View File

@ -26,7 +26,9 @@ ErrorWrongValueForParameterX=Wrong value for parameter %s
ErrorNoRequestInError=No request in error
SeeAbove=See above
HomeArea=Home area
LastAccess=Last access
LastConnexion=Last connexion
PreviousConnexion=Previous connexion
ConnectedSince=Connected since
RequestedUrl=Requested Url
DatabaseTypeManager=Database type manager
RequestLastAccess=Request for last database access

View File

@ -26,7 +26,9 @@ ErrorWrongValueForParameterX=Valeur incorrecte pour le param
ErrorNoRequestInError=Aucune requete en erreur
SeeAbove=Voir ci-dessus
HomeArea=Espace accueil
LastAccess=Dernière connexion
LastConnexion=Dernière connexion
PreviousConnexion=Connexion précédente
ConnectedSince=Connecté depuis
RequestedUrl=Url sollicitée
DatabaseTypeManager=Type gestionnaire de base de donnée
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
\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
*/
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 $menutop->atarget?(' target="'.$menutop->atarget.'"'):'';
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 ' alt="'.$langs->trans("Logout").'" title="'.$langs->trans("Logout").'"';
print ' alt="'.$title.'" title="'.$title.'"';
print '>';
print '</a>';
}

View File

@ -62,12 +62,15 @@ class User
var $admin;
var $login;
var $pass;
var $lang;
var $datec;
var $datem;
var $societe_id;
var $webcal_login;
var $datelastaccess;
var $datelastlogin;
var $datepreviouslogin;
var $statut;
var $lang;
var $error;
var $userpref_limite_liste;
@ -102,10 +105,14 @@ class User
function fetch($login='')
{
// 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.= " ".$this->db->pdate("u.datec")." as datec, ".$this->db->pdate("u.tms")." as datem,";
$sql.= " ".$this->db->pdate("u.datelastaccess")." as datel";
$sql.= " u.statut, u.lang,";
$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";
if ($login)
{
@ -138,14 +145,18 @@ class User
$this->admin = $obj->admin;
$this->contact_id = $obj->fk_socpeople;
$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->datem = $obj->datem;
$this->datelastaccess = $obj->datel;
$this->datelastlogin = $obj->datel;
$this->datepreviouslogin = $obj->datep;
$this->webcal_login = $obj->webcal_login;
$this->societe_id = $obj->fk_societe;
if (! $this->lang) $this->lang='fr_FR';
}
$this->db->free($result);
@ -811,6 +822,7 @@ class User
/**
* \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
*/
function update_last_login_date()
@ -819,19 +831,21 @@ class User
$now=time();
$sql = "UPDATE ".MAIN_DB_PREFIX."user";
$sql.= " SET datelastaccess = ".$this->db->idate($now).",";
$sql = "UPDATE ".MAIN_DB_PREFIX."user SET";
$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.= " WHERE rowid = ".$this->id;
$resql = $this->db->query($sql);
if ($resql)
{
$this->datelastaccess=$now;
$this->datepreviouslogin=$this->datelastlogin;
$this->datelastlogin=$now;
return 1;
}
else
{
$this->error=$this->db->error();
$this->error=$this->db->error().' sql='.$sql;
return -1;
}
}

View File

@ -591,7 +591,7 @@ else
{
$fuser = new User($db, $_GET["id"]);
$fuser->fetch();
// Connexion ldap
if ($conf->ldap->enabled && $fuser->ldap_sid)
{
@ -818,11 +818,19 @@ else
print "</tr>\n";
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><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>".'<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,'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,'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,'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,'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,'83','Comité d\'entreprise');
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_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;

View File

@ -41,9 +41,12 @@ create table llx_user
fk_societe integer DEFAULT 0,
fk_socpeople integer DEFAULT 0,
note text,
datelastaccess datetime,
datelastlogin datetime,
datepreviouslogin datetime,
egroupware_id integer,
ldap_sid varchar(255) DEFAULT NULL,
statut tinyint DEFAULT 1,
lang varchar(6),
UNIQUE INDEX(login)
)type=innodb;