1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
|
<% local form, viewlibrary, page_info, session = ... %>
<% html = require("acf.html") %>
<link rel="stylesheet" type="text/css" href="<%= html.html_escape(page_info.wwwprefix) %>/js/jquery.autocomplete.css">
<script type="text/javascript" src="<%= html.html_escape(page_info.wwwprefix) %>/js/jquery-latest.js"></script>
<script type="text/javascript" src="<%= html.html_escape(page_info.wwwprefix) %>/js/jquery.autocomplete.js"></script>
<script type="text/javascript">
function checkrules() {
// Here, we can get the did info and check for complicated rules
// $("#diderrtxt").html("Got focus");
$.getJSON(
'<%= html.html_escape(page_info.script .. page_info.prefix .. page_info.controller .. "/" .. page_info.action) %>?viewtype=json&did='+$("#did").val(),
function(data) {
// we want to look at data.value.rules.value
if (data.value.did.errtxt)
$("#diderrtxt").html(data.value.did.errtxt);
else if (data.value.rules.value.search("\n") != -1)
$("#diderrtxt").html("Warning - this DID contains time constraints");
else {
var t = data.value.rules.value.match(/[^,]*/);
if ( t == "" ) t = "Restricted";
$("#diderrtxt").html("Current extension is " + t);
}
}
);
};
function preventblank() {
if ($("#rules").val() === "") {
$("#rules").val(" ");
}
if ($("#rules").val() === "r") {
$("#rules").val("");
}
};
var lastdata = {};
$(function(){
var data = "<% local result = viewlibrary.dispatch_component("searchdefinitionlist", nil, true)
io.write(table.concat(result.value, " ")) %>".split(" ");
$("#did").focus();
$("#did").attr('autocomplete', 'off');
// $("#did").autocomplete(data);
$("#did").autocomplete(data, {autoFill:true});
// $("#did").autocomplete("cgi-bin/acf/did/did/searchdefinitionlist");
$("#did").result(function(event,data,formatted) {
if (data) {
$("#rules").focus();
};
});
$("#did").progress(function(event,data) {
// The data is the number of results
if (lastdata != data) {
lastdata = data;
if (data == 1) {
$("#diderrtxt").html("");
$("#rules").focus();
}
else if (data == 0)
$("#diderrtxt").html("No result");
else
$("#diderrtxt").html("");
};
});
$.ajaxSetup({cache:false});
$("#rules").focus(function(event) {
// We need to give #did an opportunity to autocomplete on the TAB before checking value
window.setTimeout("checkrules();", 10);
});
$("form").submit(preventblank);
});
</script>
<% if form.descr then
session.didresult = form.descr
form.descr = nil
end %>
<% if session.didresult or form.errtxt then %>
<H1>Last Result</H1><DL>
<% if form.errtxt then
io.write('<P CLASS="error">' .. string.gsub(html.html_escape(form.errtxt), "\n", "<BR>") .. " " .. html.html_escape(form.value.did.value) .. "<BR>\n")
for name,val in pairs(form.value) do
if val.errtxt then
io.write(string.gsub(html.html_escape(val.errtxt), "\n", "<BR>").."<BR>\n")
end
end
io.write("</P>\n")
form.errtxt = nil
else %>
<P CLASS="descr"><%= string.gsub(html.html_escape(session.didresult), "\n", "<BR>") %></P>
<% end %>
</DL>
<% end %>
<H1>Assign DID Number</H1>
<DL>
<form action="/cgi-bin/acf/did/did/assigndefinition" method="POST">
<DT>DID</DT>
<DD><input class="text" type="text" id="did" name="did" value="">
<p class="error" id="diderrtxt"></p></DD>
<DT>Extension</DT>
<DD><input class="text" type="text" id="rules" name="rules" value="">
Enter 'r' for Restricted</DD>
<DT></DT><DD><input class="submit" type="submit" name="submit" value="Save"></DD>
</FORM>
</DL>
|