diff --git a/pagure/templates/add_sshkey.html b/pagure/templates/add_sshkey.html deleted file mode 100644 index 81b51d0..0000000 --- a/pagure/templates/add_sshkey.html +++ /dev/null @@ -1,32 +0,0 @@ -{% extends "master.html" %} - -{% set tag = "home" %} - -{% block title %}Add SSH key{% endblock %} - -{% block content %} -
-
-
-
-
- Add SSH key -
-
-
-
- - -
-

- - - {{ form.csrf_token }} -

-
-
-
-
-
-
-{% endblock %} diff --git a/pagure/templates/user_settings.html b/pagure/templates/user_settings.html index 2614557..39dd64c 100644 --- a/pagure/templates/user_settings.html +++ b/pagure/templates/user_settings.html @@ -212,10 +212,9 @@ + + + {% endif %} @@ -330,6 +354,10 @@ console.log(anchor); $(anchor).tab('show'); window.scrollTo(0,0); + + $(".ssh_key_btn").click(function() { + $(".ssh_key_block").toggle(); + }); }); {% endblock %} diff --git a/pagure/ui/app.py b/pagure/ui/app.py index 57c616b..51e46c2 100644 --- a/pagure/ui/app.py +++ b/pagure/ui/app.py @@ -1153,7 +1153,7 @@ def update_user_settings(): return flask.redirect(flask.url_for("ui_ns.user_settings")) -@UI_NS.route("/settings/usersettings/addkey", methods=["GET", "POST"]) +@UI_NS.route("/settings/usersettings/addkey", methods=["POST"]) @login_required def add_user_sshkey(): """ Add the specified SSH key to the user. @@ -1194,7 +1194,9 @@ def add_user_sshkey(): _log.exception(err) flask.flash("SSH key could not be added", "error") - return flask.render_template("add_sshkey.html", form=form) + return flask.redirect( + flask.url_for("ui_ns.user_settings") + "#nav-ssh-tab" + ) @UI_NS.route("/settings/usersettings/removekey/", methods=["POST"]) diff --git a/tests/test_pagure_flask_ui_app.py b/tests/test_pagure_flask_ui_app.py index 1aca307..cbcb038 100644 --- a/tests/test_pagure_flask_ui_app.py +++ b/tests/test_pagure_flask_ui_app.py @@ -697,27 +697,27 @@ class PagureFlaskApptests(tests.Modeltests): ast.return_value = False # User not logged in - output = self.app.get('/settings/usersettings/addkey') + output = self.app.get('/settings/') self.assertEqual(output.status_code, 302) ast.return_value = False user = tests.FakeUser(username='pingou') with tests.user_set(self.app.application, user): - output = self.app.get('/settings/usersettings/addkey') + output = self.app.get('/settings', follow_redirects=True) self.assertEqual(output.status_code, 200) output_text = output.get_data(as_text=True) self.assertIn('Add SSH key', output_text) - csrf_token = output_text.split( - 'name="csrf_token" type="hidden" value="')[1].split('">')[0] + csrf_token = self.get_csrf(output=output) data = { 'ssh_key': 'asdf', } # No CSRF token - output = self.app.post('/settings/usersettings/addkey', data=data) + output = self.app.post( + '/settings/usersettings/addkey', data=data , follow_redirects=True) self.assertEqual(output.status_code, 200) output_text = output.get_data(as_text=True) self.assertIn('Add SSH key', output_text) @@ -725,7 +725,8 @@ class PagureFlaskApptests(tests.Modeltests): data['csrf_token'] = csrf_token # First, invalid SSH key - output = self.app.post('/settings/usersettings/addkey', data=data) + output = self.app.post( + '/settings/usersettings/addkey', data=data, follow_redirects=True) self.assertEqual(output.status_code, 200) output_text = output.get_data(as_text=True) self.assertIn('Add SSH key', output_text)