Esempio n. 1
0
 def moderation_pass(self, post, request):
     post.status = True
     post.is_spam = False
     post.user.get_profile().add_points(3)
     send_to_announce_mailing_list(post.__class__, post, created=True)
     send_mail('Content Approved', self.approved_message_text(post),
               settings.DEFAULT_FROM_EMAIL, [post.user.email])
Esempio n. 2
0
def job_payment_thanks(request, job_id):
    context = RequestContext(request)
    announcement = ''
    
    job = Job.objects.get(pk = job_id, is_spam=False)
    
    if not job.status:
        job.status = True
        job.save()  
    
    if request.GET.get("tx"):
        #paypal payment, so create payment and send receipt
        amount = decimal.Decimal('25.00')
        payment = JobPostingPayment(user=request.user, job=job, amount=amount)
        payment.save()
        payment.send_receipt()

    if not job.has_been_sent_to_list():
        send_to_announce_mailing_list(job.__class__, job, created=True)

    return render_to_response("announce/job_payment_thanks.html", {"announcement":job,}, context) 
Esempio n. 3
0
def job_payment_thanks(request, job_id):
    context = RequestContext(request)
    announcement = ''

    job = Job.objects.get(pk=job_id, is_spam=False)

    if not job.status:
        job.status = True
        job.save()

    if request.GET.get("tx"):
        #paypal payment, so create payment and send receipt
        amount = decimal.Decimal('25.00')
        payment = JobPostingPayment(user=request.user, job=job, amount=amount)
        payment.save()
        payment.send_receipt()

    if not job.has_been_sent_to_list():
        send_to_announce_mailing_list(job.__class__, job, created=True)

    return render_to_response("announce/job_payment_thanks.html", {
        "announcement": job,
    }, context)
Esempio n. 4
0
 def moderation_pass(self, post, request):
     post.status = True
     post.is_spam = False
     post.user.get_profile().add_points(3)
     send_to_announce_mailing_list(post.__class__, post, created=True)
     send_mail("Content Approved", self.approved_message_text(post), settings.DEFAULT_FROM_EMAIL, [post.user.email])
