Update for LCA2021

This commit is contained in:
Joel Addison 2020-10-05 22:13:28 +10:00
parent 20083bcb16
commit b20dc75ea6
34 changed files with 276 additions and 1787 deletions

View file

@ -1,6 +1,7 @@
variables:
CONTAINER_IMAGE_2019: "asia.gcr.io/linuxconfsydney/symposion_app_2019"
CONTAINER_IMAGE_2020: "asia.gcr.io/linuxconfsydney/symposion_app_2020"
CONTAINER_IMAGE_2021: "asia.gcr.io/linuxconfsydney/symposion_app_2021"
DOCKER_DRIVER: overlay2
build_image:
@ -54,6 +55,23 @@ build_review_deployment:
- k8s/ingress.json
- k8s/certificate.json
build_2021_image:
image: docker:git
stage: build
services:
- docker:dind
script:
- docker login -u _json_key -p "$GOOGLE_KEY" https://asia.gcr.io
- docker pull "${CONTAINER_IMAGE_2021}":latest || true
- docker build --cache-from "${CONTAINER_IMAGE_2021}":latest -f docker/Dockerfile -t "${CONTAINER_IMAGE_2021}":$CI_COMMIT_SHA .
- docker push "${CONTAINER_IMAGE_2021}":$CI_COMMIT_SHA
- docker build --build-arg CI_COMMIT_SHA=$CI_COMMIT_SHA -f docker/Dockerfile.dev -t "${CONTAINER_IMAGE_2021}"_dev:$CI_COMMIT_SHA .
- docker push "${CONTAINER_IMAGE_2021}"_dev:$CI_COMMIT_SHA
- docker tag "${CONTAINER_IMAGE_2021}"_dev:$CI_COMMIT_SHA "${CONTAINER_IMAGE_2021}"_dev:$CI_COMMIT_REF_SLUG
- docker push "${CONTAINER_IMAGE_2021}"_dev:$CI_COMMIT_REF_SLUG
only:
- "2021"
build_2020_image:
image: docker:git
stage: build
@ -68,9 +86,8 @@ build_2020_image:
- docker push "${CONTAINER_IMAGE_2020}"_dev:$CI_COMMIT_SHA
- docker tag "${CONTAINER_IMAGE_2020}"_dev:$CI_COMMIT_SHA "${CONTAINER_IMAGE_2020}"_dev:$CI_COMMIT_REF_SLUG
- docker push "${CONTAINER_IMAGE_2020}"_dev:$CI_COMMIT_REF_SLUG
except:
only:
- "2020"
- "master"
2020-prod-deploy:
image: google/cloud-sdk
@ -86,8 +103,7 @@ build_2020_image:
when: manual
environment:
name: 2020/prod
url: https://lca2020.linux.conf.au
url: https://lca2020.linux.org.au
2019-prod-deploy:
image: google/cloud-sdk

View file

@ -1,4 +1,4 @@
ARG CI_COMMIT_SHA
FROM asia.gcr.io/linuxconfsydney/symposion_app_2020:$CI_COMMIT_SHA
FROM asia.gcr.io/linuxconfsydney/symposion_app_2021:$CI_COMMIT_SHA
CMD ["/app/symposion_app/docker/deploy_with_sqlite.sh"]

View file

@ -1,310 +0,0 @@
[
{
"model": "auth.permission",
"fields": {
"name": "Can review Main Conference",
"content_type": [
"reviews",
""
],
"codename": "can_review_main"
}
},
{
"model": "auth.permission",
"fields": {
"name": "Can manage Main Conference",
"content_type": [
"reviews",
""
],
"codename": "can_manage_main"
}
},
{
"model": "auth.permission",
"fields": {
"name": "Can review MiniConf",
"content_type": [
"reviews",
""
],
"codename": "can_review_miniconf"
}
},
{
"model": "auth.permission",
"fields": {
"name": "Can manage MiniConf",
"content_type": [
"reviews",
""
],
"codename": "can_manage_miniconf"
}
},
{
"model": "auth.permission",
"fields": {
"name": "Can review Containers Miniconf",
"content_type": [
"reviews",
""
],
"codename": "can_review_containers-miniconf"
}
},
{
"model": "auth.permission",
"fields": {
"name": "Can manage Containers Miniconf",
"content_type": [
"reviews",
""
],
"codename": "can_manage_containers-miniconf"
}
},
{
"model": "auth.permission",
"fields": {
"name": "Can review Creative Arts Miniconf",
"content_type": [
"reviews",
""
],
"codename": "can_review_creative-arts-miniconf"
}
},
{
"model": "auth.permission",
"fields": {
"name": "Can manage Creative Arts Miniconf",
"content_type": [
"reviews",
""
],
"codename": "can_manage_creative-arts-miniconf"
}
},
{
"model": "auth.permission",
"fields": {
"name": "Can review Docs Miniconf",
"content_type": [
"reviews",
""
],
"codename": "can_review_docs-miniconf"
}
},
{
"model": "auth.permission",
"fields": {
"name": "Can manage Docs Miniconf",
"content_type": [
"reviews",
""
],
"codename": "can_manage_docs-miniconf"
}
},
{
"model": "auth.permission",
"fields": {
"name": "Can review FreeBSD Miniconf",
"content_type": [
"reviews",
""
],
"codename": "can_review_freebsd-miniconf"
}
},
{
"model": "auth.permission",
"fields": {
"name": "Can manage FreeBSD Miniconf",
"content_type": [
"reviews",
""
],
"codename": "can_manage_freebsd-miniconf"
}
},
{
"model": "auth.permission",
"fields": {
"name": "Can review Games Miniconf",
"content_type": [
"reviews",
""
],
"codename": "can_review_games-miniconf"
}
},
{
"model": "auth.permission",
"fields": {
"name": "Can manage Games Miniconf",
"content_type": [
"reviews",
""
],
"codename": "can_manage_games-miniconf"
}
},
{
"model": "auth.permission",
"fields": {
"name": "Can review GLAM Miniconf",
"content_type": [
"reviews",
""
],
"codename": "can_review_glam-miniconf"
}
},
{
"model": "auth.permission",
"fields": {
"name": "Can manage GLAM Miniconf",
"content_type": [
"reviews",
""
],
"codename": "can_manage_glam-miniconf"
}
},
{
"model": "auth.permission",
"fields": {
"name": "Can review Kernel Miniconf",
"content_type": [
"reviews",
""
],
"codename": "can_review_kernel-miniconf"
}
},
{
"model": "auth.permission",
"fields": {
"name": "Can manage Kernel Miniconf",
"content_type": [
"reviews",
""
],
"codename": "can_manage_kernel-miniconf"
}
},
{
"model": "auth.permission",
"fields": {
"name": "Can review Open Education Miniconf",
"content_type": [
"reviews",
""
],
"codename": "can_review_open-education-miniconf"
}
},
{
"model": "auth.permission",
"fields": {
"name": "Can manage Open Education Miniconf",
"content_type": [
"reviews",
""
],
"codename": "can_manage_open-education-miniconf"
}
},
{
"model": "auth.permission",
"fields": {
"name": "Can review Open Hardware Miniconf",
"content_type": [
"reviews",
""
],
"codename": "can_review_open-hardware-miniconf"
}
},
{
"model": "auth.permission",
"fields": {
"name": "Can manage Open Hardware Miniconf",
"content_type": [
"reviews",
""
],
"codename": "can_manage_open-hardware-miniconf"
}
},
{
"model": "auth.permission",
"fields": {
"name": "Can review Open ISA Miniconf",
"content_type": [
"reviews",
""
],
"codename": "can_review_open-isa-miniconf"
}
},
{
"model": "auth.permission",
"fields": {
"name": "Can manage Open ISA Miniconf",
"content_type": [
"reviews",
""
],
"codename": "can_manage_open-isa-miniconf"
}
},
{
"model": "auth.permission",
"fields": {
"name": "Can review Security Miniconf",
"content_type": [
"reviews",
""
],
"codename": "can_review_security-miniconf"
}
},
{
"model": "auth.permission",
"fields": {
"name": "Can manage Security Miniconf",
"content_type": [
"reviews",
""
],
"codename": "can_manage_security-miniconf"
}
},
{
"model": "auth.permission",
"fields": {
"name": "Can review System Administration Miniconf",
"content_type": [
"reviews",
""
],
"codename": "can_review_sysadmin-miniconf"
}
},
{
"model": "auth.permission",
"fields": {
"name": "Can manage System Administration Miniconf",
"content_type": [
"reviews",
""
],
"codename": "can_manage_sysadmin-miniconf"
}
}
]

View file

@ -1,156 +0,0 @@
[
{
"model": "symposion_conference.section",
"pk": 1,
"fields": {
"conference": 1,
"name": "Main Conference",
"slug": "main",
"start_date": "2020-01-15",
"end_date": "2020-01-17"
}
},
{
"model": "symposion_conference.section",
"pk": 2,
"fields": {
"conference": 1,
"name": "MiniConf",
"slug": "miniconf",
"start_date": null,
"end_date": null
}
},
{
"model": "symposion_conference.section",
"pk": 3,
"fields": {
"conference": 1,
"name": "Containers Miniconf",
"slug": "containers-miniconf",
"start_date": "2020-01-14",
"end_date": "2020-01-14"
}
},
{
"model": "symposion_conference.section",
"pk": 4,
"fields": {
"conference": 1,
"name": "Creative Arts Miniconf",
"slug": "creative-arts-miniconf",
"start_date": "2020-01-14",
"end_date": "2020-01-14"
}
},
{
"model": "symposion_conference.section",
"pk": 5,
"fields": {
"conference": 1,
"name": "Docs Miniconf",
"slug": "docs-miniconf",
"start_date": "2020-01-13",
"end_date": "2020-01-13"
}
},
{
"model": "symposion_conference.section",
"pk": 6,
"fields": {
"conference": 1,
"name": "FreeBSD Miniconf",
"slug": "freebsd-miniconf",
"start_date": "2020-01-14",
"end_date": "2020-01-14"
}
},
{
"model": "symposion_conference.section",
"pk": 7,
"fields": {
"conference": 1,
"name": "Games Miniconf",
"slug": "games-miniconf",
"start_date": "2020-01-13",
"end_date": "2020-01-13"
}
},
{
"model": "symposion_conference.section",
"pk": 8,
"fields": {
"conference": 1,
"name": "GLAM Miniconf",
"slug": "glam-miniconf",
"start_date": "2020-01-14",
"end_date": "2020-01-14"
}
},
{
"model": "symposion_conference.section",
"pk": 9,
"fields": {
"conference": 1,
"name": "Kernel Miniconf",
"slug": "kernel-miniconf",
"start_date": "2020-01-13",
"end_date": "2020-01-13"
}
},
{
"model": "symposion_conference.section",
"pk": 10,
"fields": {
"conference": 1,
"name": "Open Education Miniconf",
"slug": "open-education-miniconf",
"start_date": "2020-01-13",
"end_date": "2020-01-13"
}
},
{
"model": "symposion_conference.section",
"pk": 11,
"fields": {
"conference": 1,
"name": "Open Hardware Miniconf",
"slug": "open-hardware-miniconf",
"start_date": "2020-01-14",
"end_date": "2020-01-14"
}
},
{
"model": "symposion_conference.section",
"pk": 12,
"fields": {
"conference": 1,
"name": "Open ISA Miniconf",
"slug": "open-isa-miniconf",
"start_date": "2020-01-13",
"end_date": "2020-01-13"
}
},
{
"model": "symposion_conference.section",
"pk": 13,
"fields": {
"conference": 1,
"name": "Security Miniconf",
"slug": "security-miniconf",
"start_date": "2020-01-14",
"end_date": "2020-01-14"
}
},
{
"model": "symposion_conference.section",
"pk": 14,
"fields": {
"conference": 1,
"name": "System Administration Miniconf",
"slug": "sysadmin-miniconf",
"start_date": "2020-01-13",
"end_date": "2020-01-13"
}
}
]

View file

@ -1,137 +0,0 @@
[
{
"model": "symposion_proposals.proposalkind",
"pk": 1,
"fields": {
"section": 1,
"name": "Talk",
"slug": "talk"
}
},
{
"model": "symposion_proposals.proposalkind",
"pk": 2,
"fields": {
"section": 1,
"name": "Tutorial",
"slug": "tutorial"
}
},
{
"model": "symposion_proposals.proposalkind",
"pk": 3,
"fields": {
"section": 2,
"name": "Miniconf",
"slug": "miniconf"
}
},
{
"model": "symposion_proposals.proposalkind",
"pk": 4,
"fields": {
"section": 3,
"name": "Containers Miniconf Talk",
"slug": "containers-miniconf"
}
},
{
"model": "symposion_proposals.proposalkind",
"pk": 5,
"fields": {
"section": 4,
"name": "Creative Arts Miniconf Talk",
"slug": "creative-arts-miniconf"
}
},
{
"model": "symposion_proposals.proposalkind",
"pk": 6,
"fields": {
"section": 5,
"name": "Docs Miniconf Talk",
"slug": "docs-miniconf"
}
},
{
"model": "symposion_proposals.proposalkind",
"pk": 7,
"fields": {
"section": 6,
"name": "FreeBSD Miniconf Talk",
"slug": "freebsd-miniconf"
}
},
{
"model": "symposion_proposals.proposalkind",
"pk": 8,
"fields": {
"section": 7,
"name": "Games Miniconf Talk",
"slug": "games-miniconf"
}
},
{
"model": "symposion_proposals.proposalkind",
"pk": 9,
"fields": {
"section": 8,
"name": "GO GLAM Miniconf Talk",
"slug": "glam-miniconf"
}
},
{
"model": "symposion_proposals.proposalkind",
"pk": 10,
"fields": {
"section": 9,
"name": "Kernel Miniconf Talk",
"slug": "kernel-miniconf"
}
},
{
"model": "symposion_proposals.proposalkind",
"pk": 11,
"fields": {
"section": 10,
"name": "Open Education Miniconf Talk",
"slug": "open-education-miniconf"
}
},
{
"model": "symposion_proposals.proposalkind",
"pk": 12,
"fields": {
"section": 11,
"name": "Open Hardware Miniconf Talk",
"slug": "open-hardware-miniconf"
}
},
{
"model": "symposion_proposals.proposalkind",
"pk": 13,
"fields": {
"section": 12,
"name": "Open ISA Miniconf Talk",
"slug": "open-isa-miniconf"
}
},
{
"model": "symposion_proposals.proposalkind",
"pk": 14,
"fields": {
"section": 13,
"name": "Security Miniconf Talk",
"slug": "security-miniconf"
}
},
{
"model": "symposion_proposals.proposalkind",
"pk": 15,
"fields": {
"section": 14,
"name": "System Administration Miniconf Talk",
"slug": "sysadmin-miniconf"
}
}
]

View file

@ -1,156 +0,0 @@
[
{
"model": "symposion_proposals.proposalsection",
"pk": 1,
"fields": {
"section": 1,
"start": "2019-06-23T07:09:15Z",
"end": "2019-08-12T12:10:48Z",
"closed": true,
"published": true
}
},
{
"model": "symposion_proposals.proposalsection",
"pk": 2,
"fields": {
"section": 2,
"start": "2019-06-22T12:00:00Z",
"end": "2019-08-12T12:10:36Z",
"closed": true,
"published": true
}
},
{
"model": "symposion_proposals.proposalsection",
"pk": 3,
"fields": {
"section": 3,
"start": "2019-09-29T11:00:00Z",
"end": "2019-11-16T11:00:00Z",
"closed": false,
"published": true
}
},
{
"model": "symposion_proposals.proposalsection",
"pk": 4,
"fields": {
"section": 4,
"start": "2019-09-29T11:00:00Z",
"end": "2019-11-16T11:00:00Z",
"closed": false,
"published": true
}
},
{
"model": "symposion_proposals.proposalsection",
"pk": 5,
"fields": {
"section": 5,
"start": "2019-09-29T11:00:00Z",
"end": "2019-11-16T11:00:00Z",
"closed": false,
"published": true
}
},
{
"model": "symposion_proposals.proposalsection",
"pk": 6,
"fields": {
"section": 6,
"start": "2019-09-29T11:00:00Z",
"end": "2019-11-16T11:00:00Z",
"closed": false,
"published": true
}
},
{
"model": "symposion_proposals.proposalsection",
"pk": 7,
"fields": {
"section": 7,
"start": "2019-09-29T11:00:00Z",
"end": "2019-11-16T11:00:00Z",
"closed": false,
"published": true
}
},
{
"model": "symposion_proposals.proposalsection",
"pk": 8,
"fields": {
"section": 8,
"start": "2019-09-29T11:00:00Z",
"end": "2019-11-16T11:00:00Z",
"closed": false,
"published": true
}
},
{
"model": "symposion_proposals.proposalsection",
"pk": 9,
"fields": {
"section": 9,
"start": "2019-09-29T11:00:00Z",
"end": "2019-11-16T11:00:00Z",
"closed": false,
"published": true
}
},
{
"model": "symposion_proposals.proposalsection",
"pk": 10,
"fields": {
"section": 10,
"start": "2019-09-29T11:00:00Z",
"end": "2019-11-16T11:00:00Z",
"closed": false,
"published": true
}
},
{
"model": "symposion_proposals.proposalsection",
"pk": 11,
"fields": {
"section": 11,
"start": "2019-09-29T11:00:00Z",
"end": "2019-11-16T11:00:00Z",
"closed": false,
"published": true
}
},
{
"model": "symposion_proposals.proposalsection",
"pk": 12,
"fields": {
"section": 12,
"start": "2019-09-29T11:00:00Z",
"end": "2019-11-16T11:00:00Z",
"closed": false,
"published": true
}
},
{
"model": "symposion_proposals.proposalsection",
"pk": 13,
"fields": {
"section": 13,
"start": "2019-09-29T11:00:00Z",
"end": "2019-11-16T11:00:00Z",
"closed": false,
"published": true
}
},
{
"model": "symposion_proposals.proposalsection",
"pk": 14,
"fields": {
"section": 14,
"start": "2019-09-29T11:00:00Z",
"end": "2019-11-16T11:00:00Z",
"closed": false,
"published": true
}
}
]

View file

