Skip to main content

Wafer extensions used by DebConf

Project description

Wafer apps for DebConf

This package contains several Django apps used by the DebConf conference.

badges - Name tag generation

bursary - Bursary requests and review

debconf - Random bits and pieces

exports - CSV data exports for organisers

front_desk - Check-In

invoices - Paid Attendee Invoicing

register - Attendee Registration

volunteers - On-site volunteer wrangling

Configuration

Uses the following Django settings:

Invoicing

  • DEBCONF_INVOICE_ADDRESS: String. Postal address to issue invoices from.
  • DEBCONF_BILLING_CURRENCY_SYMBOL: String. The billing currency symbol. (e.g. $)
  • DEBCONF_BILLING_CURRENCY: String. The billing currency code. (e.g. USD)
  • DEBCONF_BURSARY_CURRENCY_SYMBOL: String. The bursary currency symbol. (e.g. $)
  • DEBCONF_BURSARY_CURRENCY: String. The bursary currency code (e.g. USD)
  • DEBCONF_LOCAL_CURRENCY_RATE: Decimal. The exchange rate. What does 1 DEBCONF_BILLING_CURRENCY buy in local currency.
  • DEBCONF_LOCAL_CURRENCY_SYMBOL: String. The local currency symbol.
  • DEBCONF_LOCAL_CURRENCY: String. The local currency code.
  • INVOICE_PREFIX: String. Prefix to invoice IDs.
  • PRICES: Dict of Dicts, with purchasable items and prices.
    • fee: Dict of conferences fees, each having a name and price.
    • meal: Dict of Dicts, (breakfast, lunch, dinner, conference_dinner):
      • Each having a price and optional name.
    • accomm: Dict of Dicts, (description (String), price (Decimal/int) per night, bursary (bool), paid_separately (bool), included_meals (set of strs)) for each accommodation option. If an option has a price, it's for sale. If bursary, it'll be available for free for bursaried attendants.
    • daytrip: Dict of Dicts, (description (String), long_description (String), price (Decimal/int), capacity (int), closed (bool)) per option.
  • DAYTRIP_OPEN: Boolean. Close daytrip registration.
  • DAYTRIP_INSURANCE_OPEN: Boolean. Close daytrip insurance registration.
  • STRIPE_PUBLISHABLE_KEY: String. Stripe API Publishable Key.
  • STRIPE_SECRET_KEY: String. Stripe API Secret Key.
  • STRIPE_ENDPOINT_SECRET: String. Stripe Webhook endpoint secret.

Dates

  • DEBCONF_BURSARY_DEADLINE: Date. The date that bursaries need to be submitted by, AoE
  • DEBCONF_BURSARY_ACCEPTANCE_DEADLINE: Date. The date that all bursaries need to be accepted by, or the attendee will be issued an invoice.
  • DEBCONF_BURSARY_PARTIAL_CONTRIBUTION: Boolean. Request partial contributions for bursaries.
  • DEBCONF_CONFERENCE_DINNER_DAY: Date. The day that has the conference dinner.
  • DEBCONF_CONFIRMATION_DEADLINE: Date. The date that attendance needs to be confirmed by, AoE.
  • DEBCONF_DATES: List of (Description, Start Date, End Date) for the parts of the conference.
  • DEBCONF_SKIPPED_MEALS: List of (String: meal name, Date) of meals that will not be provided.
  • VOLUNTEERS_FIRST_DAY: Date. The first day of volunteering.
  • VOLUNTEERS_LAST_DAY: Date. The last day of volunteering.

