Skip to content
Snippets Groups Projects
Verified Commit 3cc79859 authored by Tom Teichler's avatar Tom Teichler :beers:
Browse files

Register all extensible models

parent c94f1790
No related branches found
No related tags found
1 merge request!232Resolve "Versioning of models"
......@@ -10,6 +10,7 @@ from easyaudit.models import CRUDEvent
from guardian.admin import GuardedModelAdmin
from jsonstore.fields import JSONField, JSONFieldMixin
from material.base import LayoutNode, Layout
import reversion
from rules.contrib.admin import ObjectPermissionsModelAdmin
......@@ -28,6 +29,7 @@ class CRUDMixin(models.Model):
).select_related("user")
@reversion.register()
class ExtensibleModel(CRUDMixin):
""" Base model for all objects in AlekSIS apps
......
......@@ -14,7 +14,6 @@ from django.utils.translation import gettext_lazy as _
from image_cropping import ImageCropField, ImageRatioField
from phonenumber_field.modelfields import PhoneNumberField
from polymorphic.models import PolymorphicModel
import reversion
from .mixins import ExtensibleModel, PureDjangoModel
from .tasks import send_notification
......@@ -24,7 +23,6 @@ from .util.model_helpers import ICONS
from constance import config
@reversion.register()
class School(ExtensibleModel):
"""A school that will have many other objects linked to it.
AlekSIS has multi-tenant support by linking all objects to a school,
......@@ -56,7 +54,6 @@ class School(ExtensibleModel):
verbose_name_plural = _("Schools")
@reversion.register()
class SchoolTerm(ExtensibleModel):
""" Information about a term (limited time frame) that data can
be linked to.
......@@ -89,7 +86,6 @@ class SchoolTerm(ExtensibleModel):
verbose_name_plural = _("School terms")
@reversion.register()
class Person(ExtensibleModel):
""" A model describing any person related to a school, including, but not
limited to, students, teachers and guardians (parents).
......@@ -250,7 +246,6 @@ class Person(ExtensibleModel):
self.primary_group = self.member_of.filter(name__regex=pattern).first()
@reversion.register()
class Group(ExtensibleModel):
"""Any kind of group of persons in a school, including, but not limited
classes, clubs, and the like.
......@@ -308,7 +303,6 @@ class Group(ExtensibleModel):
dj_group.save()
@reversion.register()
class Activity(ExtensibleModel):
user = models.ForeignKey("Person", on_delete=models.CASCADE, related_name="activities")
......@@ -325,7 +319,6 @@ class Activity(ExtensibleModel):
verbose_name_plural = _("Activities")
@reversion.register()
class Notification(ExtensibleModel):
sender = models.CharField(max_length=100, verbose_name=_("Sender"))
recipient = models.ForeignKey("Person", on_delete=models.CASCADE, related_name="notifications")
......@@ -406,7 +399,6 @@ class AnnouncementQuerySet(models.QuerySet):
return announcements_for_person
@reversion.register()
class Announcement(ExtensibleModel):
objects = models.Manager.from_queryset(AnnouncementQuerySet)()
......@@ -445,7 +437,6 @@ class Announcement(ExtensibleModel):
verbose_name_plural = _("Announcements")
@reversion.register()
class AnnouncementRecipient(ExtensibleModel):
announcement = models.ForeignKey(Announcement, on_delete=models.CASCADE, related_name="recipients")
......@@ -474,7 +465,6 @@ class AnnouncementRecipient(ExtensibleModel):
verbose_name_plural = _("Announcement recipients")
@reversion.register()
class DashboardWidget(PolymorphicModel, PureDjangoModel):
""" Base class for dashboard widgets on the index page
......@@ -539,7 +529,6 @@ class DashboardWidget(PolymorphicModel, PureDjangoModel):
verbose_name_plural = _("Dashboard Widgets")
@reversion.register()
class CustomMenu(ExtensibleModel):
id = models.CharField(max_length=100, verbose_name=_("Menu ID"), primary_key=True)
name = models.CharField(max_length=150, verbose_name=_("Menu name"))
......@@ -563,7 +552,6 @@ class CustomMenu(ExtensibleModel):
verbose_name_plural = _("Custom menus")
@reversion.register()
class CustomMenuItem(ExtensibleModel):
menu = models.ForeignKey(
CustomMenu, models.CASCADE, verbose_name=_("Menu"), related_name="items"
......@@ -582,7 +570,6 @@ class CustomMenuItem(ExtensibleModel):
verbose_name_plural = _("Custom menu items")
@reversion.register()
class GroupType(ExtensibleModel):
name = models.CharField(verbose_name=_("Title of type"), max_length=50)
description = models.CharField(verbose_name=_("Description"), max_length=500)
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment