Changeset - 568ea5d76267
[Not reviewed]
default
0 2 0
Dennis Fink - 3 years ago 2022-02-25 22:30:39
dennis.fink@c3l.lu
Rename digicash option
2 files changed with 4 insertions and 4 deletions:
0 comments (0 inline, 0 general)
c3l_membership/templates/member.html
Show inline comments
 
@@ -62,67 +62,67 @@
 
      <div>
 
        <div>{% trans %}Student:{% endtrans %}</div>
 
        <div>{{ _("Yes") if form.student.data else _("No") }}</div>
 
      </div>
 
      <div>
 
        <div>{% trans %}Starving:{% endtrans %}</div>
 
        <div>{{ _("Yes") if form.starving.data else _("No") }}</div>
 
      </div>
 
      <div>
 
        <div>{% trans %}Payment:{% endtrans %}</div>
 
        <div>{{ form.payment.data.lower() }}</div>
 
      </div>
 
      <div>
 
        <div>{% trans %}Agreed to Terms &amp; Conditions:{% endtrans %}</div>
 
        <div>{{ _("Yes") if form.terms.data else _("No") }}</div>
 
      </div>
 
      <div>
 
        <div>{% trans %}Minor Member:{% endtrans %}</div>
 
        <div>{{ _("Yes") if form.minor_member.data else _("No") }}</div>
 
      </div>
 
    </div>
 
    <p>{% trans %}Send this document to the Chaos Computer Club Lëtzebuerg!{% endtrans %}</p>
 
    {% if form.payment.data == 'wire transfer' %}
 
      <ul class="bank">
 
        <li>{% trans %}Account Holder:{% endtrans %} Chaos Computer Club Lëtzebuerg</li>
 
        <li>BIC/Swift: BCEELULLXXX</li>
 
        <li>IBAN: LU29 0019 2855 3890 4000</li>
 
        <li>{% trans %}Message:{% endtrans %} Membership fee {{ year }} {{ form.username.data }}</li>
 
        <li>{% trans %}Amount: {{ price }}€{% endtrans %}</li>
 
      </ul>
 
    {% elif form.payment.data == 'cash' %}
 
      <p>{% trans %}Please bring {{ price }}€ with you the next time you meet us!{% endtrans %}</p>
 
    {% elif form.payment.data in config["CRYPTOCURRENCIES"] %}
 
      <div class="cryptocontainer">
 
        <div>
 
          <ul class="cryptotext">
 
            <li><b>{% trans %}Address:{% endtrans %}</b> {{ config["CRYPTOCURRENCIES"][form.payment.data]["ADDRESS"] }}</li>
 
            <li><b>{% trans %}Label:{% endtrans %}</b> Membership Fee</li>
 
            <li><b>{% trans %}Message:{% endtrans %}</b> {{ year }} {{ form.username.data }}</li>
 
            <li><b>{% trans %}Amount:{% endtrans %}</b> {{ price }} {{ config["CRYPTOCURRENCIES"][form.payment.data]["COMMODITY"] }}</li>
 
          </ul>
 
        </div>
 
        {% set address = config["CRYPTOCURRENCIES"][form.payment.data]["ADDRESS"] %}
 
        {% set crypto_url=config["CRYPTOCURRENCIES"][form.payment.data]["URL"].format(address=address, amount=price, year=year, username=form.username.data) %}
 
        <div><img class="cryptoqrcode" src="{{ qrcode(crypto_url) }}" /></div>
 
      </div>
 
    {% elif form.payment.data == 'digicash' %}
 
      <div class="digicash">
 
        {% set payoniq_url='https://payconiq.com/t/1/62068d4d71445b0006dfbd5d?A={amount}&R=Membership&D={username}'.format(amount=price, username=form.username.data)}
 
        <div><p>{% trans %}Pay with digicash!{% endtrans %}</p></div>
 
        <div><img src="{{ qrcode(payconiq_url) }}" /></div>
 
        {% set payconiq_url='https://payconiq.com/t/1/62068d4d71445b0006dfbd5d?A={amount}&R=Membership&D={username}'.format(amount=price, username=form.username.data) %}
 
        <div><p>{% trans %}Pay with DigiCash/Payconiq!{% endtrans %}</p></div>
 
        <div><img class="cryptoqrcode" src="{{ qrcode(payconiq_url) }}" /></div>
 
      </div>
 
    {% endif %}
 
    <div class="signature">
 
      <p class="membersignature">{% trans %}Luxembourg, the{% endtrans %}</p>
 
      <p class="adminsignature">
 
        {{ _("Signature of your legal representative") if form.minor_member.data else _("Your signature") }}
 
      </p>
 
    </div>
 
    <footer>
 
      <hr />
 
      <b>C</b>haos <b>C</b>omputer <b>C</b>lub <b>L</b>ëtzebuerg A.S.B.L.<br />
 
      Halle Victor Hugo - 60 Avenue Victor Hugo L-1750 Luxembourg (Europe)<br />
 
      info@c3l.lu - <a href="https://c3l.lu">http://c3l.lu</a>
 
    </footer>
 
  </body>
 
</html>
c3l_membership/views.py
Show inline comments
 
import re
 
import subprocess
 
from datetime import date
 

	
 
import requests
 
from flask import Blueprint, current_app, g, render_template, request
 
from flask_babel import gettext
 
from flask_weasyprint import HTML, render_pdf
 

	
 
from .forms import MembershipForm
 

	
 
root_page = Blueprint("root", __name__, url_prefix="/<lang_code>")
 

	
 
xml_template = "<member><numm>{name}</numm><gebuertsdag>{birthday:%d.%m.%Y}</gebuertsdag><address>{address}</address><nick>{username}</nick><email>{email}</email><status>{status}</status><stemmrecht>{voting}</stemmrecht></member>"
 

	
 

	
 
@root_page.url_defaults
 
def add_lang_code(endpoint, values):
 
    values.setdefault("lang_code", g.lang_code)
 

	
 

	
 
@root_page.url_value_preprocessor
 
def pull_lang_code(endpoint, values):
 
    lang_code = values.pop("lang_code")
 
    if lang_code != "favicon.ico":
 
        g.lang_code = lang_code
 

	
 

	
 
@root_page.route("/", methods=("GET", "POST"))
 
def index():
 
    form = MembershipForm()
 

	
 
    choices = [
 
        ("cash", gettext("by cash")),
 
        ("wire transfer", gettext("by wire transfer")),
 
    ]
 

	
 
    if current_app.config["DIGICASH_ENABLED"]:
 
        choices.append(("digicash", gettext("by DigiCash")))
 
        choices.append(("digicash", gettext("by DigiCash/Payconiq")))
 

	
 
    choices.extend(
 
        (cryptocurrency_label, " ".join((gettext("by"), cryptocurrency_label.title())))
 
        for cryptocurrency_label, options in current_app.config[
 
            "CRYPTOCURRENCIES"
 
        ].items()
 
        if options["ENABLED"]
 
    )
 

	
 
    form.payment.choices = choices
 

	
 
    if form.validate_on_submit():
 

	
 
        if (
 
            form.minor_member.data
 
            or form.student.data
 
            or form.membership.data == "supporting"
 
        ):
 
            price = current_app.config["SUPPORTING_FEE"]
 
        elif form.starving.data:
 
            price = 1
 
        else:
 
            price = current_app.config["REGULAR_FEE"]
 

	
 
        if form.starving.data:
 
            status = "Starving"
 
        elif form.minor_member.data or form.student.data:
 
            status = "Student"
 
        elif form.membership.data == "supporting":
 
            status = "Supporter"
 
        else:
 
            status = "Regular"
 

	
 
        if form.payment.data in current_app.config["CRYPTOCURRENCIES"]:
 
            try:
 
                current_conversion_r = requests.get(
 
                    current_app.config["CONVERSION_URL"], timeout=30
 
                )
 
                current_conversion_r.raise_for_status()
 
            except:
 
                return render_template("index.html", form=form, crypto_error=True), 503
 
            else:
 
                current_conversion = current_conversion_r.json()
 
                commodity = current_app.config["CRYPTOCURRENCIES"][form.payment.data][
 
                    "COMMODITY"
 
                ]
 
                price = current_conversion[commodity][status.upper()]
 
        elif form.payment.data == "digicash":
0 comments (0 inline, 0 general)