Some fixes into translation and permissions

This commit is contained in:
Laurent Destailleur 2015-03-09 21:20:56 +01:00
parent 88a29b7c9c
commit 84695845bb
7 changed files with 197 additions and 191 deletions

View File

@ -67,7 +67,7 @@ llxHeader('',$langs->trans("DefaultRights"));
print_fiche_titre($langs->trans("SecuritySetup"),'','setup'); print_fiche_titre($langs->trans("SecuritySetup"),'','setup');
print $langs->trans("DefaultRightsDesc"); print $langs->trans("DefaultRightsDesc");
print " ".$langs->trans("OnlyActiveElementsAreShown")."<br>\n"; print " ".$langs->trans("OnlyActiveElementsAreShown")."<br><br>\n";
$db->begin(); $db->begin();
@ -115,16 +115,15 @@ foreach ($modulesdir as $dir)
$db->commit(); $db->commit();
// Show warning about external users
print info_admin(showModulesExludedForExternal($modules)).'<br>'."\n";
print "<br>\n";
$head=security_prepare_head(); $head=security_prepare_head();
dol_fiche_head($head, 'default', $langs->trans("Security")); dol_fiche_head($head, 'default', $langs->trans("Security"));
// Show warning about external users
print info_admin(showModulesExludedForExternal($modules)).'<br>'."\n";
print '<table class="noborder" width="100%">'; print '<table class="noborder" width="100%">';
// Affiche lignes des permissions // Affiche lignes des permissions

View File

@ -2243,7 +2243,11 @@ if ($action == 'create' && $user->rights->commande->creer)
} }
// Cancel order // Cancel order
if ($object->statut == 1 && $user->rights->commande->annuler) { if ($object->statut == 1 &&
((empty($conf->global->MAIN_USE_ADVANCED_PERMS) && ! empty($user->rights->commande->cloturer))
|| (! empty($conf->global->MAIN_USE_ADVANCED_PERMS) && ! empty($user->rights->commande->order_advance->annuler)))
)
{
print '<div class="inline-block divButAction"><a class="butActionDelete" href="' . $_SERVER["PHP_SELF"] . '?id=' . $object->id . '&amp;action=cancel">' . $langs->trans('Cancel') . '</a></div>'; print '<div class="inline-block divButAction"><a class="butActionDelete" href="' . $_SERVER["PHP_SELF"] . '?id=' . $object->id . '&amp;action=cancel">' . $langs->trans('Cancel') . '</a></div>';
} }

View File

@ -1,6 +1,6 @@
<?php <?php
/* Copyright (C) 2003-2004 Rodolphe Quiedeville <rodolphe@quiedeville.org> /* Copyright (C) 2003-2004 Rodolphe Quiedeville <rodolphe@quiedeville.org>
* Copyright (C) 2004-2010 Laurent Destailleur <eldy@users.sourceforge.net> * Copyright (C) 2004-2015 Laurent Destailleur <eldy@users.sourceforge.net>
* Copyright (C) 2004 Sebastien Di Cintio <sdicintio@ressource-toi.org> * Copyright (C) 2004 Sebastien Di Cintio <sdicintio@ressource-toi.org>
* Copyright (C) 2004 Benoit Mortier <benoit.mortier@opensides.be> * Copyright (C) 2004 Benoit Mortier <benoit.mortier@opensides.be>
* Copyright (C) 2005-2012 Regis Houssin <regis.houssin@capnetworks.com> * Copyright (C) 2005-2012 Regis Houssin <regis.houssin@capnetworks.com>
@ -21,11 +21,11 @@
*/ */
/** /**
* \defgroup askpricesupplier Module de demandes de prix fournisseurs * \defgroup askpricesupplier Module to request supplier price proposals
* \brief Module pour gerer la tenue des demandes fournisseurs * \brief Module to request supplier price proposals
* \file htdocs/core/modules/modAskPriceSupplier.class.php * \file htdocs/core/modules/modAskPriceSupplier.class.php
* \ingroup askpricesupplier * \ingroup askpricesupplier
* \brief Fichier de description et activation du module AskPriceSupplier * \brief File to describe and activate module AskPriceSupplier
*/ */
include_once DOL_DOCUMENT_ROOT .'/core/modules/DolibarrModules.class.php'; include_once DOL_DOCUMENT_ROOT .'/core/modules/DolibarrModules.class.php';

