diff --git a/app/projects/urls.py b/app/projects/urls.py index ad7edbbe..a7cfee82 100644 --- a/app/projects/urls.py +++ b/app/projects/urls.py @@ -310,4 +310,5 @@ # User Feedback path("user_feedback", user_feedback, name="user_feedback"), path("sponsor/feature", sponsor_feature, name="sponsor_feature"), + path("timeseries_dashboard", timeseries_dashboard, name="timeseries_dashboard"), ] diff --git a/app/projects/views.py b/app/projects/views.py index 4acf2662..842c4a24 100644 --- a/app/projects/views.py +++ b/app/projects/views.py @@ -95,6 +95,30 @@ logger = logging.getLogger(__name__) +@login_required +def timeseries_dashboard(request): + timeseries_qs = Timeseries.objects.filter( + Q(user=request.user) & ~Q(ts_type="scalar") + ).order_by("name", "id") + + selected_id = request.GET.get("selected") + selected_timeseries = None + + if selected_id: + try: + selected_timeseries = timeseries_qs.get(pk=selected_id, user=request.user) + except Timeseries.DoesNotExist: + selected_timeseries = None + else: + selected_timeseries = timeseries_qs.first() + + context = { + "timeseries_list": timeseries_qs, + "selected_timeseries": selected_timeseries, + } + return render(request, "asset/timeseries_dashboard.html", context) + + @require_http_methods(["GET"]) def not_implemented(request): """Function returns a message""" diff --git a/app/templates/asset/timeseries_dashboard.html b/app/templates/asset/timeseries_dashboard.html new file mode 100644 index 00000000..fea21ee6 --- /dev/null +++ b/app/templates/asset/timeseries_dashboard.html @@ -0,0 +1,443 @@ +{% extends 'base.html' %} + +{% block head_block %} +
+ +| Name | +Asset type | +Time step | +Points | +
|---|---|---|---|
| + + {{ ts.name|default:"Unnamed" }} + + | +{{ ts.get_asset_type_display|default:"-" }} | +{{ ts.time_step|default:"-" }} | +{{ ts.values|length }} | +
Upload your first time series or create one manually.
+ +