Пример #1
0
def complete(request, donation_id):
    donation = get_object_or_404(Donation, pk=donation_id)
    donation.status_code = AmazonActionStatus.get_from_code(request.GET.get('status'))
    
    if donation.status_code is AmazonActionStatus.SUCCESS:
        team = donation.offer.team
        recipients = Recipient.objects.filter(team=team)
        recipientTokenId = recipients[0].recipient_token_id
        
        try:
            connection = get_fps_connection()
            transactionAmount = donation.offer.donation
            connection.pay(RecipientTokenId=recipientTokenId, TransactionAmount=transactionAmount,
                           SenderTokenId=request.GET.get('tokenID'), ChargeFeeTo='Caller',
                           MarketplaceVariableFee='5')
            
            donation.sender_token_id = request.GET.get('tokenID')
            state = DonationState.FINISHED
            trigger_backend_task('/spudder/synchronise_sponsorship_data_from_donation/%s' % donation.id)
            redirect_to = '/dashboard/donation/%s/thanks' % donation_id
        except Exception, e:
            state = DonationState.TERMINATED
            donation.status_code = AmazonActionStatus.SE
            donation.error_message = e
            redirect_to = '/dashboard/donation/%s/error' % donation_id
Пример #2
0
def complete(request, donation_id):
    donation = get_object_or_404(Donation, pk=donation_id)
    donation.status_code = AmazonActionStatus.get_from_code(
        request.GET.get('status'))

    if donation.status_code is AmazonActionStatus.SUCCESS:
        team = donation.offer.team
        recipients = Recipient.objects.filter(team=team)
        recipientTokenId = recipients[0].recipient_token_id

        try:
            connection = get_fps_connection()
            transactionAmount = donation.offer.donation
            connection.pay(RecipientTokenId=recipientTokenId,
                           TransactionAmount=transactionAmount,
                           SenderTokenId=request.GET.get('tokenID'),
                           ChargeFeeTo='Caller',
                           MarketplaceVariableFee='5')

            donation.sender_token_id = request.GET.get('tokenID')
            state = DonationState.FINISHED
            trigger_backend_task(
                '/spudder/synchronise_sponsorship_data_from_donation/%s' %
                donation.id)
            redirect_to = '/dashboard/donation/%s/thanks' % donation_id
        except Exception, e:
            state = DonationState.TERMINATED
            donation.status_code = AmazonActionStatus.SE
            donation.error_message = e
            redirect_to = '/dashboard/donation/%s/error' % donation_id
Пример #3
0
def dashboard(request):
    imported_clubs_count = Club.objects.filter(original_domain_name='leagueathletics').count()
    if not imported_clubs_count:
        imported_clubs_count = 0

    upload_url = blobstore.create_upload_url('/spudderadmin/leagueathletics')
    error_message = None

    la_import = LeagueAthleticsImport.load()
    import_form = LeagueAthleticsImportClubsForm(initial={'action': LeagueAthleticsFormAction.IMPORT_CLUBS})
    reset_form = LeagueAthleticsResetClubsForm(initial={'action': LeagueAthleticsFormAction.RESET_CLUBS})

    if request.method == "POST":
        action = request.POST.get('action')

        if action == LeagueAthleticsFormAction.IMPORT_CLUBS:
            import_form = LeagueAthleticsImportClubsForm(request.POST)

            if import_form.is_valid():
                upload_form = UploadForm(request.POST, request.FILES)
                uploaded_file = upload_form.save(False)
                uploaded_file.owner = request.user
                uploaded_file.content_type = request.FILES['file'].content_type
                uploaded_file.filename = request.FILES['file'].name
                uploaded_file.save()

                la_import.clear()
                la_import.in_progress = True
                la_import.zip_codes_file = uploaded_file
                la_import.save()

                trigger_backend_task('/spudderadmin/leagueathletics/import_clubs',
                                     eta=datetime.datetime.now() + datetime.timedelta(seconds=30))

                messages.success(request, "<i class='fa fa-check'></i> Clubs import in progress")

                return redirect('/spudderadmin/leagueathletics')

        if action == LeagueAthleticsFormAction.RESET_CLUBS:
            reset_form = LeagueAthleticsResetClubsForm(request.POST)
            if reset_form.is_valid():
                Club.objects.filter(original_domain_name='leagueathletics').delete()

                messages.success(request, "<i class='fa fa-check'></i> All imported clubs have been deleted")

                return redirect('/spudderadmin/leagueathletics')

    return render(request, 'spudderadmin/pages/leagueathletics/dashboard.html', {
        'imported_clubs_count': imported_clubs_count,
        'upload_url': upload_url,
        'error_message': error_message,
        'la_import': la_import,
        'reset_form': reset_form,
        'import_form': import_form
    })
