a bit more work on speakers and schedule and sponsors and stuff

This commit is contained in:
Thomas Steen Rasmussen 2017-01-25 00:24:04 +01:00
parent edc37243e3
commit c48c66635c
9 changed files with 124 additions and 61 deletions

View file

@ -43,6 +43,7 @@ INSTALLED_APPS = [
'villages',
'program',
'info',
'sponsors',
'allauth',
'allauth.account',

View file

@ -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'
),

View 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 %}

View file

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

View file

@ -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 %}

View file

@ -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 %}

View file

@ -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 %}

View file

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

View file

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