blob: f60cb71989389fc9e2314c1db885af3c770ab0a8 [file] [log] [blame]
Adrià Vilanova Martínezf19ea432024-01-23 20:20:52 +01001# Copyright 2016 The Chromium Authors
2# Use of this source code is governed by a BSD-style license that can be
3# found in the LICENSE file.
Copybara854996b2021-09-07 19:36:02 +00004
5"""Redirect to /issues/entry or an external URL (like the wizard).
6"""
7from __future__ import print_function
8from __future__ import division
9from __future__ import absolute_import
10
11import logging
12
Adrià Vilanova Martínezf19ea432024-01-23 20:20:52 +010013from framework import exceptions
Copybara854996b2021-09-07 19:36:02 +000014from framework import servlet
15from framework import servlet_helpers
16
17
18class IssueEntryAfterLogin(servlet.Servlet):
19 """Redirect after clicking "New issue" and logging in."""
20
21 # Note: This servlet does not use an HTML template.
22
23 def GatherPageData(self, mr):
24 """Build up a dictionary of data values to use when rendering the page."""
25 if not mr.auth.user_id:
26 self.abort(400, 'Only signed-in users should reach this URL.')
27
Adrià Vilanova Martínezde942802022-07-15 14:06:55 +020028 entry_page_url = servlet_helpers.ComputeIssueEntryURL(mr)
Copybara854996b2021-09-07 19:36:02 +000029 logging.info('Redirecting to %r', entry_page_url)
Adrià Vilanova Martínezde942802022-07-15 14:06:55 +020030
Adrià Vilanova Martínezf19ea432024-01-23 20:20:52 +010031 raise exceptions.RedirectException(entry_page_url)
32
33 def GetIssueEntryAfterLogin(self, **kwargs):
34 return self.handler(**kwargs)