proposal form

This commit is contained in:
Élie Bouttier 2017-05-30 22:27:45 +02:00
parent a795a0bc84
commit 05b57ccc1a
9 changed files with 93 additions and 6 deletions

View File

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

12
cfp/forms.py Normal file
View File

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

21
cfp/signals.py Normal file
View File

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

View File

@ -0,0 +1,19 @@
{% extends 'base.html' %}
{% load ponyconf_tags i18n %}
{% block proposetab %} class="active"{% endblock %}
{% block content %}
<div class="page-header">
<h1>
{% trans "Your proposition have been successfully submitted!" %}
</h1>
</div>
<div class="row">
<div class="col-md-12">
<p>Merci pour votre participation !</p>
</div>
</div>
{% endblock %}

View File

@ -0,0 +1,19 @@
{% extends 'base.html' %}
{% load ponyconf_tags i18n %}
{% block proposetab %} class="active"{% endblock %}
{% block content %}
<div class="page-header">
<h1>
{% trans "Participate" %}
</h1>
</div>
<div class="row">
<div class="col-md-12">
{% include "_form.html" %}
</div>
</div>
{% endblock %}

View File

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

14
cfp/views.py Normal file
View File

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

View File

@ -18,6 +18,7 @@
<div id="navbar" class="navbar-collapse collapse">
<ul class="nav navbar-nav">
<li{% block hometab %}{% endblock %}><a href="{% url 'home' %}"><span class="glyphicon glyphicon-home"></span>&nbsp;{% trans "Home" %}</a></li>
<li{% block proposetab %}{% endblock %}><a href="{% url 'propose' %}"><span class="glyphicon glyphicon-bullhorn"></span>&nbsp;{% trans "Call for participation" %}</a></li>
{% comment %}
{% if request.user.is_authenticated %}
<li{% block exhibitortab %}{% endblock %}><a href="{% url 'participate-as-speaker' %}"><span class="glyphicon glyphicon-bullhorn"></span>&nbsp;{% trans "Exhibitor" %}</a></li>

View File

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