add forms to create authentic & wcs instances
This commit is contained in:
parent
76fa6aa33f
commit
e631157930
|
@ -0,0 +1,25 @@
|
|||
from django import forms
|
||||
from django.template.defaultfilters import slugify
|
||||
|
||||
from .models import IdentityProvider, WebForms
|
||||
|
||||
class IdentityProviderForm(forms.ModelForm):
|
||||
class Meta:
|
||||
model = IdentityProvider
|
||||
exclude = ('slug',)
|
||||
|
||||
def save(self, commit=True):
|
||||
if not self.instance.slug:
|
||||
self.instance.slug = slugify(self.instance.title)
|
||||
return super(IdentityProviderForm, self).save(commit=commit)
|
||||
|
||||
|
||||
class WebFormsForm(forms.ModelForm):
|
||||
class Meta:
|
||||
model = WebForms
|
||||
exclude = ('slug',)
|
||||
|
||||
def save(self, commit=True):
|
||||
if not self.instance.slug:
|
||||
self.instance.slug = slugify(self.instance.title)
|
||||
return super(WebFormsForm, self).save(commit=commit)
|
|
@ -32,9 +32,12 @@
|
|||
<script>
|
||||
$(function() {
|
||||
$('#new-service').change(function() {
|
||||
$.get('new-' + $(this).val(), function(data) {
|
||||
var service_id = $(this).val();
|
||||
$.get('new-' + service_id, function(data) {
|
||||
var title = $(data).find('h2').text();
|
||||
$(data).find('form').dialog({modal: true, title: title, width: 'auto'});
|
||||
var form = $(data).find('form');
|
||||
$(form).attr('action', 'new-' + service_id);
|
||||
$(form).dialog({modal: true, title: title, width: 'auto'});
|
||||
});
|
||||
});
|
||||
});
|
||||
|
|
|
@ -0,0 +1,22 @@
|
|||
{% extends "hobo/base.html" %}
|
||||
{% load i18n %}
|
||||
|
||||
{% block appbar %}
|
||||
<h2>{{ model_name }}</h2>
|
||||
<span><a href="./">{% trans 'Back to settings' %}</a></span>
|
||||
{% endblock %}
|
||||
|
||||
{% block content %}
|
||||
|
||||
<form method="post" enctype="multipart/form-data">
|
||||
<div id="form-content">
|
||||
{% csrf_token %}
|
||||
{{ form.as_p }}
|
||||
</div>
|
||||
{% block buttons %}
|
||||
<button class="enable-on-change">Enregistrer</button>
|
||||
{% endblock %}
|
||||
</form>
|
||||
|
||||
{% endblock %}
|
||||
|
|
@ -4,4 +4,6 @@ from .views import *
|
|||
|
||||
urlpatterns = patterns('',
|
||||
url(r'^$', HomeView.as_view(), name='environment-home'),
|
||||
url(r'^new-idp$', IdentityProviderCreateView.as_view()),
|
||||
url(r'^new-wcs$', WebFormsCreateView.as_view()),
|
||||
)
|
||||
|
|
|
@ -1,6 +1,9 @@
|
|||
from django.core.urlresolvers import reverse_lazy
|
||||
from django.views.generic.base import TemplateView
|
||||
from django.views.generic.edit import CreateView
|
||||
|
||||
from .models import AVAILABLE_SERVICES
|
||||
from .models import IdentityProvider, WebForms, AVAILABLE_SERVICES
|
||||
from .forms import IdentityProviderForm, WebFormsForm
|
||||
|
||||
|
||||
class AvailableService(object):
|
||||
|
@ -17,3 +20,25 @@ class HomeView(TemplateView):
|
|||
context['available_services'] = [
|
||||
AvailableService(x) for x in AVAILABLE_SERVICES]
|
||||
return context
|
||||
|
||||
|
||||
class ServiceCreateView(CreateView):
|
||||
success_url = reverse_lazy('environment-home')
|
||||
|
||||
def get_context_data(self, **kwargs):
|
||||
context = super(ServiceCreateView, self).get_context_data(**kwargs)
|
||||
context['model_name'] = self.model._meta.verbose_name
|
||||
return context
|
||||
|
||||
def get_template_names(self):
|
||||
return 'environment/service_form.html'
|
||||
|
||||
|
||||
class IdentityProviderCreateView(ServiceCreateView):
|
||||
form_class = IdentityProviderForm
|
||||
model = IdentityProvider
|
||||
|
||||
|
||||
class WebFormsCreateView(ServiceCreateView):
|
||||
form_class = WebFormsForm
|
||||
model = WebForms
|
||||
|
|
Loading…
Reference in New Issue