Skip to content

Commit

Permalink
added admin support
Browse files Browse the repository at this point in the history
source: intelowlproject/IntelOwl#1470
updated pre-commit and fixed flake8 syntax error
  • Loading branch information
federicofantini committed Aug 9, 2023
1 parent cfb7c1f commit b638890
Show file tree
Hide file tree
Showing 5 changed files with 42 additions and 12 deletions.
11 changes: 6 additions & 5 deletions .flake8
Original file line number Diff line number Diff line change
Expand Up @@ -7,9 +7,10 @@ exclude =
build
venv*
certego_django_apps/migrations
example_project
ignore =
F821 # undefined name 'Rule'
W503 # line break before binary operator
E402 # module level import not at top of file
W291 # trailing whitespace nightmare
E203 # whitespace before ':'
F821, # undefined name 'Rule'
W503, # line break before binary operator
E402, # module level import not at top of file
W291, # trailing whitespace nightmare
E203, # whitespace before ':'
12 changes: 6 additions & 6 deletions .pre-commit-config.yaml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
repos:
- repo: https://github.com/myint/autoflake
rev: v1.4
rev: v2.2.0
hooks:
- id: autoflake
args:
Expand All @@ -11,15 +11,15 @@ repos:
"-i",
]
- repo: https://github.com/psf/black
rev: 22.3.0
rev: 23.7.0
hooks:
- id: black
- repo: https://gitlab.com/pycqa/flake8
rev: 4.0.1
- repo: https://github.com/pycqa/flake8
rev: 6.1.0
hooks:
- id: flake8
- repo: https://github.com/pycqa/isort
rev: 5.10.1
rev: 5.12.0
hooks:
- id: isort
args: ["--profile", "black", "--filter-files", "--skip", "venv"]
Expand All @@ -30,4 +30,4 @@ repos:
# additional_dependencies:
# - django-stubs
# - djangorestframework-stubs
# args: [--no-strict-optional, --ignore-missing-imports]
# args: [--no-strict-optional, --ignore-missing-imports]
2 changes: 2 additions & 0 deletions certego_saas/apps/organization/admin.py
Original file line number Diff line number Diff line change
Expand Up @@ -11,12 +11,14 @@ class MembershipAdmin(admin.ModelAdmin):
"user",
"organization",
"is_owner",
"is_admin",
"created_at",
)

list_filter = (
"organization",
"is_owner",
"is_admin",
)


Expand Down
14 changes: 13 additions & 1 deletion certego_saas/apps/organization/membership.py
Original file line number Diff line number Diff line change
Expand Up @@ -33,8 +33,17 @@ class Meta:
on_delete=models.CASCADE,
)
is_owner = models.BooleanField(default=False)
is_admin = models.BooleanField(default=False)

# funcs
def clean_admin(self):
if self.is_owner and not self.is_admin:
# an owner must be an admin, permissions will be checked on this field
self.is_admin = True

def clean(self):
super().clean()
self.clean_admin()

def __str__(self):
member_str = "owner" if self.is_owner else "member"
Expand All @@ -48,4 +57,7 @@ class ExistingMembershipException(ValidationError):
)

class OwnerCantLeaveException(ValidationError):
default_detail = "Owner cannot leave the organization but can choose to delete the organization."
default_detail = (
"Owner cannot leave the organization"
"but can choose to delete the organization."
)
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
from django.db import migrations, models


class Migration(migrations.Migration):
dependencies = [
("certego_saas_organization", "0001_initial"),
]

operations = [
migrations.AddField(
model_name="membership",
name="is_admin",
field=models.BooleanField(default=False),
),
]

0 comments on commit b638890

Please sign in to comment.