コード例 #1
0
def edit_stereotype(request, conversation, stereotype):
    if request.user == conversation.author:
        rendered_stereotype_form = StereotypeForm(request.POST or None,
                                                  instance=stereotype)
        stereotype_votes = StereotypeVote.objects.filter(author=stereotype)
        rendered_votes_form = StereotypeVoteFormSet(request.POST or None,
                                                    queryset=stereotype_votes)
        if request.method == 'POST':
            if rendered_stereotype_form.is_valid(
            ) and rendered_votes_form.is_valid():
                stereotype = rendered_stereotype_form.save(commit=False)
                stereotype.conversation = conversation
                stereotype.owner = request.user
                stereotype.save()
                votes = rendered_votes_form.save(commit=False)
                for vote in votes:
                    vote.author = stereotype
                    vote.save()
                return redirect(conversation.get_absolute_url() +
                                'stereotypes/')
        return {
            'stereotype_form': rendered_stereotype_form,
            'votes_form': rendered_votes_form,
            'conversation_title': conversation.title,
        }
    else:
        return redirect(conversation.get_absolute_url())
コード例 #2
0
ファイル: test_forms.py プロジェクト: heinske/ej-server
 def test_repetead_stereotype_data(self, user_db):
     Stereotype.objects.create(name="Stereotype1", owner=user_db)
     form = StereotypeForm(
         {
             "name": "Stereotype1",
             "description": "description"
         },
         owner=user_db)
     assert not form.is_valid()
     assert set(form.errors) == {"__all__"}
コード例 #3
0
ファイル: test_forms.py プロジェクト: heinske/ej-server
 def test_edit_existing_stereotype(self, user_db):
     instance = Stereotype.objects.create(name="Stereotype1", owner=user_db)
     form = StereotypeForm(
         {
             "name": "Stereotype1",
             "description": "description"
         },
         instance=instance)
     print(form.errors)
     assert form.is_valid()
コード例 #4
0
def edit(request, stereotype):
    check_stereotype(stereotype, request.user)
    form = StereotypeForm(request=request, instance=stereotype)

    if request.POST.get("action") == "delete":
        stereotype.delete()
        return redirect("stereotypes:list")
    elif form.is_valid_post():
        form.save()
        return redirect("stereotypes:list")
    return {"form": form, "stereotype": stereotype}
コード例 #5
0
 def test_edit_existing_stereotype(self, conversation, db, user):
     instance = Stereotype.objects.create(name="Stereotype1",
                                          conversation=conversation,
                                          owner=user)
     form = StereotypeForm(
         {
             'name': "Stereotype1",
             'description': "description",
         },
         conversation=conversation,
         instance=instance)
     assert form.is_valid()
コード例 #6
0
 def test_valid_data(self, conversation, db, user):
     form = StereotypeForm(
         {
             'name': "Stereotype",
             'description': "description",
         },
         conversation=conversation)
     assert form.is_valid()
     stereotype = form.save(commit=False)
     stereotype.owner = user
     stereotype.save()
     assert stereotype.name == "Stereotype"
     assert stereotype.description == "description"
コード例 #7
0
ファイル: test_forms.py プロジェクト: heinske/ej-server
 def test_valid_data(self, user_db):
     form = StereotypeForm(
         {
             "name": "Stereotype",
             "description": "description"
         },
         owner=user_db)
     assert form.is_valid()
     stereotype = form.save(commit=False)
     stereotype.owner = user_db
     stereotype.full_clean()
     assert stereotype.name == "Stereotype"
     assert stereotype.description == "description"
コード例 #8
0
 def test_repetead_stereotype_data(self, conversation, db, user):
     Stereotype.objects.create(name="Stereotype1",
                               conversation=conversation,
                               owner=user)
     form = StereotypeForm(
         {
             'name': "Stereotype1",
             'description': "description",
         },
         conversation=conversation)
     assert not form.is_valid()
     assert form.errors == {
         '__all__': [
             'Stereotype for this conversation with this name already exists.'
         ],
     }