Esempio n. 5
0
def edit(request, type, id):
    context = RequestContext(request)
    username = request.user.get_profile()       
        
    #CHECK THE TYPE, GRAB OBJECT OR CATCH MISSING INFO
    if type == 'opportunities':
        announcement = get_object_or_404(Opportunity, id=id, is_spam=False)
        announcement_form = OpportunityForm(
                                request.POST or None, 
                                request.FILES or None, 
                                instance=announcement, 
                                initial={'username':username}
                            )
    elif type == 'jobs':
        announcement = get_object_or_404(Job, id=id, is_spam=False)
        announcement_form = JobForm(
                                request.POST or None, 
                                request.FILES or None, 
                                instance=announcement,  
                                initial={'username':username}
                                )
    elif type == 'events':
        announcement = get_object_or_404(Event, id=id, is_spam=False)
        announcement_form = EventForm(
                                request.POST or None, 
                                request.FILES or None, 
                                instance=announcement, 
                                initial={'username':username}
                            )
    else:
        raise Http404
    
    if not announcement.can_edit():
        # can only edit if announcement less than 2 wks old...    
        return HttpResponseRedirect(reverse('announce_index'))  
    else:
        # MAKE SURE THE USER OWNS THE ANNOUNCEMENT
        if request.user != announcement.user:
            return HttpResponseRedirect(reverse('announce_index'))  
        else:
            # HANDLE THE POST
            if request.method == 'POST':
            
                if request.POST.get("form-type") == "opportunity-form":
                    announcement_form = OpportunityForm(
                                            request.POST, 
                                            request.FILES or None, 
                                            instance=announcement, 
                                            initial={'username':username}
                                        )
                if request.POST.get("form-type") == "job-form":
                    announcement_form = JobForm(
                                            request.POST, 
                                            request.FILES or None, 
                                            instance=announcement, 
                                            initial={'username':username}
                                        )
                if request.POST.get("form-type") == "event-form":  
                    announcement_form = EventForm(
                                            request.POST, 
                                            request.FILES or None, 
                                            instance=announcement, 
                                            initial={'username':username}
                                            )
           
                if announcement_form.is_valid():
                    announcement = announcement_form.save(commit=False)
                    announcement.user_id = request.user.id
                    announcement.ip_address = request.META["REMOTE_ADDR"]
                    
                    if request.POST.get("delete_image"):
                        if announcement.image:
                            import os
                            if os.path.exists(announcement.image.path):
                                os.remove(announcement.image.path)
                        announcement.image = None
                    
                    #save now so can create thumbanail with id in title
                    announcement.save() 
                    
                    if announcement.image and not announcement.thumbnail:
                        announcement.thumbnail = create_thumbnail(announcement.image)
                        announcement.save()           
                    
                    ####
                    # if announcement is not yet published
                    ####
                    if request.POST.get("status") == "preview":
                        announcement.status = False
                        announcement.save()
                        return HttpResponseRedirect(reverse(preview, kwargs={'type':type, 'id':announcement.id}))                    
                        
                    if request.POST.get("status") == "publish":

                        if type == 'jobs' and not announcement.is_paid() and not request.user.get_profile().is_member():
                            return HttpResponseRedirect(reverse(job_payment))

                        if not moderator.process(announcement, request):
                            announcement.status = True
                            announcement.save()
                            send_to_announce_mailing_list(announcement.__class__, announcement, created=True)
 
                        return HttpResponseRedirect(reverse(thanks, kwargs={'type':type,'id':announcement.id}))

                    
                    ####
                    # if announcement is published
                    ####
                    if request.POST.get("status") == "unpublish":
                        announcement.status = False
                        announcement.save()
                        #return HttpResponseRedirect('/announce/%s/%s/preview/' % (type, announcement.id))
                        return HttpResponseRedirect(reverse(edit,kwargs={'type':type,'id':announcement.id}))

                    if request.POST.get("status") == "update":
                        moderator.process(announcement, request)
                            
                        #return HttpResponseRedirect('/announce/%s/%s/preview/' % (type, announcement.id))
                        return HttpResponseRedirect(reverse(thanks,kwargs={'type':type,'id':announcement.id}))
                
                    else:
                        if type == 'opportunities':   
                            announcement_form = OpportunityForm(request.POST)
                        if type == 'jobs':   
                            announcement_form = JobForm(request.POST)
                        if type == 'events':   
                            announcement_form = EventForm(request.POST)       
        
        return render_to_response(
            "announce/submit.html",
            {"announcement_form":announcement_form,
            "type": type  
            }, 
            context
            )
Esempio n. 6
0
def submit(request, type = None):
    context = RequestContext(request)
    
    if type == 'opportunities':   
        announcement_form = OpportunityForm()
    if type == 'jobs':   
        announcement_form = JobForm()
    if type == 'events':   
        announcement_form = EventForm()
    if type == None:
        type = "opportunities"
        announcement_form = OpportunityForm()

    if request.method == 'POST':
        if request.POST.get("form-type") == "opportunity-form":
            announcement_form = OpportunityForm(request.POST, request.FILES or None)
            
        if request.POST.get("form-type") == "job-form":
            announcement_form = JobForm(request.POST, request.FILES or None)
            
        if request.POST.get("form-type") == "event-form":  
            announcement_form = EventForm(request.POST, request.FILES or None)
                        
        if announcement_form.is_valid():
            announcement = announcement_form.save(commit=False)
            announcement.user_id = request.user.id
            announcement.username = strip_tags(request.user.get_profile())
            announcement.title = strip_tags(announcement.title)
            announcement.url = strip_tags(announcement.url)
            announcement.description = strip_tags(announcement.description)
            announcement.subtype = strip_tags(announcement.subtype)
            announcement.ip_address = request.META["REMOTE_ADDR"]
            announcement.status = False
            
            #save now so can create thumbanail with id in title
            announcement.save()             
            
            if announcement.image:
                #create_thumbnails uses saved image
                announcement.thumbnail = create_thumbnail(announcement.image)
                announcement.save()#save again after creating thumbnail                       

            if request.POST.get("status") == "preview":
                #return HttpResponseRedirect('/announce/%s/%s/preview/' % (type, announcement.id))
                return HttpResponseRedirect(reverse(preview,kwargs={'type':type,'id':announcement.id}))
            
            elif request.POST.get("status") == "publish":
                if type == 'jobs' and not announcement.is_paid() and not request.user.get_profile().is_member():
                    return HttpResponseRedirect(reverse(job_payment))
                
                if not moderator.process(announcement, request):
                    announcement.status = True
                    announcement.save()
                    send_to_announce_mailing_list(announcement.__class__, announcement, created=True)
                
                return HttpResponseRedirect(reverse(thanks, kwargs={'type':type,'id':announcement.id}))
                    
                
    return render_to_response(
        "announce/submit.html",
        {"announcement_form":announcement_form, "type":type},
        context
        )
