Update to jquery ui 1.10.3

Fix conflict & ui bugs

Remove debug
This commit is contained in:
Nicolas Le Goff
2013-06-19 11:04:01 +02:00
parent 25c05a3144
commit 764fa42f14
163 changed files with 18730 additions and 14192 deletions

View File

@@ -2,7 +2,7 @@
"name": "Phraseanet", "name": "Phraseanet",
"version": "3.8.0", "version": "3.8.0",
"dependencies": { "dependencies": {
"bootstrap": "~2.2.2", "bootstrap": "~2.3.0",
"jquery": "~1.8.3", "jquery": "~1.8.3",
"font-awesome": "~3.0.2", "font-awesome": "~3.0.2",
"underscore": "~1.4.4", "underscore": "~1.4.4",
@@ -11,8 +11,7 @@
"json3" : "3.2.4", "json3" : "3.2.4",
"humane-js": "~3.0.6", "humane-js": "~3.0.6",
"qunit": "https://github.com/jquery/qunit.git#1.11.0", "qunit": "https://github.com/jquery/qunit.git#1.11.0",
"mustache": "~0.7.2", "jquery-file-upload": "~8.3.2",
"jquery-file-upload": "https://github.com/blueimp/jQuery-File-Upload/archive/75d11179fd9c248c061c8eb428782bb556c8db0a.zip",
"blueimp-load-image": "latest", "blueimp-load-image": "latest",
"requirejs" : "~2.1", "requirejs" : "~2.1",
"backbone-amd": "~1.0", "backbone-amd": "~1.0",

View File

@@ -40,7 +40,6 @@ use Alchemy\Phrasea\Controller\Prod\Feed;
use Alchemy\Phrasea\Controller\Prod\Language; use Alchemy\Phrasea\Controller\Prod\Language;
use Alchemy\Phrasea\Controller\Prod\Lazaret; use Alchemy\Phrasea\Controller\Prod\Lazaret;
use Alchemy\Phrasea\Controller\Prod\MoveCollection; use Alchemy\Phrasea\Controller\Prod\MoveCollection;
use Alchemy\Phrasea\Controller\Prod\MustacheLoader;
use Alchemy\Phrasea\Controller\Prod\Order; use Alchemy\Phrasea\Controller\Prod\Order;
use Alchemy\Phrasea\Controller\Prod\Printer; use Alchemy\Phrasea\Controller\Prod\Printer;
use Alchemy\Phrasea\Controller\Prod\Push; use Alchemy\Phrasea\Controller\Prod\Push;
@@ -715,7 +714,6 @@ class Application extends SilexApplication
$this->mount('/prod/story', new Story()); $this->mount('/prod/story', new Story());
$this->mount('/prod/WorkZone', new WorkZone()); $this->mount('/prod/WorkZone', new WorkZone());
$this->mount('/prod/lists', new UsrLists()); $this->mount('/prod/lists', new UsrLists());
$this->mount('/prod/MustacheLoader', new MustacheLoader());
$this->mount('/prod/records/', new Records()); $this->mount('/prod/records/', new Records());
$this->mount('/prod/records/edit', new Edit()); $this->mount('/prod/records/edit', new Edit());
$this->mount('/prod/records/property', new Property()); $this->mount('/prod/records/property', new Property());

View File

@@ -97,7 +97,7 @@ class TaskManager implements ControllerProviderInterface
return $app->redirectPath('admin_tasks_scheduler_log'); return $app->redirectPath('admin_tasks_scheduler_log');
} }
return $app->stream(function() use ($finder) { return $app->stream(function() use ($finder, $app) {
foreach ($finder->getIterator() as $file) { foreach ($finder->getIterator() as $file) {
printf("<h4>%s\n", $file->getRealPath()); printf("<h4>%s\n", $file->getRealPath());
printf("&nbsp;<a href=\"".$app->path('admin_tasks_scheduler_log', array('clr' => $file->getFilename()))."\">%s</a>" printf("&nbsp;<a href=\"".$app->path('admin_tasks_scheduler_log', array('clr' => $file->getFilename()))."\">%s</a>"

View File

@@ -47,6 +47,8 @@ class Minifier implements ControllerProviderInterface
if ($app['debug']) { if ($app['debug']) {
// may cause js errors // may cause js errors
$min_serveOptions['debug'] = false; $min_serveOptions['debug'] = false;
// disallow minification instead
$min_serveOptions['minApp']['noMinPattern'] = '#\.(?:js|css)$#i';
$min_serveOptions['maxAge'] = 0; $min_serveOptions['maxAge'] = 0;
} else { } else {
$min_serveOptions['debug'] = false; $min_serveOptions['debug'] = false;

View File

@@ -1,50 +0,0 @@
<?php
/*
* This file is part of Phraseanet
*
* (c) 2005-2013 Alchemy
*
* For the full copyright and license information, please view the LICENSE
* file that was distributed with this source code.
*/
namespace Alchemy\Phrasea\Controller\Prod;
use Silex\Application;
use Silex\ControllerProviderInterface;
use Symfony\Component\HttpFoundation\Request;
use Symfony\Component\HttpKernel\Exception\BadRequestHttpException;
use Symfony\Component\HttpKernel\Exception\NotFoundHttpException;
/**
*
* @license http://opensource.org/licenses/gpl-3.0 GPLv3
* @link www.phraseanet.com
*/
class MustacheLoader implements ControllerProviderInterface
{
public function connect(Application $app)
{
$controllers = $app['controllers_factory'];
$controllers->get('/', function(Application $app, Request $request) {
$template_name = $request->query->get('template');
if (!preg_match('/^[a-zA-Z0-9-_]+$/', $template_name)) {
throw new BadRequestHttpException('Wrong template name : ' . $template_name);
}
$template_path = realpath(__DIR__ . '/../../../../../templates/web/Mustache/Prod/' . $template_name . '.Mustache.html');
if (!file_exists($template_path)) {
throw new NotFoundHttpException('Template does not exists : ' . $template_path);
}
return new \Symfony\Component\HttpFoundation\Response(file_get_contents($template_path));
});
return $controllers;
}
}

View File

@@ -150,7 +150,6 @@ class BinariesRequirements extends RequirementCollection implements RequirementI
if (null !== $unoconv) { if (null !== $unoconv) {
$output = null; $output = null;
exec($unoconv . ' --version', $output);
$data = sscanf($output[0], 'unoconv %d.%d'); $data = sscanf($output[0], 'unoconv %d.%d');
$version = sprintf('%d.%d', $data[0], $data[1]); $version = sprintf('%d.%d', $data[0], $data[1]);

View File

@@ -238,7 +238,7 @@ class UsrList
public function has(\User_Adapter $user, Application $app) public function has(\User_Adapter $user, Application $app)
{ {
return $this->entries->exists( return $this->entries->exists(
function($key, $entry) use ($user) { function($key, $entry) use ($user, $app) {
return $entry->getUser($app)->get_id() === $user->get_id(); return $entry->getUser($app)->get_id() === $user->get_id();
} }
); );

View File

@@ -50,7 +50,7 @@ class module_console_systemTemplateGenerator extends Command
foreach ($tplDirs as $tplDir) { foreach ($tplDirs as $tplDir) {
$this->container['twig.loader.filesystem']->setPaths(array($tplDir)); $this->container['twig.loader.filesystem']->setPaths(array($tplDir));
$finder = new Finder(); $finder = new Finder();
foreach ($finder->files()->in(array($tplDir))->exclude('Mustache') as $file) { foreach ($finder->files()->in(array($tplDir)) as $file) {
try { try {
$this->container['twig']->loadTemplate(str_replace($tplDir, '', $file->getPathname())); $this->container['twig']->loadTemplate(str_replace($tplDir, '', $file->getPathname()));
$output->writeln('' . $file . ''); $output->writeln('' . $file . '');

View File

@@ -21,7 +21,7 @@ $groups = array(
), ),
'client' => array( 'client' => array(
'//include/jslibs/swfobject/swfobject.js' '//include/jslibs/swfobject/swfobject.js'
, '//include/jslibs/jquery-ui-1.8.17/jquery-ui-i18n.js' , '//include/jslibs/jquery-ui-1.10.3/jquery-ui-i18n.js'
, '//skins/geonames/geonames.js' , '//skins/geonames/geonames.js'
, '//include/jslibs/jquery.cookie.js' , '//include/jslibs/jquery.cookie.js'
, '//include/jquery.common.js' , '//include/jquery.common.js'
@@ -36,10 +36,10 @@ $groups = array(
, '//include/jslibs/jquery.contextmenu_scroll.js'), , '//include/jslibs/jquery.contextmenu_scroll.js'),
'admin' => array( 'admin' => array(
'//assets/modernizr/modernizr.js' '//assets/modernizr/modernizr.js'
, '//include/jslibs/jquery-ui-1.8.24.js' , '//assets/underscore-amd/underscore.js'
, '//include/jslibs/jquery.cookie.js' , '//include/jslibs/jquery.cookie.js'
, '//include/jslibs/jquery-treeview/jquery.treeview.js' , '//include/jslibs/jquery-treeview/jquery.treeview.js'
, '//include/jslibs/jquery-ui-1.8.17/jquery-ui-i18n.js' , '//include/jslibs/jquery-ui-1.10.3/jquery-ui-i18n.js'
, '//include/jquery.kb-event.js' , '//include/jquery.kb-event.js'
, '//skins/admin/users.js' , '//skins/admin/users.js'
, '//skins/admin/editusers.js' , '//skins/admin/editusers.js'
@@ -53,7 +53,7 @@ $groups = array(
, '//assets/jquery-file-upload/js/jquery.fileupload.js' , '//assets/jquery-file-upload/js/jquery.fileupload.js'
), ),
'report' => array( 'report' => array(
'//include/jslibs/jquery-ui-1.8.17/jquery-ui-i18n.js' '//include/jslibs/jquery-ui-1.10.3/jquery-ui-i18n.js'
, '//include/jslibs/jquery.cookie.js' , '//include/jslibs/jquery.cookie.js'
, '//include/jquery.common.js' , '//include/jquery.common.js'
, '//include/jquery.tooltip.js' , '//include/jquery.tooltip.js'
@@ -65,19 +65,19 @@ $groups = array(
, '//skins/report/report.js' , '//skins/report/report.js'
), ),
'modalBox' => array( 'modalBox' => array(
'//include/jslibs/jquery-ui-1.8.17/jquery-ui-i18n.js' '//include/jslibs/jquery-ui-1.10.3/jquery-ui-i18n.js'
), ),
'prod' => array( 'prod' => array(
'//include/jslibs/swfobject/swfobject.js' '//include/jslibs/swfobject/swfobject.js'
, '//assets/underscore-amd/underscore.js'
, '//include/jslibs/json2.js' , '//include/jslibs/json2.js'
, '//include/jslibs/colorpicker/js/colorpicker.js' , '//include/jslibs/colorpicker/js/colorpicker.js'
, '//include/jslibs/jquery.mousewheel.js' , '//include/jslibs/jquery.mousewheel.js'
, '//include/jslibs/jquery.lazyload/jquery.lazyload.1.8.1.js' , '//include/jslibs/jquery.lazyload/jquery.lazyload.1.8.1.js'
, '//include/jslibs/jquery-ui-1.8.17/jquery-ui-i18n.js' , '//include/jslibs/jquery-ui-1.10.3/jquery-ui-i18n.js'
, '//include/jslibs/jquery.cookie.js' , '//include/jslibs/jquery.cookie.js'
, '//include/jquery.common.js' , '//include/jquery.common.js'
, '//assets/humane-js/humane.js' , '//assets/humane-js/humane.js'
, '//assets/mustache/mustache.js'
, '//assets/blueimp-load-image/load-image.js' , '//assets/blueimp-load-image/load-image.js'
, '//assets/jquery-file-upload/js/vendor/jquery.ui.widget.js' , '//assets/jquery-file-upload/js/vendor/jquery.ui.widget.js'
, '//assets/jquery-file-upload/js/jquery.iframe-transport.js' , '//assets/jquery-file-upload/js/jquery.iframe-transport.js'
@@ -88,7 +88,6 @@ $groups = array(
, '//include/js/jquery.Selection.js' , '//include/js/jquery.Selection.js'
, '//include/js/jquery.Edit.js' , '//include/js/jquery.Edit.js'
, '//include/js/jquery.lists.js' , '//include/js/jquery.lists.js'
, '//skins/prod/jquery.Mustache.js'
, '//skins/prod/jquery.Prod.js' , '//skins/prod/jquery.Prod.js'
, '//skins/prod/jquery.Dialog.js' , '//skins/prod/jquery.Dialog.js'
, '//skins/prod/jquery.Feedback.js' , '//skins/prod/jquery.Feedback.js'
@@ -124,7 +123,7 @@ $groups = array(
, '//include/jquery.tooltip.js' , '//include/jquery.tooltip.js'
, '//include/jslibs/swfobject/swfobject.js' , '//include/jslibs/swfobject/swfobject.js'
, '//skins/geonames/geonames.js' , '//skins/geonames/geonames.js'
, '//include/jslibs/jquery-ui-1.8.17/jquery-ui-i18n.js' , '//include/jslibs/jquery-ui-1.10.3/jquery-ui-i18n.js'
, '//include/jslibs/jquery.cookie.js' , '//include/jslibs/jquery.cookie.js'
, '//include/jslibs/jquery.contextmenu_scroll.js' , '//include/jslibs/jquery.contextmenu_scroll.js'
, '//include/jquery.common.js' , '//include/jquery.common.js'
@@ -136,7 +135,7 @@ $groups = array(
, '//include/jquery.tooltip.js' , '//include/jquery.tooltip.js'
, '//include/jslibs/swfobject/swfobject.js' , '//include/jslibs/swfobject/swfobject.js'
, '//skins/geonames/geonames.js' , '//skins/geonames/geonames.js'
, '//include/jslibs/jquery-ui-1.8.17/jquery-ui-i18n.js' , '//include/jslibs/jquery-ui-1.10.3/jquery-ui-i18n.js'
, '//include/jslibs/jquery.cookie.js' , '//include/jslibs/jquery.cookie.js'
, '//include/jslibs/jquery.contextmenu_scroll.js' , '//include/jslibs/jquery.contextmenu_scroll.js'
, '//include/jquery.common.js' , '//include/jquery.common.js'

View File

@@ -1,5 +1,10 @@
<?php <?php
// This file is automatically generated, please do not edit it.
// To update configuration, use bin/console plugins:* commands.
return call_user_func(function () { return call_user_func(function () {
return require __DIR__ . '/../vendor/autoload.php'; $loader = require __DIR__ . '/../vendor/autoload.php';
return $loader;
}); });

View File

@@ -1,7 +1,11 @@
<?php <?php
// This file is automatically generated, please do not edit it.
// To update configuration, use bin/console plugins:* commands.
use Alchemy\Phrasea\Application; use Alchemy\Phrasea\Application;
return call_user_func(function (Application $app) { return call_user_func(function (Application $app) {
return $app; return $app;
}, $app); }, $app);

View File

@@ -1,4 +0,0 @@
<div class="alert alert-error">
<button class="close" data-dismiss="alert">×</button>
{{ content }}
</div>

View File

@@ -1,4 +0,0 @@
<div class="alert alert-success">
<button class="close" data-dismiss="alert">×</button>
{{ content }}
</div>

View File

@@ -1,5 +0,0 @@
<b>{{ heading }}</b>
<br />
{{#reasons}}
* {{.}} <br />
{{/reasons}}

View File

@@ -1,14 +0,0 @@
<li class="span2">
<div id="{{id}}"class="upload-record thumbnail">
<div class="canva-wrapper"></div>
<div class="caption">
<p class="name-doc">{{ name }}</p>
<div class="progress progress-striped active">
<div class="progress-bar bar" style="width: 0%;"></div>
</div>
<p class="error alert-error"></p>
<p class="success alert-success"></p>
<button type="button" class="remove-element btn btn-inverse btn-mini">{{ language.cancel }}</button>
</div>
</div>
</li>

View File

@@ -1,47 +0,0 @@
<div class="badge badge_{{ usr_id }}">
<a href="#" class="deleter">
<img src="/skins/prod/Push/close_badge.png"/>
</a>
<input name="id" value="{{ user.usr_id }}" type="hidden" />
<table>
<tr>
<td class="icon">
<img src="/skins/icons/user.png"/>
</td>
<td class="infos">
<div>
<input type="hidden" name="participants[{{ user.usr_id }}][usr_id]" value="{{ user.usr_id }}" />
<table>
<tr>
<td colspan="3">
<span class="name">{{ user.display_name }}</span>
</td>
</tr>
<tr>
<td colspan="3">
<span class="subtite">{{ user.subtitle }}</span>
</td>
</tr>
<tr class="toggles">
<td class="toggle status_on toggle_agree">
<img title="{{ language.feedbackCanContribute }}" class="toggle_off" src="/skins/prod/Push/contributeur_off_badge.png" />
<img title="{{ language.feedbackCanContribute }}" class="toggle_on" src="/skins/prod/Push/contributeur_badge.png" />
<input type="hidden" name="participants[{{ user.usr_id }}][agree]" value="1" />
</td>
<td class="toggle status_off toggle_see_others">
<img title="{{ language.feedbackCanSeeOthers }}" class="toggle_off" src="/skins/prod/Push/see_other_off_badge.png" />
<img title="{{ language.feedbackCanSeeOthers }}" class="toggle_on" src="/skins/prod/Push/see_other_badge.png" />
<input type="hidden" name="participants[{{ user.usr_id }}][see_others]" value="0" />
</td>
<td class="toggle status_off toggle_HD">
<img title="{{ language.pushUserCanDownload }}" class="toggle_off" src="/skins/prod/Push/download_off_badge.png" />
<img title="{{ language.pushUserCanDownload }}" class="toggle_on" src="/skins/prod/Push/download_badge.png" />
<input type="hidden" name="participants[{{ user.usr_id }}][HD]" value="0" />
</td>
</tr>
</table>
</div>
</td>
</tr>
</table>
</div>

View File

@@ -1,28 +0,0 @@
<form>
<div class="Feedback" style="display:none;">
<label for="PushSendFormDuration">{{ language.FeedBackDuration }}</label>
<select id="PushSendFormDuration" name="duration" class="input-block-level">
<option value="20">20</option>
<option value="15">15</option>
<option value="10">10</option>
<option value="5">5</option>
<option value="3">3</option>
<option value="2">2</option>
<option value="1">1</option>
</select>
</div>
<div>
<label for="PushSendFormRecept">{{ language.FeedBackName }}</label>
<input id="PushSendFormName" type="text" name="name" class="input-block-level"/>
</div>
<div>
<label for="PushSendFormMessage">{{ language.FeedBackMessage }}</label>
<textarea id="PushSendFormMessage" name="message" class="input-block-level"></textarea>
</div>
<div>
<label for="PushSendFormRecept" class="checkbox">
<input id="PushSendFormRecept" type="checkbox" name="recept" value="1"/>
{{ language.Recept }}
</label>
</div>
</form>

View File

@@ -1,29 +0,0 @@
<div class="badge badge_{{ usr_id }}">
<a href="#" class="deleter">
<img src="/skins/prod/Push/close_badge.png"/>
</a>
<input name="id" value="{{ usr_id }}" type="hidden" />
<table>
<tr>
<td class="icon">
<img src="/skins/icons/user.png"/>
</td>
<td class="infos">
<div>
<table>
<tr>
<td colspan="3">
<span class="name">{{ display_name }}</span>
</td>
</tr>
<tr>
<td colspan="3">
<span class="subtite">{{ subtitle }}</span>
</td>
</tr>
</table>
</div>
</td>
</tr>
</table>
</div>

View File

@@ -1,27 +0,0 @@
<li class="list-item list" class="width:280px;height:45px;">
<a>
<table>
<tr>
<td class="icon">
<img src="/skins/prod/Push/list-icon.png"/>
</td>
<td class="infos">
<div style="margin:5px 10px 5px;">
<table>
<tr>
<td>
<span class="name">{{ name }}</span>
</td>
</tr>
<tr>
<td>
<span class="subtite">{{ length }} elements</span>
</td>
</tr>
</table>
</div>
</td>
</tr>
</table>
</a>
</li>

View File

@@ -1,27 +0,0 @@
<li class="list-item user" class="">
<a>
<table>
<tr>
<td class="icon">
<img src="/skins/icons/user.png"/>
</td>
<td class="infos">
<div style="margin:5px 10px 5px;">
<table>
<tr>
<td>
<span class="name">{{ display_name }}</span>
</td>
</tr>
<tr>
<td>
<span class="subtite">{{ subtitle }}</span>
</td>
</tr>
</table>
</div>
</td>
</tr>
</table>
</a>
</li>

View File

@@ -1,4 +0,0 @@
<form action="/prod/lists/list" method="POST" onsubmit="return false;">
<label style='display:inline'>{{newListName}}</label>
<input type="text" name="name" style="margin:0"/>
</form>

View File

@@ -1,3 +0,0 @@
<p>
{{sureToRemoveList}}
</p>

View File

@@ -1,37 +0,0 @@
<div class="badge badge_{{ user.usr_id }}">
<a href="#" class="deleter">
<img src="/skins/prod/Push/close_badge.png"/>
</a>
<input name="id" value="{{ user.usr_id }}" type="hidden" />
<table>
<tr>
<td class="icon">
<img src="/skins/icons/user.png"/>
</td>
<td class="infos">
<div>
<input type="hidden" name="participants[{{ user.usr_id }}][usr_id]" value="{{ user.usr_id }}" />
<table>
<tr>
<td colspan="3">
<span class="name">{{ user.display_name }}</span>
</td>
</tr>
<tr>
<td colspan="3">
<span class="subtite">{{ user.subtitle }}</span>
</td>
</tr>
<tr class="toggles">
<td class="toggle status_off toggle_HD">
<img title="{{ language.pushUserCanDownload }}" class="toggle_off" src="/skins/prod/Push/download_off_badge.png" />
<img title="{{ language.pushUserCanDownload }}" class="toggle_on" src="/skins/prod/Push/download_badge.png" />
<input type="hidden" name="participants[{{ user.usr_id }}][HD]" value="0" />
</td>
</tr>
</table>
</div>
</td>
</tr>
</table>
</div>

View File

@@ -1,9 +0,0 @@
<li class="span2">
<div class="upload-record thumbnail">
<p class="name-doc">{{ name }}</p>
<div class="alert-error">
<p>{{ error }}</p>
</div>
</div>
</li>

View File

@@ -1,11 +0,0 @@
<li class="span2 upload-valid">
<div id ="{{ id }}" class="upload-record thumbnail">
<div class="canva-wrapper"></div>
<div class="caption">
<p class="name-doc">{{ name }}</p>
<p class="infos-doc">{{ size }}, {{ type }}</p>
<button type="button" class="remove-element btn btn-inverse btn-mini">{{ language.cancel }}</button>
<input type="hidden" name="uploadIndex" value="{{ uploadIndex }}"/>
</div>
</div>
</li>

View File

@@ -237,12 +237,12 @@
$('input[name="admins[]"]:last', form).val(ui.item.id); $('input[name="admins[]"]:last', form).val(ui.item.id);
form.submit(); form.submit();
} }
}).data( "autocomplete" )._renderItem = function( ul, item ) { }).data( "ui-autocomplete" )._renderItem = function( ul, item ) {
var email = item.email ? '<br/>'+item.email : ''; var email = item.email ? '<br/>'+item.email : '';
var login = item.login != item.name ? " ("+ item.login +")" : ''; var login = item.login !== item.name ? " ("+ item.login +")" : '';
return $( "<li></li>" ) return $( "<li></li>" )
.data( "item.autocomplete", item ) .data( "ui-autocomplete-item", item )
.append( "<a>" + item.name + login + email + "</a>" ) .append( "<a>" + item.name + login + email + "</a>" )
.appendTo( ul ); .appendTo( ul );
}; };
@@ -260,15 +260,10 @@
pub_wm: $this.val() pub_wm: $this.val()
}, },
success: function(datas) { success: function(datas) {
if(datas.success) { var html = _.template($("#alert_"+ (datas.success ? "success" : "error") +"_tpl").html(), {
p4.Mustache.Render('Alert-Success', {content:datas.msg}, function(html){ content:datas.msg
$this.closest('.action-block').prepend(html);
}); });
} else {
p4.Mustache.Render('Alert-Error', {content:datas.msg}, function(html){
$this.closest('.action-block').prepend(html); $this.closest('.action-block').prepend(html);
});
}
} }
}); });
}); });

View File

@@ -37,7 +37,7 @@
}); });
$("#natcase-reorder").bind('click', function(){ $("#natcase-reorder").bind('click', function(){
select.find('option').sort(natCaseSort).appendTo(select) select.find('option').sort(natCaseSort).appendTo(select);
}); });
upButton.bind('click', function(){ upButton.bind('click', function(){
@@ -67,9 +67,10 @@
$this.attr('disabled', true); $this.attr('disabled', true);
}, },
success : function(datas) { success : function(datas) {
p4.Mustache.Render('Alert-Success', function,(html) { var html = _.template($("#alert_"+ (datas.success ? "success" : "error") +"_tpl").html(), {
$('#table-order').insertBefore(html); content:datas.msg
}); });
$('#table-order').insertBefore(html);
}, },
complete : function() { complete : function() {
$this.attr('disabled', false); $this.attr('disabled', false);

View File

@@ -72,12 +72,12 @@
$('input.new[name="admins[]"]', form).val(ui.item.id); $('input.new[name="admins[]"]', form).val(ui.item.id);
form.submit(); form.submit();
} }
}).data( "autocomplete" )._renderItem = function( ul, item ) { }).data( "ui-autocomplete" )._renderItem = function( ul, item ) {
var email = item.email ? '<br/>'+item.email : ''; var email = item.email ? '<br/>'+item.email : '';
var login = item.login != item.name ? " ("+ item.login +")" : ''; var login = item.login != item.name ? " ("+ item.login +")" : '';
return $( "<li></li>" ) return $( "<li></li>" )
.data( "item.autocomplete", item ) .data( "ui-autocomplete-item", item )
.append( "<a>" + item.name + login + email + "</a>" ) .append( "<a>" + item.name + login + email + "</a>" )
.appendTo( ul ); .appendTo( ul );
}; };

View File

@@ -35,7 +35,7 @@
$(document).ready(function(){ $(document).ready(function(){
$('#tabs').tabs({ $('#tabs').tabs({
selected:$("#tabs ul li").index($('#tabs ul li.current')) active:$("#tabs ul li").index($('#tabs ul li.current'))
}); });
{#tinyMCE.init({ {#tinyMCE.init({

View File

@@ -47,9 +47,8 @@ function datePicker()
changeYear: true, changeYear: true,
dateFormat:'yy-mm-dd', dateFormat:'yy-mm-dd',
numberOfMonths: 3, numberOfMonths: 3,
onSelect: function(selectedDate) { onSelect: function(selectedDate, instance) {
var option = $(this).hasClass("dmin") ? "minDate" : "maxDate"; var option = $(this).hasClass("dmin") ? "minDate" : "maxDate";
var instance = $(this).data("datepicker");
var date = $.datepicker.parseDate(instance.settings.dateFormat || $.datepicker._defaults.dateFormat, selectedDate, instance.settings); var date = $.datepicker.parseDate(instance.settings.dateFormat || $.datepicker._defaults.dateFormat, selectedDate, instance.settings);
$(dates).not(':hidden').not(this).datepicker("option", option, date); $(dates).not(':hidden').not(this).datepicker("option", option, date);
} }
@@ -60,9 +59,8 @@ function datePicker()
changeYear: true, changeYear: true,
dateFormat:'yy-mm-dd', dateFormat:'yy-mm-dd',
numberOfMonths: 3, numberOfMonths: 3,
onSelect: function(selectedDate) { onSelect: function(selectedDate, instance) {
var option = $(this).hasClass("dmin") ? "minDate" : "maxDate"; var option = $(this).hasClass("dmin") ? "minDate" : "maxDate";
var instance = $(this).data("datepicker");
var date = $.datepicker.parseDate(instance.settings.dateFormat || $.datepicker._defaults.dateFormat, selectedDate, instance.settings); var date = $.datepicker.parseDate(instance.settings.dateFormat || $.datepicker._defaults.dateFormat, selectedDate, instance.settings);
$(dates).not(':hidden').not(this).datepicker("option", option, date); $(dates).not(':hidden').not(this).datepicker("option", option, date);
} }

View File

@@ -43,9 +43,8 @@ function datePicker()
changeYear: true, changeYear: true,
dateFormat:'yy-mm-dd', dateFormat:'yy-mm-dd',
numberOfMonths: 3, numberOfMonths: 3,
onSelect: function(selectedDate) { onSelect: function(selectedDate, instance) {
var option = $(this).hasClass("dmin") ? "minDate" : "maxDate"; var option = $(this).hasClass("dmin") ? "minDate" : "maxDate";
var instance = $(this).data("datepicker");
var date = $.datepicker.parseDate(instance.settings.dateFormat || $.datepicker._defaults.dateFormat, selectedDate, instance.settings); var date = $.datepicker.parseDate(instance.settings.dateFormat || $.datepicker._defaults.dateFormat, selectedDate, instance.settings);
$(dates).not(':hidden').not(this).datepicker("option", option, date); $(dates).not(':hidden').not(this).datepicker("option", option, date);
} }
@@ -56,9 +55,8 @@ function datePicker()
changeYear: true, changeYear: true,
dateFormat:'yy-mm-dd', dateFormat:'yy-mm-dd',
numberOfMonths: 3, numberOfMonths: 3,
onSelect: function(selectedDate) { onSelect: function(selectedDate, instance) {
var option = $(this).hasClass("dmin") ? "minDate" : "maxDate"; var option = $(this).hasClass("dmin") ? "minDate" : "maxDate";
var instance = $(this).data("datepicker");
var date = $.datepicker.parseDate(instance.settings.dateFormat || $.datepicker._defaults.dateFormat, selectedDate, instance.settings); var date = $.datepicker.parseDate(instance.settings.dateFormat || $.datepicker._defaults.dateFormat, selectedDate, instance.settings);
$(dates).not(':hidden').not(this).datepicker("option", option, date); $(dates).not(':hidden').not(this).datepicker("option", option, date);
} }

View File

@@ -8,11 +8,12 @@
{% endblock %} {% endblock %}
{% block stylesheet %} {% block stylesheet %}
<link type="text/css" rel="stylesheet" href="{{ path('minifier', { 'f' : 'include/jslibs/jquery-ui-1.8.17/css/ui-lightness/jquery-ui-1.8.17.custom.css,include/jslibs/jquery-treeview/jquery.treeview.css,include/jslibs/jquery.contextmenu.css,skins/geonames/geonames.css,skins/common/main.css,skins/admin/css/Main.css,skins/admin/css/Bases.css,skins/admin/css/Tables.css,skins/admin/css/fields.css' }) }}" /> <link type="text/css" rel="stylesheet" href="{{ path('minifier', { 'f' : 'include/jslibs/jquery-treeview/jquery.treeview.css,include/jslibs/jquery.contextmenu.css,skins/geonames/geonames.css,skins/common/main.css,skins/admin/css/Main.css,skins/admin/css/Bases.css,skins/admin/css/Tables.css,skins/admin/css/fields.css' }) }}" />
{% endblock %} {% endblock %}
{% block javascript %} {% block javascript %}
{% include "common/templates.html.twig" %}
<script type="text/javascript" src="{{ path('minifier', { 'g' : 'admin' }) }}"></script> <script type="text/javascript" src="{{ path('minifier', { 'g' : 'admin' }) }}"></script>
<script type="text/javascript"> <script type="text/javascript">

View File

@@ -198,11 +198,11 @@
$('input[name="usr_id"]', form).val(ui.item.id); $('input[name="usr_id"]', form).val(ui.item.id);
form.submit(); form.submit();
} }
}).data( "autocomplete" )._renderItem = function( ul, item ) { }).data( "ui-autocomplete" )._renderItem = function( ul, item ) {
var email = item.email ? '<br/>'+item.email : ''; var email = item.email ? '<br/>'+item.email : '';
var login = item.login != item.name ? " ("+ item.login +")" : ''; var login = item.login != item.name ? " ("+ item.login +")" : '';
return $( "<li></li>" ) return $( "<li></li>" )
.data( "item.autocomplete", item ) .data( "ui-autocomplete-item", item )
.append( "<a>" + item.name + login + email + "</a>" ) .append( "<a>" + item.name + login + email + "</a>" )
.appendTo( ul ); .appendTo( ul );
}; };

View File

@@ -2,7 +2,7 @@
{% extends "admin/common/iframe_wrap.html.twig" %} {% extends "admin/common/iframe_wrap.html.twig" %}
{% block stylesheet %} {% block stylesheet %}
<link type="text/css" rel="stylesheet" href="{{ path('minifier', { 'f' : 'include/jslibs/jquery-ui-1.8.17/css/ui-lightness/jquery-ui-1.8.17.custom.css' }) }}" > <link type="text/css" rel="stylesheet" href="{{ path('minifier', { 'f' : 'include/jslibs/jquery-ui-1.10.3/css/ui-lightness/jquery-ui-1.10.3.custom.css' }) }}" >
<style> <style>
body{ body{
overflow:auto; overflow:auto;
@@ -12,13 +12,13 @@
{% block javascript %} {% block javascript %}
<script type="text/javascript" src="{{ path('minifier', { 'f' : 'assets/jquery/jquery.js,include/path_files_tests.jquery.js' }) }}"></script> <script type="text/javascript" src="{{ path('minifier', { 'f' : 'assets/jquery/jquery.js,include/path_files_tests.jquery.js' }) }}"></script>
<script type="text/javascript" src="{{ path('minifier', { 'f' : 'include/jslibs/jquery-ui-1.8.24.js' }) }}"></script> <script type="text/javascript" src="{{ path('minifier', { 'f' : 'include/jslibs/jquery-ui-1.10.3.js' }) }}"></script>
<script type="text/javascript"> <script type="text/javascript">
$(document).ready(function(){ $(document).ready(function(){
$('.path_testable').path_file_test(); $('.path_testable').path_file_test();
$('.url_testable').url_test(); $('.url_testable').url_test();
$('.tabs').tabs({ $('.tabs').tabs({
show:function(event, ui){ beforeActivate:function(event, ui){
$('.path_testable:visible, .url_testable:visible').trigger('keyup'); $('.path_testable:visible, .url_testable:visible').trigger('keyup');
} }
}); });

View File

@@ -94,9 +94,9 @@
$(document).ready(function(){ $(document).ready(function(){
$("#taskTabs").tabs({ $("#taskTabs").tabs({
selected: 1, active: 1,
select: function(event, ui) { beforeActivate: function(event, ui) {
switch(ui.panel.id) switch(ui.newPanel.id)
{ {
{% if task.getInterfaceHTML() is not empty %} {% if task.getInterfaceHTML() is not empty %}
case "taskGuiTab": case "taskGuiTab":
@@ -159,7 +159,7 @@
{% if task.getInterfaceHTML() is empty %} {% if task.getInterfaceHTML() is empty %}
$("#taskTabs").tabs("disable", 0); $("#taskTabs").tabs("disable", 0);
{% else %} {% else %}
$("#taskTabs").tabs("select", 0); $("#taskTabs").tabs("active", 0);
{% endif %} {% endif %}
$("#taskResetCrashCounterButton").click(function() $("#taskResetCrashCounterButton").click(function()

View File

@@ -21,7 +21,7 @@
HEIGHT: 128px; HEIGHT: 128px;
} }
</style> </style>
<link rel="stylesheet" type="text/css" href="{{ path('minifier', { 'f' : 'include/jslibs/jquery-ui-1.8.17/css/dark-hive/jquery-ui-1.8.17.custom.css' }) }}" /> <link rel="stylesheet" type="text/css" href="{{ path('minifier', { 'f' : 'include/jslibs/jquery-ui-1.10.3/css/dark-hive/jquery-ui-1.10.3.custom.css' }) }}" />
<link type="text/css" rel="stylesheet" href="{{ path('minifier', { 'f' : 'include/jslibs/jquery.contextmenu.css,skins/common/main.css' }) }}" /> <link type="text/css" rel="stylesheet" href="{{ path('minifier', { 'f' : 'include/jslibs/jquery.contextmenu.css,skins/common/main.css' }) }}" />
<link type="text/css" rel="stylesheet" href="{{ path('minifier', { 'f' : 'skins/client/clientcolor.css' }) }}" /> <link type="text/css" rel="stylesheet" href="{{ path('minifier', { 'f' : 'skins/client/clientcolor.css' }) }}" />
{% if css_file %} {% if css_file %}
@@ -40,7 +40,7 @@
<![endif]--> <![endif]-->
<script type="text/javascript" src="{{ path('minifier', { 'f' : 'assets/jquery/jquery.js' }) }}"></script> <script type="text/javascript" src="{{ path('minifier', { 'f' : 'assets/jquery/jquery.js' }) }}"></script>
<script type="text/javascript" src="{{ path('minifier', { 'f' : 'f=include/tinymce/jscripts/tiny_mce/tiny_mce.js' }) }}"></script> <script type="text/javascript" src="{{ path('minifier', { 'f' : 'f=include/tinymce/jscripts/tiny_mce/tiny_mce.js' }) }}"></script>
<script type="text/javascript" src="{{ path('minifier', { 'f' : 'include/jslibs/jquery-ui-1.8.24.js' }) }}"></script> <script type="text/javascript" src="{{ path('minifier', { 'f' : 'include/jslibs/jquery-ui-1.10.3.js' }) }}"></script>
<script type="text/javascript" src="{{ path('minifier', { 'g' : 'client' }) }}"></script> <script type="text/javascript" src="{{ path('minifier', { 'g' : 'client' }) }}"></script>
<script type="text/javascript" src="{{ path('minifier', { 'f' : 'include/jslibs/flowplayer/flowplayer-3.2.11.min.js' }) }}"></script> <script type="text/javascript" src="{{ path('minifier', { 'f' : 'include/jslibs/flowplayer/flowplayer-3.2.11.min.js' }) }}"></script>

View File

@@ -592,8 +592,10 @@
$(document).ready(function(){ $(document).ready(function(){
var dialog = p4.Dialog.get(1); var dialog = p4.Dialog.get(1);
var tabs = $('.tabs', dialog.getDomElement());
$('.tabs', dialog.getDomElement()).tabs('select',1); if (tabs.data('ui-tabs')) {
tabs.tabs('active',1);
}
$('a.TOUview').bind('click', function(){ $('a.TOUview').bind('click', function(){
var options = { var options = {
@@ -651,7 +653,11 @@
$('input[name="obj[]"][value="'+$(n).val()+'"]', $('#sendmail')).attr('checked', true); $('input[name="obj[]"][value="'+$(n).val()+'"]', $('#sendmail')).attr('checked', true);
}); });
$('input[name="destmail"]', $('#sendmail')).val("{{app['authentication'].getUser().get_email()}}"); $('input[name="destmail"]', $('#sendmail')).val("{{app['authentication'].getUser().get_email()}}");
$('.tabs', dialog.getDomElement()).tabs('select',1);
var tabs = $('.tabs', dialog.getDomElement());
if (tabs.data('ui-tabs')) {
tabs.tabs('active',1);
}
} }
return; return;

View File

@@ -4,13 +4,18 @@
<meta http-equiv="X-UA-Compatible" content="chrome=1"> <meta http-equiv="X-UA-Compatible" content="chrome=1">
<title>{% if local_title is defined%}{{local_title}} | {% endif %}{{ app['phraseanet.registry'].get('GV_homeTitle') }} {% if module_name is defined %} - {{ module_name }} {% endif %}</title> <title>{% if local_title is defined%}{{local_title}} | {% endif %}{{ app['phraseanet.registry'].get('GV_homeTitle') }} {% if module_name is defined %} - {{ module_name }} {% endif %}</title>
<link type="text/css" rel="stylesheet" href="{{ path('minifier', { 'f' : 'include/jslibs/jquery-ui-1.10.3/css/'~ jquery_theme|default('ui-lightness') ~'/jquery-ui-1.10.3.custom.css' }) }}" />
<link type="text/css" rel="stylesheet" href="{{ path('minifier', { 'f' : 'skins/build/bootstrap/css/bootstrap.css' }) }}" /> <link type="text/css" rel="stylesheet" href="{{ path('minifier', { 'f' : 'skins/build/bootstrap/css/bootstrap.css' }) }}" />
<link type="text/css" rel="stylesheet" href="{{ path('minifier', { 'f' : 'skins/build/bootstrap/css/bootstrap-responsive.css' }) }}" /> <link type="text/css" rel="stylesheet" href="{{ path('minifier', { 'f' : 'skins/build/bootstrap/css/bootstrap-responsive.css' }) }}" />
<link type="text/css" rel="stylesheet" href="{{ path('minifier', { 'f' : 'skins/common/main.css' }) }}"/> <link type="text/css" rel="stylesheet" href="{{ path('minifier', { 'f' : 'skins/common/main.css' }) }}"/>
<script type="text/javascript" src="{{ path('minifier', { 'f' : 'assets/jquery/jquery.js' }) }}"></script> <script type="text/javascript" src="{{ path('minifier', { 'f' : 'assets/jquery/jquery.js' }) }}"></script>
<script type="text/javascript" src="{{ path('minifier', { 'f' : 'include/jslibs/jquery-ui-1.10.3.js' }) }}"></script>
<script type="text/javascript" src="{{ path('minifier', { 'f' : 'skins/build/bootstrap/js/bootstrap.js' }) }}"></script> <script type="text/javascript" src="{{ path('minifier', { 'f' : 'skins/build/bootstrap/js/bootstrap.js' }) }}"></script>
<script type="text/javascript">
var btn = $.fn.button.noConflict(); // reverts $.fn.button to jqueryui btn
$.fn.btn = btn; // assigns bootstrap button functionality to $.fn.btn
</script>
{% block stylesheet %}{% endblock %} {% block stylesheet %}{% endblock %}
{% block icon %}{% endblock %} {% block icon %}{% endblock %}
{% block rss %}{% endblock %} {% block rss %}{% endblock %}

View File

@@ -0,0 +1,13 @@
<script type="text/template" id="alert_success_tpl">
<div class="alert alert-success">
<button class="close" data-dismiss="alert">×</button>
<%= content %>
</div>
</script>
<script type="text/template" id="alert_error_tpl">
<div class="alert alert-success">
<button class="close" data-dismiss="alert">×</button>
<%= content %>
</div>
</script>

View File

@@ -4,15 +4,9 @@
{% import 'common/caption_templates/preview.html.twig' as caption %} {% import 'common/caption_templates/preview.html.twig' as caption %}
{% block javascript %} {% block javascript %}
<script type="text/javascript" src="{{ path('minifier', { 'f' : 'assets/jquery/jquery.js' }) }}"></script>
<script type="text/javascript" src="{{ path('minifier', { 'f' : 'include/jslibs/jquery-ui-1.8.24.js' }) }}"></script>
<script type="text/javascript" src="{{ path('minifier', { 'g' : 'lightboxie6' }) }}"></script> <script type="text/javascript" src="{{ path('minifier', { 'g' : 'lightboxie6' }) }}"></script>
{% endblock %} {% endblock %}
{% block stylesheet %}
<link type="text/css" rel="stylesheet" href="{{ path('minifier', { 'f' : 'include/jslibs/jquery-ui-1.8.17/css/ui-lightness/jquery-ui-1.8.17.custom.css,skins/lightbox/lightboxie6.css' }) }}" media="screen"/>
{% endblock %}
{% block content %} {% block content %}
<div id="innerWrapper" style="top:10px;left:10px;position:relative;width:100%;height:100%;"> <div id="innerWrapper" style="top:10px;left:10px;position:relative;width:100%;height:100%;">
<div id="innerTop" style="bottom:186px;position:relative;bottom:0;width:100%;"> <div id="innerTop" style="bottom:186px;position:relative;bottom:0;width:100%;">

View File

@@ -3,13 +3,11 @@
{% import 'common/thumbnail.html.twig' as thumbnail %} {% import 'common/thumbnail.html.twig' as thumbnail %}
{% block javascript %} {% block javascript %}
<script type="text/javascript" src="{{ path('minifier', { 'f' : 'assets/jquery/jquery.js' }) }}"></script>
<script type="text/javascript" src="{{ path('minifier', { 'f' : 'include/jslibs/jquery-ui-1.8.24.js' }) }}"></script>
<script type="text/javascript" src="{{ path('minifier', { 'g' : 'lightbox' }) }}"></script> <script type="text/javascript" src="{{ path('minifier', { 'g' : 'lightbox' }) }}"></script>
{% endblock %} {% endblock %}
{% block stylesheet %} {% block stylesheet %}
<link type="text/css" rel="stylesheet" href="{{ path('minifier', { 'f' : 'include/jslibs/jquery.contextmenu.css,include/jslibs/jquery-ui-1.8.17/css/ui-lightness/jquery-ui-1.8.17.custom.css,skins/lightbox/lightboxie6.css' }) }}" media="screen"/> <link type="text/css" rel="stylesheet" href="{{ path('minifier', { 'f' : 'include/jslibs/jquery.contextmenu.css,skins/lightbox/lightboxie6.css' }) }}" media="screen"/>
{% endblock %} {% endblock %}
{% block icon %} {% block icon %}

View File

@@ -4,14 +4,12 @@
{% import 'common/caption_templates/preview.html.twig' as caption %} {% import 'common/caption_templates/preview.html.twig' as caption %}
{% block javascript %} {% block javascript %}
<script type="text/javascript" src="{{ path('minifier', { 'f' : 'assets/jquery/jquery.js' }) }}"></script>
<script type="text/javascript" src="{{ path('minifier', { 'f' : 'include/jslibs/jquery-ui-1.8.24.js' }) }}"></script>
<script type="text/javascript" src="{{ path('minifier', { 'g' : 'lightboxie6' }) }}"></script> <script type="text/javascript" src="{{ path('minifier', { 'g' : 'lightboxie6' }) }}"></script>
{% endblock %} {% endblock %}
{% block stylesheet %} {% block stylesheet %}
<link type="text/css" rel="stylesheet" <link type="text/css" rel="stylesheet"
href="{{ path('minifier', { 'f' : 'include/jslibs/jquery-ui-1.8.17/css/ui-lightness/jquery-ui-1.8.17.custom.css,skins/lightbox/lightboxie6.css' }) }}" media="screen"/> href="{{ path('minifier', { 'f' : 'include/jslibs/jquery-ui-1.10.3/css/ui-lightness/jquery-ui-1.10.3.custom.css,skins/lightbox/lightboxie6.css' }) }}" media="screen"/>
{% endblock %} {% endblock %}
{% block content %} {% block content %}

View File

@@ -4,14 +4,12 @@
{% import 'common/caption_templates/preview.html.twig' as caption %} {% import 'common/caption_templates/preview.html.twig' as caption %}
{% block javascript %} {% block javascript %}
<script type="text/javascript" src="{{ path('minifier', { 'f' : 'assets/jquery/jquery.js' }) }}"></script>
<script type="text/javascript" src="{{ path('minifier', { 'f' : 'include/jslibs/jquery-ui-1.8.24.js' }) }}"></script>
<script type="text/javascript" src="{{ path('minifier', { 'g' : 'lightbox' }) }}"></script> <script type="text/javascript" src="{{ path('minifier', { 'g' : 'lightbox' }) }}"></script>
{% endblock %} {% endblock %}
{% block stylesheet %} {% block stylesheet %}
<link type="text/css" rel="stylesheet" <link type="text/css" rel="stylesheet"
href="{{ path('minifier', { 'f' : 'include/jslibs/jquery.contextmenu.css,include/jslibs/jquery-ui-1.8.17/css/ui-lightness/jquery-ui-1.8.17.custom.css,skins/lightbox/lightbox.css' }) }}" media="screen"/> href="{{ path('minifier', { 'f' : 'skins/lightbox/lightbox.css' }) }}" media="screen"/>
{% endblock %} {% endblock %}

View File

@@ -3,14 +3,12 @@
{% import 'common/thumbnail.html.twig' as thumbnail %} {% import 'common/thumbnail.html.twig' as thumbnail %}
{% block javascript %} {% block javascript %}
<script type="text/javascript" src="{{ path('minifier', { 'f' : 'assets/jquery/jquery.js' }) }}"></script>
<script type="text/javascript" src="{{ path('minifier', { 'f' : 'include/jslibs/jquery-ui-1.8.24.js' }) }}"></script>
<script type="text/javascript" src="{{ path('minifier', { 'g' : 'lightbox' }) }}"></script> <script type="text/javascript" src="{{ path('minifier', { 'g' : 'lightbox' }) }}"></script>
{% endblock %} {% endblock %}
{% block stylesheet %} {% block stylesheet %}
<link type="text/css" rel="stylesheet" <link type="text/css" rel="stylesheet"
href="{{ path('minifier', { 'f' : 'include/jslibs/jquery.contextmenu.css,include/jslibs/jquery-ui-1.8.17/css/ui-lightness/jquery-ui-1.8.17.custom.css,skins/lightbox/lightbox.css' }) }}" media="screen"/> href="{{ path('minifier', { 'f' : 'include/jslibs/jquery.contextmenu.css,skins/lightbox/lightbox.css' }) }}" media="screen"/>
{% endblock %} {% endblock %}
{% block icon %} {% block icon %}

View File

@@ -4,14 +4,12 @@
{% import 'common/caption_templates/preview.html.twig' as caption %} {% import 'common/caption_templates/preview.html.twig' as caption %}
{% block javascript %} {% block javascript %}
<script type="text/javascript" src="{{ path('minifier', { 'f' : 'assets/jquery/jquery.js' }) }}"></script>
<script type="text/javascript" src="{{ path('minifier', { 'f' : 'include/jslibs/jquery-ui-1.8.24.js' }) }}"></script>
<script type="text/javascript" src="{{ path('minifier', { 'g' : 'lightbox' }) }}"></script> <script type="text/javascript" src="{{ path('minifier', { 'g' : 'lightbox' }) }}"></script>
{% endblock %} {% endblock %}
{% block stylesheet %} {% block stylesheet %}
<link type="text/css" rel="stylesheet" <link type="text/css" rel="stylesheet"
href="{{ path('minifier', { 'f' : 'include/jslibs/jquery.contextmenu.css,include/jslibs/jquery-ui-1.8.17/css/ui-lightness/jquery-ui-1.8.17.custom.css,skins/lightbox/lightbox.css' }) }}" media="screen"/> href="{{ path('minifier', { 'f' : 'include/jslibs/jquery.contextmenu.css,skins/lightbox/lightbox.css' }) }}" media="screen"/>
{% endblock %} {% endblock %}

View File

@@ -61,7 +61,7 @@
{% endblock %} {% endblock %}
{% block javascript %} {% block javascript %}
<script type="text/javascript" src="{{ path('minifier', { 'f' : 'assets/jquery/jquery.js,include/jslibs/jquery.mousewheel.js,include/jquery.image_enhancer.js,include/jslibs/swfobject/swfobject.js' }) }}"></script> <script type="text/javascript" src="{{ path('minifier', { 'f' : 'assets/jquery/jquery.js,include/jslibs/jquery.mousewheel.js,include/jquery.image_enhancer.js,include/jslibs/swfobject/swfobject.js' }) }}"></script>
<script type="text/javascript" src="{{ path('minifier', { 'f' : 'include/jslibs/jquery-ui-1.8.24.js' }) }}"></script> <script type="text/javascript" src="{{ path('minifier', { 'f' : 'include/jslibs/jquery-ui-1.10.3.js' }) }}"></script>
<script type="text/javascript" src="/include/jslibs/flowplayer/flowplayer-3.2.11.min.js"></script> <script type="text/javascript" src="/include/jslibs/flowplayer/flowplayer-3.2.11.min.js"></script>
<script type="text/javascript"> <script type="text/javascript">
$(document).ready(function(){ $(document).ready(function(){

View File

@@ -109,7 +109,7 @@ $(function() {
$('.error_box, .notice_box', $panel).delay(10000).fadeOut(); $('.error_box, .notice_box', $panel).delay(10000).fadeOut();
$('.back_link', $panel).bind('click', function(){ $('.back_link', $panel).bind('click', function(){
$('#pub_tabs').tabs('load',$('#pub_tabs').tabs('option', 'selected')); $('#pub_tabs').tabs('load',$('#pub_tabs').tabs('option', 'active'));
return false; return false;
}); });
@@ -316,15 +316,19 @@ $(function() {
} }
pub_tabs.tabs({ pub_tabs.tabs({
beforeLoad: function( event, ui ) {
ui.tab.find('span').html("<i>loading...</i>");
},
load: function(event, ui) load: function(event, ui)
{ {
ui.tab.find('span').empty();
$panel = $(ui.panel); $panel = $(ui.panel);
$('.container-bridge', $panel).removeClass('loading'); $('.container-bridge', $panel).removeClass('loading');
panel_load($panel); panel_load($panel);
} }
//@todo remove this as it is deprected, check where new tabs is added
, panelTemplate : '<div class="PNB"><div class="PNB10 container-bridge"></div></div>' , panelTemplate : '<div class="PNB"><div class="PNB10 container-bridge"></div></div>'
, spinner: '<i>loading...</i>' ,beforeActivate: function(event, ui)
,select: function(event, ui)
{ {
if($(ui.tab).hasClass('account')) if($(ui.tab).hasClass('account'))
{ {

View File

@@ -68,6 +68,9 @@
</form> </form>
</div> </div>
</div> </div>
{% include "prod/templates/push.html.twig" %}
<script type="text/javascript"> <script type="text/javascript">
$(document).ready(function(){ $(document).ready(function(){
var $container = $('#ListShare'), var $container = $('#ListShare'),
@@ -136,7 +139,6 @@
function unShareWith(usr_id, callback) function unShareWith(usr_id, callback)
{ {
$.ajax({ $.ajax({
type: 'POST', type: 'POST',
url: '/prod/lists/list/{{ list.getId() }}/unshare/' + usr_id + '/', url: '/prod/lists/list/{{ list.getId() }}/unshare/' + usr_id + '/',
@@ -182,7 +184,7 @@
}); });
}, },
select: function( event, ui ) { select: function( event, ui ) {
if(ui.item.type == 'USER') if(ui.item.type === 'USER')
{ {
shareWith(ui.item.usr_id); shareWith(ui.item.usr_id);
} }
@@ -190,23 +192,14 @@
return false; return false;
} }
}) })
.data( "autocomplete" )._renderItem = function( ul, item ) { .data( "ui-autocomplete" )._renderItem = function( ul, item ) {
if(item.type === 'USER') {
html = _.template($("#list_user_tpl").html(), {
item: item
});
$autocompleter.addClass('loading'); return $(html).data( "ui-autocomplete-item", item ).appendTo(ul);
var callback = function(datas){
$(datas).data( "item.autocomplete", item ).appendTo( ul );
$autocompleter.data( "autocomplete" ).menu.refresh();
$autocompleter.data('autocomplete')._resizeMenu();
$autocompleter.removeClass('loading');
};
if(item.type == 'USER')
{
var datas = p4.Mustache.Render('List-User-Item', item, callback);
} }
return;
}; };
}); });
</script> </script>

View File

@@ -6,7 +6,7 @@
<tr> <tr>
<td style="white-space:nowrap;"> <td style="white-space:nowrap;">
{% if list.getOwner(app['authentication'].getUser(), app).getRole() >= constant('\\Entities\\UsrListOwner::ROLE_EDITOR') %} {% if list.getOwner(app['authentication'].getUser(), app).getRole() >= constant('\\Entities\\UsrListOwner::ROLE_EDITOR') %}
<form class="form-inline" method="POST" name="SaveName" action="{{ path('prod_lists_list_update', { 'list_id' : list.get_id() }) }}"> <form class="form-inline" method="POST" name="SaveName" action="{{ path('prod_lists_list_update', { 'list_id' : list.getId() }) }}">
<label>{% trans 'List Name' %}</label> <label>{% trans 'List Name' %}</label>
<input type="text" name="name" style="margin: 0 5px;" value="{{ list.getName() }}"/> <input type="text" name="name" style="margin: 0 5px;" value="{{ list.getName() }}"/>
<button class="btn btn-inverse">{% trans 'Save' %}</button> <button class="btn btn-inverse">{% trans 'Save' %}</button>
@@ -55,7 +55,7 @@
</div> </div>
{% if list.getOwner(app['authentication'].getUser(), app).getRole() >= constant('\\Entities\\UsrListOwner::ROLE_EDITOR') %} {% if list.getOwner(app['authentication'].getUser(), app).getRole() >= constant('\\Entities\\UsrListOwner::ROLE_EDITOR') %}
<div class="PNB content readwrite grey-bg" style="display:none;top:40px;"> <div class="PNB content readwrite grey-bg" style="display:none;top:40px;">
<form name="list-editor-search" method="POST" action="{{ path('prod_push_list_edit', { 'list_id' : list.get_id() }) }}"> <form name="list-editor-search" method="POST" action="{{ path('prod_push_list_edit', { 'list_id' : list.getId() }) }}">
<div class="PNB10" style="height:160px;"> <div class="PNB10" style="height:160px;">
<div class="PNB" style="height:40px;bottom:auto;"> <div class="PNB" style="height:40px;bottom:auto;">
<button class="Refresher btn btn-inverse" type="button">&lt;{% trans 'View' %}</button> <button class="Refresher btn btn-inverse" type="button">&lt;{% trans 'View' %}</button>

View File

@@ -128,12 +128,27 @@
<script type="text/javascript"> <script type="text/javascript">
$(document).ready(function(){ $(document).ready(function(){
$("#tabs-records-property").tabs({ $("#tabs-records-property").tabs({
ajaxOptions: { beforeLoad: function( event, ui ) {
data : { ui.ajaxSettings.data = {
lst: $("input[name=original_selection]", $(this)).val() lst: $("input[name=original_selection]", $(this)).val()
};
// load template only once
if ( ui.tab.data( "loaded" ) ) {
event.preventDefault();
return;
} }
ui.jqXHR.success(function() {
ui.tab.data( "loaded", true );
});
ui.tab.find('span').html("<i>loading...</i>");
}, },
cache: true //Load template only once load: function(event, ui)
{
ui.tab.find('span').empty();
}
}); });
var $dialog = p4.Dialog.get(1); var $dialog = p4.Dialog.get(1);

View File

@@ -236,11 +236,11 @@
<form method="post"></form> <form method="post"></form>
</div> </div>
{% include "prod/templates/push.html.twig" %}
<script type="text/javascript"> <script type="text/javascript">
$(document).ready(function(){ $(document).ready(function(){
p4.Feedback = new Feedback($('#PushBox'), '{{ context }}'); p4.Feedback = new Feedback($('#PushBox'), '{{ context }}');
p4.ListManager = new ListManager($('#ListManager')); p4.ListManager = new ListManager($('#ListManager'));
}); });
</script> </script>

View File

@@ -270,7 +270,7 @@
{# hd sub section #} {# hd sub section #}
{% if selectionLength == 1 and (app['phraseanet.registry'].get('GV_seeOngChgDoc') or app['phraseanet.registry'].get('GV_seeNewThumb')) %} {% if selectionLength == 1 and (app['phraseanet.registry'].get('GV_seeOngChgDoc') or app['phraseanet.registry'].get('GV_seeNewThumb')) %}
{% for record in selection %} {% for record in records %}
<div id="substitution" class="tabBox"> <div id="substitution" class="tabBox">
{% if "unknown" == record.get_type() %} {% if "unknown" == record.get_type() %}

View File

@@ -44,8 +44,9 @@
{% endmacro %} {% endmacro %}
{% extends "common/index_bootstrap.html.twig" %} {% set jquery_theme = 'dark-hive' %}
{% extends "common/index_bootstrap.html.twig" %}
{% block icon %} {% block icon %}
<link rel="shortcut icon" type="image/x-icon" href="/skins/prod/favicon.ico"> <link rel="shortcut icon" type="image/x-icon" href="/skins/prod/favicon.ico">
@@ -97,7 +98,7 @@
} }
</style> </style>
<link type="text/css" rel="stylesheet" href="{{ path('minifier', { 'f' : 'include/jslibs/jquery.contextmenu.css,include/jslibs/colorpicker/css/colorpicker.css,include/jslibs/jquery-treeview/jquery.treeview.css,skins/common/main.css,skins/geonames/geonames.css,include/jquery.image_enhancer.css,include/jslibs/jquery-ui-1.8.17/css/dark-hive/jquery-ui-1.8.17.custom.css' }) }}" > <link type="text/css" rel="stylesheet" href="{{ path('minifier', { 'f' : 'include/jslibs/jquery.contextmenu.css,include/jslibs/colorpicker/css/colorpicker.css,include/jslibs/jquery-treeview/jquery.treeview.css,skins/common/main.css,skins/geonames/geonames.css,include/jquery.image_enhancer.css' }) }}" >
<link id="skinCss" type="text/css" rel="stylesheet" href="{{ path('minifier', { 'f' : 'skins/prod/' ~ cssfile ~ '/prodcolor.css' }) }}" > <link id="skinCss" type="text/css" rel="stylesheet" href="{{ path('minifier', { 'f' : 'skins/prod/' ~ cssfile ~ '/prodcolor.css' }) }}" >
<link type="text/css" rel="stylesheet" href="{{ path('minifier', { 'f' : 'assets/humane-js/themes/libnotify.css,skins/prod/Prod.css,skins/prod/Basket.css,skins/prod/Push.css' }) }}" > <link type="text/css" rel="stylesheet" href="{{ path('minifier', { 'f' : 'assets/humane-js/themes/libnotify.css,skins/prod/Prod.css,skins/prod/Basket.css,skins/prod/Push.css' }) }}" >
@@ -122,6 +123,7 @@
{% block javascript %} {% block javascript %}
{% include "common/templates.html.twig" %}
{% endblock %} {% endblock %}
@@ -169,7 +171,7 @@
</li> </li>
{% endif %} {% endif %}
<li style="float:right;"> <li style="float:right;">
<a href="#" class="escamote" style="margin:8px 0;"> <a href="#" class="" style="margin:8px 0;">
<img src="/skins/icons/workzoneEscamote.png" title="{% trans 'Close the WorkZone' %}"/> <img src="/skins/icons/workzoneEscamote.png" title="{% trans 'Close the WorkZone' %}"/>
</a> </a>
</li> </li>
@@ -1016,7 +1018,6 @@
{% include "prod/thesaurus.js" %} {% include "prod/thesaurus.js" %}
</script> </script>
<script type="text/javascript" src="{{ path('minifier', { 'g' : 'prod' }) }}"></script> <script type="text/javascript" src="{{ path('minifier', { 'g' : 'prod' }) }}"></script>
<script type="text/javascript" src="{{ path('minifier', { 'f' : 'include/jslibs/jquery-ui-1.8.24.js' }) }}"></script>
<script type="text/javascript"> <script type="text/javascript">
$(document).ready(function(){ $(document).ready(function(){
p4.reg_delete="{% if app['authentication'].getUser().getPrefs("warning_on_delete_story") %}true{% else %}false{% endif %}"; p4.reg_delete="{% if app['authentication'].getUser().getPrefs("warning_on_delete_story") %}true{% else %}false{% endif %}";

View File

@@ -0,0 +1,194 @@
<script type="text/template" id="list_user_tpl">
<li class="list-item user" class="">
<a>
<table>
<tr>
<td class="icon">
<img src="/skins/icons/user.png"/>
</td>
<td class="infos">
<div style="margin:5px 10px 5px;">
<table>
<tr>
<td>
<span class="name"><%= item.display_name %></span>
</td>
</tr>
<tr>
<td>
<span class="subtite"><%= item.subtitle || '' %></span>
</td>
</tr>
</table>
</div>
</td>
</tr>
</table>
</a>
</li>
</script>
<script type="text/template" id="list_list_tpl">
<li class="list-item list" class="width:280px;height:45px;">
<a>
<table>
<tr>
<td class="icon">
<img src="/skins/prod/Push/list-icon.png"/>
</td>
<td class="infos">
<div style="margin:5px 10px 5px;">
<table>
<tr>
<td>
<span class="name"><%= item.name %></span>
</td>
</tr>
<tr>
<td>
<span class="subtite"><%= item.length %> {% trans %}element(s){% endtrans %}</span>
</td>
</tr>
</table>
</div>
</td>
</tr>
</table>
</a>
</li>
</script>
<script type="text/template" id="feeback_badge_tpl">
<div class="badge badge_<%= user.usr_id %>">
<a href="#" class="deleter">
<img src="/skins/prod/Push/close_badge.png"/>
</a>
<input name="id" value="<%= user.usr_id %>" type="hidden" />
<table>
<tr>
<td class="icon">
<img src="/skins/icons/user.png"/>
</td>
<td class="infos">
<div>
<input type="hidden" name="participants[<%= user.usr_id %>][usr_id]" value="<%= user.usr_id %>" />
<table>
<tr>
<td colspan="3">
<span class="name"><%= user.display_name %></span>
</td>
</tr>
<tr>
<td colspan="3">
<span class="subtite"><%= user.subtitle || '' %></span>
</td>
</tr>
<tr class="toggles">
<td class="toggle status_on toggle_agree">
<img title="{% trans %}User contribute to the feedback{% endtrans %}" class="toggle_off" src="/skins/prod/Push/contributeur_off_badge.png" />
<img title="{% trans %}User contribute to the feedback{% endtrans %}" class="toggle_on" src="/skins/prod/Push/contributeur_badge.png" />
<input type="hidden" name="participants[<%= user.usr_id %>][agree]" value="1" />
</td>
<td class="toggle status_off toggle_see_others">
<img title="{% trans %}User can see others choices{% endtrans %}" class="toggle_off" src="/skins/prod/Push/see_other_off_badge.png" />
<img title="{% trans %}User can see others choices{% endtrans %}" class="toggle_on" src="/skins/prod/Push/see_other_badge.png" />
<input type="hidden" name="participants[<%= user.usr_id %>][see_others]" value="0" />
</td>
<td class="toggle status_off toggle_HD">
<img title="{% trans %}User can download HD{% endtrans %}" class="toggle_off" src="/skins/prod/Push/download_off_badge.png" />
<img title="{% trans %}User can download HD{% endtrans %}" class="toggle_on" src="/skins/prod/Push/download_badge.png" />
<input type="hidden" name="participants[<%= user.usr_id %>][HD]" value="0" />
</td>
</tr>
</table>
</div>
</td>
</tr>
</table>
</div>
</script>
<script type="text/template" id="list_editor_dialog_add_tpl">
<form action="{{ path('prod_lists_list') }}" method="POST" onsubmit="return false;">
<label style='display:inline'>{% trans %}New list name ?{% endtrans %}</label>
<input type="text" name="name" style="margin:0"/>
</form>
</script>
<script type="text/template" id="list_editor_dialog_delete_tpl">
<p>
{% trans %}Are you sure you want to delete this list ?{% endtrans %}
</p>
</script>
<script type="text/template" id="feedback_sendform_tpl">
<form>
<div class="Feedback" style="display:none;">
<label for="PushSendFormDuration">{% trans %}Time for feedback (days){% endtrans %}</label>
<select id="PushSendFormDuration" name="duration" class="input-block-level">
<option value="20">20</option>
<option value="15">15</option>
<option value="10">10</option>
<option value="5">5</option>
<option value="3">3</option>
<option value="2">2</option>
<option value="1">1</option>
</select>
</div>
<div>
<label for="PushSendFormRecept">{% trans %}Name{% endtrans %}</label>
<input id="PushSendFormName" type="text" name="name" class="input-block-level"/>
</div>
<div>
<label for="PushSendFormMessage">{% trans %}Message{% endtrans %}</label>
<textarea id="PushSendFormMessage" name="message" class="input-block-level"></textarea>
</div>
<div>
<label for="PushSendFormRecept" class="checkbox">
<input id="PushSendFormRecept" type="checkbox" name="recept" value="1"/>
{% trans %}Accuse de reception{% endtrans %}
</label>
</div>
</form>
</script>
<script type="text/template" id="push_badge_tpl">
<div class="badge badge_<%= user.usr_id %>">
<a href="#" class="deleter">
<img src="/skins/prod/Push/close_badge.png"/>
</a>
<input name="id" value="<%= user.usr_id %>" type="hidden" />
<table>
<tr>
<td class="icon">
<img src="/skins/icons/user.png"/>
</td>
<td class="infos">
<div>
<input type="hidden" name="participants[<%= user.usr_id %>][usr_id]" value="<%= user.usr_id %>" />
<table>
<tr>
<td colspan="3">
<span class="name"><%= user.display_name %></span>
</td>
</tr>
<tr>
<td colspan="3">
<span class="subtite"><%= user.subtitle || '' %></span>
</td>
</tr>
<tr class="toggles">
<td class="toggle status_off toggle_HD">
<img title="{% trans %}User can download HD{% endtrans %}" class="toggle_off" src="/skins/prod/Push/download_off_badge.png" />
<img title="{% trans %}User can download HD{% endtrans %}" class="toggle_on" src="/skins/prod/Push/download_badge.png" />
<input type="hidden" name="participants[<%= user.usr_id %>][HD]" value="0" />
</td>
</tr>
</table>
</div>
</td>
</tr>
</table>
</div>
</script>

View File

@@ -0,0 +1,51 @@
<script type="text/template" id="upload_items_error_tpl">
<li class="span2">
<div class="upload-record thumbnail">
<p class="name-doc"><%= name %></p>
<div class="alert-error">
<p><%= error %></p>
</div>
</div>
</li>
</script>
<script type="text/template" id="upload_items_tpl">
<li class="span2 upload-valid">
<div id ="<%= id %>" class="upload-record thumbnail">
<div class="canva-wrapper"></div>
<div class="caption">
<p class="name-doc"><%= name %></p>
<p class="infos-doc"><%= size %>, <%= type %></p>
<button type="button" class="remove-element btn btn-inverse btn-mini"><%= language.cancel %></button>
<input type="hidden" name="uploadIndex" value="<%= uploadIndex %>"/>
</div>
</div>
</li>
</script>
<script type="text/template" id="download_items_tpl">
<li class="span2">
<div id="<%=id%>" class="upload-record thumbnail">
<div class="canva-wrapper"></div>
<div class="caption">
<p class="name-doc"><%= name %></p>
<div class="progress progress-striped active">
<div class="progress-bar bar" style="width: 0%;"></div>
</div>
<p class="error alert-error"></p>
<p class="success alert-success"></p>
<button type="button" class="remove-element btn btn-inverse btn-mini"><%= language.cancel %></button>
</div>
</div>
</li>
</script>
<script type="text/template" id="download_finish_tpl">
<b><%= heading %></b>
<br />
<% _.each(reasons, function(reason) { %>
<div>*<%= reason%></div>
<% }); %>
</script>

View File

@@ -541,7 +541,7 @@ function C_MenuOption(menuItem, menu, option, parm)
// set the content of the wizard // set the content of the wizard
$("#THPD_WIZARDS .wiz_1 .txt").html(msg); $("#THPD_WIZARDS .wiz_1 .txt").html(msg);
// ... and switch to the thesaurus tab // ... and switch to the thesaurus tab
p4.thesau.tabs.tabs('select', 0); p4.thesau.tabs.tabs('active', 0);
thesauShowWizard("wiz_1", true); thesauShowWizard("wiz_1", true);
break; break;
@@ -567,7 +567,7 @@ function C_MenuOption(menuItem, menu, option, parm)
msg = $.sprintf('{{ messageMany |e }}', trees.C._selInfos.n); msg = $.sprintf('{{ messageMany |e }}', trees.C._selInfos.n);
} }
p4.thesau.tabs.tabs('select', 0); p4.thesau.tabs.tabs('active', 0);
// set the content of the wizard // set the content of the wizard
$("#THPD_WIZARDS .wiz_2 .txt").html(msg); $("#THPD_WIZARDS .wiz_2 .txt").html(msg);

View File

@@ -94,16 +94,20 @@
if(data.success){ if(data.success){
}else{ }else{
p4.Mustache.Render('Alert-Error', {content:data.message}, function(html){ var html = _.template($("#alert_error_tpl").html(), {
that.closest(".btn-group").before( html ); content:datas.message
}); });
that.closest(".btn-group").before( html );
} }
}, },
error: function(){ error: function(){
stopAjax(that); stopAjax(that);
p4.Mustache.Render('Alert-Error', {content:data.message}, function(html){ var html = _.template($("#alert_error_tpl").html(), {
that.closest(".btn-group").before( html ); content:datas.message
}); });
that.closest(".btn-group").before( html );
}, },
complete: function(){ complete: function(){
stopAjax(that); stopAjax(that);
@@ -133,15 +137,17 @@
if(data.success){ if(data.success){
that.closest(".wrapper-item").remove(); that.closest(".wrapper-item").remove();
}else{ }else{
p4.Mustache.Render('Alert-Error', {content:data.message}, function(html){ var html = _.template($("#alert_error_tpl").html(), {
that.closest(".thumbnail").append(html); content:datas.message
}); });
that.closest(".thumbnail").append(html);
} }
}, },
error: function(){ error: function(){
p4.Mustache.Render('Alert-Error', {content:language.errorAjaxRequest}, function(html){ var html = _.template($("#alert_error_tpl").html(), {
that.closest(".thumbnail").append(html); content:language.errorAjaxRequest
}); });
that.closest(".thumbnail").append(html);
}, },
complete: function(){ complete: function(){
stopAjax(that); stopAjax(that);
@@ -166,15 +172,17 @@
if(data.success){ if(data.success){
that.closest(".wrapper-item").remove(); that.closest(".wrapper-item").remove();
}else{ }else{
p4.Mustache.Render('Alert-Error', {content:data.message}, function(html){ var html = _.template($("#alert_error_tpl").html(), {
that.closest(".thumbnail").append(html); content:data.message
}); });
that.closest(".thumbnail").append(html);
} }
}, },
error: function(){ error: function(){
p4.Mustache.Render('Alert-Error', {content:language.errorAjaxRequest}, function(html){ var html = _.template($("#alert_error_tpl").html(), {
that.closest(".thumbnail").append(html); content:language.errorAjaxRequest
}); });
that.closest(".thumbnail").append(html);
}, },
complete: function(){ complete: function(){
stopAjax(that); stopAjax(that);
@@ -225,15 +233,17 @@
if(data.success){ if(data.success){
that.closest(".wrapper-item").remove(); that.closest(".wrapper-item").remove();
}else{ }else{
p4.Mustache.Render('Alert-Error', {content:data.message}, function(html){ var html = _.template($("#alert_error_tpl").html(), {
that.closest(".thumbnail").append(html); content:data.message
}); });
that.closest(".thumbnail").append(html);
} }
}, },
error: function(){ error: function(){
p4.Mustache.Render('Alert-Error', {content:language.errorAjaxRequest}, function(html){ var html = _.template($("#alert_error_tpl").html(), {
that.closest(".thumbnail").append(html); content:language.errorAjaxRequest
}); });
that.closest(".thumbnail").append(html);
}, },
complete: function(){ complete: function(){
stopAjax(that); stopAjax(that);

View File

@@ -121,6 +121,7 @@
</div> </div>
</div> </div>
{% include "prod/templates/upload.html.twig" %}
<script type="text/javascript" src="{{ path('minifier', { 'g' : 'uploadflash' }) }}"></script> <script type="text/javascript" src="{{ path('minifier', { 'g' : 'uploadflash' }) }}"></script>
<script type="text/javascript"> <script type="text/javascript">
$(document).ready(function(){ $(document).ready(function(){
@@ -135,17 +136,22 @@
{# Create tabs #} {# Create tabs #}
$(".upload-tabs").tabs({ $(".upload-tabs").tabs({
spinner: language.loading + '<img src="/skins/icons/loader404040.gif"/>', beforeLoad: function( event, ui ) {
ajaxOptions: { ui.jqXHR.success(function( xhr, status, index, anchor ) {
success: function( xhr, status, index, anchor ) {
var lazaretBox = $("#lazaretBox"); var lazaretBox = $("#lazaretBox");
$('.userTips', lazaretBox).tooltip(); $('.userTips', lazaretBox).tooltip();
}, });
error: function( xhr, status, index, anchor ) { ui.jqXHR.error(function( xhr, status, index, anchor ) {
//display error message if ajax failed //display error message if ajax failed
$( anchor.hash ).html(language.error); $( anchor.hash ).html(language.error);
} });
ui.tab.find('span').html(language.loading + '<img src="/skins/icons/loader404040.gif"/>');
},
load: function(event, ui)
{
ui.tab.find('span').empty();
} }
}); });
@@ -196,21 +202,20 @@
var formatedFile = { var formatedFile = {
id: file.id, id: file.id,
size: file.size != undefined ? UploaderManager.Formater.size(file.size) : '', size: typeof file.size !== "undefined" ? UploaderManager.Formater.size(file.size) : '',
name: file.name, name: file.name,
type: file.type != undefined ? file.type : '', type: typeof file.type !== "undefined" ? file.type : '',
uploadIndex: file.index, uploadIndex: file.index,
language: language language: language
} };
p4.Mustache.Render('Upload-Items', formatedFile, function(html){ var html = _.template($("#upload_items_tpl").html(), formatedFile);
UploaderManager.getUploadBox().append(html); UploaderManager.getUploadBox().append(html);
$("#"+file.id).find('.canva-wrapper').remove(); $("#"+file.id).find('.canva-wrapper').remove();
$("#"+file.id).find(".remove-element").bind('click', function(){ $("#"+file.id).find(".remove-element").bind('click', function(){
$this.cancelUpload(file.id); $this.cancelUpload(file.id);
$(this).closest("li").remove(); $(this).closest("li").remove();
}); });
});
}, },
file_queue_error_handler : function(file, errorCode, message) { file_queue_error_handler : function(file, errorCode, message) {
if ( ! UploaderManager.getUploadBox().is(':visible')) { if ( ! UploaderManager.getUploadBox().is(':visible')) {
@@ -242,10 +247,9 @@
} }
var params = $.extend({}, file, {error: error, language: language}); var params = $.extend({}, file, {error: error, language: language});
p4.Mustache.Render('Upload-Items-Error', params, function(html){ var html = _.template($("#upload_items_error_tpl").html(), params);
UploaderManager.getUploadBox().append(html); UploaderManager.getUploadBox().append(html);
$("#"+file.id, UploaderManager.getDownloadBox()).find('.canva-wrapper').remove(); $("#"+file.id, UploaderManager.getDownloadBox()).find('.canva-wrapper').remove();
});
}, },
file_dialog_complete_handler : function(numFilesSelected, numFilesQueued) { file_dialog_complete_handler : function(numFilesSelected, numFilesQueued) {
if (numFilesQueued > 0) { if (numFilesQueued > 0) {
@@ -302,9 +306,8 @@
break; break;
} }
p4.Mustache.Render('Download-Finish', {heading:"{% trans "Error while uploading" %}", reasons: [reasons]}, function(html){ var html = _.template($("#download_finish_tpl").html(), {heading:"{% trans "Error while uploading" %}", reasons: [reasons]});
$("#"+file.id, UploaderManager.getDownloadBox()).find('p.error').append(html).show(); $("#"+file.id, UploaderManager.getDownloadBox()).find('p.error').append(html).show();
});
}, },
upload_success_handler : function(file, response) { upload_success_handler : function(file, response) {
@@ -313,19 +316,16 @@
if(response.success){ if(response.success){
//case record //case record
if(response.element === 'record'){ if(response.element === 'record'){
p4.Mustache.Render('Download-Finish', {heading:response.message, reasons: response.reasons}, function(html){ var html = _.template($("#download_finish_tpl").html(), {heading:response.message, reasons: response.reasons});
$("#"+file.id, UploaderManager.getDownloadBox()).find('p.success').append(html).show(); $("#"+file.id, UploaderManager.getDownloadBox()).find('p.success').append(html).show();
});
} else { //case quarantine } else { //case quarantine
p4.Mustache.Render('Download-Finish', {heading:response.message, reasons: response.reasons}, function(html){ var html = _.template($("#download_finish_tpl").html(), {heading:response.message, reasons: response.reasons});
$("#"+file.id, UploaderManager.getDownloadBox()).find('p.error').append(html).show(); $("#"+file.id, UploaderManager.getDownloadBox()).find('p.error').append(html).show();
});
} }
} else { } else {
//fail //fail
p4.Mustache.Render('Download-Finish', {heading:response.message, reasons: response.reasons}, function(html){ var html = _.template($("#download_finish_tpl").html(), {heading:response.message, reasons: response.reasons});
$("#"+file.id, UploaderManager.getDownloadBox()).find('p.error').append(html).show(); $("#"+file.id, UploaderManager.getDownloadBox()).find('p.error').append(html).show();
});
} }
}, },
upload_complete_handler: function(file) { upload_complete_handler: function(file) {
@@ -373,8 +373,9 @@
var file = swfu.getFile($(this).attr("id")); var file = swfu.getFile($(this).attr("id"));
if (file !== null) { if (file !== null) {
p4.Mustache.Render('Download-Items', $.extend({}, file, {language: language}), function(html){ var html = _.template($("#download_items_tpl").html(), $.extend({}, file, {language: language}));
UploaderManager.getDownloadBox().append(html); UploaderManager.getDownloadBox().append(html);
$("#"+file.id, UploaderManager.getDownloadBox()).find('.canva-wrapper').remove(); $("#"+file.id, UploaderManager.getDownloadBox()).find('.canva-wrapper').remove();
$("#"+file.id, UploaderManager.getDownloadBox()).find('.remove-element').bind('click', function(e){ $("#"+file.id, UploaderManager.getDownloadBox()).find('.remove-element').bind('click', function(e){
swfu.cancelUpload(file.id); swfu.cancelUpload(file.id);
@@ -388,7 +389,6 @@
//Start upload //Start upload
swfu.startUpload(file_order.shift().id); swfu.startUpload(file_order.shift().id);
} }
});
} }
}); });

View File

@@ -136,6 +136,9 @@
</div> </div>
</div> </div>
</div> </div>
{% include "prod/templates/upload.html.twig" %}
<script> <script>
$(document).ready(function () { $(document).ready(function () {
@@ -159,17 +162,22 @@ $(document).ready(function () {
//Init jquery tabs //Init jquery tabs
$(".upload-tabs", UploaderManager.getContainer()).tabs({ $(".upload-tabs", UploaderManager.getContainer()).tabs({
spinner: language.loading + '<img src="/skins/icons/loader404040.gif"/>', beforeLoad: function( event, ui ) {
ajaxOptions: { ui.jqXHR.success(function( xhr, status, index, anchor ) {
success: function( xhr, status, index, anchor ) {
var lazaretBox = $("#lazaretBox"); var lazaretBox = $("#lazaretBox");
$('.userTips', lazaretBox).tooltip(); $('.userTips', lazaretBox).tooltip();
}, });
error: function( xhr, status, index, anchor ) { ui.jqXHR.error(function( xhr, status, index, anchor ) {
//display error message if ajax failed //display error message if ajax failed
$( anchor.hash ).html(language.error); $( anchor.hash ).html(language.error);
} });
ui.tab.find('span').html(language.loading + '<img src="/skins/icons/loader404040.gif"/>');
},
load: function(event, ui)
{
ui.tab.find('span').empty();
} }
}); });
@@ -294,14 +302,12 @@ $(document).ready(function () {
if (file.error) { if (file.error) {
var params = $.extend({}, file, {error: language.errorFileApi, language: language}); var params = $.extend({}, file, {error: language.errorFileApi, language: language});
p4.Mustache.Render('Upload-Items-Error', params, function(html){ var html = _.template($("#upload_items_error_tpl").html(), params);
UploaderManager.getUploadBox().append(html); UploaderManager.getUploadBox().append(html);
});
} else if(file.size > maxFileSize){ } else if(file.size > maxFileSize){
var params = $.extend({}, file, {error: language.errorFileApiTooBig, language: language}); var params = $.extend({}, file, {error: language.errorFileApiTooBig, language: language});
p4.Mustache.Render('Upload-Items-Error', params, function(html){ var html = _.template($("#upload_items_error_tpl").html(), params);
UploaderManager.getUploadBox().append(html); UploaderManager.getUploadBox().append(html);
});
} else { } else {
// Add data to Queue // Add data to Queue
UploaderManager.addData(data); UploaderManager.addData(data);
@@ -317,7 +323,7 @@ $(document).ready(function () {
}; };
//Set context in upload-box //Set context in upload-box
p4.Mustache.Render('Upload-Items', formatedFile, function(html){ var html = _.template($("#upload_items_tpl").html(), formatedFile);
UploaderManager.getUploadBox().append(html); UploaderManager.getUploadBox().append(html);
var context = $("li", UploaderManager.getUploadBox()).last(); var context = $("li", UploaderManager.getUploadBox()).last();
@@ -330,7 +336,6 @@ $(document).ready(function () {
context.find('.thumbnail .canva-wrapper').prepend(img); context.find('.thumbnail .canva-wrapper').prepend(img);
UploaderManager.addAttributeToData(uploadIndex, 'image', img); UploaderManager.addAttributeToData(uploadIndex, 'image', img);
}); });
});
} }
}); });
@@ -389,7 +394,8 @@ $(document).ready(function () {
//Set new context in download-box //Set new context in download-box
$.each(data.files, function (index, file) { $.each(data.files, function (index, file) {
var params = $.extend({}, file, {language: language, id:'file-'+index}); var params = $.extend({}, file, {language: language, id:'file-'+index});
p4.Mustache.Render('Download-Items', params, function(html){ var html = _.template($("#download_items_tpl").html(), params);
UploaderManager.getDownloadBox().append(html); UploaderManager.getDownloadBox().append(html);
data.context = $("li", UploaderManager.getDownloadBox()).last(); data.context = $("li", UploaderManager.getDownloadBox()).last();
@@ -403,19 +409,16 @@ $(document).ready(function () {
if(response.success){ if(response.success){
//case record //case record
if(response.element === 'record'){ if(response.element === 'record'){
p4.Mustache.Render('Download-Finish', {heading:response.message, reasons: response.reasons}, function(html){ var html = _.template($("#download_finish_tpl").html(), {heading:response.message, reasons: response.reasons});
data.context.find('.upload-record p.success').append(html).show(); data.context.find('.upload-record p.success').append(html).show();
});
} else { //case quarantine } else { //case quarantine
p4.Mustache.Render('Download-Finish', {heading:response.message, reasons: response.reasons}, function(html){ var html = _.template($("#download_finish_tpl").html(), {heading:response.message, reasons: response.reasons});
data.context.find('.upload-record p.error').append(html).show(); data.context.find('.upload-record p.error').append(html).show();
});
} }
} else { } else {
//fail //fail
p4.Mustache.Render('Download-Finish', {heading:response.message, reasons: response.reasons}, function(html){ var html = _.template($("#download_finish_tpl").html(), {heading:response.message, reasons: response.reasons});
data.context.find('.upload-record p.error').append(html).show(); data.context.find('.upload-record p.error').append(html).show();
});
} }
}) })
.error(function(jqXHR, textStatus, errorThrown) { .error(function(jqXHR, textStatus, errorThrown) {
@@ -439,7 +442,6 @@ $(document).ready(function () {
UploaderManager.getContainer().trigger("uploaded-file-removed"); UploaderManager.getContainer().trigger("uploaded-file-removed");
}); });
}); });
});
return false; return false;
}); });

View File

@@ -1,7 +1,7 @@
{% extends "common/index_bootstrap.html.twig" %} {% extends "common/index_bootstrap.html.twig" %}
{% block stylesheet %} {% block stylesheet %}
<link type="text/css" rel="stylesheet" href="{{ path('minifier', { 'f' : 'skins/common/main.css,skins/report/jquery-ui.css,skins/report/jquery-ui-2.css,skins/report/report-table.css,skins/report/jquery.cluetip.css,include/jslibs/jquery.contextmenu.css' }) }}" media="screen" /> <link type="text/css" rel="stylesheet" href="{{ path('minifier', { 'f' : 'skins/report/jquery-ui.css,skins/report/jquery-ui-2.css,skins/report/report-table.css,skins/report/jquery.cluetip.css,include/jslibs/jquery.contextmenu.css' }) }}" media="screen" />
<link type="text/css" rel="stylesheet" href="{{ path('minifier', { 'f' : 'skins/report/print.css' }) }}" media="print" /> <link type="text/css" rel="stylesheet" href="{{ path('minifier', { 'f' : 'skins/report/print.css' }) }}" media="print" />
{% endblock stylesheet %} {% endblock stylesheet %}
@@ -39,7 +39,7 @@
</script> </script>
<script type="text/javascript" src="https://www.google.com/jsapi"></script> <script type="text/javascript" src="https://www.google.com/jsapi"></script>
<script type="text/javascript" src="{{ path('minifier', { 'f' : 'assets/jquery/jquery.js' }) }}"></script> <script type="text/javascript" src="{{ path('minifier', { 'f' : 'assets/jquery/jquery.js' }) }}"></script>
<script type="text/javascript" src="{{ path('minifier', { 'f' : 'include/jslibs/jquery-ui-1.8.24.js' }) }}"></script> <script type="text/javascript" src="{{ path('minifier', { 'f' : 'include/jslibs/jquery-ui-1.10.3.js' }) }}"></script>
<script type="text/javascript" src="{{ path('minifier', { 'g' : 'report' }) }}"></script> <script type="text/javascript" src="{{ path('minifier', { 'g' : 'report' }) }}"></script>
<script type="text/javascript" src="{{ path('minifier', { 'f' : 'include/jslibs/jquery.gvChart-0.1.js' }) }}"></script> <script type="text/javascript" src="{{ path('minifier', { 'f' : 'include/jslibs/jquery.gvChart-0.1.js' }) }}"></script>
<script type="text/javascript"> <script type="text/javascript">

View File

@@ -3,9 +3,9 @@
<html lang="{{ locale }}"> <html lang="{{ locale }}">
<head> <head>
<script src="{{ path('minifier', { 'f' : 'assets/jquery/jquery.js,include/jslibs/jquery-validation/$.validate.js,include/jslibs/jquery-validate.password/$.validate.password.js,include/jslibs/$.cookie.js' }) }}" type="text/javascript"></script> <script src="{{ path('minifier', { 'f' : 'assets/jquery/jquery.js,include/jslibs/jquery-validation/$.validate.js,include/jslibs/jquery-validate.password/$.validate.password.js,include/jslibs/$.cookie.js' }) }}" type="text/javascript"></script>
<script type="text/javascript" src="{{ path('minifier', { 'f' : 'include/jslibs/jquery-ui-1.8.24.js' }) }}"></script> <script type="text/javascript" src="{{ path('minifier', { 'f' : 'include/jslibs/jquery-ui-1.10.3.js' }) }}"></script>
<script type="text/javascript" src="{{ path('minifier', { 'f' : 'include/path_files_tests.jquery.js' }) }}"></script> <script type="text/javascript" src="{{ path('minifier', { 'f' : 'include/path_files_tests.jquery.js' }) }}"></script>
<link rel="stylesheet" type="text/css" href="{{ path('minifier', { 'f' : 'include/jslibs/jquery-ui-1.8.17/css/dark-hive/jquery-ui-1.8.17.custom.css' }) }}" /> <link rel="stylesheet" type="text/css" href="{{ path('minifier', { 'f' : 'include/jslibs/jquery-ui-1.10.3/css/dark-hive/jquery-ui-1.10.3.custom.css' }) }}" />
<link rel="stylesheet" type="text/css" href="{{ path('minifier', { 'f' : 'skins/setup/setup.css' }) }}" /> <link rel="stylesheet" type="text/css" href="{{ path('minifier', { 'f' : 'skins/setup/setup.css' }) }}" />
<script type="text/javascript"> <script type="text/javascript">
$(document).ready(function(){ $(document).ready(function(){

View File

@@ -15,7 +15,7 @@
<link rel="shortcut icon" type="image/x-icon" href="/skins/thesaurus/favicon.ico"> <link rel="shortcut icon" type="image/x-icon" href="/skins/thesaurus/favicon.ico">
<script type="text/javascript" src="{{ path('minifier', { 'f' : 'assets/jquery/jquery.js' }) }}"></script> <script type="text/javascript" src="{{ path('minifier', { 'f' : 'assets/jquery/jquery.js' }) }}"></script>
<script type="text/javascript" src="{{ path('minifier', { 'f' : 'include/jslibs/jquery-ui-1.8.24.js' }) }}"></script> <script type="text/javascript" src="{{ path('minifier', { 'f' : 'include/jslibs/jquery-ui-1.10.3.js' }) }}"></script>
<script type="text/javascript" src="{{ path('minifier', { 'g' : 'thesaurus' }) }}"></script> <script type="text/javascript" src="{{ path('minifier', { 'g' : 'thesaurus' }) }}"></script>
<script type="text/javascript"> <script type="text/javascript">

View File

@@ -1,40 +0,0 @@
<?php
namespace Alchemy\Tests\Phrasea\Controller\Prod;
class MustacheLoaderTest extends \PhraseanetWebTestCaseAuthenticatedAbstract
{
protected $client;
public function testRouteSlash()
{
self::$DI['client']->request('GET', '/prod/MustacheLoader/');
$this->assertBadResponse(self::$DI['client']->getResponse());
}
public function testRouteSlashWrongUrl()
{
self::$DI['client']->request('GET', '/prod/MustacheLoader/', array('template' => '/../../../../config/configuration.yml'));
$this->assertBadResponse(self::$DI['client']->getResponse());
}
public function testRouteSlashWrongFile()
{
self::$DI['client']->request('GET', '/prod/MustacheLoader/', array('template' => 'patator_lala'));
$this->assertNotFoundResponse(self::$DI['client']->getResponse());
}
public function testRouteGood()
{
self::$DI['client']->request('GET', '/prod/MustacheLoader/', array('template' => 'Feedback-Badge'));
$response = self::$DI['client']->getResponse();
/* @var $response \Symfony\Component\HttpFoundation\Response */
$this->assertEquals(200, $response->getStatusCode());
$this->assertTrue($response->isOk());
}
}

View File

@@ -18,7 +18,7 @@ class ControllerPrinterTest extends \PhraseanetWebTestCaseAuthenticatedAbstract
$lst = implode(';', $records); $lst = implode(';', $records);
$crawler = self::$DI['client']->request('POST', '/prod/printer/', array('lst' => $lst)); self::$DI['client']->request('POST', '/prod/printer/', array('lst' => $lst));
$response = self::$DI['client']->getResponse(); $response = self::$DI['client']->getResponse();
@@ -45,7 +45,7 @@ class ControllerPrinterTest extends \PhraseanetWebTestCaseAuthenticatedAbstract
); );
foreach ($layouts as $layout) { foreach ($layouts as $layout) {
$crawler = self::$DI['client']->request('POST', '/prod/printer/print.pdf', array( self::$DI['client']->request('POST', '/prod/printer/print.pdf', array(
'lst' => $lst, 'lst' => $lst,
'lay' => $layout 'lay' => $layout
) )
@@ -53,9 +53,8 @@ class ControllerPrinterTest extends \PhraseanetWebTestCaseAuthenticatedAbstract
$response = self::$DI['client']->getResponse(); $response = self::$DI['client']->getResponse();
$this->assertEquals("application/pdf", $response->headers->get("content-type"));
$this->assertTrue($response->isOk()); $this->assertTrue($response->isOk());
$this->assertEquals("application/pdf", $response->headers->get("content-type"));
$this->assertEquals(0, $response->getMaxAge()); $this->assertEquals(0, $response->getMaxAge());
$this->assertTrue($response->headers->has('pragma')); $this->assertTrue($response->headers->has('pragma'));
$this->assertEquals('public', $response->headers->get('pragma')); $this->assertEquals('public', $response->headers->get('pragma'));

View File

@@ -4,7 +4,7 @@
<title></title> <title></title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<script src="../../../assets/jquery/jquery.js"></script> <script src="../../../assets/jquery/jquery.js"></script>
<script src="../../jslibs/jquery-ui-1.8.24.js"></script> <script src="../../jslibs/jquery-ui-1.10.3.js"></script>
<script src="../../../assets/qunit/qunit/qunit.js"></script> <script src="../../../assets/qunit/qunit/qunit.js"></script>
<script src="../../../assets/blueimp-load-image/load-image.js"></script> <script src="../../../assets/blueimp-load-image/load-image.js"></script>
<script src="../../../skins/prod/jquery.Upload.js"></script> <script src="../../../skins/prod/jquery.Upload.js"></script>

15003
www/include/jslibs/jquery-ui-1.10.3.js vendored Normal file

File diff suppressed because it is too large Load Diff

File diff suppressed because one or more lines are too long

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 220 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 230 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 316 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 323 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 352 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 277 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 277 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 276 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 285 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.2 KiB

File diff suppressed because it is too large Load Diff

File diff suppressed because one or more lines are too long

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 418 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 312 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 205 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 262 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 348 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 207 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 278 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 328 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.2 KiB

File diff suppressed because it is too large Load Diff

Some files were not shown because too many files have changed in this diff Show More