Skip to content
Snippets Groups Projects
Verified Commit 91bc264c authored by Jonathan Weth's avatar Jonathan Weth :keyboard:
Browse files

Drop sites framework

parent 606c4888
No related branches found
No related tags found
1 merge request!307Resolve "Adapt to Core 4.0"
......@@ -3,7 +3,6 @@ from datetime import date, datetime, timedelta
from enum import Enum
from typing import TYPE_CHECKING, Optional, Union
from django.contrib.sites.managers import CurrentSiteManager as _CurrentSiteManager
from django.db import models
from django.db.models import ExpressionWrapper, F, Func, Q, QuerySet, Value
from django.db.models.fields import DateField
......@@ -12,7 +11,11 @@ from django.db.models.functions import Concat
from calendarweek import CalendarWeek
from aleksis.apps.chronos.util.date import week_weekday_from_date, week_weekday_to_date
from aleksis.core.managers import DateRangeQuerySetMixin, SchoolTermRelatedQuerySet
from aleksis.core.managers import (
AlekSISBaseManagerWithoutMigrations,
DateRangeQuerySetMixin,
SchoolTermRelatedQuerySet,
)
from aleksis.core.models import Group, Person
from aleksis.core.util.core_helpers import get_site_preferences
......@@ -69,10 +72,6 @@ class ValidityRangeRelatedQuerySet(QuerySet):
return None
class CurrentSiteManager(_CurrentSiteManager):
use_in_migrations = False
class TimetableType(Enum):
"""Enum for different types of timetables."""
......@@ -85,7 +84,7 @@ class TimetableType(Enum):
return cls.__members__.get(s.upper())
class LessonPeriodManager(CurrentSiteManager):
class LessonPeriodManager(AlekSISBaseManagerWithoutMigrations):
"""Manager adding specific methods to lesson periods."""
def get_queryset(self):
......@@ -110,7 +109,7 @@ class LessonPeriodManager(CurrentSiteManager):
)
class LessonSubstitutionManager(CurrentSiteManager):
class LessonSubstitutionManager(AlekSISBaseManagerWithoutMigrations):
"""Manager adding specific methods to lesson substitutions."""
def get_queryset(self):
......@@ -136,7 +135,7 @@ class LessonSubstitutionManager(CurrentSiteManager):
)
class SupervisionManager(CurrentSiteManager):
class SupervisionManager(AlekSISBaseManagerWithoutMigrations):
"""Manager adding specific methods to supervisions."""
def get_queryset(self):
......@@ -154,7 +153,7 @@ class SupervisionManager(CurrentSiteManager):
)
class SupervisionSubstitutionManager(CurrentSiteManager):
class SupervisionSubstitutionManager(AlekSISBaseManagerWithoutMigrations):
"""Manager adding specific methods to supervision substitutions."""
def get_queryset(self):
......@@ -174,7 +173,7 @@ class SupervisionSubstitutionManager(CurrentSiteManager):
)
class EventManager(CurrentSiteManager):
class EventManager(AlekSISBaseManagerWithoutMigrations):
"""Manager adding specific methods to events."""
def get_queryset(self):
......@@ -193,7 +192,7 @@ class EventManager(CurrentSiteManager):
)
class ExtraLessonManager(CurrentSiteManager):
class ExtraLessonManager(AlekSISBaseManagerWithoutMigrations):
"""Manager adding specific methods to extra lessons."""
def get_queryset(self):
......@@ -211,7 +210,7 @@ class ExtraLessonManager(CurrentSiteManager):
)
class BreakManager(CurrentSiteManager):
class BreakManager(AlekSISBaseManagerWithoutMigrations):
"""Manager adding specific methods to breaks."""
def get_queryset(self):
......
......@@ -18,7 +18,6 @@ class Migration(migrations.Migration):
dependencies = [
("core", "0001_initial"),
("sites", "0002_alter_domain_unique"),
]
operations = [
......@@ -237,15 +236,6 @@ class Migration(migrations.Migration):
),
("time_start", models.TimeField(verbose_name="Start time")),
("time_end", models.TimeField(verbose_name="End time")),
(
"site",
models.ForeignKey(
default=1,
editable=False,
on_delete=django.db.models.deletion.CASCADE,
to="sites.Site",
),
),
],
options={
"verbose_name": "Time period",
......@@ -273,15 +263,6 @@ class Migration(migrations.Migration):
),
),
("date", models.DateField(verbose_name="Date")),
(
"site",
models.ForeignKey(
default=1,
editable=False,
on_delete=django.db.models.deletion.CASCADE,
to="sites.Site",
),
),
(
"supervision",
models.ForeignKey(
......@@ -339,15 +320,6 @@ class Migration(migrations.Migration):
"colour_bg",
colorfield.fields.ColorField(default="#FFFFFF", max_length=18),
),
(
"site",
models.ForeignKey(
default=1,
editable=False,
on_delete=django.db.models.deletion.CASCADE,
to="sites.Site",
),
),
],
options={
"verbose_name": "Supervision area",
......@@ -376,16 +348,6 @@ class Migration(migrations.Migration):
verbose_name="Break",
),
),
migrations.AddField(
model_name="supervision",
name="site",
field=models.ForeignKey(
default=1,
editable=False,
on_delete=django.db.models.deletion.CASCADE,
to="sites.Site",
),
),
migrations.AddField(
model_name="supervision",
name="teacher",
......@@ -444,15 +406,6 @@ class Migration(migrations.Migration):
verbose_name="Background colour",
),
),
(
"site",
models.ForeignKey(
default=1,
editable=False,
on_delete=django.db.models.deletion.CASCADE,
to="sites.Site",
),
),
],
options={
"verbose_name": "Subject",
......@@ -486,15 +439,6 @@ class Migration(migrations.Migration):
),
),
("name", models.CharField(max_length=255, verbose_name="Long name")),
(
"site",
models.ForeignKey(
default=1,
editable=False,
on_delete=django.db.models.deletion.CASCADE,
to="sites.Site",
),
),
],
options={
"verbose_name": "Room",
......@@ -561,15 +505,6 @@ class Migration(migrations.Migration):
verbose_name="Room",
),
),
(
"site",
models.ForeignKey(
default=1,
editable=False,
on_delete=django.db.models.deletion.CASCADE,
to="sites.Site",
),
),
(
"subject",
models.ForeignKey(
......@@ -623,16 +558,6 @@ class Migration(migrations.Migration):
verbose_name="Room",
),
),
migrations.AddField(
model_name="lessonperiod",
name="site",
field=models.ForeignKey(
default=1,
editable=False,
on_delete=django.db.models.deletion.CASCADE,
to="sites.Site",
),
),
migrations.AddField(
model_name="lesson",
name="periods",
......@@ -643,16 +568,6 @@ class Migration(migrations.Migration):
verbose_name="Periods",
),
),
migrations.AddField(
model_name="lesson",
name="site",
field=models.ForeignKey(
default=1,
editable=False,
on_delete=django.db.models.deletion.CASCADE,
to="sites.Site",
),
),
migrations.AddField(
model_name="lesson",
name="subject",
......@@ -697,15 +612,6 @@ class Migration(migrations.Migration):
"comments",
models.TextField(blank=True, null=True, verbose_name="Comments"),
),
(
"site",
models.ForeignKey(
default=1,
editable=False,
on_delete=django.db.models.deletion.CASCADE,
to="sites.Site",
),
),
],
options={
"verbose_name": "Holiday",
......@@ -771,15 +677,6 @@ class Migration(migrations.Migration):
verbose_name="Room",
),
),
(
"site",
models.ForeignKey(
default=1,
editable=False,
on_delete=django.db.models.deletion.CASCADE,
to="sites.Site",
),
),
(
"subject",
models.ForeignKey(
......@@ -857,15 +754,6 @@ class Migration(migrations.Migration):
verbose_name="End period",
),
),
(
"site",
models.ForeignKey(
default=1,
editable=False,
on_delete=django.db.models.deletion.CASCADE,
to="sites.Site",
),
),
],
options={
"verbose_name": "Exam",
......@@ -930,15 +818,6 @@ class Migration(migrations.Migration):
related_name="events", to="chronos.Room", verbose_name="Rooms"
),
),
(
"site",
models.ForeignKey(
default=1,
editable=False,
on_delete=django.db.models.deletion.CASCADE,
to="sites.Site",
),
),
(
"teachers",
models.ManyToManyField(
......@@ -981,16 +860,6 @@ class Migration(migrations.Migration):
verbose_name="Time period before break ends",
),
),
migrations.AddField(
model_name="break",
name="site",
field=models.ForeignKey(
default=1,
editable=False,
on_delete=django.db.models.deletion.CASCADE,
to="sites.Site",
),
),
migrations.CreateModel(
name="AbsenceReason",
fields=[
......@@ -1019,15 +888,6 @@ class Migration(migrations.Migration):
blank=True, max_length=255, null=True, verbose_name="Name"
),
),
(
"site",
models.ForeignKey(
default=1,
editable=False,
on_delete=django.db.models.deletion.CASCADE,
to="sites.Site",
),
),
],
options={
"verbose_name": "Absence reason",
......@@ -1112,15 +972,6 @@ class Migration(migrations.Migration):
verbose_name="Room",
),
),
(
"site",
models.ForeignKey(
default=1,
editable=False,
on_delete=django.db.models.deletion.CASCADE,
to="sites.Site",
),
),
(
"teacher",
models.ForeignKey(
......
......@@ -43,7 +43,6 @@ def migrate_lesson(apps, schema_editor):
class Migration(migrations.Migration):
dependencies = [
("core", "0002_school_term"),
("sites", "0002_alter_domain_unique"),
("chronos", "0001_initial"),
]
......@@ -186,16 +185,6 @@ class Migration(migrations.Migration):
verbose_name="School term",
),
),
migrations.AddField(
model_name="validityrange",
name="site",
field=models.ForeignKey(
default=1,
editable=False,
on_delete=django.db.models.deletion.CASCADE,
to="sites.Site",
),
),
migrations.AddField(
model_name="lesson",
name="validity",
......
......@@ -48,7 +48,7 @@ class Migration(migrations.Migration):
),
migrations.AddConstraint(
model_name='absencereason',
constraint=models.UniqueConstraint(fields=('site_id', 'short_name'), name='unique_short_name_per_site_absence_reason'),
constraint=models.UniqueConstraint(fields=('short_name',), name='unique_short_name_per_site_absence_reason'),
),
migrations.AddConstraint(
model_name='break',
......@@ -60,19 +60,19 @@ class Migration(migrations.Migration):
),
migrations.AddConstraint(
model_name='room',
constraint=models.UniqueConstraint(fields=('site_id', 'short_name'), name='unique_short_name_per_site_room'),
constraint=models.UniqueConstraint(fields=('short_name',), name='unique_short_name_per_site_room'),
),
migrations.AddConstraint(
model_name='subject',
constraint=models.UniqueConstraint(fields=('site_id', 'short_name'), name='unique_short_name_per_site_subject'),
constraint=models.UniqueConstraint(fields=('short_name',), name='unique_short_name_per_site_subject'),
),
migrations.AddConstraint(
model_name='subject',
constraint=models.UniqueConstraint(fields=('site_id', 'name'), name='unique_name_per_site'),
constraint=models.UniqueConstraint(fields=('name',), name='unique_name_per_site'),
),
migrations.AddConstraint(
model_name='supervisionarea',
constraint=models.UniqueConstraint(fields=('site_id', 'short_name'), name='unique_short_name_per_site_supervision_area'),
constraint=models.UniqueConstraint(fields=('short_name',), name='unique_short_name_per_site_supervision_area'),
),
migrations.AddConstraint(
model_name='timeperiod',
......
......@@ -29,7 +29,6 @@ class Migration(migrations.Migration):
},
bases=('resint.livedocument',),
managers=[
('objects', aleksis.core.managers.PolymorphicCurrentSiteManager()),
],
),
]
......@@ -8,7 +8,6 @@ import django.db.models.deletion
class Migration(migrations.Migration):
dependencies = [
('sites', '0002_alter_domain_unique'),
('chronos', '0013_move_room_to_core'),
]
......
# Generated by Django 4.2.9 on 2024-01-09 15:08
import colorfield.fields
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('chronos', '0014_add_managed_by_app_label'),
]
operations = [
migrations.AlterModelManagers(
name='absencereason',
managers=[
],
),
migrations.AlterModelManagers(
name='subject',
managers=[
],
),
migrations.AlterModelManagers(
name='supervisionarea',
managers=[
],
),
migrations.RemoveConstraint(
model_name='absencereason',
name='unique_short_name_per_site_absence_reason',
),
migrations.RemoveConstraint(
model_name='break',
name='unique_short_name_per_site_break',
),
migrations.RemoveConstraint(
model_name='subject',
name='unique_short_name_per_site_subject',
),
migrations.RemoveConstraint(
model_name='supervisionarea',
name='unique_short_name_per_site_supervision_area',
),
] + [
migrations.RunSQL(
f"ALTER TABLE chronos_{model_name} drop column if exists site_id;"
) for model_name in
[
"absence",
"absencereason",
"automaticplan",
"break",
"event",
"exam",
"extralesson",
"holiday",
"lesson",
"lessonevent",
"lessonperiod",
"lessonsubstitution",
"subject",
"supervision",
"supervisionarea",
"supervisionevent",
"supervisionsubstitution",
"timeperiod",
"validityrange"
]
] + [
migrations.AlterField(
model_name='absence',
name='comment',
field=models.TextField(blank=True, default='', verbose_name='Comment'),
preserve_default=False,
),
migrations.AlterField(
model_name='absencereason',
name='name',
field=models.CharField(blank=True, default='', max_length=255, verbose_name='Name'),
preserve_default=False,
),
migrations.AlterField(
model_name='absencereason',
name='short_name',
field=models.CharField(max_length=255, unique=True, verbose_name='Short name'),
),
migrations.AlterField(
model_name='event',
name='title',
field=models.CharField(blank=True, default='', max_length=255, verbose_name='Title'),
preserve_default=False,
),
migrations.AlterField(
model_name='extralesson',
name='comment',
field=models.CharField(blank=True, default='', max_length=255, verbose_name='Comment'),
preserve_default=False,
),
migrations.AlterField(
model_name='holiday',
name='comments',
field=models.TextField(blank=True, default='', verbose_name='Comments'),
preserve_default=False,
),
migrations.AlterField(
model_name='lessonsubstitution',
name='comment',
field=models.TextField(blank=True, default='', verbose_name='Comment'),
preserve_default=False,
),
migrations.AlterField(
model_name='subject',
name='colour_bg',
field=colorfield.fields.ColorField(blank=True, default='', image_field=None, max_length=25, samples=None, verbose_name='Background colour'),
),
migrations.AlterField(
model_name='subject',
name='colour_fg',
field=colorfield.fields.ColorField(blank=True, default='', image_field=None, max_length=25, samples=None, verbose_name='Foreground colour'),
),
migrations.AlterField(
model_name='subject',
name='short_name',
field=models.CharField(max_length=255, unique=True, verbose_name='Short name'),
),
migrations.AlterField(
model_name='supervisionarea',
name='colour_bg',
field=colorfield.fields.ColorField(default='#FFFFFF', image_field=None, max_length=25, samples=None),
),
migrations.AlterField(
model_name='supervisionarea',
name='colour_fg',
field=colorfield.fields.ColorField(default='#000000', image_field=None, max_length=25, samples=None),
),
migrations.AlterField(
model_name='supervisionarea',
name='short_name',
field=models.CharField(max_length=255, unique=True, verbose_name='Short name'),
),
migrations.AlterField(
model_name='timeperiod',
name='weekday',
field=models.PositiveSmallIntegerField(choices=[(0, 'Monday'), (1, 'Tuesday'), (2, 'Wednesday'), (3, 'Thursday'), (4, 'Friday'), (5, 'Saturday'), (6, 'Sunday')], verbose_name='Week day'),
),
migrations.AddConstraint(
model_name='break',
constraint=models.UniqueConstraint(fields=('validity', 'short_name'), name='unique_short_name_per_validity_break'),
),
]
......@@ -7,7 +7,7 @@ from django.utils.translation import gettext as _
from calendarweek import CalendarWeek
from aleksis.apps.chronos.util.date import week_weekday_to_date
from aleksis.core.managers import CurrentSiteManagerWithoutMigrations
from aleksis.core.managers import AlekSISBaseManagerWithoutMigrations
from aleksis.core.mixins import ExtensibleModel
from .managers import ValidityRangeRelatedQuerySet
......@@ -16,7 +16,7 @@ from .managers import ValidityRangeRelatedQuerySet
class ValidityRangeRelatedExtensibleModel(ExtensibleModel):
"""Add relation to validity range."""
objects = CurrentSiteManagerWithoutMigrations.from_queryset(ValidityRangeRelatedQuerySet)()
objects = AlekSISBaseManagerWithoutMigrations.from_queryset(ValidityRangeRelatedQuerySet)()
validity = models.ForeignKey(
"chronos.ValidityRange",
......
......@@ -30,7 +30,6 @@ from reversion.models import Revision, Version
from aleksis.apps.chronos.managers import (
AbsenceQuerySet,
BreakManager,
CurrentSiteManager,
EventManager,
EventQuerySet,
ExtraLessonManager,
......@@ -56,7 +55,7 @@ from aleksis.apps.chronos.util.change_tracker import _get_substitution_models, s
from aleksis.apps.chronos.util.date import get_current_year
from aleksis.apps.chronos.util.format import format_m2m
from aleksis.apps.resint.models import LiveDocument
from aleksis.core.managers import CurrentSiteManagerWithoutMigrations
from aleksis.core.managers import AlekSISBaseManagerWithoutMigrations
from aleksis.core.mixins import (
ExtensibleModel,
GlobalPermissionModel,
......@@ -72,7 +71,7 @@ class ValidityRange(ExtensibleModel):
This is used to link data to a validity range.
"""
objects = CurrentSiteManagerWithoutMigrations.from_queryset(ValidityRangeQuerySet)()
objects = AlekSISBaseManagerWithoutMigrations.from_queryset(ValidityRangeQuerySet)()
school_term = models.ForeignKey(
SchoolTerm,
......@@ -125,7 +124,6 @@ class ValidityRange(ExtensibleModel):
verbose_name = _("Validity range")
verbose_name_plural = _("Validity ranges")
constraints = [
# Heads up: Uniqueness per term implies uniqueness per site
models.UniqueConstraint(
fields=["school_term", "date_start", "date_end"], name="unique_dates_per_term"
),
......@@ -309,7 +307,6 @@ class TimePeriod(ValidityRangeRelatedExtensibleModel):
class Meta:
constraints = [
# Heads up: Uniqueness per validity range implies validity per site
models.UniqueConstraint(
fields=["weekday", "period", "validity"], name="unique_period_per_range"
),
......@@ -321,7 +318,7 @@ class TimePeriod(ValidityRangeRelatedExtensibleModel):
class Subject(ExtensibleModel):
short_name = models.CharField(verbose_name=_("Short name"), max_length=255)
short_name = models.CharField(verbose_name=_("Short name"), max_length=255, unique=True)
name = models.CharField(verbose_name=_("Long name"), max_length=255)
colour_fg = ColorField(verbose_name=_("Foreground colour"), blank=True)
......@@ -334,11 +331,6 @@ class Subject(ExtensibleModel):
ordering = ["name", "short_name"]
verbose_name = _("Subject")
verbose_name_plural = _("Subjects")
constraints = [
models.UniqueConstraint(
fields=["site_id", "short_name"], name="unique_short_name_per_site_subject"
),
]
class Lesson(ValidityRangeRelatedExtensibleModel, GroupPropertiesMixin, TeacherPropertiesMixin):
......@@ -390,7 +382,6 @@ class Lesson(ValidityRangeRelatedExtensibleModel, GroupPropertiesMixin, TeacherP
return f"{format_m2m(self.groups)}, {self.subject.short_name}, {format_m2m(self.teachers)}"
class Meta:
# Heads up: Link to periods implies uniqueness per site
ordering = ["validity__date_start", "subject"]
verbose_name = _("Lesson")
verbose_name_plural = _("Lessons")
......@@ -467,7 +458,6 @@ class LessonSubstitution(ExtensibleModel, TeacherPropertiesMixin, WeekRelatedMix
check=~Q(cancelled=True, subject__isnull=False),
name="either_substituted_or_cancelled",
),
# Heads up: Link to period implies uniqueness per site
models.UniqueConstraint(
fields=["lesson_period", "week", "year"], name="unique_period_per_week"
),
......@@ -609,7 +599,6 @@ class LessonPeriod(WeekAnnotationMixin, TeacherPropertiesMixin, ExtensibleModel)
return True
class Meta:
# Heads up: Link to period implies uniqueness per site
ordering = [
"lesson__validity__date_start",
"period__weekday",
......@@ -664,7 +653,7 @@ class TimetableWidget(DashboardWidget):
class AbsenceReason(ExtensibleModel):
short_name = models.CharField(verbose_name=_("Short name"), max_length=255)
short_name = models.CharField(verbose_name=_("Short name"), max_length=255, unique=True)
name = models.CharField(verbose_name=_("Name"), blank=True, max_length=255)
def __str__(self):
......@@ -676,15 +665,10 @@ class AbsenceReason(ExtensibleModel):
class Meta:
verbose_name = _("Absence reason")
verbose_name_plural = _("Absence reasons")
constraints = [
models.UniqueConstraint(
fields=["site_id", "short_name"], name="unique_short_name_per_site_absence_reason"
),
]
class Absence(SchoolTermRelatedExtensibleModel):
objects = CurrentSiteManager.from_queryset(AbsenceQuerySet)()
objects = AlekSISBaseManagerWithoutMigrations.from_queryset(AbsenceQuerySet)()
reason = models.ForeignKey(
"AbsenceReason",
......@@ -749,7 +733,6 @@ class Absence(SchoolTermRelatedExtensibleModel):
return _("Unknown absence")
class Meta:
# Heads up: Link to period implies uniqueness per site
ordering = ["date_start"]
indexes = [models.Index(fields=["date_start", "date_end"])]
verbose_name = _("Absence")
......@@ -782,7 +765,6 @@ class Exam(SchoolTermRelatedExtensibleModel):
comment = models.TextField(verbose_name=_("Comment"), blank=True)
class Meta:
# Heads up: Link to period implies uniqueness per site
ordering = ["date"]
indexes = [models.Index(fields=["date"])]
verbose_name = _("Exam")
......@@ -790,7 +772,7 @@ class Exam(SchoolTermRelatedExtensibleModel):
class Holiday(ExtensibleModel):
objects = CurrentSiteManager.from_queryset(HolidayQuerySet)()
objects = AlekSISBaseManagerWithoutMigrations.from_queryset(HolidayQuerySet)()
title = models.CharField(verbose_name=_("Title"), max_length=255)
date_start = models.DateField(verbose_name=_("Start date"), null=True)
......@@ -839,7 +821,7 @@ class Holiday(ExtensibleModel):
class SupervisionArea(ExtensibleModel):
short_name = models.CharField(verbose_name=_("Short name"), max_length=255)
short_name = models.CharField(verbose_name=_("Short name"), max_length=255, unique=True)
name = models.CharField(verbose_name=_("Long name"), max_length=255)
colour_fg = ColorField(default="#000000")
colour_bg = ColorField()
......@@ -851,11 +833,6 @@ class SupervisionArea(ExtensibleModel):
ordering = ["name"]
verbose_name = _("Supervision area")
verbose_name_plural = _("Supervision areas")
constraints = [
models.UniqueConstraint(
fields=["site_id", "short_name"], name="unique_short_name_per_site_supervision_area"
),
]
class Break(ValidityRangeRelatedExtensibleModel):
......@@ -919,7 +896,7 @@ class Break(ValidityRangeRelatedExtensibleModel):
verbose_name_plural = _("Breaks")
constraints = [
models.UniqueConstraint(
fields=["validity", "short_name"], name="unique_short_name_per_site_break"
fields=["validity", "short_name"], name="unique_short_name_per_validity_break"
),
]
......@@ -1146,7 +1123,6 @@ class Event(SchoolTermRelatedExtensibleModel, GroupPropertiesMixin, TeacherPrope
), timezone.datetime.combine(self.date_end, self.period_to.time_end)
class Meta:
# Heads up: Link to period implies uniqueness per site
ordering = ["date_start"]
indexes = [
models.Index(
......@@ -1233,7 +1209,6 @@ class ExtraLesson(
), timezone.datetime.combine(self.date, self.period.time_end)
class Meta:
# Heads up: Link to period implies uniqueness per site
verbose_name = _("Extra lesson")
verbose_name_plural = _("Extra lessons")
indexes = [models.Index(fields=["week", "year"], name="extra_lesson_week_year")]
......
[tool.poetry]
name = "AlekSIS-App-Chronos"
version = "4.0.dev0"
version = "4.0.0.dev0"
packages = [
{ include = "aleksis" }
]
......@@ -51,8 +51,8 @@ priority = "supplemental"
[tool.poetry.dependencies]
python = "^3.10"
calendarweek = "^0.5.0"
aleksis-core = "^4.0.0.dev0"
aleksis-app-resint = "^4.0.dev0"
aleksis-core = "^4.0.0.dev1"
aleksis-app-resint = "^4.0.0.dev0"
[tool.poetry.plugins."aleksis.app"]
chronos = "aleksis.apps.chronos.apps:ChronosConfig"
......
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