fix document import
This commit is contained in:
parent
272810b9c2
commit
ce234bdea5
4 changed files with 19 additions and 10 deletions
|
@ -2,7 +2,7 @@
|
||||||
|
|
||||||
pandora.ui.importDocumentsDialog = function() {
|
pandora.ui.importDocumentsDialog = function() {
|
||||||
|
|
||||||
var dialogHeight = 100,
|
var dialogHeight = 128 + 16,
|
||||||
dialogWidth = 512 + 16,
|
dialogWidth = 512 + 16,
|
||||||
formWidth = getFormWidth(),
|
formWidth = getFormWidth(),
|
||||||
|
|
||||||
|
@ -10,8 +10,9 @@ pandora.ui.importDocumentsDialog = function() {
|
||||||
$content = Ox.Element(),
|
$content = Ox.Element(),
|
||||||
value,
|
value,
|
||||||
$input = [
|
$input = [
|
||||||
Ox.TextArea({
|
Ox.Input({
|
||||||
labelWidth: 96,
|
type: 'textarea',
|
||||||
|
height: 128,
|
||||||
width: 512
|
width: 512
|
||||||
}).css({
|
}).css({
|
||||||
margin: '8px'
|
margin: '8px'
|
||||||
|
@ -35,7 +36,7 @@ pandora.ui.importDocumentsDialog = function() {
|
||||||
}
|
}
|
||||||
}),
|
}),
|
||||||
$button = Ox.Button({
|
$button = Ox.Button({
|
||||||
disabled: true,
|
disabled: false,
|
||||||
id: 'import',
|
id: 'import',
|
||||||
title: Ox._('Import URLs')
|
title: Ox._('Import URLs')
|
||||||
})
|
})
|
||||||
|
@ -73,10 +74,16 @@ pandora.ui.importDocumentsDialog = function() {
|
||||||
pandora.api.importDocuments({
|
pandora.api.importDocuments({
|
||||||
urls: urls
|
urls: urls
|
||||||
}, function(result) {
|
}, function(result) {
|
||||||
|
Ox.Request.clearCache()
|
||||||
if (result.data.taskId) {
|
if (result.data.taskId) {
|
||||||
pandora.wait(result.data.taskId, function(result) {
|
pandora.wait(result.data.taskId, function(result) {
|
||||||
that.close();
|
that.close();
|
||||||
|
if (pandora.user.ui.section == 'documents' && !pandora.user.ui.document.length) {
|
||||||
|
pandora.$ui.list.reloadList()
|
||||||
|
} else {
|
||||||
|
pandora.URL.push('/documents/grid/created')
|
||||||
}
|
}
|
||||||
|
})
|
||||||
} else {
|
} else {
|
||||||
that.options({content: 'Failed'});
|
that.options({content: 'Failed'});
|
||||||
}
|
}
|
||||||
|
|
|
@ -27,7 +27,7 @@ pandora.localInit = function() {
|
||||||
$item = Ox.MenuButton({
|
$item = Ox.MenuButton({
|
||||||
items: [
|
items: [
|
||||||
].concat(pandora.user.level == 'admin' ? [
|
].concat(pandora.user.level == 'admin' ? [
|
||||||
] : [], [
|
] : [], pandora.user.level == 'gurest' ? [] : [
|
||||||
{id: 'import_documents', title: 'Import Documents...'},
|
{id: 'import_documents', title: 'Import Documents...'},
|
||||||
]),
|
]),
|
||||||
style: 'rounded',
|
style: 'rounded',
|
||||||
|
@ -37,7 +37,7 @@ pandora.localInit = function() {
|
||||||
}).css(css).bindEvent({
|
}).css(css).bindEvent({
|
||||||
click: function(data) {
|
click: function(data) {
|
||||||
if (data.id == 'import_documents') {
|
if (data.id == 'import_documents') {
|
||||||
pandora.ui.importDocumentsDialog().open()
|
pandora.ui.importDocumentsDialog().open();
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
}),
|
}),
|
||||||
|
|
3
tasks.py
3
tasks.py
|
@ -8,5 +8,6 @@ base = os.path.dirname(__file__)
|
||||||
@task(queue="encoding")
|
@task(queue="encoding")
|
||||||
def import_documents(urls):
|
def import_documents(urls):
|
||||||
for url in urls:
|
for url in urls:
|
||||||
if url.startswith('http'):
|
url = url.strip()
|
||||||
|
if url and url.startswith('http'):
|
||||||
subprocess.call(['/srv/pandora/bin/python', os.path.join(base, 'add_website_as_pdf.py'), url])
|
subprocess.call(['/srv/pandora/bin/python', os.path.join(base, 'add_website_as_pdf.py'), url])
|
||||||
|
|
5
views.py
5
views.py
|
@ -2,14 +2,15 @@
|
||||||
from __future__ import division, print_function, absolute_import
|
from __future__ import division, print_function, absolute_import
|
||||||
|
|
||||||
from oxdjango.decorators import login_required_json
|
from oxdjango.decorators import login_required_json
|
||||||
from oxdjango.shortcuts import render_to_json_response
|
from oxdjango.shortcuts import render_to_json_response, json_response
|
||||||
from oxdjango.api import actions
|
from oxdjango.api import actions
|
||||||
|
|
||||||
from .tasks import import_documents
|
from .tasks import import_documents
|
||||||
|
|
||||||
@login_required_json
|
@login_required_json
|
||||||
def importDocuments(request, data):
|
def importDocuments(request, data):
|
||||||
t = tasks.import_documents.delay(urls=data['urls'])
|
response = json_response({})
|
||||||
|
t = import_documents.delay(urls=data['urls'])
|
||||||
response['data']['taskId'] = t.task_id
|
response['data']['taskId'] = t.task_id
|
||||||
return render_to_json_response(response)
|
return render_to_json_response(response)
|
||||||
actions.register(importDocuments)
|
actions.register(importDocuments)
|
||||||
|
|
Loading…
Reference in a new issue