-
Lene Wasskog authoredLene Wasskog authored
views.py 3.87 KiB
# -*- coding: UTF-8 -*-
#
# Copyright (c) 2013-2023 NIBIO.
#
# This file is part of VIPSWeb
# (see https://gitlab.nibio.no/VIPS/VIPSWeb).
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU Affero General Public License as
# published by the Free Software Foundation, either version 3 of the
# License, or (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU Affero General Public License for more details.
#
# You should have received a copy of the GNU Affero General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
#
#
from django.shortcuts import render
from django.utils import translation
from django.conf import settings
from observations.forms import ObservationTimeFilterForm
from organisms.models import CropCategory
from datetime import datetime
from dateutil.relativedelta import relativedelta
def index_old(request):
form = ObservationTimeFilterForm(request.GET)
if form == None:
form = ObservationTimeFilterForm()
context = {
"crop_categories": CropCategory.get_crop_categories(translation.get_language()),
"form" : form
}
return render(request, 'observations/index_old.html', context)
def index(request):
# organizationId (internally - either from logged in user or from web page
if request.session.get("vips_logic_user", None) != None:
organization_id = request.session["vips_logic_user"]["organization_id"]
else:
organization_id = settings.VIPS_ORGANIZATION_ID
date_from = datetime.strptime(request.GET.get("from", "%s-01-01" % (datetime.now() + relativedelta(months = settings.SYSTEM_TIME_OFFSET_MONTHS)).year),"%Y-%m-%d")
if request.GET.get("to", None) is not None and len(request.GET.get("to", None).strip()) > 0:
date_to = datetime.strptime(request.GET["to"], "%Y-%m-%d")
else:
date_to = datetime.now() + relativedelta(months = settings.SYSTEM_TIME_OFFSET_MONTHS) + relativedelta(days=1)
#date_to = datetime.strptime(request.GET.get("to", "%s-12-31" % (datetime.now() + relativedelta(months = settings.SYSTEM_TIME_OFFSET_MONTHS)).year),"%Y-%m-%d")
period_days = date_to - date_from
current_day_in_period = (datetime.now() + relativedelta(months = settings.SYSTEM_TIME_OFFSET_MONTHS)) - date_from
# cropCategoryId
context = {
"from" : datetime.strftime(date_from,"%Y-%m-%d"),
"to" : datetime.strftime(date_to,"%Y-%m-%d"),
"period_days" : period_days.days + 1,
"current_day_in_period" : current_day_in_period,
"pest_id" : request.GET.get("pestId", None),
"crop_id" : request.GET.get("cropId", None),
"crop_category_id": request.GET.get("cropCategoryId", None),
"crop_categories": CropCategory.get_crop_categories(translation.get_language()),
"include_negative": True if request.GET.get("includeNegative", None) is not None else False,
"organization_id": organization_id
}
return render(request, 'observations/index.html', context)
def detail(request, observation_id):
context = {
"observation_id" : observation_id,
}
return render(request, 'observations/detail.html', context)
def timeseries(request, observation_time_series_id):
if request.session.get("vips_logic_user", None) != None:
organization_id = request.session["vips_logic_user"]["organization_id"]
else:
organization_id = settings.VIPS_ORGANIZATION_ID
context = {
"organization_id": organization_id,
"observation_time_series_id" : observation_time_series_id,
}
return render(request, 'observations/timeseries.html', context)