16 lines
820 B
Python
16 lines
820 B
Python
from django.db import OperationalError, ProgrammingError
|
|
from . import policies
|
|
from .models import PaymentReceipt
|
|
|
|
|
|
def payment_navigation(request):
|
|
if not policies.is_staff(request.user):
|
|
return {}
|
|
try:
|
|
return {'payment_can_create': policies.can_create(request.user),
|
|
'payment_pending_count': policies.visible(PaymentReceipt.objects.all(),request.user).filter(status__in=['PENDING','PARTIAL']).count(),
|
|
'payment_can_manage_banks': policies.can_manage_banks(request.user),
|
|
'payment_can_view': policies.visible(PaymentReceipt.objects.all(),request.user).exists() or policies.config().open_view or request.user.has_perm('payments.view_paymentreceipt') or request.user.is_superuser}
|
|
except (OperationalError, ProgrammingError):
|
|
return {}
|