Skip to content

Commit

Permalink
[AIRFLOW-3067] Display www_rbac Flask flash msg properly (apache#3903)
Browse files Browse the repository at this point in the history
The Flask flash messages are not displayed properly.

When we don't give a category for a flash message, defautl
value will be 'message'. In some cases, we specify 'error'
category.

Using Flask-AppBuilder, the flash message will be given
a CSS class 'alert-[category]'. But We don't have
'alert-message' or 'alert-error' in the current
'bootstrap-theme.css' file.

This makes the the flash messages in www_rbac UI come with
no background color.

This commit addresses this issue by adding 'alert-message'
(using specs of existing CSS class 'alert-info') and
'alert-error' (using specs of existing CSS class 'alert-danger')
into 'bootstrap-theme.css'.
  • Loading branch information
XD-DENG authored and wayne.morris committed Jul 29, 2019
1 parent bd7c1bf commit 9536a3a
Show file tree
Hide file tree
Showing 2 changed files with 29 additions and 7 deletions.
22 changes: 22 additions & 0 deletions airflow/www_rbac/static/css/bootstrap-theme.css
Original file line number Diff line number Diff line change
Expand Up @@ -4949,6 +4949,28 @@ a.thumbnail.active {
.alert-danger .alert-link {
color: #843534;
}
.alert-message {
background-color: #d9edf7;
border-color: #bce8f1;
color: #31708f;
}
.alert-message hr {
border-top-color: #a6e1ec;
}
.alert-message .alert-link {
color: #245269;
}
.alert-error {
background-color: #f2dede;
border-color: #ebccd1;
color: #a94442;
}
.alert-error hr {
border-top-color: #e4b9c0;
}
.alert-error .alert-link {
color: #843534;
}
@-webkit-keyframes progress-bar-stripes {
from {
background-position: 40px 0;
Expand Down
14 changes: 7 additions & 7 deletions airflow/www_rbac/views.py
Original file line number Diff line number Diff line change
Expand Up @@ -782,11 +782,12 @@ def delete(self):
try:
delete_dag.delete_dag(dag_id)
except DagNotFound:
flash("DAG with id {} not found. Cannot delete".format(dag_id))
flash("DAG with id {} not found. Cannot delete".format(dag_id), 'error')
return redirect(request.referrer)
except DagFileExists:
flash("Dag id {} is still in DagBag. "
"Remove the DAG file first.".format(dag_id))
"Remove the DAG file first.".format(dag_id),
'error')
return redirect(request.referrer)

flash("Deleting DAG with id {}. May take a couple minutes to fully"
Expand Down Expand Up @@ -2097,7 +2098,7 @@ def varimport(self):
else:
d = json.loads(out)
except Exception:
flash("Missing file or syntax error.")
flash("Missing file or syntax error.", 'error')
else:
suc_count = fail_count = 0
for k, v in d.items():
Expand All @@ -2108,7 +2109,7 @@ def varimport(self):
fail_count += 1
else:
suc_count += 1
flash("{} variable(s) successfully updated.".format(suc_count), 'info')
flash("{} variable(s) successfully updated.".format(suc_count))
if fail_count:
flash("{} variables(s) failed to be updated.".format(fail_count), 'error')
self.update_redirect()
Expand Down Expand Up @@ -2198,10 +2199,9 @@ def action_set_running(self, drs, session=None):
dr.state = State.RUNNING
models.DagStat.update(dirty_ids, session=session)
session.commit()
flash(
"{count} dag runs were set to running".format(**locals()))
flash("{count} dag runs were set to running".format(**locals()))
except Exception as ex:
flash(str(ex))
flash(str(ex), 'error')
flash('Failed to set state', 'error')
return redirect(self.route_base + '/list')

Expand Down

0 comments on commit 9536a3a

Please sign in to comment.