From: Seth Woodworth Date: Wed, 23 Jan 2013 00:40:23 +0000 (-0500) Subject: integrating ajaxupload upto gdrive celery task executing X-Git-Tag: release-20150131~551^2~11 X-Git-Url: https://git.librecmc.org/?a=commitdiff_plain;h=c31a4c8b5ee0f0af95067ba879241a2e12b00832;p=oweals%2Fkarmaworld.git integrating ajaxupload upto gdrive celery task executing --- diff --git a/karmaworld/apps/ajaxuploader/backends/local.py b/karmaworld/apps/ajaxuploader/backends/local.py index b2575d1..67494af 100644 --- a/karmaworld/apps/ajaxuploader/backends/local.py +++ b/karmaworld/apps/ajaxuploader/backends/local.py @@ -6,6 +6,7 @@ from django.conf import settings from ajaxuploader.backends.base import AbstractUploadBackend from karmaworld.apps.notes import tasks from karmaworld.apps.notes.models import Note +from karmaworld.apps.courses.models import Course class LocalUploadBackend(AbstractUploadBackend): #UPLOAD_DIR = "uploads" @@ -58,19 +59,24 @@ class LocalUploadBackend(AbstractUploadBackend): # Avoid File.objects.create, as this will try to make # Another file copy at FileField's 'upload_to' dir + print "creating note" note = Note() note.note_file = os.path.join(self._dir, filename) + note.course_id = request.GET['course_id'] + print "saving note" note.save() # FIXME: Make get or create - if self.SESSION_UNCLAIMED_FILES_KEY in request.session: + print "setting up session vars" + #import ipdb; ipdb.set_trace() + if 'uploaded_files' in request.session: request.session['uploaded_files'].append(note.pk) else: request.session['uploaded_files'] = [note.pk] # Asynchronously process document with Google Documents API print "upload_complete, firing task" - tasks.process_document.delay(new_File) + tasks.process_document.delay(note) return {"path": path, "file_pk": note.pk} diff --git a/karmaworld/apps/ajaxuploader/views.py b/karmaworld/apps/ajaxuploader/views.py index e8e5dd9..4f34426 100644 --- a/karmaworld/apps/ajaxuploader/views.py +++ b/karmaworld/apps/ajaxuploader/views.py @@ -12,6 +12,7 @@ class AjaxFileUploader(object): self.get_backend = lambda: backend(**kwargs) def __call__(self,request): + print "ajax file uploader called" return self._ajax_upload(request) def _ajax_upload(self, request): @@ -60,3 +61,5 @@ class AjaxFileUploader(object): ret_json.update(extra_context) return HttpResponse(json.dumps(ret_json, cls=DjangoJSONEncoder)) + +ajax_uploader = AjaxFileUploader() diff --git a/karmaworld/templates/courses/course_detail.html b/karmaworld/templates/courses/course_detail.html index d9014cb..2f78c92 100644 --- a/karmaworld/templates/courses/course_detail.html +++ b/karmaworld/templates/courses/course_detail.html @@ -3,11 +3,37 @@ {% block pagescripts %} + + - {% endblock %} diff --git a/karmaworld/urls.py b/karmaworld/urls.py index a495304..b41cbaa 100644 --- a/karmaworld/urls.py +++ b/karmaworld/urls.py @@ -3,7 +3,7 @@ from django.conf.urls.defaults import patterns, include, url from django.views.generic import ListView, DetailView from django.views.generic.simple import direct_to_template -from karmaworld.apps.ajaxuploader.views import AjaxFileUploader +from karmaworld.apps.ajaxuploader.views import ajax_uploader from karmaworld.apps.courses.models import Course from karmaworld.apps.courses.views import CourseDetailView from karmaworld.apps.notes.views import NoteDetailView, RawNoteDetailView, raw_file @@ -11,7 +11,6 @@ from karmaworld.apps.notes.views import NoteDetailView, RawNoteDetailView, raw_f # See: https://docs.djangoproject.com/en/dev/ref/contrib/admin/#hooking-adminsite-instances-into-your-urlconf admin.autodiscover() - # See: https://docs.djangoproject.com/en/dev/topics/http/urls/ urlpatterns = patterns('', # Admin panel and documentation: @@ -29,7 +28,7 @@ urlpatterns = patterns('', NoteDetailView.as_view(), name='note_detail'), # uploading - url(r'ajax-upload$', AjaxFileUploader(), name='ajax_upload'), + url(r'ajax-upload$', ajax_uploader, name='ajax_upload'), url(r'^$', ListView.as_view(model=Course), name='home'), )