def post(self, request): option = request.GET.get('option', None) res = {'status': True} if option: service = request.POST.get('service', None) category = request.POST.get('category', None) time_rule = request.POST.get('time_rule', None) subject = request.POST.get('subject', None) message = request.POST.get('message', None) if danger.xss(service) or danger.xss(subject): return JsonResponse({'status': False, 'msg': 'xss'}) if danger.xss(message): return JsonResponse({'status': False, 'msg': 'xss'}) if option == 'add': et = models.EmailTemplate() if option == 'update': pk = request.GET.get('id', None) et = models.EmailTemplate.objects.get(id=pk) et.category = sms_modles.Category.objects.get(flag=category) et.service = service et.subject = subject et.message = self.sel(message) et.time_rule = time_rule et.save() return JsonResponse(res)
def post(self, request): option = request.GET.get('option', None) if option == 'delete': pk = request.GET.get('id', None) contact = user_models.Contact.objects.get(id=pk) contact.delete() return JsonResponse({'status': True}) first_named = request.POST.get('first_named', None) area = request.POST.get('area', None) phoned = request.POST.get('phoned', None) email = request.POST.get('email', None) gender = request.POST.get('gender', None) bith = request.POST.get('bith', None) tags = request.POST.get('tags', None) # print('经过后台') if danger.xss(first_named): return JsonResponse({'status': False, 'msg': 'xss'}) if option == 'update': pk = request.GET.get('id', None) if pk is None: return Response({'status': False}) contact = user_models.Contact.objects.get(pk=id) else: contact = user_models.Contact() contact.first_named = first_named if area: contact.area = sms_models.Area.objects.get(id=area) else: contact.area = sms_models.Area.objects.all()[0] contact.phoned = phoned contact.email = email contact.gender = gender if bith: contact.bith = bith contact.save() if tags: tags = [int(i) for i in tags.split(',')] contact.tag.clear() for tag in tags: contact.tag.add(tag) contact.save() try: return JsonResponse({ 'res': True, 'instance': model_to_dict(contact) }) except: return JsonResponse({'res': True})
def post(self, request): option = request.GET.get('option', None) if option: area = request.POST.get('area', None) named = request.POST.get('named', None) phoned = request.POST.get('phoned', None) sms_template = request.POST.get('sms_template', None) if danger.xss(named): return redirect('/danger/?option=xss') if option == 'add': task = models.SmsTask() task.named = named task.phoned = phoned area = models.Area.objects.get(id=area) task.area = area sms_template = models.SmsTemplate.objects.get(id=sms_template) task.sms_template = sms_template task.save() ids = [] contact_key = request.POST.get('contact_key', None) used = request.POST.get('used', None) used = used.split(',') task.save() for index, time_rule_belong in enumerate( sms_template.service.time_rule): if time_rule_belong in used: every_task = models.EveryTask() every_task.sms_task = task every_task.numed = (index + 1) every_task.contact = Contact.objects.get( id=contact_key) every_task.time_rule_belong = time_rule_belong every_task.save() ids.append(every_task.id) worker = APSTask.TaskProcess(ids, common.WAY[0][0]) worker.start() return redirect('/task_add_success/') return redirect('/task/')
def post(self, request): msg = request.POST.get('message', None) code = 112 sub = '' res = {'suc': 0, 'msg': '發送失敗!原因可能是賬戶余額不足,若非余額不足請致電 Manfulls公司。'} if danger.xss(msg): return JsonResponse({'status': False, 'msg': 'xss'}) for i in common.SYSTEMMSGTYPED: if i[0] == code: sub = i[1] for au in settings.AUTHOR: suc = mail(sub, msg, code, au) if suc: res['suc'] = res['suc'] + 1 return JsonResponse(res)
def post(self, request): res = {'status': False} option = request.GET.get('option', None) if option: if option == 'add': addr = request.POST.get('addr', None) named = request.POST.get('named', None) newer = request.POST.get('newer', None) nper = request.POST.get('nper', None) time_rule = request.POST.get('time_rule', None) first_status = request.POST.get('first_status', None) if danger.xss(named): return JsonResponse({'status': False, 'msg': 'xss'}) if (newer == 'true') or (newer == True): contact = user_modles.Contact() contact.email = addr contact.first_named = named contact.save() else: contact = user_modles.Contact.objects.filter( Q(email=addr) & Q(status=True)) contact = contact[0] visit_time = request.POST.get('visit_time', None) email_template = request.POST.get('email_template', None) ea = models.EmailApply() if (first_status == 'false') or (first_status == False): ea.first_status = False ea.nper = nper ea.now_time_rule = time_rule ea.contact = user_modles.Contact.objects.get(id=contact.id) ea.visit_time = visit_time ea.email_template = models.EmailTemplate.objects.get( id=int(email_template)) ea.save() connection.close() worker = APSTask.TaskProcess([ea.id], common.WAY[1][0]) worker.start() res['id'] = ea.id res['status'] = True if option == 'tasker': numed = settings.EVERY tasks = [] index = 0 ids = request.POST.get('ids', None) ids = ids.split(',') nper = request.POST.get('nper', None) time_rule = request.POST.get('time_rule', None) visit_time = request.POST.get('visit_time', None) email_template = request.POST.get('email_template', None) first_status = request.POST.get('first_status', None) if (first_status == 'false') or (first_status == False): first_status = False else: first_status = True for e in ids: contact = user_modles.Contact.objects.filter( Q(id=e) & Q(status=True)) if contact: contact = contact[0] ea = models.EmailApply() ea.nper = nper ea.now_time_rule = time_rule ea.contact = contact ea.visit_time = visit_time ea.email_template = models.EmailTemplate.objects.get( id=int(email_template)) ea.first_status = first_status ea.save() tasks.append(str(ea.id)) if len(tasks) % 5 == 0: time.sleep(0.5) index = len(tasks) tasks = [ tasks[i:i + numed] for i in range(0, len(tasks), numed) ] for ts in tasks: ts = '_'.join(ts) running = web_models.Running() running.way = common.WAY[1][0] running.ids = ts running.done_status = False running.block_status = False running.save() res['status'] = True res['numed'] = index if option == 'update': pk = request.POST.get('id', None) if pk is None: return JsonResponse(res) send_status = request.POST.get('send_status', None) visit_time = request.POST.get('visit_time', None) if int(send_status) == 1: send_status = False else: send_status = True ea = models.EmailApply.objects.get(id=pk) ea.visit_time = visit_time ea.send_status = send_status ea.save() res['status'] = True res['instance'] = { 'visit_time': visit_time, 'send_status': send_status } if option == 'trash': pk = request.GET.get('id', None) if pk is None: pk = request.POST.get('id', None) ea = models.EmailApply.objects.get(id=pk) ea.status = False ea.save() res['status'] = True res['instance'] = { 'named': ea.contact.first_named, 'addr': ea.contact.email, 'service': ea.email_template.service } return JsonResponse(res)
def post(self, request): res = {'status': True} option = request.GET.get('option', None) named = request.POST.get('named', None) if option: if option == 'update' or option == 'add': cate = request.POST.get('cate', None) cate = models.Category.objects.get(id=cate) time_rule = request.POST.get('time_rule', None) content = request.POST.get('content', None) content_sub = request.POST.get('content_sub', None) content_en = request.POST.get('content_en', None) content_sub_en = request.POST.get('content_sub_en', None) time_rule = [ int(i) for i in time_rule.split(',') if i is not '' ] if danger.xss(named): return JsonResponse({'status': False, 'msg': 'xss'}) if danger.xss(content): return JsonResponse({'status': False, 'msg': 'xss'}) if danger.xss(content_sub): return JsonResponse({'status': False, 'msg': 'xss'}) if danger.xss(content_en): return JsonResponse({'status': False, 'msg': 'xss'}) if danger.xss(content_sub_en): return JsonResponse({'status': False, 'msg': 'xss'}) smsT = None smsT_en = None service = None if option == 'add': service = models.Service() smsT = models.SmsTemplate() smsT_en = models.SmsTemplate() elif option == 'update': service_id = request.POST.get('service_id', None) sms_template_id = request.POST.get('sms_template_id', None) sms_template_en_id = request.POST.get( 'sms_template_en_id', None) service = models.Service.objects.get(id=service_id) try: smsT = models.SmsTemplate.objects.get( id=sms_template_id) except: smsT = models.SmsTemplate() option = 'add' try: smsT_en = models.SmsTemplate.objects.get( id=sms_template_en_id) except: smsT = models.SmsTemplate() option = 'add' service.time_rule = time_rule service.named = named service.save() smsT.category = cate smsT.content = content smsT.content_sub = content_sub smsT_en.category = cate smsT_en.content = content_en smsT_en.content_sub = content_sub_en if option == 'add': smsT.service = service smsT.sms_id = '00' smsT.sms_id_sub = '00' smsT.lang = 1 smsT_en.service = service smsT_en.sms_id = '00' smsT_en.sms_id_sub = '00' smsT_en.lang = 2 smsT.save() smsT_en.save() if option == 'trash': pk = request.GET.get('id', None) service = models.Service.objects.get(id=pk) smsT = models.SmsTemplate.objects.filter(service=service) for s in smsT: s.status = False s.save() service.status = False service.save() if option == 'same': res['same'] = False service = models.Service.objects.filter( Q(status=True) & Q(named=named)) if len(service) > 0: res['same'] = True return JsonResponse(res)