138 lines
4.9 KiB
JavaScript
138 lines
4.9 KiB
JavaScript
var user_sql = user_sql || {};
|
|
var form_id = "#user_sql";
|
|
|
|
user_sql.adminSettingsUI = function () {
|
|
var app_id = "user_sql";
|
|
|
|
if ($(form_id).length > 0) {
|
|
|
|
var click = function (event, path) {
|
|
event.preventDefault();
|
|
|
|
var post = $(form_id).serializeArray();
|
|
var msg = $("#user_sql-msg");
|
|
var msg_body = $("#user_sql-msg-body");
|
|
|
|
msg_body.html(t(app_id, "Waiting..."));
|
|
msg.addClass("waiting");
|
|
msg.slideDown();
|
|
|
|
$.post(OC.generateUrl(path), post, function (data) {
|
|
msg_body.html(data.data.message);
|
|
msg.removeClass("error");
|
|
msg.removeClass("success");
|
|
msg.removeClass("waiting");
|
|
|
|
if (data.status === "success") {
|
|
msg.addClass("success");
|
|
} else {
|
|
msg.addClass("error");
|
|
}
|
|
|
|
window.setTimeout(function () {
|
|
msg.slideUp();
|
|
}, 10000);
|
|
}, "json");
|
|
|
|
return false;
|
|
};
|
|
|
|
var autocomplete = function (ids, path) {
|
|
$(ids).autocomplete({
|
|
source: function (request, response) {
|
|
var post = $(form_id).serializeArray();
|
|
post.push({name: "input", value: request["term"]});
|
|
$.post(OC.generateUrl(path), post, response, "json");
|
|
},
|
|
minLength: 0,
|
|
open: function () {
|
|
$(this).attr("state", "open");
|
|
},
|
|
close: function () {
|
|
$(this).attr("state", "closed");
|
|
}
|
|
}).focus(function () {
|
|
if ($(this).attr("state") !== "open") {
|
|
$(this).autocomplete("search");
|
|
}
|
|
});
|
|
};
|
|
|
|
var cryptoParams = function () {
|
|
var cryptoChanged = function () {
|
|
var div = $("#opt-crypto_params");
|
|
div.empty();
|
|
div.append("<span class=\"icon loading\"></span>");
|
|
|
|
var cryptoClass = $("#opt-crypto_class").val();
|
|
$.get(OC.generateUrl("/apps/user_sql/settings/crypto/params"), cryptoClass, function (data) {
|
|
div.empty();
|
|
if (data.status === "success") {
|
|
for (var index = 0, length = data.data.length; index < length; ++index) {
|
|
div.append("<div><label for=\"opt-crypto_param_"
|
|
+ index
|
|
+ "\"><span>"
|
|
+ data.data[index]["name"]
|
|
+ "</span><input type=\"number\" id=\"opt-crypto_param_"
|
|
+ index
|
|
+ "\" name=\"opt-crypto_param_"
|
|
+ index
|
|
+ "\" step=\"1\" min=\""
|
|
+ data.data[index]["min"]
|
|
+ "\" max=\""
|
|
+ data.data[index]["max"]
|
|
+ "\" value=\""
|
|
+ data.data[index]["value"]
|
|
+ "\"></label></div>");
|
|
}
|
|
}
|
|
}, "json");
|
|
};
|
|
$("#opt-crypto_class").change(function () {
|
|
cryptoChanged();
|
|
});
|
|
cryptoChanged();
|
|
};
|
|
|
|
$("#user_sql-db_connection_verify").click(function (event) {
|
|
return click(event, "/apps/user_sql/settings/db/verify");
|
|
});
|
|
|
|
$("#user_sql-clear_cache").click(function (event) {
|
|
return click(event, "/apps/user_sql/settings/cache/clear");
|
|
});
|
|
|
|
$("#user_sql-save").click(function (event) {
|
|
return click(event, "/apps/user_sql/settings/properties");
|
|
});
|
|
|
|
autocomplete(
|
|
"#db-table-user, #db-table-user_group, #db-table-group",
|
|
"/apps/user_sql/settings/autocomplete/table"
|
|
);
|
|
|
|
autocomplete(
|
|
"#db-table-user-column-uid, #db-table-user-column-email, #db-table-user-column-quota, #db-table-user-column-home, #db-table-user-column-password, #db-table-user-column-name, #db-table-user-column-active, #db-table-user-column-avatar, #db-table-user-column-salt",
|
|
"/apps/user_sql/settings/autocomplete/table/user"
|
|
);
|
|
|
|
autocomplete(
|
|
"#db-table-user_group-column-uid, #db-table-user_group-column-gid",
|
|
"/apps/user_sql/settings/autocomplete/table/user_group"
|
|
);
|
|
|
|
autocomplete(
|
|
"#db-table-group-column-admin, #db-table-group-column-name, #db-table-group-column-gid",
|
|
"/apps/user_sql/settings/autocomplete/table/group"
|
|
);
|
|
|
|
cryptoParams();
|
|
}
|
|
};
|
|
|
|
$(document).ready(function () {
|
|
if ($(form_id)) {
|
|
user_sql.adminSettingsUI();
|
|
}
|
|
});
|