Merge branch 'dispatch_modules' into development

This commit is contained in:
vAugagneur
2013-02-04 18:20:24 +01:00
22 changed files with 767 additions and 83 deletions
@@ -1,12 +1,10 @@
<div id="productBox">
{include file='controllers/modules/header.tpl'}
<ul class="view-modules">
<li class="button normal-view"><a href="index.php?controller={$smarty.get.controller|htmlentities}&token={$smarty.get.token|htmlentities}"><img src="themes/default/img/modules_view_layout_sidebar.png" alt="{l s='Normal view'}" border="0" /><span>{l s='Normal view'}</span></a></li>
<li class="button favorites-view-disabled"><img src="themes/default/img/modules_view_table_select_row.png" alt="{l s='Favorites view'}" border="0" /><span>{l s='Favorites view'}</span></li>
</ul>
<div id="container">
<div id="moduleContainer" style="padding:0px;margin:0px;padding-top:15px">
@@ -16,6 +14,7 @@
<col width="240px">
<col width="">
<col width="140px">
<col width="250px">
<col width="180px">
<col width="70px">
<col width="70px">
@@ -27,6 +26,7 @@
<th>{l s='Module Name'}</th>
<th>{l s='Description'}</th>
<th>{l s='Status'}</th>
<th>{l s='Tab'}</th>
<th>{l s='Categories:'}</th>
<th>{l s='Interest'}</th>
<th>{l s='Favorite'}</th>
@@ -40,6 +40,22 @@
<td><span class="moduleName">{$module->displayName}</span></td>
<td><span class="moduleFavDesc">{$module->description|truncate:80:'...'}</span></td>
<td>{if isset($module->id) && $module->id gt 0}<span class="setup">{l s='Installed'}</span>{else}<span class="setup non-install">{l s='Not Installed'}</span>{/if}</td>
<td>
{assign var="module_name" value=$module->name}
<select class="chosen moduleTabPreferencesChoise" name="t_{$module->name}" multiple="multiple">
{foreach $tabs AS $t}
{if $t.active}
<option {if isset($tab_modules_preferences.$module_name) && in_array($t.id_tab, $tab_modules_preferences.$module_name)} selected="selected" {/if} class="group" value="{$t.id_tab}">{if $t.name eq ''}{$t.class_name}{else}{$t.name}{/if}</option>
{foreach from=$t.sub_tabs item=t2}
{if $t2.active}
{assign var="id_tab" value=$t.id_tab}
<option {if isset($tab_modules_preferences.$module_name) && in_array($t2.id_tab, $tab_modules_preferences.$module_name)} selected="selected" {/if} value="{$t2.id_tab}">&nbsp;&nbsp;&nbsp;{if $t2.name eq ''}{$t2.class_name}{else}{$t2.name|escape:'htmlall':'UTF-8'}{/if}</option>
{/if}
{/foreach}
{/if}
{/foreach}
</select>
</td>
<td>{$module->categoryName}</td>
<td>
<select name="i_{$module->name}" class="moduleFavorite" style="width:50px">
@@ -296,7 +296,40 @@
$('#module_install_filter').change(function() { setFilter(); });
$('#module_status_filter').change(function() { setFilter(); });
$('#country_module_value_filter').change(function() { setFilter(); });
$('.moduleTabPreferencesChoise').change(function()
{
var value_pref = $(this).val();
var module_pref = $(this).attr('name');
module_pref = module_pref.substring(2, module_pref.length);
$.ajax({
type:"POST",
url : ajaxCurrentIndex,
async: true,
data : {
ajax : "1",
token : token,
controller : "AdminModules",
action : "saveTabModulePreferences",
module_pref : module_pref,
value_pref : value_pref
},
success : function(data)
{
// res.status = cache or refresh
if (data == 'OK')
$('#r_' + module_pref).html(confirmPreferencesSaved);
},
error: function(res,textStatus,jqXHR)
{
//jAlert("TECHNICAL ERROR"+res);
}
});
});
// Method to save favorites preferences
$('.moduleFavorite').change(function()
{
@@ -0,0 +1,81 @@
{*
* 2007-2013 PrestaShop
*
* NOTICE OF LICENSE
*
* This source file is subject to the Academic Free License (AFL 3.0)
* that is bundled with this package in the file LICENSE.txt.
* It is also available through the world-wide-web at this URL:
* http://opensource.org/licenses/afl-3.0.php
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to license@prestashop.com so we can send you a copy immediately.
*
* DISCLAIMER
*
* Do not edit or add to this file if you wish to upgrade PrestaShop to newer
* versions in the future. If you wish to customize PrestaShop for your
* needs please refer to http://www.prestashop.com for more information.
*
* @author PrestaShop SA <contact@prestashop.com>
* @copyright 2007-2013 PrestaShop SA
* @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0)
* International Registered Trademark & Property of PrestaShop SA
*}
<tr class="{$class_row}">
<td>
<table border="0" cellpadding="0" cellspacing="0">
<tr>
<td height="60" valign="top" width="75">
<img class="imgm" alt="" src="{if isset($module->image)}{$module->image}{else}../modules/{$module->name}/{$module->logo}{/if}">
</td>
<td height="60" width="220" valign="top">
<div class="moduleDesc" id="anchor{$module->name|ucfirst}">
<h3>{$module->displayName|truncate:40:'…'} {$module->version}
</h3>
<p class="desc">
{if isset($module->description) && $module->description ne ''}
{$module->description|truncate:100:'…'}
{else}
&nbsp;
{/if}
</p>
</div>
</td>
</tr>
<tr>
<td border="0" height="20" width="75" style="text-align:center" valign="bottom">
{if isset($module->id) && $module->id gt 0 }
{if $module->active}
<span class="setup">{l s='Enabled'}</span>
{else}
<span class="setup off">{l s='Disabled'}</span>
{/if}
{else}
{if isset($module->type) && $module->type == 'addonsMustHave'}
<span class="setup must-have">{l s='Must Have'}</span>
{else}
<span class="setup off">{l s='Not installed'}</span>
{/if}
{/if}
</td>
<td class="tab_modules_actions_row" height="20" border="0" width="220" valign="bottom">
<div style="float:right">
{if isset($module->type) && $module->type == 'addonsMustHave'}
<a href="{$module->addons_buy_url}" target="_blank" class="button updated">
<span><img src="../img/admin/cart_addons.png">&nbsp;&nbsp;{displayPrice price=$module->price currency=$module->id_currency}</span></a>
{else if !isset($module->not_on_disk)}
{$module->optionsHtml}
<a href="#" class="button action_tab_module" data-option="select_{$module->name}" class="button">Valider</a>
{else}
<a href="{$module->options.install_url}" class="button action_tab_module">{l s='Install'}</a>
{/if}
</div>
</td>
</tr>
</table>
</td>
@@ -0,0 +1,87 @@
{*
* 2007-2013 PrestaShop
*
* NOTICE OF LICENSE
*
* This source file is subject to the Academic Free License (AFL 3.0)
* that is bundled with this package in the file LICENSE.txt.
* It is also available through the world-wide-web at this URL:
* http://opensource.org/licenses/afl-3.0.php
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to license@prestashop.com so we can send you a copy immediately.
*
* DISCLAIMER
*
* Do not edit or add to this file if you wish to upgrade PrestaShop to newer
* versions in the future. If you wish to customize PrestaShop for your
* needs please refer to http://www.prestashop.com for more information.
*
* @author PrestaShop SA <contact@prestashop.com>
* @copyright 2007-2013 PrestaShop SA
* @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0)
* International Registered Trademark & Property of PrestaShop SA
*}
{if isset($tab_modules_list) && !empty($tab_modules_list)}
<script type="text/javascript">
$(document).ready(function() {
$('.action_tab_module').each( function (){
$(this).click(function () {
option = $('#'+$(this).data('option')+' :selected');
if ($(option).data('onclick') != '')
{
var f = eval("(function(){ "+$(option).data('onclick')+"})");
if (f.call())
window.location.href = $(option).data('href');
}
else
window.location.href = $(option).data('href');
return false;
});
});
$('#nav_tabs_modules_installed').click( function () {
$('#tab_modules_list_not_installed').hide();
$('#tab_modules_list_installed').show();
$(this).parent('li').addClass('active');
$('#nav_tabs_modules_not_installed').parent('li').removeClass('active');
return false;
});
$('#nav_tabs_modules_not_installed').click( function () {
$('#tab_modules_list_installed').hide();
$('#tab_modules_list_not_installed').show();
$(this).parent('li').addClass('active');
$('#nav_tabs_modules_installed').parent('li').removeClass('active');
return false;
});
});
</script>
<ul class="nav-tabs-modules">
<li class="active"><a id="nav_tabs_modules_installed" href="#" onclick="">{l s='Installed'}</a></li>
<li><a href="#" id="nav_tabs_modules_not_installed" >{l s='Not Installed'}</a></li>
</ul>
<div id="modules_list_container_content" style="clear:both">
<table id="tab_modules_list_installed" style="clear:both">
{if count($tab_modules_list.installed)}
{foreach from=$tab_modules_list.installed item=module}
{include file='controllers/modules/tab_module_line.tpl' class_row={cycle values=",rowalt"}}
{/foreach}
{else}
<tr><td><b>{l s='No modules available in this section.'}</b></td></tr>
{/if}
</table>
<table id="tab_modules_list_not_installed" style="display:none;clear:both">
{if count($tab_modules_list.not_installed)}
{foreach from=$tab_modules_list.not_installed item=module}
{include file='controllers/modules/tab_module_line.tpl' class_row={cycle values=",rowalt"}}
{/foreach}
{else}
<tr><td><b>{l s='No modules available in this section.'}</b></td></tr>
{/if}
</table>
</div>
{/if}
<p style="text-align:right;text-decoration:underline"><a href="{$admin_module_favorites_view}" style="color:#666">{l s='More options'}</a></p>
@@ -28,9 +28,8 @@
{if !$shop_context}
<div class="warn">{l s='You have more than one shop and must select one to configure payment.'}</div>
{else}
<h2 class="space">{l s='Payment modules list'}</h2>
{if isset($url_modules)}
<input type="button" class="button" onclick="document.location='{$url_modules}'" value="{l s='Click to see the list of payment modules.'}" /><br>
{if isset($modules_list)}
{$modules_list}
{/if}
<br />
@@ -23,6 +23,10 @@
* International Registered Trademark & Property of PrestaShop SA
*}
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<!--[if lt IE 7]> <html class="no-js lt-ie9 lt-ie8 lt-ie7 lt-ie6 " lang="en"> <![endif]-->
<!--[if IE 7]> <html class="no-js lt-ie9 lt-ie8 ie7" lang="en"> <![endif]-->
<!--[if IE 8]> <html class="no-js lt-ie9 ie8" lang="en"> <![endif]-->
<!--[if gt IE 8]> <html lang="fr" class="no-js ie9" lang="en"> <![endif]-->
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="{$iso}" lang="{$iso}">
<head>
<meta http-equiv="Content-Type" content="application/xhtml+xml; charset=utf-8" />
@@ -0,0 +1,40 @@
{*
* 2007-2013 PrestaShop
*
* NOTICE OF LICENSE
*
* This source file is subject to the Academic Free License (AFL 3.0)
* that is bundled with this package in the file LICENSE.txt.
* It is also available through the world-wide-web at this URL:
* http://opensource.org/licenses/afl-3.0.php
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to license@prestashop.com so we can send you a copy immediately.
*
* DISCLAIMER
*
* Do not edit or add to this file if you wish to upgrade PrestaShop to newer
* versions in the future. If you wish to customize PrestaShop for your
* needs please refer to http://www.prestashop.com for more information.
*
* @author PrestaShop SA <contact@prestashop.com>
* @copyright 2007-2013 PrestaShop SA
* @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0)
* International Registered Trademark & Property of PrestaShop SA
*}
<h2 style="margin-top:0">{l s='Modules list'}</h2>
<div id="modules_list_container_tab" class="default_modules_list_display_type">
<ul id="modules_list_container_content" style="list-style-type:none; padding:0; margin:0;">
{if count($modules_list)}
{foreach from=$modules_list item=module}
<li style="display:block;float:left;">
{include file='controllers/modules/tab_module_line.tpl' class_row={cycle values=",row alt"}}
</li>
{/foreach}
{else}
<tr><td><b>{l s='No modules available in this section.'}</b></td></tr>
{/if}
</ul>
</div>
<div class="clear"></div>
@@ -33,6 +33,15 @@
<span class="process-icon-{if isset($btn.imgclass)}{$btn.imgclass}{else}{$k}{/if} {if isset($btn.class)}{$btn.class}{/if}" ></span>
<div {if isset($btn.force_desc) && $btn.force_desc == true } class="locked" {/if}>{$btn.desc}</div>
</a>
{if $k == 'modules-list'}
<div id="modules_list_container" style="display:none">
<div style="float:right;top:-5px">
<a href="#" onclick="$('#modules_list_container').slideUp();return false;"><img alt="X" src="../img/admin/close.png"></a>
</div>
<div id="modules_list_loader"><img src="../img/loader.gif" alt="" border="0"></div>
<div id="modules_list_container_tab" style="display:none;"></div>
</div>
{/if}
</li>
{/foreach}
</ul>
@@ -40,6 +49,7 @@
<script language="javascript" type="text/javascript">
//<![CDATA[
var submited = false
var modules_list_loaded = false;
$(function() {
//get reference on save link
btn_save = $('span[class~="process-icon-save"]').parent();
@@ -107,7 +117,48 @@
}
{/block}
}
{if isset($tab_modules_open)}
if ({$tab_modules_open})
openModulesList();
{/if}
});
{if isset($tab_modules_list)}
$('.process-icon-modules-list').parent('a').unbind().bind('click', function (){
openModulesList();
});
function openModulesList()
{
$('#modules_list_container').slideDown();
if (!modules_list_loaded)
{
$.ajax({
type:"POST",
url : '{$admin_module_ajax_url}',
async: true,
data : {
ajax : "1",
controller : "AdminModules",
action : "getTabModulesList",
tab_modules_list : '{$tab_modules_list}',
back_tab_modules_list : '{$back_tab_modules_list}'
},
success : function(data)
{
$('#modules_list_container_tab').html(data).slideDown();
$('#modules_list_loader').hide();
modules_list_loaded = true;
}
});
}
else
{
$('#modules_list_container_tab').slideDown();
$('#modules_list_loader').hide();
}
return false;
}
{/if}
//]]>
</script>
{/block}