Esempio n. 1
0
	def run(self):
		from data.user import User
		from data.note import Note
		u = User()
		d = User()
		a = User()
		d.firstname = 'Daniel'
		d.lastname = 'Brendle'
		d.store()
		u.firstname = 'Fabian'
		u.lastname = 'Eberhard'
		u.mitbewohner = d
		ident = u.store()

		res = Note.createNote(d,[d,u],"benis in bagina")
		print "RES"+repr(res)

		res2 = Note.getNotesForUser(d)
		print "RES2"+repr(res2)
		print res2[0].getContent()


		res3 = Note.getNotesForUser(u)
		print "RES2"+repr(res3)
		print res3[0].getContent()

		del(u)
		del(d)
		del(res[0])
Esempio n. 2
0
def signup():
    """signup page"""
    if current_user.is_authenticated:
        return redirect(f'/id{current_user.id}')
    form = AuthorizeForm()
    if form.validate_on_submit():
        # if password and control password are equal
        # and username are not taken, add the user to data base
        if form.password.data == form.password_control.data:
            if not db_sess.query(User).filter(
                    User.username == form.username.data).first():
                user = User()
                user.username = form.username.data
                user.create_password_hash(form.password.data)
                db_sess.add(user)
                db_sess.commit()
                return redirect('/login')
            return render_template('signup.html',
                                   form=form,
                                   message="Такое имя пользователя уже занято")
        return render_template('signup.html',
                               form=form,
                               message="Пароли не совпадают")
    return render_template('signup.html', form=form,
                           message="")  # do not remove 'message' argument here
Esempio n. 3
0
def register():
    form = RegisterForm()
    if form.validate_on_submit():
        if form.password.data != form.password_again.data:
            return render_template('user_reg.html',
                                   title='Registration',
                                   form=form,
                                   message="Passwords are not the same")
        session = db_session.create_session()
        if session.query(User).filter(User.login == form.login.data).first():
            return render_template('user_reg.html',
                                   title='Registration',
                                   form=form,
                                   message="This user already exists")
        act_id = hash_password(form.login.data)
        user = User(name=form.name.data,
                    login=form.login.data,
                    age=form.age.data,
                    email=form.email.data,
                    is_active=False,
                    act_id=act_id,
                    likes=0,
                    videos=0)
        user.set_password(form.password.data)
        session.add(user)
        session.commit()
        send_mail(form.email.data, act_id)
        return render_template(
            'activation.html',
            message=
            "A verify message was sent to your email address. Please follow the link in the message"
        )
    return render_template('user_reg.html', title='Registration', form=form)
def new_user(token):
    global tokens, users
    response = requests.post('https://account.keeer.net/api/auth/query_kiuid',
                             data={
                                 'token':
                                 token,
                                 'sign':
                                 _sign(token,
                                       config['server']['keeer_secret_key'])
                             },
                             headers={'User-agent': 'Chrome/78.0.3904.70'})
    if response.status_code != 200:
        raise Exception('Response error<%s>:%s' %
                        (response.status_code, response.text))
        return False
    response = response.json()
    if response['status'] == 0:
        kiuid = response['result']
        if kiuid not in users:
            user = User.from_file(kiuid)
            user = user if user != None else User(kiuid)
            users.update({kiuid: user})
            dump_users_to_file()
        if token not in tokens:
            tokens.update({token: kiuid})
            dump_tokens_to_file()
        return True
    return False
Esempio n. 5
0
def register():
    message_role = role_user()
    form_role = RoleUserForm()
    form = RegisterForm()
    if form.validate_on_submit():
        if form.password.data != form.password_again.data:
            return render_template('register.html',
                                   title='Регистрация',
                                   form=form,
                                   message="Пароли не совпадают")
        db_sess = db_session.create_session()
        if db_sess.query(User).filter(User.email == form.email.data).first():
            return render_template('register.html',
                                   title='Регистрация',
                                   form=form,
                                   message="Такой пользователь уже есть",
                                   message_role=message_role,
                                   form_role=form_role)
        user = User(
            name=form.name.data,
            surname=form.surname.data,
            age=form.age.data,
            email=form.email.data,
            role=1,
        )
        user.set_password(form.password.data)
        db_sess.add(user)
        db_sess.commit()
        return redirect('/login')
    return render_template('register.html',
                           title='Регистрация',
                           form=form,
                           message_role=message_role,
                           form_role=form_role)
Esempio n. 6
0
def reqister():
    form = RegisterForm()
    if form.validate_on_submit():
        if form.password.data != form.password_again.data:
            return render_template('register.html',
                                   title='Регистрация',
                                   form=form,
                                   message="Пароли не совпадают")
        db_sess = db_session.create_session()
        if db_sess.query(User).filter(User.email == form.email.data).first():
            return render_template('register.html',
                                   title='Регистрация',
                                   form=form,
                                   message="Такой пользователь уже есть")
        user = User(name=form.name.data, email=form.email.data, is_admin=False)
        user.set_password(form.password.data)
        db_sess.add(user)
        db_sess.commit()
        f = open('log/log.txt', 'a')
        data = time.ctime(time.time())
        f.write(f'register {data} | {user.name}\n')
        f.close()

        return redirect('/login')
    return render_template('register.html', title='Регистрация', form=form)
def email_verification():
    try:
        form = EmailVerificationForm()
        if form.validate_on_submit():
            db_sess = db_session.create_session()
            if session['Verification Code'] == form.code.data:
                user = User(
                    name=session['User Nickname'],
                    email=session['User Email'],
                )
                user.set_password(session['User Password'])
                db_sess.add(user)
                db_sess.commit()

                logging.info('Added a new User')

                return redirect('/login')

            else:
                return render_template('email_verification.html',
                                       title='Подтверждение',
                                       form=form,
                                       message='Неверный код подтверждения')

        return render_template('email_verification.html',
                               title='Подтверждение',
                               form=form)

    except Exception:
        return render_template('error.html')
Esempio n. 8
0
def register():
    form = RegisterForm()

    if form.validate_on_submit():
        if form.validate_on_submit():
            if form.password.data != form.password_again.data:
                return render_template('register.html',
                                       title='Регистрация',
                                       form=form,
                                       message="Пароли не совпадают")
            session = db_session.create_session()
            if session.query(User).filter(
                    User.email == form.email.data).first():
                return render_template('register.html',
                                       title='Регистрация',
                                       form=form,
                                       message="Такой пользователь уже есть")
            user = User(surname=form.surname.data,
                        name=form.name.data,
                        email=form.email.data)
            user.set_password(form.password.data)
            session.add(user)
            session.commit()
            return redirect('/login')
    return render_template('register.html', title='Авторизация', form=form)
Esempio n. 9
0
    def delete_user(username) -> User:
        user = User()
        del_user = User.objects(username=username)
        del_user.delete()

        del_user = User.objects(username=username)
        return del_user
Esempio n. 10
0
    def getcounter():
        user = User()
        counter = 1
        firstuser = User.objects().order_by('-_id').first()
        if firstuser:
            counter = (firstuser._id) + 1

        return counter
Esempio n. 11
0
    async def inc_xp(self, id, xp):
        """Increments user xp.
        """

        await self.user(id)
        User.objects(_id=id).update_one(inc__xp=xp)
        u = User.objects(_id=id).first()
        return (u.xp, u.level)
Esempio n. 12
0
    def get_user(cls, user_id: int = None, email: str = None) -> User:
        if user_id:
            user_raw = UserDBManager.get_user(user_id)
            return User(*user_raw) if user_raw else None
        elif email:
            user_raw = UserDBManager.get_user_by_email(email)
            return User(*user_raw) if user_raw else None

        return None
Esempio n. 13
0
 def post(self):
     session = db_session.create_session()
     args = parser1.parse_args()
     user = User(
         nickname=args['nickname'],
         status_id=args['status_id']
     )
     user.set_password(args['password'])
     session.add(user)
     session.commit()
Esempio n. 14
0
def register():
    # Загрузка формы регистрации
    form = RegisterForm()
    store_settings = get_store_settings()
    store_settings['title'] = 'Регистрация'
    # Проверка правильности введённых данных
    if form.validate_on_submit():
        if form.password.data != form.password_again.data:
            return render_template('register.html',
                                   form=form,
                                   message="Пароли не совпадают",
                                   **store_settings)
        if check_password(form.password.data):
            return render_template('register.html',
                                   form=form,
                                   message=check_password(form.password.data),
                                   **store_settings)
        if not form.age.data.isnumeric():
            return render_template('register.html',
                                   form=form,
                                   message="Неверный возраст",
                                   **store_settings)
        db_sess = db_session.create_session()
        if db_sess.query(User).filter(User.email == form.email.data).first():
            return render_template('register.html',
                                   form=form,
                                   message="Такой пользователь уже есть",
                                   **store_settings)
        # Создание нового пользователя и занесение в базу данных
        user = User(name=form.name.data,
                    email=form.email.data,
                    surname=form.surname.data,
                    age=int(form.age.data),
                    address=form.address.data,
                    got_bonus=0)
        user.set_password(form.password.data)
        db_sess.add(user)
        db_sess.commit()
        # Создание json-файла с данными нового пользователя: счёт, корзина и заказы
        with open(f'accounts/user_{user.id}.json', 'w',
                  encoding='utf-8') as jsonfile:
            data = {
                'shopping_cart': {
                    'items': [],
                    'summary': {}
                },
                'orders': {},
                'currencies': dict()
            }
            for i in db_sess.query(Currency).all():
                data['currencies'][i.id] = 0
            json.dump(data, jsonfile)
        return redirect("/")
    return render_template('register.html', form=form, **store_settings)
Esempio n. 15
0
 def post(self):
     args = parser.parse_args()
     session = db_session.create_session()
     user = User(
         surname=args['username'],
         email=args['email'],
     )
     user.set_password(args['hashed_password'])
     session.add(user)
     session.commit()
     return jsonify({'success': 'OK'})
async def create_account(name: str, email: str, password: str) -> User:
    user = User()
    user.email = email
    user.name = name
    user.hash_password = crypto.hash(password, rounds=172_434)

    async with db_session.create_async_session() as session:
        session.add(user)
        await session.commit()

    return user
Esempio n. 17
0
async def on_member_join(member: discord.Member):
    global db_sess
    user = User()
    user.user_id = member.id
    user.join_date = datetime.datetime.now()
    db_sess.add(user)
    db_sess.commit()
    for guild in bot.guilds:
        for channel in guild.channels:
            if channel.id == 407923847602503684:
                await channel.send(f'Приветствуем, <@{member.id}>!')
                return
Esempio n. 18
0
def signup():
    if request.method == "GET":
        return render_template("auth/signup.html", title="Sign Up")

    email = escape(request.form.get("email", ""))
    username = escape(request.form.get("name", ""))
    password = escape(request.form.get("password", ""))
    captcha = request.form.get("g-recaptcha-response", False)
    user_object = User(username)

    logCaptcha(captcha)
    if assertConditions(
            user_object, request.form.get("remember", True),
            zip([
                request.form.get("terms", False), captcha,
                not user_object.exists,
                Checker(username).is_valid,
                validate_email(email,
                               check_regex=True,
                               use_blacklist=True,
                               check_mx=False,
                               debug=False),
                len(
                    list(
                        user_object.database.where("email", "==",
                                                   email).stream())) == 0
            ], [
                "Please accept the Terms of Service.",
                "Please complete the reCAPTCHA.",
                "Username is already in use.", "Username not allowed.",
                "Invalid email.", "Email is already in use."
            ])):
        user_object.update(
            team="Solo",
            email=email,
            submitted=False,
            password=hash_password(password),
            created_date=datetime.datetime.now(),
            image_url=
            "https://cdn.pixabay.com/photo/2017/11/10/05/48/user-2935527_1280.png",
        )

        current_members = solo_team["members"]
        current_members.append(username)

        solo_team.update(members=current_members)
        return redirect(url_for("main.home"))
    else:
        return render_template("auth/signup.html",
                               title="Sign Up",
                               email=email,
                               username=username,
                               password=password)
Esempio n. 19
0
 def register_user(data) -> User:
     user = User()
     user._id = UserModel.getcounter()
     user.email = data['email']
     user.username = data['username']
     user.password = encrypt_password(data['password'])
     user.role = data['role']
     user.save()
     return user
Esempio n. 20
0
    def find_all_users() -> User:
        user = User()
        queryset = User.objects().order_by('-_id')

        user_collection = []
        for user in queryset:
            retuserdetails = {}
            retuserdetails['username'] = user.username
            retuserdetails['_id'] = user._id
            retuserdetails['email'] = user.email
            retuserdetails['role'] = user.role
            user_collection.append(retuserdetails)
        return user_collection
 def post(self):
     """adding new user (if data is correct) by post request
     e.g post('http://localhost:5000/api/users', json={'username': '******', 'password': '******'})"""
     args = parser.parse_args()
     session = db_session.create_session()
     user = User()
     user.username = args['username']
     if len(args['password']) <= 6:
         return jsonify({'success': 'Bad password'})
     user.create_password_hash(args['password'])
     session.add(user)
     session.commit()
     return jsonify({'success': 'OK'})
def create_account(name: str, email: str, password: str):
    session = db_session.create_session()
    try:
        user = User()
        user.email = email
        user.name = name
        user.hash_password = crypto.hash(password, rounds=172_434)

        session.add(user)
        session.commit()
        return user
    finally:
        session.close()
Esempio n. 23
0
    async def set_warn_kicked(self, _id: int) -> None:
        """Set the `was_warn_kicked` field in the User object of the user, whose ID is given by `_id`,
        to True. (this happens when a user reaches 400+ points for the first time and is kicked).
        If the user doesn't have a User document in the database, first create that.

        Parameters
        ----------
        _id : int
            The user's ID who we want to set `was_warn_kicked` for.
        """

        # first we ensure this user has a User document in the database before continuing
        await self.user(_id)
        User.objects(_id=_id).update_one(set__was_warn_kicked=True)
Esempio n. 24
0
def add_user(birth_date, nick, about, email, password):
    db = db_session.create_session()
    user = User(nickname=nick, about=about, birth_date=birth_date, email=email)
    user.set_password(password)
    confirm_url = url_for('confirm_email',
                          token=generate_confirmation_token(user.email),
                          _external=True)
    html = render_template('confirm_account.html',
                           confirm=confirm_url,
                           nick=user.nickname)
    send_email(user.email, "Подтверждение почты на pih-poh.online", html)
    db.add(user)
    db.commit()
    db.close()
Esempio n. 25
0
    async def inc_points(self, _id: int, points: int) -> None:
        """Increments the warnpoints by `points` of a user whose ID is given by `_id`.
        If the user doesn't have a User document in the database, first create that.

        Parameters
        ----------
        _id : int
            The user's ID to whom we want to add/remove points
        points : int
            The amount of points to increment the field by, can be negative to remove points
        """

        # first we ensure this user has a User document in the database before continuing
        await self.user(_id)
        User.objects(_id=_id).update_one(inc__warn_points=points)
Esempio n. 26
0
def user(name: str):
    name = escape(name or "")
    user_object = User(name)

    if not user_object.exists:
        return abort(404)
    return render_template("profile.html", title=name, user=user_object)
Esempio n. 27
0
def login():
    if request.method == "GET":
        return render_template("auth/login.html", title="Login")

    username = escape(request.form.get("name", ""))
    password = escape(request.form.get("password", ""))
    captcha = request.form.get("g-recaptcha-response", False)
    user_object = User(username)

    logCaptcha(captcha)
    if assertConditions(
            user_object, request.form.get("remember", True),
            zip([
                captcha, user_object.exists,
                check_password(user_object, password)
            ], [
                "Please complete the reCAPTCHA.", "Invalid username provided.",
                "Username or password is incorrect."
            ])):
        return redirect(url_for("main.home"))
    else:
        return render_template("auth/login.html",
                               title="Login",
                               username=username,
                               password=password)
Esempio n. 28
0
async def login_user(user_id: str, password: str) -> (Optional[User], int):

    url = "https://auth-d.edirepository.org/auth/login/pasta"
    dn = f"uid={user_id},o=EDI,dc=edirepository,dc=org"
    authorization = (base64.b64encode(
        f"{dn}:{password}".encode("utf-8"))).decode("utf-8")
    headers = {"authorization": "Basic " + authorization}

    async with aiohttp.ClientSession() as session:
        async with session.get(url=url, headers=headers) as resp:
            s = resp.status

    if s == status.HTTP_200_OK:
        cookies = resp.cookies
        auth_token = cookies["auth-token"]
        common_name = user_id
        return User(user_id, common_name, auth_token), s
    elif s == status.HTTP_400_BAD_REQUEST:
        msg = "Basic Authorization header not sent in request"
        logger.error(msg)
        return None, s
    elif s == status.HTTP_401_UNAUTHORIZED:
        return None, s
    elif s == status.HTTP_418_IM_A_TEAPOT:
        return None, s
    else:
        msg = "Unrecognized error occurred - response status code: {s}"
        logger.error(msg)
        return None, s
Esempio n. 29
0
def getuserid(phoneno):
    mydb = opendb()
    mycursor = mydb.cursor()
    mycursor.execute(
        "SELECT id,is_validated FROM whatsapp_users where phoneno='" +
        phoneno + "'")
    myresult = mycursor.fetchall()
    u = User(-1, 0)
    userid = -1
    for x in myresult:
        print(x[0])
        u.id = x[0]
        u.isvalidated = x[1]
        userid = x
    mydb.close()
    return u
 def post(self):
     args = parser_user.parse_args()
     session = db_session.create_session()
     user = User(
         name=args['name'],
         email=args['email'],
         hashed_password=args.get('hashed_password'),
         group=args['group']
     )
     if args['is_teacher'].lower() == 'false':
         user.is_teacher = False
     else:
         user.is_teacher = True
     session.add(user)
     session.commit()
     return jsonify({'success': 'OK'})
Esempio n. 31
0
 async def reset_trivia_points(self):
     users = User.objects(trivia_points__ne=0, trivia_points__exists=True)
     count = users.count()
     if count > 0:
         for u in users:
             u.trivia_points = 0
             u.save()
     return count
    def object_from_json(cls, key, value):
        if key == 'user':
            return User.from_json(value)

        if key == 'client':
            return Client.from_json(value)

        return value
    def from_section(section, state, metadata, client_section=None):
        """
        :type section: ?
        :type state: str

        :rtype: WatchSession or None
        """

        if not section:
            return None

        return WatchSession(
            section.get('sessionKey'),
            section.get('ratingKey'),
            metadata, state,
            user=User.from_section(section),
            client=Client.from_section(client_section)
        )