Python flask.flash() Examples
The following are 30
code examples of flask.flash().
You can vote up the ones you like or vote down the ones you don't like,
and go to the original project or source file by following the links above each example.
You may also want to check out all available functions/classes of the module
flask
, or try the search function
.
Example #1
Source File: flask_app.py From pagure with GNU General Public License v2.0 | 6 votes |
def auth_logout(): # pragma: no cover """ Method to log out from the application. """ return_point = flask.url_for("ui_ns.index") if "next" in flask.request.args: if pagure.utils.is_safe_url(flask.request.args["next"]): return_point = flask.request.args["next"] if not pagure.utils.authenticated(): return flask.redirect(return_point) logout() flask.flash("You have been logged out") flask.session["_justloggedout"] = True return flask.redirect(return_point) # pylint: disable=unused-argument
Example #2
Source File: feedback.py From github-stats with MIT License | 6 votes |
def feedback(): if not config.CONFIG_DB.feedback_email: return flask.abort(418) form = FeedbackForm(obj=auth.current_user_db()) if not config.CONFIG_DB.has_anonymous_recaptcha or auth.is_logged_in(): del form.recaptcha if form.validate_on_submit(): body = '%s\n\n%s' % (form.message.data, form.email.data) kwargs = {'reply_to': form.email.data} if form.email.data else {} task.send_mail_notification('%s...' % body[:48].strip(), body, **kwargs) flask.flash('Thank you for your feedback!', category='success') return flask.redirect(flask.url_for('welcome')) return flask.render_template( 'feedback.html', title='Feedback', html_class='feedback', form=form, )
Example #3
Source File: decorators.py From pagure with GNU General Public License v2.0 | 6 votes |
def is_admin_sess_timedout(function): """ Decorator that checks if the admin session has timeout. If not true redirect to the login page """ @wraps(function) def check_session_timeout(*args, **kwargs): if admin_session_timedout(): if flask.request.method == "POST": flask.flash("Action canceled, try it again", "error") return flask.redirect( flask.url_for("auth_login", next=flask.request.url) ) return function(*args, **kwargs) return check_session_timeout
Example #4
Source File: level.py From hackit with Apache License 2.0 | 6 votes |
def skip(self): if g.user is None: self.logger.info('[%s][%s] anonymous skip', g.user, self.name) return redirect(url_for(self.name + '.index')) g.user.lock() if not self.can_skip(): g.user.unlock() self.logger.warning('[%s][%s] skip() but can\'t skip', g.user, self.name) return render_template('forbidden.html'), 403 g.user.setstate(self, 'skipped') g.user.commit() self.logger.info('[%s][%s] skipped', g.user, self.name) flash(u"Te has saltado el nivel %d" % self.number) try: next = self.route_.levels[self.routeidx+1] return redirect(url_for(next.name + '.index')) except IndexError: alldone = all([l.state() == 'solved' for r in routes for l in r.levels]) self.logger.info('[%s][%s] last level (alldone=%r)', g.user, self.name, alldone) return render_template('alldone.html', alldone=alldone, level=self)
Example #5
Source File: login.py From pagure with GNU General Public License v2.0 | 6 votes |
def confirm_user(token): """ Confirm a user account. """ user_obj = pagure.lib.query.search_user(flask.g.session, token=token) if not user_obj: flask.flash("No user associated with this token.", "error") else: user_obj.token = None flask.g.session.add(user_obj) try: flask.g.session.commit() flask.flash("Email confirmed, account activated") return flask.redirect(flask.url_for("auth_login")) except SQLAlchemyError as err: # pragma: no cover flask.flash( "Could not set the account as active in the db, " "please report this error to an admin", "error", ) _log.exception(err) return flask.redirect(flask.url_for("ui_ns.index"))
Example #6
Source File: linkedin.py From github-stats with MIT License | 5 votes |
def linkedin_authorized(): id_token = linkedin.authorize_access_token() if id_token is None: flask.flash('You denied the request to sign in.') return flask.redirect(util.get_next_url()) me = linkedin.get('people/~:(id,first-name,last-name,email-address)') user_db = retrieve_user_from_linkedin(me.json()) return auth.signin_user_db(user_db)
Example #7
Source File: repo.py From pagure with GNU General Public License v2.0 | 5 votes |
def change_ref_head(repo, username=None, namespace=None): """ Change HEAD reference """ repo = flask.g.repo repo_obj = flask.g.repo_obj branches = repo_obj.listall_branches() form = pagure.forms.DefaultBranchForm(branches=branches) if form.validate_on_submit(): branchname = form.branches.data try: pagure.lib.git.git_set_ref_head(project=repo, branch=branchname) flask.flash("Default branch updated to %s" % branchname) except Exception as err: # pragma: no cover _log.exception(err) return flask.redirect( flask.url_for( "ui_ns.view_settings", username=username, repo=repo.name, namespace=namespace, ) + "#defaultbranch-tab" )
Example #8
Source File: user.py From github-stats with MIT License | 5 votes |
def user_activate(token): if auth.is_logged_in(): flask_login.logout_user() return flask.redirect(flask.request.path) user_db = model.User.get_by('token', token) if not user_db: flask.flash('That link is either invalid or expired.', category='danger') return flask.redirect(flask.url_for('welcome')) form = UserActivateForm(obj=user_db) if form.validate_on_submit(): form.populate_obj(user_db) user_db.password_hash = util.password_hash(user_db, form.password.data) user_db.token = util.uuid() user_db.verified = True user_db.put() return auth.signin_user_db(user_db) return flask.render_template( 'user/user_activate.html', title='Activate Account', html_class='user-activate', user_db=user_db, form=form, ) ############################################################################### # User Merge ###############################################################################
Example #9
Source File: user.py From github-stats with MIT License | 5 votes |
def user_reset(token=None): user_db = model.User.get_by('token', token) if not user_db: flask.flash('That link is either invalid or expired.', category='danger') return flask.redirect(flask.url_for('welcome')) if auth.is_logged_in(): flask_login.logout_user() return flask.redirect(flask.request.path) form = UserResetForm() if form.validate_on_submit(): user_db.password_hash = util.password_hash(user_db, form.new_password.data) user_db.token = util.uuid() user_db.verified = True user_db.put() flask.flash('Your password was changed succesfully.', category='success') return auth.signin_user_db(user_db) return flask.render_template( 'user/user_reset.html', title='Reset Password', html_class='user-reset', form=form, user_db=user_db, ) ############################################################################### # User Activate ###############################################################################
Example #10
Source File: user.py From github-stats with MIT License | 5 votes |
def user_verify(token): user_db = auth.current_user_db() if user_db.token != token: flask.flash('That link is either invalid or expired.', category='danger') return flask.redirect(flask.url_for('profile')) user_db.verified = True user_db.token = util.uuid() user_db.put() flask.flash('Hooray! Your email is now verified.', category='success') return flask.redirect(flask.url_for('profile')) ############################################################################### # User Forgot ###############################################################################
Example #11
Source File: profile.py From github-stats with MIT License | 5 votes |
def profile_password(): if not config.CONFIG_DB.has_email_authentication: flask.abort(418) user_db = auth.current_user_db() form = ProfilePasswordForm(obj=user_db) if not user_db.password_hash: del form.old_password if form.validate_on_submit(): errors = False old_password = form.old_password.data if form.old_password else None new_password = form.new_password.data if new_password or old_password: if user_db.password_hash: if util.password_hash(user_db, old_password) != user_db.password_hash: form.old_password.errors.append('Invalid current password') errors = True if not (form.errors or errors): user_db.password_hash = util.password_hash(user_db, new_password) flask.flash('Your password has been changed.', category='success') if not (form.errors or errors): user_db.put() return flask.redirect(flask.url_for('profile')) return flask.render_template( 'profile/profile_password.html', title=user_db.name, html_class='profile-password', form=form, user_db=user_db, )
Example #12
Source File: repo.py From pagure with GNU General Public License v2.0 | 5 votes |
def delete_report(repo, username=None, namespace=None): """ Delete a report from a project. """ repo = flask.g.repo form = pagure.forms.ConfirmationForm() if form.validate_on_submit(): report = flask.request.form.get("report") reports = repo.reports if report not in reports: flask.flash("Unknown report: %s" % report, "error") else: del reports[report] repo.reports = reports try: flask.g.session.add(repo) flask.g.session.commit() flask.flash("List of reports updated") except SQLAlchemyError as err: # pragma: no cover flask.g.session.rollback() flask.flash(str(err), "error") return flask.redirect( flask.url_for( "ui_ns.view_settings", username=username, repo=repo.name, namespace=namespace, ) + "#reports-tab" )
Example #13
Source File: repo.py From pagure with GNU General Public License v2.0 | 5 votes |
def test_web_hook(repo, username=None, namespace=None): """ Endpoint that can be called to send a test message to the web-hook service allowing to test the web-hooks set. """ repo = flask.g.repo form = pagure.forms.ConfirmationForm() if form.validate_on_submit(): pagure.lib.notify.log( project=repo, topic="Test.notification", msg={"content": "Test message"}, webhook=True, ) flask.flash("Notification triggered") return flask.redirect( flask.url_for( "ui_ns.view_settings", username=username, repo=repo.name, namespace=repo.namespace, ) + "#projectoptions-tab" )
Example #14
Source File: repo.py From pagure with GNU General Public License v2.0 | 5 votes |
def watch_repo(repo, watch, username=None, namespace=None): """ Marked for watching or unwatching """ return_point = flask.url_for("ui_ns.index") if pagure.utils.is_safe_url(flask.request.referrer): return_point = flask.request.referrer form = pagure.forms.ConfirmationForm() if not form.validate_on_submit(): flask.abort(400) if "%s" % watch not in ["0", "1", "2", "3", "-1"]: flask.abort(400) try: msg = pagure.lib.query.update_watch_status( flask.g.session, flask.g.repo, flask.g.fas_user.username, watch ) flask.g.session.commit() flask.flash(msg) except pagure.exceptions.PagureException as msg: _log.debug(msg) flask.flash(str(msg), "error") return flask.redirect(return_point)
Example #15
Source File: repo.py From pagure with GNU General Public License v2.0 | 5 votes |
def update_close_status(repo, username=None, namespace=None): """ Update the close_status of a project. """ repo = flask.g.repo form = pagure.forms.ConfirmationForm() if form.validate_on_submit(): close_status = [ w.strip() for w in flask.request.form.getlist("close_status") if w.strip() ] try: repo.close_status = close_status flask.g.session.add(repo) flask.g.session.commit() flask.flash("List of close status updated") except SQLAlchemyError as err: # pragma: no cover flask.g.session.rollback() flask.flash(str(err), "error") return flask.redirect( flask.url_for( "ui_ns.view_settings", username=username, repo=repo.name, namespace=namespace, ) + "#closestatus-tab" )
Example #16
Source File: repo.py From pagure with GNU General Public License v2.0 | 5 votes |
def delete_repo(repo, username=None, namespace=None): """ Delete the present project. """ repo = flask.g.repo del_project = pagure_config.get("ENABLE_DEL_PROJECTS", True) del_fork = pagure_config.get("ENABLE_DEL_FORKS", del_project) if (not repo.is_fork and not del_project) or ( repo.is_fork and not del_fork ): flask.abort(404) if repo.read_only: flask.flash( "The ACLs of this project are being refreshed in the backend " "this prevents the project from being deleted. Please wait " "for this task to finish before trying again. Thanks!" ) return flask.redirect( flask.url_for( "ui_ns.view_settings", repo=repo.name, username=username, namespace=namespace, ) + "#deleteproject-tab" ) task = pagure.lib.tasks.delete_project.delay( namespace=repo.namespace, name=repo.name, user=repo.user.user if repo.is_fork else None, action_user=flask.g.fas_user.username, ) return pagure.utils.wait_for_task(task)
Example #17
Source File: repo.py From pagure with GNU General Public License v2.0 | 5 votes |
def remove_tag(repo, username=None, namespace=None): """ Remove the specified tag, associated with the issues, from the project. """ repo = flask.g.repo form = pagure.forms.DeleteIssueTagForm() if form.validate_on_submit(): tags = form.tag.data tags = [tag.strip() for tag in tags.split(",")] msgs = pagure.lib.query.remove_tags( flask.g.session, repo, tags, user=flask.g.fas_user.username ) try: flask.g.session.commit() for msg in msgs: flask.flash(msg) except SQLAlchemyError as err: # pragma: no cover flask.g.session.rollback() _log.error(err) flask.flash("Could not remove tag: %s" % ",".join(tags), "error") return flask.redirect( flask.url_for( "ui_ns.view_settings", repo=repo.name, username=username, namespace=repo.namespace, ) + "#projecttags-tab" )
Example #18
Source File: groups.py From pagure with GNU General Public License v2.0 | 5 votes |
def group_delete(group): """ Delete a certain group """ if not pagure_config.get("ENABLE_USER_MNGT", True): flask.abort(404) if not pagure_config.get("ENABLE_GROUP_MNGT", False): flask.abort(404) form = pagure.forms.ConfirmationForm() if form.validate_on_submit(): group_obj = pagure.lib.query.search_groups( flask.g.session, group_name=group ) if not group_obj: flask.flash("No group `%s` found" % group, "error") return flask.redirect(flask.url_for("ui_ns.group_lists")) user = pagure.lib.query.search_user( flask.g.session, username=flask.g.fas_user.username ) if not user: flask.abort(404, description="User not found") if group not in user.groups: flask.flash( "You are not allowed to delete the group %s" % group, "error" ) return flask.redirect(flask.url_for("ui_ns.group_lists")) flask.g.session.delete(group_obj) flask.g.session.commit() pagure.lib.git.generate_gitolite_acls(project=None) flask.flash("Group `%s` has been deleted" % (group)) return flask.redirect(flask.url_for("ui_ns.group_lists"))
Example #19
Source File: microsoft.py From github-stats with MIT License | 5 votes |
def microsoft_authorized(): id_token = microsoft.authorize_access_token() if id_token is None: flask.flash('You denied the request to sign in.') return flask.redirect(util.get_next_url()) me = microsoft.get('me') user_db = retrieve_user_from_microsoft(me.json()) return auth.signin_user_db(user_db)
Example #20
Source File: login.py From pagure with GNU General Public License v2.0 | 5 votes |
def reset_password(token): """ Method to allow a user to reset his/her password. """ form = forms.ResetPasswordForm() user_obj = pagure.lib.query.search_user(flask.g.session, token=token) if not user_obj: flask.flash("No user associated with this token.", "error") return flask.redirect(flask.url_for("auth_login")) elif not user_obj.token: flask.flash( "Invalid user, this user never asked for a password change", "error", ) return flask.redirect(flask.url_for("auth_login")) if form.validate_on_submit(): user_obj.password = generate_hashed_value(form.password.data) user_obj.token = None flask.g.session.add(user_obj) try: flask.g.session.commit() flask.flash("Password changed") except SQLAlchemyError: # pragma: no cover flask.g.session.rollback() flask.flash("Could not set the new password.", "error") _log.exception("Password lost change - Error setting password.") return flask.redirect(flask.url_for("auth_login")) return flask.render_template( "login/password_reset.html", form=form, token=token ) # # Methods specific to local login. #
Example #21
Source File: repo.py From pagure with GNU General Public License v2.0 | 5 votes |
def star_project(repo, star, username=None, namespace=None): """ Star or Unstar a project :arg repo: string representing the project which has to be starred or unstarred. :arg star: either '0' or '1' for unstar and star respectively :arg username: string representing the user the fork of whose is being starred or unstarred. :arg namespace: namespace of the project if any """ return_point = flask.url_for("ui_ns.index") if flask.request.referrer is not None and pagure.utils.is_safe_url( flask.request.referrer ): return_point = flask.request.referrer form = pagure.forms.ConfirmationForm() if not form.validate_on_submit(): flask.abort(400) if star not in ["0", "1"]: flask.abort(400) try: msg = pagure.lib.query.update_star_project( flask.g.session, user=flask.g.fas_user.username, repo=flask.g.repo, star=star, ) flask.g.session.commit() flask.flash(msg) except SQLAlchemyError: flask.flash("Could not star the project") return flask.redirect(return_point)
Example #22
Source File: repo.py From pagure with GNU General Public License v2.0 | 5 votes |
def default_priority(repo, username=None, namespace=None): """ Update the default priority of a project. """ repo = flask.g.repo form = pagure.forms.DefaultPriorityForm( priorities=repo.priorities.values() ) if form.validate_on_submit(): priority = form.priority.data or None if priority in repo.priorities.values() or priority is None: repo.default_priority = priority try: flask.g.session.add(repo) flask.g.session.commit() if priority: flask.flash("Default priority set to %s" % priority) else: flask.flash("Default priority reset") except SQLAlchemyError as err: # pragma: no cover flask.g.session.rollback() flask.flash(str(err), "error") return flask.redirect( flask.url_for( "ui_ns.view_settings", username=username, repo=repo.name, namespace=repo.namespace, ) + "#priorities-tab" )
Example #23
Source File: app.py From oabot with MIT License | 5 votes |
def oauth_callback(): """OAuth handshake callback.""" if 'request_token' not in flask.session: flask.flash(u'OAuth callback failed. Are cookies disabled?') return flask.redirect(flask.url_for('index')) consumer_token = mwoauth.ConsumerToken( app.config['CONSUMER_KEY'], app.config['CONSUMER_SECRET']) try: access_token = mwoauth.complete( app.config['OAUTH_MWURI'], consumer_token, mwoauth.RequestToken(**flask.session['request_token']), flask.request.query_string) identity = mwoauth.identify( app.config['OAUTH_MWURI'], consumer_token, access_token) except Exception as e: app.logger.exception('OAuth authentication failed') else: flask.session['access_token'] = dict(zip( access_token._fields, access_token)) print('//////// ACCESS_TOKEN') print(access_token) flask.session['username'] = identity['username'] next_url = flask.request.args.get('next_url') or flask.url_for('get_random_edit') return flask.redirect(next_url)
Example #24
Source File: app.py From pagure with GNU General Public License v2.0 | 5 votes |
def renew_api_user_token(token_id): """ Renew a user token (ie: not project specific). """ if admin_session_timedout(): flask.flash("Action canceled, try it again", "error") url = flask.url_for(".user_settings") return flask.redirect(flask.url_for("auth_login", next=url)) token = pagure.lib.query.get_api_token(flask.g.session, token_id) if not token or token.user.username != flask.g.fas_user.username: flask.abort(404, description="Token not found") form = pagure.forms.ConfirmationForm() if form.validate_on_submit(): acls = [acl.name for acl in token.acls] try: pagure.lib.query.add_token_to_user( flask.g.session, project=None, description=token.description or None, acls=acls, username=flask.g.fas_user.username, expiration_date=datetime.date.today() + datetime.timedelta(days=(30 * 6)), ) flask.g.session.commit() flask.flash("Token created") return flask.redirect( flask.url_for("ui_ns.user_settings") + "#nav-api-tab" ) except SQLAlchemyError as err: # pragma: no cover flask.g.session.rollback() _log.exception(err) flask.flash("API token could not be renewed", "error") return flask.redirect( flask.url_for("ui_ns.user_settings") + "#nav-api-tab" )
Example #25
Source File: app.py From pagure with GNU General Public License v2.0 | 5 votes |
def revoke_api_user_token(token_id): """ Revoke a user token (ie: not project specific). """ if admin_session_timedout(): flask.flash("Action canceled, try it again", "error") url = flask.url_for(".user_settings") return flask.redirect(flask.url_for("auth_login", next=url)) token = pagure.lib.query.get_api_token(flask.g.session, token_id) if not token or token.user.username != flask.g.fas_user.username: flask.abort(404, description="Token not found") form = pagure.forms.ConfirmationForm() if form.validate_on_submit(): try: if token.expiration >= datetime.datetime.utcnow(): token.expiration = datetime.datetime.utcnow() flask.g.session.add(token) flask.g.session.commit() flask.flash("Token revoked") except SQLAlchemyError as err: # pragma: no cover flask.g.session.rollback() _log.exception(err) flask.flash( "Token could not be revoked, please contact an admin", "error" ) return flask.redirect( flask.url_for("ui_ns.user_settings") + "#nav-api-token" )
Example #26
Source File: app.py From pagure with GNU General Public License v2.0 | 5 votes |
def confirm_email(token): """ Confirm a new email. """ if admin_session_timedout(): return flask.redirect( flask.url_for("auth_login", next=flask.request.url) ) email = pagure.lib.query.search_pending_email(flask.g.session, token=token) if not email: flask.flash("No email associated with this token.", "error") else: try: pagure.lib.query.add_email_to_user( flask.g.session, email.user, email.email ) flask.g.session.delete(email) flask.g.session.commit() flask.flash("Email validated") except pagure.exceptions.PagureException as err: flask.flash(str(err), "error") _log.exception(err) except SQLAlchemyError as err: # pragma: no cover flask.g.session.rollback() flask.flash( "Could not set the account as active in the db, " "please report this error to an admin", "error", ) _log.exception(err) return flask.redirect(flask.url_for("ui_ns.user_settings"))
Example #27
Source File: app.py From pagure with GNU General Public License v2.0 | 5 votes |
def reconfirm_email(): """ Re-send the email address of the user. """ if admin_session_timedout(): return flask.redirect( flask.url_for("auth_login", next=flask.request.url) ) user = _get_user(username=flask.g.fas_user.username) form = pagure.forms.UserEmailForm() if form.validate_on_submit(): email = form.email.data try: pagure.lib.query.resend_pending_email(flask.g.session, user, email) flask.g.session.commit() flask.flash("Confirmation email re-sent") except pagure.exceptions.PagureException as err: flask.flash(str(err), "error") except SQLAlchemyError as err: # pragma: no cover flask.g.session.rollback() _log.exception(err) flask.flash("Confirmation email could not be re-sent", "error") return flask.redirect(flask.url_for("ui_ns.user_settings"))
Example #28
Source File: app.py From pagure with GNU General Public License v2.0 | 5 votes |
def add_user_email(): """ Add a new email for the logged in user. """ if admin_session_timedout(): return flask.redirect( flask.url_for("auth_login", next=flask.request.url) ) user = _get_user(username=flask.g.fas_user.username) form = pagure.forms.UserEmailForm( emails=[mail.email for mail in user.emails] ) if form.validate_on_submit(): email = form.email.data try: pagure.lib.query.add_user_pending_email( flask.g.session, user, email ) flask.g.session.commit() flask.flash("Email pending validation") return flask.redirect(flask.url_for("ui_ns.user_settings")) except pagure.exceptions.PagureException as err: flask.flash(str(err), "error") except SQLAlchemyError as err: # pragma: no cover flask.g.session.rollback() _log.exception(err) flask.flash("Email could not be added", "error") return flask.render_template("user_emails.html", user=user, form=form)
Example #29
Source File: app.py From pagure with GNU General Public License v2.0 | 5 votes |
def remove_user_email(): """ Remove the specified email from the logged in user. """ if admin_session_timedout(): return flask.redirect( flask.url_for("auth_login", next=flask.request.url) ) user = _get_user(username=flask.g.fas_user.username) if len(user.emails) == 1: flask.flash("You must always have at least one email", "error") return flask.redirect(flask.url_for("ui_ns.user_settings")) form = pagure.forms.UserEmailForm() if form.validate_on_submit(): email = form.email.data useremails = [mail.email for mail in user.emails] if email not in useremails: flask.flash( "You do not have the email: %s, nothing to remove" % email, "error", ) return flask.redirect(flask.url_for("ui_ns.user_settings")) for mail in user.emails: if mail.email == email: user.emails.remove(mail) break try: flask.g.session.commit() flask.flash("Email removed") except SQLAlchemyError as err: # pragma: no cover flask.g.session.rollback() _log.exception(err) flask.flash("Email could not be removed", "error") return flask.redirect(flask.url_for("ui_ns.user_settings"))
Example #30
Source File: app.py From pagure with GNU General Public License v2.0 | 5 votes |
def update_user_settings(): """ Update the user's settings set in the settings page. """ if admin_session_timedout(): if flask.request.method == "POST": flask.flash("Action canceled, try it again", "error") return flask.redirect( flask.url_for("auth_login", next=flask.request.url) ) user = _get_user(username=flask.g.fas_user.username) form = pagure.forms.ConfirmationForm() if form.validate_on_submit(): settings = {} for key in flask.request.form: if key == "csrf_token": continue settings[key] = flask.request.form[key] try: message = pagure.lib.query.update_user_settings( flask.g.session, settings=settings, user=user.username ) flask.g.session.commit() flask.flash(message) except pagure.exceptions.PagureException as msg: flask.g.session.rollback() flask.flash(msg, "error") except SQLAlchemyError as err: # pragma: no cover flask.g.session.rollback() flask.flash(str(err), "error") return flask.redirect(flask.url_for("ui_ns.user_settings"))