From e52135d4cbde49d0822cac6c68c1c10b775d3dcb Mon Sep 17 00:00:00 2001 From: Michael Elkins Date: Thu, 28 Mar 2013 22:29:12 +0000 Subject: allow user to create roas by selecting entries from the route view see #325 svn path=/trunk/; revision=5240 --- rpkid/rpki/gui/app/views.py | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) (limited to 'rpkid/rpki/gui/app/views.py') diff --git a/rpkid/rpki/gui/app/views.py b/rpkid/rpki/gui/app/views.py index a6b7f95f..ac4c0858 100644 --- a/rpkid/rpki/gui/app/views.py +++ b/rpkid/rpki/gui/app/views.py @@ -954,6 +954,27 @@ def route_detail(request, pk): route = get_object_or_404(models.RouteOrigin, pk=pk) return render(request, 'app/route_detail.html', {'object': route}) + +def route_suggest(request): + """Handles POSTs from the route view and redirects to the ROA creation + page based on selected route objects. The form should contain elements of + the form "pk-NUM" where NUM is the RouteOrigin object id. + + """ + if request.method == 'POST': + routes = [] + for pk in request.POST.iterkeys(): + logger.debug(pk) + if pk.startswith("pk-"): + n = int(pk[3:]) + routes.append(n) + qs = RouteOrigin.objects.filter(pk__in=routes) + s = [] + for r in qs: + s.append('roa=%s/%d,%d' % (str(r.prefix_min), r.prefixlen, r.asn)) + p = '&'.join(s) + return redirect(reverse(roa_create_multi) + '?' + p) + @handle_required def repository_detail(request, pk): -- cgit v1.2.3