Example #1
0
    def test_valid_client_external_cash_deposit(self):
        print("(start test_valid_client_external_cash_deposit)")
        user = User(is_client= True, password= '******', username= '******', email= '*****@*****.**')
        user.save()
        client = Client.objects.create(user= user)
        
        # start client portfolio with 0 in cash
        client_portfolio = Portfolio.objects.create(owner= client.user, cash= 0, name= 'first')

        # deposit 100 thousand USD
        ctr = CashTransactionRecord(
            portfolio= client_portfolio,
            status= 'processing',
            currency_type= 'USD',
            amount= self.CLIENT_START_CASH,
            amount_in_USD= self.CLIENT_START_CASH,
            transaction_type= 'external_deposit',
            transaction_to= 'self',
            transaction_from= 'somewhere',
            transaction_conditions= '0'
        )
        ctr.save()
        print(ctr.status)
        self.assertEqual(client_portfolio.cash, self.CLIENT_START_CASH)
        print("(successfully saved 10 thousand USD deposit to client's portfolio.)")
Example #2
0
def sign_Up(request):
    if request.POST:
        data = request.POST
        firstName = data.get('firstName')
        lastName = data.get('lastName')
        emailId = data.get('emailId')
        contactNo = data.get('contactNo')
        cityName = data.get('cityName')
        password = data.get('password')
        dateOfBirth = data.get('dateOfBirth')
        try:
            if (User.objects.filter(emailId=emailId).count() == 0):
                obj = User(firstName=firstName,
                           lastName=lastName,
                           emailId=emailId,
                           contactNo=contactNo,
                           cityName=cityName,
                           password=password,
                           dateOfBirth=dateOfBirth)
                obj.save()
                request.session['emailId'] = emailId
                return HttpResponse('True')
            else:
                return HttpResponse('User Exist')
        except:
            return HttpResponse('False')
    def test_internal_stock_transaction(self):
        user = User(is_client=True,
                    password='******',
                    username='******',
                    email='*****@*****.**')
        user.save()
        client = Client.objects.create(user=user)
        # start client portfolio with 100000 in cash
        client_portfolio = Portfolio.objects.create(
            owner=client.user, cash=self.__class__.CLIENT_CASH, name='first')

        # buy order for 100 shares of IBM at 100 USD per share
        stock_transaction = StockTransactRecord(portfolio=client_portfolio,
                                                ticker='IBM',
                                                exchange_abbr='NYSE',
                                                order_type='buy',
                                                order_class='undetermined',
                                                price=100,
                                                quantity=100)
        stock_transaction.save()

        self.assertEqual(
            client_portfolio.stockinventory.get(ticker='IBM').quantity, 100)
        print('(client portfolio successfully acquired 100 shares of IBM.)')
        self.assertEqual(client_portfolio.cash, 90000)
        print('(client portfolio cash reduced from $100,000 to $90,000)')
        self.assertEqual(client_portfolio.stocktransactions.last().ticker,
                         'IBM')
        print('(last stock transaction for client portfolio is for IBM)')
        self.assertEqual(
            self.__class__.company_master_portfolio.stockinventory.get(
                ticker='IBM').quantity, 9900)
        print('(100 shares of IBM subtracted from company_master_portfolio)')
