##// END OF EJS Templates
Backport PR #2073: allows password and prefix for notebook...
MinRK -
Show More
@@ -208,7 +208,7 b' class LoginHandler(AuthenticatedHandler):'
208 208
209 209 def _render(self, message=None):
210 210 self.render('login.html',
211 next=self.get_argument('next', default='/'),
211 next=self.get_argument('next', default=self.application.ipython_app.base_project_url),
212 212 read_only=self.read_only,
213 213 logged_in=self.logged_in,
214 214 login_available=self.login_available,
@@ -218,7 +218,7 b' class LoginHandler(AuthenticatedHandler):'
218 218
219 219 def get(self):
220 220 if self.current_user:
221 self.redirect(self.get_argument('next', default='/'))
221 self.redirect(self.get_argument('next', default=self.application.ipython_app.base_project_url))
222 222 else:
223 223 self._render()
224 224
@@ -231,7 +231,7 b' class LoginHandler(AuthenticatedHandler):'
231 231 self._render(message={'error': 'Invalid password'})
232 232 return
233 233
234 self.redirect(self.get_argument('next', default='/'))
234 self.redirect(self.get_argument('next', default=self.application.ipython_app.base_project_url))
235 235
236 236
237 237 class LogoutHandler(AuthenticatedHandler):
@@ -140,15 +140,6 b' class NotebookWebApplication(web.Application):'
140 140 (r"/clusters/%s/%s" % (_profile_regex, _cluster_action_regex), ClusterActionHandler),
141 141 (r"/clusters/%s" % _profile_regex, ClusterProfileHandler),
142 142 ]
143 settings = dict(
144 template_path=os.path.join(os.path.dirname(__file__), "templates"),
145 static_path=os.path.join(os.path.dirname(__file__), "static"),
146 cookie_secret=os.urandom(1024),
147 login_url="/login",
148 )
149
150 # allow custom overrides for the tornado web app.
151 settings.update(settings_overrides)
152 143
153 144 # Python < 2.6.5 doesn't accept unicode keys in f(**kwargs), and
154 145 # base_project_url will always be unicode, which will in turn
@@ -160,6 +151,16 b' class NotebookWebApplication(web.Application):'
160 151 # and thus guaranteed to be ASCII: 'héllo' is really 'h%C3%A9llo'.
161 152 base_project_url = py3compat.unicode_to_str(base_project_url, 'ascii')
162 153
154 settings = dict(
155 template_path=os.path.join(os.path.dirname(__file__), "templates"),
156 static_path=os.path.join(os.path.dirname(__file__), "static"),
157 cookie_secret=os.urandom(1024),
158 login_url="%s/login"%(base_project_url.rstrip('/')),
159 )
160
161 # allow custom overrides for the tornado web app.
162 settings.update(settings_overrides)
163
163 164 # prepend base_project_url onto the patterns that we match
164 165 new_handlers = []
165 166 for handler in handlers:
@@ -10,6 +10,7 b''
10 10 //============================================================================
11 11
12 12 var IPython = (function (IPython) {
13 var base_url = $('body').data('baseProjectUrl');
13 14
14 15 var LoginWidget = function (selector) {
15 16 this.selector = selector;
@@ -29,10 +30,10 b' var IPython = (function (IPython) {'
29 30 LoginWidget.prototype.bind_events = function () {
30 31 var that = this;
31 32 this.element.find("button#logout").click(function () {
32 window.location = "/logout";
33 window.location = base_url+"logout";
33 34 });
34 35 this.element.find("button#login").click(function () {
35 window.location = "/login";
36 window.location = base_url+"login";
36 37 });
37 38 };
38 39
@@ -16,7 +16,7 b''
16 16 <div id="main_app">
17 17
18 18 {% if login_available %}
19 <form action="/login?next={{url_escape(next)}}" method="post">
19 <form action="{{base_project_url}}login?next={{url_escape(next)}}" method="post">
20 20 Password: <input type="password" class='ui-widget ui-widget-content' name="password" id="password_input">
21 21 <input type="submit" value="Log in" id="login_submit">
22 22 </form>
@@ -23,9 +23,9 b''
23 23 {% end %}
24 24
25 25 {% if read_only or not login_available %}
26 Proceed to the <a href="/">dashboard</a>.
26 Proceed to the <a href="{{base_project_url}}">dashboard</a>.
27 27 {% else %}
28 Proceed to the <a href="/login">login page</a>.
28 Proceed to the <a href="{{base_project_url}}login">login page</a>.
29 29 {% end %}
30 30
31 31
General Comments 0
You need to be logged in to leave comments. Login now