def contact_user(request, username): if not request.user.is_authenticated: return Response( {"detail": "request need be authenticated"}, status=status.HTTP_401_UNAUTHORIZED, ) user = User.objects.filter(username=username).first() if user and (user.allow_contact or is_mediacms_editor(request.user)): subject = request.data.get("subject") from_email = request.user.email subject = f"[{settings.PORTAL_NAME}] - Message from {from_email}" body = request.data.get("body") body = """ You have received a message through the contact form\n Sender name: %s Sender email: %s\n \n %s """ % ( request.user.name, from_email, body, ) email = EmailMessage( subject, body, settings.DEFAULT_FROM_EMAIL, [user.email], reply_to=[from_email], ) email.send(fail_silently=True) return Response(status=status.HTTP_204_NO_CONTENT)
def has_object_permission(self, request, view, obj): if request.method in permissions.SAFE_METHODS: return True if request.user.is_superuser: return True if is_mediacms_editor(request.user): return True return obj.user == request.user
def view_user_media(request, username): context = {} user = get_user(username=username) if not user: return HttpResponseRedirect("/members") context["user"] = user context["CAN_EDIT"] = (True if ((user and user == request.user) or request.user.is_superuser) else False) context["CAN_DELETE"] = True if request.user.is_superuser else False context["SHOW_CONTACT_FORM"] = (True if ( user.allow_contact or is_mediacms_editor(request.user)) else False) return render(request, "cms/user_media.html", context)