Files
Phraseanet/templates/web/admin/setup.html.twig
Romain Neutron e7421e1fdd Fix twig tags
2013-12-03 20:02:39 +01:00

181 lines
11 KiB
Twig

<div class="page-header">
<h1>{{ 'Setup' | trans }}</h1>
</div>
{% if update_post_datas is not none %}
<div class='alert'>
{{ update_post_datas }}
</div>
{% endif %}
<form class="form-horizontal" id="GV_form_head">
<div class="control-group">
<label class="control-label">Adresse : </label>
<div class="controls">
<input type="text" class="input-xxlarge" readonly="readonly" value="{{ app['phraseanet.registry'].get('GV_ServerName') }}" />
</div>
</div>
<div class="control-group">
<label class="control-label">Installation : </label>
<div class="controls">
<input type="text" class="input-xxlarge" readonly="readonly" value="{{ app['root.path'] }}" />
</div>
</div>
<div class="control-group">
<label class="control-label">Maintenance : </label>
<div class="controls">
<input type="checkbox" readonly="readonly" disabled="disabled"/>
</div>
</div>
<div class="control-group">
<label class="control-label">Debug : </label>
<div class="controls">
<input type="checkbox" readonly="readonly" disabled="disabled" {{ app['phraseanet.registry'].get('GV_debug') == true ? "checked='checked'" : '' }} />
</div>
</div>
</form>
<form id="GV_form" class="form-horizontal" method="post" action = "{{ path('setup_submit_globals') }}">
{% for section in GV %}
<fieldset>
<legend> {{ section['section'] }} </legend>
{% for value in section['vars'] %}
{% set readonly = false %}
{% if value['readonly'] is defined and value['readonly'] == true %}
{% set readonly = true %}
{% endif %}
{% set currentValue = '' %}
{% set is_new = false %}
{% if app['phraseanet.registry'].is_set(value['name']) %}
{% set currentValue = app['phraseanet.registry'].get(value['name']) %}
{% set is_new = true %}
{% elseif value['default'] is defined %}
{% set currentValue = value['default'] %}
{% endif %}
<div class="control-group">
<label class="control-label" for="id_{{ value['name'] }}" style="color:#666;word-wrap: break-word;text-align: right;" ><span class="NEW">{{ is_new == false ? 'NEW' : '' }} </span>{{ value['comment'] | raw }}</label>
{% if value['type'] == 'boolean' %}
<div class="controls">
<label class="radio inline" for="id_{{ value['name'] }}_no"><input {{ value['required'] is defined ? 'required="required"' : '' }} {{ readonly ? 'readonly="readonly"' : '' }} {{ currentValue == '0' ? 'checked="selected"' : '' }} type="radio" name="{{ value['name'] }}" value="False" id="id_{{ value['name'] }}_no" />False</label>
<label class="radio inline" for="id_{{ value['name'] }}_yes"><input {{ value['required'] is defined ? 'required="required"' : '' }} {{ readonly ? 'readonly="readonly"' : '' }} {{ currentValue == '1' ? 'checked="checked"' : '' }} type="radio" name="{{ value['name'] }}" value="True" id="id_{{ value['name'] }}_tes" />True</label>
{% elseif value['type'] == 'string' %}
<div class="controls"><input {{ value['required'] is defined ? 'required="required"' : '' }} {{ readonly ? 'readonly="readonly"' : '' }} name="{{ value['name'] }}" id="id_{{ value['name'] }}" type="text" value="{{ currentValue }}" class="input-xxlarge"/>
{% elseif value['type'] == 'text' %}
<div class="controls"><textarea {{ readonly ? 'readonly="readonly"' : '' }} name="{{ value['name'] }}" id="id_{{ value['name'] }}" class="input-xxlarge">{{ currentValue }}</textarea>
{% elseif value['type'] == 'enum' %}
<div class="controls"><select {{ value['required'] is defined ? 'required="required"' : '' }} {{ readonly ? 'readonly="readonly"' : '' }} name="{{ value['name'] }}" id="id_{{ value['name'] }}" class="input-xlarge">
{% if value['available'] is defined and value['available'] is iterable %}
{% for key, val in value['available'] %}
<option value="{{ key }}" {{ currentValue == key ? 'selected="selected"' : '' }} >{{ val }}</option>
{% endfor %}
{% else %}
<p class="alert">
{% set name = value['name'] %}
{% trans %}
erreur avec la valeur {{ name }}
{% endtrans %}
</p>
{% endif %}
</select>
{% elseif value['type'] == 'enum_multi' %}
{% if value['available'] is defined and value['available'] is iterable %}
<div class="controls">
{% for key, availableValue in value['available'] %}
<label class="checkbox">
<input type="checkbox" name="{{ value['name'] ~ '[]' }}" {{ value['required'] is defined ? 'required="required"' : '' }} {{ readonly ? 'readonly="readonly"' : ''}} value="{{ key }}" {{ currentValue is iterable and key in currentValue| keys ? 'checked="checked"' : '' }} /> {{ availableValue }}</label>
{% endfor %}
{% else %}
<div class="controls">
<p class='alert'>
{% set name = value['name'] %}
{% trans %}
erreur avec la valeur {{ name }}
{% endtrans %}
</p>
{% endif %}
{% elseif value['type'] == 'integer' %}
<div class="controls">
<input {{ value['required'] is defined ? 'required="required"' : '' }} {{ readonly ? 'readonly="readonly"' : '' }} name="{{ value['name'] }}" id="id_{{ value['name'] }}" type="text" value="{{ currentValue }}" class="input-xxlarge"/>
{% elseif value['type'] == 'password' %}
<div class="controls">
<input {{ value['required'] is defined ? 'required="required"' : '' }} {{ readonly ? 'readonly="readonly"' : '' }} name="{{ value['name'] }}" id="id_{{ value['name'] }}" type="password" value="{{ currentValue }}" class="input-xxlarge"/>
{% elseif value['type'] == 'timezone' %}
{% if currentValue is not empty %}
{% set date = date() %}
{% set currentValue = date.getTimezone().getName() %}
{% endif %}
<div class="controls">
<select {{ value['required'] is defined ? 'required="required"' : '' }} name="{{ value['name'] }}" id="id_{{ value['name'] }}" class="input-xlarge">
{% set times = [] %}
{% for k, v in listTimeZone %}
{% for val in v %}
{% if val['timezone_id'] is defined and val['timezone_id'] | trim is not empty and val['timezone_id'] not in times %}
{% set times = times|merge([val['timezone_id']]) %}
{% endif %}
{% endfor %}
{% endfor %}
{% for time in times %}
<option {{ currentValue == time ? "selected" : "" }} value="{{ time }}"> {{ time }} </option>
{% endfor %}
</select>
{% endif %}
</div>
<span class="help-block" style="margin-left:260px;">{{ value['help'] is defined ? value['help']|raw : '' }}</span>
</div>
{% endfor %}
{% if section['javascript'] is defined %}
<div><input type='button' class="btn" onclick='{{ section['javascript'] ~ '(this);' }}' value='Tester' /></div>
{% endif %}
</fieldset>
{% endfor %}
<div class="well well-large">
<div style="max-width: 400px;margin: 0 auto 10px;">
<input type="submit" class="btn btn-warning btn-block btn-large" value="{{ 'boutton::valider' | trans }}"/>
</div>
</div>
</form>
<script type='text/javascript'>
{% autoescape false %}
$(document).ready(function() {
// use html5 fallback validation if browser do not support required attribute
var form = $("#GV_form");
var inputs = form.find("input, select, textarea");
// if required not supported, emulate it
if (!Modernizr.input.required) {
form.bind("submit", function (event) {
var required = [];
// loop through input elements looking for required
$.each(inputs, function(k, input){
var input = $(input);
if (typeof input.attr('required') !== "undefined") {
// if the value is empty, add to required array
if (input.val().replace(/^\s+|\s+$/g, '') === '') {
required.push(input.attr('name'));
}
}
});
// show popover if required array contains any elements
if (required.length > 0) {
$.each(required, function(k, name) {
var $this = $("input[name="+name+"], select[name="+name+"], textarea[name="+name+"]");
$this.popover({ title: language.attention, content: language.requiredValue, placement:"bottom" })
.blur(function () {
$this.popover('hide');
});
$this.popover("show");
});
// prevent the form from being submitted
event.stopImmediatePropagation();
return false;
}
});
}
});
{% endautoescape %}
</script>