Skip to content
Commits on Source (2)
......@@ -82,11 +82,6 @@ def process_csv():
os.remove(file_name)
message+=T("The file was imported successfully into the database")
session.status=True
# except psycopg2.IntegrityError as e:
# db.rollback()
# message+=T("There was an integrity integrity error when importing the file")
# session.message=message+" "+str(e)
# session.status=False
except Exception as e:
db.rollback()
message+=T("There was an error when importing the file")
......
......@@ -4,13 +4,9 @@ def index():
return dict(grid=SQLFORM.smartgrid(db.languages, linked_tables=[], user_signature=False))
def set_language():
# language=request.vars.language
# print( request.vars.language)
# return
if(session.active_method=='UP'):
session.active_language=request.vars.language
redirect(URL(session.active_controller,session.active_method,args=(session.active_city)))
else:
session.active_language=request.vars.language
#T.force(language)
redirect(URL(session.active_controller,session.active_method))
\ No newline at end of file
......@@ -73,7 +73,6 @@ def process_csv():
message += T("The file was uploaded successfully ")
data = pd.read_csv(file_name, sep=",", encoding='utf-8', quotechar='"')
#data['user_id'] = auth.user_id
data['country_code'] = request.vars.country_code
data['city_code'] = request.vars.city_code
data['language'] = request.post_vars.language
......@@ -103,14 +102,7 @@ def getPolicyLevers():
result = {}
for category in categories:
result[category["category"]+"_level"]=db((db.policy_levers.city_code == city)& (db.policy_levers.country_code == country) &( db.policy_levers.category == category["category"]) & (db.policy_levers.language==session.active_language)).select(
db.policy_levers.level_name, db.policy_levers.level, db.policy_levers.level_title, orderby=db.policy_levers.level)
# query = """
# select distinct level_name, level,level_title from(
# select distinct category,level_name,level_title,level from where urbper_data.assumptions.city_code = {city} and urbper_data.assumptions.country_code = {country}
# and "category"='infill'
# )c1 order by level asc
# """.format(city=city, country=country)
# result = db.executesql(query, as_dict=True)
db.policy_levers.level_name, db.policy_levers.level, db.policy_levers.lever_title, orderby=db.policy_levers.level)
return dict(result=result)
@auth.requires(lambda: (auth.has_membership('Administrator_back')) or (auth.has_membership('Specialist')) or (auth.has_membership('Manager')) or (auth.has_membership('General Manager')))
......
......@@ -20,39 +20,106 @@ def getResultsCSV():
db.scenario.scenario_id,
db.scenario.scenario_name,
db.scenario.scenario_definition,
db.results.country_code,
db.results.city_code,
db.results.pop_total,
db.results.pop_density,
db.results.footprint_km2,
db.results.land_consumption_km,
db.results.land_consumption_pct,
db.results.agric_consumption,
db.results.biodiversity_consumption,
db.results.greenland_consumption,
db.results.other_land_consumption,
db.results.infill_area_km2,
db.results.pop_density,
db.results.ghg_emissions,
db.results.energy_consumption,
db.results.tot_water,
db.results.wwt_pct,
db.results.ww,
db.results.energy_consumption,
db.results.energy_security,
db.results.ren_energy,
db.results.localren_energy,
db.results.local_energy,
db.results.energy_lighting,
db.results.energy_water,
db.results.energy_transport,
db.results.energy_swaste,
db.results.energy_buildings,
db.results.municipal_service_costs,
db.results.energy_wwt,
db.results.energy_transport,
db.results.energy_gasoline,
db.results.energy_diesel,
db.results.ghg_emissions,
db.results.emissions_transport,
db.results.infrastructure_costs,
db.results.infrastructure_new_costs,
db.results.infrastructure_infill_costs,
db.results.job_prox,
db.results.transit_prox,
db.results.inv_cost,
db.results.hu_cost,
db.results.municipal_service_costs,
db.results.plrunning_cost,
db.results.cwrunning_cost,
db.results.wwtrunning_cost,
db.results.solidw_coverage,
db.results.transport_energy,
db.results.collection_energy,
db.results.cw_coverage,
db.results.hu_tot,
db.results.vhu_tot,
db.results.vhu_rate,
db.results.pop_infill,
db.results.pop_expan,
db.results.school_proximity,
db.results.public_space_proximity,
db.results.sports_proximity,
db.results.worship_proximity,
db.results.pop_prox_school,
db.results.elementary_school_proximity,
db.results.pop_prox_elementary_school,
db.results.secondary_school_proximity,
db.results.pop_prox_secondary_school,
db.results.high_school_proximity,
db.results.pop_prox_high_school,
db.results.university_proximity,
db.results.pop_prox_university,
db.results.health_proximity,
db.results.pop_prox_health,
db.results.nursery_proximity,
db.results.public_service_proximity,
db.results.pop_prox_nursery,
db.results.cultural_facility_proximity,
db.results.pop_prox_cultural_facility,
db.results.public_space_proximity,
db.results.pop_prox_public_space,
db.results.sports_proximity,
db.results.pop_prox_sports,
db.results.job_prox,
db.results.pop_prox_jobs,
db.results.market_proximity,
db.results.pop_prox_market,
db.results.worship_proximity,
db.results.pop_prox_worship,
db.results.public_service_proximity,
db.results.pop_prox_public_service,
db.results.transit_prox,
db.results.pop_prox_transit,
db.results.cycle_prox,
db.results.pop_prox_cycle,
db.results.tot_cycle,
db.results.cycle_cover,
db.results.avge_cycle_track,
db.results.roads_density,
db.results.intersections_density,
db.results.percapita_ps,
db.results.tree_cover,
db.results.carbon_sequestration,
db.results.hazard_exp,
db.results.hu_tot,
db.results.vhu_tot,
db.results.vhu_rate)
db.results.pop_prox_hazards,
db.results.prim_road_km,
db.results.prim_road_km2,
db.results.sec_road_km,
db.results.sec_road_km2,
db.results.ter_road_km,
db.results.ter_road_km2,
db.results.street_coef,
db.results.city_data,
db.results.indirect_data,
db.results.borrowed_data)
return results.as_csv()
@auth.requires(lambda: auth.has_membership('Administrator_back') or auth.has_membership('Specialist') or auth.has_membership('Manager') or auth.has_membership('General Manger'))
......
......@@ -75,11 +75,6 @@ def process_csv():
os.remove(file_name)
message += T("The file was imported successfully into the database")
session.status = True
# except psycopg2.IntegrityError as e:
# db.rollback()
# message+=T("There was an integrity integrity error when importing the file")
# session.message=message+" "+str(e)
# session.status=False
except Exception as e:
db.rollback()
message += T("There was an error when importing the file")
......
@request.restful()
def api():
response.view = 'generic.json'
#if request.env.http_origin:
# response.headers['Access-Control-Allow-Origin'] = request.env.http_origin
response.headers["Access-Control-Allow-Origin"] = '*'
response.headers['Access-Control-Max-Age'] = 86400
response.headers['Access-Control-Allow-Headers'] = '*'
response.headers['Access-Control-Allow-Methods'] = '*'
response.headers['Access-Control-Allow-Credentials'] = 'true'
def GET(table,country,language):
patterns = 'auto'
parser=()
if not table == 'city_maps':
raise HTTP(400)
parser = dict(tile = db((db.city_maps.language==language)&(db.city_maps.country_code==country)).select(db.city_maps.base_map,db.city_maps.base_map_label,db.city_maps.url))
return parser
return dict(GET=GET)
@auth.requires(lambda: (auth.has_membership('Administrator_back')) or (auth.has_membership('Specialist')) or (auth.has_membership('Manager')) or (auth.has_membership('General Manager')))
def index():
session.active_method="index"
session.active_controller="city_maps"
return dict(grid=SQLFORM.smartgrid(db.city_maps, linked_tables=[], user_signature=False))
@auth.requires(lambda: auth.has_membership('Administrator_back') or auth.has_membership('Specialist') or auth.has_membership('Manager') or auth.has_membership('General Manger'))
def import_csv():
countries = db(db.countries).select(
db.countries.country_code, db.countries.country)
languages = db(db.languages).select(
db.languages.id, db.languages.name)
form = FORM(
_action=URL("tiles", "/process_csv"),
_method="post",
*[DIV(_class='form-group',
*[
LABEL(
"Select a country:", _class='col-xs-12', _for="country_code"
),
SELECT(
_name='country_code', _id="country_code", *[OPTION(countries[i].country, _value=str(countries[i].country_code)) for i in range(len(countries))], _class="form-control")
]
),
DIV(_class='form-group',
*[
LABEL(
"Select language:", _class='col-xs-12', _for="language"
), SELECT(
_name='language', _id="language", *[OPTION(languages[i].name, _value=str(languages[i].id)) for i in range(len(languages))], _class="form-control"
)
]
),
DIV(_class='form-group',
*[
LABEL(
"Select a file:", _class='col-xs-12', _for="csv_file"
), INPUT(
_type='file',
_name='csv_file', _id="csv_file", _class="", _accept=".csv")
]
),
DIV(_class='form-group',
*[
INPUT(_type='submit',
_class="col-xs-12 col-sm-6 col-md-4 col-lg-3 btn btn-default")
]
)
]
)
return dict(form=form)
@auth.requires(lambda: auth.has_membership('Administrator_back') or auth.has_membership('Specialist') or auth.has_membership('Manager') or auth.has_membership('General Manger'))
def process_csv():
response.generic_patterns = ['*']
message = ''
import csv
import shutil
import pandas as pd
import os
try:
filename = request.vars.csv_file.filename
file = request.vars.csv_file.file
file_name = request.env.web2py_path + \
'/applications/'+request.application+'/uploads/'+filename
shutil.copyfileobj(file, open(file_name, "wb"))
message += T("The file was uploaded successfully ")
data = pd.read_csv(file_name, sep=",", encoding='utf-8', quotechar='"')
data['country_code'] = request.post_vars.country_code
data['language'] = request.post_vars.language
data['created_by'] = auth.user_id
#csv.field_size_limit(data.location.map(lambda x: len(x)).max())
data.to_csv(file_name, sep=',', encoding='utf-8', index=False,
doublequote=True, quotechar='"', quoting=csv.QUOTE_MINIMAL)
db.city_maps.import_from_csv_file(open(file_name))
os.remove(file_name)
message += T("The file was imported successfully into the database")
session.status = True
except Exception as e:
db.rollback()
message += T("There was an error when importing the file")
message = message+" "+str(e)
session.status = False
else:
db.commit()
session.message = message
redirect(URL("tiles", "index"))
\ No newline at end of file
This diff is collapsed.
......@@ -58,7 +58,7 @@ def insert_permission():
try:
db.admin_permission.bulk_insert([
{"group_id": 1, "name": "UP_GENERAL", "table_name": "UP_GENERAL", "module_order": 0, "module_hierarchy": 100},
{"group_id": 1, "name": "UP_JR", "table_name": "UP_PS", "module_order": 1, "module_hierarchy": 100},
{"group_id": 1, "name": "UP_PS", "table_name": "UP_PS", "module_order": 1, "module_hierarchy": 100},
{"group_id": 1, "name": "UP_ADMIN", "table_name": "UP_ADMIN", "module_order": 0, "module_hierarchy": 99}
])
......@@ -66,8 +66,10 @@ def insert_permission():
print(str(e))
else:
db.commit()
def create_schemas():
db.executesql("create schema if not exists visualizer;")
db.executesql("create extension if not exists postgis")
db.executesql("create extension if not exists dblink")
create_schemas()
populate()
This diff is collapsed.
......@@ -14,9 +14,9 @@ names = localhost:*, 127.0.0.1:*, *:*, *
; db configuration
[db]
uri = postgres://dbuser:dbpassword@dbhost:dbport/dbname
uri = postgres://dbuser:dbpassword@dbhost:dbport/up_visualizer_db_name
migrate = true
fake_migrate_all = true
fake_migrate_all = false
pool_size = 0
check_reserved = None
#schema = 'visualizer'
......
......@@ -16,6 +16,7 @@ routers = dict(
'results',
'scenario_levers_control',
'scenarios',
'tiles',
'transit',
'visualizer_general',
'voronoi'
......@@ -59,7 +60,8 @@ routers = dict(
'get_transit_origin',
'get_footprint',
'get_footprint_0',
'getActivePolicies'
'getActivePolicies',
'get_indicators_to_show',
],
cities=['index',
'getCities',
......@@ -104,7 +106,7 @@ routers = dict(
'delete'],
policy_levers=['index',
'import_csv',
'getPolicylevels',
'getPolicyLevels',
'process_csv',
'delete',
'massive_delete_policy_levers'],
......@@ -130,6 +132,12 @@ routers = dict(
'import_csv',
'process_csv',
'delete'],
tiles=[
'api',
'index',
'import_csv',
'process_csv'
],
scenario_levers_control=['index',
'getScenarioleversControl',
'import_csv',
......
This diff is collapsed.
......@@ -5,8 +5,6 @@ function isArabic(text) {
}
arabe = isArabic($('#download').text());
// arabe = true;
// console.log('arabe',arabe);
$(document).on("change", "#Scenarios1,#Scenarios2", function () {
if ($(this).attr("id") == "Scenarios1" && !$("#compareTo").is(":checked")) {
......@@ -14,7 +12,6 @@ $(document).on("change", "#Scenarios1,#Scenarios2", function () {
}
var escenario_name = $('#Scenarios1 :selected').text();
actualizar_grafica($("#Scenarios1").val(), $('#Scenarios1 :selected').attr('color'), escenario_name, $("#Scenarios1").val());
// console.log('scenario',$('#Scenarios1 :selected').text())
});
function elimSerie(escenario_name) {
......@@ -28,7 +25,6 @@ function elimSerie(escenario_name){
}
function actualizar_grafica(ref_scenario, color, escenario_name, escId) {
// console.log('asas');
if ($("#Cities").val() === "" || $("#Countries").val() === "")
return;
$.ajax({
......@@ -36,10 +32,11 @@ function actualizar_grafica(ref_scenario,color,escenario_name,escId) {
'type': "POST",
url: url_config + "/visualizer_general/getVisualizerResults_2.json",
method: "POST",
data: { "country_id": $("#Countries").val(),
data: {
"country_id": $("#Countries").val(),
"city_id": $("#Cities").val(),
ref_scenario: ref_scenario,//$("#Scenarios1").val(),
cmp_scenario: ref_scenario//($("#Scenarios2").val() === "" || $("#Scenarios2").val() === null) ? $("#Scenarios1").val() : $("#Scenarios2").val()
ref_scenario: ref_scenario,
cmp_scenario: ref_scenario
},
dataType: "json",
beforeSend: function (xhr) {
......@@ -51,7 +48,6 @@ function actualizar_grafica(ref_scenario,color,escenario_name,escId) {
$(".iconoImg1").parent().hide();
}
, success: function (data) {
// console.log('actGr',data);
grafica_plotly(data, escId, color, escenario_name);
}
, error: function () {
......@@ -62,7 +58,6 @@ function actualizar_grafica(ref_scenario,color,escenario_name,escId) {
$(document).on('change', '#verNumeros', function (event) {
event.preventDefault();
var verNumeros = $(this).is(':checked');
// console.log('varNumeros',verNumeros)
if (verNumeros) {
$('.numInd').show();
$('.barraInd').hide();
......@@ -75,8 +70,6 @@ $(document).on('change', '#verNumeros', function(event) {
$(document).on('click', '#imgBarras', function (event) {
event.preventDefault();
var verNumeros = $('#verNumeros').is(':checked');
// console.log('varNumeros',verNumeros)
// console.log('barras')
if (verNumeros) {
$('#verNumeros').prop('checked', false);
$('#verNumeros').trigger('change');
......@@ -91,8 +84,6 @@ $(document).on('click', '#imgBarras', function(event) {
$(document).on('click', '#imgNumeros', function (event) {
event.preventDefault();
var verNumeros = $('#verNumeros').is(':checked');
// console.log('varNumeros',verNumeros)
// console.log('numeros')
if (!verNumeros) {
$('#verNumeros').prop('checked', true);
$('#verNumeros').trigger('change');
......@@ -108,21 +99,17 @@ $(document).on('mouseenter', '.extraInf', function(event) {
event.preventDefault();
var info = $(this).attr('extraInf');
// console.log( info );
$('#extraInf').text(info);
// console.log(info);
});
function numIndEnter(elem) {
// var elem = this;
var idArr = elem.id.split('_');
if ($(elem).hasClass('nomInd')) {
var level_name = elem.id.replace('nombre_', '');
} else {
var level_name = '';
// console.log(idArr.length);
for (i = 1; i < idArr.length - 1; i++) {
if (level_name == '') {
level_name += idArr[i];
......@@ -131,8 +118,6 @@ function numIndEnter(elem){
}
}
}
// console.log('level_name',level_name);
// console.log('desgloces',desgloces);
var unidades = $('#units_' + level_name).html();
var nombre = $('#nombre_' + level_name).text();
......@@ -194,10 +179,8 @@ function numIndEnter(elem){
} else {
var paths = [];
// paths.push("M 0 0 L 10 10 M 9 -1 L 11 1 M -1 9 L 1 11")
paths.push("M 0 10 L 10 0 M -1 1 L 1 -1 M 9 11 L 11 9")
paths.push("M 3 0 L 3 10 M 8 0 L 8 10")
// paths.push("M 0 3 L 10 3 M 0 8 L 10 8")
paths.push("M 0 3 L 5 3 L 5 0 M 5 10 L 5 7 L 10 7")
paths.push("M 3 3 L 8 3 L 8 8 L 3 8 Z")
paths.push("M 5 5 m -4 0 a 4 4 0 1 1 8 0 a 4 4 0 1 1 -8 0")
......@@ -205,11 +188,9 @@ function numIndEnter(elem){
paths.push("M 2 5 L 5 2 L 8 5 L 5 8 Z")
paths.push("M 0 0 L 5 10 L 10 0")
var paths2 = [];
// paths2.push("M 0 0 L 10 10 M 9 -1 L 11 1 M -1 9 L 1 11")
paths2.push("M 0 10 L 10 0 M -1 1 L 1 -1 M 9 11 L 11 9")
paths2.push("M 0 3 L 5 3 L 5 0 M 5 10 L 5 7 L 10 7")
paths2.push("M 3 0 L 3 10 M 8 0 L 8 10")
// paths2.push("M 0 3 L 10 3 M 0 8 L 10 8")
paths2.push("M 3 3 L 8 3 L 8 8 L 3 8 Z")
paths2.push("M 5 5 m -4 0 a 4 4 0 1 1 8 0 a 4 4 0 1 1 -8 0")
paths2.push("M 10 3 L 5 3 L 5 0 M 5 10 L 5 7 L 0 7")
......@@ -224,13 +205,11 @@ function numIndEnter(elem){
var series = []
$.each($('.b_' + level_name), function (index, val) {
var escId = this.id.split('_')[this.id.split('_').length - 1];
// console.log(escId);
var avance = $(this).attr('data-width');
var num = $(this).attr('dato');
var color = $(this).attr('data-background');
var escNom = $('#Scenarios1 option[value="' + escId + '"]').text();
// console.log('escNom',escNom);
cats.push(escNom);
var numD = 0
......@@ -259,17 +238,14 @@ function numIndEnter(elem){
tmp.color.pattern.height = 4;
tmp.color.pattern.color = color;
// datas[i].push(desgloces[level_name][escId][i].value)
datas[i].push(tmp);
nombres[i] = desgloces[level_name][escId][i].name;
// console.log(i,desgloces[level_name][escId]);
j++;
}
});
var h = 0;
for (var i in datas) {
// console.log(h,paths2[h],nombres[i]);
var tmp = {};
tmp.name = nombres[i];
tmp.data = datas[i]
......@@ -318,7 +294,6 @@ $(document).on('click', '.numInd, .barrita, .nomInd', function(event) {
function barrasApiladas(div, cats, series) {
// console.log(cats,series);
Highcharts.chart(div, {
chart: {
type: 'bar',
......@@ -341,7 +316,6 @@ function barrasApiladas(div,cats,series){
},
lineColor: 'rgba(100,100,100,0)',
tickColor: 'rgba(100,100,100,0)',
// lineColor:'rgba(100,100,100,.5)'
},
yAxis: {
......@@ -355,7 +329,6 @@ function barrasApiladas(div,cats,series){
reversed: true,
itemStyle: {
color: '#bfc0be',
// fontWeight: 'bold',
fontSize: '8px'
},
symbolRadius: 0
......@@ -375,8 +348,6 @@ function barrasApiladas(div,cats,series){
tooltip: {
shared: false,
formatter: function (e) {
// console.log('this',this.point.tooltip);
$('#extraInf').text(this.point.tooltip);
return `<span>${this.point.nombre} : ${parseFloat(parseFloat(this.point.y).toFixed(0)).toLocaleString()}</span>`;
......@@ -393,14 +364,9 @@ function barrasApiladas(div,cats,series){
var plots = [];
var desgloces = {};
function grafica_plotly(data, escenarioId, color, escenario_name) {
// console.log("grafica_plotly",escenarioId,data)
// console.log('iiiiiii',idiomaSesion);
// var cond
if (typeof ordenInds == 'undefined') {
// console.log('Primera vez')
cats = [];
ordenInds = {};
// console.log('creamos ordenInds');
tooltips = {};
unidades = {};
}
......@@ -431,12 +397,10 @@ function grafica_plotly(data,escenarioId,color,escenario_name) {
}
$.each(data["result"], function (j, e) {
// console.log('datos',e['level_name'],e['x'][0]);
if ($('#ind_' + e['level_name']).length == 0) {
if (e['level_name'].indexOf('proximity') == -1) {
if (typeof e.detail_ref != 'undefined') {
var desgloce = 'desgloce';
// console.log('desgloces',e);
$.each(e.detail_ref, function (index, val) {
if (typeof val == 'number') {
var tmp = {};
......@@ -479,43 +443,31 @@ function grafica_plotly(data,escenarioId,color,escenario_name) {
.appendTo('#bodyInds')
.hide();
}
//console.log('tooltip',e);
} else {
if (e['x'][0] != 0) {
// console.log("UNIDADES",e['units']);
// console.log(e['level_name'],ordenInds,typeof ordenInds[e['level_name']],Object.keys(ordenInds).length);
if (typeof ordenInds[e['level_name']] == 'undefined') {
var ii = Object.keys(ordenInds).length;
tooltips[ii] = e['tooltip'];
unidades[ii] = e['units'];
// console.log("BBBBBBBBB",e['level_name'],e);
cats.push(e['title']);
ordenInds[e['level_name']] = Object.keys(ordenInds).length;
}
// console.log(ii,e.tooltip,e.units,e.level_name,cats[ii]);
i++;
// console.log(e['title'],e['x'][0]);
}
}
}
})
// console.log(cats,ordenInds);
// var chart = spiderweb('spiderweb',cats);
// console.log(chart);
if (typeof chart == 'undefined' || chart == 0) {
chart = new Highcharts.chart('spiderweb', spiderwebOpt(cats, tooltips));
}
var tmp = {};
var indicator_to_show = JSON.parse($("#list_of_indicators").attr("data-array"))
$.each(data["result"], function (j, e) {
// console.log(e);
if (e['level_name'].indexOf('proximity') == -1) {
if (typeof e.detail_ref != 'undefined') {
var desgloce = 'desgloce';
// console.log(e);
$.each(e.detail_ref, function (index, val) {
if (typeof val == 'number') {
var tmp = {};
......@@ -526,13 +478,15 @@ function grafica_plotly(data,escenarioId,color,escenario_name) {
}
});
}
if (e['x'][0] > 0) {
$('#ind_' + e['level_name']).show();
}
if (indicator_to_show.includes(e['level_name'])) {
//console.log("showing" + e['level_name'])
$('#ind_' + e['level_name']).show();
}
var num = (e['range'][1] - e['range'][0]) > 0 ? (e['x'][0] - e['range'][0]) / (e['range'][1] - e['range'][0]) * 100 : 0;
// console.log(e['title'],'rango0: '+e['range'][0],'rango1: '+e['range'][1],'x0: '+e['x'][0],'num: '+num)
if (typeof e.detail_ref != 'undefined') {
var desgloce = 'desgloce';
......@@ -591,8 +545,6 @@ function grafica_plotly(data,escenarioId,color,escenario_name) {
}
if ($(`#tdBarra_${e['level_name']}_${escenarioId}`).length == 0) {
// console.log('Nuevo',e['level_name'],e['x'][0])
if (!arabe) { //condicion de idioma
$('<td>')
......@@ -607,7 +559,6 @@ function grafica_plotly(data,escenarioId,color,escenario_name) {
</div>
`)
.insertBefore($('#units_' + e['level_name']));
// console.log(`${e['level_name']}: valor: ${e['x'][0]}, range[1]: ${e['range'][1]}`)
$('<td>')
.attr({
......@@ -646,26 +597,17 @@ function grafica_plotly(data,escenarioId,color,escenario_name) {
</div>
`)
.insertBefore($('#nombre_' + e['level_name']));
// console.log(`${e['level_name']}: valor: ${e['x'][0]}, range[1]: ${e['range'][1]}`)
}
// .appendTo('#ind_'+e['level_name'])
$(`#barra_${e['level_name']}_${escenarioId}`).simpleSkillbar({
height: 10,
});
// console.log('cuantos',$(`.numInd_${e['level_name']}`).length);
if ($(`.numInd_${e['level_name']}`).length >= 2) {
$('#divVerNumeros').show();
$('#verNumeros').trigger('change');
}
} else {
// console.log('yaExiste',e['level_name'],e['x'][0])
// console.log(`${e['level_name']}: valor: ${e['x'][0]}, range[1]: ${e['range'][1]}`)
$(`#tdBarra_${e['level_name']}_${escenarioId}`)
.html(`
<div width="10%" style="padding:0px 5px 0px 5px;">
......@@ -681,7 +623,6 @@ function grafica_plotly(data,escenarioId,color,escenario_name) {
parseFloat(e['x'][0]).toLocaleString()}
`)
// console.log('color',color);
$(`#barra_${e['level_name']}_${escenarioId}`).simpleSkillbar({
height: 10,
});
......@@ -701,9 +642,6 @@ function grafica_plotly(data,escenarioId,color,escenario_name) {
}
});
// console.log('cats',cats)
// console.log('tmp',tmp)
// console.log('ordenInds',ordenInds)
var serie = [];
......@@ -712,55 +650,26 @@ function grafica_plotly(data,escenarioId,color,escenario_name) {
tmp2.pointPlacement = 'on';
tmp2.color = color;
tmp2.data = [];
// tmp2.data = [50000, 39000, 42000, 31000, 26000, 14000];
var dataTmp = [];
// tmp['kkk'] = {};
// tmp['kkk'].x = 50;
// tmp['kkk'].tooltip = 'aaa';
// tmp['kkk'].title = 'EEE';
// console.log('TEMP',tmp);
for (i in tmp) {
if (tmp[i].x == 0)
continue;
if (typeof ordenInds[i] == 'undefined') {
// console.log("AAAAAAAAA")
var h = Object.keys(ordenInds).length;
// ordenInds[i] = Object.keys(ordenInds).length;;
tooltips[h] = tmp[i].tooltip;
unidades[h] = tmp[i].units;
// console.log('AGREGO ENTRADA EN LA SERIE',h,tooltips,unidades)
cats.push(tmp[i].title)
// console.log('iii',i);
// var categories = chart.xAxis[0].categories;
// console.log('categories',categories);
// categories.splice( $.inArray(i, categories), 1 );
// console.log('categories',cats);
}
// dataTmp.push([ parseInt(ordenInds[i]), tmp[i].x ]);
tmp2.data.push([parseInt(ordenInds[i]), tmp[i].x]);
// tmp2.data.push([ parseInt(ordenInds[i]), tmp[i].x ]);
}
tmp2.data.sort(function (a, b) { return a[0] - b[0] });
// for(var d in dataTmp){
// tmp2.data.push(dataTmp[d]);
// }
// console.log('CATS',cats)
chart.xAxis[0].setCategories(cats);
setTimeout(function () {
chart.redraw();
}, 500)
// tmp2.data.push([10,33]);
// console.log('tmp2',tmp2);
// console.log('ordenInds',ordenInds);
// console.log('cats',cats);
// console.log('UNIDADES',unidades);
// console.log('ordenInds', ordenInds);
elimSerie(escenario_name);
chart.addSeries(tmp2, true, true);
......@@ -849,17 +758,11 @@ function spiderwebOpt(cats,tooltips){
pointFormat: '<span style="color:{series.color}">{series.name}: <b>{point.y}</b><br/>',
formatter: function (e) {
// console.log('e',e);
if (!activo) {
var puntos = this.points
// console.log('puntos: ',puntos);
// console.log('EVENT: ',this);
// console.log('tooltips: ',tooltips);
// console.log('unidades: ',unidades);
var puntoOrd = this.points[0].point.options.x;
// console.log('puntoOrd',puntoOrd);
var htmlB = '';
for (var i in puntos) {
var p = puntos[i]
......@@ -898,10 +801,6 @@ function spiderwebOpt(cats,tooltips){
backgroundColor: 'rgba(0,0,0,0)',
anim: false
});
// var puntoOrd = this.points[0].point.index;
}
$('#extraInf').text(tooltips[puntoOrd]);
......@@ -944,10 +843,8 @@ window.onresize = function () {
};
$(document).on('click', '#dwlInd', function (event) {
// console.log('aa');
event.preventDefault();
var nombre = $('#nomInd').text();
// console.log('nombre',nombre)
PrintDiv($('#tablaInd'), nombre)
......
......@@ -62,13 +62,13 @@ function create_sliders(levels){
$.each(levels, function (label, level) {
var rangos = [];
if ($(level).length > 1) {
console.log('level',level)
//console.log('level',level)
var titulo = null;
$.each(level, function (i, val) {
// console.log(i,val)
rangos.push(parseInt(val["level"]));
if (typeof val["level_title"] != "undefined") {
titulo = val["level_title"];
if (typeof val["lever_title"] != "undefined") {
titulo = val["lever_title"];
//console.log('titulo',titulo);
}
});
......@@ -137,10 +137,8 @@ function set_slider_label(selector) {
}
function restart_visualizer() {
delete ordenInds;
if(!$('#incDer').is(':visible')){
$('#incDer').show();
$('#side-der').width('33%');
......
......@@ -17,24 +17,8 @@ function load_cities_a() {
var interval = setInterval(function () {
if (cities_loaded) {
clearInterval(interval);
$("body").append("<div id='step_2' class='hidden'></div>");
//$("#Cities>option[value=" + parseInt(string_city[0]["city_code"]) + "]").attr("selected", "selected");
$("#Cities").val(string_city[0]["city_code"].toString());
$("#Cities").change()
//$("#Cities>option[value=" + parseInt(string_city[0]["city_code"]) + "]").change()
//$("#step_2").click();
}
}, 100);
}
\ No newline at end of file
// $(document).on("click", "#step_2", function () {
// $("#Scenarios1").val(parseInt(string_city[0]["scenario"]));
// $("#Scenarios2").val(parseInt(string_city[0]["scenario"]));
// $("#Scenarios1>option[value=" + parseInt(string_city[0]["scenario"]) + "]").attr("selected", "selected");
// $("#Scenarios2>option[value=" + parseInt(string_city[0]["scenario"]) + "]").attr("selected", "selected");
// //$("#Scenarios1").change();
// setTimeout(function () {
// //$("#Scenarios1>option[value="+parseInt(string_city[0]["scenario"])+"]").attr("selected", "selected");
// $("#Scenarios1>option[value=" + parseInt(string_city[0]["scenario"]) + "]").change()
// //$("#Scenarios1>option[value="+parseInt(string_city[0]["scenario"])+"]").attr("selected", "selected");
// }, 1000);
// })
\ No newline at end of file
{{extend 'sb-admin-2/index.html'}}
<h1>{{=T('Delete policy levels')}}</h1>
<h1>{{=T('Delete policy levers')}}</h1>
{{=form}}
......
{{extend 'sb-admin-2/index.html'}}
<h1>{{=T('Import policy levels')}}</h1>
<h1>{{=T('Import policy levers')}}</h1>
{{=form}}
......
......@@ -7,7 +7,7 @@
</div>
<div class="w2p_delete_menu" style="margin: 5px 0;">{{=T("Delete")}}:
<a class="btn btn-default" href="{{=URL('policy_levers','delete')}}" title="Delete all policy levels. This may take a while for many rows">
{{=T('Delete policy levels')}}
{{=T('Delete policy levers')}}
</a>
</div>
<script>
......
......@@ -125,7 +125,7 @@
<a href="{{=URL('countries','country_visualizer_texts')}}">{{=T('Country visualizer texts')}}</a>
</li>
<li>
<a href="{{=URL('policy_levers','index')}}">{{=T('Country Policy levels')}}</a>
<a href="{{=URL('policy_levers','index')}}">{{=T('Country Policy levers')}}</a>
</li>
</ul>
</li>
......@@ -197,6 +197,9 @@
<li>
<a href="{{=URL('admin','create_tables')}}">{{=T('Admin Spatial')}}</a>
</li>
<li>
<a href="{{=URL('tiles','index')}}">{{=T('Tiles')}}</a>
</li>
{{pass}}
<li>
<a href="{{=URL('admin','users')}}">{{=T('Manage users')}}</a>
......
{{extend 'sb-admin-2/index.html'}}
<h1>{{=T('Import Tiles')}}</h1>
{{=form}}