]> source.dussan.org Git - rspamd.git/commitdiff
[Minor] Refactor upload.js module to use query function 2426/head
authorAlexander Moisseev <moiseev@mezonplus.ru>
Thu, 16 Aug 2018 19:49:50 +0000 (22:49 +0300)
committerAlexander Moisseev <moiseev@mezonplus.ru>
Thu, 16 Aug 2018 19:49:50 +0000 (22:49 +0300)
interface/js/app/rspamd.js
interface/js/app/upload.js

index 031a86a86e714f5b9412aefe4f1948f91f140023..3003131590ed1d9dec8800acce95278d3bdf687c 100644 (file)
@@ -234,7 +234,8 @@ function ($, d3pie, visibility, tab_stat, tab_graph, tab_config,
                         alertMessage("alert-error", "Request failed");
                     }
                 }
-            }
+            },
+            statusCode: o.statusCode
         };
         if (o.method) {
             req_params.method = o.method;
@@ -458,7 +459,8 @@ function ($, d3pie, visibility, tab_stat, tab_graph, tab_config,
         // Force options to be an object
         var o = options || {};
         Object.keys(o).forEach(function (option) {
-            if (["data", "error", "errorMessage", "errorOnceId", "headers", "method", "params", "server", "success"]
+            if (["data", "error", "errorMessage", "errorOnceId", "headers", "method", "params", "server", "statusCode",
+                "success"]
                 .indexOf(option) < 0) {
                 throw new Error("Unknown option: " + option);
             }
index bbd10963948d8d1e03117101c6e38a56b078104a..e542667a60413370c1adf29975de243202a51da6 100644 (file)
@@ -43,53 +43,32 @@ define(["jquery"],
             } else if (source === "scan") {
                 url = "scan";
             }
-            $.ajax({
+            rspamd.query(url, {
                 data: data,
-                dataType: "json",
-                type: "POST",
-                url: url,
-                processData: false,
-                jsonp: false,
-                beforeSend: function (xhr) {
-                    xhr.setRequestHeader("Password", rspamd.getPassword());
-                    $.each(headers, function (name, value) {
-                        xhr.setRequestHeader(name, value);
-                    });
+                params: {
+                    processData: false,
                 },
+                method: "POST",
+                headers: headers,
                 success: function (json) {
                     cleanTextUpload(source);
-                    if (json.success) {
+                    if (json[0].data.success) {
                         rspamd.alertMessage("alert-success", "Data successfully uploaded");
                     }
-                },
-                error: function (xhr, textStatus, errorThrown) {
-                    var errorMsg;
-
-                    try {
-                        var json = $.parseJSON(xhr.responseText);
-                        errorMsg = $("<a>").text(json.error).html();
-                    } catch (err) {
-                        errorMsg = $("<a>").text("Error: [" + textStatus + "] " + errorThrown).html();
-                    }
-                    rspamd.alertMessage("alert-error", errorMsg);
                 }
             });
         }
         // @upload text
-        function scanText(rspamd, data) {
-            var url = "scan";
+        function scanText(rspamd, data, server) {
             var items = [];
-            $.ajax({
+            rspamd.query("scan", {
                 data: data,
-                dataType: "json",
-                type: "POST",
-                url: url,
-                processData: false,
-                jsonp: false,
-                beforeSend: function (xhr) {
-                    xhr.setRequestHeader("Password", rspamd.getPassword());
+                params: {
+                    processData: false,
                 },
-                success: function (json) {
+                method: "POST",
+                success: function (neighbours_status) {
+                    var json = neighbours_status[0].data;
                     if (json.action) {
                         rspamd.alertMessage("alert-success", "Data successfully scanned");
                         var action = "";
@@ -159,11 +138,17 @@ define(["jquery"],
                     503: function () {
                         rspamd.alertMessage("alert-error", "Cannot tokenize message: no text data");
                     }
-                }
+                },
+                server: server
             });
         }
 
         ui.setup = function (rspamd) {
+            function getSelector(id) {
+                var e = document.getElementById(id);
+                return e.options[e.selectedIndex].value;
+            }
+
             $("textarea").change(function () {
                 if ($(this).val().length !== "") {
                     $(this).closest("form").find("button").removeAttr("disabled").removeClass("disabled");
@@ -182,22 +167,23 @@ define(["jquery"],
             // @init upload
             $("[data-upload]").on("click", function () {
                 var source = $(this).data("upload");
-                var data;
-                var headers = {};
-                data = $("#" + source + "TextSource").val();
-                if (source === "fuzzy") {
-                // To access the proper
-                    headers.flag = $("#fuzzyFlagText").val();
-                    headers.weight = $("#fuzzyWeightText").val();
-                } else {
-                    data = $("#" + source + "TextSource").val();
-                }
+                var data = $("#" + source + "TextSource").val();
+                var headers = (source === "fuzzy")
+                    ? {
+                        flag: $("#fuzzyFlagText").val(),
+                        weight: $("#fuzzyWeightText").val()
+                    }
+                    : {};
                 if (data.length > 0) {
                     if (source === "scan") {
-                        scanText(rspamd, data);
+                        var checked_server = getSelector("selSrv");
+                        var server = (checked_server === "All SERVERS") ? "local" : checked_server;
+                        scanText(rspamd, data, server);
                     } else {
                         uploadText(rspamd, data, source, headers);
                     }
+                } else {
+                    rspamd.alertMessage("alert-error", "Message source field cannot be blank");
                 }
                 return false;
             });