passerelle_register_plugin: use FormPluginBase class from portail_citoyen

This commit is contained in:
Benjamin Dauvergne 2014-01-07 19:19:16 +01:00
parent 3e12733649
commit 55fda53940
2 changed files with 6 additions and 28 deletions

View File

@ -1,34 +1,11 @@
from django.utils.translation import ugettext_lazy as _
from cms.plugin_base import CMSPluginBase
from cms.plugin_pool import plugin_pool
import models
import forms
class FormPluginBase(CMSPluginBase):
form_class = None
saved_message = None
def render(self, context, instance, placeholder):
request = context['request']
context['submit'] = submit = 'submit-{class_name}-{instance_id}'.format(
class_name=self.__class__.__name__.lower(),
instance_id=instance.id)
if request.method == 'POST' and submit in request.POST:
form = self.form_class(request=request, instance=instance,
data=request.POST)
if form.is_valid():
form.save()
context['saved'] = self.saved_message
else:
form = self.form_class(request=request, instance=instance)
context['form'] = form
context['instance_id'] = instance.id
return context
from portail_citoyen.cms_plugins import FormPluginBase
from . import models, forms
class PasserelleRegisterPlugin(FormPluginBase):
@ -36,6 +13,7 @@ class PasserelleRegisterPlugin(FormPluginBase):
name = _('passerelle register plugin')
render_template = 'passerelle_register_plugin/plugin.html'
text_enabled = True
no_cancel_button = False
form_class = forms.PasserelleRegisterForm

View File

@ -1,6 +1,6 @@
{% load i18n %}
<div id="passerelle-register-plugin-{{ instance_id }}" class="passerelle-register-plugin">
<div id="passerelle-register-plugin-{{ instance.id }}" class="passerelle-register-plugin">
{{ form.non_field_errors }}
{% for field in form %}
{{ field.errors }}
@ -8,12 +8,12 @@
<form method="post">
{% csrf_token %}
<table id="passerelle-register-plugin-table-{{ instance_id }}">
<table id="passerelle-register-plugin-table-{{ instance.id }}">
<thead>
<tr>
<td>{% trans "Name" %}</td>
{% for choice in form.all_choices %}
<td id="passerelle-register-plugin-header-{{choice|slugify}}-{{instance_id}}" class="passerelle-register-plugin-header-{{choice|slugify}}">
<td id="passerelle-register-plugin-header-{{choice|slugify}}-{{instance.id}}" class="passerelle-register-plugin-header-{{choice|slugify}}">
{{ choice }}
</td>
{% endfor %}