mirror of
https://github.com/alchemy-fr/Phraseanet.git
synced 2025-10-23 18:03: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",
|
||||
"geonames-server-jquery-plugin": "~0.2",
|
||||
"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": {
|
||||
"jquery": "~1.8.3"
|
||||
|
@@ -27,16 +27,6 @@ class Root implements ControllerProviderInterface
|
||||
$controllers = $app['controllers_factory'];
|
||||
|
||||
$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')) {
|
||||
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)
|
||||
{
|
||||
$app['session']->getFlashBag()->add('step_by_step', '');
|
||||
|
||||
try {
|
||||
\User_Adapter::updateClientInfos($app, 2);
|
||||
} catch (SessionNotFound $e) {
|
||||
|
@@ -45,6 +45,22 @@
|
||||
|
||||
</head>
|
||||
<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%;">
|
||||
{% include 'common/menubar.html.twig' %}
|
||||
<div style="top:30px;position:relative;float:left;">
|
||||
|
@@ -44,6 +44,7 @@
|
||||
{% endmacro %}
|
||||
|
||||
{% set jquery_theme = 'dark-hive' %}
|
||||
{% set step = app.flash('step_by_step') %}
|
||||
|
||||
{% 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 %};
|
||||
}
|
||||
</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 %}
|
||||
|
||||
{% block javascript %}
|
||||
@@ -117,22 +153,7 @@
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<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') %}
|
||||
{% if ratio == 0 %}
|
||||
{% set ratio = '0.333' %}
|
||||
@@ -294,7 +315,7 @@
|
||||
<form id="searchForm" method="POST" action="{{ path('prod_query') }}" name="phrasea_query" class="phrasea_query">
|
||||
<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')}}">
|
||||
<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' %}"/>
|
||||
</a>
|
||||
<button type="submit" class="btn btn-inverse" style="font-size:14px">{% trans 'boutton::rechercher' %}</button>
|
||||
@@ -531,7 +552,7 @@
|
||||
|
||||
<span class="dropdownButton">
|
||||
<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' %}
|
||||
</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="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">
|
||||
{% include "prod/thesaurus.js" %}
|
||||
</script>
|
||||
@@ -1091,5 +1194,19 @@
|
||||
|
||||
</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 %}
|
||||
|
@@ -10,6 +10,6 @@ class RootTest extends \PhraseanetWebTestCaseAuthenticatedAbstract
|
||||
{
|
||||
$this->authenticate(self::$DI['app']);
|
||||
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