1
0
mirror of https://github.com/janeczku/calibre-web synced 2024-11-24 18:47:23 +00:00

Fix #1843 (get path to script via html file and known js file instead of randomly picking last one)

This commit is contained in:
Ozzie Isaacs 2021-01-31 19:01:34 +01:00
parent a866dbaa80
commit 1e5af21000
3 changed files with 20 additions and 26 deletions

View File

@ -78,10 +78,10 @@ function prefixedSource(prefix, query, cb, bhAdapter) {
});
}
function getPath() {
/*function getPath() {
var jsFileLocation = $("script[src*=edit_books]").attr("src"); // the js file path
return jsFileLocation.substr(0, jsFileLocation.search("/static/js/edit_books.js")); // the js folder path
}
}*/
var authors = new Bloodhound({
name: "authors",

View File

@ -15,6 +15,11 @@
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
function getPath() {
var jsFileLocation = $("script[src*=jquery]").attr("src"); // the js file path
return jsFileLocation.substr(0, jsFileLocation.search("/static/js/libs/jquery.min.js")); // the js folder path
}
// Generic control/related handler to show/hide fields based on a checkbox' value
// e.g.
// <input type="checkbox" data-control="stuff-to-show">
@ -110,15 +115,13 @@ $(document).ready(function() {
});
function ConfirmDialog(id, dataValue, yesFn, noFn) {
var pathname = document.getElementsByTagName("script"), src = pathname[pathname.length - 1].src;
var path = src.substring(0, src.lastIndexOf("/"));
var $confirm = $("#GeneralDeleteModal");
// var dataValue= e.data('value'); // target.data('value');
$confirm.modal('show');
$.ajax({
method:"get",
dataType: "json",
url: path + "/../../ajax/loaddialogtexts/" + id,
url: getPath() + "/ajax/loaddialogtexts/" + id,
success: function success(data) {
$("#header").html(data.header);
$("#text").html(data.main);
@ -140,15 +143,13 @@ function ConfirmDialog(id, dataValue, yesFn, noFn) {
$("#delete_confirm").click(function() {
//get data-id attribute of the clicked element
var pathname = document.getElementsByTagName("script"), src = pathname[pathname.length - 1].src;
var path = src.substring(0, src.lastIndexOf("/"));
var deleteId = $(this).data("delete-id");
var bookFormat = $(this).data("delete-format");
if (bookFormat) {
window.location.href = path + "/../../delete/" + deleteId + "/" + bookFormat;
window.location.href = getPath() + "/delete/" + deleteId + "/" + bookFormat;
} else {
if ($(this).data("delete-format")) {
path = path + "/../../ajax/delete/" + deleteId;
path = getPath() + "/ajax/delete/" + deleteId;
$.ajax({
method:"get",
url: path,
@ -168,7 +169,7 @@ $("#delete_confirm").click(function() {
}
});
} else {
window.location.href = path + "/../../delete/" + deleteId;
window.location.href = getPath() + "/delete/" + deleteId;
}
}
@ -224,7 +225,7 @@ $(function() {
function updateTimer() {
$.ajax({
dataType: "json",
url: window.location.pathname + "/../../get_updater_status",
url: window.location.pathname + "/get_updater_status",
success: function success(data) {
// console.log(data.status);
$("#DialogContent").html(updateText[data.status]);
@ -484,12 +485,9 @@ $(function() {
$(this).attr('id'),
$(this).data('value'),
function (value) {
var pathname = document.getElementsByTagName("script");
var src = pathname[pathname.length - 1].src;
var path = src.substring(0, src.lastIndexOf("/"));
$.ajax({
method: "get",
url: path + "/../../kobo_auth/deleteauthtoken/" + value,
url: getPath() + "/kobo_auth/deleteauthtoken/" + value,
});
$("#config_delete_kobo_token").hide();
}
@ -582,12 +580,10 @@ $(function() {
$("#DialogFinished").addClass("hidden");
$("#DialogContent").html("");
$("#spinner2").show();
var pathname = document.getElementsByTagName("script"), src = pathname[pathname.length - 1].src;
var path = src.substring(0, src.lastIndexOf("/"));
$.ajax({
method:"get",
dataType: "json",
url: path + "/../../import_ldap_users",
url: getPath() + "/import_ldap_users",
success: function success(data) {
$("#spinner2").hide();
$("#DialogContent").html(data.text);

View File

@ -256,13 +256,11 @@ $(function() {
$("#h4").addClass("hidden");
});
function startTable(type, user_id) {
var pathname = document.getElementsByTagName("script"), src = pathname[pathname.length - 1].src;
var path = src.substring(0, src.lastIndexOf("/"));
$("#restrict-elements-table").bootstrapTable({
formatNoMatches: function () {
return "";
},
url: path + "/../../ajax/listrestriction/" + type + "/" + user_id,
url: getPath() + "/ajax/listrestriction/" + type + "/" + user_id,
rowStyle: function(row) {
// console.log('Reihe :' + row + " Index :" + index);
if (row.id.charAt(0) === "a") {
@ -276,13 +274,13 @@ $(function() {
$.ajax ({
type: "Post",
data: "id=" + row.id + "&type=" + row.type + "&Element=" + encodeURIComponent(row.Element),
url: path + "/../../ajax/deleterestriction/" + type + "/" + user_id,
url: getPath() + "/ajax/deleterestriction/" + type + "/" + user_id,
async: true,
timeout: 900,
success:function() {
$.ajax({
method:"get",
url: path + "/../../ajax/listrestriction/" + type + "/" + user_id,
url: getPath() + "/ajax/listrestriction/" + type + "/" + user_id,
async: true,
timeout: 900,
success:function(data) {
@ -298,7 +296,7 @@ $(function() {
$("#restrict-elements-table").removeClass("table-hover");
$("#restrict-elements-table").on("editable-save.bs.table", function (e, field, row) {
$.ajax({
url: path + "/../../ajax/editrestriction/" + type + "/" + user_id,
url: getPath() + "/ajax/editrestriction/" + type + "/" + user_id,
type: "Post",
data: row
});
@ -306,13 +304,13 @@ $(function() {
$("[id^=submit_]").click(function() {
$(this)[0].blur();
$.ajax({
url: path + "/../../ajax/addrestriction/" + type + "/" + user_id,
url: getPath() + "/ajax/addrestriction/" + type + "/" + user_id,
type: "Post",
data: $(this).closest("form").serialize() + "&" + $(this)[0].name + "=",
success: function () {
$.ajax ({
method:"get",
url: path + "/../../ajax/listrestriction/" + type + "/" + user_id,
url: getPath() + "/ajax/listrestriction/" + type + "/" + user_id,
async: true,
timeout: 900,
success:function(data) {