def copy_group(self, old_group, new_groupset): assert new_groupset.groups.filter(name=old_group.name).count( ) <= 1, "More than one group with name {0} found".format( old_group.name) if new_groupset.groups.filter(name=old_group.name).count() == 0: # Create new group new_group = Group(name=old_group.name, short_name=old_group.short_name, size=old_group.size, groupset=new_groupset) # Get parent if old_group.parent != None: new_parent = self.copy_group(old_group.parent, new_groupset) new_group.parent = new_parent new_group.save() elif new_groupset.groups.filter(name=old_group.name).count() == 1: # Return old group # print "Returning old group" new_group = new_groupset.groups.get(name=old_group.name) if old_group.parent is not None and new_group.parent is None: new_parent = self.copy_group(old_group.parent, new_groupset) print(new_parent) print("Napaka") new_group.parent = new_parent new_group.save() return new_group
def create_group(abbr, course, sem, subg, user): info = get_group_info(abbr, course, sem) group = False if ((int(subg) in (1, 2, 0)) and info): group = Group(group_info=info, subgroup=subg, user_create=user) group.save() return group