81 lines
2.6 KiB
JavaScript
81 lines
2.6 KiB
JavaScript
export default function () {
|
|
$(function () {
|
|
// Make inputs with enabled unlimited checked disabled
|
|
$("input[name$='_ul']").each(function () {
|
|
var fieldname = $(this).attr("name").substring(0, $(this).attr("name").length - 3);
|
|
$("input[name='" + fieldname + "']").prop({
|
|
readonly: $(this).is(":checked"),
|
|
required: !$(this).is(":checked")
|
|
});
|
|
});
|
|
// change state when unlimited checkboxes are clicked
|
|
$("input[name$='_ul']").on('change', function () {
|
|
var fieldname = $(this).attr("name").substring(0, $(this).attr("name").length - 3);
|
|
$("input[name='" + fieldname + "']").prop({
|
|
readonly: $(this).is(":checked"),
|
|
required: !$(this).is(":checked")
|
|
});
|
|
if (!$(this).is(":checked")) {
|
|
$("input[name='" + fieldname + "']").focus()
|
|
}
|
|
});
|
|
|
|
// set values from hosting plan when adding/editing a customer according to the plan's values
|
|
$('#use_plan').on('change', function () {
|
|
var pid = $(this).val();
|
|
if (pid > 0) {
|
|
$.ajax({
|
|
url: "admin_plans.php?page=overview&action=jqGetPlanValues",
|
|
type: "POST",
|
|
data: {
|
|
planid: pid
|
|
},
|
|
dataType: "json",
|
|
beforeSend: function (request) {
|
|
request.setRequestHeader('X-CSRF-TOKEN', document.querySelector('meta[name="csrf-token"]').getAttribute('content'));
|
|
},
|
|
success: function (json) {
|
|
for (var i in json) {
|
|
if (i == 'email_imap' || i == 'email_pop3' || i == 'perlenabled' || i == 'phpenabled' || i == 'dnsenabled' || i == 'logviewenabled') {
|
|
/** handle checkboxes **/
|
|
if (json[i] == 1) {
|
|
$("input[name='" + i + "']").prop('checked', true);
|
|
} else {
|
|
$("input[name='" + i + "']").prop('checked', false);
|
|
}
|
|
} else if (i == 'allowed_phpconfigs') {
|
|
/** handle array of values **/
|
|
$("input[name='allowed_phpconfigs[]']").each(function (index) {
|
|
$(this).prop('checked', false);
|
|
for (var j in json[i]) {
|
|
if ($(this).val() == json[i][j]) {
|
|
$(this).prop('checked', true);
|
|
break;
|
|
}
|
|
}
|
|
});
|
|
} else if (json[i] == -1) {
|
|
/** handle unlimited checkboxes **/
|
|
$("input[name='" + i + "_ul']").attr('checked', 'checked');
|
|
$("input[name='" + i + "']").prop({
|
|
readonly: true
|
|
});
|
|
} else {
|
|
/** handle normal value **/
|
|
$("input[name='" + i + "']").val(json[i]);
|
|
$("input[name='" + i + "']").prop({
|
|
readonly: false
|
|
});
|
|
$("input[name='" + i + "_ul']").prop('checked', false);
|
|
}
|
|
}
|
|
},
|
|
error: function (a, b) {
|
|
console.log(a, b);
|
|
}
|
|
});
|
|
}
|
|
});
|
|
});
|
|
}
|