gnunet-svn
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[taler-taler-merchant-demos] branch master updated: make language and ac


From: gnunet
Subject: [taler-taler-merchant-demos] branch master updated: make language and active page available in all templates
Date: Wed, 21 Apr 2021 21:36:04 +0200

This is an automated email from the git hooks/post-receive script.

dold pushed a commit to branch master
in repository taler-merchant-demos.

The following commit(s) were added to refs/heads/master by this push:
     new c873085  make language and active page available in all templates
c873085 is described below

commit c8730857293c694449110ec289210e7ec4f32aa4
Author: Florian Dold <florian@dold.me>
AuthorDate: Wed Apr 21 21:35:55 2021 +0200

    make language and active page available in all templates
---
 talermerchantdemos/blog/blog.py                    | 21 ++++++-------
 talermerchantdemos/donations/donations.py          | 24 ++++++++-------
 talermerchantdemos/landing/landing.py              | 15 ++++++----
 talermerchantdemos/survey/survey.py                | 21 ++++++++-----
 talermerchantdemos/templates/common-base.html.j2   | 34 ++++++++++++++++++++--
 .../templates/donations-checkout.html.j2           |  2 +-
 .../templates/donations-index.html.j2              |  2 +-
 talermerchantdemos/templates/footer.html.j2        | 10 -------
 .../templates/language-switcher.html.j2            | 32 ++++++++++----------
 talermerchantdemos/templates/menu.html.j2          | 22 --------------
 talermerchantdemos/templates/survey-index.html.j2  |  2 +-
 11 files changed, 96 insertions(+), 89 deletions(-)

