Skip to content
Snippets Groups Projects
Commit 526ea1da authored by Nik | Klampfradler's avatar Nik | Klampfradler
Browse files

Merge branch 'master' into 'feature/template-plain-prints'

# Conflicts:
#   CHANGELOG.rst
parents 3c317132 74323f09
No related branches found
No related tags found
1 merge request!991Add base template for plain prints and optimize PDF generation
Pipeline #93255 passed with warnings
<!-- AlekSIS is developed on EduGit. GitHub only serves as
backup mirror and to help people find the project. If
possible, please submit your merge request on EduGit!
EduGit accepts logins with GitHub accounts.
-->
[ ] I have read the above and have no way to contribute on EduGit
[ ] I understand that GitHub's terms of service exclude young and
learning contributors, but still cannot contribute on EduGit
instead.
...@@ -15,12 +15,14 @@ Added ...@@ -15,12 +15,14 @@ Added
* Notification drawer in top nav bar * Notification drawer in top nav bar
* GraphQL queries and mutations for core data management * GraphQL queries and mutations for core data management
* [Dev] Provide plain PDF template without header/footer for special layouts. * [Dev] Provide plain PDF template without header/footer for special layouts.
* Show also group ownerships on person detail page
Changed Changed
~~~~~~~ ~~~~~~~
* Rewrite of frontend using Vuetify * Rewrite of frontend using Vuetify
* [Dev] Provide function to generate PDF files from fully-rendered templates. * [Dev] Provide function to generate PDF files from fully-rendered templates.
* OIDC scope "profile" now exposes the avatar instead of the official photo
Fixed Fixed
~~~~~ ~~~~~
...@@ -28,6 +30,7 @@ Fixed ...@@ -28,6 +30,7 @@ Fixed
* The logo in the PDF files was displayed at the wrong position. * The logo in the PDF files was displayed at the wrong position.
* Sometimes the PDF files were not generated correctly * Sometimes the PDF files were not generated correctly
and images were displayed only partially. and images were displayed only partially.
* Error message in permission form was misleading.
Removed Removed
~~~~~~~ ~~~~~~~
......
...@@ -188,9 +188,9 @@ class CoreConfig(AppConfig): ...@@ -188,9 +188,9 @@ class CoreConfig(AppConfig):
claims["profile"] = django_request.build_absolute_uri( claims["profile"] = django_request.build_absolute_uri(
request.user.person.get_absolute_url() request.user.person.get_absolute_url()
) )
if request.user.person.photo: if request.user.person.avatar:
claims["picture"] = django_request.build_absolute_uri( claims["picture"] = django_request.build_absolute_uri(
request.user.person.photo.url request.user.person.avatar.url
) )
else: else:
claims["given_name"] = request.user.first_name claims["given_name"] = request.user.first_name
......
...@@ -496,7 +496,7 @@ class AssignPermissionForm(forms.Form): ...@@ -496,7 +496,7 @@ class AssignPermissionForm(forms.Form):
if not cleaned_data.get("objects") and not cleaned_data.get("all_objects"): if not cleaned_data.get("objects") and not cleaned_data.get("all_objects"):
raise ValidationError( raise ValidationError(
_("You must grant the permission to all objects and/" "or to some objects.") _("You must grant the permission to all objects or to specific objects.")
) )
return cleaned_data return cleaned_data
......
...@@ -241,18 +241,36 @@ ...@@ -241,18 +241,36 @@
{% endif %} {% endif %}
{% has_perm 'core.view_person_groups_rule' user person as can_view_groups %} {% has_perm 'core.view_person_groups_rule' user person as can_view_groups %}
{% if can_view_groups and groups %} {% if can_view_groups %}
<div class="col s12 m6 l4"> <div class="col s12 m6 l4">
<h2>{% blocktrans %}Groups{% endblocktrans %}</h2> {% if groups.count %}
<div class="card-panel"> <div>
<div class="collection"> <h2>{% blocktrans %}Groups{% endblocktrans %}</h2>
{% for group in groups %} <div class="card-panel">
<a href="{{ group.get_absolute_url }}" class="collection-item"> <div class="collection">
{{ group.name }} ({{ group.school_term }}) {% for group in groups %}
</a> <a href="{{ group.get_absolute_url }}" class="collection-item">
{% endfor %} {{ group.name }} ({{ group.school_term }})
</a>
{% endfor %}
</div>
</div>
</div> </div>
</div> {% endif %}
{% if person.owner_of_recursive.count %}
<div>
<h2>{% blocktrans %}Group ownership{% endblocktrans %}</h2>
<div class="card-panel">
<div class="collection">
{% for group in person.owner_of_recursive.all %}
<a href="{{ group.get_absolute_url }}" class="collection-item">
{{ group.name }} ({{ group.school_term }})
</a>
{% endfor %}
</div>
</div>
</div>
{% endif %}
</div> </div>
{% endif %} {% endif %}
</div> </div>
......
...@@ -60,7 +60,7 @@ django-any-js = "^1.1" ...@@ -60,7 +60,7 @@ django-any-js = "^1.1"
django-menu-generator-ng = "^1.2.3" django-menu-generator-ng = "^1.2.3"
django-tables2 = "^2.1" django-tables2 = "^2.1"
django-phonenumber-field = {version = "^6.1", extras = ["phonenumbers"]} django-phonenumber-field = {version = "^6.1", extras = ["phonenumbers"]}
django-sass-processor = "1.0" django-sass-processor = "1.2.1"
libsass = "^0.21.0" libsass = "^0.21.0"
colour = "^0.1.5" colour = "^0.1.5"
dynaconf = {version = "^3.1", extras = ["yaml", "toml", "ini"]} dynaconf = {version = "^3.1", extras = ["yaml", "toml", "ini"]}
...@@ -106,7 +106,7 @@ django-cachalot = "^2.3.2" ...@@ -106,7 +106,7 @@ django-cachalot = "^2.3.2"
django-prometheus = "^2.1.0" django-prometheus = "^2.1.0"
django-model-utils = "^4.0.0" django-model-utils = "^4.0.0"
bs4 = "^0.0.1" bs4 = "^0.0.1"
django-invitations = "^1.9.3" django-invitations = "^2.0.0"
django-cleavejs = "^0.1.0" django-cleavejs = "^0.1.0"
django-allauth = "^0.51.0" django-allauth = "^0.51.0"
django-uwsgi-ng = "^1.1.0" django-uwsgi-ng = "^1.1.0"
...@@ -128,7 +128,7 @@ pycountry = "^22.0.0" ...@@ -128,7 +128,7 @@ pycountry = "^22.0.0"
django-ical = "^1.8.3" django-ical = "^1.8.3"
django-iconify = "^0.3" django-iconify = "^0.3"
customidenticon = "^0.1.5" customidenticon = "^0.1.5"
graphene-django = "^2.15.0" graphene-django = "^3.0.0"
django-webpack-loader = "^1.6.0" django-webpack-loader = "^1.6.0"
selenium = "^4.4.3" selenium = "^4.4.3"
......
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