From 17b999c2739006c2ec3b37ed64f119c9ad0b3338 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marko=20Pu=C5=A1nik?= Date: Tue, 6 Oct 2015 00:41:12 +0200 Subject: change password --- server/handlers.py | 19 +++++++++++++++++-- 1 file changed, 17 insertions(+), 2 deletions(-) (limited to 'server/handlers.py') diff --git a/server/handlers.py b/server/handlers.py index 0a77e66..a7f4f76 100644 --- a/server/handlers.py +++ b/server/handlers.py @@ -55,6 +55,21 @@ class Login(CodeqService): request.reply({'code': 0, 'message': 'OK', 'sid':session.get_sid(), 'settings':settings}) +class ChangePassword(CodeqService): + def process(self, request): + js = request.data + password = js.get('password') + if password is None: + request.reply({'code': 1, 'message': 'Password was not provided'}) + else: + try: + request.session.change_password(password) + except PasswordChangeFailed: + request.reply({'code': 2, 'message': 'Password change failed'}) + else: + request.reply({'code': 0, 'message': 'OK'}) + + class Settings(CodeqService): def process(self, request): js = request.data @@ -63,7 +78,7 @@ class Settings(CodeqService): request.reply({'code': 1, 'message': 'New settings not provided'}) else: try: - request.session.update_settings(settings) + request.user_session.update_settings(settings) request.session.write_settings_to_db() except NoSuchSession: request.reply({'code': 2, 'message': 'No such session'}) @@ -71,7 +86,6 @@ class Settings(CodeqService): request.reply({'code': 0, 'message': 'OK'}) - class Activity(CodeqService): def process(self, request): js = request.data @@ -246,6 +260,7 @@ class EndProblem(CodeqService): incoming_handlers = { 'list_problems': ProblemList(), 'login': Login(), + 'change_password': ChangePassword(), 'get_problem': GetProblem(), 'logout': None, 'activity': Activity(), -- cgit v1.2.1