DebConf使用的Wafer扩展
项目描述
DebConf的Wafer应用程序
此软件包包含DebConf会议使用的几个Django应用程序。
badges - 名牌生成
bursary - 奖学金申请和审查
debconf - 随机片段
exports - 为组织者提供CSV数据导出
front_desk - 登记入住
invoices - 已付费参会者发票
register - 参会者注册
volunteers - 现场志愿者管理
配置
使用以下Django设置
发票
DEBCONF_INVOICE_ADDRESS
: 字符串。开具发票的邮政地址。DEBCONF_BILLING_CURRENCY_SYMBOL
: 字符串。账单货币符号。(例如 $)DEBCONF_BILLING_CURRENCY
: 字符串。账单货币代码。(例如 USD)DEBCONF_BURSARY_CURRENCY_SYMBOL
: 字符串。奖学金货币符号。(例如 $)DEBCONF_BURSARY_CURRENCY
: 字符串。奖学金货币代码(例如 USD)DEBCONF_LOCAL_CURRENCY_RATE
: 十进制。汇率。1 DEBCONF_BILLING_CURRENCY 在当地货币中能买多少。DEBCONF_LOCAL_CURRENCY_SYMBOL
: 字符串。当地货币符号。DEBCONF_LOCAL_CURRENCY
: 字符串。当地货币代码。INVOICE_PREFIX
: 字符串。发票ID的前缀。PRICES
: 字典中的字典,包含可购买的项目和价格。fee
: 字典,包含会议费用,每个费用都有一个name
和price
。meal
: 字典中的字典,包括(breakfast
、lunch
、dinner
、conference_dinner
)- 每个都包含一个
价格
和可选的名称
。
- 每个都包含一个
accomm
:字典的字典,(描述
(字符串),价格
(每夜十进制/整数),bursary
(布尔值),paid_separately
(布尔值),included_meals
(字符串集合)) 对每个住宿选项。如果选项有价格,则可出售。如果bursary,则免费提供给bursaried参与者。daytrip
:字典的字典,(描述
(字符串),long_description
(字符串),价格
(十进制/整数),capacity
(整数)) 每个选项。
DAYTRIP_OPEN
:布尔值。关闭daytrip注册。DAYTRIP_INSURANCE_OPEN
:布尔值。关闭daytrip保险注册。STRIPE_PUBLISHABLE_KEY
:字符串。Stripe API可发布密钥。STRIPE_SECRET_KEY
:字符串。Stripe API秘密密钥。STRIPE_ENDPOINT_SECRET
:字符串。Stripe Webhook端点密钥。
日期
DEBCONF_BURSARY_DEADLINE
:日期。提交bursaries的截止日期,AoE。DEBCONF_BURSARY_ACCEPTANCE_DEADLINE
:日期。所有bursaries需要接受的截止日期,否则将向参与者开具发票。DEBCONF_CONFERENCE_DINNER_DAY
:日期。有会议晚宴的日子。DEBCONF_CONFIRMATION_DEADLINE
:日期。需要确认出席的日期,AoE。DEBCONF_DATES
:会议部分的(描述,开始日期,结束日期)列表。DEBCONF_SKIPPED_MEALS
:不提供餐点的(字符串:餐名,日期)列表。VOLUNTEERS_FIRST_DAY
:日期。志愿服务的第一天。VOLUNTEERS_LAST_DAY
:日期。志愿服务的最后一天。
注册
BURSARIES_CLOSED
:布尔值。bursary请求是否还可以提交。DEBCONF_BREAKFAST
:布尔值。DebConf是否为参与者提供早餐。DEBCONF_SHOE_SIZES
:鞋码的(键,描述)列表。DEBCONF_T_SHIRT_SIZES
:T恤尺码的(键,描述)列表。RECONFIRMATION
:布尔值。是否有重新确认轮次(一旦开始,则设置为True)。DEBCONF_REVIEW_FREE_ATTENDEES
:布尔值。使用bursary系统审查免费参与者的出席情况。DEBCONF_COLLECT_AFFILIATION
:布尔值。向参与者询问他们的隶属关系,用于政府赞助商。
MiniDebConf注册
MINIDEBCONF_REGISTER_PHONE
:对于minidebconfs,注册时是否要求电话号码。值None
- 不询问(默认)False
- 询问但不要求True
- 询问并要求
MINIDEBCONF_REGISTER_ARRANGED_ACCOMMODATION
:布尔值。确定贡献者是否可以请求住在组织团队安排的住宿处(默认:False
)。MINIDEBCONF_REGISTER_ARRANGED_FOOD
:布尔值。确定参与者是否可以请求吃组织团队安排的餐点(默认:False
)。MINIDEBCONF_REGISTER_TRAVEL_REIMBURSEMENT
:贡献者是否可以请求MiniDebConf的差旅bursaries(默认:False)。MINIDEBCONF_REGISTER_DEFAULT_COUNTRY
:字符串。MiniDebConf注册表单中应默认选择的哪个国家(默认:None)。MINIDEBCONF_REGISTER_BURSARY_INFO_PAGE
:字符串。带有bursary信息的网页的URL。如果提供,将从MiniDebConf注册表单中链接(默认:None
)。MINIDEBCONF_REGISTER_SHIRT_INFO_PAGE
:字符串。有关T恤尺码信息的网页的URL。如果提供,将从MiniDebConf注册表单中链接(默认:None
)。
内容
TRACKS_FILE
:字符串。包含要加载到数据库中的轨道列表的YAML文件的路径。TALK_TYPES_FILE
:字符串。包含要加载到数据库中的演讲类型列表的YAML文件的路径。DEBCONF_TALK_PROVISION_URLS
:用于生成链接的在线服务的键值对字典 {Key: {pattern: String, private: Boolean}}。可用的格式字符串参数:id
、slug
、secret16
。
其他
DEBCONF_CITY
:字符串。DebConf举办城市的名称。DEBCONF_NAME
:字符串。Debconf的名称(例如:"DebConf XX")。DCSCHEDULE_TOKEN
:字符串。DCSchedule IRC机器人的API认证令牌。SANDBOX
:布尔值。这是一个开发实例还是生产实例。ISSUE_KSP_ID
:布尔值。密钥签名注册是否仍然开放?
流媒体
DEBCONF_VENUE_STREAM_HLS_URL
:字符串。HLS流的URL。{name}(如果存在),将被替换为小写 venue名称,并将所有非字母数字字符序列替换为"-"。示例- 固定URL:
"https://foo.bar/stream.m3u8"
(适用于单场会议。) - 按场馆URL:
"https://foo.bar/stream/{name}.m3u8"
变为"https://foo.bar/stream/my-venue.m3u8"
- 固定URL:
DEBCONF_VENUE_STREAM_RTMP_URL
:字符串。RTMP流的URL。{name}与DEBCONF_VENUE_STREAM_HLS_URL
相同;{quality}替换为质量(src、high、mid、low)。示例- 固定URL:
"rtmp://foo.bar/stream"
(适用于单场会议) - 按场馆URL:
"rtmp://foo.bar/stream/{name}_{quality}"
变为"rtmp://foo.bar/stream/my-venue_high"
("My Venue"的高质量流)
- 固定URL:
DEBCONF_VENUE_IRC_CHANNELS
:字符串列表。每个场馆要加入的频道列表;{name}替换如上所述。示例- 单频道会议:
["#conference"]
- 多场馆会议:
["#thatconf2020-{name}", "#thatconf2020"]
变为["#thatconf2020-my-venue", "#thatconf2020"]
- 单频道会议:
Stripe支付
首先,使用从Stripe仪表板获取的API密钥配置STRIPE_PUBLISHABLE_KEY
和STRIPE_SECRET_KEY
设置。
为了从Stripe接收支付确认,我们需要从他们那里接收webhook。
对于本地开发,您可以使用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)
使用stripe-cli listen
提供的密钥配置STRIPE_ENDPOINT_SECRET
。
对于生产使用,在Stripe仪表板中配置一个webhook。端点应该是https://my.debconf/invoices/stripe-webhook/
。监听charge.dispute.created
、charge.refunded
和payment_intent.succeeded
。同样,STRIPE_ENDPOINT_SECRET
应配置为webhook的签名密钥。