travail sur la gestion des users et sur l'edition des constantes

This commit is contained in:
jlb 2003-02-20 17:40:42 +00:00
parent 48339b1007
commit 7325d7f98b
11 changed files with 234 additions and 64 deletions

View File

@ -22,18 +22,46 @@ require("./pre.inc.php");
llxHeader();
print_titre("Configuration Dolibarr");
print_titre("Constantes de configuration Dolibarr");
print '<table border="1" cellpadding="3" cellspacing="0">';
print '<TR class="liste_titre">';
print '<TD>Nom</TD>';
print '<TD>Valeur</TD>';
print '<TD>Type</TD>';
print '<TD>Note</TD>';
print "<TD>Action</TD>";
print "</TR>\n";
$db = new Db();
$form = new Form($db);
if ($HTTP_POST_VARS["action"] == 'update')
if ($HTTP_POST_VARS["action"] == 'update' || $HTTP_POST_VARS["action"] == 'add')
{
$sql = "UPDATE llx_const set value = '".$HTTP_POST_VARS["constvalue"]."' where rowid=".$HTTP_POST_VARS["rowid"].";";
if ($HTTP_POST_VARS["consttype"] == 0){
$sql = "REPLACE INTO llx_const SET name='".$_POST["constname"]."', value = '".$HTTP_POST_VARS["constvalue"]."',note='".$HTTP_POST_VARS["constnote"]."', type='yesno'";
}else{
$sql = "REPLACE INTO llx_const SET name='".$_POST["constname"]."', value = '".$HTTP_POST_VARS["constvalue"]."',note='".$HTTP_POST_VARS["constnote"]."'";
}
$result = $db->query($sql);
if (!$result)
{
print $db->error();
}
}
if ($action == 'delete')
{
$sql = "DELETE FROM llx_const WHERE rowid='$rowid'";
$result = $db->query($sql);
if (!$result)
{
print $db->error();
}
}
$sql = "SELECT rowid, name, value, type, note FROM llx_const";
@ -42,54 +70,67 @@ if ($result)
{
$num = $db->num_rows();
$i = 0;
$var=True;
while ($i < $num)
{
$obj = $db->fetch_object( $i);
$var=!$var;
print '<tr><td>'.$obj->name.'</td><td>' . $obj->value . '</td><td>';
print '<form action="'.$PHP_SELF.'" method="POST">';
print '<input type="hidden" name="action" value="update">';
print '<input type="hidden" name="rowid" value="'.$rowid.'">';
print '<input type="hidden" name="constname" value="'.$obj->name.'">';
if ($rowid == $obj->rowid && $action == 'edit')
print "<tr $bc[$var] class=value><td>$obj->name</td>\n";
print '<td>';
if ($obj->type == 'yesno')
{
print '<form action="'.$PHP_SELF.'" method="POST">';
print '<input type="hidden" name="action" value="update">';
print '<input type="hidden" name="rowid" value="'.$rowid.'">';
if ($obj->type == 'yesno')
{
print '<select name="constvalue">';
if ($obj->value == "1")
{
print '<option value="0">non</option>';
print '<option value="1" SELECTED>oui</option>';
}
else
{
print '<option value="0" SELECTED>non</option>';
print '<option value="1">oui</option>';
}
print '</select>';
}
else
{
print '<input type="text" name="constvalue" value="'.stripslashes($obj->value).'">';
}
print '<input type="submit">';
print '</form>';
$form->selectyesnonum('constvalue',$obj->value);
print '</td><td>';
$form->select_array('consttype',array('yesno','texte'),0);
}
else
else
{
print '<a href="'.$PHP_SELF.'?rowid='.$obj->rowid.'&action=edit">edit</a>';
print '<input type="text" size="15" name="constvalue" value="'.stripslashes($obj->value).'">';
print '</td><td>';
$form->select_array('consttype',array('yesno','texte'),1);
}
print '</td><td>';
print '</td></tr>';
print '<tr><td colspan="3">'.stripslashes(nl2br($obj->note)).'</td></tr>';
print '<input type="text" size="15" name="constnote" value="'.stripslashes(nl2br($obj->note)).'">';
print '</td><td>';
print '<input type="Submit" value="Update" name="Button"><BR>';
print '<a href="'.$PHP_SELF.'?rowid='.$obj->rowid.'&action=delete">Delete</a>';
print "</td></tr>\n";
print '</form>';
$i++;
}
}
$var=!$var;
print '<form action="'.$PHP_SELF.'" method="POST">';
print '<input type="hidden" name="action" value="add">';
print "<tr $bc[$var] class=value><td><input type=\"text\" size=\"15\" name=\"constname\" value=\"\"></td>\n";
print '<td>';
print '<input type="text" size="15" name="constvalue" value="">';
print '</td><td>';
$form->select_array('consttype',array('yesno','texte'),1);
print '</td><td>';
print '<input type="text" size="15" name="constnote" value="">';
print '</td><td>';
print '<input type="Submit" value="Add" name="Button"><BR>';
print "</td>\n";
print '</form>';
print '</tr>';
print '</table>';

View File

@ -168,7 +168,19 @@ class Form {
}
print '</select>';
}
/*
*
* Checkbox
*
*/
Function checkbox($name,$checked=0,$value=1)
{
if ($checked==1){
print "<input type=\"checkbox\" name=\"$name\" value=\"fixe\" checked />\n";
}else{
print "<input type=\"checkbox\" name=\"$name\" value=\"fixe\" />\n";
}
}
}
?>

View File

@ -196,11 +196,11 @@ Function left_menu($menu)
}
if (MAIN_SEARCHFORM_SOCIETE or MAIN_SEARCHFORM_CONTACT)
if (defined(MAIN_SEARCHFORM_SOCIETE) or defined(MAIN_SEARCHFORM_CONTACT))
{
print '<tr><td class="barre" valign="top" align="right">';
if (MAIN_SEARCHFORM_SOCIETE)
if (defined(MAIN_SEARCHFORM_SOCIETE) && MAIN_SEARCHFORM_SOCIETE > 0)
{
print '<A class="menu" href="/comm/clients.php3">Societes</A>';
print '<form action="/comm/clients.php3">';
@ -211,7 +211,7 @@ Function left_menu($menu)
print '</form>';
}
if (MAIN_SEARCHFORM_CONTACT)
if (defined(MAIN_SEARCHFORM_CONTACT) && MAIN_SEARCHFORM_CONTACT > 0)
{
print '<A class="menu" href="/comm/contact.php3">Contacts</A>';
print '<form action="/comm/contact.php3">';

View File

@ -19,7 +19,7 @@
* $Source$
*
*/
require("../../main.inc.php3");
require($GLOBALS["DOCUMENT_ROOT"]."/main.inc.php3");
function llxHeader($head = "") {
global $user, $conf;

View File

@ -1,5 +1,6 @@
<?PHP
/* Copyright (c) 2002 Rodolphe Quiedeville <rodolphe@quiedeville.org>
* Copyright (c) 2002 Jean-Louis Bergamo<jlb@j1b.org>
*
* 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
@ -19,7 +20,7 @@
* $Source$
*/
require("../main.inc.php3");
require($GLOBALS["DOCUMENT_ROOT"]."/main.inc.php3");
$db = new Db();
@ -49,7 +50,7 @@ if ($result)
$user->id = 1;
$user->password("admin");
$user->password("admin",$conf->password_encrypted);
print "Compte admin/admin créé";
}

View File

@ -1,5 +1,6 @@
<?PHP
/* Copyright (c) 2002-2003 Rodolphe Quiedeville <rodolphe@quiedeville.org>
* Copyright (c) 2002-2003 Jean-Louis Bergamo <jlb@j1b.org>
*
* 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
@ -31,6 +32,7 @@ class User {
var $email;
var $admin;
var $login;
var $pass;
var $comm;
var $compta;
var $webcal_login;
@ -56,9 +58,9 @@ class User {
Function fetch($login='')
{
$sql = "SELECT u.rowid, u.name, u.firstname, u.email, u.code, u.admin, u.module_comm, u.module_compta, u.login, u.webcal_login, u.note";
$sql .= " FROM llx_user as u";
//$sql = "SELECT u.rowid, u.name, u.firstname, u.email, u.code, u.admin, u.module_comm, u.module_compta, u.login, u.pass, u.webcal_login, u.note";
//$sql .= " FROM llx_user as u";
$sql = "SELECT * FROM llx_user as u";
if ($this->id) {
$sql .= " WHERE u.rowid = $this->id";
} else {
@ -171,6 +173,9 @@ class User {
$sql .= ", login = '$this->login'";
$sql .= ", email = '$this->email'";
$sql .= ", admin = $this->admin";
$sql .= ", webcal_login = '$this->webcal_login'";
$sql .= ", module_comm = $this->comm";
$sql .= ", module_compta = $this->compta";
$sql .= ", note = '$this->note'";
$sql .= " WHERE rowid = $this->id";
@ -210,7 +215,7 @@ class User {
{
$sqlpass = $password;
}
$this->pass=$password;
$sql = "UPDATE llx_user SET pass = '".$sqlpass."'";
$sql .= " WHERE rowid = $this->id";

View File

@ -1,5 +1,6 @@
<?PHP
/* Copyright (C) 2002-2003 Rodolphe Quiedeville <rodolphe@quiedeville.org>
* Copyright (C) 2002-2003 Jean-Louis Bergamo <jlb@j1b.org>
*
* 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
@ -20,11 +21,12 @@
*/
require("./pre.inc.php3");
require("../service.class.php3");
require($GLOBALS["DOCUMENT_ROOT"]."/service.class.php3");
llxHeader();
$db = new Db();
$form = new Form($db);
if ($HTTP_POST_VARS["action"] == 'add' && $user->admin)
{
@ -35,10 +37,24 @@ if ($HTTP_POST_VARS["action"] == 'add' && $user->admin)
$edituser->prenom = $HTTP_POST_VARS["prenom"];
$edituser->login = $HTTP_POST_VARS["login"];
$edituser->email = $HTTP_POST_VARS["email"];
$edituser->admin = 0;
$id = $edituser->create($user->id);
$edituser->admin = $HTTP_POST_VARS["admin"];
$edituser->webcal_login = $HTTP_POST_VARS["webcal_login"];
if (isset($HTTP_POST_VARS["module_compta"]) && $HTTP_POST_VARS["module_compta"] ==1){
$edituser->compta = 1;
}else{
$edituser->compta = 0;
}
if (isset($HTTP_POST_VARS["module_comm"]) && $HTTP_POST_VARS["module_comm"] ==1){
$edituser->comm = 1;
}else{
$edituser->comm = 0;
}
//$id = $edituser->create($user->id);
$id = $edituser->create();
if (isset($_POST['password']) && $_POST['password']!='' ){
$edituser->password($_POST['password'],$conf->password_encrypted);
}
}
if ($action == 'update' && $user->admin)
@ -51,11 +67,26 @@ if ($action == 'update' && $user->admin)
$edituser->prenom = $prenom;
$edituser->login = $login;
$edituser->email = $email;
$edituser->admin = $HTTP_POST_VARS["admin"];
$edituser->webcal_login = $HTTP_POST_VARS["webcal_login"];
if (isset($HTTP_POST_VARS["module_compta"]) && $HTTP_POST_VARS["module_compta"] ==1){
$edituser->compta = 1;
}else{
$edituser->compta = 0;
}
if (isset($HTTP_POST_VARS["module_comm"]) && $HTTP_POST_VARS["module_comm"] ==1){
$edituser->comm = 1;
}else{
$edituser->comm = 0;
}
if (! $edituser->update($id, $user))
{
print $edituser->error();
}
if (isset($password) && $password !='' ){
$edituser->password($password,$conf->password_encrypted);
}
}
if ($action == 'password' && $user->admin)
@ -95,7 +126,30 @@ if ($action == 'create')
print '<tr><td valign="top">Login</td>';
print '<td class="valeur"><input size="30" type="text" name="login" value=""></td></tr>';
print '<tr><td valign="top">Password</td>';
print '<td class="valeur"><input size="30" type="text" name="password" value=""></td></tr>';
print '<tr><td valign="top">Email</td>';
print '<td class="valeur"><input size="30" type="text" name="email" value=""></td></tr>';
print '<tr><td valign="top">Admin ?</td>';
print '<td class="valeur">';
$form->selectyesnonum('admin',0);
print '</td></tr>';
print '<tr><td valign="top">Login Webcal</td>';
print '<td class="valeur"><input size="30" type="text" name="webcal_login" value=""></td></tr>';
print '<tr><td valign="top">Module Commercial ?</td>';
print '<td class="valeur">';
$form->checkbox('module_comm',0,1);
print '</td></tr>';
print '<tr><td valign="top">Module Compta ?</td>';
print '<td class="valeur">';
$form->checkbox('module_compta',0,1);
print '</td></tr>';
print '<tr><td valign="top">Note</td><td>';
print "<textarea name=\"note\" rows=\"12\" cols=\"40\">";
print "</textarea></td></tr>";
@ -120,23 +174,28 @@ else
print '<table width="100%" border="1" cellpadding="3" cellspacing="0">';
print '<tr><td valign="top">Nom</td>';
print '<td class="valeur">'.$fuser->nom.'</td>';
print '<td valign="top">Prénom</td>';
print '<td class="valeur">'.$fuser->prenom.'</td></tr>';
print '<tr><td width="25%" valign="top">Nom</td>';
print '<td width="25%" class="valeur">'.$fuser->nom.'</td>';
print '<td width="25%" valign="top">Prénom</td>';
print '<td width="25%" class="valeur">'.$fuser->prenom.'</td></tr>';
print '<tr><td valign="top">Login</td>';
print '<td bgcolor="#e0e0e0">'.$fuser->login.'</td>';
print '<td valign="top">Email</td>';
print '<td>'.$fuser->email.'</td></tr>';
print '<tr><td width="25%" valign="top">Login</td>';
print '<td width="25%" class="valeur">'.$fuser->login.'</td>';
print '<td width="25%" valign="top">Email</td>';
print '<td width="25%" class="valeur">'.$fuser->email.'</td></tr>';
print '<tr><td width="25%" valign="top">Webcal Login</td>';
print '<td width="25%" bgcolor="#e0e0e0">'.$fuser->webcal_login.'&nbsp;</td>';
print '<td width="25%" class="valeur">'.$fuser->webcal_login.'&nbsp;</td>';
print '<td width="25%" valign="top">Administrateur</td>';
print '<td width="25%">'.$yn[$fuser->admin].'</td></tr>';
print '<td width="25%" class="valeur">'.$yn[$fuser->admin].'</td></tr>';
print '<tr><td width="25%" valign="top">Module Compta</td>';
print '<td width="25%" class="valeur">'.$yn[$fuser->compta].'&nbsp;</td>';
print '<td width="25%" valign="top">Module Commercial</td>';
print '<td width="25%" class="valeur">'.$yn[$fuser->comm].'</td></tr>';
print '<tr><td width="25%" valign="top">Note</td>';
print '<td colspan="3">'.nl2br($fuser->note).'&nbsp;</td></tr>';
print '<td colspan="3" class="valeur">'.nl2br($fuser->note).'&nbsp;</td></tr>';
print '</table>';
@ -184,10 +243,30 @@ else
print '<tr><td valign="top">Login</td>';
print '<td><input size="10" maxlength="8" type="text" name="login" value="'.$fuser->login.'"></td></tr>';
print '<tr><td valign="top">Password</td>';
print '<td class="valeur"><input size="30" type="text" name="password" value="'.$fuser->pass.'"></td></tr>';
print '<tr><td valign="top">Email</td>';
print '<td><input size="30" type="text" name="email" value="'.$fuser->email.'"></td></tr>';
print '<tr><td valign="top">Admin ?</td>';
print '<td class="valeur">';
$form->selectyesnonum('admin',$fuser->admin);
print '</td></tr>';
print '<tr><td valign="top">Login Webcal</td>';
print '<td class="valeur"><input size="30" type="text" name="webcal_login" value="'.$fuser->webcal_login.'"></td></tr>';
print '<tr><td valign="top">Module Commercial ?</td>';
print '<td class="valeur">';
$form->checkbox('module_comm',$fuser->comm,1);
print '</td></tr>';
print '<tr><td valign="top">Module Compta ?</td>';
print '<td class="valeur">';
$form->checkbox('module_compta',$fuser->compta,1);
print '</td></tr>';
print '<tr><td valign="top">Description</td><td>';
print "<textarea name=\"note\" rows=\"12\" cols=\"40\">";
print $fuser->note;

View File

@ -18,7 +18,7 @@
* $Id$
* $Source$
*/
require("../main.inc.php3");
require($GLOBALS["DOCUMENT_ROOT"]."/main.inc.php3");
function llxHeader($head = "", $urlp = "") {
global $user, $conf;

View File

@ -37,6 +37,7 @@ create:
$(MYSQL) $(OPTIONS) $(BASE) < llx_adherent.sql
$(MYSQL) $(OPTIONS) $(BASE) < llx_adherent_type.sql
$(MYSQL) $(OPTIONS) $(BASE) < llx_adherent_options.sql
$(MYSQL) $(OPTIONS) $(BASE) < llx_adherent_options_label.sql
$(MYSQL) $(OPTIONS) $(BASE) < llx_bank.sql
$(MYSQL) $(OPTIONS) $(BASE) < llx_bank_account.sql
$(MYSQL) $(OPTIONS) $(BASE) < llx_bank_categ.sql

View File

@ -49,6 +49,8 @@ drop table if exists llx_adherent_type;
drop table if exists llx_adherent_options;
drop table if exists llx_adherent_options_label;
drop table if exists llx_bank;
drop table if exists llx_bank_account;

View File

@ -0,0 +1,29 @@
-- ===================================================================
-- Copyright (C) 2002-2003 Rodolphe Quiedeville <rodolphe@quiedeville.org>
-- Copyright (C) 2002-2003 Jean-Louis Bergamo <jlb@j1b.org>
--
-- 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 2 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, write to the Free Software
-- Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
--
-- $Id$
-- $Source$
--
-- ===================================================================
create table llx_adherent_options_label
(
name varchar(64) PRIMARY KEY, -- nom de l'attribut
tms timestamp,
label varchar(255) NOT NULL -- label correspondant a l'attribut
);