def bazar_request_sent(request):
    if request.method == "POST":
        content = PollSetUp().for_poll_home(user=request.user)
        content["bazarform"] = BazarForm()
        content["poll_id"] = request.POST["poll_id"]
        bazar_form = BazarForm(request.POST)
        if bazar_form.is_valid():
            poll = Poll.objects.get(id=content["poll_id"])
            bazar = Bazar.objects.create(
                poll=poll,
                member=request.user,
                cradit_tk=bazar_form.cleaned_data["cradit_tk"],
                date_created=Date().human_to_cp(date=request.POST["date"]))
            notify = Notification.objects.create(
                notification=Member.objects.get(email=poll.manager).profile,
                from_member=request.user,
                status="baz",
                date=Date().human_to_cp(date=request.POST["date"]),
                m_id=bazar.id)
            messages.add_message(request,
                                 level=messages.SUCCESS,
                                 message="Sent message to the manager",
                                 extra_tags="success")
        else:
            messages.add_message(request,
                                 level=messages.ERROR,
                                 message="Bazar cost must be positive.",
                                 extra_tags="negative")
        print(bazar_form)
        return render(request, "poll/member_poll.html", content)
예제 #2
0
def meal_form_save(request):
    if request.method == "POST":
        content = PollSetUp().for_poll_setting(poll_id=request.POST["poll_id"],
                                               user=request.user,
                                               is_true=True)
        meal_form = MealForm(request.POST)
        if meal_form.is_valid():
            poll = Poll.objects.get(id=request.POST["poll_id"])
            try:
                DefaultMeal.objects.create(
                    poll=poll,
                    b=meal_form.cleaned_data["brake_fast"],
                    l=meal_form.cleaned_data["lunch"],
                    d=meal_form.cleaned_data["dinner"])

                messages.add_message(request,
                                     level=messages.SUCCESS,
                                     message="Successfully set the meal",
                                     extra_tags="success")
                content["form"] = MealForm()
                return render(request, "poll/poll_setting.html", content)
            except:
                messages.add_message(request,
                                     level=messages.ERROR,
                                     message="Already exist.",
                                     extra_tags="negative")
                content["form"] = MealForm()
                return render(request, "poll/poll_setting.html", content)
        else:
            content["form"] = meal_form
            return render(request, "poll/poll_setting.html", content)
def edit_service_charge(request):
    if request.method == "POST":
        service_charge = ServiceCharge.objects.get(
            id=request.POST["servicecharge_id"])
        content = PollSetUp().for_get_manager_poll(
            poll_id=request.POST["poll_id"])
        members_id = request.POST.getlist("member", False)
        members = []
        if members_id:
            for member_id in members_id:
                members.append(Member.objects.get(id=int(member_id)))
        else:
            print(members)
            members = service_charge.member.all()
        if (service_charge.service_name != request.POST["service_name"]
                or service_charge.debit_tk != request.POST["debit_tk"] or
                service_charge.date != Date().human_to_cp(request.POST["date"])
                or request.POST.getlist("member", False)):
            service_charge.service_name = request.POST["service_name"]
            service_charge.debit_tk = float(request.POST["debit_tk"])
            service_charge.date = Date().human_to_cp(request.POST["date"])
            service_charge.save()
            service_charge.member.clear()
            for member in members:
                service_charge.member.add(member)
            messages.add_message(request,
                                 level=messages.SUCCESS,
                                 message="Successfully Edited.",
                                 extra_tags="success")
        else:
            messages.add_message(request,
                                 level=messages.ERROR,
                                 message="Nothing Edited",
                                 extra_tags="negative")
        return render(request, "poll/manager_poll.html", content)
def service_charge_save(request):
    if request.method == "POST":
        service_form = ServiceForm(request.POST)
        content = PollSetUp().for_poll_setting(poll_id=request.POST["poll_id"],
                                               user=request.user)
        if service_form.is_valid():
            try:
                service_charge = ServiceCharge.objects.create(
                    service_name=service_form.cleaned_data["service_name"],
                    poll=content["poll"],
                    debit_tk=service_form.cleaned_data["debit_tk"],
                    date=Date().human_to_cp(request.POST["date_created"]))
                for member_id in request.POST.getlist("member"):
                    member = Member.objects.get(id=member_id)
                    service_charge.member.add(member)

                messages.add_message(request,
                                     level=messages.SUCCESS,
                                     message="Successfully created",
                                     extra_tags="negative")
                return render(request, "poll/poll_setting.html", content)

            except:
                messages.add_message(request,
                                     level=messages.ERROR,
                                     message="Can not created Service Charge.")

        else:
            messages.add_message(request,
                                 level=messages.ERROR,
                                 message="Something wrong happen.")
            return render(request, "poll/poll_setting.html", content)
