* adds Ema model (basically Compensation inherited)
* adds index view for EMAs
* fixes drop-down link bug for menu 'More' in navbar
* refactors some more forms to use process_request()
* adds modified attribute to BaseResource for easy last_modified check
* adds setting of modified attribute in all places where UserAction.EDITED is added to log
* adds EMA_ACCOUNT_IDENTIFIER_LENGTH and EMA_ACCOUNT_IDENTIFIER_TEMPLATE to ema/settings.py
* adds EmaAdmin to ema/admin.py
* fixes wrong title in intervention detail view html for revocations
* adds support for subtitle variable to BaseTable and generic_index.html
* drops next_version attribute from models
* adds/updates translations
* adds default ordering for UserActionLogEntry
   * removes extra ordering in log modal rendering
This commit is contained in:
mipel
2021-08-19 13:02:31 +02:00
parent 03fe293cd8
commit d1f43f8c64
34 changed files with 675 additions and 315 deletions

View File

@@ -33,9 +33,6 @@ def index_view(request: HttpRequest):
# Filtering by user access is performed in table filter inside of InterventionTableFilter class
interventions = Intervention.objects.filter(
deleted=None, # not deleted
next_version=None, # only newest versions
).order_by(
"-created__timestamp"
)
table = InterventionTable(
request=request,
@@ -273,22 +270,10 @@ def create_share_view(request: HttpRequest, id: str):
"""
intervention = get_object_or_404(Intervention, id=id)
form = ShareInterventionForm(request.POST or None, instance=intervention, request=request)
if request.method == "POST":
if form.is_valid():
form.save()
messages.info(
request,
_("Share settings updated")
)
return redirect(request.META.get("HTTP_REFERER", "home"))
elif request.method == "GET":
context = {
"form": form,
}
context = BaseContext(request, context).context
return render(request, form.template, context)
else:
raise NotImplementedError
return form.process_request(
request,
msg_success=_("Share settings updated")
)
@login_required
@@ -324,28 +309,10 @@ def new_revocation_view(request: HttpRequest, id: str):
"""
intervention = get_object_or_404(Intervention, id=id)
form = NewRevocationForm(request.POST or None, request.FILES or None, instance=intervention, user=request.user)
if request.method == "POST":
if form.is_valid():
form.save()
messages.info(
request,
_("Revocation added")
)
else:
messages.error(
request,
FORM_INVALID,
extra_tags="danger",
)
return redirect(request.META.get("HTTP_REFERER", "home"))
elif request.method == "GET":
context = {
"form": form,
}
context = BaseContext(request, context).context
return render(request, form.template, context)
else:
raise NotImplementedError
return form.process_request(
request,
msg_success=_("Revocation added")
)
@login_required
@@ -365,7 +332,7 @@ def log_view(request: HttpRequest, id: str):
context = {
"modal_body_template": body_template,
"log": intervention.log.all().order_by("-timestamp"),
"log": intervention.log.all(),
"modal_title": _("Log"),
}
context = BaseContext(request, context).context