[-] BO : Fixing modules permissions system
git-svn-id: http://dev.prestashop.com/svn/v1/branches/1.5.x@16102 b9a71923-0436-4b27-9f14-aed3839534dd
This commit is contained in:
@@ -122,15 +122,16 @@
|
||||
var perm = tout[1];
|
||||
var id_profile = tout[2];
|
||||
var enabled = $(this).is(':checked') ? 1 : 0;
|
||||
var enabled_attr = $(this).is(':checked') ? true : false;
|
||||
var table = 'table#table_module_'+id_profile;
|
||||
|
||||
if (id_module == -1)
|
||||
$(table+' .ajax-ma-'+perm).each(function(key, value) {
|
||||
$(this).attr("checked", enabled);
|
||||
$(this).attr("checked", enabled_attr);
|
||||
});
|
||||
else if (!enabled)
|
||||
$(table+' #ajax-ma-'+perm+'-master').each(function(key, value) {
|
||||
$(this).attr("checked", enabled);
|
||||
$(this).attr("checked", enabled_attr);
|
||||
});
|
||||
|
||||
$.ajax({
|
||||
|
||||
@@ -24,7 +24,7 @@
|
||||
* International Registered Trademark & Property of PrestaShop SA
|
||||
*}
|
||||
|
||||
|
||||
{if $add_permission eq '1'}
|
||||
{if isset($logged_on_addons)}
|
||||
|
||||
<!--start addons login-->
|
||||
@@ -70,7 +70,7 @@
|
||||
{/if}
|
||||
|
||||
{/if}
|
||||
|
||||
{/if}
|
||||
|
||||
<!--start filter module-->
|
||||
<style>.ac_results { border:1px solid #C2C4D9; }</style>
|
||||
|
||||
@@ -28,14 +28,17 @@
|
||||
<div class="toolbarBox toolbarHead">
|
||||
|
||||
<ul class="cc_button">
|
||||
{if $add_permission eq '1'}
|
||||
<li>
|
||||
<a id="desc-module-new" class="toolbar_btn" href="#top_container" onclick="$('#module_install').slideToggle();" title="{l s='Add new module'}">
|
||||
<span class="process-icon-new-module" ></span>
|
||||
<div>{l s='Add new module'}</div>
|
||||
</a>
|
||||
</li>
|
||||
{/if}
|
||||
</ul>
|
||||
|
||||
|
||||
<div class="pageTitle">
|
||||
<h3><span id="current_obj" style="font-weight: normal;"><span class="breadcrumb item-0">Module</span> : <span class="breadcrumb item-1">{l s='List of modules'}</span></span></h3>
|
||||
</div>
|
||||
@@ -43,7 +46,7 @@
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
{if $add_permission eq '1'}
|
||||
<div id="module_install" style="width:500px;margin-top:5px;{if !isset($smarty.post.downloadflag)}display: none;{/if}">
|
||||
<fieldset>
|
||||
<legend><img src="../img/admin/add.gif" alt="{l s='Add a new module'}" class="middle" /> {l s='Add a new module'}</legend>
|
||||
@@ -63,5 +66,5 @@
|
||||
</fieldset>
|
||||
<br />
|
||||
</div>
|
||||
|
||||
{/if}
|
||||
|
||||
|
||||
@@ -881,15 +881,26 @@ class AdminModulesControllerCore extends AdminController
|
||||
return $return;
|
||||
}
|
||||
|
||||
public function initModulesList($modules)
|
||||
public function initModulesList(&$modules)
|
||||
{
|
||||
foreach ($modules as $module)
|
||||
foreach ($modules as $k => $module)
|
||||
{
|
||||
if (!in_array($module->name, $this->list_natives_modules))
|
||||
$this->serial_modules .= $module->name.' '.$module->version.'-'.($module->active ? 'a' : 'i')."\n";
|
||||
$module_author = $module->author;
|
||||
if (!empty($module_author) && ($module_author != ''))
|
||||
$this->modules_authors[strtolower($module_author)] = 'notselected';
|
||||
// Check add permissions, if add permissions not set, addons modules and non installed modules will not be displayed
|
||||
if ($this->tabAccess['add'] !== '1' && isset($module->type) && ($module->type != 'addonsNative' || $module->type != 'addonsBought'))
|
||||
unset($modules[$k]);
|
||||
else if ($this->tabAccess['add'] !== '1' && (!isset($module->id) || $module->id < 1))
|
||||
unset($modules[$k]);
|
||||
else if ($module->id && !Module::getPermissionStatic($module->id, 'view') && !Module::getPermissionStatic($module->id, 'configure'))
|
||||
unset($modules[$k]);
|
||||
else
|
||||
{
|
||||
// Init serial and modules author list
|
||||
if (!in_array($module->name, $this->list_natives_modules))
|
||||
$this->serial_modules .= $module->name.' '.$module->version.'-'.($module->active ? 'a' : 'i')."\n";
|
||||
$module_author = $module->author;
|
||||
if (!empty($module_author) && ($module_author != ''))
|
||||
$this->modules_authors[strtolower($module_author)] = 'notselected';
|
||||
}
|
||||
}
|
||||
$this->serial_modules = urlencode($this->serial_modules);
|
||||
}
|
||||
@@ -913,11 +924,6 @@ class AdminModulesControllerCore extends AdminController
|
||||
|
||||
public function isModuleFiltered($module)
|
||||
{
|
||||
// Beware $module could be an instance of Module or stdClass, that expflain the static call
|
||||
if ($module->id && !Module::getPermissionStatic($module->id, 'view') && !Module::getPermissionStatic($module->id, 'configure'))
|
||||
return true;
|
||||
|
||||
|
||||
// If action on module, we display it
|
||||
if (Tools::getValue('module_name') != '' && Tools::getValue('module_name') == $module->name)
|
||||
return false;
|
||||
@@ -1168,6 +1174,8 @@ class AdminModulesControllerCore extends AdminController
|
||||
$tpl_vars['check_url_fopen'] = (ini_get('allow_url_fopen') ? 'ok' : 'ko');
|
||||
$tpl_vars['check_openssl'] = (extension_loaded('openssl') ? 'ok' : 'ko');
|
||||
|
||||
$tpl_vars['add_permission'] = $this->tabAccess['add'];
|
||||
|
||||
if ($this->logged_on_addons)
|
||||
{
|
||||
$tpl_vars['logged_on_addons'] = 1;
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
<?xml version="1.0" encoding="UTF-8" ?>
|
||||
<module>
|
||||
<name>productcomments</name>
|
||||
<displayName><![CDATA[Product Comments]]></displayName>
|
||||
<displayName><![CDATA[Commentaires produits]]></displayName>
|
||||
<version><![CDATA[2.3]]></version>
|
||||
<description><![CDATA[Allows users to post reviews.]]></description>
|
||||
<description><![CDATA[Permet aux client de commenter les produits.]]></description>
|
||||
<author><![CDATA[PrestaShop]]></author>
|
||||
<tab><![CDATA[front_office_features]]></tab>
|
||||
<is_configurable>1</is_configurable>
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
<?xml version="1.0" encoding="UTF-8" ?>
|
||||
<module>
|
||||
<name>statsforecast</name>
|
||||
<displayName><![CDATA[Stats Dashboard]]></displayName>
|
||||
<displayName><![CDATA[Tableau de bord statistiques]]></displayName>
|
||||
<version><![CDATA[1]]></version>
|
||||
<description><![CDATA[]]></description>
|
||||
<author><![CDATA[PrestaShop]]></author>
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
<?xml version="1.0" encoding="UTF-8" ?>
|
||||
<module>
|
||||
<name>themeinstallator</name>
|
||||
<displayName><![CDATA[Import/export a theme]]></displayName>
|
||||
<displayName><![CDATA[Importer / Exporter un thème]]></displayName>
|
||||
<version><![CDATA[1.4]]></version>
|
||||
<description><![CDATA[Export or Install a theme and its modules on your shop.]]></description>
|
||||
<description><![CDATA[Exporter ou importer un thème et ses modules sur votre boutique.]]></description>
|
||||
<author><![CDATA[PrestaShop]]></author>
|
||||
<tab><![CDATA[administration]]></tab>
|
||||
<is_configurable>1</is_configurable>
|
||||
|
||||
Reference in New Issue
Block a user