"""
zoekopdrachten: views.py
"""
from django.http import Http404, HttpResponse, HttpResponseRedirect
from django.shortcuts import get_object_or_404, render
from django.core.urlresolvers import reverse
from .models import KlantOrganisatie, ZoekVraag, ZoekVraagLocatie
#
# Index - overzicht van opdrachtgever, contactpersonen en zoekvragen
def index(request):
organisatie_lijst = KlantOrganisatie.objects.order_by('klant_organisatie_naam')
context = {'organisatie_lijst': organisatie_lijst}
return render(request, 'zoekopdrachten/index.html', context)
#
# Klantverwerking - contactpersoon noteert oordeel en motivatie bij aangeboden zoekresultaten
def klantverwerking(request, zoekvraag_id):
vraag = get_object_or_404(ZoekVraag, pk=zoekvraag_id)
return render(request, 'zoekopdrachten/klantverwerking.html', {'vraag': vraag})
#
# Resultaat - inlezen zoekresultaten en opnemen in database bij ZoekVraagResultaat
def resultaat(request, zoekvraag_id):
vraag = get_object_or_404(ZoekVraag, pk=zoekvraag_id)
try:
keuze = vraag.zoekvraaglocatie_set.get(pk=request.POST['zoekvraaglocatie'])
except (KeyError, ZoekVraagLocatie.DoesNotExist):
return render(request, 'zoekopdrachten/vraag.html', {
'vraag': vraag,
'error_message': 'Ongeldige keuze of zoiets',
})
else:
keuze.zoek_vraag_locatie = 'kippenfarm'
keuze.save()
return HttpResponseRedirect(reverse('zoekopdrachten:zelfverwerking.html', args=(
vraag.id,)))
#
# Vraag - details van de zoekvraag
def vraag(request, zoekvraag_id):
vraag = get_object_or_404(ZoekVraag, pk=zoekvraag_id)
return render(request, 'zoekopdrachten/vraag.html', {'vraag': vraag})
#
# Zelfverwerking - opnemen zoekresultaten in databsae plus eigen beoordeling
def zelfverwerking(request, zoekvraag_id):
vraag = get_object_or_404(ZoekVraag, pk=zoekvraag_id)
return render(request, 'zoekopdrachten/zelfverwerking.html', {'vraag': vraag})
"""
zoekopdrachten: urls.py
"""
from django.conf.urls import url
from . import views
urlpatterns = [
# ex: /zoekopdrachten/
url(r'^$', views.index, name='index'),
# ex: /zoekopdrachten/5/
url(r'^(?P<zoekvraag_id>[0-9]+)/$', views.vraag, name='vraag'),
# ex: /zoekopdrachten/5/zelfverwerking/
url(r'^(?P<zoekvraag_id>[0-9]+)/zelfverwerking/$', views.zelfverwerking, name='zelfverwerking'),
# ex: /zoekopdrachten/5/klantverwerking/
url(r'^(?P<zoekvraag_id>[0-9]+)/klantverwerking/$', views.klantverwerking, name='klantverwerking'),
# ex: /zoekopdrachten/5/resultaat/
url(r'^(?P<zoekvraag_id>[0-9]+)/resultaat/$', views.resultaat, name='resultaat'),
]
<h1>Zoekvraag "{{ vraag.zoekvraag_id }}"</h1>
{% if error_message %}
<p><strong>{{ error_message }}</strong></p>
</br>
{% endif %}
<h2>Verzamelen resultaten</h2>
<form action="{% url 'zoekopdrachten:resultaat' vraag.zoekvraag_id %}" method="post">
{% csrf_token %}
{% for term in vraag.zoekvraagterm_set.all %}
<input type="radio" name="term" id="term{{ forloop.counter }}" value="{{
term.id }}" />
<label for="choice{{ forloop.counter }}">1</label><br />
{% endfor %}
</br>
<input type="submit" value="Verwerken SourcingThing" />
</form>