def signup_view(request):
  password1 = ""
  password2 = ""
  nombre = ""
  apellidos = ""
  username = ""
  email1 = ""
  if request.method == "POST":
    formulario = UserForm(request.POST)
    if formulario.is_valid():
      nombre = formulario.cleaned_data['nombre']
      apellidos = formulario.cleaned_data['apellidos']
      username = formulario.cleaned_data['username']
      email1 = formulario.cleaned_data['email1']
      password1 = formulario.cleaned_data['password1']
      b = User()
      b.insertar (nombre,apellidos,username,email1,password1)
      b.save()

      #configuracion enviando mensaje via GMAIL
      user= '******'%(email1);
      html_content = "<p>Bienvenido a LinkJobs</p> <p>Tus datos personales son los siguientes:</p><p><b>Nombre:</b> %s</p><p><b>Apellidos:</b> %s</p><p><b>Username:</b> %s</p><p><b>email:</b> %s</p><p><b>Password:</b> %s</p>"%(nombre,apellidos,username,email1,password1)
      msg= EmailMultiAlternatives('Registro exitoso en LinkJobs',html_content,'*****@*****.**',[user])
      # SUBJECT,CONTENT,DESTINATARIO
      msg.attach_alternative(html_content,'text/html') #definimos el contenido como html
      msg.send() #enviamos

      #fin configuracion del servidor GMAIL

      return HttpResponseRedirect(reverse('home.views.login_view'))
  else:
    formulario = UserForm()
  ctx = {'formulario':formulario}
  return render_to_response ('home/signup.html',ctx,context_instance=RequestContext(request))
Example #5
0
def register(request):
    """
    注册用户
    :param request:
    :return:
    """
    if request.method == 'GET':
        return render(request, 'register.html', {'state': 0})

    elif request.method == 'POST':
        # 取得用户名和密码
        try:
            username = request.POST['username']
            password = request.POST['password']
        except KeyError:  # 错误处理
            return render(request, 'register.html', {'state': 1})

        # 查找重名用户
        user = User.objects.filter(name=username)
        if user:
            return render(request, 'register.html', {'state': 2})

        hashed = make_password(password)  # 密码以加密形式保存
        user = User(name=username, password=hashed)
        user.save()

        # 将用户信息存入cookie
        response = HttpResponseRedirect('/')
        response.set_cookie('username', username)
        response.set_cookie('password', hashed)
        return response

    return HttpResponseRedirect('/')
Example #6
0
 def setUp(self):
     """
     create dummy user
     """
     self.dummy_user = User(nickname=TEST_USER_NAME,
                            email_address=TEST_USER_EMAIL,
                            password=TEST_USER_PASS)
     self.dummy_user.save()
Example #7
0
def scheduler(request):
    cnetid = request.user.username
    first_info = {}

    # all_courses = Course.objects.all_info()

    # User already exists
    if User.objects.filter(netid=cnetid).exists():
        userplan = User.objects.get(netid=cnetid).plan
        user = User.objects.get(netid=cnetid)
        #if plan does not exist
        if userplan is None:
            first_info = {'saved': False, 'courses': all_courses}
        elif userplan.conc is None:
            first_info = {
                'saved': "degree",
                'courses': all_courses,
                'degree': userplan.degree
            }
        elif userplan.saved_courses.count() == 0:
            first_info = {
                'saved': "conc",
                'courses': all_courses,
                'degree': userplan.degree
            }
        else:
            courses_by_sem = user.plan.return_by_sem()
            plan_courses = userplan.return_courses()
            a_courses = all_courses.copy()

            for course in plan_courses:
                if course.courseid in a_courses:
                    del a_courses[course.courseid]

            first_info = {
                'saved': "all",
                'degree': userplan.degree,
                'courses': a_courses
            }
            first_info.update(courses_by_sem)
    # # New user
    else:
        u = User(netid=cnetid)
        u.save()
        first_info = {"saved": "first", "courses": all_courses}

    return render(
        request,
        'schedule.html',
        first_info,
    )
Example #8
0
def register():
    if current_user.is_authenticated:
        return redirect(url_for('index'))

    form = RegistrationForm()
    if form.validate_on_submit():
        user = User(username=form.username.data, email=form.email.data)
        user.set_password(form.password.data)
        db.session.add(user)
        db.session.commit()
        flash('Registration Succesful!')
        return redirect(url_for('login'))

    return render_template('register.html', form=form, title='Register')
