def indicatorgroups(): if not usermanagement.check_perms('admin'): return redirect(url_for('indicators', indicatorgroup=app.config["INDICATOR_GROUP"])) indicatorgroups = dqindicators.indicatorGroups() return render_template("indicatorgroups.html", indicatorgroups=indicatorgroups, admin=usermanagement.check_perms('admin'), loggedinuser=current_user)
def indicators_edit(indicatorgroup=None, indicator=None): indicatorgroups = dqindicators.indicatorGroups() if (request.method == 'POST'): data = { 'name': request.form['name'], 'description': request.form['description'], 'indicatorgroup_id': request.form['indicatorgroup_id'], 'longdescription': request.form['longdescription'], 'indicator_type': request.form.get("indicator_type"), 'indicator_category_name': request.form.get("indicator_category_name"), 'indicator_subcategory_name': request.form.get("indicator_subcategory_name"), 'indicator_ordinal': request.form.get("indicator_ordinal", None), 'indicator_noformat': request.form.get("indicator_noformat", None), 'indicator_order': request.form.get("indicator_order", None), 'indicator_weight': request.form.get("indicator_weight", None) } indicator = dqindicators.updateIndicator(indicatorgroup, indicator, data) flash('Successfully updated Indicator', 'success') else: indicator = dqindicators.indicators(indicatorgroup, indicator) return render_template("indicator_edit.html", indicatorgroups=indicatorgroups, indicator=indicator, admin=usermanagement.check_perms('admin'), loggedinuser=current_user)
def indicators_new(indicatorgroup=None): indicatorgroups = dqindicators.indicatorGroups() if (request.method == 'POST'): data = { 'name': request.form['name'], 'description': request.form['description'], 'indicatorgroup_id': request.form['indicatorgroup_id'], 'longdescription': request.form.get("longdescription"), 'indicator_type': request.form.get("indicator_type"), 'indicator_category_name': request.form.get("indicator_category_name"), 'indicator_subcategory_name': request.form.get("indicator_subcategory_name"), 'indicator_ordinal': request.form.get("indicator_ordinal", None), 'indicator_noformat': request.form.get("indicator_noformat", None), 'indicator_order': request.form.get("indicator_order", None), 'indicator_weight': request.form.get("indicator_weight", None) } indicator = dqindicators.addIndicator(data) if indicator: flash('Successfully added Indicator.', 'success') else: flash("Couldn't add Indicator. Maybe one already exists with the same name?", 'error') else: indicator = None return render_template("indicator_edit.html", indicatorgroups=indicatorgroups, indicator=indicator, admin=usermanagement.check_perms('admin'), loggedinuser=current_user)
def indicators(indicatorgroup=None): its = {} indicators = dqindicators.indicatorsTests(indicatorgroup) indicatorgroup = dqindicators.indicatorGroups(indicatorgroup) for indicator in indicators: ind_id = indicator.Indicator.id if ind_id not in its: its[ind_id] = {} its[ind_id].update(indicator.Indicator.as_dict()) its[ind_id]["indicator_type"] = its[ind_id]["indicator_type"].title() if its[ind_id]["indicator_category_name"]: its[ind_id]["indicator_type"] += " - " + its[ind_id]["indicator_category_name"] if True: if ('test' not in its[ind_id]): its[ind_id]['test'] = [] if indicator.Test: test_data = indicator.Test.as_dict() test_data['test_id'] = test_data['id'] del(test_data['id']) its[ind_id]['test'].append(test_data) its[ind_id]["links"] = { "edit": url_for('indicators_edit', indicatorgroup=indicatorgroup.name, indicator=indicator.Indicator.name), "delete": url_for('indicators_delete', indicatorgroup=indicatorgroup.name, indicator=indicator.Indicator.name) } its = util.resort_indicator_tests(its) links = { "edit_group": url_for('indicatorgroups_edit', indicatorgroup=indicatorgroup.name), "delete_group": url_for('indicatorgroups_delete', indicatorgroup=indicatorgroup.name), "new_indicator": url_for('indicators_new', indicatorgroup=indicatorgroup.name), "csv_assoc_tests": url_for('indicatorgroup_tests_csv', indicatorgroup=indicatorgroup.name), "csv_unassoc_tests": url_for('indicatorgroup_tests_csv', indicatorgroup=indicatorgroup.name, option="no") } indicator_data = [ v for k,v in its.items() ] json_data = json.dumps({ "indicator": indicator_data, "indicatorgroup": indicatorgroup.as_dict(), "admin": usermanagement.check_perms('admin'), "links": links }, indent=2) return render_template("indicators.html", admin=usermanagement.check_perms('admin'), loggedinuser=current_user, json_data=json_data)
def indicators(indicatorgroup=None): indicators = dqindicators.indicators(indicatorgroup) indicatorgroup = dqindicators.indicatorGroups(indicatorgroup) return render_template("indicators.html", indicatorgroup=indicatorgroup, indicators=indicators, admin=usermanagement.check_perms('admin'), loggedinuser=current_user)
def indicatorgroups_edit(indicatorgroup=None): if (request.method == 'POST'): data = { 'name': request.form['name'], 'description': request.form['description'] } indicatorgroup = dqindicators.updateIndicatorGroup(indicatorgroup, data) flash('Successfully updated IndicatorGroup', 'success') else: indicatorgroup = dqindicators.indicatorGroups(indicatorgroup) return render_template("indicatorgroups_edit.html", indicatorgroup=indicatorgroup, admin=usermanagement.check_perms('admin'), loggedinuser=current_user)
def indicatortests(indicatorgroup=None, indicator=None): alltests = dqindicators.allTests() indicator = dqindicators.indicators(indicatorgroup, indicator) indicatorgroup = dqindicators.indicatorGroups(indicatorgroup) if (request.method == 'POST'): for test in request.form.getlist('test'): data = { 'indicator_id': indicator.id, 'test_id': test } if dqindicators.addIndicatorTest(data): flash('Successfully added test to your indicator.', 'success') else: flash("Couldn't add test to your indicator.", 'error') indicatortests = dqindicators.indicatorTests(indicatorgroup.name, indicator.name) return render_template("indicatortests.html", indicatorgroup=indicatorgroup, indicator=indicator, indicatortests=indicatortests, alltests=alltests, admin=usermanagement.check_perms('admin'), loggedinuser=current_user)