Example #1
0
 async def get(self, **kw):
     session = await get_session(self.request)
     if session.get('user'):
         del session['user']
         redirect(self.request, 'login')
     else:
         raise web.HTTPForbidden(body=b'Forbidden')
Example #2
0
    async def form_valid(self, form):
        password = form.password.data
        email = form.email.data

        user = await User.query.where(User.email == email).gino.first()
        if not user or not verify_password(password, user.password):
            return {'form': form, 'error_msg': 'Email or password is incorect'}
        login_user(self.request, user)
        redirect(self.request, 'create_room')
Example #3
0
    async def post(self, *args, **kwargs):
        data = await self.request.post()

        room_id = data.get('room', False)
        if room_id:
            session = await get_session(self.request, )
            set_session(session=session, room_id=room_id, )
            redirect(self.request, 'main')

        redirect(self.request, 'admin')
Example #4
0
    async def get(self):
        session = await get_session(self.request)

        if session.get('user') and session.get('room_id'):

            message = MessageMySQL(user_id=session['user'],
                                   room_id=session['room_id'])
            return {
                'messages':
                await message.get_messages(room_id=int(session.get('room_id')))
            }

        else:
            redirect(self.request, 'login')
Example #5
0
    async def post(self, *args, **kwargs):
        data = await self.request.post()

        name = data.get('name', False)
        if name:
            room = RoomMySQL()
            await room.create_room(name=name)

            dict_response = {'content_type': 'application/json',
                             'status': 200,
                             'charset': 'utf-8', }

            dict_response.update({'text': json.dumps({'result': 'Ok', 'redirect': '/admin/', }, ), }, )

            return web.Response(**dict_response)

        room_id = data.get('room', False)
        if room_id:
            session = await get_session(self.request, )
            set_session(session=session, room_id=room_id, )
            redirect(self.request, 'main')

        redirect(self.request, 'admin')
Example #6
0
    async def get(self, *args, **kwargs):
        session = await get_session(self.request)
        if session.get('user'):
            user = UserMySQL(id=session['user'], )
            user = await user.get_user_by_id()

            if isinstance(user, bool):
                del session['user']
                redirect(self.request, 'login')

            if user.is_admin:
                redirect(self.request, 'admin')
            else:
                redirect(self.request, 'rooms')
        else:
            redirect(self.request, 'login')
Example #7
0
 async def post(self):
     room_name = await self.is_valid()
     if not room_name:
         redirect(self.request, 'create_room')
     if await Room.query.where(Room.name == room_name).gino.first():
         add_message(self.request, 'danger', f'Room with {room_name} already exists.')
         redirect(self.request, 'create_room')
     room = await Room.create(name=room_name, created_date=datetime.now())
     redirect(self.request, 'room', slug=room.name)
Example #8
0
    async def form_valid(self, form):
        username = form.username.data
        email = form.email.data
        password = form.password.data
        password_repeat = form.password_repeat.data

        user_match = await User.query.where(User.username == username
                                            ).gino.first()
        email_match = await User.query.where(User.email == email).gino.first()

        if user_match or email_match:
            add_message(self.request, 'danger',
                        f'Username or email already taken')
            redirect(self.request, 'register')

        if password != password_repeat:
            add_message(self.request, 'warning',
                        f'Password confirmation does not match')
            redirect(self.request, 'register')

        password = encrypt_password(password)
        await User.create(username=username, email=email, password=password)
        redirect(self.request, 'login')
Example #9
0
    async def get(self, *args, **kwargs):
        session = await get_session(self.request)

        if session.get('user'):
            redirect(self.request, 'main')
        return {'content': 'Please enter login or email'}
Example #10
0
 async def get(self):
     logout(self.request)
     redirect(self.request, 'login')
Example #11
0
 async def get(self, **kwargs):
     self.request.session.pop('user')
     redirect(self.request, 'login')
Example #12
0
    async def wrapper(self, *args, **kwargs):
        if not self.request.user:
            redirect(self.request, 'login')

        return await func(self, *args, **kwargs)
Example #13
0
    async def wrapper(self, *args, **kwargs):
        if self.request.user:
            redirect(self.request, 'create_room')

        return await func(self, *args, **kwargs)
Example #14
0
 async def form_valid(self, form):
     password = encrypt_password(form.password.data)
     await User.create(username=form.username.data,
                       email=form.email.data,
                       password=password)
     redirect(self.request, 'login')
Example #15
0
 async def get(self, **kw):
     session = await get_session(self.request)
     if session.get('user'):
         redirect(self.request, 'main')
     return {'content': 'Please enter your data'}
Example #16
0
 async def wrapped(self, *args, **kwargs):
     if self.request.user is None:
         redirect(self.request, 'login')
     return await func(self, *args, **kwargs)
Example #17
0
 async def login_user(self, user_id):
     """ Put user to session and redirect to Index """
     self.request.session['user'] = str(user_id)
     self.request.session['time'] = time()
     redirect(self.request, 'main')