Compare Revisions
Swap
Showing 43 commits
Merge Ancestor: 7159eeec241f
43 Brett Smith 54740b49fbe1
4 years ago
42 Brett Smith a726124475c7
4 years ago
41 Brett Smith c46e6f539abb
4 years ago
40 Brett Smith 3f99f03cd1c0
4 years ago
39 Brett Smith 95573ac9348f
4 years ago
38 Brett Smith 532d01dd22df
4 years ago
37 Brett Smith 5bd39e16dd60
4 years ago
36 Brett Smith bf2f226b8dd7
4 years ago
35 Brett Smith 6be746c88262
4 years ago
34 Brett Smith f13ae1edf17e
4 years ago
33 Brett Smith d3c3d882c639
4 years ago
32 Brett Smith f1b6e31c312a
4 years ago
31 Brett Smith c8a317b5a637
4 years ago
30 Brett Smith 3651d7a7fb2a
4 years ago
29 Brett Smith 3f6e5ac3d151
4 years ago
28 Brett Smith 1acc448c9e34
4 years ago
27 Brett Smith 9d5f83ec3972
4 years ago
26 Brett Smith 9af0cce80226
4 years ago
25 Brett Smith f00214d81df5
4 years ago
24 Brett Smith 2817de06497d
4 years ago
23 Brett Smith 646c382b6399
4 years ago
22 Brett Smith 5b48df5eb86a
4 years ago
21 Brett Smith a7a49d83b13c
4 years ago
20 Brett Smith e76bd363319a
4 years ago
19 Brett Smith bd72d7c218b1
4 years ago
18 Brett Smith b613a5072cbd
4 years ago
17 eximious 24f5f97b24f1
4 years ago
16 eximious e266db880bb1
4 years ago
15 Brett Smith f186c0b437d4
4 years ago
14 Brett Smith a77abf963639
4 years ago
13 Brett Smith 51bcd9403188
4 years ago
12 Brett Smith 2f2ec065590d
4 years ago
11 Brett Smith 1277d2eb4d81
4 years ago
10 Brett Smith 385fad876c3e
4 years ago
9 Brett Smith f384327f2fb8
4 years ago
8 Brett Smith 61020df0f248
4 years ago
7 Brett Smith 6afd723af9a3
4 years ago
6 Brett Smith d51b493ae04e
4 years ago
5 Brett Smith c530726fb668
4 years ago
4 Brett Smith 26626bdf466c
4 years ago
3 Brett Smith cef711cce75a
4 years ago
2 Brett Smith 5dfce5cb8a61
4 years ago
1 Brett Smith 4e5cec5b4795
4 years ago
20 files changed:
LICENSE
Show inline comments
...
 
@@ -71,3 +71,57 @@ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
 
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
 
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
 
THE SOFTWARE.
 

	
 
jQuery
 
------
 

	
 
Copyright JS Foundation and other contributors, https://js.foundation/
 

	
 
Permission is hereby granted, free of charge, to any person obtaining
 
a copy of this software and associated documentation files (the
 
"Software"), to deal in the Software without restriction, including
 
without limitation the rights to use, copy, modify, merge, publish,
 
distribute, sublicense, and/or sell copies of the Software, and to
 
permit persons to whom the Software is furnished to do so, subject to
 
the following conditions:
 

	
 
The above copyright notice and this permission notice shall be
 
included in all copies or substantial portions of the Software.
 

	
 
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
 
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
 
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
 
NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
 
LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
 
OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
 
WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
 

	
 
Font Awesome CSS
 
----------------
 

	
 
Copyright Dave Gandy and other contributors, @davegandy
 

	
 
Permission is hereby granted, free of charge, to any person obtaining
 
a copy of this software and associated documentation files (the
 
"Software"), to deal in the Software without restriction, including
 
without limitation the rights to use, copy, modify, merge, publish,
 
distribute, sublicense, and/or sell copies of the Software, and to
 
