def setUp(self): super(PageAPITests, self).setUp() # Create the edit user and add it to the authenticated group self.edit_user = User(username="******", email="*****@*****.**", password="******") self.edit_user.save() all_group, created = Group.objects.get_or_create( name=settings.USERS_DEFAULT_GROUP) self.edit_user.groups.add(all_group) self.edit_user.save() self.edit_user_2 = User(username="******", email="*****@*****.**", password="******") self.edit_user_2.save() all_group, created = Group.objects.get_or_create( name=settings.USERS_DEFAULT_GROUP) self.edit_user_2.groups.add(all_group) self.edit_user_2.save() self.sf_region = Region(full_name='San Francisco', slug='sf') self.sf_region.save() self.oak_region = Region(full_name='Oakland', slug='oak') self.oak_region.save() p = Page(region=self.oak_region) p.content = '<p>Lake Merritt here</p>' p.name = 'Lake Merritt' p.save() self.lake_merritt = p p = Page(region=self.sf_region) p.content = '<p>Dolores Park here</p>' p.name = 'Dolores Park' p.save() self.dolores_park = p p = Page(region=self.sf_region) p.content = '<p>Duboce Park here</p>' p.name = 'Duboce Park' p.save() self.duboce_park = p t1 = Tag(name='lake') t1.save() t2 = Tag(name='water') t2.save() pts = PageTagSet(page=p, region=self.sf_region) pts.save() pts.tags = [t1, t2]
def setUp(self): super(PageAPITests, self).setUp() # Create the edit user and add it to the authenticated group self.edit_user = User( username="******", email="*****@*****.**", password="******") self.edit_user.save() all_group, created = Group.objects.get_or_create(name=settings.USERS_DEFAULT_GROUP) self.edit_user.groups.add(all_group) self.edit_user.save() self.edit_user_2 = User( username="******", email="*****@*****.**", password="******") self.edit_user_2.save() all_group, created = Group.objects.get_or_create(name=settings.USERS_DEFAULT_GROUP) self.edit_user_2.groups.add(all_group) self.edit_user_2.save() self.sf_region = Region(full_name='San Francisco', slug='sf') self.sf_region.save() self.oak_region = Region(full_name='Oakland', slug='oak') self.oak_region.save() p = Page(region=self.oak_region) p.content = '<p>Lake Merritt here</p>' p.name = 'Lake Merritt' p.save() self.lake_merritt = p p = Page(region=self.sf_region) p.content = '<p>Dolores Park here</p>' p.name = 'Dolores Park' p.save() self.dolores_park = p p = Page(region=self.sf_region) p.content = '<p>Duboce Park here</p>' p.name = 'Duboce Park' p.save() self.duboce_park = p t1 = Tag(name='lake') t1.save() t2 = Tag(name='water') t2.save() pts = PageTagSet(page=p, region=self.sf_region) pts.save() pts.tags = [t1, t2]
def post_save(self, page, *args, **kwargs): if not hasattr(page, '_tags'): # Not providing any tag detail, so let's skip altering the tags. return if type(page._tags) is list: # If tags were provided in the request try: pts = PageTagSet.objects.get(page=page, region=page.region) except PageTagSet.DoesNotExist: pts = PageTagSet(page=page, region=page.region) pts.save() tags = [] for word in page._tags: tags.append(get_or_create_tag(word, page.region)) pts.tags = tags