Commit Graph

34 Commits

Author SHA1 Message Date
Roberto Rosario
bd12d587ee Refactor document indexing app
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>
2019-02-05 05:47:10 -04:00
Roberto Rosario
4ba2d375af Update generic view and check access interfaces
Signed-off-by: Roberto Rosario <Roberto.Rosario@mayan-edms.com>
2019-01-30 03:54:10 -04:00
Roberto Rosario
c6aab93f98 Initial audit of the document index app
Add keyword arguments to calls. Sort methods and parameters.

Signed-off-by: Roberto Rosario <Roberto.Rosario.Gonzalez@gmail.com>
2019-01-02 22:53:52 -04:00
Roberto Rosario
77468a87be Tests: Fix failing tests after last refactor
Signed-off-by: Roberto Rosario <Roberto.Rosario@mayan-edms.com>
2018-12-15 15:26:19 -04:00
Roberto Rosario
0e86f2ad8a Refactor the model accesors
Refactor the accesors to behave like methods instead of properties.
This means all accesors will be prepended with the string
"get_" and will include a set of parenthesis.

Improve the ModeAttribute class to use the method's
short_description. This commit also adds support for a
new method .help_text attribute has been added.

Move accessors to their own module, named "methods.py".

Remove the PropertyHelper class as the accessors no longer
need it.

Signed-off-by: Roberto Rosario <Roberto.Rosario@mayan-edms.com>
2018-12-15 04:49:40 -04:00
Roberto Rosario
34443a715c Tests: Remove unused override_settings
Now that the automatic OCR, parsing and file metadata processing
are turned off by the test setting file, these overrides in the
tests are not needed anymore.

Signed-off-by: Roberto Rosario <Roberto.Rosario@mayan-edms.com>
2018-12-14 03:12:42 -04:00
Roberto Rosario
46cd7353dc Multiple apps: Sort imports and minor style fixes
Signed-off-by: Roberto Rosario <Roberto.Rosario@mayan-edms.com>
2018-12-06 16:38:24 -04:00
Roberto Rosario
8e69178e07 Project: Switch to full app paths
Instead of inserting the path of the apps into the Python app,
the apps are now referenced by their full import path.

This app name claves with external or native Python libraries.
Example: Mayan statistics app vs. Python new statistics library.

Every app reference is now prepended with 'mayan.apps'.

Existing config.yml files need to be updated manually.

Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2018-12-05 02:04:20 -04:00
Roberto Rosario
6a7cd09bc1 Use Jinja2 as the template engine
Use Jinja2 to render the templates of the indexing,
workflows, smart links, user mailer and metadata apps.

Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2018-11-25 02:13:26 -04:00
Roberto Rosario
e109068b29 Indexing: Add document base property reindex
Add support for reindexing documents when their base properties like
the label and description are edited.

Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2018-10-31 17:08:56 -04:00
Roberto Rosario
598312c4d3 Consolidate some document indexing test code into a new mixin.
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2018-10-05 21:45:49 -04:00
Roberto Rosario
5880a650b3 document_indexing: Test for an empty node list instead of a non existing root node.
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2018-09-14 00:18:02 -04:00
Roberto Rosario
0fadd84567 document_indexing: Fix typo in test literal.
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2018-09-14 00:17:32 -04:00
Roberto Rosario
efdc35aaec Fix sporadic index instance node tree id warning.
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2018-09-12 21:35:17 -04:00
Roberto Rosario
e0d0567f1f Fix order in document indexing test.
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2018-09-06 17:23:09 -04:00
Roberto Rosario
4eab4670be Unify tests that use upload documents. Add explicit mode when opening a file.
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2018-09-06 03:38:17 -04:00
Roberto Rosario
4b2226cf04 Add tests for the index rebuild view.
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2018-09-05 04:32:57 -04:00
Roberto Rosario
5c015ccdc3 Update failing test.
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2018-08-22 22:53:43 -04:00
Roberto Rosario
dfd2d3dc78 Add new document indexing permission. This permission allows user to view an index instance as opposed to the current permission which allows viewing an index definiton on the setup menu. Modernize the document index view tests.
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2018-08-22 01:04:36 -04:00
Michael Price
96836065a8 Split document.tests.test_views.
Signed-off-by: Michael Price <loneviking72@gmail.com>
2018-04-01 20:19:07 -04:00
Roberto Rosario
5225d8d068 PEP8 cleanups
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2017-08-31 03:21:56 -04:00
Roberto Rosario
922492169f Fix typos in tests.
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2017-07-17 21:18:56 -04:00
Roberto Rosario
c79b21e875 Stop indexing when a node template doesn't return a value.
GitLab issue #391. Thanks to @jacekkow for the find and diagnostics.

Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2017-06-21 14:39:08 -04:00
Roberto Rosario
a7d6ab15f8 Fix index rebuilding for multi value first levels. GitLab issue #391.
Thanks to @jacekkow for the report and diagnosis.

Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2017-06-20 03:28:25 -04:00
Roberto Rosario
88151df2bc Rewrite the document indexer to allow single index rebuilds,
less locks and improve performance.

Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2017-05-28 15:22:13 -04:00
Roberto Rosario
f5660cd629 Update all test for 100% passed (348 tests). 2017-01-14 17:43:55 -04:00
Roberto Rosario
5ea31554bc Update and fix failing tests. 2017-01-14 03:08:32 -04:00
Roberto Rosario
4e7559d396 Add settings class cache invalidation method. Update common.tests.base.BaseTestCase
class to invalidate settings cache. Update tests using Django's TestCase to
BaseTestCase.
2017-01-14 00:13:35 -04:00
Roberto Rosario
a179a19749 Improve document indexing tests and add test for GitLab issue #268 @bat79a 2016-05-04 00:07:19 -04:00
Roberto Rosario
145161cef4 PEP8 cleanups. 2016-03-19 03:00:03 -04:00
Roberto Rosario
7cde1fe78f Add ACLs to document indexes. Convert all document indexing views to CBV. Remove the document index setup permission. Add view tests to the document indexing app. Use MPTT methods and stop relying on undocumented API. 2016-03-19 02:51:45 -04:00
Roberto Rosario
3e3eca4c0e Update all tests to use setting value overriding. 2015-09-06 04:01:40 -04:00
Roberto Rosario
7392e80fc2 PEP8 Cleanups. 2015-08-24 20:55:45 -04:00
Roberto Rosario
4fb86fba14 Re-estructure tests to cleanup the apps' namespace. 2015-08-18 23:06:26 -04:00