Skip to content

Commit 192be2d

Browse files
committed
fix: filter invites by user_id field
1 parent 36c01d8 commit 192be2d

File tree

5 files changed

+41
-5
lines changed

5 files changed

+41
-5
lines changed

.gitignore

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -138,3 +138,5 @@ cache
138138

139139
static
140140
/emails/
141+
142+
.DS_Store

Dockerfile

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,10 @@ FROM python:3.11
22

33
RUN apt update --no-install-recommends -y
44

5+
RUN apt-get update && \
6+
apt-get install -y cmake && \
7+
rm -rf /var/lib/apt/lists/*
8+
59
ENV PYTHONFAULTHANDLER=1 \
610
PYTHONUNBUFFERED=1 \
711
PYTHONHASHSEED=random \

Makefile

Lines changed: 19 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,22 @@
1+
.PHONY: up down build superuser migrate migrations logs
2+
13
up:
24
docker compose -f docker-compose.yml up -d
5+
36
down:
4-
docker compose -f docker-compose.yml down
7+
docker compose -f docker-compose.yml down
8+
9+
build:
10+
docker compose -f docker-compose.yml build
11+
12+
superuser:
13+
docker exec -it web poetry run python manage.py createsuperuser
14+
15+
migrate:
16+
docker exec -it web poetry run python manage.py migrate
17+
18+
migrations:
19+
docker exec -it web poetry run python manage.py makemigrations
20+
21+
logs:
22+
docker container logs web

docker-compose.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@ services:
1010
command: bash ./scripts/startup.sh
1111
volumes:
1212
- ./log:/procollab/log
13+
- ./:/procollab/.
1314
env_file:
1415
- .env
1516
environment:

invites/filters.py

Lines changed: 15 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,14 @@
44
from vacancy.filters import project_id_filter
55

66

7+
def user_id_filter(queryset, name, value):
8+
return queryset.filter(
9+
**{
10+
"user_id": value[0],
11+
}
12+
)
13+
14+
715
class InviteFilter(filters.FilterSet):
816
"""Filter for Invite
917
@@ -21,17 +29,20 @@ class InviteFilter(filters.FilterSet):
2129
def __init__(self, *args, **kwargs):
2230
"""if user filter is not passed, default to request.user"""
2331
super().__init__(*args, **kwargs)
24-
if self.data.get("user") is None:
32+
if self.data.get("user_id") is None:
2533
# default filtering by current user
2634
self.data = dict(self.data)
2735
self.data["user"] = kwargs.get("request").user.id
36+
37+
# fixme: if there is no filter, handler may return too much data
2838
# if user == "any", remove the filter
29-
if self.data.get("user") == "any":
39+
if self.data.get("user_id") == "any":
3040
self.data = dict(self.data)
31-
self.data.pop("user")
41+
self.data.pop("user_id")
3242

3343
project = filters.Filter(method=project_id_filter)
44+
user_id = filters.Filter(method=user_id_filter)
3445

3546
class Meta:
3647
model = Invite
37-
fields = ("project", "user")
48+
fields = ("project", "user_id")

0 commit comments

Comments
 (0)