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

Make blocking of adding personal notes for cancelled lessons configurable

parent 1928e6ea
No related branches found
No related tags found
1 merge request!61Resolve "Do not allow to add personal notes for cancelled lessons"
Pipeline #3219 passed
from django.utils.translation import gettext as _
from dynamic_preferences.preferences import Section
from dynamic_preferences.types import BooleanPreference
from aleksis.core.registries import site_preferences_registry
alsijil = Section("alsijil", verbose_name=_("Class register"))
@site_preferences_registry.register
class BlockPersonalNotesForCancelled(BooleanPreference):
section = alsijil
name = "block_personal_notes_for_cancelled"
default = True
verbose_name = _("Block adding personal notes for cancelled lessons")
......@@ -59,7 +59,7 @@
<li class="tab">
<a href="#lesson-documentation">{% trans "Lesson documentation" %}</a>
</li>
{% if not lesson_period.get_substitution.cancelled %}
{% if not lesson_period.get_substitution.cancelled or not request.site.preferences.alsijil__block_personal_notes_for_cancelled %}
<li class="tab">
<a href="#personal-notes">{% trans "Personal notes" %}</a>
</li>
......@@ -148,7 +148,7 @@
</div>
</div>
{% if not lesson_period.get_substitution.cancelled %}
{% if not lesson_period.get_substitution.cancelled or not request.site.preferences.alsijil__block_personal_notes_for_cancelled %}
<div class="col s12" id="personal-notes">
<div class="card">
<div class="card-content">
......
......@@ -20,6 +20,7 @@ from aleksis.apps.chronos.util.date import week_weekday_to_date
from aleksis.core.mixins import AdvancedCreateView, AdvancedDeleteView, AdvancedEditView
from aleksis.core.models import Group, Person, SchoolTerm
from aleksis.core.util import messages
from aleksis.core.util.core_helpers import get_site_preferences
from .forms import (
ExcuseTypeForm,
......@@ -115,7 +116,10 @@ def lesson(
messages.success(request, _("The lesson documentation has been saved."))
substitution = lesson_period.get_substitution()
if not getattr(substitution, "cancelled", False):
if (
not getattr(substitution, "cancelled", False)
or not get_site_preferences()["alsijil__block_personal_notes_for_cancelled"]
):
if personal_note_formset.is_valid():
instances = personal_note_formset.save()
......
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