Created views to upload a single or multiple documents with same metadata
This commit is contained in:
@@ -2,11 +2,19 @@ from django.utils.translation import ugettext_lazy as _
|
||||
|
||||
from common.api import register_links, register_menu
|
||||
|
||||
from models import Document
|
||||
|
||||
document_list = {'text':_(u'documents'), 'view':'document_list', 'famfam':'page'}
|
||||
document_create = {'text':_('create document'), 'view':'document_create', 'famfam':'page_add'}
|
||||
document_create_multiple = {'text':_('create multiple document'), 'view':'document_create_multiple', 'famfam':'page_add'}
|
||||
|
||||
#register_links(Document, [purchase_order_item_update, purchase_order_item_delete, jump_to_template, purchase_order_item_close, purchase_order_item_transfer])
|
||||
register_links(['document_list', 'document_create', 'upload_document_with_type'], [document_create, document_create_multiple], menu_name='sidebar')
|
||||
|
||||
|
||||
|
||||
register_menu([
|
||||
{'text':_('documents'), 'view':'document_list', 'links':[
|
||||
document_list, document_create
|
||||
document_list#, document_create
|
||||
],'famfam':'page','position':4}])
|
||||
|
||||
|
||||
@@ -67,6 +67,11 @@ class MetadataForm(forms.Form):
|
||||
|
||||
|
||||
class DocumentCreateWizard(BoundFormWizard):
|
||||
def __init__(self, *args, **kwargs):
|
||||
self.multiple = kwargs.pop('multiple', True)
|
||||
super(DocumentCreateWizard, self).__init__(*args, **kwargs)
|
||||
|
||||
|
||||
def render_template(self, request, form, previous_fields, step, context=None):
|
||||
context = {'step_title':self.extra_context['step_titles'][step]}
|
||||
return super(DocumentCreateWizard, self).render_template(request, form, previous_fields, step, context)
|
||||
@@ -99,5 +104,10 @@ class DocumentCreateWizard(BoundFormWizard):
|
||||
return 'generic_wizard.html'
|
||||
|
||||
def done(self, request, form_list):
|
||||
url = reverse('upload_document_with_type', args=[self.document_type.id])
|
||||
if self.multiple:
|
||||
view = 'upload_multiple_documents_with_type'
|
||||
else:
|
||||
view = 'upload_document_with_type'
|
||||
|
||||
url = reverse(view, args=[self.document_type.id])
|
||||
return HttpResponseRedirect('%s?%s' % (url, urlencode(self.urldata)))
|
||||
|
||||
@@ -5,8 +5,10 @@ from django.views.generic.create_update import create_object, update_object
|
||||
|
||||
urlpatterns = patterns('documents.views',
|
||||
url(r'^document/list/$', 'document_list', (), 'document_list'),
|
||||
url(r'^document/create/$', 'document_create', (), 'document_create'),
|
||||
#url(r'^document/upload/$', 'upload_document', (), 'upload_document'),
|
||||
url(r'^document/type/(?P<document_type_id>\d+)/upload/$', 'upload_document_with_type', (), 'upload_document_with_type'),
|
||||
url(r'^document/create/single/$', 'document_create', {'multiple':False}, 'document_create'),
|
||||
url(r'^document/create/multiple/$', 'document_create', {'multiple':True}, 'document_create_multiple'),
|
||||
url(r'^document/type/(?P<document_type_id>\d+)/upload/single/$', 'upload_document_with_type', {'multiple':False}, 'upload_document_with_type'),
|
||||
url(r'^document/type/(?P<document_type_id>\d+)/upload/multiple/$', 'upload_document_with_type', {'multiple':True}, 'upload_multiple_documents_with_type'),
|
||||
url(r'^document/(?P<document_id>\d+)/$', 'document_view', (), 'document_view'),
|
||||
|
||||
)
|
||||
|
||||
@@ -37,9 +37,9 @@ def document_list(request):
|
||||
)
|
||||
|
||||
|
||||
def document_create(request):
|
||||
def document_create(request, multiple=True):
|
||||
MetadataFormSet = formset_factory(MetadataForm, extra=0)
|
||||
wizard = DocumentCreateWizard(form_list=[DocumentTypeSelectForm, MetadataFormSet])
|
||||
wizard = DocumentCreateWizard(form_list=[DocumentTypeSelectForm, MetadataFormSet], multiple=multiple)
|
||||
return wizard(request)
|
||||
|
||||
|
||||
@@ -114,3 +114,7 @@ def document_view(request, document_id):
|
||||
},
|
||||
],
|
||||
}, context_instance=RequestContext(request))
|
||||
|
||||
|
||||
#def document_edit(request, document_id):
|
||||
|
||||
|
||||
Reference in New Issue
Block a user