- # TODO: what if the file exists ?
- doc = lib.document_create(form.cleaned_data['bookname'])
- doc.quickwrite('xml', data, '$AUTO$ XML data uploaded.',
- user=request.user.username)
-
- return {
- 'url': reverse('document_view', args=[doc.id]),
- 'name': doc.id,
- 'revision': doc.revision }
+ docid = form.cleaned_data['bookname']
+ try:
+ doc = lib.document_create(docid)
+ doc = doc.quickwrite('xml', data, '$AUTO$ XML data uploaded.',
+ user=request.user.username)
+
+ url = reverse('document_view', args=[doc.id])
+
+ return response.EntityCreated().django_response(\
+ body = {
+ 'url': url,
+ 'name': doc.id,
+ 'revision': doc.revision },
+ url = url )
+
+ except DocumentAlreadyExists:
+ # Document is already there
+ return response.EntityConflict().django_response(\
+ {"reason": "Document %s already exists." % docid})