def delete_bazar_for_manager(request):
    if request.method == "POST":
        content = PollSetUp().for_get_manager_poll(
            poll_id=request.POST["poll_id"])
        if request.user.email == content["poll"].manager:
            content["poll"].bazar_set.get(id=request.POST["bazar_id"]).delete()
            messages.add_message(request,
                                 level=messages.SUCCESS,
                                 message="Successfully deleted.",
                                 extra_tags="success")
        else:
            messages.add_message(request,
                                 level=messages.ERROR,
                                 message="You are not Manager.",
                                 extra_tags="negative")
    return render(request, "poll/manager_poll.html", content)
def delete_service_charge(request):
    if request.method == "POST":
        content = PollSetUp().for_get_manager_poll(
            poll_id=request.POST["poll_id"])
        try:
            servicecharge = ServiceCharge.objects.get(
                id=request.POST["service_id"])
            servicecharge.delete()
            messages.add_message(
                request,
                level=messages.SUCCESS,
                message="Successfully deleted your Service charge",
                extra_tags="success")
        except:
            messages.add_message(request,
                                 level=messages.ERROR,
                                 message="Some error happen",
                                 extra_tags="negative")
        return render(request, "poll/manager_poll.html", content)
def edit_bazar_for_manager(request):
    if request.method == "POST":
        content = PollSetUp().for_get_manager_poll(
            poll_id=request.POST["poll_id"])
        if request.user.email == content["poll"].manager:
            bazar = content["poll"].bazar_set.get(id=request.POST["bazar_id"])
            bazar.date_created = Date().human_to_cp(
                date=request.POST["date_created"])
            bazar.cradit_tk = float(request.POST["cradit_tk"])
            bazar.save()
            messages.add_message(
                request,
                level=messages.SUCCESS,
                message=
                f"Successfully edited bazar for member: {bazar.member.email}.",
                extra_tags="success")
        else:
            messages.add_message(request,
                                 level=messages.ERROR,
                                 message="You are not manager.",
                                 extra_tags="negative")
        return render(request, 'poll/manager_poll.html', content)
예제 #8
0
def meal_edit_for_manager(request):
    if request.method == "POST":
        content = PollSetUp().for_get_manager_poll(
            poll_id=request.POST["poll_id"])
        if request.user.email == content["poll"].manager:
            meal = Meal.objects.get(id=request.POST["meal_id"])
            meal.b = float(request.POST["b"])
            meal.l = float(request.POST["l"])
            meal.d = float(request.POST["d"])
            meal.save()
            messages.add_message(
                request,
                level=messages.SUCCESS,
                message=
                f"Successfully edited meal of member: {meal.member.email}",
                extra_tags="success")
        else:
            messages.add_message(request,
                                 level=messages.ERROR,
                                 message="You are not manager",
                                 extra_tags="negative")
        return render(request, "poll/manager_poll.html", content)
예제 #9
0
def edit_default_meal(request):
    if request.method == "POST":
        if float(request.POST["b"]) < 0 or float(
                request.POST["l"]) < 0 or float(request.POST["d"]) < 0:
            messages.add_message(request,
                                 level=messages.ERROR,
                                 message="Meal can not be less than 0")
        else:

            default_meal = DefaultMeal.objects.get(
                id=int(request.POST["default_meal_id"]))
            default_meal.b = float(request.POST["b"])
            default_meal.l = float(request.POST["l"])
            default_meal.d = float(request.POST["d"])
            default_meal.save()
            messages.add_message(request,
                                 level=messages.SUCCESS,
                                 message="Your Default Meal is Edited.",
                                 extra_tags="success")
        content = PollSetUp().for_poll_setting(poll_id=request.POST["poll_id"],
                                               user=request.user)
        return render(request, "poll/poll_setting.html", content)
예제 #10
0
def edit_meal_member(request):
    if request.method == "POST":
        content = PollSetUp().for_get_member_poll(
            user=request.user, poll_id=request.POST["poll_id"])
        meal = content["poll"].meal_set.get(id=request.POST["meal_id"])
        meal.pending = True
        meal.save()
        editmeal = EditedMeal.objects.create(meal=meal,
                                             b=float(request.POST["b"]),
                                             l=float(request.POST["l"]),
                                             d=float(request.POST["d"]))
        Notification.objects.create(
            notification=Member.objects.get(email=meal.poll.manager).profile,
            from_member=request.user,
            status="ed",
            m_id=editmeal.id,
        )
        messages.add_message(request,
                             level=messages.SUCCESS,
                             message="Successfully sent the Edition.",
                             extra_tags="success")
        return render(request, "poll/member_poll.html", content)