mirror of
https://github.com/alchemy-fr/Phraseanet.git
synced 2025-10-24 10:23:17 +00:00
PHRAS-350 #fix add step by step tour guide
This commit is contained in:
@@ -27,7 +27,8 @@
|
|||||||
"zxcvbn": "https://github.com/lowe/zxcvbn.git",
|
"zxcvbn": "https://github.com/lowe/zxcvbn.git",
|
||||||
"geonames-server-jquery-plugin": "~0.2",
|
"geonames-server-jquery-plugin": "~0.2",
|
||||||
"jquery-galleria": "1.2.9",
|
"jquery-galleria": "1.2.9",
|
||||||
"jquery.cookie": "~1.4"
|
"jquery.cookie": "~1.4",
|
||||||
|
"joyride": "https://github.com/zurb/joyride/archive/v2.0.0.zip"
|
||||||
},
|
},
|
||||||
"resolutions": {
|
"resolutions": {
|
||||||
"jquery": "~1.8.3"
|
"jquery": "~1.8.3"
|
||||||
|
|||||||
@@ -27,16 +27,6 @@ class Root implements ControllerProviderInterface
|
|||||||
$controllers = $app['controllers_factory'];
|
$controllers = $app['controllers_factory'];
|
||||||
|
|
||||||
$controllers->before(function (Request $request) use ($app) {
|
$controllers->before(function (Request $request) use ($app) {
|
||||||
/**
|
|
||||||
* /!\/!\/!\/!\/!\/!\/!\/!\/!\
|
|
||||||
*
|
|
||||||
* Client is not longer used
|
|
||||||
*
|
|
||||||
* Redirect to production with a nice message
|
|
||||||
*/
|
|
||||||
$app['session']->getFlashBag()->add('client_deprecated', '');
|
|
||||||
|
|
||||||
return $app->redirectPath('prod');
|
|
||||||
|
|
||||||
if (!$app['authentication']->isAuthenticated() && null !== $request->query->get('nolog')) {
|
if (!$app['authentication']->isAuthenticated() && null !== $request->query->get('nolog')) {
|
||||||
return $app->redirectPath('login_authenticate_as_guest', array('redirect' => 'client'));
|
return $app->redirectPath('login_authenticate_as_guest', array('redirect' => 'client'));
|
||||||
@@ -301,6 +291,8 @@ class Root implements ControllerProviderInterface
|
|||||||
*/
|
*/
|
||||||
public function getClient(Application $app, Request $request)
|
public function getClient(Application $app, Request $request)
|
||||||
{
|
{
|
||||||
|
$app['session']->getFlashBag()->add('step_by_step', '');
|
||||||
|
|
||||||
try {
|
try {
|
||||||
\User_Adapter::updateClientInfos($app, 2);
|
\User_Adapter::updateClientInfos($app, 2);
|
||||||
} catch (SessionNotFound $e) {
|
} catch (SessionNotFound $e) {
|
||||||
|
|||||||
@@ -45,6 +45,22 @@
|
|||||||
|
|
||||||
</head>
|
</head>
|
||||||
<body class="PNB" style="overflow:hidden;width:100%;height:100%;">
|
<body class="PNB" style="overflow:hidden;width:100%;height:100%;">
|
||||||
|
|
||||||
|
{% if app['phraseanet.configuration']['deprecate-client']|default(true) %}
|
||||||
|
<div id="clientModal" >
|
||||||
|
<div class="modal-body">
|
||||||
|
<p style="background-color: red">
|
||||||
|
{{ "Pour des raisons techniques cette interface n'est plus maintenue et serta bientôt rendue
|
||||||
|
inacessible. Nous vous invitons si vous le souhaitez à utiliser production dés maintenant."|trans }}
|
||||||
|
</p>
|
||||||
|
<br />
|
||||||
|
<p><a href="{{ path('prod') }}" >{{ 'Production '|trans }} > </a></p>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<script type="text/javascript">
|
||||||
|
$('#clientModal').dialog();
|
||||||
|
</script>
|
||||||
|
{% endif %}
|
||||||
<div id="container" style="position:absolute;top:0;left:0;overflow:hidden;width:100%;height:100%;">
|
<div id="container" style="position:absolute;top:0;left:0;overflow:hidden;width:100%;height:100%;">
|
||||||
{% include 'common/menubar.html.twig' %}
|
{% include 'common/menubar.html.twig' %}
|
||||||
<div style="top:30px;position:relative;float:left;">
|
<div style="top:30px;position:relative;float:left;">
|
||||||
|
|||||||
@@ -44,6 +44,7 @@
|
|||||||
{% endmacro %}
|
{% endmacro %}
|
||||||
|
|
||||||
{% set jquery_theme = 'dark-hive' %}
|
{% set jquery_theme = 'dark-hive' %}
|
||||||
|
{% set step = app.flash('step_by_step') %}
|
||||||
|
|
||||||
{% extends "common/index_bootstrap.html.twig" %}
|
{% extends "common/index_bootstrap.html.twig" %}
|
||||||
|
|
||||||
@@ -100,6 +101,41 @@
|
|||||||
background-color: #{% if app['authentication'].getUser().getPrefs('background-selection') != '' %}{{app['authentication'].getUser().getPrefs('background-selection')}}{% else %}404040{% endif %};
|
background-color: #{% if app['authentication'].getUser().getPrefs('background-selection') != '' %}{{app['authentication'].getUser().getPrefs('background-selection')}}{% else %}404040{% endif %};
|
||||||
}
|
}
|
||||||
</style>
|
</style>
|
||||||
|
|
||||||
|
{% if step %}
|
||||||
|
<link type="text/css" rel="stylesheet" href="{{ path('minifier', { 'f' : 'assets/joyride/joyride-2.1.css' }) }}" >
|
||||||
|
<style>
|
||||||
|
.joyride-tip-guide {
|
||||||
|
background-color: #eee;
|
||||||
|
color: #000;
|
||||||
|
}
|
||||||
|
|
||||||
|
.joyride-tip-guide h1 {
|
||||||
|
font-weight: 100;
|
||||||
|
font-size: 20px;
|
||||||
|
color: #0a212b;
|
||||||
|
line-height: 22px;
|
||||||
|
margin-bottom: 10px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.joyride-tip-guide span.joyride-nub.top {
|
||||||
|
border-color: #eee;
|
||||||
|
}
|
||||||
|
|
||||||
|
.joyride-tip-guide span.joyride-nub.right {
|
||||||
|
border-left-color: #eee !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.joyride-expose-wrapper {
|
||||||
|
background-color: transparent;
|
||||||
|
}
|
||||||
|
|
||||||
|
.joyride-tip-guide .joyride-next-tip {
|
||||||
|
background: #0a212b;
|
||||||
|
border: none;
|
||||||
|
}
|
||||||
|
</style>
|
||||||
|
{% endif %}
|
||||||
{% endblock %}
|
{% endblock %}
|
||||||
|
|
||||||
{% block javascript %}
|
{% block javascript %}
|
||||||
@@ -117,22 +153,7 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div id="desktop" class="PNB" style="overflow:hidden;">
|
<div id="desktop" class="PNB" style="overflow:hidden;">
|
||||||
{% if app.flash('client_deprecated') %}
|
|
||||||
<div id="clientModal" class="modal hide fade" >
|
|
||||||
<div class="modal-header">
|
|
||||||
<button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button>
|
|
||||||
<h3>{{ 'Client application is deprecated'|trans }}</h3>
|
|
||||||
</div>
|
|
||||||
<div class="modal-body">
|
|
||||||
<p>{{ 'You have been redirected to production application.'|trans }}</p>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<script type="text/javascript">
|
|
||||||
$('#clientModal').modal();
|
|
||||||
</script>
|
|
||||||
{% endif %}
|
|
||||||
{% set ratio = app['authentication'].getUser().getPrefs('search_window') %}
|
{% set ratio = app['authentication'].getUser().getPrefs('search_window') %}
|
||||||
{% if ratio == 0 %}
|
{% if ratio == 0 %}
|
||||||
{% set ratio = '0.333' %}
|
{% set ratio = '0.333' %}
|
||||||
@@ -294,7 +315,7 @@
|
|||||||
<form id="searchForm" method="POST" action="{{ path('prod_query') }}" name="phrasea_query" class="phrasea_query">
|
<form id="searchForm" method="POST" action="{{ path('prod_query') }}" name="phrasea_query" class="phrasea_query">
|
||||||
<div class="input-append">
|
<div class="input-append">
|
||||||
<input autocomplete="off" class="search query" id="EDIT_query" name="qry" type="text" name="qry" value="{{app['authentication'].getUser().getPrefs('start_page_query')}}">
|
<input autocomplete="off" class="search query" id="EDIT_query" name="qry" type="text" name="qry" value="{{app['authentication'].getUser().getPrefs('start_page_query')}}">
|
||||||
<a href="#" class="btn btn-inverse adv_trigger adv_search_button">
|
<a href="#" class="btn btn-inverse adv_trigger adv_search_button" id="ADV_query">
|
||||||
<img src="/skins/icons/settings.png" title="{% trans 'Advanced Search' %}"/>
|
<img src="/skins/icons/settings.png" title="{% trans 'Advanced Search' %}"/>
|
||||||
</a>
|
</a>
|
||||||
<button type="submit" class="btn btn-inverse" style="font-size:14px">{% trans 'boutton::rechercher' %}</button>
|
<button type="submit" class="btn btn-inverse" style="font-size:14px">{% trans 'boutton::rechercher' %}</button>
|
||||||
@@ -531,7 +552,7 @@
|
|||||||
|
|
||||||
<span class="dropdownButton">
|
<span class="dropdownButton">
|
||||||
<div class="btn-group">
|
<div class="btn-group">
|
||||||
<button class="default_action TOOL_disktt_btn results_window btn btn-inverse">
|
<button id="TOOL_disktt" class="default_action TOOL_disktt_btn results_window btn btn-inverse">
|
||||||
<img src="/skins/prod/000000/images/disktt_history.gif" height="16" width="16" /> {% trans 'action : exporter' %}
|
<img src="/skins/prod/000000/images/disktt_history.gif" height="16" width="16" /> {% trans 'action : exporter' %}
|
||||||
</button>
|
</button>
|
||||||
<button class="trigger btn btn-inverse dropdown-toggle" data-toggle="dropdown"><span class="caret"></span></button>
|
<button class="trigger btn btn-inverse dropdown-toggle" data-toggle="dropdown"><span class="caret"></span></button>
|
||||||
@@ -1038,6 +1059,88 @@
|
|||||||
<div id="modal_feed" title="{% trans 'action : publier' %}" style="display:none;"></div>
|
<div id="modal_feed" title="{% trans 'action : publier' %}" style="display:none;"></div>
|
||||||
<div id="dialog_dwnl" title="{% trans 'action : exporter' %}" style="display:none;"></div>
|
<div id="dialog_dwnl" title="{% trans 'action : exporter' %}" style="display:none;"></div>
|
||||||
|
|
||||||
|
{% if step %}
|
||||||
|
<ol id="step_by_step" style="visibility: hidden;">
|
||||||
|
/* data-id needs to be the same as the parent it will attach to */
|
||||||
|
<li data-id="EDIT_query">
|
||||||
|
<div>
|
||||||
|
<h1>
|
||||||
|
{{ "Rechercher"|trans }}
|
||||||
|
</h1>
|
||||||
|
<p>
|
||||||
|
{{ "Taper ici les termes de recherche afin de retrouver les documents souhaités."|trans }}
|
||||||
|
</p>
|
||||||
|
</div>
|
||||||
|
</li>
|
||||||
|
<li data-id="ADV_query">
|
||||||
|
<div>
|
||||||
|
<h1>
|
||||||
|
{{ "Recherche Avancée"|trans }}
|
||||||
|
</h1>
|
||||||
|
<p>
|
||||||
|
{{ "Séléctionner les champs et les collections sur lesquels vous voulez rechercher."|trans }}
|
||||||
|
</p>
|
||||||
|
</div>
|
||||||
|
</li>
|
||||||
|
<li data-id="recordtype_sel">
|
||||||
|
<div>
|
||||||
|
<h1>
|
||||||
|
{{ "Types de documents"|trans }}
|
||||||
|
</h1>
|
||||||
|
<p>
|
||||||
|
{{ "Séléctionner ici le type de document que vous souhaitez rechercher."|trans }}
|
||||||
|
</p>
|
||||||
|
</div>
|
||||||
|
</li>
|
||||||
|
<li data-id="TOOL_disktt">
|
||||||
|
<div>
|
||||||
|
<h1>
|
||||||
|
{{ "Barre d'outils"|trans }}
|
||||||
|
</h1>
|
||||||
|
<p>
|
||||||
|
{{ "Utilisez la barre d'outils pour télécharger les documents ou pour agir sur ces documents."|trans }}
|
||||||
|
</p>
|
||||||
|
</div>
|
||||||
|
</li>
|
||||||
|
<li data-id="answers" data-options="tipLocation:left">
|
||||||
|
<div>
|
||||||
|
<h1>
|
||||||
|
{{ "Sélection et Prévisualisation de documents"|trans }}
|
||||||
|
</h1>
|
||||||
|
<p>
|
||||||
|
{{ "Sélectionner les documents en cliquant dessus.
|
||||||
|
Pour sélectionner plusieurs documents, maintenez la touche maj enfoncée et
|
||||||
|
cliquez sur les documents souhaités.
|
||||||
|
Pour prévisualier un document cliquez dessus."|trans }}
|
||||||
|
</p>
|
||||||
|
</div>
|
||||||
|
</li>
|
||||||
|
<li data-id="basket_menu_trigger">
|
||||||
|
<div>
|
||||||
|
<h1>
|
||||||
|
{{ "Paniers"|trans }}
|
||||||
|
</h1>
|
||||||
|
<p>
|
||||||
|
{{ "Consulter et administrer vos paniers dans cet onglet.
|
||||||
|
Pour créer un panier et affichez le menu déroulant en cliquant sue la
|
||||||
|
flèche blanche."|trans }}
|
||||||
|
</p>
|
||||||
|
</div>
|
||||||
|
</li>
|
||||||
|
<li data-id="answers" data-options="tipLocation:left">
|
||||||
|
<div>
|
||||||
|
<h1>
|
||||||
|
{{ "Ajouter au panier"|trans }}
|
||||||
|
</h1>
|
||||||
|
<p>
|
||||||
|
{{ "Ajoutez des médias simplement en les faisant glisser vers le panier
|
||||||
|
désiré et en relachant au dessus."|trans }}
|
||||||
|
</p>
|
||||||
|
</div>
|
||||||
|
</li>
|
||||||
|
</ol>
|
||||||
|
{% endif %}
|
||||||
|
|
||||||
<script type="text/javascript">
|
<script type="text/javascript">
|
||||||
{% include "prod/thesaurus.js" %}
|
{% include "prod/thesaurus.js" %}
|
||||||
</script>
|
</script>
|
||||||
@@ -1091,5 +1194,19 @@
|
|||||||
|
|
||||||
</script>
|
</script>
|
||||||
<script type="text/javascript" id="bitly_loader"></script>
|
<script type="text/javascript" id="bitly_loader"></script>
|
||||||
|
{% if step %}
|
||||||
|
<script type="text/javascript" src="{{ path('minifier', { 'f' : 'assets/joyride/jquery.cookie.js' }) }}"></script>
|
||||||
|
<script type="text/javascript" src="{{ path('minifier', { 'f' : 'assets/joyride/modernizr.mq.js' }) }}"></script>
|
||||||
|
<script type="text/javascript" src="{{ path('minifier', { 'f' : 'assets/joyride/jquery.joyride-2.1.js' }) }}"></script>
|
||||||
|
<script type="text/javascript">
|
||||||
|
$(document).ready(function() {
|
||||||
|
$("#step_by_step").joyride({
|
||||||
|
autoStart : true,
|
||||||
|
modal:true,
|
||||||
|
expose: true
|
||||||
|
});
|
||||||
|
});
|
||||||
|
</script>
|
||||||
|
{% endif %}
|
||||||
|
|
||||||
{% endblock %}
|
{% endblock %}
|
||||||
|
|||||||
@@ -10,6 +10,6 @@ class RootTest extends \PhraseanetWebTestCaseAuthenticatedAbstract
|
|||||||
{
|
{
|
||||||
$this->authenticate(self::$DI['app']);
|
$this->authenticate(self::$DI['app']);
|
||||||
self::$DI['client']->request("GET", "/client/");
|
self::$DI['client']->request("GET", "/client/");
|
||||||
$this->assertTrue(self::$DI['client']->getResponse()->isRedirect());
|
$this->assertTrue(self::$DI['client']->getResponse()->isOk());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user