41 lines
1.3 KiB
Python
41 lines
1.3 KiB
Python
|
from django.db import models
|
||
|
from django import forms
|
||
|
|
||
|
from .vessel import Vessel
|
||
|
from .crew import CrewMember
|
||
|
from .course import Course
|
||
|
|
||
|
|
||
|
class Moodle(models.Model):
|
||
|
vessel = models.OneToOneField(Vessel, models.CASCADE)
|
||
|
name = models.CharField(max_length=Vessel.name.field.max_length)
|
||
|
url = models.URLField()
|
||
|
|
||
|
monitor = models.BooleanField(default=True)
|
||
|
backup = models.BooleanField(default=False)
|
||
|
|
||
|
|
||
|
class MoodleDatabase(models.Model):
|
||
|
instance = models.OneToOneField(Moodle, models.CASCADE)
|
||
|
host = models.CharField(max_length=256)
|
||
|
username = models.CharField(max_length=256)
|
||
|
password = models.CharField(max_length=256)
|
||
|
database = models.CharField(max_length=256, default="moodle")
|
||
|
|
||
|
|
||
|
class MoodlePlugin(models.Model):
|
||
|
name = models.CharField(max_length=128)
|
||
|
section = models.CharField(max_length=16)
|
||
|
current_version = models.IntegerField()
|
||
|
|
||
|
|
||
|
class CourseAssignment(models.Model):
|
||
|
crew = models.ForeignKey(CrewMember, models.CASCADE)
|
||
|
course = models.ForeignKey(Course, models.CASCADE)
|
||
|
instance = models.ForeignKey(Moodle, models.CASCADE, null=True)
|
||
|
|
||
|
|
||
|
class CourseAssignmentLog(models.Model):
|
||
|
assignment = models.ForeignKey(CourseAssignment, models.CASCADE)
|
||
|
instance = models.ForeignKey(Moodle, models.CASCADE)
|
||
|
timestamp = models.DateTimeField(auto_now_add=True)
|