Skip to content

Commit fd5913a

Browse files
committed
Fix type error on view
1 parent 8a24356 commit fd5913a

File tree

5 files changed

+102
-117
lines changed

5 files changed

+102
-117
lines changed

lego/apps/forums/migrations/0001_initial.py

Lines changed: 95 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
# Generated by Django 4.0.10 on 2024-01-23 19:04
1+
# Generated by Django 4.0.10 on 2024-02-26 16:56
22

33
import django.db.models.deletion
44
import django.utils.timezone
@@ -104,4 +104,98 @@ class Migration(migrations.Migration):
104104
"abstract": False,
105105
},
106106
),
107+
migrations.CreateModel(
108+
name="Thread",
109+
fields=[
110+
(
111+
"id",
112+
models.AutoField(
113+
auto_created=True,
114+
primary_key=True,
115+
serialize=False,
116+
verbose_name="ID",
117+
),
118+
),
119+
(
120+
"created_at",
121+
models.DateTimeField(
122+
db_index=True, default=django.utils.timezone.now, editable=False
123+
),
124+
),
125+
(
126+
"updated_at",
127+
models.DateTimeField(
128+
default=django.utils.timezone.now, editable=False
129+
),
130+
),
131+
(
132+
"deleted",
133+
models.BooleanField(db_index=True, default=False, editable=False),
134+
),
135+
("require_auth", models.BooleanField(default=True)),
136+
("slug", models.SlugField(null=True, unique=True)),
137+
("title", models.CharField(max_length=255)),
138+
("description", models.TextField()),
139+
("text", lego.apps.content.fields.ContentField(allow_images=False)),
140+
("pinned", models.BooleanField(default=False)),
141+
(
142+
"can_edit_groups",
143+
models.ManyToManyField(
144+
blank=True,
145+
related_name="can_edit_%(class)s",
146+
to="users.abakusgroup",
147+
),
148+
),
149+
(
150+
"can_edit_users",
151+
models.ManyToManyField(
152+
blank=True,
153+
related_name="can_edit_%(class)s",
154+
to=settings.AUTH_USER_MODEL,
155+
),
156+
),
157+
(
158+
"can_view_groups",
159+
models.ManyToManyField(
160+
blank=True,
161+
related_name="can_view_%(class)s",
162+
to="users.abakusgroup",
163+
),
164+
),
165+
(
166+
"created_by",
167+
models.ForeignKey(
168+
default=None,
169+
editable=False,
170+
null=True,
171+
on_delete=django.db.models.deletion.SET_NULL,
172+
related_name="%(class)s_created",
173+
to=settings.AUTH_USER_MODEL,
174+
),
175+
),
176+
(
177+
"forum",
178+
models.ForeignKey(
179+
on_delete=django.db.models.deletion.CASCADE,
180+
related_name="threads",
181+
to="forums.forum",
182+
),
183+
),
184+
("tags", models.ManyToManyField(blank=True, to="tags.tag")),
185+
(
186+
"updated_by",
187+
models.ForeignKey(
188+
default=None,
189+
editable=False,
190+
null=True,
191+
on_delete=django.db.models.deletion.SET_NULL,
192+
related_name="%(class)s_updated",
193+
to=settings.AUTH_USER_MODEL,
194+
),
195+
),
196+
],
197+
options={
198+
"abstract": False,
199+
},
200+
),
107201
]

lego/apps/forums/migrations/0002_thread.py

Lines changed: 0 additions & 114 deletions
This file was deleted.

lego/apps/forums/permissions.py

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,7 @@ def has_perm(
4141
return False
4242

4343
def has_object_permissions(self, user, perm, obj):
44-
return perm != DELETE and perm != EDIT
44+
return not (perm == DELETE or perm == EDIT)
4545

4646

4747
class ThreadPermissionHandler(PermissionHandler):
@@ -85,8 +85,10 @@ def has_perm(
8585
return False
8686

8787
def has_object_permissions(self, user, perm, obj):
88+
if perm == DELETE:
89+
return False
8890
if perm == EDIT and obj.created_by == user:
8991
return True
9092
if perm == CREATE:
9193
return True
92-
return perm != DELETE and perm != EDIT
94+
return not (perm == DELETE or perm == EDIT)

lego/apps/forums/views.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,7 @@ def get_serializer_class(self):
2626
return PublicForumSerializer
2727
if self.request and self.request.user.is_authenticated:
2828
return DetailedAdminForumSerializer
29+
return super().get_serializer_class()
2930

3031
def get_object(self) -> Forum:
3132
queryset = self.get_queryset()

lego/apps/tags/tests/test_views.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,8 @@ def test_fetch_detail(self):
3131
"quote": 0,
3232
"joblisting": 0,
3333
"poll": 0,
34+
"forum": 0,
35+
"thread": 0,
3436
},
3537
},
3638
)

0 commit comments

Comments
 (0)