diff --git a/VIPSWeb/local_settings_sample.py b/VIPSWeb/local_settings_sample.py index 5f49103e21a9c0553088a137aee132a286ee5c1f..e87634e2e1f4944d2f77f1e99da15004921dd4dc 100755 --- a/VIPSWeb/local_settings_sample.py +++ b/VIPSWeb/local_settings_sample.py @@ -1,3 +1,5 @@ +# -*- coding: UTF-8 -*- + # # Copyright (c) 2016 NIBIO <http://www.nibio.no/>. # @@ -27,7 +29,6 @@ from django.utils.translation import ugettext_lazy as _ DEBUG = True MAINTENANCE_MODE = False -TEMPLATE_DEBUG = DEBUG # Hosts/domain names that are valid for this site; required if DEBUG is False # See https://docs.djangoproject.com/en/1.5/ref/settings/#allowed-hosts @@ -115,6 +116,8 @@ VIPSLOGIC_SERVER_NAME = "vipslogic" VIPSLOGIC_PROTOCOL = "https" # This organization's ID in VIPSLogic/CoreManager VIPS_ORGANIZATION_ID = 1 +# Use this if you want to override and show icons for stations belonging to several organizations +#FORECAST_MAP_ORGANIZATION_IDS =[1,6] # The server name used for VIPSCoreManager VIPSCOREMANAGER_SERVER_NAME = "vipscoremanager" # Local path to self signed certificate of VIPSCoreManager. diff --git a/VIPSWeb/static/js/frontpageMap.js b/VIPSWeb/static/js/frontpageMap.js index 87c021cf3f2909b3ec89e5fcc2bba0d383a5b91f..668d29c0bd7247d9323b079b2a98ec3a1b0ce0b6 100755 --- a/VIPSWeb/static/js/frontpageMap.js +++ b/VIPSWeb/static/js/frontpageMap.js @@ -408,7 +408,13 @@ function updateForecastLayers() forecastLayer = new ol.layer.Vector({ source: new ol.source.Vector({ //url: settings.vipslogicProtocol + "://" + settings.vipslogicServerName + "/rest/forecastresults/aggregate/" + settings.vipsOrganizationId + "?" + cropCategoryIdStr, - url: "/vipslogicproxy/rest/forecastresults/aggregate/" + settings.vipsOrganizationId + "?" + cropCategoryIdStr, + url: "/vipslogicproxy/rest/forecastresults/aggregate/" + + ( + settings.forecastMapOrganizationIds != null && settings.forecastMapOrganizationIds.length > 0 ? + "orgspan?organizationId=" + settings.forecastMapOrganizationIds.join("&organizationId=") + cropCategoryIdStr + : settings.vipsOrganizationId + "?" + cropCategoryIdStr + ) + , format: new ol.format.KML(), projection: ol.proj.get('EPSG:3857') }) diff --git a/VIPSWeb/templates/index.html b/VIPSWeb/templates/index.html index 4edbaf51008d8e064102699bf0606aea44be416a..7523c55e6ff6da6770601f4b95c316e363d381eb 100755 --- a/VIPSWeb/templates/index.html +++ b/VIPSWeb/templates/index.html @@ -44,7 +44,7 @@ if(settings.userIsIE) { - alert("{% trans "WARNING: We suspect you are using Internet Explorer to view this site. VIPS is not designed to work with Internet Explorer, you may experience errors and missing features. Please use a different browser, like Microsoft Edge or Google Chrome." %}"); + alert("{% trans "WARNING: We suspect you are using Internet Explorer to view this site. VIPS is not designed to work with Internet Explorer, you may experience errors and missing features. Please use a different browser, like Firefox, Microsoft Edge or Google Chrome." %}"); } diff --git a/VIPSWeb/templates/settings.js b/VIPSWeb/templates/settings.js index 918e8f69193c4d484c3bdd7353e6aa83babfb866..ad804db9dafb8e555f4e6ce0e7ae59d27a27cc00 100755 --- a/VIPSWeb/templates/settings.js +++ b/VIPSWeb/templates/settings.js @@ -25,6 +25,8 @@ var settings = { vipslogicProtocol: "{{settings.VIPSLOGIC_PROTOCOL}}", vipsCoremanagerServerName : "{{settings.VIPSCOREMANAGER_SERVER_NAME}}", + forecastMapOrganizationIds: {% if settings.FORECAST_MAP_ORGANIZATION_IDS == None %}null{%else%}{{settings.FORECAST_MAP_ORGANIZATION_IDS}}{%endif%}, + mapZoomlevel: {{settings.MAP_ZOOMLEVEL}}, systemTimeOffsetMonths: {{settings.SYSTEM_TIME_OFFSET_MONTHS}}, diff --git a/fusarium/static/fusarium/js/oatFloweringModelForm.js b/fusarium/static/fusarium/js/oatFloweringModelForm.js index eb124c30cbc4fee33c3b83a014777363cb1d0fe2..fdf05ec7c5284b526482615e9333e6af2de389e9 100755 --- a/fusarium/static/fusarium/js/oatFloweringModelForm.js +++ b/fusarium/static/fusarium/js/oatFloweringModelForm.js @@ -34,7 +34,7 @@ // Internal ID for the form var theFormId = "_oatFloweringModelForm"; var detailURL = null; -var DEBUG = false; +var DEBUG = true; // Settings for VIPS forecasting system //var serverUri = settings.vipsCoremanagerServerName; @@ -219,15 +219,16 @@ var displayResults = function(data) now = getNow(); var weekNow = now.isoWeek(); var weeksFromNowToZ625 = Math.abs(weekZ625-weekNow); - /*console.log("now: " + now.tz("Europe/Oslo").format()); - console.log("week now: " +weekNow); - console.log("weekZ625: " +weekZ625); - console.log("weeksFromNowToZ625: " + weeksFromNowToZ625); - console.log("z60: " + dateZ60.tz("Europe/Oslo").format()); - console.log("z62.5: " + getDateForZ(data,62.5).tz("Europe/Oslo").format()); - console.log("z69: " + dateZ69.tz("Europe/Oslo").format());*/ - - + /* + console.info(data); + console.log("now: " + now.tz("Europe/Oslo").format()); + console.log("week now: " +weekNow); + console.log("weekZ625: " +weekZ625); + console.log("weeksFromNowToZ625: " + weeksFromNowToZ625); + console.log("z60: " + dateZ60.tz("Europe/Oslo").format()); + console.log("z62.5: " + getDateForZ(data,62.5).tz("Europe/Oslo").format()); + console.log("z69: " + dateZ69.tz("Europe/Oslo").format()); + */ // Scenario 1: Today is before date of sowing if(now.isBefore(dateOfSowing)) { @@ -320,8 +321,10 @@ var getDateForZ = function(data,z) { for(var key in data) { - if(data[key].allValues["OATFLOWERM.ZREACHED"] == z) + //console.info (key + ":" + getAllValues(data[key].allValues)["OATFLOWERM.ZREACHED"]); + if(getAllValues(data[key].allValues)["OATFLOWERM.ZREACHED"] == z) { + //console.info(moment(data[key].validTimeStart)); return moment(data[key].validTimeStart); } } @@ -335,9 +338,9 @@ var getWeekForZ = function(data,z) { for(var key in data) { - if(data[key].allValues["OATFLOWERM.ZREACHED"] == z) + if(getAllValues(data[key].allValues)["OATFLOWERM.ZREACHED"] == z) { - return data[key].allValues["OATFLOWERM.WEEK_IN_YEAR"]; + return getAllValues(data[key].allValues)["OATFLOWERM.WEEK_IN_YEAR"]; } } } @@ -394,3 +397,8 @@ var getStartHTML = function() "<div id='resultsTable'></div>" ].join(""); } + +var getAllValues = function(allValuesStr) +{ + return JSON.parse(allValuesStr); +}; diff --git a/observations/static/observations/js/observationList.js b/observations/static/observations/js/observationList.js index 1ad744f711e880a43c3be3b4c7ff0090767b137d..054a89e2e7fb8c2ecfe8f82218f70451ca8c2a37 100644 --- a/observations/static/observations/js/observationList.js +++ b/observations/static/observations/js/observationList.js @@ -106,7 +106,8 @@ var initMap = function( var centerPosition = ol.proj.transform(center, 'EPSG:4326', map.getView().getProjection().getCode()); var view = new ol.View({ center: centerPosition, - zoom:zoomLevel + zoom:zoomLevel, + maxZoom:7 }); map.setView(view); diff --git a/requirements.txt b/requirements.txt index 34ce8a43ead9280e59479b51a21bdcf225c746fd..51f11c6da1b8daae6f360022959a1d7b15d3c7b4 100755 --- a/requirements.txt +++ b/requirements.txt @@ -21,5 +21,5 @@ Django==1.11 Pillow requests==2.6.0 -django-tinymce==2.6.0 +django-tinymce==2.8.0 python-dateutil==1.5 diff --git a/roughage/templates/roughage/nutrition.html b/roughage/templates/roughage/nutrition.html index 59b58c44ed4c123cc95f0c3f330479f8663aef42..cc1806b0d5e6bcb891d02d0b8e40e67940cc5e59 100755 --- a/roughage/templates/roughage/nutrition.html +++ b/roughage/templates/roughage/nutrition.html @@ -25,13 +25,22 @@ {% block content %} <div class="singleBlockContainer"> <h1>{% trans "Roughage nutrition model" %}</h1> +<form action="/i18n/setlang/" method="post" id="forceLanguageLink"> <p> - Modellen skal underveis i vekstsesongen gi støtte for valg av høstetid i to- og - treslåttsystem i eng som brukes til fôrproduksjon. Den er utvikla på grunnlag - av data fra timoteidominert eng, men kan også brukes på bestand dominert av - fleirårig raigras. <a href="http://gamlevips.nibio.no/information/if105s.jsp?HTTP_REFERRER=/information/if105s.jsp&BUTTON=kapittel&menyValg=9#grovformodell" target="new">Les mer om modellen</a> - eller <a href="https://vimeo.com/147571372" target="new">se video</a> + + {% csrf_token %} + <input type="hidden" name="next" value="/information/12/#grovformodell"/> + <input type="hidden" name="language" value="nb"/> + Modellen skal underveis i vekstsesongen gi støtte for valg av høstetid i to- og + treslåttsystem i eng som brukes til fôrproduksjon. Den er utvikla på grunnlag + av data fra timoteidominert eng, men kan også brukes på bestand dominert av + fleirårig raigras. + <a style="cursor:pointer;" onclick="document.getElementById('forceLanguageLink').submit();">Les mer om modellen</a> + + eller <a href="https://vimeo.com/147571372" target="new">se video</a> + </p> +</form> <p> Felt merket med * må fylles ut. Velg klimastasjon for årets klimadata, normaldata eller begge. </p> @@ -149,7 +158,7 @@ Ved å legge inn kalibreringsmålinger vil modellen justeres slik at prediksjonene blir mer presise. For å bestemme MSC, kan du bruke hjelpetabeller for <a href="http://gamlevips.nibio.no/models/mo1004s.jsp?grastype=timotei" target="new">timotei</a> og <a href="http://gamlevips.nibio.no/models/mo1004s.jsp?grastype=raigras" target="new">raigras</a>. - <a href="http://gamlevips.nibio.no/information/if105s.jsp?BUTTON=kapittel&menyValg=9#grovformodellKalibreringMSC" target="new">Les mer om kalibrering</a> + <a href="/information/12/#grovformodell_kalibrering" target="new">Les mer om kalibrering</a> </p> <fieldset> <table id="optimeringstabell" class="table">