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)
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,
)
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,
)
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"
emas = Ema.objects.filter(
deleted=None,
).order_by(
"-modified"
)
table = EmaTable(
request,
queryset=emas

@ -146,22 +146,3 @@ class InterventionTable(BaseTable, TableRenderMixin, TableOrderMixin):
)
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">
{% if parcels|length == 0 %}
<article class="alert alert-info">
{% fa5_icon 'search-location' %}
{% trans 'Parcels can not be calculated, since no geometry is given.' %}
</article>
{% else %}

@ -12,8 +12,9 @@ from django.http import HttpRequest
from django.template.loader import render_to_string
from django.utils.html import format_html
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
@ -200,6 +201,25 @@ class TableRenderMixin:
)
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:
"""

@ -1,4 +1,4 @@
{% load i18n %}
{% load i18n fontawesome_5 %}
{% comment %}
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 %}
<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>
{% endif %}

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