Completed
Pull Request — master (#24)
by
unknown
56s
created

Cluster   A

Complexity

Total Complexity 1

Size/Duplication

Total Lines 24
Duplicated Lines 0 %
Metric Value
dl 0
loc 24
rs 10
wmc 1

1 Method

Rating   Name   Duplication   Size   Complexity  
A save() 0 16 1
1
from django.db import models
2
3
from dry_rest_permissions.generics import allow_staff_or_superuser
4
5
from sigma_core.models.group import Group
6
7
8
class Cluster(Group):
9
    design = models.CharField(max_length=255)
10
11
    DEFAULT_MEMBER_RANK = 1
12
13
    # Related fields:
14
    #   - cluster_users (model User.clusters)
15
16
    def save(self, *args, **kwargs):
17
        """
18
        Clusters are special groups: some params cannot be specified by user.
19
        """
20
        self.private = False
21
        self.default_member_rank = -1
22
        self.req_rank_invite = Group.ADMINISTRATOR_RANK
23
        self.req_rank_kick = Group.ADMINISTRATOR_RANK
24
        self.req_rank_accept_join_requests = Group.ADMINISTRATOR_RANK
25
        self.req_rank_promote = Group.ADMINISTRATOR_RANK
26
        self.req_rank_demote = Group.ADMINISTRATOR_RANK
27
        self.req_rank_modify_group_infos = Group.ADMINISTRATOR_RANK
28
        self.resp_cluster = None
29
        self.protected = True
30
31
        return super().save(*args, **kwargs)
32