]> git.wh0rd.org - tt-rss.git/commitdiff
user editor: use dojo stuff
authorAndrew Dolgov <fox@madoka.volgo-balt.ru>
Tue, 11 Jun 2013 08:04:29 +0000 (12:04 +0400)
committerAndrew Dolgov <fox@madoka.volgo-balt.ru>
Tue, 11 Jun 2013 08:04:29 +0000 (12:04 +0400)
classes/pref/users.php
js/prefs.js

index 914491e4ab64e14d822d9339e4536f5e4d5417b6..db6dc0d684a7ab5081e7e84f32fe54226bf46777 100644 (file)
@@ -12,7 +12,7 @@ class Pref_Users extends Handler_Protected {
                }
 
                function csrf_ignore($method) {
-                       $csrf_ignored = array("index");
+                       $csrf_ignored = array("index", "edit");
 
                        return array_search($method, $csrf_ignored) !== false;
                }
@@ -102,11 +102,11 @@ class Pref_Users extends Handler_Protected {
                        global $access_level_names;
 
                        $id = $this->dbh->escape_string($_REQUEST["id"]);
-                       print "<form id=\"user_edit_form\" onsubmit='return false'>";
+                       print "<form id=\"user_edit_form\" onsubmit='return false' dojoType=\"dijit.form.Form\">";
 
-                       print "<input type=\"hidden\" name=\"id\" value=\"$id\">";
-                       print "<input type=\"hidden\" name=\"op\" value=\"pref-users\">";
-                       print "<input type=\"hidden\" name=\"method\" value=\"editSave\">";
+                       print "<input dojoType=\"dijit.form.TextBox\" style=\"display : none\" name=\"id\" value=\"$id\">";
+                       print "<input dojoType=\"dijit.form.TextBox\" style=\"display : none\" name=\"op\" value=\"pref-users\">";
+                       print "<input dojoType=\"dijit.form.TextBox\" style=\"display : none\" name=\"method\" value=\"editSave\">";
 
                        $result = $this->dbh->query("SELECT * FROM ttrss_users WHERE id = '$id'");
 
@@ -120,16 +120,14 @@ class Pref_Users extends Handler_Protected {
                        print "<div class=\"dlgSecCont\">";
 
                        if ($sel_disabled) {
-                               print "<input type=\"hidden\" name=\"login\" value=\"$login\">";
-                               print "<input size=\"30\" style=\"font-size : 16px\"
-                                       onkeypress=\"return filterCR(event, userEditSave)\" $sel_disabled
-                                       value=\"$login\">";
-                       } else {
-                               print "<input size=\"30\" style=\"font-size : 16px\"
-                                       onkeypress=\"return filterCR(event, userEditSave)\" $sel_disabled
-                                       name=\"login\" value=\"$login\">";
+                               print "<input dojoType=\"dijit.form.TextBox\" style=\"display : none\" name=\"login\" value=\"$login\">";
                        }
 
+                       print "<input size=\"30\" style=\"font-size : 16px\"
+                               dojoType=\"dijit.form.ValidationTextBox\" required=\"1\"
+                               onkeypress=\"return filterCR(event, userEditSave)\" $sel_disabled
+                               name=\"login\" value=\"$login\">";
+
                        print "</div>";
 
                        print "<div class=\"dlgSec\">".__("Authentication")."</div>";
@@ -139,17 +137,16 @@ class Pref_Users extends Handler_Protected {
 
                        if (!$sel_disabled) {
                                print_select_hash("access_level", $access_level, $access_level_names,
-                                       $sel_disabled);
+                                       "dojoType=\"dijit.form.Select\" $sel_disabled");
                        } else {
                                print_select_hash("", $access_level, $access_level_names,
-                                       $sel_disabled);
-                               print "<input type=\"hidden\" name=\"access_level\" value=\"$access_level\">";
+                                       "dojoType=\"dijit.form.Select\" $sel_disabled");
+                               print "<input dojoType=\"dijit.form.TextBox\" style=\"display : none\" name=\"access_level\" value=\"$access_level\">";
                        }
 
-                       print "<br/>";
+                       print "<hr/>";
 
-                       print __('Change password to') .
-                               " <input type=\"password\" size=\"20\" onkeypress=\"return filterCR(event, userEditSave)\"
+                       print "<input dojoType=\"dijit.form.TextBox\" type=\"password\" size=\"20\" onkeypress=\"return filterCR(event, userEditSave)\" placeholder=\"Change password to\"
                                name=\"password\">";
 
                        print "</div>";
@@ -157,8 +154,7 @@ class Pref_Users extends Handler_Protected {
                        print "<div class=\"dlgSec\">".__("Options")."</div>";
                        print "<div class=\"dlgSecCont\">";
 
-                       print __('E-mail: ').
-                               " <input size=\"30\" name=\"email\" onkeypress=\"return filterCR(event, userEditSave)\"
+                       print "<input dojoType=\"dijit.form.TextBox\" size=\"30\" name=\"email\" onkeypress=\"return filterCR(event, userEditSave)\" placeholder=\"Email\"
                                value=\"$email\">";
 
                        print "</div>";
@@ -168,9 +164,9 @@ class Pref_Users extends Handler_Protected {
                        print "</form>";
 
                        print "<div class=\"dlgButtons\">
-                               <button onclick=\"return userEditSave()\">".
+                               <button dojoType=\"dijit.form.Button\" type=\"submit\">".
                                        __('Save')."</button>
-                               <button onclick=\"return userEditCancel()\">".
+                               <button dojoType=\"dijit.form.Button\" onclick=\"dijit.byId('userEditDlg').hide()\">".
                                        __('Cancel')."</button></div>";
 
                        return;
index e226459fc24fa0386b479ea53e20b464256b6560..b4d55269b8eb46684bcc5a1e08dd52675637cae3 100644 (file)
@@ -85,15 +85,34 @@ function editUser(id, event) {
        try {
                notify_progress("Loading, please wait...");
 
-               var query = "?op=pref-users&method=edit&id=" +
+               var query = "backend.php?op=pref-users&method=edit&id=" +
                        param_escape(id);
 
-               new Ajax.Request("backend.php", {
-                       parameters: query,
-                       onComplete: function(transport) {
-                                       infobox_callback2(transport, __("User Editor"));
-                                       document.forms['user_edit_form'].login.focus();
-                               } });
+               if (dijit.byId("userEditDlg"))
+                       dijit.byId("userEditDlg").destroyRecursive();
+
+               dialog = new dijit.Dialog({
+                       id: "userEditDlg",
+                       title: __("User Editor"),
+                       style: "width: 600px",
+                       execute: function() {
+                               if (this.validate()) {
+
+                                       notify_progress("Saving data...", true);
+
+                                       var query = dojo.formToQuery("user_edit_form");
+
+                                       new Ajax.Request("backend.php", {
+                                               parameters: query,
+                                               onComplete: function(transport) {
+                                                       dialog.hide();
+                                                       updateUsersList();
+                                               }});
+                               }
+                       },
+                       href: query});
+
+               dialog.show();
 
        } catch (e) {
                exception_error("editUser", e);
@@ -463,43 +482,6 @@ function purgeSelectedFeeds() {
        return false;
 }
 
-function userEditCancel() {
-       closeInfoBox();
-       return false;
-}
-
-function userEditSave() {
-
-       try {
-
-               var login = document.forms["user_edit_form"].login.value;
-
-               if (login.length == 0) {
-                       alert(__("Login field cannot be blank."));
-                       return;
-               }
-
-               notify_progress("Saving user...");
-
-               closeInfoBox();
-
-               var query = Form.serialize("user_edit_form");
-
-               new Ajax.Request("backend.php", {
-                       parameters: query,
-                       onComplete: function(transport) {
-                               updateUsersList();
-                       } });
-
-       } catch (e) {
-               exception_error("userEditSave", e);
-       }
-
-       return false;
-
-}
-
-
 function editSelectedUser() {
        var rows = getSelectedUsers();