Move logintasks javascript out of template file
authorMichael M Slusarz <slusarz@curecanti.org>
Fri, 6 Aug 2010 19:48:16 +0000 (13:48 -0600)
committerMichael M Slusarz <slusarz@curecanti.org>
Fri, 6 Aug 2010 19:55:36 +0000 (13:55 -0600)
horde/js/logintasks.js [new file with mode: 0644]
horde/services/logintasks.php
horde/templates/logintasks/logintasks.html

diff --git a/horde/js/logintasks.js b/horde/js/logintasks.js
new file mode 100644 (file)
index 0000000..f99a0d2
--- /dev/null
@@ -0,0 +1,19 @@
+/**
+ * Provides the javascript for the logintasks confirmation page.
+ *
+ * See the enclosed file COPYING for license information (LGPL). If you
+ * did not receive this file, see http://www.fsf.org/copyleft/lgpl.html.
+ */
+
+document.observe('click', function(e) {
+    switch (e.element().readAttribute('id')) {
+    case 'logintasks_skip':
+        $('logintasks_confirm').getInputs('checkbox').invoke('setValue', 0);
+        $('logintasks_confirm').submit();
+        break;
+    }
+});
+
+document.observe('dom:loaded', function() {
+    $('logintasks_skip').show();
+});
index 595dbcc..092950a 100644 (file)
@@ -30,7 +30,6 @@ $tasks->runTasks(Horde_Util::getPost('logintasks_page'));
 
 /* Create the Horde_Template item. */
 $template = $injector->createInstance('Horde_Template');
-$template->set('javascript', $browser->hasFeature('javascript'), true);
 
 /* Have the maintenance module do all necessary processing. */
 $tasklist = $tasks->displayTasks();
@@ -86,6 +85,8 @@ Horde::startBuffer();
 $notification->notify(array('listeners' => 'status'));
 $template->set('notify', Horde::endBuffer());
 
+Horde::addScriptFile('logintasks.js', 'horde');
+
 $bodyId = 'services_logintasks';
 require HORDE_TEMPLATES . '/common-header.inc';
 echo $template->fetch(HORDE_TEMPLATES . '/logintasks/logintasks.html');
index 0360a25..03a2874 100644 (file)
@@ -1,22 +1,9 @@
 <div id="menu"><h1><tag:header /></h1></div>
 
-<form method="post" action="<tag:logintasks_url />" name="logintasks_confirm">
+<form method="post" action="<tag:logintasks_url />" id="logintasks_confirm" name="logintasks_confirm">
 <input type="hidden" name="logintasks_page" value="1" />
 <tag:maint_postdata />
 
-<if:javascript>
-<script type="text/javascript">
-<!--
-function uncheckAll()
-{
-    for (var i = 0; i < document.logintasks_confirm.elements.length; i++) {
-        document.logintasks_confirm.elements[i].checked = false;
-    }
-}
-//-->
-</script>
-</if:javascript>
-
 <table width="100%" cellspacing="2">
  <tr>
   <td><tag:notify /></td>
@@ -41,9 +28,7 @@ function uncheckAll()
   <td>
 <if:confirm>
    <input name="ok" type="submit" class="button" value="<gettext>Perform Login Tasks</gettext>" />
-<if:javascript>
-   <input type="button" class="button" value="<gettext>Skip Login Tasks</gettext>" onclick="uncheckAll(); document.logintasks_confirm.submit();" />
-</if:javascript>
+   <input id="logintasks_skip" style="display:none" type="button" class="button" value="<gettext>Skip Login Tasks</gettext>" />
 </if:confirm>
 <if:agree>
    <input name="ok" type="submit" name="agree" class="button" value="<gettext>Yes, I Agree</gettext>" />