Compare commits

..

No commits in common. "bc9c22949dbd7d7d5ccf2468899b878ff1d2d57d" and "ede2591cb08eaca34b81e9117c65f6328e40b9d0" have entirely different histories.

7 changed files with 13 additions and 32 deletions

View File

@ -55,12 +55,10 @@ class CheckboxCompensationTableFilter(CheckboxTableFilter):
""" """
if not value: if not value:
user_teams = self.user.shared_teams return queryset.filter(
result = queryset.filter(
Q(intervention__users__in=[self.user]) | # requesting user has access Q(intervention__users__in=[self.user]) | # requesting user has access
Q(intervention__teams__in=user_teams) Q(intervention__teams__in=self.user.shared_teams)
).distinct() ).distinct()
return result
else: else:
return queryset return queryset

View File

@ -8,7 +8,6 @@ Created on: 18.08.22
from django.http import HttpRequest from django.http import HttpRequest
from django.template.loader import render_to_string from django.template.loader import render_to_string
from django.urls import reverse from django.urls import reverse
from django.utils.formats import number_format
from django.utils.html import format_html from django.utils.html import format_html
from django.utils.translation import gettext_lazy as _ from django.utils.translation import gettext_lazy as _
@ -112,7 +111,6 @@ class EcoAccountTable(BaseTable, TableRenderMixin, TableOrderMixin):
except ZeroDivisionError: except ZeroDivisionError:
value_relative = 0 value_relative = 0
html = render_to_string("konova/widgets/progressbar.html", {"value": value_relative}) html = render_to_string("konova/widgets/progressbar.html", {"value": value_relative})
html += f"{number_format(record.deductable_rest, decimal_pos=2)}"
return format_html(html) return format_html(html)
def render_r(self, value, record: EcoAccount): def render_r(self, value, record: EcoAccount):

View File

@ -204,11 +204,7 @@ def detail_view(request: HttpRequest, id: str):
""" """
template = "compensation/detail/compensation/view.html" template = "compensation/detail/compensation/view.html"
comp = get_object_or_404( comp = get_object_or_404(
Compensation.objects.select_related( Compensation,
"modified",
"created",
"geometry"
),
id=id, id=id,
deleted=None, deleted=None,
intervention__deleted=None, intervention__deleted=None,

View File

@ -142,8 +142,6 @@ def detail_view(request: HttpRequest, id: str):
"geometry", "geometry",
"legal", "legal",
"responsible", "responsible",
).prefetch_related(
"legal__revocations",
), ),
id=id, id=id,
deleted=None deleted=None
@ -160,10 +158,7 @@ def detail_view(request: HttpRequest, id: str):
last_checked = intervention.get_last_checked_action() last_checked = intervention.get_last_checked_action()
last_checked_tooltip = "" last_checked_tooltip = ""
if last_checked: if last_checked:
last_checked_tooltip = DATA_CHECKED_PREVIOUSLY_TEMPLATE.format( last_checked_tooltip = DATA_CHECKED_PREVIOUSLY_TEMPLATE.format(last_checked.get_timestamp_str_formatted(), last_checked.user)
last_checked.get_timestamp_str_formatted(),
last_checked.user
)
has_payment_without_document = intervention.payments.exists() and not intervention.get_documents()[1].exists() has_payment_without_document = intervention.payments.exists() and not intervention.get_documents()[1].exists()

View File

@ -50,11 +50,9 @@ class ShareableTableFilterMixin(django_filters.FilterSet):
""" """
if not value: if not value:
user_teams = self.user.shared_teams return queryset.filter(
result = queryset.filter(
Q(users__in=[self.user]) | # requesting user has access Q(users__in=[self.user]) | # requesting user has access
Q(teams__in=user_teams) Q(teams__in=self.user.shared_teams)
).distinct() ).distinct()
return result
else: else:
return queryset return queryset

View File

@ -506,13 +506,10 @@ class ShareableObjectMixin(models.Model):
Returns: Returns:
""" """
obj_shared_teams = self.shared_teams directly_shared = self.shared_users.filter(id=user.id).exists()
obj_shared_users = self.shared_users team_shared = self.shared_teams.filter(
user_shared_teams = user.shared_teams users__in=[user]
).exists()
directly_shared = obj_shared_users.filter(id=user.id).exists()
team_shared = (obj_shared_teams & user_shared_teams).exists()
is_shared = directly_shared or team_shared is_shared = directly_shared or team_shared
return is_shared return is_shared

View File

@ -35,7 +35,6 @@ def home_view(request: HttpRequest):
template = "konova/home.html" template = "konova/home.html"
now = timezone.now() now = timezone.now()
user = request.user user = request.user
user_teams = user.shared_teams
# Fetch the four newest active and published ServerMessages # Fetch the four newest active and published ServerMessages
msgs = ServerMessage.objects.filter( msgs = ServerMessage.objects.filter(
@ -52,7 +51,7 @@ def home_view(request: HttpRequest):
) )
# Then fetch only user related ones # Then fetch only user related ones
user_interventions = interventions.filter( user_interventions = interventions.filter(
Q(users__in=[user]) | Q(teams__in=user_teams) Q(users__in=[user]) | Q(teams__in=user.shared_teams)
).distinct() ).distinct()
# Repeat for other objects # Repeat for other objects
@ -60,13 +59,13 @@ def home_view(request: HttpRequest):
deleted=None, deleted=None,
) )
user_comps = comps.filter( user_comps = comps.filter(
Q(intervention__users__in=[user]) | Q(intervention__teams__in=user_teams) Q(intervention__users__in=[user]) | Q(intervention__teams__in=user.shared_teams)
).distinct() ).distinct()
eco_accs = EcoAccount.objects.filter( eco_accs = EcoAccount.objects.filter(
deleted=None, deleted=None,
) )
user_ecco_accs = eco_accs.filter( user_ecco_accs = eco_accs.filter(
Q(users__in=[user]) | Q(teams__in=user_teams) Q(users__in=[user]) | Q(teams__in=user.shared_teams)
).distinct() ).distinct()
additional_context = { additional_context = {