Convert half the widget to HTML widgets.
Rename links and views to use the nomeclature _template_
and _instance_ to differenciate between index instances
and index templates.
Update URL parameters to use the "_id" form.
Add more tests.
Add model permission inheritance to the IndexTemplateNode,
and IndexInstanceNode models.
Remove the level and document count display from the
instance node. Display instead the total items.
Use a FilteredSelectionForm subclass to display the list
of index templates to rebuild.
Add missing icons.
Add keyword arguments to links.
Modernize tests to use the document test mixin.
Update the permission requirements for the index template
document type selection screen. The document type view
permission is now required in addition to the index
template edit permission.
Use ExternalObjectMixin to reduce the code in all views.
Signed-off-by: Roberto Rosario <Roberto.Rosario@mayan-edms.com>
Only override success_url if self.get_post_object_action_url()
provides an alternative.
Signed-off-by: Roberto Rosario <Roberto.Rosario@mayan-edms.com>
Update permission variable name from
"permission_document_metadata_" to "permission_metadata_".
Fix failing tests.
Add test for same metadata type mixin.
Split metadata add and remove test into test for GET and
POST requests.
Remove use of urlencode and instead use furl.
Simplify view using self.action_count and
self.action_id_list.
Use ExternalObjectMixin to remove repeated code.
Move the repeated code to test for all documents to
be of the same type into its own mixin.
Signed-off-by: Roberto Rosario <Roberto.Rosario@mayan-edms.com>
Add translatable label to the label admin method.
Add access association from DocumentVersionDriverEntry to
document version.
Enclose process method and event commit in a transaction.
Update process method to not error out if EXIF tool
is not found.
Update views and tests to use ExternalObjectMixin and
comply with MERCs 5 and 6.
Signed-off-by: Roberto Rosario <Roberto.Rosario.Gonzalez@gmail.com>
Update the ACL delete icon for uniformity.
Insert both the ACL and object in the view to also
display the ACL permissions and delete view when
viewing the ACL of an object.
Signed-off-by: Roberto Rosario <Roberto.Rosario@mayan-edms.com>
Don't cache the entire converter class to lower memory usage.
Instead a get_converter_class() function is now provided to
load the converter backend class.
Add model permission inheritance to transformations to
removel custom permission checking code in the views.
User keyword arguments.
Update URL parameters to the '_id' form.
Add missing edit and delete icons. Improve the create
icon using composition.
Update add to comply with MERCs 5 and 6.
Signed-off-by: Roberto Rosario <Roberto.Rosario@mayan-edms.com>
Use the new document pre save hooks to disable the
new version upload link via external functions.
Signed-off-by: Roberto Rosario <Roberto.Rosario@mayan-edms.com>
Add support for new pre save hooks.
Hooks are now lists of functions instead of dictionaries.
Signed-off-by: Roberto Rosario <Roberto.Rosario@mayan-edms.com>
Add post_object_action_url property to redirect the view after
all items in the queryset have been processed.
Add the exception instance in the error message context.
Signed-off-by: Roberto Rosario <Roberto.Rosario@mayan-edms.com>
Change "checkin" usage to "check_in".
Update URL parameters to the "_id" form.
Add support to checkout and check in multiple documents.
Optimize queries that used an ID list of documents for
filtering using values_list('pk', flat=True). These
queries now use .values('pk') as a subquery.
Add pre save hooks to block new document version uploads.
Signed-off-by: Roberto Rosario <Roberto.Rosario@mayan-edms.com>
When there is no HTTP referer fallback to
common.settings_home_view instead of LOGIN_REDIRECT_URL.
Signed-off-by: Roberto Rosario <Roberto.Rosario@mayan-edms.com>
Add icons for the workflow runtime proxy views.
Fix failing tests.
Convert runtime proxy links to use the new list facet menu.
Signed-off-by: Roberto Rosario <Roberto.Rosario@mayan-edms.com>
Add keyword arguments.
Update view resolutions and URL parameters to the '_id' form.
Remove code from create and edit subclasses and user
the super class error checking.
Cache the view object instead of using .get_object()
every time.
Movernize tests.
Update views to comply with MERCs 5 and 6.
Split UserTestMixin into mixins for Groups and Users tests.
Add super delete and detail tests.
Remove redundant superuser filtering from views.
Add transactions to views that also commit events.
Signed-off-by: Roberto Rosario <Roberto.Rosario@mayan-edms.com>
Normally the MultipleObjectMixin class view only allows
id_list from the GET request. This is updated to allow
that query from POST requests like those produced by the
view tests.
Signed-off-by: Roberto Rosario <Roberto.Rosario@mayan-edms.com>
Update the URL nomeclature for uniformity.
Add document transformation link tests and improve
the transformation view tests.
Signed-off-by: Roberto Rosario <Roberto.Rosario@mayan-edms.com>
SourceColums that don't specify an attibute or function
will receive the instance itself instead.
Signed-off-by: Roberto Rosario <Roberto.Rosario@mayan-edms.com>
Remove the widget from the model.
Add keyword arguments.
Separate form widgets from html widgets. HTML widgets now go
in the html_widgets module.
Update the TagMultipleSelectionForm class to be a subclass of
FilteredSelectionForm.
Move Select2 specific JavaScript from the appearence app to the
tags app.
Update tag attachment and removal view names.
Modernize tests.
Add more tests.
Consolidate repeated test code into test mixins.
Update views to comply with MERCs 5 and 6.
Use uniform nomeclature for URLs.
Update URLs parameters to use the '_id' form.
Signed-off-by: Roberto Rosario <Roberto.Rosario@mayan-edms.com>
Update the check_permission interface usage.
Use the model's default_manager instead of the explicit
.objects manager.
Signed-off-by: Roberto Rosario <Roberto.Rosario@mayan-edms.com>
Rename the DeletedDocument proxy model to a TrashedDocument.
Rename the deleted_document views to trashed_document.
Rename the document and deleted_document URL parameters to
trashed_document.
Update URL parameters to the '_id' form.
Add keyword arguments.
Update use of .filter_by_access().
Enclose trashed document restore method in a transaction.
Sort arguments.
Update app for compliance with MERCs 5 and 6.
Add document page view tests.
Add favorite document view tests.
Movernize tests.
Replace use of urlencode with furl.
Update views to use ExternalObjectMixin.
Refactor the document and version download views.
Rename the DocumentDocumentTypeEditView to DocumentChangeTypeView.
Move the trashed document views to their own module.
Signed-off-by: Roberto Rosario <Roberto.Rosario@mayan-edms.com>
Add keyword arguments.
Sort arguments.
Unify the ObjectListPermissionFilterMixin and
ObjectPermissionCheckMixin into the RestrictedQuerysetMixin.
Add MultipleObjectDownloadView.
Update SingleObjectDownloadView to do queryset filtering.
The method that returns the base queryset for views is
now named get_source_queryset().
The views now use .get_object_list as a multi object
homologous of get_object. The queryset returned by
.get_object_list is restricted by access.
Make MultipleObjectMixin a subclass of Django's
SingleObjectMixin to reduce repeated code.
All generic views are now imported from common.generics and not
from common.views.
Signed-off-by: Roberto Rosario <Roberto.Rosario@mayan-edms.com>