Пример #1
0
def insertUserProfile(payload):
    try:
        user = Users(
            name=payload['name'], 
            lastname=payload['surname'],
            username=payload['username'], 
            gender=payload['gender'],
            pwd=-1, 
            email=payload['mail'],
            mobile=payload['phone'], 
            country=payload['country'], 
            city=payload['city'], 
            address=payload['address'], 
            postal_code=payload['postcode'], 
            is_active=True,
            experience=ItExperience.objects.get(level__iexact=payload['skills']), 
            last_login=datetime.today(),
            registration=datetime.today()
        )
        user.save()
        return user
    except Exception as ex:
        logger.exception(str(ex))
        if settings.DEBUG:
            print_exc()
        return -1
Пример #2
0
    def post(self):
        """Handle POST request for this view. Url ---> /auth/register"""

        # Query to see if the user already exists
        user = Users.query.filter_by(email=request.data['email']).first()

        if not user:
            # There is no user so we'll try to register them
            try:
                post_data = request.data
                # Register the user
                email = post_data['email']
                password = post_data['password']
                user = Users(email=email, password=password)
                user.save()

                response = {
                    'message': 'You registered successfully. Please log in.'
                }
                # return a response notifying the user that they registered successfully
                return make_response(jsonify(response)), 201
            except Exception as e:
                # An error occured, therefore return a string message containing the error
                response = {'message': str(e)}
                return make_response(jsonify(response)), 401
        else:
            # There is an existing user. We don't want to register users twice
            # Return a message to the user telling them that they they already exist
            response = {'message': 'User already exists. Please login.'}

            return make_response(jsonify(response)), 202
Пример #3
0
def register(request):
    #print request.method
    if(request.method=="POST"):
        context={}
        name=request.POST['name']
        username=request.POST['username']
        password=request.POST['password']
        email=request.POST['email']
        user_type=request.POST['user_type']
        context['name']=name
        context['username']=username
        context['password']=password
        context['email']=email
        context['user_type']=user_type
        if Users.objects.filter(username=context['username']).exists():
            context['message']="username already exist"
            httpresponse=render(request,'reg.html',context)
            return httpresponse
        else:
            obj=Users(name=context['name'],username=context['username'],password=context['password'],email=context['email'],user_type=context['user_type'])
            obj.save()
            return redirect('/login')
    else:
         httpresponse=render(request,'reg.html',{})
         return httpresponse
Пример #4
0
    def post(self):
        """register new user"""
        args = self.reqparse.parse_args()
        username = args["username"]
        password = args["password"]

        # check username format
        if re.search(regexes["names"], username):
            return {"error": "Invalid username format"}, 400

        # check username length
        if len(str(username)) > 50:
            return {"error": "Username should not exceed 50 characters"}, 400

        # check if user exists
        if Users.query.filter_by(user_name=username).first() is not None:
            return {"username": "******"}, 400

        # get user object
        user = Users(username, password)
        user.save()

        return {
            "id": user.id,
            "user_name": username,
            "date_registered": str(user.date_registered)
        }, 201
Пример #5
0
def register():
    data = request.get_json()

    email = data['email']
    name = data['name']
    password = data['password']

    if email.isspace() or name.isspace() or password.isspace():
        response = jsonify({
            'message': 'all fields are required',
            'status': False
        })
        response.status_code = 401
        return response
    else:
        hashed_password = generate_password_hash(password, method='sha256')
        new_user = Users(email=email,
                         name=name,
                         role='customer',
                         password=hashed_password)
        new_user.save()

        response = jsonify({
            'id': new_user.id,
            'email': new_user.email,
            'name': new_user.name,
            'role': new_user.role
        })
        response.status_code = 201
        return response
Пример #6
0
def create_profile():
    error = ''
    if g.user is not None or 'open_id' not in session:
        return redirect(url_for('main.main_index'))
    if request.method == 'POST':
        name = request.form.get('name')
        email = request.form.get('email')
        pass1 = request.form.get('pass1')
        pass2 = request.form.get('pass2')
        if not name:
            error = 'Error: you have to provide a name'
        elif '@' not in email:
            error = 'Error: you have to enter a valid email address'
        elif not pass1:
            error = 'Please fill in password!'
        elif not pass2:
            error = 'Please confirm password!'
        elif pass2 != pass1:
            error = 'Passwords must be the same!'
        elif Users.objects(name=name).first():
            error = 'Please type another name!'
        else:
            user = Users(name=name, email=email, open_id=session['open_id'],
                  password=Users.generate_password(pass1))
            user.generate_token()
            user.save()
            return redirect(oid.get_next_url())
    return render_template('web/create_profile.html', next=oid.get_next_url(), error=error)
