# HG changeset patch # User ymh # Date 1469397597 -7200 # Node ID b523b73ae39d8b55287a2697593028cbdbd9f633 # Parent 756c34d7f639c204c20ba0f0ccf3fe46c4064e3c rationalize user parameter for messages diff -r 756c34d7f639 -r b523b73ae39d server/src/metaeducation/tracking/messages.py --- a/server/src/metaeducation/tracking/messages.py Sat Jul 23 00:38:11 2016 +0200 +++ b/server/src/metaeducation/tracking/messages.py Sun Jul 24 23:59:57 2016 +0200 @@ -3,10 +3,25 @@ import logging import pytz +from django.utils import six + from .tasks import send_tracking_data logger = logging.getLogger(__name__) +def get_user_name(user): + if not user: + return 'n/a' + if isinstance(user, six.string_types): + return user + try: + if user.is_authenticated() and user.external_id: + return str(user.external_id) + else: + return 'Anonymous' + except: + return 'anonymous' + def get_base_message(verb, renkan_id, current_user, registration = None): #create @@ -46,10 +61,10 @@ msg = { 'actor': { 'objectType': 'Agent', - 'name': current_user or 'n/a', + 'name': get_user_name(current_user), 'account': { 'homePage': 'https://www.metaeducation.fr/Utilisateurs/', - 'name': current_user or 'n/a' + 'name': get_user_name(current_user) } }, 'verb': verbNode, diff -r 756c34d7f639 -r b523b73ae39d server/src/metaeducation/tracking/middleware.py --- a/server/src/metaeducation/tracking/middleware.py Sat Jul 23 00:38:11 2016 +0200 +++ b/server/src/metaeducation/tracking/middleware.py Sun Jul 24 23:59:57 2016 +0200 @@ -6,7 +6,7 @@ from renkanmanager.models import Renkan, Revision -from . import send_update_renkan, register_handlers, unregister_handlers, register_pre_save_handlers +from . import register_handlers, unregister_handlers, register_pre_save_handlers logger = logging.getLogger(__name__) diff -r 756c34d7f639 -r b523b73ae39d server/src/metaeducation/views/renkan.py --- a/server/src/metaeducation/views/renkan.py Sat Jul 23 00:38:11 2016 +0200 +++ b/server/src/metaeducation/views/renkan.py Sun Jul 24 23:59:57 2016 +0200 @@ -55,7 +55,7 @@ def get(self, request, *args, **kwargs): renkan = get_object_or_404(Renkan.objects.select_related('current_revision'), renkan_guid=kwargs['renkan_guid']) context = self.get_context_data(**kwargs) - send_open_read_renkan(renkan, str(getattr(request.user,'external_id', 'n/a')), str(context['registration'])) + send_open_read_renkan(renkan, request.user, str(context['registration'])) return self.render_to_response(context) @@ -70,7 +70,7 @@ def get(self, request, *args, **kwargs): renkan = get_object_or_404(Renkan.objects.select_related('current_revision'), renkan_guid=kwargs['renkan_guid']) context = self.get_context_data(**kwargs) - send_open_edit_renkan(renkan, str(getattr(request.user,'external_id', 'n/a')), str(context['registration'])) + send_open_edit_renkan(renkan, request.user, str(context['registration'])) return self.render_to_response(context) class DeleteForm(forms.Form): diff -r 756c34d7f639 -r b523b73ae39d server/src/metaeducation/views/tracking.py --- a/server/src/metaeducation/views/tracking.py Sat Jul 23 00:38:11 2016 +0200 +++ b/server/src/metaeducation/views/tracking.py Sun Jul 24 23:59:57 2016 +0200 @@ -32,7 +32,7 @@ if renkan_close_form.is_valid(): form_data = renkan_close_form.cleaned_data renkan = get_object_or_404(Renkan.objects.select_related('current_revision'), renkan_guid=form_data['renkan_guid']) - send_close_renkan(renkan, str(request.user.external_id), str(form_data['registration'])) + send_close_renkan(renkan, request.user, str(form_data['registration'])) return HttpResponse(status=204) else: return HttpResponse(status=400)