Protect some objects from deletion
This commit is contained in:
parent
9f81082f12
commit
dbee7889b7
|
|
@ -56,7 +56,6 @@ class AssignmentNode(DjangoObjectType):
|
|||
def resolve_submission(self, info, **kwargs):
|
||||
return self.submissions.filter(student=info.context.user).first() # returns None if it doesn't exist yet
|
||||
|
||||
#todo: restrict for students
|
||||
def resolve_submissions(self, info, **kwargs):
|
||||
user = info.context.user
|
||||
if user.has_perm('users.can_manage_school_class_content'):
|
||||
|
|
|
|||
|
|
@ -0,0 +1,25 @@
|
|||
# Generated by Django 2.2.17 on 2021-02-10 11:09
|
||||
|
||||
from django.conf import settings
|
||||
from django.db import migrations, models
|
||||
import django.db.models.deletion
|
||||
|
||||
|
||||
class Migration(migrations.Migration):
|
||||
|
||||
dependencies = [
|
||||
('objectives', '0011_auto_20210121_1857'),
|
||||
]
|
||||
|
||||
operations = [
|
||||
migrations.AlterField(
|
||||
model_name='objective',
|
||||
name='owner',
|
||||
field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.PROTECT, to=settings.AUTH_USER_MODEL),
|
||||
),
|
||||
migrations.AlterField(
|
||||
model_name='objectivegroup',
|
||||
name='owner',
|
||||
field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.PROTECT, to=settings.AUTH_USER_MODEL),
|
||||
),
|
||||
]
|
||||
|
|
@ -24,7 +24,7 @@ class ObjectiveGroup(models.Model):
|
|||
title = models.CharField('title', blank=True, null=False, max_length=255, choices=TITLE_CHOICES, default=LANGUAGE_COMMUNICATION)
|
||||
module = models.ForeignKey(Module, blank=False, null=False, on_delete=models.CASCADE, related_name='objective_groups')
|
||||
# a user can define her own objectives, hence this optional param
|
||||
owner = models.ForeignKey(get_user_model(), blank=True, null=True, on_delete=models.CASCADE)
|
||||
owner = models.ForeignKey(get_user_model(), blank=True, null=True, on_delete=models.PROTECT)
|
||||
|
||||
hidden_for = models.ManyToManyField(SchoolClass, related_name='hidden_objective_groups', blank=True)
|
||||
visible_for = models.ManyToManyField(SchoolClass, related_name='visible_objective_groups', blank=True)
|
||||
|
|
@ -42,7 +42,7 @@ class Objective(models.Model):
|
|||
text = models.CharField('text', blank=True, null=False, max_length=255)
|
||||
group = models.ForeignKey(ObjectiveGroup, blank=False, null=False, on_delete=models.CASCADE,
|
||||
related_name='objectives')
|
||||
owner = models.ForeignKey(get_user_model(), blank=True, null=True, on_delete=models.CASCADE)
|
||||
owner = models.ForeignKey(get_user_model(), blank=True, null=True, on_delete=models.PROTECT)
|
||||
hidden_for = models.ManyToManyField(SchoolClass, related_name='hidden_objectives', blank=True)
|
||||
visible_for = models.ManyToManyField(SchoolClass, related_name='visible_objectives', blank=True)
|
||||
order = models.IntegerField(null=True, blank=True)
|
||||
|
|
@ -51,6 +51,7 @@ class Objective(models.Model):
|
|||
return 'Objective {}-{}'.format(self.id, self.text)
|
||||
|
||||
|
||||
# todo: delete
|
||||
class ObjectiveProgressStatus(models.Model):
|
||||
class Meta:
|
||||
verbose_name = 'Lernzielstatus'
|
||||
|
|
|
|||
Loading…
Reference in New Issue