Example #9
0
def invite(request):
    if request.method == 'POST':
        form = InviteForm(request.POST)
        if form.is_valid():
            user = User(email=form.cleaned_data.get('email'),
                        role=int(form.cleaned_data.get('role')),
                        is_active=False)
            user.save()

            if user.role == User.ADMIN:
                user.is_staff = True
                user.is_superuser = True
            elif user.role == User.WAREHOUSE_PERSONNEL or user.role == User.DISPATCHER:
                user.warehouse = Warehouse.objects.all().first()
            elif user.role == User.HOSPITAL_AUTHORITY:
                user.is_staff = True
                health_authority_group = Group.objects.get(
                    name='Hospital Authority')
                health_authority_group.user_set.add(user)

            user.save()

            email = EmailMessage(
                'Sign Up for your AS-P Account',
                render_to_string(
                    'send_email.html', {
                        'domain': get_current_site(request).domain,
                        'uid': urlsafe_base64_encode(force_bytes(
                            user.pk)).decode(),
                        'token': account_activation_token.make_token(user),
                    }),
                to=[form.cleaned_data.get('email')])
            email.send()
            context = {
                'sidebar':
                access[request.user.role],
                'message':
                "Registration invite has been sent to " + user.email + "."
            }
            return render(request, 'message.html', context)
    else:
        form = InviteForm()
    return render(
        request, 'signup.html', {
            'title': 'Invite Users',
            'form': form,
            'sidebar': access[request.user.role]
        })
Example #10
0
 def user_add(password, name, surname, mail, loc):
     guid = Generator.generate(Services.User)
     key = Fernet.generate_key()
     cipher_suite = Fernet(key)
     hashpass = cipher_suite.encrypt(password.encode('utf-8'))
     User(guid, hashpass, key, name, surname, mail, 3, loc).save()
     return guid
Example #11
0
def index(request):
    if request.method == 'POST':
        if 'schedule' in request.POST:
            
            # get the values from the form
            number = request.POST.get('phonenum')
            zipcode = request.POST.get('zipcode')
            sendtime = request.POST.get('sendtime')
            sendtime = sendtime.split(':')
            
            user = User.objects.filter(phoneNumber=number)
            if user:
                return render(request, 'home/signuperror.html')
            
            # add the job to the scheduler
            schedule = CrontabSchedule(hour=sendtime[0],minute=sendtime[1])
            schedule.save()
            arguments = json.dumps({"number":number,"zipcode":zipcode})
            modelData = dict(
                name=number,
                task="home.tasks.send",
                crontab_id=schedule.pk,
                kwargs=arguments,
            )
            periodicTask = PeriodicTask(**modelData)
            periodicTask.save()
            newUser = User(phoneNumber=number,zipCode=zipcode,sendTime=(sendtime[0] + sendtime[1]),cronjobID=schedule.pk)
            newUser.save()
            # try:
            #     periodicTask.save()
            # except:
            #     from django.db import connection
            #     print connection.queries
            #     raise
            return render(request, 'home/thanks.html')
            
        elif "remove" in request.POST:
            number = request.POST.get('phonenum')
            user = User.objects.filter(phoneNumber=number)
            if not user:
                return render(request, 'home/removeerror.html')
            CrontabSchedule.objects.get(pk=user[0].cronjobID).delete()
            user.delete()
            return render(request, 'home/goodbye.html')
            
        
    return render(request, 'home/index.html')
Example #12
0
def register_action(request):
    if "name" and "password" and "confirm_password" in request.GET:
        if request.GET["password"] == request.GET["confirm_password"]:
            request_name = request.GET["name"]
            request_password = request.GET["password"]
            if User.objects.filter(name=request_name).count() > 0:
                return HttpResponse("already has this name, please try another one")
            else:
                user = User()
                user.name = request_name
                user.password = request_password
                user.save()
                return HttpResponse("register success<br><a href='/login'>login now</a>")
        else:
            return HttpResponse("the passwords you entered do not match")
    else:
        return HttpResponse("incomplete field")
Example #13
0
def register_view(request):
    if request.method == "POST":
        first_name = request.POST.get('first_name')
        last_name = request.POST.get('last_name')
        email = request.POST.get('email')
        password = request.POST.get('password')
        confirm_password = request.POST.get('confirm_password')

        if password == confirm_password:
            new_user = User(first_name=first_name,
                            last_name=last_name,
                            email=email,
                            password=password)
            new_user.save()
            return render(request, 'home/index.html')
        else:
            return HttpResponse(
                "<h1>Please same enter the same password for password and confirm password</h1>"
            )
