def validate_username(self, username): u = User.find_user(username.data) if u is not None: raise ValidationError('Username already exists!') u = User.find_user_request(username.data) if u is not None: raise ValidationError('Username already requested registration!')
def admin(): if current_user.admin and current_user.enabled: requests = User.get_list_user_requests() users = User.get_list_users() return render_template('authentication/admin.html', title='Admin', requests=requests, users=users) else: return redirect(url_for('videoapp.index'))
def delete_request(username): if current_user.admin and current_user.enabled: user_request = User.find_user_request(username) if user_request is not None: User.delete_request(user_request) flash('request deleted') else: flash('user does not exists') return redirect(url_for('authentication.admin')) else: return redirect(url_for('videoapp.index'))
def accept_request(username): if current_user.admin and current_user.enabled: user_request = User.find_user_request(username) if user_request is not None: User.accept_request(user_request) flash('user enabled') else: flash('user does not exists') return redirect(url_for('authentication.admin')) else: return redirect(url_for('trackerapp.index'))
def get_users(): p = User.query.all() d1 = {} for ujson in p: d1.setdefault("users", []).append(User.to_json(ujson)) return d1
def tracker_edit(id): tracker = Tracker.get_tracker(id) if tracker is None: flash('tracker with id {} does not exist'.format(id)) return redirect( url_for('trackerapp.trackerlist', filter_tracker='open')) form = EditTrackerForm(obj=tracker) form.project.choices = [(p.id, p.name) for p in TrkProject.get_all()] form.user_assigned.choices = [(u.username, u.username) for u in User.get_list_enabled_users()] if not form.project.choices: flash('No Projects exist!') return redirect(url_for('projects.projectlist')) if form.validate_on_submit(): tracker.title = form.title.data tracker.description = form.description.data tracker.priority = int(form.priority.data) tracker.status = int(form.status.data) tracker.project = form.project.data tracker.user_assigned = form.user_assigned.data tracker.prefix = TrkProject.get_project(tracker.project).prefix tracker.categories = form.categories.data files = form.images.data action = 'EDITED' for f in files: if f is not None and not f == '': filename = secure_filename(f.filename) if allowed_file(filename): if filename not in tracker.filenames: tracker.filenames.append(filename) if not os.path.exists( os.path.join(current_app.config['UPLOAD_FOLDER'], tracker.id)): os.mkdir( os.path.join(current_app.config['UPLOAD_FOLDER'], tracker.id)) f.save( os.path.join(current_app.config['UPLOAD_FOLDER'], tracker.id, filename)) action = 'ADDED IMAGES' tracker.user_assigned = current_user.username if tracker.status == 0: tracker.status = 1 #working else: flash('File {} skipped because not image'.format(filename)) tracker.update_tracker_by_form() flash('Tracker {} updated'.format(tracker.number)) TrkChanges.create_change(current_user.username, tracker, tracker.project, action) return redirect( url_for('trackerapp.trackerlist', filter_tracker='open')) else: return render_template('trackerapp/tracker_edit.html', form=form, tracker=tracker, title=Tracker.title)
def return_user_details(email): profile = User.query.filter_by(email=email).all() if profile is not None: try: b = User.profile_details(profile[0]) return b except IndexError: return "error"
def return_group_members_count(group): profile = User.query.filter_by(group=group).all() allusers = {} if profile is not None: try: for userJson in profile: #b = User.profile_details(profile[0]) allusers.setdefault("users", []).append(User.to_json(userJson)) return len(profile) except IndexError: return "error"
def registration(): if current_user.is_authenticated: return redirect(url_for('videoapp.index')) form = RegistrationForm() if form.validate_on_submit(): user = User() user.username = form.username.data user.set_password(form.password.data) user.request_registration() flash('Registration request registered') return redirect(url_for('videoapp.index')) return render_template('authentication/registration.html', title='Register', form=form)
def login(): if current_user.is_authenticated: return redirect(url_for('videoapp.videolist')) form = LoginForm() if form.validate_on_submit(): user = User.find_user(form.username.data) if user is None or not user.check_password( form.password.data) or not user.enabled: flash('Incorrect user or password') return redirect(url_for('videoapp.videolist')) login_user(user, form.remember_me.data) next_page = request.args.get('next') if not next_page or url_parse(next_page).netloc != '': next_page = url_for('videoapp.index') return redirect(next_page) return render_template('authentication/login.html', title='Login', form=form)
def add_tracker(): form = AddTrackerForm() form.project.choices = [(p.id, p.name) for p in TrkProject.get_all()] form.user_assigned.choices = [(u.username, u.username) for u in User.get_list_enabled_users()] form.user_assigned.data = current_user.username if 'sessionproject' in session and session['sessionproject'] != 'ALL': form.project.data = session['sessionproject'] if not form.project.choices: flash('No Projects exist!') return redirect(url_for('projects.projectlist', filter_tracker='open')) if form.validate_on_submit(): tracker = Tracker.add_tracker(form.title.data, form.project.data) tracker.description = form.description.data tracker.priority = int(form.priority.data) tracker.project = form.project.data tracker.prefix = TrkProject.get_project(tracker.project).prefix tracker.categories = form.categories.data tracker.user_assigned = form.user_assigned.data files = form.images.data for f in files: if f is not None and not f == '': filename = secure_filename(f.filename) if allowed_file(filename): tracker.filenames.append(filename) if not os.path.exists( os.path.join(current_app.config['UPLOAD_FOLDER'], tracker.id)): os.mkdir( os.path.join(current_app.config['UPLOAD_FOLDER'], tracker.id)) f.save( os.path.join(current_app.config['UPLOAD_FOLDER'], tracker.id, filename)) else: flash('File {} skipped because not image'.format(filename)) tracker.update_tracker_by_form() TrkChanges.create_change(current_user.username, tracker, tracker.project, 'CREATED') return redirect(url_for('trackerapp.tracker_info', id=tracker.id)) return render_template('trackerapp/add_tracker.html', form=form, title='Add tracker')