def index(): summary_form = SummaryForm(request.args) summary_form.components.choices = component_list() reports = [] if summary_form.validate(): hist_table, hist_field = get_history_target( summary_form.resolution.data) component_ids = [] for comp in summary_form.components.data or []: component_ids += map(int, comp.split(',')) (since_date, to_date) = summary_form.daterange.data if summary_form.opsysreleases.data: opsysreleases = summary_form.opsysreleases.data else: opsysreleases = ( db.session.query(OpSysRelease) .filter(OpSysRelease.status != "EOL") .order_by(OpSysRelease.releasedate) .all()) for osr in opsysreleases: counts = ( db.session.query(hist_field.label("time"), func.sum(hist_table.count).label("count")) .group_by(hist_field) .order_by(hist_field)) counts = counts.filter(hist_table.opsysrelease_id == osr.id) if component_ids: counts = (counts.join(Report) .filter(Report.component_id.in_(component_ids))) counts = (counts.filter(hist_field >= since_date) .filter(hist_field <= to_date)) counts = counts.all() dates = set(date_iterator(since_date, summary_form.resolution.data, to_date)) for time, count in counts: dates.remove(time) for date in dates: counts.append((date, 0)) counts = sorted(counts, key=itemgetter(0)) reports.append((str(osr), counts)) return render_template("summary/index.html", summary_form=summary_form, reports=reports, resolution=summary_form.resolution.data[0])
def index(): summary_form = SummaryForm(request.args) reports = [] if summary_form.validate(): index_plot_data = index_plot_data_cache(summary_form) return render_template("summary/index.html", summary_form=summary_form, index_plot_data=index_plot_data) return render_template( "summary/index.html", summary_form=summary_form, reports=reports, resolution=summary_form.resolution.data[0] )
def index(): summary_form = SummaryForm(request.args) reports = [] if summary_form.validate(): index_plot_data = index_plot_data_cache(summary_form) return render_template("summary/index.html", summary_form=summary_form, index_plot_data=index_plot_data) return render_template("summary/index.html", summary_form=summary_form, reports=reports, resolution=summary_form.resolution.data[0])
def survey_eval_summaries(id): ''' Creates new summaries which are shown in form of histograms, when called (web GUI). ''' srvy = db.session.query(SurveyModel).get(id) if srvy is None: print("srvy is none") #debug abort(404) form = SummaryForm() if form.validate_on_submit(): return redirect(url_for('survey_detail', id=srvy.id)) return render_template('srvys/evaluate.html', form=form, title='summaries', srvy=srvy, survey_id=srvy.surveyid)
def survey_summaries(id): ''' Shows the summaries of a survey in form of histograms (web GUI). ''' srvy = db.session.query(SurveyModel).get(id) print("hilfe") print(srvy) if srvy is None: abort(404) form = SummaryForm() if form.validate_on_submit(): return redirect(url_for('survey_detail', id=srvy.id)) return render_template('srvys/histograms.html', form=form, title='summaries', srvy=srvy, survey_id=srvy.surveyid)
def summary_index(): form = SummaryForm() if form.validate_on_submit(): table = PrettyTable() email = form.email.data requests = ip_request_for_email(email).all() table.add_column(u'Name', map(lambda x: x.name, requests)) table.add_column(u'IPs', map(lambda x: ', '.join(x.ips), requests)) table.add_column(u'Vom', map(lambda x: x.created_at.strftime('%d.%m.%Y'), requests)) table.add_column(u'Löschlink', ['[%d]' % x for x in range(len(requests))]) links = [] for r in requests: url = url_for("main.config_destroy", request_id=r.id, signed_token=r.token_destroy, _external=True) links.append(url) subject = '[Freifunk Berlin] IP-Auflistung' data = {'table' : table, 'links' : links, 'email': email} send_email(email, subject, 'summary/email.txt', data) return render_template('summary/success.html', email = email) return render_template('summary/form.html', form = form)
def summary(): form = SummaryForm() if 'email' not in session: return redirect(url_for('signin')) user = User.query.filter_by(email=session['email']).first() if user is None: return redirect(url_for('signin')) else: courses = Course.query.filter_by(ins_id=user.uid).all() courseChoices = [] for course in courses: courseChoices.append( (course.code, course.code + '-' + course.cname)) form.course.choices = courseChoices date = form.time.data ccode = courses[0].code if request.method == 'POST': ccode = form.course.data date = form.time.data course_name = Course.query.filter_by(code=ccode).first().cname attList = Attendance.query.filter_by(course_code=ccode, date=date).all() rows = [] for att in attList: row = {} row['course_code'] = att.course_code row['course_name'] = course_name row['stu_id'] = att.stu_id row['stu_name'] = att.stu_name row['checkin_time'] = att.checkin_time row['checkout_time'] = att.checkout_time row['addi'] = att.additional row['status'] = att.status rows.append(row) sTable = AttendanceTable(rows) return render_template('summary.html', form=form, table=sTable)