Changeset - 805cb46ada9a
[Not reviewed]
i18n
0 4 0
Dennis Fink - 3 years ago 2022-01-16 22:16:36
dennis.fink@c3l.lu
Mark translatable strings
4 files changed with 237 insertions and 212 deletions:
0 comments (0 inline, 0 general)
c3l_membership/forms.py
Show inline comments
 
from datetime import date
 

	
 
from flask_babel import lazy_gettext
 
from flask_wtf import FlaskForm
 
from wtforms import BooleanField, DateField, RadioField, StringField, SubmitField
 
from wtforms.validators import Email, InputRequired, Length, Optional
 
@@ -8,84 +9,96 @@ from wtforms.validators import Email, In
 
class MembershipForm(FlaskForm):
 

	
 
    username = StringField(
 
        "Username",
 
        validators=[InputRequired("This field is required!"), Length(max=255)],
 
        lazy_gettext("Username"),
 
        validators=[
 
            InputRequired(lazy_gettext("This field is required!")),
 
            Length(max=255),
 
        ],
 
    )
 
    email = StringField(
 
        "E-Mail", validators=[InputRequired("This field is required!"), Email()]
 
        lazy_gettext("E-Mail"),
 
        validators=[InputRequired(lazy_gettext("This field is required!")), Email()],
 
    )
 
    fullname = StringField(
 
        "Full Name",
 
        validators=[InputRequired("This field is required!"), Length(max=65536)],
 
        lazy_gettext("Full Name"),
 
        validators=[
 
            InputRequired(lazy_gettext("This field is required!")),
 
            Length(max=65536),
 
        ],
 
    )
 

	
 
    membership = RadioField(
 
        "Membership Plan",
 
        validators=[InputRequired("Please select one of the options!")],
 
        lazy_gettext("Membership Plan"),
 
        validators=[InputRequired(lazy_gettext("Please select one of the options!"))],
 
        choices=[
 
            (
 
                "regular",
 
                "Regular membership - Membership with voting rights on the general assembly.",
 
                lazy_gettext(
 
                    "Regular membership - Membership with voting rights on the general assembly."
 
                ),
 
            ),
 
            (
 
                "supporting",
 
                "Supporting membership - Membership without voting rights on the general assembly.",
 
                lazy_gettext(
 
                    "Supporting membership - Membership without voting rights on the general assembly."
 
                ),
 
            ),
 
        ],
 
    )
 

	
 
    student = BooleanField(
 
        ("I am a student and would like to have the reduced membership fees."),
 
        lazy_gettext(
 
            "I am a student and would like to have the reduced membership fees."
 
        ),
 
    )
 

	
 
    starving = BooleanField(
 
        (
 
        lazy_gettext(
 
            "I am a starving hacker and cannot afford the membership! (Please get in touch with us at info@c3l.lu before filling out this membership form)"
 
        )
 
    )
 

	
 
    payment = RadioField(
 
        "Payment Options",
 
        validators=[InputRequired("Please select one of the options!")],
 
        lazy_gettext("Payment Options"),
 
        validators=[InputRequired(lazy_gettext("Please select one of the options!"))],
 
    )
 

	
 
    birthday = DateField("Birthday")
 
    birthday = DateField(lazy_gettext("Birthday"))
 

	
 
    street = StringField(
 
        "Nr., Street",
 
        lazy_gettext("Nr., Street"),
 
        validators=[Length(max=4000)],
 
    )
 
    zip = StringField(
 
        "Postal Code",
 
        lazy_gettext("Postal Code"),
 
        validators=[Length(max=30)],
 
    )
 

	
 
    city = StringField(
 
        "City/Town",
 
        lazy_gettext("City/Town"),
 
        validators=[Length(max=500)],
 
    )
 

	
 
    state = StringField(
 
        "State/County/Province",
 
        lazy_gettext("State/County/Province"),
 
        validators=[Length(max=500)],
 
    )
 

	
 
    country = StringField(
 
        "Country",
 
        lazy_gettext("Country"),
 
        validators=[Length(max=500)],
 
    )
 

	
 
    terms = BooleanField(
 
        (
 
            "By submitting this membership application, you agree to have read and understood "
 
            'the <a href="http://statutes.c3l.lu">statutes of the Chaos Computer Club Lëtzebuerg A.S.B.L.</a>'
 
        lazy_gettext(
 
            'By submitting this membership application, you agree to have read and understood the <a href="http://statutes.c3l.lu">statutes of the Chaos Computer Club Lëtzebuerg A.S.B.L.</a>'
 
        ),
 
        validators=[InputRequired()],
 
    )
 

	
 
    minor_member = BooleanField(
 
        (
 
        lazy_gettext(
 
            "I am under 18 years of age and have the approval of my legal representative."
 
        ),
 
        )
 
    )
 
    submit = SubmitField("Become a member")
 
    submit = SubmitField(lazy_gettext("Become a member"))
c3l_membership/templates/index.html
Show inline comments
 
@@ -3,7 +3,7 @@
 
  <head>
 
    <meta charset="utf-8" />
 
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
 
    <title>C3L Membership Application</title>
 
    <title>{% trans %}C3L Membership Application{% endtrans %}</title>
 

	
 
    <link rel="stylesheet" href="{{ url_for('static', filename='pure-min.css') }}" />
 
    <link rel="stylesheet" href="{{ url_for('static', filename='grids-responsive-min.css') }}" />
 
@@ -15,12 +15,14 @@
 
      <div class="pure-u-md-1-3"></div>
 
      <div class="pure-u-1-1 pure-u-md-1-3">
 
        <img src="{{ url_for('static', filename='images/logo.png') }}" class="pure-img" />
 
        <h1>Membership Application</h1>
 
        <h2>How to use this form</h2>
 
        <h1>{% trans %}Membership Application{% endtrans %}</h1>
 
        <h2>{% trans %}How to use this form{% endtrans %}</h2>
 
        <p>
 
          Fill out this form and click on "Become a member". Afterwards you will be presented with a PDF, which you have
 
          to send to info@c3l.lu or bring it to one of our next events. Print it or save it to your local hardware,
 
          because we don't save a copy on our servers for data protection reasons!
 
          {% trans %}
 
            Fill out this form and click on "Become a member". Afterwards you will be presented with a PDF, which you have
 
            to send to info@c3l.lu or bring it to one of our next events. Print it or save it to your local hardware,
 
            because we don't save a copy on our servers for data protection reasons!
 
          {% endtrans %}
 
        </p>
 
        {% if form.errors %}
 
          {% for fieldname, errors in form.errors.items() %}
 
@@ -32,7 +34,7 @@
 
        <form class="pure-form pure-form-stacked" method="POST" action="/">
 
          <fieldset>
 
            {{ form.hidden_tag() }}
 
            <legend>Required information</legend>
 
            <legend>{% trans %}Required information{% endtrans %}</legend>
 
            <div class="pure-g">
 
              <div class="pure-u-1-1">
 
                <b>{{ form.username.label }}</b>
 
@@ -73,101 +75,107 @@
 
                    </label>
 
                  </div>
 
                </div>
 
                <h3>What's difference between the different membership options?</h3>
 
                <p>All the options include to following benefits:</p>
 
                <h3>{% trans %}What's difference between the different membership options?{% endtrans %}</h3>
 
                <p>{% trans %}All the options include to following benefits:{% endtrans %}</p>
 
                <ul>
 
                  <li>
 
                    Access to the
 
                    <a href="https://wiki.c3l.lu/doku.php?id=organization:membership#benefits">services</a>
 
                    run by us
 
                    {% trans %}
 
                      Access to the <a href="https://wiki.c3l.lu/doku.php?id=organization:membership#benefits">services</a> run by us
 
                    {% endtrans %}
 
                  </li>
 
                  <li>
 
                    Access to our
 
                    <a href="https://wiki.c3l.lu/doku.php?id=chaosstuff:bootstrap">hackerspace: ChaosStuff</a>
 
                    {% trans %}
 
                      Access to our <a href="https://wiki.c3l.lu/doku.php?id=chaosstuff:bootstrap">hackerspace: ChaosStuff</a>
 
                    {% endtrans %}
 
                  </li>
 
                </ul>
 
                <p>Becoming a regular member gives you these additional benefits:</p>
 
                <ul>
 
                  <li>Voting rights on general assemblys</li>
 
                  <li>Access to our internal mailinglist</li>
 
                </ul>
 
                <p>
 
                  You can read more on the membership
 
                  <a href="https://wiki.c3l.lu/doku.php?id=organization:membership">here</a>.
 
                </p>
 
                <h3>What are the membership fees?</h3>
 
                <p>
 
                  The membership fee for the regular membership is {{ config["REGULAR_FEE"] }}€ per year. The membership
 
                  fee for the supporting membership is {{ config["SUPPORTING_FEE"] }}€ per year. If you are a student,
 
                  all membership fees are {{ config["SUPPORTING_FEE"] }}€ per year. For that please select the
 
                  corresponding option.
 
                </p>
 
                <h3>I cannot afford the membership?</h3>
 
                <p>
 
                  If you cannot afford the membership, please contact us via info@c3l.lu first, before filling out the
 
                  membership form. We will try to find a solution together.
 
                </p>
 
              </div>
 
            </div>
 
            <div class="pure-g">
 
              <div class="pure-u-1-1">
 
                <b>{{ form.payment.label }}</b>
 
                {% for option in form.payment %}
 
                  <label for="{{ option.id }}" class="pure-radio pure-u-1-1">
 
                    {{ option() }} {{ option.label.text }}
 
                  </label>
 
                {% endfor %}
 
              </div>
 
            </div>
 
            <legend>Additional information</legend>
 
            <div class="pure-g">
 
              <div class="pure-u-1-1">
 
                <b>{{ form.birthday.label }}</b>
 
                {{ form.birthday(class="pure-u-1-1") }}
 
              </div>
 
            </div>
 
            <div class="pure-g">
 
              <div class="pure-u-1-1">
 
                <b>{{ form.street.label }}</b>
 
                {{ form.street(class="pure-u-1-1") }}
 
              </div>
 
            </div>
 
            <div class="pure-g">
 
              <div class="pure-u-1-1">
 
                <b>{{ form.zip.label }}</b>
 
                {{ form.zip(class="pure-u-1-1") }}
 
              </div>
 
            </div>
 
            <div class="pure-g">
 
              <div class="pure-u-1-1">
 
                <b>{{ form.city.label }}</b>
 
                {{ form.city(class="pure-u-1-1") }}
 
              </div>
 
            </div>
 
            <div class="pure-g">
 
              <div class="pure-u-1-1">
 
                <b>{{ form.state.label }}</b>
 
                {{ form.state(class="pure-u-1-1") }}
 
              </div>
 
            </div>
 
            <div class="pure-g">
 
              <div class="pure-u-1-1">
 
                <b>{{ form.country.label }}</b>
 
                {{ form.country(class="pure-u-1-1") }}
 
              </div>
 
            </div>
 
            <legend></legend>
 
            <label for="{{ form.minor_member.id }}" class="pure-checkbox">
 
              {{ form.minor_member }} {{ form.minor_member.label.text|safe}}
 
            </label>
 
            <label for="{{ form.terms.id }}" class="pure-checkbox">
 
              {{ form.terms }} {{ form.terms.label.text|safe }}
 
            </label>
 
            <div class="pure-controls">{{ form.submit }}</div>
 
          </fieldset>
 
        </form>
 
      </div>
 
      <div class="pure-u-md-1-3"></div>
 
    </div>
 
  </body>
 
</html>
 
                <p>{% trans %}Becoming a regular member gives you these additional benefits:{% endtrans%}<p>
 
                  <ul>
 
                    <li>{% trans %}Voting rights on general assemblys{% endtrans %}</li>
 
                    <li>{% trans %}Access to our internal mailinglist{% endtrans %}</li>
 
                  </ul>
 
                  <p>
 
                    {% trans %}
 
                      You can read more on the membership <a href="https://wiki.c3l.lu/doku.php?id=organization:membership">here</a>.
 
                    {% endtrans %}
 
                  </p>
 
                  <h3>{% trans %}What are the membership fees?{% endtrans %}</h3>
 
                  <p>
 
                    {% trans regular_fee=config["REGULAR_FEE"], supporting_fee=config["SUPPORTING_FEE"] %}
 
                      The membership fee for the regular membership is {{ regular_fee }}€ per year. The membership
 
                      fee for the supporting membership is {{ supporting_fee }}€ per year. If you are a student,
 
                      all membership fees are {{ supporting_fee }}€ per year. For that please select the
 
                      corresponding option.
 
                    {% endtrans %}
 
                  </p>
 
                  <h3>{% trans %}I cannot afford the membership?{% endtrans %}</h3>
 
                  <p>
 
                    {% trans %}
 
                      If you cannot afford the membership, please contact us via info@c3l.lu first, before filling out the
 
                      membership form. We will try to find a solution together.
 
                    {% endtrans %}
 
                  </p>
 
                </div>
 
                </div>
 
                <div class="pure-g">
 
                  <div class="pure-u-1-1">
 
                    <b>{{ form.payment.label }}</b>
 
                    {% for option in form.payment %}
 
                      <label for="{{ option.id }}" class="pure-radio pure-u-1-1">
 
                        {{ option() }} {{ option.label.text }}
 
                      </label>
 
                    {% endfor %}
 
                  </div>
 
                </div>
 
                <legend>{% trans %}Additional information{% endtrans %}</legend>
 
                <div class="pure-g">
 
                  <div class="pure-u-1-1">
 
                    <b>{{ form.birthday.label }}</b>
 
                    {{ form.birthday(class="pure-u-1-1") }}
 
                  </div>
 
                </div>
 
                <div class="pure-g">
 
                  <div class="pure-u-1-1">
 
                    <b>{{ form.street.label }}</b>
 
                    {{ form.street(class="pure-u-1-1") }}
 
                  </div>
 
                </div>
 
                <div class="pure-g">
 
                  <div class="pure-u-1-1">
 
                    <b>{{ form.zip.label }}</b>
 
                    {{ form.zip(class="pure-u-1-1") }}
 
                  </div>
 
                </div>
 
                <div class="pure-g">
 
                  <div class="pure-u-1-1">
 
                    <b>{{ form.city.label }}</b>
 
                    {{ form.city(class="pure-u-1-1") }}
 
                  </div>
 
                </div>
 
                <div class="pure-g">
 
                  <div class="pure-u-1-1">
 
                    <b>{{ form.state.label }}</b>
 
                    {{ form.state(class="pure-u-1-1") }}
 
                  </div>
 
                </div>
 
                <div class="pure-g">
 
                  <div class="pure-u-1-1">
 
                    <b>{{ form.country.label }}</b>
 
                    {{ form.country(class="pure-u-1-1") }}
 
                  </div>
 
                </div>
 
                <legend></legend>
 
                <label for="{{ form.minor_member.id }}" class="pure-checkbox">
 
                  {{ form.minor_member }} {{ form.minor_member.label.text|safe}}
 
                </label>
 
                <label for="{{ form.terms.id }}" class="pure-checkbox">
 
                  {{ form.terms }} {{ form.terms.label.text|safe }}
 
                </label>
 
                <div class="pure-controls">{{ form.submit }}</div>
 
              </fieldset>
 
            </form>
 
          </div>
 
          <div class="pure-u-md-1-3"></div>
 
        </div>
 
      </body>
 
    </html>
c3l_membership/templates/member.html
Show inline comments
 
<!DOCTYPE html>
 
<html>
 
  <head>
 
    <title>Membership Application - {{ form.username.data }}</title>
 
    <title>{% trans username=form.username.data %}Membership Application - {{ username }}{% endtrans %}</title>
 
    <link rel="stylesheet" href="{{ url_for('static', filename='pdf.css') }}" />
 
  </head>
 
  <body>
 
@@ -13,88 +13,88 @@
 
        <img src="{{ qrcode(xml|safe, border=1) }}" />
 
      </div>
 
    </div>
 
    <h1>Membership Application</h1>
 
    <h1>{% trans %}Membership Application{% endtrans %}</h1>
 
    <div class="data">
 
      <div>
 
        <div>Username:</div>
 
        <div>{% trans %}Username:{% endtrans %}</div>
 
        <div>{{ form.username.data }}</div>
 
      </div>
 
      <div>
 
        <div>E-Mail:</div>
 
        <div>{% trans %}E-Mail:{% endtrans %}</div>
 
        <div>{{ form.email.data }}</div>
 
      </div>
 
      <div>
 
        <div>Full Name:</div>
 
        <div>{% trans %}Full Name:{% endtrans %}</div>
 
        <div>{{ form.fullname.data }}</div>
 
      </div>
 
      <div>
 
        <div>Birthday:</div>
 
        <div>{% trans %}Birthday:{% endtrans %}</div>
 
        <div>{{ form.birthday.data }}</div>
 
      </div>
 
      <div>
 
        <div>Street:</div>
 
        <div>{{ form.street.data if form.street.data else "<i>Not specified</i>"|safe }}</div>
 
        <div>{% trans %}Street:{% endtrans %}</div>
 
        <div>{{ form.street.data if form.street.data else ("<i>" + _("Not specified") + "</i>")|safe }}</div>
 
      </div>
 
      <div>
 
        <div>ZIP-Code:</div>
 
        <div>{{ form.zip.data if form.zip.data else "<i>Not specified</i>"|safe }}</div>
 
        <div>{% trans %}ZIP-Code:{% endtrans %}</div>
 
        <div>{{ form.zip.data if form.zip.data else ("<i>" + _("Not specified") + "</i>")|safe }}</div>
 
      </div>
 
      <div>
 
        <div>City:</div>
 
        <div>{{ form.city.data if form.city.data else "<i>Not specified</i>"|safe }}</div>
 
        <div>{% trans %}City:{% endtrans %}</div>
 
        <div>{{ form.city.data if form.city.data else ("<i>" + _("Not specified") + "</i>")|safe }}</div>
 
      </div>
 
      <div>
 
        <div>State/County/Province:</div>
 
        <div>{{ form.state.data if form.state.data else "<i>Not specified</i>"|safe }}</div>
 
        <div>{% trans %}State/County/Province:{% endtrans %}</div>
 
        <div>{{ form.state.data if form.state.data else ("<i>" + _("Not specified") + "</i>")|safe }}</div>
 
      </div>
 
      <div>
 
        <div>Country:</div>
 
        <div>{{ form.country.data if form.country.data else "<i>Not specified</i>"|safe }}</div>
 
        <div>{% trans %}Country:{% endtrans %}</div>
 
        <div>{{ form.country.data if form.country.data else ("<i>" + _("Not specified") + "</i>")|safe }}</div>
 
      </div>
 
      <div>
 
        <div>Membership Plan:</div>
 
        <div>{% trans %}Membership Plan:{% endtrans%}</div>
 
        <div>{{ form.membership.data }}</div>
 
      </div>
 
      <div>
 
        <div>Student:</div>
 
        <div>{{ "Yes" if form.student.data else "No" }}</div>
 
        <div>{% trans %}Student:{% endtrans %}</div>
 
        <div>{{ _("Yes") if form.student.data else _("No") }}</div>
 
      </div>
 
      <div>
 
        <div>Starving:</div>
 
        <div>{{ "Yes" if form.starving.data else "No" }}</div>
 
        <div>{% trans %}Starving:{% endtrans %}</div>
 
        <div>{{ _("Yes") if form.starving.data else _("No") }}</div>
 
      </div>
 
      <div>
 
        <div>Payment:</div>
 
        <div>{% trans %}Payment:{% endtrans %}</div>
 
        <div>{{ form.payment.data }}</div>
 
      </div>
 
      <div>
 
        <div>Agreed to Terms &amp; Conditions:</div>
 
        <div>{{ "Yes" if form.terms.data else "No" }}</div>
 
        <div>{% trans %}Agreed to Terms &amp; Conditions:{% endtrans %}</div>
 
        <div>{{ _("Yes") if form.terms.data else _("No") }}</div>
 
      </div>
 
      <div>
 
        <div>Minor Member:</div>
 
        <div>{{ "Yes" if form.minor_member.data else "No" }}</div>
 
        <div>{% trans %}Minor Member:{% endtrans %}</div>
 
        <div>{{ _("Yes") if form.minor_member.data else _("No") }}</div>
 
      </div>
 
    </div>
 
    <p>Send this document to the Chaos Computer Club Lëtzebuerg!</p>
 
    <p>{% trans %}Send this document to the Chaos Computer Club Lëtzebuerg!{% endtrans %}</p>
 
    {% if form.payment.data == 'wire transfer' %}
 
      <ul class="bank">
 
        <li>Account Holder: Chaos Computer Club Lëtzebuerg</li>
 
        <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>Message: Membership fee {{ year }} {{ form.username.data }}</li>
 
        <li>Amount: {{ price }}€</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>Please bring {{ price }}€ with you the next time you meet us!</p>
 
      <p>{% trans %}Please bring {{ price }}€ with you the next time you meet us!{% endtrans %}</p>
 
    {% elif form.payment.data == 'bitcoin' %}
 
      <div class="btccontainer">
 
        <div>
 
          <ul class="btctext">
 
            <li><b>Address:</b> {{ config["BITCOIN_ADDRESS"] }}</li>
 
            <li><b>Label:</b> Membership Fee</li>
 
            <li><b>Message:</b> {{ year }} {{ form.username.data }}</li>
 
            <li><b>Amount:</b> {{ price }} BTC</li>
 
            <li><b>{% trans %}Address:{% endtrans %}</b> {{ config["BITCOIN_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 }} BTC</li>
 
          </ul>
 
        </div>
 
        {% set bitcoin_url="bitcoin:" + config["BITCOIN_ADDRESS"] + "?amount={amount}&label=Membership Fee {year} {username}&message=Membership Fee {year} {username}".format(amount=price, year=year, username=form.username.data) %}
 
@@ -104,10 +104,10 @@
 
      <div class="btccontainer">
 
        <div>
 
          <ul class="btctext">
 
            <li><b>Address:</b> {{ config["ETHEREUM_ADDRESS"] }}</li>
 
            <li><b>Label:</b> Membership Fee</li>
 
            <li><b>Message:</b> {{ year }} {{ form.username.data }}</li>
 
            <li><b>Amount:</b> {{ price }} ETH</li>
 
            <li><b>{% trans %}Address:{% endtrans %}</b> {{ config["ETHEREUM_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 }} ETH</li>
 
          </ul>
 
        </div>
 
        {% set ethereum_url=config["ETHEREUM_ADDRESS"] %}
 
@@ -117,46 +117,46 @@
 
      <div class="btccontainer">
 
        <div>
 
          <ul class="btctext">
 
            <li><b>Address:</b> {{ config["MONERO_ADDRESS"] }}</li>
 
            <li><b>Label:</b> Membership Fee</li>
 
            <li><b>Message:</b> {{ year }} {{ form.username.data }}</li>
 
            <li><b>Amount:</b> {{ price }} XMR</li>
 
          </ul>
 
        </div>
 
        {% set monero_url=config["MONERO_ADDRESS"] %}
 
        <div><img class="btcqrcode" src="{{ qrcode(monero_url) }}" /></div>
 
      </div>
 
    {% elif form.payment.data == 'zcash' %}
 
      <div class="btccontainer">
 
        <div>
 
          <ul class="btctext">
 
            <li><b>Address:</b> {{ config["ZCASH_ADDRESS"] }}</li>
 
            <li><b>Label:</b> Membership Fee</li>
 
            <li><b>Message:</b> {{ year }} {{ form.username.data }}</li>
 
            <li><b>Amount:</b> {{ price }} ZEC</li>
 
          </ul>
 
        </div>
 
        {% set zcash_url=config["ZCASH_ADDRESS"] %}
 
        <div><img class="btcqrcode" src="{{ qrcode(zcash_url) }}" /></div>
 
      </div>
 
    {% elif form.payment.data == 'digicash' %}
 
      <div class="digicash">
 
        {% set digicash_url='https://pos.digica.sh/qrcode/generator?merchantId=CHAOSPC1&amount={amount}&transactionReference=Membership_{username}'.format(amount=price, username=form.username.data) %}
 
        <div><p>Pay with digicash!</p></div>
 
        <div><img src="{{ digicash_url }}" /></div>
 
      </div>
 
    {% endif %}
 
    <div class="signature">
 
      <p class="membersignature">Luxembourg, the</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>
 
            <li><b>{% trans %}Address:{% endtrans %}</b> {{ config["MONERO_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 %2}</b> {{ price }} XMR</li>
 
              </ul>
 
              </div>
 
              {% set monero_url=config["MONERO_ADDRESS"] %}
 
              <div><img class="btcqrcode" src="{{ qrcode(monero_url) }}" /></div>
 
              </div>
 
            {% elif form.payment.data == 'zcash' %}
 
              <div class="btccontainer">
 
                <div>
 
                  <ul class="btctext">
 
                    <li><b>{% trans %}Address:{% endtrans %}</b> {{ config["ZCASH_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 }} ZEC</li>
 
                  </ul>
 
                </div>
 
                {% set zcash_url=config["ZCASH_ADDRESS"] %}
 
                <div><img class="btcqrcode" src="{{ qrcode(zcash_url) }}" /></div>
 
              </div>
 
            {% elif form.payment.data == 'digicash' %}
 
              <div class="digicash">
 
                {% set digicash_url='https://pos.digica.sh/qrcode/generator?merchantId=CHAOSPC1&amount={amount}&transactionReference=Membership_{username}'.format(amount=price, username=form.username.data) %}
 
                <div><p>{% trans %}Pay with digicash!{% endtrans %}</p></div>
 
                <div><img src="{{ digicash_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
 
@@ -3,6 +3,7 @@ import subprocess
 
from datetime import date
 

	
 
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
 
@@ -26,14 +27,17 @@ def pull_lang_code(endpoint, values):
 
def index():
 
    form = MembershipForm()
 

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

	
 
    for k, v in (
 
        ("DIGICASH_ENABLED", ("digicash", "by DigiCash")),
 
        ("BITCOIN_ENABLED", ("bitcoin", "by bitcoin")),
 
        ("ETHEREUM_ENABLED", ("ethereum", "by ethereum")),
 
        ("MONERO_ENABLED", ("monero", "by monero")),
 
        ("ZCASH_ENABLED", ("zcash", "by zcash")),
 
        ("DIGICASH_ENABLED", ("digicash", gettext("by DigiCash"))),
 
        ("BITCOIN_ENABLED", ("bitcoin", gettext("by bitcoin"))),
 
        ("ETHEREUM_ENABLED", ("ethereum", gettext("by ethereum"))),
 
        ("MONERO_ENABLED", ("monero", gettext("by monero"))),
 
        ("ZCASH_ENABLED", ("zcash", gettext("by zcash"))),
 
    ):
 
        if current_app.config[k]:
 
            choices.append(v)
0 comments (0 inline, 0 general)