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!
This commit is contained in:
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…
Reference in New Issue
Block a user