def home(request): user = local.gae_user account = models.GoogleAccount.gql('WHERE google_user = :1', user).get() if account: any_submission_key = db.GqlQuery('SELECT __key__ FROM Submission WHERE account = :1', account.key()).get() if any_submission_key: return redirect(url_for('home/dashboard')) else: return redirect(url_for('home/submit')) else: account = models.GoogleAccount(google_user=user, email=user.email()) account.put() return redirect(url_for('home/first'))
def resubmit(request, submission_id): submission = models.Submission.get_by_id(submission_id) if submission is None or submission.account.key().id() != local.account.key().id(): logging.warning('Attempt to resubmit submission "%s" by account "%s" with email "%s".' % (submission_id, local.account.key().id(), local.account.email)) return redirect(url_for('main/index')) if request.method == "POST": form = forms.ResubmissionForm(request.form) if form.validate(): submission.text_list.append(db.Text(utils.text_tidy(form.text.data))) submission.put() flash("Your submission has been updated.") return redirect(url_for('home/preview', submission_id=submission.key().id())) else: form = forms.ResubmissionForm(obj=submission) return render_response('resubmit.html', form=form, submission=submission)
def _redirect_unauthorized(resp): if resp.status_code == 401: # We need the request for later redirecting. req = get_request() resp.headers['Location'] = url_for("auth/login", **{REDIRECT_FIELD_NAME: req.url}) resp.status_code = 302
def test_endpoint_lookup(): """ Adding a rule, and that it's in the map """ def _add_rule_setup(app): app.add_url('/', endpoint='foo/blah') app = make_app(_add_rule_setup, 'test_output') assert url_for('foo/blah') == '/'
def faq_admin_group(request): if request.method == 'POST': form = forms.GroupForm(request.form) if form.validate(): group = models.FrequentlyAskedQuestionGroup(title=form.title.data, weight=form.weight.data) group.put() return redirect(url_for('main/faq')) else: form = forms.GroupForm() return render_response('faq_admin_group.html', form=form)
def faq_admin_question(request): if request.method == 'POST': form = forms.QuestionForm(request.form) if form.validate(): group = models.FrequentlyAskedQuestionGroup.get_by_id(int(form.group.data)) question = models.FrequentlyAskedQuestion(question=form.question.data, answer=form.answer.data, weight=form.weight.data, group=group.key()) question.put() return redirect(url_for('main/faq')) else: form = forms.QuestionForm() return render_response('faq_admin_question.html', form=form)
def add_edit_view(req, nid=None): if nid is None: form = NotesForm(req.form) # Validate form if req.method == 'POST' and form.validate(): # No validation errors, save note and redirect to success page note = Note( req.form.get('title'), req.form.get('note'), req.form.get('importance') ) db.add(note) db.commit() return redirect(url_for('example/success')) return render_response('notes_add.jinja', form=form) else: # Find note note = db.query(Note).get(nid) # Check if note exists if note is None: return Response('Not Found', status=404) # Form with values form = NotesForm(req.form, title = note.title, note = note.note, importance = note.importance ) # Validate form if req.method == 'POST' and form.validate(): # No validation errors, update note and redirect to success page note.title = req.form.get('title') note.note = req.form.get('note') note.importance = req.form.get('importance') db.add(note) db.commit() return redirect(url_for('example/success')) return render_response('notes_edit.jinja', note=note, form=form)
def submit(request): if request.method == "POST": form = forms.SubmissionForm(request.form) if form.validate(): submission = models.Submission(account=local.account, simultaneous=form.simultaneous.data, cover_letter=db.Text(utils.text_tidy(form.cover_letter.data)), title=utils.text_tidy(form.title.data), text_list=[db.Text(utils.text_tidy(form.text.data))], categories=form.categories.data) submission.put() flash("Your submission has been saved.") return redirect(url_for('home/preview', submission_id=submission.key().id())) else: form = forms.SubmissionForm() return render_response('submit.html', form=form)
def login_view(req): session = get_session() consumer = Consumer(session, None) url_back = url_for('openid/login', _external=True) if req.method == 'POST': url = req.form.get('openid') authreq = consumer.begin(url) return redirect(authreq.redirectURL(url_back, url_back)) else: res = consumer.complete(req.args, url_back) if res.status == SUCCESS: identity = req.args.get('openid.identity') login(identity) return Response('Successfully logged in as: %s' % identity) elif res.status == CANCEL: return Response('Cancelled') else: return Response('Nope') print res == SUCCESS
def url_shared(self, filename, **kw): return url_for('shared/%s' % self.name, filename=filename, **kw)
def url_local(self, endpoint_name, **kw): return url_for(self.get_endpoint(endpoint_name), **kw)
def view_logout(request): """Just logout and redirect to the login screen.""" logout() return redirect(url_for('auth/login'))
def wrapped(*args, **kw): if get_app().conf['auth/token_key'] in get_session(): return f(*args, **kw) else: return redirect(url_for('auth/login'))
def profile(request): return render_profile(request, "profile.html", url_for('home/profile'))
def preview(request, submission_id): submission = models.Submission.get_by_id(submission_id) if submission is None or submission.account.key().id() != local.account.key().id(): logging.warning('Attempt to retrieve submission "%s" by account "%s" with email "%s".' % (submission_id, local.account.key().id(), local.account.email)) return redirect(url_for('main/index')) return render_response("preview.html", submission=submission)
def get_preview_url(self): return url_for("home/preview", submission_id=self.key().id())
def _view(req): s = url_for('shared/test', filename='blah') return Response(s)
def first(request): return render_profile(request, "first.html", url_for('home/submit'))