mirror of
https://github.com/alchemy-fr/Phraseanet.git
synced 2025-10-11 12:03:14 +00:00
Use ['locales.I18n.available'] to generate field label
This commit is contained in:
@@ -31,6 +31,10 @@ class Root implements ControllerProviderInterface
|
||||
->get('/', $this->call('getRoot'))
|
||||
->bind('root');
|
||||
|
||||
$controllers
|
||||
->get('/available-languages', $this->call('getAvailableLanguages'))
|
||||
->bind('available_languages');
|
||||
|
||||
$controllers
|
||||
->get('/robots.txt', $this->call('getRobots'))
|
||||
->bind('robots');
|
||||
@@ -70,6 +74,11 @@ class Root implements ControllerProviderInterface
|
||||
return $response;
|
||||
}
|
||||
|
||||
public function getAvailableLanguages(Application $app, Request $request)
|
||||
{
|
||||
return $app->json($app['locales.I18n.available']);
|
||||
}
|
||||
|
||||
/**
|
||||
* Prefix the method to call with the controller class name
|
||||
*
|
||||
|
@@ -55,15 +55,13 @@
|
||||
<label class="control-label" for="new-name"">{% trans %}Labels{% endtrans %}</label>
|
||||
<div class="controls">
|
||||
<ul class="unstyled inline">
|
||||
<li class="select lng-label"><a href="#new-label_fr">FR</a></li>
|
||||
<li class="lng-label"><a href="#new-label_en">EN</a></li>
|
||||
<li class="lng-label"><a href="#new-label_de">DE</a></li>
|
||||
<li class="lng-label"><a href="#new-label_nl">NL</a></li>
|
||||
<% _.each(languages, function(placeholder, code) { %>
|
||||
<li class="lng-label <%= code === 'fr' ? 'select' : ''%>"><a href="#new-label_<%= code %>"><%= code %></a></li>
|
||||
<% }); %>
|
||||
</ul>
|
||||
<input type="text" id="new-label_en" class="input-block-level input-label" style="display:none" placeholder="{% trans %}English label{% endtrans %}">
|
||||
<input type="text" id="new-label_fr" class="input-block-level input-label" placeholder="{% trans %}French label{% endtrans %}">
|
||||
<input type="text" id="new-label_de" class="input-block-level input-label" style="display:none" placeholder="{% trans %}German label{% endtrans %}">
|
||||
<input type="text" id="new-label_nl" class="input-block-level input-label" style="display:none" placeholder="{% trans %}Dutch label{% endtrans %}">
|
||||
<% _.each(languages, function(placeholder, code) { %>
|
||||
<input type="text" id="new-label_<%= code %>" class="input-block-level input-label" <%= code === 'fr' ? '' : 'style="display:none"'%> placeholder="<%= placeholder %>">
|
||||
<% }); %>
|
||||
<span class="help-block"></span>
|
||||
</div>
|
||||
</div>
|
||||
@@ -105,15 +103,15 @@
|
||||
<tr class="edit-label ">
|
||||
<td colspan="2" class="control-group">
|
||||
<ul class="unstyled inline">
|
||||
<li class="select lng-label"><a href="#label_fr">FR</a></li>
|
||||
<li class="lng-label"><a href="#label_en">EN</a></li>
|
||||
<li class="lng-label"><a href="#label_de">DE</a></li>
|
||||
<li class="lng-label"><a href="#label_nl">NL</a></li>
|
||||
<ul class="unstyled inline">
|
||||
<% _.each(field.labels, function(value, code) { %>
|
||||
<li class="lng-label <%= code === 'fr' ? 'select' : ''%>"><a href="#label_<%= code %>"><%= code %></a></li>
|
||||
<% }); %>
|
||||
</ul>
|
||||
<input type="text" value="<%= field.label_en %>" id="label_en" class="input-block-level input-label" style="display:none" placeholder="{% trans %}English label{% endtrans %}">
|
||||
<input type="text" value="<%= field.label_fr %>" id="label_fr" class="input-block-level input-label" placeholder="{% trans %}French label{% endtrans %}">
|
||||
<input type="text" value="<%= field.label_de %>" id="label_de" class="input-block-level input-label" style="display:none" placeholder="{% trans %}German label{% endtrans %}">
|
||||
<input type="text" value="<%= field.label_nl %>" id="label_nl" class="input-block-level input-label" style="display:none" placeholder="{% trans %}Dutch label{% endtrans %}">
|
||||
</ul>
|
||||
<% _.each(field.labels, function(value, code) { %>
|
||||
<input type="text" value="<%= value %>" id="label_<%= code %>" class="input-block-level input-label" <%= code === 'fr' ? '' : 'style="display:none"'%> >
|
||||
<% }); %>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
|
@@ -40,6 +40,14 @@ class RootTest extends \PhraseanetWebTestCaseAuthenticatedAbstract
|
||||
$this->assertRegExp('/^\/login\/\?redirect=[\/a-zA-Z]+/', $response->headers->get('location'));
|
||||
}
|
||||
|
||||
public function testRouteAvailableLanguages()
|
||||
{
|
||||
$crawler = self::$DI['client']->request('GET', '/available-languages');
|
||||
$response = self::$DI['client']->getResponse();
|
||||
$this->assertEquals(200, $response->getStatusCode());
|
||||
$this->assertEquals((array) json_decode($response->getContent()), self::$DI['app']['locales.I18n.available']);
|
||||
}
|
||||
|
||||
public function testRouteRobots()
|
||||
{
|
||||
$original_value = self::$DI['app']['phraseanet.registry']->get('GV_allow_search_engine');
|
||||
|
@@ -64,7 +64,13 @@ define([
|
||||
$.when.apply($, [
|
||||
AdminFieldApp.fieldsCollection.fetch(),
|
||||
AdminFieldApp.vocabularyCollection.fetch(),
|
||||
AdminFieldApp.dcFieldsCollection.fetch()
|
||||
AdminFieldApp.dcFieldsCollection.fetch(),
|
||||
$.ajax({
|
||||
url: '/available-languages',
|
||||
success: function(languages) {
|
||||
AdminFieldApp.languages = languages;
|
||||
}
|
||||
})
|
||||
]).done(
|
||||
function() {
|
||||
// register views
|
||||
|
@@ -25,7 +25,9 @@ define([
|
||||
"click .lng-label a": "_toggleLabels"
|
||||
},
|
||||
render: function() {
|
||||
var template = _.template($("#create_template").html());
|
||||
var template = _.template($("#create_template").html(), {
|
||||
languages: AdminFieldApp.languages
|
||||
});
|
||||
|
||||
this.$el.html(template);
|
||||
|
||||
|
@@ -54,7 +54,7 @@ define([
|
||||
});
|
||||
},
|
||||
render: function() {
|
||||
var template = _.template($("#item_list_view_template").html(), {});
|
||||
var template = _.template($("#item_list_view_template").html());
|
||||
|
||||
this.$el.empty().html(template);
|
||||
|
||||
|
Reference in New Issue
Block a user