Example #14
0
def tokensignin(request):
    id_token = request.POST['id_token']

    user_info = verify_user(id_token)

    # Login Failed
    if 'error' in user_info:
        return HttpResponse(user_info['error'], status=403)

    # Get google's information on the user
    first_name = user_info.get('given_name', 'No name given')
    last_name = user_info.get('family_name', 'No name given')
    email_address = user_info.get('email', '')
    profile_pic = user_info.get('picture', '')

    # This is our primary key on users
    user_id = user_info['sub']

    # Sub is a unique id for each google user
    request.session['user'] = user_id

    # New user who has never signed in before, save their data to the database.
    if (not User.objects.filter(userID=user_id).exists()):
        user = User(userID=user_id,
                    firstName=first_name,
                    lastName=last_name,
                    email=email_address,
                    profile_pic=profile_pic)
        user.save()
    else:
        user = User.objects.get(userID=user_id)

    classes = user.roster_set.all().all()

    # if the user is not enrolled in any classes, direct them
    # to complete their profile
    if not classes:
        return render(request, 'home/ajax_new_user.html')

    # Otherwise, display a list of links to all of their class pages
    return render(request, 'home/ajax_class_request.html',
                  {'classes': classes})
Example #15
0
def sign_Up(request):
 if request.POST:
     data=request.POST
     firstName=data.get('firstName')
     lastName=data.get('lastName')
     emailId=data.get('emailId')
     contactNo=data.get('contactNo')
     cityName=data.get('cityName')
     password=data.get('password')
     dateOfBirth=data.get('dateOfBirth')
     try:
         if(User.objects.filter(emailId=emailId).count()==0):
              obj=User(firstName=firstName,lastName=lastName,emailId=emailId,contactNo=contactNo,cityName=cityName,password=password,dateOfBirth=dateOfBirth)
              obj.save()
              request.session['emailId']=emailId
              return HttpResponse('True')
         else:
             return HttpResponse('User Exist')
     except:
         return HttpResponse('False')     
Example #16
0
def signup(request):
    if request.method == 'POST':
        username = request.POST.get('username')
        password = request.POST.get('password')
        user = User.objects.filter(username=username)
        result = {}
        if user.count() > 0:
            result['code'] = 1
            result['message'] = u'该用户已经存在'
            result = json.dumps(result)
            return HttpResponse(result, content_type="application/json")
        user = User(username=username, password=password)
        user.save()
        result['code'] = 0
        result['message'] = u'注册成功,请进行风险测试'
        result = json.dumps(result)
        response = HttpResponse(result, content_type="application/json")
        response.set_cookie('username', username, 1800)
        return response
    else:
        return render(request, 'signup.html')
Example #17
0
def tokensignin(request):
    id_token = request.POST['id_token']

    user_info = verify_user(id_token)

    # Login Failed
    if 'error' in user_info:
        return HttpResponse(user_info['error'], status=403)

    # Get google's information on the user
    first_name = user_info.get('given_name', 'No name given')
    last_name = user_info.get('family_name', 'No name given')
    email_address = user_info.get('email', '')
    profile_pic = user_info.get('picture', '')

    # This is our primary key on users
    user_id = user_info['sub']

    # Sub is a unique id for each google user
    request.session['user'] = user_id

    # New user who has never signed in before, save their data to the database.
    if(not User.objects.filter(userID=user_id).exists()):
        user = User(userID=user_id,
                    firstName=first_name, lastName=last_name,
                    email=email_address, profile_pic=profile_pic)
        user.save()
    else:
        user = User.objects.get(userID=user_id)

    classes = user.roster_set.all().all()

    # if the user is not enrolled in any classes, direct them
    # to complete their profile
    if not classes:
        return render(request, 'home/ajax_new_user.html')

    # Otherwise, display a list of links to all of their class pages
    return render(request, 'home/ajax_class_request.html',
                  {'classes': classes})
