def post_note_frais(request): if not authlib.check_authorize(request.session): return Response({'server response': "authentication required"}, status=status.HTTP_401_UNAUTHORIZED) if not request.method == 'POST': return Response(False) parser_classes = (FileUploadParser, ) settings.LOGGER.debug(request.method) if request.method == 'PATCH' or request.method == 'POST': file_serializer = FileSerializer(Signature, data=request.data) settings.LOGGER.debug(file_serializer.is_valid()) settings.LOGGER.debug(request.data['file']) email = authlib.get_jwt(request.session['access_token'])['email'] name = authlib.get_jwt(request.session['access_token'])['name'] signature = Signature() signature.document = request.data['file'] signature.sender_email = email signature.creation_date = request.data['date'] signature.name = request.data['name'] signature.save() # Send mail server = smtplib.SMTP(settings.EMAIL_HOST, settings.EMAIL_PORT) settings.LOGGER.debug("server started") server.starttls() settings.LOGGER.debug("logging in") server.login(settings.EMAIL_HOST_USER, settings.EMAIL_HOST_PASSWORD) settings.LOGGER.debug("logged in") message = 'Bonjour,<br /> Vous avez un document à signer de la part du: ' + name + '. <br /> Veuillez consulter votre compte: <a href="https://signature.chamberlab.net/">Signature</a>. <br /> <br /> Cordialement, <br /> CCI France.' settings.LOGGER.debug("sending") msg = EmailMultiAlternatives("Note de frais a signer", message, email, ["*****@*****.**"]) msg.attach_alternative(message, "text/html") msg.send() return Response(True)
def search(request): if not authlib.check_authorize(request.session): return HttpResponse({'server response': "authentication required"}, status=status.HTTP_401_UNAUTHORIZED) if request.method != 'GET': return HttpResponse('NOT GET') src = request.GET['doc'] # If no query from user if not src: return HttpResponse('NOT SRC') email = authlib.get_jwt(request.session['access_token'])['email'] query_list = src.split() queryset = Signature.objects.values( "id", "name", "description", "document", "signature_image", "sender_email", "recipient_email", "creation_date", "date_signature" ).filter(Q(recipient_email=email) | Q(sender_email=email)).filter( reduce(operator.and_, (Q(name__istartswith=q) | Q(name__icontains=q) | Q(description__icontains=q) | Q(sender_email__icontains=q) | Q(creation_date__icontains=q) for q in query_list))) return Response(list(queryset)) if match: return HttpResponse(queryset, content_type='application/json') return HttpResponse('NOT MATCH')
def send_messages(request): settings.LOGGER.debug("starting server") email = authlib.get_jwt(request.session['access_token'])['email'] name = authlib.get_jwt(request.session['access_token'])['name'] server = smtplib.SMTP(settings.EMAIL_HOST, settings.EMAIL_PORT) settings.LOGGER.debug("server started") server.starttls() settings.LOGGER.debug("logging in") server.login(settings.EMAIL_HOST_USER, settings.EMAIL_HOST_PASSWORD) settings.LOGGER.debug("logged in") message = 'Bonjour,<br /> le document a été signé . <br /> Veuillez consulter votre compte : <a href="https://signature.chamberlab.net/">Signature</a>. <br /> <br /> Cordialement, <br /> CCI France.' settings.LOGGER.debug("sending") msg = EmailMultiAlternatives("Document signer", message, email, ["*****@*****.**"]) msg.attach_alternative(message, "text/html") msg.send() settings.LOGGER.debug("sent") return Response(message)
def get_all_documents(request): if not authlib.check_authorize(request.session): return Response({'server response': "authentication required"}, status=status.HTTP_401_UNAUTHORIZED) email = authlib.get_jwt(request.session['access_token'])['email'] list_document = list( Signature.objects.values( "id", "name", "description", "document", "signature_image", "sender_email", "recipient_email", "creation_date", "date_signature").filter( Q(sender_email=email) | Q(recipient_email=email))) return Response(list_document)