Exemplo n.º 1
0
def save_ticket(request):
    if  request.user.is_anonymous():
        return redirect(settings.APP_WEB_LOGIN_URL)
    
    if request.method == 'POST':
        form = TicketForm(request.POST)
        if form.is_valid():
            page = request.POST.get('page') 
            if page == 'new':
                new_ticket = form.save(commit=False)
                if request.user.email:
                    creator = request.user.email
                else :
                    return HttpResponse('Please login first!') 
                new_ticket.creator = User.objects.get(email=creator)
                new_ticket.createDate_date = timezone.now()
                new_ticket.save()
                try:
                    Subject   = 'A new Ticket #'+str(new_ticket.id)+' has been opened'
                    receiver  = settings.SUPPORTOR_EMAIL#recipients
                    
                    msgText   = '<h3>'+new_ticket.title +'</h3>' + new_ticket.comments+'<br/> see more detail here:<br/>' +\
                                settings.APP_WEB_URL + 'ticket/' + str(new_ticket.id)+'/detail/'
                    email_intance = EmailEx()
                    email_intance.send_text_email(Subject,msgText,receiver)
                except:
                    print 'send email failed'
                    
                return HttpResponse(u"Ticket 号是: " + str(new_ticket.id)) 
            else:
                ticketid    = request.POST.get('ticketid') 
                ticket = get_object_or_404(Ticket, id=ticketid) 
                change_ticket_form = TicketForm(request.POST, instance=ticket)
                change_ticket_form.save()
                isFinished = request.POST.get('isFinished') 
                if isFinished == 'true':
                    ticket.isFinished = '1'
                else:
                    ticket.isFinished = '0'#re-opened
                    
                ticket.save()
                
                if isFinished == 'true' and ticket.creator.email:
                    #send email to notification the creator
                    try:
                        Subject   = 'The Ticket #'+str(ticket.id)+' you opened has been marked as finished'
                        receiver  = ticket.creator.email#recipients
                        preamble  = 'test'    
                        msgText   = ticket.comments+'\n see more detail here: http://zhaji25-wsgi/ticket/'+\
                                    str(ticket.id)+'/detail/'
                        email_intance = Email()
                        email_intance.send_text_email(Subject,preamble,msgText,receiver)
                    except:
                        pass #send email failed
                    
                return HttpResponse("保存成功!")      
                
        else:
            return HttpResponse("请补全信息...")  
Exemplo n.º 2
0
def send_email(subject, content, receiver):
    email_insance = EmailEx()
    print 'Thread for sending email'
    #get verify code
    try:
        email_insance.send_text_email(subject, content, receiver)
    except Exception, e:
        print '发送邮件的过程中发生错误: ' + e
Exemplo n.º 3
0
def reset_password(request):
    result = {}
    if request.method == 'GET':
        if 'email' in request.GET and 'verifycode' in request.GET and 'pwd' in request.GET:
            email = request.GET["email"]
            verifycode = request.GET["verifycode"]
            pwd = request.GET["pwd"]
            try:
                verify_code = VerifyCode.objects.get(email__exact=email,
                                                     code=verifycode,
                                                     type='1')
                try:
                    user = User.objects.get(email=email)
                    '''
                        password    = ''.join(random.choice(string.ascii_uppercase + string.lowercase 
                               +  string.digits) for i in range(6))
                        '''
                    user.set_password(pwd)
                    user.save()
                    verify_code.delete()

                    #send email
                    email_insance = EmailEx()
                    Subject = 'map2family密码已重置'
                    content = '您好, 您在map2family中的密码已重置成功. <br />若不是您本人操作请立即登录重新修改...'
                    try:
                        email_insance.send_text_email(Subject, content, email)
                        result['status'] = 'OK'
                        result['msg'] = '密码重置成功...'
                        return HttpResponse(json.dumps(result),
                                            content_type='application/json')
                    except Exception, e:
                        result['status'] = 'ERROR'
                        result['err_msg'] = '发送邮件的过程中发生错误: ' + e
                        return HttpResponse(json.dumps(result),
                                            content_type='application/json')
                except User.DoesNotExist:
                    result['status'] = 'ERROR'
                    result['err_msg'] = '您输入的邮箱用户不存在, 请重试... !'
                    return HttpResponse(json.dumps(result),
                                        content_type='application/json')

            except VerifyCode.DoesNotExist:
                result['status'] = 'ERROR'
                result['err_msg'] = '验证码与邮箱不匹配, 请检查邮件和验证码... !'
                return HttpResponse(json.dumps(result),
                                    content_type='application/json')
        else:
            result['status'] = 'ERROR'
            result['err_msg'] = '非法参数, 你在干什么 !'
            return HttpResponse(json.dumps(result),
                                content_type='application/json')
    else:
        result['status'] = 'ERROR'
        result['err_msg'] = '非法参数, 你在干什么 !'
        return HttpResponse(json.dumps(result),
                            content_type='application/json')
