Remove no due date title, make course_session_assignment editable
This commit is contained in:
parent
01c288f686
commit
6afc9dcbc9
|
|
@ -1,10 +1,10 @@
|
||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
import DateEmbedding from "@/components/dueDates/DateEmbedding.vue";
|
import DateEmbedding from "@/components/dueDates/DateEmbedding.vue";
|
||||||
|
import RichText from "@/components/ui/RichText.vue";
|
||||||
import type { Assignment } from "@/types";
|
import type { Assignment } from "@/types";
|
||||||
import { useRouteQuery } from "@vueuse/router";
|
import { useRouteQuery } from "@vueuse/router";
|
||||||
import log from "loglevel";
|
|
||||||
import dayjs from "dayjs";
|
import dayjs from "dayjs";
|
||||||
import RichText from "@/components/ui/RichText.vue";
|
import log from "loglevel";
|
||||||
|
|
||||||
interface Props {
|
interface Props {
|
||||||
assignment: Assignment;
|
assignment: Assignment;
|
||||||
|
|
@ -40,15 +40,13 @@ const step = useRouteQuery("step");
|
||||||
</li>
|
</li>
|
||||||
</ul>
|
</ul>
|
||||||
|
|
||||||
<h3 class="mb-4 mt-8">{{ $t("assignment.dueDateSubmission") }}</h3>
|
<div v-if="submissionDeadlineStart" class="text-large">
|
||||||
|
<h3 class="mb-4 mt-8">{{ $t("assignment.dueDateSubmission") }}</h3>
|
||||||
<p v-if="submissionDeadlineStart" class="text-large">
|
|
||||||
{{ $t("assignment.dueDateIntroduction") }}
|
{{ $t("assignment.dueDateIntroduction") }}
|
||||||
<DateEmbedding :single-date="dayjs(submissionDeadlineStart)"></DateEmbedding>
|
<p>
|
||||||
</p>
|
<DateEmbedding :single-date="dayjs(submissionDeadlineStart)"></DateEmbedding>
|
||||||
<p v-else class="text-large">
|
</p>
|
||||||
{{ $t("assignment.dueDateNotSet") }}
|
</div>
|
||||||
</p>
|
|
||||||
|
|
||||||
<div v-if="props.assignment.effort_required">
|
<div v-if="props.assignment.effort_required">
|
||||||
<h3 class="mb-4 mt-8">{{ $t("assignment.effortTitle") }}</h3>
|
<h3 class="mb-4 mt-8">{{ $t("assignment.effortTitle") }}</h3>
|
||||||
|
|
|
||||||
|
|
@ -74,12 +74,6 @@ class CourseSessionAttendanceCourseAdmin(admin.ModelAdmin):
|
||||||
|
|
||||||
@admin.register(CourseSessionAssignment)
|
@admin.register(CourseSessionAssignment)
|
||||||
class CourseSessionAssignmentAdmin(admin.ModelAdmin):
|
class CourseSessionAssignmentAdmin(admin.ModelAdmin):
|
||||||
readonly_fields = [
|
|
||||||
"course_session",
|
|
||||||
"learning_content",
|
|
||||||
"submission_deadline",
|
|
||||||
"evaluation_deadline",
|
|
||||||
]
|
|
||||||
list_display = [
|
list_display = [
|
||||||
"course_session",
|
"course_session",
|
||||||
"circle",
|
"circle",
|
||||||
|
|
@ -88,6 +82,11 @@ class CourseSessionAssignmentAdmin(admin.ModelAdmin):
|
||||||
"evaluation_date",
|
"evaluation_date",
|
||||||
]
|
]
|
||||||
list_filter = ["course_session__course", "course_session"]
|
list_filter = ["course_session__course", "course_session"]
|
||||||
|
raw_id_fields = [
|
||||||
|
"course_session",
|
||||||
|
"submission_deadline",
|
||||||
|
"evaluation_deadline",
|
||||||
|
]
|
||||||
|
|
||||||
def submission_date(self, obj):
|
def submission_date(self, obj):
|
||||||
if obj.submission_deadline:
|
if obj.submission_deadline:
|
||||||
|
|
@ -124,7 +123,7 @@ class CourseSessionAssignmentAdmin(admin.ModelAdmin):
|
||||||
readonly_fields = super(CourseSessionAssignmentAdmin, self).get_readonly_fields(
|
readonly_fields = super(CourseSessionAssignmentAdmin, self).get_readonly_fields(
|
||||||
request, obj
|
request, obj
|
||||||
)
|
)
|
||||||
return readonly_fields + ["circle_display"]
|
return ["circle_display"]
|
||||||
|
|
||||||
# Override get_form to include circle_display
|
# Override get_form to include circle_display
|
||||||
def get_form(self, request, obj=None, **kwargs):
|
def get_form(self, request, obj=None, **kwargs):
|
||||||
|
|
|
||||||
|
|
@ -109,6 +109,7 @@ class CourseSessionAssignment(models.Model):
|
||||||
on_delete=models.CASCADE,
|
on_delete=models.CASCADE,
|
||||||
related_name="assignment_submission_deadline",
|
related_name="assignment_submission_deadline",
|
||||||
null=True,
|
null=True,
|
||||||
|
blank=True,
|
||||||
)
|
)
|
||||||
|
|
||||||
evaluation_deadline = models.OneToOneField(
|
evaluation_deadline = models.OneToOneField(
|
||||||
|
|
@ -116,6 +117,7 @@ class CourseSessionAssignment(models.Model):
|
||||||
on_delete=models.CASCADE,
|
on_delete=models.CASCADE,
|
||||||
related_name="assignment_evaluation_deadline",
|
related_name="assignment_evaluation_deadline",
|
||||||
null=True,
|
null=True,
|
||||||
|
blank=True,
|
||||||
)
|
)
|
||||||
|
|
||||||
class Meta:
|
class Meta:
|
||||||
|
|
|
||||||
|
|
@ -441,6 +441,9 @@ class LearningContentAssignment(LearningContent):
|
||||||
self.assignment_type = self.content_assignment.assignment_type
|
self.assignment_type = self.content_assignment.assignment_type
|
||||||
super().save(**kwargs)
|
super().save(**kwargs)
|
||||||
|
|
||||||
|
def __str__(self):
|
||||||
|
return f"{self.id} - {self.title}"
|
||||||
|
|
||||||
@classmethod
|
@classmethod
|
||||||
def get_serializer_class(cls):
|
def get_serializer_class(cls):
|
||||||
from vbv_lernwelt.learnpath.serializers import (
|
from vbv_lernwelt.learnpath.serializers import (
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue