def test_initiator_can_create_topic_before_phase(client, phase_factory, category_factory, admin): phase = phase_factory(phase_content=phases.PrioritizePhase()) module = phase.module project = module.project category = category_factory(module=module) initiator = project.organisation.initiators.first() url = reverse('a4dashboard:topic-create', kwargs={'module_slug': module.slug}) with freeze_pre_phase(phase): client.login(username=initiator.email, password='******') response = client.get(url) assert_template_response( response, 'meinberlin_topicprio/topic_create_form.html') assert response.status_code == 200 topic = { 'name': 'Topic', 'description': 'description', 'category': category.pk, } response = client.post(url, topic) assert response.status_code == 302 assert redirect_target(response) == 'topic-list' count = models.Topic.objects.all().count() assert count == 1
def test_anonymous_cannot_create_topic(client, phase_factory): phase = phase_factory(phase_content=phases.PrioritizePhase()) module = phase.module url = reverse('a4dashboard:topic-create', kwargs={'module_slug': module.slug}) with freeze_phase(phase): count = models.Topic.objects.all().count() assert count == 0 response = client.get(url) assert response.status_code == 302 assert redirect_target(response) == 'account_login'
def test_user_cannot_create_topic(client, phase_factory, user): phase = phase_factory(phase_content=phases.PrioritizePhase()) module = phase.module url = reverse('a4dashboard:topic-create', kwargs={'module_slug': module.slug}) with freeze_phase(phase): response = client.get(url) assert response.status_code == 302 client.login(username=user.email, password='******') response = client.get(url) assert response.status_code == 403
title=_('Poll'), description=_( 'Create a poll with multiple questions and possible answers. ' 'Anyone can cast votes and comment on the poll.'), content=[ poll_phases.VotingPhase(), ], image='images/poll.svg', settings_model=None, )), ('topic-prioritization', ProjectBlueprint( title=_('Topic Prioritization'), description=_('Comment and prioritize topics.'), content=[ topicprio_phases.PrioritizePhase(), ], image='images/priorization.svg', settings_model=None, )), ('map-topic-prioritization', ProjectBlueprint( title=_('Place Prioritization'), description=_('Comment and prioritize places located on a map.'), content=[ maptopicprio_phases.PrioritizePhase(), ], image='images/place-priotization.svg', settings_model=('a4maps', 'AreaSettings'), )), ('bplan',