Exemplo n.º 4
0
def get_reset_pwd_verify_code(request):

    result = {}
    if request.method == 'POST':
        if 'email' in request.POST:
            email = request.POST["email"]

            if not EMAIL_REGEX.match(email):
                result['status'] = 'ERROR'
                result['err_msg'] = '亲, 电子邮件格式不正确哦 !'
                return HttpResponse(json.dumps(result),
                                    content_type='application/json')
            else:
                try:
                    user = User.objects.get(email=email)
                except User.DoesNotExist:
                    result['status'] = 'ERROR'
                    result['err_msg'] = '用户不存在,该用户尚未注册... !'
                    return HttpResponse(json.dumps(result),
                                        content_type='application/json')

                email_insance = EmailEx()
                #get verify code
                code = ''.join(
                    random.choice(string.lowercase + string.digits)
                    for i in range(4))
                Subject = '吃典重置密码验证码'
                content = ('您好, 您正在重置您在吃典的密码,输入正确的验证码后,即可修改您的密码。  验证码是:  ' +
                           code + ' <br />感谢您使用吃典。')
                try:
                    email_insance.send_text_email(Subject, content, email)
                except Exception, e:
                    result['status'] = 'ERROR'
                    result['err_msg'] = '发送邮件的过程中发生错误: ' + e
                    return HttpResponse(json.dumps(result),
                                        content_type='application/json')
                try:
                    verify_code = VerifyCode.objects.get(email__exact=email,
                                                         type='1')
                    verify_code.code = code
                    verify_code.save()
                except VerifyCode.DoesNotExist:
                    verify_code = VerifyCode(email=email, code=code, type='1')
                    verify_code.save()
                result['status'] = 'OK'
                result['msg'] = '验证码已发至您的邮箱中, 请到邮箱中查看您的验证码 !'
                return HttpResponse(json.dumps(result),
                                    content_type='application/json')

        else:
            result['status'] = 'ERROR'
            result['err_msg'] = '非法参数, 你在干什么 !'
            return HttpResponse(json.dumps(result),
                                content_type='application/json')
Exemplo n.º 5
0
def reset_password(request):
    result = {}
    if request.method == 'POST':
        if 'email' in request.POST and 'verifycode' in request.POST and 'pwd' in request.POST:
            email = request.POST["email"]
            verifycode = request.POST["verifycode"]
            pwd = request.POST["pwd"]
            try:
                verify_code = VerifyCode.objects.get(email__exact=email,
                                                     code=verifycode,
                                                     type='1')
                try:
                    user = User.objects.get(email=email)

                    user.set_password(pwd)
                    user.save()
                    verify_code.delete()

                    #send email
                    email_insance = EmailEx()
                    Subject = '吃典密码已重置'
                    content = '您好, 您在吃典中的密码已重置成功. <br />若不是您本人操作请立即登录重新修改...'
                    try:
                        email_insance.send_text_email(Subject, content, email)
                        result['status'] = 'OK'
                        result['msg'] = '密码重置成功...'
                        return HttpResponse(json.dumps(result),
                                            content_type='application/json')
                    except Exception, e:
                        result['status'] = 'ERROR'
                        result['err_msg'] = '发送邮件的过程中发生错误: ' + e
                        return HttpResponse(json.dumps(result),
                                            content_type='application/json')
                except User.DoesNotExist:
                    result['status'] = 'ERROR'
                    result['err_msg'] = '您输入的邮箱用户不存在, 请重试... !'
                    return HttpResponse(json.dumps(result),
                                        content_type='application/json')

            except VerifyCode.DoesNotExist:
                result['status'] = 'ERROR'
                result['err_msg'] = '验证码与邮箱不匹配, 请检查邮件和验证码... !'
                return HttpResponse(json.dumps(result),
                                    content_type='application/json')
        else:
            result['status'] = 'ERROR'
            result['err_msg'] = '非法参数, 你在干什么 !'
            return HttpResponse(json.dumps(result),
                                content_type='application/json')
    else:
        result['status'] = 'ERROR'
        result['err_msg'] = '非法参数, 你在干什么 !'
        return HttpResponse(json.dumps(result),
                            content_type='application/json')
