Ejemplo n.º 1
0
def addmessage(id=None,subj=None):
    form = MessageForm()
    if id:
        recp = Users.objects(id=id).get()
        form.recipients.data = recp.username
    
    if form.validate_on_submit():
        if g.user.username in form.recipients.data:
            flash('Expeditorul nu poate fi si destinatar!',category='alert-danger')
            return redirect(request.referrer)
        else:
            recs = []
            for i in form.recipients.data.split(','):
                try:
                    temp_user = Users.objects(username=i).get()
                    recs.append(temp_user)
                except:
                    flash('Utilizatorul '+i+' nu exista!')
                    return redirect(request.referrer)

            msg = Messages(sender=g.user, recipients=recs, title=form.title.data, content=form.content.data, ownerid=g.user, folder='trimise',read=True, msgid=generate_msgid())
            msg.save()
            for i in recs:
                print i.username
                temp = Messages(sender=g.user, recipients=recs, title=form.title.data, content=form.content.data, ownerid=i, folder='inbox', msgid=msg.msgid, date=msg.date)
                temp.save()
            flash('Mesaj trimis!',category='alert-success')
            return redirect(url_for('messages.list'))

    return render_template('messages/add.html',form=form)
Ejemplo n.º 2
0
def edituser():
    """ Build the view used to edit existing accounts """
    user = Users.objects(id=unicode(g.user.id)).get()
    form = UserForm()

    if form.validate_on_submit():
        user.username = form.username.data
        if form.avatar.data:
            image_data = request.FILES[form.avatar.name].read()
            user.avatar = image_data
        user.email = form.email.data
        user.specialties = form.specialties.data.split(',')
        user.interests = form.interests.data.split(',')
        user.save()
        flash('Cont modificat!', category='alert-success')
        return redirect(request.referrer)

    form.username.data = user.username
    form.email.data = user.email
    form.avatar.data = ''
    form.specialties.data = ','.join(user.specialties)
    form.interests.data = ','.join(user.interests)

    return render_template('users/add.html',
                           pagetitle='Editeaza utilizator',
                           form=form)
Ejemplo n.º 3
0
 def validate_email(self,field):
     try:
         user = Users.objects(email=field.data).get()
         if user:
             raise ValidationError('Email este deja folosit!')
     except:
         pass
Ejemplo n.º 4
0
 def validate_username(self,field):
     try:
         user = Users.objects(username=field.data).get()
         if user:
             raise ValidationError('Utilizatorul exista!')
     except:
         pass
Ejemplo n.º 5
0
 def validate_email(self, field):
     try:
         user = Users.objects(email=field.data).get()
         if user:
             raise ValidationError('Email este deja folosit!')
     except:
         pass
Ejemplo n.º 6
0
 def validate_username(self, field):
     try:
         user = Users.objects(username=field.data).get()
         if user:
             raise ValidationError('Utilizatorul exista!')
     except:
         pass
Ejemplo n.º 7
0
def addmessage(id=None, subj=None):
    form = MessageForm()
    if id:
        recp = Users.objects(id=id).get()
        form.recipients.data = recp.username

    if form.validate_on_submit():
        if g.user.username in form.recipients.data:
            flash('Expeditorul nu poate fi si destinatar!',
                  category='alert-danger')
            return redirect(request.referrer)
        else:
            recs = []
            for i in form.recipients.data.split(','):
                try:
                    temp_user = Users.objects(username=i).get()
                    recs.append(temp_user)
                except:
                    flash('Utilizatorul ' + i + ' nu exista!')
                    return redirect(request.referrer)

            msg = Messages(sender=g.user,
                           recipients=recs,
                           title=form.title.data,
                           content=form.content.data,
                           ownerid=g.user,
                           folder='trimise',
                           read=True,
                           msgid=generate_msgid())
            msg.save()
            for i in recs:
                print i.username
                temp = Messages(sender=g.user,
                                recipients=recs,
                                title=form.title.data,
                                content=form.content.data,
                                ownerid=i,
                                folder='inbox',
                                msgid=msg.msgid,
                                date=msg.date)
                temp.save()
            flash('Mesaj trimis!', category='alert-success')
            return redirect(url_for('messages.list'))

    return render_template('messages/add.html', form=form)
