Skip to content
Snippets Groups Projects
Commit d375cea6 authored by Nico Vermaas's avatar Nico Vermaas
Browse files

split annotation in taskid and sasid to preserve the remarks on both levels,...

split annotation in taskid and sasid to preserve the remarks on both levels, and add sasid remarks to tasks.
parent ea62d52a
No related branches found
No related tags found
1 merge request!266split annotation in taskid and sasid to preserve the remarks on both levels,...
Pipeline #40514 passed
......@@ -139,6 +139,20 @@ class Task(models.Model):
except:
return None
@property
def get_quality_remarks_taskid(self):
try:
return self.remarks['quality_taskid']
except:
return None
@property
def get_quality_remarks_sasid(self):
try:
return self.remarks['quality_sasid']
except:
return None
@property
def quality_as_list(self):
try:
......
......@@ -34,7 +34,7 @@
{% include 'taskdatabase/pagination.html' %}
</div>
</div>
<p class="footer"> Version 27 November 2022
<p class="footer"> Version 2 December 2022
</div>
......
{% block myBlock %}
<div class="container-fluid details-container">
<div class="card">
<div class="card-body">
<h4>Quality Annotation (per task)</h4>
<form class="post-form" action="{% url 'annotate-quality-taskid' task.id %}" method="POST">
{% csrf_token %}
<div>
{{ form }}
</div>
<div><button class="btn btn-success btn-sm" type="submit"><i class="fas fa-check"></i> OK</button>
<a href="{% url 'quality' %}" class="btn btn-warning btn-sm" role="button"><i class="fas fa-times-circle"></i> Cancel</a>&nbsp
</div>
</form>
</div>
</div>
</div>
{% endblock %}
{% include "taskdatabase/modal/modal_script.html" %}
{% include "taskdatabase/modal/modal.html" %}
\ No newline at end of file
......@@ -53,16 +53,16 @@
{% endif %}
<td>{% if user.is_authenticated %}
{% if task.get_quality_remarks %}
{% if task.get_quality_remarks_taskid %}
<a class="open-modal btn btn-warning btn-sm"
href="{% url 'annotate-quality' task.id my_tasks.number %}"
data-popup-url="{% url 'annotate-quality' task.id my_tasks.number %}">
href="{% url 'annotate-quality-taskid' task.id my_tasks.number %}"
data-popup-url="{% url 'annotate-quality-taskid' task.id my_tasks.number %}">
<i class="fas fa-pen-alt"></i>
</a>&nbsp;
{% else %}
<a class="open-modal btn btn-secondary btn-sm"
href="{% url 'annotate-quality' task.id my_tasks.number %}"
data-popup-url="{% url 'annotate-quality' task.id my_tasks.number %}">
href="{% url 'annotate-quality-taskid' task.id my_tasks.number %}"
data-popup-url="{% url 'annotate-quality-taskid' task.id my_tasks.number %}">
<i class="fas fa-pen-alt"></i>
</a>&nbsp;
{% endif %}
......
......@@ -5,9 +5,9 @@
<div class="card">
<div class="card-body">
<h4>Quality Annotation</h4>
<h4>Quality Annotation (per SAS_ID)</h4>
<form class="post-form" action="{% url 'annotate-quality-sasid' task.sas_id %}" method="POST">
<form class="post-form" action="{% url 'annotate-quality-sasid' task.id %}" method="POST">
{% csrf_token %}
<div>
{{ form }}
......
......@@ -29,16 +29,16 @@
<td>
{% if user.is_authenticated %}
{% if task.get_quality_remarks %}
{% if task.get_quality_remarks_sasid %}
<a class="open-modal btn btn-warning btn-sm"
href="{% url 'annotate-quality' task.id my_tasks.number %}"
data-popup-url="{% url 'annotate-quality' task.id my_tasks.number %}">
href="{% url 'annotate-quality-sasid' task.id my_tasks.number %}"
data-popup-url="{% url 'annotate-quality-sasid' task.id my_tasks.number %}">
<i class="fas fa-pen-alt"></i>
</a>&nbsp;
{% else %}
<a class="open-modal btn btn-secondary btn-sm"
href="{% url 'annotate-quality' task.id my_tasks.number %}"
data-popup-url="{% url 'annotate-quality' task.id my_tasks.number %}">
href="{% url 'annotate-quality-sasid' task.id my_tasks.number %}"
data-popup-url="{% url 'annotate-quality-sasid' task.id my_tasks.number %}">
<i class="fas fa-pen-alt"></i>
</a>&nbsp;
{% endif %}
......
......@@ -23,10 +23,11 @@ urlpatterns = [
path('task_details/', views.TaskDetails, name='task-details'),
path('task_quality/<int:id>/<page>', views.ShowTaskQuality, name='task-quality'),
path('task_quality/', views.ShowTaskQuality, name='task-quality'),
path('annotate_quality/<int:id>/<page>', views.AnnotateQuality, name='annotate-quality'),
path('annotate_quality/<int:id>', views.AnnotateQuality, name='annotate-quality'),
path('annotate_quality/', views.AnnotateQuality, name='annotate-quality'),
path('annotate_quality_sasid/<sas_id>', views.AnnotateQualitySasId, name='annotate-quality-sasid'),
path('annotate_quality_taskid/<int:id>/<page>', views.AnnotateQualityTaskId, name='annotate-quality-taskid'),
path('annotate_quality_taskid/<int:id>', views.AnnotateQualityTaskId, name='annotate-quality-taskid'),
path('annotate_quality_taskid/', views.AnnotateQualityTaskId, name='annotate-quality-taskid'),
path('annotate_quality_sasid/<int:id>', views.AnnotateQualitySasId, name='annotate-quality-sasid'),
path('annotate_quality_sasid/<int:id>/<page>', views.AnnotateQualitySasId, name='annotate-quality-sasid'),
path('show_inspectionplots/<int:id>/<page>', views.ShowInspectionPlots, name='inspection-plots'),
path('show-inputs/<int:id>/', views.ShowInputs, name='show-inputs'),
......
......@@ -526,7 +526,7 @@ def ShowTaskQuality(request, id=0, page=0):
return render(request, "taskdatabase/tasks/task_quality.html", {'task': task, 'quality': quality_html})
def AnnotateQuality(request, id=0, page=0, new_remark=""):
def AnnotateQualityTaskId(request, id=0, page=0):
# a POST means that the form is filled in and should be stored in the database
if request.method == "POST":
......@@ -535,41 +535,49 @@ def AnnotateQuality(request, id=0, page=0, new_remark=""):
if form.is_valid():
task = Task.objects.get(id=id)
try:
task.remarks['quality'] = request.POST.get("annotation", "")
task.remarks['quality_taskid'] = request.POST.get("annotation", "")
except:
task.remarks = {}
task.remarks['quality'] = request.POST.get("annotation", "")
task.remarks['quality_taskid'] = request.POST.get("annotation", "")
task.save()
return redirect_with_params('validation', '?page=' + request.POST.get("return_to_page", 1))
return redirect_with_params('quality', '?page=' + request.POST.get("return_to_page", 1))
else:
# a GET means that the form should be presented to be filled in
task = Task.objects.get(id=id)
try:
quality_remarks = task.remarks['quality']
quality_remarks = task.remarks['quality_taskid']
except:
quality_remarks = ""
form = QualityAnnotationForm(initial={'annotation': quality_remarks, 'return_to_page': page})
return render(request, "taskdatabase/validation/annotate_quality.html",
return render(request, "taskdatabase/quality/annotate_quality_taskid.html",
{'task': task, 'page': page, 'form': form})
def AnnotateQualitySasId(request, sas_id=0, page=0, new_remark=""):
def AnnotateQualitySasId(request, id=0, page=0):
# a POST means that the form is filled in and should be stored in the database
if request.method == "POST":
form = QualityAnnotationForm(request.POST)
if form.is_valid():
tasks = Task.objects.filter(sas_id=sas_id)
task = Task.objects.get(id=id)
tasks = Task.objects.filter(sas_id=task.sas_id)
for task in tasks:
try:
task.remarks['quality'] = request.POST.get("annotation", "")
remark_per_sasid = request.POST.get("annotation", "")
try:
remark_per_taskid = task.remarks['quality_taskid']
except:
remark_per_taskid = ''
new_remark_per_taskid = remark_per_taskid + "\n\n" + remark_per_sasid
task.remarks['quality_taskid'] = new_remark_per_taskid
task.remarks['quality_sasid'] = remark_per_sasid
except:
task.remarks = {}
task.remarks['quality'] = request.POST.get("annotation", "")
task.remarks['quality_sasid'] = request.POST.get("annotation", "")
task.save()
......@@ -579,12 +587,12 @@ def AnnotateQualitySasId(request, sas_id=0, page=0, new_remark=""):
# a GET means that the form should be presented to be filled in
task = Task.objects.get(id=id)
try:
quality_remarks = task.remarks['quality']
quality_remarks = task.remarks['quality_sasid']
except:
quality_remarks = ""
form = QualityAnnotationForm(initial={'annotation': quality_remarks, 'return_to_page': page})
return render(request, "taskdatabase/validation/annotate_quality.html",
return render(request, "taskdatabase/validation/annotate_quality_sasid.html",
{'task': task, 'page': page, 'form': form})
def ShowInspectionPlots(request, id=0, page=0):
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment