Example #1
0
def dropbox_backup(request):
    ## should go kickoff queue and give FYI to the user
    ctx = {} 
    task = BackupPhotos()
    try:
        task.delay(request.user)
    except:
        logger.error('Unable to queue backup for user %s' % (request.user.id))
        send_email_unable_to_queue_backup(request.user)
    return render_to_response('yourtroveinabox/simpl/step4.html', context_instance=RequestContext(request,ctx))
Example #2
0
def specific_user_report(request, user_id):
    if not request.user.is_superuser:
        return HttpResponse(content="Access denied", status="403")

    u = User.objects.get(id=user_id)

    if request.method == "POST":
        try:
            unfinished_tasks = BackupTask.objects.filter(user=u,completed_on=None)
            for task in unfinished_tasks:
                task.result = 'manually cancelled'
                task.completed_on=datetime.datetime.utcnow()
                task.save()
        except:
            pass
        task = BackupPhotos()
        try:
            task.delay(u)
        except:
            logger.error('Unable to queue backup for user %s' % (u.id))
            send_email_unable_to_queue_backup(u)
        return HttpResponse("Rerunning Backup for " + user_id)
    else:
        ctx = {}
        u = User.objects.get(id=user_id)
        ctx['user'] = u
        ctx['current_user'] = u
        ctx['backed_up_items'] = BackedupEntity.objects.filter(user=u)
        ctx['failed_backup_tasks'] = BackupTask.objects.filter(user=u).exclude(result="Success")
        ctx['successful_backup_tasks'] = BackupTask.objects.filter(user=u, result="Success")
        ctx['all_backup_tasks'] = BackupTask.objects.filter(user=u)
    
        access_tokens = TroveAccessToken.objects.filter(user=u)
        try:
            api = TroveAPI(TROVE['ID'], TROVE['SECRET'], TROVE['CALLBACK_URL'], access_token = access_tokens[0].oauth_token_as_string)
            trove_user_info = api.get_user_info()
            ctx['trove_user_info'] = trove_user_info
            ctx['photo_identites'] = trove_user_info['identities']['photos']
        except:
            pass
        return render_to_response('yourtroveinabox/simpl/admin_user.html', context_instance=RequestContext(request,ctx))