Ejemplo n.º 1
0
 def validate_email(self, email):
     if session['email'] != email.data:
         email = tabla_usuarios.find_one({'email': email.data})
         if email:
             raise ValidationError(
                 'Este email ya esta registrado. Porfavor inicie sesion o recupere su contraseña'
             )
Ejemplo n.º 2
0
def estudio(_id):
    estudio = tabla_estudios.find_one({'_id': ObjectId(_id)})
    creador = tabla_usuarios.find_one({'usuario': estudio['usuario']})
    if 'user' in session:
        return render_template('estudio.html', title=estudio['titulo'], estudio=estudio, control_center=True, creador=creador, css=True)
    else:
        return render_template('estudio.html', title=estudio['titulo'], estudio = estudio, control_center = False, creador = creador, css = True)
Ejemplo n.º 3
0
def perfil():
    if 'user' in session:
        profile = url_for('static', filename='profile-pic/'+session['image'])
        form = UpdateAccount_Form()
        if form.validate_on_submit():
            user = tabla_usuarios.find_one({'usuario': session['user']})
            colaboradores = user['colaboradores']
            if form.picture.data:
                if user['image'] != 'nada':
                    picture_path = os.path.join(
                        app.root_path, 'static/profile-pic', user['image'])
                    os.remove(picture_path)
                picture_file, _ = save_picture(form.picture.data)
                session['image'] = picture_file
            cambios = {'usuario': form.username.data,
                       'email': form.email.data, 'image': session['image']}
            tabla_usuarios.update_one(
                {'usuario': session['user']}, {'$set': cambios})
            if form.colaboradores.data:
                colaboradores.append(form.colaboradores.data['colaborador'])
                tabla_usuarios.update_one({'usuario': session['user']}, {
                                          '$set': {'colaboradores': colaboradores}})
            session['user'] = form.username.data
            session['email'] = form.email.data
            flash('Tus cambios se han actualizado', 'success')
            return redirect(url_for('perfil'))
        elif request.method == 'GET':
            form.username.data = session['user']
            form.email.data = session['email']
        usuario = tabla_usuarios.find_one({'usuario': session['user']})
        colaboradores = usuario['colaboradores']
        print(colaboradores)
        print(len(colaboradores))
        if colaboradores[0] == 'nada' and len(colaboradores)<=1:
            vacio_colaboradores = True
        else:
            vacio_colaboradores = False
            colaboradores = colaboradores[1:]
        return render_template('perfil.html', title='Perfil', control_center=True, profile=profile, form=form, css=True, colaboradores = colaboradores, vacio_colaboradores = vacio_colaboradores)
    else:
        return redirect(url_for('login'))
Ejemplo n.º 4
0
def index():
    form = PublicacionForm()
    if request.method == 'POST':
        usuario = tabla_usuarios.find_one({'usuario': session['user']})
        publicacion = {
            'creador': usuario['usuario'],
            'fecha': time.strftime("%d-%m-%Y"),
            'categoria': form.categoria.data,
            'titulo': form.titulo.data,
            'telefono': form.telefono.data,
            'email': form.email.data,
            'contenido': form.contenido.data,
            'foto': usuario['image']
        }
        flash('Publicacion Publicada exitosamente', 'success')
        tabla_publicaciones.insert_one(publicacion)
        return redirect(url_for('index'))   
    return render_template('index.html', titulo= 'Index', form = form, cc= False)
Ejemplo n.º 5
0
def iniciar_sesion():
    form = InicioSesionForm()
    if form.validate_on_submit():
        user = tabla_usuarios.find_one({'usuario': form.username.data})
        if user and bcrypt.check_password_hash(user['password'], form.password.data):
            # login_user(user, remember=login.remember.data)
            flash('Inicio de sesion completado satisfactoriamente', 'success')
            session['user'] = user['usuario']
            session['email'] = user['email']
            if user['image'] != None:
                session['image'] = user['image']
            else:
                session['image'] = 'default.jpg'
            next_page = request.args.get('next')
            return redirect(next_page) if next_page else redirect(url_for('index'))
        else:
            flash('No se pudo iniciar sesion, porfavor revise el usuario y contraseña', 'danger')
    return render_template('inicio_sesion.html', titulo = 'Inicio De Sesion', form = form)
Ejemplo n.º 6
0
def perfil(id):
    if 'user' in session:
        form = ActualizarPerfilForm()
        usuario = tabla_usuarios.find_one({'usuario': id})
        if request.method == 'POST':
            print('hola')
            if form.picture.data:
                filename = save_picture(form.picture.data, 'perfil')
            else: 
                filename = 'default.jpg'
            cambios = {
                'usuario': form.username.data,
                'email': form.email.data, 
                'image': filename,
                'cedula': form.cedula.data,
                'nombre': form.nombre.data,
                'apellido': form.apellido.data,
                'habilidades': form.habilidades.data,
                'experiencia': form.experiencia.data,
                'educacion': form.educacion.data, 
            }
            tabla_publicaciones.update_many({'creador':id}, {'$set': {'creador': form.username.data}})
            tabla_usuarios.update_one({'usuario': id}, {'$set': cambios})
            session['user'] = form.username.data
            session['email'] = form.email.data
            session['image'] = filename
            flash('Tus cambios se realizaron satisfactoriamente', 'success')
        if request.method == 'GET':
            print('hoa 1')
            form.apellido.data = usuario['apellido']
            form.username.data = usuario['usuario']
            form.email.data = usuario['email']
            form.nombre.data = usuario['nombre']
            form.habilidades.data = usuario['habilidades']
            form.experiencia.data = usuario['experiencia']
            form.educacion.data = usuario['educacion']
        return render_template('perfil.html', titulo = 'Perfil', form = form, cc = False)
    else:
        return render_template(url_for('inicio_sesion'))
    return render_template('perfil.html', titulo = 'Perfil')
Ejemplo n.º 7
0
def login():
    if 'user' in session:
        return redirect(url_for('resultados'))
    login = LogIn_Form()
    if login.validate_on_submit():
        user = tabla_usuarios.find_one({'usuario': login.username.data})
        if user and bcrypt.check_password_hash(user['password'],
                                               login.password.data):
            # login_user(user, remember=login.remember.data)
            flash('Inicio de sesión completado satisfactoriamente', 'success')
            session['user'] = user['usuario']
            session['email'] = user['email']
            next_page = request.args.get('next')
            print(next_page)
            return redirect(next_page) if next_page else redirect(
                url_for('resultados'))
        else:
            flash(
                'No se pudo iniciar sesión, por favor revise el usuario y contraseña',
                'danger')
    return render_template('inicio_sesion.html',
                           title='Inicio Sesion',
                           form=login)
Ejemplo n.º 8
0
def historial():
    if 'user' in session:
        limit = 1
        page = request.args.get('page', 1, type=int)
        starting_id = tabla_estudios.find(
            {'usuario': session['user']}).sort('_id', 1)
        count = tabla_estudios.count_documents({'usuario': session['user']})
        total_pages = ceil(count / limit)
        mitad = ceil(total_pages/2)
        hola = tabla_estudios.find_one({'usuario': session['user']})
        hola2 = tabla_estudios.find_one({'colaboradores': session['user']})
        estudios = []
        pages = []
        if hola or hola2:
            if page == 1 or page == total_pages:
                pages = []
                c = 0
                if mitad % 2 == 0:
                    print('impar')
                    for i in range(1, total_pages+1):
                        if c < 2 or c == total_pages-1 or c == total_pages-2 or c == mitad-2 or c == mitad or c == mitad-1:
                            pages.append(i)
                        else:
                            pages.append(None)
                        c += 1
                    print(total_pages)
                    print(c)
                    print(pages)
                else:
                    print('par')
                    for i in range(1, total_pages+1):
                        if c < 2 or c == total_pages-1 or c == total_pages-2 or c == mitad or c == mitad-1:
                            pages.append(i)
                        else:
                            pages.append(None)
                        c += 1
                    print(total_pages)
                    print(c)
                    print(pages)
            else:
                pages = []
                c = 0
                for i in range(1, total_pages+1):
                    if c == 0 or c == total_pages-1 or c == page or c == page-1 or c == page-2:
                        pages.append(i)
                    else:
                        pages.append(None)
                    c += 1
                print(pages)
            last_id = starting_id[(page-1)*limit]['_id']
            estudios = tabla_estudios.find({'usuario': session['user'], '_id': {
                '$gte': last_id}}).sort('_id', 1).limit(limit)
            form = Add_colaboradorForm()
            form.l_colaborador.choices=[(colaborador, colaborador) for colaborador in tabla_usuarios.find_one({'usuario':session['user']})['colaboradores'][1:]]
            if form.validate.validate_on_submit():
                colaborador = form.l_colaborador.data
                tabla_estudios.update_one({'usuario': session['user']}, {'$set': {'colaboradores':colaborador}})

        if not(estudios):
            vacio_historial = True
        else: 
            vacio_historial = False
        return render_template('historial.html', title='Historial Clinico', control_center=True, estudios=estudios, css=True, pages=pages, current_page=page, vacio_historial = vacio_historial, form = form)
    else:
        return redirect(url_for('login'))
Ejemplo n.º 9
0
 def validate_username(self, username):
     if session['user'] != username.data:
         user = tabla_usuarios.find_one({'usuario': username.data})
         if user:
             raise ValidationError(
                 'Este usuario no esta disponibles. Porfavor ingrese otro.')
Ejemplo n.º 10
0
 def validate_colaborador(self, colaborador):
     user = tabla_usuarios.find_one({'usuario': colaborador.data})
     if not (user):
         raise ValidationError(
             'Este usuario no existe. Porfavor ingrese otro.')
Ejemplo n.º 11
0
 def validate_cedula(self, cedula):
     user = tabla_usuarios.find_one({'cedula': cedula.data})
     user2 = tabla_validacion.find_one({'cedula': cedula.data})
     if user or user2:
         raise ValidationError(
             'Este usuario no esta disponibles. Porfavor ingrese otro.')
Ejemplo n.º 12
0
 def validate_username(self, username):
     user = tabla_usuarios.find_one({'usuario': username.data})
     user2 = tabla_validacion.find_one({'usuario': username.data})
     if user or user2:
         raise ValidationError(
             'Este usuario no esta disponibles. Porfavor ingrese otro.')