From eb807a68536db2afac977d523e7d660b3c65d30d Mon Sep 17 00:00:00 2001 From: Thomas Steen Rasmussen Date: Fri, 25 May 2018 14:27:53 +0200 Subject: [PATCH] move call for participation from template to the database, prepare to move call for sponsors in the same way. This commit means we will need to copy the content of the old templates to the prod db after deploy --- .../migrations/0027_auto_20180525_1019.py | 23 ++++++++ .../migrations/0028_auto_20180525_1025.py | 23 ++++++++ src/camps/models.py | 12 ++++ .../bornhack-2016_call_for_participation.html | 56 ------------------ .../bornhack-2016_call_for_speakers.html | 56 ------------------ .../bornhack-2017_call_for_participation.html | 58 ------------------- .../bornhack-2017_call_for_speakers.html | 58 ------------------- .../bornhack-2018_call_for_participation.html | 11 ---- .../bornhack-2018_call_for_speakers.html | 11 ---- .../bornhack-2019_call_for_participation.html | 1 - .../bornhack-2019_call_for_speakers.html | 1 - .../templates/call_for_participation.html | 17 ++++++ .../templates/includes/program_menu.html | 8 ++- src/program/templates/proposal_list.html | 9 ++- src/program/views.py | 11 +++- 15 files changed, 97 insertions(+), 258 deletions(-) create mode 100644 src/camps/migrations/0027_auto_20180525_1019.py create mode 100644 src/camps/migrations/0028_auto_20180525_1025.py delete mode 100644 src/program/templates/bornhack-2016_call_for_participation.html delete mode 100644 src/program/templates/bornhack-2016_call_for_speakers.html delete mode 100644 src/program/templates/bornhack-2017_call_for_participation.html delete mode 100644 src/program/templates/bornhack-2017_call_for_speakers.html delete mode 100644 src/program/templates/bornhack-2018_call_for_participation.html delete mode 100644 src/program/templates/bornhack-2018_call_for_speakers.html delete mode 100644 src/program/templates/bornhack-2019_call_for_participation.html delete mode 100644 src/program/templates/bornhack-2019_call_for_speakers.html create mode 100644 src/program/templates/call_for_participation.html diff --git a/src/camps/migrations/0027_auto_20180525_1019.py b/src/camps/migrations/0027_auto_20180525_1019.py new file mode 100644 index 00000000..daf8db5b --- /dev/null +++ b/src/camps/migrations/0027_auto_20180525_1019.py @@ -0,0 +1,23 @@ +# Generated by Django 2.0.4 on 2018-05-25 08:19 + +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ('camps', '0026_auto_20180506_1633'), + ] + + operations = [ + migrations.AddField( + model_name='camp', + name='call_for_participation', + field=models.TextField(blank=True, help_text='The CFP markdown for this Camp'), + ), + migrations.AddField( + model_name='camp', + name='call_for_sponsors', + field=models.TextField(blank=True, help_text='The CFS markdown for this Camp'), + ), + ] diff --git a/src/camps/migrations/0028_auto_20180525_1025.py b/src/camps/migrations/0028_auto_20180525_1025.py new file mode 100644 index 00000000..e7976e32 --- /dev/null +++ b/src/camps/migrations/0028_auto_20180525_1025.py @@ -0,0 +1,23 @@ +# Generated by Django 2.0.4 on 2018-05-25 08:25 + +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ('camps', '0027_auto_20180525_1019'), + ] + + operations = [ + migrations.AlterField( + model_name='camp', + name='call_for_participation', + field=models.TextField(blank=True, default='The Call For Participation for this Camp has not been written yet', help_text='The CFP markdown for this Camp'), + ), + migrations.AlterField( + model_name='camp', + name='call_for_sponsors', + field=models.TextField(blank=True, default='The Call For Sponsors for this Camp has not been written yet', help_text='The CFS markdown for this Camp'), + ), + ] diff --git a/src/camps/models.py b/src/camps/models.py index 5ea46c30..196ee48c 100644 --- a/src/camps/models.py +++ b/src/camps/models.py @@ -70,11 +70,23 @@ class Camp(CreatedUpdatedModel, UUIDModel): default=False, ) + call_for_participation = models.TextField( + blank=True, + help_text='The CFP markdown for this Camp', + default='The Call For Participation for this Camp has not been written yet', + ) + call_for_sponsors_open = models.BooleanField( help_text='Check if the Call for Sponsors is open for this camp', default=False, ) + call_for_sponsors = models.TextField( + blank=True, + help_text='The CFS markdown for this Camp', + default='The Call For Sponsors for this Camp has not been written yet', + ) + def get_absolute_url(self): return reverse('camp_detail', kwargs={'camp_slug': self.slug}) diff --git a/src/program/templates/bornhack-2016_call_for_participation.html b/src/program/templates/bornhack-2016_call_for_participation.html deleted file mode 100644 index 7d47f74e..00000000 --- a/src/program/templates/bornhack-2016_call_for_participation.html +++ /dev/null @@ -1,56 +0,0 @@ -{% extends 'program_base.html' %} - -{% block title %} -Call for Speakers | {{ block.super }} -{% endblock %} - -{% block program_content %} - -{% if not camp.call_for_participation_open %} -
- Note! This Call for Speakers is no longer relevant. It is kept here for historic purposes. -
-{% endif %} - -

