qualif: display formdef name, not reference

This commit is contained in:
Frédéric Péters 2015-07-15 14:09:20 +02:00
parent cd43b27423
commit 01d97f7a8f
4 changed files with 26 additions and 1 deletions

View File

@ -18,10 +18,16 @@ from django.contrib.contenttypes.models import ContentType
from django.contrib.contenttypes import generic
from django.db import models
from welco.utils import get_wcs_formdef_details
class FormdefReference(models.Model):
reference = models.CharField(max_length=250)
@property
def name(self):
return get_wcs_formdef_details(self.reference).get('title')
class FormdataReference(models.Model):
reference = models.CharField(max_length=250)

View File

@ -120,6 +120,15 @@ div#content .cell.qualif select {
width: 98%;
}
.cell.qualif ul {
padding: 0;
}
.cell.qualif ul li {
list-style: circle;
margin-left: 1em;
}
div.objects-list > div {
border: 1px solid #bcbcbc;
border-collapse: collapse;

View File

@ -4,7 +4,7 @@
{% if association %}
<ul>
{% for formdef in association.formdefs.all %}
<li> {{formdef.reference}} </li>
<li>{{formdef.name}}</li>
{% endfor %}
</ul>
{% endif %}

View File

@ -57,3 +57,13 @@ def get_wcs_options(url):
for category in sorted(categories.keys()):
options.append((category, sorted(categories[category], lambda x, y: cmp(x[1], y[1]))))
return options
def get_wcs_formdef_details(formdef_reference):
wcs_key, form_slug = formdef_reference.split(':')
wcs_site = get_wcs_services()[wcs_key]
forms_response_json = get_wcs_json(wcs_site.get('url'), 'json')
for form in forms_response_json:
slug = form.get('slug')
if slug == form_slug:
return form
return None