Registration

  • BURSARIES_CLOSED: Boolean. Can bursary requests still be submitted.
  • DEBCONF_ACCOMMODATION_CLOSED: Boolean. Can accommodation requests still be submitted.
  • DEBCONF_BREAKFAST: Boolean. Is DebConf providing breakfast for attendees.
  • DEBCONF_BRUNCHES: List of dates that have brunch instead of breakfast and lunch.
  • DEBCONF_SHOE_SIZES: List of (Key, Description) for Shoe sizes.
  • DEBCONF_T_SHIRT_SIZES: List of (Key, Description) for T-Shirt sizes.
  • RECONFIRMATION: Boolean. Is there a reconfirmation round (set True once it has started).
  • DEBCONF_REVIEW_FREE_ATTENDEES: Boolean. Use the bursary system to review the attendance of free attendees too.
  • DEBCONF_COLLECT_AFFILIATION: Boolean. Ask attendees for their affiliation, for government sponsors.
  • DEBCONF_DEPARTURE_DAY: Boolean. Is there a departure day after the final conference day.
  • DEBCONF_DEPARTURE_TIME: time: The latest time that attendees can depart at.
  • DEBCONF_ORGA_EARLY_DAYS: int: Number of days early that orga are allowed to arrive.
  • DEBCONF_TSHIRT_SWAP_ON_OR_AFTER: Optional date, after which t-shirts may be swapped.
  • DEBCONF_LIMITED_BURSARIES: Boolean. Display a banner saying bursaries are limited this year, discouraging requests.
  • DEBCONF_BURSARY_BUDGETS: Dict of dicts for bursary budget options. Each key represents an option.
    • description: The user-facing description of the options.
    • required_fields: Optional list of fields to require input in. Can contain (contributions, diversity).
    • permissions: Optional list of permissions required to use this budget.
  • ZAMMAD_URL: URL of the Zammad instance.
  • ZAMMAD_TOKEN: Token for Zammad access.

MiniDebConf registration

  • MINIDEBCONF_REGISTER_PHONE: for minidebconfs, whether to ask for phone numbers upon registration. Values:
    • None - don't ask (default)
    • False - ask but not require
    • True - ask and require
  • MINIDEBCONF_REGISTER_BURSARY_CONTRIBUTORS_ONLY: boolean. Determines whether bursary (food, accomodation and travel) are only available to Debian contributors (and DMs/DDs). Defaults to False.
  • MINIDEBCONF_REGISTER_ARRANGED_ACCOMMODATION: boolean. Determines whether contributors can request to stay at the accomodation arranged by the orga team (default: False).
  • MINIDEBCONF_REGISTER_ACCOMMODATION_EARLIEST_CHECK_IN: date. The earliest possible check-in date. Defaults to the day before the beginning of the schedule.
  • MINIDEBCONF_REGISTER_ACCOMMODATION_LATEST_CHECK_OUT: date. The latest possible check-out date possible. Defaults to the day after the last day of the schedule. This date must be higher than the one in MINIDEBCONF_REGISTER_ACCOMMODATION_EARLIEST_CHECK_IN, otherwise strange things will happen.
  • MINIDEBCONF_REGISTER_ARRANGED_FOOD: boolean. Determines whether attendees can request to eat the meals arranged by the orga team (default: False).
  • MINIDEBCONF_REGISTER_TRAVEL_REIMBURSEMENT: whether contributores can request travel bursaries to the MiniDebConf (default: False).
  • MINIDEBCONF_REGISTER_DEFAULT_COUNTRY: string. Which country should be selected by default in MiniDebConf registration form (default: None)
  • MINIDEBCONF_REGISTER_BURSARY_INFO_PAGE: string. URL to a page with bursary information. If informed, will be linked from the MiniDebConf registration form (default: None)
  • MINIDEBCONF_REGISTER_SHIRT_INFO_PAGE: string. URL to a page with information about T-shirt sizes. If informed, will be linked from the MiniDebConf registration form (default: None)
  • MINIDEBCONF_REGISTER_PAYMENT_CODE: boolean. whether to display a field to collect payment code (default: False)
  • MINIDEBCONF_REGISTER_PAYMENT_CODE_LABEL: string. Text to be used as label for the payment code field, if enabled. (default: None)

Content

  • TRACKS_FILE: String. path to a YAML file with the list of tracks to be loadede into the database
  • TALK_TYPES_FILE: String. path to a YAML file with the list of talk types to be loaded into the database
  • DEBCONF_TALK_PROVISION_URLS: Dictionary of {Key: {pattern: String, private: Boolean}} for online services to generate links for. Format string parameters available: id, slug, secret16).