BornHack 2016: Call for Speakers

- -

BornHack 2016 is a 7 days outdoor technology tent camping festival that will take place from the 27th of August to the 3rd of September 2016 on the island of Bornholm in Denmark. It is first time that BornHack will take place and it is our goal to make BornHack a yearly recurring event with 100 to 350 participants.

- -

We are looking for gifted, entertaining and technically enlightening speakers to host talks, lightning talks and workshops at BornHack.

- -

Please reach out to us on speakers@bornhack.dk with a title, abstract, biography, an optional picture of yourself and whether it is a regular talk, lightning talk, workshop or something entirely different. Please ensure that all information is in English. The submitted information will be published both as a news entry and in the official event program on our website, if the submission is accepted.

- -

We are very open to different topics. We expect that the majority of the presentation at BornHack will be on security, networking, programming, distributed systems, privacy, and how these technologies relate to society.

- -

The ticket shop for BornHack 2016 is already open and available at https://bornhack.dk/shop/ - please make sure you have also read our Code of Conduct.

- -

Regular Talk

- -

Regular talks are 45 minutes of presentation, 10 minutes of questions from the audience followed by 5 minutes of preparation for setting up the next speaker.

- -

Please bring your own laptop with your presentation on; it should have an HDMI socket and we will provide the cable to the projector. We do not guarantee that audio will work, even if your laptop supports that.

- -

We will provide you with a one-day entrance ticket free of charge, but due to our limited funds, you would have to pay for transportation to and from the event yourself. We also encourage you to participate for the entire week, but you would also have to pay for the ticket yourself.

- -

Lightning Talk

- -

Lightning talks are 10 minutes of presentation. A laptop will be connected to the projector at the location of the presentations.

- -

A lightning talk is an excellent opportunity for inexperienced speakers to present a topic that you find interesting.

- -

You MUST buy yourself an entrance ticket to host a lightning talk; we are unable to offer free tickets for everyone that gives a lightning talk.

- -

Workshop

- -

We have two workshop areas that will be able to host workshops for approximately 20 people per room. Workshops can be up to 3 hours per slot and can be extended for daily workshops.

- -

You MUST buy yourself an entrance ticket to host a workshop; we are unable to offer free tickets for everyone that hosts a workshop.

- -

Contact Information

- -

The BornHack speakers team can be contacted via speakers@bornhack.dk - for general information reach out to the info team via info@bornhack.dk

- -

We are also reachable via IRC in #BornHack on irc.baconsvin.org or 6nbtgccn5nbcodn3.onion - both listening for TLS connections on port 6697.

- -

For more information, please have a look at https://bornhack.dk/ or follow us on Twitter at @bornhax.

-{% endblock %} diff --git a/src/program/templates/bornhack-2016_call_for_speakers.html b/src/program/templates/bornhack-2016_call_for_speakers.html deleted file mode 100644 index 251995fc..00000000 --- a/src/program/templates/bornhack-2016_call_for_speakers.html +++ /dev/null @@ -1,56 +0,0 @@ -{% extends 'program_base.html' %} - -{% block title %} -Call for Speakers | {{ block.super }} -{% endblock %} - -{% block program_content %} - -{% if not camp.call_for_speakers_open %} -
- Note! This Call for Speakers is no longer relevant. It is kept here for historic purposes. -
-{% endif %} - -

BornHack 2016: Call for Speakers

- -