permit persons to whom the Software is furnished to do so, subject to
 
the following conditions:
 

	
 
The above copyright notice and this permission notice shall be
 
included in all copies or substantial portions of the Software.
 

	
 
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
 
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
 
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
 
NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
 
LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
 
OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
 
WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
 

	
 
Font Awesome Fonts
 
------------------
 

	
 
Released under the SIL Open Font License 1.1.
 
See `static/fonts/Open Font License.markdown`.
pinaxcon/settings.py
Show inline comments
 
import os
 
import dj_database_url
 

	
 
from decimal import Decimal
 

	
 
PROJECT_ROOT = os.path.abspath(os.path.join(os.path.dirname(__file__), os.pardir))
 
PACKAGE_ROOT = os.path.abspath(os.path.dirname(__file__))
...
 
@@ -315,6 +316,12 @@ TICKET_PRODUCT_CATEGORY = 1
 

	
 
INVOICE_CURRENCY = "USD"
 

	
 
# When PINAX_VAT_RATE is set, this percentage of the invoice total is
 
# displayed as a line item as the amount of VAT paid.
 
INVOICE_VAT_RATE = Decimal(os.environ.get('PINAX_VAT_RATE') or 0)
 
if INVOICE_VAT_RATE > 1:
 
    INVOICE_VAT_RATE /= 100
 

	
 
