def delete_group(self, group_id, modifier_id): group = Group.get_by_key(group_id) self.delete_contactgroups(modifier_id, group_id=group_id) self.delete_groupexceptions(group_id, modifier_id) self.delete_groupversions(group_id, modifier_id) self.delete_groupcomponents(group_id, modifier_id) group.delete(modifier_id) return True
def create_group(self, group, modifier_id): query = Group.all() query.order("-group_order") if query.count() > 0: group.group_order = query.get().group_order + 1 else: group.group_order = 1 group.put(modifier_id)
def fetch_groups(self, user_id, is_shared=None, sharetome=None, withcontactcount=True): query = Group.all("a") if is_shared != None: query.filter("is_shared =", is_shared) if sharetome: query.model(ContactGroup.get_modelname(), alias="b", join="inner", on="a.uid=b.group_id") query.model(Contact.get_modelname(), alias="c", join="inner", on="c.uid=b.contact_id") query.filter("c.bind_user_id =", user_id) query.filter("a.is_shared =", True) else: query.filter("creator_id =", int(user_id)) def group_proc(group): if withcontactcount: group.contactcount = self.get_contactcount(False, user_id, group_id=group.key()) groups = query.fetch(model_proc=group_proc) return groups
def get_group(self, group_id): return Group.get_by_key(group_id)