Changeset - 7d17ee1ef234
[Not reviewed]
0 3 0
Christopher Neugebauer - 4 years ago 2019-08-31 01:38:04
_@chrisjrn.com
Add updated ticket sales info
3 files changed with 23 insertions and 20 deletions:
0 comments (0 inline, 0 general)
pinaxcon/registrasion/management/commands/populate_inventory.py
Show inline comments
...
 
@@ -8,13 +8,13 @@ from django.core.management.base import BaseCommand, CommandError
 

	
 
from registrasion.models import inventory as inv
 
from registrasion.models import conditions as cond
 
from symposion import proposals
 

	
 
class Command(BaseCommand):
 
    help = 'Populates the inventory with the NBPy2018 inventory model'
 
    help = 'Populates the inventory with the NBPy2019 inventory model'
 

	
 
    def add_arguments(self, parser):
 
        pass
 

	
 
    def handle(self, *args, **options):
 

	
...
 
@@ -62,24 +62,26 @@ class Command(BaseCommand):
 
                        "<a href='/attend'>ticket sales page</a>.",
 
            required = True,
 
            render_type=inv.Category.RENDER_TYPE_RADIO,
 
            limit_per_user=1,
 
            order=1,
 
        )
 
        '''
 
        self.t_shirt = self.find_or_make(
 
            inv.Category,
 
            ("name",),
 
            name="T-Shirt",
 
            description="Commemorative conference t-shirts, featuring secret "
 
                        "North Bay Python 2018 artwork. Details of sizing and "
 
                        "manufacturer are on our <a href='/attend/tshirt'>"
 
                        "t-shirts page</a>",
 
            required = False,
 
            render_type=inv.Category.RENDER_TYPE_ITEM_QUANTITY,
 
            order=40,
 
        )
 
        '''
 
        self.extras = self.find_or_make(
 
            inv.Category,
 
            ("name",),
 
            name="Extras",
 
            description="Other items that can improve your conference "
 
                        "experience.",
...
 
@@ -179,12 +181,13 @@ class Command(BaseCommand):
 
            price=Decimal("00.00"),
 
            reservation_duration=hours(24),
 
            order=90,
 
        )
 

	
 
        # Shirts
 
        '''
 
        ShirtGroup = namedtuple("ShirtGroup", ("prefix", "sizes"))
 
        shirt_names = {
 
            "mens": ShirtGroup(
 
                "Men's/Straight Cut Size",
 
                ("S", "M", "L", "XL", "2XL", "3XL", "5XL"),
 
            ),
...
 
@@ -212,12 +215,13 @@ class Command(BaseCommand):
 
                    name=product_name,
 
                    category=self.t_shirt,
 
                    price=Decimal("30.00"),
 
                    reservation_duration=hours(1),
 
                    order=order,
 
                )
 
        '''
 

	
 
    def populate_restrictions(self):
 

	
 
        # Hide the products that will eventually need a voucher
 
        hide_voucher_products = self.find_or_make(
 
            cond.GroupMemberFlag,
...
 
@@ -358,13 +362,13 @@ class Command(BaseCommand):
 

	
 
        # Early Bird Discount (general public)
 
        early_bird = self.find_or_make(
 
            cond.TimeOrStockLimitDiscount,
 
            ("description", ),
 
            description="Early Bird",
 
            end_time=datetime(year=2018, month=9, day=30),
 
            end_time=datetime(year=2019, month=9, day=20),
 
            limit=100,  # Across all users
 
        )
 
        add_early_birds(early_bird)
 

	
 
        # Early bird rates for speakers
 
        speaker_ticket_discounts = self.find_or_make(
...
 
@@ -389,36 +393,40 @@ class Command(BaseCommand):
 
            self.ticket_ind_sponsor,
 
            self.ticket_corporate,
 
            self.ticket_supporter,
 
            self.ticket_sponsor,
 
            self.ticket_speaker,
 
        ])
 
        free_category(ticket_prolike_inclusions, self.t_shirt)
 
        # free_category(ticket_prolike_inclusions, self.t_shirt)
 

	
 
        # Team & volunteer ticket inclusions
 
        ticket_staff_inclusions = self.find_or_make(
 
            cond.IncludedProductDiscount,
 
            ("description", ),
 
            description="Complimentary for ticket holder (staff/volunteer)",
 
        )
 
        ticket_staff_inclusions.enabling_products.set([
 
            self.ticket_team,
 
            self.ticket_volunteer,
 
        ])
 

	
 
        '''
 

	
 
        # Team & volunteer t-shirts, regardless of ticket type
 
        staff_t_shirts = self.find_or_make(
 
            cond.GroupMemberDiscount,
 
            ("description", ),
 
            description="T-shirts complimentary for staff and volunteers",
 
        )
 
        staff_t_shirts.group.set([
 
            self.group_team,
 
            self.group_volunteers,
 
        ])
 
        free_category(staff_t_shirts, self.t_shirt, quantity=2)
 
        free_category(staff_t_shirts, self.t_shirt, quantity=2
 

	
 
        '''
 

	
 
    def find_or_make(self, model, search_keys, **k):
 
        ''' Either makes or finds an object of type _model_, with the given
 
        kwargs.
 

	
 
        Arguments:
pinaxcon/templates/static_pages/attend/attend.html
Show inline comments
...
 
@@ -24,31 +24,31 @@
 

	
 
<br />
 

	
 
<div class="pull-right"><a class="btn btn-lg btn-primary" href="/tickets/buy">Buy a Ticket</a></div>
 
<h2>Which Ticket?</h2>
 

	
 
<p><em><a href="/attend/tshirt">T-shirts</a> are only available for tickets bought before October 9th.</em></p>
 
<p><em>Early Bird Discounts are available for the first 50 tickets sold tickets bought before September 20th.</em></p>
 

	
 
<h3>Corporate <small>$200</small></h3>
 

	
 
<p><strong>For company employees, and individuals who can claim the cost of attending the conference as a business expense or other tax deduction</strong>.</p>
 

	
 
<p>Includes a free t-shirt, and recognition of your affiliation on your conference badge and on the conference supporters list. Group discounts are available for organizations that buy 5 or more tickets.</p>
 
<p>Includes recognition of your affiliation on your conference badge and on the conference supporters list. Group discounts are available for organizations that buy 5 or more tickets.</p>
 

	
 
<h3>Individual Supporter <small>$100</small></h3>
 

	
 
<p><strong>For individuals who want to financially contribute to the success of the conference.</strong></p>
 

	
 
<p>This ticket includes a free t-shirt, and recognition of your Free and Open Source Software, hobby, or nonprofit project on your conference badge.</p>
 
<p>This ticket includes recognition of your of your affiliation on your conference badge.</p>
 

	
 
<h3>Unaffiliated Individual <small>$50</small></h3>
 

	
 
<p><strong>For students, hobbyists, and unemployed/underemployed people who are coming to North Bay Python at their own expense.</strong></p>
 

	
 
<p>The cheapest ticket we can offer. You can add a t-shirt for $30.</p>
 
<p>The cheapest ticket we can offer.</p>
 

	
 

	
 
<h3>Special Tickets</h3>
 

	
 
<h4>Individual Sponsor <small>$500</small></h4>
 

	
...
 
@@ -85,18 +85,15 @@
 
<tr>
 
  <th>Morning refreshments</th>
 
  <td> TBA </td><td> TBA </td><td> TBA </td><td> TBA </td></tr>
 
<tr>
 
  <th>Free Lunch</th>
 
  <td> No </td><td> No </td><td> No </td><td> No </td></tr>
 
<tr>
 
  <th>T-Shirt</th>
 
  <td>$30 each</td><td>1 free</br>Extras $30 each</td><td>1 free</br>Extras $30 each</td><td>1 free</br>Extras $30 each</td></tr>
 
<tr>
 
  <th>Affiliation on your badge</th>
 
  <td> No </td><td>Personal projects only</td><td> Yes </td><td>Yes</td></tr>
 
  <td> No </td><td>Yes</td><td> Yes </td><td>Yes</td></tr>
 
<tr>
 
  <th>Supporter recognition</th>
 
  <td> None </td><td>For you </td><td>For you and your company </td><td>Top billing for you and your company or project</td></tr>
 
  <tr>
 
    <th>Sponsor benefits</th>
 
    <td> No </td><td>No</td><td> No </td><td>Yes</td></tr>
...
 
@@ -117,21 +114,19 @@
 
<h3>Conference access</h3>
 
<p>Two days of high-caliber talks about Python, and meeting new Pythonistas at North Bay Python.</p>
 

	
 
<h3>Lunch</h3>
 
<p>In order to keep ticket costs as low as possible, we don't cater lunch.</p>
 

	
 
<p>To make up for it, we’ve located our conference right in the middle of Historic Downtown Petaluma’s restaurant district. You can find everything from market delis and barbecue, through to Michelin-rated restaurants, all within 5 minutes walk. You’ll get a better lunch than we’d ever be able to cater, for much less. We'll have a locals' guide to Petaluma to help you find places to eat.</p>
 
<p>To make up for it, we’ve located our conference right in the middle of Historic Downtown Petaluma’s restaurant district. You can find everything from market delis and California barbecue, through to Michelin-recommended restaurants, all within 5 minutes walk. You’ll get a better lunch than we’d ever be able to cater, for much less. We'll have a locals' guide to Petaluma to help you find places to eat.</p>
 

	
 
<h3>Morning Refreshments</h3>
 
<p>We'll provide coffee, tea, hot chocolate, and some light snacks in the morning before proceedings kick off on both days.</p>
 

	
 
<h3>T-Shirt</h3>
 
<p>We’ll be designing a collectible North Bay Python t-shirt for you to pick up at the conference, and they’ll be <a href="/attend/tshirt">available in a variety of sizes, cuts and colors</a>. Each t-shirt costs $30, and for supporter, corporate, and sponsor ticket holders, you’ll get your first t-shirt free!</p>
 

	
 
<p>T-shirts are available only for tickets purchased by Wednesday, October 9th.</p>
 
<p>We’ll be designing a collectible North Bay Python t-shirt for sale on-line by the time the conference comes around, and they’ll be available in a variety of sizes, cuts and colors.</p>
 

	
 

	
 
<h3>Affiliation</h3>
 
<p>Every attendee gets their very own lanyard and a badge with their name on it. For higher-paying ticket holders, you’ll get your project’s name (supporter and above) or company name (corporate or sponsor levels only) on your badge, just below your name.</p>
 

	
 
<h3>Supporter Recognition</h3>
...
 
@@ -146,10 +141,10 @@
 
<h3>Childcare</h3>
 
<p>We'll be offering childcare at a nearby venue. If you have children, we'll have qualified care providers available to take care of them. Parents can find more useful information on our <a href="/accommodations">Accommodations</a> page.</p>
 

	
 
<h3>Accessibility and Accommodations</h3>
 
<p>Please check out our <a href="/accessibility">Accessibility and Accommodations</a> page. Whether you have mobility, hearing, or vision issues, or a service animal, dietary restrictions, or something else you need to consider to navigate North Bay Python, we've got you covered. Please don't hesitate to <a href="mailto:hello@northbaypython.org">reach out</a> if you have questions we can help answer!</p>
 

	
 
<h3>Financial Aid</h3>
 
<p>If you don't have an employer paying to send you to North Bay Python, we encourage you to <a href="/attend/finaid">apply for financial aid</a>. We can help defray the cost of travel, food, and lodging, as our goal is for attending North Bay Python to cost you about as much as staying home.</p>
 
<h3>Opportunity grants</h3>
 
<p>If you don't have an employer paying to send you to North Bay Python, we encourage you to <a href="/attend/finaid">apply for an opportunity grant</a>. We can help defray the cost of travel, food, and lodging, as our goal is for attending North Bay Python to cost you about as much as staying home.</p>
 

	
 
{% endblock %}
pinaxcon/templates/static_pages/homepage.html
Show inline comments
...
 
@@ -40,15 +40,15 @@
 

	
 
  <div class="jumbotron homepage-block dark shallow">
 
    <div class="container homepage-block-footer">
 
      <div class="row">
 
        <div class="col-md-8">
 
          <p class="">
 
            <span class="wrap-break">Ticket Sales open soon!</span>
 
            {% comment %}
 
            <span class="wrap-break"><a href="/speak">Submit your proposal now!</a></span>
 
            <span class="wrap-break"><a href="/attend">Early Bird Tickets on sale now!</a></span>
 
            <span class="wrap-break">Session and Headline Speakers announced soon.</span>
 
            {% endcomment %}
 
          </p>
 
        </div>
 
        <div class="col-md-4  email-signup-panel">
 
          <div class="panel panel-default">
 
            <div class="panel-heading">
0 comments (0 inline, 0 general)