@ -1,431 +0,0 @@
[
{
"model": "teams.team",
"pk": 1,
"fields": {
"slug": "main-proposals",
"name": "linux.conf.au 2020 Sessions Team",
"description": "Team looking after the linux.conf.au 2020 Call for Sessions and Call for Miniconfs",
"access": "invitation",
"created": "2019-06-23T08:16:34.032Z",
"permissions": [
[
"can_review_main",
"reviews",
""
],
[
"can_review_miniconf",
"reviews",
""
]
],
"manager_permissions": [
[
"can_manage_main",
"reviews",
""
],
[
"can_manage_miniconf",
"reviews",
""
],
[
"can_review_main",
"reviews",
""
],
[
"can_review_miniconf",
"reviews",
""
]
]
}
},
{
"model": "teams.team",
"pk": 2,
"fields": {
"slug": "lca2020-organising-team",
"name": "linux.conf.au 2020 Organising Team",
"description": "The organising team for linux.conf.au 2020",
"access": "invitation",
"created": "2019-08-26T22:59:09.265Z",
"permissions": [
[
"can_review_main",
"reviews",
""
],
[
"can_review_miniconf",
"reviews",
""
]
],
"manager_permissions": []
}
},
{
"model": "teams.team",
"pk": 3,
"fields": {
"slug": "containers-miniconf-team",
"name": "Containers Miniconf Team",
"description": "",
"access": "invitation",
"created": "2019-09-29T02:28:51.279Z",
"permissions": [
[
"can_review_containers-miniconf",
"reviews",
""
]
],
"manager_permissions": [
[
"can_manage_containers-miniconf",
"reviews",
""
],
[
"can_review_containers-miniconf",
"reviews",
""
]
]
}
},
{
"model": "teams.team",
"pk": 4,
"fields": {
"slug": "creative-arts-miniconf-team",
"name": "Creative Arts Miniconf Team",
"description": "",
"access": "invitation",
"created": "2019-09-29T02:29:29.201Z",
"permissions": [
[
"can_review_creative-arts-miniconf",
"reviews",
""
]
],
"manager_permissions": [
[
"can_manage_creative-arts-miniconf",
"reviews",
""
],
[
"can_review_creative-arts-miniconf",
"reviews",
""
]
]
}
},
{
"model": "teams.team",
"pk": 5,
"fields": {
"slug": "docs-miniconf-team",
"name": "Docs Miniconf Team",
"description": "",
"access": "invitation",
"created": "2019-09-29T02:29:41.588Z",
"permissions": [
[
"can_review_docs-miniconf",
"reviews",
""
]
],
"manager_permissions": [
[
"can_manage_docs-miniconf",
"reviews",
""
],
[
"can_review_docs-miniconf",
"reviews",
""
]
]
}
},
{
"model": "teams.team",
"pk": 6,
"fields": {
"slug": "freebsd-miniconf-team",
"name": "FreeBSD Miniconf Team",
"description": "",
"access": "invitation",
"created": "2019-09-29T02:29:53.047Z",
"permissions": [
[
"can_review_freebsd-miniconf",
"reviews",
""
]
],
"manager_permissions": [
[
"can_manage_freebsd-miniconf",
"reviews",
""
],
[
"can_review_freebsd-miniconf",
"reviews",
""
]
]
}
},
{
"model": "teams.team",
"pk": 7,
"fields": {
"slug": "games-miniconf-team",
"name": "Games Miniconf Team",
"description": "",
"access": "invitation",
"created": "2019-09-29T02:30:04.621Z",
"permissions": [
[
"can_review_games-miniconf",
"reviews",
""
]
],
"manager_permissions": [
[
"can_manage_games-miniconf",
"reviews",
""
],
[
"can_review_games-miniconf",
"reviews",
""
]
]
}
},
{
"model": "teams.team",
"pk": 8,
"fields": {
"slug": "glam-miniconf-team",
"name": "GLAM Miniconf Team",
"description": "",
"access": "invitation",
"created": "2019-09-29T02:30:17.748Z",
"permissions": [
[
"can_review_glam-miniconf",
"reviews",
""
]
],
"manager_permissions": [
[
"can_manage_glam-miniconf",
"reviews",
""
],
[
"can_review_glam-miniconf",
"reviews",
""
]
]
}
},
{
"model": "teams.team",
"pk": 9,
"fields": {
"slug": "kernel-miniconf-team",
"name": "Kernel Miniconf Team",
"description": "",
"access": "invitation",
"created": "2019-09-29T02:30:29.330Z",
"permissions": [
[
"can_review_kernel-miniconf",
"reviews",
""
]
],
"manager_permissions": [
[
"can_manage_kernel-miniconf",
"reviews",
""
],
[
"can_review_kernel-miniconf",
"reviews",
""
]
]
}
},
{
"model": "teams.team",
"pk": 10,
"fields": {
"slug": "open-education-miniconf-team",
"name": "Open Education Miniconf Team",
"description": "",
"access": "invitation",
"created": "2019-09-29T02:30:43.144Z",
"permissions": [
[
"can_review_open-education-miniconf",
"reviews",
""
]
],
"manager_permissions": [
[
"can_manage_open-education-miniconf",
"reviews",
""
],
[
"can_review_open-education-miniconf",
"reviews",
""
]
]
}
},
{
"model": "teams.team",
"pk": 11,
"fields": {
"slug": "open-hardware-miniconf-team",
"name": "Open Hardware Miniconf Team",
"description": "",
"access": "invitation",
"created": "2019-09-29T02:30:53.971Z",
"permissions": [
[
"can_review_open-hardware-miniconf",
"reviews",
""
]
],
"manager_permissions": [
[
"can_manage_open-hardware-miniconf",
"reviews",
""
],
[
"can_review_open-hardware-miniconf",
"reviews",
""
]
]
}
},
{
"model": "teams.team",
"pk": 12,
"fields": {
"slug": "open-isa-miniconf-team",
"name": "Open ISA Miniconf Team",
"description": "",
"access": "invitation",
"created": "2019-09-29T02:31:06.522Z",
"permissions": [
[
"can_review_open-isa-miniconf",
"reviews",
""
]
],
"manager_permissions": [
[
"can_manage_open-isa-miniconf",
"reviews",
""
],
[
"can_review_open-isa-miniconf",
"reviews",
""
]
]
}
},
{
"model": "teams.team",
"pk": 13,
"fields": {
"slug": "security-miniconf-team",
"name": "Security Miniconf Team",
"description": "",
"access": "invitation",
"created": "2019-09-29T02:31:17.338Z",
"permissions": [
[
"can_review_security-miniconf",
"reviews",
""
]
],
"manager_permissions": [
[
"can_manage_security-miniconf",
"reviews",
""
],
[
"can_review_security-miniconf",
"reviews",
""
]
]
}
},
{
"model": "teams.team",
"pk": 14,
"fields": {
"slug": "sysadmin-miniconf-team",
"name": "System Administration Miniconf Team",
"description": "",
"access": "invitation",
"created": "2019-09-29T02:31:33.895Z",
"permissions": [
[
"can_review_sysadmin-miniconf",
"reviews",
""
]
],
"manager_permissions": [
[
"can_manage_sysadmin-miniconf",
"reviews",
""
],
[
"can_review_sysadmin-miniconf",
"reviews",
""
]
]
}
}
]

View file

@ -0,0 +1,46 @@
[
{
"model": "auth.permission",
"fields": {
"name": "Can review Main Conference",
"content_type": [
"reviews",
""
],
"codename": "can_review_main"
}
},
{
"model": "auth.permission",
"fields": {
"name": "Can manage Main Conference",
"content_type": [
"reviews",
""
],
"codename": "can_manage_main"
}
},
{
"model": "auth.permission",
"fields": {
"name": "Can review MiniConf",
"content_type": [
"reviews",
""
],
"codename": "can_review_miniconf"
}
},
{
"model": "auth.permission",
"fields": {
"name": "Can manage MiniConf",
"content_type": [
"reviews",
""
],
"codename": "can_manage_miniconf"
}
}
]

View file

@ -0,0 +1,24 @@
[
{
"model": "symposion_conference.section",
"pk": 1,
"fields": {
"conference": 1,
"name": "Main Conference",
"slug": "main",
"start_date": "2021-01-23",
"end_date": "2021-01-25"
}
},
{
"model": "symposion_conference.section",
"pk": 2,
"fields": {
"conference": 1,
"name": "MiniConf",
"slug": "miniconf",
"start_date": null,
"end_date": null
}
}
]

View file

@ -0,0 +1,20 @@
[
{
"model": "symposion_proposals.proposalkind",
"pk": 1,
"fields": {
"section": 1,
"name": "Talk",
"slug": "talk"
}
},
{
"model": "symposion_proposals.proposalkind",
"pk": 3,
"fields": {
"section": 2,
"name": "Miniconf",
"slug": "miniconf"
}
}
]

View file

@ -0,0 +1,24 @@
[
{
"model": "symposion_proposals.proposalsection",
"pk": 1,
"fields": {
"section": 1,
"start": "2020-10-06T12:00:00Z",
"end": "2020-11-01T12:00:00Z",
"closed": false,
"published": true
}
},
{
"model": "symposion_proposals.proposalsection",
"pk": 2,
"fields": {
"section": 2,
"start": "2020-10-06T12:00:00Z",
"end": "2020-11-01T12:00:00Z",
"closed": false,
"published": true
}
}
]

View file

@ -0,0 +1,61 @@
[
{
"model": "teams.team",
"pk": 1,
"fields": {
"slug": "main-proposals",
"name": "linux.conf.au 2021 Sessions Team",
"description": "Team looking after the linux.conf.au 2021 Call for Sessions",
"access": "invitation",
"created": "2019-06-23T08:16:34.032Z",
"permissions": [
[
"can_review_main",
"reviews",
""
],
[
"can_review_miniconf",
"reviews",
""
]
],
"manager_permissions": [
[
"can_manage_main",
"reviews",
""
],
[
"can_review_main",
"reviews",
""
]
]
}
},
{
"model": "teams.team",
"pk": 2,
"fields": {
"slug": "lca2021-organising-team",
"name": "linux.conf.au 2021 Organising Team",
"description": "The organising team for linux.conf.au 2021",
"access": "invitation",
"created": "2019-08-26T22:59:09.265Z",
"permissions": [
[
"can_review_main",
"reviews",
""
],
[
"can_review_miniconf",
"reviews",
""
]
],
"manager_permissions": []
}
}
]

View file

@ -3,9 +3,9 @@
"model": "symposion_conference.conference",
"pk": 1,
"fields": {
"title": "linux.conf.au 2020",
"start_date": "2020-01-13",
"end_date": "2020-01-17",
"title": "linux.conf.au 2021",
"start_date": "2021-01-23",
"end_date": "2021-01-25",
"timezone": "Australia/Brisbane"
}
}

File diff suppressed because one or more lines are too long

View file

@ -3,8 +3,8 @@
"model": "sites.site",
"pk": 1,
"fields": {
"domain": "lca2020.linux.org.au",
"name": "linux.conf.au 2020"
"domain": "lca2021.linux.org.au",
"name": "linux.conf.au 2021"
}
}
]

View file

@ -131,7 +131,7 @@
"model": "sitetree.treeitem",
"pk": 6,
"fields": {
"title": "About LCA2020",
"title": "About LCA2021",
"hint": "",
"url": "/about/",
"urlaspattern": false,

View file

@ -121,7 +121,7 @@ function (slug, sha) {
"value": "UA-000000000-1"
}
],
"image": "asia.gcr.io/linuxconfsydney/symposion_app_2020_dev:" + sha,
"image": "asia.gcr.io/linuxconfsydney/symposion_app_2021_dev:" + sha,
"imagePullPolicy": "Always",
"livenessProbe": {
"failureThreshold": 3,

View file

@ -24,19 +24,6 @@ models_to_register = [
models.TalkProposal,
models.TutorialProposal,
models.MiniconfProposal,
### LCA2020 Miniconfs
models.ContainersProposal,
models.CreativeArtsProposal,
models.DocsProposal,
models.FreeBsdProposal,
models.GamesProposal,
models.GlamProposal,
models.KernelProposal,
models.OpenEducationProposal,
models.OpenHardwareProposal,
models.OpenIsaProposal,
models.SecurityProposal,
models.SysAdminProposal,
]
for model in models_to_register:

View file

@ -84,95 +84,3 @@ class MiniconfProposalForm(ProposalForm):
"materials_release",
]
### LCA2020 Miniconfs
class MiniconfProposalForm(ProposalForm):
def __init__(self, *a, **k):
super(MiniconfProposalForm, self).__init__(*a, **k)
self.fields['ticket_acknowledgement'].required = True
class ContainersProposalForm(MiniconfProposalForm):
class Meta:
model = models.ContainersProposal
fields = TALK_FORMAT_FIELDS
class CreativeArtsProposalForm(MiniconfProposalForm):
class Meta:
model = models.CreativeArtsProposal
fields = TALK_FORMAT_FIELDS
class DocsProposalForm(MiniconfProposalForm):
class Meta:
model = models.DocsProposal
fields = TALK_FORMAT_FIELDS
class FreeBsdProposalForm(MiniconfProposalForm):
class Meta:
model = models.FreeBsdProposal
fields = TALK_FORMAT_FIELDS
class GamesProposalForm(MiniconfProposalForm):
class Meta:
model = models.GamesProposal
fields = TALK_FORMAT_FIELDS
class GlamProposalForm(MiniconfProposalForm):
class Meta:
model = models.GlamProposal
fields = TALK_FORMAT_FIELDS
class KernelProposalForm(MiniconfProposalForm):
class Meta:
model = models.KernelProposal
fields = TALK_FORMAT_FIELDS
class OpenEducationProposalForm(MiniconfProposalForm):
class Meta:
model = models.OpenEducationProposal
fields = TALK_FORMAT_FIELDS
class OpenHardwareProposalForm(MiniconfProposalForm):
class Meta:
model = models.OpenHardwareProposal
fields = TALK_FORMAT_FIELDS
class OpenIsaProposalForm(MiniconfProposalForm):
class Meta:
model = models.OpenIsaProposal
fields = TALK_FORMAT_FIELDS
class SecurityProposalForm(MiniconfProposalForm):
class Meta:
model = models.SecurityProposal
fields = TALK_FORMAT_FIELDS
class SysAdminProposalForm(MiniconfProposalForm):
class Meta:
model = models.SysAdminProposal
fields = TALK_FORMAT_FIELDS

View file

