a bit more work on speakers and schedule and sponsors and stuff
This commit is contained in:
parent
edc37243e3
commit
c48c66635c
|
@ -43,6 +43,7 @@ INSTALLED_APPS = [
|
|||
'villages',
|
||||
'program',
|
||||
'info',
|
||||
'sponsors',
|
||||
|
||||
'allauth',
|
||||
'allauth.account',
|
||||
|
|
|
@ -44,11 +44,6 @@ urlpatterns = [
|
|||
TemplateView.as_view(template_name='coc.html'),
|
||||
name='conduct'
|
||||
),
|
||||
url(
|
||||
r'^sponsors/',
|
||||
TemplateView.as_view(template_name='sponsors.html'),
|
||||
name='call-for-sponsors'
|
||||
),
|
||||
url(
|
||||
r'^login/$',
|
||||
LoginView.as_view(),
|
||||
|
@ -116,7 +111,7 @@ urlpatterns = [
|
|||
name='event_index'
|
||||
),
|
||||
url(
|
||||
r'^call/$',
|
||||
r'^call-for-speakers/$',
|
||||
CallForSpeakersView.as_view(),
|
||||
name='call_for_speakers'
|
||||
),
|
||||
|
@ -130,7 +125,7 @@ urlpatterns = [
|
|||
|
||||
url(
|
||||
r'^sponsors/$',
|
||||
SponsorIndexView.as_view(),
|
||||
SponsorView.as_view(),
|
||||
name='sponsors'
|
||||
),
|
||||
|
||||
|
|
61
camps/templates/camp_detail_bornhack-2017.html
Normal file
61
camps/templates/camp_detail_bornhack-2017.html
Normal file
|
@ -0,0 +1,61 @@
|
|||
{% extends 'base.html' %}
|
||||
{% load commonmark %}
|
||||
{% load static from staticfiles %}
|
||||
{% load imageutils %}
|
||||
{% block content %}
|
||||
<div class="row">
|
||||
<div class="col-md-12">
|
||||
<img src="{% static camp.logo_large %}" class="img-responsive" id="front-logo" />
|
||||
|
||||
<br />
|
||||
|
||||
<div class="col-md-8 text-container">
|
||||
<div class="lead">
|
||||
<strong>Bornhack 2017</strong> will be the second BornHack. It will take place from <strong>August 22nd to August 29th 2017</strong> on the Danish island of Bornholm. The tagline of this event will be <strong>Make Tradition</strong>.
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-4">
|
||||
{% thumbnail 'img/bornhack-2016/esbjerg' '1600x988-B12A2612.jpg' 'A quiet moment in the chillout area by the bar' %}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<br />
|
||||
|
||||
<div class="row">
|
||||
<div class="col-md-4">
|
||||
{% thumbnail 'img/bornhack-2016/esbjerg' '1600x988-B12A2631.jpg' 'The BornHack 2016 organiser team' %}
|
||||
</div>
|
||||
<div class="col-md-8 text-container">
|
||||
<div class="lead">
|
||||
The BornHack team looks forward to organising another great event for the hacker community. We <strong>still need volunteers</strong>, so please let us know if you want to help!
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<br />
|
||||
|
||||
<div class="row">
|
||||
<div class="col-md-8 text-container">
|
||||
<div class="lead">We want to encourage <strong>hackers, makers, politicians, activists, developers, artists, sysadmins, engineers</strong> and anyone else with an interest in <strong>technology and society</strong> to read our <a href="{% url 'call_for_speakers' camp_slug=camp.slug %}">call for speakers</a>.</div>
|
||||
</div>
|
||||
<div class="col-md-4">
|
||||
{% thumbnail 'img/bornhack-2016/fonsmark' 'FB1_5149.JPG' 'Danish politicians debating at BornHack 2016' %}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<br />
|
||||
|
||||
<div class="row">
|
||||
<div class="col-md-4">
|
||||
{% thumbnail 'img/bornhack-2016/fonsmark' 'FB1_5265.JPG' 'Organisers thanking the BornHack 2016 sponsors' %}
|
||||
</div>
|
||||
<div class="col-md-8 text-container">
|
||||
<div class="lead">
|
||||
BornHack aims to <strong>keep ticket prices affordable</strong> for everyone and to that end <strong>we need sponsors</strong>. Please see our <a href="{% url 'sponsors' camp_slug=camp.slug %}">call for sponsors</a> if you want to sponsor us, or if you work for a company you think might be able to help.
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
{% endblock content %}
|
||||
|
|
@ -38,6 +38,12 @@ class Event(CreatedUpdatedModel):
|
|||
self.slug = slugify(self.title)
|
||||
super(Event, self).save(**kwargs)
|
||||
|
||||
@property
|
||||
def speakers_list(self):
|
||||
if self.speakers.exists():
|
||||
return ", ".join(self.speakers.all().values_list('name', flat=True))
|
||||
return False
|
||||
|
||||
|
||||
class EventInstance(CreatedUpdatedModel):
|
||||
""" An instance of an event """
|
||||
|
|
|
@ -2,35 +2,32 @@
|
|||
{% load commonmark %}
|
||||
|
||||
{% block schedule_content %}
|
||||
<div class="panel panel-default">
|
||||
<div class="panel-heading" ><span style="font-size: x-large"><span style="background-color: {{ event.event_type.color }}; border: 0; color: {% if event.event_type.light_text %}white{% else %}black{% endif %}; display: inline-block; padding: 5px;">{{ event.event_type.name }}</span> {{ event.title }}</span></div>
|
||||
<div class="panel-body">
|
||||
<p>
|
||||
{{ event.abstract|commonmark }}
|
||||
{% if event.speakers.exists %}
|
||||
<hr>
|
||||
{% for speaker in event.speakers.all %}
|
||||
<h4><a href="{% url 'speaker_detail' camp_slug=camp.slug slug=speaker.slug %}">{{ speaker }}</a></h4>
|
||||
{{ speaker.biography|commonmark }}
|
||||
{% endfor %}
|
||||
{% endif %}
|
||||
</p>
|
||||
|
||||
<h3>
|
||||
<small style="background-color: {{ event.event_type.color }}; border: 0; color: {% if event.event_type.light_text %}white{% else %}black{% endif %}; display: inline-block; padding: 5px;">
|
||||
{{ event.event_type.name }}
|
||||
</small>
|
||||
{{ event.title }}
|
||||
</h3>
|
||||
|
||||
<h4>
|
||||
{% if event.start and event.end and event.days.all.exists %}
|
||||
{{ event.start|date:"H:i" }} - {{ event.end|date:"H:i" }} on
|
||||
{% for day in event.days.all %}{{ day.date|date:"l" }}{% if not forloop.last %}, {% endif %}{% endfor %}<br />
|
||||
{% else %}
|
||||
Not scheduled yet
|
||||
{% endif %}
|
||||
</h4>
|
||||
|
||||
{{ event.abstract|commonmark }}
|
||||
|
||||
<hr />
|
||||
|
||||
{% if event.speakers.exists %}
|
||||
{% for speaker in event.speakers.all %}
|
||||
|
||||
<h3><a href="{% url 'speaker_detail' camp_slug=camp.slug slug=speaker.slug %}">{{ speaker }}</a></h3>
|
||||
{{ speaker.biography|commonmark }}
|
||||
|
||||
{% endfor %}
|
||||
|
||||
{% endif %}
|
||||
<hr>
|
||||
|
||||
<h4>Instances</h4>
|
||||
<ul class="list-group">
|
||||
{% for ei in event.instances.all %}
|
||||
<li class="list-group-item">{{ ei.when.lower|date:"l M. d H:i" }} - {{ ei.when.upper|date:"H:i" }}</li>
|
||||
{% empty %}
|
||||
No instances scheduled yet
|
||||
{% endfor %}
|
||||
</ul>
|
||||
</h4>
|
||||
</div>
|
||||
</div>
|
||||
{% endblock schedule_content %}
|
||||
|
||||
|
|
|
@ -15,7 +15,7 @@
|
|||
<br />
|
||||
{{ event }}
|
||||
<br />
|
||||
{% if event.speakers.exists %}<i>by {{ event.speakers.all|join:", " }}{% endif %}</i>
|
||||
{% if event.speakers.exists %}<i>by {{ event.speakers_list }}{% endif %}</i>
|
||||
</a>
|
||||
{% endif %}
|
||||
{% endif %}
|
||||
|
|
|
@ -9,23 +9,27 @@
|
|||
<hr />
|
||||
|
||||
{% if speaker.events.exists %}
|
||||
{% for event in speaker.events.all %}
|
||||
{% for event in speaker.events.all %}
|
||||
<h3>
|
||||
<small style="background-color: {{ event.event_type.color }}; border: 0; color: {% if event.event_type.light_text %}white{% else %}black{% endif %}; display: inline-block; padding: 5px;">
|
||||
{{ event.event_type.name }}
|
||||
</small>
|
||||
<a href="{% url 'event_detail' camp_slug=camp.slug slug=event.slug %}">{{ event.title }}</a>
|
||||
</h3>
|
||||
{{ event.abstract|commonmark }}
|
||||
|
||||
<h3>
|
||||
<small style="background-color: {{ event.event_type.color }}; border: 0; color: {% if event.event_type.light_text %}white{% else %}black{% endif %}; display: inline-block; padding: 5px;">
|
||||
{{ event.event_type.name }}
|
||||
</small><br>
|
||||
<a href="{% url 'event_detail' camp_slug=camp.slug slug=event.slug %}">{{ event.title }}</a></h3>
|
||||
{{ event.abstract|commonmark }}
|
||||
{% if event.start and event.end and event.days.all.exists %}
|
||||
At {{ event.start|date:"H:i" }} - {{ event.end|date:"H:i" }} on
|
||||
{% for day in event.days.all %}{{ day.date|date:"l" }}{% if not forloop.last %}, {% endif %}{% endfor %}<br />
|
||||
{% else %}
|
||||
Not scheduled yet
|
||||
<h4>Instances</h4>
|
||||
<ul class="list-group">
|
||||
{% for ei in event.instances.all %}
|
||||
<li class="list-group-item">{{ ei.when.lower|date:"l M. d H:i" }} - {{ ei.when.upper|date:"H:i" }}</li>
|
||||
{% empty %}
|
||||
No instances scheduled yet
|
||||
{% endfor %}
|
||||
</ul>
|
||||
</h4>
|
||||
<hr>
|
||||
{% empty %}
|
||||
No events registered for this speaker yet
|
||||
{% endfor %}
|
||||
{% endif %}
|
||||
|
||||
{% endfor %}
|
||||
|
||||
{% endif %}
|
||||
|
||||
{% endblock schedule_content %}
|
||||
|
|
|
@ -6,11 +6,10 @@ Call for Sponsors | {{ block.super }}
|
|||
{% endblock %}
|
||||
|
||||
{% block content %}
|
||||
<h2>Our Sponsors</h2>
|
||||
<h2>BornHack 2016 Sponsors</h2>
|
||||
<p class="lead">
|
||||
This is an alphabetical list of our current sponsors. We are immensely
|
||||
grateful for all the help we are getting, and we are looking forward to
|
||||
adding more names to this list.
|
||||
This is an alphabetical list of the BornHack 2016 sponsors. An event like BornHack can not be built on hard work and
|
||||
good intentions alone - it would simply not have been possible without the financial help from these organisations. Thank you, we are immensely grateful!
|
||||
</p>
|
||||
<div class="text-center">
|
||||
<hr>
|
||||
|
@ -116,7 +115,7 @@ Call for Sponsors | {{ block.super }}
|
|||
<a href="mailto:thomas@tyktech.dk">
|
||||
<img src="{% static 'img/sponsors/tyktech_logo.png' %}" class="img-responsive center-block" alt="tyktech logo">
|
||||
</a>
|
||||
Badges, lanyards, wristbands
|
||||
Badges, wristbands
|
||||
</p>
|
||||
<hr>
|
||||
<p class="lead">
|
||||
|
|
|
@ -2,8 +2,8 @@ from django.views.generic import TemplateView
|
|||
from camps.mixins import CampViewMixin
|
||||
|
||||
|
||||
class SponsorIndexView(CampViewMixin, TemplateView):
|
||||
def get_template_name(self):
|
||||
class SponsorView(CampViewMixin, TemplateView):
|
||||
def get_template_names(self):
|
||||
return '%s-sponsors.html' % self.camp.slug
|
||||
|
||||
|
||||
|
|
Loading…
Reference in a new issue