Permet la modification des permissions

This commit is contained in:
Rodolphe Quiedeville 2007-10-08 16:20:58 +00:00
parent 2f4fbbaa06
commit 39df9e9a66

View File

@ -1,5 +1,5 @@
<?PHP <?PHP
/* Copyright (C) 2005 Rodolphe Quiedeville <rodolphe@quiedeville.org> /* Copyright (C) 2005-2007 Rodolphe Quiedeville <rodolphe@quiedeville.org>
* *
* This program is free software; you can redistribute it and/or modify * 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 * it under the terms of the GNU General Public License as published by
@ -37,6 +37,33 @@ if (!$soc->perm_read)
if (!$soc->perm_perms) if (!$soc->perm_perms)
accessforbidden(); accessforbidden();
if ($_GET["action"] == 'inv')
{
$sql = "UPDATE ".MAIN_DB_PREFIX."societe_perms";
$sql .= " SET p".$_GET["p"]." = !p".$_GET["p"];
$sql .= " WHERE fk_user=".$_GET["u"]." AND fk_soc=".$_GET["id"];
if ($resql = $db->query($sql))
{
Header("Location: permissions.php?id=$soc->id");
}
}
if ($_POST["action"] == 'add')
{
$sql = "INSERT INTO ".MAIN_DB_PREFIX."societe_perms";
$sql .= " (fk_soc,fk_user,pread,pwrite,pperms) VALUES";
$sql .= " (".$_GET["id"].",".$_POST["new_user"].",";
$sql .= $_POST["read"]=='on'?"1,":"0,";
$sql .= $_POST["read"]=='on'?"1,":"0,";
$sql .= $_POST["read"]=='on'?"1);":"0);";
if ($resql = $db->query($sql))
{
Header("Location: permissions.php?id=$soc->id");
}
}
llxHeader("","","Fiche client"); llxHeader("","","Fiche client");
/* /*
@ -47,6 +74,7 @@ llxHeader("","","Fiche client");
if ($soc->id) if ($soc->id)
{ {
$h=0; $h=0;
$form = new Form($db);
$head[$h][0] = DOL_URL_ROOT."/telephonie/client/fiche.php?id=".$soc->id; $head[$h][0] = DOL_URL_ROOT."/telephonie/client/fiche.php?id=".$soc->id;
$head[$h][1] = $langs->trans("Contrats"); $head[$h][1] = $langs->trans("Contrats");
@ -79,24 +107,59 @@ if ($soc->id)
print '<table class="border" cellpadding="3" cellspacing="0" width="100%">'; print '<table class="border" cellpadding="3" cellspacing="0" width="100%">';
print '<tr><td width="20%">'.$langs->trans('Name').'</td><td>'.$soc->nom.'</td><td>'.$langs->trans('Code client').'</td><td>'.$soc->code_client.'</td></tr>'; print '<tr><td width="20%">'.$langs->trans('Name').'</td><td>'.$soc->nom.'</td><td>'.$langs->trans('Code client').'</td><td>'.$soc->code_client.'</td></tr>';
print "<tr><td valign=\"top\">".$langs->trans('Address')."</td><td colspan=\"3\">".nl2br($soc->adresse)."<br>".$soc->cp." ".$soc->ville." ".$soc->pays."</td></tr>"; print "<tr><td valign=\"top\">".$langs->trans('Address')."</td><td colspan=\"3\">".nl2br($soc->adresse)."<br>".$soc->cp." ".$soc->ville." ".$soc->pays."</td></tr>";
print '<tr><td>'.$langs->trans('Phone').'</td><td>'.dolibarr_print_phone($soc->tel).'</td>'; print '<tr><td>'.$langs->trans('Phone').'</td><td>'.dolibarr_print_phone($soc->tel).'</td>';
print '<td>'.$langs->trans('Fax').'</td><td>'.dolibarr_print_phone($soc->fax).'</td></tr>'; print '<td>'.$langs->trans('Fax').'</td><td>'.dolibarr_print_phone($soc->fax).'</td></tr>';
print '</table><br />'; print '</table><br />';
print '<form method="POST" action="permissions.php?id='.$soc->id.'">';
print '<input type="hidden" name="action" value="add">';
print '<table class="border" width="100%" cellspacing="0" cellpadding="4">'; print '<table class="border" width="100%" cellspacing="0" cellpadding="4">';
/* Permissions */ /* Permissions du user en cours */
$sql = "SELECT p.pread, p.pwrite, p.pperms";
$sql .= " FROM ".MAIN_DB_PREFIX."societe_perms as p";
$sql .= " WHERE p.fk_soc=".$soc->id." AND p.fk_user=".$user->id.";";
$sql = "SELECT u.firstname, u.name, p.pread, p.pwrite, p.pperms"; if ($resql = $db->query($sql))
{
$num = $db->num_rows($resql);
if ( $num > 0 )
{
$obj = $db->fetch_object($resql);
$read = $obj->pread;
$write = $obj->pwrite;
$perms = $obj->pperms;
}
$db->free($resql);
}
else
{
print $sql;
}
/* Ajout un user */
$uss = array();
$sql = "SELECT u.rowid, u.firstname, u.name";
$sql .= " FROM ".MAIN_DB_PREFIX."user as u, ".MAIN_DB_PREFIX."usergroup_user as ug";
$sql .= " WHERE u.rowid = ug.fk_user";
$sql .= " AND ug.fk_usergroup = '".TELEPHONIE_GROUPE_COMMERCIAUX_ID."'";
$sql .= " ORDER BY name ";
if ( $resql = $db->query( $sql) )
{
while ($row = $db->fetch_row($resql))
{
$uss[$row[0]] = $row[1] . " " . $row[2];
}
$db->free($resql);
}
/* Permissions */
$sql = "SELECT u.rowid,u.firstname, u.name, p.pread, p.pwrite, p.pperms";
$sql .= " FROM ".MAIN_DB_PREFIX."societe_perms as p"; $sql .= " FROM ".MAIN_DB_PREFIX."societe_perms as p";
$sql .= " , ".MAIN_DB_PREFIX."user as u"; $sql .= " , ".MAIN_DB_PREFIX."user as u";
$sql .= " WHERE p.fk_user = u.rowid AND p.fk_soc = ".$soc->id;
$sql .= " WHERE p.fk_user = u.rowid";
$sql .= " AND p.fk_soc = ".$soc->id;
$sql .= " ORDER BY u.name ASC"; $sql .= " ORDER BY u.name ASC";
$resql = $db->query($sql); $resql = $db->query($sql);
@ -107,7 +170,6 @@ if ($soc->id)
if ( $num > 0 ) if ( $num > 0 )
{ {
$i = 0; $i = 0;
$ligne = new LigneTel($db); $ligne = new LigneTel($db);
print '<tr class="liste_titre">'; print '<tr class="liste_titre">';
@ -115,7 +177,17 @@ if ($soc->id)
print '<td align="center">Lecture</td>'; print '<td align="center">Lecture</td>';
print '<td align="center">Ecriture</td>'; print '<td align="center">Ecriture</td>';
print '<td align="center">Permissions</td>'; print '<td align="center">Permissions</td>';
print "<td>&nbsp;</td></tr>\n";
print '<tr class="liste_titre">';
print '<td>';
$form->select_array("new_user",$uss);
print '</td>';
print '<td align="center"><input name="read" type="checkbox"></td>';
print '<td align="center"><input name="write" type="checkbox"></td>';
print '<td align="center"><input name="perm" type="checkbox"></td>';
print '<td align="center"><input type="submit" value="Ajouter"></td>';
print "</tr>\n"; print "</tr>\n";
while ($i < $num) while ($i < $num)
@ -126,11 +198,19 @@ if ($soc->id)
print "<tr $bc[$var]>"; print "<tr $bc[$var]>";
print '<td>'.$obj->firstname." ".$obj->name."</td>\n"; print '<td>'.$obj->firstname." ".$obj->name."</td>\n";
print '<td align="center">'.img_allow($obj->pread)."</td>\n"; if ($perms == 1)
print '<td align="center">'.img_allow($obj->pwrite)."</td>\n"; {
print '<td align="center">'.img_allow($obj->pperms)."</td>\n"; print '<td align="center"><a href="permissions.php?id='.$soc->id.'&amp;u='.$obj->rowid.'&amp;p=read&amp;action=inv">'.img_allow($obj->pread)."</a></td>\n";
print '<td align="center"><a href="permissions.php?id='.$soc->id.'&amp;u='.$obj->rowid.'&amp;p=write&amp;action=inv">'.img_allow($obj->pwrite)."</td>\n";
print "</tr>\n"; print '<td align="center"><a href="permissions.php?id='.$soc->id.'&amp;u='.$obj->rowid.'&amp;p=perms&amp;action=inv">'.img_allow($obj->pperms)."</td>\n";
}
else
{
print '<td align="center">'.img_allow($obj->pread)."</td>\n";
print '<td align="center">'.img_allow($obj->pwrite)."</td>\n";
print '<td align="center">'.img_allow($obj->pperms)."</td>\n";
}
print "<td>&nbsp;</td></tr>\n";
$i++; $i++;
} }
} }
@ -141,8 +221,7 @@ if ($soc->id)
{ {
print $sql; print $sql;
} }
print "</table></form>";
print "</table>";
} }
else else
{ {