Esempio n. 1
0
    def post(self, request):
        create_party_form = CreatePartyForm(request.POST, user=request.user)
        members_form = PartyMemberFormSet(request.POST, user=request.user)

        if not create_party_form.is_valid():
            errors = get_form_errors_as_str(create_party_form)
            messages.error(request, errors)
            return redirect(reverse(HomeView.name))
        elif not members_form.is_valid():
            errors = get_formset_errors_as_str(members_form)
            messages.error(request, errors)
            return redirect(reverse(HomeView.name))
        else:
            name = create_party_form.cleaned_data.get('name')
            creator = ProfileService().get(id=request.user.id)
            members = []
            for form in members_form:
                profile = form.cleaned_data.get('profile')
                if profile:
                    members.append(profile)

            party = PartyService().create(name=name,
                                          creator=creator,
                                          members=members)

        return redirect(reverse(PartyView.name, kwargs={'party_id': party.id}))
Esempio n. 2
0
    def post(self, request, template_id, **kwargs):
        ps = TemplatePartyService()
        template = ps.get(id=template_id)

        form = AddMemberToTemplateForm(request.POST, party=template)
        if not form.is_valid():
            errors = get_form_errors_as_str(form)
            messages.error(request, errors)
        else:
            info = form.cleaned_data.get('info')
            message_level = messages.ERROR
            try:
                ps.add_member_to_template(template, info)
                message = 'User successfully invited'
                message_level = messages.SUCCESS
            except Profile.DoesNotExist:
                message = 'Such user does not found'
            except MemberAlreadyInPartyException:
                message = 'This member is already in template'

            messages.add_message(request, message_level, message)

        return redirect(
            reverse(TemplatePartyView.name,
                    kwargs={'template_id': template_id}))
Esempio n. 3
0
    def post(self, request):
        form = CreatePartyFromExistingForm(request.POST, user=request.user)
        if not form.is_valid():
            errors = get_form_errors_as_str(form)
            messages.error(request, errors)
            return redirect(reverse(HomeView.name))

        party = form.save()
        return redirect(reverse(PartyView.name, kwargs={'party_id': party.id}))
Esempio n. 4
0
    def post(self, request, party_id: int, **kwargs):
        party = PartyService().get(id=party_id)
        form = AddCustomFoodToPartyForm(request.POST, party=party)

        if not form.is_valid():
            errors = get_form_errors_as_str(form)
            messages.error(request, errors)
        else:
            form.save()

        return redirect(reverse(PartyView.name, kwargs={'party_id': party_id}))
Esempio n. 5
0
    def post(self, request):
        form = CreateTemplateForm(request.POST, user=request.user)
        if not form.is_valid():
            errors = get_form_errors_as_str(form)
            messages.error(request, errors)
            return redirect(TemplatesListView.name)

        template_party = form.save()
        return redirect(
            reverse(TemplatePartyView.name,
                    kwargs={'template_id': template_party.id}))
Esempio n. 6
0
    def post(self, request, template_id: int, **kwargs):
        template = TemplatePartyService().get(id=template_id)
        form = AddCustomFoodToTemplateForm(request.POST, party=template)
        if not form.is_valid():
            errors = get_form_errors_as_str(form)
            messages.error(request, errors)
        else:
            form.save()

        return redirect(
            reverse(TemplatePartyView.name,
                    kwargs={'template_id': template_id}))
Esempio n. 7
0
    def post(self, request, party_id: int, **kwargs):
        profile = ProfileService().get(id=request.user.id)
        party = PartyService().get(id=party_id)
        member = MemberService().get(party=party, profile=profile)

        form = SponsorPartyForm(request.POST, member=member)
        if not form.is_valid():
            errors = get_form_errors_as_str(form)
            messages.error(request, errors)
        else:
            amount = form.cleaned_data.get('amount')
            PartyService().sponsor_party(member, amount)

        return redirect(reverse(PartyView.name, kwargs={'party_id': party_id}))
Esempio n. 8
0
    def post(self, request, template_id: int, **kwargs):
        template = TemplatePartyService().get(id=template_id)

        form = SetScheduleForm(request.POST, template=template)
        if not form.is_valid():
            errors = get_form_errors_as_str(form)
            messages.error(request, errors)
        else:
            form.save()
            messages.success(request, 'Template schedule is set')

        return redirect(
            reverse(TemplatePartyView.name,
                    kwargs={'template_id': template.id}))
Esempio n. 9
0
    def post(self, request, party_id: int):
        ps = PartyService()
        party = ps.get(id=party_id)

        form = AddMemberToPartyForm(request.POST, party=party)
        if not form.is_valid():
            errors = get_form_errors_as_str(form)
            messages.error(request, errors)
        else:
            info = form.cleaned_data.get('info')
            message_level = messages.ERROR
            try:
                ps.invite_member(party, info)
                message = 'User successfully invited'
                message_level = messages.SUCCESS
            except Profile.DoesNotExist:
                message = 'Such user does not found'
            except MemberAlreadyInPartyException:
                message = 'This member is already in party'

            messages.add_message(request, message_level, message)

        return redirect(reverse(PartyView.name, kwargs={'party_id': party_id}))