예제 #1
0
def register(request):
    if request.method == "GET":
        data = {'title': '商家注册'}
        return render(request, 'merchant/register.html', context=data)
    elif request.method == "POST":
        merchantName = request.POST.get('merchantName')
        phone = request.POST.get('phone')
        email = request.POST.get('email')
        password = request.POST.get('password')
        idCard = request.POST.get('idCard')
        idCard_front = request.FILES.get('idCard_front')
        idCard_back = request.FILES.get('idCard_back')
        icon = request.FILES.get('icon')

        password = make_password(password)

        merchant = Merchant()
        merchant.m_merchantName = merchantName
        merchant.m_phone = phone
        merchant.m_email = email
        merchant.m_password = password
        merchant.m_idCard = idCard
        merchant.m_idCard_front = idCard_front
        merchant.m_idCard_back = idCard_back
        merchant.m_icon = icon
        merchant.save()
        return render(request, 'merchant/login.html')
예제 #2
0
    def setUpClass(cls):
        deal = set_advertiser_and_category()
        cls.deal = Deal(**deal)
        cls.deal.save()

        cls.user = User.objects.create_user('testuser1', '*****@*****.**',
                                            '12345')

        is_merchant = cls.user.profile.is_approved_merchant()

        if not is_merchant:
            cls.merchant = Merchant(advertiser_ptr=cls.deal.advertiser,
                                    userprofile=cls.user.profile,
                                    enabled=True,
                                    approved=True,
                                    intlnumber='123456789')
            cls.merchant.save()

        super(OrderModelTestCase, cls).setUpClass()
예제 #3
0
    def setUpClass(cls):
        deal = set_advertiser_and_category()
        deal['title'] = 'Deal #3'  # dictionary
        cls.deal = Deal(**deal)
        cls.deal.save()
        cls.user = User.objects.create_user('testuser3', '*****@*****.**',
                                            '123456')

        is_merchant = cls.user.profile.is_approved_merchant()

        if not is_merchant:
            cls.merchant = Merchant(advertiser_ptr=cls.deal.advertiser,
                                    userprofile=cls.user.profile,
                                    enabled=True,
                                    approved=True,
                                    intlnumber='123456789')
            cls.merchant.save()
        cls.selenium = webdriver.Chrome()
        cls.wait = ui.WebDriverWait(cls.selenium, 10)
        super(SalesHistoryAndTrendTestCase, cls).setUpClass()
예제 #4
0
    def setUpClass(cls):
        Deal.objects.all().delete()
        User.objects.all().delete()
        deal = set_advertiser_and_category()  # dictionary
        cls.deal = Deal(**deal)
        cls.deal.save()
        cls.user = User.objects.create_user('testuser1', '*****@*****.**',
                                            '12345')

        is_merchant = cls.user.profile.is_approved_merchant()

        if not is_merchant:
            cls.merchant = Merchant(advertiser_ptr=cls.deal.advertiser,
                                    userprofile=cls.user.profile,
                                    enabled=True,
                                    approved=True,
                                    intlnumber='123456789')
            cls.merchant.save()

        cls.client = Client()
        super(MerchantManageDealsTestCase, cls).setUpClass()
예제 #5
0
def createMerchant(request):
    if request.POST:
        # 获取参数
        username = request.POST.get('username', None)
        merchantName = request.POST.get('merchantName', None)
        password = request.POST.get('password', None)
        password2 = request.POST.get('password2', None)
        phone = request.POST.get('phone', None)

        # 判断用户是否存在
        user = User.objects.filter(username=username)

        if len(user) > 0:
            return render(request, 'createMerchant.html',
                          {'error_msg': '用户名已经被使用'})
        elif password != password2:
            return render(request, 'createMerchant.html',
                          {'error_msg': '密码不一致'})
        elif len(password) == 0:
            return render(request, 'createMerchant.html',
                          {'error_msg': '密码不能为空'})
        # 这是用户名可以使用的时候
        # 向django_user数据表种添加数据
        user = User.objects.create_user(username=username, password=password)
        # 向Merchant表中添加数据
        merchant = Merchant()
        # 这是建立外键的一对一关系
        merchant.user_id = user.id
        merchant.merchantName = merchantName
        # 这是为phone属性赋值
        merchant.phone = phone
        merchant.save()
        return render(request, 'merchantLogin.html', {'msg': '创建成功,请登录'})
    else:

        return render(request, 'createMerchant.html')
예제 #6
0
    def post(self, request, **kwargs):

        name = request.POST.get('name')
        context = {
            'profile':
            self.request.user.profile,
            'countries': {
                'choices': COUNTRY_CHOICES,
                'default': 2
            },
            'locations_kenya': {
                'choices': KENYAN_LOCATIONS,
                'default': 84
            },
            'locations_nigeria': {
                'choices': NIGERIAN_LOCATIONS,
                'default': 25
            },
            'breadcrumbs': [
                {
                    'name': 'My Account',
                    'url': reverse('account')
                },
                {
                    'name': 'Merchant',
                    'url': reverse('account_merchant')
                },
                {
                    'name': 'Merchant Register',
                },
            ]
        }

        try:
            advertiser = Advertiser.objects.get(name__exact=name)
            mssg = "Company Name Already taken/exists"
            messages.add_message(request, messages.ERROR, mssg)
            return TemplateResponse(request, self.template_name, context)

        except Advertiser.DoesNotExist:

            country = int(request.POST.get('user_country'))
            if country == 1:
                location = int(request.POST.get('nigeria_user_location'))
            elif country == 2:
                location = int(request.POST.get('kenya_user_location'))
            telephone = request.POST.get('telephone')
            intlnumber = request.POST.get('intlnumber')
            email = request.POST.get('email')
            address = request.POST.get('address')
            slug = slugify(name)
            userprofile = request.user.profile
            logo = request.FILES.get('logo')

            # pack merchant attributes in a dictionary
            merchant = dict(name=name,
                            country=country,
                            location=location,
                            telephone=telephone,
                            email=email,
                            address=address,
                            slug=slug,
                            intlnumber=intlnumber,
                            logo=logo,
                            userprofile=userprofile)

            # remove logo if empty
            if not logo:
                del (merchant['logo'])

            merchant = Merchant(**merchant)
            merchant.save()

            # generate token and prepare message
            token = totp_token.now()
            msg = {
                'reqtype': 'json',
                'api_key': settings.NEXMO_USERNAME,
                'api_secret': settings.NEXMO_PASSWORD,
                'from': settings.NEXMO_FROM,
                'to': intlnumber,
                'text': str(token),
            }
            sms = NexmoMessage(msg)
            response = sms.send_request()
            if response:
                return redirect(reverse('account_merchant_verify'))
            else:
                mssg = ("Your merchant account has been created.  "
                        "However, we could not send the OTP to your phone. "
                        "Please click the Resend OTP button to try again!")
                messages.add_message(request, messages.ERROR, mssg)
                return redirect(reverse('account_merchant_verify'))