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

Merge branch 'master' into 260-add-personal-note-management-dialog-in-course-book

parents 68674af4 6e47d9cb
No related branches found
No related tags found
1 merge request!362Resolve "Add personal note management dialog in course book"
Pipeline #191522 failed
...@@ -6,6 +6,14 @@ All notable changes to this project will be documented in this file. ...@@ -6,6 +6,14 @@ All notable changes to this project will be documented in this file.
The format is based on `Keep a Changelog`_, The format is based on `Keep a Changelog`_,
and this project adheres to `Semantic Versioning`_. and this project adheres to `Semantic Versioning`_.
`4.0.0.dev1`_ - 2024-06-13
--------------------------
Added
~~~~~
* Support for entering absences for students in the new coursebook interface.
`4.0.0.dev0`_ - 2024-04-23 `4.0.0.dev0`_ - 2024-04-23
-------------------------- --------------------------
...@@ -33,6 +41,14 @@ Fixed ...@@ -33,6 +41,14 @@ Fixed
* Migrating failed due to an incorrect field reference. * Migrating failed due to an incorrect field reference.
`3.0.1`_ - 2023-09-02
-------------------
Fixed
~~~~~
* Migrations failed on empty database
`3.0`_ - 2023-05-15 `3.0`_ - 2023-05-15
------------------- -------------------
...@@ -343,4 +359,5 @@ Fixed ...@@ -343,4 +359,5 @@ Fixed
.. _2.1.1: https://edugit.org/AlekSIS/Official/AlekSIS-App-Alsijil/-/tags/2.1.1 .. _2.1.1: https://edugit.org/AlekSIS/Official/AlekSIS-App-Alsijil/-/tags/2.1.1
.. _3.0b0: https://edugit.org/AlekSIS/Official/AlekSIS-App-Alsijil/-/tags/3.0b0 .. _3.0b0: https://edugit.org/AlekSIS/Official/AlekSIS-App-Alsijil/-/tags/3.0b0
.. _3.0: https://edugit.org/AlekSIS/Official/AlekSIS-App-Alsijil/-/tags/3.0 .. _3.0: https://edugit.org/AlekSIS/Official/AlekSIS-App-Alsijil/-/tags/3.0
.. _3.0.1: https://edugit.org/AlekSIS/Official/AlekSIS-App-Alsijil/-/tags/3.0.1
.. _4.0.0.dev0: https://edugit.org/AlekSIS/Official/AlekSIS-App-Alsijil/-/tags/4.0.0.dev0 .. _4.0.0.dev0: https://edugit.org/AlekSIS/Official/AlekSIS-App-Alsijil/-/tags/4.0.0.dev0
...@@ -34,10 +34,11 @@ Licence ...@@ -34,10 +34,11 @@ Licence
Copyright © 2019, 2021 Dominik George <dominik.george@teckids.org> Copyright © 2019, 2021 Dominik George <dominik.george@teckids.org>
Copyright © 2019, 2020 Tom Teichler <tom.teichler@teckids.org> Copyright © 2019, 2020 Tom Teichler <tom.teichler@teckids.org>
Copyright © 2019 mirabilos <thorsten.glaser@teckids.org> Copyright © 2019 mirabilos <thorsten.glaser@teckids.org>
Copyright © 2020, 2021, 2022 Jonathan Weth <dev@jonathanweth.de> Copyright © 2020, 2021, 2022, 2024 Jonathan Weth <dev@jonathanweth.de>
Copyright © 2020, 2021 Julian Leucker <leuckeju@katharineum.de> Copyright © 2020, 2021, 2024 Julian Leucker <leuckeju@katharineum.de>
Copyright © 2020, 2022 Hangzhi Yu <yuha@katharineum.de> Copyright © 2020, 2022, 2023, 2024 Hangzhi Yu <yuha@katharineum.de>
Copyright © 2021 Lloyd Meins <meinsll@katharineum.de> Copyright © 2021 Lloyd Meins <meinsll@katharineum.de>
Copyright © 2024 Michael Bauer <michael-bauer@posteo.de>
Licenced under the EUPL, version 1.2 or later, by Teckids e.V. (Bonn, Germany). Licenced under the EUPL, version 1.2 or later, by Teckids e.V. (Bonn, Germany).
......
...@@ -13,8 +13,9 @@ class AlsijilConfig(AppConfig): ...@@ -13,8 +13,9 @@ class AlsijilConfig(AppConfig):
([2019, 2021], "Dominik George", "dominik.george@teckids.org"), ([2019, 2021], "Dominik George", "dominik.george@teckids.org"),
([2019, 2020], "Tom Teichler", "tom.teichler@teckids.org"), ([2019, 2020], "Tom Teichler", "tom.teichler@teckids.org"),
([2019], "mirabilos", "thorsten.glaser@teckids.org"), ([2019], "mirabilos", "thorsten.glaser@teckids.org"),
([2020, 2021, 2022], "Jonathan Weth", "dev@jonathanweth.de"), ([2020, 2021, 2022, 2024], "Jonathan Weth", "dev@jonathanweth.de"),
([2020, 2021], "Julian Leucker", "leuckeju@katharineum.de"), ([2020, 2021, 2024], "Julian Leucker", "leuckeju@katharineum.de"),
([2020, 2022], "Hangzhi Yu", "yuha@katharineum.de"), ([2020, 2022, 2023, 2024], "Hangzhi Yu", "yuha@katharineum.de"),
([2021], "Lloyd Meins", "meinsll@katharineum.de"), ([2021], "Lloyd Meins", "meinsll@katharineum.de"),
([2024], "Michael Bauer", "michael-bauer@posteo.de"),
) )
...@@ -58,6 +58,7 @@ export default { ...@@ -58,6 +58,7 @@ export default {
v-bind="documentationPartProps" v-bind="documentationPartProps"
@update="() => null" @update="() => null"
:loading-indicator="loading" :loading-indicator="loading"
v-if="!documentation.amends?.cancelled"
> >
<template #activator="{ attrs, on }"> <template #activator="{ attrs, on }">
<v-chip <v-chip
......
...@@ -38,6 +38,10 @@ import PersonChip from "aleksis.core/components/person/PersonChip.vue"; ...@@ -38,6 +38,10 @@ import PersonChip from "aleksis.core/components/person/PersonChip.vue";
:subject="documentation.subject" :subject="documentation.subject"
v-bind="compact ? dialogActivator.attrs : {}" v-bind="compact ? dialogActivator.attrs : {}"
v-on="compact ? dialogActivator.on : {}" v-on="compact ? dialogActivator.on : {}"
:class="{
'text-decoration-line-through': documentation.amends?.cancelled,
}"
:disabled="documentation.amends?.cancelled"
/> />
<subject-chip <subject-chip
v-if=" v-if="
......
...@@ -695,6 +695,7 @@ class Documentation(CalendarEvent): ...@@ -695,6 +695,7 @@ class Documentation(CalendarEvent):
self.participation_touched_at self.participation_touched_at
or not self.amends or not self.amends
or self.value_start_datetime(self) > now() or self.value_start_datetime(self) > now()
or self.amends.cancelled
): ):
# There is no source to update from or it's too early # There is no source to update from or it's too early
return return
......
...@@ -450,6 +450,8 @@ def can_edit_documentation(user: User, obj: Documentation): ...@@ -450,6 +450,8 @@ def can_edit_documentation(user: User, obj: Documentation):
def can_view_participation_status(user: User, obj: Documentation): def can_view_participation_status(user: User, obj: Documentation):
"""Predicate which checks if the user is allowed to view participation for a documentation.""" """Predicate which checks if the user is allowed to view participation for a documentation."""
if obj: if obj:
if obj.amends and obj.amends.cancelled:
return False
if is_documentation_teacher(user, obj): if is_documentation_teacher(user, obj):
return True return True
if obj.amends: if obj.amends:
...@@ -465,6 +467,8 @@ def can_view_participation_status(user: User, obj: Documentation): ...@@ -465,6 +467,8 @@ def can_view_participation_status(user: User, obj: Documentation):
def can_edit_participation_status(user: User, obj: Documentation): def can_edit_participation_status(user: User, obj: Documentation):
"""Predicate which checks if the user is allowed to edit participation for a documentation.""" """Predicate which checks if the user is allowed to edit participation for a documentation."""
if obj: if obj:
if obj.amends and obj.amends.cancelled:
return False
if is_documentation_teacher(user, obj): if is_documentation_teacher(user, obj):
return True return True
if obj.amends: if obj.amends:
......
[tool.poetry] [tool.poetry]
name = "AlekSIS-App-Alsijil" name = "AlekSIS-App-Alsijil"
version = "4.0.0.dev1" version = "4.0.0.dev3"
packages = [ packages = [
{ include = "aleksis" } { include = "aleksis" }
] ]
......
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