@ -1,197 +0,0 @@
# -*- coding: utf-8 -*-
# Generated by Django 1.11.22 on 2019-09-29 09:56
from __future__ import unicode_literals
from django.db import migrations, models
import django.db.models.deletion
class Migration(migrations.Migration):
dependencies = [
('symposion_proposals', '0003_auto_20170702_2250'),
('proposals', '0016_auto_20190624_2328'),
]
operations = [
migrations.CreateModel(
name='ContainersProposal',
fields=[
('proposalbase_ptr', models.OneToOneField(auto_created=True, on_delete=django.db.models.deletion.CASCADE, parent_link=True, primary_key=True, serialize=False, to='symposion_proposals.ProposalBase')),
('target_audience', models.IntegerField(choices=[(1, 'User'), (2, 'Business'), (3, 'Community'), (4, 'Developer')])),
('recording_release', models.BooleanField(default=True, help_text="I allow Linux Australia to release any recordings of presentations covered by this proposal, under the <a href='https://creativecommons.org/licenses/by-sa/3.0/au/deed.en'> Creative Commons Attribution-Share Alike Australia 3.0 Licence</a>")),
('materials_release', models.BooleanField(default=True, help_text="I allow Linux Australia to release any other material (such as slides) from presentations covered by this proposal, under the <a href='https://creativecommons.org/licenses/by-sa/3.0/au/deed.en'> Creative Commons Attribution-Share Alike Australia 3.0 Licence</a>")),
('ticket_acknowledgement', models.BooleanField(default=False, help_text='I understand that I will be required to purchase a conference ticket and arrange my own travel and accommodation, as linux.conf.au miniconfs are unfunded community run events.')),
('talk_format', models.IntegerField(choices=[(1, 'Lightning Talk (5-10 min)'), (2, 'Short Presentation (20-25 min)'), (3, 'Presentation (40-45 min)')], default=3, help_text='Please indicate your preferred talk length in the private abstract field below.')),
],
options={
'verbose_name': 'Containers Miniconf Proposal',
},
bases=('symposion_proposals.proposalbase',),
),
migrations.CreateModel(
name='CreativeArtsProposal',
fields=[
('proposalbase_ptr', models.OneToOneField(auto_created=True, on_delete=django.db.models.deletion.CASCADE, parent_link=True, primary_key=True, serialize=False, to='symposion_proposals.ProposalBase')),
('target_audience', models.IntegerField(choices=[(1, 'User'), (2, 'Business'), (3, 'Community'), (4, 'Developer')])),
('recording_release', models.BooleanField(default=True, help_text="I allow Linux Australia to release any recordings of presentations covered by this proposal, under the <a href='https://creativecommons.org/licenses/by-sa/3.0/au/deed.en'> Creative Commons Attribution-Share Alike Australia 3.0 Licence</a>")),
('materials_release', models.BooleanField(default=True, help_text="I allow Linux Australia to release any other material (such as slides) from presentations covered by this proposal, under the <a href='https://creativecommons.org/licenses/by-sa/3.0/au/deed.en'> Creative Commons Attribution-Share Alike Australia 3.0 Licence</a>")),
('ticket_acknowledgement', models.BooleanField(default=False, help_text='I understand that I will be required to purchase a conference ticket and arrange my own travel and accommodation, as linux.conf.au miniconfs are unfunded community run events.')),
('talk_format', models.IntegerField(choices=[(1, 'Short Presentation (15 min)'), (2, 'Medium Presentation (30 min)'), (3, 'Long Presentation (60 min)')], default=1, help_text='Please indicate your preferred talk length in the private abstract field below.')),
],
options={
'verbose_name': 'Creative Arts Miniconf Proposal',
},
bases=('symposion_proposals.proposalbase',),
),
migrations.CreateModel(
name='DocsProposal',
fields=[
('proposalbase_ptr', models.OneToOneField(auto_created=True, on_delete=django.db.models.deletion.CASCADE, parent_link=True, primary_key=True, serialize=False, to='symposion_proposals.ProposalBase')),
('target_audience', models.IntegerField(choices=[(1, 'User'), (2, 'Business'), (3, 'Community'), (4, 'Developer')])),
('recording_release', models.BooleanField(default=True, help_text="I allow Linux Australia to release any recordings of presentations covered by this proposal, under the <a href='https://creativecommons.org/licenses/by-sa/3.0/au/deed.en'> Creative Commons Attribution-Share Alike Australia 3.0 Licence</a>")),
('materials_release', models.BooleanField(default=True, help_text="I allow Linux Australia to release any other material (such as slides) from presentations covered by this proposal, under the <a href='https://creativecommons.org/licenses/by-sa/3.0/au/deed.en'> Creative Commons Attribution-Share Alike Australia 3.0 Licence</a>")),
('ticket_acknowledgement', models.BooleanField(default=False, help_text='I understand that I will be required to purchase a conference ticket and arrange my own travel and accommodation, as linux.conf.au miniconfs are unfunded community run events.')),
('talk_format', models.IntegerField(choices=[(1, 'Lightning Talk (5-10 min)'), (2, 'Short Presentation (20-25 min)'), (3, 'Presentation (40-45 min)')], default=3, help_text='Please indicate your preferred talk length in the private abstract field below.')),
],
options={
'verbose_name': 'Documentation Miniconf Proposal',
},
bases=('symposion_proposals.proposalbase',),
),
migrations.CreateModel(
name='FreeBsdProposal',
fields=[
('proposalbase_ptr', models.OneToOneField(auto_created=True, on_delete=django.db.models.deletion.CASCADE, parent_link=True, primary_key=True, serialize=False, to='symposion_proposals.ProposalBase')),
('target_audience', models.IntegerField(choices=[(1, 'User'), (2, 'Business'), (3, 'Community'), (4, 'Developer')])),
('recording_release', models.BooleanField(default=True, help_text="I allow Linux Australia to release any recordings of presentations covered by this proposal, under the <a href='https://creativecommons.org/licenses/by-sa/3.0/au/deed.en'> Creative Commons Attribution-Share Alike Australia 3.0 Licence</a>")),
('materials_release', models.BooleanField(default=True, help_text="I allow Linux Australia to release any other material (such as slides) from presentations covered by this proposal, under the <a href='https://creativecommons.org/licenses/by-sa/3.0/au/deed.en'> Creative Commons Attribution-Share Alike Australia 3.0 Licence</a>")),
('ticket_acknowledgement', models.BooleanField(default=False, help_text='I understand that I will be required to purchase a conference ticket and arrange my own travel and accommodation, as linux.conf.au miniconfs are unfunded community run events.')),
('talk_format', models.IntegerField(choices=[(1, 'Short Presentation (25 min)'), (3, 'Presentation (30 min)')], default=3, help_text='Please indicate your preferred talk length in the private abstract field below.')),
],
options={
'verbose_name': 'FreeBSD Miniconf Proposal',
},
bases=('symposion_proposals.proposalbase',),
),
migrations.CreateModel(
name='GamesProposal',
fields=[
('proposalbase_ptr', models.OneToOneField(auto_created=True, on_delete=django.db.models.deletion.CASCADE, parent_link=True, primary_key=True, serialize=False, to='symposion_proposals.ProposalBase')),
('target_audience', models.IntegerField(choices=[(1, 'User'), (2, 'Business'), (3, 'Community'), (4, 'Developer')])),
('recording_release', models.BooleanField(default=True, help_text="I allow Linux Australia to release any recordings of presentations covered by this proposal, under the <a href='https://creativecommons.org/licenses/by-sa/3.0/au/deed.en'> Creative Commons Attribution-Share Alike Australia 3.0 Licence</a>")),
('materials_release', models.BooleanField(default=True, help_text="I allow Linux Australia to release any other material (such as slides) from presentations covered by this proposal, under the <a href='https://creativecommons.org/licenses/by-sa/3.0/au/deed.en'> Creative Commons Attribution-Share Alike Australia 3.0 Licence</a>")),
('ticket_acknowledgement', models.BooleanField(default=False, help_text='I understand that I will be required to purchase a conference ticket and arrange my own travel and accommodation, as linux.conf.au miniconfs are unfunded community run events.')),
('talk_format', models.IntegerField(choices=[(1, 'Presentation (short)'), (3, 'Presentation (long)'), (4, 'Demonstration'), (5, 'Other')], default=3, help_text='Please indicate your preferred talk length in the private abstract field below.')),
],
options={
'verbose_name': 'Games and FOSS Miniconf Proposal',
},
bases=('symposion_proposals.proposalbase',),
),
migrations.CreateModel(
name='GlamProposal',
fields=[
('proposalbase_ptr', models.OneToOneField(auto_created=True, on_delete=django.db.models.deletion.CASCADE, parent_link=True, primary_key=True, serialize=False, to='symposion_proposals.ProposalBase')),
('target_audience', models.IntegerField(choices=[(1, 'User'), (2, 'Business'), (3, 'Community'), (4, 'Developer')])),
('recording_release', models.BooleanField(default=True, help_text="I allow Linux Australia to release any recordings of presentations covered by this proposal, under the <a href='https://creativecommons.org/licenses/by-sa/3.0/au/deed.en'> Creative Commons Attribution-Share Alike Australia 3.0 Licence</a>")),
('materials_release', models.BooleanField(default=True, help_text="I allow Linux Australia to release any other material (such as slides) from presentations covered by this proposal, under the <a href='https://creativecommons.org/licenses/by-sa/3.0/au/deed.en'> Creative Commons Attribution-Share Alike Australia 3.0 Licence</a>")),
('ticket_acknowledgement', models.BooleanField(default=False, help_text='I understand that I will be required to purchase a conference ticket and arrange my own travel and accommodation, as linux.conf.au miniconfs are unfunded community run events.')),
('talk_format', models.IntegerField(choices=[(1, 'Lightning Talk (5-10 min)'), (2, 'Short Presentation (20-25 min)'), (3, 'Presentation (40-45 min)')], default=3, help_text='Please indicate your preferred talk length in the private abstract field below.')),
],
options={
'verbose_name': 'GO GLAM Miniconf Proposal',
},
bases=('symposion_proposals.proposalbase',),
),
migrations.CreateModel(
name='KernelProposal',
fields=[
('proposalbase_ptr', models.OneToOneField(auto_created=True, on_delete=django.db.models.deletion.CASCADE, parent_link=True, primary_key=True, serialize=False, to='symposion_proposals.ProposalBase')),
('target_audience', models.IntegerField(choices=[(1, 'User'), (2, 'Business'), (3, 'Community'), (4, 'Developer')])),
('recording_release', models.BooleanField(default=True, help_text="I allow Linux Australia to release any recordings of presentations covered by this proposal, under the <a href='https://creativecommons.org/licenses/by-sa/3.0/au/deed.en'> Creative Commons Attribution-Share Alike Australia 3.0 Licence</a>")),
('materials_release', models.BooleanField(default=True, help_text="I allow Linux Australia to release any other material (such as slides) from presentations covered by this proposal, under the <a href='https://creativecommons.org/licenses/by-sa/3.0/au/deed.en'> Creative Commons Attribution-Share Alike Australia 3.0 Licence</a>")),
('ticket_acknowledgement', models.BooleanField(default=False, help_text='I understand that I will be required to purchase a conference ticket and arrange my own travel and accommodation, as linux.conf.au miniconfs are unfunded community run events.')),
('talk_format', models.IntegerField(choices=[(1, 'Short Presentation (25 min)'), (3, 'Presentation (45 min)')], default=3, help_text='Please indicate your preferred talk length in the private abstract field below.')),
],
options={
'verbose_name': 'Kernel Miniconf Proposal',
},
bases=('symposion_proposals.proposalbase',),
),
migrations.CreateModel(
name='OpenEducationProposal',
fields=[
('proposalbase_ptr', models.OneToOneField(auto_created=True, on_delete=django.db.models.deletion.CASCADE, parent_link=True, primary_key=True, serialize=False, to='symposion_proposals.ProposalBase')),
('target_audience', models.IntegerField(choices=[(1, 'User'), (2, 'Business'), (3, 'Community'), (4, 'Developer')])),
('recording_release', models.BooleanField(default=True, help_text="I allow Linux Australia to release any recordings of presentations covered by this proposal, under the <a href='https://creativecommons.org/licenses/by-sa/3.0/au/deed.en'> Creative Commons Attribution-Share Alike Australia 3.0 Licence</a>")),
('materials_release', models.BooleanField(default=True, help_text="I allow Linux Australia to release any other material (such as slides) from presentations covered by this proposal, under the <a href='https://creativecommons.org/licenses/by-sa/3.0/au/deed.en'> Creative Commons Attribution-Share Alike Australia 3.0 Licence</a>")),
('ticket_acknowledgement', models.BooleanField(default=False, help_text='I understand that I will be required to purchase a conference ticket and arrange my own travel and accommodation, as linux.conf.au miniconfs are unfunded community run events.')),
('talk_format', models.IntegerField(choices=[(1, 'Lightning Talk (5-10 min)'), (2, 'Short Presentation (20-25 min)'), (3, 'Presentation (40-45 min)')], default=3, help_text='Please indicate your preferred talk length in the private abstract field below.')),
],
options={
'verbose_name': 'Open Education Miniconf Proposal',
},
bases=('symposion_proposals.proposalbase',),
),
migrations.CreateModel(
name='OpenHardwareProposal',
fields=[
('proposalbase_ptr', models.OneToOneField(auto_created=True, on_delete=django.db.models.deletion.CASCADE, parent_link=True, primary_key=True, serialize=False, to='symposion_proposals.ProposalBase')),
('target_audience', models.IntegerField(choices=[(1, 'User'), (2, 'Business'), (3, 'Community'), (4, 'Developer')])),
('recording_release', models.BooleanField(default=True, help_text="I allow Linux Australia to release any recordings of presentations covered by this proposal, under the <a href='https://creativecommons.org/licenses/by-sa/3.0/au/deed.en'> Creative Commons Attribution-Share Alike Australia 3.0 Licence</a>")),
('materials_release', models.BooleanField(default=True, help_text="I allow Linux Australia to release any other material (such as slides) from presentations covered by this proposal, under the <a href='https://creativecommons.org/licenses/by-sa/3.0/au/deed.en'> Creative Commons Attribution-Share Alike Australia 3.0 Licence</a>")),
('ticket_acknowledgement', models.BooleanField(default=False, help_text='I understand that I will be required to purchase a conference ticket and arrange my own travel and accommodation, as linux.conf.au miniconfs are unfunded community run events.')),
('talk_format', models.IntegerField(choices=[(1, 'Lightning Talks (5 min)'), (3, 'Presentation (25 min)')], default=3, help_text='Please indicate your preferred talk length in the private abstract field below.')),
],
options={
'verbose_name': 'Open Hardware Miniconf Proposal',
},
bases=('symposion_proposals.proposalbase',),
),
migrations.CreateModel(
name='OpenIsaProposal',
fields=[
('proposalbase_ptr', models.OneToOneField(auto_created=True, on_delete=django.db.models.deletion.CASCADE, parent_link=True, primary_key=True, serialize=False, to='symposion_proposals.ProposalBase')),
('target_audience', models.IntegerField(choices=[(1, 'User'), (2, 'Business'), (3, 'Community'), (4, 'Developer')])),
('recording_release', models.BooleanField(default=True, help_text="I allow Linux Australia to release any recordings of presentations covered by this proposal, under the <a href='https://creativecommons.org/licenses/by-sa/3.0/au/deed.en'> Creative Commons Attribution-Share Alike Australia 3.0 Licence</a>")),
('materials_release', models.BooleanField(default=True, help_text="I allow Linux Australia to release any other material (such as slides) from presentations covered by this proposal, under the <a href='https://creativecommons.org/licenses/by-sa/3.0/au/deed.en'> Creative Commons Attribution-Share Alike Australia 3.0 Licence</a>")),
('ticket_acknowledgement', models.BooleanField(default=False, help_text='I understand that I will be required to purchase a conference ticket and arrange my own travel and accommodation, as linux.conf.au miniconfs are unfunded community run events.')),
('talk_format', models.IntegerField(choices=[(1, 'Short Presentation (20-25 min)'), (3, 'Presentation (40-45 min)')], default=3, help_text='Please indicate your preferred talk length in the private abstract field below.')),
],
options={
'verbose_name': 'OpenISA (RISC-V, OpenPOWER, etc) Miniconf Proposal',
},
bases=('symposion_proposals.proposalbase',),
),
migrations.CreateModel(
name='SecurityProposal',
fields=[
('proposalbase_ptr', models.OneToOneField(auto_created=True, on_delete=django.db.models.deletion.CASCADE, parent_link=True, primary_key=True, serialize=False, to='symposion_proposals.ProposalBase')),
('target_audience', models.IntegerField(choices=[(1, 'User'), (2, 'Business'), (3, 'Community'), (4, 'Developer')])),
('recording_release', models.BooleanField(default=True, help_text="I allow Linux Australia to release any recordings of presentations covered by this proposal, under the <a href='https://creativecommons.org/licenses/by-sa/3.0/au/deed.en'> Creative Commons Attribution-Share Alike Australia 3.0 Licence</a>")),
('materials_release', models.BooleanField(default=True, help_text="I allow Linux Australia to release any other material (such as slides) from presentations covered by this proposal, under the <a href='https://creativecommons.org/licenses/by-sa/3.0/au/deed.en'> Creative Commons Attribution-Share Alike Australia 3.0 Licence</a>")),
('ticket_acknowledgement', models.BooleanField(default=False, help_text='I understand that I will be required to purchase a conference ticket and arrange my own travel and accommodation, as linux.conf.au miniconfs are unfunded community run events.')),
('talk_format', models.IntegerField(choices=[(1, 'Overview (15 min)'), (2, 'Primer (30 min)'), (3, 'Presentation (45 min)')], default=1, help_text='Please indicate your preferred talk length in the private abstract field below.')),
],
options={
'verbose_name': 'Security, Identity and Privacy Miniconf Proposal',
},
bases=('symposion_proposals.proposalbase',),
),
migrations.CreateModel(
name='SysAdminProposal',
fields=[
('proposalbase_ptr', models.OneToOneField(auto_created=True, on_delete=django.db.models.deletion.CASCADE, parent_link=True, primary_key=True, serialize=False, to='symposion_proposals.ProposalBase')),
('target_audience', models.IntegerField(choices=[(1, 'User'), (2, 'Business'), (3, 'Community'), (4, 'Developer')])),
('recording_release', models.BooleanField(default=True, help_text="I allow Linux Australia to release any recordings of presentations covered by this proposal, under the <a href='https://creativecommons.org/licenses/by-sa/3.0/au/deed.en'> Creative Commons Attribution-Share Alike Australia 3.0 Licence</a>")),
('materials_release', models.BooleanField(default=True, help_text="I allow Linux Australia to release any other material (such as slides) from presentations covered by this proposal, under the <a href='https://creativecommons.org/licenses/by-sa/3.0/au/deed.en'> Creative Commons Attribution-Share Alike Australia 3.0 Licence</a>")),
('ticket_acknowledgement', models.BooleanField(default=False, help_text='I understand that I will be required to purchase a conference ticket and arrange my own travel and accommodation, as linux.conf.au miniconfs are unfunded community run events.')),
('talk_format', models.IntegerField(choices=[(1, 'Short Presentation (5-10 min)'), (2, 'Medium Presentation (15-20 min)'), (3, 'Long Presentation (25-30 min)')], default=1, help_text='Please indicate your preferred talk length in the private abstract field below.')),
],
options={
'verbose_name': 'System Administration Miniconf Proposal',
},
bases=('symposion_proposals.proposalbase',),
),
]

