def organisation_survey_view(organisation_code, workflow, workflow_name, organisationsurvey, allowed_to_edit): organisation = Organisation.query.filter_by( organisation_code=organisation_code).first_or_404() # the next line may be being called for its side effects dqsurveys.getSurveyData(organisation_code, workflow_name) surveydata = dqsurveys.getSurveyDataAllWorkflows(organisation_code) try: print surveydata['cso'] except Exception: pass indicators = dqindicators.indicators(app.config["INDICATOR_GROUP"]) org_indicators = dqorganisations._organisation_indicators_split( organisation, 2) twentytwelvedata = iatidq.survey.mapping.get_organisation_results( organisation_code, [i[1]["indicator"]["name"] for i in org_indicators["zero"].items()] ) publishedstatuses = dict(map(id_tuple, dqsurveys.publishedStatus())) publishedformats = dict(map(id_tuple, dqsurveys.publishedFormatAll())) years = get_ordinal_values_years() year_data = dict(years) years.pop() donorresponses = donorresponse.RESPONSE_IDS old_publication_status = get_old_publication_status() admin = usermanagement.check_perms('admin') loggedinuser = current_user org_indicators['commitment'] = util.resort_sqlalchemy_indicator(org_indicators['commitment']) org_indicators['zero'] = util.resort_dict_indicator(org_indicators['zero']) return render_template( "surveys/_survey_%s.html" % workflow.WorkflowType.name, **locals())
def organisation_publication_unauthorised(organisation_code, aggregation_type): aggregation_type=integerise(request.args.get('aggregation_type', 2)) all_aggregation_types = dqaggregationtypes.aggregationTypes() organisation = Organisation.query.filter_by( organisation_code=organisation_code).first_or_404() aggregate_results = dqorganisations._organisation_indicators_complete_split( organisation, aggregation_type) packages = dqorganisations.organisationPackages(organisation_code) org_indicators = dqindicators.indicators(app.config["INDICATOR_GROUP"]) lastyearsdata = iatidq.survey.mapping.get_organisation_results( organisation_code, [i.name for i in org_indicators] ) publishedformats = dict(map(name_tuple, dqsurveys.publishedFormatsAll())) def annotate(res): tmp = dict(res) name = res["indicator"]["name"] lyd = lastyearsdata[name] tmp["lastyearsdata"] = lyd tmp["lastyearsdata_iati"] = lyd["iati_manual"] == "iati" tmp["lastyearsdata_manual"] = lyd["iati_manual"] == "manual" def format_and_title(): if float(lyd["total_points"]) > 0: if tmp["lastyearsdata_iati"]: return ("success", "IATI") else: pub_format = publishedformats[lyd["publication_format"]] return (pub_format["format_class"], pub_format["title"]) elif lyd["publication_status"] == "sometimes": return ("default", "Sometimes published") else: return ("inverse", "Not published") ly_format, ly_title = format_and_title() tmp["lastyearsdata_format"] = ly_format tmp["lastyearsdata_title"] = ly_title tmp["uses_iati"] = res.get("results_pct", 0) > 0 return tmp result = { "commitment": map(annotate, util.resort_sqlalchemy_indicator( aggregate_results['commitment']).values()), "publication_organisation": map(annotate, util.resort_dict_indicator( aggregate_results['publication_organisation']).values()), "publication_activity": map(annotate, util.resort_dict_indicator( aggregate_results['publication_activity']).values()) } published_status_by_id = dict(map(id_tuple, dqsurveys.publishedStatus())) published_status_by_id[None] = { 'name': 'Unknown', 'publishedstatus_class': 'label-inverse' } publishedformats[None] = { 'name': 'Unknown', 'format_class': 'label-inverse' } latest_runtime=1 years = dict(get_ordinal_values_years()) payload = { "links": { "login": url_for('login', next='/organisations/' + organisation.organisation_code + '/publication'), "orgpage": url_for('organisations', organisation_code=organisation.organisation_code) }, "organisation": organisation.as_dict(), "result": result } json_data = json.dumps(payload, indent=2) return render_template("organisation_index_public_2014.html", organisation=organisation, results=aggregate_results, all_aggregation_types=all_aggregation_types, aggregation_type=aggregation_type, packages=packages, admin=usermanagement.check_perms('admin'), loggedinuser=current_user, lastyearsdata=lastyearsdata, publishedformats=publishedformats, years=years, json_data=json_data, old_publication_status = surveys.get_old_publication_status())