Skip to content

Commit

Permalink
radar areas in template
Browse files Browse the repository at this point in the history
  • Loading branch information
Rob Moorman committed Feb 26, 2016
1 parent 0caa832 commit f3a3f04
Show file tree
Hide file tree
Showing 5 changed files with 51 additions and 25 deletions.
30 changes: 18 additions & 12 deletions technology_radar/models.py
Original file line number Diff line number Diff line change
Expand Up @@ -20,39 +20,45 @@ class Area(models.Model):
name = models.CharField(max_length=64)
slug = AutoSlugField(populate_from='name')

def __str__(self):
return self.name

class Meta:
verbose_name = _('area')
verbose_name_plural = _('area\'s')

def __str__(self):
return self.name


@python_2_unicode_compatible
class Status(models.Model):
name = models.CharField(max_length=64)
slug = AutoSlugField(populate_from='name')

def __str__(self):
return self.name

class Meta:
verbose_name = _('status')
verbose_name_plural = _('statuses')

def __str__(self):
return self.name


@python_2_unicode_compatible
class Radar(TimeStampedModel):
name = models.CharField(max_length=64)
slug = AutoSlugField(populate_from='name')

def __str__(self):
return self.name

class Meta:
verbose_name = _('radar')
verbose_name_plural = _('radars')

def __str__(self):
return self.name

def get_blips_by_area(self, area):
return Blip.objects.by_area(area.slug).filter(radar=self)

def get_blips_by_status(self, status):
return Blip.objects.by_status(status.slug).filter(radar=self)


class BlipManager(models.Manager):
def by_area(self, area):
Expand All @@ -73,9 +79,9 @@ class Blip(TimeStampedModel):
history = HistoricalRecords()
objects = BlipManager()

def __str__(self):
return self.name

class Meta:
verbose_name = _('blip')
verbose_name_plural = _('blips')

def __str__(self):
return self.name
28 changes: 16 additions & 12 deletions technology_radar/templates/technology_radar/radar.html
Original file line number Diff line number Diff line change
@@ -1,17 +1,21 @@
{% load i18n %}
{% load i18n technology_radar_tags %}

<h1>{{ radar.name }}</h1>
{% if radar.blips %}
<ul>
{% for blip in radar.blips.all %}
<li>
<a href="{% url 'blip-detail' radar.slug blip.area.slug blip.slug %}">{{ blip.name }}</a>
</li>
{% endfor %}
</ul>
{% else %}
<p>{% trans "No radar blips are available." %}</p>
{% endif %}
{% for area in areas %}
<h2>{{ area.name }}</h2>
{% get_radar_blips_by_area radar area as area_blips %}
{% if area_blips %}
<ul>
{% for blip in area_blips %}
<li>
<a href="{% url 'blip-detail' radar.slug blip.area.slug blip.slug %}">{{ blip.name }}</a>
</li>
{% endfor %}
</ul>
{% else %}
<p>{% trans "No blips are available." %}</p>
{% endif %}
{% endfor %}
<p>
<a href="{% url 'radar-detail-download' radar.slug %}">{% trans "Download" %}</a>
</p>
Empty file.
14 changes: 14 additions & 0 deletions technology_radar/templatetags/technology_radar_tags.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
from django import template


register = template.Library()


@register.assignment_tag
def get_radar_blips_by_area(radar, area):
return radar.get_blips_by_area(area)


@register.assignment_tag
def get_radar_blips_by_status(radar, status):
return radar.get_blips_by_status(status)
4 changes: 3 additions & 1 deletion technology_radar/views/radar.py
Original file line number Diff line number Diff line change
Expand Up @@ -22,9 +22,11 @@ def index(request):

def radar_detail(request, radar):
radar_obj = get_object_or_404(Radar, slug=radar)
areas = Area.objects.all()
template = loader.get_template('technology_radar/radar.html')
context = {
'radar': radar_obj
'radar': radar_obj,
'areas': areas
}
return HttpResponse(template.render(context, request))

Expand Down

0 comments on commit f3a3f04

Please sign in to comment.