Example #1
0
def project_delete(profile, project, event):
    if not lastuser.has_permission(
            'siteadmin') and g.user not in project.users:
        abort(403)
    form = ConfirmDeleteForm()
    if form.validate_on_submit():
        if 'delete' in request.form:
            # FIXME: All of this should cascade. No need to delete one at a time
            members = ProjectMember.query.filter_by(
                project_id=project.id).all()
            comments = Comment.query.filter_by(
                commentspace=project.comments).all()
            votes = Vote.query.filter_by(votespace=project.votes).all()
            for comment in comments:
                db.session.delete(comment)
            for vote in votes:
                db.session.delete(vote)
            for member in members:
                db.session.delete(member)
            db.session.delete(project.comments)
            db.session.delete(project.votes)
            db.session.delete(project)
            db.session.commit()
            flash("Project removed", "success")
            return render_redirect(url_for('event_view',
                                           profile=profile.name,
                                           event=event.name),
                                   code=303)
    return render_template(
        'baseframe/delete.html',
        form=form,
        title=u"Confirm delete",
        message=
        u"Delete '%s' ? It will remove comments, votes and all information related to the project. This operation cannot be undone."
        % (project.title))
Example #2
0
def project_delete(profile, project, event):
    if not lastuser.has_permission('siteadmin') and g.user not in project.users:
        abort(403)
    form = ConfirmDeleteForm()
    if form.validate_on_submit():
        if 'delete' in request.form:
            # FIXME: All of this should cascade. No need to delete one at a time
            members = ProjectMember.query.filter_by(project_id=project.id).all()
            comments = Comment.query.filter_by(commentspace=project.comments).all()
            votes = Vote.query.filter_by(votespace=project.votes).all()
            for comment in comments:
                db.session.delete(comment)
            for vote in votes:
                db.session.delete(vote)
            for member in members:
                db.session.delete(member)
            db.session.delete(project.comments)
            db.session.delete(project.votes)
            db.session.delete(project)
            db.session.commit()
            flash("Project removed", "success")
            return render_redirect(event.url_for(), code=303)
        elif 'cancel' in request.form:
            return render_redirect(project.url_for(), code=303)
    return render_template('baseframe/delete.html', form=form, title=u"Confirm delete",
        message=u"Delete '%s' ? It will remove comments, votes and all information related to the project. This operation cannot be undone." % (project.title))
Example #3
0
def kiosk_delete(event, kiosk):
    form = ConfirmDeleteForm()
    if form.validate_on_submit():
        if 'delete' in request.form:
            db.session.delete(kiosk)
            db.session.commit()
        return render_redirect(url_for('event_kiosks', event=event.id), code=303)
    return render_template('baseframe/delete.html', form=form, title=u"Delete '%s' ?" % (kiosk.name),
        message=u"Do you really want to delete the kiosk '%s' from event %s?" % (kiosk.name, event.title))
Example #4
0
def event_delete(event):
    form = ConfirmDeleteForm()
    if form.validate_on_submit():
        if 'delete' in request.form:
            db.session.delete(event)
            db.session.commit()
        return redirect(url_for('index'), code=303)
    return render_template('baseframe/delete.html', form=form, title=u"Confirm delete",
        message=u"Delete '%s' ?" % (event.title))
Example #5
0
def kiosk_delete(kiosk):
    form = ConfirmDeleteForm()
    event = Event.query.get(kiosk.event_id)
    if form.validate_on_submit():
        if 'delete' in request.form:
            db.session.delete(kiosk)
            db.session.commit()
        return render_redirect(url_for('event_kiosks', eventname=event.name), code=303)
    return render_template('baseframe/delete.html', form=form, title=u"Confirm delete",
        message=u"Delete '%s' ?" % (kiosk.company))
Example #6
0
def activity_delete(event, venue, activity):
    if activity.from_funnel:
        flash("You cannot delete activities created by Funnel", "danger")
        return render_redirect(url_for('event_venues', event=event.id))
    form = ConfirmDeleteForm()
    if form.validate_on_submit():
        if 'delete' in request.form:
            db.session.delete(activity)
            flash("Deleted activity %s" % activity.title)
            db.session.commit()
        return render_redirect(url_for('venue_activity', event=event.id, venue=venue.id), code=303)
    return render_template('baseframe/delete.html.jinja2', form=form, title=u"Delete '%s' ?" % (activity.title),
        message=u"Do you really want to delete the activity '%s'? All checkins related to it will be deleted." % (activity.title))
