diff --git a/htdocs/imports/import.class.php b/htdocs/imports/import.class.php index 1a306e8f6a4..f120be0bcb4 100644 --- a/htdocs/imports/import.class.php +++ b/htdocs/imports/import.class.php @@ -131,7 +131,7 @@ class Import // Module $this->array_import_module[$i]=$module; // Permission - $this->array_import_perms[$i]=$user->admin; + $this->array_import_perms[$i]=$user->rights->import->run; // Icon $this->array_import_icon[$i]=(isset($module->import_icon[$r])?$module->import_icon[$r]:$module->picto); // Code du dataset export diff --git a/htdocs/imports/import.php b/htdocs/imports/import.php index 0fdfda6771f..6745e213364 100644 --- a/htdocs/imports/import.php +++ b/htdocs/imports/import.php @@ -1,5 +1,5 @@ +/* Copyright (C) 2005-2010 Laurent Destailleur * Copyright (C) 2005-2009 Regis Houssin * * This program is free software; you can redistribute it and/or modify @@ -34,9 +34,9 @@ require_once(DOL_DOCUMENT_ROOT."/lib/files.lib.php"); $langs->load("exports"); $langs->load("errors"); - -if (! $user->societe_id == 0) -accessforbidden(); +// Security check +if ($user->societe_id) $socid=$user->societe_id; +$result=restrictedArea($user,'import',$origin_id,''); $entitytoicon=array( 'invoice'=>'bill','invoice_line'=>'bill', diff --git a/htdocs/langs/fr_FR/exports.lang b/htdocs/langs/fr_FR/exports.lang index 2e2559c13b9..deb80f9d2d0 100644 --- a/htdocs/langs/fr_FR/exports.lang +++ b/htdocs/langs/fr_FR/exports.lang @@ -91,7 +91,7 @@ SelectFormat=Choisir ce format de fichier import RunImportFile=Lancer l'import en base NowClickToRunTheImport=Vérifiez le résultat de la simulation. Si tout est ok, lancer l'import définitif en base. DataLoadedWithId=Toutes les données seront importées avec l'id d'import suivant: %s -ErrorMissingMandatoryValue=Donnée obligatoire non renseignées dans le fichier source, champ numéro %s. +ErrorMissingMandatoryValue=Donnée obligatoire non renseignée dans le fichier source, champ numéro %s. TooMuchErrors=Il y a encore %s autres lignes en erreur mais leur affichage a été limité. TooMuchWarnings=Il y a encore %s autres lignes en warnings mais leur affichage a été limité. EmptyLine=Ligne vide (sera ignorée) diff --git a/htdocs/lib/functions.lib.php b/htdocs/lib/functions.lib.php index 7999f98fa3e..355a8bd1c86 100644 --- a/htdocs/lib/functions.lib.php +++ b/htdocs/lib/functions.lib.php @@ -1571,7 +1571,8 @@ function restrictedArea($user, $features='societe', $objectid=0, $dbtablename='' else if (! empty($feature) && ($feature!='user' && $feature!='usergroup')) // This is for old permissions { if (empty($user->rights->$feature->lire) - && empty($user->rights->$feature->read)) $readok=0; + && empty($user->rights->$feature->read) + && empty($user->rights->$feature->run)) $readok=0; } }