| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374 |
- {#
- Licensed to the Apache Software Foundation (ASF) under one
- or more contributor license agreements. See the NOTICE file
- distributed with this work for additional information
- regarding copyright ownership. The ASF licenses this file
- to you under the Apache License, Version 2.0 (the
- "License"); you may not use this file except in compliance
- with the License. You may obtain a copy of the License at
- http://www.apache.org/licenses/LICENSE-2.0
- Unless required by applicable law or agreed to in writing,
- software distributed under the License is distributed on an
- "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- KIND, either express or implied. See the License for the
- specific language governing permissions and limitations
- under the License.
- #}
- {#-
- Adapted from: https://github.com/dpgaspar/Flask-AppBuilder/blob/master/flask_appbuilder/templates/appbuilder/flash.html
- -#}
- <link rel="stylesheet" type="text/css" href="{{ url_for_asset('flash.css') }}">
- {#
- Split messages into two arrays: one for regular alerts, another for DAG import errors
- #}
- {% with messages = get_flashed_messages(with_categories=true) %}
- {% set dag_import_errors = [] %}
- {% set regular_alerts = [] %}
- {% if messages %}
- {% for category, m in messages %}
- {% if category == 'dag_import_error' %}
- {{ dag_import_errors.append((category, m)) if dag_import_errors.append((category, m)) != None else '' }}
- {% elif not (request.path == auth_manager.get_url_login() and 'access is denied' in m.lower()) %}
- {# Don't show 'Access is Denied' alert if user is logged out and on the login page. #}
- {{ show_message(m, category) }}
- {% endif %}
- {% endfor %}
- {% endif %}
- {% if dag_import_errors %}
- <div class="panel-group" id="accordion" role="tablist" aria-multiselectable="true" style="margin-top: 16px;">
- <div class="panel panel-default">
- <div class="panel-heading" role="tab" id="errorHeading">
- <h4 class="panel-title">
- <a role="button" data-toggle="collapse" data-parent="#accordion" href="#errorCollapse" aria-expanded="true" aria-controls="errorCollapse" class="accordion-toggle collapsed">
- <span class="text-danger"><span class="material-icons" aria-hidden="true">error</span> DAG Import Errors ({{ dag_import_errors|length }})</span>
- <span class="material-icons pull-right toggle-direction" aria-hidden="true">expand_less</span>
- </a>
- </h4>
- </div>
- <div id="errorCollapse" class="panel-collapse collapse" role="tabpanel" aria-labelledby="errorHeading">
- <div class="panel-body">
- {% for category, m in dag_import_errors %}
- <div class="alert alert-error">
- <div class="dag-import-error" onclick="toggleErrorMessage.call(this)"><span class="material-icons pull-right toggle-direction" aria-hidden="true">expand_more</span>{{ m }}</div>
- </div>
- {% endfor %}
- </div>
- </div>
- </div>
- </div>
- {% endif %}
- {% endwith %}
- {% block tail %}
- <script>
- function toggleErrorMessage() {
- $(this).toggleClass('expanded-error');
- }
- </script>
- {% endblock %}
|