Example #18
0
def handle_sign_up(request):
    post_result_dic = request.POST
    global temp_user_information_dic

    if post_result_dic.__contains__("username"):
        new_user = User()
        new_user.set_nickname(post_result_dic["username"])

        if post_result_dic.__contains__("email_address"):
            new_user.set_email_address(post_result_dic["email_address"])

            # send verification code by email
            verification_code = random.randint(0, 99999)
            verification_code_str = str(verification_code).zfill(5)
            correct_verification_code_str = verification_code_str
            verification_email = EmailMessage(
                "verification code", verification_code_str,
                "*****@*****.**",
                [post_result_dic["email_address"]])
            verification_email.send(fail_silently=False)

            if post_result_dic.__contains__("password"):
                new_user.set_password(post_result_dic["password_confirm"])

                # when a user finish the first step of signing up,
                # store a new user and his/her verification code in temp_user_information_dic
                temp_user_information_dic[post_result_dic["email_address"]] = [
                    new_user, correct_verification_code_str
                ]
                return HttpResponse()

    elif post_result_dic.__contains__("verification_code"):
        email_address = post_result_dic["email_address"]
        this_user_information = temp_user_information_dic[email_address]
        if post_result_dic["verification_code"] == this_user_information[1]:
            this_user_information[0].save()

            # when a user finish signing up and leave the sign_up_page,
            # delete his/her temp information stored in temp_user_information_dic
            del temp_user_information_dic[email_address]
            return HttpResponse()
        else:
            return HttpResponse("wrong")

    # when a user leave the sign_up_page,
    # delete his/her temporary information stored in temp_user_information_dic
    elif post_result_dic.__contains__("leave"):
        email_address = post_result_dic["email_address"]
        del temp_user_information_dic[email_address]
Example #19
0
def register(request):
    """
    User sign up
    :param request:
    :return:
    """
    email = request.POST['email']
    phone = request.POST['phone']
    password = request.POST['password']
    name = request.POST['name']
    template = loader.get_template('signup.html')
    email_match = re.match(r'([^@]+)@([a-z0-9]+)\.([a-z]+)', email)
    if not email_match:
        context = RequestContext(request, {
            'email_error': True
        })
        return HttpResponse(template.render(context))
    phone_match = re.match(r'[0-9].', phone)
    if not phone_match:
        context = RequestContext(request, {
            'phone_error': True
        })
        return HttpResponse(template.render(context))
    if len(password) < 6:
        context = RequestContext(request, {
            'password_error': True
        })
        return HttpResponse(template.render(context))
    existing_user = User.objects.filter(Q(email=email) | Q(phone=phone))
    if existing_user:
        context = RequestContext(request, {
            'dulpicate_error': True
        })
        return HttpResponse(template.render(context))
    user = User(email=email, phone=phone, password=password, name=name)
    user.save()
    request.session['username'] = email
    request.session['name'] = name
    return HttpResponseRedirect('/')
Example #20
0
def login_reg(request):
    if request.method == 'POST':
        if len(request.POST) == 2:
            name = request.POST['username']
            pwd = request.POST['password']
            user_set = User.objects.filter(username=name, password=pwd)
            client = User()
            for u in user_set:
                client = u
            if client.username:
                request.session['client'] = client
                return HttpResponse('ok')
            else:
                return HttpResponse('用户名或密码输入错误')

        elif len(request.POST) == 6:
            name = request.POST['username']
            nickname = request.POST['nickname']
            phone = request.POST['mobile']
            pwd = request.POST['password']
            pwd2 = request.POST['password2']
            sex = request.POST['sex']
            name_dic = verify_username(name)
            phone_dic = verify_phone(phone)
            pwd_dic = verify_pwd(pwd, pwd2)
            dictMerged = dict(name_dic.items() +
                              phone_dic.items() + pwd_dic.items())
            if dictMerged['phone'] == '' and dictMerged['name'] == '' and dictMerged['pwd'] == '':
                user = User()
                user.username = name
                user.nickname = nickname
                user.mobile = phone
                user.password = pwd
                user.sex = sex
                user.save()
            return HttpResponse(json.dumps(dictMerged))
    else:
        return render(request, 'login_reg.html', locals())