Esempio n. 7
0
def edit(request, type, id):
    context = RequestContext(request)
    username = request.user.get_profile()

    #CHECK THE TYPE, GRAB OBJECT OR CATCH MISSING INFO
    if type == 'opportunities':
        announcement = get_object_or_404(Opportunity, id=id, is_spam=False)
        announcement_form = OpportunityForm(request.POST or None,
                                            request.FILES or None,
                                            instance=announcement,
                                            initial={'username': username})
    elif type == 'jobs':
        announcement = get_object_or_404(Job, id=id, is_spam=False)
        announcement_form = JobForm(request.POST or None,
                                    request.FILES or None,
                                    instance=announcement,
                                    initial={'username': username})
    elif type == 'events':
        announcement = get_object_or_404(Event, id=id, is_spam=False)
        announcement_form = EventForm(request.POST or None,
                                      request.FILES or None,
                                      instance=announcement,
                                      initial={'username': username})
    else:
        raise Http404

    if not announcement.can_edit():
        # can only edit if announcement less than 2 wks old...
        return HttpResponseRedirect(reverse('announce_index'))
    else:
        # MAKE SURE THE USER OWNS THE ANNOUNCEMENT
        if request.user != announcement.user:
            return HttpResponseRedirect(reverse('announce_index'))
        else:
            # HANDLE THE POST
            if request.method == 'POST':

                if request.POST.get("form-type") == "opportunity-form":
                    announcement_form = OpportunityForm(
                        request.POST,
                        request.FILES or None,
                        instance=announcement,
                        initial={'username': username})
                if request.POST.get("form-type") == "job-form":
                    announcement_form = JobForm(request.POST,
                                                request.FILES or None,
                                                instance=announcement,
                                                initial={'username': username})
                if request.POST.get("form-type") == "event-form":
                    announcement_form = EventForm(
                        request.POST,
                        request.FILES or None,
                        instance=announcement,
                        initial={'username': username})

                if announcement_form.is_valid():
                    announcement = announcement_form.save(commit=False)
                    announcement.user_id = request.user.id
                    announcement.ip_address = request.META["REMOTE_ADDR"]

                    if request.POST.get("delete_image"):
                        if announcement.image:
                            import os
                            if os.path.exists(announcement.image.path):
                                os.remove(announcement.image.path)
                        announcement.image = None

                    #save now so can create thumbanail with id in title
                    announcement.save()

                    if announcement.image and not announcement.thumbnail:
                        announcement.thumbnail = create_thumbnail(
                            announcement.image)
                        announcement.save()

                    ####
                    # if announcement is not yet published
                    ####
                    if request.POST.get("status") == "preview":
                        announcement.status = False
                        announcement.save()
                        return HttpResponseRedirect(
                            reverse(preview,
                                    kwargs={
                                        'type': type,
                                        'id': announcement.id
                                    }))

                    if request.POST.get("status") == "publish":

                        if type == 'jobs' and not announcement.is_paid(
                        ) and not request.user.get_profile().is_member():
                            return HttpResponseRedirect(reverse(job_payment))

                        if not moderator.process(announcement, request):
                            announcement.status = True
                            announcement.save()
                            send_to_announce_mailing_list(
                                announcement.__class__,
                                announcement,
                                created=True)

                        return HttpResponseRedirect(
                            reverse(thanks,
                                    kwargs={
                                        'type': type,
                                        'id': announcement.id
                                    }))

                    ####
                    # if announcement is published
                    ####
                    if request.POST.get("status") == "unpublish":
                        announcement.status = False
                        announcement.save()
                        #return HttpResponseRedirect('/announce/%s/%s/preview/' % (type, announcement.id))
                        return HttpResponseRedirect(
                            reverse(edit,
                                    kwargs={
                                        'type': type,
                                        'id': announcement.id
                                    }))

                    if request.POST.get("status") == "update":
                        moderator.process(announcement, request)

                        #return HttpResponseRedirect('/announce/%s/%s/preview/' % (type, announcement.id))
                        return HttpResponseRedirect(
                            reverse(thanks,
                                    kwargs={
                                        'type': type,
                                        'id': announcement.id
                                    }))

                    else:
                        if type == 'opportunities':
                            announcement_form = OpportunityForm(request.POST)
                        if type == 'jobs':
                            announcement_form = JobForm(request.POST)
                        if type == 'events':
                            announcement_form = EventForm(request.POST)

        return render_to_response("announce/submit.html", {
            "announcement_form": announcement_form,
            "type": type
        }, context)
Esempio n. 8
0
def submit(request, type=None):
    context = RequestContext(request)

    if type == 'opportunities':
        announcement_form = OpportunityForm()
    if type == 'jobs':
        announcement_form = JobForm()
    if type == 'events':
        announcement_form = EventForm()
    if type == None:
        type = "opportunities"
        announcement_form = OpportunityForm()

    if request.method == 'POST':
        if request.POST.get("form-type") == "opportunity-form":
            announcement_form = OpportunityForm(request.POST, request.FILES
                                                or None)

        if request.POST.get("form-type") == "job-form":
            announcement_form = JobForm(request.POST, request.FILES or None)

        if request.POST.get("form-type") == "event-form":
            announcement_form = EventForm(request.POST, request.FILES or None)

        if announcement_form.is_valid():
            announcement = announcement_form.save(commit=False)
            announcement.user_id = request.user.id
            announcement.username = strip_tags(request.user.get_profile())
            announcement.title = strip_tags(announcement.title)
            announcement.url = strip_tags(announcement.url)
            announcement.description = strip_tags(announcement.description)
            announcement.subtype = strip_tags(announcement.subtype)
            announcement.ip_address = request.META["REMOTE_ADDR"]
            announcement.status = False

            #save now so can create thumbanail with id in title
            announcement.save()

            if announcement.image:
                #create_thumbnails uses saved image
                announcement.thumbnail = create_thumbnail(announcement.image)
                announcement.save()  #save again after creating thumbnail

            if request.POST.get("status") == "preview":
                #return HttpResponseRedirect('/announce/%s/%s/preview/' % (type, announcement.id))
                return HttpResponseRedirect(
                    reverse(preview,
                            kwargs={
                                'type': type,
                                'id': announcement.id
                            }))

            elif request.POST.get("status") == "publish":
                if type == 'jobs' and not announcement.is_paid(
                ) and not request.user.get_profile().is_member():
                    return HttpResponseRedirect(reverse(job_payment))

                if not moderator.process(announcement, request):
                    announcement.status = True
                    announcement.save()
                    send_to_announce_mailing_list(announcement.__class__,
                                                  announcement,
                                                  created=True)

                return HttpResponseRedirect(
                    reverse(thanks,
                            kwargs={
                                'type': type,
                                'id': announcement.id
                            }))

    return render_to_response("announce/submit.html", {
        "announcement_form": announcement_form,
        "type": type
    }, context)