Selaa lähdekoodia

make right redirection when user is not yet logged in

Damien ACCORSI 11 vuotta sitten
vanhempi
commit
3e448fa45a
2 muutettua tiedostoa jossa 12 lisäystä ja 5 poistoa
  1. 0 1
      tracim/tracim/controllers/__init__.py
  2. 12 4
      tracim/tracim/controllers/root.py

+ 0 - 1
tracim/tracim/controllers/__init__.py Näytä tiedosto

423
         :param kw:
423
         :param kw:
424
         :return:
424
         :return:
425
         """
425
         """
426
-
427
         TIMRestPathContextSetup.current_user()
426
         TIMRestPathContextSetup.current_user()
428
 
427
 
429
     @classmethod
428
     @classmethod

+ 12 - 4
tracim/tracim/controllers/root.py Näytä tiedosto

12
 
12
 
13
 from tg.i18n import ugettext as _
13
 from tg.i18n import ugettext as _
14
 
14
 
15
+from tracim.lib import CST
16
+from tracim.lib.base import logger
15
 from tracim.lib.user import UserStaticApi
17
 from tracim.lib.user import UserStaticApi
16
 
18
 
17
 from tracim.controllers import StandardController
19
 from tracim.controllers import StandardController
57
 
59
 
58
 
60
 
59
     @expose('tracim.templates.index')
61
     @expose('tracim.templates.index')
60
-    def index(self, came_from=lurl('/'), *args, **kwargs):
62
+    def index(self, came_from='', *args, **kwargs):
61
         if request.identity:
63
         if request.identity:
62
-            redirect(self.url(None, self.dashboard.__name__))
64
+            if came_from:
65
+                logger.info(self, 'Will redirect to {}'.format(came_from))
66
+                redirect(url(came_from))
67
+            else:
68
+                redirect(self.url(None, self.dashboard.__name__))
63
 
69
 
64
         login_counter = request.environ.get('repoze.who.logins', 0)
70
         login_counter = request.environ.get('repoze.who.logins', 0)
65
         if login_counter > 0:
71
         if login_counter > 0:
66
-            flash(_('Wrong credentials'), 'error')
72
+            flash(_('Wrong credentials'), CST.STATUS_ERROR)
67
         return dict(page='login', login_counter=str(login_counter),
73
         return dict(page='login', login_counter=str(login_counter),
68
                     came_from=came_from)
74
                     came_from=came_from)
69
 
75
 
78
         :param kwargs:
84
         :param kwargs:
79
         :return:
85
         :return:
80
         """
86
         """
81
-        return self.index(args, kwargs)
87
+        came_from = kwargs['came_from'] if 'came_from' in kwargs.keys() else ''
88
+        logger.info(self, 'came_from: {}'.format(kwargs))
89
+        return self.index(came_from, args, *kwargs)
82
 
90
 
83
 
91
 
84
     @expose()
92
     @expose()