Embed the discovery information directly into the page

This commit is contained in:
Joseph Schorr 2013-12-27 17:19:14 -05:00
parent 619f3abc16
commit 3d899b9f95
4 changed files with 100 additions and 69 deletions

View file

@ -14,43 +14,19 @@ from auth.permissions import (QuayDeferredPermissionUser,
AdministerOrganizationPermission)
from util.invoice import renderInvoiceToPdf
from util.seo import render_snapshot
from endpoints.api import get_route_data
from endpoints.common import common_login
logger = logging.getLogger(__name__)
class _LoginWrappedDBUser(UserMixin):
def __init__(self, db_username, db_user=None):
self._db_username = db_username
self._db_user = db_user
def db_user(self):
if not self._db_user:
self._db_user = model.get_user(self._db_username)
return self._db_user
def is_authenticated(self):
return self.db_user() is not None
def is_active(self):
return self.db_user().verified
def get_id(self):
return unicode(self._db_username)
@login_manager.user_loader
def load_user(username):
logger.debug('Loading user: %s' % username)
return _LoginWrappedDBUser(username)
def render_page_template(name):
return render_template(name, route_data = get_route_data())
@app.route('/', methods=['GET'], defaults={'path': ''})
@app.route('/repository/<path:path>', methods=['GET'])
@app.route('/organization/<path:path>', methods=['GET'])
def index(path):
return render_template('index.html')
return render_page_template('index.html')
@app.route('/snapshot', methods=['GET'])
@ -119,17 +95,17 @@ def status():
@app.route('/tos', methods=['GET'])
def tos():
return render_template('tos.html')
return render_page_template('tos.html')
@app.route('/disclaimer', methods=['GET'])
def disclaimer():
return render_template('disclaimer.html')
return render_page_template('disclaimer.html')
@app.route('/privacy', methods=['GET'])
def privacy():
return render_template('privacy.html')
return render_page_template('privacy.html')
@app.route('/receipt', methods=['GET'])
@ -162,17 +138,6 @@ def receipt():
abort(404)
def common_login(db_user):
if login_user(_LoginWrappedDBUser(db_user.username, db_user)):
logger.debug('Successfully signed in as: %s' % db_user.username)
new_identity = QuayDeferredPermissionUser(db_user.username, 'username')
identity_changed.send(app, identity=new_identity)
return True
else:
logger.debug('User could not be logged in, inactive?.')
return False
@app.route('/oauth2/github/callback', methods=['GET'])
def github_oauth_callback():
code = request.args.get('code')
@ -228,12 +193,12 @@ def github_oauth_callback():
mixpanel.alias(to_login.username, state)
except model.DataModelException, ex:
return render_template('githuberror.html', error_message=ex.message)
return render_page_template('githuberror.html', error_message=ex.message)
if common_login(to_login):
return redirect(url_for('index'))
return render_template('githuberror.html')
return render_page_template('githuberror.html')
@app.route('/confirm', methods=['GET'])