From e28345d9a3ad5d417f0e36f1807fbde2d1e3204d Mon Sep 17 00:00:00 2001 From: Ken Raffenetti Date: Wed, 20 Sep 2006 20:35:06 +0000 Subject: web template changes git-svn-id: https://svn.mcs.anl.gov/repos/bcfg/trunk/bcfg2@2286 ce84e21b-d406-0410-9b95-82705330c041 --- src/lib/Server/Hostbase/hostbase/views.py | 104 ++++++---- .../Hostbase/hostbase/webtemplates/confirm.html | 221 ++++++-------------- .../Hostbase/hostbase/webtemplates/dnsedit.html | 226 ++++++--------------- .../Hostbase/hostbase/webtemplates/edit.html | 174 +++++++++------- .../Hostbase/hostbase/webtemplates/errors.html | 1 - .../Server/Hostbase/hostbase/webtemplates/new.html | 8 +- src/lib/Server/Hostbase/settings.py | 4 +- 7 files changed, 302 insertions(+), 436 deletions(-) diff --git a/src/lib/Server/Hostbase/hostbase/views.py b/src/lib/Server/Hostbase/hostbase/views.py index 48e924ddc..146963af5 100644 --- a/src/lib/Server/Hostbase/hostbase/views.py +++ b/src/lib/Server/Hostbase/hostbase/views.py @@ -13,7 +13,7 @@ from django.db import connection from django.shortcuts import render_to_response import re -templatedir = '/usr/lib/python2.3/site-packages/Hostbase/hostbase/webtemplates' +templatedir = '/usr/lib/python2.4/site-packages/Hostbase/hostbase/webtemplates' attribs = ['hostname', 'whatami', 'netgroup', 'security_class', 'support', 'csi', 'printq', 'primary_user', 'administrator', 'location', @@ -91,9 +91,9 @@ def search(request): cursor.execute(querystring) results = cursor.fetchall() - return render_to_response('%s/results.html' % templatedir, {'hosts': results}) + return render_to_response('results.html', {'hosts': results}) else: - return render_to_response('%s/search.html' % templatedir, + return render_to_response('search.html', {'TYPE_CHOICES': Interface.TYPE_CHOICES, 'DNS_CHOICES': Name.DNS_CHOICES, 'yesno': [(1, 'yes'), (0, 'no')]}) @@ -104,7 +104,7 @@ def look(request, host_id): interfaces = [] for interface in host.interface_set.all(): interfaces.append([interface, interface.ip_set.all()]) - return render_to_response('%s/host.html' % templatedir, + return render_to_response('host.html', {'host': host, 'interfaces': interfaces}) @@ -121,7 +121,7 @@ def dns(request, host_id): for name in ip.name_set.all(): cnames.extend(name.cname_set.all()) mxs.append((name.id, name.mxs.all())) - return render_to_response('%s/dns.html' % templatedir, + return render_to_response('dns.html', {'host': host, 'info': info, 'cnames': cnames, @@ -300,12 +300,14 @@ def edit(request, host_id): return HttpResponse(str(t)) # examine the check boxes for any changes else: - t = Template(open('%s/edit.html' % templatedir).read()) - hostdata = gethostdata(host_id) - t = fill(t, hostdata) - t.type_choices = Interface.TYPE_CHOICES - t.request = request - return HttpResponse(str(t)) + host = Host.objects.get(id=host_id) + interfaces = [] + for interface in host.interface_set.all(): + interfaces.append([interface, interface.ip_set.all()]) + return render_to_response('edit.html', + {'host': host, + 'interfaces': interfaces, + 'TYPE_CHOICES': Interface.TYPE_CHOICES}) def confirm(request, item, item_id, host_id, name_id=None): """Asks if the user is sure he/she wants to remove an item""" @@ -335,44 +337,48 @@ def confirm(request, item, item_id, host_id, name_id=None): else: return HttpResponseRedirect('/hostbase/%s/edit' % host_id) else: - temp = Template(open('%s/confirm.html' % templatedir).read()) interface = None ips = [] - names = {} - cnames = {} - mxs = {} + names = [] + cnames = [] + mxs = [] if item == 'interface': interface = Interface.objects.get(id=item_id) ips = interface.ip_set.all() for ip in ips: - names[ip.id] = ip.name_set.all() - for name in names[ip.id]: - cnames[name.id] = name.cname_set.all() - mxs[name.id] = name.mx_set.all() + for name in ip.name_set.all(): + names.append((ip.id, name)) + for cname in name.cname_set.all(): + cnames.append((name.id, cname)) + for mx in name.mxs.all(): + mxs.append((name.id, mx)) elif item=='ip': ips = [IP.objects.get(id=item_id)] - names[ips[0].id] = ips[0].name_set.all() - for name in names[ips[0].id]: - cnames[name.id] = name.cname_set.all() - mxs[name.id] = name.mx_set.all() + for name in ips[0].name_set.all(): + names.append((ips[0].id, name)) + for cname in name.cname_set.all(): + cnames.append((name.id, cname)) + for mx in name.mxs.all(): + mxs.append((name.id, mx)) elif item=='name': names = [Name.objects.get(id=item_id)] - for name in names: - cnames[name.id] = name.cname_set.all() - mxs[name.id] = name.mxs.all() + for cname in names[0].cname_set.all(): + cnames.append((names[0].id, cname)) + for mx in names[0].mxs.all(): + mxs.append((names[0].id, mx)) elif item=='cname': cnames = [CName.objects.get(id=item_id)] elif item=='mx': mxs = [MX.objects.get(id=item_id)] - temp.interface = interface - temp.ips = ips - temp.names = names - temp.cnames = cnames - temp.mxs = mxs - temp.id = item_id - temp.type = item - temp.host_id = host_id - return HttpResponse(str(temp)) + return render_to_response('confirm.html', + {'interface': interface, + 'ips': ips, + 'names': names, + 'cnames': cnames, + 'id': item_id, + 'type': item, + 'host_id': host_id, + 'mxs': mxs}) def dnsedit(request, host_id): """Edits specific DNS information @@ -423,11 +429,26 @@ def dnsedit(request, host_id): name.mxs.add(mx) return HttpResponseRedirect('/hostbase/%s/dns' % host_id) else: - temp = Template(open('%s/dnsedit.html' % templatedir).read()) - hostdata = gethostdata(host_id, True) - temp = fill(temp, hostdata, True) - temp.request = request - return HttpResponse(str(temp)) + host = Host.objects.get(id=host_id) + ips = [] + info = [] + cnames = [] + mxs = [] + interfaces = host.interface_set.all() + for interface in host.interface_set.all(): + ips.extend(interface.ip_set.all()) + for ip in ips: + info.append([ip, ip.name_set.all()]) + for name in ip.name_set.all(): + cnames.extend(name.cname_set.all()) + mxs.append((name.id, name.mxs.all())) + return render_to_response('dnsedit.html', + {'host': host, + 'info': info, + 'cnames': cnames, + 'mxs': mxs, + 'request': request, + 'interfaces': interfaces}) def new(request): """Function for creating a new host in hostbase @@ -571,7 +592,8 @@ def new(request): {'TYPE_CHOICES': Interface.TYPE_CHOICES, 'NETGROUP_CHOICES': Host.NETGROUP_CHOICES, 'CLASS_CHOICES': Host.CLASS_CHOICES, - 'SUPPORT_CHOICES': Host.SUPPORT_CHOICES}) + 'SUPPORT_CHOICES': Host.SUPPORT_CHOICES, + 'WHATAMI_CHOICES': Host.WHATAMI_CHOICES}) def validate(request, new=False, host_id=None): """Function for checking form data""" diff --git a/src/lib/Server/Hostbase/hostbase/webtemplates/confirm.html b/src/lib/Server/Hostbase/hostbase/webtemplates/confirm.html index 96ed4ed4f..2c46e4fe7 100644 --- a/src/lib/Server/Hostbase/hostbase/webtemplates/confirm.html +++ b/src/lib/Server/Hostbase/hostbase/webtemplates/confirm.html @@ -1,189 +1,100 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - - - - -
Argonne National Laboratory
- Mathematics - and Computer Science
- - - - - - - - - - - - - - - - - - - - - - - - - -
-
MCS - Home > - -
- - - -
+{% extends "base.html" %} + +{% block pagebanner %} +
+

Confirm Removal

+
+
+{% endblock %} + +{% block sidebar %} +new search +{% endblock %} + +{% block content %} +
-

Are you sure?

Are you sure you want to remove these items? -#if $interface +{% if interface %}
    -
  • interface: $interface.__str__
  • -#end if +
  • interface: {{ interface.mac_addr }}
  • +{% endif %} -#if $ips +{% if ips %}
      -#for $ip in $ips -
    • ip: $ip.__str__
    • +{% for ip in ips %} +
    • ip: {{ ip.ip_addr }}
      • -#for $name in $names[$ip.id] -
      • name: $name.__str__
      • +{% for name in names %} +{% ifequal name.0 ip.id %} +
      • name: {{ name.1.name }}
        • -#for $cname in $cnames[$name.id] -
        • cname: $cname.__str__
        • -#end for +{% endifequal %} +{% for cname in cnames %} +{% ifequal cname.0 name.1.id %} +
        • cname: {{ cname.1.name }}
        • +{% endifequal %} +{% endfor %}
          -#for $mx in $mxs[$name.id] -
        • mx: $mx.priority $mx.__str__
        • -#end for +{% for mx in mxs %} +{% ifequal mx.0 name.1.id %} +
        • mx: {{ mx.1.priority }} {{ mx.1.mx }}
        • +{% endifequal %} +{% endfor %}
        -#end for +{% endfor %}
      -#end for +{% endfor %}
    -#end if +{% endif %} -#if $names and not $ips +{% if names and not ips %}
      -#for $name in $names -
    • name: $name.__str__
    • +{% for name in names %} +
    • name: {{ name.name }}
      • -#for $cname in $cnames[$name.id] -
      • cname: $cname.__str__
      • -#end for +{% for cname in cnames %} +{% ifequal cname.0 name.id %} +
      • cname: {{ cname.1.cname }}
      • +{% endifequal %} +{% endfor %}
        -#for $mx in $mxs[$name.id] -
      • mx: $mx.priority $mx.__str__
      • -#end for +{% for mx in mxs %} +{% ifequal mx.0 name.id %} +
      • mx: {{ mx.1.priority }} {{ mx.1.mx }}
      • +{% endifequal %} +{% endfor %}
      -#end for +{% endfor %}
    -#end if +{% endif %} -#if $cnames and not $names +{% if cnames and not names %}
      -#for $cname in $cnames -
    • cname: $cname.__str__
    • -#end for +{% for cname in cnames %} +
    • cname: {{ cname.cname }}
    • +{% endfor %}
    -#end if +{% endif %} -#if $mxs and not $names +{% if mxs and not names %}
      -#for $mx in $mxs -
    • mx: $mx.priority $mx.__str__
    • -#end for +{% for mx in mxs %} +
    • mx: {{ mx.priority }} {{ mx.mx }}
    • +{% endfor %}
    -#end if +{% endif %} -#if $interface +{% if interface %}
