SciPost Code Repository

Skip to content
Snippets Groups Projects
Commit 66ca3380 authored by Jean-Sébastien Caux's avatar Jean-Sébastien Caux
Browse files

DO MIGRATE: add feedback to remark

parent 0235dc34
No related branches found
No related tags found
No related merge requests found
# -*- coding: utf-8 -*-
# Generated by Django 1.10.3 on 2017-01-21 18:22
from __future__ import unicode_literals
from django.db import migrations, models
import django.db.models.deletion
class Migration(migrations.Migration):
dependencies = [
('scipost', '0036_feedback'),
]
operations = [
migrations.AddField(
model_name='remark',
name='feedback',
field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to='scipost.Feedback'),
),
]
...@@ -349,6 +349,8 @@ class UnavailabilityPeriod(models.Model): ...@@ -349,6 +349,8 @@ class UnavailabilityPeriod(models.Model):
class Remark(models.Model): class Remark(models.Model):
contributor = models.ForeignKey(Contributor, on_delete=models.CASCADE) contributor = models.ForeignKey(Contributor, on_delete=models.CASCADE)
feedback = models.ForeignKey('scipost.Feedback', on_delete=models.CASCADE,
blank=True, null=True)
nomination = models.ForeignKey('scipost.Nomination', on_delete=models.CASCADE, nomination = models.ForeignKey('scipost.Nomination', on_delete=models.CASCADE,
blank=True, null=True) blank=True, null=True)
motion = models.ForeignKey('scipost.Motion', on_delete=models.CASCADE, motion = models.ForeignKey('scipost.Motion', on_delete=models.CASCADE,
......
...@@ -76,6 +76,22 @@ $(document).ready(function(){ ...@@ -76,6 +76,22 @@ $(document).ready(function(){
<ul> <ul>
{% for feedback in feedback_received %} {% for feedback in feedback_received %}
<li>{{ feedback.as_li }}</li> <li>{{ feedback.as_li }}</li>
<button class="submitRemarkButton" id="remarkButton{{ nomination.id }}">Add a remark on this Feedback</button>
<div class="submitRemarkForm" id="remarkForm{{ feedback.id }}">
<form action="{% url 'scipost:add_remark_on_feedback' VGM_id=VGM.id feedback_id=feedback.id %}" method="post">
{% csrf_token %}
{{ remark_form.as_p }}
<input type="submit" value="Submit" />
</form>
</div>
{% if feedback.remark_set.all %}
<h3>Remarks on this feedback:</h3>
<ul>
{% for rem in feedback.remark_set.all %}
{{ rem.as_li }}
{% endfor %}
</ul>
{% endif %}
{% endfor %} {% endfor %}
</ul> </ul>
</div> </div>
...@@ -144,14 +160,6 @@ $(document).ready(function(){ ...@@ -144,14 +160,6 @@ $(document).ready(function(){
{% endif %} {% endif %}
</div> </div>
<br/><br/> <br/><br/>
{% if nomination.remark_set.all %}
<h3>Remarks on this nomination:</h3>
<ul>
{% for rem in nomination.remark_set.all %}
{{ rem.as_li }}
{% endfor %}
</ul>
{% endif %}
<button class="submitRemarkButton" id="remarkButton{{ nomination.id }}">Add a remark on this Nomination</button> <button class="submitRemarkButton" id="remarkButton{{ nomination.id }}">Add a remark on this Nomination</button>
<div class="submitRemarkForm" id="remarkForm{{ nomination.id }}"> <div class="submitRemarkForm" id="remarkForm{{ nomination.id }}">
<form action="{% url 'scipost:add_remark_on_nomination' VGM_id=VGM.id nomination_id=nomination.id %}" method="post"> <form action="{% url 'scipost:add_remark_on_nomination' VGM_id=VGM.id nomination_id=nomination.id %}" method="post">
...@@ -160,6 +168,14 @@ $(document).ready(function(){ ...@@ -160,6 +168,14 @@ $(document).ready(function(){
<input type="submit" value="Submit" /> <input type="submit" value="Submit" />
</form> </form>
</div> </div>
{% if nomination.remark_set.all %}
<h3>Remarks on this nomination:</h3>
<ul>
{% for rem in nomination.remark_set.all %}
{{ rem.as_li }}
{% endfor %}
</ul>
{% endif %}
<hr class="hr6"/> <hr class="hr6"/>
<br/> <br/>
</li> </li>
...@@ -232,14 +248,6 @@ $(document).ready(function(){ ...@@ -232,14 +248,6 @@ $(document).ready(function(){
{% endif %} {% endif %}
</div> </div>
<br/><br/> <br/><br/>
{% if motion.remark_set.all %}
<h3>Remarks on this motion:</h3>
<ul>
{% for rem in motion.remark_set.all %}
{{ rem.as_li }}
{% endfor %}
</ul>
{% endif %}
<button class="submitRemarkButton" id="remarkButton{{ motion.id }}">Add a remark on this Motion</button> <button class="submitRemarkButton" id="remarkButton{{ motion.id }}">Add a remark on this Motion</button>
<div class="submitRemarkForm" id="remarkForm{{ motion.id }}"> <div class="submitRemarkForm" id="remarkForm{{ motion.id }}">
<form action="{% url 'scipost:add_remark_on_motion' motion_id=motion.id %}" method="post"> <form action="{% url 'scipost:add_remark_on_motion' motion_id=motion.id %}" method="post">
...@@ -248,6 +256,14 @@ $(document).ready(function(){ ...@@ -248,6 +256,14 @@ $(document).ready(function(){
<input type="submit" value="Submit" /> <input type="submit" value="Submit" />
</form> </form>
</div> </div>
{% if motion.remark_set.all %}
<h3>Remarks on this motion:</h3>
<ul>
{% for rem in motion.remark_set.all %}
{{ rem.as_li }}
{% endfor %}
</ul>
{% endif %}
<hr class="hr6"/> <hr class="hr6"/>
<br/> <br/>
</li> </li>
......
...@@ -179,6 +179,8 @@ urlpatterns = [ ...@@ -179,6 +179,8 @@ urlpatterns = [
url(r'^VGM/(?P<VGM_id>[0-9]+)/$', views.VGM_detail, name='VGM_detail'), url(r'^VGM/(?P<VGM_id>[0-9]+)/$', views.VGM_detail, name='VGM_detail'),
url(r'^feedback/(?P<VGM_id>[0-9]+)$', url(r'^feedback/(?P<VGM_id>[0-9]+)$',
views.feedback, name='feedback'), views.feedback, name='feedback'),
url(r'^add_remark_on_feedback/(?P<VGM_id>[0-9]+)/(?P<feedback_id>[0-9]+)$',
views.add_remark_on_feedback, name='add_remark_on_feedback'),
url(r'^nominate_Fellow/(?P<VGM_id>[0-9]+)$', url(r'^nominate_Fellow/(?P<VGM_id>[0-9]+)$',
views.nominate_Fellow, name='nominate_Fellow'), views.nominate_Fellow, name='nominate_Fellow'),
url(r'^add_remark_on_nomination/(?P<VGM_id>[0-9]+)/(?P<nomination_id>[0-9]+)$', url(r'^add_remark_on_nomination/(?P<VGM_id>[0-9]+)/(?P<nomination_id>[0-9]+)$',
......
...@@ -1530,6 +1530,28 @@ def feedback(request, VGM_id=None): ...@@ -1530,6 +1530,28 @@ def feedback(request, VGM_id=None):
return render(request, 'scipost/error.html', {'errormessage': errormessage}) return render(request, 'scipost/error.html', {'errormessage': errormessage})
@permission_required('scipost.can_attend_VGMs', raise_exception=True)
def add_remark_on_feedback(request, VGM_id, feedback_id):
contributor = request.user.contributor
feedback = get_object_or_404(Feedback, pk=feedback_id)
if request.method == 'POST':
remark_form = RemarkForm(request.POST)
if remark_form.is_valid():
remark = Remark(contributor=request.user.contributor,
feedback=feedback,
date=timezone.now(),
remark=remark_form.cleaned_data['remark'])
remark.save()
return HttpResponseRedirect('/VGM/' + str(VGM_id) +
'/#feedback_id' + str(feedback.id))
else:
errormessage = 'The form was invalidly filled.'
return render(request, 'scipost/error.html', {'errormessage': errormessage})
else:
errormessage = 'This view can only be posted to.'
return render(request, 'scipost/error.html', {'errormessage': errormessage})
@permission_required('scipost.can_attend_VGMs', return_403=True) @permission_required('scipost.can_attend_VGMs', return_403=True)
def nominate_Fellow(request, VGM_id): def nominate_Fellow(request, VGM_id):
VGM_instance = get_object_or_404(VGM, id=VGM_id) VGM_instance = get_object_or_404(VGM, id=VGM_id)
......
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