Example #21
0
def history(request):
    """
    用户个人界面,展示并管理各种记录
    :param request:
    :return:
    """
    user = User.check_user(request)
    if user == 'KeyError' or user == 'PasswordNotMatch':
        return flush_2_home()

    # 查询所需信息
    images = History.objects.filter(user=user, is_deleted=False).order_by(
        "-upload_time")  # 从数据库中取出所有的图片路径
    return render(request, 'history.html', {'user': user, 'images': images})
Example #22
0
def signup():
    form = RegistrationForm()
    if form.validate_on_submit():
        password = generate_password_hash(form.password.data)

        user = User(username=form.username.data,
                    email=form.email.data,
                    password_hash=password)
        db.session.add(user)
        db.session.commit()
        flash('Registration was successfully completed', 'success')
        return redirect(url_for('login'))
    else:
        return render_template('signup.html', form=form)
Example #23
0
def regist(request):
    print("regist start")
    if request.is_ajax():

        sign_id = request.POST.get('sign_id')
        sign_pw = request.POST.get('sign_pw')
        sign_name = request.POST.get('sign_name')

        #reg = User.objects.create(user_id=sign_id,password=sign_pw,name=sign_name)
        try:
             user_reg = User(user_id=sign_id,password=sign_pw,name=sign_name)
             user_reg.save()
            #reg = User.objects.create(user_id=sign_id,password=sign_pw,name=sign_name)
            #reg, created = User.objects.get_or_create(user_id=sign_id,password=sign_pw,name=sign_name)
        except User.DoesNotExist:
            #print ("user_reg--------->",user_reg)
            print ("sign id --------->",sign_id)
            print ("regist fail")
            return JsonResponse({'return':'fail'})
        #print ("reg--------->",reg)


        return JsonResponse({'return':'success'})
Example #24
0
class TestDocument(TestCase):
    def setUp(self):
        """
        create dummy user
        """
        self.dummy_user = User(nickname=TEST_USER_NAME,
                               email_address=TEST_USER_EMAIL,
                               password=TEST_USER_PASS)
        self.dummy_user.save()

    def test_file_on_server_method(self):
        document = Document(owner=self.dummy_user,
                            external_url=EXTERNAL_PDF_URL)
        self.assertEqual(document.url, "/proxy?origurl=" + EXTERNAL_PDF_URL)
        self.assertEqual(document.file_on_server, False)

        # test if no input given, char field will be set to empty string
        document2 = Document(owner=self.dummy_user)
        self.assertEqual(document2.external_url, "")

    def test_not_null_not_constrain(self):
        document = Document()
        with self.assertRaises(Exception):
            document.save()
Example #25
0
def register():
    if current_user.is_authenticated:
        return redirect(url_for('home'))
    form = RegistrationForm()
    if form.validate_on_submit():
        hashed_password = bcrypt.generate_password_hash(
            form.password.data).decode('utf-8')
        user = User(username=form.username.data,
                    email=form.email.data,
                    password=hashed_password)
        db.session.add(user)
        db.session.commit()
        flash('Your account has been created! You are now able to log in.',
              'success')
        return redirect(url_for('login'))
    return render_template('register.html', title='Register', form=form)
Example #26
0
def delete_all(request):
    """
    浅删除所有历史记录
    :param request:
    :return:
    """
    user = User.check_user(request)
    if user == 'KeyError' or user == 'PasswordNotMatch':
        return flush_2_home()

    histories = History.objects.filter(user=user)
    for item in histories:
        item.is_deleted = True
        item.deleted_time = datetime.now()
        item.save()
    return HttpResponseRedirect('/history/')
