Beispiel #1
0
def my_jobs_edit(request, slug):
    opportunity = get_object_or_404(Job, slug=slug)
    if request.method == 'POST':
        form = JobEditForm(request.POST, instance=opportunity)
        if form.is_valid():
            job = form.save(commit=False)
            job.save()
            job.province = [form.cleaned_data['province'], ]
            return redirect(reverse("my_community_opportunities"))
    else:
        form = JobEditForm(instance=opportunity)

    return render(request, 'my_jobs_create.html', {'form': form})
Beispiel #2
0
def jobs_create(request):
    if request.method == "POST":
        form = JobEditForm(request.POST)

        title = request.POST.get("title")
        description = request.POST.get("description")
        # check if the user hasn't placed the exact same job article
        # with the exact same information in the last 5 minutes
        # to prevent duplicates
        delta = datetime.now() - timedelta(minutes=5)
        duplicate = Job.objects.filter(
            owner=request.user, created__gte=delta, title=title, description=description
        ).exists()

        daily_limit_exceeded = (
            UmmeliOpportunity.objects.filter(owner=request.user, created__gte=datetime.now().date()).count()
            >= settings.COMMUNITY_BOARD_POST_LIMIT
        )

        if daily_limit_exceeded:
            msg = "You can only post to the community board %s times a day"
            messages.error(request, msg % settings.COMMUNITY_BOARD_POST_LIMIT)
            return redirect(reverse("index"))

        if form.is_valid():
            if not duplicate:

                user_article = form.save(commit=False)
                user_article.owner = request.user
                user_article.state = "published"
                user_article.is_community = True
                user_article.publish_on = datetime.now()
                user_article.save()
                user_article.sites.add(site)
                user_article.province.add(form.cleaned_data["province"])
            return redirect(reverse("my_community_opportunities"))
    else:
        form = JobEditForm()

    return render(request, "opportunities/jobs/jobs_create.html", {"form": form})