-
Notifications
You must be signed in to change notification settings - Fork 7
Haie / ajout de deux booléens dans les analytics #933
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Changes from 1 commit
be4d263
5dda908
47f512d
424a18c
592bea2
1832427
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -24,6 +24,7 @@ | |
| from envergo.moulinette.forms import TriageFormHaie | ||
| from envergo.moulinette.models import ConfigHaie, get_moulinette_class_from_site | ||
| from envergo.users.mixins import InstructorDepartmentAuthorised | ||
| from envergo.users.models import User | ||
| from envergo.utils.urls import copy_qs, remove_from_qs, remove_mtm_params, update_qs | ||
|
|
||
|
|
||
|
|
@@ -251,6 +252,10 @@ def get_result_url(self): | |
| return url_with_params | ||
|
|
||
| def log_moulinette_event(self, moulinette, context, **kwargs): | ||
| if not moulinette.is_triage_valid(): | ||
| super().log_moulinette_event(moulinette, context) | ||
|
||
| return | ||
|
|
||
| export = moulinette.summary() | ||
| export.update(kwargs) | ||
| export["url"] = self.request.build_absolute_uri() | ||
|
|
@@ -268,6 +273,7 @@ def log_moulinette_event(self, moulinette, context, **kwargs): | |
| action, | ||
| self.request, | ||
| **export, | ||
| user_type=User.get_type(self.request.user), | ||
| ) | ||
|
|
||
|
|
||
|
|
@@ -323,6 +329,7 @@ def form_invalid(self, form): | |
| self.request, | ||
| data=form.data, | ||
| errors=form_errors, | ||
| user_type=User.get_type(self.request.user), | ||
| ) | ||
| return self.render_to_response(context) | ||
|
|
||
|
|
@@ -518,20 +525,18 @@ def get(self, request, *args, **kwargs): | |
| return res | ||
|
|
||
| def log_moulinette_event(self, moulinette, context): | ||
| if moulinette.is_triage_valid(): | ||
| super().log_moulinette_event(moulinette, context) | ||
| else: | ||
| # TODO Why is matomo param cleanup only happens here? | ||
| # Matomo parameters are stored in session, but some might remain in the url. | ||
| # We need to prevent duplicate values | ||
| params = get_matomo_tags(self.request) | ||
| params.update(self.request.GET.dict()) | ||
| log_event( | ||
| "simulateur", | ||
| "soumission_autre", | ||
| self.request, | ||
| **params, | ||
| ) | ||
| # TODO Why is matomo param cleanup only happens here? | ||
| # Matomo parameters are stored in session, but some might remain in the url. | ||
| # We need to prevent duplicate values | ||
| params = get_matomo_tags(self.request) | ||
| params.update(self.request.GET.dict()) | ||
| log_event( | ||
| "simulateur", | ||
| "soumission_autre", | ||
| self.request, | ||
| **params, | ||
| user_type=User.get_type(self.request.user), | ||
| ) | ||
|
|
||
|
|
||
| class MoulinetteAmenagementResult( | ||
|
|
@@ -648,13 +653,19 @@ def get(self, request, *args, **kwargs): | |
| if not self.moulinette.department: | ||
| return HttpResponseRedirect(reverse("home")) | ||
|
|
||
| event_params = { | ||
| "department": self.moulinette.department.department, | ||
| "user_type": User.get_type(request.user), | ||
| } | ||
| is_alternative = bool(request.GET.get("alternative", False)) | ||
| if is_alternative: | ||
| event_params["alternative"] = "true" | ||
|
|
||
| log_event( | ||
| "simulateur", | ||
| "localisation", | ||
| self.request, | ||
| **{ | ||
| "department": self.moulinette.department.department, | ||
| }, | ||
| **event_params, | ||
| **get_matomo_tags(self.request), | ||
| ) | ||
| return self.render_to_response(self.get_context_data()) | ||
|
|
||
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -74,3 +74,14 @@ class Meta: | |
|
|
||
| def __str__(self): | ||
| return f"{self.name}" | ||
|
|
||
| @classmethod | ||
| def get_type(cls, user): | ||
numahell marked this conversation as resolved.
Outdated
Show resolved
Hide resolved
|
||
| if not user or not user.is_authenticated: | ||
| return "anonymous" | ||
| if user.is_superuser or user.is_staff: | ||
| return "administrator" | ||
| elif user.is_instructor: | ||
| return "instructor" | ||
| else: | ||
| return "guest" | ||
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Je ne comprends pas pourquoi il faut logguer un événement différent en fonction de l'état de la validation de la Moulinette. Un petit commentaire ne serait pas de refus ici.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
J'ai modifié un peu la structure, et ajouté un commentaire. C'est sans doute mieux.