Пример #4
0
def remove_student_sessions(request):
    """
    View to hit for logging out all students
    :param request: a POST request
    :return: an HttpResponse saying students are being logged out
    """
    if request.method == 'POST':
        trigger_backend_task('/cern/remove_student_sessions_async')

        return HttpResponse('All students are being logged out.')
    else:
        return HttpResponseNotAllowed(['POST'])
Пример #5
0
def remove_student_sessions(request):
    """
    View to hit for logging out all students
    :param request: a POST request
    :return: an HttpResponse saying students are being logged out
    """
    if request.method == 'POST':
        trigger_backend_task('/cern/remove_student_sessions_async')

        return HttpResponse('All students are being logged out.')
    else:
        return HttpResponseNotAllowed(['POST'])
Пример #6
0
def import_school_data(request):
    trigger_backend_task('/cern/import_schools_async')

    return HttpResponse('Schools are being imported in the background')
Пример #7
0
def translate_referrals(request):
    trigger_backend_task('/cern/translate_referrals_async')

    return HttpResponse('Referrals are being translated in the background')
Пример #8
0
def import_school_addrs(request):
    trigger_backend_task('/cern/import_school_addrs_async')

    return HttpResponse('School addresses are being added in the background')
Пример #9
0
def trigger_convert(request):
    trigger_backend_task('/hospitals/convert_xml_hospital_list_async',
                         target='payments')
    return HttpResponseRedirect('/')
Пример #10
0
def dashboard(request):
    imported_clubs_count = Club.objects.filter(
        original_domain_name='leagueathletics').count()
    if not imported_clubs_count:
        imported_clubs_count = 0

    upload_url = blobstore.create_upload_url('/spudderadmin/leagueathletics')
    error_message = None

    la_import = LeagueAthleticsImport.load()
    import_form = LeagueAthleticsImportClubsForm(
        initial={'action': LeagueAthleticsFormAction.IMPORT_CLUBS})
    reset_form = LeagueAthleticsResetClubsForm(
        initial={'action': LeagueAthleticsFormAction.RESET_CLUBS})

    if request.method == "POST":
        action = request.POST.get('action')

        if action == LeagueAthleticsFormAction.IMPORT_CLUBS:
            import_form = LeagueAthleticsImportClubsForm(request.POST)

            if import_form.is_valid():
                upload_form = UploadForm(request.POST, request.FILES)
                uploaded_file = upload_form.save(False)
                uploaded_file.owner = request.user
                uploaded_file.content_type = request.FILES['file'].content_type
                uploaded_file.filename = request.FILES['file'].name
                uploaded_file.save()

                la_import.clear()
                la_import.in_progress = True
                la_import.zip_codes_file = uploaded_file
                la_import.save()

                trigger_backend_task(
                    '/spudderadmin/leagueathletics/import_clubs',
                    eta=datetime.datetime.now() +
                    datetime.timedelta(seconds=30))

                messages.success(
                    request,
                    "<i class='fa fa-check'></i> Clubs import in progress")

                return redirect('/spudderadmin/leagueathletics')

        if action == LeagueAthleticsFormAction.RESET_CLUBS:
            reset_form = LeagueAthleticsResetClubsForm(request.POST)
            if reset_form.is_valid():
                Club.objects.filter(
                    original_domain_name='leagueathletics').delete()

                messages.success(
                    request,
                    "<i class='fa fa-check'></i> All imported clubs have been deleted"
                )

                return redirect('/spudderadmin/leagueathletics')

    return render(
        request, 'spudderadmin/pages/leagueathletics/dashboard.html', {
            'imported_clubs_count': imported_clubs_count,
            'upload_url': upload_url,
            'error_message': error_message,
            'la_import': la_import,
            'reset_form': reset_form,
            'import_form': import_form
        })
Пример #11
0
def trigger_convert(request):
    trigger_backend_task('/hospitals/convert_xml_hospital_list_async', target='payments')
    return HttpResponseRedirect('/')
Пример #12
0
def import_school_data(request):
    trigger_backend_task('/cern/import_schools_async')

    return HttpResponse('Schools are being imported in the background')
Пример #13
0
def translate_referrals(request):
    trigger_backend_task('/cern/translate_referrals_async')

    return HttpResponse('Referrals are being translated in the background')
Пример #14
0
def import_school_addrs(request):
    trigger_backend_task('/cern/import_school_addrs_async')

    return HttpResponse('School addresses are being added in the background')