New document version improvements from clients/bc
- Comment field help text. - Remove create_document_form_form. - Use static NewVersionForm. - Update sources document upload and new version upload view names. Signed-off-by: Roberto Rosario <roberto.rosario@mayan-edms.com>
This commit is contained in:
@@ -33,7 +33,7 @@ class CabinetDocumentUploadTestCase(CabinetTestMixin, GenericDocumentViewTestCas
|
|||||||
def _request_upload_interactive_document_create_view(self):
|
def _request_upload_interactive_document_create_view(self):
|
||||||
with open(TEST_SMALL_DOCUMENT_PATH, mode='rb') as file_object:
|
with open(TEST_SMALL_DOCUMENT_PATH, mode='rb') as file_object:
|
||||||
return self.post(
|
return self.post(
|
||||||
viewname='sources:upload_interactive', kwargs={
|
viewname='sources:document_upload_interactive', kwargs={
|
||||||
'source_id': self.test_source.pk
|
'source_id': self.test_source.pk
|
||||||
}, data={
|
}, data={
|
||||||
'document_type_id': self.test_document_type.pk,
|
'document_type_id': self.test_document_type.pk,
|
||||||
|
|||||||
@@ -376,7 +376,7 @@ class NewVersionBlockViewTestCase(
|
|||||||
self.login_superuser()
|
self.login_superuser()
|
||||||
|
|
||||||
response = self.post(
|
response = self.post(
|
||||||
viewname='sources:upload_version', kwargs={
|
viewname='sources:document_version_upload', kwargs={
|
||||||
'document_pk': self.test_document.pk
|
'document_pk': self.test_document.pk
|
||||||
}, follow=True
|
}, follow=True
|
||||||
)
|
)
|
||||||
|
|||||||
@@ -34,7 +34,7 @@ class DocumentUploadMetadataTestCase(MetadataTypeTestMixin, GenericDocumentViewT
|
|||||||
|
|
||||||
def test_upload_interactive_with_unicode_metadata(self):
|
def test_upload_interactive_with_unicode_metadata(self):
|
||||||
url = URL(
|
url = URL(
|
||||||
path=reverse(viewname='sources:upload_interactive')
|
path=reverse(viewname='sources:document_upload_interactive')
|
||||||
)
|
)
|
||||||
url.args['metadata0_id'] = self.test_metadata_type.pk
|
url.args['metadata0_id'] = self.test_metadata_type.pk
|
||||||
url.args['metadata0_value'] = TEST_METADATA_VALUE_UNICODE
|
url.args['metadata0_value'] = TEST_METADATA_VALUE_UNICODE
|
||||||
@@ -61,7 +61,7 @@ class DocumentUploadMetadataTestCase(MetadataTypeTestMixin, GenericDocumentViewT
|
|||||||
|
|
||||||
def test_upload_interactive_with_ampersand_metadata(self):
|
def test_upload_interactive_with_ampersand_metadata(self):
|
||||||
url = URL(
|
url = URL(
|
||||||
path=reverse(viewname='sources:upload_interactive')
|
path=reverse(viewname='sources:document_upload_interactive')
|
||||||
)
|
)
|
||||||
url.args['metadata0_id'] = self.test_metadata_type.pk
|
url.args['metadata0_id'] = self.test_metadata_type.pk
|
||||||
url.args['metadata0_value'] = TEST_METADATA_VALUE_WITH_AMPERSAND
|
url.args['metadata0_value'] = TEST_METADATA_VALUE_WITH_AMPERSAND
|
||||||
|
|||||||
@@ -145,8 +145,9 @@ class SourcesApp(MayanAppConfig):
|
|||||||
menu_secondary.bind_links(
|
menu_secondary.bind_links(
|
||||||
links=(link_document_version_upload,),
|
links=(link_document_version_upload,),
|
||||||
sources=(
|
sources=(
|
||||||
'documents:document_version_list', 'documents:upload_version',
|
'documents:document_version_list',
|
||||||
'documents:document_version_revert'
|
'documents:document_version_revert',
|
||||||
|
'sources:document_version_upload'
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|||||||
@@ -23,14 +23,11 @@ class NewDocumentForm(DocumentForm):
|
|||||||
|
|
||||||
|
|
||||||
class NewVersionForm(forms.Form):
|
class NewVersionForm(forms.Form):
|
||||||
def __init__(self, *args, **kwargs):
|
comment = forms.CharField(
|
||||||
super(NewVersionForm, self).__init__(*args, **kwargs)
|
help_text=_('An optional comment to explain the upload.'),
|
||||||
|
label=_('Comment'), required=False,
|
||||||
self.fields['comment'] = forms.CharField(
|
widget=forms.widgets.Textarea(attrs={'rows': 4}),
|
||||||
label=_('Comment'),
|
)
|
||||||
required=False,
|
|
||||||
widget=forms.widgets.Textarea(attrs={'rows': 4}),
|
|
||||||
)
|
|
||||||
|
|
||||||
|
|
||||||
class UploadBaseForm(forms.Form):
|
class UploadBaseForm(forms.Form):
|
||||||
|
|||||||
@@ -117,7 +117,7 @@ link_document_version_upload = Link(
|
|||||||
args='resolved_object.pk', condition=document_new_version_not_blocked,
|
args='resolved_object.pk', condition=document_new_version_not_blocked,
|
||||||
icon_class_path='mayan.apps.sources.icons.icon_document_version_upload',
|
icon_class_path='mayan.apps.sources.icons.icon_document_version_upload',
|
||||||
permissions=(permission_document_new_version,),
|
permissions=(permission_document_new_version,),
|
||||||
text=_('Upload new version'), view='sources:upload_version',
|
text=_('Upload new version'), view='sources:document_version_upload',
|
||||||
)
|
)
|
||||||
link_setup_source_logs = Link(
|
link_setup_source_logs = Link(
|
||||||
args=('resolved_object.pk',),
|
args=('resolved_object.pk',),
|
||||||
|
|||||||
@@ -32,7 +32,7 @@ class DocumentUploadWizardViewTestMixin(object):
|
|||||||
def _request_upload_wizard_view(self, document_path=TEST_SMALL_DOCUMENT_PATH):
|
def _request_upload_wizard_view(self, document_path=TEST_SMALL_DOCUMENT_PATH):
|
||||||
with open(document_path, mode='rb') as file_object:
|
with open(document_path, mode='rb') as file_object:
|
||||||
return self.post(
|
return self.post(
|
||||||
viewname='sources:upload_interactive', kwargs={
|
viewname='sources:document_upload_interactive', kwargs={
|
||||||
'source_id': self.test_source.pk
|
'source_id': self.test_source.pk
|
||||||
}, data={
|
}, data={
|
||||||
'source-file': file_object,
|
'source-file': file_object,
|
||||||
@@ -42,7 +42,7 @@ class DocumentUploadWizardViewTestMixin(object):
|
|||||||
|
|
||||||
def _request_upload_interactive_view(self):
|
def _request_upload_interactive_view(self):
|
||||||
return self.get(
|
return self.get(
|
||||||
viewname='sources:upload_interactive', data={
|
viewname='sources:document_upload_interactive', data={
|
||||||
'document_type_id': self.test_document_type.pk,
|
'document_type_id': self.test_document_type.pk,
|
||||||
}
|
}
|
||||||
)
|
)
|
||||||
@@ -113,7 +113,7 @@ class DocumentUploadWizardViewTestCase(
|
|||||||
|
|
||||||
with open(TEST_SMALL_DOCUMENT_PATH, mode='rb') as file_object:
|
with open(TEST_SMALL_DOCUMENT_PATH, mode='rb') as file_object:
|
||||||
response = self.post(
|
response = self.post(
|
||||||
viewname='sources:upload_interactive', kwargs={
|
viewname='sources:document_upload_interactive', kwargs={
|
||||||
'source_id': self.test_source.pk
|
'source_id': self.test_source.pk
|
||||||
}, data={
|
}, data={
|
||||||
'source-file': file_object,
|
'source-file': file_object,
|
||||||
@@ -157,7 +157,7 @@ class DocumentUploadIssueTestCase(GenericDocumentViewTestCase):
|
|||||||
# Upload the test document
|
# Upload the test document
|
||||||
with open(TEST_SMALL_DOCUMENT_PATH, mode='rb') as file_object:
|
with open(TEST_SMALL_DOCUMENT_PATH, mode='rb') as file_object:
|
||||||
self.post(
|
self.post(
|
||||||
viewname='sources:upload_interactive', data={
|
viewname='sources:document_upload_interactive', data={
|
||||||
'document-language': 'eng',
|
'document-language': 'eng',
|
||||||
'source-file': file_object,
|
'source-file': file_object,
|
||||||
'document_type_id': self.test_document_type.pk
|
'document_type_id': self.test_document_type.pk
|
||||||
@@ -207,7 +207,7 @@ class NewDocumentVersionViewTestCase(GenericDocumentViewTestCase):
|
|||||||
NewVersionBlock.objects.block(self.test_document)
|
NewVersionBlock.objects.block(self.test_document)
|
||||||
|
|
||||||
response = self.post(
|
response = self.post(
|
||||||
viewname='sources:upload_version', kwargs={
|
viewname='sources:document_version_upload', kwargs={
|
||||||
'document_pk': self.test_document.pk
|
'document_pk': self.test_document.pk
|
||||||
}, follow=True
|
}, follow=True
|
||||||
)
|
)
|
||||||
|
|||||||
@@ -9,7 +9,7 @@ from .api_views import (
|
|||||||
from .views import (
|
from .views import (
|
||||||
SetupSourceCheckView, SetupSourceCreateView, SetupSourceDeleteView,
|
SetupSourceCheckView, SetupSourceCreateView, SetupSourceDeleteView,
|
||||||
SetupSourceEditView, SetupSourceListView, SourceLogListView,
|
SetupSourceEditView, SetupSourceListView, SourceLogListView,
|
||||||
StagingFileDeleteView, UploadInteractiveVersionView, UploadInteractiveView
|
StagingFileDeleteView, DocumentVersionUploadInteractiveView, UploadInteractiveView
|
||||||
)
|
)
|
||||||
from .wizards import DocumentCreateWizard
|
from .wizards import DocumentCreateWizard
|
||||||
|
|
||||||
@@ -27,19 +27,23 @@ urlpatterns = [
|
|||||||
),
|
),
|
||||||
url(
|
url(
|
||||||
regex=r'^documents/upload/new/interactive/(?P<source_id>\d+)/$',
|
regex=r'^documents/upload/new/interactive/(?P<source_id>\d+)/$',
|
||||||
view=UploadInteractiveView.as_view(), name='upload_interactive'
|
view=UploadInteractiveView.as_view(),
|
||||||
|
name='document_upload_interactive'
|
||||||
),
|
),
|
||||||
url(
|
url(
|
||||||
regex=r'^documents/upload/new/interactive/$',
|
regex=r'^documents/upload/new/interactive/$',
|
||||||
view=UploadInteractiveView.as_view(), name='upload_interactive'
|
view=UploadInteractiveView.as_view(),
|
||||||
|
name='document_upload_interactive'
|
||||||
),
|
),
|
||||||
url(
|
url(
|
||||||
regex=r'^documents/(?P<document_pk>\d+)/versions/upload/interactive/(?P<source_id>\d+)/$',
|
regex=r'^documents/(?P<document_pk>\d+)/versions/upload/interactive/(?P<source_id>\d+)/$',
|
||||||
view=UploadInteractiveVersionView.as_view(), name='upload_version'
|
view=DocumentVersionUploadInteractiveView.as_view(),
|
||||||
|
name='document_version_upload'
|
||||||
),
|
),
|
||||||
url(
|
url(
|
||||||
regex=r'^documents/(?P<document_pk>\d+)/versions/upload/interactive/$',
|
regex=r'^documents/(?P<document_pk>\d+)/versions/upload/interactive/$',
|
||||||
view=UploadInteractiveVersionView.as_view(), name='upload_version'
|
view=DocumentVersionUploadInteractiveView.as_view(),
|
||||||
|
name='document_version_upload'
|
||||||
),
|
),
|
||||||
|
|
||||||
# Setup views
|
# Setup views
|
||||||
|
|||||||
@@ -84,10 +84,10 @@ class UploadBaseView(MultiFormView):
|
|||||||
@staticmethod
|
@staticmethod
|
||||||
def get_tab_link_for_source(source, document=None):
|
def get_tab_link_for_source(source, document=None):
|
||||||
if document:
|
if document:
|
||||||
view = 'sources:upload_version'
|
view = 'sources:document_version_upload'
|
||||||
args = ('"{}"'.format(document.pk), '"{}"'.format(source.pk),)
|
args = ('"{}"'.format(document.pk), '"{}"'.format(source.pk),)
|
||||||
else:
|
else:
|
||||||
view = 'sources:upload_interactive'
|
view = 'sources:document_upload_interactive'
|
||||||
args = ('"{}"'.format(source.pk),)
|
args = ('"{}"'.format(source.pk),)
|
||||||
|
|
||||||
return Link(
|
return Link(
|
||||||
@@ -180,8 +180,8 @@ class UploadBaseView(MultiFormView):
|
|||||||
},
|
},
|
||||||
})
|
})
|
||||||
|
|
||||||
menu_facet.bound_links['sources:upload_interactive'] = self.tab_links
|
menu_facet.bound_links['sources:document_upload_interactive'] = self.tab_links
|
||||||
menu_facet.bound_links['sources:upload_version'] = self.tab_links
|
menu_facet.bound_links['sources:document_version_upload'] = self.tab_links
|
||||||
|
|
||||||
context.update(
|
context.update(
|
||||||
{
|
{
|
||||||
@@ -360,7 +360,7 @@ class UploadInteractiveView(UploadBaseView):
|
|||||||
return context
|
return context
|
||||||
|
|
||||||
|
|
||||||
class UploadInteractiveVersionView(UploadBaseView):
|
class DocumentVersionUploadInteractiveView(UploadBaseView):
|
||||||
def dispatch(self, request, *args, **kwargs):
|
def dispatch(self, request, *args, **kwargs):
|
||||||
|
|
||||||
self.subtemplates_list = []
|
self.subtemplates_list = []
|
||||||
@@ -392,7 +392,7 @@ class UploadInteractiveVersionView(UploadBaseView):
|
|||||||
self.tab_links = UploadBaseView.get_active_tab_links(self.document)
|
self.tab_links = UploadBaseView.get_active_tab_links(self.document)
|
||||||
|
|
||||||
return super(
|
return super(
|
||||||
UploadInteractiveVersionView, self
|
DocumentVersionUploadInteractiveView, self
|
||||||
).dispatch(request, *args, **kwargs)
|
).dispatch(request, *args, **kwargs)
|
||||||
|
|
||||||
def forms_valid(self, forms):
|
def forms_valid(self, forms):
|
||||||
@@ -448,13 +448,6 @@ class UploadInteractiveVersionView(UploadBaseView):
|
|||||||
files=kwargs.get('files', None),
|
files=kwargs.get('files', None),
|
||||||
)
|
)
|
||||||
|
|
||||||
def create_document_form_form(self, **kwargs):
|
|
||||||
return self.get_form_classes()['document_form'](
|
|
||||||
prefix=kwargs['prefix'],
|
|
||||||
data=kwargs.get('data', None),
|
|
||||||
files=kwargs.get('files', None),
|
|
||||||
)
|
|
||||||
|
|
||||||
def get_form_classes(self):
|
def get_form_classes(self):
|
||||||
return {
|
return {
|
||||||
'document_form': NewVersionForm,
|
'document_form': NewVersionForm,
|
||||||
@@ -463,12 +456,14 @@ class UploadInteractiveVersionView(UploadBaseView):
|
|||||||
|
|
||||||
def get_context_data(self, **kwargs):
|
def get_context_data(self, **kwargs):
|
||||||
context = super(
|
context = super(
|
||||||
UploadInteractiveVersionView, self
|
DocumentVersionUploadInteractiveView, self
|
||||||
).get_context_data(**kwargs)
|
).get_context_data(**kwargs)
|
||||||
context['object'] = self.document
|
context['object'] = self.document
|
||||||
context['title'] = _(
|
context['title'] = _(
|
||||||
'Upload a new version from source: %s'
|
'Upload a new version for document "%(document)s" '
|
||||||
) % self.source.label
|
'from source: %(source)s'
|
||||||
|
) % {'document': self.document, 'source': self.source.label}
|
||||||
|
context['submit_label'] = _('Submit')
|
||||||
|
|
||||||
return context
|
return context
|
||||||
|
|
||||||
|
|||||||
@@ -201,7 +201,7 @@ class DocumentCreateWizard(SessionWizardView):
|
|||||||
for step in WizardStep.get_all():
|
for step in WizardStep.get_all():
|
||||||
query_dict.update(step.done(wizard=self) or {})
|
query_dict.update(step.done(wizard=self) or {})
|
||||||
|
|
||||||
url = furl(reverse(viewname='sources:upload_interactive'))
|
url = furl(reverse(viewname='sources:document_upload_interactive'))
|
||||||
# Use equal and not .update() to get the same result as using
|
# Use equal and not .update() to get the same result as using
|
||||||
# urlencode(doseq=True)
|
# urlencode(doseq=True)
|
||||||
url.args = query_dict
|
url.args = query_dict
|
||||||
|
|||||||
@@ -27,7 +27,7 @@ class TaggedDocumentUploadTestCase(TagTestMixin, GenericDocumentViewTestCase):
|
|||||||
def _request_upload_interactive_document_create_view(self):
|
def _request_upload_interactive_document_create_view(self):
|
||||||
with open(TEST_SMALL_DOCUMENT_PATH, mode='rb') as file_object:
|
with open(TEST_SMALL_DOCUMENT_PATH, mode='rb') as file_object:
|
||||||
return self.post(
|
return self.post(
|
||||||
viewname='sources:upload_interactive', kwargs={
|
viewname='sources:document_upload_interactive', kwargs={
|
||||||
'source_id': self.test_source.pk
|
'source_id': self.test_source.pk
|
||||||
}, data={
|
}, data={
|
||||||
'document_type_id': self.test_document_type.pk,
|
'document_type_id': self.test_document_type.pk,
|
||||||
|
|||||||
Reference in New Issue
Block a user