Example #7
0
def event_delete(event):
    form = ConfirmDeleteForm()
    if form.validate_on_submit():
        if 'delete' in request.form:
            db.session.delete(event)
            db.session.commit()
        return render_redirect(url_for('index'), code=303)
    return render_template(
        'baseframe/delete.html',
        form=form,
        title=u"Delete '%s' ?" % (event.title),
        message=u"Do you really want to delete the event '%s'?" %
        (event.title))
Example #8
0
def expense_delete(workspace, report, expense):
    form = ConfirmDeleteForm()
    if form.validate_on_submit():
        if 'delete' in request.form:
            db.session.delete(expense)
            db.session.commit()
            report.update_total()
            report.update_sequence_numbers()
            db.session.commit()
        return redirect(url_for('report', workspace=workspace.name, report=report.url_name), code=303)
    return render_template('baseframe/delete.html', form=form, title=u"Confirm delete",
        message=u"Delete expense item '%s' for %s %s?" % (
            expense.description, report.currency, format_currency(expense.amount)))
Example #9
0
def kiosk_delete(event, kiosk):
    form = ConfirmDeleteForm()
    if form.validate_on_submit():
        if 'delete' in request.form:
            db.session.delete(kiosk)
            db.session.commit()
        return render_redirect(url_for('event_kiosks', event=event.id),
                               code=303)
    return render_template(
        'baseframe/delete.html',
        form=form,
        title=u"Delete '%s' ?" % (kiosk.name),
        message=u"Do you really want to delete the kiosk '%s' from event %s?" %
        (kiosk.name, event.title))
Example #10
0
def venue_delete(event, venue):
    if venue.from_funnel:
        flash("You cannot delete venues created by Funnel", "danger")
        return render_redirect(url_for('event_venues', event=event.id))
    form = ConfirmDeleteForm()
    if form.validate_on_submit():
        if 'delete' in request.form:
            for activity in venue.activity:
                db.session.delete(activity)
            db.session.delete(venue)
            flash("Deleted venue %s" % venue.title)
            db.session.commit()
        return render_redirect(url_for('event_venues', event=event.id), code=303)
    return render_template('baseframe/delete.html', form=form, title=u"Delete '%s' ?" % (venue.title),
        message=u"Do you really want to delete the venue '%s'? All it's activity items and checkins will also get deleted." % (event.title))
Example #11
0
def project_leave(profile, project, event):
    form = ConfirmDeleteForm()
    if form.validate_on_submit():
        member = ProjectMember.query.filter_by(project_id=project.id, user=g.user).first()
        if member:
            if member.user_id == project.user_id:
                flash("You are owner of the project, you can't leave the project", "fail")
            else:
                db.session.delete(member)
                db.session.commit()
                flash("You are no more part of this team!", "success")
        else:
            flash("You need to be a participant to leave this team.", "fail")
        return redirect(project.url_for(), code=303)
    return render_template('baseframe/delete.html', form=form, title=u"Confirm delete",
        message=u"Leave project '%s'? It will remove your participation from this project. This operation cannot be undone." % (project.title))
Example #12
0
def line_item_delete(workspace, invoice, lineitem):
    workflow = invoice.workflow()
    if not workflow.can_view():
        abort(403)
    if not workflow.can_edit():
        abort(403)
    form = ConfirmDeleteForm()
    if form.validate_on_submit():
        if 'delete' in request.form:
            db.session.delete(lineitem)
            db.session.commit()
            invoice.update_total()
            db.session.commit()
        return redirect(url_for('invoice', workspace=workspace.name, invoice=invoice.url_name), code=303)
    return render_template('baseframe/delete.html.jinja2', form=form, title=u"Confirm delete",
        message=u"Delete line item '%s' for %s %s?" % (
            lineitem.description, invoice.currency, format_currency(lineitem.total)))
