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 @@ ...@@ -59,7 +59,7 @@
<li class="tab"> <li class="tab">
<a href="#lesson-documentation">{% trans "Lesson documentation" %}</a> <a href="#lesson-documentation">{% trans "Lesson documentation" %}</a>
</li> </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"> <li class="tab">
<a href="#personal-notes">{% trans "Personal notes" %}</a> <a href="#personal-notes">{% trans "Personal notes" %}</a>
</li> </li>
...@@ -148,7 +148,7 @@ ...@@ -148,7 +148,7 @@
</div> </div>
</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="col s12" id="personal-notes">
<div class="card"> <div class="card">
<div class="card-content"> <div class="card-content">
......
...@@ -20,6 +20,7 @@ from aleksis.apps.chronos.util.date import week_weekday_to_date ...@@ -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.mixins import AdvancedCreateView, AdvancedDeleteView, AdvancedEditView
from aleksis.core.models import Group, Person, SchoolTerm from aleksis.core.models import Group, Person, SchoolTerm
from aleksis.core.util import messages from aleksis.core.util import messages
from aleksis.core.util.core_helpers import get_site_preferences
from .forms import ( from .forms import (
ExcuseTypeForm, ExcuseTypeForm,
...@@ -115,7 +116,10 @@ def lesson( ...@@ -115,7 +116,10 @@ def lesson(
messages.success(request, _("The lesson documentation has been saved.")) messages.success(request, _("The lesson documentation has been saved."))
substitution = lesson_period.get_substitution() 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(): if personal_note_formset.is_valid():
instances = personal_note_formset.save() 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