Example #1
0
 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!')
Example #2
0
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'))
Example #3
0
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'))
Example #4
0
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
Example #6
0
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"
Example #9
0
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)
Example #10
0
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)
Example #11
0
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')