]> git.evergreen-ils.org Git - working/Evergreen.git/blob - Open-ILS/web/js/dojo/openils/URLVerify/SelectURLs.js
b8992ac3f8e7a256b9454dbf413d073ca53d3e90
[working/Evergreen.git] / Open-ILS / web / js / dojo / openils / URLVerify / SelectURLs.js
1 if (!dojo._hasResource["openils.URLVerify.SelectURLs"]) {
2     dojo.require("dojo.string");
3     dojo.require("openils.CGI");
4     dojo.require("openils.Util");
5
6     dojo.requireLocalization("openils.URLVerify", "URLVerify");
7
8     dojo._hasResource["openils.URLVerify.SelectURLs"] = true;
9     dojo.provide("openils.URLVerify.SelectURLs");
10
11     dojo.declare("openils.URLVerify.SelectURLs", null, {});
12
13     /* Take care that we add nothing to the global namespace.
14      * This is not an OO module so much as a container for
15      * functions needed by a specific interface. */
16
17 (function() {
18     var module = openils.URLVerify.SelectURLs;
19     var localeStrings =
20         dojo.i18n.getLocalization("openils.URLVerify", "URLVerify");
21
22     module.setup = function(grid, progress_dialog) {
23         var cgi = new openils.CGI();
24         module.session_id = cgi.param("session_id");
25
26         module.grid = grid;
27
28         module.grid.attr("query", {"session_id": module.session_id});
29         module.grid.refresh();
30         // Alternative to grid.refresh() once filter is set up
31         //module.grid.fetchLock = false;
32         //module.grid.filterUi.doApply();
33     };
34
35     module.verify_selected = function() {
36         var really_everything = false;
37
38         if (module.grid.everythingSeemsSelected())
39             really_everything = confirm(localeStrings.VERIFY_ALL);
40
41         module.clear_attempt_display();
42         progress_dialog.attr("title", localeStrings.VERIFICATION_BEGIN);
43         progress_dialog.show();
44
45         fieldmapper.standardRequest(
46             ["open-ils.url_verify", "open-ils.url_verify.session.verify"], {
47                 "params": [
48                     openils.User.authtoken,
49                     module.session_id,
50                     really_everything ? null : module.grid.getSelectedIDs()
51                 ],
52                 "async": true,
53                 "onresponse": function(r) {
54                     if (r = openils.Util.readResponse(r)) {
55                         progress_dialog.attr(
56                             "title",
57                             dojo.string.substitute(
58                                 localeStrings.VERIFICATION_PROGRESS,
59                                 [r.total_processed]
60                             )
61                         );
62                         progress_dialog.update({
63                             "maximum": r.url_count,
64                             "progress": r.total_excluding_redirects
65                         });
66
67                         if (r.attempt)
68                             module.update_attempt_display(r.attempt);
69                     }
70                 }
71             }
72         )
73
74         module.grid.getSelectedIDs();   
75     };
76
77     module.clear_attempt_display = function() {
78         dojo.empty(dojo.byId("url-verify-attempt-id"));
79         dojo.empty(dojo.byId("url-verify-attempt-start"));
80         dojo.empty(dojo.byId("url-verify-attempt-finish"));
81     };
82
83     module.update_attempt_display = function(attempt) {
84         dojo.byId("url-verify-attempt-id").innerHTML =
85             dojo.string.substitute(
86                 localeStrings.VERIFICATION_ATTEMPT_ID,
87                 [attempt.id()]
88             );
89         dojo.byId("url-verify-attempt-start").innerHTML =
90             dojo.string.substitute(
91                 localeStrings.VERIFICATION_ATTEMPT_START,
92                 [attempt.start_time()]
93             );
94
95         if (attempt.finish_time()) {
96             dojo.byId("url-verify-attempt-finish").innerHTML =
97                 dojo.string.substitute(
98                     localeStrings.VERIFICATION_ATTEMPT_FINISH,
99                     [attempt.finish_time()]
100                 );
101         }
102     };
103
104 }());
105
106 }