diff --git a/Main/models/set.py b/Main/models/set.py index cddf999..3fd352f 100644 --- a/Main/models/set.py +++ b/Main/models/set.py @@ -40,3 +40,7 @@ class Set(models.Model): @cached_property def tasks(self): return Task.objects.filter(settasks__set=self).order_by("settasks__name") + + @cached_property + def settasks_ordered(self): + return self.settasks.order_by('name') diff --git a/Main/views/TaskView.py b/Main/views/TaskView.py index 1d567a3..fff7a48 100644 --- a/Main/views/TaskView.py +++ b/Main/views/TaskView.py @@ -17,8 +17,12 @@ class TaskView(BaseView): user=self.request.user, task=self.entities.task ) self.context["progress"] = progress + self.context["in_set"] = hasattr(self.entities, 'setTask') def pre_handle(self): + if hasattr(self.entities, 'setTask'): + self.entities.add('task', self.entities.setTask.task) + self.entities.add('set', self.entities.setTask.set) if self.request.method == "GET": return self.solution = Solution.objects.create( diff --git a/SprintLib/BaseView.py b/SprintLib/BaseView.py index 9251784..f753273 100644 --- a/SprintLib/BaseView.py +++ b/SprintLib/BaseView.py @@ -41,7 +41,7 @@ class BaseView: model_name = key.rstrip("_id") c.entities.add( model_name, - eval(model_name.capitalize()).objects.get( + eval(model_name[0].upper() + model_name[1:]).objects.get( id=int(request.GET[key]) ), ) diff --git a/templates/set.html b/templates/set.html index 566549b..77d1463 100644 --- a/templates/set.html +++ b/templates/set.html @@ -1,10 +1,11 @@ - - -
- -