Exemplo n.º 1
0
def report():
    form = ReportForm()
    current_user = flask_login.current_user
    if current_user.is_anonymous():
        is_admin = False
    else:
        is_admin = current_user.role == 1
    if form.validate_on_submit():
        if form.user.data == "000000":
            all_tasks = Task.query.all()
        if form.user.data != "000000":
            all_tasks = Task.query.filter_by(user_id=form.user.data)
        tasks_returned = []
        for task in all_tasks:
            if datetime.datetime(form.year_to.data, form.month_to.data, form.day_to.data) >= datetime.datetime(task.start_year, task.start_month, task.start_day) >= datetime.datetime(form.year_from.data, form.month_from.data, form.day_from.data):
                tasks_returned.append(task)
        task_list = []
        for task in tasks_returned:
            task_attributes=[task.id, task.user_id, task.type_label,task.start_weekday, task.start_day, task.start_month, task.start_year, task.end_day, task.end_month, task.end_year, task.start_hour, task.start_minute, task.time_taken]
            task_list.append(task_attributes)
        with open('app/report.csv', 'wb') as test_file:
            file_writer = csv.writer(test_file)
            file_writer.writerow(header_list)
            for task in task_list:
                file_writer.writerow(task)

        return render_template("generated_report.html", task_list=task_list, anonymous=current_user.is_anonymous(), user=form.user.data,tasks_returned=tasks_returned, current_user=current_user,
        is_admin = is_admin)
    return render_template("report.html", form=form, anonymous=current_user.is_anonymous(), current_user=current_user,
        is_admin = is_admin)
Exemplo n.º 2
0
def edit_report(report_id):
    return_url = request.referrer or '/'
    report = Report.query.get_or_404(report_id)
    if report.team_id != current_user.team_id and not current_user.is_admin:
        abort(403)
    form = ReportForm()

    # Quick fix for editing quick reports while It's not a valid option on a normal report:
    if report.category == "דיווח מהיר":
        form.category.render_kw = {'disabled': ""}
        form.category.choices = [(value, value)
                                 for value in search_report_categories]
        form.category.data = "דיווח מהיר"
    if form.validate_on_submit():
        report.address = form.address.data
        report.category = form.category.data
        report.description = form.description.data
        db.session.commit()
        flash('!הדיווח עודכן בהצלחה', 'success')
        return redirect(url_for('view_report', report_id=report.id))
    elif request.method == 'GET':
        form.address.data = report.address
        form.category.data = report.category
        form.description.data = report.description
    return render_template('/create_report.html',
                           form=form,
                           legend="עריכת דיווח",
                           return_url=return_url)
Exemplo n.º 3
0
def report_post(board_name, boards, post_id, ip):
    form = ReportForm()

    if form.validate_on_submit():
        category = form.category.data
        message = form.message.data
        create_report(post_id, None, category, message, ip)
        flash(REPORT_MSG)

    return redirect(url_for('board_catalog', board_name=board_name))
Exemplo n.º 4
0
def report(authority):
    db_auth = Authority.query.filter_by(short=authority).first()
    if db_auth == None:
        flash('Authority %s not found.' % authority)
        return redirect(url_for('index'))
    types = Type.query.filter_by(authority_id = db_auth.id).all()
    form = ReportForm()
    form.type_id.choices = [(t.id, t.name) for t in types]
    if form.validate_on_submit():
        return after_report(request)
    print form.errors
    return render_template('report.html',
                           form=form)
Exemplo n.º 5
0
def reports():
    form = ReportForm()
    if form.validate_on_submit():
        if form.department.data != 100:
            department = Department.query.filter(Department.id ==
                                                 form.department.data).first()
            csv = create_csv(department)
        else:
            csv = '\n'.join(sorted([create_csv(department)
                            for department in Department.query.all()]))
        response = make_response(csv)
        response.headers[
            'Content-Disposition'] = "attachment; filename=report.csv"
        return response

    return render_template('reports.html', form=form)
Exemplo n.º 6
0
def report():
    form = ReportForm()
    ip = request.environ.get('HTTP_X_REAL_IP', request.remote_addr)
    #print(request.environ.get('HTTP_X_REAL_IP', request.remote_addr))
    if form.validate_on_submit(): #form.method == 'POST'
         #request.get_json()["ip"]
        id = Note.getNote(session["randomNote"]["lookupId"]).lookupId
        comments = ""
        if request.form:
            comments = request.form["comments"]
        session.clear()
        msg = Message("Someone reported a post!", sender="*****@*****.**", recipients=["*****@*****.**"])
        msg.body = "Note UUID: " + id + "\n" + "Comments: " + comments + "\n" + "IP Address: " + ip
        mail.send(msg)
        return render_template("success.html")
    try:
        return render_template("report.html", form=form, note=Note.getNote(session["randomNote"]["lookupId"]), ip=ip)
    except:
        return render_template("error/403.html"), 403
Exemplo n.º 7
0
def create_report():
    return_url = request.referrer or '/'
    form = ReportForm()
    if form.validate_on_submit():
        report = Report(category=form.category.data,
                        description=form.description.data,
                        address=form.address.data)
        if current_user.team_id:
            report.team_id = current_user.team_id
        db.session.add(report)
        db.session.commit()
        if not current_user.is_admin:
            create_new_notification(1, report)
        flash('!הדיווח נוצר בהצלחה', 'success')
        return redirect(url_for('reports'))
    return render_template('/create_report.html',
                           form=form,
                           legend="יצירת דיווח",
                           return_url=return_url)