diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 4af69218..880bc231 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -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
diff --git a/docker/Dockerfile.dev b/docker/Dockerfile.dev
index 52f9a283..ed23c3ee 100644
--- a/docker/Dockerfile.dev
+++ b/docker/Dockerfile.dev
@@ -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"]
diff --git a/fixtures/2020/auth.permission.json b/fixtures/2020/auth.permission.json
deleted file mode 100644
index 4b076d86..00000000
--- a/fixtures/2020/auth.permission.json
+++ /dev/null
@@ -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"
- }
-}
-]
diff --git a/fixtures/2020/conference.section.json b/fixtures/2020/conference.section.json
deleted file mode 100644
index 37f84d11..00000000
--- a/fixtures/2020/conference.section.json
+++ /dev/null
@@ -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"
- }
-}
-]
diff --git a/fixtures/2020/proposals.proposalkind.json b/fixtures/2020/proposals.proposalkind.json
deleted file mode 100644
index ba0ca4c5..00000000
--- a/fixtures/2020/proposals.proposalkind.json
+++ /dev/null
@@ -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"
- }
-}
-]
diff --git a/fixtures/2020/proposals.proposalsection.json b/fixtures/2020/proposals.proposalsection.json
deleted file mode 100644
index fccdef81..00000000
--- a/fixtures/2020/proposals.proposalsection.json
+++ /dev/null
@@ -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
- }
-}
-]
diff --git a/fixtures/2020/teams.team.json b/fixtures/2020/teams.team.json
deleted file mode 100644
index 64f03b09..00000000
--- a/fixtures/2020/teams.team.json
+++ /dev/null
@@ -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",
- ""
- ]
- ]
- }
-}
-]
diff --git a/fixtures/2020/auth.group.json b/fixtures/2021/auth.group.json
similarity index 100%
rename from fixtures/2020/auth.group.json
rename to fixtures/2021/auth.group.json
diff --git a/fixtures/2021/auth.permission.json b/fixtures/2021/auth.permission.json
new file mode 100644
index 00000000..547f489f
--- /dev/null
+++ b/fixtures/2021/auth.permission.json
@@ -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"
+ }
+}
+]
diff --git a/fixtures/2021/conference.section.json b/fixtures/2021/conference.section.json
new file mode 100644
index 00000000..e40116e2
--- /dev/null
+++ b/fixtures/2021/conference.section.json
@@ -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
+ }
+}
+]
diff --git a/fixtures/2021/proposals.proposalkind.json b/fixtures/2021/proposals.proposalkind.json
new file mode 100644
index 00000000..d8f0c908
--- /dev/null
+++ b/fixtures/2021/proposals.proposalkind.json
@@ -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"
+ }
+}
+]
diff --git a/fixtures/2021/proposals.proposalsection.json b/fixtures/2021/proposals.proposalsection.json
new file mode 100644
index 00000000..7228ab77
--- /dev/null
+++ b/fixtures/2021/proposals.proposalsection.json
@@ -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
+ }
+}
+]
diff --git a/fixtures/2021/teams.team.json b/fixtures/2021/teams.team.json
new file mode 100644
index 00000000..25e9100d
--- /dev/null
+++ b/fixtures/2021/teams.team.json
@@ -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": []
+ }
+}
+]
diff --git a/fixtures/conference.json b/fixtures/conference.json
index 3a0a3088..43582d3a 100644
--- a/fixtures/conference.json
+++ b/fixtures/conference.json
@@ -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"
}
}
diff --git a/fixtures/flatpages.json b/fixtures/flatpages.json
index 80764571..53503d26 100644
--- a/fixtures/flatpages.json
+++ b/fixtures/flatpages.json
@@ -5,7 +5,7 @@
"fields": {
"url": "/",
"title": "Home Page",
- "content": "Here is the home page for LCA2020.\r\n\r\nOther pages to come.",
+ "content": "Here is the home page for LCA.\r\n\r\nOther pages to come.",
"enable_comments": false,
"template_name": "",
"registration_required": false,
@@ -13,20 +13,5 @@
1
]
}
-},
-{
- "model": "flatpages.flatpage",
- "pk": 2,
- "fields": {
- "url": "/pages/accommodation/",
- "title": "Accommodation Options",
- "content": "
Accommodation Offers \r\nlinux.conf.au 2020 has arranged some discounted accommodation with surrounding providers, listed below in alphabetical order. When a tram stop is closer to the accommodation than the GCCEC venue, travel distance to this tram stop is provided as well. The GCCEC is approximately 100m from the Broadbeach North Tram stop.
\r\nThese rooms are subject to availability and are subject to change. Terms and conditions of each accommodation provider apply.
\r\n\r\n \r\n \r\nAruba Beach \r\n\r\nDistance: ~400m \r\nWheelchair Accessibility: Not wheelchair accessible \r\n \r\nDiscount codes \r\nLINIT0120CHA - https://www.coastalholidayapts.com.au/holidayrentals
\r\n\r\n \r\n \r\nAVANI Broadbeach \r\n\r\nDistance: ~700m \r\nWheelchair Accessibility: Awaiting confirmation \r\n \r\nDiscount codes \r\nCHROOT_GOLDCOAST - https://gc.synxis.com/rez.aspx?Chain=18336&template=Avani&shell=Avani&brand=Avani&Hotel=79348&arrive=1%2f12%2f2020&promo=CHROOT_GOLDCOAST - Valid for dates between 10-20th January 2020
\r\n\r\n \r\n \r\nBroadbeach Pacfic Resort \r\n\r\nDistance: ~650m \r\nWheelchair Accessibility: Not wheelchair accessible \r\n \r\nDiscount codes \r\nLINUX5 - https://pacificresort.com.au/
\r\n\r\n \r\n \r\nDiamond Beach \r\n\r\nDistance: ~1.4km \r\nWheelchair Accessibility: Single unit on ground floor with no sets of stairs, wide entryways, roll-in shower, slight step at front door. Call for more information \r\n \r\nDiscount codes \r\nLINIT0120CHA - https://www.coastalholidayapts.com.au/holidayrentals
\r\n\r\n \r\n \r\nJubilee Views \r\n\r\nDistance: ~300m \r\nWheelchair Accessibility: Not wheelchair accessible \r\n \r\nDiscount codes \r\nLINIT0120 - https://www.jubileeviews.com
\r\n\r\n \r\n \r\nMantra Group - Broadbeach on the Park \r\n\r\nDistance: ~450m \r\nWheelchair Accessibility: Some rooms have wide door frames, but are not \"disabled access rooms\". Call for more information. \r\n \r\nDiscount codes \r\nLINUX20 - https://www.mantrahotels.com/australia/queensland/gold-coast/broadbeach/accommodation/ - Valid for dates between 12-19th January 2020
\r\n\r\n \r\n \r\nMantra Group - Sierra Grand \r\n\r\nDistance: ~1000m \r\nDistance to nearest tram stop (Broadbeach South): ~300m \r\nWheelchair Accessibility: Confirmed not wheelchair accessible \r\n \r\nDiscount codes \r\nLINUX20 - https://www.mantrahotels.com/australia/queensland/gold-coast/broadbeach/accommodation/ - Valid for dates between 12-19th January 2020
\r\n\r\n\r\n \r\n \r\nMantra Group - Peppers Broadbeach \r\n\r\nDistance: ~800m \r\nWheelchair Accessibility: Confirmed not wheelchair accessible \r\n \r\nDiscount codes \r\nLINUX20 - https://www.mantrahotels.com/australia/queensland/gold-coast/broadbeach/accommodation/ - Valid for dates between 12-19th January 2020
\r\n\r\n\r\n \r\n \r\nMarkham Court \r\n\r\nDistance: ~500m \r\nWheelchair Accessibility: Not listed as wheelchair accessible \r\n \r\nDiscount codes \r\nMARKHAM - Phone bookings required for discount code usage on (07) 5592 3111
\r\n\r\n\r\n \r\n \r\nMarrakesh Apartments \r\n\r\nDistance: ~1.3km \r\nWheelchair Accessibility: Awaiting confirmation \r\n \r\nDiscount codes \r\nLINUX - https://www.marrakesh.com.au/ - Valid for minimum 3-night stay
\r\n\r\n\r\n \r\n \r\nMontego Sands Resort \r\n\r\nDistance: ~1.6km \r\nWheelchair Accessibility: Not listed as wheelchair accessible \r\n \r\nDiscount codes \r\nLCA5N - http://www.montegosandsresort.com.au/ - Valid for 5 nights stay
\r\nLCA6N - http://www.montegosandsresort.com.au/ - Valid for 6 nights stay
\r\nLCA7N - http://www.montegosandsresort.com.au/ - Valid for 7 nights stay
\r\n\r\n\r\n \r\n \r\nNeptune Resort Broadbeach \r\n\r\nDistance: ~850m \r\nDistance to nearest tram stop (Broadbeach South): ~200m \r\nWheelchair Accessibility: Not listed as wheelchair accessible \r\n \r\nDiscount codes \r\nLinux - https://www.neptuneresortbroadbeach.com.au/ - Valid for 5 - 7 nights with a price break at 7 nights
\r\n\r\n\r\n \r\n \r\nOther providers \r\nThere are a variety of other accommodation styles and locations on the Gold Coast; don\u2019t let the discount codes listed restrict your options! For those of you who aren\u2019t finding inspiration above, explore the list below to see if something else takes your fancy
\r\n",
- "enable_comments": false,
- "template_name": "",
- "registration_required": true,
- "sites": [
- 1
- ]
- }
}
]
diff --git a/fixtures/sites.json b/fixtures/sites.json
index eeb8a427..d3c98a16 100644
--- a/fixtures/sites.json
+++ b/fixtures/sites.json
@@ -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"
}
}
]
diff --git a/fixtures/sitetree.json b/fixtures/sitetree.json
index 7fcaf3e4..36475992 100644
--- a/fixtures/sitetree.json
+++ b/fixtures/sitetree.json
@@ -131,7 +131,7 @@
"model": "sitetree.treeitem",
"pk": 6,
"fields": {
- "title": "About LCA2020",
+ "title": "About LCA2021",
"hint": "",
"url": "/about/",
"urlaspattern": false,
diff --git a/k8s/deployment_template.jsonnet b/k8s/deployment_template.jsonnet
index 41bf6261..d3282aa8 100644
--- a/k8s/deployment_template.jsonnet
+++ b/k8s/deployment_template.jsonnet
@@ -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,
diff --git a/pinaxcon/proposals/admin.py b/pinaxcon/proposals/admin.py
index 371885a6..7303d02b 100644
--- a/pinaxcon/proposals/admin.py
+++ b/pinaxcon/proposals/admin.py
@@ -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:
diff --git a/pinaxcon/proposals/forms.py b/pinaxcon/proposals/forms.py
index ac91e6b4..b151f83d 100644
--- a/pinaxcon/proposals/forms.py
+++ b/pinaxcon/proposals/forms.py
@@ -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
diff --git a/pinaxcon/proposals/migrations/0017_lca2020_miniconfs.py b/pinaxcon/proposals/migrations/0017_lca2020_miniconfs.py
deleted file mode 100644
index c4658332..00000000
--- a/pinaxcon/proposals/migrations/0017_lca2020_miniconfs.py
+++ /dev/null
@@ -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 Creative Commons Attribution-Share Alike Australia 3.0 Licence ")),
- ('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 Creative Commons Attribution-Share Alike Australia 3.0 Licence ")),
- ('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 Creative Commons Attribution-Share Alike Australia 3.0 Licence ")),
- ('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 Creative Commons Attribution-Share Alike Australia 3.0 Licence ")),
- ('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 Creative Commons Attribution-Share Alike Australia 3.0 Licence ")),
- ('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 Creative Commons Attribution-Share Alike Australia 3.0 Licence ")),
- ('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 Creative Commons Attribution-Share Alike Australia 3.0 Licence ")),
- ('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 Creative Commons Attribution-Share Alike Australia 3.0 Licence ")),
- ('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 Creative Commons Attribution-Share Alike Australia 3.0 Licence ")),
- ('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 Creative Commons Attribution-Share Alike Australia 3.0 Licence ")),
- ('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 Creative Commons Attribution-Share Alike Australia 3.0 Licence ")),
- ('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 Creative Commons Attribution-Share Alike Australia 3.0 Licence ")),
- ('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 Creative Commons Attribution-Share Alike Australia 3.0 Licence ")),
- ('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 Creative Commons Attribution-Share Alike Australia 3.0 Licence ")),
- ('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 Creative Commons Attribution-Share Alike Australia 3.0 Licence ")),
- ('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 Creative Commons Attribution-Share Alike Australia 3.0 Licence ")),
- ('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 Creative Commons Attribution-Share Alike Australia 3.0 Licence ")),
- ('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 Creative Commons Attribution-Share Alike Australia 3.0 Licence ")),
- ('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 Creative Commons Attribution-Share Alike Australia 3.0 Licence ")),
- ('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 Creative Commons Attribution-Share Alike Australia 3.0 Licence ")),
- ('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 Creative Commons Attribution-Share Alike Australia 3.0 Licence ")),
- ('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 Creative Commons Attribution-Share Alike Australia 3.0 Licence ")),
- ('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 Creative Commons Attribution-Share Alike Australia 3.0 Licence ")),
- ('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 Creative Commons Attribution-Share Alike Australia 3.0 Licence ")),
- ('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',),
- ),
- ]
diff --git a/pinaxcon/proposals/models.py b/pinaxcon/proposals/models.py
index e770fb12..87fb4494 100644
--- a/pinaxcon/proposals/models.py
+++ b/pinaxcon/proposals/models.py
@@ -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"
diff --git a/pinaxcon/registrasion/management/commands/populate_inventory.py b/pinaxcon/registrasion/management/commands/populate_inventory.py
index 3102d095..d2b635c5 100644
--- a/pinaxcon/registrasion/management/commands/populate_inventory.py
+++ b/pinaxcon/registrasion/management/commands/populate_inventory.py
@@ -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
diff --git a/pinaxcon/registrasion/migrations/0013_auto_20201008_2036.py b/pinaxcon/registrasion/migrations/0013_auto_20201008_2036.py
new file mode 100644
index 00000000..cdd3faf8
--- /dev/null
+++ b/pinaxcon/registrasion/migrations/0013_auto_20201008_2036.py
@@ -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'),
+ ),
+ ]
diff --git a/pinaxcon/settings.py b/pinaxcon/settings.py
index 3213fd5d..e4dc7510 100644
--- a/pinaxcon/settings.py
+++ b/pinaxcon/settings.py
@@ -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")
diff --git a/pinaxcon/templates/nav.html b/pinaxcon/templates/nav.html
index 8b9e5be9..14f67a32 100644
--- a/pinaxcon/templates/nav.html
+++ b/pinaxcon/templates/nav.html
@@ -4,7 +4,7 @@
-
+
diff --git a/pinaxcon/templates/registrasion/_invoice_details.html b/pinaxcon/templates/registrasion/_invoice_details.html
index 51609ba7..db673055 100644
--- a/pinaxcon/templates/registrasion/_invoice_details.html
+++ b/pinaxcon/templates/registrasion/_invoice_details.html
@@ -6,7 +6,7 @@
ABN 56 987 117 479
- Enquiries: please e-mail contact@lca2020.linux.org.au
+ Enquiries: please e-mail contact@lca2021.linux.org.au
diff --git a/pinaxcon/templates/site_base.html b/pinaxcon/templates/site_base.html
index 7e1abeef..c24a2606 100644
--- a/pinaxcon/templates/site_base.html
+++ b/pinaxcon/templates/site_base.html
@@ -21,7 +21,7 @@
-
+
@@ -118,10 +118,10 @@
-
linux.conf.au 2020
- Jan 13-17 2020
- Gold Coast, Australia
-
+
linux.conf.au 2021
+ Jan 23-25 2021
+ Online, Worldwide
+
@@ -132,7 +132,7 @@
Back to top
- © 2019 linux.conf.au and Linux Australia
+ © 2020 linux.conf.au and Linux Australia
Linux is a registered trademark of Linus Torvalds
Colophon
diff --git a/pinaxcon/templates/symposion/schedule/schedule_conference.html b/pinaxcon/templates/symposion/schedule/schedule_conference.html
index 3b264612..1e0fda41 100644
--- a/pinaxcon/templates/symposion/schedule/schedule_conference.html
+++ b/pinaxcon/templates/symposion/schedule/schedule_conference.html
@@ -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();
diff --git a/static/src/lca/lca2021.svg b/static/src/lca/lca2021.svg
new file mode 100644
index 00000000..6db48f6d
--- /dev/null
+++ b/static/src/lca/lca2021.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/static/src/scss/app.scss b/static/src/scss/app.scss
index 7a487765..dfd2b773 100644
--- a/static/src/scss/app.scss
+++ b/static/src/scss/app.scss
@@ -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;
diff --git a/vendor/registrasion/registrasion/views.py b/vendor/registrasion/registrasion/views.py
index c75ea9bd..f270ef8d 100644
--- a/vendor/registrasion/registrasion/views.py
+++ b/vendor/registrasion/registrasion/views.py
@@ -346,7 +346,7 @@ def _guided_registration_profile_and_voucher(request):
title="Profile and Personal Information",
form=profile_form,
description=("
You can come back and edit these details any time before "
- "January 6 2020.
"),
+ "January 6 2021.
"),
)
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'))
diff --git a/vendor/symposion/speakers/forms.py b/vendor/symposion/speakers/forms.py
index 00d8a7d1..7d320295 100644
--- a/vendor/symposion/speakers/forms.py
+++ b/vendor/symposion/speakers/forms.py
@@ -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"]
diff --git a/vendor/symposion/speakers/models.py b/vendor/symposion/speakers/models.py
index 6626ff2f..f3da835c 100644
--- a/vendor/symposion/speakers/models.py
+++ b/vendor/symposion/speakers/models.py
@@ -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"