MARKDOWN_DEUX_STYLES = {
 
    "default": {
 
        "safe_mode": False,
pinaxcon/templates/_default_sidebar.html
Show inline comments
...
 
@@ -4,6 +4,13 @@
 

	
 
{% sponsor_levels as levels %}
 

	
 
<p>Conservancy makes CopyleftConf happen. Please consider becoming a
 
Supporter of our work year-round!</p>
 

	
 
<div class="conservancy-support-button">
 
  <div><a href="https://sfconservancy.org/supporter/">Support<br>now!</a></div>
 
</div>
 

	
 
<h3>Sponsors</h3>
 

	
 
<div class="sponsor-list">
...
 
@@ -14,7 +21,7 @@
 

	
 
          {% for sponsor in level.sponsors %}
 
              <div>
 
                  {% if sponsor.website_logo %}
 
                  {% if sponsor.sponsor_logo %}
 
                      <a href="{{ sponsor.external_url }}">
 
                          <img src="{% thumbnail sponsor.website_logo '600x360' %}" alt="{{ sponsor.name }}">
 
                      </a>
pinaxcon/templates/_footer.html
Show inline comments
...
 
@@ -5,11 +5,12 @@
 
    <p>
 
      <a href="/code-of-conduct">Code of Conduct</a>
 
      | <a href="https://sfconservancy.org/privacy-policy/">Privacy Policy</a>
 
      | <a href="https://k.sfconservancy.org/CopyleftConf/copyleftconf-website/files/copyleftconf2020-final/">Website Source Code</a>
 
    </p>
 

	
 

	
 
    <p>
 
      <a rel="license" href="https://creativecommons.org/licenses/by-sa/4.0"><img class="center-block" alt="Creative Commons License" style="border-width:0" src="https://i.creativecommons.org/l/by-sa/4.0/88x31.png"></a>
 
      <a rel="license" href="https://creativecommons.org/licenses/by-sa/4.0"><img class="center-block" alt="Creative Commons License" style="border-width:0" src="{% static "images/CC-BY-SA-88x31.png" %}"></a>
 
      <br>This page, and all contents herein, unless a license is otherwise
 
      specified, are licensed under a
 
      <a rel="license" href="https://creativecommons.org/licenses/by-sa/4.0">Creative
pinaxcon/templates/_scripts.html
Show inline comments
 
{% load compress %}
 
{% load staticfiles %}
 

	
 
<script src="//cdnjs.cloudflare.com/ajax/libs/jquery/3.2.1/jquery.js"></script>
 

	
 
{% compress js %}
 
  <script src='{% static "js/jquery.js" %}'></script>
 
  <script src='{% static "bootstrap/javascripts/bootstrap.min.js" %}'></script>
 
  <script src='{% static "js/site.js" %}'></script>
 
{% endcompress %}
pinaxcon/templates/_styles.html
Show inline comments
...
 
@@ -2,7 +2,7 @@
 
{% load staticfiles %}
 

	
 
<link rel="icon" type="image/png" href="{% static "images/icon.png" %}">
 
<link rel="stylesheet" type="text/css" href="https://maxcdn.bootstrapcdn.com/font-awesome/4.7.0/css/font-awesome.min.css">
 
{% compress css %}
 
    <link rel="stylesheet" type="text/css" href="{% static "fonts/font-awesome.css" %}">
 
    <link rel="stylesheet" type="text/x-scss" href="{% static "scss/site.scss" %}">
 
{% endcompress %}
pinaxcon/templates/dashboard.html
Show inline comments
...
 
@@ -29,9 +29,7 @@
 
        </li>
 
      </div>
 
    </div>
 
{%comment%} Tickets not on sale yet
 
    {% include "registrasion/dashboard_widget.html" %}
 
{%endcomment%}
 
    <div class="panel panel-default">
 
        <div class="panel-heading">
 
            <div class="pull-right">
pinaxcon/templates/registrasion/invoice/details.html
Show inline comments
...
 
@@ -34,10 +34,23 @@
 
    This is a refunded registration summary for CopyleftConf 2020. It is provided for informational purposes only.
 
  {% elif invoice.is_paid %}
 
    This is a confirmed registration summary for CopyleftConf 2020.
 
    </div>
 

	
 
    <p class="text-success">Conservancy works year-round to grow the software
 
      freedom movement and support alternatives to proprietary software.  Please
 
      consider <b><a href="https://sfconservancy.org/supporter/">becoming a
 
      Supporter</a></b> of our work!</p>
 
  {% endif %}
 
{% endblock %}
 

	
 
{% block extra_line_items_after_total %}
 
  {% vat_amount invoice as vat %}
 
  {% if vat %}
 
    <tr>
 
      <td colspan="3">Includes {% vat_rate %} VAT:</td>
 
      <td class="text-right">${{ vat }}</td>
 
    </tr>
 
  {% endif %}
 
  {% donation_income invoice as donation %}
 
  {% if donation %}
 
    <tr>
pinaxcon/templates/static_pages/about.md
Show inline comments
...
 
@@ -14,11 +14,11 @@ defend software freedom for users and developers around the world.
 

	
 
The event will provide a friendly and safe place for discussion of copyleft
 
as a key strategy for defending software freedom. Our program committee
 
(Jonathan Corbet, Molly de Blanc, Bradley Kuhn, Deb Nicholson, Nithya Ruff,
 
(Molly de Blanc, Bradley Kuhn, Deb Nicholson, Nithya Ruff,
 
Josh Simmons, Eilís Flanagan, and Harald Welte) is dedicated to putting on a
 
lively and informative event where everyone feels welcome.
 

	
 
Conservancy encourages everyone to save the date of Monday 3 February
 
2020 in Brussels, Belgium for this first CopyleftConf. We've chosen the
 
2020 in Brussels, Belgium for this second CopyleftConf. We've chosen the
 
date and location to ease travel for those already attending FOSDEM the
 
weekend preceding CopyleftConf.
pinaxcon/templates/static_pages/code_of_conduct/code_of_conduct.md
Show inline comments
...
 
@@ -2,7 +2,8 @@
 

	
 
CopyleftConf is dedicated to providing a harassment-free conference experience for everyone; regardless of
 
gender, gender identity and expression, sexual orientation, disability, physical appearance, body size, national
 
origin, race, or religion or lack thereof. We do not tolerate harassment of conference participants in any form.
 
origin, race, or religion or lack thereof. This code applies to everyone -- including attendees, speakers, 
 
volunteers and staff. We do not tolerate harassment of conference participants in any form.
 

	
 
## Details
 

	
...
 
@@ -21,7 +22,7 @@ physical contact, and unwelcome sexual attention.
 

	
 
Just as we will ask any audience member to cease their behavior and to leave if they are not respectful of you,
 
we will also ask that you stop presenting should there be offensive or inappropriate material in your slides or
 
presentation.
 
presentation. This code applies to everyone -- including attendees, speakers, volunteers and staff.
 

	
 
Participants asked to stop any harassing behavior are expected to comply immediately. If they do not stop
 
immediately or their behavior constitutes a potential physical danger to other participants, they may be ejected
pinaxcon/templates/static_pages/homepage.html
Show inline comments
...
 
@@ -26,13 +26,11 @@ defend software freedom for users and developers around the world.</p>
 

	
 
<p>Who’s organizing this? Software Freedom Conservancy is a not-for-profit charity that helps promote,
 
improve, develop, and defend Free, Libre, and Open Source Software (FLOSS) projects. Conservancy
 
provides a non-profit home and infrastructure for FLOSS projects. Conservancy is also the only
 
  organization currently working on enforcement of the GPL, the world’s most popular copyleft license.</p>
 
provides a non-profit home and infrastructure for FLOSS projects. Conservancy is one of the few
 
 organizations currently working on enforcement of the GPL, the world’s most popular copyleft license.</p>
 

	
 
<p>This event will provide a friendly and safe place for discussion of all aspects of copyleft, including as a
 
key strategy for defending software freedom! Your sponsorship will help make this a sustainable annual
 
event, that can welcome students and scholars at a minimal cost. Any questions about financial, coffee
 
break or in-kind sponsorship options should be directed to <a href="mailto:contact@copyleftconf.org">contact@copyleftconf.org</a>.</p>
 
key strategy for defending software freedom!</p>
 
</div>
 

	
 
{% endblock %}
pinaxcon/templates/static_pages/program/call_for_proposals.html
Show inline comments
 
new file 100644
 
{% extends "page_with_title_and_lede.html" %}
 

	
 
{% load i18n %}
 
{% load markdown_deux_tags %}
 

	
 
{% block head_title %}Call for Proposals{% endblock %}
 

	
 
{% block heading %}Call for Proposals{% endblock %}
 

	
 
{% block body_class %}program{% endblock %}
 

	
 
{% block content %}
 
  {% markdown %}
 

	
 
{% include "static_pages/program/call_for_proposals.md" %}
 

	
 
  {% endmarkdown %}
 
{% endblock %}
pinaxcon/templates/static_pages/program/call_for_proposals.md
Show inline comments
 
new file 100644
 
Who: Participants who care about copyleft — from developers, strategists, enforcement organizations, lawyers, scholars and critics — will gather for an in-depth, high bandwidth, and expert-level discussion about the day-to-day details of using copyleft licensing, obstacles facing copyleft (and all FOSS licensing) and the future of copyleft as a strategy to advance and defend software freedom for users and developers around the world.
 

	
 
The event will provide a friendly and safe place for discussion of copyleft as a key strategy for defending
 
software freedom. All are welcomed and no invitation or membership to any group is required to attend!
 
People of all genders, people of color, and those from groups that are under-indexed in free software are heartily encouraged to submit a proposal.
 

	
 
**We are looking for 25 minute talks.** The time is short to maximize communication from many parties and inspire later discussion. You can either choose to speak for 20 minutes and allow 5 minutes of Q&A or speak for 25 minutes with no Q&A.
 

	
 
**We are also looking for discussion leaders to introduce a topic and facilitate a 60 minute discussion.**
 
We want people to submit discussions in groups or pairs. We are especailly intersted in topics lead by
 
people from different organizations who can bring different perspectives. Discussions will hopefully
 
result in actionable ideas or practical solutions around better use and increased adoption of
 
copylefted software. Discussion leaders will spend 5-10 minutes introducing their topics, either suggest
 
or encourage participants to suggest a format for discussion and then spend 5-10 minutes recapping
 
the conversation and recording actionable advice to share after the conversation is over.
 

	
 
We anticipate that this event will focus on software, but we may consider proposals related to other fields using copyleft.
 

	
 
Here are some example topics, but any topic that relates to copyleft is welcome:
 

	
 
* Governance concerns for large copyleft projects
 
* Social and/or technical compliance strategies
 
* How copyleft fits in with other efforts to build ethical technology
 
* Is it possible or desirable to include ethical considerations beyond software freedom into FOSS licenses?
 
* Copyleft and enforcement in different jurisdictions
 
* Affero GPL and other copyleft considerations in the era of network-based service software
 
* Publicly funded copyleft; i.e. municipal, library, public school or government
 
* License compatibility, what's new, what's old, and what challenges remain?
 
* Copyleft abuse, how should the community respond?
 
* The (general) future of copyleft
 

	
 
## How to submit a proposal
 

	
 
To submit a proposal, [create an account, log in](/account/login), and go to [your dashboard](/dashboard). From there, you can create a speaker profile, and then you'll be able to submit proposals.
 

	
 
## How to get help with your proposal
 

	
 
Email <proposalhelp@lists.copyleftconf.org>
 

	
 
Visit #conservancy on freenode.net
 

	
 
## Dates
 

	
 
October 10th -- CFP opens!
 

	
 
**EXTENDED!**  November **17th**, midnight AOE -- CFP closes.
 

	
 
Late November -- we will contact submitters about acceptances and refusals.
pinaxcon/templates/static_pages/venue.html
Show inline comments
 
new file 100644
 
{% extends "page_with_title_and_lede.html" %}
 

	
 
{% load i18n %}
 
{% load markdown_deux_tags %}
 

	
 
{% block head_title %}Venue{% endblock %}
 

	
 
{% block heading %}Venue{% endblock %}
 

	
 
{% block body_class %}home{% endblock %}
 

	
 
{% block body %}
 

	
 
<div class="chunkfive tight-headings text-center" style="padding: 1.5em;">
 
<h2>CopyleftConf Venue</h2>
 
</div>
 

	
 
<div class="center-block" style="max-width: 50em;">
 
  <p>CopyleftConf will be held at:</p>
 

	
 
  <address><a href="https://www.tricoterie.be/fr/">La Tricoterie</a><br>
 
    158, rue Théodore Verhaegen<br>
 
    1060 Saint-Gilles<br>
 
    Belgium</address>
 

	
 
  <div class="embed-responsive embed-responsive-4by3">
 
    <iframe class="embed-responsive-item" width="100%" frameborder="0" scrolling="no" marginheight="0" marginwidth="0" src="https://www.openstreetmap.org/export/embed.html?bbox=4.332658052444459%2C50.82791734439863%2C4.340586662292481%2C50.83243730909242&amp;layer=mapnik&amp;marker=50.83026886490804%2C4.336745738983154" style="border: 1px solid black"></iframe>
 
  </div>
 

	
 
  <p class="text-center"><a href="https://www.openstreetmap.org/#map=17/50.83018/4.33662&amp;layers=N">View Larger Map</a></p>
 
</div>
 

	
 
{% endblock %}
pinaxcon/templates/static_pages/video.html
Show inline comments
 
new file 100644
 
{% extends "page_with_title_and_lede.html" %}
 

	
 
{% load i18n %}
 
{% load markdown_deux_tags %}
 

	
 
{% block head_title %}Videos{% endblock %}
 

	
 
{% block heading %}Videos{% endblock %}
 

	
 
{% block body_class %}video{% endblock %}
 

	
 
{% block content %}
 
  {% markdown %}
 

	
 
{% include "static_pages/video.md" %}
 

	
 
  {% endmarkdown %}
 
{% endblock %}
pinaxcon/templates/static_pages/video.md
Show inline comments
 
new file 100644
 
We plan to stream and record all sessions at CopyleftConf.
 

	
 
## Videos from CopyleftConf 2019
 

	
 
Videos of some of the presentations from CopyleftConf 2019 are available:
 

	
 
* [on Internet Archive](https://archive.org/details/@sfconservancy?and[]=subject%3A%22copyleftconf2019%22)
 

	
 
* [on YouTube](https://www.youtube.com/playlist?list=PLKZPkdh3W2BKiSmBfq8GBx3pv_d8qZoNg)
 

	
 
More videos from the event are still to come!
pinaxcon/templates/symposion/sponsorship/list.html
Show inline comments
 
{% extends "symposion/sponsorship/list_.html" %}
 

	
 
{% load sponsorship_tags %}
 
{% load thumbnail %}
 

	
 
{% block lede %}
 
  We're grateful to the following organizations, who've made a substantial contribution to CopyleftConf 2020. Learn how you can join us by checking out <a href="/sponsors/become-a-sponsor">our prospectus</a>.
 
  We're grateful to the following organizations, who've made a substantial contribution to CopyleftConf 2020.
 
{% endblock %}
 

	
 
{% block content %}
 
  {% sponsor_levels as levels %}
 
  {% for level in levels %}
 
    {% if level.sponsors %}
 
      <h2>{{ level.name }}</h2>
 

	
 
      {% for sponsor in level.sponsors %}
 
          <div class="row">
 
           {% if sponsor.sponsor_logo %}
 
            <div class="col-md-4">
 
              <h2>
 
                <a href="{{ sponsor.external_url }}">
 
                  <img style="width: 90%; margin-right: 10%;" src="{% thumbnail sponsor.website_logo '600x320' %}" alt="{{ sponsor.name }}" />
 
                </a>
 
              </h2>
 
            </div>
 
            <div class="col-md-8">
 
           {% else %}
 
            <div class="col-md-12">
 
           {% endif %}
 
              <h3><a href="{{ sponsor.external_url }}">{{ sponsor.name }}</a></h3>
 
              <p>{{ sponsor.listing_text|urlize|linebreaks }}</p>
 
            </div>
 
          </div>
 
      {% endfor %}
 
    {% endif %}
 
  {% endfor %}
 
{% endblock %}
pinaxcon/templatetags/nbpy_tags.py
Show inline comments
 
from registrasion.models import commerce
 
from registrasion.models import commerce, inventory
 
from registrasion.controllers.category import CategoryController
 
from registrasion.controllers.item import ItemController
 
from registrasion.templatetags import registrasion_tags
...
 
@@ -11,6 +11,19 @@ from urllib import urlencode  # TODO: s/urllib/six.moves.urllib/
 

	
 
register = template.Library()
 

	
 
CENTS_QUANT = Decimal('.01')
 
VAT_RATE = str(settings.INVOICE_VAT_RATE * 100).rstrip('.0') + '%'
 

	
 
def nonvat_price(product):
 
    return product.price * (1 - settings.INVOICE_VAT_RATE)
 

	
 
@register.simple_tag
 
def vat_amount(invoice):
 
    return (invoice.value * settings.INVOICE_VAT_RATE).quantize(CENTS_QUANT)
 

	
 
@register.simple_tag
 
def vat_rate():
 
    return VAT_RATE
 

	
 
@register.simple_tag(takes_context=True)
 
def donation_income(context, invoice):
...
 
@@ -21,28 +34,13 @@ def donation_income(context, invoice):
 

	
 
    '''
 

	
 
    # 15% (FSA) goes to Conservancy; 85% is real goods
 

	
 
    fsa_rate = Decimal("0.85")
 
    rbi_full_ticket = Decimal("68.00")
 
    rbi_early_bird_discount = Decimal("-21.35")
 
    rbi = []
 

	
 
    for line in invoice.lineitem_set.all():
 
        if line.product.category.name == "Ticket":
 
            if line.product.name.startswith("Unaffiliated Individual"):
 
                # Includes full price & discounts
 
                rbi.append(line.total_price * fsa_rate)
 
            else:
 
                if line.total_price > 0:
 
                    rbi.append(rbi_full_ticket)
 
                elif line.total_price < 0:
 
                    rbi.append(rbi_early_bird_discount)
 
        elif line.product.category.name == "T-Shirt":
 
            rbi.append(line.total_price * fsa_rate)
 

	
 
    donation = max(Decimal('0'), (invoice.value - sum(rbi)))
 
    return donation.quantize(Decimal('.01'))
 
    tickets = inventory.Product.objects.filter(category__id=settings.TICKET_PRODUCT_CATEGORY)
 
    cheapest_ticket = tickets.order_by('price').first()
 
    ticket_rbi = nonvat_price(cheapest_ticket)
 
    return sum(
 
        (max(nonvat_price(ticket) - ticket_rbi, 0)
 
         for ticket in invoice.lineitem_set.filter(product__in=tickets)),
 
        Decimal(0)).quantize(CENTS_QUANT)
 

	
 

	
 
# TODO: include van/de/van der/de la/etc etc etc
pinaxcon/urls.py
Show inline comments
...
 
@@ -12,12 +12,15 @@ from pinaxcon import views
 
import symposion.views
 

	
 
DONATE_REDIRECT = RedirectView.as_view(url='https://sfconservancy.org/donate/')
 
PROSPECTUS_REDIRECT = RedirectView.as_view(url=_static('assets/2020_CopyleftConf_prospectus.pdf'))
 

	
 
urlpatterns = [
 
    url(r"^$", TemplateView.as_view(template_name="static_pages/homepage.html"), name="home"),
 

	
 
    # about
 
    url(r"^about$", TemplateView.as_view(template_name="static_pages/about.html"), name="about"),
 
    url(r"^about/venue$", TemplateView.as_view(template_name="static_pages/venue.html"), name="venue"),
 
    url(r"^video$", TemplateView.as_view(template_name="static_pages/video.html"), name="video"),
 

	
 
    # program
 
    url(r"^program/events$", TemplateView.as_view(template_name="static_pages/program/events.html"), name="program/events"),
...
 
@@ -46,8 +49,8 @@ urlpatterns = [
 
    url(r"^terms$", RedirectView.as_view(url="terms-and-conditions")),
 

	
 
    # sponsor
 
    url(r"^sponsors/prospectus$", RedirectView.as_view(url=_static("assets/2019_CopyleftConf_prospectus.pdf")), name="sponsors/prospectus"),
 
    # url(r"^sponsors/become-a-sponsor$", TemplateView.as_view(template_name="static_pages/sponsors/become_a_sponsor.html"), name="sponsors/become-a-sponsor"),
 
    url(r"^sponsors/prospectus$", PROSPECTUS_REDIRECT, name="sponsors/prospectus"),
 
    url(r"^sponsors/become-a-sponsor$", PROSPECTUS_REDIRECT, name="sponsors/become-a-sponsor"),
 
    url(r"^sponsors/donate$", DONATE_REDIRECT),
 
    url(r"^donate$", DONATE_REDIRECT),
 
    url(r"^about/donate$", DONATE_REDIRECT),
setup.txt
Show inline comments
...
 
@@ -2,6 +2,7 @@ Django>=1.11,<1.12
 

	
 
# Pinned for Python 2 support.
 
django-sitetree<1.13
 
django-model-utils<4.0.0
 

	
 
# Registrasion
 
https://github.com/chrisjrn/registrasion/tarball/master
...
 
@@ -19,7 +20,6 @@ django-libsass
 
django-markdown-deux
 
django-countries
 
easy-thumbnails
 
django-model-utils
 
django-email-log
 
django-storages
 
django-timezone-field

Changeset was too big and was cut off... Show full diff