Skip to content
Snippets Groups Projects
Commit 5e0b67c8 authored by Tom Teichler's avatar Tom Teichler :beers:
Browse files

Add basic rules

parent 79be0ec0
No related branches found
No related tags found
No related merge requests found
import rules
from aleksis.core.util.predicates import (
has_any_object,
has_global_perm,
has_object_perm,
has_person,
)
from .models.base import Display, DisplayGroup, Slide
from .models.slides import ForeignURLSlide, StaticContentSlide, UploadedFileSlide
# Displays
view_displays_predicate = has_person & (
has_global_perm("paweljong.view_display") | has_any_object("paweljong.view_display", Display)
)
rules.add_perm("paweljong.view_displays_rule", view_displays_predicate)
# View display
view_display_predicate = has_person & (
is_own_display
| has_global_perm("paweljong.view_display")
| has_object_perm("paweljong.view_display")
)
rules.add_perm("paweljong.view_display_rule", view_display_predicate)
# Edit display
change_display_predicate = has_person & (
has_global_perm("paweljong.change_display") | has_object_perm("paweljong.change_display")
)
rules.add_perm("paweljong.change_display_rule", change_display_predicate)
# Delete display
delete_display_predicate = has_person & (
has_global_perm("paweljong.delete_display") | has_object_perm("paweljong.delete_display")
)
rules.add_perm("paweljong.delete_display_rule", delete_display_predicate)
# Create displays
create_displays_predicate = has_person & (
has_global_perm("paweljong.create_display")
| has_any_object("paweljong.create_display", Display)
)
rules.add_perm("paweljong.create_displays_rule", create_displays_predicate)
# Display groups
view_display_groups_predicate = has_person & (
has_global_perm("paweljong.view_display_group")
| has_any_object("paweljong.view_display_group", DisplayGroup)
)
rules.add_perm("paweljong.view_display_groups_rule", view_display_groups_predicate)
# View display_group
view_display_group_predicate = has_person & (
is_own_display_group
| has_global_perm("paweljong.view_display_group")
| has_object_perm("paweljong.view_display_group")
)
rules.add_perm("paweljong.view_display_group_rule", view_display_group_predicate)
# Edit display_group
change_display_group_predicate = has_person & (
has_global_perm("paweljong.change_display_group")
| has_object_perm("paweljong.change_display_group")
)
rules.add_perm("paweljong.change_display_group_rule", change_display_group_predicate)
# Delete display_group
delete_display_group_predicate = has_person & (
has_global_perm("paweljong.delete_display_group")
| has_object_perm("paweljong.delete_display_group")
)
rules.add_perm("paweljong.delete_display_group_rule", delete_display_group_predicate)
# Create display_groups
create_display_groups_predicate = has_person & (
has_global_perm("paweljong.create_display_group")
| has_any_object("paweljong.create_display_group", DisplayGroup)
)
rules.add_perm("paweljong.create_display_groups_rule", create_display_groups_predicate)
from .models.base import Display, DisplayGroup, Slide
from .models.slides import ForeignURLSlide, UploadedFileSlide, StaticContentSlide
from .models.slides import ForeignURLSlide, StaticContentSlide, UploadedFileSlide
class DisplayListView(PermissionRequ0iredMixin, SingleTableView):
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment