mirror of
https://gitlab2.federez.net/re2o/re2o
synced 2024-11-27 07:02:26 +00:00
Création de liste de ports via formset.
This commit is contained in:
parent
b5c6330f54
commit
b95c19db2d
1 changed files with 19 additions and 1 deletions
|
@ -35,7 +35,7 @@ from django.template import Context, RequestContext, loader
|
||||||
from django.contrib import messages
|
from django.contrib import messages
|
||||||
from django.contrib.auth.decorators import login_required, permission_required
|
from django.contrib.auth.decorators import login_required, permission_required
|
||||||
from django.db.models import ProtectedError
|
from django.db.models import ProtectedError
|
||||||
from django.forms import ValidationError, formset_factory, modelformset_factory
|
from django.forms import ValidationError, modelformset_factory
|
||||||
from django.db import transaction
|
from django.db import transaction
|
||||||
from django.contrib.auth import authenticate, login
|
from django.contrib.auth import authenticate, login
|
||||||
from django.views.decorators.csrf import csrf_exempt
|
from django.views.decorators.csrf import csrf_exempt
|
||||||
|
@ -964,6 +964,24 @@ def del_portlist(request, pk):
|
||||||
@login_required
|
@login_required
|
||||||
@permission_required('bureau')
|
@permission_required('bureau')
|
||||||
def add_portlist(request):
|
def add_portlist(request):
|
||||||
|
port_list = EditPortListForm(request.POST or None)
|
||||||
|
port_formset = modelformset_factory(
|
||||||
|
Port,
|
||||||
|
fields=('begin','end','protocole','io'),
|
||||||
|
extra=1,
|
||||||
|
can_delete=True
|
||||||
|
)(request.POST or None, queryset=Port.objects.none())
|
||||||
|
if port_list.is_valid() and port_formset.is_valid():
|
||||||
|
pl = port_list.save()
|
||||||
|
instances = port_formset.save(commit=False)
|
||||||
|
for to_delete in port_formset.deleted_objects:
|
||||||
|
to_delete.delete()
|
||||||
|
for port in instances:
|
||||||
|
port.port_list = pl
|
||||||
|
port.save()
|
||||||
|
messages.success(request, "Liste de ports créée")
|
||||||
|
return redirect("/machines/index_portlist/")
|
||||||
|
return form({'port_list' : port_list, 'ports' : port_formset}, 'machines/edit_portlist.html', request)
|
||||||
port_list = EditPortListForm(request.POST or None)
|
port_list = EditPortListForm(request.POST or None)
|
||||||
if port_list.is_valid():
|
if port_list.is_valid():
|
||||||
port_list.save()
|
port_list.save()
|
||||||
|
|
Loading…
Reference in a new issue