Misc

  • DEBCONF_CITY: String. The name of the city hosting DebConf.
  • DEBCONF_NAME: String. The name of the Debconf (e.g. "DebConf XX").
  • DCSCHEDULE_TOKEN: String. Authentication token for the DCSchedule IRC bot to hit the API.
  • SANDBOX: Boolean. Is this a development instance or production.
  • ISSUE_KSP_ID: Boolean. Is the key-signing sign-up still open?

Streaming

  • DEBCONF_VENUE_STREAM_HLS_URL: String. URL to the HLS stream. {name}, if present, is replaced with with the venue name in lower case and with all sequences of non-alphanumeric characters replaced with a "-". Examples:
    • Fixed URL: "https://foo.bar/stream.m3u8" (good enough for single-venue conferences.)
    • Per-venue URL: "https://foo.bar/stream/{name}.m3u8" becomes "https://foo.bar/stream/my-venue.m3u8"
  • DEBCONF_VENUE_STREAM_RTMP_URL String. URL to the RTMP stream. {name} is substituted as with DEBCONF_VENUE_STREAM_HLS_URL; {quality} is replaced with the quality (src, high, mid, low). Examples:
    • Fixed URL: "rtmp://foo.bar/stream" (for single-venue conferences)
    • Per-venue URL: "rtmp://foo.bar/stream/{name}_{quality}" becomes "rtmp://foo.bar/stream/my-venue_high" ("high" quality stream for "My Venue")
  • DEBCONF_VENUE_SLUGS: Dictionary mapping venue IDs to override slugs.
  • DEBCONF_VENUE_IRC_CHANNELS: List of strings. List of channels to join for each venue; {name} is replaced as above. Examples:
    • Single-channel conference: ["#conference"]
    • Multi-venue conference: ["#thatconf2020-{name}", "#thatconf2020"] becomes ["#thatconf2020-my-venue", "#thatconf2020"]

Stripe Payments

First, configure the STRIPE_PUBLISHABLE_KEY and STRIPE_SECRET_KEY settings, with the API keys from the Stripe dashboard.

To receive payment confirmation from Stripe, we need to receive a webhook from them.

For local development, you can receive this with the stripe CLI:

$ stripe login
...
$ stripe listen --forward-to http://127.0.0.1:8000/invoices/stripe-webhook/
> Ready! Your webhook signing secret is whsec_I_AM_A_SECRET_KEY (^C to quit)

Configure STRIPE_ENDPOINT_SECRET with the secret key provided by stripe-cli listen.

For production use, configure a webhook in the Stripe dashboard. The endpoint should be https://my.debconf/invoices/stripe-webhook/. Listen for charge.dispute.created, charge.refunded, and payment_intent.succeeded. Again, STRIPE_ENDPOINT_SECRET should be configured to the webhook's signing secret.

Project details


Release history Release notifications | RSS feed

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

wafer_debconf-0.19.2.tar.gz (4.5 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

wafer_debconf-0.19.2-py3-none-any.whl (4.9 MB view details)

Uploaded Python 3

File details

Details for the file wafer_debconf-0.19.2.tar.gz.

File metadata

  • Download URL: wafer_debconf-0.19.2.tar.gz
  • Upload date:
  • Size: 4.5 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.12

File hashes

Hashes for wafer_debconf-0.19.2.tar.gz
Algorithm Hash digest
SHA256 bf9d69caa401f49f5586033a8d5c1b2ae65baae2f40bdf48287aba3d89188390
MD5 a9656dd6c1173c2b4a460f816a377d3f
BLAKE2b-256 817f5d328adc4a99e94540730d056a2d01ee9078ba255ebf685960f9d982906e

See more details on using hashes here.

File details

Details for the file wafer_debconf-0.19.2-py3-none-any.whl.

File metadata

  • Download URL: wafer_debconf-0.19.2-py3-none-any.whl
  • Upload date:
  • Size: 4.9 MB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.12

File hashes

Hashes for wafer_debconf-0.19.2-py3-none-any.whl
Algorithm Hash digest
SHA256 19747615a65d5e44adc50da3e9d36ebc7677aa1e430a01332052ca433e623da9
MD5 c4afe1b82317e7f45e43e09d9c610539
BLAKE2b-256 d46642373d0962485399bd359dd26effeb6a2783bf7048a15c4383c4aad2941d

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page