removed duplicate code and avoid deleting form field config on reload

This commit is contained in:
Daniel Steglich 2015-03-09 23:33:09 +01:00
parent 2782406cae
commit 8269cfe97e

View File

@ -66,7 +66,11 @@
$('#id_dynamicdns-enabled').change(function() { $('#id_dynamicdns-enabled').change(function() {
if ($('#id_dynamicdns-enabled').prop('checked')) { if ($('#id_dynamicdns-enabled').prop('checked')) {
show_all(); show_all();
configure_dropdown(); if ($("#id_dynamicdns-service_type option:selected").text() == "GnuDIP") {
set_gnudip_mode()
}else{
set_update_url_mode();
}
} else { } else {
$('.form-group').hide(); $('.form-group').hide();
$('#id_dynamicdns-enabled').closest('.form-group').show(); $('#id_dynamicdns-enabled').closest('.form-group').show();
@ -94,10 +98,7 @@
function select_service() function select_service()
{ {
if ( $("#id_dynamicdns-dynamicdns_server").val().length == 0 ) { if ( $("#id_dynamicdns-dynamicdns_server").val().length == 0 ) {
$('#id_dynamicdns-dynamicdns_update_url').closest('.form-group').show(); set_update_url_mode()
$('#id_dynamicdns-disable_SSL_cert_check').closest('.form-group').show();
$('#id_dynamicdns-use_http_basic_auth').closest('.form-group').show();
$('#id_dynamicdns-dynamicdns_server').closest('.form-group').hide();
if($("#id_dynamicdns-dynamicdns_update_url").val() == NOIP){ if($("#id_dynamicdns-dynamicdns_update_url").val() == NOIP){
$("#id_dynamicdns-service_type").val(2); $("#id_dynamicdns-service_type").val(2);
}else if($("#id_dynamicdns-dynamicdns_update_url").val() == SELFHOST){ }else if($("#id_dynamicdns-dynamicdns_update_url").val() == SELFHOST){
@ -109,25 +110,16 @@
} }
}else{ }else{
$("#id_dynamicdns-service_type").val(1); $("#id_dynamicdns-service_type").val(1);
$('#id_dynamicdns-dynamicdns_update_url').closest('.form-group').hide(); set_gnudip_mode();
$('#id_dynamicdns-disable_SSL_cert_check').closest('.form-group').hide();
$('#id_dynamicdns-use_http_basic_auth').closest('.form-group').hide();
$('#id_dynamicdns-dynamicdns_server').closest('.form-group').show();
} }
} }
function configure_dropdown() function configure_dropdown()
{ {
if ($("#id_dynamicdns-service_type option:selected").text() == "GnuDIP") { if ($("#id_dynamicdns-service_type option:selected").text() == "GnuDIP") {
$('#id_dynamicdns-dynamicdns_update_url').closest('.form-group').hide(); set_gnudip_mode()
$('#id_dynamicdns-disable_SSL_cert_check').closest('.form-group').hide();
$('#id_dynamicdns-use_http_basic_auth').closest('.form-group').hide();
$('#id_dynamicdns-dynamicdns_server').closest('.form-group').show();
}else{ }else{
$('#id_dynamicdns-dynamicdns_update_url').closest('.form-group').show(); set_update_url_mode();
$('#id_dynamicdns-disable_SSL_cert_check').closest('.form-group').show();
$('#id_dynamicdns-use_http_basic_auth').closest('.form-group').show();
$('#id_dynamicdns-dynamicdns_server').closest('.form-group').hide();
if ($("#id_dynamicdns-service_type option:selected").text() == "noip.com") { if ($("#id_dynamicdns-service_type option:selected").text() == "noip.com") {
$('#id_dynamicdns-dynamicdns_update_url').val(NOIP); $('#id_dynamicdns-dynamicdns_update_url').val(NOIP);
$('#id_dynamicdns-use_http_basic_auth').prop('checked', true); $('#id_dynamicdns-use_http_basic_auth').prop('checked', true);
@ -146,6 +138,22 @@
} }
} }
function set_gnudip_mode()
{
$('#id_dynamicdns-dynamicdns_update_url').closest('.form-group').hide();
$('#id_dynamicdns-disable_SSL_cert_check').closest('.form-group').hide();
$('#id_dynamicdns-use_http_basic_auth').closest('.form-group').hide();
$('#id_dynamicdns-dynamicdns_server').closest('.form-group').show();
}
function set_update_url_mode()
{
$('#id_dynamicdns-dynamicdns_update_url').closest('.form-group').show();
$('#id_dynamicdns-disable_SSL_cert_check').closest('.form-group').show();
$('#id_dynamicdns-use_http_basic_auth').closest('.form-group').show();
$('#id_dynamicdns-dynamicdns_server').closest('.form-group').hide();
}
function show_all() function show_all()
{ {
$('#id_dynamicdns-enabled').closest('.form-group').show(); $('#id_dynamicdns-enabled').closest('.form-group').show();