Projet

Général

Profil

0001-misc-share-query-management-template-code-20535.patch

Valentin Deniaud, 26 mars 2020 17:58

Télécharger (5,61 ko)

Voir les différences:

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(-)
passerelle/apps/arcgis/templates/arcgis/arcgis_detail.html
14 14
</ul>
15 15
{% endif %}
16 16
{% endblock %}
17

  
18
{% block extra-sections %}
19
  {% if object|can_edit:request.user %}
20
    <div id="queries" class="section">
21
      <h3>{% trans 'Queries' %}</h3>
22
      <div>
23
        {% if object.query_set.exists %}
24
          <ul class="objects-list single-links">
25
            {% for query in object.query_set.all %}
26
              <li>
27
               <a href="{{ query.edit_url }}">{{ query.name }}</a>
28
               <a rel="popup" class="delete" href="{{ query.delete_url }}">{% trans "delete query" %}</a>
29
              </li>
30
            {% endfor %}
31
          </ul>
32
        {% else %}
33
          <p>{% trans 'No query are defined.' %}</p>
34
        {% endif %}
35
        <p>
36
          <a class="icon-plus button" href="{{ object.create_query_url }}">{% trans 'New Query' %}</a>
37
        </p>
38
      </div>
39
    </div>
40
  {% endif %}
41
{% endblock %}
passerelle/apps/csvdatasource/models.py
33 33
from django.conf import settings
34 34
from django.db import models, transaction
35 35
from django.core.exceptions import ValidationError
36
from django.urls import reverse
36 37
from django.utils.translation import ugettext_lazy as _
37 38

  
38 39
from passerelle.base.models import BaseResource
......
119 120
    def import_json(cls, d):
120 121
        return cls(**d)
121 122

  
123
    @property
124
    def name(self):
125
        return self.slug
126

  
127
    def delete_url(self):
128
        return reverse('csv-delete-query',
129
                       kwargs={'connector_slug': self.resource.slug, 'pk': self.pk})
130

  
131
    def edit_url(self):
132
        return reverse('csv-edit-query',
133
                       kwargs={'connector_slug': self.resource.slug, 'pk': self.pk})
134

  
122 135

  
123 136
class CsvDataSource(BaseResource):
124 137
    csv_file = models.FileField(
......
470 483
        Query.objects.bulk_create(new)
471 484
        return instance
472 485

  
486
    def create_query_url(self):
487
        return reverse('csv-new-query', kwargs={'connector_slug': self.slug})
488

  
473 489

  
474 490
class TableRow(models.Model):
475 491
    resource = models.ForeignKey('CsvDataSource', on_delete=models.CASCADE)
passerelle/apps/csvdatasource/templates/csvdatasource/csvdatasource_detail.html
31 31
{% endfor %}
32 32
</ul>
33 33
{% endblock %}
34

  
35
{% block extra-sections %}
36

  
37
{% if object|can_edit:request.user %}
38
<div id="queries" class="section">
39
<h3>{% trans 'Queries' %}</h3>
40
<div>
41
{% if object.query_set.count %}
42
<ul class="objects-list single-links">
43
{% for query in object.query_set.all %}
44
  <li><a href="{% url 'csv-edit-query' connector_slug=object.slug pk=query.id %}">{{ query.slug }}</a>
45
      <a rel="popup" class="delete" href="{% url 'csv-delete-query' connector_slug=object.slug pk=query.id %}">{% trans "delete query" %}</a>
46
  </li>
47
{% endfor %}
48
</ul>
49
{% else %}
50
<p>{% trans 'No query are defined.' %}</p>
51
{% endif %}
52
<p>
53
<a class="icon-plus button" href="{% url 'csv-new-query' connector_slug=object.slug %}">{% trans 'New Query' %}</a>
54
</p>
55
</div>
56
</div>
57
{% endif %}
58
{% endblock %}
passerelle/templates/passerelle/manage/service_view.html
73 73
  </div>
74 74
</div>
75 75

  
76
{% block custom-queries %}
77
  {% if object|can_edit:request.user and object.query_set is not None %}{# possible to change query_set ?#}
78
    <div id="queries" class="section">
79
      <h3>{% trans 'Queries' %}</h3>
80
      <div>
81
        {% if object.query_set.exists %}
82
          <ul class="objects-list single-links">
83
            {% for query in object.query_set.all %}
84
              <li>
85
               <a href="{{ query.edit_url }}">{{ query.name }}</a>
86
               <a rel="popup" class="delete" href="{{ query.delete_url }}">{% trans "delete query" %}</a>
87
              </li>
88
            {% endfor %}
89
          </ul>
90
        {% else %}
91
          <p>{% trans 'No query are defined.' %}</p>
92
        {% endif %}
93
        <p>
94
          <a class="icon-plus button" href="{{ object.create_query_url }}">{% trans 'New Query' %}</a>
95
        </p>
96
      </div>
97
    </div>
98
  {% endif %}
99
{% endblock %}
100

  
76 101
{% block extra-sections %}
77 102
{% endblock %}
78 103

  
79
-