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)
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)
def validate_email(self,field): try: user = Users.objects(email=field.data).get() if user: raise ValidationError('Email este deja folosit!') except: pass
def validate_username(self,field): try: user = Users.objects(username=field.data).get() if user: raise ValidationError('Utilizatorul exista!') except: pass
def validate_email(self, field): try: user = Users.objects(email=field.data).get() if user: raise ValidationError('Email este deja folosit!') except: pass
def validate_username(self, field): try: user = Users.objects(username=field.data).get() if user: raise ValidationError('Utilizatorul exista!') except: pass
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)
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)
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()
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
def getajax(value): if value == 'usernames': return [str(x.username) for x in Users.objects(status=True)]
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)
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)
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)
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)