def _decorator(self, *args, **kwargs): if 'upgrade_user' not in self.request.session: if 'user' in self.request.session: return Redirect(main_url, self.request) return Redirect(login_url, self.request) return fun(self, *args, **kwargs)
def _decorator(self, *args, **kwargs): if 'user' not in self.request.session: return Redirect(login_url, self.request) if not self.request.session['user']['is_authenticated']: return Redirect(login_url, self.request) return fun(self, *args, **kwargs)
def handler(self, request, path): if 'auto_authenticate' in request.session: username = request.session['auto_authenticate'] else: if not request.post: return self.evaluate_form(session=request.session) username = request.post.get('username', '') password = request.post.get('password', '') if '' in (username, password): return self.evaluate_form(session=request.session) invalid_login = True u = None try: u = user.User(username) invalid_login = False except UnknownUserError as e: pass if 'auto_authenticate' in request.session: del request.session['auto_authenticate'] request.session['change_password_hint'] = True else: try: if not u or not u.check_password(password): return self.evaluate_form( 'Not a valid username and password combination') except NoMD5PasswordError as e: return self.evaluate_form(str(e)) if invalid_login: return self.evaluate_form( 'Not a valid username and password combination') if not database_isuptodate(): localvalues = {} request.session['upgrade_user'] = True base_url = options.url_path('base_url_submin') localvalues['base_url'] = str(base_url) localvalues['session_user'] = u return Response(evaluate('database_upgrade.html', localvalues)) url = options.url_path('base_url_submin') if 'redirected_from' in request.session: login_url = options.url_path('base_url_submin') + 'login' url = request.session['redirected_from'] if url.startswith(login_url): url = options.url_path('base_url_submin') session_user = u.session_object() session_user['is_authenticated'] = True request.session['user'] = session_user request.session.cleanup() return Redirect(url, request, store_url=False)
def add(self, req, path, templatevars): base_url = options.url_path('base_url_submin') reposname = '' if req.post and req.post['repository']: import re reposname = req.post.get('repository').strip() if re.findall('[^a-zA-Z0-9_-]', reposname): return self.showAddForm( req, reposname, 'Invalid characters in repository name') if "vcs" not in req.post or req.post.get("vcs").strip() == "": return self.showAddForm( req, reposname, "No repository type selected. Please select a repository type." ) vcs_type = req.post.get("vcs").strip() if reposname == '': return self.showAddForm(req, reposname, 'Repository name not supplied') if vcs_type not in vcs_list(): return self.showAddForm(req, reposname, "Invalid repository type supplied.") try: a = Repository(reposname, vcs_type) return self.showAddForm( req, reposname, 'Repository %s already exists' % reposname) except DoesNotExistError: pass try: asking_user = user.User(req.session['user']['name']) Repository.add(vcs_type, reposname, asking_user) except PermissionError as e: return ErrorResponse('could not create repository', request=req, details=str(e)) url = '%s/repositories/show/%s/%s' % (base_url, vcs_type, reposname) return Redirect(url, req) return self.showAddForm(req, reposname)
def handler(self, request, path): if 'user' in request.session: request.session['user']['is_authenticated'] = False request.session.clear() url = options.url_path('base_url_submin') return Redirect(url, request)