Example #1
0
    def test_tags_counts(self):
        from shootout.models import Tag

        user = self._addUser()

        idea1 = self._addIdea(user=user)
        idea1.tags = Tag.create_tags(u'foo bar baz')
        self.session.add(idea1)
        idea2 = self._addIdea(user=user)
        idea2.tags = Tag.create_tags(u'baz zzz aaa')
        self.session.add(idea2)
        idea2 = self._addIdea(user=user)
        idea2.tags = Tag.create_tags(u'foo baz')
        self.session.add(idea2)
        self.session.flush()

        tags_counts = Tag.tag_counts()
        expected_counts = [
            ('aaa', 1),
            ('bar', 1),
            ('baz', 3),
            ('foo', 2),
            ('zzz', 1),
        ]
        self.assertEqual(list(tags_counts), expected_counts)
Example #2
0
    def test_tags_counts(self):
        from shootout.models import Tag

        user = self._addUser()

        idea1 = self._addIdea(user=user)
        idea1.tags = Tag.create_tags(u'foo bar baz')
        self.session.add(idea1)
        idea2 = self._addIdea(user=user)
        idea2.tags = Tag.create_tags(u'baz zzz aaa')
        self.session.add(idea2)
        idea2 = self._addIdea(user=user)
        idea2.tags = Tag.create_tags(u'foo baz')
        self.session.add(idea2)
        self.session.flush()

        tags_counts = Tag.tag_counts()
        expected_counts = [
            ('aaa', 1),
            ('bar', 1),
            ('baz', 3),
            ('foo', 2),
            ('zzz', 1),
        ]
        self.assertEqual(list(tags_counts), expected_counts)
Example #3
0
 def test_creating_tags(self):
     from shootout.models import Tag
     tags = Tag.create_tags(u'foo bar baz')
     tags_names = set([u'foo', u'bar', u'baz'])
     self.assertEqual(tags[0].name, tags_names.pop())
     self.assertEqual(tags[1].name, tags_names.pop())
     self.assertEqual(tags[2].name, tags_names.pop())
Example #4
0
 def test_creating_tags(self):
     from shootout.models import Tag
     tags = Tag.create_tags(u'foo bar baz')
     tags_names = set([u'foo', u'bar', u'baz'])
     self.assertEqual(tags[0].name, tags_names.pop())
     self.assertEqual(tags[1].name, tags_names.pop())
     self.assertEqual(tags[2].name, tags_names.pop())
Example #5
0
    def test_creating_tags(self):
        from shootout.models import Tag

        tags = Tag.create_tags(u"foo bar baz")
        tags_names = set([u"foo", u"bar", u"baz"])
        self.assertEqual(tags[0].name, tags_names.pop())
        self.assertEqual(tags[1].name, tags_names.pop())
        self.assertEqual(tags[2].name, tags_names.pop())
Example #6
0
    def test_tags_counts(self):
        from shootout.models import Tag

        user = self._addUser()

        idea1 = self._addIdea(user=user)
        idea1.tags = Tag.create_tags(u"foo bar baz")
        self.session.add(idea1)
        idea2 = self._addIdea(user=user)
        idea2.tags = Tag.create_tags(u"baz zzz aaa")
        self.session.add(idea2)
        idea2 = self._addIdea(user=user)
        idea2.tags = Tag.create_tags(u"foo baz")
        self.session.add(idea2)
        self.session.flush()

        tags_counts = Tag.tag_counts()
        expected_counts = [("aaa", 1), ("bar", 1), ("baz", 3), ("foo", 2), ("zzz", 1)]
        self.assertEqual(list(tags_counts), expected_counts)
Example #7
0
def idea_add(request):
    target = request.GET.get('target')
    session = DBSession()
    if target:
        target = Idea.get_by_id(target)
        if not target:
            return HTTPNotFound()
        kind = 'comment'
    else:
        kind = 'idea'

    form = Form(request, schema=AddIdeaSchema)

    if 'form.submitted' in request.POST and form.validate():
        author_username = authenticated_userid(request)
        author = User.get_by_username(author_username)

        idea = Idea(
            target=target,
            author=author,
            title=form.data['title'],
            text=form.data['text']
        )

        tags = Tag.create_tags(form.data['tags'])
        if tags:
            idea.tags = tags

        session.add(idea)            
        redirect_url = route_url('idea', request, idea_id=idea.idea_id)

        return HTTPFound(location=redirect_url)

    login_form = login_form_view(request)

    return {
        'form': FormRenderer(form),
        'toolbar': toolbar_view(request),
        'cloud': cloud_view(request),
        'latest': latest_view(request),
        'login_form': login_form,
        'target': target,
        'kind': kind,
    }
Example #8
0
def idea_add(request):
    target = request.GET.get('target')
    session = DBSession()
    if target:
        target = Idea.get_by_id(target, with_joinedload=False)
        if not target:
            return HTTPNotFound()
        kind = 'comment'
    else:
        kind = 'idea'

    form = Form(request, schema=AddIdeaSchema)

    if 'form.submitted' in request.POST and form.validate():
        author_username = authenticated_userid(request)
        author = User.get_by_username(author_username)

        idea = Idea(target=target,
                    author=author,
                    title=form.data['title'],
                    text=form.data['text'])

        tags = Tag.create_tags(form.data['tags'])
        if tags:
            idea.tags = tags

        session.add(idea)
        redirect_url = route_url('idea', request, idea_id=idea.idea_id)

        return HTTPFound(location=redirect_url)

    login_form = login_form_view(request)

    return {
        'form': FormRenderer(form),
        'toolbar': toolbar_view(request),
        'cloud': cloud_view(request),
        'latest': latest_view(request),
        'login_form': login_form,
        'target': target,
        'kind': kind,
    }
Example #9
0
def idea_add(request):
    target = request.params.get("target")
    session = DBSession()
    if target:
        target = Idea.get_by_id(target, with_joinedload=False)
        if not target:
            return HTTPNotFound()
        kind = "comment"
    else:
        kind = "idea"

    form = Form(request, schema=AddIdeaSchema)

    if "form.submitted" in request.POST and form.validate():
        author_username = authenticated_userid(request)
        author = User.get_by_username(author_username)

        idea = Idea(target=target, author=author, title=form.data["title"], text=form.data["text"])

        tags = Tag.create_tags(form.data["tags"])
        if tags:
            idea.tags = tags

        session.add(idea)
        redirect_url = request.route_url("idea", idea_id=idea.idea_id)

        return HTTPFound(location=redirect_url)

    login_form = login_form_view(request)

    return {
        "form": FormRenderer(form),
        "toolbar": toolbar_view(request),
        "cloud": cloud_view(request),
        "latest": latest_view(request),
        "login_form": login_form,
        "target": target,
        "kind": kind,
    }