BornHack 2016 is a 7 days outdoor technology tent camping festival that will take place from the 27th of August to the 3rd of September 2016 on the island of Bornholm in Denmark. It is first time that BornHack will take place and it is our goal to make BornHack a yearly recurring event with 100 to 350 participants.

- -

We are looking for gifted, entertaining and technically enlightening speakers to host talks, lightning talks and workshops at BornHack.

- -

Please reach out to us on speakers@bornhack.dk with a title, abstract, biography, an optional picture of yourself and whether it is a regular talk, lightning talk, workshop or something entirely different. Please ensure that all information is in English. The submitted information will be published both as a news entry and in the official event program on our website, if the submission is accepted.

- -

We are very open to different topics. We expect that the majority of the presentation at BornHack will be on security, networking, programming, distributed systems, privacy, and how these technologies relate to society.

- -

The ticket shop for BornHack 2016 is already open and available at https://bornhack.dk/shop/ - please make sure you have also read our Code of Conduct.

- -

Regular Talk

- -

Regular talks are 45 minutes of presentation, 10 minutes of questions from the audience followed by 5 minutes of preparation for setting up the next speaker.

- -

Please bring your own laptop with your presentation on; it should have an HDMI socket and we will provide the cable to the projector. We do not guarantee that audio will work, even if your laptop supports that.

- -

We will provide you with a one-day entrance ticket free of charge, but due to our limited funds, you would have to pay for transportation to and from the event yourself. We also encourage you to participate for the entire week, but you would also have to pay for the ticket yourself.

- -

Lightning Talk

- -

Lightning talks are 10 minutes of presentation. A laptop will be connected to the projector at the location of the presentations.

- -

A lightning talk is an excellent opportunity for inexperienced speakers to present a topic that you find interesting.

- -

You MUST buy yourself an entrance ticket to host a lightning talk; we are unable to offer free tickets for everyone that gives a lightning talk.

- -

Workshop

- -

We have two workshop areas that will be able to host workshops for approximately 20 people per room. Workshops can be up to 3 hours per slot and can be extended for daily workshops.

- -

You MUST buy yourself an entrance ticket to host a workshop; we are unable to offer free tickets for everyone that hosts a workshop.

- -

Contact Information

- -

The BornHack speakers team can be contacted via speakers@bornhack.dk - for general information reach out to the info team via info@bornhack.dk

- -

We are also reachable via IRC in #BornHack on irc.baconsvin.org or 6nbtgccn5nbcodn3.onion - both listening for TLS connections on port 6697.

- -

For more information, please have a look at https://bornhack.dk/ or follow us on Twitter at @bornhax.

-{% endblock %} diff --git a/src/program/templates/bornhack-2017_call_for_participation.html b/src/program/templates/bornhack-2017_call_for_participation.html deleted file mode 100644 index f94cba5d..00000000 --- a/src/program/templates/bornhack-2017_call_for_participation.html +++ /dev/null @@ -1,58 +0,0 @@ -{% extends 'program_base.html' %} - -{% block title %} -Call for Speakers | {{ block.super }} -{% endblock %} - -{% block program_content %} - -{% if not camp.call_for_participation_open %} -
- Note! This Call for Speakers is no longer relevant. It is kept here for historic purposes. -
-{% endif %} - -

Call for Speakers

-

We are looking for gifted, talented, humourous, technically enlightened speakers to host talks, lightning talks, and workshops at BornHack.

- -

We are very open to different topics. We expect that the majority of the presentation at BornHack will be on security, networking, programming, distributed systems, privacy, and how these technologies relate to society.

- -

BornHack is trying to be an inclusive event so please make sure you have read and understood our Code of Conduct.

- -

Regular Talk

-

Regular talks are 45 minutes of presentation, 10 minutes of questions from the audience followed by 5 minutes of preparation for setting up the next speaker.

- -

Please bring your own laptop with your presentation on; it should have an ordinary HDMI output and we will provide the cable to the projector. We do not guarantee that audio will work, even if your laptop supports it - please reach out to us early if this is a requirement.

- -

We will provide speakers with a one-day entrance ticket free of charge, but due to our limited funds, you would have to pay for transportation to and from the event yourself. We also encourage speakers to participate for the entire week, but you will have to pay for the full ticket yourself.

- -

Lightning Talk

-

Lightning talks are 10 minutes of presentation. A laptop will be connected to the projector at the location of the presentations.

- -

A lightning talk is an excellent opportunity for inexperienced speakers to share an interesting idea, presentation, or maybe just a small story.

