def add_images_to_doc_js(request): response = {} status = 405 if request.is_ajax() and request.method == 'POST': status = 201 doc_id = request.POST['doc_id'] doc = Document.objects.get(id=doc_id) # Delete all existing image links DocumentImage.objects.filter(document_id=doc_id).delete() ids = request.POST.getlist('ids[]') for id in ids: title = 'Deleted' image = Image.objects.filter(id=id).first() if image: user_image = image.userimage_set.all().first() if user_image: title = user_image.title else: image = Image() image.pk = id image.uploader = doc.owner f = open( os.path.join(settings.PROJECT_PATH, "base/static/img/error.png")) image.image.save('error.png', File(f)) image.save() DocumentImage.objects.create(document=doc, image=image, title=title) return JsonResponse(response, status=status)
def add_images_to_doc(request): response = {} status = 201 doc_id = request.POST["doc_id"] doc = Document.objects.get(id=doc_id) # Delete all existing image links DocumentImage.objects.filter(document_id=doc_id).delete() ids = request.POST.getlist("ids[]") for id in ids: doc_image_data = {"document": doc, "title": "Deleted"} image = Image.objects.filter(id=id).first() if image: user_image = image.userimage_set.all().first() if user_image: doc_image_data["title"] = user_image.title doc_image_data["copyright"] = user_image.copyright else: image = Image() image.pk = id image.uploader = doc.owner f = open( os.path.join( settings.PROJECT_PATH, "base/static/img/error.png" ) ) image.image.save("error.png", File(f)) image.save() doc_image_data["image"] = image DocumentImage.objects.create(**doc_image_data) return JsonResponse(response, status=status)
def add_images_to_doc_js(request): response = {} status = 405 if request.is_ajax() and request.method == 'POST': status = 201 doc_id = request.POST['doc_id'] doc = Document.objects.get(id=doc_id) # Delete all existing image links DocumentImage.objects.filter( document_id=doc_id ).delete() ids = request.POST.getlist('ids[]') for id in ids: title = 'Deleted' image = Image.objects.filter(id=id).first() if image: user_image = image.userimage_set.all().first() if user_image: title = user_image.title else: image = Image() image.pk = id image.uploader = doc.owner f = open(os.path.join( settings.PROJECT_PATH, "base/static/img/error.png" )) image.image.save('error.png', File(f)) image.save() DocumentImage.objects.create( document=doc, image=image, title=title ) return JsonResponse( response, status=status )
def author_first_submit(self): # The document is not part of an existing submission. journal_id = self.get_argument('journal_id') self.submission = Submission() self.submission.submitter = self.user self.submission.journal_id = journal_id self.submission.save() self.revision = SubmissionRevision() self.revision.submission = self.submission self.revision.version = "1.0.0" version = "1.0.0" # Connect a new document to the submission. title = self.get_argument('title') abstract = self.get_argument('abstract') contents = self.get_argument('contents') bibliography = self.get_argument('bibliography') image_ids = list( filter(None, self.get_argument('image_ids').split(','))) document = Document() journal = Journal.objects.get(id=journal_id) document.owner = journal.editor document.title = title document.contents = contents document.bibliography = bibliography document.save() for id in image_ids: image = Image.objects.filter(id=id).first() if image is None: image = Image() image.pk = id image.uploader = journal.editor f = open( os.path.join(settings.PROJECT_PATH, "base/static/img/error.png")) image.image.save('error.png', File(f)) image.save() DocumentImage.objects.create(document=document, image=image, title='') self.revision.document = document self.revision.save() fidus_url = '{protocol}://{host}'.format( protocol=self.request.protocol, host=self.request.host) post_data = { 'username': self.user.username.encode('utf8'), 'title': title.encode('utf8'), 'abstract': abstract.encode('utf8'), 'first_name': self.get_argument('firstname').encode('utf8'), 'last_name': self.get_argument('lastname').encode('utf8'), 'email': self.user.email.encode('utf8'), 'affiliation': self.get_argument('affiliation').encode('utf8'), 'author_url': self.get_argument('author_url').encode('utf8'), 'journal_id': journal.ojs_jid, 'fidus_url': fidus_url, 'fidus_id': self.submission.id, 'version': version } body = urlencode(post_data) key = journal.ojs_key base_url = journal.ojs_url url = base_url + self.plugin_path + 'authorSubmit' http = AsyncHTTPClient() http.fetch(HTTPRequest(url_concat(url, {'key': key}), 'POST', None, body), callback=self.on_author_first_submit_response)