From a1494cd49371b6d8637a7b7df1a7ad8c3595ec8a Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Wed, 9 Jun 2004 10:39:40 +0000 Subject: [PATCH] Look: Mise aux normes de la fiche utilisateur, New: Ajout du nom du module en rapport avec les droits sur la liste des droits --- htdocs/user/fiche.php | 648 +++++++++++++++++++++--------------------- 1 file changed, 322 insertions(+), 326 deletions(-) diff --git a/htdocs/user/fiche.php b/htdocs/user/fiche.php index 5f88dfe5e2e..6181410e4fc 100644 --- a/htdocs/user/fiche.php +++ b/htdocs/user/fiche.php @@ -1,6 +1,7 @@ - * Copyright (C) 2002-2003 Jean-Louis Bergamo + * Copyright (C) 2002-2003 Jean-Louis Bergamo + * Copyright (C) 2004 Laurent Destailleur * * 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 @@ -24,85 +25,88 @@ require("./pre.inc.php"); $form = new Form($db); +$action=isset($_GET["action"])?$_GET["action"]:$_POST["action"]; + if ($_GET["subaction"] == 'addrights' && $user->admin) { - $edituser = new User($db,$_GET["id"]); - $edituser->addrights($_GET["rights"]); + $edituser = new User($db,$_GET["id"]); + $edituser->addrights($_GET["rights"]); } if ($_GET["subaction"] == 'delrights' && $user->admin) { - $edituser = new User($db,$_GET["id"]); - $edituser->delrights($_GET["rights"]); + $edituser = new User($db,$_GET["id"]); + $edituser->delrights($_GET["rights"]); } -if ($HTTP_POST_VARS["action"] == 'confirm_delete' && $HTTP_POST_VARS["confirm"] == "yes") +if ($_POST["action"] == 'confirm_delete' && $_POST["confirm"] == "yes") { - if ($id <> $user->id) + if ($id <> $user->id) { - $edituser = new User($db, $id); - $edituser->fetch($id); - $edituser->delete(); - Header("Location: index.php"); + $edituser = new User($db, $id); + $edituser->fetch($id); + $edituser->delete(); + Header("Location: index.php"); } } - -if ($HTTP_POST_VARS["action"] == 'add' && $user->admin) +if ($_POST["action"] == 'add' && $user->admin) { - $edituser = new User($db,0); + $edituser = new User($db,0); - $edituser->nom = $HTTP_POST_VARS["nom"]; - $edituser->note = $HTTP_POST_VARS["note"]; - $edituser->prenom = $HTTP_POST_VARS["prenom"]; - $edituser->login = $HTTP_POST_VARS["login"]; - $edituser->email = $HTTP_POST_VARS["email"]; - $edituser->admin = $HTTP_POST_VARS["admin"]; - $edituser->webcal_login = $HTTP_POST_VARS["webcal_login"]; + $edituser->nom = $_POST["nom"]; + $edituser->note = $_POST["note"]; + $edituser->prenom = $_POST["prenom"]; + $edituser->login = $_POST["login"]; + $edituser->email = $_POST["email"]; + $edituser->admin = $_POST["admin"]; + $edituser->webcal_login = $_POST["webcal_login"]; - $id = $edituser->create(); - if (isset($_POST['password']) && $_POST['password']!='' ) + $id = $edituser->create(); + if (isset($_POST['password']) && $_POST['password']!='' ) { - $edituser->password($_POST['password'],$conf->password_encrypted); + $edituser->password($_POST['password'],$conf->password_encrypted); } } -if ($_POST["action"] == 'update' && $user->admin) +if ($_POST["action"] == 'update' && $user->admin) { - $edituser = new User($db, $id); - $edituser->fetch(); + $edituser = new User($db, $id); + $edituser->fetch(); - $edituser->nom = $_POST["nom"]; - $edituser->note = $_POST["note"]; - $edituser->prenom = $_POST["prenom"]; - $edituser->login = $_POST["login"]; - $edituser->email = $_POST["email"]; - $edituser->admin = $_POST["admin"]; - $edituser->webcal_login = $_POST["webcal_login"]; + $edituser->nom = $_POST["nom"]; + $edituser->note = $_POST["note"]; + $edituser->prenom = $_POST["prenom"]; + $edituser->login = $_POST["login"]; + $edituser->email = $_POST["email"]; + $edituser->admin = $_POST["admin"]; + $edituser->webcal_login = $_POST["webcal_login"]; - if (! $edituser->update()) + if (! $edituser->update()) { - print $edituser->error(); + print $edituser->error(); } - if (isset($password) && $password !='' ) + if (isset($password) && $password !='' ) { - $edituser->password($password,$conf->password_encrypted); + $edituser->password($password,$conf->password_encrypted); } } -if ($action == 'password' && $user->admin) +if ($action == 'password' && $user->admin) { - $edituser = new User($db, $id); - $edituser->fetch(); + $edituser = new User($db, $id); + $edituser->fetch(); - if ($edituser->password('',$conf->password_encrypted)) + if ($edituser->password('',$conf->password_encrypted)) { - $message = "Mot de passe changé et envoyé à $edituser->email"; + $message = "Mot de passe changé et envoyé à $edituser->email"; } } + llxHeader(); + /* ************************************************************************** */ /* */ /* Nouvel utilisateur */ @@ -112,45 +116,46 @@ llxHeader(); if ($action == 'create') { - print '
Nouvel utilisateur

'; - print '
'; - print ''; + print_titre('Nouvel utilisateur'); - print ''; + print ''; + print ''; - print ''; - print ''; - - print "".''; - print ''; - - print "".''; - print ''; + print '
Prénom
Nom
Login
'; - print "".''; - print ''; + print ''; + print ''; - print "".''; - print ''; - - print "".''; - print ''; - - if (defined("MAIN_MODULE_WEBCALENDAR")) + print "".''; + print ''; + + print "".''; + print ''; + + print "".''; + print ''; + + print "".''; + print ''; + + print "".''; + print ''; + + if (defined("MAIN_MODULE_WEBCALENDAR")) { - print "".''; - print ''; + print "".''; + print ''; } - - print "".'"; - - print "".''; - print ''; - print '
Password
Prénom
Email
Admin'; - $form->selectyesnonum('admin',0); - print '
Nom
Login
Password
Email
Admin'; + $form->selectyesnonum('admin',0); + print '
Login Webcal
Login Webcal
Note'; - print "
'; + + print "".'Note'; + print ""; + + print "".''; + print ''; + print ''; } /* ************************************************************************** */ /* */ @@ -159,272 +164,263 @@ if ($action == 'create') /* ************************************************************************** */ else { - if ($_GET["id"]) + if ($_GET["id"]) { - $fuser = new User($db, $_GET["id"]); - $fuser->fetch(); + $fuser = new User($db, $_GET["id"]); + $fuser->fetch(); - print_fiche_titre("Fiche utilisateur",$message); + /* + * Confirmation suppression + */ + if ($action == 'delete') + { + print_fiche_titre("Suppression fiche utilisateur",$message); + print '
'; - if ($request == 'delete') - { - print '
'; - print ''; - print ''; - - print "".''; - print "".'\n"; - print ''; - print '
Supprimer cet utilisateur
Etes-vous sur de vouloir supprimer cet utilisateur ?'; - $htmls = new Form($db); - - $htmls->selectyesno("confirm","no"); - - print "
'; - print "
\n"; - } + $html = new Form($db); + $html->form_confirm("$PHP_SELF?id=$fuser->id","Supprimer cet utilisateur","Etes-vous sûr de vouloir supprimer cet utilisateur ?","confirm_delete"); + } + + if ($_GET["action"] == 'perms') + { + print_fiche_titre("Permissions utilisateur",$message); + print '
'; + + /* + * Ecran ajout/suppression permission + */ + + print ''; + + print ''; + print ''; + print ''; + print ''; + + // Droits existant + print "".''; + print "".'
Nom'.$fuser->nom.'Prénom'.$fuser->prenom.'
'; + print ''; + $sql = "SELECT r.id, r.libelle, r.module FROM ".MAIN_DB_PREFIX."rights_def as r ORDER BY r.id ASC"; + + if ($db->query($sql)) + { + $num = $db->num_rows(); + $i = 0; + $var = True; + while ($i < $num) + { + $obj = $db->fetch_object($i); + if ($oldmod <> $obj->module) + { + $oldmod = $obj->module; + $var = !$var; + } + print ''; + + $i++; + } + } + print '
Ajouter'; + print $obj->libelle . '
'; + + print '
'; + + // Droits possédés + print ''; + $sql = "SELECT r.id, r.libelle, r.module FROM ".MAIN_DB_PREFIX."rights_def as r, ".MAIN_DB_PREFIX."user_rights as ur"; + $sql .= " WHERE ur.fk_id = r.id AND ur.fk_user = ".$fuser->id. " ORDER BY r.id ASC"; + $var = True; + if ($db->query($sql)) + { + $num = $db->num_rows(); + $i = 0; + while ($i < $num) + { + $obj = $db->fetch_object($i); + if ($oldmod <> $obj->module) + { + $oldmod = $obj->module; + $var = !$var; + } + + print "'; + print ''; + $i++; + } + } + print '
".$obj->libelle . 'Supprimer
'; + print '
ok
'; + } - if ($_GET["request"] == 'perms') - { - /* - * Droits - */ + if ($_GET["action"] != 'perms' && $_GET["action"] != 'edit') + { - print ''; - - print ''; - print ''; - print ''; - print ''; + /* + * Affichage onglet + */ + $h = 0; - print "".''; - print "".'
Nom'.$fuser->nom.'Prénom'.$fuser->prenom.'
'; - print ''; - $sql = "SELECT r.id, r.libelle, r.module FROM ".MAIN_DB_PREFIX."rights_def as r ORDER BY r.id ASC"; + $head[$h][0] = DOL_URL_ROOT.'/soc.php?socid='.$socid; + $head[$h][1] = "Fiche utilisateur"; + $h++; - if ($db->query($sql)) - { - $num = $db->num_rows(); - $i = 0; - $var = True; - while ($i < $num) - { - $obj = $db->fetch_object($i); - if ($oldmod <> $obj->module) - { - $oldmod = $obj->module; - $var = !$var; - } - print ''; - - $i++; - } - } - print '
Ajouter'; - print $obj->libelle . '
'; - - print '
'; - /* - * Droits - */ - print ''; - $sql = "SELECT r.id, r.libelle, r.module FROM ".MAIN_DB_PREFIX."rights_def as r, ".MAIN_DB_PREFIX."user_rights as ur"; - $sql .= " WHERE ur.fk_id = r.id AND ur.fk_user = ".$fuser->id. " ORDER BY r.id ASC"; - $var = True; - if ($db->query($sql)) - { - $num = $db->num_rows(); - $i = 0; - while ($i < $num) - { - $obj = $db->fetch_object($i); - if ($oldmod <> $obj->module) - { - $oldmod = $obj->module; - $var = !$var; - } - - print "'; - print ''; - $i++; - } - } - print '
".$obj->libelle . 'Supprimer
'; - print '
ok
'; - } - else - { - - /* - * Affichage - */ - - print ''; - - print "".''; - print ''; - print ''; - - print "".''; - print ''; - if (defined("MAIN_MODULE_WEBCALENDAR")) - { - print ''; - print "".''; - print ''; - print "".''; - print ''; - if (defined("MAIN_MODULE_WEBCALENDAR")) - { - print "".''; - print ''; - } - print "".''; - print ''; - - print "".''; - print ''; - print "".''; - print ''; - - print "".''; - print ''; - - print '
Nom'.$fuser->nom.'Droits
Prénom'.$fuser->prenom.''; - } - else - { - print ''; - } - /* - * Droits - */ - print ''; - $sql = "SELECT r.libelle, r.module FROM ".MAIN_DB_PREFIX."rights_def as r, ".MAIN_DB_PREFIX."user_rights as ur"; - $sql .= " WHERE ur.fk_id = r.id AND ur.fk_user = ".$fuser->id. " ORDER BY r.id ASC"; - $var = True; - if ($db->query($sql)) - { - $num = $db->num_rows(); - $i = 0; - while ($i < $num) - { - $obj = $db->fetch_object($i); - if ($oldmod <> $obj->module) - { - $oldmod = $obj->module; - $var = !$var; - } - - print "'; - $i++; - } - } - print '
".$obj->libelle . '
'; - - print '
Login'.$fuser->login.'
Email'.$fuser->email.'
Webcal Login'.$fuser->webcal_login.' 
Administrateur'.$yn[$fuser->admin].'
Id Société'.$fuser->societe_id.' 
'; - if ($fuser->contact_id) - { - print 'Fiche contact'; - } - else - { - print " "; - } - print ' 
Note'.nl2br($fuser->note).' 
'; - /* - * Barre d'action - */ - print '
'.""; - - if ($user->admin) - { - print ''; - } - else - { - print ''; - } - print ''; - - if ($user->id == $id or $user->admin) - { - print ''; - } - else - { - print ''; - } - - if ($user->admin) - { - print ''; - } - else - { - print ''; - } + dolibarr_fiche_head($head, $hselected); - if ($user->admin && $user->id <> $id) - { - print ''; - } - else - { - print ''; - } + print '
Editer--Nouveau mot de passe-Permissions-Supprimer-
'; - print '

