#284 [frontend] fix flask flash messages
Merged 6 years ago by clime. Opened 6 years ago by dturecek.
copr/ dturecek/copr flash-messages  into  master

@@ -79,11 +79,19 @@ 

      <div class="container">

  

        <!-- Flash messages -->

-       {% with messages = get_flashed_messages(with_categories=true) %}

-         {% for type, message in messages %}

+       {% if flashes %}

+         {% for type, message in flashes %}

            {{ alert(message, type) }}

          {% endfor %}

-       {% endwith %}

+       {% else %}

+         {% with messages = get_flashed_messages(with_categories=true) %}

+           {% for type, message in messages %}

+             {{ alert(message, type) }}

+           {% endfor %}

+         {% endwith %}

+       {% endif %}

+ 

+ 

  

        <!-- the actual content -->

        {% block body %}{% endblock %}

@@ -63,11 +63,17 @@ 

  

  

  def render_copr_builds(copr):

+     flashes = flask.session.pop('_flashes', [])

      builds_query = builds_logic.BuildsLogic.get_copr_builds_list(copr=copr)

-     return flask.Response(stream_with_context(helpers.stream_template("coprs/detail/builds.html",

+     response = flask.Response(stream_with_context(helpers.stream_template("coprs/detail/builds.html",

                                   copr=copr,

-                                  builds=list(builds_query))))

+                                  builds=list(builds_query),

+                                  flashes=flashes,

+                                  )))

  

+     flask.session.pop('_flashes', [])

+     app.save_session(flask.session, response)

+     return response

  

  ################################ Url builds ################################

  
@@ -439,7 +445,7 @@ 

          flask.flash(str(e), "error")

      else:

          db.session.commit()

-         flask.flash("Build {} has been canceled successfully.".format(build.id), "success")

+         flask.flash("Build {} has been canceled successfully.".format(build.id))

      return flask.redirect(helpers.url_for_copr_builds(build.copr))

  

  
@@ -467,6 +473,6 @@ 

          flask.flash(str(e), "error")

      else:

          db.session.commit()

-         flask.flash("Build has been deleted successfully.", "success")

+         flask.flash("Build has been deleted successfully.")

  

      return flask.redirect(helpers.url_for_copr_builds(build.copr))

@@ -3,6 +3,7 @@ 

  

  from flask import Response, stream_with_context, url_for

  from flask import send_file

+ from coprs import app

  from coprs import db

  from coprs import forms

  from coprs import helpers
@@ -20,10 +21,17 @@ 

  @coprs_ns.route("/g/<group_name>/<coprname>/packages/")

  @req_with_copr

  def copr_packages(copr):

+     flashes = flask.session.pop('_flashes', [])

      packages_query = PackagesLogic.get_copr_packages_list(copr)

-     return flask.Response(stream_with_context(helpers.stream_template("coprs/detail/packages.html",

+     response = flask.Response(stream_with_context(helpers.stream_template("coprs/detail/packages.html",

                                   copr=copr,

-                                  packages=list(packages_query))))

+                                  packages=list(packages_query),

+                                  flashes=flashes,

+                                  )))

+ 

+     flask.session.pop('_flashes', [])

+     app.save_session(flask.session, response)

+     return response

  

  @coprs_ns.route("/<username>/<coprname>/package/<package_name>/")

  @coprs_ns.route("/g/<group_name>/<coprname>/package/<package_name>/")
@@ -254,6 +262,6 @@ 

          flask.flash(str(e), "error")

      else:

          db.session.commit()

-         flask.flash("Package has been deleted successfully.", "success")

+         flask.flash("Package has been deleted successfully.")

  

      return flask.redirect(helpers.copr_url("coprs_ns.copr_packages", copr))

This is a fix for flask flash messages not disappearing after page reload in some cases.

Also, I changed the flash message from green to grey when deleting/cancelling builds and deleting packages.

Pull-Request has been merged by clime

6 years ago