batch item/documents edit
This commit is contained in:
parent
38315e0c60
commit
0a4c507346
12 changed files with 879 additions and 510 deletions
|
|
@ -262,6 +262,8 @@ def update_static():
|
|||
pandora_json = os.path.join(settings.STATIC_ROOT, 'json/pandora.json')
|
||||
for root, folders, files in os.walk(os.path.join(settings.STATIC_ROOT, 'js')):
|
||||
for f in files:
|
||||
if f.startswith('._'):
|
||||
continue
|
||||
f = os.path.join(root, f)
|
||||
#ignore old embed js file
|
||||
if 'js/embed/' in f:
|
||||
|
|
|
|||
|
|
@ -132,14 +132,19 @@ def editDocument(request, data):
|
|||
response = json_response()
|
||||
item = 'item' in data and Item.objects.get(public_id=data['item']) or None
|
||||
if data['id']:
|
||||
document = models.Document.get(data['id'])
|
||||
if document.editable(request.user, item):
|
||||
add_changelog(request, data)
|
||||
document.edit(data, request.user, item)
|
||||
document.save()
|
||||
response['data'] = document.json(user=request.user, item=item)
|
||||
if isinstance(data['id'], list):
|
||||
documents = models.Document.objects.filter(pk__in=map(ox.fromAZ, data['id']))
|
||||
else:
|
||||
response = json_response(status=403, text='permission denied')
|
||||
documents = [models.Document.get(data['id'])]
|
||||
for document in documents:
|
||||
if document.editable(request.user, item):
|
||||
if document == documents[0]:
|
||||
add_changelog(request, data)
|
||||
document.edit(data, request.user, item)
|
||||
document.save()
|
||||
response['data'] = document.json(user=request.user, item=item)
|
||||
else:
|
||||
response = json_response(status=403, text='permission denied')
|
||||
else:
|
||||
response = json_response(status=500, text='invalid request')
|
||||
return render_to_json_response(response)
|
||||
|
|
|
|||
|
|
@ -622,14 +622,19 @@ def edit(request, data):
|
|||
}
|
||||
see: add, find, get, lookup, remove, upload
|
||||
'''
|
||||
item = get_object_or_404_json(models.Item, public_id=data['id'])
|
||||
if item.editable(request.user):
|
||||
request_data = data.copy()
|
||||
response = edit_item(request, item, data)
|
||||
response['data'] = item.json()
|
||||
add_changelog(request, request_data)
|
||||
if isinstance(data['id'], list):
|
||||
items = models.Item.objects.filter(public_id__in=data['id'])
|
||||
else:
|
||||
response = json_response(status=403, text='permission denied')
|
||||
items = [get_object_or_404_json(models.Item, public_id=data['id'])]
|
||||
for item in items:
|
||||
if item.editable(request.user):
|
||||
request_data = data.copy()
|
||||
response = edit_item(request, item, data)
|
||||
response['data'] = item.json()
|
||||
if item == items[0]:
|
||||
add_changelog(request, request_data)
|
||||
else:
|
||||
response = json_response(status=403, text='permission denied')
|
||||
return render_to_json_response(response)
|
||||
actions.register(edit, cache=False)
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue