Implemented built-in CSV export for circuit objects

This commit is contained in:
Jeremy Stretch 2016-06-16 13:57:43 -04:00
parent 2531366a10
commit 4895ae13a7
3 changed files with 24 additions and 26 deletions

View File

@ -44,6 +44,15 @@ class Provider(models.Model):
def get_absolute_url(self):
return reverse('circuits:provider', args=[self.slug])
def to_csv(self):
return ','.join([
self.name,
self.slug,
str(self.asn) if self.asn else '',
self.account,
self.portal_url,
])
class CircuitType(models.Model):
"""
@ -87,3 +96,16 @@ class Circuit(models.Model):
def get_absolute_url(self):
return reverse('circuits:circuit', args=[self.pk])
def to_csv(self):
return ','.join([
self.cid,
self.provider.name,
self.type.name,
self.site.name,
self.install_date.isoformat() if self.install_date else '',
str(self.port_speed),
str(self.commit_rate) if self.commit_rate else '',
self.xconnect_id,
self.pp_info,
])

View File

@ -11,19 +11,7 @@
Add a circuit
</a>
{% endif %}
{% if export_templates %}
<div class="btn-group">
<button type="button" class="btn btn-success dropdown-toggle" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
<span class="glyphicon glyphicon-export" aria-hidden="true"></span>
Export circuits <span class="caret"></span>
</button>
<ul class="dropdown-menu">
{% for et in export_templates %}
<li><a href="{% url 'circuits:circuit_list' %}{% if request.GET %}?{{ request.GET.urlencode }}&{% else %}?{% endif %}export={{ et.name }}">{{ et.name }}</a></li>
{% endfor %}
</ul>
</div>
{% endif %}
{% include 'inc/export_button.html' with obj_type='circuits' %}
</div>
<h1>Circuits</h1>
<div class="row">

View File

@ -10,19 +10,7 @@
Add a provider
</a>
{% endif %}
{% if export_templates %}
<div class="btn-group">
<button type="button" class="btn btn-success dropdown-toggle" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
<span class="glyphicon glyphicon-export" aria-hidden="true"></span>
Export providers <span class="caret"></span>
</button>
<ul class="dropdown-menu">
{% for et in export_templates %}
<li><a href="{% url 'circuits:provider_list' %}{% if request.GET %}?{{ request.GET.urlencode }}&{% else %}?{% endif %}export={{ et.name }}">{{ et.name }}</a></li>
{% endfor %}
</ul>
</div>
{% endif %}
{% include 'inc/export_button.html' with obj_type='providers' %}
</div>
<h1>Providers</h1>
<div class="row">