mirror of
https://github.com/lemeow125/StudE-Backend.git
synced 2024-11-17 06:19:24 +08:00
Commit migrations and fixed pruning crontab command not setting student status to False. Also fixed Student Status subject field in admin
This commit is contained in:
parent
87d1bcb04f
commit
a58142030d
3 changed files with 31 additions and 3 deletions
|
@ -35,6 +35,7 @@ class Command(BaseCommand):
|
||||||
# Set the fields of the old statuses to the required values
|
# Set the fields of the old statuses to the required values
|
||||||
for status in old_statuses:
|
for status in old_statuses:
|
||||||
logger.info(f'Resetting StudentStatus: {status}')
|
logger.info(f'Resetting StudentStatus: {status}')
|
||||||
|
status.active = False
|
||||||
status.location = Point(0, 0)
|
status.location = Point(0, 0)
|
||||||
status.subject = None
|
status.subject = None
|
||||||
status.landmark = None
|
status.landmark = None
|
||||||
|
|
|
@ -4,8 +4,10 @@ from leaflet.admin import LeafletGeoAdmin
|
||||||
from django import forms
|
from django import forms
|
||||||
from subjects.models import SubjectInstance, Subject
|
from subjects.models import SubjectInstance, Subject
|
||||||
from accounts.models import CustomUser
|
from accounts.models import CustomUser
|
||||||
|
from django.contrib.gis.geos import Point
|
||||||
|
|
||||||
|
|
||||||
|
# Unused. To reimplement down the line
|
||||||
class CustomStudentStatusForm(forms.ModelForm):
|
class CustomStudentStatusForm(forms.ModelForm):
|
||||||
def __init__(self, *args, **kwargs):
|
def __init__(self, *args, **kwargs):
|
||||||
super(CustomStudentStatusForm, self).__init__(*args, **kwargs)
|
super(CustomStudentStatusForm, self).__init__(*args, **kwargs)
|
||||||
|
@ -23,9 +25,8 @@ class CustomStudentStatusForm(forms.ModelForm):
|
||||||
# Filter the Subject objects by these names
|
# Filter the Subject objects by these names
|
||||||
subjects = Subject.objects.filter(name__in=subject_instance_names)
|
subjects = Subject.objects.filter(name__in=subject_instance_names)
|
||||||
self.fields['subject'].queryset = subjects
|
self.fields['subject'].queryset = subjects
|
||||||
# To fix: study group is still empty despite student already joined one
|
|
||||||
subject = forms.ModelChoiceField(
|
subject = forms.ModelChoiceField(
|
||||||
queryset=Subject.objects.none(), required=False)
|
queryset=Subject.objects.all(), required=False)
|
||||||
|
|
||||||
class Meta:
|
class Meta:
|
||||||
model = StudentStatus
|
model = StudentStatus
|
||||||
|
@ -34,12 +35,20 @@ class CustomStudentStatusForm(forms.ModelForm):
|
||||||
|
|
||||||
class StudentStatusAdmin(LeafletGeoAdmin):
|
class StudentStatusAdmin(LeafletGeoAdmin):
|
||||||
model = StudentStatus
|
model = StudentStatus
|
||||||
form = CustomStudentStatusForm
|
|
||||||
# define which fields are required
|
# define which fields are required
|
||||||
|
|
||||||
|
def save_model(self, request, obj, form, change):
|
||||||
|
if obj.active is False:
|
||||||
|
obj.location = Point(0, 0)
|
||||||
|
obj.subject = None
|
||||||
|
obj.landmark = None
|
||||||
|
obj.study_group = None
|
||||||
|
super().save_model(request, obj, form, change)
|
||||||
|
|
||||||
def get_form(self, request, obj=None, **kwargs):
|
def get_form(self, request, obj=None, **kwargs):
|
||||||
form = super(StudentStatusAdmin, self).get_form(request, obj, **kwargs)
|
form = super(StudentStatusAdmin, self).get_form(request, obj, **kwargs)
|
||||||
form.base_fields['landmark'].required = False
|
form.base_fields['landmark'].required = False
|
||||||
|
form.base_fields['study_group'].required = False
|
||||||
return form
|
return form
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -0,0 +1,18 @@
|
||||||
|
# Generated by Django 4.2.5 on 2023-10-13 04:23
|
||||||
|
|
||||||
|
from django.db import migrations, models
|
||||||
|
|
||||||
|
|
||||||
|
class Migration(migrations.Migration):
|
||||||
|
|
||||||
|
dependencies = [
|
||||||
|
('study_groups', '0001_initial'),
|
||||||
|
]
|
||||||
|
|
||||||
|
operations = [
|
||||||
|
migrations.AlterField(
|
||||||
|
model_name='studygroup',
|
||||||
|
name='timestamp',
|
||||||
|
field=models.DateTimeField(auto_now_add=True),
|
||||||
|
),
|
||||||
|
]
|
Loading…
Reference in a new issue