Exemplo n.º 1
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)
Exemplo n.º 2
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')