summaryrefslogtreecommitdiffstats
path: root/tinydns-edit-html.lsp
diff options
context:
space:
mode:
Diffstat (limited to 'tinydns-edit-html.lsp')
-rw-r--r--tinydns-edit-html.lsp24
1 files changed, 19 insertions, 5 deletions
diff --git a/tinydns-edit-html.lsp b/tinydns-edit-html.lsp
index ddb4ae4..a4754e1 100644
--- a/tinydns-edit-html.lsp
+++ b/tinydns-edit-html.lsp
@@ -1,7 +1,7 @@
<% local form, viewlibrary, page_info = ... %>
<% require("viewfunctions") %>
-<% form = viewlibrary.dispatch_component(page_info.prefix .. page_info.controller .. "/editfile", form, true) %>
+<% local domain = string.gsub(form.value.filename.value, "^.*/", "") %>
<script type="text/javascript" src="/js/jquery-latest.js"></script>
<script type="text/javascript">
var editEntry = '<td> \
@@ -32,8 +32,15 @@
entryTypes[11]=new Entry("%","Client location",2,"Location","IP prefix");
function finishForm(entry){
- var entrytext = entry.find("select").val() + entry.find("input").map(function(){
- return $(this).val();
+ var entrytext = entry.find("select").val() + entry.find("input:not(.submit)").map(function(){
+ if (this.name == "fixme") {
+ if ($(this).val() != "")
+ return $(this).val() + ".<%= domain %>";
+ else
+ return "<%= domain %>";
+ } else {
+ return $(this).val();
+ }
}).get().join(":");
entry.empty().append(entrytext);
}
@@ -62,15 +69,22 @@
}
for (i=0; i<entryType.num; i++){
if (entries[i] === null) { entries[i] = ""; }
- form = form + '<dt>' + entryType.descriptions[i] + '</dt><dd><input type="text" value="' + entries[i] + '"></dd>';
+ if (entryType.descriptions[i] == "Domain" || entryType.descriptions[i] == "Alias" || entryType.descriptions[i] == "Host" )
+ form = form + '<dt>' + entryType.descriptions[i] + '</dt><dd><input type="text" value="' + entries[i].replace(/\.?<%= string.gsub(domain, "[\\%[%]%.%*%?%+%{%^%$]", "\\%1") %>$/i, "") + '" name="fixme"> . <%= domain %></dd>';
+ else
+ form = form + '<dt>' + entryType.descriptions[i] + '</dt><dd><input type="text" value="' + entries[i] + '"></dd>';
}
- form = form + "</dl>";
+ form = form + '\n<DT></DT><DD><input class="submit" type="submit" value="<%= form.option %>"></DD>';
+ form = form + "\n</dl>";
entry.empty().append(form);
entry.find("select").change(function(){
var entry = $(this).parent();
finishForm(entry);
createForm(entry);
});
+ entry.find("input.submit").click(function() {
+ $("input[name='<%= form.option %>']").click();
+ });
}
function editLine(){
var parent = $(this).parent();