Example #13
0
def expense_delete(report, expense):
    #report = ExpenseReport.query.get_or_404(rid)
    workflow = report.workflow()
    if not workflow.can_view():
        abort(403)
    if not workflow.can_edit():
        abort(403)
    #expense = Expense.query.filter_by(report=report, id=eid).first_or_404()
    form = ConfirmDeleteForm()
    if form.validate_on_submit():
        if 'delete' in request.form:
            db.session.delete(expense)
            db.session.commit()
            report.update_total()
            db.session.commit()
            return redirect(url_for('report', id=report.id), code=303)
    return render_template('baseframe/delete.html', form=form, title=u"Confirm delete",
        message=u"Delete expense item '%s' for %s %s?" % (
            expense.description, report.currency, format_currency(expense.amount)))
Example #14
0
def expense_delete(workspace, report, expense):
    form = ConfirmDeleteForm()
    if form.validate_on_submit():
        if 'delete' in request.form:
            db.session.delete(expense)
            db.session.commit()
            report.update_total()
            report.update_sequence_numbers()
            db.session.commit()
        return redirect(url_for('report',
                                workspace=workspace.name,
                                report=report.url_name),
                        code=303)
    return render_template('baseframe/delete.html',
                           form=form,
                           title=u"Confirm delete",
                           message=u"Delete expense item '%s' for %s %s?" %
                           (expense.description, report.currency,
                            format_currency(expense.amount)))
Example #15
0
def activity_delete(event, venue, activity):
    if activity.from_funnel:
        flash("You cannot delete activities created by Funnel", "danger")
        return render_redirect(url_for('event_venues', event=event.id))
    form = ConfirmDeleteForm()
    if form.validate_on_submit():
        if 'delete' in request.form:
            db.session.delete(activity)
            flash("Deleted activity %s" % activity.title)
            db.session.commit()
        return render_redirect(url_for('venue_activity',
                                       event=event.id,
                                       venue=venue.id),
                               code=303)
    return render_template(
        'baseframe/delete.html',
        form=form,
        title=u"Delete '%s' ?" % (activity.title),
        message=
        u"Do you really want to delete the activity '%s'? All checkins related to it will be deleted."
        % (activity.title))
Example #16
0
def venue_delete(event, venue):
    if venue.from_funnel:
        flash("You cannot delete venues created by Funnel", "danger")
        return render_redirect(url_for('event_venues', event=event.id))
    form = ConfirmDeleteForm()
    if form.validate_on_submit():
        if 'delete' in request.form:
            for activity in venue.activity:
                db.session.delete(activity)
            db.session.delete(venue)
            flash("Deleted venue %s" % venue.title)
            db.session.commit()
        return render_redirect(url_for('event_venues', event=event.id),
                               code=303)
    return render_template(
        'baseframe/delete.html',
        form=form,
        title=u"Delete '%s' ?" % (venue.title),
        message=
        u"Do you really want to delete the venue '%s'? All it's activity items and checkins will also get deleted."
        % (event.title))
Example #17
0
def expense_delete(report, expense):
    #report = ExpenseReport.query.get_or_404(rid)
    workflow = report.workflow()
    if not workflow.can_view():
        abort(403)
    if not workflow.can_edit():
        abort(403)
    #expense = Expense.query.filter_by(report=report, id=eid).first_or_404()
    form = ConfirmDeleteForm()
    if form.validate_on_submit():
        if 'delete' in request.form:
            db.session.delete(expense)
            db.session.commit()
            report.update_total()
            db.session.commit()
            return redirect(url_for('report', id=report.id), code=303)
    return render_template('baseframe/delete.html',
                           form=form,
                           title=u"Confirm delete",
                           message=u"Delete expense item '%s' for %s %s?" %
                           (expense.description, report.currency,
                            format_currency(expense.amount)))
Example #18
0
def project_leave(profile, project, event):
    form = ConfirmDeleteForm()
    if form.validate_on_submit():
        member = ProjectMember.query.filter_by(project_id=project.id,
                                               user=g.user).first()
        if member:
            if member.user_id == project.user_id:
                flash(
                    "You are owner of the project, you can't leave the project",
                    "fail")
            else:
                db.session.delete(member)
                db.session.commit()
                flash("You are no more part of this team!", "success")
        else:
            flash("You need to be a participant to leave this team.", "fail")
        return redirect(project.url_for(), code=303)
    return render_template(
        'baseframe/delete.html',
        form=form,
        title=u"Confirm delete",
        message=
        u"Leave project '%s'? It will remove your participation from this project. This operation cannot be undone."
        % (project.title))