diff --git a/ponyconf/settings.py b/ponyconf/settings.py index e5af6ac..f464c2d 100644 --- a/ponyconf/settings.py +++ b/ponyconf/settings.py @@ -166,6 +166,7 @@ BOWER_INSTALLED_APPS = ( 'jquery-ui', 'jquery-cookie', 'select2', + 'eonasdan-bootstrap-datetimepicker', ) LOGIN_REDIRECT_URL = 'home' diff --git a/proposals/forms.py b/proposals/forms.py index 3160244..d360814 100644 --- a/proposals/forms.py +++ b/proposals/forms.py @@ -125,4 +125,4 @@ class TopicForm(forms.ModelForm): return name -ConferenceForm = modelform_factory(Conference, fields=['home']) +ConferenceForm = modelform_factory(Conference, fields=['cfp_opening_date', 'cfp_closing_date', 'home']) diff --git a/proposals/migrations/0013_auto_20160928_1802.py b/proposals/migrations/0013_auto_20160928_1802.py new file mode 100644 index 0000000..dbee273 --- /dev/null +++ b/proposals/migrations/0013_auto_20160928_1802.py @@ -0,0 +1,25 @@ +# -*- coding: utf-8 -*- +# Generated by Django 1.10.1 on 2016-09-28 18:02 +from __future__ import unicode_literals + +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ('proposals', '0012_topic_track'), + ] + + operations = [ + migrations.AddField( + model_name='conference', + name='cfp_closing_date', + field=models.DateTimeField(blank=True, default=None, null=True), + ), + migrations.AddField( + model_name='conference', + name='cfp_opening_date', + field=models.DateTimeField(blank=True, default=None, null=True), + ), + ] diff --git a/proposals/models.py b/proposals/models.py index d7cb8ec..a8716e2 100644 --- a/proposals/models.py +++ b/proposals/models.py @@ -7,6 +7,7 @@ from django.core.validators import MaxValueValidator, MinValueValidator from django.db import models from django.utils.translation import ugettext_lazy as _ from django.utils.translation import ugettext +from django.utils import timezone from autoslug import AutoSlugField @@ -20,6 +21,16 @@ class Conference(models.Model): site = models.OneToOneField(Site, on_delete=models.CASCADE) home = models.TextField(blank=True, default="") + cfp_opening_date = models.DateTimeField(null=True, blank=True, default=None) + cfp_closing_date = models.DateTimeField(null=True, blank=True, default=None) + + def cfp_is_open(self): + now = timezone.now() + if self.cfp_opening_date and now < self.cfp_opening_date: + return False + if self.cfp_closing_date and now > self.cfp_closing_date: + return False + return True def __str__(self): return str(self.site) diff --git a/proposals/templates/proposals/conference.html b/proposals/templates/proposals/conference.html index ccdc890..43ad7de 100644 --- a/proposals/templates/proposals/conference.html +++ b/proposals/templates/proposals/conference.html @@ -2,39 +2,39 @@ {% load bootstrap3 staticfiles i18n %} -{% block talktab %} class="active"{% endblock %} +{% block admintab %} class=active{% endblock %} {% block content %} -