This is for https://fedoraproject.org/wiki/Fedora_Engineering/FY16_Plan
If the FEDMENU_URL and FEDMENU_DATA_URL options are left out of the config, then nothing should change on the displayed page. If they are included, then they will be pulled in at page load time to render little menu buttons on the bottom right hand corner of the page. There's an example up at http://threebean.org/fedmenu/ It will be a while until we are able to turn this on globally across all our apps. --- frontend/coprs_frontend/config/copr.conf | 4 ++++ frontend/coprs_frontend/coprs/__init__.py | 2 +- frontend/coprs_frontend/coprs/context_processors.py | 11 +++++++++++ frontend/coprs_frontend/coprs/templates/layout.html | 16 ++++++++++++++++ 4 files changed, 32 insertions(+), 1 deletion(-) diff --git a/frontend/coprs_frontend/config/copr.conf b/frontend/coprs_frontend/config/copr.conf index ab4fb96..064baa4 100644 --- a/frontend/coprs_frontend/config/copr.conf +++ b/frontend/coprs_frontend/config/copr.conf @@ -45,6 +45,10 @@ SEND_EMAILS = True ## post-process url leading to frontend # ENFORCE_PROTOCOL_FOR_FRONTEND_URL = "https" +# URLs for fedmenu resources +#FEDMENU_URL = "http://threebean.org/fedmenu/" +#FEDMENU_DATA_URL = "http://threebean.org/fedmenu/dev-data.js" + # Kerberos authentication configuration. Example configuration abbreviated # like 'RH' (should not changed once used, reflects what is stored in database). # This requires mod_auth_kerb package (Fedora/RHEL) installed on your frontend diff --git a/frontend/coprs_frontend/coprs/__init__.py b/frontend/coprs_frontend/coprs/__init__.py index e86bb64..032ed4d 100644 --- a/frontend/coprs_frontend/coprs/__init__.py +++ b/frontend/coprs_frontend/coprs/__init__.py @@ -52,7 +52,7 @@ from coprs.views import recent_ns from coprs.views.recent_ns import recent_general from coprs.views.stats_ns import stats_receiver -from .context_processors import include_banner +from .context_processors import include_banner, inject_fedmenu setup_log() diff --git a/frontend/coprs_frontend/coprs/context_processors.py b/frontend/coprs_frontend/coprs/context_processors.py index b84c241..895bb03 100644 --- a/frontend/coprs_frontend/coprs/context_processors.py +++ b/frontend/coprs_frontend/coprs/context_processors.py @@ -10,3 +10,14 @@ def include_banner(): return {"copr_banner": open(BANNER_LOCATION).read()} else: return {} + + [email protected]_processor +def inject_fedmenu(): + """ Inject fedmenu url if available. """ + if 'FEDMENU_URL' in app.config: + return dict( + fedmenu_url=app.config['FEDMENU_URL'], + fedmenu_data_url=app.config['FEDMENU_DATA_URL'], + ) + return dict() diff --git a/frontend/coprs_frontend/coprs/templates/layout.html b/frontend/coprs_frontend/coprs/templates/layout.html index bef3fbf..f9981e9 100644 --- a/frontend/coprs_frontend/coprs/templates/layout.html +++ b/frontend/coprs_frontend/coprs/templates/layout.html @@ -58,5 +58,21 @@ </small> </p> </div> + +{% if fedmenu_url is defined %} +<script src="{{fedmenu_url}}/js/fedora-libravatar.js"></script> +<script src="{{fedmenu_url}}/js/fedmenu.js"></script> +<script> + fedmenu({ + 'url': '{{fedmenu_data_url}}', + 'mimeType': 'application/javascript', + 'position': 'bottom-right', + {% if copr is defined %} + 'user': '{{copr.owner.name}}', + {% endif %} + }); +</script> +{% endif %} + </body> </html> -- 2.1.0 _______________________________________________ copr-devel mailing list [email protected] https://lists.fedorahosted.org/mailman/listinfo/copr-devel