View File

@ -151,7 +151,8 @@ class modCommande extends DolibarrModules
$this->rights[$r][1] = 'Annuler les commandes clients'; $this->rights[$r][1] = 'Annuler les commandes clients';
$this->rights[$r][2] = 'd'; $this->rights[$r][2] = 'd';
$this->rights[$r][3] = 0; $this->rights[$r][3] = 0;
$this->rights[$r][4] = 'annuler'; $this->rights[$r][4] = 'order_advance';
$this->rights[$r][5] = 'annuler';
$r++; $r++;
$this->rights[$r][0] = 89; $this->rights[$r][0] = 89;

View File

@ -180,7 +180,7 @@ class modFournisseur extends DolibarrModules
$r++; $r++;
$this->rights[$r][0] = 1189; $this->rights[$r][0] = 1189;
$this->rights[$r][1] = 'Check/Uncheck a supplier order reception'; $this->rights[$r][1] = 'Check/Uncheck a supplier order reception';
$this->rights[$r][2] = 'd'; $this->rights[$r][2] = 'w';
$this->rights[$r][3] = 0; $this->rights[$r][3] = 0;
$this->rights[$r][4] = 'commande_advance'; $this->rights[$r][4] = 'commande_advance';
$this->rights[$r][5] = 'check'; $this->rights[$r][5] = 'check';

View File

@ -500,6 +500,8 @@ Module700Name=Donations
Module700Desc=Donation management Module700Desc=Donation management
Module770Name=Expense Report Module770Name=Expense Report
Module770Desc=Management and claim expense reports (transportation, meal, ...) Module770Desc=Management and claim expense reports (transportation, meal, ...)
Module1120Name=Supplier commercial proposal
Module1120Desc=Request supplier commercial proposal and prices
Module1200Name=Mantis Module1200Name=Mantis
Module1200Desc=Mantis integration Module1200Desc=Mantis integration
Module1400Name=Accounting Module1400Name=Accounting

View File

@ -1,24 +1,24 @@
<?php <?php
/* Copyright (C) 2002-2005 Rodolphe Quiedeville <rodolphe@quiedeville.org> /* Copyright (C) 2002-2005 Rodolphe Quiedeville <rodolphe@quiedeville.org>
* Copyright (C) 2002-2003 Jean-Louis Bergamo <jlb@j1b.org> * Copyright (C) 2002-2003 Jean-Louis Bergamo <jlb@j1b.org>
* Copyright (C) 2004-2012 Laurent Destailleur <eldy@users.sourceforge.net> * Copyright (C) 2004-2012 Laurent Destailleur <eldy@users.sourceforge.net>
* Copyright (C) 2004 Eric Seigne <eric.seigne@ryxeo.com> * Copyright (C) 2004 Eric Seigne <eric.seigne@ryxeo.com>
* Copyright (C) 2005-2012 Regis Houssin <regis.houssin@capnetworks.com> * Copyright (C) 2005-2012 Regis Houssin <regis.houssin@capnetworks.com>
* Copyright (C) 2012 Juanjo Menent <jmenent@2byte.es> * Copyright (C) 2012 Juanjo Menent <jmenent@2byte.es>
* *
* 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
* the Free Software Foundation; either version 3 of the License, or * the Free Software Foundation; either version 3 of the License, or
* (at your option) any later version. * (at your option) any later version.
* *
* This program is distributed in the hope that it will be useful, * This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of * but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details. * GNU General Public License for more details.
* *
* You should have received a copy of the GNU General Public License * You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>. * along with this program. If not, see <http://www.gnu.org/licenses/>.
*/ */
/** /**
* \file htdocs/user/perms.php * \file htdocs/user/perms.php
@ -74,10 +74,10 @@ if ($user->id <> $id && ! $canreaduser) accessforbidden();
if ($action == 'addrights' && $caneditperms) if ($action == 'addrights' && $caneditperms)
{ {
$edituser = new User($db); $edituser = new User($db);
$edituser->fetch($id); $edituser->fetch($id);
//$edituser->addrights($rights, $module, '', $entity); // TODO unused for the moment //$edituser->addrights($rights, $module, '', $entity); // TODO unused for the moment
$edituser->addrights($rights, $module); $edituser->addrights($rights, $module);
// Si on a touche a ses propres droits, on recharge // Si on a touche a ses propres droits, on recharge
if ($id == $user->id) if ($id == $user->id)
@ -90,10 +90,10 @@ if ($action == 'addrights' && $caneditperms)
if ($action == 'delrights' && $caneditperms) if ($action == 'delrights' && $caneditperms)
{ {
$edituser = new User($db); $edituser = new User($db);
$edituser->fetch($id); $edituser->fetch($id);
//$edituser->delrights($rights, $module, '', $entity); // TODO unused for the moment //$edituser->delrights($rights, $module, '', $entity); // TODO unused for the moment
$edituser->delrights($rights, $module); $edituser->delrights($rights, $module);
// Si on a touche a ses propres droits, on recharge // Si on a touche a ses propres droits, on recharge
if ($id == $user->id) if ($id == $user->id)
@ -133,39 +133,39 @@ $modulesdir = dolGetModulesDirs();
foreach($modulesdir as $dir) foreach($modulesdir as $dir)
{ {
$handle=@opendir(dol_osencode($dir)); $handle=@opendir(dol_osencode($dir));
if (is_resource($handle)) if (is_resource($handle))
{ {
while (($file = readdir($handle))!==false) while (($file = readdir($handle))!==false)
{ {
if (is_readable($dir.$file) && substr($file, 0, 3) == 'mod' && substr($file, dol_strlen($file) - 10) == '.class.php') if (is_readable($dir.$file) && substr($file, 0, 3) == 'mod' && substr($file, dol_strlen($file) - 10) == '.class.php')
{ {
$modName = substr($file, 0, dol_strlen($file) - 10); $modName = substr($file, 0, dol_strlen($file) - 10);
if ($modName) if ($modName)
{ {
include_once $dir.$file; include_once $dir.$file;
$objMod = new $modName($db); $objMod = new $modName($db);
// Load all lang files of module // Load all lang files of module
if (isset($objMod->langfiles) && is_array($objMod->langfiles)) if (isset($objMod->langfiles) && is_array($objMod->langfiles))
{ {
foreach($objMod->langfiles as $domain) foreach($objMod->langfiles as $domain)
{ {
$langs->load($domain); $langs->load($domain);
} }
} }
// Load all permissions // Load all permissions
if ($objMod->rights_class) if ($objMod->rights_class)
{ {
$forceEntity=((! empty($conf->multicompany->enabled) && ! empty($fuser->entity)) ? $fuser->entity : null); $forceEntity=((! empty($conf->multicompany->enabled) && ! empty($fuser->entity)) ? $fuser->entity : null);
$ret=$objMod->insert_permissions(0, $forceEntity); $ret=$objMod->insert_permissions(0, $forceEntity);
$modules[$objMod->rights_class]=$objMod; $modules[$objMod->rights_class]=$objMod;
//print "modules[".$objMod->rights_class."]=$objMod;"; //print "modules[".$objMod->rights_class."]=$objMod;";
} }
} }
} }
} }
} }
} }
$db->commit(); $db->commit();
@ -195,19 +195,19 @@ dol_syslog("get user perms", LOG_DEBUG);
$result=$db->query($sql); $result=$db->query($sql);
if ($result) if ($result)
{ {
$num = $db->num_rows($result); $num = $db->num_rows($result);
$i = 0; $i = 0;
while ($i < $num) while ($i < $num)
{ {
$obj = $db->fetch_object($result); $obj = $db->fetch_object($result);
array_push($permsuser,$obj->id); array_push($permsuser,$obj->id);
$i++; $i++;
} }
$db->free($result); $db->free($result);
} }
else else
{ {
dol_print_error($db); dol_print_error($db);
} }
// Lecture des droits groupes // Lecture des droits groupes
@ -231,27 +231,27 @@ dol_syslog("get user perms", LOG_DEBUG);
$result=$db->query($sql); $result=$db->query($sql);
if ($result) if ($result)
{ {
$num = $db->num_rows($result); $num = $db->num_rows($result);
$i = 0; $i = 0;
while ($i < $num) while ($i < $num)
{ {
$obj = $db->fetch_object($result); $obj = $db->fetch_object($result);
if (! isset($permsgroupbyentity[$obj->entity])) if (! isset($permsgroupbyentity[$obj->entity]))
$permsgroupbyentity[$obj->entity] = array(); $permsgroupbyentity[$obj->entity] = array();
array_push($permsgroupbyentity[$obj->entity], $obj->id); array_push($permsgroupbyentity[$obj->entity], $obj->id);
$i++; $i++;
} }
$db->free($result); $db->free($result);
} }
else else
{ {
dol_print_error($db); dol_print_error($db);
} }
/* /*
* Ecran ajout/suppression permission * Ecran ajout/suppression permission
*/ */
print '<table class="border" width="100%">'; print '<table class="border" width="100%">';
@ -274,9 +274,9 @@ print '</tr>'."\n";
print '</table><br>'; print '</table><br>';
if ($user->admin) print info_admin($langs->trans("WarningOnlyPermissionOfActivatedModules"), 0, 1).'<br>'; if ($user->admin) print info_admin($langs->trans("WarningOnlyPermissionOfActivatedModules"));
// Show warning about external users // Show warning about external users
if (empty($user->societe_id)) print info_admin(showModulesExludedForExternal($modules)).'<br><br>'."\n"; if (empty($user->societe_id)) print info_admin(showModulesExludedForExternal($modules))."\n";
// For multicompany transversal mode // For multicompany transversal mode
// TODO Place a hook here // TODO Place a hook here
@ -310,115 +310,115 @@ $sql.= " ORDER BY r.module, r.id";
$result=$db->query($sql); $result=$db->query($sql);
if ($result) if ($result)
{ {
$num = $db->num_rows($result); $num = $db->num_rows($result);
$i = 0; $i = 0;
$var = True; $var = True;
$oldmod=''; $oldmod='';
while ($i < $num) while ($i < $num)
{ {
$obj = $db->fetch_object($result); $obj = $db->fetch_object($result);
// Si la ligne correspond a un module qui n'existe plus (absent de includes/module), on l'ignore // Si la ligne correspond a un module qui n'existe plus (absent de includes/module), on l'ignore
if (empty($modules[$obj->module])) if (empty($modules[$obj->module]))
{ {
$i++; $i++;
continue; continue;
} }
if (isset($obj->module) && ($oldmod <> $obj->module)) if (isset($obj->module) && ($oldmod <> $obj->module))
{ {
$oldmod = $obj->module; $oldmod = $obj->module;
$var = !$var; $var = !$var;
// Rupture detectee, on recupere objMod // Rupture detectee, on recupere objMod
$objMod=$modules[$obj->module]; $objMod=$modules[$obj->module];
$picto=($objMod->picto?$objMod->picto:'generic'); $picto=($objMod->picto?$objMod->picto:'generic');
if ($caneditperms && (empty($objMod->rights_admin_allowed) || empty($fuser->admin))) if ($caneditperms && (empty($objMod->rights_admin_allowed) || empty($fuser->admin)))
{ {
// On affiche ligne pour modifier droits // On affiche ligne pour modifier droits
print '<tr '. $bc[$var].'>'; print '<tr '. $bc[$var].'>';
print '<td class="nowrap">'.img_object('',$picto).' '.$objMod->getName(); print '<td class="nowrap">'.img_object('',$picto).' '.$objMod->getName();
print '<a name="'.$objMod->getName().'">&nbsp;</a></td>'; print '<a name="'.$objMod->getName().'">&nbsp;</a></td>';
print '<td align="center" class="nowrap">'; print '<td align="center" class="nowrap">';
print '<a title="'.dol_escape_htmltag($langs->trans("All")).'" alt="'.dol_escape_htmltag($langs->trans("All")).'" href="perms.php?id='.$fuser->id.'&amp;action=addrights&amp;entity='.$entity.'&amp;module='.$obj->module.'#'.$objMod->getName().'">'.$langs->trans("All")."</a>"; print '<a title="'.dol_escape_htmltag($langs->trans("All")).'" alt="'.dol_escape_htmltag($langs->trans("All")).'" href="perms.php?id='.$fuser->id.'&amp;action=addrights&amp;entity='.$entity.'&amp;module='.$obj->module.'#'.$objMod->getName().'">'.$langs->trans("All")."</a>";
print '/'; print '/';
print '<a title="'.dol_escape_htmltag($langs->trans("None")).'" alt="'.dol_escape_htmltag($langs->trans("None")).'" href="perms.php?id='.$fuser->id.'&amp;action=delrights&amp;entity='.$entity.'&amp;module='.$obj->module.'#'.$objMod->getName().'">'.$langs->trans("None")."</a>"; print '<a title="'.dol_escape_htmltag($langs->trans("None")).'" alt="'.dol_escape_htmltag($langs->trans("None")).'" href="perms.php?id='.$fuser->id.'&amp;action=delrights&amp;entity='.$entity.'&amp;module='.$obj->module.'#'.$objMod->getName().'">'.$langs->trans("None")."</a>";
print '</td>'; print '</td>';
print '<td colspan="2">&nbsp;</td>'; print '<td colspan="2">&nbsp;</td>';
print '</tr>'."\n"; print '</tr>'."\n";
} }
} }
print '<tr '. $bc[$var].'>'; print '<tr '. $bc[$var].'>';
// Picto and label of permission // Picto and label of permission
print '<td>'.img_object('',$picto).' '.$objMod->getName().'</td>'; print '<td>'.img_object('',$picto).' '.$objMod->getName().'</td>';
// Permission and tick // Permission and tick
if (! empty($fuser->admin) && ! empty($objMod->rights_admin_allowed)) // Permission own because admin if (! empty($fuser->admin) && ! empty($objMod->rights_admin_allowed)) // Permission own because admin
{ {
if ($caneditperms) if ($caneditperms)
{ {
print '<td align="center">'.img_picto($langs->trans("Administrator"),'star').'</td>'; print '<td align="center">'.img_picto($langs->trans("Administrator"),'star').'</td>';
} }
print '<td align="center" class="nowrap">'; print '<td align="center" class="nowrap">';
print img_picto($langs->trans("Active"),'tick'); print img_picto($langs->trans("Active"),'tick');
print '</td>'; print '</td>';
} }
else if (in_array($obj->id, $permsuser)) // Permission own by user else if (in_array($obj->id, $permsuser)) // Permission own by user
{ {
if ($caneditperms) if ($caneditperms)
{ {
print '<td align="center"><a href="perms.php?id='.$fuser->id.'&amp;action=delrights&amp;rights='.$obj->id.'#'.$objMod->getName().'">'.img_edit_remove($langs->trans("Remove")).'</a></td>'; print '<td align="center"><a href="perms.php?id='.$fuser->id.'&amp;action=delrights&amp;rights='.$obj->id.'#'.$objMod->getName().'">'.img_edit_remove($langs->trans("Remove")).'</a></td>';
} }
print '<td align="center" class="nowrap">'; print '<td align="center" class="nowrap">';
print img_picto($langs->trans("Active"),'tick'); print img_picto($langs->trans("Active"),'tick');
print '</td>'; print '</td>';
} }
else if (is_array($permsgroupbyentity[$entity])) else if (is_array($permsgroupbyentity[$entity]))
{ {
if (in_array($obj->id, $permsgroupbyentity[$entity])) // Permission own by group if (in_array($obj->id, $permsgroupbyentity[$entity])) // Permission own by group
{ {
if ($caneditperms) if ($caneditperms)
{ {
print '<td align="center">'; print '<td align="center">';
print $form->textwithtooltip($langs->trans("Inherited"),$langs->trans("PermissionInheritedFromAGroup")); print $form->textwithtooltip($langs->trans("Inherited"),$langs->trans("PermissionInheritedFromAGroup"));
print '</td>'; print '</td>';
} }
print '<td align="center" class="nowrap">'; print '<td align="center" class="nowrap">';
print img_picto($langs->trans("Active"),'tick'); print img_picto($langs->trans("Active"),'tick');
print '</td>'; print '</td>';
} }
else else
{ {
// Do not own permission // Do not own permission
if ($caneditperms) if ($caneditperms)
{ {
print '<td align="center"><a href="perms.php?id='.$fuser->id.'&amp;action=addrights&amp;entity='.$entity.'&amp;rights='.$obj->id.'#'.$objMod->getName().'">'.img_edit_add($langs->trans("Add")).'</a></td>'; print '<td align="center"><a href="perms.php?id='.$fuser->id.'&amp;action=addrights&amp;entity='.$entity.'&amp;rights='.$obj->id.'#'.$objMod->getName().'">'.img_edit_add($langs->trans("Add")).'</a></td>';
} }
print '<td>&nbsp</td>'; print '<td>&nbsp</td>';
} }
} }
else else
{ {
// Do not own permission // Do not own permission
if ($caneditperms) if ($caneditperms)
{ {
print '<td align="center"><a href="perms.php?id='.$fuser->id.'&amp;action=addrights&amp;entity='.$entity.'&amp;rights='.$obj->id.'#'.$objMod->getName().'">'.img_edit_add($langs->trans("Add")).'</a></td>'; print '<td align="center"><a href="perms.php?id='.$fuser->id.'&amp;action=addrights&amp;entity='.$entity.'&amp;rights='.$obj->id.'#'.$objMod->getName().'">'.img_edit_add($langs->trans("Add")).'</a></td>';
} }
print '<td>&nbsp</td>'; print '<td>&nbsp</td>';
} }
$perm_libelle=($conf->global->MAIN_USE_ADVANCED_PERMS && ($langs->trans("PermissionAdvanced".$obj->id)!=("PermissionAdvanced".$obj->id))?$langs->trans("PermissionAdvanced".$obj->id):(($langs->trans("Permission".$obj->id)!=("Permission".$obj->id))?$langs->trans("Permission".$obj->id):$obj->libelle)); $perm_libelle=($conf->global->MAIN_USE_ADVANCED_PERMS && ($langs->trans("PermissionAdvanced".$obj->id)!=("PermissionAdvanced".$obj->id))?$langs->trans("PermissionAdvanced".$obj->id):(($langs->trans("Permission".$obj->id)!=("Permission".$obj->id))?$langs->trans("Permission".$obj->id):$obj->libelle));
print '<td>'.$perm_libelle. '</td>'; print '<td>'.$perm_libelle. '</td>';
print '</tr>'."\n"; print '</tr>'."\n";
$i++; $i++;
} }
} }
else dol_print_error($db); else dol_print_error($db);
print '</table>'; print '</table>';