- -

You must buy an entrance ticket to host a lightning talk; we are unable to offer free tickets for lightning talks.

- -

Workshops

-

We have two workshop areas that will be able to host workshops for approximately 20 people per room. Workshops can be up to 3 hours per slot and can be extended to full day workshops.

- -

You must buy an entrance ticket to host a workshop; we are unable to offer free tickets for workshops.

- -

Submitting Content

-

Please submit content for BornHack 2017 as early as possible. You can submit content via our website:

- -
    -
  1. Create a user account on the BornHack website
  2. -
  3. Visit the proposals page
  4. -
  5. Propose a new speaker
  6. -
  7. Propose a new event
  8. -
- -

We will review incoming proposals and notify you as early as possible on whether the proposal was accepted or not. Proposals submitted before 1st of July will be notified by us no later than the 16th of July. Late submissions are welcome, but we might be running low on available slots at that time.

- -

Contact Information

-

The BornHack content team can be reached at content@bornhack.dk - for general questions regarding the event please reach out to the info team at info@bornhack.dk

- -

We are reachable via IRC in #BornHack on irc.baconsvin.org (6nbtgccn5nbcodn3.onion) on port 6697 with TLS, you can also follow us on Twitter at @bornhax.

- -{% endblock %} diff --git a/src/program/templates/bornhack-2017_call_for_speakers.html b/src/program/templates/bornhack-2017_call_for_speakers.html deleted file mode 100644 index 80e03280..00000000 --- a/src/program/templates/bornhack-2017_call_for_speakers.html +++ /dev/null @@ -1,58 +0,0 @@ -{% extends 'program_base.html' %} - -{% block title %} -Call for Speakers | {{ block.super }} -{% endblock %} - -{% block program_content %} - -{% if not camp.call_for_speakers_open %} -
- Note! This Call for Speakers is no longer relevant. It is kept here for historic purposes. -
-{% endif %} - -

Call for Speakers

-

We are looking for gifted, talented, humourous, technically enlightened speakers to host talks, lightning talks, and workshops at BornHack.

- -

We are very open to different topics. We expect that the majority of the presentation at BornHack will be on security, networking, programming, distributed systems, privacy, and how these technologies relate to society.

- -

BornHack is trying to be an inclusive event so please make sure you have read and understood our Code of Conduct.

- -

Regular Talk

-

Regular talks are 45 minutes of presentation, 10 minutes of questions from the audience followed by 5 minutes of preparation for setting up the next speaker.

- -

Please bring your own laptop with your presentation on; it should have an ordinary HDMI output and we will provide the cable to the projector. We do not guarantee that audio will work, even if your laptop supports it - please reach out to us early if this is a requirement.

- -

We will provide speakers with a one-day entrance ticket free of charge, but due to our limited funds, you would have to pay for transportation to and from the event yourself. We also encourage speakers to participate for the entire week, but you will have to pay for the full ticket yourself.

- -

Lightning Talk

-

Lightning talks are 10 minutes of presentation. A laptop will be connected to the projector at the location of the presentations.

- -

A lightning talk is an excellent opportunity for inexperienced speakers to share an interesting idea, presentation, or maybe just a small story.

- -

You must buy an entrance ticket to host a lightning talk; we are unable to offer free tickets for lightning talks.

- -

Workshops

-

We have two workshop areas that will be able to host workshops for approximately 20 people per room. Workshops can be up to 3 hours per slot and can be extended to full day workshops.

- -

You must buy an entrance ticket to host a workshop; we are unable to offer free tickets for workshops.

- -

Submitting Content

-

Please submit content for BornHack 2017 as early as possible. You can submit content via our website:

- -
    -
  1. Create a user account on the BornHack website
  2. -
  3. Visit the proposals page
  4. -
  5. Propose a new speaker
  6. -
  7. Propose a new event
  8. -
- -

We will review incoming proposals and notify you as early as possible on whether the proposal was accepted or not. Proposals submitted before 1st of July will be notified by us no later than the 16th of July. Late submissions are welcome, but we might be running low on available slots at that time.

- -

Contact Information

-

The BornHack content team can be reached at content@bornhack.dk - for general questions regarding the event please reach out to the info team at info@bornhack.dk

- -

We are reachable via IRC in #BornHack on irc.baconsvin.org (6nbtgccn5nbcodn3.onion) on port 6697 with TLS, you can also follow us on Twitter at @bornhax.

