mirror of
https://github.com/alchemy-fr/Phraseanet.git
synced 2025-10-23 09:53:15 +00:00
Merge branch '3.8' into fix-latest-merge
Conflicts: CHANGELOG.md bower.json composer.json composer.lock lib/Alchemy/Phrasea/Controller/Api/V1.php lib/Alchemy/Phrasea/Controller/Prod/Push.php lib/Alchemy/Phrasea/Controller/Prod/Records.php lib/Alchemy/Phrasea/Core/Version.php lib/Alchemy/Phrasea/Media/Subdef/Image.php lib/conf.d/_GV_template.inc locale/de_DE/LC_MESSAGES/phraseanet.mo locale/de_DE/LC_MESSAGES/phraseanet.po locale/en_GB/LC_MESSAGES/phraseanet.mo locale/en_GB/LC_MESSAGES/phraseanet.po locale/fr_FR/LC_MESSAGES/phraseanet.mo locale/fr_FR/LC_MESSAGES/phraseanet.po locale/nl_NL/LC_MESSAGES/phraseanet.mo locale/nl_NL/LC_MESSAGES/phraseanet.po templates/web/prod/Story/Reorder.html.twig templates/web/prod/WorkZone/Macros.html.twig templates/web/prod/actions/Download/prepare.html.twig templates/web/prod/templates/push.html.twig
This commit is contained in:
62
CHANGELOG.md
62
CHANGELOG.md
@@ -9,7 +9,67 @@
|
||||
- Convert Ftp Export custom adapter to Doctrine entity.
|
||||
- Session management is now part of Phraseanet configuration.
|
||||
|
||||
## 3.8.3 (2014-xx-xx)
|
||||
## 3.8.5 (2014-07-08)
|
||||
|
||||
- BugFix : Fix Flickr connexion throught Bridge Application
|
||||
- BugFix : Fix broken Report Application
|
||||
- BugFix : Fix "force authentication" option for push validation
|
||||
- BugFix : Fix display of "edit" button for a validation accordint to user rights
|
||||
- BugFix : Fix highlight of record title in detailed view
|
||||
- BugFix : Fix thumbnail generation for PDF with transparency
|
||||
- BugFix : Fix reorder of stories & basket when record titles are too long
|
||||
- BugFix : Fix display of separators for multivalued fields in caption
|
||||
- Enhancement : Add the possibility to choose a document or a video as a representative image of a story
|
||||
- Enhancement : Titles are truncated but still visible by hovering them
|
||||
|
||||
## 3.8.4 (2014-06-25)
|
||||
|
||||
- BC Break : Drop sphinx search engine highlight support
|
||||
- BC Break : Notify user checkbox is now setted to false when publishing a new publication
|
||||
- BugFix : Fix database mapping in report
|
||||
- BugFix : Fix homepage feed url
|
||||
- BugFix : Fix CSV user import
|
||||
- BugFix : Fix status icon filename
|
||||
- BugFix : Fix highlight in caption display
|
||||
- BugFix : Fix bound in caption display
|
||||
- BugFix : Fix thumbnail display in feed view
|
||||
- BugFix : Fix thesaurus terms order
|
||||
- BugFix : Fix metadata filename attibute
|
||||
- BugFix : Fix https calls to googlechart API
|
||||
- BugFix : Fix API feed pagination
|
||||
- BugFix : Fix thumbnail etags generation
|
||||
- BugFix : Fix therausus search in workzone
|
||||
- BugFix : Fix context menu in main bar in account view
|
||||
- BugFix : Fix CSV download for filename with accent
|
||||
- BugFix : Fix CSV generation from report
|
||||
- BugFix : Fix old password migration
|
||||
- BugFix : Fix migration from 3.1 version
|
||||
- BugFix : Fix status calculation from XML indexation card for stories
|
||||
- BugFix : Fix homepage issue when a feed is deleted
|
||||
- BugFix : Fix phraseanet bridge connexion to dailymotion
|
||||
- BugFix : Fix unoconv and GPAC detection on debian system
|
||||
- BugFix : Fix oauth developer application form submission
|
||||
- BugFix : Fix anamorphosis problems for some videos
|
||||
- Enhancement : Set password fields as password input
|
||||
- Enhancement : Add extra information in user list popup in Push view
|
||||
- Enhancement : Force the use of latest IE engine
|
||||
- Enhancement : Add feed restriction when requesting aggregated feed in API
|
||||
- Enhancement : Add feed title property in feed entry JSON schema
|
||||
- Enhancement : Dashboard report is now lazy loaded
|
||||
- Enhancement : Update flowplayer version
|
||||
- Enhancement : Improve XsendFile command line tools
|
||||
- Enhancement : Remove disk IO on media_subdef::get_size function
|
||||
- Enhancement : User city is now setted through geonames server
|
||||
- Enhancement : Enhancement of Oauth2 integration
|
||||
- NewFeature : Add option to restrict Push visualization to Phraseanet users only
|
||||
- NewFeature : Add API webhook
|
||||
- NewFeature : Add CORS support for API
|
||||
- NewFeature : Add /me route in API
|
||||
- NewFeature : Add h264 pseudo stream configuration
|
||||
- NewFeature : Add session idle & life time in configuration
|
||||
- NewFeature : Add possibility to search “unknown” type document through API
|
||||
|
||||
## 3.8.3 (2014-02-24)
|
||||
|
||||
- BugFix : Fix record type editing.
|
||||
- BugFix : Fix scheduler timeout.
|
||||
|
@@ -6,6 +6,7 @@
|
||||
"jquery": "~1.8.3",
|
||||
"jquery.ui": "~1.10.0",
|
||||
"jquery-mobile": "~1.3.0",
|
||||
"underscore": "~1.4.4",
|
||||
"font-awesome": "~3.0.2",
|
||||
"modernizr": "~2.6.2",
|
||||
"normalize-css": "~2.1.0",
|
||||
|
@@ -25,12 +25,16 @@
|
||||
{
|
||||
"type": "vcs",
|
||||
"url": "https://github.com/nlegoff/Media-Alchemyst"
|
||||
},
|
||||
{
|
||||
"type": "vcs",
|
||||
"url": "https://github.com/nlegoff/Imagine"
|
||||
}
|
||||
],
|
||||
"require": {
|
||||
"php" : ">=5.4",
|
||||
"alchemy/oauth2php" : "1.0.0",
|
||||
"alchemy/phlickr" : "0.2.7",
|
||||
"alchemy/phlickr" : "0.2.8",
|
||||
"alchemy/task-manager" : "2.0.x-dev@dev",
|
||||
"alchemy/zippy" : "0.2.x-dev@dev",
|
||||
"cboden/ratchet" : "~0.3",
|
||||
@@ -44,8 +48,8 @@
|
||||
"alchemy/geonames-api-consumer" : "~0.1.0",
|
||||
"goodby/csv" : "~1.0",
|
||||
"guzzle/guzzle" : "~3.0",
|
||||
"imagine/imagine" : "dev-flatten-layer as 0.6.1",
|
||||
"igorw/get-in" : "~1.0",
|
||||
"imagine/imagine" : "0.6.x-dev@dev",
|
||||
"ircmaxell/random-lib" : "~1.0",
|
||||
"jms/serializer" : "~0.10",
|
||||
"jms/translation-bundle" : "~1.1",
|
||||
|
42
composer.lock
generated
42
composer.lock
generated
@@ -272,16 +272,16 @@
|
||||
},
|
||||
{
|
||||
"name": "alchemy/phlickr",
|
||||
"version": "0.2.7",
|
||||
"version": "0.2.8",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/alchemy-fr/Phlickr.git",
|
||||
"reference": "9f228cabf924bdd5913fdb59514904d0d4c8e40a"
|
||||
"reference": "26b7764fd45c15062cb1b21c9389aff919e8c2bd"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/alchemy-fr/Phlickr/zipball/9f228cabf924bdd5913fdb59514904d0d4c8e40a",
|
||||
"reference": "9f228cabf924bdd5913fdb59514904d0d4c8e40a",
|
||||
"url": "https://api.github.com/repos/alchemy-fr/Phlickr/zipball/26b7764fd45c15062cb1b21c9389aff919e8c2bd",
|
||||
"reference": "26b7764fd45c15062cb1b21c9389aff919e8c2bd",
|
||||
"shasum": ""
|
||||
},
|
||||
"type": "library",
|
||||
@@ -291,7 +291,7 @@
|
||||
}
|
||||
},
|
||||
"notification-url": "https://packagist.org/downloads/",
|
||||
"time": "2013-07-01 09:47:54"
|
||||
"time": "2014-07-07 14:01:51"
|
||||
},
|
||||
{
|
||||
"name": "alchemy/task-manager",
|
||||
@@ -1569,16 +1569,16 @@
|
||||
},
|
||||
{
|
||||
"name": "imagine/imagine",
|
||||
"version": "dev-develop",
|
||||
"version": "dev-flatten-layer",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/avalanche123/Imagine.git",
|
||||
"reference": "5e013323dacbb7d6ab0c0d55692e6b75d1fb30d2"
|
||||
"url": "https://github.com/nlegoff/Imagine.git",
|
||||
"reference": "df2d9d8834d32943082fc52b89c5b11fde279b5a"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/avalanche123/Imagine/zipball/5e013323dacbb7d6ab0c0d55692e6b75d1fb30d2",
|
||||
"reference": "5e013323dacbb7d6ab0c0d55692e6b75d1fb30d2",
|
||||
"url": "https://api.github.com/repos/nlegoff/Imagine/zipball/df2d9d8834d32943082fc52b89c5b11fde279b5a",
|
||||
"reference": "df2d9d8834d32943082fc52b89c5b11fde279b5a",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
@@ -1595,7 +1595,7 @@
|
||||
"type": "library",
|
||||
"extra": {
|
||||
"branch-alias": {
|
||||
"dev-develop": "0.6-dev"
|
||||
"dev-develop": "0.7-dev"
|
||||
}
|
||||
},
|
||||
"autoload": {
|
||||
@@ -1603,7 +1603,6 @@
|
||||
"Imagine": "lib/"
|
||||
}
|
||||
},
|
||||
"notification-url": "https://packagist.org/downloads/",
|
||||
"license": [
|
||||
"MIT"
|
||||
],
|
||||
@@ -1622,7 +1621,10 @@
|
||||
"image manipulation",
|
||||
"image processing"
|
||||
],
|
||||
"time": "2013-12-23 10:54:18"
|
||||
"support": {
|
||||
"source": "https://github.com/nlegoff/Imagine/tree/flatten-layer"
|
||||
},
|
||||
"time": "2014-07-07 17:04:15"
|
||||
},
|
||||
{
|
||||
"name": "ircmaxell/random-lib",
|
||||
@@ -2023,12 +2025,12 @@
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/nlegoff/Media-Alchemyst.git",
|
||||
"reference": "e812e631b74ebb0c7b3dd5f4e981d84a7b3c4029"
|
||||
"reference": "be5c7cd4e207c469fb88d88397bd220c4db323d8"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/nlegoff/Media-Alchemyst/zipball/e812e631b74ebb0c7b3dd5f4e981d84a7b3c4029",
|
||||
"reference": "e812e631b74ebb0c7b3dd5f4e981d84a7b3c4029",
|
||||
"url": "https://api.github.com/repos/nlegoff/Media-Alchemyst/zipball/be5c7cd4e207c469fb88d88397bd220c4db323d8",
|
||||
"reference": "be5c7cd4e207c469fb88d88397bd220c4db323d8",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
@@ -2090,7 +2092,7 @@
|
||||
"support": {
|
||||
"source": "https://github.com/nlegoff/Media-Alchemyst/tree/master"
|
||||
},
|
||||
"time": "2014-06-10 13:51:13"
|
||||
"time": "2014-07-07 16:54:32"
|
||||
},
|
||||
{
|
||||
"name": "mediavorus/mediavorus",
|
||||
@@ -4906,6 +4908,12 @@
|
||||
}
|
||||
],
|
||||
"aliases": [
|
||||
{
|
||||
"alias": "0.6.1",
|
||||
"alias_normalized": "0.6.1.0",
|
||||
"version": "dev-flatten-layer",
|
||||
"package": "imagine/imagine"
|
||||
},
|
||||
{
|
||||
"alias": "0.4.3",
|
||||
"alias_normalized": "0.4.3.0",
|
||||
|
@@ -283,14 +283,14 @@ class Edit implements ControllerProviderInterface
|
||||
|
||||
$newsubdef_reg = new \record_adapter($app, $reg_record->get_sbas_id(), $request->request->get('newrepresent'));
|
||||
|
||||
if ($newsubdef_reg->get_type() !== 'image') {
|
||||
throw new \Exception('A reg image must come from image data');
|
||||
}
|
||||
|
||||
foreach ($newsubdef_reg->get_subdefs() as $name => $value) {
|
||||
if (!in_array($name, ['thumbnail', 'preview'])) {
|
||||
continue;
|
||||
}
|
||||
if ($value->get_type() !== \media_subdef::TYPE_IMAGE) {
|
||||
continue;
|
||||
}
|
||||
|
||||
$media = $app['mediavorus']->guess($value->get_pathfile());
|
||||
$app['subdef.substituer']->substitute($reg_record, $name, $media);
|
||||
$app['phraseanet.logger']($reg_record->get_databox())->log(
|
||||
|
@@ -412,10 +412,15 @@ class Push implements ControllerProviderInterface
|
||||
|
||||
$app['EM']->flush();
|
||||
|
||||
$url = $app->url('lightbox_validation', [
|
||||
$arguments = array(
|
||||
'basket' => $Basket->getId(),
|
||||
'LOG' => $app['manipulator.token']->createBasketValidationToken($Basket, $participant_user),
|
||||
]);
|
||||
);
|
||||
|
||||
if (!$app['conf']->get(['registry', 'actions', 'force-authentication']) || !$request->get('force_authentication')) {
|
||||
$arguments['LOG'] = $app['manipulator.token']->createBasketAccessToken($Basket, $participant_user);
|
||||
}
|
||||
|
||||
$url = $app->url('lightbox_validation', $arguments);
|
||||
|
||||
$receipt = $request->get('recept') ? $app['authentication']->getUser()->getEmail() : '';
|
||||
|
||||
|
@@ -135,7 +135,7 @@ class Records implements ControllerProviderInterface
|
||||
'record' => $record
|
||||
]),
|
||||
"pos" => $record->get_number(),
|
||||
"title" => $record->get_title($query, $searchEngine)
|
||||
"title" => str_replace(array('[[em]]', '[[/em]]'), array('<em>', '</em>'), $record->get_title($query, $searchEngine))
|
||||
]);
|
||||
}
|
||||
|
||||
|
@@ -14,7 +14,7 @@ namespace Alchemy\Phrasea\Core;
|
||||
class Version
|
||||
{
|
||||
protected static $number = '3.9.0-alpha.18';
|
||||
protected static $name = 'Epanterias';
|
||||
protected static $name = 'Gorgosaurus';
|
||||
|
||||
public static function getNumber()
|
||||
{
|
||||
|
@@ -20,6 +20,7 @@ class Image extends Provider
|
||||
const OPTION_RESOLUTION = 'resolution';
|
||||
const OPTION_STRIP = 'strip';
|
||||
const OPTION_QUALITY = 'quality';
|
||||
const OPTION_FLATTEN = 'flatten';
|
||||
|
||||
protected $options = [];
|
||||
|
||||
@@ -30,6 +31,7 @@ class Image extends Provider
|
||||
$this->registerOption(new OptionType\Range($this->translator->trans('Dimension'), self::OPTION_SIZE, 20, 3000, 800));
|
||||
$this->registerOption(new OptionType\Range($this->translator->trans('Resolution'), self::OPTION_RESOLUTION, 50, 300, 72));
|
||||
$this->registerOption(new OptionType\Boolean($this->translator->trans('Remove ICC Profile'), self::OPTION_STRIP, false));
|
||||
$this->registerOption(new OptionType\Boolean($this->translator->trans('Flatten layers'), self::OPTION_FLATTEN, false));
|
||||
$this->registerOption(new OptionType\Range($this->translator->trans('Quality'), self::OPTION_QUALITY, 0, 100, 75));
|
||||
}
|
||||
|
||||
@@ -56,6 +58,7 @@ class Image extends Provider
|
||||
$this->spec->setDimensions($size, $size);
|
||||
$this->spec->setQuality($this->getOption(self::OPTION_QUALITY)->getValue());
|
||||
$this->spec->setStrip($this->getOption(self::OPTION_STRIP)->getValue());
|
||||
$this->spec->setFlatten($this->getOption(self::OPTION_FLATTEN)->getValue());
|
||||
$this->spec->setResolution($resolution, $resolution);
|
||||
|
||||
return $this->spec;
|
||||
|
@@ -303,6 +303,9 @@ class databox_subdef
|
||||
if ($sd->dpi) {
|
||||
$image->setOptionValue(Image::OPTION_RESOLUTION, (int) $sd->dpi);
|
||||
}
|
||||
if ($sd->flatten) {
|
||||
$image->setOptionValue(Image::OPTION_FLATTEN, p4field::isyes($sd->flatten));
|
||||
}
|
||||
|
||||
return $image;
|
||||
}
|
||||
|
@@ -142,8 +142,8 @@
|
||||
{% else %}
|
||||
<td class="w160px">
|
||||
{% endif %}
|
||||
<div class="diapo w160px" style="margin-bottom:0;border-bottom:none;">
|
||||
<div class="title">{{ record.get_title() }}</div>
|
||||
<div class="diapo w160px" style="margin-bottom:0;border-bottom:none;overflow:hidden;">
|
||||
<div class="title" style="max-height:100%" title="{{ record.get_title() }}">{{ record.get_title() }}</div>
|
||||
<div class="status">{{ record.get_status_icons()|raw }}</div>
|
||||
<table cellpadding="0" cellspacing="0" style="margin: 0pt auto;">
|
||||
<tr class="h160px">
|
||||
|
@@ -91,7 +91,7 @@
|
||||
{% endif %}
|
||||
{% set terms = [value]|merge(terms) %}
|
||||
{% endfor %}
|
||||
{{ terms|join(' ' ~ field.separator ~ ' ') }}
|
||||
{{ terms|join(' ; ') }}
|
||||
{% endautoescape %}
|
||||
{% endmacro %}
|
||||
|
||||
|
@@ -21,8 +21,9 @@
|
||||
<div class="elements row-fluid">
|
||||
{% for element in basket.getElements() %}
|
||||
<div id="ORDER_{{ element.getId() }}" class="CHIM diapo" style="height:130px;overflow:hidden;">
|
||||
<div class="title" title="{{ element.getRecord(app).get_title() }}" style="position:relative;z-index:1200;height:30px;overflow:visible;text-align:center;">
|
||||
<span>{{ element.getRecord(app).get_title() }}</span>
|
||||
<div class="title" title="{{ element.getRecord(app).get_title() }}" style="position:relative;z-index:1200;height:30px;overflow:hidden;text-align:center;text-overflow: ellipsis; line-height: 15px;">
|
||||
{{ element.getRecord(app).get_title() }} {{ element.getRecord(app).get_title() }}{{ element.getRecord(app).get_title() }}
|
||||
</div>
|
||||
{{ thumbnail.format(element.getRecord(app).get_thumbnail(), 80, 80, '', false, false) }}
|
||||
<form style="display:none;">
|
||||
<input type="hidden" name="id" value="{{ element.getId() }}"/>
|
||||
@@ -30,7 +31,6 @@
|
||||
<input type="hidden" name="default" value="{{ element.getOrd() }}"/>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
{% endfor %}
|
||||
</div>
|
||||
</div>
|
||||
|
@@ -1,5 +1,6 @@
|
||||
{% import 'common/thumbnail.html.twig' as thumbnail %}
|
||||
<div id="reorder_options" class="PNB" style="height:30px;bottom:auto;">
|
||||
<form id="reorder_options" class="form-inline" style="display:inline-block;">
|
||||
<span>{{ 'Reordonner automatiquement' | trans }}</span>
|
||||
<select id="auto_order">
|
||||
<option value="">{{ 'Choisir' | trans }}</option>
|
||||
@@ -8,13 +9,21 @@
|
||||
</select>
|
||||
<button type="button" class="autoorder">{{ 'Re-ordonner' | trans }}</button>
|
||||
<button type="button" class="reverseorder">{{ 'Inverser' | trans }}</button>
|
||||
</form>
|
||||
<form style="display:inline-block;" class="form-inline" name="reorder" method="POST" action="{{ path('prod_stories_story_reorder', { 'sbas_id' : story.get_sbas_id(), 'record_id' : story.get_record_id() }) }}">
|
||||
{% for element in story.get_children() %}
|
||||
<input type="hidden" name="element[{{ element.get_record_id() }}]" value="{{ element.get_number() }}"/>
|
||||
{% endfor %}
|
||||
<button>{{ 'boutton::valider' | trans }}</button>
|
||||
</form>
|
||||
</div>
|
||||
<div style="top:30px;overflow:auto;" id="reorder_box" class="PNB">
|
||||
<div style="top:45px;overflow:auto;" id="reorder_box" class="PNB">
|
||||
<div class="elements">
|
||||
{% for element in story.get_children() %}
|
||||
<div id="ORDER_{{ element.get_record_id() }}" class="CHIM diapo" style="height:130px;overflow:hidden;">
|
||||
<div class="title" title="{{ element.get_title() }}" style="position:relative;z-index:1200;height:30px;overflow:visible;text-align:center;">
|
||||
<span>{{ element.get_title() }}</span>
|
||||
<div class="title" title="{{ element.get_title() }}" style="position:relative;z-index:1200;height:30px;overflow:hidden;text-align:center;text-overflow: ellipsis; line-height: 15px;">
|
||||
{{ element.get_title() }} {{ element.get_title() }} {{ element.get_title() }}
|
||||
</div>
|
||||
{{ thumbnail.format(element.get_thumbnail(), 80, 80, '', false, false) }}
|
||||
<form style="display:none;">
|
||||
<input type="hidden" name="id" value="{{ element.get_record_id() }}"/>
|
||||
@@ -22,23 +31,14 @@
|
||||
<input type="hidden" name="default" value="{{ element.get_number() }}"/>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
{% endfor %}
|
||||
</div>
|
||||
<form name="reorder" method="POST" action="{{ path('prod_stories_story_reorder', { 'sbas_id' : story.get_sbas_id(), 'record_id' : story.get_record_id() }) }}">
|
||||
{% for element in story.get_children() %}
|
||||
<input type="hidden" name="element[{{ element.get_record_id() }}]" value="{{ element.get_number() }}"/>
|
||||
{% endfor %}
|
||||
<button>{{ 'boutton::valider' | trans }}</button>
|
||||
</form>
|
||||
</div>
|
||||
|
||||
<script type="text/javascript">
|
||||
<script type="text/javascript">
|
||||
$(document).ready(function(){
|
||||
|
||||
var container = $('#reorder_box');//p4.Dialog.get(1).getDomElement();
|
||||
|
||||
|
||||
$('button.autoorder', container).bind('click', function(){
|
||||
autoorder();
|
||||
|
||||
@@ -188,16 +188,11 @@
|
||||
});
|
||||
|
||||
|
||||
$('form[name="reorder"]', container).bind('submit', function(event){
|
||||
|
||||
//$this.SetLoader(true);
|
||||
|
||||
|
||||
var $form = $(this);
|
||||
$('form[name="reorder"] button').bind('click', function(event){
|
||||
var $form = $(this).closest("form");
|
||||
|
||||
$('.elements form', container).each(function(i, el){
|
||||
var id = $('input[name="id"]', $(el)).val();
|
||||
|
||||
$('input[name="element[' + id + ']"]', $form).val(i+1);
|
||||
});
|
||||
|
||||
@@ -210,8 +205,7 @@
|
||||
|
||||
},
|
||||
success: function(data){
|
||||
if(!data.success)
|
||||
{
|
||||
if(!data.success) {
|
||||
alert(data.message);
|
||||
}
|
||||
p4.WorkZone.refresh('current', null, false, 'story');
|
||||
@@ -230,4 +224,4 @@
|
||||
return false;
|
||||
});
|
||||
});
|
||||
</script>
|
||||
</script>
|
||||
|
@@ -7,10 +7,7 @@
|
||||
<div class="bloc">
|
||||
<div class="insidebloc">
|
||||
{% set content = WorkZone.getContent(srt) %}
|
||||
|
||||
{% for basket in content.get(constant('\\Alchemy\\Phrasea\\Helper\\WorkZone::VALIDATIONS')) %}
|
||||
|
||||
|
||||
<div tooltipsrc="{{ path('prod_tooltip_basket', { 'basket' : basket.getId() }) }}"
|
||||
id="SSTT_{{basket.getId()}}"
|
||||
class="basketTips ui-accordion-header ui-state-default
|
||||
@@ -48,11 +45,13 @@
|
||||
onclick="downloadThis('ssel={{basket.getId()}}');">{{ 'action::exporter' | trans }}
|
||||
</div>
|
||||
</div>
|
||||
{% if app['acl'].get(app['authentication'].getUser()).has_right('modifyrecord') %}
|
||||
<div title="" class="context-menu-item menu3-custom-item">
|
||||
<div onclick="editThis('SSTT','{{basket.getId()}}');" style=""
|
||||
class="context-menu-item-inner">{{ 'action::editer' | trans }}
|
||||
class="context-menu-item-inner">{% trans 'action::editer' %}
|
||||
</div>
|
||||
</div>
|
||||
{% endif %}
|
||||
<div title="" class="context-menu-item">
|
||||
<div class="context-menu-item-inner">
|
||||
<a href="{{ path('lightbox_compare', { 'basket' : basket.getId() }) }}" target="_blank">Lightbox</a>
|
||||
@@ -75,17 +74,10 @@
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
<div id="SSTT_content_{{basket.getId()}}" class="content basket" style="overflow:hidden;">
|
||||
|
||||
</div>
|
||||
|
||||
<div id="SSTT_content_{{basket.getId()}}" class="content basket" style="overflow:hidden;"></div>
|
||||
{% endfor %}
|
||||
|
||||
|
||||
|
||||
{% for basket in content.get(constant('\\Alchemy\\Phrasea\\Helper\\WorkZone::BASKETS')) %}
|
||||
|
||||
|
||||
<div tooltipsrc="{{ path('prod_tooltip_basket', { 'basket' : basket.getId() }) }}"
|
||||
id="SSTT_{{basket.getId()}}"
|
||||
class="basketTips ui-accordion-header ui-state-default
|
||||
@@ -189,17 +181,12 @@
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
<div id="SSTT_content_{{basket.getId()}}" class="content basket" style="overflow:hidden;">
|
||||
|
||||
</div>
|
||||
|
||||
<div id="SSTT_content_{{basket.getId()}}" class="content basket" style="overflow:hidden;"> </div>
|
||||
{% endfor %}
|
||||
|
||||
|
||||
|
||||
{% for story in content.get(constant('\\Alchemy\\Phrasea\\Helper\\WorkZone::STORIES')) %}
|
||||
|
||||
|
||||
<div tooltipsrc="{{ path('prod_tooltip_story', { 'sbas_id' : story.getRecord(app).get_sbas_id(), 'record_id' : story.getRecord(app).get_record_id() }) }}"
|
||||
id="SSWZ_{{story.getId()}}" sbas="{{story.getSbasId()}}"
|
||||
class="STORY_{{ story.getRecord(app).get_serialize_key() }} basketTips ui-accordion-header ui-state-default
|
||||
@@ -232,12 +219,13 @@
|
||||
onclick="downloadThis('lst={{story.getRecord(app).get_serialize_key()}}');">{{ 'action::exporter' | trans }}
|
||||
</div>
|
||||
</div>
|
||||
{% if app['authentication'].getUser().ACL().has_right('modifyrecord') %}
|
||||
<div title="" class="context-menu-item menu3-custom-item">
|
||||
<div onclick="editThis('IMGT','{{story.getRecord(app).get_serialize_key()}}');" style=""
|
||||
class="context-menu-item-inner">{{ 'action::editer' | trans }}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
{% endif %}
|
||||
<div title="" class="context-menu-item menu3-custom-item">
|
||||
<div class="context-menu-item-inner">
|
||||
<a class="story_unfix" href="{{ path('prod_workzone_detach_story', { 'sbas_id' : story.getRecord(app).get_sbas_id(), 'record_id' : story.getRecord(app).get_record_id()}) }}">
|
||||
@@ -260,15 +248,8 @@
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
<div sbas="{{story.getSbasId()}}" id="SSTT_content_{{story.getId()}}" class="content grouping" style="overflow:hidden;">
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
|
||||
<div sbas="{{story.getSbasId()}}" id="SSTT_content_{{story.getId()}}" class="content grouping" style="overflow:hidden;"></div>
|
||||
{% endfor %}
|
||||
|
||||
</div>
|
||||
</div>
|
||||
{% endmacro %}
|
||||
|
@@ -91,7 +91,7 @@
|
||||
</div>
|
||||
|
||||
<div style="display:none">
|
||||
<form name="download" action="{{ path('document_download', {'token': token.getValue(), 'type': type, 'anonymous': anonymous}) }}" method="post" target="file_frame">
|
||||
<form name="download" action="{{ path('document_download', {'token': token, 'type': type, 'anonymous': anonymous}) }}" method="post" target="file_frame">
|
||||
{% if anonymous %}
|
||||
<input type="hidden" name="anonymous" value="1" />
|
||||
{% endif%}
|
||||
|
@@ -21,9 +21,9 @@
|
||||
onDblClick="openPreview('RESULT',{{record.get_number}});">
|
||||
{% endif %}
|
||||
<div style="padding: 4px;">
|
||||
<div style="height:40px; position: relative; z-index: 95;">
|
||||
<div class="title">
|
||||
{{record.get_title}}
|
||||
<div style="height:40px; position: relative; z-index: 95;margin-bottom:0;border-bottom:none;overflow:hidden;">
|
||||
<div class="title" style="max-height:100%" title="{{ record.get_title() }}">
|
||||
{{ record.get_title() }}
|
||||
</div>
|
||||
<div class="status">
|
||||
{{record.get_status_icons|raw}}
|
||||
|
@@ -154,10 +154,11 @@
|
||||
{% trans %}Accuse de reception{% endtrans %}
|
||||
</label>
|
||||
</div>
|
||||
{% if app['conf'].get(['registry', 'actions', 'force-authentication']) %}
|
||||
{% if app['conf'].get(['registry', 'actions', 'enable-push-authentication']) %}
|
||||
{% set force = app['conf'].get(['registry', 'actions', 'force-push-authentication']) %}
|
||||
<div class="control-group">
|
||||
<label for="PushForceAuthentication" class="checkbox">
|
||||
<input id="PushForceAuthentication" type="checkbox" checked="checked" name="force_authentication" value="1"/>
|
||||
<label for="PushForceAuthentication" class="checkbox" {% if force %}style="color:#8a8a8a"{% endif %}>
|
||||
<input {% if force %}disabled="disabled"{% endif %} id="PushForceAuthentication" type="checkbox" checked="checked" name="force_authentication" value="1"/>
|
||||
{% trans %}Force authentication{% endtrans %}
|
||||
</label>
|
||||
</div>
|
||||
|
@@ -414,7 +414,10 @@
|
||||
}
|
||||
|
||||
if (resizeImgTips) {
|
||||
var factor = Math.max(Math.min((width - 45) / width, (height - 75) / height), 1);
|
||||
var factor = Math.min((width - 45) / width, (height - 75) / height);
|
||||
if (factor > 1) {
|
||||
factor = 1;
|
||||
}
|
||||
var imgWidth = Math.round(width * factor);
|
||||
var imgHeight = Math.round(height * factor);
|
||||
|
||||
|
@@ -184,7 +184,7 @@ function submiterAction(domSubmiter) {
|
||||
|
||||
request = $.ajax({
|
||||
type: "POST",
|
||||
url: "/index_dev.php/report/init",
|
||||
url: "/report/init",
|
||||
data: data,
|
||||
beforeSend: function () {
|
||||
container.find('.content').empty();
|
||||
|
Reference in New Issue
Block a user