View file

@ -61,8 +61,6 @@ class MiniconfProposal(Proposal):
verbose_name = "miniconf proposal"
### LCA2020 Miniconfs
class MiniconfSessionProposal(Proposal):
FORMAT_SHORT_PRESENTATION = 1
@ -92,215 +90,3 @@ class MiniconfSessionProposal(Proposal):
class Meta:
abstract = True
class ContainersProposal(MiniconfSessionProposal):
TALK_FORMATS = [
(MiniconfSessionProposal.FORMAT_SHORT_PRESENTATION, "Lightning Talk (5-10 min)"),
(MiniconfSessionProposal.FORMAT_MEDIUM_PRESENTATION, "Short Presentation (20-25 min)"),
(MiniconfSessionProposal.FORMAT_LONG_PRESENTATION, "Presentation (40-45 min)"),
]
talk_format = models.IntegerField(
choices=TALK_FORMATS,
default=MiniconfSessionProposal.FORMAT_LONG_PRESENTATION,
help_text="Please indicate your preferred talk length in the private abstract field below."
)
class Meta:
verbose_name = "Containers Miniconf Proposal"
class CreativeArtsProposal(MiniconfSessionProposal):
TALK_FORMATS = [
(MiniconfSessionProposal.FORMAT_SHORT_PRESENTATION, "Short Presentation (15 min)"),
(MiniconfSessionProposal.FORMAT_MEDIUM_PRESENTATION, "Medium Presentation (30 min)"),
(MiniconfSessionProposal.FORMAT_LONG_PRESENTATION, "Long Presentation (60 min)"),
]
talk_format = models.IntegerField(
choices=TALK_FORMATS,
default=MiniconfSessionProposal.FORMAT_SHORT_PRESENTATION,
help_text="Please indicate your preferred talk length in the private abstract field below."
)
class Meta:
verbose_name = "Creative Arts Miniconf Proposal"
class DocsProposal(MiniconfSessionProposal):
TALK_FORMATS = [
(MiniconfSessionProposal.FORMAT_SHORT_PRESENTATION, "Lightning Talk (5-10 min)"),
(MiniconfSessionProposal.FORMAT_MEDIUM_PRESENTATION, "Short Presentation (20-25 min)"),
(MiniconfSessionProposal.FORMAT_LONG_PRESENTATION, "Presentation (40-45 min)"),
]
talk_format = models.IntegerField(
choices=TALK_FORMATS,
default=MiniconfSessionProposal.FORMAT_LONG_PRESENTATION,
help_text="Please indicate your preferred talk length in the private abstract field below."
)
class Meta:
verbose_name = "Documentation Miniconf Proposal"
class FreeBsdProposal(MiniconfSessionProposal):
TALK_FORMATS = [
(MiniconfSessionProposal.FORMAT_SHORT_PRESENTATION, "Short Presentation (25 min)"),
(MiniconfSessionProposal.FORMAT_LONG_PRESENTATION, "Presentation (30 min)"),
]
talk_format = models.IntegerField(
choices=TALK_FORMATS,
default=MiniconfSessionProposal.FORMAT_LONG_PRESENTATION,
help_text="Please indicate your preferred talk length in the private abstract field below."
)
class Meta:
verbose_name = "FreeBSD Miniconf Proposal"
class GamesProposal(MiniconfSessionProposal):
TALK_FORMATS = [
(MiniconfSessionProposal.FORMAT_SHORT_PRESENTATION, "Presentation (short)"),
(MiniconfSessionProposal.FORMAT_LONG_PRESENTATION, "Presentation (long)"),
(MiniconfSessionProposal.FORMAT_DEMONSTRATION, "Demonstration"),
(MiniconfSessionProposal.FORMAT_OTHER, "Other"),
]
talk_format = models.IntegerField(
choices=TALK_FORMATS,
default=MiniconfSessionProposal.FORMAT_LONG_PRESENTATION,
help_text="Please indicate your preferred talk length in the private abstract field below."
)
class Meta:
verbose_name = "Games and FOSS Miniconf Proposal"
class GlamProposal(MiniconfSessionProposal):
TALK_FORMATS = [
(MiniconfSessionProposal.FORMAT_SHORT_PRESENTATION, "Lightning Talk (5-10 min)"),
(MiniconfSessionProposal.FORMAT_MEDIUM_PRESENTATION, "Short Presentation (20-25 min)"),
(MiniconfSessionProposal.FORMAT_LONG_PRESENTATION, "Presentation (40-45 min)"),
]
talk_format = models.IntegerField(
choices=TALK_FORMATS,
default=MiniconfSessionProposal.FORMAT_LONG_PRESENTATION,
help_text="Please indicate your preferred talk length in the private abstract field below."
)
class Meta:
verbose_name = "GO GLAM Miniconf Proposal"
class KernelProposal(MiniconfSessionProposal):
TALK_FORMATS = [
(MiniconfSessionProposal.FORMAT_SHORT_PRESENTATION, "Short Presentation (25 min)"),
(MiniconfSessionProposal.FORMAT_LONG_PRESENTATION, "Presentation (45 min)"),
]
talk_format = models.IntegerField(
choices=TALK_FORMATS,
default=MiniconfSessionProposal.FORMAT_LONG_PRESENTATION,
help_text="Please indicate your preferred talk length in the private abstract field below."
)
class Meta:
verbose_name = "Kernel Miniconf Proposal"
class OpenEducationProposal(MiniconfSessionProposal):
TALK_FORMATS = [
(MiniconfSessionProposal.FORMAT_SHORT_PRESENTATION, "Lightning Talk (5-10 min)"),
(MiniconfSessionProposal.FORMAT_MEDIUM_PRESENTATION, "Short Presentation (20-25 min)"),
(MiniconfSessionProposal.FORMAT_LONG_PRESENTATION, "Presentation (40-45 min)"),
]
talk_format = models.IntegerField(
choices=TALK_FORMATS,
default=MiniconfSessionProposal.FORMAT_LONG_PRESENTATION,
help_text="Please indicate your preferred talk length in the private abstract field below."
)
class Meta:
verbose_name = "Open Education Miniconf Proposal"
class OpenHardwareProposal(MiniconfSessionProposal):
TALK_FORMATS = [
(MiniconfSessionProposal.FORMAT_SHORT_PRESENTATION, "Lightning Talks (5 min)"),
(MiniconfSessionProposal.FORMAT_LONG_PRESENTATION, "Presentation (25 min)"),
]
talk_format = models.IntegerField(
choices=TALK_FORMATS,
default=MiniconfSessionProposal.FORMAT_LONG_PRESENTATION,
help_text="Please indicate your preferred talk length in the private abstract field below."
)
class Meta:
verbose_name = "Open Hardware Miniconf Proposal"
class OpenIsaProposal(MiniconfSessionProposal):
TALK_FORMATS = [
(MiniconfSessionProposal.FORMAT_SHORT_PRESENTATION, "Short Presentation (20-25 min)"),
(MiniconfSessionProposal.FORMAT_LONG_PRESENTATION, "Presentation (40-45 min)"),
]
talk_format = models.IntegerField(
choices=TALK_FORMATS,
default=MiniconfSessionProposal.FORMAT_LONG_PRESENTATION,
help_text="Please indicate your preferred talk length in the private abstract field below."
)
class Meta:
verbose_name = "OpenISA (RISC-V, OpenPOWER, etc) Miniconf Proposal"
class SecurityProposal(MiniconfSessionProposal):
TALK_FORMATS = [
(MiniconfSessionProposal.FORMAT_SHORT_PRESENTATION, "Overview (15 min)"),
(MiniconfSessionProposal.FORMAT_MEDIUM_PRESENTATION, "Primer (30 min)"),
(MiniconfSessionProposal.FORMAT_LONG_PRESENTATION, "Presentation (45 min)"),
]
talk_format = models.IntegerField(
choices=TALK_FORMATS,
default=MiniconfSessionProposal.FORMAT_SHORT_PRESENTATION,
help_text="Please indicate your preferred talk length in the private abstract field below."
)
class Meta:
verbose_name = "Security, Identity and Privacy Miniconf Proposal"
class SysAdminProposal(MiniconfSessionProposal):
TALK_FORMATS = [
(MiniconfSessionProposal.FORMAT_SHORT_PRESENTATION, "Short Presentation (5-10 min)"),
(MiniconfSessionProposal.FORMAT_MEDIUM_PRESENTATION, "Medium Presentation (15-20 min)"),
(MiniconfSessionProposal.FORMAT_LONG_PRESENTATION, "Long Presentation (25-30 min)"),
]
talk_format = models.IntegerField(
choices=TALK_FORMATS,
default=MiniconfSessionProposal.FORMAT_SHORT_PRESENTATION,
help_text="Please indicate your preferred talk length in the private abstract field below."
)
class Meta:
verbose_name = "System Administration Miniconf Proposal"

View file

