From 789e26bed8ab43d3f2cc6004f05cc011b2fd1368 Mon Sep 17 00:00:00 2001 From: Kevin Ngo Date: Wed, 7 Nov 2012 13:51:16 -0800 Subject: [PATCH] simplified url kwargs, set up urls for updating --- cyder/cydns/address_record/urls.py | 6 ++---- cyder/cydns/cname/urls.py | 8 ++++---- cyder/cydns/domain/urls.py | 9 ++++----- cyder/cydns/mx/urls.py | 5 +++-- cyder/cydns/nameserver/urls.py | 7 ++++--- cyder/cydns/ptr/urls.py | 4 ++-- cyder/cydns/soa/urls.py | 8 ++++---- cyder/cydns/srv/urls.py | 8 ++++---- cyder/cydns/txt/urls.py | 8 ++++---- cyder/cydns/urls.py | 28 +++++++++++++++++++--------- cyder/cydns/views.py | 13 ++++++------- 11 files changed, 56 insertions(+), 48 deletions(-) diff --git a/cyder/cydns/address_record/urls.py b/cyder/cydns/address_record/urls.py index 524696f6..1389eb61 100644 --- a/cyder/cydns/address_record/urls.py +++ b/cyder/cydns/address_record/urls.py @@ -5,9 +5,7 @@ from cyder.cydns.address_record.views import * urlpatterns = patterns('', - url(r'^$', cydns_list_create_record, name='address_record-list', - kwargs={'record_type': 'address_record'}), - + url(r'^$', cydns_list_create_record, name='address_record-list'), url(r'(?P[\w-]+)/create/$', csrf_exempt(AddressRecordCreateView.as_view()), @@ -15,7 +13,7 @@ url(r'create/', csrf_exempt( AddressRecordCreateView.as_view()), name='address_record-create'), - url(r'(?P[\w-]+)/update/$', + url(r'(?P[\w-]+)/update/$', cydns_list_create_record, name='address_record-update', kwargs={'record_type': 'address_record'}), diff --git a/cyder/cydns/cname/urls.py b/cyder/cydns/cname/urls.py index f0cd54d1..0096e403 100644 --- a/cyder/cydns/cname/urls.py +++ b/cyder/cydns/cname/urls.py @@ -5,13 +5,13 @@ from cyder.cydns.views import cydns_list_create_record urlpatterns = patterns('', - url(r'^$', cydns_list_create_record, name='cname-list', - kwargs={'record_type': 'cname'}), + url(r'^$', cydns_list_create_record, name='cname-list'), + url(r'(?P[\w-]+)/create/$', csrf_exempt(CNAMECreateView.as_view()), name='cname-create-in-domain'), - url(r'create/$', csrf_exempt(CNAMECreateView.as_view()), name='cname-create'), + url(r'(?P[\w-]+)/update/$', - csrf_exempt(CNAMEUpdateView.as_view()), name='cname-update'), + cydns_list_create_record, name='cname-update'), url(r'(?P[\w-]+)/delete/$', csrf_exempt(CNAMEDeleteView.as_view()), name='cname-delete'), url(r'(?P[\w-]+)/$', diff --git a/cyder/cydns/domain/urls.py b/cyder/cydns/domain/urls.py index 54160dda..2629f7fb 100644 --- a/cyder/cydns/domain/urls.py +++ b/cyder/cydns/domain/urls.py @@ -6,13 +6,12 @@ urlpatterns = patterns('', - url(r'^$', cydns_list_create_record, name='domain-list', - kwargs={'record_type': 'domain'}), + url(r'^$', cydns_list_create_record, name='domain-list'), + url(r'^get_all_domains/$', get_all_domains, name='get-all-domains'), - url(r'create/$', csrf_exempt( - DomainCreateView.as_view()), name='domain-create'), + url(r'(?P[\w-]+)/update/$', - csrf_exempt(DomainUpdateView.as_view()), name='domain-update'), + cydns_list_create_record, name='domain-update'), url(r'(?P[\w-]+)/delete/$', csrf_exempt(DomainDeleteView.as_view()), name='domain-delete'), url(r'(?P[\w-]+)/$', diff --git a/cyder/cydns/mx/urls.py b/cyder/cydns/mx/urls.py index 5c18c8e8..709440c0 100644 --- a/cyder/cydns/mx/urls.py +++ b/cyder/cydns/mx/urls.py @@ -8,11 +8,12 @@ urlpatterns = patterns('', url(r'^$', cydns_list_create_record, name='mx-list', kwargs={'record_type': 'mx'}), + url(r'(?P[\w-]+)/create/$', csrf_exempt(MXCreateView.as_view()), name='mx-create-in-domain'), - url(r'create/$', csrf_exempt(MXCreateView.as_view()), name='mx-create'), + url(r'(?P[\w-]+)/update/$', - csrf_exempt(MXUpdateView.as_view()), name='mx-update'), + cydns_list_create_record, name='mx-update'), url(r'(?P[\w-]+)/delete/$', csrf_exempt(MXDeleteView.as_view()), name='mx-delete'), url(r'(?P[\w-]+)/$', diff --git a/cyder/cydns/nameserver/urls.py b/cyder/cydns/nameserver/urls.py index 20570c46..22a63bce 100644 --- a/cyder/cydns/nameserver/urls.py +++ b/cyder/cydns/nameserver/urls.py @@ -1,19 +1,20 @@ from django.conf.urls.defaults import * from django.views.decorators.csrf import csrf_exempt -from cyder.cydns.views import cydns_list_create_record from cyder.cydns.nameserver.views import * +from cyder.cydns.views import cydns_list_create_record urlpatterns = patterns('', url(r'^$', cydns_list_create_record, name='nameserver-list', kwargs={'record_type': 'nameserver'}), + url(r'(?P[\w-]+)/create_delegated/$', csrf_exempt(create_ns_delegated), name='nameserver-delegated-create'), url(r'(?P[\w-]+)/create/$', csrf_exempt(NSCreateView.as_view()), name='nameserver-by-domain-create'), - url(r'create/$', csrf_exempt(NSCreateView.as_view()), name='nameserver-create'), + url(r'(?P[\w-]+)/update/$', - csrf_exempt(update_ns), name='nameserver-update'), + cydns_list_create_record, name='nameserver-update'), url(r'(?P[\w-]+)/delete/$', csrf_exempt(NSDeleteView.as_view()), name='nameserver-delete'), url(r'(?P[\w-]+)/$', diff --git a/cyder/cydns/ptr/urls.py b/cyder/cydns/ptr/urls.py index 5560a433..152973bc 100644 --- a/cyder/cydns/ptr/urls.py +++ b/cyder/cydns/ptr/urls.py @@ -7,9 +7,9 @@ urlpatterns = patterns('', url(r'^$', cydns_list_create_record, name='ptr-list', kwargs={'record_type': 'ptr'}), - url(r'create/$', csrf_exempt(PTRCreateView.as_view()), name='ptr-create'), + url(r'(?P[\w-]+)/update/$', - csrf_exempt(PTRUpdateView.as_view()), name='ptr-update'), + cydns_list_create_record, name='ptr-update'), url(r'(?P[\w-]+)/delete/$', csrf_exempt(PTRDeleteView.as_view()), name='ptr-delete'), url(r'(?P[\w-]+)/$', diff --git a/cyder/cydns/soa/urls.py b/cyder/cydns/soa/urls.py index 8867194a..6b990a14 100644 --- a/cyder/cydns/soa/urls.py +++ b/cyder/cydns/soa/urls.py @@ -5,12 +5,12 @@ from cyder.cydns.views import cydns_list_create_record urlpatterns = patterns('', - url(r'^$', cydns_list_create_record,name='soa-list', - kwargs={'record_type': 'soa'}), + url(r'^$', cydns_list_create_record,name='soa-list'), + url(r'attr/$', delete_soa_attr, name='soa-attr'), - url(r'create/$', csrf_exempt(SOACreateView.as_view()), name='soa-create'), + url(r'(?P[\w-]+)/update/$', - csrf_exempt(update_soa), name='soa-update'), + cydns_list_create_record, name='soa-update'), url(r'(?P[\w-]+)/delete/$', csrf_exempt(SOADeleteView.as_view()), name='soa-delete'), url(r'(?P[\w-]+)/$', diff --git a/cyder/cydns/srv/urls.py b/cyder/cydns/srv/urls.py index 417395a7..e3388321 100644 --- a/cyder/cydns/srv/urls.py +++ b/cyder/cydns/srv/urls.py @@ -5,13 +5,13 @@ from cyder.cydns.views import cydns_list_create_record urlpatterns = patterns('', - url(r'^$', cydns_list_create_record, name='srv-list', - kwargs={'record_type': 'srv'}), + url(r'^$', cydns_list_create_record, name='srv-list'), + url(r'(?P[\w-]+)/create/$', csrf_exempt(SRVCreateView.as_view()), name='srv-create-in-domain'), - url(r'create/$', csrf_exempt(SRVCreateView.as_view()), name='srv-create'), + url(r'(?P[\w-]+)/update/$', - csrf_exempt(SRVUpdateView.as_view()), name='srv-update'), + cydns_list_create_record, name='srv-update'), url(r'(?P[\w-]+)/delete/$', csrf_exempt(SRVDeleteView.as_view()), name='srv-delete'), url(r'(?P[\w-]+)/$', diff --git a/cyder/cydns/txt/urls.py b/cyder/cydns/txt/urls.py index 2f921ce9..8bc217bc 100644 --- a/cyder/cydns/txt/urls.py +++ b/cyder/cydns/txt/urls.py @@ -5,13 +5,13 @@ from cyder.cydns.views import cydns_list_create_record urlpatterns = patterns('', - url(r'^$', cydns_list_create_record, name='txt-list', - kwargs={'record_type': 'txt'}), + url(r'^$', cydns_list_create_record, name='txt-list'), + url(r'(?P[\w-]+)/create/$', csrf_exempt(TXTCreateView.as_view()), name='txt-create-in-domain'), - url(r'create/$', csrf_exempt(TXTCreateView.as_view()), name='txt-create'), + url(r'(?P[\w-]+)/update/$', - csrf_exempt(TXTUpdateView.as_view()), name='txt-update'), + cydns_list_create_record, name='txt-update'), url(r'(?P[\w-]+)/delete/$', csrf_exempt(TXTDeleteView.as_view()), name='txt-delete'), url(r'(?P[\w-]+)/$', diff --git a/cyder/cydns/urls.py b/cyder/cydns/urls.py index 29dfc5a6..2b36884c 100644 --- a/cyder/cydns/urls.py +++ b/cyder/cydns/urls.py @@ -11,15 +11,25 @@ url(r'^record/update/', cydns_update_record, name='cydns-update-record'), url(r'^record/search/', cydns_search_record, name='cydns-search-record'), - url(r'^address_record/', include ('cyder.cydns.address_record.urls')), - url(r'^cname/', include('cyder.cydns.cname.urls')), - url(r'^domain/', include('cyder.cydns.domain.urls')), - url(r'^mx/', include('cyder.cydns.mx.urls')), - url(r'^nameserver/', include('cyder.cydns.nameserver.urls')), - url(r'^ptr/', include('cyder.cydns.ptr.urls')), - url(r'^soa/', include('cyder.cydns.soa.urls')), - url(r'^srv/', include('cyder.cydns.srv.urls')), - url(r'^txt/', include('cyder.cydns.txt.urls')), + url(r'^address_record/', include ('cyder.cydns.address_record.urls'), + kwargs={'record_type': 'address_record'}), + url(r'^cname/', include('cyder.cydns.cname.urls'), + kwargs={'record_type': 'cname'}), + url(r'^domain/', include('cyder.cydns.domain.urls'), + kwargs={'record_type': 'domain'}), + url(r'^mx/', include('cyder.cydns.mx.urls'), + kwargs={'record_type': 'mx'}), + url(r'^nameserver/', include('cyder.cydns.nameserver.urls'), + kwargs={'record_type': 'nameserver'}), + url(r'^ptr/', include('cyder.cydns.ptr.urls'), + kwargs={'record_type': 'ptr'}), + url(r'^soa/', include('cyder.cydns.soa.urls'), + kwargs={'record_type': 'soa'}), + url(r'^srv/', include('cyder.cydns.srv.urls'), + kwargs={'record_type': 'srv'}), + url(r'^txt/', include('cyder.cydns.txt.urls'), + kwargs={'record_type': 'txt'}), + url(r'^sshfp/', include('cyder.cydns.sshfp.urls')), url(r'^view/', include('cyder.cydns.view.urls')), url(r'^bind/', include('cyder.cydns.cybind.urls')), diff --git a/cyder/cydns/views.py b/cyder/cydns/views.py index 10605c2c..fb3ee05e 100644 --- a/cyder/cydns/views.py +++ b/cyder/cydns/views.py @@ -32,7 +32,7 @@ from cyder.cydns.view.models import View -def cydns_list_create_record(request, record_type=None, record_pk=None): +def cydns_list_create_record(request, record_type=None, pk=None): """ List, create, update view in one for a flatter heirarchy. """ @@ -43,10 +43,9 @@ def cydns_list_create_record(request, record_type=None, record_pk=None): Klass, FormKlass, FQDNFormKlass = get_klasses(record_type) # Get the object if updating. - import pdb; pdb.set_trace() record = None - if record_pk: - record = get_object_or_404(Klass, pk=record_pk) # TODO: ACLs + if pk: + record = get_object_or_404(Klass, pk=pk) # TODO: ACLs form = FQDNFormKlass(instance=record) else: form = FQDNFormKlass() @@ -77,13 +76,13 @@ def cydns_list_create_record(request, record_type=None, record_pk=None): 'domain': domains, 'form': fqdn_form, 'record_type': record_type, - 'record_pk': record_pk, + 'record_pk': pk, 'obj': record }) qd['label'], qd['domain'] = label, str(domain.pk) # FQDN form to resolved domain form. - if record_pk: + if pk: # ACLs here. form = FormKlass(qd, instance=record) else: @@ -111,7 +110,7 @@ def cydns_list_create_record(request, record_type=None, record_pk=None): 'domains': domains, 'form': form, 'record_type': record_type, - 'record_pk': record_pk, + 'record_pk': pk, 'obj': record, 'object_list': Klass.objects.all()[0:20] })