From b20dc75ea6a2d858cfc77c30f16daa56a64768e6 Mon Sep 17 00:00:00 2001 From: Joel Addison Date: Mon, 5 Oct 2020 22:13:28 +1000 Subject: [PATCH] Update for LCA2021 --- .gitlab-ci.yml | 24 +- docker/Dockerfile.dev | 2 +- fixtures/2020/auth.permission.json | 310 ------------- fixtures/2020/conference.section.json | 156 ------- fixtures/2020/proposals.proposalkind.json | 137 ------ fixtures/2020/proposals.proposalsection.json | 156 ------- fixtures/2020/teams.team.json | 431 ------------------ fixtures/{2020 => 2021}/auth.group.json | 0 fixtures/2021/auth.permission.json | 46 ++ fixtures/2021/conference.section.json | 24 + fixtures/2021/proposals.proposalkind.json | 20 + fixtures/2021/proposals.proposalsection.json | 24 + fixtures/2021/teams.team.json | 61 +++ fixtures/conference.json | 6 +- fixtures/flatpages.json | 17 +- fixtures/sites.json | 4 +- fixtures/sitetree.json | 2 +- k8s/deployment_template.jsonnet | 2 +- pinaxcon/proposals/admin.py | 13 - pinaxcon/proposals/forms.py | 92 ---- .../migrations/0017_lca2020_miniconfs.py | 197 -------- pinaxcon/proposals/models.py | 214 --------- .../management/commands/populate_inventory.py | 2 +- .../migrations/0013_auto_20201008_2036.py | 36 ++ pinaxcon/settings.py | 34 +- pinaxcon/templates/nav.html | 2 +- .../registrasion/_invoice_details.html | 2 +- pinaxcon/templates/site_base.html | 12 +- .../schedule/schedule_conference.html | 10 +- static/src/lca/lca2021.svg | 1 + static/src/scss/app.scss | 8 +- vendor/registrasion/registrasion/views.py | 4 +- vendor/symposion/speakers/forms.py | 9 +- vendor/symposion/speakers/models.py | 5 - 34 files changed, 276 insertions(+), 1787 deletions(-) delete mode 100644 fixtures/2020/auth.permission.json delete mode 100644 fixtures/2020/conference.section.json delete mode 100644 fixtures/2020/proposals.proposalkind.json delete mode 100644 fixtures/2020/proposals.proposalsection.json delete mode 100644 fixtures/2020/teams.team.json rename fixtures/{2020 => 2021}/auth.group.json (100%) create mode 100644 fixtures/2021/auth.permission.json create mode 100644 fixtures/2021/conference.section.json create mode 100644 fixtures/2021/proposals.proposalkind.json create mode 100644 fixtures/2021/proposals.proposalsection.json create mode 100644 fixtures/2021/teams.team.json delete mode 100644 pinaxcon/proposals/migrations/0017_lca2020_miniconfs.py create mode 100644 pinaxcon/registrasion/migrations/0013_auto_20201008_2036.py create mode 100644 static/src/lca/lca2021.svg 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\n

linux.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\n

These 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\n

Aruba Beach

\r\n\r\n

Discount codes

\r\n

LINIT0120CHA - https://www.coastalholidayapts.com.au/holidayrentals

\r\n\r\n
\r\n
\r\n

AVANI Broadbeach

\r\n\r\n

Discount codes

\r\n

CHROOT_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\n

Broadbeach Pacfic Resort

\r\n\r\n

Discount codes

\r\n

LINUX5 - https://pacificresort.com.au/

\r\n\r\n
\r\n
\r\n

Diamond Beach

\r\n\r\n

Discount codes

\r\n

LINIT0120CHA - https://www.coastalholidayapts.com.au/holidayrentals

\r\n\r\n
\r\n
\r\n

Jubilee Views

\r\n\r\n

Discount codes

\r\n

LINIT0120 - https://www.jubileeviews.com

\r\n\r\n
\r\n
\r\n

Mantra Group - Broadbeach on the Park

\r\n\r\n

Discount codes

\r\n

LINUX20 - 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

Mantra Group - Sierra Grand

\r\n\r\n

Discount codes

\r\n

LINUX20 - 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\n

Mantra Group - Peppers Broadbeach

\r\n\r\n

Discount codes

\r\n

LINUX20 - 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\n

Markham Court

\r\n\r\n

Discount codes

\r\n

MARKHAM - Phone bookings required for discount code usage on (07) 5592 3111

\r\n\r\n\r\n
\r\n
\r\n

Marrakesh Apartments

\r\n\r\n

Discount codes

\r\n

LINUX - https://www.marrakesh.com.au/ - Valid for minimum 3-night stay

\r\n\r\n\r\n
\r\n
\r\n

Montego Sands Resort

\r\n\r\n

Discount codes

\r\n

LCA5N - http://www.montegosandsresort.com.au/ - Valid for 5 nights stay

\r\n

LCA6N - http://www.montegosandsresort.com.au/ - Valid for 6 nights stay

\r\n

LCA7N - http://www.montegosandsresort.com.au/ - Valid for 7 nights stay

\r\n\r\n\r\n
\r\n
\r\n

Neptune Resort Broadbeach

\r\n\r\n

Discount codes

\r\n

Linux - 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\n

Other providers

\r\n

There 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 @@