Table improvements

* enhances visualization of editable column on tables
    * simplifies code
* enhances visualization of parcel_group column on tables
* WIP: Ordering on intervention table is odd. Same results are being displayed on page 2. Needs further analysis and fixing!
pull/223/head
mpeltriaux 2 years ago
parent 90da686de3
commit b57d52dc9f

@ -148,20 +148,3 @@ class CompensationTable(BaseTable, TableRenderMixin, TableOrderMixin):
) )
return format_html(html) return format_html(html)
def render_e(self, value, record: Compensation):
""" Renders the editable column for a compensation
Args:
value (str): The identifier value
record (Compensation): The compensation record
Returns:
"""
has_access = record.is_shared_with(self.user)
html = self.render_icn(
tooltip=_("Full access granted") if has_access else _("Access not granted"),
icn_class="fas fa-edit rlp-r-inv" if has_access else "far fa-edit",
)
return format_html(html)

@ -134,23 +134,3 @@ class EcoAccountTable(BaseTable, TableRenderMixin, TableOrderMixin):
icn_filled=checked, icn_filled=checked,
) )
return format_html(html) return format_html(html)
def render_e(self, value, record: EcoAccount):
""" Renders the editable column for an eco account
Args:
value (str): The identifier value
record (EcoAccount): The eco account record
Returns:
"""
html = ""
# Do not use value in here, since value does use unprefetched 'users' manager, where record has already
# prefetched users data
has_access = record.is_shared_with(self.user)
html += self.render_icn(
tooltip=_("Full access granted") if has_access else _("Access not granted"),
icn_class="fas fa-edit rlp-r-inv" if has_access else "far fa-edit",
)
return format_html(html)

@ -111,22 +111,3 @@ class EmaTable(BaseTable, TableRenderMixin, TableOrderMixin):
icn_filled=recorded, icn_filled=recorded,
) )
return format_html(html) return format_html(html)
def render_e(self, value, record: Ema):
""" Renders the editable column for a EMA
Args:
value (str): The identifier value
record (Ema): The EMA record
Returns:
"""
html = ""
has_access = record.is_shared_with(self.user)
html += self.render_icn(
tooltip=_("Full access granted") if has_access else _("Access not granted"),
icn_class="fas fa-edit rlp-r-inv" if has_access else "far fa-edit",
)
return format_html(html)

@ -39,9 +39,8 @@ def index_view(request: HttpRequest):
template = "generic_index.html" template = "generic_index.html"
emas = Ema.objects.filter( emas = Ema.objects.filter(
deleted=None, deleted=None,
).order_by(
"-modified"
) )
table = EmaTable( table = EmaTable(
request, request,
queryset=emas queryset=emas

@ -146,22 +146,3 @@ class InterventionTable(BaseTable, TableRenderMixin, TableOrderMixin):
) )
return format_html(html) return format_html(html)
def render_e(self, value, record: Intervention):
""" Renders the editable column for an intervention
Args:
value (str): The identifier value
record (Intervention): The intervention record
Returns:
"""
html = ""
has_access = record.is_shared_with(self.user)
html += self.render_icn(
tooltip=_("Full access granted") if has_access else _("Access not granted"),
icn_class="fas fa-edit rlp-r-inv" if has_access else "far fa-edit",
)
return format_html(html)

@ -1,7 +1,8 @@
{% load i18n l10n %} {% load i18n l10n fontawesome_5 %}
<div class="table-container w-100 scroll-300"> <div class="table-container w-100 scroll-300">
{% if parcels|length == 0 %} {% if parcels|length == 0 %}
<article class="alert alert-info"> <article class="alert alert-info">
{% fa5_icon 'search-location' %}
{% trans 'Parcels can not be calculated, since no geometry is given.' %} {% trans 'Parcels can not be calculated, since no geometry is given.' %}
</article> </article>
{% else %} {% else %}

@ -12,8 +12,9 @@ from django.http import HttpRequest
from django.template.loader import render_to_string from django.template.loader import render_to_string
from django.utils.html import format_html from django.utils.html import format_html
import django_tables2 as tables import django_tables2 as tables
from django.utils.translation import gettext_lazy as _
from konova.models import BaseObject, GeoReferencedMixin from konova.models import BaseObject, GeoReferencedMixin, ShareableObjectMixin
from konova.settings import PAGE_SIZE_DEFAULT, PAGE_PARAM, RESULTS_PER_PAGE_PARAM, PAGE_SIZE_OPTIONS from konova.settings import PAGE_SIZE_DEFAULT, PAGE_PARAM, RESULTS_PER_PAGE_PARAM, PAGE_SIZE_OPTIONS
@ -200,6 +201,25 @@ class TableRenderMixin:
) )
return html return html
def render_e(self, value, record: ShareableObjectMixin):
""" Renders the editable column
Args:
value (str): The identifier value
record (ShareableObjectMixin): The record
Returns:
"""
html = ""
has_access = record.is_shared_with(self.user)
html += self.render_icn(
tooltip=_("Full access granted") if has_access else _("Access not granted"),
icn_class="fas fa-share-alt rlp-r-inv" if has_access else "",
)
return format_html(html)
class TableOrderMixin: class TableOrderMixin:
""" """

@ -1,4 +1,4 @@
{% load i18n %} {% load i18n fontawesome_5 %}
{% comment %} {% comment %}
Encapsules the rendering and initializing of a geometry view component, e.g. used in the detail views. Encapsules the rendering and initializing of a geometry view component, e.g. used in the detail views.
@ -6,7 +6,10 @@
{% if geom_form.empty %} {% if geom_form.empty %}
<div class="w-100"> <div class="w-100">
<div class="alert alert-info">{% trans 'No geometry added, yet.' %}</div> <div class="alert alert-info">
{% fa5_icon 'search-location' %}
{% trans 'No geometry added, yet.' %}
</div>
</div> </div>
{% endif %} {% endif %}

@ -10,6 +10,7 @@
{% endfor %} {% endfor %}
{% else %} {% else %}
<span class="text-info" title="{% translate 'No geometry added, yet.' %}"> <span class="text-info" title="{% translate 'No geometry added, yet.' %}">
{% fa5_icon 'ellipsis-h' %} {% fa5_icon 'search-location' %}
{% fa5_icon 'question' %}
</span> </span>
{% endif %} {% endif %}
Loading…
Cancel
Save