@ -21,7 +21,7 @@ class Command(BaseCommand):
def handle(self, *args, **options):
kinds = []
for i in ("Talk", "Tutorial", "Miniconf"):
for i in settings.MAIN_CONFERENCE_PROPOSAL_KINDS:
kinds.append(proposals.models.ProposalKind.objects.get(name=i))
self.main_conference_proposals = kinds

View file

@ -0,0 +1,36 @@
# -*- coding: utf-8 -*-
# Generated by Django 1.11.26 on 2020-10-08 10:36
from __future__ import unicode_literals
from django.db import migrations, models
import django_countries.fields
class Migration(migrations.Migration):
dependencies = [
('pinaxcon_registrasion', '0012_auto_20190624_2328'),
]
operations = [
migrations.AlterField(
model_name='attendeeprofile',
name='children',
field=models.CharField(blank=True, help_text="Linux.conf.au is a family friendly conference and provides free child-care for pre-school children from 6 months up to 5 years. We hope to also provide a programme for older children and will let you know closer to the conference. If you're wanting to bring your children to LCA, please let us know their age(s) so we can ensure we have enough spaces available.", max_length=256, verbose_name='Child Ages and Information'),
),
migrations.AlterField(
model_name='attendeeprofile',
name='company',
field=models.CharField(blank=True, help_text="The name of your company, as you'd like it on your badge", max_length=64, verbose_name='Company'),
),
migrations.AlterField(
model_name='attendeeprofile',
name='country',
field=django_countries.fields.CountryField(default='AU', max_length=2, verbose_name='Country'),
),
migrations.AlterField(
model_name='attendeeprofile',
name='gender',
field=models.CharField(blank=True, help_text='Gender data will only be used for demographic purposes.', max_length=64, verbose_name='Gender'),
),
]

View file