コード例 #9
0
ファイル: routes.py プロジェクト: zero101010/ej-server
def edit_stereotype_context(request, conversation, stereotype):
    if conversation != stereotype.conversation:
        raise Http404
    if request.method == 'POST':
        stereotype_form = StereotypeForm(request.POST, conversation=conversation, instance=stereotype)
        votes = StereotypeVote.objects.filter(author=stereotype)
        votes_formset = StereotypeVoteEditFormSet(request.POST, queryset=votes)

        if stereotype_form.is_valid() and votes_formset.is_valid():
            stereotype = stereotype_form.save()
            for vote in votes_formset.save(commit=False):
                vote.author = stereotype
                vote.save()
            return redirect(conversation.get_absolute_url() + 'stereotypes/')
    else:
        stereotype_form = StereotypeForm(conversation=conversation, instance=stereotype)
        votes = StereotypeVote.objects.filter(author=stereotype)
        votes_formset = StereotypeVoteEditFormSet(queryset=votes)

        filtered_comments = Comment.objects.filter(conversation=conversation)
        for form in votes_formset:
            form.fields['comment'].queryset = filtered_comments

    return {
        'stereotype_form': stereotype_form,
        'votes_form': votes_formset,
        'conversation_title': conversation.title,
    }
コード例 #10
0
ファイル: routes.py プロジェクト: zero101010/ej-server
def create_stereotype_context(request, conversation, board=None):
    if request.method == 'POST':
        stereotype_form = StereotypeForm(request.POST, conversation=conversation)
        votes_formset = StereotypeVoteCreateFormSet(request.POST)

        if stereotype_form.is_valid() and votes_formset.is_valid():
            stereotype = stereotype_form.save(commit=False)
            stereotype.owner = request.user
            stereotype.conversation = conversation
            stereotype.save()
            for vote in votes_formset.save(commit=False):
                vote.author = stereotype
                vote.save()
            clusterization = Clusterization.objects.get(conversation=conversation)
            cluster = Cluster(clusterization=clusterization, name=stereotype.name)
            cluster.save()
            cluster.stereotypes.add(stereotype)
            print(stereotype.votes)
            return redirect(conversation.get_absolute_url() + 'stereotypes/')

    else:
        stereotype_form = StereotypeForm(conversation=conversation)
        votes_formset = StereotypeVoteCreateFormSet(queryset=StereotypeVote.objects.none())

    filtered_comments = Comment.objects.filter(conversation=conversation)
    for form in votes_formset:
        form.fields['comment'].queryset = filtered_comments
    return {
        'stereotype_form': stereotype_form,
        'votes_form': votes_formset,
        'conversation_title': conversation.title,
    }
コード例 #11
0
ファイル: routes.py プロジェクト: naiieandrade/ej-server
def edit_stereotype(request, conversation, stereotype):
    if request.method == 'POST':
        stereotype_form = StereotypeForm(request.POST, instance=stereotype)
        votes = StereotypeVote.objects.filter(author=stereotype)
        votes_formset = StereotypeVoteFormSet(request.POST, queryset=votes)

        if stereotype_form.is_valid() and votes_formset.is_valid():
            stereotype = stereotype_form.save()
            for vote in votes_formset.save(commit=False):
                vote.author = stereotype
                vote.save()
            return redirect('cluster:stereotype-list')
    else:
        stereotype_form = StereotypeForm(instance=stereotype)
        votes = StereotypeVote.objects.filter(author=stereotype)
        votes_formset = StereotypeVoteFormSet(queryset=votes)

    return {
        'stereotype_form': stereotype_form,
        'votes_form': votes_formset,
        'conversation_title': conversation.title,
    }
コード例 #12
0
def create(request):
    form = StereotypeForm(request=request, owner=request.user)
    if form.is_valid_post():
        form.save()
        return redirect("stereotypes:list")
    return {"form": form}
コード例 #13
0
 def test_blank_data(self, conversation):
     form = StereotypeForm({}, conversation=conversation)
     assert not form.is_valid()
     assert form.errors == {
         'name': ['This field is required.'],
     }
コード例 #14
0
 def test_init_without_conversation(self):
     with pytest.raises(KeyError):
         StereotypeForm()
コード例 #15
0
 def test_init(self, conversation):
     StereotypeForm(conversation=conversation)
コード例 #16
0
ファイル: test_forms.py プロジェクト: heinske/ej-server
 def test_blank_data(self, user_db):
     form = StereotypeForm({}, owner=user_db)
     assert not form.is_valid()
     assert form.errors == {"name": ["This field is required."]}