diff --git a/talermerchantdemos/blog/blog.py b/talermerchantdemos/blog/blog.py
index e8cce32..d1a2865 100644
--- a/talermerchantdemos/blog/blog.py
+++ b/talermerchantdemos/blog/blog.py
@@ -50,7 +50,7 @@ def err_abort(abort_status_code, **params):
     @param abort_status_code status code to return along the response.
     @param params _kw_ arguments to passed verbatim to the templating engine.
     """
-    t = flask.render_template("blog-error.html.j2", lang=get_locale(), 
**params)
+    t = flask.render_template("blog-error.html.j2", **params)
     flask.abort(flask.make_response(t, abort_status_code))
 
 
@@ -119,7 +119,13 @@ def utility_processor():
     def env(name, default=None):
         return os.environ.get(name, default)
 
-    return dict(env=env)
+    def getactive():
+        return "blog"
+
+    def getlang():
+        return get_locale()
+
+    return dict(env=env, getactive=getactive, getlang=getlang)
 
 
 ##
@@ -134,7 +140,6 @@ def internal_error(e):
         "blog-error.html.j2",
         message=gettext("Internal error"),
         stack=traceback.format_exc(),
-        lang=get_locale(),
     )
 
 
@@ -187,7 +192,6 @@ def start(lang):
         translated = {}
     return flask.render_template(
         "blog-index.html.j2",
-        lang=lang,
         merchant_currency=CURRENCY,
         articles=translated.values(),
     )
@@ -214,13 +218,11 @@ def confirm_refund(lang, order_id):
         return flask.render_template(
             "blog-error.html.j2",
             message=gettext("Article is not anymore refundable"),
-            lang=get_locale(),
         )
     return flask.render_template(
         "blog-confirm-refund.html.j2",
         article_name=article_name,
         order_id=order_id,
-        lang=get_locale(),
     )
 
 
@@ -300,7 +302,6 @@ def render_article(article_name, lang, data, order_id, 
refundable):
         article_contents=article_contents,
         article_name=article_name,
         order_id=order_id,
-        lang=lang,
         refundable=refundable,
     )
 
@@ -314,7 +315,7 @@ def render_article(article_name, lang, data, order_id, 
refundable):
 def post_order(article_name, lang):
     order = dict(
         amount=ARTICLE_AMOUNT,
-        extra=dict(article_name=article_name, lang=lang),
+        extra=dict(article_name=article_name),
         fulfillment_url=flask.request.base_url,
         summary="Essay: " + article_name.replace("_", " "),
         # FIXME: add support for i18n of summary!
@@ -400,7 +401,6 @@ def article(article_name, lang=None, data=None):
                 "blog-article-refunded.html.j2",
                 article_name=article_name,
                 order_id=order_id,
-                lang=lang,
             )
         response = render_article(
             article_name, lang, data, order_id, refundable(pay_status)
@@ -438,7 +438,6 @@ def handler_500(e):
     return flask.render_template(
         "blog-error.html.j2",
         message=gettext("Internal server error"),
-        lang=get_locale(),
     )
 
 
@@ -447,7 +446,6 @@ def handler_404(e):
     return flask.render_template(
         "blog-error.html.j2",
         message=gettext("Page not found"),
-        lang=get_locale(),
     )
 
 
@@ -455,7 +453,6 @@ def handler_404(e):
 def handler_backend_exception(e):
     t = flask.render_template(
         "survey-error.html.j2",
-        lang=get_locale(),
         message=e.args[0],
         json=e.backend_json,
         status_code=e.backend_status,
diff --git a/talermerchantdemos/donations/donations.py 
b/talermerchantdemos/donations/donations.py
index 19f1372..85ab9ec 100644
--- a/talermerchantdemos/donations/donations.py
+++ b/talermerchantdemos/donations/donations.py
@@ -99,7 +99,13 @@ def utility_processor():
     def env(name, default=None):
         return os.environ.get(name, default)
 
-    return dict(env=env)
+    def getactive():
+        return "donations"
+
+    def getlang():
+        return get_locale()
+
+    return dict(env=env, getlang=getlang, getactive=getactive)
 
 
 ##
@@ -108,7 +114,7 @@ def utility_processor():
 # @param abort_status_code status code to return along the response.
 # @param params _kw_ arguments to passed verbatim to the templating engine.
 def err_abort(abort_status_code, **params):
-    t = flask.render_template("donations-error.html.j2", lang=get_locale(), 
**params)
+    t = flask.render_template("donations-error.html.j2", **params)
     flask.abort(flask.make_response(t, abort_status_code))
 
 
@@ -160,7 +166,6 @@ def internal_error(e):
     return flask.render_template(
         "donations-error.html.j2",
         message=gettext("Internal error"),
-        lang=get_locale(),
         stack=traceback.format_exc(),
     )
 
@@ -197,7 +202,7 @@ def index():
 @app.route("/<lang>/")
 def start(lang):
     return flask.render_template(
-        "donations-index.html.j2", lang=lang, merchant_currency=CURRENCY
+        "donations-index.html.j2", merchant_currency=CURRENCY
     )
 
 
@@ -217,7 +222,6 @@ def checkout(lang):
         donation_amount=amount,
         donation_receiver=donation_receiver,
         donation_donor=donation_donor,
-        lang=lang,
         merchant_currency=CURRENCY,
     )
 
@@ -229,7 +233,7 @@ def checkout(lang):
 # @return response object about the mentioned impossibility.
 @app.route("/<lang>/provider-not-supported")
 def provider_not_supported(lang):
-    return flask.render_template("donations-provider-not-supported.html.j2", 
lang=lang)
+    return flask.render_template("donations-provider-not-supported.html.j2")
 
 
 ##
@@ -246,11 +250,10 @@ def donate(lang):
     donation_donor = expect_parameter("donation_donor")
     payment_system = expect_parameter("payment_system")
     if payment_system != "taler":
-        return flask.redirect(flask.url_for("provider_not_supported", 
lang=lang))
+        return flask.redirect(flask.url_for("provider_not_supported"))
     fulfillment_url = flask.url_for(
         "fulfillment",
         timestamp=str(time.time()),
-        lang=lang,
         receiver=donation_receiver,
         _external=True,
     )
@@ -270,7 +273,7 @@ def donate(lang):
     order_id = order_resp["order_id"]
     return flask.redirect(
         flask.url_for(
-            "fulfillment", receiver=donation_receiver, lang=lang, 
order_id=order_id
+            "fulfillment", receiver=donation_receiver, order_id=order_id
         )
     )
 
@@ -298,7 +301,6 @@ def fulfillment(lang, receiver):
             donation_amount=extra["amount"],
             donation_donor=extra["donor"],
             order_id=order_id,
-            lang=lang,
             currency=CURRENCY,
         )
     return flask.redirect(pay_status["order_status_url"])
@@ -307,5 +309,5 @@ def fulfillment(lang, receiver):
 @app.errorhandler(404)
 def handler(e):
     return flask.render_template(
-        "donations-error.html.j2", lang=get_locale(), message=gettext("Page 
not found")
+        "donations-error.html.j2", message=gettext("Page not found")
     )
diff --git a/talermerchantdemos/landing/landing.py 
b/talermerchantdemos/landing/landing.py
index 270e205..3c1f304 100644
--- a/talermerchantdemos/landing/landing.py
+++ b/talermerchantdemos/landing/landing.py
@@ -82,13 +82,19 @@ def get_locale():
         return lang
     return "en"
 
-
 ##
 # Make the environment available into templates.
 #
 # @return the environment-reading function.
 @app.context_processor
 def utility_processor():
+
+    def getactive():
+        return "landing"
+
+    def getlang():
+        return get_locale()
+
     def env(name, default=None):
         return os.environ.get(name, default)
 
@@ -101,7 +107,7 @@ def utility_processor():
         # returns the YYYY-MM-DD date format.
         return timestamp.strftime("%Y-%b-%d")
 
-    return dict(env=env, prettydate=prettydate)
+    return dict(env=env, prettydate=prettydate, getactive=getactive, 
getlang=getlang)
 
 
 ##
@@ -116,7 +122,6 @@ def internal_error(e):
         "landing-error.html.j2",
         message=gettext("Internal error"),
         stack=traceback.format_exc(),
-        lang=get_locale(),
     )
 
 
@@ -175,7 +180,6 @@ def start(lang):
     return flask.render_template(
         "landing-index.html.j2",
         merchant_currency=CURRENCY,
-        lang=lang,
         bank_url=bank_register_url,
         merchant_blog_url=merchant_blog_url,
         merchant_donations_url=merchant_donations_url,
@@ -186,7 +190,7 @@ def start(lang):
 @app.errorhandler(404)
 def handler_404(e):
     return flask.render_template(
-        "landing-error.html.j2", message=gettext("Page not found"), 
lang=get_locale()
+        "landing-error.html.j2", message=gettext("Page not found")
     )
 
 
@@ -195,5 +199,4 @@ def handler_405(e):
     return flask.render_template(
         "landing-error.html.j2",
         message=gettext("HTTP method not allowed for this page"),
-        lang=get_locale(),
     )
diff --git a/talermerchantdemos/survey/survey.py 
b/talermerchantdemos/survey/survey.py
index 4813477..1b06218 100644
--- a/talermerchantdemos/survey/survey.py
+++ b/talermerchantdemos/survey/survey.py
@@ -103,7 +103,13 @@ def utility_processor():
         # returns the YYYY-MM-DD date format.
         return timestamp.strftime("%Y-%b-%d")
 
-    return dict(env=env, prettydate=prettydate)
+    def getactive():
+        return "survey"
+
+    def getlang():
+        return get_locale()
+
+    return dict(env=env, prettydate=prettydate, getactive=getactive, 
getlang=getlang)
 
 
 ##
@@ -118,7 +124,6 @@ def internal_error(e):
         "survey-error.html.j2",
         message=gettext("Internal error"),
         stack=traceback.format_exc(),
-        lang=get_locale(),
     )
 
 
@@ -151,7 +156,9 @@ def submit_survey(lang):
         next_url=os.environ.get("TALER_ENV_URL_INTRO", "https://taler.net/";),
         justification="Payment methods survey",
     )
-    backend_resp = backend_post(INSTANCED_URL, "private/tips", tip_spec, 
auth_token=APIKEY)
+    backend_resp = backend_post(
+        INSTANCED_URL, "private/tips", tip_spec, auth_token=APIKEY
+    )
     return flask.redirect(backend_resp["tip_status_url"])
 
 
@@ -173,14 +180,16 @@ def index():
 @app.route("/<lang>/", methods=["GET"])
 def start(lang):
     return flask.render_template(
-        "survey-index.html.j2", merchant_currency=CURRENCY, lang=lang
+        "survey-index.html.j2",
+        merchant_currency=CURRENCY,
     )
 
 
 @app.errorhandler(404)
 def handler_404(e):
     return flask.render_template(
-        "survey-error.html.j2", message=gettext("Page not found"), 
lang=get_locale()
+        "survey-error.html.j2",
+        message=gettext("Page not found"),
     )
 
 
@@ -189,7 +198,6 @@ def handler_405(e):
     return flask.render_template(
         "survey-error.html.j2",
         message=gettext("HTTP method not allowed for this page"),
-        lang=get_locale(),
     )
 
 
@@ -197,7 +205,6 @@ def handler_405(e):
 def handler_backend_exception(e):
     t = flask.render_template(
         "survey-error.html.j2",
-        lang=get_locale(),
         message=e.args[0],
         json=e.backend_json,
         status_code=e.backend_status,
diff --git a/talermerchantdemos/templates/common-base.html.j2 
b/talermerchantdemos/templates/common-base.html.j2
index ff8d655..17e27c6 100644
--- a/talermerchantdemos/templates/common-base.html.j2
+++ b/talermerchantdemos/templates/common-base.html.j2
@@ -38,13 +38,43 @@
       {% endblock %}
     </div>
   </header>
-  {% from 'menu.html.j2' import menu with context %} {{ menu('landing') }}
+
+
+  <div style="display:flex; flex-direction: column;" class="navcontainer">
+  <nav class="demolist">
+    <a href="{{ env('TALER_ENV_URL_INTRO', '#') + getlang() + '/' }}"
+             {% if getactive() == 'landing' %} class="active" {% endif %}
+            >{{gettext("Introduction")}}</a>
+    <a href="{{ env('TALER_ENV_URL_BANK', '#') + getlang() + '/' }}"
+             {% if getactive() == 'bank' %} class="active" {% endif %}
+            >{{gettext("Bank")}}</a>
+    <a href="{{ env('TALER_ENV_URL_MERCHANT_BLOG', '#') + getlang() + '/' }}"
+             {% if getactive() == 'blog' %} class="active" {% endif %}
+            >{{gettext("Essay Shop")}}</a>
+    <a href="{{ env('TALER_ENV_URL_MERCHANT_DONATIONS', '#') + getlang() + '/' 
}}"
+             {% if getactive() == 'donations' %} class="active" {% endif %}
+            >{{gettext("Donations")}}</a>
+    <a href="{{ env('TALER_ENV_URL_MERCHANT_SURVEY', '#') + getlang() + '/' }}"
+             {% if getactive() == 'survey' %} class="active" {% endif %}
+            >{{gettext("Tipping/Survey")}}</a>
+    {% include 'language-switcher.html.j2' %}
+  </nav>
+  </div>
 
   <section id="main" class="content">
     {% block main %}
       This is the main content of the page.
     {% endblock %}
-    {% include 'footer.html.j2' %}
+    <hr />
+    <div>
+      <p>
+        {{
+          gettext('You can learn more about GNU Taler on our main <a 
href="{site}">website</a>.').format(site="https://taler.net/"; + getlang() + "/")
+        }}
+      </p>
+      <div style="flex-grow:1"></div>
+      <p>Copyright &copy; 2014&mdash;2020 Taler Systems SA</p>
+    </div>
   </section>
 </body>
 </html>
diff --git a/talermerchantdemos/templates/donations-checkout.html.j2 
b/talermerchantdemos/templates/donations-checkout.html.j2
index ec63d9f..677df85 100644
--- a/talermerchantdemos/templates/donations-checkout.html.j2
+++ b/talermerchantdemos/templates/donations-checkout.html.j2
@@ -19,7 +19,7 @@
   }}
   </p>
 
-  <form name="tform" action="{{ url_for('donate',lang=lang) }}" method="get">
+  <form name="tform" action="{{ url_for('donate',lang=getlang()) }}" 
method="get">
     <div id="opt-form" align="left"><br>
       <input type="hidden" name="donation_receiver" value="{{ 
donation_receiver }}">
       <input type="hidden" name="donation_amount" value="{{ donation_amount 
}}">
diff --git a/talermerchantdemos/templates/donations-index.html.j2 
b/talermerchantdemos/templates/donations-index.html.j2
index 25a6768..05e958e 100644
--- a/talermerchantdemos/templates/donations-index.html.j2
+++ b/talermerchantdemos/templates/donations-index.html.j2
@@ -17,7 +17,7 @@
   }}
   </p>
 
-  <form name="tform" action="{{ url_for('checkout',lang=lang) }}" method="GET" 
class="pure-form">
+  <form name="tform" action="{{ url_for('checkout',lang=getlang()) }}" 
method="GET" class="pure-form">
     <div class="participation" id="fake-shop">
       <select name="donation_receiver">
         <option value="GNUnet">GNUnet</option>
diff --git a/talermerchantdemos/templates/footer.html.j2 
b/talermerchantdemos/templates/footer.html.j2
deleted file mode 100644
index 7c585bc..0000000
--- a/talermerchantdemos/templates/footer.html.j2
+++ /dev/null
@@ -1,10 +0,0 @@
-<hr />
-<div>
-  <p>
-    {{
-       gettext('You can learn more about GNU Taler on our main <a 
href="{site}">website</a>.').format(site="https://taler.net/"; + lang + "/")
-    }}
-  </p>
-  <div style="flex-grow:1"></div>
-  <p>Copyright &copy; 2014&mdash;2020 Taler Systems SA</p>
-</div>
diff --git a/talermerchantdemos/templates/language-switcher.html.j2 
b/talermerchantdemos/templates/language-switcher.html.j2
index dbf2d31..66c5405 100644
--- a/talermerchantdemos/templates/language-switcher.html.j2
+++ b/talermerchantdemos/templates/language-switcher.html.j2
@@ -1,50 +1,50 @@
  <span class="right">
-  {{ {"en": "English [en]", "ar": "Arabic [ar]", "zh_Hant": "Chinese [zh]", 
"fr": "French [fr]", "de": "German [de]", "hi": "Hindi [hi]", "it": "Italian 
[it]", "ja": "Japanese [ja]", "ko": "Korean [ko]", "pt": "Portuguese [pt]", 
"pt_BR": "Portuguese (Brazil) [pt_BR]", "ru": "Russian [ru]", "es": "Spanish 
[es]", "sv": "Swedish [sv]", "tr": "Turkish [tr]"}[lang] | default("en") }}
+  {{ {"en": "English [en]", "ar": "Arabic [ar]", "zh_Hant": "Chinese [zh]", 
"fr": "French [fr]", "de": "German [de]", "hi": "Hindi [hi]", "it": "Italian 
[it]", "ja": "Japanese [ja]", "ko": "Korean [ko]", "pt": "Portuguese [pt]", 
"pt_BR": "Portuguese (Brazil) [pt_BR]", "ru": "Russian [ru]", "es": "Spanish 
[es]", "sv": "Swedish [sv]", "tr": "Turkish [tr]"}[getlang()] | default("en") }}
   <div class="nav">
   <br>
-    {% if lang != 'en' %}
+    {% if getlang() != 'en' %}
       <a href="/en/" class="navbtn">English [en]</a><br>
     {% endif %}
-    {% if lang != 'ar' %}
+    {% if getlang() != 'ar' %}
       <a href="/ar/" class="navbtn">Arabic [ar]</a><br>
     {% endif %}
-    {% if lang != 'zh_Hant' %}
+    {% if getlang() != 'zh_Hant' %}
       <a href="/zh_Hant/" class="navbtn">Chinese [zh]</a><br>
     {% endif %}
-    {% if lang != 'fr' %}
+    {% if getlang() != 'fr' %}
       <a href="/fr/" class="navbtn">Fran&ccedil;ais [fr]</a><br>
     {% endif %}
-    {% if lang != 'de' %}
+    {% if getlang() != 'de' %}
       <a href="/de/" class="navbtn">Deutsch [de]</a><br>
     {% endif %}
-    {% if lang != 'hi' %}
+    {% if getlang() != 'hi' %}
       <a href="/hi/" class="navbtn">Hindi [hi]</a><br>
     {% endif %}
-    {% if lang != 'it' %}
+    {% if getlang() != 'it' %}
       <a href="/it/" class="navbtn">Italiano [it]</a><br>
     {% endif %}
-    {% if lang != 'ja' %}
+    {% if getlang() != 'ja' %}
       <a href="/ja/" class="navbtn">Japanese [ja]</a><br>
     {% endif %}
-    {% if lang != 'ko' %}
+    {% if getlang() != 'ko' %}
       <a href="/ko/" class="navbtn">Korean [ko]</a><br>
     {% endif %}
-    {% if lang != 'pt' %}
+    {% if getlang() != 'pt' %}
       <a href="/pt/" class="navbtn">Português [pt]</a><br>
     {% endif %}
-    {% if lang != 'pt_BR' %}
+    {% if getlang() != 'pt_BR' %}
       <a href="/pt_BR/" class="navbtn">Português (Brazil) [pt_BR]</a><br>
     {% endif %}
-    {% if lang != 'ru' %}
+    {% if getlang() != 'ru' %}
       <a href="/ru/" class="navbtn">Russian [pt]</a><br>
     {% endif %}
-    {% if lang != 'es' %}
+    {% if getlang() != 'es' %}
       <a href="/es/" class="navbtn">Espa&ntilde;ol [es]</a><br>
     {% endif %}
-    {% if lang != 'sv' %}
+    {% if getlang() != 'sv' %}
       <a href="/sv/" class="navbtn">Svenska [sv]</a><br>
     {% endif %}
-    {% if lang != 'tr' %}
+    {% if getlang() != 'tr' %}
       <a href="/tr/" class="navbtn">Turkish [tr]</a><br>
     {% endif %}
    
diff --git a/talermerchantdemos/templates/menu.html.j2 
b/talermerchantdemos/templates/menu.html.j2
deleted file mode 100644
index 937030d..0000000
--- a/talermerchantdemos/templates/menu.html.j2
+++ /dev/null
@@ -1,22 +0,0 @@
-{% macro menu(active) -%}
-<div style="display:flex; flex-direction: column;" class="navcontainer">
-  <nav class="demolist">
-    <a href="{{ env('TALER_ENV_URL_INTRO', '#') + lang + '/' }}"
-             {% if active == 'landing' %} class="active" {% endif %}
-            >{{gettext("Introduction")}}</a>
-    <a href="{{ env('TALER_ENV_URL_BANK', '#') + lang + '/' }}"
-             {% if active == 'bank' %} class="active" {% endif %}
-            >{{gettext("Bank")}}</a>
-    <a href="{{ env('TALER_ENV_URL_MERCHANT_BLOG', '#') + lang + '/' }}"
-             {% if active == 'blog' %} class="active" {% endif %}
-            >{{gettext("Essay Shop")}}</a>
-    <a href="{{ env('TALER_ENV_URL_MERCHANT_DONATIONS', '#') + lang + '/' }}"
-             {% if active == 'donations' %} class="active" {% endif %}
-            >{{gettext("Donations")}}</a>
-    <a href="{{ env('TALER_ENV_URL_MERCHANT_SURVEY', '#') + lang + '/' }}"
-             {% if active == 'survey' %} class="active" {% endif %}
-            >{{gettext("Tipping/Survey")}}</a>
-    {% include 'language-switcher.html.j2' %}
-  </nav>
-</div>
-{%- endmacro %}
diff --git a/talermerchantdemos/templates/survey-index.html.j2 
b/talermerchantdemos/templates/survey-index.html.j2
index e7d323b..d860573 100644
--- a/talermerchantdemos/templates/survey-index.html.j2
+++ b/talermerchantdemos/templates/survey-index.html.j2
@@ -8,7 +8,7 @@
     </p>
   </div>
   <div>
-    <form action="{{ "/" +  lang + "/submit-survey" }}" method="post" 
class="pure-form pure-form-stacked">
+    <form action="{{ "/" + getlang() + "/submit-survey" }}" method="post" 
class="pure-form pure-form-stacked">
       <legend>{{ gettext("Which payment system do you prefer?") }}</legend>
       <fieldset>
       <label for="option-taler">

-- 
To stop receiving notification emails like this one, please contact
gnunet@gnunet.org.



reply via email to

[Prev in Thread] Current Thread [Next in Thread]