@ -133,14 +133,14 @@ USE_I18N = True
USE_L10N = True
USE_TZ = True
MEDIA_ROOT = os.path.join(PACKAGE_ROOT, "site_media", "media")
MEDIA_ROOT = os.environ.get("MEDIA_ROOT", os.path.join(PACKAGE_ROOT, "site_media", "media"))
MEDIA_URL = "/site_media/media/"
STATIC_ROOT = os.path.join(PROJECT_ROOT, 'static/build')
STATIC_ROOT = os.path.join(PROJECT_ROOT, 'static', 'build')
STATIC_URL = '/static/build/'
STATICFILES_DIRS = [
os.path.join(PROJECT_ROOT, 'static/src'),
os.path.join(PROJECT_ROOT, 'static', 'src'),
]
STATICFILES_FINDERS = [
@ -356,20 +356,8 @@ PROPOSAL_FORMS = {
"talk": "pinaxcon.proposals.forms.TalkProposalForm",
"tutorial": "pinaxcon.proposals.forms.TutorialProposalForm",
"miniconf": "pinaxcon.proposals.forms.MiniconfProposalForm",
### LCA2020 Miniconfs
"containers-miniconf": "pinaxcon.proposals.forms.ContainersProposalForm",
"creative-arts-miniconf": "pinaxcon.proposals.forms.CreativeArtsProposalForm",
"docs-miniconf": "pinaxcon.proposals.forms.DocsProposalForm",
"freebsd-miniconf": "pinaxcon.proposals.forms.FreeBsdProposalForm",
"games-miniconf": "pinaxcon.proposals.forms.GamesProposalForm",
"glam-miniconf": "pinaxcon.proposals.forms.GlamProposalForm",
"kernel-miniconf": "pinaxcon.proposals.forms.KernelProposalForm",
"open-education-miniconf": "pinaxcon.proposals.forms.OpenEducationProposalForm",
"open-hardware-miniconf": "pinaxcon.proposals.forms.OpenHardwareProposalForm",
"open-isa-miniconf": "pinaxcon.proposals.forms.OpenIsaProposalForm",
"security-miniconf": "pinaxcon.proposals.forms.SecurityProposalForm",
"sysadmin-miniconf": "pinaxcon.proposals.forms.SysAdminProposalForm",
}
MAIN_CONFERENCE_PROPOSAL_KINDS = ("Talk", "Miniconf")
# Registrasion bits:
ATTENDEE_PROFILE_MODEL = "pinaxcon.registrasion.models.AttendeeProfile"
@ -445,7 +433,7 @@ SAML_CONFIG = {
if 'SAML_CONFIG_LOADER' in os.environ:
SAML_CONFIG_LOADER = os.environ.get('SAML_CONFIG_LOADER')
DEFAULT_FILE_STORAGE = 'gapc_storage.storage.GoogleCloudStorage'
DEFAULT_FILE_STORAGE = os.environ.get('DEFAULT_FILE_STORAGE', 'gapc_storage.storage.GoogleCloudStorage')
GAPC_STORAGE = {
'num_retries': 2,
}
@ -514,12 +502,12 @@ class PenguinDinnerCat(Category):
return t
LCA_START = datetime(2020, 1, 13)
LCA_END = datetime(2020, 1, 17)
EARLY_BIRD_DEADLINE = datetime(2019, 11, 1)
PENGUIN_DINNER_TICKET_DATE = date(2020, 1, 15)
SPEAKER_DINNER_TICKET_DATE = date(2020, 1, 14)
PDNS_TICKET_DATE = date(2020, 1, 16)
LCA_START = datetime(2021, 1, 23)
LCA_END = datetime(2021, 1, 25)
EARLY_BIRD_DEADLINE = datetime(2020, 12, 1)
PENGUIN_DINNER_TICKET_DATE = date(2021, 1, 23)
SPEAKER_DINNER_TICKET_DATE = date(2021, 1, 25)
PDNS_TICKET_DATE = date(2021, 1, 24)
TSHIRT_PRICE = Decimal("25.00")

View file

@ -4,7 +4,7 @@
<nav class="navbar navbar-expand-lg navbar-light bg-dawn-sea">
<div class="container">
<a class="navbar-brand" href="/">
<img src="{% static 'lca/lca_horiz_blue.svg' %}" alt="linux.conf.au logo" height="35px">
<img src="{% static 'lca/lca2021.svg' %}" alt="linux.conf.au 2021 logo" height="56px">
</a>
<button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbarText" aria-controls="navbarText" aria-expanded="false" aria-label="Toggle navigation">

View file

@ -6,7 +6,7 @@
<h4>ABN 56 987 117 479</h4>
<p>
Enquiries: please e-mail <a href="mailto:contact@lca2020.linux.org.au">contact@lca2020.linux.org.au</a>
Enquiries: please e-mail <a href="mailto:contact@lca2021.linux.org.au">contact@lca2021.linux.org.au</a>
</p>
<ul class="list-unstyled">

View file

@ -21,7 +21,7 @@
<!-- Cards -->
<meta property="og:title" content="{{ head_title }}">
<meta property="og:description" content="linux.conf.au 2020 - Jan 13-17 2020, Gold Coast, Australia" />
<meta property="og:description" content="linux.conf.au 2021 - Jan 23-25 2021, Online, Worldwide" />
<meta property="og:url" content="{{ request.scheme }}://{{ request.get_host }}{{ request.path }}">
<meta name="twitter:site" content="@linuxconfau">
<meta name="twitter:image:alt" content="{{ head_title }}" />
@ -118,10 +118,10 @@
<div class="container py-4">
<div class="row">
<div class="col-md-4 pb-4">
<strong>linux.conf.au 2020</strong> <br>
Jan 13-17 2020 <br>
Gold Coast, Australia <br>
<a href="mailto:contact@lca2020.linux.org.au" alt="Email"><i class="far fa-envelope"></i></a>&nbsp;&nbsp;
<strong>linux.conf.au 2021</strong> <br>
Jan 23-25 2021 <br>
Online, Worldwide <br>
<a href="mailto:contact@lca2021.linux.org.au" alt="Email"><i class="far fa-envelope"></i></a>&nbsp;&nbsp;
<a href="https://twitter.com/linuxconfau" alt="Twitter"><i class="fab fa-twitter"></i></a>&nbsp;&nbsp;
<a href="https://www.facebook.com/linuxconferenceaustralia/" alt="Facebook"><i class="fab fa-facebook"></i></a>
</div>
@ -132,7 +132,7 @@
<div class="col-md-4 pb-4 text-right">
<small>
<a href="#">Back to top</a><br>
&copy; 2019 linux.conf.au and <a href="http://linux.org.au/">Linux Australia</a><br>
&copy; 2020 linux.conf.au and <a href="http://linux.org.au/">Linux Australia</a><br>
Linux is a registered trademark of Linus Torvalds <br>
<a href="/colophon/">Colophon</a>
</small>

View file

@ -73,12 +73,10 @@
var JAN = 0; // because January is 0, not 1
var fragments = [
{"day": "monday", "time": Date.UTC(2020, JAN, 13)},
{"day": "tuesday", "time": Date.UTC(2020, JAN, 14)},
{"day": "wednesday", "time": Date.UTC(2020, JAN, 15)},
{"day": "thursday", "time": Date.UTC(2020, JAN, 16)},
{"day": "friday", "time": Date.UTC(2020, JAN, 17)},
{"day": "saturday", "time": Date.UTC(2020, JAN, 18)},
{"day": "saturday", "time": Date.UTC(2021, JAN, 23)},
{"day": "sunday", "time": Date.UTC(2021, JAN, 24)},
{"day": "monday", "time": Date.UTC(2021, JAN, 25)},
{"day": "tuesday", "time": Date.UTC(2021, JAN, 26)},
];
var now = new Date().getTime();

View file

@ -0,0 +1 @@
<svg id="Layer_1" data-name="Layer 1" xmlns="http://www.w3.org/2000/svg" width="220" height="56" viewBox="0 0 220 56"><path d="M44.15,47a7.72,7.72,0,0,1-2.94-2.87,8.31,8.31,0,0,1,0-8.16,7.58,7.58,0,0,1,2.94-2.87,9,9,0,0,1,8.38,0A7.65,7.65,0,0,1,55.47,36a8.39,8.39,0,0,1,0,8.2A7.56,7.56,0,0,1,52.53,47a8.92,8.92,0,0,1-8.38,0Zm7.77-.91a6.65,6.65,0,0,0,2.53-2.49,7.31,7.31,0,0,0,0-7.1A6.65,6.65,0,0,0,51.92,34a7.59,7.59,0,0,0-7.17,0,6.6,6.6,0,0,0-2.54,2.49,7.31,7.31,0,0,0,0,7.1,6.6,6.6,0,0,0,2.54,2.49,7.59,7.59,0,0,0,7.17,0Z" fill="#fff"/><path d="M73.38,32.17V48h-.95L61.68,34.24V48H60.53V32.17h1l10.73,13.7V32.17Z" fill="#fff"/><path d="M78.88,32.17H80V46.91h9.08v1H78.88Z" fill="#fff"/><path d="M92.06,32.17h1.15V48H92.06Z" fill="#fff"/><path d="M111.56,32.17V48h-1L99.86,34.24V48H98.71V32.17h1l10.73,13.7V32.17Z" fill="#fff"/><path d="M127.94,46.91v1H117.06V32.17h10.55v1h-9.4v6.22h8.4v1h-8.4v6.47Z" fill="#fff"/><path d="M144.82,46.91v1H134v-.82l6.67-6.62a9.41,9.41,0,0,0,1.77-2.24,4.45,4.45,0,0,0,.46-1.93,2.9,2.9,0,0,0-1-2.37,4.5,4.5,0,0,0-3-.85,6.9,6.9,0,0,0-2.6.45,5.06,5.06,0,0,0-1.93,1.37l-.81-.72a6,6,0,0,1,2.29-1.6,8.37,8.37,0,0,1,3.14-.56,5.67,5.67,0,0,1,3.7,1.12,3.77,3.77,0,0,1,1.37,3,5.23,5.23,0,0,1-.54,2.32,10.41,10.41,0,0,1-2,2.57l-5.81,5.79Z" fill="#010101"/><path d="M149.85,47.08a6.36,6.36,0,0,1-2.18-2.79,10.57,10.57,0,0,1-.78-4.23,10.63,10.63,0,0,1,.78-4.24A6.33,6.33,0,0,1,149.85,33a5.76,5.76,0,0,1,6.43,0,6.26,6.26,0,0,1,2.18,2.78,10.63,10.63,0,0,1,.78,4.24,10.57,10.57,0,0,1-.78,4.23,6.29,6.29,0,0,1-2.18,2.79,5.76,5.76,0,0,1-6.43,0Zm5.84-.9a5.31,5.31,0,0,0,1.77-2.39,10,10,0,0,0,.63-3.73,10,10,0,0,0-.63-3.73,5.26,5.26,0,0,0-1.77-2.39,4.61,4.61,0,0,0-5.25,0,5.26,5.26,0,0,0-1.77,2.39,10,10,0,0,0-.63,3.73,10,10,0,0,0,.63,3.73,5.31,5.31,0,0,0,1.77,2.39,4.61,4.61,0,0,0,5.25,0Z" fill="#010101"/><path d="M172.22,46.91v1H161.38v-.82l6.67-6.62a9.41,9.41,0,0,0,1.77-2.24,4.31,4.31,0,0,0,.46-1.93,2.92,2.92,0,0,0-1-2.37,4.53,4.53,0,0,0-3-.85,6.94,6.94,0,0,0-2.6.45,5,5,0,0,0-1.92,1.37l-.82-.72a6,6,0,0,1,2.29-1.6,8.37,8.37,0,0,1,3.14-.56,5.67,5.67,0,0,1,3.7,1.12,3.75,3.75,0,0,1,1.38,3,5.11,5.11,0,0,1-.55,2.32,10.33,10.33,0,0,1-2,2.57l-5.82,5.79Z" fill="#010101"/><path d="M178.35,32.17V48H177.2V33.21h-3.85v-1Z" fill="#010101"/><path d="M5.94,5.56H7.4V24.27H18.93v1.32h-13Z" fill="#fff"/><path d="M22.68,5.56h1.46v20H22.68Z" fill="#fff"/><path d="M47.43,5.56v20h-1.2L32.58,8.19v17.4H31.12v-20h1.23L46,23V5.56Z" fill="#fff"/><path d="M56.34,23.53q-2.1-2.21-2.1-6.44V5.56H55.7V17c0,2.46.56,4.31,1.68,5.53a6.34,6.34,0,0,0,4.9,1.83,6.3,6.3,0,0,0,4.86-1.83c1.13-1.22,1.69-3.07,1.69-5.53V5.56h1.46V17.09q0,4.23-2.12,6.44a7.82,7.82,0,0,1-5.92,2.2A7.77,7.77,0,0,1,56.34,23.53Z" fill="#fff"/><path d="M89.37,25.59l-6.89-9.27-6.87,9.27H73.89l7.7-10.33-7.15-9.7h1.71l6.38,8.61,6.38-8.61h1.63l-7.15,9.67,7.7,10.36Z" fill="#fff"/><path d="M97.62,24.42a9.68,9.68,0,0,1-3.71-3.64,10.05,10.05,0,0,1-1.36-5.21,10,10,0,0,1,1.36-5.2,9.68,9.68,0,0,1,3.71-3.64,10.83,10.83,0,0,1,5.31-1.31,11.08,11.08,0,0,1,4,.7,8.37,8.37,0,0,1,3.12,2.07l-.92,1A8.35,8.35,0,0,0,103,6.76a9.19,9.19,0,0,0-4.58,1.15,8.31,8.31,0,0,0-3.23,3.16A8.81,8.81,0,0,0,94,15.57a8.82,8.82,0,0,0,1.18,4.51,8.31,8.31,0,0,0,3.23,3.16A9.19,9.19,0,0,0,103,24.39,8.36,8.36,0,0,0,109.14,22l.92.95A8.53,8.53,0,0,1,106.92,25a11.09,11.09,0,0,1-4,.71A10.83,10.83,0,0,1,97.62,24.42Z" fill="#231f20"/><path d="M154.8,5.56v20h-1.2L140,8.19v17.4h-1.46v-20h1.23L153.34,23V5.56Z" fill="#231f20"/><path d="M163.24,6.88v8.55h10.67v1.32H163.24v8.84h-1.46v-20h13.39V6.88Z" fill="#231f20"/><path d="M191.25,20H179.63l-2.54,5.64h-1.58l9.22-20h1.45l9.22,20h-1.58Zm-.55-1.23L185.44,7.16l-5.23,11.56Z" fill="#fff"/><path d="M200.53,23.53q-2.1-2.21-2.1-6.44V5.56h1.46V17c0,2.46.56,4.31,1.69,5.53a7.41,7.41,0,0,0,9.75,0C212.46,21.34,213,19.49,213,17V5.56h1.46V17.09q0,4.23-2.12,6.44a9.05,9.05,0,0,1-11.83,0Z" fill="#fff"/><path d="M126.11,5.56a9.71,9.71,0,0,0-5.21.08A10.46,10.46,0,0,0,118,7l1,1a8.23,8.23,0,0,1,2.17-1,8.39,8.39,0,0,1,4.5,0,9.23,9.23,0,0,1,6.37,6.37,8.38,8.38,0,0,1,0,4.5,9.66,9.66,0,0,1-6.44,6.45,8.42,8.42,0,0,1-4.51,0,8.87,8.87,0,0,1-4-2.36,8.73,8.73,0,0,1-2.35-4,8.36,8.36,0,0,1,0-4.52,8.59,8.59,0,0,1,1-2.18l-1-1a10.17,10.17,0,0,0-1.33,2.88,9.84,9.84,0,0,0-.06,5.22A10,10,0,0,0,116,23a10,10,0,0,0,4.62,2.7,9.64,9.64,0,0,0,5.22-.06,10.67,10.67,0,0,0,4.71-2.82,10.88,10.88,0,0,0,2.83-4.69,9.71,9.71,0,0,0,.07-5.21,10.1,10.1,0,0,0-2.72-4.64A10.12,10.12,0,0,0,126.11,5.56Z" fill="#231f20"/></svg>

After

Width:  |  Height:  |  Size: 4.4 KiB

View file

@ -2,7 +2,7 @@
@import "open-iconic-bootstrap.scss";
@import "bootstrap.scss";
/* START LCA2020 */
/* START LCA BRAND */
$dawn-sea: rgb(0, 177, 197);
$blaze : rgb(250, 166, 26);
@ -47,8 +47,8 @@ h3, .h3 {
}
.navbar-brand {
margin-top: 0.4rem;
margin-bottom: 0.4rem;
margin-top: 0rem;
margin-bottom: 0rem;
}
.navbar-nav .nav-link {
@ -84,7 +84,7 @@ h3, .h3 {
border-bottom: 1px solid $noon-sea;
}
/* END LCA2020 */
/* END LCA BRAND */
.messagelist {
margin-bottom: 0;

View file

@ -346,7 +346,7 @@ def _guided_registration_profile_and_voucher(request):
title="Profile and Personal Information",
form=profile_form,
description=("<div class=\"text-info\"><em>You can come back and edit these details any time before "
"January 6 2020.</em></div>"),
"January 6 2021.</em></div>"),
)
return [voucher_section, profile_section]
@ -385,7 +385,7 @@ def edit_profile(request):
if request.user.checkin.checked_in_bool:
messages.add_message(
request, messages.ERROR,
'Profile cannot be edited. Please email contact@lca2020.linux.org.au '
'Profile cannot be edited. Please email contact@lca2021.linux.org.au '
'if you need any changes to your profile.')
return redirect(reverse('dashboard'))

View file

@ -14,19 +14,20 @@ class SpeakerForm(forms.ModelForm):
"biography",
"experience",
"photo",
"telephone",
#"telephone",
"homepage",
"twitter_username",
"accessibility",
"travel_assistance",
"accommodation_assistance",
"assistance",
#"travel_assistance",
#"accommodation_assistance",
#"assistance",
"agreement",
]
def __init__(self, *a, **k):
super(SpeakerForm, self).__init__(*a, **k)
self.fields['agreement'].required = True
self.fields['biography'].required = True
def clean_twitter_username(self):
value = self.cleaned_data["twitter_username"]

View file

@ -12,11 +12,6 @@ from symposion.text_parser import parse
class Speaker(models.Model):
SESSION_COUNT_CHOICES = [
(1, "One"),
(2, "Two")
]
user = models.OneToOneField(User, null=True, related_name="speaker_profile", verbose_name=_("User"))
name = models.CharField(verbose_name=_("Name"), max_length=100,
help_text=_("As you would like it to appear in the"