-#end if +{% endif %}
-
- - - - - - - - - -

- - - - - - -
U.S. Department of EnergyThe University of ChicagoOffice of Science - Department of Energy
- - - -
Privacy & Security Notice | Contact Us
- - +{% endblock %} diff --git a/src/lib/Server/Hostbase/hostbase/webtemplates/dnsedit.html b/src/lib/Server/Hostbase/hostbase/webtemplates/dnsedit.html index 9065153da..01caba4ad 100644 --- a/src/lib/Server/Hostbase/hostbase/webtemplates/dnsedit.html +++ b/src/lib/Server/Hostbase/hostbase/webtemplates/dnsedit.html @@ -1,192 +1,96 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - - - - -
Argonne National Laboratory
- Mathematics - and Computer Science
- - - - - - - - - - - - - - - - - - - - - - - - - -
-
MCS - Home > - -
- - - -
+{% extends "base.html" %} -#set $cont = 1 +{% block pagebanner %} +
+

dns info for {{ host.hostname }}

+
+
+{% endblock %} -#if $request.GET.has_key('sub') -ok, submitted -#end if +{% block sidebar %} +new search + +{% endblock %} +{% block content %} -#if $cont
- -Edit DNS information below for individual IP addresses. + - #for $interface in $interfaces + {% for interface in interfaces %} - + - + - #for $ip in $ips[$interface.id] + {% for ip in info %} + {% ifequal ip.0.interface interface %} - - #for $name in $names[$ip.id] + + {% for name in ip.1 %} - - #for $cname in $cnames[$name.id] + remove + {% for cname in cnames %} + {% ifequal name cname.name %} - - #end for + + {% endifequal %} + {% endfor %} - - #for $mx in $mxs[$name.id] + + {% for mx in mxs %} + {% ifequal mx.0 name.id %} + {% for record in mx.1 %} - - #end for + + {% endfor %} + {% endifequal %} + {% endfor %} - - #end for + + {% endfor %} - - + - + - #end for - #end for + {% endifequal %} + {% endfor %} + {% endfor %}

