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))
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))