Add auto-redirect to user and org pages for the new layout
This commit is contained in:
parent
1df025b57e
commit
703f48f194
1 changed files with 41 additions and 17 deletions
|
@ -38,8 +38,6 @@ STATUS_TAGS = app.config['STATUS_TAGS']
|
|||
|
||||
|
||||
@web.route('/', methods=['GET'], defaults={'path': ''})
|
||||
@web.route('/organization/<path:path>', methods=['GET'])
|
||||
@web.route('/user/<path:path>', methods=['GET'])
|
||||
@no_cache
|
||||
def index(path, **kwargs):
|
||||
return render_page_template('index.html', **kwargs)
|
||||
|
@ -50,6 +48,18 @@ def internal_error_display():
|
|||
return render_page_template('500.html')
|
||||
|
||||
|
||||
@web.route('/organization/<path:path>', methods=['GET'])
|
||||
@no_cache
|
||||
def org_view(path):
|
||||
return index('')
|
||||
|
||||
|
||||
@web.route('/user/<path:path>', methods=['GET'])
|
||||
@no_cache
|
||||
def user_view(path):
|
||||
return index('')
|
||||
|
||||
|
||||
@web.route('/snapshot', methods=['GET'])
|
||||
@web.route('/snapshot/', methods=['GET'])
|
||||
@web.route('/snapshot/<path:path>', methods=['GET'])
|
||||
|
@ -234,21 +244,6 @@ def robots():
|
|||
return send_from_directory('static', 'robots.txt')
|
||||
|
||||
|
||||
@web.route('/<path:repository>')
|
||||
@no_cache
|
||||
@process_oauth
|
||||
@parse_repository_name_and_tag
|
||||
def redirect_to_repository(namespace, reponame, tag):
|
||||
permission = ReadRepositoryPermission(namespace, reponame)
|
||||
is_public = model.repository_is_public(namespace, reponame)
|
||||
|
||||
if permission.can() or is_public:
|
||||
repository_name = '/'.join([namespace, reponame])
|
||||
return redirect(url_for('web.repository', path=repository_name, tag=tag))
|
||||
|
||||
abort(404)
|
||||
|
||||
|
||||
@web.route('/receipt', methods=['GET'])
|
||||
@route_show_if(features.BILLING)
|
||||
@require_session_login
|
||||
|
@ -498,3 +493,32 @@ def download_logs_archive():
|
|||
headers={"Content-Disposition": "attachment;filename=erlogs.tar.gz"})
|
||||
|
||||
abort(403)
|
||||
|
||||
|
||||
@web.route('/<path:repository>')
|
||||
@no_cache
|
||||
@process_oauth
|
||||
@parse_repository_name_and_tag
|
||||
def redirect_to_repository(namespace, reponame, tag):
|
||||
permission = ReadRepositoryPermission(namespace, reponame)
|
||||
is_public = model.repository_is_public(namespace, reponame)
|
||||
|
||||
if permission.can() or is_public:
|
||||
repository_name = '/'.join([namespace, reponame])
|
||||
return redirect(url_for('web.repository', path=repository_name, tag=tag))
|
||||
|
||||
abort(404)
|
||||
|
||||
|
||||
@web.route('/<namespace>')
|
||||
@no_cache
|
||||
@process_oauth
|
||||
def redirect_to_namespace(namespace):
|
||||
user_or_org = model.get_user_or_org(namespace)
|
||||
if not user_or_org:
|
||||
abort(404)
|
||||
|
||||
if user_or_org.organization:
|
||||
return redirect(url_for('web.org_view', path=namespace))
|
||||
else:
|
||||
return redirect(url_for('web.user_view', path=namespace))
|
||||
|
|
Reference in a new issue