metalogico / django-sonar

The missing debug tool for django
MIT License
182 stars 3 forks source link

If User is not attached with request, it crashes when middleware is placed before authentication or even session middlewares #17

Open sadaqatullah opened 3 days ago

sadaqatullah commented 3 days ago

Proposed simple solution:

    if hasattr(request, 'user'):
            if request.user.is_authenticated:
                # use get_username() instead of username to support custom user models
                # use get_email_field_name() instead of email to support custom user models
                user_info = {
                    "user_id": request.user.id,
                    "username": request.user.get_username(),
                    "email": getattr(request.user, User.get_email_field_name(), 'No email provided'),
                    }

instead of

    if request.user.is_authenticated:
            # use get_username() instead of username to support custom user models
            # use get_email_field_name() instead of email to support custom user models

            user_info = {
                "user_id": request.user.id,
                "username": request.user.get_username(),
                "email": getattr(request.user, User.get_email_field_name(), 'No email provided'),
            }
FraCata00 commented 3 days ago

Sure, maybe it's better