Example #27
0
def reset_token(token):
    if current_user.is_authenticated:
        return redirect(url_for('index'))
    user = User.verify_reset_token(token)
    if user is None:
        flash('That token is invalid or expires', 'warning')
        return redirect(url_for('reset_request'))
    form = ResetPasswordForm()
    if form.validate_on_submit():
        password_hash = generate_password_hash(form.password.data)
        user.password_hash = password_hash
        db.session.commit()
        flash("Your password has been updated! You can now login")
        return redirect(url_for('login'))
    return render_template('reset_token.html',
                           title="Reset Password",
                           form=form)
Example #28
0
def delete_one(request):
    """
    浅删除一项历史记录
    :param request:
    :return:
    """
    user = User.check_user(request)
    if user == 'KeyError' or user == 'PasswordNotMatch':
        return flush_2_home()

    item_id = request.GET['id']
    item = History.objects.filter(user=user, id=item_id)
    for i in item:
        i.is_deleted = True
        i.deleted_time = datetime.now()
        i.save()
    return HttpResponseRedirect('/history/')
Example #29
0
def signin(request):
    try:
        data=json.loads(request.body.decode("utf-8"))
    except ValueError:
        return "Input must be json format", 400

    user = User.create_from_request(data)

    query = "select * from khu_user where user_email = '%s'"
    user_db=select_one(query % user.user_email)

    if user_db is None:
        return HttpResponse("User not existed")

    if user_db[3] != user.user_pw:
        return HttpResponse("Incorrect password")

    response = HttpResponse('set cookie')
    response.set_cookie('khustagram_login',user_db[1])
    return response
Example #30
0
def signup(request):
    try:
        data=json.loads(request.body.decode("utf-8"))
    except ValueError:
        return "Input must be json format", 400

    user = User.create_from_request(data)

    query = "select * from khu_user where user_email = '%s'"
    user_db = select_one(query % user.user_email)

    if user_db is not None:
        return HttpResponse("User is already existed")
    query = "insert into khu_user (usr_name, user_email, user_pw) values ('%s', '%s', '%s')"
    insert(query % (user.usr_name, user.user_email, user.user_pw))
    session = boto3.session.Session(aws_access_key_id = AWS_ACCESS_KEY, aws_secret_access_key = AWS_SECRET_KEY, region_name = REGION_NAME)
    s3 = session.resource('s3')
    s3.Bucket(BUCKET_NAME).put_object(Key = user.user_email+"/", Body = "")
    print(user.user_email + "is sign up")
    return HttpResponse("Signup Success")
Example #31
0
def index(request):
    if request.method == "POST":

        if 'email' not in request.POST:
            redirect('landing')
        email = request.POST['email']

        new_user = False
        if not user_exists(email):
            new_user = True
            u = User(email=email)
            u.save()

        request.session["email"] = email
        return redirect('/home?new_user='******'email'])
        products = u.products_seen.all()
        show_welcome_message = False
        if not u.displayed_welcome_message:
            show_welcome_message = True
            u.displayed_welcome_message = True
            u.save()

        new_user = False
        if 'new_user' in request.GET:
            new_user = request.GET['new_user'] == "True"

        for p in products:
            p.rating = range(p.rating)
            p.picture = 'http://localhost:8000/static/images/' + p.picture
            p.available_coupons = p.coupons.all()

        return render_with_context(
            request, 'home.html', {
                'products': products,
                'new_user': new_user,
                'user_email': request.session['email'],
                'show_welcome_message': show_welcome_message
            })

    else:
        redirect('landing')
Example #32
0
def home(request):
    """
    主页。若已登录则显示上传页面,否则跳转到登录页面
    :param request:
    :return:
    """
    user = User.check_user(request)
    if user == 'KeyError' or user == 'PasswordNotMatch':
        return HttpResponseRedirect('/login/')
    if request.method == 'GET':
        return render(request, 'home.html', {
            'user': user,
        })
    else:
        try:
            images = request.FILES.getlist('img')
        except AttributeError:
            return render(request, 'home.html', {
                'user': user,
            })
        begin_time = time.time()
        results = []
        for img in images:
            start_time = time.time()
            image_ = History(
                user=user,
                image=img,
                name=img.name,
                upload_time=datetime.now(),
                prediction=predict(img),
                spend_time=time.time() - start_time,
            )
            image_.save()
            results.append(image_)
        end_time = time.time()
        return render(
            request, 'home.html', {
                'predictions': results,
                'spend_time': '%.2fs' % (end_time - begin_time)
            })
