From c010ff0c540a6118c156560429c60e7eeb9c6c4b Mon Sep 17 00:00:00 2001 From: Valentin Deniaud Date: Tue, 24 Mar 2020 14:53:20 +0100 Subject: [PATCH 1/6] misc: share query management template code (#20535) --- .../templates/arcgis/arcgis_detail.html | 25 ------------------- passerelle/apps/csvdatasource/models.py | 16 ++++++++++++ .../csvdatasource/csvdatasource_detail.html | 25 ------------------- .../passerelle/manage/service_view.html | 25 +++++++++++++++++++ 4 files changed, 41 insertions(+), 50 deletions(-) diff --git a/passerelle/apps/arcgis/templates/arcgis/arcgis_detail.html b/passerelle/apps/arcgis/templates/arcgis/arcgis_detail.html index c94121d3..18af32dc 100644 --- a/passerelle/apps/arcgis/templates/arcgis/arcgis_detail.html +++ b/passerelle/apps/arcgis/templates/arcgis/arcgis_detail.html @@ -14,28 +14,3 @@ {% endif %} {% endblock %} - -{% block extra-sections %} - {% if object|can_edit:request.user %} -
-

{% trans 'Queries' %}

-
- {% if object.query_set.exists %} - - {% else %} -

{% trans 'No query are defined.' %}

- {% endif %} -

- {% trans 'New Query' %} -

-
-
- {% endif %} -{% endblock %} diff --git a/passerelle/apps/csvdatasource/models.py b/passerelle/apps/csvdatasource/models.py index a8d85467..ab3fde84 100644 --- a/passerelle/apps/csvdatasource/models.py +++ b/passerelle/apps/csvdatasource/models.py @@ -33,6 +33,7 @@ from django.utils.timezone import datetime, make_aware from django.conf import settings from django.db import models, transaction from django.core.exceptions import ValidationError +from django.urls import reverse from django.utils.translation import ugettext_lazy as _ from passerelle.base.models import BaseResource @@ -119,6 +120,18 @@ class Query(models.Model): def import_json(cls, d): return cls(**d) + @property + def name(self): + return self.slug + + def delete_url(self): + return reverse('csv-delete-query', + kwargs={'connector_slug': self.resource.slug, 'pk': self.pk}) + + def edit_url(self): + return reverse('csv-edit-query', + kwargs={'connector_slug': self.resource.slug, 'pk': self.pk}) + class CsvDataSource(BaseResource): csv_file = models.FileField( @@ -470,6 +483,9 @@ class CsvDataSource(BaseResource): Query.objects.bulk_create(new) return instance + def create_query_url(self): + return reverse('csv-new-query', kwargs={'connector_slug': self.slug}) + class TableRow(models.Model): resource = models.ForeignKey('CsvDataSource', on_delete=models.CASCADE) diff --git a/passerelle/apps/csvdatasource/templates/csvdatasource/csvdatasource_detail.html b/passerelle/apps/csvdatasource/templates/csvdatasource/csvdatasource_detail.html index e4660df0..43d1066b 100644 --- a/passerelle/apps/csvdatasource/templates/csvdatasource/csvdatasource_detail.html +++ b/passerelle/apps/csvdatasource/templates/csvdatasource/csvdatasource_detail.html @@ -31,28 +31,3 @@ {% endfor %} {% endblock %} - -{% block extra-sections %} - -{% if object|can_edit:request.user %} -
-

{% trans 'Queries' %}

-
-{% if object.query_set.count %} - -{% else %} -

{% trans 'No query are defined.' %}

-{% endif %} -

-{% trans 'New Query' %} -

-
-
-{% endif %} -{% endblock %} diff --git a/passerelle/templates/passerelle/manage/service_view.html b/passerelle/templates/passerelle/manage/service_view.html index caba98d3..d0075292 100644 --- a/passerelle/templates/passerelle/manage/service_view.html +++ b/passerelle/templates/passerelle/manage/service_view.html @@ -73,6 +73,31 @@ +{% block custom-queries %} + {% if object|can_edit:request.user and object.query_set is not None %}{# possible to change query_set ?#} +
+

{% trans 'Queries' %}

+
+ {% if object.query_set.exists %} + + {% else %} +

{% trans 'No query are defined.' %}

+ {% endif %} +

+ {% trans 'New Query' %} +

+
+
+ {% endif %} +{% endblock %} + {% block extra-sections %} {% endblock %} -- 2.20.1