interface type $interface.hdwr_type
{{ interface.hdwr_type }}
mac_addr $interface.mac_addr
{{ interface.mac_addr }}


ip_addr$ip.ip_addr
{{ ip.0.ip_addr }}
name(dns) - + - remove
cname - remove
+ remove
cname
mx - - remove
+ + remove
mx -
+
name - +
cname
mx -
+


-#end if -
- - - - - - - - - -

- - - - - - -
U.S. Department of EnergyThe University of ChicagoOffice of Science - Department of Energy
- - - -
Privacy & Security Notice | Contact Us
- - +{% endblock %} diff --git a/src/lib/Server/Hostbase/hostbase/webtemplates/edit.html b/src/lib/Server/Hostbase/hostbase/webtemplates/edit.html index 87cfbd1a3..bee7acfd7 100644 --- a/src/lib/Server/Hostbase/hostbase/webtemplates/edit.html +++ b/src/lib/Server/Hostbase/hostbase/webtemplates/edit.html @@ -1,3 +1,23 @@ +{% extends "base.html" %} + +{% block pagebanner %} +
+

{{ host.hostname }}

+
+
+{% endblock %} + +{% block sidebar %} +new search + +{% endblock %} + +{% block content %} +
- + - + - + - + - #else + {% else %} - #end if + {% endif %} - #else + {% else %} - #end if + {% endif %} - + - + - + - - #for $interface in $interfaces + + {% for interface in interfaces %} - - #for $ip in $ips[$interface.id] + {% for ip in interface.1 %} - - #end for + {% endfor %}
hostname
whatami
netgroup
class
support
csi
printq
dhcp - #if $host.dhcp + {% if host.dhcp %}
outbound_smtp - #if $host.outbound_smtp + {% if host.outbound_smtp %}
primary_user
administrator
location
expiration_date YYYY-MM-DD
YYYY-MM-DD

Interface

- #for $choice in $interface.TYPE_CHOICES - #if $interface.hdwr_type == $choice[0] - $choice[1] - #else - $choice[1] - #end if - #end for + {% for choice in interface.0.TYPE_CHOICES %} + {% ifequal interface.0.hdwr_type choice.0 %} + {{ choice.1 }} + {% else %} + {{ choice.1 }} + {% endifequal %} + {% endfor %}
mac_addr - remove + + remove
ip_addr - remove + + remove
-
+
- +
ip_addr
- Add a New IP Address + Add a New IP Address - #end for + {% endfor %} @@ -155,9 +175,9 @@ div#interface{ @@ -174,20 +194,22 @@ div#interface{ - +

Interface

- #for $choice in $type_choices - $choice[1] - #end for + {% for choice in TYPE_CHOICES %} + {{ choice.1 }} + {% endfor %}
mac_addr
comments
-edit detailed DNS information for this host +edit detailed DNS information for this host
this host is
-last update on $host.last
+last update on {{ host.last }}

+ +{% endblock %} diff --git a/src/lib/Server/Hostbase/hostbase/webtemplates/errors.html b/src/lib/Server/Hostbase/hostbase/webtemplates/errors.html index 47d32ede4..2d5e6fdf9 100644 --- a/src/lib/Server/Hostbase/hostbase/webtemplates/errors.html +++ b/src/lib/Server/Hostbase/hostbase/webtemplates/errors.html @@ -21,7 +21,6 @@ There were errors in the following fields

{% endfor %} {% endif %} -
Press the back button on your browser and edit those field(s) {% endblock %} \ No newline at end of file diff --git a/src/lib/Server/Hostbase/hostbase/webtemplates/new.html b/src/lib/Server/Hostbase/hostbase/webtemplates/new.html index 7ed664368..6a0f927fe 100644 --- a/src/lib/Server/Hostbase/hostbase/webtemplates/new.html +++ b/src/lib/Server/Hostbase/hostbase/webtemplates/new.html @@ -24,7 +24,13 @@ hostname whatami - + + + netgroup