diff --git a/dockers/eflows-airflow.docker b/dockers/eflows-airflow.docker index c04e02f45fbc07090e538152f54aafec390e12a7..bf28ded161e3031b9e7a7b7e26a8bbe2b7f59ddf 100644 --- a/dockers/eflows-airflow.docker +++ b/dockers/eflows-airflow.docker @@ -3,6 +3,7 @@ FROM apache/airflow:2.2.5 USER root RUN apt update && apt install git -y && apt clean && rm -rf /var/lib/apt/lists/* COPY ./templates/main.html /home/airflow/.local/lib/python3.7/site-packages/airflow/www/templates/airflow/main.html +COPY ./templates/navbar_right.html /home/airflow/.local/lib/python3.7/site-packages/airflow/www/templates/appbuilder/navbar_right.html COPY ./templates/img/BMBF_gefoerdert_2017_en.jpg /home/airflow/.local/lib/python3.7/site-packages/airflow/www/static/BMBF_gefoerdert_2017_en.jpg USER airflow diff --git a/templates/navbar_right.html b/templates/navbar_right.html new file mode 100644 index 0000000000000000000000000000000000000000..fd167aa453647ac390fcc0ab63ad42e57557edb7 --- /dev/null +++ b/templates/navbar_right.html @@ -0,0 +1,91 @@ +{# + 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. + #} + + {% macro locale_menu(languages) %} + {% set locale = session['locale'] %} + {% if not locale %} + {% set locale = 'en' %} + {% endif %} + <li class="dropdown"> + <a class="dropdown-toggle" href="javascript:void(0)"> + <div class="f16"><i class="flag {{languages[locale].get('flag')}}"></i><b class="caret"></b></div> + </a> + {% if languages.keys()|length > 1 %} + <ul class="dropdown-menu"> + <li class="dropdown"> + {% for lang in languages %} + {% if lang != locale %} + <a href="{{appbuilder.get_url_for_locale(lang)}}"> + <div class="f16"><i class="flag {{languages[lang].get('flag')}}"></i> - {{languages[lang].get('name')}} + </div></a> + {% endif %} + {% endfor %} + </li> + </ul> + {% endif %} + </li> + {% endmacro %} + + {# clock and timezone menu #} + <li class="dropdown" id="timezone-dropdown"> + <a class="dropdown-toggle" style="display:none" href="#"> + <time id="clock" class="js-tooltip"></time> + <b class="caret"></b> + </a> + <ul class="dropdown-menu" id="timezone-menu"> + <li id="timezone-utc"><a data-timezone="UTC" href="#">UTC</a></li> + <li id="timezone-server" style="display: none;"><a data-timezone="{{ server_timezone }}" href="#">{{ server_timezone }}</a></li> + <li id="timezone-local"><a href="#">Local</a></li> + <li id="timezone-manual" style="display: none"><a data-timezone="" href="#"></a></li> + <li role="separator" class="divider"></li> + <li> + <form> + <label for="timezone-other">Other</label> + <input id="timezone-other" placeholder="Select Timezone name" autocomplete="off" tabindex="-1"> + </form> + </li> + </ul> + </li> + + {% if not current_user.is_anonymous %} + <li class="dropdown"> + <a class="dropdown-toggle" href="#"> + <span class="navbar-user-icon" title="{{g.user.get_full_name()}}"> + {% if current_user.first_name and current_user.last_name %} + <span>{{ (current_user.first_name[0] + current_user.last_name[0]).upper() }}</span> + {% else %} + <span class="material-icons">person</span> + {% endif %} + </span> + <b class="caret"></b> + </a> + <ul class="dropdown-menu"> + <li><a href="{{appbuilder.get_url_for_userinfo}}"><span class="material-icons">account_circle</span>{{_("Your Profile")}}</a></li> + <li role="separator" class="divider"></li> + <li><a href="{{appbuilder.get_url_for_logout}}"><span class="material-icons">exit_to_app</span>{{_("Log Out")}}</a></li> + </ul> + </li> + {% else %} + <li> + <a href="{{appbuilder.get_url_for_login}}"><span class="material-icons">login</span>{{_("Log In")}}</a> + </li> + <li> + <a href="/unity"><span class="material-icons">login</span>{{_("Log In via SSO")}}</a> + </li> + {% endif %} \ No newline at end of file