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)) 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_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_BREAKFAST: Boolean. Is DebConf providing breakfast for attendees.
  • 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.

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_ARRANGED_ACCOMMODATION: boolean. Determines whether contributors can request to stay at the accomodation arranged by the orga team (default: False).
  • 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)

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_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.15.15.tar.gz (4.4 MB view details)

Uploaded Source

Built Distribution

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

Uploaded Python 3

File details

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

File metadata

  • Download URL: wafer_debconf-0.15.15.tar.gz
  • Upload date:
  • Size: 4.4 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.12.4

File hashes

Hashes for wafer_debconf-0.15.15.tar.gz
Algorithm Hash digest
SHA256 c3a13b6a290b5dca2c01e5376ab45c90db42b03292652003973002f57af2bdd6
MD5 43c67188f3cf08b013b7add2fd3119de
BLAKE2b-256 831eca1152b5c8586f7d866beb4fe992f360e50ea05161afbf0363d1a408388e

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for wafer_debconf-0.15.15-py3-none-any.whl
Algorithm Hash digest
SHA256 7017a63859705b987d727ead8f375507b9ce81e3c5e301f9f10cd2b12cafd3be
MD5 9c2ebb50e5e078efad53ebd2fdb3029d
BLAKE2b-256 8f21e535ab1d0c8bd5146c8d98f7e4d31485cd5e96b87d6199b17a9ebbd0d0f0

See more details on using hashes here.

Supported by

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