コード例 #1
0
ファイル: user.py プロジェクト: bri-bri/user-groups
 def delete(self):
     userid_to_delete = self.userid
     if super(User, self).delete():
         # Remove all user-group mappings on successful delete
         UserInGroup.delete_many({'userid': userid_to_delete})
         return True
     return False
コード例 #2
0
 def delete(self):
     userid_to_delete = self.userid
     if super(User, self).delete():
         # Remove all user-group mappings on successful delete
         UserInGroup.delete_many({'userid': userid_to_delete})
         return True
     return False
コード例 #3
0
    def update(self, users):
        UserInGroup.delete_many({'group_name': self.group_name})

        user_in_group_data = []
        unique_users = set(users)
        for userid in unique_users:

            doc = {'userid': userid, 'group_name': self.group_name}
            user_in_group_data.append(doc)
        UserInGroup.insert_many(user_in_group_data)
        return True
コード例 #4
0
ファイル: group.py プロジェクト: bri-bri/user-groups
    def update(self, users):
        UserInGroup.delete_many({'group_name' : self.group_name})

        user_in_group_data = []
        unique_users = set(users)
        for userid in unique_users:

            doc = {
                'userid': userid,
                'group_name': self.group_name
            }
            user_in_group_data.append(doc)
        UserInGroup.insert_many(user_in_group_data)
        return True
コード例 #5
0
ファイル: user.py プロジェクト: bri-bri/user-groups
 def insert(self):
     # Overriding insert can ensure concurrency of user_in_group data on updates too
     # This is because insert is currently invoked by update
     if super(User, self).insert():
         # Create user-group mappings on successful insert
         uigs = []
         cached_group_lookups = {}
         if getattr(self, 'groups', None) is not None:
             for group_name in self.groups:
                 if group_name not in cached_group_lookups:
                     group = Group(group_name)
                     if not group.exists_in_db():
                         cached_group_lookups[group_name] = group.insert()
                 uig = {'userid': self.userid, 'group_name': group_name}
                 uigs.append(uig)
             UserInGroup.insert_many(uigs)
         return True
     return False
コード例 #6
0
 def insert(self):
     # Overriding insert can ensure concurrency of user_in_group data on updates too
     # This is because insert is currently invoked by update
     if super(User, self).insert():
         # Create user-group mappings on successful insert
         uigs = []
         cached_group_lookups = {}
         if getattr(self, 'groups', None) is not None:
             for group_name in self.groups:
                 if group_name not in cached_group_lookups:
                     group = Group(group_name)
                     if not group.exists_in_db():
                         cached_group_lookups[group_name] = group.insert()
                 uig = {'userid': self.userid, 'group_name': group_name}
                 uigs.append(uig)
             UserInGroup.insert_many(uigs)
         return True
     return False
コード例 #7
0
ファイル: user.py プロジェクト: bri-bri/user-groups
 def __init__(self, data):
     super(User, self).__init__(data)
     if self.groups is None:
         self.groups = UserInGroup.list_groups({'userid': self.userid})
コード例 #8
0
 def __init__(self, data):
     super(User, self).__init__(data)
     if self.groups is None:
         self.groups = UserInGroup.list_groups({'userid': self.userid})
コード例 #9
0
ファイル: group.py プロジェクト: bri-bri/user-groups
 def delete(self):
     group_name_to_delete = self.group_name
     if super(Group, self).delete():
         UserInGroup.delete_many({'group_name' : group_name_to_delete})
         return True
     return False
コード例 #10
0
ファイル: group.py プロジェクト: bri-bri/user-groups
 def __init__(self, data):
     super(Group, self).__init__(data)
     self.users = UserInGroup.list_users({'group_name': self.group_name})
コード例 #11
0
 def delete(self):
     group_name_to_delete = self.group_name
     if super(Group, self).delete():
         UserInGroup.delete_many({'group_name': group_name_to_delete})
         return True
     return False
コード例 #12
0
 def __init__(self, data):
     super(Group, self).__init__(data)
     self.users = UserInGroup.list_users({'group_name': self.group_name})