Skip to content

Commit

Permalink
Fix type error on view
Browse files Browse the repository at this point in the history
  • Loading branch information
jonasdeluna committed Feb 26, 2024
1 parent 8a24356 commit fd5913a
Show file tree
Hide file tree
Showing 5 changed files with 102 additions and 117 deletions.
96 changes: 95 additions & 1 deletion lego/apps/forums/migrations/0001_initial.py
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# Generated by Django 4.0.10 on 2024-01-23 19:04
# Generated by Django 4.0.10 on 2024-02-26 16:56

import django.db.models.deletion
import django.utils.timezone
Expand Down Expand Up @@ -104,4 +104,98 @@ class Migration(migrations.Migration):
"abstract": False,
},
),
migrations.CreateModel(
name="Thread",
fields=[
(
"id",
models.AutoField(
auto_created=True,
primary_key=True,
serialize=False,
verbose_name="ID",
),
),
(
"created_at",
models.DateTimeField(
db_index=True, default=django.utils.timezone.now, editable=False
),
),
(
"updated_at",
models.DateTimeField(
default=django.utils.timezone.now, editable=False
),
),
(
"deleted",
models.BooleanField(db_index=True, default=False, editable=False),
),
("require_auth", models.BooleanField(default=True)),
("slug", models.SlugField(null=True, unique=True)),
("title", models.CharField(max_length=255)),
("description", models.TextField()),
("text", lego.apps.content.fields.ContentField(allow_images=False)),
("pinned", models.BooleanField(default=False)),
(
"can_edit_groups",
models.ManyToManyField(
blank=True,
related_name="can_edit_%(class)s",
to="users.abakusgroup",
),
),
(
"can_edit_users",
models.ManyToManyField(
blank=True,
related_name="can_edit_%(class)s",
to=settings.AUTH_USER_MODEL,
),
),
(
"can_view_groups",
models.ManyToManyField(
blank=True,
related_name="can_view_%(class)s",
to="users.abakusgroup",
),
),
(
"created_by",
models.ForeignKey(
default=None,
editable=False,
null=True,
on_delete=django.db.models.deletion.SET_NULL,
related_name="%(class)s_created",
to=settings.AUTH_USER_MODEL,
),
),
(
"forum",
models.ForeignKey(
on_delete=django.db.models.deletion.CASCADE,
related_name="threads",
to="forums.forum",
),
),
("tags", models.ManyToManyField(blank=True, to="tags.tag")),
(
"updated_by",
models.ForeignKey(
default=None,
editable=False,
null=True,
on_delete=django.db.models.deletion.SET_NULL,
related_name="%(class)s_updated",
to=settings.AUTH_USER_MODEL,
),
),
],
options={
"abstract": False,
},
),
]
114 changes: 0 additions & 114 deletions lego/apps/forums/migrations/0002_thread.py

This file was deleted.

6 changes: 4 additions & 2 deletions lego/apps/forums/permissions.py
Original file line number Diff line number Diff line change
Expand Up @@ -41,7 +41,7 @@ def has_perm(
return False

def has_object_permissions(self, user, perm, obj):
return perm != DELETE and perm != EDIT
return not (perm == DELETE or perm == EDIT)


class ThreadPermissionHandler(PermissionHandler):
Expand Down Expand Up @@ -85,8 +85,10 @@ def has_perm(
return False

def has_object_permissions(self, user, perm, obj):
if perm == DELETE:
return False
if perm == EDIT and obj.created_by == user:
return True
if perm == CREATE:
return True
return perm != DELETE and perm != EDIT
return not (perm == DELETE or perm == EDIT)
1 change: 1 addition & 0 deletions lego/apps/forums/views.py
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,7 @@ def get_serializer_class(self):
return PublicForumSerializer
if self.request and self.request.user.is_authenticated:
return DetailedAdminForumSerializer
return super().get_serializer_class()

def get_object(self) -> Forum:
queryset = self.get_queryset()
Expand Down
2 changes: 2 additions & 0 deletions lego/apps/tags/tests/test_views.py
Original file line number Diff line number Diff line change
Expand Up @@ -31,6 +31,8 @@ def test_fetch_detail(self):
"quote": 0,
"joblisting": 0,
"poll": 0,
"forum": 0,
"thread": 0,
},
},
)
Expand Down

0 comments on commit fd5913a

Please sign in to comment.