diff --git a/cfp/apps.py b/cfp/apps.py
index 6933c94..e9f8694 100644
--- a/cfp/apps.py
+++ b/cfp/apps.py
@@ -6,6 +6,5 @@ class CFPConfig(AppConfig):
name = 'cfp'
def ready(self):
- pass
- #import cfp.signals # noqa
- #post_migrate.connect(proposals.signals.call_first_site_post_save, sender=self)
+ import cfp.signals # noqa
+ post_migrate.connect(cfp.signals.call_first_site_post_save, sender=self)
diff --git a/cfp/forms.py b/cfp/forms.py
new file mode 100644
index 0000000..f5fdd73
--- /dev/null
+++ b/cfp/forms.py
@@ -0,0 +1,12 @@
+from django import forms
+from django.forms.models import modelform_factory
+
+from .models import Participant, Talk
+
+
+class ProposeForm(forms.Form):
+ pass
+
+
+ParticipantForm = modelform_factory(Participant, fields=['email'])
+TalkForm = modelform_factory(Talk, fields=['title'])
diff --git a/cfp/signals.py b/cfp/signals.py
new file mode 100644
index 0000000..bed73a4
--- /dev/null
+++ b/cfp/signals.py
@@ -0,0 +1,21 @@
+from django.db.models.signals import post_save
+from django.dispatch import receiver
+from django.contrib.sites.models import Site
+from django.conf import settings
+
+from .models import Conference
+
+
+@receiver(post_save, sender=Site, dispatch_uid="Create Conference for Site")
+@disable_for_loaddata
+def create_conference(sender, instance, **kwargs):
+ Conference.objects.get_or_create(site=instance)
+
+
+def call_first_site_post_save(apps, **kwargs):
+ try:
+ site = Site.objects.get(id=getattr(settings, 'SITE_ID', 1))
+ except Site.DoesNotExist:
+ pass
+ else:
+ site.save()
diff --git a/cfp/templates/cfp/complete.html b/cfp/templates/cfp/complete.html
new file mode 100644
index 0000000..e0dea3f
--- /dev/null
+++ b/cfp/templates/cfp/complete.html
@@ -0,0 +1,19 @@
+{% extends 'base.html' %}
+
+{% load ponyconf_tags i18n %}
+
+{% block proposetab %} class="active"{% endblock %}
+
+{% block content %}
+
+
+
+
+
Merci pour votre participation !
+
+
+{% endblock %}
diff --git a/cfp/templates/cfp/propose.html b/cfp/templates/cfp/propose.html
new file mode 100644
index 0000000..114bed1
--- /dev/null
+++ b/cfp/templates/cfp/propose.html
@@ -0,0 +1,19 @@
+{% extends 'base.html' %}
+
+{% load ponyconf_tags i18n %}
+
+{% block proposetab %} class="active"{% endblock %}
+
+{% block content %}
+
+
+
+
+ {% include "_form.html" %}
+
+
+{% endblock %}
diff --git a/cfp/urls.py b/cfp/urls.py
index c2c6c06..895f01c 100644
--- a/cfp/urls.py
+++ b/cfp/urls.py
@@ -1,8 +1,10 @@
from django.conf.urls import url
-#from proposals import views
+from . import views
urlpatterns = [
+ url(r'^propose/$', views.ProposeView.as_view(), name='propose'),
+ url(r'^thanks/$', views.CompleteView.as_view(), name='propose-complete'),
#url(r'^markdown/$', views.markdown_preview, name='markdown'),
#url(r'^$', views.home, name='home'),
#url(r'^staff/$', views.staff, name='staff'),
diff --git a/cfp/views.py b/cfp/views.py
new file mode 100644
index 0000000..85a1c01
--- /dev/null
+++ b/cfp/views.py
@@ -0,0 +1,14 @@
+from django.views.generic import FormView, TemplateView
+from django.core.urlresolvers import reverse_lazy
+
+from .forms import ProposeForm
+
+
+class ProposeView(FormView):
+ form_class = ProposeForm
+ template_name = 'cfp/propose.html'
+ success_url = reverse_lazy('propose-complete')
+
+
+class CompleteView(TemplateView):
+ template_name = 'cfp/complete.html'
diff --git a/ponyconf/templates/base.html b/ponyconf/templates/base.html
index 112aa69..8b8f877 100644
--- a/ponyconf/templates/base.html
+++ b/ponyconf/templates/base.html
@@ -18,6 +18,7 @@
- {% trans "Home" %}
+ - {% trans "Call for participation" %}
{% comment %}
{% if request.user.is_authenticated %}
- {% trans "Exhibitor" %}
diff --git a/ponyconf/urls.py b/ponyconf/urls.py
index bddb468..473cee9 100644
--- a/ponyconf/urls.py
+++ b/ponyconf/urls.py
@@ -24,8 +24,8 @@ from . import views
urlpatterns = [
url(r'^admin/', admin.site.urls),
url(r'^accounts/', include('accounts.urls')),
- url(r'^', views.home, name='home'),
- url(r'^', include('cfp.urls')),
+ url(r'^cfp/', include('cfp.urls')),
+ url(r'^$', views.home, name='home'),
#url(r'', include('proposals.urls')),
#url(r'', include('planning.urls')),
#url(r'^volunteers/', include('volunteers.urls')),