Exemplo n.º 6
0
def get_email_verify_code(request):
    result = {}
    if request.method == 'POST':
        if 'email' in request.POST:
            email = request.POST["email"]
            result = {}
            if not EMAIL_REGEX.match(email):
                result['status'] = '1'
                result['err_msg'] = '亲, 电子邮件格式不正确哦 !'

            else:

                try:
                    obj = User.objects.get(email__exact=email)
                    result['status'] = '2'
                    result['err_msg'] = '亲, 这个邮箱已经注册过了你可以找回密码'

                except User.DoesNotExist:

                    email_insance = EmailEx()
                    #get verify code
                    code = ''.join(
                        random.choice(string.lowercase + string.digits)
                        for i in range(5))
                    Subject = 'map2family 注册邮箱验证码'
                    content = '您好, 欢迎您注册map2family, 欢迎加入我们, 您的邮箱验证码是:  ' + code

                    try:
                        email_insance.send_text_email(Subject, content, email)
                        try:
                            verify_code = VerifyCode.objects.get(
                                email__exact=email, type='0')
                            verify_code.code = code
                            verify_code.save()
                        except VerifyCode.DoesNotExist:
                            verify_code = VerifyCode(email=email,
                                                     code=code,
                                                     type='0')
                            verify_code.save()

                        result['status'] = '3'
                        result['err_msg'] = '验证码已发至您的邮箱中, 请到邮箱中查看您的验证码!'

                    except Exception, e:
                        result['status'] = '4'
                        result['err_msg'] = '发送邮件的过程中发生错误: ' + e

        else:
            result['status'] = '5'
            result['err_msg'] = '非法参数, 你在干什么 !'
Exemplo n.º 7
0
def save_ticket(request):
    if request.user.is_anonymous():
        return redirect(settings.APP_WEB_LOGIN_URL)

    if request.method == 'POST':
        form = TicketForm(request.POST)
        if form.is_valid():
            page = request.POST.get('page')
            if page == 'new':
                new_ticket = form.save(commit=False)
                if request.user.email:
                    creator = request.user.email
                else:
                    return HttpResponse('Please login first!')
                new_ticket.creator = User.objects.get(email=creator)
                new_ticket.createDate_date = timezone.now()
                new_ticket.save()
                try:
                    Subject = 'A new Ticket #' + str(
                        new_ticket.id) + ' has been opened'
                    receiver = settings.SUPPORTOR_EMAIL  #recipients

                    msgText   = '<h3>'+new_ticket.title +'</h3>' + new_ticket.comments+'<br/> see more detail here:<br/>' +\
                                settings.APP_WEB_URL + 'ticket/' + str(new_ticket.id)+'/detail/'
                    email_intance = EmailEx()
                    email_intance.send_text_email(Subject, msgText, receiver)
                except:
                    print 'send email failed'

                return HttpResponse(u"Ticket 号是: " + str(new_ticket.id))
            else:
                ticketid = request.POST.get('ticketid')
                ticket = get_object_or_404(Ticket, id=ticketid)
                change_ticket_form = TicketForm(request.POST, instance=ticket)
                change_ticket_form.save()
                isFinished = request.POST.get('isFinished')
                if isFinished == 'true':
                    ticket.isFinished = '1'
                else:
                    ticket.isFinished = '0'  #re-opened

                ticket.save()

                if isFinished == 'true' and ticket.creator.email:
                    #send email to notification the creator
                    try:
                        Subject = 'The Ticket #' + str(
                            ticket.id
                        ) + ' you opened has been marked as finished'
                        receiver = ticket.creator.email  #recipients
                        preamble = 'test'
                        msgText   = ticket.comments+'\n see more detail here: http://zhaji25-wsgi/ticket/'+\
                                    str(ticket.id)+'/detail/'
                        email_intance = Email()
                        email_intance.send_text_email(Subject, preamble,
                                                      msgText, receiver)
                    except:
                        pass  #send email failed

                return HttpResponse("保存成功!")

        else:
            return HttpResponse("请补全信息...")