Skip to content

Commit

Permalink
Rewrote systemrack management to use standard views instead of generi…
Browse files Browse the repository at this point in the history
…cs. Resolved Issue #44
  • Loading branch information
Rob Tucker committed Jan 3, 2012
1 parent 89f8f3d commit b2fbe86
Show file tree
Hide file tree
Showing 7 changed files with 68 additions and 17 deletions.
10 changes: 2 additions & 8 deletions misc/generic_views.py
Expand Up @@ -25,17 +25,11 @@ def delete_object(*args, **kwargs):
return create_update.delete_object(*args, **kwargs)

def create_object(*args, **kwargs):
try:
kwargs['post_save_redirect'] = reverse(kwargs['post_save_redirect'])
except:
pass
kwargs['post_save_redirect'] = reverse(kwargs['post_save_redirect'])
kwargs['template_name'] = kwargs.get('template_name', 'systems/generic_form.html')
return create_update.create_object(*args, **kwargs)

def update_object(*args, **kwargs):
try:
kwargs['post_save_redirect'] = reverse(kwargs['post_save_redirect'])
except:
pass
kwargs['post_save_redirect'] = reverse(kwargs['post_save_redirect'])
kwargs['template_name'] = kwargs.get('template_name', 'systems/generic_form.html')
return create_update.update_object(*args, **kwargs)
4 changes: 4 additions & 0 deletions systems/forms.py
Expand Up @@ -20,6 +20,10 @@ class OncallForm(forms.Form):
class meta:
model = User

class SystemRackForm(forms.ModelForm):
class Meta:
model = models.SystemRack

class RackFilterForm(forms.Form):

location = forms.ChoiceField(
Expand Down
4 changes: 0 additions & 4 deletions systems/models.py
Expand Up @@ -193,10 +193,6 @@ class SystemRack(models.Model):
name = models.CharField(max_length=255, blank=True)
location = models.ForeignKey('Location')

def save(self, *args, **kwargs):
kwargs['using'] = 'default'
super(SystemRack, self).save(*args, **kwargs)

def __unicode__(self):
return self.name

Expand Down
8 changes: 3 additions & 5 deletions systems/urls.py
Expand Up @@ -20,8 +20,6 @@
(r'^show/(\d+)[/]$', 'views.system_show'),
(r'^show/a(\d+)[/]$', 'views.system_show_by_asset_tag'),
(r'^edit/(\d+)[/]$', 'views.system_edit'),
(r'^oncall[/]$', 'views.oncall'),
(r'^getoncall[/](?P<type>.*)[/]$', 'views.getoncall'),
(r'^delete/(\d+)[/]$', 'views.system_delete'),
(r'^ajax_check_dupe_nic/(?P<system_id>\d+)/(?P<adapter_number>\d+)[/]$', 'views.check_dupe_nic'),
(r'^ajax_check_dupe_nic_name/(?P<system_id>\d+)/(?P<adapter_name>.*)[/]$', 'views.check_dupe_nic_name'),
Expand All @@ -30,9 +28,9 @@
url(r'^csv/import/$', 'views.csv_import', name='system-csv-import'),

url(r'^racks/$', 'views.racks', name='system_rack-list'),
url(r'^racks/delete/(?P<object_id>\d+)/$', delete_object, gen_del_dict(SystemRack, 'system_rack-list'), name='rack-delete'),
url(r'^racks/new/$', create_object, gen_mod_dict(SystemRack, 'system_rack-list'), name="system_rack-new"),
url(r'^racks/edit/(?P<object_id>\d+)/$', update_object, gen_mod_dict(SystemRack, 'system_rack-list'), name="system_rack-edit"),
url(r'^racks/delete/(?P<object_id>\d+)/$', 'views.rack_delete', name='rack-delete'),
url(r'^racks/new/$', 'views.rack_new', name="system_rack-new"),
url(r'^racks/edit/(?P<object_id>\d+)/$', 'views.rack_edit', name="system_rack-edit"),
url(r'^racks/system/new/(?P<rack_id>\d+)/$', 'views.new_rack_system_ajax', name='racks-system-new'),

url(r'^server_models/new/$', create_object, gen_mod_dict(ServerModel, 'server_model-list'), name="server_model-new"),
Expand Down
42 changes: 42 additions & 0 deletions systems/views.py
Expand Up @@ -635,7 +635,49 @@ def set_oncall(type, username):
new_oncall.save()
except Exception, e:
print e
def rack_delete(request, object_id):
from models import SystemRack
rack = get_object_or_404(SystemRack, pk=object_id)
if request.method == "POST":
rack.delete()
return HttpResponseRedirect('/systems/racks/')
else:
return render_to_response('systems/rack_confirm_delete.html', {
'rack': rack,
},
RequestContext(request))

def rack_edit(request, object_id):
rack = get_object_or_404(models.SystemRack, pk=object_id)
from forms import SystemRackForm
initial = {}
if request.method == 'POST':
form = SystemRackForm(request.POST, instance=rack)
if form.is_valid():
form.save()
return HttpResponseRedirect('/systems/racks/')
else:
form = SystemRackForm(instance=rack)

return render_to_response('systems/rack_form.html', {
'form': form,
},
RequestContext(request))
def rack_new(request):
from forms import SystemRackForm
initial = {}
if request.method == 'POST':
form = SystemRackForm(request.POST, initial=initial)
if form.is_valid():
form.save()
return HttpResponseRedirect('/systems/racks/')
else:
form = SystemRackForm(initial=initial)

return render_to_response('user_systems/owner_form.html', {
'form': form,
},
RequestContext(request))
def csv_import(request):
from forms import CSVImportForm
def generic_getter(field):
Expand Down
8 changes: 8 additions & 0 deletions templates/systems/rack_confirm_delete.html
@@ -0,0 +1,8 @@
{% extends "base.html" %}
{% block content %}
Are your sure you want to delete {{rack.name}}?:
<form method="post">
<a href=""></a>
<input type="submit" value="Yes, I'm sure" />
</form>
{% endblock %}
9 changes: 9 additions & 0 deletions templates/systems/rack_form.html
@@ -0,0 +1,9 @@
{% extends "base.html" %}
{% block content %}
<form method="post">
<table>
{{ form }}
</table>
<input type="submit" name="submit" value="Save" />
</form>
{% endblock %}

0 comments on commit b2fbe86

Please sign in to comment.