Example #1
0
def sendReminderEmailToSupplier(request):
    current_site = Site.objects.get_current()
    template_name = 'papershare/supplier_email.txt'
    context = { 'request': request ,
                'site' : current_site}
    subject = "%s wanted" % request.paper.title
    
    sendmailFromTemplate(template_name = template_name,
                         toAddr = request.supplier.email, 
                         subject = subject, 
                         context = context)
Example #2
0
def sendReminderEmailToRequester(request):
    current_site = Site.objects.get_current()
    template_name = 'papershare/requester_email.txt'
    context = { 'request': request ,
                'site' : current_site}
    subject = "About your requested paper: %s " % request.paper.title
    
    sendmailFromTemplate(template_name = template_name,
                         toAddr = request.requester.email, 
                         subject = subject, 
                         context = context)
Example #3
0
def uploadPaper(request):
    #handle form submit
    if request.method == 'POST' :
        form = PaperUploadForm(request.POST, request.FILES)
        context = RequestContext(request)
        context.update(get_my_stats(request.user))
        if request.POST.get("buttonSupply") is not None:
            if form.is_valid():
                uploaded_url = handle_uploaded_file(request.FILES['file'])   
                form.save(uploaded_url)
                paperRequest = Request.objects.get(id=form.cleaned_data['request_id'])
                context.update({'uploaded_url' : uploaded_url,
                                'request' : paperRequest})
                
                if paperRequest.supplier is None :
                    """
                    Neu nhu bai bao chua duoc assign cho 1 supplier thi set supplier do chinh la user hien tai.
                    """
                    paperRequest.supplier = request.user
                    context.update({'realSupplier' : request.user})
                    
                elif paperRequest.supplier.id != request.user.id:
                    """
                    Process for other supplier ", paperRequest.supplier
                    Neu nguoi cung cap bai bao khong phai la nguoi duoc assign thi tinh diem cho nguoi da cung cap.
                    """
                    context.update({'realSupplier' : request.user})
                    sendmailFromTemplate(toAddr=paperRequest.supplier.email,
                                     subject=_(u"Some one has provided a paper request that was assigned to you"),
                                     template_name="papershare/request_processed_email.html",
                                     context=context)
                    if paperRequest.previously_supplied is None:
                        paperRequest.previously_supplied = ""
                    paperRequest.previously_supplied += ';' + request.user.username

                paperRequest.date_supplied = datetime.datetime.now()
                paperRequest.save()
                
                sendmailFromTemplate(fromAddr=request.user.email, toAddr=paperRequest.requester.email,
                                     subject=_(u"Good news ! your paper request has been processed"),
                                     template_name="papershare/request_processed_email.html",
                                     context=context)            
                return render_to_response('papershare/upload_complete.html',context)
            else:
                context.update({'form':form})
                return render_to_response('papershare/upload_error.html',context)
        
        elif request.POST.get("buttonFail") is not None: #report fail by admin
            requestId = request.POST.get('request_id')
            if requestId is not None and requestId.isdigit():
                paperRequest = Request.objects.get(id=int(requestId))
                paperRequest.supplier = None
                paperRequest.status = REQ_STA_FAILED #failed.
                paperRequest.save()
                sendReminderEmailToRequester(paperRequest)
                message = _(u"Yêu cầu %d da duoc chuyen vao trash pool" % paperRequest.id)
                context.update({'message' : message}) 
                return render_to_response('ncs/simple_message.html', context)
            
        elif request.POST.get("buttonAssign") is not None: # Chuyển bài báo cho 1 supplier khác
            """
            Khi admin chuyen bai bao cho mot thanh vien khac thi:
            - Neu user dc chuyen toi chua la supplier thi set thanh supplier va thong bao cho user biet.
            - Thong bao cho supplier cu cua bai bao do duoc biet.
            """
            
            request_id   = request.POST.get("request_id")
            paperRequest = Request.objects.get(id=int(request_id))
            requester    = paperRequest.requester
            oldSupplier  = paperRequest.supplier
            newSupplier  = User()

            suggestedNewSupplierUsername = request.POST.get("username")

            try:
                if suggestedNewSupplierUsername == "":
                    newSupplier = random_new_supplier(requester, oldSupplier)
                else:
                    newSupplier = confirmed_suggested_new_supplier(suggestedNewSupplierUsername, requester, oldSupplier)

            except NoSuppliersInResearchField , field:
                return render_to_response("ncs/simple_message.html", {"message":_(u"Không có người cung cấp trong ngành ") + field.parameter})

            except User.DoesNotExist:
                return render_to_response("ncs/simple_message.html", {"message":_(u"Không tìm thấy thành viên ") + suggestedNewSupplierUsername})

            except UserIsNotSupplier:
                return render_to_response("ncs/simple_message.html", {"message":_(u"Không tìm thấy người cung cấp  ") + suggestedNewSupplierUsername})