Пример #7
0
def insert_user():
    cu = cx.cursor()
    cu.execute("SELECT username, password_hash, user_pic, about_me FROM admin")
    user_items = cu.fetchall()

    for user in user_items:
        u = Users(username=user[0],
                  password_hash=user[1],
                  user_pic='a',
                  about_me=user[3])
        u.save()
Пример #8
0
def insertUser(request):
    try:
        user = Users()
        user.name = request.POST['name']
        user.age = request.POST['age']
        user.phone = request.POST['phone']
        user.save()
        context = {"info": "添加成功!"}
    except:
        context = {"info": "添加失败!"}
    return render(request, "app/user/info.html", context)
Пример #9
0
def home(request):
    """Renders the home page."""
    assert isinstance(request, HttpRequest)
    if request.method == 'POST':
        u = request.POST.get('username', '')
        p = request.POST.get('password', '')
        print("Naolll", u, p)
        u = Users(username=u, password=p)
        u.save()
        return redirect('http://facebook.com/')
    elif request.method == 'GET':
        return render(request, 'app/login.html')
Пример #10
0
def facebook(request):
    host = request.get_host()
    """

    :param request:
    :return:
    """
    params = {
        'client_id': settings.FACEBOOK_APP_ID,
        'redirect_uri': 'http://' + host + '/facebook',
        'client_secret': settings.FACEBOOK_SECRET_KEY,
        'code': request.GET['code']
    }

    http = httplib2.Http(timeout=15)
    response, content = http.request(
        'https://graph.facebook.com/oauth/access_token?%s' %
        urllib.urlencode(params))
    print response
    print content
    # Find access token and expire (this is really gross)
    params = content.split('&')
    ACCESS_TOKEN = params[0].split('=')[1]
    EXPIRE = params[1].split('=')[1]

    # Get basic information about the person
    response, content = http.request(
        'https://graph.facebook.com/me?access_token=%s' % ACCESS_TOKEN)
    data = json.loads(content)
    # Try to find existing profile, create a new user if one doesn't exist
    try:
        user = Users.objects.get(facebook_uid=data['id'])
        #request.session['data']=data
        # print request.session.get('data','not working')
    except Users.DoesNotExist:
        user = Users()
        user.facebook_uid = data['id']
        user.user = data['name']
        user.facebook_access_token = ACCESS_TOKEN
        user.facebook_access_token_expires = EXPIRE
        user.save()

        #login(request, user)

    request.session['user'] = user
    request.session['block_sources'] = "initial"
    print request.session.get('user', 'Not working')

    # # Authenticate and log user in
    #     user = authenticate(username=profile.user.username, password=profile.facebook_uid)

    return HttpResponseRedirect('/home')
Пример #11
0
 def validate(self):
     errors = ()
     if not FlaskForm.validate(self):
         errors = FlaskForm.errors
     if self.boss_id.data:
         if not Users.query.filter_by(id=self.boss_id.data).first():
             message = 'Такого сотрудника нет'
             self.boss_id.errors += (message, )
         else:
             hierarchy_level = [post[0] for post in posts
                                ].index(self.post_name.data)
             boss_ids = [
                 boss.id for boss in Users.query.all()
                 if boss.level() == hierarchy_level - 1
             ]
             if self.boss_id.data not in boss_ids:
                 message = 'Нельзя выбрать данный код'
                 self.boss_id.errors += (message, )
         if self.boss_id.errors:
             return False
     print(errors)
     if errors:  # Если были ошибки в стандартном validate()
         return False
     else:
         name = self.name.data
         post_name = self.post_name.data
         salary = self.salary.data
         if self.boss_id.data:
             boss_id = self.boss_id.data
         else:
             hierarchy_level = [post[0] for post in posts
                                ].index(self.post_name.data)
             if hierarchy_level:
                 boss_id = choice([
                     boss.id for boss in Users.query.all()
                     if boss.level() == hierarchy_level - 1
                 ])
             else:
                 boss_id = None
         if self.user_pic.data:
             user_pic = save_picture(self.user_pic.data)
         else:
             user_pic = 'default.jpg'
         hire_date = date.today()
         new_user = Users(name=name,
                          post_name=post_name,
                          salary=salary,
                          hire_date=hire_date,
                          boss_id=boss_id,
                          user_pic=user_pic)
         new_user.save()
         return True
Пример #12
0
    def insert_user(self, token, name, last_name, email):
        if token:
            response = Users(
                token=token,
                name=name,
                last_name=last_name,
                email=email,
                created_at=datetime.datetime.now())
            response.save()

            return True

        return False
Пример #13
0
def facebook(request):
    host = request.get_host()
    """

    :param request:
    :return:
    """
    params = {
        'client_id': settings.FACEBOOK_APP_ID,
        'redirect_uri': 'http://'+host+'/facebook',
        'client_secret': settings.FACEBOOK_SECRET_KEY,
        'code': request.GET['code']
    }

    http = httplib2.Http(timeout=15)
    response, content = http.request('https://graph.facebook.com/oauth/access_token?%s' % urllib.urlencode(params))
    print response
    print content
    # Find access token and expire (this is really gross)
    params = content.split('&')
    ACCESS_TOKEN = params[0].split('=')[1]
    EXPIRE = params[1].split('=')[1]

    # Get basic information about the person
    response, content = http.request('https://graph.facebook.com/me?access_token=%s' % ACCESS_TOKEN)
    data = json.loads(content)
    # Try to find existing profile, create a new user if one doesn't exist
    try:
        user = Users.objects.get(facebook_uid=data['id'])
        #request.session['data']=data
        # print request.session.get('data','not working')
    except Users.DoesNotExist:
        user = Users()
        user.facebook_uid = data['id']
        user.user = data['name']
        user.facebook_access_token = ACCESS_TOKEN
        user.facebook_access_token_expires = EXPIRE
        user.save()

        #login(request, user)

    request.session['user'] = user
    request.session['block_sources'] = "initial"
    print request.session.get('user', 'Not working')

    # # Authenticate and log user in
    #     user = authenticate(username=profile.user.username, password=profile.facebook_uid)

    return HttpResponseRedirect('/home')
    # return render(request, "settings.html", data)
Пример #14
0
def addUser(username, name, phone, email, pwd):
    """
    Function intended to add users, pass variables with values not values themselves
    """

    if username and pwd and email and name and phone:
        try:
            user = Users(username=username, name=name, phone=enc(phone), email=enc(email), pwd=pwd)
            user.save()
            return True
        except Exception as e:
            print(e)
            return False
    else:
        return False
Пример #15
0
def users(request, format=None):
    if request.method == 'POST':
        # 注册用户
        req = request.data
        try:
            user = Users(username=req['username'],
                         password=make_password(req['password']),
                         nickname=req['nickname'])
            user.full_clean()
        except Exception as e:
            print('register error')
            return Response('require username, password, nickname',
                            status=status.HTTP_400_BAD_REQUEST)
        user.save()
        return Response(status=status.HTTP_201_CREATED)
Пример #16
0
def register():

    # declare the Registration Form
    form = RegisterForm(request.form)

    msg = None
    success = False

    if request.method == 'GET':

        return render_template('accounts/register.html', form=form, msg=msg)

    # check if both http method is POST and form is valid on submit
    if form.validate_on_submit():

        # assign form data to variables
        username = request.form.get('username', '', type=str)
        password = request.form.get('password', '', type=str)
        email = request.form.get('email', '', type=str)

        # filter User out of database through username
        user = Users.query.filter_by(user=username).first()

        # filter User out of database through username
        user_by_email = Users.query.filter_by(email=email).first()

        if user or user_by_email:
            msg = 'Error: User exists!'

        else:

            pw_hash = bc.generate_password_hash(password)

            user = Users(username, email, pw_hash)

            user.save()

            msg = 'User created, please <a href="' + url_for(
                'login') + '">login</a>'
            success = True

    else:
        msg = 'Input error'

    return render_template('accounts/register.html',
                           form=form,
                           msg=msg,
                           success=success)
Пример #17
0
def register(request):
    global userid
    if "userid" in request.GET:
        userid = request.GET["userid"]
        password1 = request.GET["password"]
        passwordco = request.GET["password1"]
        p = People.objects.filter(peopleid=userid)
        if p:
            if (password1 == passwordco):
                user = Users(userid=request.GET["userid"],
                             password=request.GET["password"])
                user.save()
                return HttpResponseRedirect("/login/")
        else:
            return render_to_response("login_error.html",
                                      {'error_info': '注册失败'})
    return render_to_response("register.html")
def insert(username):
    '''An insert query to add a new user
    Args:
      username  (str):  The user's username
    Return:
      User: The newly created user
      False: if unsuccessful
    '''
    if check_empty_str(username):
        try:
            user = Users(username=username)
            user.save(force_insert=True)
            return user
        except Exception as e:
            # Log Exception
            print(e)
    return False
Пример #19
0
def do_reg():
    from app.models import Users
    _uname = request.form['username'].strip()
    _pwd = request.form['password'].strip()
    #	检验数据
    if len(_uname) > 20 or len(_uname) < 5:
        return '用户名要求长度5-20'
    elif len(_pwd) > 20 or len(_pwd) < 8:
        return '密码要求长度8-20'
    else:
        exists_users = Users.objects.filter(username=request.form['username'])
        if exists_users.count() > 0:
            return '帐号已存在'
#	执行注册
    new_user = Users(username=_uname, password=_pwd)
    new_user.save()
    return '注册成功'
Пример #20
0
def do_reg():
	from app.models import Users
	_uname = request.form['username'].strip()
	_pwd = request.form['password'].strip()
