diff --git a/courses/templates/topic/index.html b/courses/templates/topic/index.html
index ef96e5e..293412c 100644
--- a/courses/templates/topic/index.html
+++ b/courses/templates/topic/index.html
@@ -148,23 +148,4 @@
-
-
-
-
-
-
{% endblock %}
diff --git a/poll/templates/poll/answer_student.html b/poll/templates/poll/answer_student.html
new file mode 100644
index 0000000..5a66f3c
--- /dev/null
+++ b/poll/templates/poll/answer_student.html
@@ -0,0 +1,34 @@
+{% extends "poll/create.html" %}
+
+{% load i18n static dict_access %}
+
+{% block title_poll %}
+
+{{poll.name}}
+{% endblock title_poll %}
+
+{% block content_poll %}
+
+{% endblock content_poll %}
+{% block button_save %}
+
+
+{% endblock button_save %}
diff --git a/poll/templates/poll/view.html b/poll/templates/poll/view.html
index 5d00356..72d4c5c 100644
--- a/poll/templates/poll/view.html
+++ b/poll/templates/poll/view.html
@@ -30,6 +30,6 @@
{% block button_save %}
{% if not status %}
-
+
{% endif %}
{% endblock button_save %}
diff --git a/poll/urls.py b/poll/urls.py
index 0fa9db6..b5ec9e4 100644
--- a/poll/urls.py
+++ b/poll/urls.py
@@ -8,4 +8,5 @@ urlpatterns = [
url(r'^update/(?P[\w\-_]+)/$', views.UpdatePoll.as_view(), name='update_poll'), # poll slug
url(r'^delete/(?P[\w\-_]+)/$', views.DeletePoll.as_view(), name='delete_poll'), # poll
url(r'^answer/$', views.AnswerPoll.as_view(), name='answer_poll'), # poll
+ url(r'^answer-poll/(?P[\w\-_]+)/$', views.AnswerStudentPoll.as_view(), name='answer_student_poll'), # poll slug
]
diff --git a/poll/views.py b/poll/views.py
index 633bf82..cd3c574 100644
--- a/poll/views.py
+++ b/poll/views.py
@@ -33,7 +33,12 @@ class ViewPoll(LoginRequiredMixin,generic.DetailView):
context['course'] = poll.topic.subject.course
context['subject'] = poll.topic.subject
context['subjects'] = poll.topic.subject.course.subjects.all()
- context['status'] = AnswersStudent.objects.get(poll=poll, student=self.request.user).status
+ answered = AnswersStudent.objects.filter(poll = poll, student=self.request.user)
+ print (answered)
+ if answered.count()<1:
+ context['status'] = False
+ else:
+ context['status'] = answered[0].status
return context
@@ -183,3 +188,46 @@ class DeletePoll(LoginRequiredMixin, HasRoleMixin, generic.DeleteView):
class AnswerPoll(generic.TemplateView):
template_name = 'poll/answer.html'
+
+class AnswerStudentPoll(LoginRequiredMixin,generic.CreateView):
+
+ model = AnswersStudent
+ fields = ['status']
+ context_object_name = 'answer'
+ template_name = 'poll/answer_student.html'
+
+ def form_valid(self, form):
+ poll = get_object_or_404(Poll, slug = self.kwargs.get('slug'))
+ answers = AnswersStudent(
+ status = True,
+ poll = poll,
+ student = self.request.user,
+ )
+ answers.save()
+
+ for key in self.request.POST:
+ if(key != 'csrfmiddlewaretoken'):
+ answers.answer.add(poll.answers.all().filter(order=key)[0])
+
+ return self.render_to_response(self.get_context_data(form = form), status = 200)
+
+ def get_context_data(self, **kwargs):
+ context = super(AnswerStudentPoll, self).get_context_data(**kwargs)
+ print (self.kwargs.get('slug'))
+ poll = get_object_or_404(Poll, slug = self.kwargs.get('slug'))
+ context['poll'] = poll
+ context['topic'] = poll.topic
+ context['course'] = poll.topic.subject.course
+ context['subject'] = poll.topic.subject
+ context['subjects'] = poll.topic.subject.course.subjects.all()
+
+ print (self.request.method)
+ answers = {}
+ for answer in poll.answers.all():
+ answers[answer.order] = answer.answer
+
+ keys = sorted(answers)
+ context['answers'] = answers
+ context['keys'] = keys
+
+ return context
--
libgit2 0.21.2