travail sur la gestion des users et sur l'edition des constantes
This commit is contained in:
parent
48339b1007
commit
7325d7f98b
@ -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>';
|
||||
|
||||
|
||||
@ -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";
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
?>
|
||||
|
||||
@ -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">';
|
||||
|
||||
@ -19,7 +19,7 @@
|
||||
* $Source$
|
||||
*
|
||||
*/
|
||||
require("../../main.inc.php3");
|
||||
require($GLOBALS["DOCUMENT_ROOT"]."/main.inc.php3");
|
||||
|
||||
function llxHeader($head = "") {
|
||||
global $user, $conf;
|
||||
|
||||
@ -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éé";
|
||||
}
|
||||
|
||||
@ -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";
|
||||
|
||||
|
||||
@ -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.' </td>';
|
||||
print '<td width="25%" class="valeur">'.$fuser->webcal_login.' </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].' </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).' </td></tr>';
|
||||
print '<td colspan="3" class="valeur">'.nl2br($fuser->note).' </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;
|
||||
|
||||
@ -18,7 +18,7 @@
|
||||
* $Id$
|
||||
* $Source$
|
||||
*/
|
||||
require("../main.inc.php3");
|
||||
require($GLOBALS["DOCUMENT_ROOT"]."/main.inc.php3");
|
||||
|
||||
function llxHeader($head = "", $urlp = "") {
|
||||
global $user, $conf;
|
||||
|
||||
@ -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
|
||||
|
||||
@ -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;
|
||||
|
||||
29
mysql/tables/llx_adherent_options_label.sql
Normal file
29
mysql/tables/llx_adherent_options_label.sql
Normal 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
|
||||
);
|
||||
Loading…
Reference in New Issue
Block a user