- -{% endblock %} diff --git a/src/program/templates/bornhack-2018_call_for_participation.html b/src/program/templates/bornhack-2018_call_for_participation.html deleted file mode 100644 index 665d6033..00000000 --- a/src/program/templates/bornhack-2018_call_for_participation.html +++ /dev/null @@ -1,11 +0,0 @@ -{% extends 'program_base.html' %} - -{% block title %} -Call for Participation | {{ block.super }} -{% endblock %} - -{% block program_content %} - -

Call for Participation coming soon!

- -{% endblock %} diff --git a/src/program/templates/bornhack-2018_call_for_speakers.html b/src/program/templates/bornhack-2018_call_for_speakers.html deleted file mode 100644 index 1e2c8e6a..00000000 --- a/src/program/templates/bornhack-2018_call_for_speakers.html +++ /dev/null @@ -1,11 +0,0 @@ -{% extends 'program_base.html' %} - -{% block title %} -Call for Speakers | {{ block.super }} -{% endblock %} - -{% block program_content %} - -

Call for Speakers coming eventually!

- -{% endblock %} diff --git a/src/program/templates/bornhack-2019_call_for_participation.html b/src/program/templates/bornhack-2019_call_for_participation.html deleted file mode 100644 index 4a5180a5..00000000 --- a/src/program/templates/bornhack-2019_call_for_participation.html +++ /dev/null @@ -1 +0,0 @@ -program/templates/bornhack-2019_call_for_speakers.html \ No newline at end of file diff --git a/src/program/templates/bornhack-2019_call_for_speakers.html b/src/program/templates/bornhack-2019_call_for_speakers.html deleted file mode 100644 index 4a5180a5..00000000 --- a/src/program/templates/bornhack-2019_call_for_speakers.html +++ /dev/null @@ -1 +0,0 @@ -program/templates/bornhack-2019_call_for_speakers.html \ No newline at end of file diff --git a/src/program/templates/call_for_participation.html b/src/program/templates/call_for_participation.html new file mode 100644 index 00000000..ee865f22 --- /dev/null +++ b/src/program/templates/call_for_participation.html @@ -0,0 +1,17 @@ +{% extends 'program_base.html' %} + +{% block title %} +Call for Participation | {{ block.super }} +{% endblock %} + +{% block program_content %} + +{% if not camp.call_for_participation_open %} +
+ Note! This Call for Particilation is not open. +
+{% endif %} + +{{ cfp_markdown|safe }} + +{% endblock %} diff --git a/src/program/templates/includes/program_menu.html b/src/program/templates/includes/program_menu.html index f83b03bb..d5439a8b 100644 --- a/src/program/templates/includes/program_menu.html +++ b/src/program/templates/includes/program_menu.html @@ -1,10 +1,12 @@ Schedule Events Speakers - {% if camp.call_for_participation_open %} - Call for Participation - {% if request.user.is_authenticated %} + Call for Participation + {% if request.user.is_authenticated %} + {% if camp.call_for_participation_open %} Submit Proposal + {% else %} + View Proposals {% endif %} {% endif %} diff --git a/src/program/templates/proposal_list.html b/src/program/templates/proposal_list.html index 564c7d55..13245d8f 100644 --- a/src/program/templates/proposal_list.html +++ b/src/program/templates/proposal_list.html @@ -6,7 +6,14 @@ Proposals | {{ block.super }} {% block program_content %} -{% include 'includes/event_proposal_type_select.html' %} +{% if camp.call_for_participation_open %} + {% include 'includes/event_proposal_type_select.html' %} +{% else %} +
+ Note! This Call for Particilation is not open. +
+{% endif %} + {% if speakerproposal_list or eventproposal_list %}
diff --git a/src/program/views.py b/src/program/views.py index 1b776543..a37a8317 100644 --- a/src/program/views.py +++ b/src/program/views.py @@ -631,8 +631,15 @@ class ScheduleView(CampViewMixin, TemplateView): class CallForParticipationView(CampViewMixin, TemplateView): - def get_template_names(self): - return '%s_call_for_participation.html' % self.camp.slug + template_name = 'call_for_participation.html' + + def get_context_data(self, *args, **kwargs): + context = super().get_context_data(**kwargs) + if self.camp.call_for_participation: + context['cfp_markdown'] = self.camp.call_for_participation + else: + context['cfp_markdown'] = "

This CFP has not been written yet.

" + return context ###################################################################################################