def index(): """List all cases.""" for_analysis = request.args.get('analyze') == 'on' per_page = current_app.config['ITEMS_PER_PAGE'] page = int(request.args.get('page', 1)) if for_analysis: case_q = db.to_analyze() else: case_q = db.cases() page = case_q.paginate(page, per_page=per_page) return render_template('cases/index.html', page=page, for_analysis=for_analysis)
def dashboard(): """Show details for a case.""" tot_samples = db.samples().count() sequenced = db.samples(sequenced=True).count() delivered = db.samples(delivered=True).count() invoiced = db.samples(invoiced=True).count() archived = db.samples(archived=True).count() genotyped = db.samples(genotyped=True).count() percents = dict( sequenced=(sequenced / tot_samples * 100), delivered=(delivered / tot_samples * 100), invoiced=(invoiced / tot_samples * 100), archived=(archived / tot_samples * 100), genotyped=(genotyped / tot_samples * 100), ) failed = db.samples(maf_fail=True) to_rerun = db.cases(rerun=True) to_research = db.cases(research=True) return render_template('dashboard.html', samples=tot_samples, percents=percents, failed=failed, reruns=to_rerun, research=to_research)