def post(self, request): message_fr = "Merci pour votre vote Bonne chance pour la tombola RDV le 18 février 2021 sur 2M" message_ar = "شكرا لتصويتكم حظ موفق موعدنا يوم 18 فبراير 2021 على قناة 2M " status = "success" data = request.data temp_person = Person.objects.all().filter(email=data["email"]) config_demo = Config.objects.all().filter(type="demo", active=True) site_demo = False if config_demo.count() == 1: site_demo = True if temp_person.count() > 0: # and site_demo == False message_fr = "Vote non enregistré. Vous avez déjà voté pour votre candidat préféré." message_ar = "لم يتم تسجيل التصويت. لقد قمتم بالفعل بالتصويت لمرشحكم المفضل. " return Response({"status": "error", "message_fr": message_fr, "message_ar": message_ar, "uid_ref": "", "site_demo": site_demo}, content_type="application/json", status=200) uid_ref = None candidat = Candidat.objects.all().filter(uid=data["candidat"]) config_vote = Config.objects.all().filter(type="vote", active=True) if candidat.count() == 1 and config_vote.count() > 0: candidat = candidat[0] uid_ref = self.generateUID() + "-" + self.generateUID() person = Person() person.name = data["name"] person.email = data["email"] person.phone = str(data["phone"]) person.uid = self.generateUID() person.uid_ref = uid_ref person.accept_reglement = True person.save() vote = Vote() vote.candidat = candidat vote.person = person vote.uid = self.generateUID() vote.project = candidat.project vote.save() candidat.total_votes = candidat.total_votes + 1 candidat.save() else: if config_vote.count() == 0 : status = "error" message_fr = "Le vote est fermé, Merci pour votre visite." message_ar = "لقد تم إغلاق التصويت، شكرا لزيارتكم." else: status = "error" message_fr = "Candidat n'existe plus, Merci de réessayer plus tard" message_ar = "لم يعد المرشح موجودًا ، يرجى المحاولة مرة أخرى لاحقًا" return Response({ "status" : status, "message_fr" : message_fr, "message_ar" : message_ar, "uid_ref" : uid_ref, "site_demo" : site_demo}, content_type="application/json", status=200)