diff --git a/src/core/templates/core/component_confirm_delete.html b/src/core/templates/core/component_confirm_delete.html index e654aca..5c9bf61 100644 --- a/src/core/templates/core/component_confirm_delete.html +++ b/src/core/templates/core/component_confirm_delete.html @@ -1,13 +1,36 @@ -{% extends 'base.html' %} +{% extends "base.html" %} +{% load helpers %} + +{% block head_title %}{{ component.name }} | {% endblock head_title %} + +{% block breadcrumbs %} + +{% endblock breadcrumbs %} {% block content %} -

Delete Component

-
- {% csrf_token %} -

Are you sure you want to delete "{{ component }}"?

- {{ form.as_p }} -

- or cancel -

-
+
+
+

Delete Component

+

+ Delete +

+
+
+ {% csrf_token %} + {{ form.as_p }} +

+ or cancel +

+
+
{% endblock %} diff --git a/src/core/templates/core/component_detail.html b/src/core/templates/core/component_detail.html index 12d3285..9f8af6c 100644 --- a/src/core/templates/core/component_detail.html +++ b/src/core/templates/core/component_detail.html @@ -23,7 +23,7 @@

Added:
Last updated:

- Edit + Edit {% if component.tags.count > 0 %}
diff --git a/src/core/templates/core/component_form.html b/src/core/templates/core/component_form.html index 426179a..ac07002 100644 --- a/src/core/templates/core/component_form.html +++ b/src/core/templates/core/component_form.html @@ -1,12 +1,36 @@ -{% extends 'base.html' %} +{% extends "base.html" %} +{% load helpers %} + +{% block head_title %}{{ component.name }} | {% endblock head_title %} + +{% block breadcrumbs %} + +{% endblock breadcrumbs %} {% block content %} -

Edit Component

-
- {% csrf_token %} - {{ form.as_p }} -

- or cancel -

-
+
+
+

Edit Component

+

+ Delete +

+
+
+ {% csrf_token %} + {{ form.as_p }} +

+ or cancel +

+
+
{% endblock %} diff --git a/src/core/views.py b/src/core/views.py index fceee03..90d1009 100644 --- a/src/core/views.py +++ b/src/core/views.py @@ -435,10 +435,12 @@ class ComponentDetailView(LoginRequiredMixin, DetailView): cscores = Score.objects.filter( component=self.object, student=OuterRef('pk') - ) - context['scoreless'] = Student.objects.exclude( + ) + context['scoreless'] = Student.objects.filter( + school_year__year=self.kwargs['year'] + ).exclude( score__in=cscores - ) + ) return context @@ -448,6 +450,13 @@ class ComponentUpdateView(LoginRequiredMixin, SuccessMessageMixin, UpdateView): success_message = 'Component saved.' fields = '__all__' + def get_success_url(self): + return reverse('core:component-detail', kwargs={ + 'year': self.object.subject.school_year.year, + 'pk': self.object.subject.pk, + 'component_pk': self.object.pk + }) + class ComponentDeleteView(LoginRequiredMixin, SuccessMessageMixin, DeleteView): model = Component @@ -456,7 +465,7 @@ class ComponentDeleteView(LoginRequiredMixin, SuccessMessageMixin, DeleteView): success_url = reverse_lazy('core:component-list') -class ComponentManagerView(LoginRequiredMixin, LoginRequiredMixin, UpdateView): +class ComponentManagerView(LoginRequiredMixin, UpdateView): model = Component pk_url_kwarg = 'component_pk' template_name_suffix = '_manager' @@ -468,7 +477,9 @@ class ComponentManagerView(LoginRequiredMixin, LoginRequiredMixin, UpdateView): component=self.object, student=OuterRef('pk') ) - context['student_list'] = Student.objects.annotate( + context['student_list'] = Student.objects.filter( + school_year__year=self.kwargs['year'] + ).annotate( cscore=Subquery(cscores.values('value')), cscore_pk=Subquery(cscores.values('pk')) ) @@ -575,7 +586,9 @@ class SchoolDayCreateView(LoginRequiredMixin, SuccessMessageMixin, CreateView): def get_context_data(self, **kwargs): context = super().get_context_data(**kwargs) - context['student_list'] = Student.objects.all() + context['student_list'] = Student.objects.filter( + school_year__year=self.kwargs['year'] + ) context['school_year'] = get_object_or_404( SchoolYear, year=self.kwargs['year'] ) @@ -608,7 +621,6 @@ class SchoolDayUpdateView(LoginRequiredMixin, SuccessMessageMixin, UpdateView): def get_context_data(self, **kwargs): context = super().get_context_data(**kwargs) - context['student_list'] = Student.objects.all() context['school_year'] = get_object_or_404( SchoolYear, year=self.kwargs['year'] )