Ejemplo n.º 8
0
def detailuser(id):
    user = Users.objects(id=id).get()
    results = [(Users.username.verbose_name, user.username),
               (Users.specialties.verbose_name, ','.join(user.specialties)),
               (Users.interests.verbose_name, ','.join(user.interests))]

    return render_template('users/details.html',
                           pagetitle='Detalii utilizator',
                           results=results)
Ejemplo n.º 9
0
def create_admins(admin):

    from app.users.models import Users
    
    try:
        user = Users.objects(email=admin['email']).get()
    except:
        user = Users(email=admin['email'],username=admin['username'],permissions='full',status=True)
        user.password = admin['password']
        user.save()
Ejemplo n.º 10
0
def editpswduser():
    """ Build the view used to edit a password for an existing account """
    user = Users.objects(id=unicode(g.user.id)).get()
    form = PasswordForm()
    
    if form.validate_on_submit() and user.verify_password(form.oldpasswd.data):
        user.password = form.password.data
        user.save()
        flash('Parola modificata!', category='alert-success')
        return redirect(request.referrer)
    
    return render_template('users/add.html',pagetitle='Editeaza parola',form=form)
Ejemplo n.º 11
0
def editpswduser():
    """ Build the view used to edit a password for an existing account """
    user = Users.objects(id=unicode(g.user.id)).get()
    form = PasswordForm()

    if form.validate_on_submit() and user.verify_password(form.oldpasswd.data):
        user.password = form.password.data
        user.save()
        flash('Parola modificata!', category='alert-success')
        return redirect(request.referrer)

    return render_template('users/add.html',
                           pagetitle='Editeaza parola',
                           form=form)
Ejemplo n.º 12
0
def login():
    form = LoginForm()

    if form.validate_on_submit():
        try:
            user = Users.objects(email=form.email.data).get()
            if user.verify_password(form.password.data):
                login_user(user,form.remember_me.data)
                return redirect(request.args.get('next') or url_for('wall.list'))
            else:
                raise Exception('Not authorised')
        except Exception as err:
            flash('Invalid username or password!', category='alert-danger')

    return render_template('users/login.html', pagetitle='Login',form=form,login=True)
Ejemplo n.º 13
0
def resetlink():
    form = ResetPassForm()

    if form.validate_on_submit():
        try:
            user = Users.objects(email=form.email.data).get()
            token = user.generate_reset_token()
            send_email(user.email,'Resetare parola','/users/email/passwdreset',user=user,token=token)
            flash('Parola a fost resetata! Va rugam urmati instructiunile primite pe email!',category='alert-success')
            return redirect(request.referrer)
        except Exception as err:
            flash('Adresa de email nu exista!',category='alert-danger')
            return redirect(request.referrer)

    return render_template('users/login.html',pagetitle='Resetare parola',form=form,login=False)
Ejemplo n.º 14
0
def resetpassword(email,token):
    form = NewPassForm()

    if form.validate_on_submit():
        try:
            user = Users.objects(email=email).get()
            if user.id == user.resetpass(token):
                user.password = form.password.data
                user.save()
                flash('Parola schimbata!',category='alert-success')
                return redirect(url_for('users.login'))
            else:
                raise Exception
        except:
            flash('Token invalid!',category='alert-danger')
            return redirect(url_for('users.resetlink'))

    return render_template('users/login.html',pagetitle='Resetare parola',form=form,login=False)
Ejemplo n.º 15
0
def login():
    form = LoginForm()

    if form.validate_on_submit():
        try:
            user = Users.objects(email=form.email.data).get()
            if user.verify_password(form.password.data):
                login_user(user, form.remember_me.data)
                return redirect(
                    request.args.get('next') or url_for('wall.list'))
            else:
                raise Exception('Not authorised')
        except Exception as err:
            flash('Invalid username or password!', category='alert-danger')

    return render_template('users/login.html',
                           pagetitle='Login',
                           form=form,
                           login=True)
Ejemplo n.º 16
0
def resetpassword(email, token):
    form = NewPassForm()

    if form.validate_on_submit():
        try:
            user = Users.objects(email=email).get()
            if user.id == user.resetpass(token):
                user.password = form.password.data
                user.save()
                flash('Parola schimbata!', category='alert-success')
                return redirect(url_for('users.login'))
            else:
                raise Exception
        except:
            flash('Token invalid!', category='alert-danger')
            return redirect(url_for('users.resetlink'))

    return render_template('users/login.html',
                           pagetitle='Resetare parola',
                           form=form,
                           login=False)
Ejemplo n.º 17
0
def ajaxedit(action,id):
    user = Users.objects(id=id).get()

    if action == 'delete' and id != unicode(g.user.id):
        user.delete()

    if action == 'mkadmin' and id != unicode(g.user.id):
        user.permissions = 'full'
        user.save()

    if action == 'mkuser' and id != unicode(g.user.id):
        user.permissions = 'user'
        user.save()

    if action == 'deactivate' and id != unicode(g.user.id):
        user.status = False
        user.save()

    if action == 'activate' and id != unicode(g.user.id):
        user.status = True
        user.save()

    return redirect(request.referrer)
Ejemplo n.º 18
0
def ajaxedit(action, id):
    user = Users.objects(id=id).get()

    if action == 'delete' and id != unicode(g.user.id):
        user.delete()

    if action == 'mkadmin' and id != unicode(g.user.id):
        user.permissions = 'full'
        user.save()

    if action == 'mkuser' and id != unicode(g.user.id):
        user.permissions = 'user'
        user.save()

    if action == 'deactivate' and id != unicode(g.user.id):
        user.status = False
        user.save()

    if action == 'activate' and id != unicode(g.user.id):
        user.status = True
        user.save()

    return redirect(request.referrer)
Ejemplo n.º 19
0
def edituser():
    """ Build the view used to edit existing accounts """
    user = Users.objects(id=unicode(g.user.id)).get()
    form = UserForm()
    
    if form.validate_on_submit():
        user.username = form.username.data
        if form.avatar.data:
            image_data = request.FILES[form.avatar.name].read()
            user.avatar = image_data
        user.email = form.email.data
        user.specialties = form.specialties.data.split(',')
        user.interests = form.interests.data.split(',')
        user.save()
        flash('Cont modificat!',category='alert-success')
        return redirect(request.referrer)

    form.username.data = user.username
    form.email.data = user.email
    form.avatar.data = ''
    form.specialties.data = ','.join(user.specialties)
    form.interests.data = ','.join(user.interests)
            
    return render_template('users/add.html',pagetitle='Editeaza utilizator',form=form)
Ejemplo n.º 20
0
def resetlink():
    form = ResetPassForm()

    if form.validate_on_submit():
        try:
            user = Users.objects(email=form.email.data).get()
            token = user.generate_reset_token()
            send_email(user.email,
                       'Resetare parola',
                       '/users/email/passwdreset',
                       user=user,
                       token=token)
            flash(
                'Parola a fost resetata! Va rugam urmati instructiunile primite pe email!',
                category='alert-success')
            return redirect(request.referrer)
        except Exception as err:
            flash('Adresa de email nu exista!', category='alert-danger')
            return redirect(request.referrer)

    return render_template('users/login.html',
                           pagetitle='Resetare parola',
                           form=form,
                           login=False)
Ejemplo n.º 21
0
def getajax(value):
    if value == 'usernames':
        return [str(x.username) for x in Users.objects(status=True)]
Ejemplo n.º 22
0
def getajax(value):
    if value == 'usernames':
        return [str(x.username) for x in Users.objects(status=True)]
Ejemplo n.º 23
0
def detailuser(id):
    user = Users.objects(id=id).get()
    results = [(Users.username.verbose_name,user.username),(Users.specialties.verbose_name,','.join(user.specialties)),(Users.interests.verbose_name,','.join(user.interests))]

    return render_template('users/details.html',pagetitle='Detalii utilizator',results=results)
Ejemplo n.º 24
0
def load_session_data():
    if 'user_id' in session.keys():
        g.user = Users.objects(id=session['user_id']).get()
        session.inbox = getnewmessages(g.user.id)
Ejemplo n.º 25
0
def load_session_data():
    if 'user_id' in session.keys():
        g.user = Users.objects(id=session['user_id']).get()
        session.inbox = getnewmessages(g.user.id)
Ejemplo n.º 26
0
def list():
    """ Build the view used to list all existing accounts """
    results = [x for x in Users.objects()]

    return render_template('users/list.html',results=results)
Ejemplo n.º 27
0
def list():
    """ Build the view used to list all existing accounts """
    results = [x for x in Users.objects()]

    return render_template('users/list.html', results=results)