Skip to content

Commit

Permalink
Pylint fixes
Browse files Browse the repository at this point in the history
  • Loading branch information
horilla-opensource committed Feb 14, 2025
1 parent d453c1d commit 1634540
Show file tree
Hide file tree
Showing 30 changed files with 328 additions and 290 deletions.
20 changes: 14 additions & 6 deletions project/cbv/accessibility.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,30 +2,38 @@
Accessibility
"""


from django.contrib.auth.context_processors import PermWrapper

from employee.models import Employee
from project.models import Project, Task


def task_crud_accessibility(request, instance: object = None, user_perms: PermWrapper = [], *args, **kwargs
def task_crud_accessibility(
request, instance: object = None, user_perms: PermWrapper = [], *args, **kwargs
) -> bool:
"""
to access crud operations
"""
employee = request.user.employee_get
is_task_manager = employee in instance.task_managers.all()
is_project_manager = employee in instance.project.managers.all()
if (request.user.has_perm("project.view_task") or is_project_manager or is_task_manager):
if (
request.user.has_perm("project.view_task")
or is_project_manager
or is_task_manager
):
return True
else:
return False

def project_manager_accessibility(request, instance: object = None, user_perms: PermWrapper = [], *args, **kwargs

def project_manager_accessibility(
request, instance: object = None, user_perms: PermWrapper = [], *args, **kwargs
) -> bool:
"""
to access edit Project
"""
return (request.user.employee_get in instance.managers.all() or
request.user.is_superuser)
return (
request.user.employee_get in instance.managers.all()
or request.user.is_superuser
)
37 changes: 24 additions & 13 deletions project/cbv/cbv_decorators.py
Original file line number Diff line number Diff line change
@@ -1,33 +1,44 @@


from project.methods import any_project_manager, any_project_member, any_task_manager, any_task_member, has_subordinates
from django.contrib import messages
from django.http import HttpResponseRedirect

from horilla.horilla_middlewares import _thread_locals
from project.methods import (
any_project_manager,
any_project_member,
any_task_manager,
any_task_member,
has_subordinates,
)

# from project.sidebar import has_subordinates


decorator_with_arguments = lambda decorator: lambda *args, **kwargs: lambda func: decorator(func, *args, **kwargs)
decorator_with_arguments = (
lambda decorator: lambda *args, **kwargs: lambda func: decorator(
func, *args, **kwargs
)
)


@decorator_with_arguments
def is_projectmanager_or_member_or_perms(function,perm):
def is_projectmanager_or_member_or_perms(function, perm):
def _function(self, *args, **kwargs):
"""
This method is used to check the employee is project manager or not
This method is used to check the employee is project manager or not
"""
request = getattr(_thread_locals,"request")
if not getattr(self,"request",None):
request = getattr(_thread_locals, "request")
if not getattr(self, "request", None):
self.request = request
user = request.user
if (
user.has_perm(perm) or
any_project_manager(user) or
any_project_member(user) or
any_task_manager(user) or
any_task_member(user)
user.has_perm(perm)
or any_project_manager(user)
or any_project_member(user)
or any_task_manager(user)
or any_task_member(user)
):
return function(self, *args, **kwargs)
messages.info(request, "You don't have permission.")
return HttpResponseRedirect(request.META.get("HTTP_REFERER", "/"))

return _function
11 changes: 6 additions & 5 deletions project/cbv/dashboard.py
Original file line number Diff line number Diff line change
Expand Up @@ -5,18 +5,19 @@
import calendar
import datetime
from typing import Any
from django.db.models import Count

from django.db.models import Count, Q
from django.db.models.query import QuerySet
from django.urls import resolve, reverse
from django.utils.translation import gettext_lazy as _
from django.utils.decorators import method_decorator
from django.db.models import Q
from django.utils.translation import gettext_lazy as _

from base.methods import get_subordinates
from horilla_views.generic.cbv.views import HorillaListView, HorillaDetailedView
from horilla_views.cbv_methods import login_required
from horilla_views.generic.cbv.views import HorillaDetailedView, HorillaListView
from project.cbv.cbv_decorators import is_projectmanager_or_member_or_perms
from project.filters import ProjectFilter
from project.models import Project
from project.cbv.cbv_decorators import is_projectmanager_or_member_or_perms


@method_decorator(login_required, name="dispatch")
Expand Down
6 changes: 4 additions & 2 deletions project/cbv/project_stage.py
Original file line number Diff line number Diff line change
Expand Up @@ -4,10 +4,12 @@

import logging
from typing import Any

from django.contrib import messages
from django.http import HttpResponse
from django.utils.translation import gettext_lazy as _
from django.utils.decorators import method_decorator
from django.contrib import messages
from django.utils.translation import gettext_lazy as _

from horilla_views.cbv_methods import login_required
from horilla_views.generic.cbv.views import HorillaFormView

Expand Down
Loading

0 comments on commit 1634540

Please sign in to comment.