'; + print "".'Nom'; + print ''.$fuser->nom.''; + print 'Prénom'; + print ''.$fuser->prenom.''; + print ''; - /* ************************************************************************** */ - /* */ - /* Edition */ - /* */ - /* ************************************************************************** */ - - if ($action == 'edit' && $user->admin && !$fuser->societe_id) - { - print '
Edition de l\'utilisateur

'; - print '
'; - print ''; - print ''; - - print "".''; - print ''; + print "".''; + print ''; + print ''; + print ''; - print "".''; - print ''; + print "".''; + print ''; - print "".''; - print ''; - - print "".''; - print ''; - - print "".''; - print ''; + print "".''; + print ''; + + print "".''; + print ''; + + print "".''; + print ''; + + + // Autres caractéristiques issus des autres modules + if (defined("MAIN_MODULE_WEBCALENDAR")) + { + print "".''; + print ''; + } + + print '
Nom
Login'.$fuser->login.'Email'.$fuser->email.'
Prénom
Administrateur'.$yn[$fuser->admin].'
Login
Email
Admin ?'; - $form->selectyesnonum('admin',$fuser->admin); - print '
Id Société'.$fuser->societe_id.' 
Fiche contact'; + if ($fuser->contact_id) + { + print 'Fiche contact'; + } + else + { + print "Pas de fiche parmi les Contacts"; + } + print '
Note'.nl2br($fuser->note).' 
Webcal Login'.$fuser->webcal_login.' 
'; + print '
'; + + print ''; + + /* + * Droits + */ + print ''; + print ''; + $sql = "SELECT r.libelle, r.module FROM ".MAIN_DB_PREFIX."rights_def as r, ".MAIN_DB_PREFIX."user_rights as ur"; + $sql .= " WHERE ur.fk_id = r.id AND ur.fk_user = ".$fuser->id. " ORDER BY r.id ASC"; + $var = True; + if ($db->query($sql)) + { + $num = $db->num_rows(); + $i = 0; + while ($i < $num) + { + $obj = $db->fetch_object($i); + if ($oldmod <> $obj->module) + { + $oldmod = $obj->module; + $var = !$var; + } + + print "'; + $i++; + } + } + print '
DroitsModule
".$obj->libelle . ''.$obj->module.'
'; + print '
'; + + /* + * Barre d'actions + * + */ + print '
'; + + if ($user->admin) + { + print 'Editer'; + } + + if ($user->id == $id or $user->admin) + { + print 'Modifier mot de passe'; + } + + if ($user->admin) + { + print 'Permissions'; + } + + if ($user->admin && $user->id <> $id) + { + print 'Supprimer utilisateur'; + } + + print '
'; + print "
\n"; + + } + + /* ************************************************************************** */ + /* */ + /* Edition */ + /* */ + /* ************************************************************************** */ + if ($action == 'edit' && $user->admin && !$fuser->societe_id) + { + print_fiche_titre("Edition fiche utilisateur",$message); + print '
'; + + print ''; + print ''; + print ''; + + print "".''; + print ''; + + print "".''; + print ''; + + print "".''; + print ''; + + print "".''; + print ''; + + print "".''; + print ''; + + print "".''; + print ''; + + print "".'"; + + print "".''; + print ''; + print '
Nom
Prénom
Login
Email
Admin ?'; + $form->selectyesnonum('admin',$fuser->admin); + print '
Login Webcal
Note'; + print "
'; + } - print "".'Login Webcal'; - print ''; - - print "".'Description'; - print ""; - - print "".''; - print ''; - print ''; - } - - } - } - + } $db->close();