v1.0.0 RC 1

This commit is contained in:
2014-06-14 18:04:27 +02:00
parent 16387ca7d1
commit 8da730253d
109 changed files with 10834 additions and 8132 deletions

View File

@@ -1,64 +1,47 @@
<div id="options">
<div class="h1_wrap">
<h1 class="round"><span>Options</span></h1>
</div>
<div id="options_container">
<form id="options_form" name="options_form">
<div id="options_input" class="round"><p class="loading">Chargement en cours...</p></div>
<input type="button" value="Valider" name="options_submit" id="options_submit" class="button heavy round" />
</form>
<div class="options_box round">
<h2><i class="fa fa-c-param fa-inline"></i>Options</h2>
<form id="options_form" name="options_form">
<div id="options_input">
<p class="loading">Chargement en cours...</p>
</div>
</form>
</div>
<div class="options_box round">
<h2><i class="fa fa-c-lock fa-inline"></i>Mot de passe</h2>
<div id="pass_input"></div>
<form id="pass_form" name="pass_form">
<input type="hidden" id="old_auth_token" name="old_auth_token" />
<input type="hidden" id="new_auth_token" name="new_auth_token" />
</form>
</div>
</div>
</div>
<script type="text/javascript">
databap.pageInit = function()
{
//TODO : to be replaced by tinyscrollbar
databap.$main.css('overflow', 'auto');
self.initScrollBar('#main', '#options', '#options_container');
//Display password form
addOption('old_pass', {type:'P', option_name:'Mdp Actuel', user_value:''}, $('#pass_input'));
addOption('new_pass', {type:'P', option_name:'Nouveau mdp', user_value:''}, $('#pass_input'));
addOption('new_pass_conf', {type:'P', option_name:'Confirmation nouveau mdp', user_value:''}, $('#pass_input'));
$('#pass_form').addButton('ok', 'Valider', validate_pass, 'validate_pass', 'heavy inverse');
databap.getInfo
(
'get_options',
function(options)
{
var selectHtml = '';
var optionHtml = '';
var nameAndId = '';
var selected = '';
//remove default text
$('#options_input').find('.loading').hide();
$('#options_input').find('.loading').hide().remove();
//Display options
$.each
(
options,
function(optNameId, optInfo)
{
optionHtml = '<div class="option_line"><label>'+optInfo.option_name+'</label>';
nameAndId = 'id="'+optNameId+'" name="'+optNameId+'"';
switch(optInfo.type)
{
case databap.consts.opt_type_text:
optionHtml += '<input type="text" '+nameAndId+' value="'+optInfo.user_value+'" class="round" />';
break;
case databap.consts.opt_type_select:
selectHtml = selected = '';
$.each
(
optInfo.select,
function(selectId, selectName)
{
debug('id='+selectId+selectName);
//selected = (optinfo.user_value_id && selectId==optinfo.user_value_id)?' selected':'';
selectHtml += '<option value="'+selectId+'"'+selected+'>'+selectName+'</option>';
}
);
optionHtml += '<select '+nameAndId+' class="round">'+selectHtml+'</select>';
break;
}
$(optionHtml+'</div>').appendTo(databap.getMainElem('#options_input')).slideDown('fast');
}
);
//Display options form
$.each(options, addOption);
//Submit button
$('#options_form').addButton('ok', 'Valider', validate_options, 'validate_options', 'heavy inverse');
//Init's end
databap.setInitEnd(true);
@@ -68,26 +51,86 @@ databap.pageInit = function()
function(){},
true
);
databap.getMainElem('#options_submit').click
(
function()
{
databap.saveForm
(
'set_options',
databap.getMainElem('#options_form'),
function(result)
{
databap.addSuccessIcon();
databap.goTo('options');
},
'#options_submit'
);
}
);
var warning = '<p class="warning">Attention : Une fois la s&eacute;lection valid&eacute;e, la page se rafraichira automatiquement</p>';
databap.getMainElem('#options_container').append(warning);
};
databap.onResize = function()
{
self.setScrollBarSize('maximize');
};
function addOption(optNameId, optInfo, $Box)
{
$Box = $Box || $('#options_input');
var selected = '';
var $Option = $('<div>', {'class':'option_line'}).append($('<p>').text(optInfo.option_name));
switch(optInfo.type)
{
case databap.consts.opt_type_text:
$Option.append($('<input>', {type:'text', id:optNameId, name:optNameId, value:optInfo.user_value, 'class':'round'}));
break;
case databap.consts.opt_type_pass:
$Option.append($('<input>', {type:'password', id:optNameId, name:optNameId, value:optInfo.user_value, 'class':'round'}));
break;
case databap.consts.opt_type_select:
var $Select = $('<select>', {id:optNameId, name:optNameId, 'class':'round'}).appendTo($Option);
$.each
(
optInfo.select,
function(selectId, selectName)
{
$Select
.append($('<option>', {value:selectId})
.prop('selected', (selectId==optInfo.user_value_id))
.text(selectName));
}
);
break;
}
$Option.appendTo($Box).slideDown('fast');
}
function validate_options()
{
databap.saveForm
(
'set_options',
databap.getMainElem('#options_form'),
function(result)
{
databap.addSuccessIcon();
location.reload();
},
true
);
}
function validate_pass()
{
sButtonId = '#validate_pass';
var sOldPass = $.trim($('#old_pass').val());
var sNewPass = $.trim($('#new_pass').val());
if(sOldPass=='') databap.addErrorBefore('Mdp actuel manquant', sButtonId);
else if(sNewPass=='') databap.addErrorBefore('Mdp vide non autorisé', sButtonId);
else if(sNewPass!=$('#new_pass').val()) databap.addErrorBefore('Pas de blanc dans le mdp', sButtonId);
else if(sNewPass!=$('#new_pass_conf').val()) databap.addErrorBefore('Les nouveaux mdp ne coïncident pas', sButtonId);
else if(sNewPass==sOldPass) databap.addErrorBefore('Le nouveau mdp est le même que l\'actuel', sButtonId);
else
{
$('#old_auth_token').val(getLoginToken(sOldPass));
$('#new_auth_token').val(getLoginToken(sNewPass));
databap.saveForm
(
'set_pass',
databap.getMainElem('#pass_form'),
function(data)
{
if(data.result==databap.consts.success) databap.addSuccessBefore(data.desc, sButtonId);
else databap.addErrorBefore(data.desc, sButtonId);
},
true,
'json'
);
}
}
</script>