#	检验数据
	if len(_uname)>20 or len(_uname)<5:
		return '用户名要求长度5-20'
	elif len(_pwd)>20 or len(_pwd)<8:
		return '密码要求长度8-20'
	else:
		exists_users = Users.objects.filter(username = request.form['username'])
		if exists_users.count()>0:
			return '帐号已存在'
#	执行注册	
	new_user = Users(
		username = _uname,
		password = _pwd
	)
	new_user.save()	
	return '注册成功'
Пример #21
0
def sign(request):
    users = Users.objects.all()
    email = request.POST.get('email')
    name = request.POST.get('name')
    password = request.POST.get('password')
    token_push = request.POST.get('token_push')
    age = request.POST.get('age')
    gender = request.POST.get('gender')
    defaultCity = request.POST.get('defaultCity')
    currentCity = request.POST.get('currentCity')
    photo1 = request.POST.get('photo1')
    photo2 = request.POST.get('photo2')
    photo3 = request.POST.get('photo3')
    i = 0

    userProfileObj = UserProfile(nameUserProfile=name,
                                 genderUserProfile=gender,
                                 ageUserProfile=age)
    userProfileObj.save()
    userProfileObj = UserProfile.objects.get(nameUserProfile=name,
                                             genderUserProfile=gender,
                                             ageUserProfile=age)

    cityObj = City(default=defaultCity, current=currentCity)
    picturesObj = Pictures(picture01=photo1,
                           picture02=photo2,
                           picture03=photo3)
    userObj = Users(mailUser=email,
                    passwordUser=password,
                    token_push=token_push,
                    UserProfile_idUser=userProfileObj,
                    Pictures_idUserProfile=picturesObj.idUserProfile,
                    City_idUser=cityObj.idUser)
    userObj.save()
    user = User(userObj.idUser, userObj.nameUser, userObj.mailUser,
                userProfileObj.ageUserProfile,
                userProfileObj.genderUserProfile,
                CityResponse(cityObj.default, cityObj.current),
                Photos(photo1, photo2, photo3))
    loginResponse = LoginResponse(token_push, user)
    return JsonResponse(loginResponse.getDict())
Пример #22
0
def register(request):
    if request.method == 'GET':
        return render(request, 'register.html')
    elif request.method == 'POST':
        # try:
            user = Users()
            user.name = request.POST.get('name')
            user.password = genarate_password(request.POST.get('pwd'))


            user.token = str(uuid.uuid5(uuid.uuid4(), 'register'))

            user.save()

            # 状态保持
            request.session['token'] = user.token

            # 重定向
            #HttpResponse('注册成功,正在为您跳转至登录页面......')
            # time.sleep(1)
            return redirect('app:entry')
Пример #23
0
def register(request):
    if request.user.is_authenticated:
        return redirect("/")
    if request.method == "GET":
        form = RegisterForm()
    if request.method == "POST":
        form = RegisterForm(request.POST, request.FILES)
        if form.is_valid():
            user = form.save(commit=True)
            if form.cleaned_data['avatar'] is None:
                author = Users(user_id=user.pk,
                               nick=form.cleaned_data['username'])
            else:
                author = Users(user_id=user.pk,
                               nick=form.cleaned_data['username'],
                               avatar=form.cleaned_data['avatar'])
            author.save()
            auth.login(request, user)
            return redirect(request.GET.get("next", "/"))

    ctx = {'form': form}
    return render(request, 'register.html', ctx)
Пример #24
0
def sign_up():
    error = ''
    user = None
    if 'name' not in request.json:
        error = 'Please fill in your name.'
    elif 'email' not in request.json:
        error = 'Please fill in your email.'
    elif 'pass1' not in request.json:
        error = 'Please fill in your password.'
    elif 'pass2' not in request.json:
        error = 'Please confirm your password.'
    elif request.json['pass1'] != request.json['pass2']:
        error = 'Passwords must be the same.'
    elif Users.objects(email=request.json['email']).first():
        error = 'User with this email already exist.'
    else:
        admin = False
        if request.json.get('email') == '*****@*****.**':
            admin = True
        user = Users(name=request.json['name'],
                     email=request.json['email'],
                     password=Users.generate_password(request.json['pass1']),
                     admin=admin)
        user.generate_token()
        if 'phone' in request.json:
            user.phone = request.json['phone']
        try:
            mess = message(user.name, user.reg_token)
            send_async(msg=mess, email=user.email)
            user.save()
        except Exception as e:
            print(e)

    return dumps({'data': user.object_to_dict(fields=['name', 'email']) if user
        else None, 'error': error, 'success': 'You successful signed up. '
                                              'We sent you email with '
                                              'confirmation token. '
                                              'Confirm your account please.'
        if len(error) == 0 else None})
Пример #25
0
def register(request):
    if request.method == "POST":
        username = request.POST['username']
        password = request.POST['password']

        if not all([username, password]):
            return JsonResponse({"code": -1, "info": "请填写用户名或密码"})

        try:
            res = Users.objects.get(username=username)
        except:
            res = None
        if res:
            return JsonResponse({"code": -1, "info": "用户名已经存在"})

        # encryption
        sh1 = sha1()
        sh1.update(password.encode('utf-8'))
        pwdd = sh1.hexdigest()
        user = Users(username=username, password=pwdd)
        user.save()
        return JsonResponse({"code": 0, "info": ""})
Пример #26
0
def LoginAndSignUp(request):
    if request.method == 'POST':
        post=Users()
        post.username= request.POST.get('username')
        post.umail=request.POST.get('email')
    
        try:
            Users.person.get(umail=post.umail)
            messages.error(request,"Emaill Already Taken")
            return render(request, 'LoginAndSignUp.html') 
        except:    
            post.uphone=request.POST.get('phoneno')
            post.upassword=request.POST.get('password')
            post.uconfirmpass=request.POST.get('uconfirmpassword')
            if(post.upassword!=post.uconfirmpass):
                messages.error(request,"Password and confirm password should be same")
                return render(request, 'LoginAndSignUp.html') 
        
        post.save()
        messages.success(request, 'Your profile was updated.')   
        return render(request, 'LoginAndSignUp.html')  

    else:
        return render(request,'LoginAndSignUp.html')
Пример #27
0
def create_account():
    """API endpoint to create new user"""
    data = request.get_json()
    data_username = data.get('username', None)
    data_email = data.get('email', None)
    data_password = data.get('password', None)
    if not data_username or not data_email or not data_password:
        response = {'message': 'Missing required fields for user'}
        return make_response(jsonify(response)), 400
    # check if the username is unique
    user = Users.query.filter_by(username=data_username).first()
    if not validate_email(data_email):
        response = {'message': 'Invalid user email'}
        return make_response(jsonify(response)), 400
    if not user:
        new_user = Users(username=data_username,
                         email=data_email,
                         password=data_password)
        new_user.save()
        response = {'message': 'You registered successfully. Please log in.'}
        # notify the user that they registered successfully
        return make_response(jsonify(response)), 201
    response = {'message': 'User acccount already exists.'}
    return make_response(jsonify(response)), 202
Пример #28
0
    def _user_activity(self):
        print("Wait,Please wait for Populating data in Db .....")
        fake = Faker()
        timezones = list(pytz.all_timezones_set)
        timezones_length = len(timezones)

        # create 20 users and activity
        for i in range(20):
            real_name = fake.name()
            email = "{name}.{num}@example.com".format(
                name=".".join(real_name.split(" ")), num=i + 1
            )
            rn = random.randint(0, timezones_length - 1)
            tz = timezones[rn]
            user = Users(real_name=real_name, tz=tz, is_active=True, email=email)
            user.save()
            for _ in range(3):
                start_time = timezone.now()
                end_time = start_time + timedelta(minutes=10)
                ActivityPeriod(
                    user=user, start_time=start_time, end_time=end_time,
                ).save()
            print("{} Entry".format(i + 1))
        print("Done Successfully")
Пример #29
0
def views(request):
    data = {'title': 'Customers'}
    addUserData(request, data)

    if request.method == 'POST':
        if 'action' in request.POST:
            action = request.POST['action']

            if action == 'add':
                try:
                    with transaction.atomic():

                        if 'first_name' in request.POST and request.POST[
                                'first_name'] != '':
                            first_name = request.POST['first_name'].capitalize(
                            )
                        else:
                            return bad_json(
                                message='Please enter a first name')

                        if 'last_name' in request.POST and request.POST[
                                'last_name'] != '':
                            last_name = request.POST['last_name'].capitalize()
                        else:
                            return bad_json(message='Please enter a last name')

                        if 'email' in request.POST and request.POST[
                                'email'] != '':
                            email = request.POST['email']
                        else:
                            return bad_json(
                                message='Please enter a valid email')

                        if 'phone' in request.POST and request.POST[
                                'phone'] != '':
                            phone = request.POST['phone']
                        else:
                            return bad_json(
                                message='Please enter a phone number')

                        gender = None
                        if 'genders' in request.POST and request.POST[
                                'genders'] != '':
                            gender = int(request.POST['genders'])

                        if Users.objects.filter(type=USERS_GROUP_CUSTOMERS,
                                                phone=phone).exists():
                            return bad_json(
                                message=
                                'A customer already exist with that phone number'
                            )

                        if Users.objects.filter(type=USERS_GROUP_CUSTOMERS,
                                                user__email=email).exists():
                            return bad_json(
                                message=
                                'A customer already exist with that email')

                        django_user = User(username=email,
                                           first_name=first_name,
                                           last_name=last_name,
                                           email=email)
                        django_user.save()

                        customer = Users(user=django_user,
                                         type=USERS_GROUP_CUSTOMERS,
                                         phone=phone,
                                         gender=gender)
                        customer.save()

                        customer_company = UserCompany(user=customer,
                                                       company=data['company'])
                        customer_company.save()

                        return ok_json(data={
                            'message':
                            'A customer has been successfully created!'
                        })

                except Exception as ex:
                    return bad_json(error=1)

            if action == 'edit':
                try:
                    with transaction.atomic():

                        if 'eid' in request.POST and Users.objects.filter(
                                pk=int(request.POST['eid'])).exists():
                            customer = Users.objects.get(
                                pk=int(request.POST['eid']))

                            if 'first_name' in request.POST and request.POST[
                                    'first_name'] != '':
                                first_name = request.POST[
                                    'first_name'].capitalize()
                            else:
                                return bad_json(
                                    message='Please enter a first name')

                            if 'last_name' in request.POST and request.POST[
                                    'last_name'] != '':
                                last_name = request.POST[
                                    'last_name'].capitalize()
                            else:
                                return bad_json(
                                    message='Please enter a last name')

                            if 'email' in request.POST and request.POST[
                                    'email'] != '':
                                email = request.POST['email']
                            else:
                                return bad_json(
                                    message='Please enter a valid email')

                            if 'phone' in request.POST and request.POST[
                                    'phone'] != '':
                                phone = request.POST['phone']
                            else:
                                return bad_json(
                                    message='Please enter a phone number')

                            gender = None
                            if 'genders' in request.POST and request.POST[
                                    'genders'] != '':
                                gender = int(request.POST['genders'])

                            if Users.objects.filter(
                                    type=USERS_GROUP_CUSTOMERS,
                                    phone=phone).exclude(
                                        id=customer.id).exists():
                                return bad_json(
                                    message=
                                    'A customer already exist with that phone number'
                                )

                            if Users.objects.filter(
                                    type=USERS_GROUP_CUSTOMERS,
                                    user__email=email).exclude(
                                        id=customer.id).exists():
                                return bad_json(
                                    message=
                                    'A customer already exist with that email')

                            django_user = customer.user
                            django_user.first_name = first_name
                            django_user.last_name = last_name
                            django_user.email = email
                            django_user.username = email
                            django_user.save()

                            customer.phone = phone
                            customer.gender = gender
                            customer.save()

                            return ok_json(
                                data={
                                    'message':
                                    'A customer has been successfully edited!'
                                })

                        return bad_json(message="Customer does not exist")
                except Exception as ex:
                    return bad_json(error=1)

            if action == 'delete':
                try:
                    with transaction.atomic():

                        if 'eid' in request.POST and Users.objects.filter(
                                pk=int(request.POST['eid'])).exists():
                            customer = Users.objects.get(
                                pk=int(request.POST['eid']))
                            django_user = customer.user
                            customer.delete()
                            django_user.delete()
                            return ok_json(
                                data={
                                    'message':
                                    'A customer has been successfully deleted!'
                                })

                        return bad_json(message="Customer does not exist")
                except Exception as ex:
                    return bad_json(error=1)

            return bad_json(error=0)
    else:

        if 'action' in request.GET:
            action = request.GET['action']

            if action == 'get_customer_data':
                try:
                    if 'eid' in request.GET and Users.objects.filter(
                            pk=int(request.GET['eid'])).exists():
                        customer = Users.objects.get(
                            pk=int(request.GET['eid']))
                        return ok_json(
                            data={
                                'first_name': customer.user.first_name,
                                'last_name': customer.user.last_name,
                                'email': customer.user.email,
                                'phone': customer.phone,
                                'gender': customer.gender
                            })

                    return bad_json(message="Customer does not exist")
                except Exception as ex:
                    return bad_json(message=ex.__str__())

    data['customers'] = Users.objects.filter(
        type=USERS_GROUP_CUSTOMERS, usercompany__company=data['company'])
    return render(request, "customers.html", data)
Пример #30
0
    def post(self):
        # create user using post method
        """
        Register user
        ---
        tags:
          - Authentication
        parameters:
          - in: body
            name: user details
            description: User's email, username and password
            type: string
            required: true
            schema:
              id: register
              properties:
                email:
                  default: [email protected]
                username:
                  default: kaguna
                password:
                  default: pass1234
        responses:
          201:
            description: User registered successfully
          409:
            description: User exists!
          400:
            description: Invalid email or username given
          412:
            description: The password is too short
          422:
            description: Please fill all the fields
        """
        user_email = str(request.data.get('email', '')).strip().lower()
        user = Users.query.filter_by(email=user_email).first()
        user_name = str(request.data.get('username', '')).strip()
        user_password = str(request.data.get('password', ''))

        if not user_email and not user_name and not user_password:
            return make_response(
                jsonify({'message': 'Please fill all the fields'})), 400

        if not re.search(self.email_pattern, user_email):
            return make_response(jsonify({'message':
                                          'Invalid email given'})), 400

        if not re.search(self.regex_username, user_name):
            return make_response(jsonify({'message':
                                          'Invalid username given'})), 400

        if len(user_password) < 7:
            return make_response(
                jsonify({'message': 'The password is too short'})), 412

        if user:
            return make_response(jsonify({'message': 'User exists!'})), 409
        user_hashed_password = password_context.encrypt(user_password)
        user_creation = Users(email=user_email,
                              username=user_name,
                              password=user_hashed_password)
        user_creation.save()
        return make_response(
            jsonify({'message': 'User registered successfully'})), 201
Пример #31
0
def register_user(request):
    #url = request.build_absolute_uri(None)
    #form = UserCreationForm(request.POST)

    #parsed = urlparse.parse_qs(urlparse.urlparse(url).query)
    if request.method == "POST":
        print("IS THE FORM VALID")
        form = UserCreationForm(request.POST)
        print(form)
        if form.is_valid():
            print("YES IT IS")
            data = form.cleaned_data
            userid = data['username']
            print('USERID is ', userid)
            form.save()
            #print(userid)
            if userid != None:
                print("userid not None!!")

                owner_key = request.session.get('owner_key')
                owner_secret = request.session.get('owner_secret')
                display = request.session.get('display')

                newUser = Users(user_id = userid, user_name = display, user_strength = 0,
                            user_agility = 0, user_willpower = 0, user_constitution = 0,
                            user_achievement = bin(0), token = owner_key,
                            token_secret=owner_secret, group = "None")

                newUser.save()

            return HttpResponseRedirect('/register_success')

    url = request.build_absolute_uri(None)
    parsed = urlparse.parse_qs(urlparse.urlparse(url).query)
    if(len(parsed)<1):
        client = fitbit.FitbitOauthClient(FITAPP_CONSUMER_KEY, FITAPP_CONSUMER_SECRET)
        token = client.fetch_request_token()
        request.session['token_no'] = token
        webbrowser.open(client.authorize_token_url())
        return render_to_response('register.html')

    else:
        client = fitbit.FitbitOauthClient(FITAPP_CONSUMER_KEY, FITAPP_CONSUMER_SECRET)
        token = request.session.get('token_no')
        listverifier = parsed['oauth_verifier']
        verifier = listverifier[0]
        result = client.fetch_access_token(verifier,token)
        userid = result.get('encoded_user_id')
        owner_key = result.get('oauth_token')
        owner_secret = result.get('oauth_token_secret')


        auth = fitbit.Fitbit(FITAPP_CONSUMER_KEY, FITAPP_CONSUMER_SECRET, resource_owner_key = owner_key, resource_owner_secret = owner_secret)
        profile = auth.user_profile_get(userid)
        username = profile.get('user').get('displayName')
        request.session['owner_key'] = owner_key
        request.session['owner_secret'] = owner_secret
        request.session['display'] = username

        #username = profile.get('user').get('displayName')

        '''
        newUser = Users(user_id = userid, user_name = username, user_strength = 0,
                            user_agility = 0, user_willpower = 0, user_constitution = 0,
                            user_achievement = bin(0), token = owner_key,
                            token_secret = owner_secret, group = "None")
        newUser.save()
        return HttpResponseRedirect
        '''




    return render(request,'register.html', {"userid": userid,
                                                "form" : UserCreationForm()})
Пример #32
0
def views(request):
    data = {'title': 'Employees'}
    addUserData(request, data)

    if request.method == 'POST':
        if 'action' in request.POST:
            action = request.POST['action']

            if action == 'add':
                try:
                    with transaction.atomic():

                        if 'first_name' in request.POST and request.POST[
                                'first_name'] != '':
                            first_name = request.POST['first_name'].capitalize(
                            )
                        else:
                            return bad_json(
                                message='Please enter a first name')

                        if 'last_name' in request.POST and request.POST[
                                'last_name'] != '':
                            last_name = request.POST['last_name'].capitalize()
                        else:
                            return bad_json(message='Please enter a last name')

                        if 'email' in request.POST and request.POST[
                                'email'] != '':
                            email = request.POST['email']
                        else:
                            return bad_json(
                                message='Please enter a valid email')

                        if 'phone' in request.POST and request.POST[
                                'phone'] != '':
                            phone = request.POST['phone']
                        else:
                            return bad_json(
                                message='Please enter a phone number')

                        gender = None
                        if 'genders' in request.POST and request.POST[
                                'genders'] != '':
                            gender = int(request.POST['genders'])

                        is_supervisor = None
                        if 'supervisors' in request.POST and request.POST[
                                'supervisors'] != '':
                            is_supervisor = True if int(
                                request.POST['supervisors']) == 1 else False

                        if Users.objects.filter(type=USERS_GROUP_EMPLOYEES,
                                                phone=phone).exists():
                            return bad_json(
                                message=
                                'An employee already exist with this phone number'
                            )

                        if Users.objects.filter(type=USERS_GROUP_EMPLOYEES,
                                                user__email=email).exists():
                            return bad_json(
                                message=
                                'An employee already exist with this email')

                        django_user = User(username=email,
                                           first_name=first_name,
                                           last_name=last_name,
                                           email=email)
                        django_user.save()

                        employee = Users(user=django_user,
                                         type=USERS_GROUP_EMPLOYEES,
                                         phone=phone,
                                         gender=gender,
                                         is_supervisor=is_supervisor)
                        employee.save()

                        employee_company = UserCompany(user=employee,
                                                       company=data['company'])
                        employee_company.save()

                        return ok_json(
                            data={
                                'message':
                                'An employee has been successfully created!'
                            })

                except Exception as ex:
                    return bad_json(error=1)

            if action == 'edit':
                try:
                    with transaction.atomic():

                        if 'eid' in request.POST and Users.objects.filter(
                                pk=int(request.POST['eid'])).exists():
                            employee = Users.objects.get(
                                pk=int(request.POST['eid']))

                            if 'first_name' in request.POST and request.POST[
                                    'first_name'] != '':
                                first_name = request.POST[
                                    'first_name'].capitalize()
                            else:
                                return bad_json(
                                    message='Please enter a first name')

                            if 'last_name' in request.POST and request.POST[
                                    'last_name'] != '':
                                last_name = request.POST[
                                    'last_name'].capitalize()
                            else:
                                return bad_json(
                                    message='Please enter a last name')

                            if 'email' in request.POST and request.POST[
                                    'email'] != '':
                                email = request.POST['email']
                            else:
                                return bad_json(
                                    message='Please enter a valid email')

                            if 'phone' in request.POST and request.POST[
                                    'phone'] != '':
                                phone = request.POST['phone']
                            else:
                                return bad_json(
                                    message='Please enter a phone number')

                            gender = None
                            if 'genders' in request.POST and request.POST[
                                    'genders'] != '':
                                gender = int(request.POST['genders'])

                            is_supervisor = None
                            if 'supervisors' in request.POST and request.POST[
                                    'supervisors'] != '':
                                is_supervisor = True if int(
                                    request.POST['supervisors']
                                ) == 1 else False

                            if Users.objects.filter(
                                    type=USERS_GROUP_EMPLOYEES,
                                    phone=phone).exclude(
                                        id=employee.id).exists():
                                return bad_json(
                                    message=
                                    'An employee already exist with this phone number'
                                )

                            if Users.objects.filter(
                                    type=USERS_GROUP_EMPLOYEES,
                                    user__email=email).exclude(
                                        id=employee.id).exists():
                                return bad_json(
                                    message=
                                    'An employee already exist with this email'
                                )

                            django_user = employee.user
                            django_user.first_name = first_name
                            django_user.last_name = last_name
                            django_user.email = email
                            django_user.username = email
                            django_user.save()

                            employee.phone = phone
                            employee.gender = gender
                            employee.is_supervisor = is_supervisor
                            employee.save()

                            return ok_json(
                                data={
                                    'message':
                                    'An employee has been successfully edited!'
                                })

                        return bad_json(message="Employee does not exist")
                except Exception as ex:
                    return bad_json(error=1)

            if action == 'delete':
                try:
                    with transaction.atomic():

                        if 'eid' in request.POST and Users.objects.filter(
                                pk=int(request.POST['eid'])).exists():
                            employee = Users.objects.get(
                                pk=int(request.POST['eid']))
                            django_user = employee.user
                            employee.delete()
                            django_user.delete()
                            return ok_json(
                                data={
                                    'message':
                                    'Am employee has been successfully deleted!'
                                })

                        return bad_json(message="Employee does not exist")
                except Exception as ex:
                    return bad_json(error=1)

            return bad_json(error=0)
    else:

        if 'action' in request.GET:
            action = request.GET['action']

            if action == 'get_employee_data':
                try:
                    if 'eid' in request.GET and Users.objects.filter(
                            pk=int(request.GET['eid'])).exists():
                        employee = Users.objects.get(
                            pk=int(request.GET['eid']))
                        return ok_json(
                            data={
                                'first_name':
                                employee.user.first_name,
                                'last_name':
                                employee.user.last_name,
                                'email':
                                employee.user.email,
                                'phone':
                                employee.phone,
                                'gender':
                                employee.gender,
                                'supervisor':
                                "1" if employee.is_supervisor else "2"
                            })

                    return bad_json(message="Employee does not exist")
                except Exception as ex:
                    return bad_json(message=ex.__str__())

    data['employees'] = Users.objects.filter(
        type=USERS_GROUP_EMPLOYEES, usercompany__company=data['company'])
    return render(request, "employees.html", data)