Example #33
0
def register(request):
    try:
        if request.method == 'GET':
            username = request.GET.get('username')
            email = request.GET.get('email')
            password = request.GET.get('password')
            icon_password = request.GET.get('icon_password')

            user = User()
            if User.objects.filter(name=username):
                return HttpResponse('该用户已存在')
            else:
                user.name = username
                user.email = email
                user.password = password
                user.icon = icon_password
                if icon_password == password:
                    user.save()
                    return HttpResponse('注册成功')
                else:
                    return HttpResponse('两次密码不一致')
    except:
        return HttpResponse('网络错误')
    return render(request, 'index.html')
Example #34
0
def register_post():
    mobile = request.form.get('mobile')
    imagecode = request.form.get('imagecode')
    password = request.form.get('password')
    password2 = request.form.get('password2')
    if imagecode != session['code']:
        return jsonify(status_code.USER_REGISTER_CODE_ERROR)
    if not all([mobile, imagecode, password, password2]):
        return jsonify(status_code.USER_REGISTER_PARAMS_VALID)
    if re.match(r'1[3456789]/d{9}', mobile):
        return jsonify(status_code.USER_REGISTER_MOBILE_INVALID)
    if password2 != password:
        return jsonify(status_code.USER_REGISTER_PASSWORD_ERROR)
    user = User.query.filter(User.phone == mobile).all()
    if user:
        return jsonify(status_code.USER_REGISTER_MOBILE_EXSIST)
    user = User()
    user.phone = mobile
    user.password = password
    user.name = mobile
    user.add_update()
    return jsonify({'code': status_code.OK})
def checkLogin(request):
    errors = []
    if request.method == 'POST':
        if not request.POST['username_us']:
            errors.append('Enter an username.')
        if not request.POST['pass_us']:
            errors.append('Enter a password')
        if not errors:
            username = request.POST['username_us']
            password = request.POST['pass_us']
            # req = Request(USER_URL)
            # req.add_header('accept', 'application/json')
            # req.add_header('username' ,username)
            # req.add_header('password' ,password)
            # data = urlopen(req).read()
            headers = {'accept': 'application/json', 'username': username, 'password':password}
            r = requests.get(USER_URL, headers=headers)
            if str(r)  == "<Response [204]>":
                errors.append('Enter a valid username/password')
            else:
                user = r.json()    
                u = User(phone_number= user['phone_number'],
                    email= user['email'],
                    name= user['name'], 
                    password= user['password'], 
                    username= user['username']                
                )
                request.session['user.name'] = u.name
                request.session['user.username'] = u.username
                request.session['user.email'] = u.email
                request.session['user.phone'] = u.phone_number
                request.session['page_number'] = 1
                Course.objects.all().delete()
                return redirect('/home', {'user': u})
        return render(request, 'login.html', {'errors': errors})
    return HttpResponse('/login')
Example #36
0
def registr(request):
    if request.method == 'GET':
        form = RegistrForm()
        return render(request, 'regis.html', {'form': form})
    elif request.method == 'POST':
        form = RegistrForm(request.POST)
        if form.is_valid() and (form.cleaned_data['password']
                                == request.POST['password2']):
            user = User(username=form.cleaned_data['username'],
                        first_name=form.cleaned_data['first_name'],
                        last_name=form.cleaned_data['last_name'])
            user.set_password(form.cleaned_data['password'])
            user.save()
            login(request, user)
        else:
            print(form.errors.as_data())
            return render(request, 'regis.html', {'form': form})
        return render(request, 'home.html')
    else:
        HttpResponseNotAllowed(['GET', 'POST'])