diff --git a/src/dyns/controllers.py b/src/dyns/controllers.py index 84a6c8e..051a5e5 100644 --- a/src/dyns/controllers.py +++ b/src/dyns/controllers.py @@ -119,11 +119,14 @@ class ZoneController(BaseController): def GET(self, request, name): response = request.ResponseClass() - response.content_type = 'application/json' zone = self.get_zone(name) - zone_d = zone.as_dict() - zone_d['records'] = list(map(model.Record.as_dict, zone.records)) - json.dump(zone_d, response.body_file) + if request.want == 'json': + response.content_type = 'application/json' + zone_d = zone.as_dict() + zone_d['records'] = list(map(model.Record.as_dict, zone.records)) + json.dump(zone_d, response.body_file) + else: + response.text = self.render('zone.html.j2', zone=zone) return response HEAD = GET diff --git a/src/dyns/templates/zone.html.j2 b/src/dyns/templates/zone.html.j2 new file mode 100644 index 0000000..7a11902 --- /dev/null +++ b/src/dyns/templates/zone.html.j2 @@ -0,0 +1,82 @@ +{#- vim: set sw=2 ts=2 sts=2 et : -#} +{% set page_title = zone.name %} +{% extends 'base.html.j2' %} +{%- block breadcrumbs %} +
  • Zones
  • +
  • {{ zone.name }}
  • +{%- endblock %} +{% block body %} +
    +
    + + + + + + + + + + + + + + + +
    Contact:{{ zone.contact }}
    Source:{{ zone.source }}
    Serial:{{ zone.serial }}
    +
    +
    + + + + + + + + + + + + + + + + + + + + + + + +
    TTL:{{ zone.ttl }}
    Refresh Interval:{{ zone.refresh }}
    Retry Interval:{{ zone.retry }}
    Expiry Time:{{ zone.expire }}
    Minimum (default) + TTL:{{ zone.minimum }}
    +
    +
    +
    +
    +

    Records

    +New Record + + + + + + + + + + +{% for record in zone.records -%} + + + + + + +{% endfor -%} + +
    HostTTLTypeData
    {{ record.host }}{{ record.ttl }}{{ record.rdtype }}{% if record.mx_prio %}{{ record.mx_prio }} {% endif %}{{ record.data }}
    +
    +
    +{% endblock %}