Compare commits

..
2984 Commits
Author SHA1 Message Date
Roberto Rosario 4397784388 Merge branch 'hotfix/v0.12.3' into development
Conflicts:
	.gitignore
	.tx/config
	apps/acls/locale/bg/LC_MESSAGES/django.mo
	apps/acls/locale/bg/LC_MESSAGES/django.po
	apps/acls/locale/de_DE/LC_MESSAGES/django.mo
	apps/acls/locale/de_DE/LC_MESSAGES/django.po
	apps/acls/locale/en/LC_MESSAGES/django.mo
	apps/acls/locale/en/LC_MESSAGES/django.po
	apps/acls/locale/es/LC_MESSAGES/django.mo
	apps/acls/locale/es/LC_MESSAGES/django.po
	apps/acls/locale/fr/LC_MESSAGES/django.mo
	apps/acls/locale/fr/LC_MESSAGES/django.po
	apps/acls/locale/it/LC_MESSAGES/django.mo
	apps/acls/locale/it/LC_MESSAGES/django.po
	apps/acls/locale/nl_NL/LC_MESSAGES/django.mo
	apps/acls/locale/nl_NL/LC_MESSAGES/django.po
	apps/acls/locale/pl/LC_MESSAGES/django.mo
	apps/acls/locale/pl/LC_MESSAGES/django.po
	apps/acls/locale/pt/LC_MESSAGES/django.mo
	apps/acls/locale/pt/LC_MESSAGES/django.po
	apps/acls/locale/pt_BR/LC_MESSAGES/django.mo
	apps/acls/locale/pt_BR/LC_MESSAGES/django.po
	apps/acls/locale/ru/LC_MESSAGES/django.mo
	apps/acls/locale/ru/LC_MESSAGES/django.po
	apps/acls/registry.py
	apps/app_registry/__init__.py
	apps/app_registry/models.py
	apps/bootstrap/classes.py
	apps/bootstrap/exceptions.py
	apps/bootstrap/forms.py
	apps/bootstrap/links.py
	apps/bootstrap/literals.py
	apps/bootstrap/locale/bg/LC_MESSAGES/django.mo
	apps/bootstrap/locale/bg/LC_MESSAGES/django.po
	apps/bootstrap/locale/de_DE/LC_MESSAGES/django.mo
	apps/bootstrap/locale/de_DE/LC_MESSAGES/django.po
	apps/bootstrap/locale/en/LC_MESSAGES/django.mo
	apps/bootstrap/locale/en/LC_MESSAGES/django.po
	apps/bootstrap/locale/es/LC_MESSAGES/django.mo
	apps/bootstrap/locale/es/LC_MESSAGES/django.po
	apps/bootstrap/locale/fr/LC_MESSAGES/django.mo
	apps/bootstrap/locale/fr/LC_MESSAGES/django.po
	apps/bootstrap/locale/it/LC_MESSAGES/django.mo
	apps/bootstrap/locale/it/LC_MESSAGES/django.po
	apps/bootstrap/locale/nl_NL/LC_MESSAGES/django.mo
	apps/bootstrap/locale/nl_NL/LC_MESSAGES/django.po
	apps/bootstrap/locale/pl/LC_MESSAGES/django.mo
	apps/bootstrap/locale/pl/LC_MESSAGES/django.po
	apps/bootstrap/locale/pt/LC_MESSAGES/django.mo
	apps/bootstrap/locale/pt/LC_MESSAGES/django.po
	apps/bootstrap/locale/pt_BR/LC_MESSAGES/django.mo
	apps/bootstrap/locale/pt_BR/LC_MESSAGES/django.po
	apps/bootstrap/locale/ru/LC_MESSAGES/django.mo
	apps/bootstrap/locale/ru/LC_MESSAGES/django.po
	apps/bootstrap/managers.py
	apps/bootstrap/migrations/0001_initial.py
	apps/bootstrap/models.py
	apps/bootstrap/permissions.py
	apps/bootstrap/post_init.py
	apps/bootstrap/registry.py
	apps/bootstrap/static/images/icons/radioactivity.png
	apps/bootstrap/urls.py
	apps/bootstrap/utils.py
	apps/bootstrap/views.py
	apps/checkouts/locale/bg/LC_MESSAGES/django.mo
	apps/checkouts/locale/bg/LC_MESSAGES/django.po
	apps/checkouts/locale/de_DE/LC_MESSAGES/django.mo
	apps/checkouts/locale/de_DE/LC_MESSAGES/django.po
	apps/checkouts/locale/en/LC_MESSAGES/django.mo
	apps/checkouts/locale/en/LC_MESSAGES/django.po
	apps/checkouts/locale/es/LC_MESSAGES/django.mo
	apps/checkouts/locale/es/LC_MESSAGES/django.po
	apps/checkouts/locale/fr/LC_MESSAGES/django.mo
	apps/checkouts/locale/fr/LC_MESSAGES/django.po
	apps/checkouts/locale/it/LC_MESSAGES/django.mo
	apps/checkouts/locale/it/LC_MESSAGES/django.po
	apps/checkouts/locale/nl_NL/LC_MESSAGES/django.mo
	apps/checkouts/locale/nl_NL/LC_MESSAGES/django.po
	apps/checkouts/locale/pl/LC_MESSAGES/django.mo
	apps/checkouts/locale/pl/LC_MESSAGES/django.po
	apps/checkouts/locale/pt/LC_MESSAGES/django.mo
	apps/checkouts/locale/pt/LC_MESSAGES/django.po
	apps/checkouts/locale/pt_BR/LC_MESSAGES/django.mo
	apps/checkouts/locale/pt_BR/LC_MESSAGES/django.po
	apps/checkouts/locale/ru/LC_MESSAGES/django.mo
	apps/checkouts/locale/ru/LC_MESSAGES/django.po
	apps/common/__init__.py
	apps/common/locale/bg/LC_MESSAGES/django.mo
	apps/common/locale/bg/LC_MESSAGES/django.po
	apps/common/locale/de_DE/LC_MESSAGES/django.mo
	apps/common/locale/de_DE/LC_MESSAGES/django.po
	apps/common/locale/en/LC_MESSAGES/django.mo
	apps/common/locale/en/LC_MESSAGES/django.po
	apps/common/locale/es/LC_MESSAGES/django.mo
	apps/common/locale/es/LC_MESSAGES/django.po
	apps/common/locale/fr/LC_MESSAGES/django.mo
	apps/common/locale/fr/LC_MESSAGES/django.po
	apps/common/locale/it/LC_MESSAGES/django.mo
	apps/common/locale/it/LC_MESSAGES/django.po
	apps/common/locale/nl_NL/LC_MESSAGES/django.mo
	apps/common/locale/nl_NL/LC_MESSAGES/django.po
	apps/common/locale/pl/LC_MESSAGES/django.mo
	apps/common/locale/pl/LC_MESSAGES/django.po
	apps/common/locale/pt/LC_MESSAGES/django.mo
	apps/common/locale/pt/LC_MESSAGES/django.po
	apps/common/locale/pt_BR/LC_MESSAGES/django.mo
	apps/common/locale/pt_BR/LC_MESSAGES/django.po
	apps/common/locale/ru/LC_MESSAGES/django.mo
	apps/common/locale/ru/LC_MESSAGES/django.po
	apps/common/templates/generic_list_subtemplate.html
	apps/common/utils.py
	apps/common/widgets.py
	apps/converter/conf/settings.py
	apps/converter/locale/bg/LC_MESSAGES/django.mo
	apps/converter/locale/bg/LC_MESSAGES/django.po
	apps/converter/locale/de_DE/LC_MESSAGES/django.mo
	apps/converter/locale/de_DE/LC_MESSAGES/django.po
	apps/converter/locale/en/LC_MESSAGES/django.mo
	apps/converter/locale/en/LC_MESSAGES/django.po
	apps/converter/locale/es/LC_MESSAGES/django.mo
	apps/converter/locale/es/LC_MESSAGES/django.po
	apps/converter/locale/fr/LC_MESSAGES/django.mo
	apps/converter/locale/fr/LC_MESSAGES/django.po
	apps/converter/locale/it/LC_MESSAGES/django.mo
	apps/converter/locale/it/LC_MESSAGES/django.po
	apps/converter/locale/nl_NL/LC_MESSAGES/django.mo
	apps/converter/locale/nl_NL/LC_MESSAGES/django.po
	apps/converter/locale/pl/LC_MESSAGES/django.mo
	apps/converter/locale/pl/LC_MESSAGES/django.po
	apps/converter/locale/pt/LC_MESSAGES/django.mo
	apps/converter/locale/pt/LC_MESSAGES/django.po
	apps/converter/locale/pt_BR/LC_MESSAGES/django.mo
	apps/converter/locale/pt_BR/LC_MESSAGES/django.po
	apps/converter/locale/ru/LC_MESSAGES/django.mo
	apps/converter/locale/ru/LC_MESSAGES/django.po
	apps/converter/office_converter.py
	apps/converter/utils.py
	apps/django_gpg/locale/bg/LC_MESSAGES/django.mo
	apps/django_gpg/locale/bg/LC_MESSAGES/django.po
	apps/django_gpg/locale/de_DE/LC_MESSAGES/django.mo
	apps/django_gpg/locale/de_DE/LC_MESSAGES/django.po
	apps/django_gpg/locale/en/LC_MESSAGES/django.mo
	apps/django_gpg/locale/en/LC_MESSAGES/django.po
	apps/django_gpg/locale/es/LC_MESSAGES/django.mo
	apps/django_gpg/locale/es/LC_MESSAGES/django.po
	apps/django_gpg/locale/fr/LC_MESSAGES/django.mo
	apps/django_gpg/locale/fr/LC_MESSAGES/django.po
	apps/django_gpg/locale/it/LC_MESSAGES/django.mo
	apps/django_gpg/locale/it/LC_MESSAGES/django.po
	apps/django_gpg/locale/nl_NL/LC_MESSAGES/django.mo
	apps/django_gpg/locale/nl_NL/LC_MESSAGES/django.po
	apps/django_gpg/locale/pl/LC_MESSAGES/django.mo
	apps/django_gpg/locale/pl/LC_MESSAGES/django.po
	apps/django_gpg/locale/pt/LC_MESSAGES/django.mo
	apps/django_gpg/locale/pt/LC_MESSAGES/django.po
	apps/django_gpg/locale/pt_BR/LC_MESSAGES/django.mo
	apps/django_gpg/locale/pt_BR/LC_MESSAGES/django.po
	apps/django_gpg/locale/ru/LC_MESSAGES/django.mo
	apps/django_gpg/locale/ru/LC_MESSAGES/django.po
	apps/document_comments/locale/bg/LC_MESSAGES/django.mo
	apps/document_comments/locale/bg/LC_MESSAGES/django.po
	apps/document_comments/locale/de_DE/LC_MESSAGES/django.mo
	apps/document_comments/locale/de_DE/LC_MESSAGES/django.po
	apps/document_comments/locale/en/LC_MESSAGES/django.mo
	apps/document_comments/locale/en/LC_MESSAGES/django.po
	apps/document_comments/locale/es/LC_MESSAGES/django.mo
	apps/document_comments/locale/es/LC_MESSAGES/django.po
	apps/document_comments/locale/fr/LC_MESSAGES/django.mo
	apps/document_comments/locale/fr/LC_MESSAGES/django.po
	apps/document_comments/locale/it/LC_MESSAGES/django.mo
	apps/document_comments/locale/it/LC_MESSAGES/django.po
	apps/document_comments/locale/nl_NL/LC_MESSAGES/django.mo
	apps/document_comments/locale/nl_NL/LC_MESSAGES/django.po
	apps/document_comments/locale/pl/LC_MESSAGES/django.mo
	apps/document_comments/locale/pl/LC_MESSAGES/django.po
	apps/document_comments/locale/pt/LC_MESSAGES/django.mo
	apps/document_comments/locale/pt/LC_MESSAGES/django.po
	apps/document_comments/locale/pt_BR/LC_MESSAGES/django.mo
	apps/document_comments/locale/pt_BR/LC_MESSAGES/django.po
	apps/document_comments/locale/ru/LC_MESSAGES/django.mo
	apps/document_comments/locale/ru/LC_MESSAGES/django.po
	apps/document_indexing/__init__.py
	apps/document_indexing/locale/bg/LC_MESSAGES/django.mo
	apps/document_indexing/locale/bg/LC_MESSAGES/django.po
	apps/document_indexing/locale/de_DE/LC_MESSAGES/django.mo
	apps/document_indexing/locale/de_DE/LC_MESSAGES/django.po
	apps/document_indexing/locale/en/LC_MESSAGES/django.mo
	apps/document_indexing/locale/en/LC_MESSAGES/django.po
	apps/document_indexing/locale/es/LC_MESSAGES/django.mo
	apps/document_indexing/locale/es/LC_MESSAGES/django.po
	apps/document_indexing/locale/fr/LC_MESSAGES/django.mo
	apps/document_indexing/locale/fr/LC_MESSAGES/django.po
	apps/document_indexing/locale/it/LC_MESSAGES/django.mo
	apps/document_indexing/locale/it/LC_MESSAGES/django.po
	apps/document_indexing/locale/nl_NL/LC_MESSAGES/django.mo
	apps/document_indexing/locale/nl_NL/LC_MESSAGES/django.po
	apps/document_indexing/locale/pl/LC_MESSAGES/django.mo
	apps/document_indexing/locale/pl/LC_MESSAGES/django.po
	apps/document_indexing/locale/pt/LC_MESSAGES/django.mo
	apps/document_indexing/locale/pt/LC_MESSAGES/django.po
	apps/document_indexing/locale/pt_BR/LC_MESSAGES/django.mo
	apps/document_indexing/locale/pt_BR/LC_MESSAGES/django.po
	apps/document_indexing/locale/ru/LC_MESSAGES/django.mo
	apps/document_indexing/locale/ru/LC_MESSAGES/django.po
	apps/document_indexing/models.py
	apps/document_indexing/registry.py
	apps/document_indexing/urls.py
	apps/document_indexing/views.py
	apps/document_signatures/locale/bg/LC_MESSAGES/django.mo
	apps/document_signatures/locale/bg/LC_MESSAGES/django.po
	apps/document_signatures/locale/de_DE/LC_MESSAGES/django.mo
	apps/document_signatures/locale/de_DE/LC_MESSAGES/django.po
	apps/document_signatures/locale/en/LC_MESSAGES/django.mo
	apps/document_signatures/locale/en/LC_MESSAGES/django.po
	apps/document_signatures/locale/es/LC_MESSAGES/django.mo
	apps/document_signatures/locale/es/LC_MESSAGES/django.po
	apps/document_signatures/locale/fr/LC_MESSAGES/django.mo
	apps/document_signatures/locale/fr/LC_MESSAGES/django.po
	apps/document_signatures/locale/it/LC_MESSAGES/django.mo
	apps/document_signatures/locale/it/LC_MESSAGES/django.po
	apps/document_signatures/locale/nl_NL/LC_MESSAGES/django.mo
	apps/document_signatures/locale/nl_NL/LC_MESSAGES/django.po
	apps/document_signatures/locale/pl/LC_MESSAGES/django.mo
	apps/document_signatures/locale/pl/LC_MESSAGES/django.po
	apps/document_signatures/locale/pt/LC_MESSAGES/django.mo
	apps/document_signatures/locale/pt/LC_MESSAGES/django.po
	apps/document_signatures/locale/pt_BR/LC_MESSAGES/django.mo
	apps/document_signatures/locale/pt_BR/LC_MESSAGES/django.po
	apps/document_signatures/locale/ru/LC_MESSAGES/django.mo
	apps/document_signatures/locale/ru/LC_MESSAGES/django.po
	apps/documents/__init__.py
	apps/documents/forms.py
	apps/documents/locale/bg/LC_MESSAGES/django.mo
	apps/documents/locale/bg/LC_MESSAGES/django.po
	apps/documents/locale/de_DE/LC_MESSAGES/django.mo
	apps/documents/locale/de_DE/LC_MESSAGES/django.po
	apps/documents/locale/en/LC_MESSAGES/django.mo
	apps/documents/locale/en/LC_MESSAGES/django.po
	apps/documents/locale/es/LC_MESSAGES/django.mo
	apps/documents/locale/es/LC_MESSAGES/django.po
	apps/documents/locale/fr/LC_MESSAGES/django.mo
	apps/documents/locale/fr/LC_MESSAGES/django.po
	apps/documents/locale/it/LC_MESSAGES/django.mo
	apps/documents/locale/it/LC_MESSAGES/django.po
	apps/documents/locale/nl_NL/LC_MESSAGES/django.mo
	apps/documents/locale/nl_NL/LC_MESSAGES/django.po
	apps/documents/locale/pl/LC_MESSAGES/django.mo
	apps/documents/locale/pl/LC_MESSAGES/django.po
	apps/documents/locale/pt/LC_MESSAGES/django.mo
	apps/documents/locale/pt/LC_MESSAGES/django.po
	apps/documents/locale/pt_BR/LC_MESSAGES/django.mo
	apps/documents/locale/pt_BR/LC_MESSAGES/django.po
	apps/documents/locale/ru/LC_MESSAGES/django.mo
	apps/documents/locale/ru/LC_MESSAGES/django.po
	apps/documents/managers.py
	apps/documents/migrations/0015_auto__add_unique_documenttype_name.py
	apps/documents/models.py
	apps/documents/registry.py
	apps/dynamic_search/locale/bg/LC_MESSAGES/django.mo
	apps/dynamic_search/locale/bg/LC_MESSAGES/django.po
	apps/dynamic_search/locale/de_DE/LC_MESSAGES/django.mo
	apps/dynamic_search/locale/de_DE/LC_MESSAGES/django.po
	apps/dynamic_search/locale/en/LC_MESSAGES/django.mo
	apps/dynamic_search/locale/en/LC_MESSAGES/django.po
	apps/dynamic_search/locale/es/LC_MESSAGES/django.mo
	apps/dynamic_search/locale/es/LC_MESSAGES/django.po
	apps/dynamic_search/locale/fr/LC_MESSAGES/django.mo
	apps/dynamic_search/locale/fr/LC_MESSAGES/django.po
	apps/dynamic_search/locale/it/LC_MESSAGES/django.mo
	apps/dynamic_search/locale/it/LC_MESSAGES/django.po
	apps/dynamic_search/locale/nl_NL/LC_MESSAGES/django.mo
	apps/dynamic_search/locale/nl_NL/LC_MESSAGES/django.po
	apps/dynamic_search/locale/pl/LC_MESSAGES/django.mo
	apps/dynamic_search/locale/pl/LC_MESSAGES/django.po
	apps/dynamic_search/locale/pt/LC_MESSAGES/django.mo
	apps/dynamic_search/locale/pt/LC_MESSAGES/django.po
	apps/dynamic_search/locale/pt_BR/LC_MESSAGES/django.mo
	apps/dynamic_search/locale/pt_BR/LC_MESSAGES/django.po
	apps/dynamic_search/locale/ru/LC_MESSAGES/django.mo
	apps/dynamic_search/locale/ru/LC_MESSAGES/django.po
	apps/dynamic_search/registry.py
	apps/folders/__init__.py
	apps/folders/locale/bg/LC_MESSAGES/django.mo
	apps/folders/locale/bg/LC_MESSAGES/django.po
	apps/folders/locale/de_DE/LC_MESSAGES/django.mo
	apps/folders/locale/de_DE/LC_MESSAGES/django.po
	apps/folders/locale/en/LC_MESSAGES/django.mo
	apps/folders/locale/en/LC_MESSAGES/django.po
	apps/folders/locale/es/LC_MESSAGES/django.mo
	apps/folders/locale/es/LC_MESSAGES/django.po
	apps/folders/locale/fr/LC_MESSAGES/django.mo
	apps/folders/locale/fr/LC_MESSAGES/django.po
	apps/folders/locale/it/LC_MESSAGES/django.mo
	apps/folders/locale/it/LC_MESSAGES/django.po
	apps/folders/locale/nl_NL/LC_MESSAGES/django.mo
	apps/folders/locale/nl_NL/LC_MESSAGES/django.po
	apps/folders/locale/pl/LC_MESSAGES/django.mo
	apps/folders/locale/pl/LC_MESSAGES/django.po
	apps/folders/locale/pt/LC_MESSAGES/django.mo
	apps/folders/locale/pt/LC_MESSAGES/django.po
	apps/folders/locale/pt_BR/LC_MESSAGES/django.mo
	apps/folders/locale/pt_BR/LC_MESSAGES/django.po
	apps/folders/locale/ru/LC_MESSAGES/django.mo
	apps/folders/locale/ru/LC_MESSAGES/django.po
	apps/folders/registry.py
	apps/history/locale/bg/LC_MESSAGES/django.mo
	apps/history/locale/bg/LC_MESSAGES/django.po
	apps/history/locale/de_DE/LC_MESSAGES/django.mo
	apps/history/locale/de_DE/LC_MESSAGES/django.po
	apps/history/locale/en/LC_MESSAGES/django.mo
	apps/history/locale/en/LC_MESSAGES/django.po
	apps/history/locale/es/LC_MESSAGES/django.mo
	apps/history/locale/es/LC_MESSAGES/django.po
	apps/history/locale/fr/LC_MESSAGES/django.mo
	apps/history/locale/fr/LC_MESSAGES/django.po
	apps/history/locale/it/LC_MESSAGES/django.mo
	apps/history/locale/it/LC_MESSAGES/django.po
	apps/history/locale/nl_NL/LC_MESSAGES/django.mo
	apps/history/locale/nl_NL/LC_MESSAGES/django.po
	apps/history/locale/pl/LC_MESSAGES/django.mo
	apps/history/locale/pl/LC_MESSAGES/django.po
	apps/history/locale/pt/LC_MESSAGES/django.mo
	apps/history/locale/pt/LC_MESSAGES/django.po
	apps/history/locale/pt_BR/LC_MESSAGES/django.mo
	apps/history/locale/pt_BR/LC_MESSAGES/django.po
	apps/history/locale/ru/LC_MESSAGES/django.mo
	apps/history/locale/ru/LC_MESSAGES/django.po
	apps/history/registry.py
	apps/installation/__init__.py
	apps/installation/locale/bg/LC_MESSAGES/django.mo
	apps/installation/locale/bg/LC_MESSAGES/django.po
	apps/installation/locale/de_DE/LC_MESSAGES/django.mo
	apps/installation/locale/de_DE/LC_MESSAGES/django.po
	apps/installation/locale/en/LC_MESSAGES/django.mo
	apps/installation/locale/en/LC_MESSAGES/django.po
	apps/installation/locale/es/LC_MESSAGES/django.mo
	apps/installation/locale/es/LC_MESSAGES/django.po
	apps/installation/locale/fr/LC_MESSAGES/django.mo
	apps/installation/locale/fr/LC_MESSAGES/django.po
	apps/installation/locale/it/LC_MESSAGES/django.mo
	apps/installation/locale/it/LC_MESSAGES/django.po
	apps/installation/locale/nl_NL/LC_MESSAGES/django.mo
	apps/installation/locale/nl_NL/LC_MESSAGES/django.po
	apps/installation/locale/pl/LC_MESSAGES/django.mo
	apps/installation/locale/pl/LC_MESSAGES/django.po
	apps/installation/locale/pt/LC_MESSAGES/django.mo
	apps/installation/locale/pt/LC_MESSAGES/django.po
	apps/installation/locale/pt_BR/LC_MESSAGES/django.mo
	apps/installation/locale/pt_BR/LC_MESSAGES/django.po
	apps/installation/locale/ru/LC_MESSAGES/django.mo
	apps/installation/locale/ru/LC_MESSAGES/django.po
	apps/installation/models.py
	apps/installation/views.py
	apps/linking/locale/bg/LC_MESSAGES/django.mo
	apps/linking/locale/bg/LC_MESSAGES/django.po
	apps/linking/locale/de_DE/LC_MESSAGES/django.mo
	apps/linking/locale/de_DE/LC_MESSAGES/django.po
	apps/linking/locale/en/LC_MESSAGES/django.mo
	apps/linking/locale/en/LC_MESSAGES/django.po
	apps/linking/locale/es/LC_MESSAGES/django.mo
	apps/linking/locale/es/LC_MESSAGES/django.po
	apps/linking/locale/fr/LC_MESSAGES/django.mo
	apps/linking/locale/fr/LC_MESSAGES/django.po
	apps/linking/locale/it/LC_MESSAGES/django.mo
	apps/linking/locale/it/LC_MESSAGES/django.po
	apps/linking/locale/nl_NL/LC_MESSAGES/django.mo
	apps/linking/locale/nl_NL/LC_MESSAGES/django.po
	apps/linking/locale/pl/LC_MESSAGES/django.mo
	apps/linking/locale/pl/LC_MESSAGES/django.po
	apps/linking/locale/pt/LC_MESSAGES/django.mo
	apps/linking/locale/pt/LC_MESSAGES/django.po
	apps/linking/locale/pt_BR/LC_MESSAGES/django.mo
	apps/linking/locale/pt_BR/LC_MESSAGES/django.po
	apps/linking/locale/ru/LC_MESSAGES/django.mo
	apps/linking/locale/ru/LC_MESSAGES/django.po
	apps/linking/registry.py
	apps/main/__init__.py
	apps/main/locale/bg/LC_MESSAGES/django.mo
	apps/main/locale/bg/LC_MESSAGES/django.po
	apps/main/locale/de_DE/LC_MESSAGES/django.mo
	apps/main/locale/de_DE/LC_MESSAGES/django.po
	apps/main/locale/en/LC_MESSAGES/django.mo
	apps/main/locale/en/LC_MESSAGES/django.po
	apps/main/locale/es/LC_MESSAGES/django.mo
	apps/main/locale/es/LC_MESSAGES/django.po
	apps/main/locale/fr/LC_MESSAGES/django.mo
	apps/main/locale/fr/LC_MESSAGES/django.po
	apps/main/locale/it/LC_MESSAGES/django.mo
	apps/main/locale/it/LC_MESSAGES/django.po
	apps/main/locale/nl_NL/LC_MESSAGES/django.mo
	apps/main/locale/nl_NL/LC_MESSAGES/django.po
	apps/main/locale/pl/LC_MESSAGES/django.mo
	apps/main/locale/pl/LC_MESSAGES/django.po
	apps/main/locale/pt/LC_MESSAGES/django.mo
	apps/main/locale/pt/LC_MESSAGES/django.po
	apps/main/locale/pt_BR/LC_MESSAGES/django.mo
	apps/main/locale/pt_BR/LC_MESSAGES/django.po
	apps/main/locale/ru/LC_MESSAGES/django.mo
	apps/main/locale/ru/LC_MESSAGES/django.po
	apps/main/templates/base.html
	apps/metadata/__init__.py
	apps/metadata/locale/bg/LC_MESSAGES/django.mo
	apps/metadata/locale/bg/LC_MESSAGES/django.po
	apps/metadata/locale/de_DE/LC_MESSAGES/django.mo
	apps/metadata/locale/de_DE/LC_MESSAGES/django.po
	apps/metadata/locale/en/LC_MESSAGES/django.mo
	apps/metadata/locale/en/LC_MESSAGES/django.po
	apps/metadata/locale/es/LC_MESSAGES/django.mo
	apps/metadata/locale/es/LC_MESSAGES/django.po
	apps/metadata/locale/fr/LC_MESSAGES/django.mo
	apps/metadata/locale/fr/LC_MESSAGES/django.po
	apps/metadata/locale/it/LC_MESSAGES/django.mo
	apps/metadata/locale/it/LC_MESSAGES/django.po
	apps/metadata/locale/nl_NL/LC_MESSAGES/django.mo
	apps/metadata/locale/nl_NL/LC_MESSAGES/django.po
	apps/metadata/locale/pl/LC_MESSAGES/django.mo
	apps/metadata/locale/pl/LC_MESSAGES/django.po
	apps/metadata/locale/pt/LC_MESSAGES/django.mo
	apps/metadata/locale/pt/LC_MESSAGES/django.po
	apps/metadata/locale/pt_BR/LC_MESSAGES/django.mo
	apps/metadata/locale/pt_BR/LC_MESSAGES/django.po
	apps/metadata/locale/ru/LC_MESSAGES/django.mo
	apps/metadata/locale/ru/LC_MESSAGES/django.po
	apps/metadata/migrations/0001_initial.py
	apps/metadata/models.py
	apps/metadata/registry.py
	apps/navigation/locale/bg/LC_MESSAGES/django.mo
	apps/navigation/locale/bg/LC_MESSAGES/django.po
	apps/navigation/locale/de_DE/LC_MESSAGES/django.mo
	apps/navigation/locale/de_DE/LC_MESSAGES/django.po
	apps/navigation/locale/en/LC_MESSAGES/django.mo
	apps/navigation/locale/en/LC_MESSAGES/django.po
	apps/navigation/locale/es/LC_MESSAGES/django.mo
	apps/navigation/locale/es/LC_MESSAGES/django.po
	apps/navigation/locale/fr/LC_MESSAGES/django.mo
	apps/navigation/locale/fr/LC_MESSAGES/django.po
	apps/navigation/locale/it/LC_MESSAGES/django.mo
	apps/navigation/locale/it/LC_MESSAGES/django.po
	apps/navigation/locale/nl_NL/LC_MESSAGES/django.mo
	apps/navigation/locale/nl_NL/LC_MESSAGES/django.po
	apps/navigation/locale/pl/LC_MESSAGES/django.mo
	apps/navigation/locale/pl/LC_MESSAGES/django.po
	apps/navigation/locale/pt/LC_MESSAGES/django.mo
	apps/navigation/locale/pt/LC_MESSAGES/django.po
	apps/navigation/locale/pt_BR/LC_MESSAGES/django.mo
	apps/navigation/locale/pt_BR/LC_MESSAGES/django.po
	apps/navigation/locale/ru/LC_MESSAGES/django.mo
	apps/navigation/locale/ru/LC_MESSAGES/django.po
	apps/navigation/templatetags/navigation_tags.py
	apps/ocr/__init__.py
	apps/ocr/locale/bg/LC_MESSAGES/django.mo
	apps/ocr/locale/bg/LC_MESSAGES/django.po
	apps/ocr/locale/de_DE/LC_MESSAGES/django.mo
	apps/ocr/locale/de_DE/LC_MESSAGES/django.po
	apps/ocr/locale/en/LC_MESSAGES/django.mo
	apps/ocr/locale/en/LC_MESSAGES/django.po
	apps/ocr/locale/es/LC_MESSAGES/django.mo
	apps/ocr/locale/es/LC_MESSAGES/django.po
	apps/ocr/locale/fr/LC_MESSAGES/django.mo
	apps/ocr/locale/fr/LC_MESSAGES/django.po
	apps/ocr/locale/it/LC_MESSAGES/django.mo
	apps/ocr/locale/it/LC_MESSAGES/django.po
	apps/ocr/locale/nl_NL/LC_MESSAGES/django.mo
	apps/ocr/locale/nl_NL/LC_MESSAGES/django.po
	apps/ocr/locale/pl/LC_MESSAGES/django.mo
	apps/ocr/locale/pl/LC_MESSAGES/django.po
	apps/ocr/locale/pt/LC_MESSAGES/django.mo
	apps/ocr/locale/pt/LC_MESSAGES/django.po
	apps/ocr/locale/pt_BR/LC_MESSAGES/django.mo
	apps/ocr/locale/pt_BR/LC_MESSAGES/django.po
	apps/ocr/locale/ru/LC_MESSAGES/django.mo
	apps/ocr/locale/ru/LC_MESSAGES/django.po
	apps/permissions/locale/bg/LC_MESSAGES/django.mo
	apps/permissions/locale/bg/LC_MESSAGES/django.po
	apps/permissions/locale/de_DE/LC_MESSAGES/django.mo
	apps/permissions/locale/de_DE/LC_MESSAGES/django.po
	apps/permissions/locale/en/LC_MESSAGES/django.mo
	apps/permissions/locale/en/LC_MESSAGES/django.po
	apps/permissions/locale/es/LC_MESSAGES/django.mo
	apps/permissions/locale/es/LC_MESSAGES/django.po
	apps/permissions/locale/fr/LC_MESSAGES/django.mo
	apps/permissions/locale/fr/LC_MESSAGES/django.po
	apps/permissions/locale/it/LC_MESSAGES/django.mo
	apps/permissions/locale/it/LC_MESSAGES/django.po
	apps/permissions/locale/nl_NL/LC_MESSAGES/django.mo
	apps/permissions/locale/nl_NL/LC_MESSAGES/django.po
	apps/permissions/locale/pl/LC_MESSAGES/django.mo
	apps/permissions/locale/pl/LC_MESSAGES/django.po
	apps/permissions/locale/pt/LC_MESSAGES/django.mo
	apps/permissions/locale/pt/LC_MESSAGES/django.po
	apps/permissions/locale/pt_BR/LC_MESSAGES/django.mo
	apps/permissions/locale/pt_BR/LC_MESSAGES/django.po
	apps/permissions/locale/ru/LC_MESSAGES/django.mo
	apps/permissions/locale/ru/LC_MESSAGES/django.po
	apps/permissions/models.py
	apps/permissions/registry.py
	apps/project_setup/locale/bg/LC_MESSAGES/django.mo
	apps/project_setup/locale/bg/LC_MESSAGES/django.po
	apps/project_setup/locale/de_DE/LC_MESSAGES/django.mo
	apps/project_setup/locale/de_DE/LC_MESSAGES/django.po
	apps/project_setup/locale/en/LC_MESSAGES/django.mo
	apps/project_setup/locale/en/LC_MESSAGES/django.po
	apps/project_setup/locale/es/LC_MESSAGES/django.mo
	apps/project_setup/locale/es/LC_MESSAGES/django.po
	apps/project_setup/locale/fr/LC_MESSAGES/django.mo
	apps/project_setup/locale/fr/LC_MESSAGES/django.po
	apps/project_setup/locale/it/LC_MESSAGES/django.mo
	apps/project_setup/locale/it/LC_MESSAGES/django.po
	apps/project_setup/locale/nl_NL/LC_MESSAGES/django.mo
	apps/project_setup/locale/nl_NL/LC_MESSAGES/django.po
	apps/project_setup/locale/pl/LC_MESSAGES/django.mo
	apps/project_setup/locale/pl/LC_MESSAGES/django.po
	apps/project_setup/locale/pt/LC_MESSAGES/django.mo
	apps/project_setup/locale/pt/LC_MESSAGES/django.po
	apps/project_setup/locale/pt_BR/LC_MESSAGES/django.mo
	apps/project_setup/locale/pt_BR/LC_MESSAGES/django.po
	apps/project_setup/locale/ru/LC_MESSAGES/django.mo
	apps/project_setup/locale/ru/LC_MESSAGES/django.po
	apps/project_tools/locale/bg/LC_MESSAGES/django.mo
	apps/project_tools/locale/bg/LC_MESSAGES/django.po
	apps/project_tools/locale/de_DE/LC_MESSAGES/django.mo
	apps/project_tools/locale/de_DE/LC_MESSAGES/django.po
	apps/project_tools/locale/en/LC_MESSAGES/django.mo
	apps/project_tools/locale/en/LC_MESSAGES/django.po
	apps/project_tools/locale/es/LC_MESSAGES/django.mo
	apps/project_tools/locale/es/LC_MESSAGES/django.po
	apps/project_tools/locale/fr/LC_MESSAGES/django.mo
	apps/project_tools/locale/fr/LC_MESSAGES/django.po
	apps/project_tools/locale/it/LC_MESSAGES/django.mo
	apps/project_tools/locale/it/LC_MESSAGES/django.po
	apps/project_tools/locale/nl_NL/LC_MESSAGES/django.mo
	apps/project_tools/locale/nl_NL/LC_MESSAGES/django.po
	apps/project_tools/locale/pl/LC_MESSAGES/django.mo
	apps/project_tools/locale/pl/LC_MESSAGES/django.po
	apps/project_tools/locale/pt/LC_MESSAGES/django.mo
	apps/project_tools/locale/pt/LC_MESSAGES/django.po
	apps/project_tools/locale/pt_BR/LC_MESSAGES/django.mo
	apps/project_tools/locale/pt_BR/LC_MESSAGES/django.po
	apps/project_tools/locale/ru/LC_MESSAGES/django.mo
	apps/project_tools/locale/ru/LC_MESSAGES/django.po
	apps/scheduler/__init__.py
	apps/scheduler/locale/bg/LC_MESSAGES/django.mo
	apps/scheduler/locale/bg/LC_MESSAGES/django.po
	apps/scheduler/locale/de_DE/LC_MESSAGES/django.mo
	apps/scheduler/locale/de_DE/LC_MESSAGES/django.po
	apps/scheduler/locale/en/LC_MESSAGES/django.mo
	apps/scheduler/locale/en/LC_MESSAGES/django.po
	apps/scheduler/locale/es/LC_MESSAGES/django.mo
	apps/scheduler/locale/es/LC_MESSAGES/django.po
	apps/scheduler/locale/fr/LC_MESSAGES/django.mo
	apps/scheduler/locale/fr/LC_MESSAGES/django.po
	apps/scheduler/locale/it/LC_MESSAGES/django.mo
	apps/scheduler/locale/it/LC_MESSAGES/django.po
	apps/scheduler/locale/nl_NL/LC_MESSAGES/django.mo
	apps/scheduler/locale/nl_NL/LC_MESSAGES/django.po
	apps/scheduler/locale/pl/LC_MESSAGES/django.mo
	apps/scheduler/locale/pl/LC_MESSAGES/django.po
	apps/scheduler/locale/pt/LC_MESSAGES/django.mo
	apps/scheduler/locale/pt/LC_MESSAGES/django.po
	apps/scheduler/locale/pt_BR/LC_MESSAGES/django.mo
	apps/scheduler/locale/pt_BR/LC_MESSAGES/django.po
	apps/scheduler/locale/ru/LC_MESSAGES/django.mo
	apps/scheduler/locale/ru/LC_MESSAGES/django.po
	apps/scheduler/runtime.py
	apps/smart_settings/locale/bg/LC_MESSAGES/django.mo
	apps/smart_settings/locale/bg/LC_MESSAGES/django.po
	apps/smart_settings/locale/de_DE/LC_MESSAGES/django.mo
	apps/smart_settings/locale/de_DE/LC_MESSAGES/django.po
	apps/smart_settings/locale/en/LC_MESSAGES/django.mo
	apps/smart_settings/locale/en/LC_MESSAGES/django.po
	apps/smart_settings/locale/es/LC_MESSAGES/django.mo
	apps/smart_settings/locale/es/LC_MESSAGES/django.po
	apps/smart_settings/locale/fr/LC_MESSAGES/django.mo
	apps/smart_settings/locale/fr/LC_MESSAGES/django.po
	apps/smart_settings/locale/it/LC_MESSAGES/django.mo
	apps/smart_settings/locale/it/LC_MESSAGES/django.po
	apps/smart_settings/locale/nl_NL/LC_MESSAGES/django.mo
	apps/smart_settings/locale/nl_NL/LC_MESSAGES/django.po
	apps/smart_settings/locale/pl/LC_MESSAGES/django.mo
	apps/smart_settings/locale/pl/LC_MESSAGES/django.po
	apps/smart_settings/locale/pt/LC_MESSAGES/django.mo
	apps/smart_settings/locale/pt/LC_MESSAGES/django.po
	apps/smart_settings/locale/pt_BR/LC_MESSAGES/django.mo
	apps/smart_settings/locale/pt_BR/LC_MESSAGES/django.po
	apps/smart_settings/locale/ru/LC_MESSAGES/django.mo
	apps/smart_settings/locale/ru/LC_MESSAGES/django.po
	apps/sources/locale/bg/LC_MESSAGES/django.mo
	apps/sources/locale/bg/LC_MESSAGES/django.po
	apps/sources/locale/de_DE/LC_MESSAGES/django.mo
	apps/sources/locale/de_DE/LC_MESSAGES/django.po
	apps/sources/locale/en/LC_MESSAGES/django.mo
	apps/sources/locale/en/LC_MESSAGES/django.po
	apps/sources/locale/es/LC_MESSAGES/django.mo
	apps/sources/locale/es/LC_MESSAGES/django.po
	apps/sources/locale/fr/LC_MESSAGES/django.mo
	apps/sources/locale/fr/LC_MESSAGES/django.po
	apps/sources/locale/it/LC_MESSAGES/django.mo
	apps/sources/locale/it/LC_MESSAGES/django.po
	apps/sources/locale/nl_NL/LC_MESSAGES/django.mo
	apps/sources/locale/nl_NL/LC_MESSAGES/django.po
	apps/sources/locale/pl/LC_MESSAGES/django.mo
	apps/sources/locale/pl/LC_MESSAGES/django.po
	apps/sources/locale/pt/LC_MESSAGES/django.mo
	apps/sources/locale/pt/LC_MESSAGES/django.po
	apps/sources/locale/pt_BR/LC_MESSAGES/django.mo
	apps/sources/locale/pt_BR/LC_MESSAGES/django.po
	apps/sources/locale/ru/LC_MESSAGES/django.mo
	apps/sources/locale/ru/LC_MESSAGES/django.po
	apps/sources/registry.py
	apps/tags/__init__.py
	apps/tags/links.py
	apps/tags/locale/bg/LC_MESSAGES/django.mo
	apps/tags/locale/bg/LC_MESSAGES/django.po
	apps/tags/locale/de_DE/LC_MESSAGES/django.mo
	apps/tags/locale/de_DE/LC_MESSAGES/django.po
	apps/tags/locale/en/LC_MESSAGES/django.mo
	apps/tags/locale/en/LC_MESSAGES/django.po
	apps/tags/locale/es/LC_MESSAGES/django.mo
	apps/tags/locale/es/LC_MESSAGES/django.po
	apps/tags/locale/fr/LC_MESSAGES/django.mo
	apps/tags/locale/fr/LC_MESSAGES/django.po
	apps/tags/locale/it/LC_MESSAGES/django.mo
	apps/tags/locale/it/LC_MESSAGES/django.po
	apps/tags/locale/nl_NL/LC_MESSAGES/django.mo
	apps/tags/locale/nl_NL/LC_MESSAGES/django.po
	apps/tags/locale/pl/LC_MESSAGES/django.mo
	apps/tags/locale/pl/LC_MESSAGES/django.po
	apps/tags/locale/pt/LC_MESSAGES/django.mo
	apps/tags/locale/pt/LC_MESSAGES/django.po
	apps/tags/locale/pt_BR/LC_MESSAGES/django.mo
	apps/tags/locale/pt_BR/LC_MESSAGES/django.po
	apps/tags/locale/ru/LC_MESSAGES/django.mo
	apps/tags/locale/ru/LC_MESSAGES/django.po
	apps/tags/registry.py
	apps/tags/views.py
	apps/user_management/__init__.py
	apps/user_management/locale/bg/LC_MESSAGES/django.mo
	apps/user_management/locale/bg/LC_MESSAGES/django.po
	apps/user_management/locale/de_DE/LC_MESSAGES/django.mo
	apps/user_management/locale/de_DE/LC_MESSAGES/django.po
	apps/user_management/locale/en/LC_MESSAGES/django.mo
	apps/user_management/locale/en/LC_MESSAGES/django.po
	apps/user_management/locale/es/LC_MESSAGES/django.mo
	apps/user_management/locale/es/LC_MESSAGES/django.po
	apps/user_management/locale/fr/LC_MESSAGES/django.mo
	apps/user_management/locale/fr/LC_MESSAGES/django.po
	apps/user_management/locale/it/LC_MESSAGES/django.mo
	apps/user_management/locale/it/LC_MESSAGES/django.po
	apps/user_management/locale/nl_NL/LC_MESSAGES/django.mo
	apps/user_management/locale/nl_NL/LC_MESSAGES/django.po
	apps/user_management/locale/pl/LC_MESSAGES/django.mo
	apps/user_management/locale/pl/LC_MESSAGES/django.po
	apps/user_management/locale/pt/LC_MESSAGES/django.mo
	apps/user_management/locale/pt/LC_MESSAGES/django.po
	apps/user_management/locale/pt_BR/LC_MESSAGES/django.mo
	apps/user_management/locale/pt_BR/LC_MESSAGES/django.po
	apps/user_management/locale/ru/LC_MESSAGES/django.mo
	apps/user_management/locale/ru/LC_MESSAGES/django.po
	apps/user_management/registry.py
	apps/web_theme/locale/bg/LC_MESSAGES/django.mo
	apps/web_theme/locale/bg/LC_MESSAGES/django.po
	apps/web_theme/locale/de_DE/LC_MESSAGES/django.mo
	apps/web_theme/locale/de_DE/LC_MESSAGES/django.po
	apps/web_theme/locale/en/LC_MESSAGES/django.mo
	apps/web_theme/locale/en/LC_MESSAGES/django.po
	apps/web_theme/locale/es/LC_MESSAGES/django.mo
	apps/web_theme/locale/es/LC_MESSAGES/django.po
	apps/web_theme/locale/fr/LC_MESSAGES/django.mo
	apps/web_theme/locale/fr/LC_MESSAGES/django.po
	apps/web_theme/locale/it/LC_MESSAGES/django.mo
	apps/web_theme/locale/it/LC_MESSAGES/django.po
	apps/web_theme/locale/nl_NL/LC_MESSAGES/django.mo
	apps/web_theme/locale/nl_NL/LC_MESSAGES/django.po
	apps/web_theme/locale/pl/LC_MESSAGES/django.mo
	apps/web_theme/locale/pl/LC_MESSAGES/django.po
	apps/web_theme/locale/pt/LC_MESSAGES/django.mo
	apps/web_theme/locale/pt/LC_MESSAGES/django.po
	apps/web_theme/locale/pt_BR/LC_MESSAGES/django.mo
	apps/web_theme/locale/pt_BR/LC_MESSAGES/django.po
	apps/web_theme/locale/ru/LC_MESSAGES/django.mo
	apps/web_theme/locale/ru/LC_MESSAGES/django.po
	docs/credits/contributors.rst
	docs/faq/index.rst
	docs/intro/requirements.rst
	docs/releases/index.rst
	docs/topics/document_visualization.rst
	docs/topics/ocr.rst
	fabfile/platforms/linux.py
	misc/process_messages.py
	requirements/development.txt
	requirements/production.txt
	settings.py
	urls.py
2012-12-14 04:25:10 -04:00
Roberto Rosario 0c23961927 Update contributors file 2012-12-12 03:45:00 -04:00
Iliya Georgiev 905ad00d09 Add example of Default ACLs in permissions documentation 2012-12-12 03:28:04 -04:00
Iliya Georgiev dd62c3e175 Add example of Default ACLs in permissions documentation 2012-12-12 03:27:53 -04:00
Iliya Georgiev 99ea668ad5 Add example of Default ACLs in permissions documentation 2012-12-12 03:27:31 -04:00
Iliya Georgiev 9d33231dc4 Add example of Default ACLs in permissions documentation 2012-12-12 03:27:13 -04:00
Iliya Georgiev 35dcb24235 Add description of Default ACLs in permissions documentation 2012-12-12 03:27:09 -04:00
Iliya Georgiev 262690aec7 Add description of Default ACLs in permissions documentation 2012-12-12 03:24:58 -04:00
Roberto Rosario 2e1a084626 Fix template variable name 2012-12-12 03:24:01 -04:00
Roberto Rosario 4f0ef36c4b Update translation files 2012-12-12 03:23:28 -04:00
Roberto Rosario 74d97d5ed2 Translation file updates 2012-12-12 02:04:36 -04:00
Roberto Rosario b0941abfb1 Disable incomplete upgrade support via fabfile 2012-12-12 01:28:33 -04:00
Roberto Rosario c433ca7d37 Bump version to v0.13 2012-12-12 01:28:17 -04:00
Roberto Rosario 2080189a27 Documentation update 2012-12-12 01:28:05 -04:00
Roberto Rosario 42c8a686af Update documentation 2012-12-12 01:21:27 -04:00
Roberto Rosario 28b8046c18 Update release notes 2012-12-12 01:09:31 -04:00
Roberto Rosario 728decbe6c Update required version of Django to 1.3.5 2012-12-12 01:09:01 -04:00
Roberto Rosario ca40b3f703 Implement bulk document move into folders, issue #39 2012-12-12 00:37:32 -04:00
Roberto Rosario 39c9c03c2c Improve multi selection action button vertical spacing 2012-12-11 02:01:48 -04:00
Roberto Rosario aa058ac790 Remove mention of automatically installed requirements 2012-12-11 01:52:50 -04:00
Roberto Rosario 8f07a2ccfd Drop support for UNOCONV 2012-12-11 01:49:17 -04:00
Roberto Rosario 1743ce93f2 Add support for synchronizing bootstrap setups available with the official repository 2012-12-11 01:22:46 -04:00
Roberto Rosario 74689a970d Import errors in the app registry app are not errors per se 2012-12-10 20:34:44 -04:00
Roberto Rosario 1de90cfaa9 Prepend a magic number to bootstrap setup to identify them as valid bootstrap setups 2012-10-16 02:44:01 -04:00
Roberto Rosario b076c73d2b Update the required requests version 2012-10-16 02:23:45 -04:00
Roberto Rosario 85455e7647 Add support for import bootstrap setups from URLs 2012-10-16 02:22:39 -04:00
Roberto Rosario 7ce8652188 Remove the default bootstrap setups 2012-10-16 01:09:59 -04:00
Roberto Rosario cfb841a0b8 Improve messages, remove repeated view code 2012-10-16 01:09:19 -04:00
Roberto Rosario 9b21994d7d Add management commands to execute bootstrap setups and erase user data 2012-10-16 01:08:41 -04:00
Roberto Rosario 55b01f1516 Add slug field to the bootstap setup model 2012-10-16 01:08:12 -04:00
Roberto Rosario b54dff51a6 Remove planned bootstrap setup compression support hooks 2012-10-15 23:24:48 -04:00
Roberto Rosario d64feb0cba Update release notes 2012-10-14 07:12:43 -04:00
Roberto Rosario 62588248b2 Fix installation instruction typo 2012-10-14 07:03:15 -04:00
Roberto Rosario 6ea76ef84f Add support for importing bootstrap setups from file 2012-10-14 07:00:27 -04:00
Roberto Rosario 37372ba554 Add support for exporting bootstrap setups to file 2012-10-14 05:10:55 -04:00
Roberto Rosario 4b143a9455 Remove unused template line 2012-10-13 02:57:17 -04:00
Roberto Rosario 753053ae47 Revert permission holder and role members caching changes, only cache stored permissions as these never change 2012-10-13 02:47:38 -04:00
Roberto Rosario 7454a47558 Only cache registration if already registered 2012-10-13 02:38:20 -04:00
Roberto Rosario bb997ecbdc Cache member roles, store permission class doesn't have a label field - don't set it and save it. 2012-10-12 05:37:59 -04:00
Roberto Rosario 90e48ec6a8 Cache StoredPermissions objects and permission holders, change list comprehension to generator 2012-10-12 04:36:05 -04:00
Roberto Rosario 32959762cc Change list comprehension to generator 2012-10-12 04:35:28 -04:00
Roberto Rosario dbe15347f8 Fix cache evaluation 2012-10-12 03:35:26 -04:00
Roberto Rosario 0b4459bc70 Update development requirements file 2012-10-12 03:22:04 -04:00
Roberto Rosario d75711f9ac Add git upgrade instructions to the release notes 2012-10-12 01:16:29 -04:00
Roberto Rosario e43b582682 Add missing document_tag image 2012-10-12 01:16:12 -04:00
Roberto Rosario 1544cc5ddf Add tags chapter to the index 2012-10-12 01:15:57 -04:00
Roberto Rosario c0afb034ba Update OCR chapter 2012-10-12 01:15:35 -04:00
Roberto Rosario 8ffdf4ab77 Update indexing chapter add navigation images 2012-10-12 01:15:04 -04:00
Roberto Rosario c4fc189ca9 Add screenshot to the smart links chapter 2012-10-12 01:14:30 -04:00
Roberto Rosario c1a32eef89 Specify tesseract 3.x or greater in the requirements 2012-10-12 01:13:55 -04:00
Roberto Rosario 8a539ae718 Add tags chapter 2012-10-12 01:13:30 -04:00
Roberto Rosario 60e3e16375 Fix registration name display 2012-10-12 01:12:50 -04:00
Roberto Rosario f50e42e4da Add navigation images to the indexes chapter 2012-10-11 01:30:33 -04:00
Roberto Rosario 09eb5c65f9 Add navigation pictures to smart links chapter 2012-10-11 01:30:06 -04:00
Roberto Rosario 63f6318a86 Add link to indexes from getting started 2012-10-11 01:29:46 -04:00
Roberto Rosario d7d3cc62a3 Add initial bootstrap setups fixtures 2012-10-10 17:40:19 -04:00
Roberto Rosario 57515bec55 Add new getting started chapter 2012-10-10 17:40:05 -04:00
Roberto Rosario 396c57d84d Release notes update, only link to the latest release notes in the index file 2012-10-10 17:39:21 -04:00
Roberto Rosario b63f367d78 Update documentation version 2012-10-10 17:39:06 -04:00
Roberto Rosario 0d02cda407 Add bootstrap and registraion app to the language processing script 2012-10-10 09:56:14 -04:00
Roberto Rosario e5fcfe74f6 Add registration translation files 2012-10-10 09:55:17 -04:00
Roberto Rosario 1a9677a15e Add bootstrap app translation files 2012-10-10 09:55:00 -04:00
Roberto Rosario b949c120a0 Add source file, add bootstrap and registration apps to transifex config file 2012-10-10 09:54:34 -04:00
Roberto Rosario 9a6a6495ee Improve bulk tagging and consolidate code 2012-10-10 02:21:45 -04:00
Roberto Rosario 806b1455f4 Remove the created date column 2012-10-10 00:35:09 -04:00
Roberto Rosario c3bc1f65ea Update JSON filter to remove the last comma 2012-10-10 00:34:51 -04:00
Roberto Rosario 8e61f44abf Update release notes 2012-10-10 00:27:34 -04:00
Roberto Rosario 7af74c6785 Set fixed size for the text area widget and inherit the change 2012-10-10 00:27:01 -04:00
Roberto Rosario f1ee7bc23f Don't override text area widget to div area widgets 2012-10-10 00:26:26 -04:00
Roberto Rosario 2529a178ae Update the styling templatetag to not replace but append CSS classes 2012-10-09 23:35:22 -04:00
Roberto Rosario 2570057e9d Bump version 2012-10-09 23:26:10 -04:00
Roberto Rosario 05b1a39d7e Update metadata lookup field from a char to a text field 2012-10-09 23:25:16 -04:00
Roberto Rosario 9781d0dcae Fix empty fixture detection, add support for better YAML PK removal, re enabled better YAML serializer 2012-10-09 12:37:13 -04:00
Roberto Rosario b16ab0eebe Add logging 2012-10-09 12:36:45 -04:00
Roberto Rosario 8e1d12c59a Add logging 2012-10-09 12:36:32 -04:00
Roberto Rosario ace21841fc Add view to edit an existing metadata set 2012-10-09 12:35:32 -04:00
Roberto Rosario 5a5721c618 Add support to add and remove a user from many groups at once from the user edit view 2012-10-09 12:34:55 -04:00
Roberto Rosario 5e0fba3b69 Add registration app 2012-10-09 02:34:00 -04:00
Roberto Rosario 66cd8938ce Initial updates for the registration app 2012-10-09 02:33:21 -04:00
Roberto Rosario e3cc2efbcb Update copyright year 2012-10-09 00:58:37 -04:00
Roberto Rosario 9b69b9620e Add issues link 2012-10-09 00:58:19 -04:00
Roberto Rosario c308654f4a Disable better yaml serializer until natural keys are working correctly 2012-10-08 18:50:26 -04:00
Roberto Rosario efc41ad9c7 Add bootstrap model dependecies support 2012-10-08 18:50:07 -04:00
Roberto Rosario 82299a49c4 Simplify converter backend and return exceptions for better diagnostics. 2012-10-08 18:47:46 -04:00
Roberto Rosario e9817ee1ac Add creation date and time metadata, preserver metadata order with SortedDict 2012-10-08 11:57:08 -04:00
Roberto Rosario 77bbb5c048 Add creation date time field to bootstrap fixtures 2012-10-08 11:56:48 -04:00
Roberto Rosario 2b706f3f4a Generate a bootstrap's fixture metadata on save not only when dumping it, add comments 2012-10-08 11:28:41 -04:00
Roberto Rosario a430a1ce73 Don't allow editing the type of a fixture 2012-10-08 02:33:48 -04:00
Roberto Rosario 6966134c1d Add support for automatic bootstrap setup fixture metadata creation 2012-10-08 02:17:48 -04:00
Roberto Rosario 384d241ab2 Capture load data management command errors 2012-10-08 01:38:54 -04:00
Roberto Rosario 4d4c89bcd7 Backport of development commit: "Update fabfile to place installation marker"
64c7804611
2012-10-08 00:20:23 -04:00
Roberto Rosario 6ae449f08c Report the git repository remotes URLs 2012-10-07 04:59:39 -04:00
Roberto Rosario 9ecf20ce15 Move implementation to get all properties to the module 2012-10-07 04:59:07 -04:00
Roberto Rosario 4b25620e8e Make __getattr__ of the Installation model return the value of the property not the Property instance 2012-10-07 04:47:44 -04:00
Roberto Rosario 32d824643d Update release notes 2012-10-07 04:29:04 -04:00
Roberto Rosario aa2e32e801 Move code to calculate an index descendant node instances to the model, catch exception when index is still not initialized, possible cause of issue #28 2012-10-07 04:19:16 -04:00
Roberto Rosario 8b52c4a99a Fix natural key for Metadata set to be title and not name based 2012-10-07 04:08:19 -04:00
Roberto Rosario 2f28caaf4d Add missing bootstrap setup delete icon 2012-10-07 04:07:52 -04:00
Roberto Rosario bd92a88d2b Move import inside function to avoid import error 2012-10-07 03:56:50 -04:00
Roberto Rosario 57c6820afd Remove natural key for the Tag model 2012-10-07 03:48:28 -04:00
Roberto Rosario abf2bb85ea Remove duplicate processing of sidebar links 2012-10-07 03:47:41 -04:00
Roberto Rosario 58e2b2378e Move registration of the metadata document column to the metadata app, improve document type filename navigation 2012-10-07 03:46:40 -04:00
Roberto Rosario 4ffd422064 Don't import metadata admin stuff in the documents app 2012-10-07 03:46:02 -04:00
Roberto Rosario f8c63454f3 Enable new serializer for the bootstrap app, add per fixture type empyt checking, model fixture processing and final fixture processing 2012-10-07 03:44:56 -04:00
Roberto Rosario a6b28574d7 Add new serializer: better YAML 2012-10-07 03:43:35 -04:00
Roberto Rosario f203947836 Don't add empty fixtures 2012-10-06 05:46:43 -04:00
Roberto Rosario 20fafd6ba8 Fix the icon name used for the bootstrap setup edit link 2012-10-06 05:01:40 -04:00
Roberto Rosario 1b23c90a1a Check that the yaml library is available before adding YAML to the list of fixture types available 2012-10-06 05:00:50 -04:00
Roberto Rosario 850184ae62 Add PyYaml to the requirements to have YAML format fixture available for the bootstrap app 2012-10-06 05:00:20 -04:00
Roberto Rosario e547ad5c78 Update release notes 2012-10-06 04:50:54 -04:00
Roberto Rosario 2bacbcf56d Remove import of non existant managers.py file 2012-10-06 04:50:36 -04:00
Roberto Rosario 09aca2eb24 Remove unused transaction handling 2012-10-06 04:50:12 -04:00
Roberto Rosario 5271566310 Remove commented lines 2012-10-06 04:49:52 -04:00
Roberto Rosario f1d1ab286d Update the required versions of South and Pillow to the current releases (0.7.6 and 1.7.7) 2012-10-06 04:38:45 -04:00
Roberto Rosario d126047347 Update release notes in regard to issue 32 2012-10-05 22:16:35 -04:00
Roberto Rosario 6f376ced9b Catch auto admin creation error attempts when common app has still not been migrated.
Solves issue #32
2012-10-05 22:15:08 -04:00
Roberto Rosario 2b4523c0be Update release notes 2012-10-05 03:07:55 -04:00
Roberto Rosario d1f77b2fbe Add natural key to the Tag model 2012-10-05 03:07:44 -04:00
Roberto Rosario 3f52207c54 Add natural keys to the MetadataType and MetadataSet models, make the metadata set label unique 2012-10-05 03:06:34 -04:00
Roberto Rosario aa00b7554b Change comment style 2012-10-05 03:05:59 -04:00
Roberto Rosario e7839dc4ca Add natural key to the Index model 2012-10-05 03:05:25 -04:00
Roberto Rosario 065bfd9136 Add registry and cleanup files 2012-10-05 03:04:32 -04:00
Roberto Rosario d2f1490516 Add app_registry and bootstrap apps 2012-10-05 03:03:21 -04:00
Roberto Rosario ade876141e Add missing space 2012-10-05 01:14:11 -04:00
Roberto Rosario d849190dbd Add natural keys to the document type model 2012-10-05 01:13:30 -04:00
Roberto Rosario b231810aaf Make document type name an unique field 2012-10-05 01:11:14 -04:00
Roberto Rosario 6683d915d1 Bump version to 0.12.3beta 2012-10-05 00:52:08 -04:00
Roberto Rosario 0bc4eeb816 Don't display edit or delete links for root template nodes 2012-10-05 00:51:35 -04:00
Roberto Rosario e69750dd49 Compose choices keys using ContentType name not text label 2012-10-05 00:51:00 -04:00
Roberto Rosario cd05f7fde0 Add initial release notes for upcoming 0.12.3 2012-10-03 01:31:25 -04:00
Roberto Rosario b1ab135c5f Move RecentDocument manager to the manager.py file, improved its logic 2012-10-03 01:28:15 -04:00
Roberto Rosario 1561a44888 Improve the content widget page divider appearance, make it translatable 2012-10-03 01:23:07 -04:00
Roberto Rosario d2b6b6d533 Update the Div widget to use <pre> tags instead of <div> to conserve spacing 2012-10-03 01:19:48 -04:00
Roberto Rosario 119137d1fb Update required version of Django to 1.3.3 to include upstream security fixes 2012-10-02 01:04:48 -04:00
Roberto Rosario 437d19a130 Current if test is testing the existance of the property, test the value (True) instead 2012-10-02 00:47:38 -04:00
Roberto Rosario 6318ec6076 Add multi document tag removal 2012-10-01 13:10:23 -04:00
Roberto Rosario 3186b8a300 Show multi document actions in the tagged document list view 2012-10-01 12:13:45 -04:00
Roberto Rosario c6e8709b84 Add support for bulk document tag attaching 2012-10-01 12:10:19 -04:00
Roberto Rosario 1fa423b97d Update compile translations 2012-10-01 11:19:37 -04:00
Roberto Rosario 8baf70ea1f Update Dutch translation for the linking app 2012-10-01 11:15:59 -04:00
Roberto Rosario f4d0b8e20a Update contributors file 2012-10-01 10:52:52 -04:00
Bertrand Bordage c350ac97de Adds new translations and updates the others.
Conflicts:

	apps/acls/locale/bg/LC_MESSAGES/django.po
	apps/acls/locale/de_DE/LC_MESSAGES/django.po
	apps/acls/locale/fr/LC_MESSAGES/django.po
	apps/acls/locale/nl_NL/LC_MESSAGES/django.po
	apps/acls/locale/pt_BR/LC_MESSAGES/django.po
	apps/common/locale/bg/LC_MESSAGES/django.po
	apps/common/locale/de_DE/LC_MESSAGES/django.po
	apps/common/locale/fr/LC_MESSAGES/django.po
	apps/common/locale/nl_NL/LC_MESSAGES/django.po
	apps/common/locale/pt_BR/LC_MESSAGES/django.po
	apps/converter/locale/bg/LC_MESSAGES/django.po
	apps/converter/locale/fr/LC_MESSAGES/django.po
	apps/converter/locale/nl_NL/LC_MESSAGES/django.po
	apps/converter/locale/pt_BR/LC_MESSAGES/django.po
	apps/django_gpg/locale/bg/LC_MESSAGES/django.po
	apps/django_gpg/locale/de_DE/LC_MESSAGES/django.po
	apps/django_gpg/locale/es/LC_MESSAGES/django.po
	apps/django_gpg/locale/fr/LC_MESSAGES/django.po
	apps/django_gpg/locale/it/LC_MESSAGES/django.po
	apps/django_gpg/locale/nl_NL/LC_MESSAGES/django.po
	apps/django_gpg/locale/pl/LC_MESSAGES/django.po
	apps/django_gpg/locale/pt/LC_MESSAGES/django.po
	apps/django_gpg/locale/pt_BR/LC_MESSAGES/django.po
	apps/django_gpg/locale/ru/LC_MESSAGES/django.po
	apps/document_comments/locale/bg/LC_MESSAGES/django.po
	apps/document_comments/locale/de_DE/LC_MESSAGES/django.po
	apps/document_comments/locale/es/LC_MESSAGES/django.po
	apps/document_comments/locale/fr/LC_MESSAGES/django.po
	apps/document_comments/locale/it/LC_MESSAGES/django.po
	apps/document_comments/locale/nl_NL/LC_MESSAGES/django.po
	apps/document_comments/locale/pl/LC_MESSAGES/django.po
	apps/document_comments/locale/pt/LC_MESSAGES/django.po
	apps/document_comments/locale/pt_BR/LC_MESSAGES/django.po
	apps/document_comments/locale/ru/LC_MESSAGES/django.po
	apps/document_indexing/locale/bg/LC_MESSAGES/django.po
	apps/document_indexing/locale/de_DE/LC_MESSAGES/django.po
	apps/document_indexing/locale/fr/LC_MESSAGES/django.po
	apps/document_indexing/locale/nl_NL/LC_MESSAGES/django.po
	apps/document_indexing/locale/pt_BR/LC_MESSAGES/django.po
	apps/document_signatures/locale/bg/LC_MESSAGES/django.po
	apps/document_signatures/locale/de_DE/LC_MESSAGES/django.po
	apps/document_signatures/locale/fr/LC_MESSAGES/django.po
	apps/document_signatures/locale/nl_NL/LC_MESSAGES/django.po
	apps/document_signatures/locale/pt_BR/LC_MESSAGES/django.po
	apps/documents/locale/bg/LC_MESSAGES/django.po
	apps/documents/locale/de_DE/LC_MESSAGES/django.po
	apps/documents/locale/fr/LC_MESSAGES/django.po
	apps/documents/locale/nl_NL/LC_MESSAGES/django.po
	apps/documents/locale/pt_BR/LC_MESSAGES/django.po
	apps/dynamic_search/locale/bg/LC_MESSAGES/django.po
	apps/dynamic_search/locale/fr/LC_MESSAGES/django.po
	apps/dynamic_search/locale/nl_NL/LC_MESSAGES/django.po
	apps/dynamic_search/locale/pt_BR/LC_MESSAGES/django.po
	apps/folders/locale/bg/LC_MESSAGES/django.po
	apps/folders/locale/de_DE/LC_MESSAGES/django.po
	apps/folders/locale/fr/LC_MESSAGES/django.po
	apps/folders/locale/nl_NL/LC_MESSAGES/django.po
	apps/folders/locale/pt_BR/LC_MESSAGES/django.po
	apps/history/locale/bg/LC_MESSAGES/django.po
	apps/history/locale/fr/LC_MESSAGES/django.po
	apps/history/locale/nl_NL/LC_MESSAGES/django.po
	apps/history/locale/pt_BR/LC_MESSAGES/django.po
	apps/installation/locale/bg/LC_MESSAGES/django.po
	apps/installation/locale/de_DE/LC_MESSAGES/django.po
	apps/installation/locale/fr/LC_MESSAGES/django.po
	apps/installation/locale/nl_NL/LC_MESSAGES/django.po
	apps/installation/locale/pt_BR/LC_MESSAGES/django.po
	apps/linking/locale/bg/LC_MESSAGES/django.po
	apps/linking/locale/de_DE/LC_MESSAGES/django.po
	apps/linking/locale/fr/LC_MESSAGES/django.po
	apps/linking/locale/nl_NL/LC_MESSAGES/django.po
	apps/linking/locale/pt_BR/LC_MESSAGES/django.po
	apps/main/locale/bg/LC_MESSAGES/django.po
	apps/main/locale/de_DE/LC_MESSAGES/django.po
	apps/main/locale/fr/LC_MESSAGES/django.po
	apps/main/locale/nl_NL/LC_MESSAGES/django.po
	apps/main/locale/pt_BR/LC_MESSAGES/django.po
	apps/metadata/locale/bg/LC_MESSAGES/django.po
	apps/metadata/locale/de_DE/LC_MESSAGES/django.po
	apps/metadata/locale/fr/LC_MESSAGES/django.po
	apps/metadata/locale/nl_NL/LC_MESSAGES/django.po
	apps/metadata/locale/pt_BR/LC_MESSAGES/django.po
	apps/navigation/locale/bg/LC_MESSAGES/django.po
	apps/navigation/locale/fr/LC_MESSAGES/django.po
	apps/navigation/locale/nl_NL/LC_MESSAGES/django.po
	apps/navigation/locale/pt_BR/LC_MESSAGES/django.po
	apps/ocr/locale/bg/LC_MESSAGES/django.po
	apps/ocr/locale/de_DE/LC_MESSAGES/django.po
	apps/ocr/locale/fr/LC_MESSAGES/django.po
	apps/ocr/locale/nl_NL/LC_MESSAGES/django.po
	apps/ocr/locale/pt_BR/LC_MESSAGES/django.po
	apps/permissions/locale/bg/LC_MESSAGES/django.po
	apps/permissions/locale/fr/LC_MESSAGES/django.po
	apps/permissions/locale/nl_NL/LC_MESSAGES/django.po
	apps/permissions/locale/pt_BR/LC_MESSAGES/django.po
	apps/project_setup/locale/bg/LC_MESSAGES/django.po
	apps/project_setup/locale/fr/LC_MESSAGES/django.po
	apps/project_setup/locale/nl_NL/LC_MESSAGES/django.po
	apps/project_setup/locale/pt_BR/LC_MESSAGES/django.po
	apps/project_tools/locale/bg/LC_MESSAGES/django.po
	apps/project_tools/locale/fr/LC_MESSAGES/django.po
	apps/project_tools/locale/nl_NL/LC_MESSAGES/django.po
	apps/project_tools/locale/pt_BR/LC_MESSAGES/django.po
	apps/scheduler/locale/bg/LC_MESSAGES/django.po
	apps/scheduler/locale/fr/LC_MESSAGES/django.po
	apps/scheduler/locale/nl_NL/LC_MESSAGES/django.po
	apps/scheduler/locale/pt_BR/LC_MESSAGES/django.po
	apps/smart_settings/locale/bg/LC_MESSAGES/django.po
	apps/smart_settings/locale/de_DE/LC_MESSAGES/django.po
	apps/smart_settings/locale/fr/LC_MESSAGES/django.po
	apps/smart_settings/locale/nl_NL/LC_MESSAGES/django.po
	apps/smart_settings/locale/pt_BR/LC_MESSAGES/django.po
	apps/sources/locale/bg/LC_MESSAGES/django.po
	apps/sources/locale/fr/LC_MESSAGES/django.po
	apps/sources/locale/nl_NL/LC_MESSAGES/django.po
	apps/sources/locale/pt_BR/LC_MESSAGES/django.po
	apps/tags/locale/bg/LC_MESSAGES/django.po
	apps/tags/locale/fr/LC_MESSAGES/django.po
	apps/tags/locale/nl_NL/LC_MESSAGES/django.po
	apps/tags/locale/pt_BR/LC_MESSAGES/django.po
	apps/user_management/locale/bg/LC_MESSAGES/django.po
	apps/user_management/locale/de_DE/LC_MESSAGES/django.po
	apps/user_management/locale/fr/LC_MESSAGES/django.po
	apps/user_management/locale/nl_NL/LC_MESSAGES/django.po
	apps/user_management/locale/pt_BR/LC_MESSAGES/django.po
	apps/web_theme/locale/bg/LC_MESSAGES/django.po
	apps/web_theme/locale/de_DE/LC_MESSAGES/django.po
	apps/web_theme/locale/fr/LC_MESSAGES/django.po
	apps/web_theme/locale/nl_NL/LC_MESSAGES/django.po
	apps/web_theme/locale/pt_BR/LC_MESSAGES/django.po
2012-10-01 10:51:39 -04:00
Roberto Rosario 6f1c1a8b98 Remove the old language processing scripts and backport the process_message python utility from the development branch 2012-10-01 09:05:09 -04:00
Roberto Rosario fe058894f4 Sort translation resource for easier handling 2012-10-01 08:57:39 -04:00
Bertrand Bordage 853f4d3a6a Updates Transifex configuration.
Conflicts:

	.tx/config
2012-10-01 08:50:30 -04:00
Roberto Rosario f0c5d0b016 Initial support to upgrade a Mayan EDMS installation automatically 2012-10-01 04:05:01 -04:00
Roberto Rosario 416729fee0 Split the create_database task into create_database and create_user tasks 2012-10-01 02:34:58 -04:00
Roberto Rosario 79fb7e65cd Rename drop_username function to drop_user 2012-10-01 02:31:37 -04:00
Roberto Rosario d41dac13ea Initial set of update to convert the sources app to the new registry and icon system 2012-09-30 03:01:49 -04:00
Roberto Rosario 3b9a5080b5 Correctly return an error icon and not the error icon's id 2012-09-30 03:00:17 -04:00
Roberto Rosario de9b716e77 Remove the inclusion of the famfamfam icon set 2012-09-29 02:15:00 -04:00
Roberto Rosario deef1dc19c Add icon_current_user_details icon to the default icons templatetag 2012-09-29 02:12:45 -04:00
Roberto Rosario 9f3838b5f6 Swithc pending job to use composed icon 2012-09-29 02:04:00 -04:00
Roberto Rosario 4a9e2c2aa7 Add back removed import 2012-09-29 02:03:40 -04:00
Roberto Rosario e62835fd27 PEP8 cleanups, remove unused imports, add missing imports 2012-09-29 01:40:33 -04:00
Roberto Rosario 0f1e01084c Add missing display_small(), disable navigation links for index root nodes 2012-09-29 01:16:45 -04:00
Roberto Rosario 0753d40a5d Fix navigation, setup AVAILABLE_INDEXING_FUNCTIONS in post_init.py 2012-09-29 01:16:05 -04:00
Roberto Rosario 2fb1208888 Switch to composed icons, update conditional display for root index node (is not editable or deletable) 2012-09-29 01:15:14 -04:00
Roberto Rosario 2eb3dfcbfd Fix natural key definition 2012-09-29 01:14:29 -04:00
Roberto Rosario cad7cd4e95 Switch index level indicator and index branch icon display to use the new Icon class 2012-09-29 01:13:44 -04:00
Roberto Rosario 6225e8f561 Re enable the MAX_SUFFIX_COUNT setting variable 2012-09-29 01:12:55 -04:00
Roberto Rosario e9f3ba67a6 Update to the new bootstrappable model format 2012-09-29 01:12:01 -04:00
Roberto Rosario fe2d57e2f3 Swtich to composed icons 2012-09-29 01:11:25 -04:00
Roberto Rosario a7be0d567f Update icons used by the acl app 2012-09-29 01:10:24 -04:00
Roberto Rosario 0ee2c98d51 Swtich to composed icons 2012-09-29 01:09:37 -04:00
Roberto Rosario f2ad6b5cde Get rid of dumpdata and serialize document programatically, add support for model specific pk sanitation 2012-09-29 01:08:58 -04:00
Roberto Rosario 73912f11d4 Add missing display_small() 2012-09-29 01:07:12 -04:00
Roberto Rosario 3821f9bf3e Fix group setup link icon 2012-09-29 01:06:46 -04:00
Roberto Rosario 474da4308d Improve document setup navigation 2012-09-29 01:06:05 -04:00
Roberto Rosario 64b06dc56f Add missing display_small() 2012-09-29 01:05:29 -04:00
Roberto Rosario 7ccb3cc152 Switch trash app to composed icon method, changed 'can' wording to 'bin' 2012-09-29 01:04:52 -04:00
Roberto Rosario 830e937e1b Swtich metadata edit link to a composed icon 2012-09-29 01:04:08 -04:00
Roberto Rosario 7681f82321 Add icon composition support, add several combined new icons, switch to icon base64 redering 2012-09-29 01:03:09 -04:00
Roberto Rosario e8a0e2b5ab Make document type name field unique, fix natural key name definition 2012-09-29 01:02:14 -04:00
Roberto Rosario c7a464797c Remove remarked code 2012-09-27 03:26:56 -04:00
Roberto Rosario 6c713bd2de Add logging 2012-09-27 03:26:42 -04:00
Roberto Rosario 95e1b9036b Add logging 2012-09-27 03:26:31 -04:00
Roberto Rosario 714af0764a Remove name attribute and add more dependencies 2012-09-27 03:26:10 -04:00
Roberto Rosario 6d434b57f8 Move initialization code to post_init 2012-09-27 03:25:44 -04:00
Roberto Rosario ae4e7ce32e Move initialization code to post_init 2012-09-27 03:25:12 -04:00
Roberto Rosario b5d09be31b Update document indexing app setting to use registry file and create literals for default values 2012-09-27 02:07:44 -04:00
Roberto Rosario daf72a8770 Move initialization code from __init__ to post_init.py 2012-09-27 02:00:55 -04:00
Roberto Rosario 71c1f02a8d Move .settings import from top of file to inside functions 2012-09-27 02:00:30 -04:00
Roberto Rosario 647835d0f5 Move top import of setting 2012-09-27 01:55:22 -04:00
Roberto Rosario 87d27a6d7a Get rid of unnedded init function 2012-09-27 01:55:02 -04:00
Roberto Rosario 9e9e154642 Move initialization code from __init__ to post_init 2012-09-27 01:54:34 -04:00
Roberto Rosario 27f0fca914 Better wrapper function exception handling 2012-09-27 01:54:10 -04:00
Roberto Rosario 2b24314d25 Update ocr post_init file to be flat and not use init function 2012-09-27 01:52:20 -04:00
Roberto Rosario b4b7d610f9 Add natural key handling to Index model 2012-09-27 01:51:44 -04:00
Roberto Rosario 9b70f6c11c Only release lock if it was acquired 2012-09-27 01:51:00 -04:00
Roberto Rosario 2aa1c2fcce Remove AutoAdminSingleton from common app 2012-09-27 01:50:06 -04:00
Roberto Rosario b2828d1e1c Move setting from settings file to registry and add default values to literals file 2012-09-27 01:49:27 -04:00
Roberto Rosario 1d8266fe5d Move app initialization code from __init__.py to post_init.py 2012-09-27 01:48:31 -04:00
Roberto Rosario 3b895d7560 Add code to check if there is existing data before executing a bootstrap setup 2012-09-27 01:45:52 -04:00
Roberto Rosario b42a43bafd Remove bootstrap app api file 2012-09-27 01:45:02 -04:00
Roberto Rosario d75e8b345f Move AutoAdminSingleton from the common app to the user_management app 2012-09-27 01:44:02 -04:00
Roberto Rosario a237217f8b Remove debug statement 2012-09-27 01:43:11 -04:00
Roberto Rosario c169d23714 Update requied django-mptt package 2012-09-26 22:42:38 -04:00
Roberto Rosario 109941fcf8 Move cluster app intialization to post_init.py 2012-09-26 22:42:20 -04:00
Roberto Rosario 7cebb82e1c Import the entire post_init.py file removing the need to seprate init_ prefixed functions 2012-09-26 22:32:34 -04:00
Roberto Rosario 11aa9e64f1 Add icons for the document indexing app 2012-09-24 17:38:21 -04:00
Roberto Rosario 0a72fccb97 Add tags app registry description 2012-09-24 17:38:00 -04:00
Roberto Rosario b714aa420f Add PermissionDenied to permission __init__ file for easier import 2012-09-24 17:37:37 -04:00
Roberto Rosario 827384cc95 Use new default icons in the navigation template 2012-09-24 17:37:14 -04:00
Roberto Rosario 57d3cf8f4a Add documents app bootstraped models 2012-09-24 17:36:58 -04:00
Roberto Rosario b74245979e Convert current selected link to new icon system 2012-09-24 17:36:35 -04:00
Roberto Rosario 5982c1b2ee Initial updates to convert document indexing app to new registry and icon system 2012-09-24 17:36:01 -04:00
Roberto Rosario 46fb8dfc10 Add support for registering bootstrapped models from registry 2012-09-24 17:35:07 -04:00
Roberto Rosario 7f7ba8924d Add CRUD views to bootstrap app, add support for dumping models into bootstrap fixtures 2012-09-24 17:34:30 -04:00
Roberto Rosario cb4c70c822 Disable XML format, add initial nullifier per type support 2012-09-22 03:16:23 -04:00
Roberto Rosario 0ec69bc4fc Add initial support to register database cleanup functions per app 2012-09-22 03:03:06 -04:00
Roberto Rosario 37f79ffde3 Validate the temporary directory in the post init of the common app 2012-09-22 03:02:33 -04:00
Roberto Rosario 47ac12b4d1 Add natural key to the DocumentType model to allow dumping and loading via the bootstrap app 2012-09-22 03:01:33 -04:00
Roberto Rosario d48338a989 Convert database bootstrap setups from class based to database stored fixtures 2012-09-22 03:00:47 -04:00
Roberto Rosario 397c1ad86b Add bootstrap app migrations 2012-09-22 01:50:54 -04:00
Roberto Rosario fbee8cb64c Use models to store the bootstrap setups 2012-09-22 01:50:17 -04:00
Roberto Rosario aac3bd0bbe Update bootstrap app to registry and icon system 2012-09-22 01:49:53 -04:00
Roberto Rosario fec0d82f6f Rename changelog from 0.13 to 1.0 to reflect version update 2012-09-22 00:56:29 -04:00
Roberto Rosario 5593c3ae84 Update changelog reminders 2012-09-22 00:56:12 -04:00
Roberto Rosario 51426632ca Start move of link resolution code to Link class 2012-09-22 00:55:51 -04:00
Roberto Rosario b614ce192f Add world_go icon 2012-09-22 00:55:14 -04:00
Roberto Rosario 416037f3f0 Remove remarked imports, add missing imports 2012-09-22 00:54:46 -04:00
Roberto Rosario 644a0288d7 Remove unused name entry from registry 2012-09-22 00:54:26 -04:00
Roberto Rosario f5145ae8ee Remove static redirection post document edit 2012-09-22 00:54:06 -04:00
Roberto Rosario abe8fcd90b Rename document view advanced view to document info 2012-09-22 00:53:34 -04:00
Roberto Rosario eda919657e Add transaction handling to cluster scope 2012-09-22 00:52:04 -04:00
Roberto Rosario 88bfe29365 Register setup link in registry 2012-09-22 00:51:33 -04:00
Roberto Rosario 76b0508c9e Remove old imports 2012-09-22 00:51:15 -04:00
Roberto Rosario 30067f46b6 Register setup link in registry 2012-09-22 00:50:15 -04:00
Roberto Rosario 799c0cfd57 Don't register setup link in __init__ 2012-09-22 00:49:57 -04:00
Roberto Rosario 2b27a86723 Convert constant load values to settings 2012-09-22 00:49:25 -04:00
Roberto Rosario e230c1d4e2 Add cluster wide settings 2012-09-22 00:49:01 -04:00
Roberto Rosario c1b8544c5a Move defaul values to literals.py 2012-09-22 00:48:42 -04:00
Roberto Rosario 278704bb91 Don't register setup link in __init__ 2012-09-22 00:48:21 -04:00
Roberto Rosario 837a3f63fb Update icon rendering 2012-09-22 00:47:57 -04:00
Roberto Rosario 2bc008d298 Add new default icon for the cancel button in forms 2012-09-22 00:47:36 -04:00
Roberto Rosario 5fa0c9ccfb Always register the Django's admin link 2012-09-22 00:46:49 -04:00
Roberto Rosario 789f68521e Update the theme settings tag to use the correct settings module 2012-09-22 00:46:02 -04:00
Roberto Rosario eabc42bf64 Use new icon templatetag 2012-09-22 00:45:37 -04:00
Roberto Rosario aef795bffa Add template tag to render icons directly from the templates 2012-09-22 00:45:03 -04:00
Roberto Rosario 628e74da95 Improve model conversion to trashable, update initial migration 2012-09-22 00:44:09 -04:00
Roberto Rosario 571ce1723c Update user management app to use app registry 2012-09-22 00:43:32 -04:00
Roberto Rosario 830fa56d38 Update the required python-magic version 2012-09-22 00:42:44 -04:00
Roberto Rosario b85431a4dc Update and re enable document_signature app 2012-09-16 03:57:46 -04:00
Roberto Rosario 0d382a7dd8 Update signature states to use new Icon class 2012-09-16 03:57:08 -04:00
Roberto Rosario 6f585a2836 Update and re-enable ocr app 2012-09-16 03:30:32 -04:00
Roberto Rosario a4bbc65508 Update the clustering and job processor app to use the ClusterScope setting and not their own settings singleton 2012-09-15 04:56:58 -04:00
Roberto Rosario fa2795dd96 Add cluster wide setting for the job processor app 2012-09-15 04:24:37 -04:00
Roberto Rosario 0477fe4b44 Enable Django admin views 2012-09-15 04:23:03 -04:00
Roberto Rosario 88a56f14ea Complete Cluster Scope settings scope read only support 2012-09-15 04:22:20 -04:00
Roberto Rosario d9b6c01ac7 Improve icon url composition 2012-09-15 04:21:35 -04:00
Roberto Rosario d44646aa60 Update and enable the job_processor app 2012-09-15 03:53:34 -04:00
Roberto Rosario 00eae9702a Fix LocalScope default global name 2012-09-15 03:35:07 -04:00
Roberto Rosario 1692de6b7d Add search recent count setting 2012-09-14 19:12:38 -04:00
Roberto Rosario fbcc556558 Remove the Link class obsolete sprite argument 2012-09-14 17:20:08 -04:00
Roberto Rosario a44f9a1f84 Remove duplicate tool link registration 2012-09-14 16:00:56 -04:00
Roberto Rosario a44feda52f Add icon file for the main app 2012-09-14 03:32:17 -04:00
Roberto Rosario 8f119b814f Remove explitic registration and all in one link creation 2012-09-14 03:31:50 -04:00
Roberto Rosario ac43959c0c Fix Link class import 2012-09-14 03:31:27 -04:00
Roberto Rosario 14487ebf05 Fix Link class import 2012-09-14 03:31:05 -04:00
Roberto Rosario 602bf45d1b Remove explicit tool registration 2012-09-14 03:30:43 -04:00
Roberto Rosario 687dbaa82a Move navigation app classes to a separate classes file 2012-09-14 03:30:10 -04:00
Roberto Rosario d13b1d40a4 Fix link registratio from menu to tool 2012-09-14 03:27:24 -04:00
Roberto Rosario 941fcad063 Add web theme app icon 2012-09-14 03:26:59 -04:00
Roberto Rosario 4bd7fa25ac Add registry file to web theme app 2012-09-14 03:26:40 -04:00
Roberto Rosario da1a6420b3 Remove empty models and views files 2012-09-14 03:21:25 -04:00
Roberto Rosario 036cba29c3 Fix settings imports 2012-09-14 02:26:13 -04:00
Roberto Rosario 1a949719eb Update and enable the trash app 2012-09-14 02:25:58 -04:00
Roberto Rosario f8960eb475 Further updates to use new icon server, fix registry typo 2012-09-14 02:08:20 -04:00
Roberto Rosario 85ebf42a79 Update and enable the dynamic search app 2012-09-14 02:00:59 -04:00
Roberto Rosario bed5b4621d Update and enable the document comments app 2012-09-14 01:37:56 -04:00
Roberto Rosario 95137ec5b0 Enable folders app 2012-09-13 17:11:40 -04:00
Roberto Rosario 784467969a Update mimetype app for the new icon API 2012-09-13 17:11:17 -04:00
Roberto Rosario 61730878e4 Add ICON_SET setting 2012-09-13 17:11:00 -04:00
Roberto Rosario 40f3445bd6 Defer actual rendering to the iconset class 2012-09-13 17:10:30 -04:00
Roberto Rosario 8906e5c249 Remove remarked code 2012-09-13 17:10:04 -04:00
Roberto Rosario d7b8ed8814 Update folders app to use registry and new icon class 2012-09-13 17:09:46 -04:00
Roberto Rosario d304bcb8c7 Add app menu entries from the registry 2012-09-13 17:09:10 -04:00
Roberto Rosario 88d4f2da0c Enable updated apps 2012-09-11 13:00:21 -04:00
Roberto Rosario aec8d05747 Add new icons 2012-09-11 13:00:07 -04:00
Roberto Rosario 87cb368c09 Update linking registy icon and description 2012-09-11 12:59:40 -04:00
Roberto Rosario 29423dc85b Cleanup remarked code 2012-09-11 12:59:23 -04:00
Roberto Rosario 812a7296ee Update and enable the clustering app 2012-09-11 12:59:06 -04:00
Roberto Rosario ecb237ccd7 Initial changes to support the ClusertScope 2012-09-11 12:58:45 -04:00
Roberto Rosario 66f451b23f Update and enable the scheduler app 2012-09-11 12:58:09 -04:00
Roberto Rosario 99303d2f95 Add new icons used by the tags and linking apps 2012-09-11 09:53:13 -04:00
Roberto Rosario 22b31929a3 Fix two_state_template output rendering 2012-09-11 09:52:51 -04:00
Roberto Rosario 97f386e3bb Update the tags app to use registry and new icon system 2012-09-11 09:52:18 -04:00
Roberto Rosario 5c112d8948 Update and enable the linking app 2012-09-11 09:51:41 -04:00
Roberto Rosario a332039673 Add additional icons for the document app 2012-09-11 05:51:31 -04:00
Roberto Rosario e352be4f73 Add missing import 2012-09-11 05:51:07 -04:00
Roberto Rosario bec08ac617 Fix typo 2012-09-11 05:50:52 -04:00
Roberto Rosario ae40acd4f7 Remove document version file field storage monkey patch 2012-09-11 05:21:20 -04:00
Roberto Rosario 76b89dfb36 Finish updating and reenabling metadata app 2012-09-11 05:20:35 -04:00
Roberto Rosario 2cb1d7b34c Add default_icons template tag to popular context with default icons 2012-09-11 04:41:43 -04:00
Roberto Rosario f3b099d212 Implement assign_remove view's form submit icon substitution 2012-09-11 04:41:00 -04:00
Roberto Rosario e9cba726a6 Add group members icon 2012-09-11 04:26:20 -04:00
Roberto Rosario 93bd4f2ff8 Fix active and usable password column icons 2012-09-11 04:23:21 -04:00
Roberto Rosario 395b8564d4 Add password reset icon 2012-09-11 04:23:06 -04:00
Roberto Rosario 231018c34c Allow creation of dependency app on the fly 2012-09-11 04:18:07 -04:00
Roberto Rosario 37bfe86823 Merge branch 'feature/icon_server' into development 2012-09-11 00:16:01 -04:00
Roberto Rosario 7cecdb70f3 Update current update and workings apps 2012-09-11 00:15:07 -04:00
Roberto Rosario bfdeb08efe Release notes reminder update 2012-09-11 00:14:52 -04:00
Roberto Rosario 7fe25e6c46 Add OCR icon literals 2012-09-11 00:14:34 -04:00
Roberto Rosario 93fb5fb85f Disable previous app registry api 2012-09-11 00:14:12 -04:00
Roberto Rosario 650681bfcf Initial registry updates for the metadata app 2012-09-11 00:11:43 -04:00
Roberto Rosario 50f8242b21 Initial registry updates for the dynamic search app 2012-09-11 00:07:13 -04:00
Roberto Rosario 52c3ec8cc6 Initial registry updates for the linking app 2012-09-11 00:03:52 -04:00
Roberto Rosario babdc4e93a Initial changes to update the OCR app 2012-09-10 23:30:13 -04:00
Roberto Rosario 8728167044 Update converter to use app registry and deferred imports 2012-09-10 23:10:23 -04:00
Roberto Rosario 9cb9717793 Remove debug statement 2012-09-10 23:09:55 -04:00
Roberto Rosario 08a0f80918 Add rest api app description 2012-09-10 23:09:36 -04:00
Roberto Rosario b06c518ee7 Add project tools app registry 2012-09-10 23:09:20 -04:00
Roberto Rosario a243646860 Add project setup app registry 2012-09-10 23:09:00 -04:00
Roberto Rosario 4d7999cadb Fixed the documents app and updated to latest app registry api 2012-09-10 22:17:30 -04:00
Roberto Rosario e63b596ff5 Icon class can now be force to display a particular icon set 2012-09-10 22:10:47 -04:00
Roberto Rosario 54a7038873 Update statistics app to use registry 2012-09-10 22:10:24 -04:00
Roberto Rosario 37c09c866e Add document app registry file 2012-09-10 22:10:05 -04:00
Roberto Rosario 48aec019e7 Add document app's post init file 2012-09-10 22:09:44 -04:00
Roberto Rosario 190c273673 Add document apps icons and set links to use them 2012-09-10 22:09:15 -04:00
Roberto Rosario ea491af4d9 Simplify the project's description 2012-09-10 22:08:48 -04:00
Roberto Rosario 6b043d8622 Cleanups, add logging and statistics registration to the app registry app 2012-09-10 22:08:20 -04:00
Roberto Rosario efdaaa56b9 Remove debug commands 2012-09-10 22:07:56 -04:00
Roberto Rosario d79cede03a Add new icon literals and enable them in the fat cow icon set 2012-09-10 22:07:19 -04:00
Roberto Rosario ee24389aca Add an aditional icon to the history app for external use 2012-09-10 22:06:50 -04:00
Roberto Rosario 0299a26ebd Enable the new custom icon set 2012-09-10 22:06:24 -04:00
Roberto Rosario 39b477064e Update the user management app's registry info 2012-09-10 22:06:00 -04:00
Roberto Rosario a7c76e1a73 Update the rest api app to use app registry 2012-09-10 22:05:32 -04:00
Roberto Rosario 43ab280e98 Add a new custom icon set to the icons app 2012-09-10 22:05:12 -04:00
Roberto Rosario 9ee23dabd6 Fix .settings module name class with django's top settings 2012-09-10 22:04:21 -04:00
Roberto Rosario d05c773be3 Remove commented, old code 2012-09-10 22:03:24 -04:00
Roberto Rosario 0a52b9189e Bump version and remove decrepated config options 2012-09-10 22:02:55 -04:00
Roberto Rosario 7fc4c4ee22 Update the main to use app registry 2012-09-10 22:02:27 -04:00
Roberto Rosario 3fe003b83b Update the mimetype app to user the new registry and icon apps 2012-09-10 22:01:28 -04:00
Roberto Rosario 5af95b116f Update acl app icon 2012-09-08 04:11:22 -04:00
Roberto Rosario 97d0ea66a0 Update local manager app to user icons and app registry 2012-09-08 04:06:46 -04:00
Roberto Rosario ad44435308 Correctly catch app with no icon and display placeholder icon 2012-09-08 04:06:20 -04:00
Roberto Rosario 0d53bb48c2 Update the acls app to user the app registry 2012-09-08 03:55:32 -04:00
Roberto Rosario 7c0a7771d2 Catch invalid source object references to at least display something 2012-09-08 03:49:26 -04:00
Roberto Rosario b61be09fe2 Update the navigation app to use app registry and icon system 2012-09-08 03:48:46 -04:00
Roberto Rosario fd5777badb Update the django gpg app to user app regitry and new icon system 2012-09-08 03:46:26 -04:00
Roberto Rosario 9ef2bfc165 Update the storage app to assign itself and icon and register with the app registry 2012-09-08 03:25:49 -04:00
Roberto Rosario fd54e9c9d9 Add app registration to the history app 2012-09-08 03:06:19 -04:00
Roberto Rosario 046aa3b993 Update history app's icon 2012-09-08 02:57:24 -04:00
Roberto Rosario 86f2ed56e0 Update the diagnostics, maintenance and statistics apps icons 2012-09-08 02:54:08 -04:00
Roberto Rosario 93814fa5b8 Separate once again the app registry and the backup apps 2012-09-08 02:53:15 -04:00
Roberto Rosario 0c6ac337f5 Simplify project_setup app init 2012-09-07 03:37:31 -04:00
Roberto Rosario 9afba087bd Delete old settings app, move translations to new settings app 2012-09-07 03:36:40 -04:00
Roberto Rosario 216e977efe Move project setup links to a separate file 2012-09-07 02:18:16 -04:00
Roberto Rosario 7ec2a1e03b Add user management registry file 2012-09-07 02:18:04 -04:00
Roberto Rosario 4c1bfd5f61 Add permission post init to initialize signal handler and registry file 2012-09-07 02:17:31 -04:00
Roberto Rosario e886dfc724 Move tool link registration to registry.py 2012-09-07 02:17:07 -04:00
Roberto Rosario 1c6e90a37d Initialize the converter backend later to allow proper registration of app 2012-09-07 02:15:30 -04:00
Roberto Rosario 232361bd45 Main app updates 2012-09-07 02:05:40 -04:00
Roberto Rosario 49c70ab8ed Add new literals to icon app 2012-09-07 02:05:12 -04:00
Roberto Rosario 026647c93e User management app updates 2012-09-07 02:04:49 -04:00
Roberto Rosario 4db14e71da Permissions app updates 2012-09-07 02:04:38 -04:00
Roberto Rosario c906a5dcee Common app updates 2012-09-07 02:04:14 -04:00
Roberto Rosario 9e4a7025de Add registry app updates 2012-09-07 02:04:00 -04:00
Roberto Rosario 0baae26168 Smart settings app updates 2012-09-07 02:03:45 -04:00
Roberto Rosario d5d8cbded9 Template updates for the new icon server 2012-09-06 14:20:55 -04:00
Roberto Rosario 8e4418c1c7 Convert project setup app to new icon system 2012-09-06 14:19:25 -04:00
Roberto Rosario dbbaf11275 Convert project_tools app to new icon system 2012-09-06 14:19:08 -04:00
Roberto Rosario 40fcbc310f Register icon app with app registry add additional literals 2012-09-06 14:18:42 -04:00
Roberto Rosario 9eafd7d3e1 Update acl to new icon app 2012-09-05 14:09:50 -04:00
Roberto Rosario abe3885ae6 Update navigation app to new icon app 2012-09-05 14:09:13 -04:00
Roberto Rosario 7e44247319 Update converter app to new settings and icon apps 2012-09-05 14:08:47 -04:00
Roberto Rosario b0c1296ecc Start converting user management app to new icon app 2012-09-05 14:07:29 -04:00
Roberto Rosario 773442425e Conver web app theme to new settings app 2012-09-05 14:07:06 -04:00
Roberto Rosario 7180245f8c Add again smart settings as a separate app 2012-09-05 14:06:44 -04:00
Roberto Rosario a740b63cdf Icon app updates 2012-09-05 14:06:28 -04:00
Roberto Rosario 88e9856a72 Icon server app updates 2012-09-05 13:39:23 -04:00
Roberto Rosario 08cd41cd20 Merge branch 'feature/backup' into development 2012-08-24 15:15:42 -04:00
Roberto Rosario c25394e360 Set cache defaults 2012-08-24 15:15:25 -04:00
Roberto Rosario e8951c8bed Add Stephen Knox to contributors file 2012-08-24 14:53:12 -04:00
Roberto Rosario e14238bb70 Move tags app links to a separate file 2012-08-21 09:16:13 -04:00
Roberto Rosario 8a27f90fcf Fix document statistics minimum page documents calculation 2012-08-21 08:59:01 -04:00
Roberto Rosario e02f39a6e0 Remove confusing double selected menu items during metadata setup 2012-08-21 08:55:32 -04:00
Roberto Rosario 37febb3308 Allow searching for documents via their metadata types too (Stephen Knox) 2012-08-21 08:31:54 -04:00
Roberto Rosario f665c52bf2 Update method to return icon set icon and sprite name from dictionary map 2012-08-19 02:35:40 -04:00
Roberto Rosario c6d2246a87 Fix dictionary syntax error 2012-08-19 02:35:12 -04:00
Roberto Rosario 0e8c2a9325 Reference exception correctly 2012-08-19 02:34:45 -04:00
Roberto Rosario 51189281ea Raise exception as model member 2012-08-19 02:34:13 -04:00
Roberto Rosario 470d4920a6 Remove obsolote import 2012-08-19 02:33:49 -04:00
Roberto Rosario 915107e0e5 Add configuration settings support to icons app 2012-08-18 10:25:53 -04:00
Roberto Rosario 22bfb93504 Add Choice class 2012-08-18 10:25:34 -04:00
Roberto Rosario cef6af6cca Update icon app 2012-08-18 10:25:09 -04:00
Roberto Rosario dac5dd3464 Update app to the app registry API 2012-08-18 10:23:47 -04:00
Roberto Rosario 00b9bf6061 Continue config the backup moduel 2012-08-18 10:22:46 -04:00
Roberto Rosario 08dc52c653 Add icon display widget 2012-08-18 09:33:58 -04:00
Roberto Rosario 2fbcb91417 Improve TranslatableLabelMixin to allow any amount of translatable fields 2012-08-18 06:39:40 -04:00
Roberto Rosario 76caa758d0 Update Django required version to 1.4.1 2012-08-18 06:39:21 -04:00
Roberto Rosario aec552a068 Update .gitignore file 2012-08-17 19:52:38 -04:00
Roberto Rosario 67b4e7ebc3 Merge app_registry and backups apps 2012-08-17 19:52:09 -04:00
Roberto Rosario e7727a4033 Don't register backup for this app 2012-08-17 04:01:14 -04:00
Roberto Rosario a1435c7358 Fix storage module choice list output, consolidate backup element filename creation 2012-08-17 04:00:41 -04:00
Roberto Rosario e2b6541e6e Show app icon name 2012-08-17 04:00:18 -04:00
Roberto Rosario 86ad9bbe46 Reorder imports 2012-08-17 04:00:02 -04:00
Roberto Rosario df34097450 Add backup icon literal 2012-08-17 03:59:32 -04:00
Roberto Rosario f612948ba4 Add migration to increase storage class name field 2012-08-17 03:34:19 -04:00
Roberto Rosario 4b9b8d279a Fix typo 2012-08-17 03:34:09 -04:00
Roberto Rosario c9811c6a76 Update init files to register more app with the app registre app as well as the backup app 2012-08-17 03:33:39 -04:00
Roberto Rosario 29654c5f99 Update backup app api, add new LocalFilesystemStorage, show apps in backup list 2012-08-17 03:32:11 -04:00
Roberto Rosario 539d6f6581 Reorder imports 2012-08-16 13:55:27 -04:00
Roberto Rosario ae6396e31b Update upgrade instructions 2012-08-16 13:54:40 -04:00
Roberto Rosario 7c6bfd3471 Change all references from app.name to app instance 2012-08-16 13:54:19 -04:00
Roberto Rosario 93a72f63d1 Update app list for a backup job properly, use custom checkbox list 2012-08-16 13:53:19 -04:00
Roberto Rosario 6f3f883f75 Add app registration exception catch 2012-08-16 13:51:32 -04:00
Roberto Rosario 1e3829c1d8 Use proper exception catch when app_registry is registering itself 2012-08-16 13:51:04 -04:00
Roberto Rosario bae1d1004d Catch app registration exception 2012-08-16 07:36:33 -04:00
Roberto Rosario 7bb708a8c3 Add exception for when unable to register an App 2012-08-16 07:36:12 -04:00
Roberto Rosario 5b1457a2bc Move document types link to be last 2012-08-15 01:53:38 -04:00
Roberto Rosario c05b9d0c3a Show document types to index in index list view 2012-08-15 01:52:49 -04:00
Roberto Rosario 58019de21b Don't pass mimetype to render_to_viewport method 2012-08-15 01:34:29 -04:00
Roberto Rosario e6f8817db3 Fix mix document count statistic 2012-08-15 01:21:56 -04:00
Roberto Rosario b9b7ab73bb Exclude the document type file for the index edit form 2012-08-15 00:40:59 -04:00
Roberto Rosario 15254f994c Backport translation file and additional languages from development branch 2012-08-14 16:30:25 -04:00
Roberto Rosario 26019a81d7 Backport language translation utility from development branch 2012-08-14 16:26:47 -04:00
Roberto Rosario db905a2a13 Backport support to limit an index to a particular set of document types, as well as balance the index tree template permissions 2012-08-14 16:02:34 -04:00
Roberto Rosario fc61ad1440 Update backup app to use the App model from the app registry models 2012-08-14 13:54:53 -04:00
Roberto Rosario d02e5b1d37 Add App registry app 2012-08-14 13:54:20 -04:00
Roberto Rosario e73d48eda3 Add icon manager 2012-08-14 13:54:05 -04:00
Roberto Rosario 5ba0c35894 Remove debug statement 2012-08-14 00:41:15 -04:00
Roberto Rosario 2f7ed43713 Don't truncate document type id string from url 2012-08-14 00:40:52 -04:00
Roberto Rosario 1ec255ee06 Backport Git repository support for the installation report app 2012-08-14 00:35:26 -04:00
Roberto Rosario b139350891 Use locking to prevent race condition at installation app posting 2012-08-14 00:30:24 -04:00
Roberto Rosario f3b7b39768 Rollback transaction for installion app during syncdb 2012-08-14 00:26:56 -04:00
Roberto Rosario fe080d497c Update APScheduler to latest version (2.0.3) 2012-08-14 00:24:49 -04:00
Roberto Rosario bfb9f14f0e Shutdown scheduler on management commands and on every exit 2012-08-14 00:24:26 -04:00
Roberto Rosario 60c7491f37 Improve document type setup views navigation 2012-08-14 00:06:43 -04:00
Roberto Rosario 0e9cda6547 Add backup job list, create, edit, test views 2012-08-11 08:40:47 -04:00
Roberto Rosario 141db9dc34 Create job queue for remote backups 2012-08-10 20:16:34 -04:00
Roberto Rosario a76a3b28fd Update Folders and Document apps to use the latest backup classes definitions 2012-08-10 20:00:03 -04:00
Roberto Rosario 731835ef70 Add further methods and refine backup classes 2012-08-10 19:07:11 -04:00
Roberto Rosario 09c53aed19 Start of working BackupManager class 2012-08-10 14:20:38 -04:00
Roberto Rosario fd3eed6bd1 Initial commit of the backup/restore app 2012-08-10 13:51:33 -04:00
Roberto Rosario 82eb31e4ec Merge branch 'feature/local_scanner_support' into development 2012-08-09 04:56:10 -04:00
Roberto Rosario d341800ec5 Add more debugging 2012-08-09 04:55:44 -04:00
Roberto Rosario 2860ad46af Updates for a working local scanner source 2012-08-09 04:55:14 -04:00
Roberto Rosario be55d23c34 Cache found scanners to avoid further searches 2012-08-08 05:39:46 -04:00
Roberto Rosario 388a4b0dd7 Initial import to support local scanner sources 2012-08-08 05:21:42 -04:00
Roberto Rosario 2c7fea8baf Don't show trash can internal name 2012-08-08 03:21:30 -04:00
Roberto Rosario d9b246c590 Capitalize trash can names 2012-08-08 03:21:18 -04:00
Roberto Rosario ab1112ab89 Trim job queue item unique id to avoid column mayhem in small displays 2012-08-08 03:20:27 -04:00
Roberto Rosario d23cf986e0 Add translation file for the trash app 2012-08-08 03:02:31 -04:00
Roberto Rosario 91a5b5c7b3 Lower CPU MAX LOAD to avoid nodes launching too many workers and failing to send heartbeats or respond to web requests 2012-08-08 02:54:34 -04:00
Roberto Rosario 336f9c3880 Add support for purging trash can items, improve redirection after restoring, improve navigation 2012-08-08 02:52:37 -04:00
Roberto Rosario 5bd4d6ee77 Use the correct icon for the find duplicates confirmation dialog 2012-08-08 02:11:30 -04:00
Roberto Rosario f705c84d4d Merge branch 'feature/trash_can_support' into development 2012-08-07 01:44:19 -04:00
Roberto Rosario c304d1ed27 Add multiple trash can support, restoring and complete source object manager and queryset method substitution 2012-08-07 01:42:44 -04:00
Roberto Rosario 332156b590 Remove import of non existing code 2012-08-06 19:44:19 -04:00
Roberto Rosario df527b1fd4 Initial commit of the trash app 2012-08-06 19:44:01 -04:00
Roberto Rosario 576a2cc643 Support passing MIMETypes and actual document filenames to TextParser for better lexer guessing 2012-08-06 03:00:09 -04:00
Roberto Rosario 27c0a3ef43 Remove old OCR url 2012-08-06 02:59:46 -04:00
Roberto Rosario 377032b92a Move old OCR queue handling code to job_processor app 2012-08-06 02:12:58 -04:00
Roberto Rosario 37160efe9f Add icon for the missing document diagnostic 2012-08-06 01:18:00 -04:00
Roberto Rosario 81abd524b4 Show numbers of jobs in a scheduler 2012-08-06 01:17:22 -04:00
Roberto Rosario 9f84439099 Refactor diagnostics app 2012-08-06 01:17:02 -04:00
Roberto Rosario 66c398c884 Refactor maintenance tools app 2012-08-06 00:56:26 -04:00
Roberto Rosario c15ec9ce8d Add clustering, job_processor and lock_manager apps to the transifex config file 2012-08-05 22:47:15 -04:00
Roberto Rosario d7ff892b8f Add lock_manager app translation files 2012-08-05 22:44:29 -04:00
Roberto Rosario da8d9a4b88 Add job_processor app translation files 2012-08-05 22:44:14 -04:00
Roberto Rosario a1706de879 Add clustering app translation files 2012-08-05 22:43:36 -04:00
Roberto Rosario b563404324 Add clustering, job_processor and lock_manager to the languages processor script 2012-08-05 22:43:08 -04:00
Roberto Rosario 782802136a Merge branch 'feature/job_queue_priority' into development 2012-08-05 22:40:37 -04:00
Roberto Rosario fdfeac6ae5 Simplify simple_lock decorator 2012-08-05 22:40:19 -04:00
Roberto Rosario a97a048d9c Add job queue priority support 2012-08-05 22:39:44 -04:00
Roberto Rosario 7c879a6546 Rename diff content label 2012-08-04 04:14:18 -04:00
Roberto Rosario 790092f776 Merge branch 'feature/version_text_compare' into development 2012-08-04 04:12:19 -04:00
Roberto Rosario f0f28a397c Fix document version content method to show content from doc version and not parent document 2012-08-04 04:11:25 -04:00
Roberto Rosario c5515f5054 Add support for comparing document versions 2012-08-04 04:11:03 -04:00
Roberto Rosario 34c3fd61fb Only show healthy nodes in the cluster node view 2012-08-04 04:10:11 -04:00
Roberto Rosario 52419b8b73 Improve removal of dead workers 2012-08-04 00:56:13 -04:00
Roberto Rosario 6d8dc886ca Improve job transaction handling 2012-08-04 00:55:47 -04:00
Roberto Rosario 8435f3c1a2 Rename AutoAdminSingleton manager name 2012-08-03 20:08:41 -04:00
Roberto Rosario 666db3dfcc Update manager name for AutoAdminSingleton 2012-08-03 20:05:43 -04:00
Roberto Rosario 29c120c9dd Fix import 2012-08-03 20:00:41 -04:00
Roberto Rosario 384209d2aa Add support for terminating local workers 2012-08-03 17:38:38 -04:00
Roberto Rosario ac60654cc9 Implement dead job and dead worker cleanups, add discovered node subprocess as anonymous workers 2012-08-03 16:10:27 -04:00
Roberto Rosario ecd88553e4 Add the node_heartbeat signal 2012-08-03 14:55:03 -04:00
Roberto Rosario 784aff8ded Terminate the current node's processes on exit 2012-08-03 14:54:14 -04:00
Roberto Rosario b812a68777 Add initial support for deleting pending jobs and requeuing failed jobs 2012-08-03 13:35:06 -04:00
Roberto Rosario d7ddbc2c62 Reuse request, current_path and current_view variables when resolving links 2012-08-03 12:55:34 -04:00
Roberto Rosario a50cd33b38 Don't display any HTML tag of links that are not visible 2012-08-03 12:23:00 -04:00
Roberto Rosario a5d7424fb8 Reorganize bootstrap imports yet again 2012-08-03 10:52:15 -04:00
Roberto Rosario 59e75176fe Change import order to avoid conflict 2012-08-03 10:48:34 -04:00
Roberto Rosario 8b4cf87368 Tweak db connection closing to ensure a fresh connection to high frequency called code 2012-08-03 06:19:17 -04:00
Roberto Rosario 239f6467fe Make sure node hostname is unique 2012-08-03 06:06:09 -04:00
Roberto Rosario 9ff4ff75ff Remove some close connections from jobs sub process 2012-08-03 06:02:34 -04:00
Roberto Rosario da8eb2e508 Close database connection after lock access to keep this high call code from keeping too many open connections 2012-08-03 06:01:29 -04:00
Roberto Rosario 71c01670ac Add node when dispatching the dead_node signal 2012-08-03 05:43:06 -04:00
Roberto Rosario 60b2998b65 Explicit heartbeat update method, only check healthy nodes for HB timeout, default node state on creation is 'dead' 2012-08-03 05:40:01 -04:00
Roberto Rosario 5019b1a01f Move node creation default values to literals.py 2012-08-03 05:34:14 -04:00
Roberto Rosario 027f754209 Scheduler house_keeping task based on cluster config parameters 2012-08-03 05:32:57 -04:00
Roberto Rosario b779042694 Update updated singleton manager names 2012-08-03 05:32:22 -04:00
Roberto Rosario 610f9b94e7 Change the singleton manager name from 'objects' to 'singleton' to avoid overwritten managers 2012-08-03 05:31:43 -04:00
Roberto Rosario a549c0e6df Add state field to node class 2012-08-02 21:27:42 -04:00
Roberto Rosario 5cd81ddebb Add reminders to the release notes of 0.13 2012-08-01 18:53:42 -04:00
Roberto Rosario 0d8febc902 Udate the required version of Pillow 2012-08-01 18:52:13 -04:00
Roberto Rosario 9bb7821553 Display horizontal separator only for links that are visible 2012-08-01 16:56:03 -04:00
Roberto Rosario 7b5a64f434 Add support for starting and stopping a job queue 2012-08-01 16:07:56 -04:00
Roberto Rosario 198a2908d2 Remove debug statements 2012-08-01 04:43:19 -04:00
Roberto Rosario 82cb106051 Add release notes reminders 2012-08-01 04:18:23 -04:00
Roberto Rosario dd00296c0a Add clear_all class method to LocalScheduler 2012-08-01 04:15:43 -04:00
Roberto Rosario f43f496241 Add view, permission, links to edit global job processing config 2012-08-01 04:15:11 -04:00
Roberto Rosario 833e149921 Add view for editing global cluster config 2012-08-01 04:14:31 -04:00
Roberto Rosario b238874ddb Rename lockdown variable to avoid class with class method 2012-08-01 02:43:03 -04:00
Roberto Rosario 637d77fdcb Add fabfile's server_config.yaml to the ignored files 2012-08-01 01:56:16 -04:00
Roberto Rosario c2bf923e3e Merge branch 'feature/ocr_document_version' into development 2012-08-01 01:47:40 -04:00
Roberto Rosario cdb6e7c6c6 Spelling update 2012-08-01 01:47:08 -04:00
Roberto Rosario 74b87026ca Make a node worker count appear after it's main list view attributes 2012-08-01 01:46:26 -04:00
Roberto Rosario 8f714a9fa9 Add reminder 2012-08-01 01:46:09 -04:00
Roberto Rosario 8f08296e7b Update bind_links to accept single links as well as lists for the links argument 2012-08-01 01:44:55 -04:00
Roberto Rosario 344e738c48 Update apps interface for the new LocalScheduler class 2012-08-01 01:43:00 -04:00
Roberto Rosario 859109c378 Refactor scheduler 2012-08-01 01:41:37 -04:00
Roberto Rosario ffaf01c637 Add job queue list, pending, active and error queue items view, links and permissions 2012-07-31 01:19:08 -04:00
Roberto Rosario c3ac4a623a Add clustering migrations 2012-07-30 23:51:29 -04:00
Roberto Rosario 87c958638d Implement clustering housekeeping, deleting 'dead' nodes 2012-07-30 23:51:05 -04:00
Roberto Rosario 014b2f1d1f Do some more updates to the .gitignore file 2012-07-30 17:13:53 -04:00
Roberto Rosario 7b526305dc Do some more updates to the .gitignore file 2012-07-30 17:13:22 -04:00
Roberto Rosario 278a7ee878 Add missing template from fabfile installer (Thanks to Pierre Host) 2012-07-30 16:53:55 -04:00
Roberto Rosario a143c04e12 Only ignore the top settings_local.py file 2012-07-30 16:53:47 -04:00
Roberto Rosario 6930f76f2f Only ignore the top settings_local.py file 2012-07-30 16:53:08 -04:00
Roberto Rosario 60972cd0ba Add missing template from fabfile installer (Thanks to Pierre Host) 2012-07-30 16:52:35 -04:00
Roberto Rosario e0fbac66d1 Connect the worker with the job queue item that spawned it 2012-07-30 16:23:38 -04:00
Roberto Rosario d339a250fe Don't hide worker objects 2012-07-30 13:16:19 -04:00
Roberto Rosario 6d8aebb411 Change name 2012-07-30 13:13:59 -04:00
Roberto Rosario c2da6512e4 Record and display worker name correctly 2012-07-30 13:11:15 -04:00
Roberto Rosario cfb1278c7e Use floating point literals 2012-07-30 13:07:01 -04:00
Roberto Rosario 1f2b5b6d29 Fix inverted logic 2012-07-30 13:06:42 -04:00
Roberto Rosario c14634dafa Update clustering app static files 2012-07-30 12:56:56 -04:00
Roberto Rosario 862bb43d93 Upgrade notes update 2012-07-30 12:56:39 -04:00
Roberto Rosario 2f6a1d4e76 Add job processing app migration 2012-07-30 12:56:27 -04:00
Roberto Rosario a7437a3ada Remove further code from the ocr app 2012-07-30 12:56:12 -04:00
Roberto Rosario 30eb32f888 Job processing app updates 2012-07-30 12:55:53 -04:00
Roberto Rosario 75f9c47e2b Add clustering app 2012-07-30 12:54:27 -04:00
Roberto Rosario 86144aa54a Update upgrade instructions 2012-07-30 10:58:40 -04:00
Roberto Rosario a574aa2c9f Add missing import 2012-07-30 10:58:22 -04:00
Roberto Rosario 243e5c01fa Add app level loggin used by the new decorator 2012-07-30 10:57:16 -04:00
Roberto Rosario 5b5b6fd785 Improve logging 2012-07-30 10:56:57 -04:00
Roberto Rosario 198538df4f Use the new simple lock decorator to simplify a job processor task 2012-07-30 10:56:12 -04:00
Roberto Rosario 96a1b68221 Fix some simple typos 2012-07-30 10:55:32 -04:00
Roberto Rosario ba2f2fc455 Add database migrations for the job processor app 2012-07-30 10:55:05 -04:00
Roberto Rosario 28f9f32d91 Add decorator helper for simple locks 2012-07-30 10:54:43 -04:00
Roberto Rosario 3762f90ada Use the new .myself method of Node 2012-07-30 09:23:10 -04:00
Roberto Rosario e0abb02df0 Improve Node.objects.myself to do a refresh 2012-07-30 09:22:37 -04:00
Roberto Rosario 486f983d4b Refactor job processing app to do actual job queue and job subprocess launching, remove queue mananger app, update ocr app to use new job processing app 2012-07-30 07:36:02 -04:00
Roberto Rosario 20856b1589 Add queue manager app to installed apps 2012-07-29 05:34:13 -04:00
Roberto Rosario b15f5538e1 Add OCR migration and doc update 2012-07-29 05:33:37 -04:00
Roberto Rosario d2e6df4dde Initial changes for the new queue based OCR processing 2012-07-29 05:33:04 -04:00
Roberto Rosario d97b3f344d Add shorthand get() class method for Singleton class 2012-07-29 05:32:17 -04:00
Roberto Rosario 9c6f10cc1c Add queue manager app 2012-07-29 05:31:45 -04:00
Roberto Rosario e442979ff2 flake8 cleanups 2012-07-29 02:09:42 -04:00
Roberto Rosario 96bd7cc044 Add missing PermissionDenied import 2012-07-29 01:59:21 -04:00
Roberto Rosario ddcc5921b9 Use relative imports in the ocr app 2012-07-29 01:57:13 -04:00
Roberto Rosario 7bfc960f9b Update documents and ocr apps to register their statistics to the statistics app instead of the other way around 2012-07-29 01:56:32 -04:00
Roberto Rosario bd2fbe605c Add support for registering of statistics functions instead of statics app importing from other apps 2012-07-29 01:55:27 -04:00
Roberto Rosario cee79dc0cc Add entry in FAQ about setting the default language 2012-07-29 01:27:32 -04:00
Roberto Rosario 3b44c785ca Update documentation to include mention of DEBUG_ON_EXCEPTION 2012-07-29 01:20:46 -04:00
Roberto Rosario 6fa0c226b0 Add PDB on exception debug tool and config setting 2012-07-29 01:14:32 -04:00
Roberto Rosario d1e59b1d7b Migrate all remaining apps with models classes to South 2012-07-29 01:13:50 -04:00
Roberto Rosario 74ec57b931 Move multi item link registration back to their separate apps until a better solution is found 2012-07-29 00:09:18 -04:00
Roberto Rosario e9c9b785c4 Final French translation sync 2012-07-28 17:00:48 -04:00
Roberto Rosario 0c493dff14 Update French translation team info 2012-07-28 15:34:02 -04:00
Roberto Rosario 13447a5f24 French translation work sync 2012-07-28 15:30:48 -04:00
Roberto Rosario 03fa9f9fb7 Merge branch 'feature/text_renderer_parser' into development 2012-07-28 05:51:23 -04:00
Roberto Rosario 4c71139055 Update the styling templatetag to not replace but append CSS classes 2012-07-28 05:42:54 -04:00
Roberto Rosario 24fc48ad85 Use the text_area_div css for the document page content edit text area 2012-07-28 05:42:21 -04:00
Roberto Rosario cf76d98546 Make the HTML div area widgets text bold 2012-07-28 05:41:46 -04:00
Roberto Rosario e2835ec85c Change document content windows from a <div> to a <pre> to conserve space formatting 2012-07-28 05:41:10 -04:00
Roberto Rosario 2812f007a1 Handle unicode in TextParser 2012-07-28 04:46:23 -04:00
Roberto Rosario f77c886e51 Register TextParser for OCR based on the list of MIME type it supports 2012-07-28 04:45:45 -04:00
Roberto Rosario 7e83a1074e Change the OCR_AUTOMATIC_OCR default to True, as per version 0.12.x 2012-07-28 04:45:05 -04:00
Roberto Rosario 6fa16ebb7e Add TextParser to the converter pipeline 2012-07-28 04:44:23 -04:00
Roberto Rosario 0c9a2d2c5d Remove unused converter test file 2012-07-28 03:19:06 -04:00
Roberto Rosario 0ec1cc3823 Add text parser and render using Pygments 2012-07-28 02:22:45 -04:00
Roberto Rosario 64c7804611 Update fabfile to place installation marker 2012-07-27 05:43:54 -04:00
Roberto Rosario 4c8a81e2d3 Adjust document indexing permissions 2012-07-27 05:32:44 -04:00
Roberto Rosario 7a11022b42 Merge branch 'feature/limit_indexing_by_type' into development 2012-07-27 05:28:34 -04:00
Roberto Rosario 0f53854c91 Add docs reminder 2012-07-27 05:27:04 -04:00
Roberto Rosario d59f975715 Add support for updating indexing per document type 2012-07-27 05:26:14 -04:00
Roberto Rosario 60fdd18e41 Add the messages context processor (Django 1.4) 2012-07-27 05:06:48 -04:00
Roberto Rosario b0eac5ffc3 Make the generate_choices_w_labels index based on the content type model name (spaceless) and not on the verbose name 2012-07-27 05:05:53 -04:00
Roberto Rosario d5ad65b93b Reshuffle the app order once again 2012-07-27 05:05:25 -04:00
Roberto Rosario a36d15b4e6 Add comments to the user management views 2012-07-27 04:19:23 -04:00
Roberto Rosario e6bbd5335d Fix bootstrap execute link sprite name 2012-07-27 03:57:15 -04:00
Roberto Rosario aa441f8212 Add python-requests and pbs to credits, remove entries to limit software actually included in Mayan's code 2012-07-27 03:46:27 -04:00
Roberto Rosario 5d86387e8e Add LibreOffice to requirements, fix wording in document visualization 2012-07-27 03:46:02 -04:00
Roberto Rosario e1bd1b6f55 Add info about text parsers and pdftotext to docs 2012-07-27 03:36:08 -04:00
Roberto Rosario bd4f25df15 Check for tesseract and unpaper using the config settings path, add pdftotext to the install report, make the version code smarter to catch unknown errors 2012-07-27 03:26:05 -04:00
Roberto Rosario 690b41f8d6 Add reminders to docs 2012-07-27 01:46:05 -04:00
Roberto Rosario e9185784a7 Prepare the new diagnostics, statistics and maintenance apps for translation 2012-07-27 01:24:20 -04:00
Roberto Rosario 2aff8ce165 Fix imports 2012-07-27 01:20:16 -04:00
Roberto Rosario d2d3429183 Point apps to the new maintenance app 2012-07-27 01:19:39 -04:00
Roberto Rosario 54d836ba07 Change link variable name to avoid import conflicts 2012-07-27 01:19:13 -04:00
Roberto Rosario f16fd37b61 Fix syntax error 2012-07-27 01:18:46 -04:00
Roberto Rosario 4fad1c3305 Move diagnostics, statistics and maintenance functions from the main app into separate apps 2012-07-27 01:06:56 -04:00
Roberto Rosario f8d94be59d Remove unused links from main app 2012-07-27 00:48:09 -04:00
Roberto Rosario d41195c6a0 Update translation files 2012-07-27 00:47:54 -04:00
Roberto Rosario 12487ccbca Tweak strings 2012-07-27 00:36:12 -04:00
Roberto Rosario 9c2bd2afae Add support to the message process tool to process single apps and single languages 2012-07-27 00:04:13 -04:00
Roberto Rosario da1232d615 Fix and update translation files 2012-07-27 00:03:52 -04:00
Roberto Rosario 595c9108fd Reorganize app load order 2012-07-26 23:01:29 -04:00
Roberto Rosario ef008c31cb Fix the binding of the bootstrap app links 2012-07-26 23:00:37 -04:00
Roberto Rosario eecf7c7751 Import and PEP8 cleanups 2012-07-26 22:42:36 -04:00
Roberto Rosario 24bf20b9d7 Merge branch 'hotfix/v0.12.3' into hotfix_0.12.3_merge
Conflicts:
	apps/acls/locale/de_DE/LC_MESSAGES/django.mo
	apps/acls/locale/en/LC_MESSAGES/django.po
	apps/acls/locale/es/LC_MESSAGES/django.mo
	apps/acls/locale/es/LC_MESSAGES/django.po
	apps/acls/locale/it/LC_MESSAGES/django.mo
	apps/acls/locale/pl/LC_MESSAGES/django.mo
	apps/acls/locale/pt/LC_MESSAGES/django.mo
	apps/acls/locale/pt/LC_MESSAGES/django.po
	apps/acls/locale/pt_BR/LC_MESSAGES/django.mo
	apps/acls/locale/pt_BR/LC_MESSAGES/django.po
	apps/acls/locale/ru/LC_MESSAGES/django.mo
	apps/common/locale/de_DE/LC_MESSAGES/django.mo
	apps/common/locale/de_DE/LC_MESSAGES/django.po
	apps/common/locale/en/LC_MESSAGES/django.po
	apps/common/locale/es/LC_MESSAGES/django.mo
	apps/common/locale/es/LC_MESSAGES/django.po
	apps/common/locale/it/LC_MESSAGES/django.mo
	apps/common/locale/it/LC_MESSAGES/django.po
	apps/common/locale/pl/LC_MESSAGES/django.mo
	apps/common/locale/pl/LC_MESSAGES/django.po
	apps/common/locale/pt/LC_MESSAGES/django.mo
	apps/common/locale/pt/LC_MESSAGES/django.po
	apps/common/locale/pt_BR/LC_MESSAGES/django.mo
	apps/common/locale/pt_BR/LC_MESSAGES/django.po
	apps/common/locale/ru/LC_MESSAGES/django.mo
	apps/common/locale/ru/LC_MESSAGES/django.po
	apps/converter/conf/settings.py
	apps/converter/locale/de_DE/LC_MESSAGES/django.mo
	apps/converter/locale/de_DE/LC_MESSAGES/django.po
	apps/converter/locale/en/LC_MESSAGES/django.po
	apps/converter/locale/es/LC_MESSAGES/django.mo
	apps/converter/locale/es/LC_MESSAGES/django.po
	apps/converter/locale/it/LC_MESSAGES/django.mo
	apps/converter/locale/it/LC_MESSAGES/django.po
	apps/converter/locale/pl/LC_MESSAGES/django.mo
	apps/converter/locale/pl/LC_MESSAGES/django.po
	apps/converter/locale/pt/LC_MESSAGES/django.mo
	apps/converter/locale/pt/LC_MESSAGES/django.po
	apps/converter/locale/pt_BR/LC_MESSAGES/django.mo
	apps/converter/locale/pt_BR/LC_MESSAGES/django.po
	apps/converter/locale/ru/LC_MESSAGES/django.mo
	apps/converter/locale/ru/LC_MESSAGES/django.po
	apps/django_gpg/locale/de_DE/LC_MESSAGES/django.mo
	apps/django_gpg/locale/en/LC_MESSAGES/django.po
	apps/django_gpg/locale/es/LC_MESSAGES/django.mo
	apps/django_gpg/locale/es/LC_MESSAGES/django.po
	apps/django_gpg/locale/it/LC_MESSAGES/django.mo
	apps/django_gpg/locale/pl/LC_MESSAGES/django.mo
	apps/django_gpg/locale/pt/LC_MESSAGES/django.mo
	apps/django_gpg/locale/pt/LC_MESSAGES/django.po
	apps/django_gpg/locale/pt_BR/LC_MESSAGES/django.mo
	apps/django_gpg/locale/pt_BR/LC_MESSAGES/django.po
	apps/django_gpg/locale/ru/LC_MESSAGES/django.mo
	apps/document_comments/locale/de_DE/LC_MESSAGES/django.mo
	apps/document_comments/locale/en/LC_MESSAGES/django.po
	apps/document_comments/locale/es/LC_MESSAGES/django.mo
	apps/document_comments/locale/es/LC_MESSAGES/django.po
	apps/document_comments/locale/it/LC_MESSAGES/django.mo
	apps/document_comments/locale/pl/LC_MESSAGES/django.mo
	apps/document_comments/locale/pt/LC_MESSAGES/django.mo
	apps/document_comments/locale/pt/LC_MESSAGES/django.po
	apps/document_comments/locale/pt_BR/LC_MESSAGES/django.mo
	apps/document_comments/locale/pt_BR/LC_MESSAGES/django.po
	apps/document_comments/locale/ru/LC_MESSAGES/django.mo
	apps/document_indexing/__init__.py
	apps/document_indexing/locale/de_DE/LC_MESSAGES/django.mo
	apps/document_indexing/locale/de_DE/LC_MESSAGES/django.po
	apps/document_indexing/locale/en/LC_MESSAGES/django.po
	apps/document_indexing/locale/es/LC_MESSAGES/django.mo
	apps/document_indexing/locale/es/LC_MESSAGES/django.po
	apps/document_indexing/locale/it/LC_MESSAGES/django.mo
	apps/document_indexing/locale/it/LC_MESSAGES/django.po
	apps/document_indexing/locale/pl/LC_MESSAGES/django.mo
	apps/document_indexing/locale/pl/LC_MESSAGES/django.po
	apps/document_indexing/locale/pt/LC_MESSAGES/django.mo
	apps/document_indexing/locale/pt/LC_MESSAGES/django.po
	apps/document_indexing/locale/pt_BR/LC_MESSAGES/django.mo
	apps/document_indexing/locale/pt_BR/LC_MESSAGES/django.po
	apps/document_indexing/locale/ru/LC_MESSAGES/django.mo
	apps/document_indexing/locale/ru/LC_MESSAGES/django.po
	apps/document_signatures/locale/de_DE/LC_MESSAGES/django.mo
	apps/document_signatures/locale/en/LC_MESSAGES/django.po
	apps/document_signatures/locale/es/LC_MESSAGES/django.mo
	apps/document_signatures/locale/es/LC_MESSAGES/django.po
	apps/document_signatures/locale/it/LC_MESSAGES/django.mo
	apps/document_signatures/locale/pl/LC_MESSAGES/django.mo
	apps/document_signatures/locale/pt/LC_MESSAGES/django.mo
	apps/document_signatures/locale/pt/LC_MESSAGES/django.po
	apps/document_signatures/locale/pt_BR/LC_MESSAGES/django.mo
	apps/document_signatures/locale/pt_BR/LC_MESSAGES/django.po
	apps/document_signatures/locale/ru/LC_MESSAGES/django.mo
	apps/documents/__init__.py
	apps/documents/forms.py
	apps/documents/locale/de_DE/LC_MESSAGES/django.mo
	apps/documents/locale/de_DE/LC_MESSAGES/django.po
	apps/documents/locale/es/LC_MESSAGES/django.mo
	apps/documents/locale/es/LC_MESSAGES/django.po
	apps/documents/locale/it/LC_MESSAGES/django.mo
	apps/documents/locale/it/LC_MESSAGES/django.po
	apps/documents/locale/pl/LC_MESSAGES/django.mo
	apps/documents/locale/pl/LC_MESSAGES/django.po
	apps/documents/locale/pt/LC_MESSAGES/django.mo
	apps/documents/locale/pt/LC_MESSAGES/django.po
	apps/documents/locale/pt_BR/LC_MESSAGES/django.mo
	apps/documents/locale/pt_BR/LC_MESSAGES/django.po
	apps/documents/locale/ru/LC_MESSAGES/django.mo
	apps/documents/locale/ru/LC_MESSAGES/django.po
	apps/documents/views.py
	apps/dynamic_search/locale/de_DE/LC_MESSAGES/django.mo
	apps/dynamic_search/locale/en/LC_MESSAGES/django.po
	apps/dynamic_search/locale/es/LC_MESSAGES/django.mo
	apps/dynamic_search/locale/es/LC_MESSAGES/django.po
	apps/dynamic_search/locale/it/LC_MESSAGES/django.mo
	apps/dynamic_search/locale/pl/LC_MESSAGES/django.mo
	apps/dynamic_search/locale/pt/LC_MESSAGES/django.mo
	apps/dynamic_search/locale/pt/LC_MESSAGES/django.po
	apps/dynamic_search/locale/pt_BR/LC_MESSAGES/django.mo
	apps/dynamic_search/locale/pt_BR/LC_MESSAGES/django.po
	apps/dynamic_search/locale/ru/LC_MESSAGES/django.mo
	apps/dynamic_search/models.py
	apps/folders/locale/de_DE/LC_MESSAGES/django.mo
	apps/folders/locale/de_DE/LC_MESSAGES/django.po
	apps/folders/locale/en/LC_MESSAGES/django.po
	apps/folders/locale/es/LC_MESSAGES/django.mo
	apps/folders/locale/es/LC_MESSAGES/django.po
	apps/folders/locale/it/LC_MESSAGES/django.mo
	apps/folders/locale/pl/LC_MESSAGES/django.mo
	apps/folders/locale/pt/LC_MESSAGES/django.mo
	apps/folders/locale/pt/LC_MESSAGES/django.po
	apps/folders/locale/pt_BR/LC_MESSAGES/django.mo
	apps/folders/locale/pt_BR/LC_MESSAGES/django.po
	apps/folders/locale/ru/LC_MESSAGES/django.mo
	apps/history/locale/de_DE/LC_MESSAGES/django.mo
	apps/history/locale/en/LC_MESSAGES/django.po
	apps/history/locale/es/LC_MESSAGES/django.mo
	apps/history/locale/es/LC_MESSAGES/django.po
	apps/history/locale/it/LC_MESSAGES/django.mo
	apps/history/locale/pl/LC_MESSAGES/django.mo
	apps/history/locale/pt/LC_MESSAGES/django.mo
	apps/history/locale/pt/LC_MESSAGES/django.po
	apps/history/locale/pt_BR/LC_MESSAGES/django.mo
	apps/history/locale/pt_BR/LC_MESSAGES/django.po
	apps/history/locale/ru/LC_MESSAGES/django.mo
	apps/installation/locale/de_DE/LC_MESSAGES/django.mo
	apps/installation/locale/en/LC_MESSAGES/django.po
	apps/installation/locale/es/LC_MESSAGES/django.mo
	apps/installation/locale/es/LC_MESSAGES/django.po
	apps/installation/locale/it/LC_MESSAGES/django.mo
	apps/installation/locale/pl/LC_MESSAGES/django.mo
	apps/installation/locale/pt/LC_MESSAGES/django.mo
	apps/installation/locale/pt_BR/LC_MESSAGES/django.mo
	apps/installation/locale/pt_BR/LC_MESSAGES/django.po
	apps/installation/locale/ru/LC_MESSAGES/django.mo
	apps/linking/locale/de_DE/LC_MESSAGES/django.mo
	apps/linking/locale/en/LC_MESSAGES/django.po
	apps/linking/locale/es/LC_MESSAGES/django.mo
	apps/linking/locale/es/LC_MESSAGES/django.po
	apps/linking/locale/it/LC_MESSAGES/django.mo
	apps/linking/locale/pl/LC_MESSAGES/django.mo
	apps/linking/locale/pt/LC_MESSAGES/django.mo
	apps/linking/locale/pt/LC_MESSAGES/django.po
	apps/linking/locale/pt_BR/LC_MESSAGES/django.mo
	apps/linking/locale/pt_BR/LC_MESSAGES/django.po
	apps/linking/locale/ru/LC_MESSAGES/django.mo
	apps/main/locale/de_DE/LC_MESSAGES/django.mo
	apps/main/locale/de_DE/LC_MESSAGES/django.po
	apps/main/locale/en/LC_MESSAGES/django.po
	apps/main/locale/es/LC_MESSAGES/django.mo
	apps/main/locale/es/LC_MESSAGES/django.po
	apps/main/locale/it/LC_MESSAGES/django.mo
	apps/main/locale/it/LC_MESSAGES/django.po
	apps/main/locale/pl/LC_MESSAGES/django.mo
	apps/main/locale/pl/LC_MESSAGES/django.po
	apps/main/locale/pt/LC_MESSAGES/django.mo
	apps/main/locale/pt_BR/LC_MESSAGES/django.mo
	apps/main/locale/pt_BR/LC_MESSAGES/django.po
	apps/main/locale/ru/LC_MESSAGES/django.mo
	apps/main/locale/ru/LC_MESSAGES/django.po
	apps/metadata/__init__.py
	apps/metadata/locale/de_DE/LC_MESSAGES/django.mo
	apps/metadata/locale/en/LC_MESSAGES/django.po
	apps/metadata/locale/es/LC_MESSAGES/django.mo
	apps/metadata/locale/es/LC_MESSAGES/django.po
	apps/metadata/locale/it/LC_MESSAGES/django.mo
	apps/metadata/locale/pl/LC_MESSAGES/django.mo
	apps/metadata/locale/pt/LC_MESSAGES/django.mo
	apps/metadata/locale/pt/LC_MESSAGES/django.po
	apps/metadata/locale/pt_BR/LC_MESSAGES/django.mo
	apps/metadata/locale/pt_BR/LC_MESSAGES/django.po
	apps/metadata/locale/ru/LC_MESSAGES/django.mo
	apps/navigation/locale/de_DE/LC_MESSAGES/django.mo
	apps/navigation/locale/en/LC_MESSAGES/django.po
	apps/navigation/locale/es/LC_MESSAGES/django.mo
	apps/navigation/locale/es/LC_MESSAGES/django.po
	apps/navigation/locale/it/LC_MESSAGES/django.mo
	apps/navigation/locale/pl/LC_MESSAGES/django.mo
	apps/navigation/locale/pt/LC_MESSAGES/django.mo
	apps/navigation/locale/pt/LC_MESSAGES/django.po
	apps/navigation/locale/pt_BR/LC_MESSAGES/django.mo
	apps/navigation/locale/pt_BR/LC_MESSAGES/django.po
	apps/navigation/locale/ru/LC_MESSAGES/django.mo
	apps/navigation/templatetags/navigation_tags.py
	apps/ocr/locale/de_DE/LC_MESSAGES/django.mo
	apps/ocr/locale/en/LC_MESSAGES/django.po
	apps/ocr/locale/es/LC_MESSAGES/django.mo
	apps/ocr/locale/es/LC_MESSAGES/django.po
	apps/ocr/locale/it/LC_MESSAGES/django.mo
	apps/ocr/locale/pl/LC_MESSAGES/django.mo
	apps/ocr/locale/pt/LC_MESSAGES/django.mo
	apps/ocr/locale/pt/LC_MESSAGES/django.po
	apps/ocr/locale/pt_BR/LC_MESSAGES/django.mo
	apps/ocr/locale/pt_BR/LC_MESSAGES/django.po
	apps/ocr/locale/ru/LC_MESSAGES/django.mo
	apps/permissions/locale/de_DE/LC_MESSAGES/django.mo
	apps/permissions/locale/de_DE/LC_MESSAGES/django.po
	apps/permissions/locale/en/LC_MESSAGES/django.po
	apps/permissions/locale/es/LC_MESSAGES/django.mo
	apps/permissions/locale/es/LC_MESSAGES/django.po
	apps/permissions/locale/it/LC_MESSAGES/django.mo
	apps/permissions/locale/it/LC_MESSAGES/django.po
	apps/permissions/locale/pl/LC_MESSAGES/django.mo
	apps/permissions/locale/pl/LC_MESSAGES/django.po
	apps/permissions/locale/pt/LC_MESSAGES/django.mo
	apps/permissions/locale/pt/LC_MESSAGES/django.po
	apps/permissions/locale/pt_BR/LC_MESSAGES/django.mo
	apps/permissions/locale/pt_BR/LC_MESSAGES/django.po
	apps/permissions/locale/ru/LC_MESSAGES/django.mo
	apps/permissions/locale/ru/LC_MESSAGES/django.po
	apps/project_setup/locale/de_DE/LC_MESSAGES/django.mo
	apps/project_setup/locale/en/LC_MESSAGES/django.po
	apps/project_setup/locale/es/LC_MESSAGES/django.mo
	apps/project_setup/locale/es/LC_MESSAGES/django.po
	apps/project_setup/locale/it/LC_MESSAGES/django.mo
	apps/project_setup/locale/pl/LC_MESSAGES/django.mo
	apps/project_setup/locale/pt/LC_MESSAGES/django.mo
	apps/project_setup/locale/pt/LC_MESSAGES/django.po
	apps/project_setup/locale/pt_BR/LC_MESSAGES/django.mo
	apps/project_setup/locale/pt_BR/LC_MESSAGES/django.po
	apps/project_setup/locale/ru/LC_MESSAGES/django.mo
	apps/project_tools/locale/de_DE/LC_MESSAGES/django.mo
	apps/project_tools/locale/en/LC_MESSAGES/django.po
	apps/project_tools/locale/es/LC_MESSAGES/django.mo
	apps/project_tools/locale/es/LC_MESSAGES/django.po
	apps/project_tools/locale/it/LC_MESSAGES/django.mo
	apps/project_tools/locale/pl/LC_MESSAGES/django.mo
	apps/project_tools/locale/pt/LC_MESSAGES/django.mo
	apps/project_tools/locale/pt_BR/LC_MESSAGES/django.mo
	apps/project_tools/locale/pt_BR/LC_MESSAGES/django.po
	apps/project_tools/locale/ru/LC_MESSAGES/django.mo
	apps/scheduler/locale/de_DE/LC_MESSAGES/django.mo
	apps/scheduler/locale/en/LC_MESSAGES/django.po
	apps/scheduler/locale/es/LC_MESSAGES/django.mo
	apps/scheduler/locale/es/LC_MESSAGES/django.po
	apps/scheduler/locale/it/LC_MESSAGES/django.mo
	apps/scheduler/locale/pl/LC_MESSAGES/django.mo
	apps/scheduler/locale/pt/LC_MESSAGES/django.mo
	apps/scheduler/locale/pt/LC_MESSAGES/django.po
	apps/scheduler/locale/pt_BR/LC_MESSAGES/django.mo
	apps/scheduler/locale/pt_BR/LC_MESSAGES/django.po
	apps/scheduler/locale/ru/LC_MESSAGES/django.mo
	apps/smart_settings/locale/de_DE/LC_MESSAGES/django.mo
	apps/smart_settings/locale/en/LC_MESSAGES/django.po
	apps/smart_settings/locale/es/LC_MESSAGES/django.mo
	apps/smart_settings/locale/es/LC_MESSAGES/django.po
	apps/smart_settings/locale/it/LC_MESSAGES/django.mo
	apps/smart_settings/locale/pl/LC_MESSAGES/django.mo
	apps/smart_settings/locale/pt/LC_MESSAGES/django.mo
	apps/smart_settings/locale/pt/LC_MESSAGES/django.po
	apps/smart_settings/locale/pt_BR/LC_MESSAGES/django.mo
	apps/smart_settings/locale/pt_BR/LC_MESSAGES/django.po
	apps/smart_settings/locale/ru/LC_MESSAGES/django.mo
	apps/sources/__init__.py
	apps/sources/locale/de_DE/LC_MESSAGES/django.mo
	apps/sources/locale/de_DE/LC_MESSAGES/django.po
	apps/sources/locale/es/LC_MESSAGES/django.mo
	apps/sources/locale/es/LC_MESSAGES/django.po
	apps/sources/locale/it/LC_MESSAGES/django.mo
	apps/sources/locale/it/LC_MESSAGES/django.po
	apps/sources/locale/pl/LC_MESSAGES/django.mo
	apps/sources/locale/pl/LC_MESSAGES/django.po
	apps/sources/locale/pt/LC_MESSAGES/django.mo
	apps/sources/locale/pt/LC_MESSAGES/django.po
	apps/sources/locale/pt_BR/LC_MESSAGES/django.mo
	apps/sources/locale/pt_BR/LC_MESSAGES/django.po
	apps/sources/locale/ru/LC_MESSAGES/django.mo
	apps/sources/locale/ru/LC_MESSAGES/django.po
	apps/sources/views.py
	apps/tags/locale/de_DE/LC_MESSAGES/django.mo
	apps/tags/locale/en/LC_MESSAGES/django.po
	apps/tags/locale/es/LC_MESSAGES/django.mo
	apps/tags/locale/es/LC_MESSAGES/django.po
	apps/tags/locale/it/LC_MESSAGES/django.mo
	apps/tags/locale/pl/LC_MESSAGES/django.mo
	apps/tags/locale/pt/LC_MESSAGES/django.mo
	apps/tags/locale/pt/LC_MESSAGES/django.po
	apps/tags/locale/pt_BR/LC_MESSAGES/django.mo
	apps/tags/locale/pt_BR/LC_MESSAGES/django.po
	apps/tags/locale/ru/LC_MESSAGES/django.mo
	apps/user_management/locale/de_DE/LC_MESSAGES/django.mo
	apps/user_management/locale/en/LC_MESSAGES/django.po
	apps/user_management/locale/es/LC_MESSAGES/django.mo
	apps/user_management/locale/es/LC_MESSAGES/django.po
	apps/user_management/locale/it/LC_MESSAGES/django.mo
	apps/user_management/locale/pl/LC_MESSAGES/django.mo
	apps/user_management/locale/pt/LC_MESSAGES/django.mo
	apps/user_management/locale/pt/LC_MESSAGES/django.po
	apps/user_management/locale/pt_BR/LC_MESSAGES/django.mo
	apps/user_management/locale/pt_BR/LC_MESSAGES/django.po
	apps/user_management/locale/ru/LC_MESSAGES/django.mo
	apps/web_theme/locale/de_DE/LC_MESSAGES/django.mo
	apps/web_theme/locale/de_DE/LC_MESSAGES/django.po
	apps/web_theme/locale/en/LC_MESSAGES/django.po
	apps/web_theme/locale/es/LC_MESSAGES/django.mo
	apps/web_theme/locale/es/LC_MESSAGES/django.po
	apps/web_theme/locale/it/LC_MESSAGES/django.mo
	apps/web_theme/locale/it/LC_MESSAGES/django.po
	apps/web_theme/locale/pl/LC_MESSAGES/django.mo
	apps/web_theme/locale/pl/LC_MESSAGES/django.po
	apps/web_theme/locale/pt/LC_MESSAGES/django.mo
	apps/web_theme/locale/pt/LC_MESSAGES/django.po
	apps/web_theme/locale/pt_BR/LC_MESSAGES/django.mo
	apps/web_theme/locale/pt_BR/LC_MESSAGES/django.po
	apps/web_theme/locale/ru/LC_MESSAGES/django.mo
	apps/web_theme/locale/ru/LC_MESSAGES/django.po
	misc/compilemessages_all.sh
	misc/makemessages_all.sh
	requirements/production.txt
	settings.py
2012-07-26 21:43:03 -04:00
Roberto Rosario 2abe2ceb99 Add OCR, history, tags, folders, recent search, gpg keyring to the list of cleared data on database nuke 2012-07-26 19:59:31 -04:00
Roberto Rosario 65626120df Add method the GPG class to clear the entire keyring, add some comments 2012-07-26 19:58:41 -04:00
Roberto Rosario 0b69f778cf Reorganize app loading order to avoid import errors 2012-07-26 06:47:33 -04:00
Roberto Rosario 5e97ba1e71 Add permissions for the bootstrap app 2012-07-26 06:47:19 -04:00
Roberto Rosario ba550c7f03 Remove direct index updating and delete from metadata and source apps and move it to document indexing app via signals 2012-07-26 06:14:42 -04:00
Roberto Rosario 9dc07de628 Remove metadata inline from the documents app to avoid circular imports 2012-07-26 05:57:07 -04:00
Roberto Rosario 4aee439590 Move index updating and deleting during document update and delete to the document indexing app via signals 2012-07-26 05:56:20 -04:00
Roberto Rosario c5def4a5ec Add TODO reminder 2012-07-26 05:55:38 -04:00
Roberto Rosario 331fd3fe17 Remove debug statement 2012-07-26 05:55:20 -04:00
Roberto Rosario e2e7e4bb49 Move the document upload wizard to the sources app 2012-07-26 05:30:39 -04:00
Roberto Rosario ac65a6db76 Add initial database erase support 2012-07-26 05:03:02 -04:00
Roberto Rosario bccc228fa0 Remove unused module 2012-07-26 04:59:26 -04:00
Roberto Rosario 96177c8531 Move metadata column registration for Document model to the metadata app 2012-07-26 04:54:33 -04:00
Roberto Rosario fb54b4f1dc Remove unused imports 2012-07-26 04:53:52 -04:00
Roberto Rosario 1b7eea2fc2 Add missing quotes to index node expression for permit bootstrap 2012-07-25 03:22:12 -04:00
Roberto Rosario f2e5dba492 Add Git repository info to the installation report 2012-07-25 03:03:59 -04:00
Roberto Rosario 48df2e026d Rollback transaction for installion app during syncdb 2012-07-25 01:03:59 -04:00
Roberto Rosario a2ac5ab994 Merge remote-tracking branch 'origin/feature/bootstrap' into feature/bootstrap 2012-07-25 00:43:14 -04:00
Roberto Rosario d1bb4ef185 Remove unoconv and it's configuration options from the documentation 2012-07-25 00:42:41 -04:00
Roberto Rosario d267988348 Remove the use of the unoconv binary from the converter 2012-07-25 00:42:14 -04:00
Roberto Rosario 1778696c0b Add the new translators: Lucas Weel, Iliya Georgiev, koldo and Pierre Lhoste to the contributors file 2012-07-23 21:13:46 -04:00
Roberto Rosario 9accfba904 Add French, Bulgarian and Dutch to the Transifex config file 2012-07-23 21:13:07 -04:00
Roberto Rosario 191fceb191 Update translation files 2012-07-23 21:12:19 -04:00
Roberto Rosario 2df869c4cb Add French, Bulgarian and Dutch to the language processing utility 2012-07-23 21:11:30 -04:00
Roberto Rosario abcaeb08a4 Add Frech Bulgarian and Dutch to the list of available languages 2012-07-23 21:10:50 -04:00
Roberto Rosario 8e227d7f3e Add Dutch translation files 2012-07-23 21:10:19 -04:00
Roberto Rosario 45f93f7b69 Add French translaion files 2012-07-23 21:09:19 -04:00
Roberto Rosario 7531cf8168 Add Bulgarian translation files 2012-07-23 21:07:25 -04:00
Roberto Rosario 65293a7402 Update APScheduler to latest version (2.0.3) 2012-07-22 16:40:53 -04:00
Roberto Rosario ea19bd901a Shutdown scheduler everytime Mayan exits for any reason 2012-07-20 17:03:23 -04:00
Roberto Rosario dd8d35aec6 Add a permit agency type database bootstrap 2012-07-19 17:09:01 -04:00
Roberto Rosario 53a35e0f1c Add segmented date index nodes templates to the simple bootstrap 2012-07-19 12:37:43 -04:00
Roberto Rosario 5c7d4e982b Don't show if an index node template has document links on the unicode method 2012-07-19 12:26:56 -04:00
Roberto Rosario 6f2f9469b1 Add an extra column showing if the index node will contain document links 2012-07-19 12:26:05 -04:00
Roberto Rosario d7d409582f Catch a DocumentNotCheckedOut exception if user tries to view checkout info on a non checked out document 2012-07-19 12:15:52 -04:00
Roberto Rosario 79d50b3f32 Rename version_fields to add_version_fields, fix document description not loading on document edit view 2012-07-19 12:02:13 -04:00
Roberto Rosario 2b0702c2dd Merge branch 'hotfix/v0.12.3' into feature/bootstrap
Conflicts:
	misc/process_messages.py
2012-07-19 11:51:55 -04:00
Roberto Rosario 0822f6d076 Add bootstrap app to translation config file and script 2012-07-19 11:48:47 -04:00
Roberto Rosario b8aa5fa974 Initial import of the database bootstrap app 2012-07-19 02:39:54 -04:00
Roberto Rosario adc6c032c7 Update translation files 2012-07-10 12:24:05 -04:00
Roberto Rosario 490161d649 Update translation source files 2012-07-10 12:23:49 -04:00
Roberto Rosario 085a0fc33d Remove debug statement 2012-07-10 12:22:07 -04:00
Roberto Rosario e12aa94320 Update transifex resource file to add checkouts app 2012-07-10 12:11:35 -04:00
Roberto Rosario 4b02dad51f Update contributors file 2012-07-10 12:11:21 -04:00
Roberto Rosario de2782cfda Update the translation source files 2012-07-10 11:15:43 -04:00
Roberto Rosario 9b18be1333 Add the checkout app to the translation managing script 2012-07-10 11:15:25 -04:00
Roberto Rosario 2ef64bebcb Add checkout app translation source files 2012-07-10 11:14:59 -04:00
Roberto Rosario 930360002b Add Vítor Figueiró's Postgresql search path relating to issue #20 2012-07-09 13:55:55 -04:00
Roberto Rosario c12583d39e Add Iliya Georgiev and Vítor Figueiró to contributors file 2012-07-09 13:40:53 -04:00
Iliya Georgiev fd719be2a2 Add example of Default ACLs in permissions documentation 2012-07-09 13:38:30 -04:00
Iliya Georgiev 6c6a619c73 Add example of Default ACLs in permissions documentation 2012-07-09 13:38:30 -04:00
Iliya Georgiev fbe2303ede Add example of Default ACLs in permissions documentation 2012-07-09 13:38:30 -04:00
Iliya Georgiev 2d5fcfb41b Add example of Default ACLs in permissions documentation 2012-07-09 13:38:30 -04:00
Iliya Georgiev 2b3d43273a Add description of Default ACLs in permissions documentation 2012-07-09 13:37:43 -04:00
Roberto Rosario 7cdd5d4d1b Merge commit '76b740786a7fac82b29afa007b55076e58ce93de' into hotfix/v0.12.3 2012-07-09 13:37:14 -04:00
Iliya Georgiev 76b740786a Add description of Default ACLs in permissions documentation 2012-07-09 10:39:16 +03:00
Roberto Rosario 615987366f Update apps for new class based history events 2012-07-06 02:53:38 -04:00
Roberto Rosario f42d681f85 Refactor history events to be class based 2012-07-06 02:52:50 -04:00
Roberto Rosario c2773615ce Make username clickable for consistency 2012-07-06 01:41:53 -04:00
Roberto Rosario 4439b9a6de Add locking to avoid duplicate entries 2012-07-05 14:49:26 -04:00
Roberto Rosario 383308cd73 Add fabfile to installation report 2012-07-05 14:44:47 -04:00
Roberto Rosario 8f9207f4fc Add fabfile marker after install via fabfile 2012-07-05 14:44:13 -04:00
Roberto Rosario 87508db11e Add Mayan version to installation report 2012-07-05 12:47:25 -04:00
Roberto Rosario 94fb991c14 Add Vítor Figueiró to language contributors 2012-07-05 12:21:01 -04:00
Roberto Rosario 304325ac02 Remove previous bash based translation messages tools 2012-07-05 12:15:14 -04:00
Roberto Rosario 739929df22 Add new translation messages processing tool 2012-07-05 12:14:16 -04:00
Roberto Rosario b74c66261f Update translation files 2012-07-05 10:33:51 -04:00
Roberto Rosario 6f99146f5b Update transtion source files 2012-07-05 10:33:30 -04:00
Roberto Rosario 0afa9f8123 Update transifex resource file to add Brazilian Portuguese resources 2012-07-05 09:45:30 -04:00
Roberto Rosario 94178eb68d Split Portuguese language translation into European Portuguese and Brazilian Portuguese 2012-07-05 09:44:56 -04:00
Roberto Rosario 1c070ab58b Merge branch 'feature/tabbed_settings' into development 2012-07-03 11:00:56 -04:00
Roberto Rosario 24130cf716 Added sprites for several namespaces 2012-07-03 11:00:21 -04:00
Roberto Rosario 34ce26e67b Add tabbed settings view 2012-07-03 10:59:44 -04:00
Roberto Rosario 9520f67fb7 Update v0.13 release notes 2012-07-02 01:48:03 -04:00
Roberto Rosario 2eb1469bf7 Updated requirements to support Django 1.4 2012-07-02 01:41:32 -04:00
Roberto Rosario 82f6c928f5 Remove debug print statement 2012-07-02 01:05:30 -04:00
Roberto Rosario 749525ba51 Update transifex resource file to add Brazilian Portuguese resources 2012-07-02 00:53:30 -04:00
Roberto Rosario 12115ca946 Updated merged code from master branch to development branch API's 2012-07-02 00:52:52 -04:00
Roberto Rosario 27860d8c11 Remove debug print statement 2012-07-02 00:51:55 -04:00
Roberto Rosario 240d6ede75 Split Portuguese language translation into European Portuguese and Brazilian Portuguese 2012-07-01 23:53:43 -04:00
Roberto Rosario a8e26a4602 Add collectstatic step to update instructions 2012-07-01 00:29:46 -04:00
Roberto Rosario bdcc7debcc Update psutil version to 0.5.1
Conflicts:

	requirements/production.txt
2012-07-01 00:21:39 -04:00
Roberto Rosario 40e0e52e6b Update psutil version to 0.5.1 2012-07-01 00:20:32 -04:00
Roberto Rosario dbaa5cd115 Remove Cyrillic to allow PDF building 2012-06-30 04:36:53 -04:00
Roberto Rosario e7f9eed638 Remove Cyrillic to allow PDF building 2012-06-30 04:11:33 -04:00
Roberto Rosario 080d68c169 Merge branch 'hotfix/v0.12.2' into development
Conflicts:
	apps/common/__init__.py
	apps/documents/forms.py
	apps/feedback/__init__.py
	apps/history/__init__.py
	apps/main/__init__.py
	apps/scheduler/api.py
	apps/sources/models.py
	docs/releases/index.rst
	requirements/production.txt
	settings.py
	urls.py
2012-06-30 04:00:01 -04:00
Roberto Rosario 167d783764 Merge branch 'hotfix/v0.12.2' 2012-06-30 03:47:48 -04:00
Roberto Rosario 04de24ea51 Update oficial description to include digital signature mention and point to new logo file 2012-06-30 03:42:48 -04:00
Roberto Rosario ba37a8a79c Update login, about, README and favicon logos to new oficial logo 2012-06-30 03:42:14 -04:00
Roberto Rosario ac2eccf6eb Bump version to 0.12.2 2012-06-30 01:33:29 -04:00
Roberto Rosario 92a627ed03 Documentation updates 2012-06-29 03:48:28 -04:00
Roberto Rosario 0d077e76dc Move uuid setting from __init__ to model 2012-06-29 03:46:43 -04:00
Roberto Rosario 3046be3c81 Add installation data submition code 2012-06-29 03:13:57 -04:00
Roberto Rosario 1b076bbc5d Remove comment 2012-06-29 02:39:46 -04:00
Roberto Rosario e6d861abf5 Refactor installation app to move code to model and display more information 2012-06-29 02:39:13 -04:00
Roberto Rosario 2c8832e879 Bump documentation version to 0.12.2 2012-06-28 17:11:31 -04:00
Roberto Rosario cb7fcb0ba7 Fix settings description 2012-06-28 17:11:20 -04:00
Roberto Rosario 6fe5876366 Update release notes for 0.12.2 2012-06-28 17:11:07 -04:00
Roberto Rosario 4e93da6e80 Add support to specifying the compressed documents download filename 2012-06-28 16:13:26 -04:00
Roberto Rosario 03f799e527 Move documents apps history events to a separate file 2012-06-28 16:03:22 -04:00
Roberto Rosario 41085154c7 Remove comments 2012-06-28 15:57:29 -04:00
Roberto Rosario 80131656ff Fix typo, add user to the forceful check in event description 2012-06-28 15:56:59 -04:00
Roberto Rosario e9210c5f7a Implement forcefull document check ins 2012-06-28 15:56:43 -04:00
Roberto Rosario 83990ce1bf Default value for event expressions is a dictionary not a list 2012-06-28 14:55:05 -04:00
Roberto Rosario 1a4f74849f Implement document auto check in history event 2012-06-28 11:47:11 -04:00
Roberto Rosario 9fe31d70a3 Add event for document automatic check in, and forcefull checkin 2012-06-28 11:46:41 -04:00
Roberto Rosario b1f4ead6de Add comments 2012-06-28 11:38:01 -04:00
Roberto Rosario 9309b00c1e Update auto admin field names 2012-06-28 11:37:49 -04:00
Roberto Rosario f503045aa1 Move the auto admin creation from the post_sync signal to the post_migrate signal, only deletec auto admin properties when password has been really changed 2012-06-28 11:35:58 -04:00
Roberto Rosario 2ac89baa8c Reduce auto admin model field names, add password_hash field to detect when the password has been really changed 2012-06-28 11:34:59 -04:00
Roberto Rosario 000271b8d8 Update checkouts TODO comments 2012-06-18 12:51:44 -04:00
Roberto Rosario 50b42238eb Initial commit to support random auto admin password and first run wizard 2012-06-18 12:51:20 -04:00
Roberto Rosario 1bfa23c58a Release notes update 2012-06-17 19:25:27 -04:00
Roberto Rosario c926447f05 Add simple POSIX detection to the installation app 2012-06-17 19:20:21 -04:00
Roberto Rosario 341e965d1e Update translation files 2012-06-17 19:14:23 -04:00
Roberto Rosario 1033328e0f Update German language translation files 2012-06-17 19:13:58 -04:00
Roberto Rosario 39bea8d389 Add German language to the list of supported languages 2012-06-17 19:12:49 -04:00
Roberto Rosario 8ff54449d4 Translation files updates 2012-06-17 18:29:33 -04:00
Roberto Rosario 919254429f Update language source file 2012-06-17 18:11:18 -04:00
Roberto Rosario 09d33d378d Update Transifex resource file 2012-06-17 18:11:05 -04:00
Roberto Rosario f77539aed0 Setup the installation and scheduler apps for translation 2012-06-17 18:10:18 -04:00
Roberto Rosario 208071b7eb Remove the feedback app 2012-06-17 18:04:51 -04:00
Roberto Rosario c1c02812b7 Add scheduled interval list view to the scheduler app 2012-06-17 18:01:26 -04:00
Roberto Rosario 4fc33b1bd5 Add installation environment details app 2012-06-17 17:32:54 -04:00
Roberto Rosario 30f9ff73ff Move history app links to a seprate file 2012-06-17 16:54:53 -04:00
Roberto Rosario 35213d9982 Add link to filter event list by event type, update code to be more up to speed with other apps 2012-06-17 16:49:24 -04:00
Roberto Rosario dc3825f2b7 Merge remote-tracking branch 'origin/feature/document_checkout' into hotfix/v0.12.2 2012-06-17 08:14:28 -04:00
Roberto Rosario 9104ff4c4b Update documentation for version 0.12.2 2012-06-17 01:31:56 -04:00
Roberto Rosario 4bf6310d1d Only impose check out limitations to non original user and not admin, add checkout limitation overriding permission 2012-06-17 01:08:47 -04:00
Roberto Rosario d34714bafa Add split time delta validation exception when empty 2012-06-17 00:40:46 -04:00
Roberto Rosario 0e47bbb10b Add history events 'check out' and 'check in' logging 2012-06-17 00:39:54 -04:00
Roberto Rosario a6e1df9b3a Allow giving access to the history of specific documents via ACLs 2012-06-17 00:38:00 -04:00
Roberto Rosario 669f699f45 Fix ACL calculation when user doesn't belong to any group or role 2012-06-17 00:35:27 -04:00
Roberto Rosario ec9cc0635d Rename 'Event details' to 'Additional details' and make it optional 2012-06-17 00:24:52 -04:00
Roberto Rosario 87917ca394 Add automatic check in of documents after check out expiration happens 2012-06-16 23:31:13 -04:00
Roberto Rosario c01b375b98 Redirect to checkout info if document is already checked out 2012-06-16 23:30:48 -04:00
Roberto Rosario 1a2813adcb Properly catch exception in checkout view 2012-06-16 02:08:08 -04:00
Roberto Rosario b8e289b3d2 Remove remarked code 2012-06-16 02:07:53 -04:00
Roberto Rosario b3c530068c Add TODO item 2012-06-16 02:07:36 -04:00
Roberto Rosario f1fc13f739 Move widgets code from forms.py to widgets.py 2012-06-16 02:07:13 -04:00
Roberto Rosario c39f1aa8a0 Add form field clean method to detect if documents are already checked out 2012-06-16 02:03:14 -04:00
Roberto Rosario 4a1acbbaac Preserve filename existing extension if new filename doesn't has one
Fixes issue #24
2012-06-16 01:19:22 -04:00
Roberto Rosario 4322ac0a02 Add support for selectively blocking new document version uploads when checking out documents 2012-06-15 19:30:08 -04:00
Roberto Rosario cd89bbd488 Show document checkout information on checked out document list view 2012-06-15 19:29:28 -04:00
Roberto Rosario 8fdd361071 Add NewDocumentVersionNotAllowed exception to documents app 2012-06-15 19:28:22 -04:00
Roberto Rosario 30842d5d9b Rename main menu checkout link text 2012-06-15 19:27:41 -04:00
Roberto Rosario 6ddbc5156c Return the primary key of document not of checkout entry 2012-06-15 17:45:55 -04:00
Roberto Rosario 44908c90e7 Update README.md 2012-06-13 04:05:18 -04:00
Roberto Rosario 90c411f554 Merge branch 'github_logo' into development
Conflicts:
	requirements/production.txt
2012-06-13 03:59:03 -04:00
Roberto Rosario f2cf069e19 Add logo display markup 2012-06-13 03:57:22 -04:00
Roberto Rosario 853e9d08dd Add Mayan landscape logo 2012-06-13 03:55:08 -04:00
Roberto Rosario 2a7588deac Move checkout status widget code to a separate file 2012-06-13 03:40:22 -04:00
Roberto Rosario 4d8c930852 Add checkouts app static media 2012-06-13 03:40:01 -04:00
Roberto Rosario a4af59527a Finish all views (check info, check out and check in) 2012-06-13 03:39:39 -04:00
Roberto Rosario fb25728202 Add user object field to checkout model 2012-06-13 03:39:12 -04:00
Roberto Rosario df8be16e9d Add document_checkout_info and document_checkout_state manager methods 2012-06-13 03:38:45 -04:00
Roberto Rosario 79c4a47251 Add literals for checkout state and state icons 2012-06-13 03:38:20 -04:00
Roberto Rosario 4234285923 Apply proper permissions to link definitions 2012-06-13 03:38:02 -04:00
Roberto Rosario 35322b194c Add permission_checkin_override to document class permissions 2012-06-13 03:37:27 -04:00
Roberto Rosario 41b654695d Finish checkout form, custom fields and custom widgets 2012-06-13 03:36:30 -04:00
Roberto Rosario 897fc031ec Add improved migrations 2012-06-13 03:36:13 -04:00
Roberto Rosario fae74e8791 Update view to new form definition 2012-06-12 22:44:25 -04:00
Roberto Rosario 6f108c32f5 Tweak model options 2012-06-12 22:43:28 -04:00
Roberto Rosario 03cd450839 Add conditional display to check in and out links 2012-06-12 22:41:48 -04:00
Roberto Rosario 144e01dc97 Add sample custom field and widget to fashion the split checkout expiration field from this one 2012-06-12 22:41:01 -04:00
Roberto Rosario e01c38b9a3 Improve checkout view 2012-06-12 02:49:36 -04:00
Roberto Rosario 6568e64c1f Update model to try to detect consecutive checkout of the same document 2012-06-12 02:48:21 -04:00
Roberto Rosario b412a6bf43 Rename link name 2012-06-12 02:43:28 -04:00
Roberto Rosario e265715c7d Reduce fields size, compose expiration datetime from the form inputs 2012-06-12 02:42:51 -04:00
Roberto Rosario 8ff727c50b Initial commit adding document checkout support 2012-06-11 01:25:02 -04:00
Roberto Rosario d0c8f23dfe Update the requests package required version (version 0.10.1 causes vagrant box to drop SSH connection)
Conflicts:

	requirements/production.txt
2012-06-08 23:11:28 -04:00
Roberto Rosario 22caf75653 Move linking app links to a separate file 2012-06-08 23:08:15 -04:00
Roberto Rosario 7bd07b53fc Move document_signatures app links to a separate file 2012-06-08 23:07:55 -04:00
Roberto Rosario 9bbd99bcd9 Move document_comments app links to a separate file 2012-06-08 23:07:33 -04:00
Roberto Rosario 7c4a458dbb Move django_gpg app links to a separate file 2012-06-08 23:07:15 -04:00
Roberto Rosario 5563d2e747 Merge remote-tracking branch 'origin/development' into development 2012-06-08 19:24:04 -04:00
Roberto Rosario 28ebcfa2d8 Fix Permission class import statement 2012-06-08 18:52:19 -04:00
Roberto Rosario e901f3d914 Move mailer app links to a separate file 2012-06-08 18:51:49 -04:00
Roberto Rosario ec1f97379e Move permissions app links to a separate file 2012-06-08 18:44:25 -04:00
Roberto Rosario 2fe94bb9fa Move sources app links to a separate file 2012-06-08 18:41:51 -04:00
Roberto Rosario 9a4a3a87fe Move user_management app links to a seprate file 2012-06-08 18:36:39 -04:00
Roberto Rosario 176d577142 Move tags app links to a seprate file 2012-06-08 18:33:26 -04:00
Roberto Rosario 9dda1d9035 Move smart_settings links to a separate file 2012-06-08 18:33:08 -04:00
Roberto Rosario 9ee65cad7f Move ocr app links to a seprate file 2012-06-08 18:28:04 -04:00
Roberto Rosario d8b8dee509 Move metadata app links to a seprate file 2012-06-08 18:24:30 -04:00
Roberto Rosario c1d7acb6e3 Move sentry and admin link registration to common app 2012-06-08 18:20:43 -04:00
Roberto Rosario de8c690934 Move main app links to a seprate file 2012-06-08 18:17:57 -04:00
Roberto Rosario b81c8be616 Move folder app links to a separate file 2012-06-08 18:15:15 -04:00
Roberto Rosario ed58ed667e Move document_indexing app links to a seprate file 2012-06-08 17:41:14 -04:00
Roberto Rosario 7a94f7679b Move converter app links to a seprate file 2012-06-08 17:40:57 -04:00
Roberto Rosario bb09910ae7 Move acls apps links to a separate file 2012-06-08 17:33:57 -04:00
Roberto Rosario 61fdfaa2db Move common app links to a seprate file 2012-06-08 17:33:36 -04:00
Roberto Rosario 571002660b Rename variable for readability 2012-06-08 17:17:24 -04:00
Roberto Rosario 3094a940e1 Allow passing request, current_path and current_view parameters to Link instances before resolving them 2012-06-08 17:11:04 -04:00
Roberto Rosario 1cc1f8f819 Update the requests package required version (version 0.10.1 causes vagrant box to drop SSH connection) 2012-06-08 16:44:25 -04:00
Roberto Rosario 58f027db60 Clean up (unused imports, PEP8, etc) 2012-06-08 16:43:54 -04:00
Roberto Rosario 2d95824535 Update README.md escaped chars 2012-06-05 15:17:44 -04:00
Roberto Rosario e3aab5c0f9 Update fabfile url 2012-06-05 15:17:36 -04:00
Roberto Rosario 93b56a5bcc Add fabfile instructions to README.MD file 2012-06-05 15:17:27 -04:00
Roberto Rosario b896ab9eec Update README.md escaped chars 2012-06-03 23:03:54 -04:00
Roberto Rosario 297d39019a Update fabfile url 2012-06-03 23:00:02 -04:00
Roberto Rosario 992e77a1c6 Add fabfile instructions to README.MD file 2012-06-03 22:55:42 -04:00
Roberto Rosario c24a3f935e Merge branch 'hotfix/v0.12.1' into development
Conflicts:
	apps/converter/conf/settings.py
	apps/documents/__init__.py
	apps/main/__init__.py
	apps/metadata/__init__.py
	apps/navigation/templatetags/navigation_tags.py
	apps/ocr/__init__.py
	apps/ocr/conf/settings.py
	docs/intro/installation.rst
	docs/releases/index.rst
	requirements/production.txt
2012-06-03 22:50:33 -04:00
Roberto Rosario 980d8c3331 Merge branch 'hotfix/v0.12.1' 2012-06-03 22:38:21 -04:00
Roberto Rosario 001f7f1695 Remove cyrillic characters from doc utils makepdf error is resolved 2012-06-03 22:37:02 -04:00
Roberto Rosario 91c4477f27 Update version 0.12.1 release notes 2012-06-03 22:36:40 -04:00
Roberto Rosario 05ec39e6f0 Add Fedora,fabfile,appsembler install steps 2012-06-03 22:36:13 -04:00
Roberto Rosario 2849fd6e79 Detect blank pages with the PopplerParser, raise ParserError to fallback to OCR if all parsers fail 2012-06-03 21:08:22 -04:00
Roberto Rosario b88fd35b8a Update compressed fabric file 2012-06-03 04:47:48 -04:00
Roberto Rosario 57f2fe3d4a Autodetect version of Python being executed 2012-06-03 04:40:27 -04:00
Roberto Rosario c4e3c1a65e Add python-dev to the list of Ubuntu/Debian dependencies (required by Pillow) 2012-06-03 04:21:10 -04:00
Roberto Rosario d5b27bb229 Fix mayan github repository url 2012-06-03 04:20:45 -04:00
Roberto Rosario f47d202b4e Add per host settings, Add host group support via server_config.json or server_config.yaml files (requires pyyaml)
http://fueledbylemons.com/blog/2011/04/09/server-configs-and-fabric/
2012-06-03 03:03:28 -04:00
Roberto Rosario a4bc5dbd63 Display database password 2012-06-03 03:02:52 -04:00
Roberto Rosario 4b4dc9d96f Add support for Debian, merge Debian/Ubuntu platforms 2012-06-03 02:46:41 -04:00
Roberto Rosario cf88bf759e Display the supported configurations 2012-06-02 01:55:01 -04:00
Roberto Rosario 50032767cb Update compressed fabfile 2012-06-02 01:42:20 -04:00
Roberto Rosario a0193ca78b Add Fedora support to the fabfile (Tested on Fedora 17) 2012-06-02 01:41:23 -04:00
Roberto Rosario f9e028e134 Update compressed fabfile 2012-06-01 05:03:09 -04:00
Roberto Rosario be5ac9f733 Remove extra decorator 2012-06-01 05:02:47 -04:00
Roberto Rosario 0d76a4b6c6 Update compressed fabfile 2012-06-01 04:18:05 -04:00
Roberto Rosario cfbefa965f Add database.drop_username task 2012-06-01 04:17:40 -04:00
Roberto Rosario bfc588fa3e Add compressed fabfile script, and latest fabfile 2012-06-01 03:54:49 -04:00
Roberto Rosario 2e0b2f6535 Finish uninstall task 2012-06-01 03:39:06 -04:00
Roberto Rosario f8226e662e Small fix to apache site template 2012-06-01 03:22:28 -04:00
Roberto Rosario cd4d8b6f33 Add missing import 2012-06-01 03:22:14 -04:00
Roberto Rosario 81492db807 Add django.collectstatic task 2012-06-01 03:21:56 -04:00
Roberto Rosario 2b1af0c4c4 Add database_host to database creation task 2012-06-01 03:21:34 -04:00
Roberto Rosario b2522d8158 Add random password generator 2012-06-01 03:21:10 -04:00
Roberto Rosario 60a7cee93b Add colorization and logo 2012-06-01 03:20:26 -04:00
Roberto Rosario 66e3e4d7b5 Add Django tasks, update setting_local and apache site template render, fix os vs. env error 2012-06-01 02:42:21 -04:00
Roberto Rosario 9f0d7966bc Update fabfile to user global environment configuration, abstracted tasks for platform, webserver and database manager 2012-06-01 01:55:09 -04:00
Roberto Rosario ccf41ae67d Merge remote-tracking branch 'origin/hotfix/v0.12.1' into hotfix/v0.12.1 2012-05-31 21:36:40 -04:00
Roberto Rosario ac500e48a4 Initial commit of the fabric file for automatic installation 2012-05-31 20:38:25 -04:00
Roberto Rosario ddfe650390 Release notes remark about OCR default change 2012-05-31 08:46:09 -04:00
Roberto Rosario c7ea5271e4 Add logging to converter.api 2012-05-31 01:42:01 -04:00
Roberto Rosario c6dc854b94 Set the HOME environment to allow libreoffice to run when launched from apache 2012-05-31 01:41:25 -04:00
Roberto Rosario eed1f6aa7b Add missing import 2012-05-30 19:35:17 -04:00
Roberto Rosario f2f99bf0ad Change default value of OCR_AUTOMATIC_OCR to True 2012-05-30 19:27:23 -04:00
Roberto Rosario 86d23f2656 The OCR and parsing queue is now active as soon as it is created 2012-05-30 19:26:50 -04:00
Roberto Rosario 166a952f8e Release note update 2012-05-30 18:54:07 -04:00
Roberto Rosario 0cf8fe2dec Update PDFTOTEXT_PATH config option description 2012-05-30 18:53:28 -04:00
Roberto Rosario 7bc61e0cff Documentation update 2012-05-30 18:53:08 -04:00
Roberto Rosario f21a96ae5b Update compiled translation fixes for Italian 2012-05-30 18:37:43 -04:00
Roberto Rosario b9d88d2859 Sync Italian translation sources from Transifex 2012-05-30 18:35:50 -04:00
Roberto Rosario c754a48c92 Initial v0.12.1 release notes 2012-05-30 16:57:49 -04:00
Roberto Rosario d1ccca4d2e Final updates for the PopplerParser 2012-05-30 16:15:57 -04:00
Roberto Rosario 200e5f3947 Add setting to specify the location of the pdftotext binary 2012-05-30 16:15:30 -04:00
Roberto Rosario bf12814e0c Log ocr task errors properly 2012-05-30 16:14:53 -04:00
Roberto Rosario babd3ec2f3 Refacto parser system to be class based, add poppler based PDF parser, allow multiple parsers for each mimetype with fallback 2012-05-30 12:57:25 -04:00
Roberto Rosario 036ec09234 Move the copyfile function to the common app 2012-05-30 12:56:56 -04:00
Roberto Rosario 29791999c2 Allow document mimetypes to be None 2012-05-29 23:54:07 -04:00
Roberto Rosario d235ca406f Add improve office document conversion with new office converter backend 2012-05-29 04:23:18 -04:00
Roberto Rosario 4331c00b79 Update index view name to display again multi document actions in the index instance view 2012-05-29 03:32:33 -04:00
Roberto Rosario 2ee3542e05 Bump documentation version 2012-05-29 03:18:08 -04:00
Roberto Rosario ec23b95afe Add Mailing list link to top 2012-05-29 03:07:12 -04:00
Roberto Rosario a6ee0c9188 Add installation test step 2012-05-29 03:06:54 -04:00
Roberto Rosario fbed4678fe Add libpng-dev and libjpeg-dev to the installation instructions 2012-05-29 02:49:02 -04:00
Roberto Rosario 26705d1506 Catch OSError exception when calculating document filesystem stats 2012-05-29 02:46:30 -04:00
Roberto Rosario 1f75b76f96 Remove pre-South migration script 2012-05-29 02:40:29 -04:00
Roberto Rosario 7141f5814e Bump version to v0.12.1 2012-05-29 02:37:19 -04:00
Roberto Rosario b03f9237ef Improve document statistics performance, fix None/0 error when calculating statistics on a empty DB 2012-05-29 02:36:35 -04:00
Roberto Rosario e0e95af092 Merge remote-tracking branch 'origin/development' into development 2012-05-24 03:06:34 -04:00
Roberto Rosario 5b43299c41 Rename metadata set edit as metadata set members, add proper metadata set edit view 2012-05-24 02:59:30 -04:00
Roberto Rosario af441349ad Rename version_fields to add_version_fields, fix document description not loading on document edit view 2012-05-24 02:50:02 -04:00
Roberto Rosario 469f8ebdcb Move EncapsulatedObject class to common app 2012-05-24 02:41:45 -04:00
Roberto Rosario 6a8e08db38 Update DocumentContentForm to use document model get_content method 2012-05-24 02:32:19 -04:00
Roberto Rosario 82baf564c6 Add document model get_content method 2012-05-24 02:31:37 -04:00
Roberto Rosario 08d68e7993 Add missing ZOOM_MAX_LEVEL, ZOOM_MIN_LEVEL import 2012-05-23 16:11:48 -04:00
Roberto Rosario c2d7ce94b1 Disable debug statement causing unicode errors 2012-05-23 01:35:17 -04:00
Roberto Rosario db0c5be74f Add lazy reverse url resolution for the LOGIN_URL and LOGIN_REDIRECT_URL options 2012-05-23 01:31:32 -04:00
Roberto Rosario 16196a3260 Move the multi item link registration for the main app for consistency 2012-05-23 01:22:07 -04:00
Roberto Rosario f96725de55 Remove the workflow state permissions 2012-05-23 01:21:41 -04:00
Roberto Rosario 235f77ec70 Have the metadata app add itself the metadata model list columns for the document model 2012-05-23 01:20:43 -04:00
Roberto Rosario e3a173a2cd Disable advanced search menu entry 2012-05-23 01:19:45 -04:00
Roberto Rosario fb0070a4ea Move all of the document app's links to a separate file 2012-05-23 01:18:03 -04:00
Roberto Rosario db13cd1702 Merge branch 'feature/workflows' into development
Conflicts:
	apps/dynamic_search/__init__.py
	requirements/production.txt
2012-05-23 00:23:39 -04:00
Roberto Rosario 15156b326b Remark all state setup permissions, add workflow execution permission 2012-05-23 00:15:20 -04:00
Roberto Rosario 80488d0f96 Rename model Workflow state model 2012-05-23 00:14:56 -04:00
Roberto Rosario a65031dab5 Add Haystack to the list of software used 2012-05-22 23:46:10 -04:00
Roberto Rosario 35a4a60d42 Merge branch 'feature/haystack' into development
Conflicts:
	requirements/production.txt
2012-05-22 23:42:44 -04:00
Roberto Rosario b3bcb274a0 Add SEARCH_INDEX_UPDATE_INTERVAL to the documentation 2012-05-22 23:33:35 -04:00
Roberto Rosario 895a5c7e76 Call the update_index in the correct manner 2012-05-22 23:25:55 -04:00
Roberto Rosario 1792599411 Move removal of items marked for indexing to the search_indexes.py file 2012-05-22 23:25:06 -04:00
Roberto Rosario 7e3e3af503 Improve handling of the inserted --mayan_runtime update_index flags 2012-05-22 23:24:17 -04:00
Roberto Rosario c771177666 Fix tab indentation 2012-05-22 23:24:03 -04:00
Roberto Rosario 3d5fa93be0 Update the requirement file development tool versions 2012-05-22 15:21:03 -04:00
Roberto Rosario a4da16d8a1 Update upgrade steps to include dynamic_search app migration 2012-05-22 15:20:15 -04:00
Roberto Rosario 09eb1b20de Add migration for the dynamic_search app 2012-05-22 15:20:01 -04:00
Roberto Rosario f36d3d1a44 Update the required version of South to latest (0.7.5) 2012-05-22 13:13:10 -04:00
Roberto Rosario fac274c9c2 Update the required version of South to latest (0.7.5)
Conflicts:

	requirements/production.txt
2012-05-22 12:57:37 -04:00
Roberto Rosario 9333f3c0b7 Update the required version of South to latest (0.7.5) 2012-05-22 12:53:59 -04:00
Roberto Rosario 5b349cb010 Do not clear the indexable list upon post update index signal 2012-05-21 23:09:10 -04:00
Roberto Rosario 80e236723b Add support to clear the indexable list returned 2012-05-21 23:08:31 -04:00
Roberto Rosario 675e1d3df7 Call Haystack's update_index using Django's call_command and use the new mayan_runtime option 2012-05-21 15:53:06 -04:00
Roberto Rosario ce0082ee3f Add the mayan_runtime option to the intercepted update_index command 2012-05-21 15:51:56 -04:00
Roberto Rosario 1c2a89e3e8 Fix cleaned_filename document property 2012-05-21 10:47:45 -04:00
Roberto Rosario ccc26f9566 Remove flat comment document helper, update document indexing template accordingly 2012-05-21 10:42:17 -04:00
Roberto Rosario 98c387fbd0 Remove document flat_tags helper, update document index template accordingly 2012-05-21 10:34:19 -04:00
Roberto Rosario 4d8460ad8a Remove document metadata value helper, update document index template accordingly 2012-05-21 10:28:46 -04:00
Roberto Rosario 01b6ff168e Apply permission and ACL checks to the search results 2012-04-15 22:47:49 -04:00
Roberto Rosario 83fd8ab5cf Fix ACL calculation when user doesn't belong to any group or role 2012-04-15 22:47:14 -04:00
Roberto Rosario ed517b24f3 Initial commit of the index update scheduling support 2012-04-13 01:32:54 -04:00
Roberto Rosario e89959b71b Remove remaining code for the old search method and the advanced search support, misc cleanups too 2012-04-12 12:59:06 -04:00
Roberto Rosario 2ee59df866 Removal of the SEARCH_SHOW_OBJECT_TYPE and SEARCH_LIMIT configuration options 2012-04-12 12:25:59 -04:00
Roberto Rosario 8e829612af Refactor and simply recent search functionality 2012-04-12 12:22:58 -04:00
Roberto Rosario 738e304545 Small 0.13 release notes update 2012-04-12 02:06:28 -04:00
Roberto Rosario a697b74157 Update apps to flag edited documents as dirty 2012-04-12 02:05:49 -04:00
Roberto Rosario da48d2c28a Remove old code line 2012-04-12 02:05:18 -04:00
Roberto Rosario 520d6cc3af Improve IndexableObject class methods 2012-04-12 02:04:50 -04:00
Roberto Rosario 97ae34a06d Initial changes to support advanced search via haystack 2012-04-11 21:45:09 -04:00
Roberto Rosario 007b8c10ab Make documents dirty when edited 2012-04-11 21:43:59 -04:00
Roberto Rosario 5adffd4e75 Implement a dirty flag to index newly modified objects 2012-04-11 21:43:30 -04:00
Roberto Rosario 6a7ca922f0 Add pre and post signals to haystack's update index command 2012-04-11 16:46:28 -04:00
Roberto Rosario 71a3e16a01 Remove test template code 2012-04-11 03:33:56 -04:00
Roberto Rosario 9bcf7574bf Remove reduntant code from the object_list object default column detection code 2012-04-11 03:33:23 -04:00
Roberto Rosario 0d40316305 Cleanup search view 2012-04-11 03:32:50 -04:00
Roberto Rosario 34ebf6a263 Use a simple for the basic search 2012-04-11 03:11:45 -04:00
Roberto Rosario c8129b1f5f Add get_object_list_object_name tag to override the object to process from an object_list 2012-04-11 03:11:08 -04:00
Roberto Rosario a7b7195370 Add metadata search helper methods 2012-04-11 01:59:46 -04:00
Roberto Rosario b6fcf977e5 Add flat_tags search helper method to Document class 2012-04-11 01:59:12 -04:00
Roberto Rosario e3505d05ec Add extension_split and cleaned_filename to the Document class 2012-04-11 01:57:08 -04:00
Roberto Rosario ea49395c23 Add flat_comments helper method to Document class 2012-04-11 01:56:32 -04:00
Roberto Rosario 0050fe4eef Haystack updates 2012-04-09 07:41:03 -04:00
Roberto Rosario 085d32e214 Don't install python-gnupg from upstream but from my github fork 2012-04-06 01:09:46 -04:00
Roberto Rosario c5bce945c4 Don't install python-gnupg from upstream but from my github fork
Conflicts:

	requirements/production.txt
2012-04-06 01:09:33 -04:00
Roberto Rosario 774b5bc8dc Don't install python-gnupg from upstream but from my github fork 2012-04-06 01:08:33 -04:00
Roberto Rosario 83a6f7e072 Don't install python-gnupg from upstream but from my github fork 2012-04-06 01:06:35 -04:00
Roberto Rosario a5b88d3683 Add document search result templates 2012-04-05 23:46:28 -04:00
Roberto Rosario 5dbceb5584 Initial changes to support haystack from the dynamic search app 2012-04-05 23:45:50 -04:00
Roberto Rosario 95cf290e2c Add haystack to the requirements 2012-04-05 23:44:20 -04:00
Roberto Rosario 021c75c665 Add a content producing method to the document version and document class 2012-04-05 23:43:10 -04:00
Roberto Rosario a5280870c2 Removed transitions and move to a Node based workflow element 2012-03-30 03:23:04 -04:00
Roberto Rosario 0717f346b0 Remove empty items from project_setup and project_tools list of objects 2012-03-29 23:45:24 -04:00
Roberto Rosario afac6e7667 Display message on empty horizontal list 2012-03-29 23:45:04 -04:00
Roberto Rosario 41facf623a Only try to render resolved links 2012-03-29 23:44:21 -04:00
Roberto Rosario 8425cd6f7e Properly initialize ResolvedLink class 2012-03-29 23:43:51 -04:00
Roberto Rosario ebd5016990 Simplify auto admin creation code 2012-03-27 23:11:15 -04:00
Roberto Rosario 1d23735344 Simplify auto admin creation code 2012-03-27 23:11:07 -04:00
Roberto Rosario e7d7ae0c88 Simplify auto admin creation code 2012-03-27 23:10:26 -04:00
Roberto Rosario 50ad0d9bf6 Add the workflow state transition edit view 2012-03-19 16:41:34 -04:00
Roberto Rosario 55a6720a84 Make sure only one variable and the correct variable's link are resolved for list items 2012-03-19 12:03:51 -04:00
Roberto Rosario 0ff0892b25 Remove Flattr button 2012-03-19 09:05:25 -04:00
Roberto Rosario f82cda218d Remove Flattr button 2012-03-19 09:04:44 -04:00
Roberto Rosario 38426ed32f Add the workflow state transition list and add views 2012-03-19 01:12:16 -04:00
Roberto Rosario 6cbe1301ca Add transition delete view and transition setup permissions 2012-03-19 00:04:33 -04:00
Roberto Rosario ffc71ea8b3 Add workflow state delete view and transition list, create and edit views 2012-03-18 23:58:40 -04:00
Roberto Rosario 663a5d5b3b Add test steps to the documentation 2012-03-18 04:11:48 -04:00
Roberto Rosario 1a117c7fb7 Add test steps to the documentation 2012-03-18 04:11:14 -04:00
Roberto Rosario af49370870 PEP8 cleanups 2012-03-18 04:02:03 -04:00
Roberto Rosario 8ff1997dda Final updates for new class based link navigation 2012-03-18 03:50:28 -04:00
Roberto Rosario 9f22085eef Update template to use new variable name 2012-03-18 03:35:25 -04:00
Roberto Rosario 2b123799de Update multi_item_links to use new link format 2012-03-18 03:35:05 -04:00
Roberto Rosario 892a7f77ae Simply and convert base tempalte navigation render code 2012-03-18 03:33:58 -04:00
Roberto Rosario ef33a780e0 Remove unnecesary extra_context from document_acl view 2012-03-18 03:33:15 -04:00
Roberto Rosario 9bcdb01b79 Fix source transformation edit and delete view secondary links 2012-03-18 03:32:20 -04:00
Roberto Rosario c3f337898d Reorder statement for readability 2012-03-18 00:43:18 -04:00
Roberto Rosario cb23f94cdf Convert feedback app to use new class based links 2012-03-18 00:42:48 -04:00
Roberto Rosario fa1ee6fec0 Remove the 'related' menu, only used by one view 2012-03-17 01:31:01 -04:00
Roberto Rosario 04cad6365c Converted workflow app to new class based links 2012-03-17 01:30:37 -04:00
Roberto Rosario 0870d8228b Don't display multiselect checkbox for folders, they don't support multiple selection 2012-03-17 01:19:59 -04:00
Roberto Rosario a6f6637789 Cleanups 2012-03-17 01:19:35 -04:00
Roberto Rosario 3c83334e30 Update search app to the new class based links 2012-03-17 01:19:03 -04:00
Roberto Rosario 22f009d0f7 Enable children view regex 2012-03-17 01:03:38 -04:00
Roberto Rosario 3e6632dfdc Convert source app dynamic link generation to the new class based links 2012-03-17 01:03:04 -04:00
Roberto Rosario eaf0293dcf Don't return references to deleted users as a members 2012-03-17 01:02:26 -04:00
Roberto Rosario 5d02ed4d08 Fix link resolution tag 2012-03-17 00:15:29 -04:00
Roberto Rosario 4b457aa567 Fix context link resolution 2012-03-17 00:15:08 -04:00
Roberto Rosario 6823122793 Fix link properties get in linking app 2012-03-17 00:13:20 -04:00
Roberto Rosario d5ddd22861 Fix document history link 2012-03-17 00:13:01 -04:00
Roberto Rosario 8d4ce81c34 Fix horizontal list link widget rendering 2012-03-16 23:37:21 -04:00
Roberto Rosario 895702cb53 Remove debug statement 2012-03-16 23:36:40 -04:00
Roberto Rosario 6fd0854ac5 Fix templates link's famfam reference to sprite 2012-03-16 23:33:15 -04:00
Roberto Rosario 28a3e209ab Converted project_setup and project_tools apps to use new elementtree based menus 2012-03-16 21:42:03 -04:00
Roberto Rosario dcf568ead5 Start top menu refactor, added elementtree to requirements 2012-03-16 21:07:53 -04:00
Roberto Rosario 7ccab82fd4 Convert all remaining apps to the new class based links 2012-03-16 20:09:35 -04:00
Roberto Rosario 568611927b Updated all link references to the new class based links 2012-03-16 16:20:09 -04:00
Roberto Rosario d028f54c27 Started navigation refatoring 2012-03-16 12:56:49 -04:00
Roberto Rosario 4a3cdc3a5c Avoid sidebar links from repeating 2012-03-16 11:05:21 -04:00
Roberto Rosario e2e9c074b7 Add workflow state add and edit views 2012-03-16 10:30:04 -04:00
Roberto Rosario a3822a1836 Add workflow states list view 2012-03-16 02:06:24 -04:00
Roberto Rosario 89aeb8ad7c Added state list, create, edit, delete views 2012-03-16 01:55:21 -04:00
Roberto Rosario ffb5fc8286 Added workflow create, edit and delete views 2012-03-16 01:40:04 -04:00
Roberto Rosario 8c8befabdd Initial model schema, workflow setup button, workflow list view 2012-03-16 01:14:25 -04:00
Roberto Rosario 94ec7ca47f Workflows app initial commit 2012-03-15 01:55:03 -04:00
Roberto Rosario bc1d4cbb46 Update release notes for v0.13 2012-03-14 22:21:40 -04:00
Roberto Rosario a359a171d3 Add detached signature delete view 2012-03-14 22:17:45 -04:00
Roberto Rosario b513730978 Remove test code 2012-03-14 22:17:23 -04:00
Roberto Rosario 40d76b3476 Merge branch 'feature/signal_based_indexing' into development 2012-03-14 15:27:53 -04:00
Roberto Rosario 11ca6772ef Move preview titles to the top 2012-03-14 15:27:40 -04:00
Roberto Rosario 60edd51464 Display document thumbnails as a gallery and with the filename as the title 2012-03-14 15:27:18 -04:00
Roberto Rosario be332192e4 Display a page number as a title when previewing 2012-03-14 15:26:27 -04:00
Roberto Rosario d6af3c629a Add smart link documents title on previews 2012-03-14 15:26:01 -04:00
Roberto Rosario 878d6fa0c1 Add support to document widget to display a title 2012-03-14 15:25:35 -04:00
Roberto Rosario fb48221db5 Also delete indexes on document delete signal 2012-03-14 14:14:40 -04:00
Roberto Rosario 503c7c7594 Change document indexing to be signal based and decoupled from metadata and documents apps 2012-03-14 12:45:03 -04:00
Roberto Rosario 0ff1843545 Update v0.13 release notes 2012-03-14 01:33:14 -04:00
Roberto Rosario 19b3553705 Add IMAP document souce support, merge with existing POP3 email support, make POP3MailLog generic 2012-03-14 01:25:49 -04:00
Roberto Rosario a234c76326 Change POP3 email setup form widget to hide the password 2012-03-12 23:43:08 -04:00
Roberto Rosario b7e582928a Fix POP3 source uncompress logic 2012-03-12 23:19:27 -04:00
Roberto Rosario 482b9fe9e9 Add optional document type to documents uploaded for a POP3 email source 2012-03-12 23:17:42 -04:00
Roberto Rosario 9731b2f1dc Add additional consistency check during document creation
For databases that doesn't support transactions
2012-03-12 22:47:55 -04:00
Roberto Rosario 1d7f50478c Don't pass filename to avoid a rename on new files 2012-03-12 22:42:48 -04:00
Roberto Rosario fe27445e9e Set sensible email check timer 2012-03-12 22:42:28 -04:00
Roberto Rosario a5ac14ea3f Improve version 0.13 upgrade instructions 2012-03-12 22:26:53 -04:00
Roberto Rosario 460e0b3a26 Add enabled/disabled column to document source list view 2012-03-12 13:48:25 -04:00
Roberto Rosario bf981a1e8f Merge branch 'feature/email_source' into development 2012-03-12 13:42:58 -04:00
Roberto Rosario 70cb939611 Change version to 0.13 alpha 2012-03-12 13:42:27 -04:00
Roberto Rosario c2a0ceb22e Initial release notes for 0.13 2012-03-12 13:41:47 -04:00
Roberto Rosario d1cf15b3eb Add per POP email source interval, add per email source log 2012-03-12 13:36:56 -04:00
Roberto Rosario b849352b3a Delete all POP3 messages after their attachments are processed, remove delete_messages field 2012-03-10 04:26:02 -04:00
Roberto Rosario 0e060aec46 Remove SSL timeout option, added POP3_EMAIL_PROCESSING_INTERVAL configuration option 2012-03-10 03:30:21 -04:00
Roberto Rosario 29c3746163 Fetch documents from email attachments 2012-03-10 03:10:45 -04:00
Roberto Rosario 8650e9acb5 Improve messages information decoding 2012-03-09 17:03:30 -04:00
Roberto Rosario 2998fe0611 Improve attachment retreive code 2012-03-09 03:14:10 -04:00
Roberto Rosario 7f57336d86 Initial pop3 email fetch task 2012-03-09 03:13:40 -04:00
Roberto Rosario ef54f946a8 Add POP3 email creation, edit, delete views and links 2012-03-08 16:36:35 -04:00
Roberto Rosario 5651b3b4df Initial commit for the email source support 2012-03-07 01:26:36 -04:00
Roberto Rosario d8be649107 Merge branch 'feature/class_based_settings' into development 2012-03-06 22:06:30 -04:00
Roberto Rosario 4b984cd600 Move module name to the namespace 2012-03-06 16:09:01 -04:00
Roberto Rosario c9dcda3a5c Convert all apps to use the new class based settings 2012-03-06 16:08:28 -04:00
Roberto Rosario 11a9d87701 Implement hidden settings 2012-03-06 16:07:29 -04:00
Roberto Rosario c69397485e Don't import metadata info on top level __init__.py
Not being used anyway, causes problems with Appsembler
2012-03-06 00:34:42 -04:00
Roberto Rosario 4e8676882f Don't import metadata info on top level __init__.py
Not being used anyway, causes problems with Appsembler
2012-03-06 00:33:36 -04:00
Roberto Rosario f29fd24c53 Update setting_list view to use new Setting class 2012-03-05 03:10:14 -04:00
Roberto Rosario 55709c3cdf Setup mailer app to use new Setting class 2012-03-05 03:09:57 -04:00
Roberto Rosario 92604246c2 Add Setting and SettingName classed 2012-03-05 03:09:26 -04:00
Roberto Rosario fd81ba7a6d Move lazy_reverse function to common.utils 2012-03-05 03:08:43 -04:00
Roberto Rosario b37b006918 Merge branch 'feature/send_email' into development 2012-03-05 01:31:40 -04:00
Roberto Rosario 406d0fd183 Change the document and email submit link icon 2012-03-05 01:31:17 -04:00
Roberto Rosario 7cd651638a Add document attachment sending support 2012-03-05 01:23:43 -04:00
Roberto Rosario ab9dee0a56 Add configurable default email templates 2012-03-05 01:23:19 -04:00
Roberto Rosario b908f5e258 Fix staging file filename hashing not working with unicode filenames 2012-03-04 20:31:09 -04:00
Roberto Rosario 365df067ad Preserve unicode data in URL query 2012-03-04 20:30:48 -04:00
Roberto Rosario f7cd663cc7 Call Django's urlencode directly to ensure unicode data preservation 2012-03-04 20:30:40 -04:00
Roberto Rosario 2d3f8fafe9 Add document link mailing app 2012-03-04 19:19:51 -04:00
Roberto Rosario 5d8235aebf Preserve unicode data in URL query 2012-03-04 14:34:28 -04:00
Roberto Rosario 93a6aae9c2 Fix staging file filename hashing not working with unicode filenames 2012-03-03 01:12:56 -04:00
Roberto Rosario 631c41c4a2 Call Django's urlencode directly to ensure unicode data preservation 2012-03-03 01:07:06 -04:00
Roberto Rosario 0170f237b7 Merge branch 'development' 2012-02-27 14:46:26 -04:00
Roberto Rosario 723dbdb7e4 Allow preview and deletion of staging files with either the DOCUMENT_CREATE or NEW_VERSION permissions 2012-02-27 14:45:39 -04:00
Roberto Rosario 92aadcc4ee Allow access to objects that doesn't have a content type 2012-02-27 14:41:36 -04:00
Roberto Rosario f72b08d931 Merge branch 'release/v0.12' into development 2012-02-27 12:57:39 -04:00
Roberto Rosario 84c47d4ab6 Merge branch 'release/v0.12'
Conflicts:
	apps/documents/models.py
	apps/history/api.py
	apps/ocr/__init__.py
2012-02-27 12:57:11 -04:00
Roberto Rosario d84a42769f Bump version to 0.12 2012-02-27 12:50:46 -04:00
Roberto Rosario 504a215c22 Added another example to the debug section 2012-02-27 11:16:20 -04:00
Roberto Rosario b743521cee Add descriptions to some settings 2012-02-27 11:07:45 -04:00
Roberto Rosario 8e395f54ee Add section headers to the customization chapter 2012-02-27 11:07:19 -04:00
Roberto Rosario ce8fb41301 Russian translation updated (Sergei Glita) 2012-02-27 10:47:31 -04:00
Roberto Rosario db741b9e8b Fix typo 2012-02-26 17:00:51 -04:00
Roberto Rosario 1f1b9629e5 Split documentation and translation chapter from the development chapter of the documentation 2012-02-26 16:58:49 -04:00
Roberto Rosario 0667a26f2f Add documenation URL 2012-02-26 16:51:18 -04:00
Roberto Rosario e49db7769c Add customization documentation page 2012-02-26 16:49:46 -04:00
Roberto Rosario 750fafdc72 Updated Webfaction installation instructions (Michael Terretta) 2012-02-26 00:47:19 -04:00
Roberto Rosario cebb22731c Calculate a staging file id from the hash of its full filepath and not of the contents
Can finally close issue #1
2012-02-25 23:45:48 -04:00
Roberto Rosario 71dfb5f46a Correctly match a new node instance to it's respective parent 2012-02-23 13:53:50 -04:00
Roberto Rosario 244aa4aaa8 Don't create the index's root node on the view, call the root node created when the index is created 2012-02-23 13:52:42 -04:00
Roberto Rosario 8b80798283 Capture all index evaluation errors 2012-02-23 10:45:18 -04:00
Roberto Rosario 94c86aa3a3 Merge branch 'feature/polish' into development 2012-02-22 16:15:42 -04:00
Roberto Rosario 83c27dffec Updates translation scripts to add Polish 2012-02-22 16:15:28 -04:00
Roberto Rosario 144540de9d Update credits and release notes to add mic and Polish translation 2012-02-22 16:15:01 -04:00
Roberto Rosario da6d1c474b Update compiled translation files 2012-02-22 16:14:40 -04:00
Roberto Rosario a888b11dec Portuguese translation strings update 2012-02-22 16:07:29 -04:00
Roberto Rosario 1f2b25152f Italian translation strings update 2012-02-22 16:07:07 -04:00
Roberto Rosario 4e1c8ff0eb Initial Polish translation by mic (https://www.transifex.net/accounts/profile/mic/) 2012-02-22 16:05:53 -04:00
Roberto Rosario 1cbe8f78e8 Add column showing index and index node enabled/disabled status 2012-02-22 15:58:58 -04:00
Roberto Rosario 3768835219 Add sanity check when assembling a full path 2012-02-22 15:01:54 -04:00
Roberto Rosario 27081240cf Fix PermissionDenied exception import 2012-02-22 14:52:14 -04:00
Roberto Rosario 81cd25eaac Merge branch 'feature/pep8_cleanup' into development 2012-02-22 14:37:25 -04:00
Roberto Rosario 145afedd89 tag app cleanups 2012-02-22 14:37:11 -04:00
Roberto Rosario 27293d3396 feedback app cleanups 2012-02-22 14:34:20 -04:00
Roberto Rosario edca055856 acl app cleanups 2012-02-22 14:34:05 -04:00
Roberto Rosario f484e1a9c3 PEP8 and general cleanups 2012-02-22 11:57:00 -04:00
Roberto Rosario af9be90849 Improve tag app menu highlighting 2012-02-22 11:56:18 -04:00
Roberto Rosario 5bc61ca70e Remove unused test files 2012-02-22 11:55:48 -04:00
Roberto Rosario 3b22489be1 Don't hide index rebuilding errors if DEBUG is True 2012-02-22 09:40:16 -04:00
Roberto Rosario edaf682607 Shutdown scheduler on South's pre_migrate signal 2012-02-21 15:51:49 -04:00
Roberto Rosario df1cc7121e Remove remarked lines 2012-02-21 15:47:16 -04:00
Roberto Rosario 87b042101d Convert app to use project tools new dynamic children view regex 2012-02-21 15:45:45 -04:00
Roberto Rosario 91d1e5a33c Copy project setup's dynamic children view regex solution 2012-02-21 15:45:08 -04:00
Roberto Rosario ae86d1cd4b Update all apps to register their own children views regular expressions 2012-02-21 15:33:20 -04:00
Roberto Rosario bcb93639df Improve the dynamic children view regex append code 2012-02-21 15:32:46 -04:00
Roberto Rosario 21d360d8d2 Improve document acl menu highlighting 2012-02-21 12:53:35 -04:00
Roberto Rosario a13052222b Fix key management app menu hightlighting 2012-02-21 12:53:13 -04:00
Roberto Rosario 15219b27b9 Fix acl app menu highlight 2012-02-21 12:52:50 -04:00
Roberto Rosario 4bb441b572 Improve the document indexing app menu highlighting 2012-02-21 12:27:42 -04:00
Roberto Rosario c596c8e24e Update a setup top menu entry children_view_regex entries after every new setup sub entry registration 2012-02-21 12:26:38 -04:00
Roberto Rosario a6f6dc9f0a Return the top menu entry after it has been registered for futher modification 2012-02-21 12:25:39 -04:00
Roberto Rosario 1dd6f6f6a2 Fix top menu navigation children_view_regex matching typo 2012-02-21 12:25:02 -04:00
Roberto Rosario 987b0ad0e7 Fix index menu highlighting logic 2012-02-21 11:44:57 -04:00
Roberto Rosario a7dd15124d Versioning diagram update 2012-02-21 11:44:45 -04:00
Roberto Rosario 05fdd47fee Documentation update 2012-02-21 01:47:19 -04:00
Roberto Rosario e0a80f10cb Merge branch 'feature/documentation_updates' into development 2012-02-18 04:21:04 -04:00
Roberto Rosario a510cfe6d0 Link features to the actual chapter where they are discussed 2012-02-18 04:19:56 -04:00
Roberto Rosario d51a5590f8 Updated documentation index 2012-02-18 04:13:49 -04:00
Roberto Rosario 03cdea8920 Add document signatures chapter 2012-02-18 04:13:32 -04:00
Roberto Rosario 8e46f2818e Moved bulk document and user import to a separate chapter 2012-02-18 04:12:59 -04:00
Roberto Rosario 57730bcfbe Add versioning chapter and diagram 2012-02-18 04:12:38 -04:00
Roberto Rosario d0cdb44e2d Add clear_detached_signature manager method 2012-02-15 01:45:22 -04:00
Roberto Rosario 31c6cc3142 Move extra requirements upgrade step to the start, add staging file preview updates 2012-02-15 00:00:49 -04:00
Roberto Rosario 0c1da1b0c2 Add sources app migration instructions for the release notes 2012-02-14 23:56:13 -04:00
Roberto Rosario 6eca8b6699 Make staging source preview width a required field 2012-02-14 23:55:47 -04:00
Roberto Rosario 71f9a3171f Display staging file filename as a title when during preview, treat all staging files as a gallery 2012-02-14 23:46:42 -04:00
Roberto Rosario ffb155366a Add TODO comment for future consideration 2012-02-14 16:36:59 -04:00
Roberto Rosario f78b09229c Fallback to a page count of 1 when slate raise an Exception 2012-02-14 16:35:39 -04:00
Roberto Rosario 9f60cffd0a Use the Document model rename method 2012-02-14 16:35:14 -04:00
Roberto Rosario 614906e6f6 Add document and document version filename rename model method 2012-02-14 16:17:12 -04:00
Roberto Rosario 00e467949f Update metadata and indexes after document is fully created 2012-02-14 15:59:44 -04:00
Roberto Rosario 90112bb9bb Explicitly close descriptors after verifying a file's signatures 2012-02-14 14:41:44 -04:00
Roberto Rosario 6de85b9670 Don't pass the detached_signature descriptor, but clone it to avoid being closed, don't close file descriptors leave it up to caller to do so. 2012-02-14 14:40:48 -04:00
Roberto Rosario ff52506b24 Plug a possible descriptor leak 2012-02-14 14:26:58 -04:00
Roberto Rosario bd4e97b857 Rename delete_detached_signature to delete_detached_signature_file which is more appropiate 2012-02-14 14:26:25 -04:00
Roberto Rosario d0ba46ecde Remove commented default settings
Too hard to maintain, users should use the documentation instead and them by hand
2012-02-14 14:25:18 -04:00
Roberto Rosario a9cd2141b0 Add Gname news server to the help section of the documentation 2012-02-14 14:24:40 -04:00
Roberto Rosario cc3525366c Add Michael Terretta to the contributors file 2012-02-13 02:13:48 -04:00
Roberto Rosario a0ce01fc0c Add missing dot typo 2012-02-12 23:38:22 -04:00
Roberto Rosario 60176ada09 Documentation updates 2012-02-12 17:12:42 -04:00
Roberto Rosario cc0040a88b Language source files updates, Spanish translation updates 2012-02-12 15:33:26 -04:00
Roberto Rosario 1892225d6f Show currently selected document type in upload views 2012-02-12 15:18:21 -04:00
Roberto Rosario 4d8a61b25b Fix document container index nodes 2012-02-12 15:01:07 -04:00
Roberto Rosario 234e5b8c5b Add Latex configuration 2012-02-12 02:21:57 -04:00
Roberto Rosario f253ecf8c1 Gracefully shutdown the scheduler on pre_collectstatic and post_syncdb 2012-02-12 02:06:45 -04:00
Roberto Rosario 31813f3412 Add signaler app to intercept management commands and emit signals 2012-02-12 02:06:06 -04:00
Roberto Rosario d1621c6120 Documentation updates, split indexes and permissions into sections 2012-02-11 21:21:16 -04:00
Roberto Rosario f94f997883 Documentation updates, indexed documentation 2012-02-11 21:13:05 -04:00
Roberto Rosario f19d34cd8c Spanish and Russian language translation updates 2012-02-11 20:30:37 -04:00
Roberto Rosario 028c134bfd The OSError doesn't like unicode text, change it to plain Exception class (Sergei Glita) 2012-02-11 20:05:58 -04:00
Roberto Rosario afb64f7472 Also ensure that the default gpg_home directory is really relative to the installation directory (SaintGermain) 2012-02-11 18:08:54 -04:00
Roberto Rosario 2334a63fe4 Ensure default document_storage directory is really relative to the installation directory (SaintGermain) 2012-02-11 18:08:20 -04:00
Roberto Rosario e7825dedb6 Fix 'get_image_cache_name() takes exactly 3 arguments (2 given)' (Barry Rowlingson, SaintGermain) 2012-02-09 02:24:18 -04:00
Roberto Rosario 7adb3a9ccd Remove debug logging command causing unicode error (Sergei Glita) 2012-02-08 11:23:24 -04:00
Roberto Rosario e2ca6654f4 Improve tag appeareance and elimate obsolete tag block color widget 2012-02-07 15:07:17 -04:00
Roberto Rosario f026ef8bd4 Handle unicode filenames in staging folder preview and upload (Sergei Glita) 2012-02-07 14:40:56 -04:00
Roberto Rosario fe6e347592 Remove delete mode in the permission grant and remove views (Sergei Glita) 2012-02-07 10:42:07 -04:00
Roberto Rosario d457c752fa Ilustrations markup update 2012-02-07 01:48:25 -04:00
Roberto Rosario 17fcf9877c Finished indexes topic of the documentation will full ilustrations 2012-02-07 01:46:20 -04:00
Roberto Rosario aa9d878365 Add missing import 2012-02-07 00:17:07 -04:00
Roberto Rosario 44ca1ccac6 Move dispatch to the correct place 2012-02-06 16:20:00 -04:00
Roberto Rosario 35bd9a1519 Remove repeated update step 2012-02-06 16:01:20 -04:00
Roberto Rosario 02e83d5c77 For folders app migration to depend of document's app migrations 2012-02-06 15:03:50 -04:00
Roberto Rosario 0219598912 Fix bug introduced by last commits 2012-02-06 15:03:26 -04:00
Roberto Rosario eef1114be2 Add transaction rollback 2012-02-06 14:56:27 -04:00
Roberto Rosario 248a5ea82d Add transaction rollback 2012-02-06 14:38:59 -04:00
Roberto Rosario 758661c280 Add requirements installation step to the upgrade procedure 2012-02-06 14:38:08 -04:00
Roberto Rosario 75ecbfdee0 Add PostgreSQL instructions 2012-02-06 14:37:40 -04:00
Roberto Rosario c0d8e6f667 Move the RecentDocumentManager to the models.py file
To be able to return a QuerySet and not a list of recent documents
2012-02-05 23:27:03 -04:00
Roberto Rosario 2147923eb0 Documentation updates, permissions diagrams and inkscape sources 2012-02-05 02:47:11 -04:00
Roberto Rosario 4d546f7415 Remove celery code line 2012-02-05 00:51:31 -04:00
Roberto Rosario 9c03663924 Move tree node widget code to the widgets.py file and prettify a bit 2012-02-05 00:48:31 -04:00
Roberto Rosario 735d3db97a Merge django_gpg's verify_file + verify_w_retry methods 2012-02-05 00:19:54 -04:00
Roberto Rosario a13f048242 Fix indentation 2012-02-04 17:20:13 -04:00
Roberto Rosario a707a3f29e Backport OCR app fixes 2012-02-04 13:59:56 -04:00
Roberto Rosario 5c504af81f Backport history app database sync fix 2012-02-04 13:57:04 -04:00
Roberto Rosario 2be02b2e01 Remove db_index from TextField class fields, this closes issue #12 2012-02-04 13:22:12 -04:00
Roberto Rosario 1a24c18598 Add file storage topic 2012-02-02 16:21:34 -04:00
Roberto Rosario db3b64b35e Add link to Samba, link to settings option 2012-02-02 16:21:11 -04:00
Roberto Rosario 79c793b74b Improve list format 2012-02-02 16:20:55 -04:00
Roberto Rosario 40f6eb6c0c Add permission topic to the documentation 2012-02-02 16:02:59 -04:00
Roberto Rosario a24bf89a2b Merge branch 'feature/doc_type_default_optiongroups' into development 2012-02-02 15:38:00 -04:00
Roberto Rosario ca193252c2 Add option group support to the document type default metadata types and sets view 2012-02-02 15:37:36 -04:00
Roberto Rosario cc9ce7c212 Don't hide and raise errors on assign_remove view when in DEBUG mode 2012-02-02 15:37:06 -04:00
Roberto Rosario 2dfad128e2 Language source and translations updates 2012-02-02 14:56:15 -04:00
Roberto Rosario e870f4ee5a Fix translation scripts 2012-02-02 13:03:10 -04:00
Roberto Rosario 5891a39e41 Added transifex client to the development requirements 2012-02-02 12:50:20 -04:00
Roberto Rosario d2f1dcc181 Merge branch 'feature/feedback_app' into development 2012-02-02 12:49:27 -04:00
Roberto Rosario b3c917a9de Update language related config files for new feedback app 2012-02-02 12:49:10 -04:00
Roberto Rosario 67f3377916 Add feedback app 2012-02-02 12:48:56 -04:00
Roberto Rosario 57846a758a Show index child node count 2012-02-02 11:20:08 -04:00
Roberto Rosario a9d02e08bc Update top menu icon 2012-02-02 11:07:28 -04:00
Roberto Rosario c02dcce043 Merge branch 'feature/indexing_refactor' into development 2012-02-02 10:45:11 -04:00
Roberto Rosario 48922d58ef Documentation update for the document indexing 2012-02-02 10:44:00 -04:00
Roberto Rosario 6b8dcb7240 Update the index mirroring rebuild tool 2012-02-02 10:28:25 -04:00
Roberto Rosario cc78b7d25a Update filesystem mirroring functions 2012-02-02 10:27:46 -04:00
Roberto Rosario 02a762cf73 Remove obsolete indexing config settings and add new FILESYSTEM_SERVING 2012-02-02 10:26:58 -04:00
Roberto Rosario 063d2fca40 Smarted exception catching 2012-02-02 10:26:39 -04:00
Roberto Rosario 7331a87c89 Rename MetadataObject class to MetadataClass 2012-02-02 09:42:37 -04:00
Roberto Rosario cc3632dcfe Remove remarked code 2012-02-02 09:37:31 -04:00
Roberto Rosario ac7a3806ec Use proper try/exception format 2012-02-02 09:37:13 -04:00
Roberto Rosario 2c6339b56a Small updates and fixes 2012-02-02 09:33:28 -04:00
Roberto Rosario 1eabbf90cd Move exception to a single module 2012-02-02 09:23:20 -04:00
Roberto Rosario 2ac6250149 Fix imports 2012-02-02 09:23:07 -04:00
Roberto Rosario 1d3c5241ec Move all widgets code to a single module 2012-02-02 09:22:40 -04:00
Roberto Rosario 95be7cb417 Merge os_specify and filesystem module 2012-02-02 09:17:01 -04:00
Roberto Rosario 2c53c5a2ff Automatically create root template node on index save, add help texts 2012-02-02 09:13:23 -04:00
Roberto Rosario 06cde627d2 Simplify node link generator 2012-02-02 09:12:58 -04:00
Roberto Rosario c6fa070222 Add ACL checks to document_index_list 2012-02-02 09:12:20 -04:00
Roberto Rosario 790dad2df4 Enforce enabled boolean field, silence errors 2012-02-02 09:00:41 -04:00
Roberto Rosario f4ed105c99 Bump version to 0.12 beta 2012-02-02 05:35:06 -04:00
Roberto Rosario d230dd7110 Revert "Bump version to 0.11.2"
This reverts commit f9be37768e.
2012-02-02 05:33:47 -04:00
Roberto Rosario c79d1d0c34 Revert "Merge branch 'hotfix/v0.11.2' into development"
This reverts commit f8e2341f4f, reversing
changes made to 1c8fd9e212.
2012-02-02 05:28:13 -04:00
Roberto Rosario f8e2341f4f Merge branch 'hotfix/v0.11.2' into development
Conflicts:
	apps/documents/statistics.py
	docs/changelog.rst
2012-02-02 05:23:17 -04:00
Roberto Rosario 5300eea31a Merge branch 'hotfix/v0.11.2' 2012-02-02 05:21:52 -04:00
Roberto Rosario c117a907e4 Update changelog 2012-02-02 05:21:32 -04:00
Roberto Rosario f9be37768e Bump version to 0.11.2 2012-02-02 05:21:20 -04:00
Roberto Rosario 1c8fd9e212 Revert "Add Сергей Глита (https://github.com/gsv70) fix for issue #17"
This reverts commit af77cdcf63.
2012-02-02 05:16:04 -04:00
Roberto Rosario 603f6eec3e Add Сергей Глита (https://github.com/gsv70) fix for issue #17 2012-02-02 05:15:47 -04:00
Roberto Rosario af77cdcf63 Add Сергей Глита (https://github.com/gsv70) fix for issue #17 2012-02-02 05:13:58 -04:00
Roberto Rosario 664eda3d20 Add David Herring's monetary donation 2012-02-02 05:13:04 -04:00
Roberto Rosario 59f6f7f8cc Document indexing refactoring update 2012-02-02 05:01:42 -04:00
Roberto Rosario bbf03e3caa Merge branch 'development' into feature/indexing_refactor
Conflicts:
	docs/releases/0.12.rst
2012-02-02 02:59:31 -04:00
Roberto Rosario 7b7153f7f6 Apply same invalid holder check to object ACL holder list manager method 2012-02-02 01:05:15 -04:00
Roberto Rosario a3ccc9c005 Don't assign an ACL to a non existant holder 2012-02-02 01:02:40 -04:00
Roberto Rosario 4ed7c714e0 Don't return non existant class default holders 2012-02-02 01:02:17 -04:00
Roberto Rosario 1ccdbb7973 Add extra logging 2012-02-02 01:01:25 -04:00
Roberto Rosario 4e3a16da82 Return a QuerySet of documents instead 2012-02-02 00:38:58 -04:00
Roberto Rosario 556c0824fb Return a QuerySet instead of a list of documents 2012-02-02 00:16:34 -04:00
Roberto Rosario 78b73b81e3 Increase folder title field size to 128 characters 2012-02-02 00:10:16 -04:00
Roberto Rosario a91d7882f8 Don't display object type on the metadata set member add remove view 2012-02-02 00:05:20 -04:00
Roberto Rosario 3b327ff5b3 Documentation updates, allow settings reference linking from other documents 2012-02-01 17:04:54 -04:00
Roberto Rosario 600fdf0b8a Add djangodoc extension 2012-02-01 17:04:33 -04:00
Roberto Rosario eff399612d Documentation updates 2012-02-01 14:41:45 -04:00
Roberto Rosario a90896e774 Documentation updates 2012-02-01 13:43:24 -04:00
Roberto Rosario 9cb23ffc15 Add new indexing static media 2012-02-01 01:27:04 -04:00
Roberto Rosario 65b20313d7 Add index creation and edit form 2012-02-01 01:26:50 -04:00
Roberto Rosario 8e54649b2a Add indexing migrations and new models 2012-02-01 01:26:33 -04:00
Roberto Rosario 36a077fb7e Add index setup views and related permissions, urls and links 2012-02-01 01:25:22 -04:00
Roberto Rosario 640ff7146c Initial update to support multiple indexes 2012-01-31 22:48:00 -04:00
Roberto Rosario 58bea814f1 Remove deprecated OCR task view 2012-01-27 16:33:29 -04:00
Roberto Rosario 48559e68cd Merge branch 'feature/acl_inheritance' into development 2012-01-27 15:54:25 -04:00
Roberto Rosario 9d52ce6683 Add object_list/queryset ACL inheritance 2012-01-27 15:54:05 -04:00
Roberto Rosario 9057d3c481 Add actor membership access checking 2012-01-27 11:11:05 -04:00
Roberto Rosario e69d24689b Merge branch 'feature/bulk_user_import' into development 2012-01-27 02:27:21 -04:00
Roberto Rosario 0b92fad9c2 Add information about the CSV field order 2012-01-27 00:47:30 -04:00
Roberto Rosario 70aec4a0b7 Add information about the user CSV importer to the documentation 2012-01-27 00:46:13 -04:00
Roberto Rosario ff88e1a422 Add command line function to import a list users from a CSV file 2012-01-27 00:41:15 -04:00
Roberto Rosario 1fe9902144 Set new users' password as unusable until one is set, add column to user list showing if password is usable 2012-01-27 00:40:30 -04:00
Roberto Rosario 5de9b46048 Redirect to user password reset view after a new user is created 2012-01-26 23:17:29 -04:00
Roberto Rosario 4737b393b5 Add email authentication backend note to the documentation 2012-01-26 23:13:13 -04:00
Roberto Rosario 485573c5d6 Validate email in user details edit to avoid email clashes 2012-01-26 23:11:11 -04:00
Roberto Rosario 8ebd5b8062 Make email field full width in email login form 2012-01-26 23:10:28 -04:00
Roberto Rosario 30351225f6 Allow current to edit more details of himself, saner redirection after password change 2012-01-26 22:42:36 -04:00
Roberto Rosario d79e86ae30 Only allow compressed files for bulk upload command 2012-01-26 11:37:44 -04:00
Roberto Rosario 266fcc75df Prevent upload error from desynchonizing the database 2012-01-26 11:37:20 -04:00
Roberto Rosario af58a8ccd0 Added documentation for the bulk uploading command 2012-01-26 11:24:29 -04:00
Roberto Rosario b91e21a928 Merge branch 'feature/bulk_upload' into development 2012-01-26 11:15:09 -04:00
Roberto Rosario 850c6dd69a Add the options --metadata and --document_type to the bulk uploader 2012-01-26 11:14:22 -04:00
Roberto Rosario fd19f4502c Merge branch 'development' into feature/bulk_upload
Conflicts:
	apps/sources/models.py
2012-01-26 10:33:08 -04:00
Roberto Rosario 4c36f9afdb Merge remote-tracking branch 'origin/development' into development 2012-01-26 10:31:37 -04:00
Roberto Rosario e08c93e88b Add out of process bulk document upload 2012-01-26 10:31:07 -04:00
Roberto Rosario cf36e281fe Documentation updates 2012-01-26 09:49:57 -04:00
Roberto Rosario 9afa641b19 Move import to beginning of file 2012-01-26 09:49:50 -04:00
Roberto Rosario c38d10ebf5 Proper redirection on document deletion 2012-01-25 23:52:38 -04:00
Roberto Rosario 7d18735882 Improve feedback messages when uploading files 2012-01-25 23:02:42 -04:00
Roberto Rosario 3d0865b93f Fix uploading of compressed files 2012-01-25 23:02:27 -04:00
Roberto Rosario 1d543cdd0a Prevent database corruption on document saving error 2012-01-25 22:35:55 -04:00
Roberto Rosario 8aa56dc11c Fix typo 2012-01-25 21:51:35 -04:00
Roberto Rosario 376a31db96 Reorder installed apps so that the web theme pagination template is found 2012-01-25 10:33:01 -04:00
Roberto Rosario aa1ea252d8 Remove Changelog view in the about menu, add documentation link to the about template 2012-01-25 04:27:38 -04:00
Roberto Rosario 7276a11171 Fix website address 2012-01-25 03:05:18 -04:00
Roberto Rosario 8ce5c25949 Only list development tools in the development requirements file 2012-01-25 02:58:01 -04:00
Roberto Rosario 7eff8b77fc Show simple error messages when debug is True and debugging tools are not found 2012-01-25 02:55:58 -04:00
Roberto Rosario 7495026d69 Display error on stderr and fallback to system default home on GPG initialization error 2012-01-25 02:55:25 -04:00
Roberto Rosario af04f532ad Add SIGNATURES_GPG_HOME configuration option 2012-01-25 02:43:31 -04:00
Roberto Rosario 0e87b5dc56 Return raw gpg error result 2012-01-25 02:26:49 -04:00
Roberto Rosario 4fe7803ff1 Make GPG key import errors more verbose 2012-01-25 02:17:17 -04:00
Roberto Rosario e7a2aed6a0 Silence HTML validator 2012-01-25 02:17:04 -04:00
Roberto Rosario c56a67e33a Update website address in about view 2012-01-25 02:01:19 -04:00
Roberto Rosario c0ebff580a Add libapache2-mod-xsendfile installation step 2012-01-25 01:13:48 -04:00
Roberto Rosario 194a6b41f9 Fix redirect view name 2012-01-24 16:34:28 -04:00
Roberto Rosario c88777cbc8 Release notes updates 2012-01-24 12:57:31 -04:00
Roberto Rosario b25d446f34 Merge branch 'feature/2_step_download' into development 2012-01-24 12:15:12 -04:00
Roberto Rosario e44ef229b0 Improve single, multiple document and document versions downloads
By using a 2 step document download view
2012-01-24 12:13:53 -04:00
Roberto Rosario 4eaf4bd785 Add cancel button and previous hidden variable support to the generic form template 2012-01-24 12:13:19 -04:00
Roberto Rosario c48d158581 Change the documentation structure to be more like Django's one 2012-01-24 01:51:12 -04:00
Roberto Rosario a63b6e2039 Reorganized app loading order 2012-01-24 01:50:47 -04:00
Roberto Rosario 5a61de3dc4 Updated changelog 2012-01-24 01:50:26 -04:00
Roberto Rosario 808b9488f5 Updated contributors file 2012-01-24 01:50:06 -04:00
Roberto Rosario 06769af186 Merge branch 'feature/github_issue_17' into development 2012-01-23 20:09:31 -04:00
Roberto Rosario 063cc06325 Remove unused import 2012-01-23 20:03:09 -04:00
Roberto Rosario d9aa63f8ca Remove Sentry and celery from Mayan EDMS 2012-01-23 20:00:39 -04:00
Roberto Rosario 8d3824ea51 Only try create the defautl OCR queue after the database has been created 2012-01-23 19:20:37 -04:00
Roberto Rosario c6fe73939a Ignore database errors during the syncdb phase 2012-01-23 19:20:19 -04:00
Roberto Rosario 2bfa30a59e Fix indentation from tab to spaces 2012-01-22 05:44:08 -04:00
Roberto Rosario 040a51348d Added mailing list 2012-01-21 04:46:48 -04:00
Roberto Rosario 2b27feaa34 Merge branch 'feature/apply_default_acls' into development 2012-01-21 04:36:36 -04:00
Roberto Rosario ec461c4f9b Update acl views to use encapsulated objects 2012-01-21 04:07:23 -04:00
Roberto Rosario f37500b0b4 Allow returning on the db stored permissions 2012-01-21 04:06:48 -04:00
Roberto Rosario 7714e62e97 Display proper unicode result for anonymous user class and creator class 2012-01-21 04:04:42 -04:00
Roberto Rosario bf9073fdce Add creator content type icon 2012-01-21 04:04:13 -04:00
Roberto Rosario 95f56cbd5a Enable default acls setup upon creation for documents, folders, tags and smart_links 2012-01-21 04:03:58 -04:00
Roberto Rosario 70953882a7 Implement ClassHolderSelectionForm and HolderSelectionForm forms
Subclassed from BaseHolderSelectionForm
2012-01-21 03:57:26 -04:00
Roberto Rosario d1eb387c16 Start work on the creator pseudo class acl holder 2012-01-20 22:54:26 -04:00
Roberto Rosario 39f47702c0 Finish the apply_default_acls function and enable it for document creation 2012-01-20 22:53:48 -04:00
Roberto Rosario 796dcc908a Move source_object class method to the classes module 2012-01-20 22:52:56 -04:00
Roberto Rosario 6117fde649 Initial default to current acl support 2012-01-19 17:44:34 -04:00
Roberto Rosario f48675b0a8 Merge branch 'feature/pep8_cleanups' into development 2012-01-19 12:04:16 -04:00
Roberto Rosario 8a5825a275 Convert tabs to spaces 2012-01-19 12:04:02 -04:00
Roberto Rosario 3b997f0d8f Silence AlreadyQueued
For the moment until support for queueing document versions is avaiable
2012-01-19 11:55:53 -04:00
Roberto Rosario c01c030ee6 Remove test 2012-01-18 16:34:59 -04:00
Roberto Rosario 44aef884f4 Remove exporter app 2012-01-18 16:06:06 -04:00
Roberto Rosario c9e58bdfac Remove unused import 2012-01-18 16:05:11 -04:00
Roberto Rosario f374596a28 Cleanups, improve comments 2012-01-18 16:01:06 -04:00
Roberto Rosario af106badac Cleanups and remove unused imports 2012-01-18 16:00:30 -04:00
Roberto Rosario 84f3fcd2da Rename holder to actor 2012-01-18 14:43:33 -04:00
Roberto Rosario e069243f7c Add missing import 2012-01-18 14:43:17 -04:00
Roberto Rosario 970cb74d35 PEP8 cleanups 2012-01-18 14:37:15 -04:00
Roberto Rosario ad59734460 Fix document signatures app reverse migration 2012-01-18 14:36:42 -04:00
Roberto Rosario f9a3c4611b PEP8 cleanups, remove OCR_CACHE_URI 2012-01-18 13:53:02 -04:00
Roberto Rosario 8a5d0425b6 PEP8 cleanups, style cleanups, unused imports 2012-01-18 13:52:19 -04:00
Roberto Rosario 1a285d56dc PEP8 cleanups, remove unused imports 2012-01-17 16:40:30 -04:00
Roberto Rosario 93fc581ba0 Remove unused imports, file zf.write argument 2012-01-17 16:33:51 -04:00
Roberto Rosario 5d8a4584aa Add db migration instruction for 0.11.1 -> 0.12 2012-01-17 15:15:57 -04:00
Roberto Rosario 4b3a446d4a Improve metadata app navigation feedback 2012-01-17 15:15:43 -04:00
Roberto Rosario fe5a42240d Fix redirect view name 2012-01-10 15:21:10 -04:00
Roberto Rosario f3fe4edc74 Add --migrate to another instance of syncdb command 2012-01-09 09:08:56 -04:00
Roberto Rosario b34caacf13 Update installation instructions to add --migrate parameter to syncdb step 2012-01-09 09:07:59 -04:00
Roberto Rosario 94e8bf2e74 Update changelog 2012-01-09 09:07:46 -04:00
Roberto Rosario 11a023feed Add Barry Rowlingson to the contributors file 2012-01-09 09:07:25 -04:00
Roberto Rosario 4e85f93ae1 Merge branch 'feature/anonymous_support_for_roles' into development 2012-01-09 08:34:15 -04:00
Roberto Rosario 665ec099a9 Add anonymous user support to the role member add and remove views 2012-01-09 08:33:44 -04:00
Roberto Rosario 8216953bed Add anonymous user content type support to RoleMembers class 2012-01-09 08:33:20 -04:00
Roberto Rosario fe9db003d2 Improve navigation feedback when granting or revoking a role permission 2012-01-09 08:32:49 -04:00
Roberto Rosario 3b3b29cb99 Update the role member add and removal views to use option groups and Role class methods 2012-01-09 08:13:42 -04:00
Roberto Rosario 4da328612d Add option group support to the assign_remove view 2012-01-09 08:12:50 -04:00
Roberto Rosario 9fae7269a6 Move Role class processing from the views to the model as methods 2012-01-09 08:11:59 -04:00
Roberto Rosario 9e3bfddaad Merge branch 'feature/two_level_acl_view_support' into development 2012-01-09 06:43:04 -04:00
Roberto Rosario c330c422b7 Remove app specific ACL new holder links, urls and views 2012-01-09 06:42:35 -04:00
Roberto Rosario 351784a210 Add generic 'new holder' link 2012-01-09 06:41:58 -04:00
Roberto Rosario 304ea15f9e Add sidebar link support for multiple navigation objects 2012-01-09 06:41:06 -04:00
Roberto Rosario 03a3eb1186 Merge branch 'feature/class_default_acl_support' into development 2012-01-09 04:57:32 -04:00
Roberto Rosario 239d59ca0c Remove decrepated context arguments 2012-01-09 04:56:32 -04:00
Roberto Rosario 5230b9ca53 Improve permission granting and revoking messages, improve navigation feedback 2012-01-09 04:51:01 -04:00
Roberto Rosario 86147c234b Add 'get_classes' to the DefaultAccessEntry class 2012-01-09 04:49:52 -04:00
Roberto Rosario af962f5998 Add content type icon mapping for anonymous user 2012-01-09 04:49:10 -04:00
Roberto Rosario a7f1e081c1 Refactor the EncapsulatedObject class 'encapsulate' method 2012-01-09 04:48:17 -04:00
Roberto Rosario 77400fc42f Make api module not dependant on any other 2012-01-09 04:47:41 -04:00
Roberto Rosario 4aad4efad3 Navigation feedback improvements for a few apps 2012-01-09 04:46:46 -04:00
Roberto Rosario 014ca49a7c Call the correct function to get list of registered classes for acl 2012-01-09 02:23:01 -04:00
Roberto Rosario a2e00b7776 Use content type model name and not name when mapping content types to icons 2012-01-09 02:22:25 -04:00
Roberto Rosario 071da14330 Remove moved method and unused import 2012-01-09 02:22:04 -04:00
Roberto Rosario 78c99c7700 Add tags and smartlinks icon mappings 2012-01-09 02:21:17 -04:00
Roberto Rosario 6e24b56e0e Add missing capfirst import 2012-01-09 02:21:01 -04:00
Roberto Rosario 7aabd7a1cc Add 'get_classes' function to acls.api, add function docstrings 2012-01-09 02:20:27 -04:00
Roberto Rosario 78207be926 Updated translation source files for the common app 2012-01-08 07:40:00 -04:00
Roberto Rosario a088590073 Process horizontal list links with the same logic as all other links 2012-01-08 07:38:12 -04:00
Roberto Rosario ac8678b741 Add absolute importing 2012-01-08 07:37:48 -04:00
Roberto Rosario c897fa169d Restrict file format list view to superusers and staff 2012-01-08 07:36:32 -04:00
Roberto Rosario 1039b80831 Remove commented code 2012-01-08 07:36:07 -04:00
Roberto Rosario abd408812f Restrict statistics access to superusers and staff only 2012-01-08 07:35:40 -04:00
Roberto Rosario 7ea9033c02 Change the default return value of the acl tag to False if there is no navigation object available
* This fixes the creation views links for the anonymous users
2012-01-08 06:51:32 -04:00
Roberto Rosario 191386038c Don't update recent documents for anonymous users 2012-01-08 06:50:35 -04:00
Roberto Rosario 9e43b1bd7d Remove FOLDER VIEW permission from the folder list view link
This view is filtered by ACL
2012-01-08 06:49:50 -04:00
Roberto Rosario 14dbeb4266 Remove AnonymousUser class checking 2012-01-08 06:49:26 -04:00
Roberto Rosario fac43006e3 Add translable return text to the anonymous user singleton __unicode__ method 2012-01-08 06:48:45 -04:00
Roberto Rosario 4db37003d9 Call the proper method when adding anonymous user singleton to the new holder list 2012-01-08 06:48:01 -04:00
Roberto Rosario f07c451650 Merge branch 'feature/anonymous_support' into development 2012-01-08 04:59:42 -04:00
Roberto Rosario 51a6abaf11 Add context variable setting helper template tag 2012-01-08 04:59:16 -04:00
Roberto Rosario 3ef44b3d32 Update logout action to not redirect on logout 2012-01-08 04:58:42 -04:00
Roberto Rosario 45031022b6 Update COMMON_ALLOW_ANONYMOUS_ACCESS description wording 2012-01-08 04:58:22 -04:00
Roberto Rosario c3175c7ea4 Add anonymous user support to the permission app 2012-01-08 04:57:54 -04:00
Roberto Rosario 7fd83ddf0b Fix import format 2012-01-08 04:57:02 -04:00
Roberto Rosario f2a263adb7 Move tag model column registration to the tags app 2012-01-08 04:55:54 -04:00
Roberto Rosario ad5dfdd148 Removed remarked lines 2012-01-08 04:55:13 -04:00
Roberto Rosario c2fcbfe299 Add COMMON_ALLOW_ANONYMOUS_ACCESS configuration option to allow access to non authenticated users 2012-01-08 04:54:15 -04:00
Roberto Rosario 467be05baa Select the proper web theme display mode based on the user authentication status 2012-01-08 04:42:01 -04:00
Roberto Rosario 9d73c10b7b Invert authentication test logic from is_anonymous to not is_authenticated
From: http://gdub.wordpress.com/2006/09/23/is_authenticated-vs-is_anonymous/
2012-01-08 04:41:07 -04:00
Roberto Rosario be1658505c Use a context variable (web_theme_view_type) to determine the web theme view mode instead of using the user login status 2012-01-08 04:40:02 -04:00
Roberto Rosario 0c02ac7d40 Add anonymous user support to the dynamic search app's Savedsearch model manager method 2012-01-07 23:36:41 -04:00
Roberto Rosario cbc94e484f Add anonymous user support to the Permission manager models 2012-01-07 23:36:07 -04:00
Roberto Rosario 85875be859 Add further auto admin creation cleanups 2012-01-07 23:33:31 -04:00
Roberto Rosario c7ee18af85 Add anonymous user support to the 'get_object_name' function 2012-01-07 23:33:09 -04:00
Roberto Rosario 4931d9bf49 Update recent document list view to user the 'get_for_user' RecentDocument manager method 2012-01-07 23:30:58 -04:00
Roberto Rosario 367d197cc0 Add 'get_for_user' method to the RecentDocument model 2012-01-07 23:30:35 -04:00
Roberto Rosario 51b63e86de Add corresponding permission check to the source app view links 2012-01-07 23:29:42 -04:00
Roberto Rosario fa94288317 Only add the sentry and admin add and icons if they corresponding apps have been installed 2012-01-07 23:29:03 -04:00
Roberto Rosario df5f50f5d4 Cleanup auto admin user creation using receiver decorator 2012-01-07 23:28:26 -04:00
Roberto Rosario 33513d34a5 Remove remarked code 2012-01-07 23:25:54 -04:00
Roberto Rosario 595e901b64 Add anonymous user support to the acl model manager methods 2012-01-07 23:24:04 -04:00
Roberto Rosario b9f7939e3e Add the anonymous user singleton to the list of avaible holder for an acl 2012-01-07 23:22:55 -04:00
Roberto Rosario d0acea0714 Add anonymous user support to the object encapsulator class 2012-01-07 23:22:03 -04:00
Roberto Rosario 28000ccfec Add proper permission checking to the ACL setup view links 2012-01-07 23:21:22 -04:00
Roberto Rosario a020b011dc Expose main app properties as project properties 2012-01-07 23:20:39 -04:00
Roberto Rosario eb267cae10 Add a Singleton Model class and an AnonymousUserSingleton model to support adding permissions and access to anonymous users 2012-01-07 23:18:42 -04:00
Roberto Rosario 018ab3d7ca Merge branch 'feature/bulk_download' into development 2012-01-04 02:11:19 -04:00
Roberto Rosario 3a517036d1 Add bulk download support to the document app 2012-01-04 02:09:30 -04:00
Roberto Rosario dfcf2b8b17 Add generic class for handling reading, appending and creating Zip files 2012-01-04 02:08:50 -04:00
Roberto Rosario 950aa5a51a Merge branch 'feature/comment_permissions' into development 2012-01-03 18:49:21 -04:00
Roberto Rosario edd344b924 Add ACL support to the document comments app 2012-01-03 18:49:03 -04:00
Roberto Rosario ffd90c0340 Remove unneeded module 2012-01-03 18:48:42 -04:00
Roberto Rosario 268c1386f0 Remove the unimplemented PERMISSION_COMMENT_EDIT permission 2012-01-03 18:48:12 -04:00
Roberto Rosario 1cd3c4e7d0 Add related support to 'filter_objects_by_access' and 'get_allowed_class_objects' methods 2012-01-03 18:47:28 -04:00
Roberto Rosario 4ded57f27d Improved, simplified and optimized the document signature verification model and manager 2012-01-03 06:55:08 -04:00
Roberto Rosario 6a8c86b0a4 Add _post_save_hooks support to the DocumentVersion class 2012-01-03 06:54:34 -04:00
Roberto Rosario c70f915b49 Add 'has_embedded_signature' helper method to the GPG class 2012-01-03 06:53:44 -04:00
Roberto Rosario 5ec2386ec1 Update the OCR app to apply auto OCR queueing to new document version not only to the initial document upload 2012-01-03 04:56:25 -04:00
Roberto Rosario ebfb3e547f Comment style update 2012-01-03 04:56:15 -04:00
Roberto Rosario 1f44b1bc6c Add ACL support to the OCR app 2012-01-03 04:37:30 -04:00
Roberto Rosario b89c55ed18 Codying style update, added comments 2012-01-03 04:37:03 -04:00
Roberto Rosario 19b2412e03 Move the 'PERMISSION_DOCUMENT_NEW_VERSION' permission from the sources to the documents app 2012-01-03 04:26:31 -04:00
Roberto Rosario 24da6f4796 Add ACL support to the metadata app 2012-01-03 04:17:44 -04:00
Roberto Rosario 807444eddd User correct permission for the metadata view form header link, use proper coding style 2012-01-03 04:16:40 -04:00
Roberto Rosario 5de44256bc Improve coding style 2012-01-03 04:16:16 -04:00
Roberto Rosario d270e155a2 Add ACL support to the history app 2012-01-03 03:28:17 -04:00
Roberto Rosario 3833e07d03 Remove repeated import 2012-01-03 03:28:01 -04:00
Roberto Rosario 67c6467df0 Remove old project file 2012-01-03 03:16:18 -04:00
Roberto Rosario f45c8ca2f5 Removed unnedeed top level locale dir 2012-01-03 03:15:10 -04:00
Roberto Rosario 3fd64d230b Add ACL support to the document signatures app 2012-01-03 03:13:58 -04:00
Roberto Rosario 29ef0e3f42 Proper 'PermissionDenied' exception import 2012-01-03 03:13:39 -04:00
Roberto Rosario e5cc2e3f7a Update the apps to the new acls module split 2012-01-03 03:04:32 -04:00
Roberto Rosario 40d3426202 Split acls models module into models, managers, classes and api 2012-01-03 03:03:51 -04:00
Roberto Rosario 32b953db12 Improve tag permissions texts 2012-01-03 02:27:09 -04:00
Roberto Rosario 43c52d64e7 Add empty object_list support to the 'filter_objects_by_access' manager method 2012-01-03 02:26:29 -04:00
Roberto Rosario ae512a79f8 Add missing exception import 2012-01-03 02:22:37 -04:00
Roberto Rosario 3fc6a09703 Enable class acl permissions for the Tag class 2012-01-03 02:22:10 -04:00
Roberto Rosario f312a3d478 Merge branch 'feature/tag_acl' into development 2012-01-02 16:55:35 -04:00
Roberto Rosario f22a6f4ab0 Add proper label and icon for the new holder form submit button 2012-01-02 16:54:39 -04:00
Roberto Rosario 8478c33898 Implement ACL support for tags 2012-01-02 16:54:19 -04:00
Roberto Rosario cc7d55933a Move tag literals to their own module 2012-01-02 16:53:45 -04:00
Roberto Rosario e72173e803 Add documents external migration dependency 2012-01-02 07:23:44 -04:00
Roberto Rosario 7f66a5fad3 Remove remarked code 2012-01-02 07:23:34 -04:00
Roberto Rosario 7100014d96 Add document signatures app external migration dependecy 2012-01-02 07:23:07 -04:00
Roberto Rosario aaee4a3c8c Fixed document_signatures app data migration 2012-01-02 07:16:35 -04:00
Roberto Rosario 877259bdbf Don't change the cursor to a hand on disabled links to let the user know the link is not active 2012-01-02 07:00:58 -04:00
Roberto Rosario 32bc775890 Update comment style 2012-01-02 06:47:53 -04:00
Roberto Rosario 30416a094f Add superuser and staff user support to the filter_objects_by_access acl manager method 2012-01-02 06:47:25 -04:00
Roberto Rosario 09b252453a Simplify document to folder inclusion view, form and logic, add proper acl checking for folder document inclusion, add proper folder permission and acl checks to folder document inclusion form 2012-01-02 06:45:56 -04:00
Roberto Rosario fb62835af5 Remove remarked code 2012-01-02 06:45:37 -04:00
Roberto Rosario db7f748e72 Simplify database creation error catching for the history app 2012-01-02 06:44:55 -04:00
Roberto Rosario 0682736c48 Change comment style 2012-01-02 06:44:38 -04:00
Roberto Rosario d50f0f9910 Add an 'add_document' method to the Folder class 2012-01-02 06:44:12 -04:00
Roberto Rosario 233725cc58 Rename request to actor in more translatable texts 2012-01-02 05:59:07 -04:00
Roberto Rosario 8c19caa37a Initial translation for the acls app 2012-01-02 05:58:49 -04:00
Roberto Rosario 6fd2f02e6a Fix translation related acl app name typo 2012-01-02 05:46:29 -04:00
Roberto Rosario 655e1aa760 Add the acl app to the translation helper scripts 2012-01-02 05:45:00 -04:00
Roberto Rosario 0389b1af14 Add the acl app to the transifex resource file 2012-01-02 05:44:44 -04:00
Roberto Rosario 2cd91baa33 Initial translation files for the acl app 2012-01-02 05:43:33 -04:00
Roberto Rosario e3f01cba81 Fix the folder document remove view 2012-01-02 05:41:55 -04:00
Roberto Rosario 7a14cd1854 Add the remove_document method to the Folder class 2012-01-02 05:41:30 -04:00
Roberto Rosario 14ac963fca Update import type to use () instead of newline char 2012-01-02 05:40:58 -04:00
Roberto Rosario 46c40ea7ba Update acls app view module to use absolute importers, improve text formating so that ugettext doesn't complain 2012-01-02 05:40:15 -04:00
Roberto Rosario b82aa2ccfc Update the acl app to use absolute imports, rename the acl_detail link text from edit to details, fix class default acl links permissions 2012-01-02 05:39:11 -04:00
Roberto Rosario 83551c9b90 Move django_gpg permissions to a separate file 2012-01-02 03:49:19 -04:00
Roberto Rosario 34311fb17e Cleanups, permissions separation into explicit module, absolute import update 2012-01-02 03:48:26 -04:00
Roberto Rosario 2781a211ec Language translation updates 2012-01-02 01:47:14 -04:00
Roberto Rosario 1c0a52c931 Update document signatures app to use the new class based permissions 2012-01-01 20:50:46 -04:00
Roberto Rosario 600ba153af Merge branch 'feature/document_signature_app' into feature/ACL_support_w_permission_refactor
Conflicts:
	apps/django_gpg/__init__.py
	apps/django_gpg/views.py
	apps/tags/__init__.py
2012-01-01 20:50:28 -04:00
Roberto Rosario d54ec02b83 Add schema and data migrations for the new document signatures app 2012-01-01 20:39:41 -04:00
Roberto Rosario a70b12b488 Removed remarked code 2012-01-01 20:26:31 -04:00
Roberto Rosario 6864f14269 PEP8 Cleanups 2012-01-01 20:26:16 -04:00
Roberto Rosario 722f70029b Add document signatures app to the transifex resource file 2012-01-01 20:16:55 -04:00
Roberto Rosario 8c49bf1aa1 Add the document signatures app to the translation helper scripts 2012-01-01 20:16:35 -04:00
Roberto Rosario 992f470039 Add translation file for the new document_signatures app 2012-01-01 20:14:58 -04:00
Roberto Rosario 796475dfd9 Update file access to be smarter and accept either file like objects of file names, use less code to do so too 2012-01-01 20:12:13 -04:00
Roberto Rosario 6cafb394e9 Move manager code to a new managers.py file 2012-01-01 20:11:40 -04:00
Roberto Rosario 3de53dccfa Added document_post_save signal to detect is a document has a signature, improve the pre_open_hook, and added logging 2012-01-01 20:10:52 -04:00
Roberto Rosario 9e71b0bbc5 Don't mask upload errors when the DEBUG flas is True 2011-12-31 03:27:29 -04:00
Roberto Rosario 51464c910b Move more signature functionality to the document signature app 2011-12-31 03:26:25 -04:00
Roberto Rosario 3705007330 Move comments and tags manager statements to their respective apps 2011-12-31 00:22:20 -04:00
Roberto Rosario c0fbec0f8e Add and enable new document singatures app 2011-12-25 16:08:28 -04:00
Roberto Rosario c2419e63df Move document signature handling to the new document signature app 2011-12-25 16:08:03 -04:00
Roberto Rosario d9621dfb1f Add new document signature app 2011-12-25 16:07:45 -04:00
Roberto Rosario 0f12364e0c Add ACLS_EDIT_ACL and ACLS_VIEW_ACL pero object access check 2011-12-25 03:23:44 -04:00
Roberto Rosario 7e9fbf4f47 Add ACL support to the linking app, convert import to absolute 2011-12-25 03:22:05 -04:00
Roberto Rosario eb9fb7141d Simplify multi document views access checking logic 2011-12-25 03:21:22 -04:00
Roberto Rosario 5c74313948 Removed remarked code 2011-12-25 03:21:01 -04:00
Roberto Rosario 53bf3d940d Added logging to the acls tag 2011-12-25 03:20:16 -04:00
Roberto Rosario 8ab692ddc8 Use self.content_type.model instead of name, rename holder to actor, add get_class_permission to the AccessEntry manager, Encapsulation class decapsulation for AccessEntry manager methods, add exception_on_empty to raise PermissionDenied when the result of a filtered list is empty 2011-12-25 03:19:34 -04:00
Roberto Rosario b39a5bc903 Fix folder app ACL navigation 2011-12-25 03:16:54 -04:00
Roberto Rosario a9c5caa994 Add the __str__ method and stored_permission proxy property to the Permission class 2011-12-25 03:15:41 -04:00
Roberto Rosario de49d4a588 Pass a copy of the entire context to the navigation subtemplate when calling it from sublist template 2011-12-25 03:14:19 -04:00
Roberto Rosario 80fab8b70d Add and enable the new PERMISSION_DOCUMENT_NEW_VERSION permission 2011-12-25 03:13:17 -04:00
Roberto Rosario 3b884e8c8a Update get_allowed_class_objects to return a generator instead of a list, filter_objects_by_access to try return to return a queryset and failing that return a filtered list 2011-12-24 01:16:53 -04:00
Roberto Rosario e7c7ec0636 Remove remarked code 2011-12-24 01:16:32 -04:00
Roberto Rosario c187e77acc Fix document_clear_transformations and document_delete multi document ACL calculation 2011-12-24 01:10:10 -04:00
Roberto Rosario 54cb1d29e3 Remove the requirement for global permission for the document view and document recent view
User may not have the global permission, but still have permission to view certain documents via ACL
2011-12-24 01:08:57 -04:00
Roberto Rosario c4508f486b Update folder_view view to use document_list view, fix all absolute related import problems 2011-12-20 02:32:43 -04:00
Roberto Rosario f82a5091ed Update navigation tag to enable ACLs to work with list's items 2011-12-20 02:31:18 -04:00
Roberto Rosario 0fa3a07a73 Improve acl tag logic 2011-12-20 02:31:01 -04:00
Roberto Rosario fed62fb3c3 Rever to absolute import until circular import error is found 2011-12-19 23:54:29 -04:00
Roberto Rosario 2afeabf03e Update folders app to use relative import, move permission to a separate file, import acl usage 2011-12-19 23:49:33 -04:00
Roberto Rosario 4c17910e8c Conver object_list view to use AccessEntry.objects.filter_objects_by_access for simplicity 2011-12-19 23:48:46 -04:00
Roberto Rosario 3338035232 Add convenience manager method filter_objects_by_access 2011-12-19 23:48:07 -04:00
Roberto Rosario 4cd36026b9 Add migrations to convert existing databases to the class based permission system 2011-12-19 17:06:41 -04:00
Roberto Rosario 00875ddea2 Return a sorted permisions list by namespace name 2011-12-19 16:27:37 -04:00
Roberto Rosario 8c455fd42f Merge branch 'feature/testing' into development 2011-12-18 01:21:49 -04:00
Roberto Rosario 5a6414e044 Add document creation, versioning and signature test w/ sample document, signed document and detached signature 2011-12-18 01:21:09 -04:00
Roberto Rosario ebeb426f24 Add simple tag app tests 2011-12-17 23:24:41 -04:00
Roberto Rosario f91f5fd70f Fix get_image_cache_name regression in ocr app 2011-12-17 23:24:13 -04:00
Roberto Rosario c7d1f9aae1 Enable document type permissions 2011-12-17 19:47:17 -04:00
Roberto Rosario 65bc6c88ab Fix typo from method rename 2011-12-17 19:46:59 -04:00
Roberto Rosario b93b227994 Add access checking method to AccessEntry class 2011-12-17 19:46:28 -04:00
Roberto Rosario 367180a3ec Add document type permissions 2011-12-17 19:45:54 -04:00
Roberto Rosario 405eedfeb2 Add document level access control 2011-12-17 19:45:41 -04:00
Roberto Rosario 714f773b13 Add folder literal for content type icon 2011-12-17 19:45:13 -04:00
Roberto Rosario ef1e995177 Add acl tag to the navigation template 2011-12-17 19:44:47 -04:00
Roberto Rosario ec1c5d78dd Add template tag to hangle acl in navigation 2011-12-17 19:44:23 -04:00
Roberto Rosario 8baa84f96b Add folder level access control 2011-12-17 19:44:04 -04:00
Roberto Rosario 84410ac98e Reenable label field until DB migration are calculated 2011-12-17 16:44:01 -04:00
Roberto Rosario 79428117b8 Add new ObjectEncapsulation subclass ClassAccessHolder 2011-12-17 16:43:28 -04:00
Roberto Rosario 1f7b1bc904 Update new holder form to user HTML option groups and remove class permission current holders 2011-12-17 16:42:19 -04:00
Roberto Rosario bdc0a965b4 Fix acls_class_acl_detail view 2011-12-17 16:41:31 -04:00
Roberto Rosario 67485f82a9 Improve the usability of the new holder form
By using more descriptive texts
2011-12-17 14:07:38 -04:00
Roberto Rosario 574ef3c9c8 Update the default class acl setup views to a working state 2011-12-17 14:07:06 -04:00
Roberto Rosario 17b44387c9 Improve enclapsulated class unicode method, add grant and revoke method to the DefaultAccessEntry class 2011-12-17 14:06:12 -04:00
Roberto Rosario 85f05ebdcf Add the tag append and tag remover permissions and document class permissions 2011-12-17 14:05:31 -04:00
Roberto Rosario 175a06182c Add the ACL_VIEW and ACL_EDIT permissions and document class permissions 2011-12-17 14:04:58 -04:00
Roberto Rosario 2d28f23b9a Update the new acls holder form label 2011-12-17 14:04:17 -04:00
Roberto Rosario 5e76bc22f2 Add commented code for ideas 2011-12-14 09:12:05 -04:00
Roberto Rosario 00e5146686 Add acl app static media directory 2011-12-14 09:11:43 -04:00
Roberto Rosario 7dcaa1757a Initial class default ACLs views 2011-12-14 09:11:09 -04:00
Roberto Rosario 742b934bcc Initial db support for default classes ACLs 2011-12-14 09:10:45 -04:00
Roberto Rosario ac4498de12 Add support for classes 2011-12-14 09:10:34 -04:00
Roberto Rosario b1c495e22a Merge branch 'development' into feature/ACL_support_Default_class_ACL 2011-12-13 15:02:43 -04:00
Roberto Rosario 40623ad51a Merge branch 'feature/db_index_remove' into development 2011-12-13 13:02:41 -04:00
Roberto Rosario 7c179f2e90 Update changelog 2011-12-13 13:02:32 -04:00
Roberto Rosario 37dc418774 Updated the FAQ regarding the db_index issue 2011-12-13 13:01:00 -04:00
Roberto Rosario 4c86a9823a Remove db_index from TextField class fields, this closes issue #12 2011-12-13 13:00:19 -04:00
Roberto Rosario fe0e3de898 Update changelog 2011-12-13 12:42:00 -04:00
Roberto Rosario 7415f22d13 Merge branch 'feature/italian_translation_merge' into development 2011-12-13 12:04:36 -04:00
Roberto Rosario 7067130750 Update changelog 2011-12-13 12:03:51 -04:00
Roberto Rosario c99ed273fa Update Italian translation credits 2011-12-13 12:03:28 -04:00
Roberto Rosario 15e935173e Update complete Italian translation 2011-12-13 12:01:59 -04:00
Roberto Rosario 1c91bfd001 Disable document signature verification until circular import is found 2011-12-13 11:50:25 -04:00
Roberto Rosario 0ac79b633a Add metadata class_permissions permissions for the Document class 2011-12-13 11:49:44 -04:00
Roberto Rosario 4c57c788f5 Add documents app class_permissions for Document class 2011-12-13 11:49:21 -04:00
Roberto Rosario b2097eeb75 Updated document_acl app 2011-12-13 11:48:58 -04:00
Roberto Rosario 14f53d5397 Add get_object_name function used by the acl new holder form 2011-12-13 11:46:08 -04:00
Roberto Rosario 796a8fbdb5 Add acl revokation view 2011-12-13 11:45:49 -04:00
Roberto Rosario 418312bc8a Add new acl holder selector form 2011-12-13 11:35:14 -04:00
Roberto Rosario 2f803174b1 Update acls models to the new class based permissions 2011-12-13 11:34:39 -04:00
Roberto Rosario c1fadd0840 Converted the acls app to the new class based permission system 2011-12-13 10:58:49 -04:00
Roberto Rosario ab79b3f729 Removed the label field from the admin interface view 2011-12-13 10:58:13 -04:00
Roberto Rosario 357d1b7430 Improve the linking between the volatile permission and the stored permission classes 2011-12-13 10:57:39 -04:00
Roberto Rosario 227747f469 update website address 2011-12-08 17:09:52 -04:00
Roberto Rosario 974802035b Update the django gpg app to the new class based permissions 2011-12-08 16:52:39 -04:00
Roberto Rosario f4a7a350b8 Update the permissions tag to the new class based permissions 2011-12-08 16:51:24 -04:00
Roberto Rosario c9bf9a4d6e Update the navigation widget to use the new class based permissions 2011-12-08 16:50:56 -04:00
Roberto Rosario c9b6d8411c Update the main app to use the new class based permissions 2011-12-08 16:50:33 -04:00
Roberto Rosario c5518c222a Update the documents app to use the new class based permissions 2011-12-08 16:49:11 -04:00
Roberto Rosario 24c6f60caf Update the user management app to use the new class based permissions 2011-12-08 16:47:35 -04:00
Roberto Rosario 4474069f01 Update the tagging app to use the new class based permissions 2011-12-08 16:47:06 -04:00
Roberto Rosario 314029fe3d Update the ocr app to use the new class based permissions and remove initialization hack 2011-12-08 16:46:25 -04:00
Roberto Rosario c000eade4f Update the document comments app to use the new class based permissions 2011-12-08 16:44:54 -04:00
Roberto Rosario 43cf4b37b0 Update the linking app to the new class based permissions 2011-12-08 16:43:30 -04:00
Roberto Rosario 6bf9b83412 Update the folders app to the new class based permissions 2011-12-08 16:42:58 -04:00
Roberto Rosario bf7dea399f Update sources app to use the new class based permissions 2011-12-08 16:37:39 -04:00
Roberto Rosario 7de54a8102 Update metadata app to use the new class based permissions 2011-12-08 16:37:11 -04:00
Roberto Rosario 3ec2c05f25 Convert history app to use the new class based permissions 2011-12-08 16:36:39 -04:00
Roberto Rosario e5e2117771 Update document indexing app to the new class based permissions 2011-12-08 16:36:09 -04:00
Roberto Rosario 563a1d176f Update permission app to the new class based permissions 2011-12-08 16:35:26 -04:00
Roberto Rosario 8c7d06aa10 Merge branch 'development' into feature/ACL_support 2011-12-07 16:09:45 -04:00
Roberto Rosario f6717e0eb0 Merge branch 'feature/italian_translation' into development 2011-12-07 15:56:33 -04:00
Roberto Rosario 18cc876da8 Add Pierpaolo Baldan to the contributors file, sort translator by language 2011-12-07 15:54:53 -04:00
Roberto Rosario cf3e07d728 Initial Italian language sync 2011-12-07 15:53:04 -04:00
Roberto Rosario 9daa442e71 Add Italian to the language selection list 2011-12-07 15:52:18 -04:00
Roberto Rosario 6c8e20e783 Add Italian language to the language helper scripts 2011-12-07 15:51:54 -04:00
Roberto Rosario e6ae00d357 Update Transifex configuration file to add the Italian language resources 2011-12-07 15:51:28 -04:00
Roberto Rosario 5ed21519e6 Fix statistics 2011-12-07 04:52:59 -04:00
Roberto Rosario 30f668b876 Fix statistics 2011-12-07 04:51:50 -04:00
Roberto Rosario bae50b33d6 Merge branch 'release/v0.11.1' into development 2011-12-07 04:35:12 -04:00
Roberto Rosario d0fe6c4508 Merge branch 'release/v0.11.1' 2011-12-07 04:35:08 -04:00
Roberto Rosario 56b22a8115 Bump version to 0.11.1 2011-12-07 04:34:48 -04:00
Roberto Rosario 51936cb8ae Merge branch 'development' 2011-12-07 04:33:12 -04:00
Roberto Rosario 76aced48e8 Improve post metadata set delete redirection 2011-12-07 04:31:59 -04:00
Roberto Rosario 5f3656c43f Call the correct gpg method 2011-12-07 04:23:02 -04:00
Roberto Rosario 6bf8a3df10 Fix document delete regresion 2011-12-07 04:22:34 -04:00
Roberto Rosario bee7567327 Catch the correct exception KeyImportError and not KeyFetchingError 2011-12-06 23:40:20 -04:00
Roberto Rosario b20369f694 Merge branch 'release/v0.11' into development 2011-12-06 03:32:44 -04:00
Roberto Rosario e91aeb869b Merge branch 'release/v0.11' 2011-12-06 03:32:40 -04:00
Roberto Rosario f7776b3300 Bumped version to 0.11 2011-12-06 03:32:32 -04:00
Roberto Rosario d6a62feefa Home screen translation update 2011-12-06 03:30:27 -04:00
Roberto Rosario 4cc0ff3386 Added home template text 2011-12-06 03:30:11 -04:00
Roberto Rosario ac1c1ff6a4 Documentation update 2011-12-06 03:22:14 -04:00
Roberto Rosario 265a4c6b1d Translation updates 2011-12-06 02:26:59 -04:00
Roberto Rosario 6b87c8fab1 Remove the filename re use checkbox from the document edit form 2011-12-06 02:05:05 -04:00
Roberto Rosario 197d3b4642 Disable private key views until document signing is implemented 2011-12-06 02:03:33 -04:00
Roberto Rosario 2d015d768e Improve the logic of the signature download conditional disabling 2011-12-06 01:56:39 -04:00
Roberto Rosario fb3da99a02 Merge branch 'feature/detached_signatures' into development 2011-12-06 01:51:20 -04:00
Roberto Rosario 2e829b3be4 Add views to upload and download detached signatures 2011-12-06 01:51:00 -04:00
Roberto Rosario 755d140132 Add detached signature support to the django_gpg API 2011-12-06 01:50:38 -04:00
Roberto Rosario 11edaaf4e7 Added signature file to the document model and the related method to add, verify and open the signature file 2011-12-06 01:49:45 -04:00
Roberto Rosario 2b6530d9d3 Use cStringIO whenever possible 2011-12-05 22:49:24 -04:00
Roberto Rosario a41372f6e7 Remove CACHE dicctionary from repository, didn't fix problem with compressor + DjangoZoom 2011-12-05 22:48:17 -04:00
Roberto Rosario 7d604322ac Merge branch 'master' into development
Conflicts:
	apps/main/__init__.py
2011-12-05 22:47:58 -04:00
Roberto Rosario 0439e0edf7 Merge branch 'development' into feature/ACL_support
Conflicts:
	requirements/development.txt
	requirements/production.txt
	urls.py
2011-12-05 16:01:21 -04:00
Roberto Rosario fff202e5b4 Bumped version to 0.10-hotfix4 2011-12-05 15:32:24 -04:00
Roberto Rosario acf61bbb27 Disable django-compress 2011-12-05 15:27:31 -04:00
Roberto Rosario 811d5c4e94 Add CACHE directory to repository in hopes this fixed the problem with DjangoZoom & django-compressor 2011-12-05 15:20:10 -04:00
Roberto Rosario 5ec7898c55 Merge branch 'hotfix/0.10-hotfix2' into development
Conflicts:
	apps/main/__init__.py
2011-12-05 15:17:56 -04:00
Roberto Rosario 4ff13e768a Merge branch 'hotfix/0.10-hotfix2' 2011-12-05 15:01:07 -04:00
Roberto Rosario dd34b9b6dd Bump version to 0.10-hotfix2 2011-12-05 15:00:48 -04:00
Roberto Rosario d299ec86e3 Fallback to the 'activo' theme during offline compression 2011-12-05 14:59:38 -04:00
Roberto Rosario 623fa8276f Merge branch 'hotfix/v0.10-hf1' into development
Conflicts:
	apps/main/__init__.py
	docs/changelog.rst
2011-12-05 14:46:17 -04:00
Roberto Rosario 0d3d6f75b1 Merge branch 'hotfix/v0.10-hf1' 2011-12-05 14:42:05 -04:00
Roberto Rosario 52a8fca5d9 Bump version to 0.10.1 2011-12-05 14:41:46 -04:00
Roberto Rosario 068b24b4cc Update documentation 2011-12-05 14:41:28 -04:00
Roberto Rosario 42e622b8d0 Update requirements to include new django-compressor version 2011-12-05 14:41:05 -04:00
Roberto Rosario 1a973723f2 Fix typo 2011-12-05 14:21:17 -04:00
Roberto Rosario 882e935311 Add the django_gpg to the list of transifex resources 2011-12-05 13:55:46 -04:00
Roberto Rosario 3b943af6d8 Update translation files 2011-12-05 13:55:33 -04:00
Roberto Rosario 5464ee2544 Updated language script to include django_gpg app 2011-12-05 13:55:04 -04:00
Roberto Rosario 0adcf584f3 Update text mapping to avoid ugettext from complaining 2011-12-05 13:40:25 -04:00
Roberto Rosario afc85bf1f1 Merge branch 'feature/signing_tool_views' into development 2011-12-05 13:38:23 -04:00
Roberto Rosario 553d73020d Add key management view to the setup menu, add keyserver query view, add keyserver key import, add respective icons 2011-12-05 13:37:24 -04:00
Roberto Rosario 8b3e391e05 Change default keyserver 2011-12-05 13:36:47 -04:00
Roberto Rosario 7e5be301cd Add 'python-hkp' to the requirements 2011-12-05 13:35:56 -04:00
Roberto Rosario f5211313b7 Dont fetch public keys when creating document version 2011-12-05 13:35:15 -04:00
Roberto Rosario 292d3ffc3d Dont import deprecated 'get_encoding', simplify decrypted data encapsulation 2011-12-05 07:28:02 -04:00
Roberto Rosario b5a7321f75 Merge branch 'feature/embedded_signature_handling' into development 2011-12-05 06:56:47 -04:00
Roberto Rosario a32b92b5fc Add signature state field to the Document model, update it whenever a new version is added, use it to return the raw or the decrypted content when calling the open method 2011-12-05 06:54:41 -04:00
Roberto Rosario 7ed3b329dc Fix document main menu highlighting 2011-12-05 06:54:03 -04:00
Roberto Rosario 9271ded217 Move signatute state literals to the api module, inspect a document raw content only, display signature type (embedded, detached) 2011-12-05 06:52:51 -04:00
Roberto Rosario d8f487de7c Move human readable signature state literal from the view to the api module 2011-12-05 06:52:03 -04:00
Roberto Rosario ba5b54e1aa Add migration to add the signature state field to the Document model 2011-12-05 06:51:26 -04:00
Roberto Rosario 24f443fe1a Improve document version views navigation and active menu feedback 2011-12-04 06:16:37 -04:00
Roberto Rosario 071139c5bf Add document signature verification app 2011-12-04 05:52:09 -04:00
Roberto Rosario 071fed8996 Add new version upload option to use new file filename as the document filename 2011-12-04 03:21:34 -04:00
Roberto Rosario a4127f39ff Merge branch 'feature/fix_print' into development 2011-12-04 02:44:52 -04:00
Roberto Rosario f5c3fa21d7 Add a size property to the DocumentVersion model 2011-12-04 02:44:08 -04:00
Roberto Rosario fafadfaca2 Fix document print view 2011-12-04 02:37:11 -04:00
Roberto Rosario 64e73a9c9d Update the 'invalidate_cached_image' to supply a version pk as now required by the version aware 'get_cached_image_name' method 2011-12-04 02:20:44 -04:00
Roberto Rosario 03620f5331 Update the 'find duplicates' view to work with document versions 2011-12-04 02:15:57 -04:00
Roberto Rosario 479e3d5cec Update the REST API call 'is_zoomable' to catch more errors 2011-12-04 02:15:33 -04:00
Roberto Rosario 7b29adc59a Merge branch 'feature/version_revert' into development 2011-12-04 02:03:38 -04:00
Roberto Rosario ae0ecb20a6 Update the 'is_zoomable' api call to be version aware 2011-12-04 02:02:34 -04:00
Roberto Rosario f0b1f9e6b3 Remove removed code 2011-12-04 02:02:16 -04:00
Roberto Rosario 73950ef750 Disable the revert link for the current version of a document 2011-12-04 02:01:48 -04:00
Roberto Rosario 2d119b853f Update the 'get_document_image' view to be version aware 2011-12-04 02:01:24 -04:00
Roberto Rosario 255cb8eaf2 Updated the smart document widget to be version aware 2011-12-04 02:00:28 -04:00
Roberto Rosario 7de09aae0f Add version support to the document image generation code 2011-12-04 02:00:04 -04:00
Roberto Rosario 2ec134e172 Add document version revert support 2011-12-04 01:11:12 -04:00
Roberto Rosario c3eaacb6c6 Make document date_added not editable, fix document version delete method, add revert method to document version 2011-12-04 01:10:10 -04:00
Roberto Rosario a37a212857 Merge branch 'feature/document_versioning' into development 2011-12-04 00:02:46 -04:00
Roberto Rosario aa66085165 Update the document list view, the page update view and the remaining references of 'file_filename' to 'filename' 2011-12-04 00:01:21 -04:00
Roberto Rosario e6d3453800 Update the linking app to be compatible with the new document versioning fields 2011-12-04 00:00:07 -04:00
Roberto Rosario 43b17456d1 Remove the auto_add_now property from the date_added document field 2011-12-03 23:42:29 -04:00
Roberto Rosario 986b7e39e4 Fix the new version fields in the upload form 2011-12-03 23:37:00 -04:00
Roberto Rosario e81a02b18d Improve document multi version migrations 2011-12-03 23:29:52 -04:00
Roberto Rosario 90863025d8 Fix permission import 2011-12-03 20:54:35 -04:00
Roberto Rosario 699f7e7caa Update document page navigation views to use the new 'siblings' DocumentPage method 2011-12-03 20:44:04 -04:00
Roberto Rosario 4bbf5d3514 Add 'siblings' convenience method to the DocumentPage model 2011-12-03 20:43:30 -04:00
Roberto Rosario 0cf8d68db0 Add the page number on top of the page widget in the multiple page carousel widget 2011-12-03 20:30:44 -04:00
Roberto Rosario d81e734f59 Update REST API to new document multi version methods and structures 2011-12-03 20:10:08 -04:00
Roberto Rosario a3befc6b7d Remove remarked code 2011-12-03 20:09:44 -04:00
Roberto Rosario 28208c4a2a Update sources app to support multiple versions 2011-12-03 19:35:36 -04:00
Roberto Rosario 11725c943b Update documents app to support multiple versions 2011-12-03 19:35:03 -04:00
Roberto Rosario 9f7e5de5ac Add migration to remove old file fields 2011-12-03 19:32:40 -04:00
Roberto Rosario d4a70c0fc1 Cleanup remarks from migration 2011-12-03 19:31:59 -04:00
Roberto Rosario 1e38369919 Update parser to use the latest version of a document when extracting text 2011-12-02 05:56:34 -04:00
Roberto Rosario 8c02c4c426 Disable ocr document queue signal
It appears Django executes signals using the same process
as the caller, effectively blocking the view until the OCR process
completes which could take several minutes :/
2011-12-02 05:55:42 -04:00
Roberto Rosario e92a0f7996 Updated version to 0.11beta2 and add python authoring structures 2011-12-02 05:55:01 -04:00
Roberto Rosario 5905dbd3e0 Updated changelog 2011-12-02 05:54:36 -04:00
Roberto Rosario 3e471f702e Add document version list view and document version download 2011-12-02 05:54:00 -04:00
Roberto Rosario 640a1c2966 Add two new migrations, one to fix a field name, the other to add a comment field to the document versions 2011-12-02 05:53:12 -04:00
Roberto Rosario d83e8b5428 Initial set of model, form and API changes to support document versions 2011-12-02 02:51:59 -04:00
Roberto Rosario b38d84f663 South schema and data migrations to support document versions 2011-12-02 02:51:15 -04:00
Roberto Rosario 41de49916f Pass exc_info to logger for better debugging 2011-12-01 23:38:50 -04:00
Roberto Rosario 60c05317b3 Fix indentation 2011-12-01 23:38:29 -04:00
Roberto Rosario 53ff2d2935 Merge branch 'feature/clear_image_cache_view' into development 2011-12-01 05:25:06 -04:00
Roberto Rosario 93fdd0c559 Update changelog 2011-12-01 05:24:53 -04:00
Roberto Rosario da1ab56202 Add maintenace view to clear the document image cache 2011-12-01 05:24:31 -04:00
Roberto Rosario 13826a0a4a Update changelog 2011-12-01 04:54:33 -04:00
Roberto Rosario 922971274f Add office document text extractor 2011-12-01 04:54:14 -04:00
Roberto Rosario 6d9b6f9ada Add more debugging logging and update to only process 1 queue item per execution
Previously the task_process_document_queues processed all the pending queue
items it could find, this could lead to the of inexisting queue items
from a stale queryset
2011-12-01 04:48:24 -04:00
Roberto Rosario c63721cbf6 Move OCR queue document requeueing from the view to the model and add proper exception 2011-12-01 04:47:27 -04:00
Roberto Rosario 31ea558b60 Update the REPLICATION_DELAY default to be 0 seconds 2011-12-01 04:46:00 -04:00
Roberto Rosario 29f547ee48 Update the queue signal processor to only trigger ocr queue processing on newly submitted documents and not requeued documents 2011-12-01 04:44:38 -04:00
Roberto Rosario cb8b4a4def Add more logging 2011-12-01 04:43:59 -04:00
Roberto Rosario 8a2d526e94 Add RTF text file to the list of office document mimetypes 2011-12-01 04:31:52 -04:00
Roberto Rosario cf9b28ad30 Separate unoconv command line arguments and add further logging 2011-12-01 04:30:38 -04:00
Roberto Rosario a4513951ed Add '=' to unoconv command line 2011-12-01 02:15:15 -04:00
Roberto Rosario 394762047a Fix documents not saving the file encoding 2011-11-30 20:04:29 -04:00
Roberto Rosario f76baa4efc Changed office documents mimetypes strings to unicode 2011-11-30 20:03:46 -04:00
Roberto Rosario 2b7c379822 Add new office document mimetype
* application/vnd.ms-office
2011-11-30 09:45:29 -04:00
Roberto Rosario cded3fafae Merge branch 'feature/filename_extension_merge' into development 2011-11-30 09:34:09 -04:00
Roberto Rosario 1e22d1099e Update api and filesystem modules to new os_specifics
renames
2011-11-30 09:33:32 -04:00
Roberto Rosario a646997ab8 Rename os_agnostic.py to the more appropiate os_specifics
to encapsulate file system unique filename and path handling
2011-11-30 09:31:32 -04:00
Roberto Rosario d37b36bce3 Updated document indexing app modules for the new
filename and extension merged field
2011-11-30 08:55:19 -04:00
Roberto Rosario f554655688 Updated documents app admin, model and view modules to use the merged
filename and extension
2011-11-30 08:54:37 -04:00
Roberto Rosario c6f8534208 Initial migrations for the documents app
These migrations are to merge the filename and extension
fields into a single filename field
Mayan can't assume filesystem convetion
of extension separator as the OS where the
document was uploaded might be differente
that the OS running Mayan
2011-11-30 08:52:18 -04:00
Roberto Rosario 188c7f1efd Added South to the requirements 2011-11-30 08:52:00 -04:00
Roberto Rosario 0fc2853903 Updated contributors file 2011-11-28 12:00:23 -04:00
Roberto Rosario 6ef9b5840f Removed extra slash in ajax-loader.gif URL fixes #15, thanks to IHLeanne for finding this one 2011-11-28 11:57:18 -04:00
Roberto Rosario d81a2ca574 Merge branch 'release/v0.10' into development 2011-11-22 18:04:44 -04:00
Roberto Rosario 4511dc8baf Merge branch 'release/v0.10' 2011-11-22 18:04:39 -04:00
Roberto Rosario 5fe495e967 Bumped version to 0.10 2011-11-22 18:04:29 -04:00
Roberto Rosario 94490def2e Updated sphinx documentation version number to 0.10 2011-11-22 18:03:28 -04:00
Roberto Rosario ef0d29bf5a Updated changelog 2011-11-22 18:03:16 -04:00
Roberto Rosario deb09d3d83 Re enabled tesseract language specific OCR processing and added a 1 time language neutral retry for failed language specific OCR 2011-11-22 17:46:18 -04:00
Roberto Rosario 667af2a442 Added multiple document OCR submit link 2011-11-22 17:45:56 -04:00
Roberto Rosario c21cb65791 Fixed posible error on multiple document metadata editing 2011-11-22 17:45:08 -04:00
Roberto Rosario 4b03a1f289 Spanish translation updates 2011-11-22 17:04:26 -04:00
Roberto Rosario 5a916eb4b3 Further Russian translation updates (Сергей Глита [Sergey Glita]) 2011-11-22 15:51:01 -04:00
Roberto Rosario eb09ac10c2 Merge branch 'feature/lock_manager_update' into development 2011-11-22 15:48:22 -04:00
Roberto Rosario 95c300137c Updated changelog 2011-11-22 15:48:12 -04:00
Roberto Rosario 290fcc925b Added signal processing to the ocr queue to speed up ocr queue processing 2011-11-22 15:42:41 -04:00
Roberto Rosario dc63c3225e Updated ocr task to use the new lock manager abstracted class 2011-11-22 15:42:04 -04:00
Roberto Rosario 1367fb9c66 Added lock manager abstraction 2011-11-22 15:41:32 -04:00
Roberto Rosario 78685b9fc5 Reduce the ocr lock name size 2011-11-22 15:22:20 -04:00
Roberto Rosario c9e8f2fac0 Updated the ocr app to use the lock manager 2011-11-22 15:07:29 -04:00
Roberto Rosario a6151fd9e5 Added non working memcache backend to the lock manager app 2011-11-22 15:07:09 -04:00
Roberto Rosario 614ece827f Updated FAQ with unoconv information 2011-11-22 15:06:33 -04:00
Roberto Rosario c65b6a0309 Added aditional loggin to the locking app 2011-11-22 15:06:21 -04:00
Roberto Rosario 8a70e325c1 Simplyfied and updated the lock manager app 2011-11-22 15:03:06 -04:00
Roberto Rosario 7e4110450b Removed vestigial mentions of the word 'group' from the linking app 2011-11-22 12:00:30 -04:00
Roberto Rosario 33b2f69e7f Spanish translation updates 2011-11-22 11:45:52 -04:00
Roberto Rosario a31c153dff Updated language script 2011-11-22 11:29:36 -04:00
Roberto Rosario eabc694b56 Updated language source file 2011-11-22 11:29:21 -04:00
Roberto Rosario acbdd0bfd4 Updated changelog 2011-11-22 10:19:13 -04:00
Roberto Rosario 1773ed3c13 Updated translation related scripts and Transifex configuration file for the grouping -> linking app rename 2011-11-22 10:18:26 -04:00
Roberto Rosario 37eb1c04cc Updated contributor file 2011-11-22 09:54:15 -04:00
Roberto Rosario cbacdcb348 Russian translation updates Сергей Глита [Sergey Glita] 2011-11-22 09:53:12 -04:00
Roberto Rosario 23f7126f10 Updated changelog 2011-11-22 09:48:41 -04:00
Roberto Rosario f7303c7eb8 Removed Grappelli dependency 2011-11-22 09:48:24 -04:00
Roberto Rosario 083baaee88 Merge branch 'feature/base64_thumbnails' into development 2011-11-22 09:24:02 -04:00
Roberto Rosario f73ce55c34 Updated the document smart widget for the new API call format 2011-11-22 09:23:31 -04:00
Roberto Rosario fc344d0c9e Modified the is_zoomable API call to be document pk and document page number based 2011-11-22 09:22:49 -04:00
Roberto Rosario db89cdde55 Updated apps to use the new document widget 2011-11-22 09:05:35 -04:00
Roberto Rosario 3f8e2b5640 Finished new smarter document image widget 2011-11-22 09:05:03 -04:00
Roberto Rosario 9be2aebd3f Reverted back to the previous fancybox initialization method, added thin_border class for the new document widget, fixed a small typo 2011-11-22 09:01:13 -04:00
Roberto Rosario 5097a8b180 Added get_error_icon_url() function to the mimetype app to be used for the new smarted document widget 2011-11-22 07:53:51 -04:00
Roberto Rosario 4cf935925b Added views that return the document image as a base64 encoded string 2011-11-22 07:52:55 -04:00
Roberto Rosario b5a1f92a9c Added support for base64 encoded document images 2011-11-22 07:51:16 -04:00
Roberto Rosario 3a2900ff64 Use jQuery's live to lauch fancybox 2011-11-22 07:47:41 -04:00
Roberto Rosario 336a752dc2 Updated JqueryAsynchImageLoader from version 0.8 to version 0.9.7 2011-11-22 07:46:31 -04:00
Roberto Rosario 87a4c5be6d Merge branch 'feature/optimize_document_widget' into development 2011-11-22 05:51:48 -04:00
Roberto Rosario 2ee236e1c5 Revert back to simple document widget 2011-11-22 05:51:30 -04:00
Roberto Rosario da4457b258 Improve office documents page number detection 2011-11-22 05:51:02 -04:00
Roberto Rosario ba7016b0bc Don't call office converter if not initialized 2011-11-22 05:08:04 -04:00
Roberto Rosario 99e6bf652f Detect invalid office converter backend during initialization 2011-11-22 05:07:19 -04:00
Roberto Rosario 9988a8f543 Invalidate cached values on reentry, added logging 2011-11-22 05:06:41 -04:00
Roberto Rosario f8dbfc068a Added random named pipe support to the OfficeConverter pipe method 2011-11-22 01:22:59 -04:00
Roberto Rosario a6a00cbc15 Document image serving uses now a fixed mimetype provided by converter.DEFAULT_FILE_FORMAT_MIMETYPE to help browser rendering 2011-11-22 00:57:54 -04:00
Roberto Rosario 4e8f2c370b Initial REST API version 0 alpha 2011-11-22 00:56:56 -04:00
Roberto Rosario ffcaec1e91 Updated web app theme to point to the new jquery version 2011-11-22 00:56:09 -04:00
Roberto Rosario 68ded2e4fc Upgraded jquery to version 1.7 2011-11-22 00:55:41 -04:00
Roberto Rosario c598e4ceb3 Instantiate OfficeConverter just once 2011-11-21 08:22:00 -04:00
Roberto Rosario 9212a7027f Merge branch 'feature/improved_office_doc_support' into development 2011-11-21 06:28:30 -04:00
Roberto Rosario e9ff82f696 Corrected multi exception line format in document_html_widget 2011-11-21 06:27:50 -04:00
Roberto Rosario 3f33924d4a Updated document mode to pass the document mimetype when calling convert to avoid a chain of mimetype detections 2011-11-21 06:24:19 -04:00
Roberto Rosario bd24353886 Updated office converter to accept a mimetype argument to avoid yet another file mimetype detection 2011-11-21 06:14:07 -04:00
Roberto Rosario 2bae05f39c Updated the convert app api to reuse the office converter detected mimetype 2011-11-21 05:50:34 -04:00
Roberto Rosario a0218ecb92 Updated the office converter to use mimetype_only argument of the mimetype app and to store the detected mimetype for future use 2011-11-21 05:48:48 -04:00
Roberto Rosario 60ae0a77c1 Update the argument list of the other converter backend so that the mimetype arg doesn't raise errors 2011-11-21 05:47:27 -04:00
Roberto Rosario 244cbc9911 Added icon for the page count update view 2011-11-21 05:47:01 -04:00
Roberto Rosario eacd7837b2 Updated the python conveter backend to use the new mimetype_only argument of get_mimetype and to accept a mimetype argument from the caller thus skipping mimetype detection at all resulting in another slight speedup 2011-11-21 05:45:55 -04:00
Roberto Rosario 7139989649 Added a mimetype_only=False argument to the get_mimetype method to skip detecting the encoding when not needed resulting in a slight speedup 2011-11-21 05:43:47 -04:00
Roberto Rosario 21927c00bb Updated the ocr and document indexing apps to the new maintenante register function 2011-11-21 05:42:53 -04:00
Roberto Rosario 436ad2c3fe Added a new view to update the page count of previously uploaded documents 2011-11-21 05:41:48 -04:00
Roberto Rosario a9d211f32f Added size and page_count properties to the document model 2011-11-21 05:40:41 -04:00
Roberto Rosario 8b6d1d7859 Updated register_maintenance_links to support more than one link per app 2011-11-21 05:40:00 -04:00
Roberto Rosario e8f62874dd Updated generic_config template to store the views' previous url 2011-11-21 05:38:35 -04:00
Roberto Rosario 9b95201b4d Moved project wide schedule instance to the runtime.py file 2011-11-21 05:38:05 -04:00
Roberto Rosario e4b9b135da Added new configuration option CONVERTER_UNOCONV_USE_PIPE to let uniconv use pipes instead of ports to call libreoffice 2011-11-21 02:48:29 -04:00
Roberto Rosario e590cb041c Finished office converter using MIME type detection 2011-11-21 02:47:52 -04:00
Roberto Rosario 67b3e19031 Initial commit of the new office converter class 2011-11-20 02:48:34 -04:00
Roberto Rosario 91203a9593 Merged all document widget generation code into one place 2011-11-19 03:59:09 -04:00
Roberto Rosario c468ca93d6 Merge branch 'feature/document_group_move' into development 2011-11-19 02:02:24 -04:00
Roberto Rosario fbad8375b3 Finished converting grouping app to the linking app 2011-11-19 02:01:55 -04:00
Roberto Rosario d358bd991a Close possible security hole by not trusting user input when saving smart link conditions 2011-11-19 01:06:34 -04:00
Roberto Rosario d422dfaa1a Merge branch 'feature/document_grouping_setup' into development 2011-11-18 23:30:28 -04:00
Roberto Rosario ad53632f7f Added smart linking setup help 2011-11-18 23:29:40 -04:00
Roberto Rosario 7a32eccc19 More document grouping rename updates 2011-11-18 23:29:19 -04:00
Roberto Rosario 9f4112187e Further document grouping rename 2011-11-18 23:08:01 -04:00
Roberto Rosario 8b14cf0df5 Finished adding CRUD views for document groupping and document groupping items, started naming change to smart links and smart link conditions 2011-11-18 21:03:08 -04:00
Roberto Rosario 1f784aa6b0 Started the rename of the document grouping app to smart linking 2011-11-18 18:29:59 -04:00
Roberto Rosario 96e92b296e Improved POST redirect default url from None to '/' 2011-11-17 23:23:18 -04:00
Roberto Rosario 3934b4c535 Add the document grouping setup url to the project setup menu link child urls list 2011-11-17 23:22:33 -04:00
Roberto Rosario fa4a13668b Added views to create, list and delete document groups via the project setup 2011-11-17 23:21:56 -04:00
Roberto Rosario b5ae16b4d0 Merge branch 'hotfix/v0.9.1' into development 2011-11-15 07:10:30 -04:00
Roberto Rosario 484502a717 Merge branch 'hotfix/v0.9.1' 2011-11-15 07:10:25 -04:00
Roberto Rosario 807f8a79b3 Bumped version to 0.9.1 2011-11-15 07:09:58 -04:00
Roberto Rosario c6b555be82 Updated changelog 2011-11-15 07:09:47 -04:00
Roberto Rosario 592cd373a7 Updated FAQ adding solution to the mysql non utf-8 collation issue 2011-11-15 07:03:40 -04:00
Roberto Rosario 946e4fcf50 Handle percent encoded unicode query strings in search URL 2011-11-15 06:34:59 -04:00
Roberto Rosario f0ad541d17 Merge branch 'development' 2011-11-09 07:50:31 -04:00
Roberto Rosario 2adb95f9d1 Updated document version number 2011-11-09 07:50:13 -04:00
Roberto Rosario 9a179ad7aa Merge branch 'release/Version_0.9.0' 2011-11-07 15:53:50 -04:00
Roberto Rosario 4d14806991 Bumped version to 0.9.0 2011-11-07 15:50:54 -04:00
Roberto Rosario 2a40c5d123 Updated changelog 2011-11-07 15:50:20 -04:00
Roberto Rosario 8778746b06 Updated changelog 2011-11-07 15:28:40 -04:00
Roberto Rosario 2ba451b611 Merge branch 'feature/non_3rd_party' into development 2011-11-07 15:25:57 -04:00
Roberto Rosario 742aad2e27 Removed the included 3rd party module django-sendfile 2011-11-07 15:23:54 -04:00
Roberto Rosario 97bdf29152 Updated required Django version to 1.3.1 2011-11-07 14:18:39 -04:00
Roberto Rosario a488df12ff Updated changelog 2011-11-07 02:21:54 -04:00
Roberto Rosario ccdcd4540a Merge branch 'feature/non_clickable_mimetype_icons' into development 2011-11-07 02:20:17 -04:00
Roberto Rosario ab96a7d350 Only allow clickable thumbnails for document with a valid image in the group document list 2011-11-07 02:09:24 -04:00
Roberto Rosario 7121ad86d1 Removed tag count from the widget to conserve vertical space 2011-11-07 02:08:45 -04:00
Roberto Rosario 38a035685b Only allow clickable thumbnails for staging files with a valid image 2011-11-07 02:08:28 -04:00
Roberto Rosario fd2a284505 Only allow clickable thumbnails for document with a valid image in the multi page view 2011-11-07 02:07:56 -04:00
Roberto Rosario b6ccb20988 Only allow clickable thumbnails for document with a valid image 2011-11-07 02:06:33 -04:00
Roberto Rosario 7ec7ed499e Detect invalid transformation argument and reset to empty list [] 2011-11-07 02:05:06 -04:00
Roberto Rosario da33569a4a Updated changelog 2011-11-07 00:35:49 -04:00
Roberto Rosario 1f8c180567 Spanish translation updates 2011-11-07 00:34:15 -04:00
Roberto Rosario d95f3d0f8c Merge branch 'feature/simplify_mimetype_api' into development 2011-11-07 00:10:53 -04:00
Roberto Rosario 557c960094 Updated python converter backend, document model and staging module to use the new get_mimetype API 2011-11-07 00:05:25 -04:00
Roberto Rosario 160950b6f4 Simplified getting mimetypes from files by merging 2 implementations (document based and file based) 2011-11-07 00:04:40 -04:00
Roberto Rosario b739d01ecf Updated changelog 2011-11-06 02:34:21 -04:00
Roberto Rosario bf2f75c76b Merge branch 'feature/russian_ocr' into development 2011-11-06 02:31:51 -04:00
Roberto Rosario 90123623a5 Contributor Sergey Glita name update 2011-11-06 02:31:20 -04:00
Roberto Rosario 7577f5b0e4 Added Russian locale post OCR cleanup backend (Сергей Глита [Sergei Glita]) 2011-11-06 01:21:19 -04:00
Roberto Rosario f0c019f6fc Reduce severity of the messages displayed when no OCR backend is found for a language 2011-11-06 01:06:43 -04:00
Roberto Rosario b2d2449e22 Merge branch 'feature/translation_updates' into development 2011-11-04 13:24:25 -04:00
Roberto Rosario 7d6c5595e4 Updated changelog 2011-11-04 13:24:08 -04:00
Roberto Rosario 6d81185fc1 Updated compiled language files 2011-11-04 13:16:59 -04:00
Roberto Rosario e58e6f8d8a Spanish translation source file updates 2011-11-04 13:14:17 -04:00
Roberto Rosario 5a26ccc4ab Complete Russian translation source messages 2011-11-04 13:13:36 -04:00
Roberto Rosario 0a81fb873d Merge branch 'feature/translations_update' into development 2011-11-03 21:11:00 -04:00
Roberto Rosario b39f5c4ba1 Updated compiles translation files 2011-11-03 21:10:42 -04:00
Roberto Rosario d31c297d13 Spanish translation updates 2011-11-03 21:08:28 -04:00
Roberto Rosario a4a0f0b0fd Added Spanish to the convenience scripts 2011-11-03 21:07:41 -04:00
Roberto Rosario 64e21b64b2 Russian translation update 2011-11-03 21:05:39 -04:00
Roberto Rosario 284f9de6e3 Portuguese translation updates 2011-11-03 20:51:07 -04:00
Roberto Rosario c13b0942e4 Added email for Sergey Glita 2011-11-03 20:40:26 -04:00
Roberto Rosario 7c502703a6 Added animate.css to use CSS to animate flash messages with better fallback on non JS browsers 2011-11-03 20:38:30 -04:00
Roberto Rosario 1d63599a60 Added Portuguese and Russian to the list of included languages 2011-11-03 17:04:41 -04:00
Roberto Rosario f1c15341f1 Updated changelog 2011-11-03 17:04:31 -04:00
Roberto Rosario f5c43b8828 Merge branch 'feature/russian_translation' into development 2011-11-03 16:59:08 -04:00
Roberto Rosario d26176602b Updated string composition so that make messages could process it 2011-11-03 16:58:14 -04:00
Roberto Rosario f71e2a4b62 Further Russian translation updates 2011-11-03 16:57:53 -04:00
Roberto Rosario eea1abbc80 Russian translation update 2011-11-03 16:57:04 -04:00
Roberto Rosario 51b2a989ff Added Russian to the list of available translations 2011-11-03 16:55:53 -04:00
Roberto Rosario 01aa13c162 Fixed Russian locale resource typo 2011-11-03 16:50:47 -04:00
Roberto Rosario b1854cb93b Added Russian language to the compile messages script 2011-11-03 16:41:42 -04:00
Roberto Rosario f59aa5501c Added Russian resources to the transifex resources file 2011-11-03 16:41:17 -04:00
Roberto Rosario de790fabd0 Added Russian language compilation to the make messages script 2011-11-03 16:40:46 -04:00
Roberto Rosario 8e2210b799 Added initial Russian translation files 2011-11-03 16:40:19 -04:00
Roberto Rosario 5a1f1d2957 Merge branch 'feature/portuguese_updates' into development 2011-11-03 16:26:05 -04:00
Roberto Rosario cd4ec8cb1a Added new language translator to the contributors file 2011-11-03 16:24:49 -04:00
Roberto Rosario 52099b17c9 Added convinience scrtip to compile translation files 2011-11-03 16:20:23 -04:00
Roberto Rosario fd92a1cd78 Portuguese translation updates 2011-11-03 16:19:55 -04:00
Roberto Rosario 0f8fb7c788 Added missing resources to the transifex resource file 2011-11-03 16:18:02 -04:00
Roberto Rosario 1557ae829b ACL grant view updates 2011-11-03 12:04:35 -04:00
Roberto Rosario 2b3629f899 Return translatable permission labels and permission namespace label straight from the model 2011-11-03 12:03:47 -04:00
Roberto Rosario d2d7eeff51 Added Meurig Freeman to the contributors file 2011-10-30 20:04:35 -04:00
Roberto Rosario 73ec5665b7 Updated the changelog 2011-10-30 20:04:25 -04:00
Roberto Rosario 4e362d3305 Merge branch 'hotfix/no_hard_coded_admin_sentry' into development 2011-10-30 19:54:46 -04:00
Roberto Rosario 2b71352620 Merge branch 'hotfix/no_hard_coded_admin_sentry' 2011-10-30 19:54:32 -04:00
Roberto Rosario 01e7cb4f8e Bumped version to 0.8.3-hotfix2 2011-10-30 19:53:20 -04:00
Meurig Freeman d01a57491f No longer hard code admin and sentry urls 2011-10-30 19:50:03 -04:00
Roberto Rosario 8a27b1866b Removed imported wrongly copied file 2011-10-29 02:34:38 -04:00
Roberto Rosario 3bf0bb268f Disabled checking for permissions for the acl views, temporarily 2011-10-29 02:29:33 -04:00
Roberto Rosario e22f6c2294 Removed object_name inline with the other apps 2011-10-29 02:28:56 -04:00
Roberto Rosario ffc3b2c1b2 Changed app order in settings.py file 2011-10-29 02:28:22 -04:00
Roberto Rosario b472383bc0 Only show the permissions the users hold on the ACL edit view 2011-10-29 02:26:48 -04:00
Roberto Rosario 0c87b3356f Improved the check_permissions_for_holder method, made method admin and staff users aware 2011-10-29 02:25:59 -04:00
Roberto Rosario fb9f467804 Moved runtime memory structures to their on module to avoid circular imports 2011-10-29 02:24:59 -04:00
Roberto Rosario c9d1b225fd Improved the return_type function 2011-10-29 02:24:35 -04:00
Roberto Rosario e048711d82 Updated permissions app to only return active permissions on the views and querysets 2011-10-29 02:23:33 -04:00
Roberto Rosario 0c512ccaec Use source class as a cache namespace, more expesive lookups to the encapsulate method and made the get method lightweight 2011-10-28 21:47:46 -04:00
Roberto Rosario 548abaaf70 Added get_permission_namespace_label helper function 2011-10-27 07:45:26 -04:00
Roberto Rosario 3f9e79f0bc Added encapsulation and semi working acl edititing view 2011-10-27 07:44:51 -04:00
Roberto Rosario 672c2557bf Updated Changelog 2011-10-24 23:02:35 -04:00
Roberto Rosario 773f0061c4 Added a bit of bottom margin to the new tag widgets 2011-10-24 22:59:50 -04:00
Roberto Rosario 1077e4e2e2 Improved appearance of the document tag widget 2011-10-24 22:55:16 -04:00
Roberto Rosario d45ad40233 Changed development admin serving rom grappelli based to a more generic django admin based 2011-10-24 20:36:52 -04:00
Roberto Rosario 4f1a234c0a Return the namespace and label of a permission object instead of just the label 2011-10-24 20:36:09 -04:00
Roberto Rosario f0f924a1d4 Added function to return a translatable label for a permission object 2011-10-24 20:35:32 -04:00
Roberto Rosario acd23eebab ACL app updates, display generic object proper ACL holders list with content type icon widget 2011-10-24 20:34:01 -04:00
Roberto Rosario 0cb468ca9b Added and enabled the acls and document_acls apps 2011-10-24 12:59:45 -04:00
Roberto Rosario cf2dd00dec Removed repeated import 2011-10-24 12:59:31 -04:00
Roberto Rosario 0f5d68670a Updated to a newer version of django_extensions and Grappelli 2011-10-24 12:58:48 -04:00
Roberto Rosario 6bbaca7745 Added a new docuent_acls app to tie in documents with ACLs 2011-10-24 12:58:14 -04:00
Roberto Rosario 7d1c000352 Initial models and managers to support ACLs for a generic object 2011-10-24 12:57:40 -04:00
Roberto Rosario 01a31949ae Updated Changelog 2011-10-18 11:08:37 -04:00
Roberto Rosario 6c7bc820a6 Added django_compress and cssmin to the requirements files and enalbed django_compress for CSS and JS files 2011-10-18 11:03:51 -04:00
Roberto Rosario 5ac70a2100 Added DjangoZoom screencast link to the documentation, documentation spelling fixes 2011-10-16 09:13:56 -04:00
Roberto Rosario d50b2ef172 Added step to the documentation explaining how to install Mayan EDMS on Webfaction 2011-10-16 08:34:41 -04:00
Roberto Rosario c13e6a5fe9 Updated Changelog and contributors file 2011-10-16 07:49:34 -04:00
Roberto Rosario a4cdde1ae7 Merge branch 'feature/easy_grant_remove' into development 2011-10-16 07:32:09 -04:00
Roberto Rosario b1f8a300a9 Used new multi parameter passing method to improve the usability of the grant/revoke method 2011-10-16 07:30:38 -04:00
Roberto Rosario f634ac6009 Added a new more comprehensive method of passing multiple variables per item in multi item selection views 2011-10-16 07:29:29 -04:00
Roberto Rosario 1e0cbc1fcd Correctly calculate the mimetype icons paths when on development mode 2011-10-16 07:28:51 -04:00
Roberto Rosario cb55b95e66 Added granting and revoking permission methods to the permission model 2011-10-16 07:28:03 -04:00
Roberto Rosario e0110fd15d Merge branch 'feature/Portuguese_translation' into development 2011-10-05 17:55:09 -04:00
Roberto Rosario 45bc761a5f Updated documentation and changelog 2011-10-05 17:54:27 -04:00
Roberto Rosario b3973c9dfa Added initial Portuguese translation, updated settings.py and translation related files 2011-10-05 17:53:56 -04:00
Roberto Rosario be8c9aafbf Updated Readme.md to add link to the transifex project page 2011-09-30 01:39:44 -04:00
Roberto Rosario 0f72ed5d0d Spanish translation updates 2011-09-30 01:30:51 -04:00
Roberto Rosario 9e0edbcd87 Added missing translation files, added transifex resource file 2011-09-30 01:11:49 -04:00
Roberto Rosario 85349bea03 Updated Spanish .po files, added English .po files to add project to Transifex.com 2011-09-29 18:52:11 -04:00
Roberto Rosario f79883021d Merge branch 'hotfix/v0.8.3-hf1' into development 2011-09-13 20:49:51 -04:00
Roberto Rosario 5565991072 Merge branch 'hotfix/v0.8.3-hf1' 2011-09-13 20:49:34 -04:00
Roberto Rosario e803e7410b Fixed the apache contrib file static file directory name 2011-09-13 20:49:06 -04:00
Roberto Rosario a10ae9d382 Added flattr button 2011-09-01 06:18:43 -04:00
Roberto Rosario 8f016eaeff Documentation update 2011-09-01 03:54:24 -04:00
Roberto Rosario f44d135a87 Documentation updates 2011-09-01 03:20:15 -04:00
Roberto Rosario 0a077e9d6d Updated documentation added collectstatic missing step, issue #11 2011-08-31 00:03:50 -04:00
Roberto Rosario cc30f70fed Added build directories to the gitignore file 2011-08-31 00:03:28 -04:00
Roberto Rosario 368b0287a0 Merge branch 'lock_manager' 2011-08-23 17:39:27 -04:00
Roberto Rosario 9185ed335d lock manager app updates 2011-08-23 17:34:05 -04:00
Roberto Rosario b6d2e95a91 Initial commit of the lock manager 2011-08-23 14:51:57 -04:00
Roberto Rosario 3bd5fd45ce Added missing setup options to the documentation 2011-08-19 22:39:27 -04:00
Roberto Rosario 37f200d884 Removed pyramid logo from the documentation, started adding the
setting options to the documentation
2011-08-19 15:00:55 -04:00
Roberto Rosario 4f029cbc01 Documentation and README.md update 2011-08-19 14:18:03 -04:00
Roberto Rosario e55863aaa1 Documentation updates 2011-08-19 09:10:55 -04:00
Roberto Rosario 956aca1482 Merge remote branch 'origin/master' 2011-08-19 08:59:39 -04:00
Roberto Rosario 9277e9cdee Updated the documentation in a Sphinx ready format 2011-08-19 08:58:54 -04:00
Roberto Rosario 1f0a0ca10a Updated document in a Sphinx ready format 2011-08-19 08:57:03 -04:00
Roberto Rosario b4be6115a1 Bumped version to 0.8.3 2011-08-19 04:56:55 -04:00
Roberto Rosario 9366e04f61 Added a contributors file 2011-08-19 04:55:55 -04:00
Roberto Rosario fb8e8e01cc Merge branch 'group_tab' 2011-08-19 04:36:58 -04:00
Roberto Rosario f0cf50b1d8 Fixed the home and document main menu tab position 2011-08-19 04:36:18 -04:00
Roberto Rosario f0d776b316 Converted document grouping subtemplate into a document information tab 2011-08-19 04:35:27 -04:00
Roberto Rosario edd5b32893 Updated the Changelog 2011-08-18 19:49:24 -04:00
Roberto Rosario 059718ffe1 Removed remarked code 2011-08-18 19:46:15 -04:00
Roberto Rosario c7e13576bc Moved OCR links to the tools main menu 2011-08-18 19:45:48 -04:00
Roberto Rosario 5e1936c24b Moved the new button link widget to the navigation app and made it more generic 2011-08-18 19:38:52 -04:00
Roberto Rosario 18899f78f2 Improved tools menu using horizontal button widget just like the project_setup app 2011-08-18 11:24:25 -04:00
Roberto Rosario 531332a5bf Removed debug statements, added comments 2011-08-18 10:53:19 -04:00
Roberto Rosario 109b62c28a Improved the metadata type and metadata set selection widget 2011-08-18 10:48:06 -04:00
Roberto Rosario ad2a3b89f5 Removd debug statement 2011-08-18 10:28:54 -04:00
Roberto Rosario 1c74c4390b Improved button based links compatibility in some drivers 2011-08-18 10:12:25 -04:00
Roberto Rosario dc4142b575 Improved new button based links appearance 2011-08-18 10:12:06 -04:00
Roberto Rosario 113a125742 Merge remote branch 'origin/master' 2011-08-18 02:45:48 -04:00
Roberto Rosario a4cb8c933c Updated readme adding video and fixing the email address 2011-08-18 02:44:34 -04:00
Roberto Rosario c44396fb0d Removed static from the gitignore file, was causing problems with the
apps' static folders
2011-08-18 02:41:26 -04:00
Roberto Rosario e195b245a2 Added a debug css class 2011-08-18 02:41:10 -04:00
Roberto Rosario 1b4d62aa61 Updated Changelog 2011-08-18 02:39:56 -04:00
Roberto Rosario f95df0f32f Merge branch 'settings_dashboard' 2011-08-18 02:38:28 -04:00
Roberto Rosario 36c199f8a9 Added new app 'project_setup' to display a setup dashboard style view instead of a secondary action list 2011-08-18 02:37:32 -04:00
Roberto Rosario 75ae202e66 Added video demonstration, fixed email url 2011-08-16 03:04:35 -03:00
Roberto Rosario aff42d4182 Fixed staging fixed preview via encapsulation to sidestep django 1.3
template callable variable bug
2011-08-15 11:05:13 -04:00
Roberto Rosario 00fe7ca273 Metadata set model doesn't have a name field, not use it to calculate the unicode representation 2011-08-15 11:05:05 -04:00
Roberto Rosario c2a5b2732d Updated Changelog 2011-08-14 23:36:48 -04:00
Roberto Rosario aba9d47ad8 Added a view to the about menu to read the LICENSE file included with Mayan 2011-08-14 23:31:12 -04:00
Roberto Rosario 094a4125dc Updated some apps to use the new top menu sorting method 2011-08-14 23:30:41 -04:00
Roberto Rosario 9cbeccfb98 Improved top menu navigation link sorting 2011-08-14 23:29:37 -04:00
Roberto Rosario c46c52ebdf Added converter backend agnostic image file format descriptions 2011-08-12 04:06:48 -04:00
Roberto Rosario 0a2591d58f Removed unused import, PEP8 cleanups 2011-08-12 02:13:23 -04:00
Roberto Rosario 09f1c2bd2f Disable whitelist and blacklist temporarily, removed document_type field from interactive sources 2011-08-11 23:38:32 -04:00
Roberto Rosario 0b34d58c7f Fully disabled watch folders until they are working correctly 2011-08-11 23:38:03 -04:00
Roberto Rosario 450447a4db Remarked a debug statement 2011-08-11 23:37:40 -04:00
Roberto Rosario b3b545d932 Updated the project name to 'Mayan EDMS' 2011-08-11 04:35:51 -04:00
Roberto Rosario 6efb5142be Updated the requirements to use Pillow instead of PIL to handle images 2011-08-11 04:16:43 -04:00
Roberto Rosario df9d784097 If ghostscript is installed add PDF and PS to the list of supported file formats 2011-08-11 04:11:20 -04:00
Roberto Rosario 501d1c0d9d Pass integers instead of floats to PIL's transform method 2011-08-11 04:09:02 -04:00
Roberto Rosario 4d33cec7b2 Updated the changelog 2011-08-10 04:58:11 -04:00
Roberto Rosario 599cc31706 Added donate button 2011-08-10 04:57:26 -04:00
Roberto Rosario 9703897a9d Updated the static media url in the login excempt url list 2011-08-10 03:22:03 -04:00
Roberto Rosario 41d8138d27 Updated the Changelog 2011-08-09 00:37:32 -04:00
Roberto Rosario 2f07853f1a Merge branch 'djangozoom_static_fix' 2011-08-08 23:39:00 -04:00
Roberto Rosario 08bc9ebf0e Improved handling of Issue #10 2011-08-08 23:38:36 -04:00
Roberto Rosario bf411916a1 Merge branch 'djangozoom_static_fix' 2011-08-08 23:29:15 -04:00
Roberto Rosario 84e12efb43 Added special case handling for DjangoZoom, which executes collectstatic
management command before executing syncdb first to create the db
structure.  Handles issue #10
2011-08-08 23:24:31 -04:00
Roberto Rosario 417a616d60 Updated Changelog 2011-08-08 10:10:45 -04:00
Roberto Rosario f08e0bab2b Perform extra validation of the image cache directory and fallback to
creating a temporary directory on validation failure
2011-08-08 09:44:48 -04:00
Roberto Rosario 32608337c3 Fixed source creation bug, that caused invalid links to a non existing
transformation to appear on the sidebar
2011-08-08 08:32:00 -04:00
Roberto Rosario 05537fcf18 Updated requirements file, grappelli is available fomr pypi 2011-08-08 02:08:29 -04:00
Roberto Rosario 97691d87b9 Fixed requirement files typo 2011-08-08 02:02:20 -04:00
Roberto Rosario c8954153cf Updated the Changelog 2011-08-07 06:30:33 -04:00
Roberto Rosario d886003951 Display language names in uppercase 2011-08-06 21:16:56 -04:00
Roberto Rosario 0584244663 Added changelog view under the about main menu 2011-08-06 21:16:36 -04:00
Roberto Rosario f81f480f32 Removed TODO file 2011-08-06 18:33:35 -04:00
Roberto Rosario 9fe1eddb13 Updated changelog 2011-08-06 18:32:34 -04:00
Roberto Rosario 02381d9858 Bumped version to 0.8.2 2011-08-06 18:11:13 -04:00
Roberto Rosario 7e82df494e Updated .gitignore to ignore static folder, updated examples apache contrib file
disabled settings.py last remaining media handling bits from settings.py
2011-08-06 18:06:07 -04:00
Roberto Rosario 705dc44265 Removed unneeded site_media folder 2011-08-06 18:04:32 -04:00
Roberto Rosario c03a093cf9 Implemented Django 1.3 staticfile handling app, removed grapelli from
the included 3rd party apps folder, updated to a recent version of rosetta
2011-08-06 18:00:01 -04:00
Roberto Rosario 0814a4bd78 Improved language switching widget, removed language switching 'go' button 2011-08-06 06:10:02 -04:00
Roberto Rosario 1bcbfcea04 Moved history app order of loading in INSTALLED_APP 2011-08-06 04:32:27 -04:00
Roberto Rosario a6eb830a6a Removed remarked code 2011-08-05 23:51:50 -04:00
Roberto Rosario 36c7beca84 Added new setting, widget, form and auth backend to allow login via user email address
To enable:
AUTHENTICATION_BACKENDS = ('common.auth.email_auth_backend.EmailAuthBackend',)
COMMON_LOGIN_METHOD = 'email'
2011-08-05 23:36:00 -04:00
Roberto Rosario acd6348dd7 Changed 'django.core.context_processors.auth' to 'django.contrib.auth.context_processors.auth'
as per Django 1.3 DeprecationWarning
2011-08-05 23:23:15 -04:00
Roberto Rosario 066065ccab Implemented document file delete method on Document delete (Needed by Django 1.3) 2011-08-05 21:31:58 -04:00
Roberto Rosario f61874f629 Bumped version to 0.8.1 2011-08-05 10:41:09 -04:00
Roberto Rosario 866ef83896 Updated the required django version to 1.3 2011-08-05 10:39:32 -04:00
Roberto Rosario e524ec1e8b Added new view to create tag from the main menu 2011-08-05 10:37:42 -04:00
Roberto Rosario 50b8102618 Removed source whitelist debug print 2011-08-05 10:37:25 -04:00
Roberto Rosario dccf5a4c72 Disabled setup of watch folder source until race condition in the scheduler is fixed 2011-08-05 10:14:34 -04:00
Roberto Rosario 6c93313203 Added item count column to index instance list view 2011-08-05 10:11:50 -04:00
Roberto Rosario fd5b93021e Updated document indexing widget to show different icon for indexes or indexes that contain documents 2011-08-05 10:11:07 -04:00
Roberto Rosario d8a9193d65 Changed apps loading order to fix source app dependency error 2011-08-05 09:46:54 -04:00
Roberto Rosario 2169bbd0d2 Finished adding encapsulation to lambda functions to get around Django bug #15791 2011-08-05 09:46:28 -04:00
Roberto Rosario 1b7183be85 Added encapsulate factory function to get around Django bug #15791 2011-08-05 09:30:26 -04:00
Roberto Rosario 7b0e177ba2 Added highlight template tag to the web theme app 2011-08-05 07:49:26 -04:00
Roberto Rosario 65f9eb11fb Replaced the Textarea widget with the TextAreaDiv widget on document and document page detail views 2011-08-05 07:42:27 -04:00
Roberto Rosario beea100cd9 Updated the get_page_count logic to let the converter raise UnknownFileFormat
and let the document model handle the exception, defaulting to one page
count and saving a comment on the document description
2011-08-05 03:48:51 -04:00
Roberto Rosario 3108c33c6d Fixed typo, renamed return to raise 2011-08-05 03:48:15 -04:00
Roberto Rosario cd0b1577a7 Renamed the exception UnknownFormat to UnkownFileFormat and updated all
backends get_page_count method to raise it, having the api's get_page_count
function decide how to handle the exception
2011-08-05 03:24:01 -04:00
Roberto Rosario eaea853391 Added TextAreaDiv widget 2011-07-31 01:14:00 -04:00
Roberto Rosario 7189e03de4 Remove unused import, fix staging file deletion 2011-07-29 05:07:58 -04:00
Roberto Rosario b64f98b667 Merged document upload code and moved it to the model, improved method of handling compressed file 2011-07-29 05:01:50 -04:00
Roberto Rosario 9d965face3 Added a new document source: 'watched folder' 2011-07-27 02:43:22 -04:00
Roberto Rosario 529a9e7eca Added the ability to unschedule jobs to the scheduler 2011-07-27 01:27:16 -04:00
Roberto Rosario 85ed58f9bc Added a new option MAIN_DISABLE_ICONS to turn off all the project icons, a look which goes well with the new web_app 'default' theme 2011-07-26 04:06:58 -04:00
Roberto Rosario eaaf97d360 Changed the web_theme app default theme to activo 2011-07-26 04:06:29 -04:00
Roberto Rosario e5159a47cf Updated the web_theme app's theme media file to match upstreams new version 2011-07-26 03:23:25 -04:00
Roberto Rosario e67046adc3 Fix last rename's introduced bug 2011-07-25 05:05:11 -04:00
Roberto Rosario 1507f3afaa Use the new model's tranformation namespace 2011-07-25 05:04:44 -04:00
Roberto Rosario 80bb9810f1 Just display a document page transformation shot name (exclude the document page name) 2011-07-25 05:03:51 -04:00
Roberto Rosario 828ecd2a33 Use a different namespace for the transformation manager's method, but restoring the original 'objects' namespace 2011-07-25 05:03:03 -04:00
Roberto Rosario 5b5b7d43eb Update base template to show a 'related' sidebar link set for each navigation object 2011-07-25 05:01:46 -04:00
Roberto Rosario b5680c03d0 Improved document page views and document page transformation views navigation 2011-07-25 05:01:15 -04:00
Roberto Rosario 03157b72d8 Added document cached image invalidation to the document_clear_transformations view 2011-07-25 04:03:44 -04:00
Roberto Rosario 9169e66abb Updated document page transformation CRUD view to invalidate the document cached image on creation, edition of deletion of transformations 2011-07-25 03:58:31 -04:00
Roberto Rosario 7dceaad599 Updated document page transformation CRUD view to redirect to document page transformation list view instead 2011-07-25 03:45:54 -04:00
Roberto Rosario e94e9407ec Added invalidate_cached_image function for document models instances, remove duplication 2011-07-25 03:42:17 -04:00
Roberto Rosario 055f64c1cf Updated OCR models to use the identical source manager SourceTransformationManager 2011-07-25 03:41:28 -04:00
Roberto Rosario 5e4bb41f07 Use literal_eval instead of eval 2011-07-25 03:40:59 -04:00
Roberto Rosario bcb61c3ca3 Enabled OCR queue transformation processing 2011-07-25 03:40:15 -04:00
Roberto Rosario 26c76a0f5e Use eval_literal instead of eval 2011-07-25 03:39:37 -04:00
Roberto Rosario 5f969351b1 Transformation interpretation error should stop a document image from being displayed 2011-07-25 03:38:38 -04:00
Roberto Rosario 39010d7653 Don't translate argument in help text example 2011-07-25 03:00:06 -04:00
Roberto Rosario 1321491c1f Migrated same solution to ocr queue transformation too 2011-07-25 02:59:39 -04:00
Roberto Rosario a7204ee38f Added a new ocr_queue_edit permission 2011-07-25 02:55:14 -04:00
Roberto Rosario 48adc6d113 Migrate document source transformation validation solution to document page transformation 2011-07-25 02:51:19 -04:00
Roberto Rosario 0b67664598 Moved transformation argument validation to the model 2011-07-25 02:43:02 -04:00
Roberto Rosario c9810e45ed Merge branch 'no_source_help' 2011-07-25 00:18:04 -04:00
Roberto Rosario c761f30567 If no there are no available sources, tell user and provide link to create them 2011-07-25 00:17:08 -04:00
Roberto Rosario c3af7d8ec2 Removed source url magic number 2011-07-25 00:16:39 -04:00
Roberto Rosario 7c47bd7b54 Renamed source creation link 2011-07-25 00:15:34 -04:00
Roberto Rosario 59891082ea Removed old remarked code 2011-07-25 00:15:15 -04:00
Roberto Rosario 4bd208ed91 Moved sources app literals to their own file 2011-07-25 00:14:49 -04:00
Roberto Rosario c8e9fbc182 Added reset view link to the document page view to reset the zoom level and page rotation 2011-07-24 23:44:33 -04:00
Roberto Rosario fc6ff0f83a Merge branch 'staging_preview' 2011-07-24 05:16:33 -04:00
Roberto Rosario 37677e89f0 Added support for showing a staging file's thumbnail 2011-07-24 05:15:56 -04:00
Roberto Rosario 8aa72a954b Bumped version to 0.8.0 2011-07-23 17:26:14 -04:00
Roberto Rosario f604c92818 Merge branch 'job_processor' 2011-07-23 16:55:33 -04:00
Roberto Rosario b7a2e33506 Merge branch 'scheduling' 2011-07-23 16:55:29 -04:00
Roberto Rosario 842d0c8868 Added job_processors app to abstract background job processing 2011-07-23 16:54:45 -04:00
Roberto Rosario 8462341533 Added new scheduler app to abstract job scheduling 2011-07-23 16:05:31 -04:00
Roberto Rosario ec203b5702 Spanish translation update 2011-07-23 02:25:33 -04:00
Roberto Rosario 2338f5c3fe Improved document type, document type filenames and history navigation and link highlight 2011-07-23 00:58:26 -04:00
Roberto Rosario 19ab5d9151 Display document app secondary menu even when a document is selected 2011-07-23 00:26:14 -04:00
Roberto Rosario df46ab1605 Navigation improvements 2011-07-23 00:25:20 -04:00
Roberto Rosario 29976541df Further navigation highlight improvements 2011-07-23 00:09:58 -04:00
Roberto Rosario a3eaf1a0b5 Merge remote branch 'origin/master' 2011-07-22 03:43:02 -04:00
Roberto Rosario f589da84fd Added new mimetype app to handle mimetype guessing and provide mimetype related icons when a preview is not available 2011-07-22 03:42:16 -04:00
Roberto Rosario 8192ce349c Added new mimetype app to hangle mimetype guessing and provide mimetype related icons when a preview is not available 2011-07-22 03:37:26 -04:00
Roberto Rosario 4060a39a4f Consisten link highlight through the project 2011-07-21 21:45:07 -04:00
Roberto Rosario 90e876ca93 Code cleanup 2011-07-21 11:46:15 -04:00
Roberto Rosario 46aa89d924 Don't use ghostscript if it is not installed 2011-07-21 04:37:08 -04:00
Roberto Rosario b29ca040d5 Added missing pdfminer requirement entry 2011-07-21 04:32:28 -04:00
Roberto Rosario d46f000701 Added missing ghostcript dependency 2011-07-21 04:05:56 -04:00
Roberto Rosario b72f72c38f Merge branch 'master_merge_test' 2011-07-21 03:56:31 -04:00
Roberto Rosario d202d23862 Merge branch 'smart_staging' into master_merge_test
Conflicts:
	apps/common/__init__.py
	requirements/development.txt
	requirements/production.txt
2011-07-21 03:55:21 -04:00
Roberto Rosario 28ecd22944 Merge branch 'document_image_caching' into smart_staging 2011-07-21 03:50:19 -04:00
Roberto Rosario 89fc258a59 Adapter the OCR app to the new pre cache and preview generation methods 2011-07-21 03:49:27 -04:00
Roberto Rosario 9ba305222c Removed obsolete option from the converter settings file 2011-07-21 03:48:52 -04:00
Roberto Rosario b8ad2adc06 Removed QUALITY related code from the python converter backend, lowered the default ghostscript PDF dpi 2011-07-21 03:48:08 -04:00
Roberto Rosario c55dd90c88 Moved document preview generation to model, implmented pre caching 2011-07-21 03:47:31 -04:00
Roberto Rosario 01de394b88 Properly import COMMON_TEMPORARY_DIRECTORY, removed more QUALITY related code 2011-07-21 03:45:14 -04:00
Roberto Rosario 8ca9c5d4cd Remove more QUALITY related code 2011-07-21 03:44:11 -04:00
Roberto Rosario 72a037fba2 Removed all obsolete QUALITY related literals 2011-07-21 03:43:15 -04:00
Roberto Rosario b4f5acc09a Validate COMMON_TEMPORARY_DIRECTORY and fallback to use mkdtemp on failure 2011-07-21 03:41:57 -04:00
Roberto Rosario 8579c5081d Improved OCR file conversion 2011-07-19 20:56:21 -04:00
Roberto Rosario 8a017e2af0 Added PDF file support to the python converter backend via ghostscript 2011-07-19 20:55:08 -04:00
Roberto Rosario 57fed7608a Merge branch 'raw_ocr_fallback' into smart_staging 2011-07-19 04:22:51 -04:00
Roberto Rosario 648be556a6 Finished adapting the OCR app to the new transformations refactor 2011-07-19 04:21:36 -04:00
Roberto Rosario 7ea1b87ee0 Made size an optional argument of the convert function 2011-07-19 04:21:12 -04:00
Roberto Rosario 1d579e965c Added convinience model method get_transformation_list to the ocr queue model 2011-07-19 04:20:08 -04:00
Roberto Rosario 6cefef5185 Merge branch 'converter_export' into smart_staging 2011-07-18 04:12:28 -04:00
Roberto Rosario a0297d1053 Merge branch 'fix_ocr_convert' into converter_export 2011-07-18 04:11:35 -04:00
Roberto Rosario 08067e93d2 Merge branch 'migrate_to_ocr_app' into fix_ocr_convert 2011-07-18 04:08:19 -04:00
Roberto Rosario d566dfbb1d Added the first text parser backend (PDF) and updated the requirements files and README 2011-07-18 04:06:59 -04:00
Roberto Rosario 5bfd607b31 Removed pdftotext from the requirements, move unpaper calling to the OCR app 2011-07-18 04:06:19 -04:00
Roberto Rosario ac43e294b3 Added PDF page count support to the python converter backend 2011-07-18 04:04:22 -04:00
Roberto Rosario 49e4c040d8 Removed DENSITY from the supported converter backend transformations 2011-07-18 04:01:11 -04:00
Roberto Rosario 6c7ac588c7 Added mimetype detection utility 2011-07-18 04:00:21 -04:00
Roberto Rosario 5829bbde4d Added per OCR queue transformation models and CRUD views to replace the CONVERTER_OCR_OPTIONS with the new refactored converter transformations systems 2011-07-17 01:32:46 -04:00
Roberto Rosario 970ca0be05 Fixed Imagemagick converter backend 2011-07-16 04:08:17 -04:00
Roberto Rosario 7289cafdfd Added python only converter backend supporting resizing, zooming and rotation 2011-07-16 04:03:17 -04:00
Roberto Rosario 7a5f0fed0b Merge branch 'transformation_refactor' into converter_export 2011-07-16 01:20:19 -04:00
Roberto Rosario 29adcce2a3 flake8 cleanups 2011-07-16 01:15:58 -04:00
Roberto Rosario 0fe032f7c9 Finished fixing new document transformations 2011-07-16 01:09:36 -04:00
Roberto Rosario 389253385c Source, document page and thumbnails working, new document transformations and OCR yet to convert 2011-07-15 20:25:49 -04:00
Roberto Rosario 743ae0fce0 Initial commit of the converter image transformation refactor 2011-07-15 06:16:14 -04:00
Roberto Rosario 358216fac5 Updated README.md 2011-07-14 23:17:43 -04:00
Roberto Rosario 415f0c8daa Refactored the converter backend system 2011-07-13 22:53:33 -04:00
Roberto Rosario 082c3e699c Added sources views user permissions restrictions 2011-07-13 02:43:31 -04:00
Roberto Rosario 6fa40be524 Added view to create source transformations, merged and normalized most source and source transformations views 2011-07-13 02:33:37 -04:00
Roberto Rosario d0da4daa93 Added new view to delete a sources transformations and improved the source tranformation edit view 2011-07-13 01:15:20 -04:00
Roberto Rosario 3ff461a2d3 Improved document sources transacion views 2011-07-09 04:32:16 -04:00
Roberto Rosario ee46653578 Added support for handling navigation for view with more than one main object class 2011-07-09 04:31:08 -04:00
Roberto Rosario 1e944c7130 Initial commit of document source transformations 2011-07-08 15:30:52 -04:00
Roberto Rosario eef6400c22 Initial whitelist/blacklist support 2011-07-08 04:19:16 -04:00
Roberto Rosario a15d3afd07 Added a new famfam graphics radioselect widget and applied it to the webform and stagingform edit and create forms 2011-07-08 03:35:54 -04:00
Roberto Rosario aae3f3c147 Added help texts to the source models and added 2 new icons 2011-07-08 03:35:22 -04:00
Roberto Rosario c41b38b9ab Added the new children_url_regex option to more link for consistent highlighting 2011-07-08 03:34:43 -04:00
Roberto Rosario 9f1ef7cfa9 Updated the upload_interactive view to conserve an invalid form to display its error on the template 2011-07-08 03:13:27 -04:00
Roberto Rosario 038a0ea041 Added options to automatically create an admin user during syncdb 2011-07-07 23:53:15 -04:00
Roberto Rosario f3d3af0552 Removed IntegrityError exception check, not raise during syncdb 2011-07-07 23:52:46 -04:00
Roberto Rosario 89d9d95f59 Rollback transaction on exception, during syncdb (Postgresql @ DjangoZoom) 2011-07-07 23:21:14 -04:00
Roberto Rosario 841b02c969 Use python-magic to determine a document's mimetype otherwise fallback to use python's mimetypes library 2011-07-07 21:38:36 -04:00
Roberto Rosario 47de889163 Remove the included source for python-magic instead fetching it from github 2011-07-07 21:32:54 -04:00
Roberto Rosario 312b10db1e Merge branch 'master' into smart_staging 2011-07-07 20:36:17 -04:00
Roberto Rosario 79cc9dd9c8 Implemented child url regex highlight for regular links, improve the document duplicate list, improved staging file delete view 2011-07-07 00:59:05 -04:00
Roberto Rosario 0b4df31726 Finished document source setup views 2011-07-06 16:38:15 -04:00
Roberto Rosario 0afa35b256 Change metadata set setup link icons 2011-07-06 16:37:48 -04:00
Roberto Rosario 9841743473 Solved conditional highlight problem 2011-07-06 14:30:20 -04:00
Roberto Rosario 83de8c7b49 PEP8 Cleanups 2011-07-06 03:22:53 -04:00
Roberto Rosario 2739ad9027 Implmented conditional show of expand checkbox, initial support for conditional highlight (buggy) 2011-07-06 03:11:48 -04:00
Roberto Rosario ee3abd16ec Document upload working from local and from staging folders 2011-07-06 01:51:29 -04:00
Roberto Rosario 2816c1f86f Got upload view working, staging preview and delete working ok 2011-07-06 01:31:27 -04:00
Roberto Rosario 7417fca835 First commit of new multiple document source app 2011-07-05 19:34:05 -04:00
Roberto Rosario 4199c31985 Merged settings actual value column and existing column 2011-07-05 19:32:37 -04:00
Roberto Rosario 9968492ee9 Show settings name's and descriptions on the same columns to save space and improve appearance 2011-07-05 00:36:17 -04:00
Roberto Rosario 282541f83d Added missing import 2011-07-05 00:18:33 -04:00
Roberto Rosario edece7ba30 Removed the document indexes list subtemplate and added a new document indexes list view as a tab 2011-07-04 04:25:59 -04:00
Roberto Rosario 98d5cf7927 Added missing permission check to a folder app view 2011-07-04 04:25:32 -04:00
Roberto Rosario 8d6dac9495 Added forgotten folder app confirm icon 2011-07-04 04:03:56 -04:00
Roberto Rosario 4fa8be1655 Added new 'add document to folder' link to replace the sidebar template with the same use, added document membership list view, improved other folders apps views 2011-07-04 04:02:52 -04:00
Roberto Rosario b323a37596 Added link to document index content view to navigate the tree upwards 2011-07-04 02:21:07 -04:00
Roberto Rosario b8ba3ef70f Only display an icon for index instances and not for documents 2011-07-04 02:00:05 -04:00
Roberto Rosario 3c4f651ebd Added new tag add/attach view and disabled the previous side bar tag template 2011-07-03 01:06:37 -04:00
Roberto Rosario a6a469ad9c Improved query string cleanup method and blank query detection 2011-07-03 00:43:15 -04:00
Roberto Rosario 348ec5e694 Added new option MAIN_DISABLE_HOME_VIEW to disable the home main menu tab and save some space 2011-07-02 19:44:23 -04:00
Roberto Rosario 801e35d75c Fixed sidebar search support 2011-07-02 19:43:45 -04:00
Roberto Rosario 3503ad7ea1 Updated the search manager to not store recent empty queries 2011-07-02 19:42:07 -04:00
Roberto Rosario 2ac21bd032 Added new option to the web theme app, 'WEB_THEME_VERBOSE_LOGIN' that display a more information on the login screen (version, copyright, logos) 2011-07-02 03:31:32 -04:00
Roberto Rosario a130a2bb31 Cropped small pyramid logo 2011-07-02 03:31:06 -04:00
Roberto Rosario 178dca17bc Shortened 'clear all transformations' to 'clear transformations' link title 2011-07-02 02:37:23 -04:00
Roberto Rosario 2fac05a979 Highligh document top menu when viewing a document's history 2011-07-02 02:35:09 -04:00
Roberto Rosario fb0d43e554 Highlight the documents main tab when viewing grouping app views 2011-07-02 02:23:15 -04:00
Roberto Rosario 65afc6d6d8 Removed asumption that a group of documents will always have the same metadata values, as such removing the clone metadata link from the document group action view 2011-07-02 02:22:20 -04:00
Roberto Rosario 6fea11c6e8 Show document actions if an index instance contains linked documents 2011-07-02 02:08:26 -04:00
Roberto Rosario d20e93336d Added GPL and Django logos to the about page 2011-07-02 01:23:35 -04:00
Roberto Rosario 7c537e7362 Fixed typo in message 2011-07-02 00:53:42 -04:00
Roberto Rosario fa8d9909d7 Removed unused line 2011-07-02 00:51:50 -04:00
Roberto Rosario 0fa1e0c706 Moved get_metadata_string Document class method to the metadata app 2011-07-02 00:44:12 -04:00
Roberto Rosario f183153b1c Fixed wrong name for CONVERTER_PRINT_QUALITY_OPTIONS setting 2011-07-02 00:28:44 -04:00
Roberto Rosario 329b84b5ef Implemented multi item actions for document tags 2011-07-02 00:00:21 -04:00
Roberto Rosario 9823a59eea Added a new permission, PERMISSION_TAG_VIEW to allow users to view a documents tags 2011-07-01 23:36:18 -04:00
Roberto Rosario a434e91c3a Added a confirmation dialog to the document tag removal view 2011-07-01 23:33:52 -04:00
Roberto Rosario 10b7d276a3 Updated the documents apps tab links argument to make sure document details and properties are always first 2011-07-01 21:31:10 -04:00
Roberto Rosario 9802a0a78c Added a positional argument to the register_links function 2011-07-01 21:30:18 -04:00
Roberto Rosario f0f0f4fc2e Updated all apps and widgets with explicit safely marked strings 2011-07-01 20:53:37 -04:00
Roberto Rosario a0b2e5f864 Removed the implicit safe filter to allow for localization of dates 2011-07-01 20:52:52 -04:00
Roberto Rosario ace6948185 Changed layout to make more use of tabbed links 2011-07-01 19:38:59 -04:00
Roberto Rosario a8c4a7487d Bumped version to v0.7.6 2011-06-28 12:51:39 -04:00
Roberto Rosario 83a2ea5799 Specify search hits when creating new recent search entries 2011-06-28 12:50:13 -04:00
Roberto Rosario c8f7170dff Added recent searches per user support and the SEARCH_RECENT_COUNT configuration option 2011-06-28 03:45:25 -04:00
Roberto Rosario b8d17b8448 Removed debug text 2011-06-28 01:58:33 -04:00
Roberto Rosario d2a3a6ad00 Added support for conditional disabling to the document page zoom in and zoom out links 2011-06-28 01:23:47 -04:00
Roberto Rosario 6b49490572 Replaced the degree unicode character with the HTML entity equivalent 2011-06-28 01:23:07 -04:00
Roberto Rosario 03bd0f0f7d Updated document page navigation links to use conditional link disabling 2011-06-28 01:06:56 -04:00
Roberto Rosario 69c354b116 Merged conditional display code from the navigation template into the navigation tag, added support for conditional disabling of links 2011-06-28 01:05:57 -04:00
Roberto Rosario bafda3f7ad Updated document page model to display the current page number in relation to the total page count 2011-06-28 01:05:11 -04:00
Roberto Rosario b9b024dbc1 Updated document page view to display zoom level and rotation degrees in the title 2011-06-28 01:03:36 -04:00
Roberto Rosario 327b677444 Added means to expand or not a compressed file during document creation, removed configuration options UNCOMPRESS_COMPRESSED_LOCAL_FILES and UNCOMPRESS_COMPRESSED_STAGING_FILES 2011-06-28 00:08:22 -04:00
Roberto Rosario ec73dd1874 Raise generic Exception exception instead of raising OSError, apparently OSError can't handle unicode messages 2011-06-27 23:42:28 -04:00
Roberto Rosario 16ddd46352 Spanish translation update 2011-06-27 23:41:59 -04:00
Roberto Rosario 06d3dc35e3 Improved new document form 'quick rename' feature logic 2011-06-27 22:00:12 -04:00
Roberto Rosario ffd86d4bc1 Fixed the document upload current metadata side bar template appearance 2011-06-27 21:36:20 -04:00
Roberto Rosario 276e25be60 Renamed changed the document sibling creation link text, and made it directly related to document class 2011-06-27 21:35:32 -04:00
Roberto Rosario 5d4c18b50a Disabled form auto focus for the document details and advanced detail view 2011-06-27 21:17:25 -04:00
Roberto Rosario 563f369083 Added support for disabling the jQuery auto focus 2011-06-27 21:16:48 -04:00
Roberto Rosario 6389019cac Fixed search main menu highlighting 2011-06-22 16:51:08 -04:00
Roberto Rosario 3f6900881e Spanish translations update for the latest advanced search changes 2011-06-22 11:25:52 -04:00
Roberto Rosario f9190829ae Adv search now redirects to a cleaner results view with a 'search again' button, PEP8 cleanups, removed reduntant code 2011-06-22 01:42:07 -04:00
Roberto Rosario 604ef90f79 Implementes an advanced search feature, which allows for individual field terms 2011-06-22 00:47:37 -04:00
Roberto Rosario ec31f0ecce Fixed the OCR queue properties side bar template appearance 2011-06-20 14:21:21 -04:00
Roberto Rosario de28122c66 Spanish translation updates 2011-06-20 13:44:38 -04:00
Roberto Rosario f06a28c54e Updated the search form submit button and icon when using the side bar search mode 2011-06-20 13:26:30 -04:00
Roberto Rosario a382fbbf6e Bumped version to 0.7.5 2011-06-20 00:33:58 -04:00
Roberto Rosario c4d6db5217 Added a help message to the search view 2011-06-20 00:31:31 -04:00
Roberto Rosario b614c4263f Renamed search form submit button from 'submit' to 'search', updated the submit icon to famfam's zoom icon 2011-06-20 00:18:05 -04:00
Roberto Rosario 05dd113d03 Modified the new document wizard submit button and icon making more intuitive 2011-06-20 00:08:09 -04:00
Roberto Rosario 9f9b2d3854 Added views to setup the default metadata types and sets for a given document type 2011-06-20 00:04:54 -04:00
Roberto Rosario 26efcd5dd3 Added help side bar templates to the document indexing and folders apps 2011-06-19 20:43:46 -04:00
Roberto Rosario c138623329 Added side bar help to convert's file format list, recent document, document type and metadata set and type views 2011-06-19 20:16:46 -04:00
Roberto Rosario d121aae8e7 Added views to created, edit and delete metadata set under the setup menu, added corresponding new permissions for these views 2011-06-19 19:06:22 -04:00
Roberto Rosario e39f162a5e Improved menu highlighting for metadata setup and document metadata view 2011-06-19 00:51:01 -04:00
Roberto Rosario 601c433b7d Added the permission for viewing, creating, editing and deleting metadata types 2011-06-19 00:47:46 -04:00
Roberto Rosario 0490fc64ca Added view to list, create, update and delete metadata type under the setup menu 2011-06-19 00:38:55 -04:00
Roberto Rosario 9250a6bbdc Added view to list supported file formats and reported by the converter backend 2011-06-18 00:51:32 -04:00
Roberto Rosario 5e5d6ee56d Updated metadata views to use smarted redirection 2011-06-17 22:14:19 -04:00
Roberto Rosario c43df0bc87 Added redirection support to multi object action view 2011-06-17 22:13:54 -04:00
Roberto Rosario 218ea0f424 Updated TODO 2011-06-17 22:13:06 -04:00
Roberto Rosario c3c3aa9bfc Renamed 'document list' link to 'all documents' and 'recent document list' to 'recent documents' 2011-06-17 21:43:26 -04:00
Roberto Rosario af59b3a7cd Removed 'change password' link next to the current user's name and added a few view to handle the current user's password, details and editing 2011-06-16 15:14:05 -04:00
Roberto Rosario e6fad805c7 Fixed zip file handling 2011-06-13 09:51:21 -04:00
Roberto Rosario 820588920b Don't highlight "Documents" menu when working document type, highlight "Setup" instead 2011-06-13 00:34:13 -04:00
Roberto Rosario a39f4d2574 Updated all apps permissions namespace title to uppercase 2011-06-13 00:23:13 -04:00
Roberto Rosario f3335287ed Added support for overriding a form's submit button icon, updated assign_remove view to use this feature 2011-06-13 00:22:39 -04:00
Roberto Rosario 4b17894320 Bumped version to 0.7.4 2011-06-13 00:08:39 -04:00
Roberto Rosario 414cfdfb1f Integrated document type view into the setup menu 2011-06-13 00:07:39 -04:00
Roberto Rosario 279aa77cd7 Renamed 'secondary actions' to 'secondary menu' 2011-06-13 00:07:03 -04:00
Roberto Rosario 45fb04f862 Added views to add, edit and delete document type filenames 2011-06-12 23:58:02 -04:00
Roberto Rosario b9e0bd3e88 Fixed issue where document type was not saved for locally uploaded documents, thanks to Brian Huxley for also finding this one 2011-06-12 19:20:36 -04:00
Roberto Rosario 370785ad9d Added view to add, edit and delete document types from the setup menu 2011-06-12 19:18:01 -04:00
Roberto Rosario b1b68bda67 Added meta informartion to the document type model and ordering information [a-z] 2011-06-12 15:12:12 -04:00
Roberto Rosario 46330c2d17 Updated generic_list_subtemplate to only display multi item link when the object list is not empty 2011-06-12 14:42:29 -04:00
Roberto Rosario b04a681422 blank=True is not enough to make models.ForeignKey optional, adding null=True too, thanks to Brian Huxley for finding this one 2011-06-12 12:44:47 -04:00
Roberto Rosario 566fdd389a Fixed Document main menu icon 2011-06-09 20:25:34 -04:00
Roberto Rosario 97e8b9fb9e Fixed document queue properties sidebar template not showing 2011-06-09 20:24:34 -04:00
Roberto Rosario 30b1fea147 PEP8 cleanups, unused imports and bumped version to 0.7.3 2011-06-08 01:39:38 -04:00
Roberto Rosario 8fa4f641e4 Converted apps to the new main menu navigation method and improved navigation links in some apps 2011-06-08 01:26:50 -04:00
Roberto Rosario 2a2c67de4e Refactored main menu navigation 2011-06-08 01:26:06 -04:00
Roberto Rosario cdd772ef8e Added ocr queue disable/enable confirmation icons 2011-06-08 00:52:25 -04:00
Roberto Rosario 664e57bdfd Display multi item link on top of generic lists as well 2011-06-06 17:21:36 -04:00
Roberto Rosario f54cd06be6 Spanish translation updates 2011-05-31 16:01:58 -04:00
Roberto Rosario 96691cbf9f Fixed model field name 2011-05-31 16:01:33 -04:00
Roberto Rosario b236f03a11 Spanish translation updates 2011-05-31 13:24:05 -04:00
Roberto Rosario b76e857ebb Updated requirements to use the latests development version of django-mptt 2011-05-31 13:13:48 -04:00
Roberto Rosario b352e5e87a Improved user folder document removal messages and added confimation dialog icon 2011-05-31 00:54:19 -04:00
Roberto Rosario 6435abb2f7 Added history list view to the tools sidebar menu 2011-05-31 00:42:10 -04:00
Roberto Rosario 54e6ca96ee Merged document view simple and document advanced view (internally) 2011-05-31 00:17:23 -04:00
Roberto Rosario 43f37ffd32 Added ability to specify default metadata or metadataset per document type 2011-05-30 23:44:12 -04:00
Roberto Rosario 12d3ec4ed5 Added comments documenting some methods 2011-05-30 22:59:14 -04:00
Roberto Rosario 39da4d2e6b Recompose the document filename using os.extsep.join 2011-05-30 22:45:56 -04:00
Roberto Rosario 14a6c9d3f0 Added history event source object link to the history list view 2011-05-29 00:01:19 -04:00
Roberto Rosario 9ce75e4671 Added edit source object attribute difference detection and logging to history app 2011-05-28 23:52:54 -04:00
Roberto Rosario 73f39494aa Initial commit for document diff support in history 2011-05-28 22:30:32 -04:00
Roberto Rosario b201236cf7 Merged StagingForm and DocumentForm classes, improved document_type passing and handing 2011-05-28 21:58:22 -04:00
Roberto Rosario 6eef1f399c Moved the global history icon to the tools menu 2011-05-28 16:39:40 -04:00
Roberto Rosario e14dfc5c46 Changed the way to call the history of foreign objects 2011-05-28 16:28:39 -04:00
Roberto Rosario 6c3aa1f37b Initial commit of the generic history app 2011-05-26 05:07:26 -04:00
Roberto Rosario ecdc72f16c If a document doesn't have a metadatatype don't raise error, just don't save it. Fixed multi doc heterogeneous metadata editing. 2011-05-25 02:11:12 -04:00
Roberto Rosario 0bd6258b95 Replace empty string with empty list to allow concatenating other foreign metadata values 2011-05-25 01:59:31 -04:00
Roberto Rosario 00914c165a Added document multi item links in search results 2011-05-25 01:51:31 -04:00
Roberto Rosario 318f99c4ea Added information icon to the about link 2011-05-25 01:39:26 -04:00
Roberto Rosario 761722698d Added Tools menu sidebar navigation 2011-05-25 01:36:19 -04:00
Roberto Rosario 6e67f1e37c Reimplemented first tab link detention in template instead of tag 2011-05-25 01:35:43 -04:00
Roberto Rosario df1dc904fb Added OCR sidebar navigation 2011-05-25 01:35:21 -04:00
Roberto Rosario b2714e4a92 Changed forgotten index menu link icon 2011-05-25 01:13:28 -04:00
Roberto Rosario ed3683c593 Added proper titles to the ocr cleanup and duplicate finder tools 2011-05-25 01:04:41 -04:00
Roberto Rosario 557052dd2d Changed document index links icons and index rebuild confirmation icon, updated list view to display icon for the type of index instance content 2011-05-25 01:01:52 -04:00
Roberto Rosario 89685fb8c6 Added function 'set_namespace_title' to define a translatable title for a permission group namespace 2011-05-25 00:32:47 -04:00
Roberto Rosario 53cb857a8f PEP8 cleanups 2011-05-25 00:00:23 -04:00
Roberto Rosario 2721512514 Updated permission app role grant/revoke permission link icons and confirmation message template icons 2011-05-24 23:47:15 -04:00
Roberto Rosario 581f8cd52d Moved PermissionManager and RoleMemberManager to a separate manager.py file 2011-05-24 23:39:10 -04:00
Roberto Rosario 3fd7a3181e Moved DocumentQueueManager to a separate manager.py file 2011-05-24 23:20:02 -04:00
Roberto Rosario d3ebc6577f Added OCR re-queue confirm dialog icon 2011-05-24 23:14:12 -04:00
Roberto Rosario be2fe20dc6 Organized the file document/forms.py a little better, class renamed, added document content form to advanced document view 2011-05-24 23:02:00 -04:00
Roberto Rosario e747d3f7eb Added extra context support to document list view and updated document group list view to use it 2011-05-24 22:44:50 -04:00
Roberto Rosario 0db6f641ed Fixed typo that was not allowing metadata links to appear in document group list view 2011-05-24 22:44:10 -04:00
Roberto Rosario a93ccd8f5f Replaced makedirs with mkdir to avoid creating indexing root directory if not created by the user 2011-05-24 22:43:27 -04:00
Roberto Rosario d97a862a25 Refactored the permissions registration, checking and definition 2011-05-24 22:31:07 -04:00
Roberto Rosario ebaf4165e2 Fixed document_create_sibling reverse error 2011-05-24 20:19:42 -04:00
Roberto Rosario e7a42a609a Moved RecentDocument manager to a separate managers.py file 2011-05-24 20:01:29 -04:00
Roberto Rosario 59d7fc61ab Added missing '/' to url 2011-05-24 20:01:05 -04:00
Roberto Rosario 549c374ec2 Reduce redundant string in documents app urls 2011-05-24 19:48:21 -04:00
Roberto Rosario d584b7a3d1 Made document_type attribute optional when editing a document 2011-05-24 19:45:24 -04:00
Roberto Rosario 7170baf5f9 Commited changes to make document_type an optional attribute of document 2011-05-24 19:38:14 -04:00
Roberto Rosario 374ee6b60c Changed document_metadata model 'value' field definition 2011-05-24 19:37:41 -04:00
Roberto Rosario 889c1b1d3a Finished adding support to per user staging directories 2011-05-24 02:39:20 -04:00
Roberto Rosario b026f57961 Updated base.html to use the generic_navigation template 2011-05-24 02:38:57 -04:00
Roberto Rosario 5ba2148750 Added new option to navigation links 'keep_query', to make the generated navigation statefull by making the query string persistent 2011-05-23 23:51:24 -04:00
Roberto Rosario 11b630cea4 Initial commit to support per user staging folder 2011-05-21 02:56:15 -04:00
Roberto Rosario 4cb2fdb156 Added icon for the staging file delete confirm message 2011-05-21 01:11:32 -04:00
Roberto Rosario d575c7e3e8 Remove remaining migrations 2011-05-21 00:55:36 -04:00
Roberto Rosario 1b43ec2c96 Really remove South app and change document metadata fields 'value' from a TextField to a CharField(256) 2011-05-21 00:54:36 -04:00
Roberto Rosario 24e2fcc56d Removed South app, change document metadata fields 'value' from a TextField to a CharField(256) 2011-05-21 00:41:06 -04:00
Roberto Rosario 4abb3c5ebc Merge branch 'new_metadata'
Conflicts:
	requirements/development.txt
	requirements/production.txt
	settings.py
2011-05-21 00:13:38 -04:00
Roberto Rosario b436695549 Prevent long titles to slip under the confirm icon 2011-05-20 04:54:32 -04:00
Roberto Rosario 7acf0ba1db Updated about template's small piramid image 2011-05-20 04:33:33 -04:00
Roberto Rosario 7d3a269cb4 Cleaned up the home and about template's HTML code 2011-05-20 04:29:49 -04:00
Roberto Rosario 5ba8158aec Bumped version to v0.7 2011-05-20 04:27:53 -04:00
Roberto Rosario 1ff0d0b1fb Added comment_delete icon 2011-05-20 04:00:36 -04:00
Roberto Rosario d2e4fce100 Added confirm template icons 2011-05-20 03:58:02 -04:00
Roberto Rosario 842c6b8ba7 Updated TODO 2011-05-20 03:57:49 -04:00
Roberto Rosario 28df6b83ca Selected better icons for the page_view, page_edit and page_text views 2011-05-20 03:57:04 -04:00
Roberto Rosario 6cf67c978e Added django-mptt v4.2 to the requirements files 2011-05-20 03:03:15 -04:00
Roberto Rosario 4a4afbf06a Cleaned up files, removed ununsed imports 2011-05-20 00:54:11 -04:00
Roberto Rosario 17c749a80a Removed ununsed import, and did other cleanups 2011-05-20 00:37:53 -04:00
Roberto Rosario 132aaec7c4 Rebuild document indexes correctly when metadata changes 2011-05-20 00:37:25 -04:00
Roberto Rosario 6bdb7431b8 Removed documents permissions from __init__ as they now in literals.py 2011-05-20 00:36:39 -04:00
Roberto Rosario c19144662c Renamed document_view to document_view_advanced to reflect changes in document app view names 2011-05-20 00:35:50 -04:00
Roberto Rosario a02c5c7c8d Added remaining functionality to document indexing (filesystem rebuild, better warning reporting) 2011-05-20 00:34:31 -04:00
Roberto Rosario 7f59c16316 Finished merging document indexing and filesystem serving apps 2011-05-20 00:32:53 -04:00
Roberto Rosario 36da126e82 Unicode update 2011-05-19 22:56:22 -04:00
Roberto Rosario 0a5dfd6aa9 Plug file descriptor leak 2011-05-19 22:55:57 -04:00
Roberto Rosario b7050b4b94 Started adding filesystem linking support to document indexing app 2011-05-18 19:19:37 -04:00
Roberto Rosario 4b0c72633d Moved all filesystem serving app's remaining code to document indexing app 2011-05-18 16:16:11 -04:00
Roberto Rosario a4e00bb493 Fixed metadata remove view not working on multiple documents 2011-05-18 16:15:53 -04:00
Roberto Rosario e8b8904469 Added index rebuilding views 2011-05-18 15:43:32 -04:00
Roberto Rosario 2a2fba9ac6 Added document indexes delete support, started merge with filesystem serving app 2011-05-18 14:34:55 -04:00
Roberto Rosario 1d20a10d49 Added a document indexing list view 2011-05-18 11:45:32 -04:00
Roberto Rosario e83529ae2e Initial commit of the new MPTT based document indexing app 2011-05-17 04:27:43 -04:00
Roberto Rosario 1bd75a1d24 Added generic assign remove view and converted the user management and permissions apps to use it 2011-05-14 23:46:21 -04:00
Roberto Rosario 19c361937f Renamed DocumentMetadataindex model to DocumentIndex and moved it to it's own app 2011-05-14 03:50:06 -04:00
Roberto Rosario 976c4b46c2 Fixed occurrence of member.DoesNotExit to obj.DoesNotExit 2011-05-12 13:54:18 -04:00
Roberto Rosario 8b4efaa15d Updated instances of .id to .pk 2011-05-12 13:51:06 -04:00
Roberto Rosario 9a9da67a88 Updated view name to reflect recent changes 2011-05-12 04:12:58 -04:00
Roberto Rosario fb632d269f Updated the search template to only show results when there is atleast a query string present 2011-05-12 04:04:42 -04:00
Roberto Rosario cef5bbfc08 Simplied the generic_detail template 2011-05-12 04:03:40 -04:00
Roberto Rosario bc252d4ae4 Finished conversion of Mayan to the new document grouping app and paradigm 2011-05-12 04:03:05 -04:00
Roberto Rosario 06bf7e8c50 Removed unused css import 2011-05-11 23:45:31 -04:00
Roberto Rosario 28b6c61876 Fixed the 12 columns grid widths, minified the css and remove unused fixed width 960 grid 2011-05-11 23:42:52 -04:00
Roberto Rosario 2162e99543 Finished converting project to the new subtemplate rendering 2011-05-11 22:08:52 -04:00
Roberto Rosario 5a0ae2eb32 Edited metadata api to allow switchable creation of new document metadata 2011-05-11 21:01:06 -04:00
Roberto Rosario c91d05bff7 Added document to convert to the new metadata tables 2011-05-10 04:20:14 -04:00
Roberto Rosario 6dbf89bdcc Added missing import 2011-05-10 04:15:27 -04:00
Roberto Rosario cd11635443 Added missing import 2011-05-10 03:43:42 -04:00
Roberto Rosario e63cbba171 Use lazy translation instead 2011-05-10 03:43:17 -04:00
Roberto Rosario 69d38c067c Simplified and improved navigation link registration 2011-05-10 03:42:36 -04:00
Roberto Rosario f7f7a1dbdc Splitted common/forms into forms & widgets 2011-05-10 03:42:13 -04:00
Roberto Rosario ea20cde597 Created new metadata app and move all code relating metadata to it 2011-05-10 03:41:35 -04:00
Roberto Rosario b4daa2d52b Fixed permission grant revoke button text no appearing 2011-05-10 03:40:50 -04:00
Roberto Rosario b6d2654cc7 Added changes to expand the scope of the document grouping functionality 2011-05-09 23:57:23 -04:00
Roberto Rosario 94134bc83e Added page per document statistics 2011-05-09 20:04:26 -04:00
Roberto Rosario 07a06617b8 Added South support and initial migrations 2011-05-09 19:08:23 -04:00
Roberto Rosario 69ec591fde Removed print statement, form line cleanup 2011-05-09 03:01:29 -04:00
Roberto Rosario 65fb5dcc9e Updated wizard to skip step 3 if there is no metadata selected, updated metadata and metadata set widget to improve visuals 2011-05-09 02:40:01 -04:00
Roberto Rosario e03a90883a Commited new metadata/document_type paradirm 2011-05-09 02:25:09 -04:00
Roberto Rosario 1b511574d9 Added two state simple template and updated user list view to use it 2011-05-08 15:54:48 -04:00
Roberto Rosario e3db8141ef Bumped version to 0.6 2011-05-08 04:17:14 -04:00
Roberto Rosario 7cc768305f Added view to add or remove users from group, merged common code and moved it to common.utils 2011-05-08 04:15:29 -04:00
Roberto Rosario 5a156bf23d Added group creation, editing, delete support to the user management app; fixed namespace permission checking 2011-05-08 03:38:51 -04:00
Roberto Rosario 3e0a87314e Slight improvement, exit recursion as soon a permission hit is found 2011-05-08 03:17:58 -04:00
Roberto Rosario da3bd654bc Enabled adding and removing of user group as role members 2011-05-08 03:08:06 -04:00
Roberto Rosario 06d3d67572 Unicode updates 2011-05-08 03:07:51 -04:00
Roberto Rosario 2cacae7551 Moved permission checking logic to model, simplyfing it and adding group support too 2011-05-08 03:06:34 -04:00
Roberto Rosario 30a32c0aff Updated permission denied middleware to comform to coding style 2011-05-08 01:58:33 -04:00
Roberto Rosario e692fcc4c4 Discard exception.message to avoid deprecation warning, besided it is not used 2011-05-08 01:56:56 -04:00
Roberto Rosario 4bf64d42ac Added view to reset users password, disallowed editing, deleting, etc of super user or staff users, improved app navigation 2011-05-07 02:28:14 -04:00
Roberto Rosario 0d410b510c Disabled reset_orphans() which causes problems with big clusters increased latency 2011-05-07 01:47:00 -04:00
Roberto Rosario 9e61213241 Created new smart_settings app and move everything related to app settings to it 2011-05-07 01:32:02 -04:00
Roberto Rosario 7f2c563192 Converted whole project to a smarter method of defining app settings 2011-05-07 01:15:40 -04:00
Roberto Rosario 7469fe991f Made the OCR cache backend used for locking configurable, move ocr locking to queued document from periodic task, added again a random delay fallback in case no cache backend is used 2011-05-06 15:31:49 -04:00
Roberto Rosario 472a55f5f3 Updated Spanish translation 2011-05-06 13:42:09 -04:00
Roberto Rosario 0e10d036d4 Keep role permission icon and link together 2011-05-06 13:15:47 -04:00
Roberto Rosario 07e9b12e78 flake8 cleanups, ununsed imports and variables cleanup, changed register_diagnostics to use reverse_lazy instead of reverse 2011-05-06 10:39:54 -04:00
Roberto Rosario c40b3eec66 Allow pop up window named to be specified by view 2011-05-06 02:58:33 -04:00
Roberto Rosario d6aa44c8bd Don't insert a page break on the last page 2011-05-06 02:33:07 -04:00
Roberto Rosario c44a1f947c Added document printing support 2011-05-06 00:46:33 -04:00
Roberto Rosario 0eca667fd4 Changed ugettext to ugettext_lazy, changed comment style 2011-05-05 20:50:56 -04:00
Roberto Rosario 649871b994 Added document and page aspect ration detection, added page size support, print out image dynamic sizing based on page vs. document aspect ratio 2011-05-05 02:31:10 -04:00
Roberto Rosario 9c17a627ec Initial commit of the new_printing branch 2011-05-04 16:59:14 -04:00
Roberto Rosario 0b6934aee1 Fixed document comment side bar link not appearing 2011-05-04 10:20:22 -04:00
Roberto Rosario df35de2759 Added four new highlight color: khaki, coral, orange and lightgrey 2011-05-04 02:11:50 -04:00
Roberto Rosario 5138304720 Display document tags in the document list view 2011-05-04 01:57:43 -04:00
Roberto Rosario 6a9178b8f0 Incresed the default recent document to display from 20 to 40 2011-05-04 01:57:06 -04:00
Roberto Rosario 25d7d17f6d Tweaked the document page widget HTML 2011-05-04 01:33:43 -04:00
Roberto Rosario 9b4ada4fde Reorganized 'documents' menu entries 2011-05-04 01:33:13 -04:00
Roberto Rosario 9dce568ac2 Updates the link displaying template to use conditional link display, updated admin and sentry link to use conditional display, updated main and secondary navigation to use the generic navigation template 2011-05-04 00:25:34 -04:00
Roberto Rosario b5791e7fce Updated active link processing tag to conserve the link properties, added conditional link testing tag 2011-05-04 00:24:28 -04:00
Roberto Rosario 22516a91b5 Updated tools view to limit the tools a user can access by means of permission checking 2011-05-04 00:22:51 -04:00
Roberto Rosario b1c9fbce5e Changed ugetttext to ugettext_lazy 2011-05-04 00:21:15 -04:00
Roberto Rosario 76b67b90e5 Fixed diagnostics template to correctly render the <li> HTML tag 2011-05-04 00:20:29 -04:00
Roberto Rosario 03c8024893 Updated permission checking template tag to allow null arguments 2011-05-04 00:19:07 -04:00
Roberto Rosario 75ebecb92b Fixed document add comment link arguments 2011-05-04 00:17:15 -04:00
Roberto Rosario 01d5cf1f72 Fixed the recent document list view 2011-05-03 23:34:46 -04:00
Roberto Rosario 438e8c89a9 Refactored the tools menu and added method for apps to register tools themselves 2011-05-03 21:58:55 -04:00
Roberto Rosario ae35e89549 Unicode updates 2011-05-03 21:11:35 -04:00
Roberto Rosario 1e0d8d1f25 Added doctring description 2011-05-03 20:58:58 -04:00
Roberto Rosario 6960bff9ef Removed unneeded global variables 2011-05-03 20:15:21 -04:00
Roberto Rosario d58d70623d Moved return_type function to common.utils 2011-05-03 20:14:40 -04:00
Roberto Rosario 4f62e6c9b6 Removed unsafe default values and added unicode updates 2011-05-03 20:13:10 -04:00
Roberto Rosario b1c23c7e48 Improved navigation in the permissions app 2011-05-02 01:46:27 -04:00
Roberto Rosario 5f02d08609 Added Spanish translations for the user management app 2011-05-02 01:17:21 -04:00
Roberto Rosario c6fb47aa37 Added message display when a tag is update successfully 2011-05-02 01:06:39 -04:00
Roberto Rosario a8e175c297 Did some unicode updates 2011-05-02 01:06:15 -04:00
Roberto Rosario b91b89d3b4 Updated permissions view to the new subtemplate renderer 2011-05-02 01:05:57 -04:00
Roberto Rosario a05c622af6 Added user management app (create, edit, delete users) 2011-05-02 01:05:28 -04:00
Roberto Rosario 9626243c10 Updated document_recent_list view to reuser the document_list view 2011-05-02 00:57:44 -04:00
Roberto Rosario c8e8b368d2 Added comments and updated some string to unicode 2011-05-01 23:36:40 -04:00
Roberto Rosario 766567ec49 Added alt attribute to several img html tags 2011-05-01 23:10:51 -04:00
Roberto Rosario 4ed5667bb0 Made all translation string unicode 2011-05-01 22:58:12 -04:00
Roberto Rosario 71049f33bd Display loading spinner while document thumbnail is ready 2011-05-01 22:57:35 -04:00
Roberto Rosario 50636742b1 Updated Changelog 2011-05-01 16:25:30 -04:00
Roberto Rosario 5dacebb083 Made document comments searchable 2011-05-01 16:23:35 -04:00
Roberto Rosario a57c18a680 Updated TODO list 2011-05-01 16:23:12 -04:00
Roberto Rosario 5349b29965 Finished renaming comments app to document_comments 2011-05-01 16:13:34 -04:00
Roberto Rosario e69a85efad Renamed comments app to document_comments to avoid conflics with django comments app 2011-05-01 16:08:34 -04:00
Roberto Rosario 4fffefd367 Made comment sorted by oldest first, made comment subtemplate scrollable 2011-05-01 15:53:45 -04:00
Roberto Rosario c14c9c11c7 Don't specify border color, let the theme do so 2011-05-01 15:53:17 -04:00
Roberto Rosario b66e996b39 Show tagget document link in the tags subtemplate of documents 2011-05-01 15:32:19 -04:00
Roberto Rosario 4c7dbf5971 Show tagged item count in the tag list view 2011-05-01 15:31:01 -04:00
Roberto Rosario e7d6a6e350 Updated tagged documents link icon 2011-05-01 15:30:36 -04:00
Roberto Rosario 4798d33ffc Updated requirements files as per issue #9 2011-05-01 15:16:46 -04:00
Roberto Rosario 9cebfc978b Added comment app with support for adding and deleting comments to and from documents 2011-05-01 04:40:42 -04:00
Roberto Rosario 3261bb08b1 Changed ugettext to ugettext_lazy, fixed a comment typo 2011-05-01 04:40:02 -04:00
Roberto Rosario b61de3d001 Add a 'next' hidden field to allow form to store redirection url 2011-05-01 04:27:24 -04:00
Roberto Rosario 488bb7bd02 Initial commit to support document comments 2011-04-30 04:47:58 -04:00
Roberto Rosario 20c14eed41 Fixed tag removal logic 2011-04-30 04:47:35 -04:00
Roberto Rosario 178eb5949f Converted tag sub template to new subtemplate renderer 2011-04-30 04:47:03 -04:00
Roberto Rosario 52fa716d7b Removed the (required) message from document group form 2011-04-30 04:45:45 -04:00
Roberto Rosario 16061b304e Applied initial merge of the new subtemplate renderer 2011-04-30 04:45:05 -04:00
Roberto Rosario f65dbb46f7 Bumped version to 0.5.1 2011-04-30 02:34:12 -04:00
Roberto Rosario 8c7fbc36ce Exclude tags from all document forms 2011-04-29 11:41:49 -04:00
Roberto Rosario 8552856207 Exclude tags from the local document upload form 2011-04-29 09:32:13 -04:00
Roberto Rosario c99764b486 Updated so that loading spinner is displayed always 2011-04-29 04:53:24 -04:00
Roberto Rosario fd71e86f2a Updated Website link 2011-04-29 01:28:52 -04:00
Roberto Rosario 7c08d67e71 Updated README 2011-04-29 01:27:18 -04:00
Roberto Rosario b73496d01a Changed link title to a more apropiate one 2011-04-28 22:32:02 -04:00
Roberto Rosario 675bdd6112 Added tag editing view and listing documents with an specific tag 2011-04-28 21:30:37 -04:00
Roberto Rosario 2532a0a2d8 Added tag list view and global tag delete support 2011-04-28 19:12:40 -04:00
Roberto Rosario a403c02cd3 Bumped version to 0.5 2011-04-28 01:28:51 -04:00
Roberto Rosario 998985617b Updated CREDITS and Changelog 2011-04-28 01:26:03 -04:00
Roberto Rosario 28f87690b2 Added document tagging support 2011-04-28 01:14:27 -04:00
Roberto Rosario 8fbd174643 Initial changes to support document tags 2011-04-27 17:23:52 -04:00
Roberto Rosario 20dadafd61 Message tweaks and translation updates 2011-04-27 14:44:46 -04:00
Roberto Rosario ab68c696e2 Added loading spinner animation 2011-04-27 12:21:46 -04:00
Roberto Rosario 7a6225f77f Added per app version display tag 2011-04-27 09:34:25 -04:00
Roberto Rosario 53985dc9f8 Added no-parent-history class to document page links so that iframe clicking doesn't affect the parent window history
Fixes back button issue on Chrome 9 & 10
2011-04-27 09:21:00 -04:00
Roberto Rosario d7f483c6f6 Changed the previewing and deleting staging files views to required DOCUMENT_CREATE permission 2011-04-27 08:03:51 -04:00
Roberto Rosario bfa70f114b Converted app cleanups, document pre-cache, magic number removal 2011-04-26 15:02:27 -04:00
Roberto Rosario df60924ebb Implement local task locking using Django locmem cache backend 2011-04-25 16:41:42 -04:00
Roberto Rosario cd77a8ffdf Fixed OCR's active node list view when there are no active nodes 2011-04-25 16:40:33 -04:00
Roberto Rosario 4ed5c8f54c Disabled CELERY_DISABLE_RATE_LIMITS by default 2011-04-25 16:39:54 -04:00
Roberto Rosario f155c0725b Prevented undefined variable use 2011-04-25 12:39:09 -04:00
Roberto Rosario 425e4a0086 Fix document previews 2011-04-25 11:33:16 -04:00
Roberto Rosario f88b011365 Quick update to fix staging file previews 2011-04-25 10:56:04 -04:00
Roberto Rosario a7be566f50 Added OCR view displaying all active OCR tasks from all cluster nodes 2011-04-25 02:17:13 -04:00
Roberto Rosario 386d51e324 Updated TODO 2011-04-25 02:16:59 -04:00
Roberto Rosario 908183fad9 Merged two for loops, and make it so a processing document in a multi select doesn't abort the re-queueing 2011-04-24 04:48:42 -04:00
Roberto Rosario d33ced5e34 Make sure processing documents cannot be deleted 2011-04-24 04:42:49 -04:00
Roberto Rosario c505dad667 Fixed active task checking logic 2011-04-24 04:41:53 -04:00
Roberto Rosario 06900f7cd9 Fixed typo from previous PEP8 cleanup 2011-04-24 04:34:51 -04:00
Roberto Rosario 700bd7071c Removed redundant tranformation calculation 2011-04-24 04:08:02 -04:00
Roberto Rosario b2d0f7c310 Added doc extension to office document format list 2011-04-24 03:59:36 -04:00
Roberto Rosario 947a9ea3e6 Moved transformation string compilation to model 2011-04-24 03:59:19 -04:00
Roberto Rosario 5b5a90100c flake8 cleanups 2011-04-23 23:03:56 -04:00
Roberto Rosario 202bde555b Removed unused imports 2011-04-23 22:49:06 -04:00
Roberto Rosario 5d834b6f5e Updated Changelog 2011-04-23 22:48:46 -04:00
Roberto Rosario fe4ff2c035 Do not redefine imported slugify function 2011-04-23 22:47:49 -04:00
Roberto Rosario a7fb94e208 Updated TODO 2011-04-23 22:37:19 -04:00
Roberto Rosario 333c2d489d Avoid duplicates in recent document list 2011-04-23 22:27:24 -04:00
Roberto Rosario ba8e8b8c99 Added sample configuration files for supervisor and apache under contrib/ 2011-04-23 22:22:00 -04:00
Roberto Rosario 46ec25b139 Added initial support for converting office documents (only ods and docx tested) 2011-04-23 22:20:30 -04:00
Roberto Rosario 221049100c Improved document convertion API 2011-04-23 19:42:15 -04:00
Roberto Rosario 3de2969ec5 Improved unkwnown format detection in the graphicsmagick backend 2011-04-23 19:41:51 -04:00
Roberto Rosario 87c8b26270 Streamlined document preview serving 2011-04-23 19:41:15 -04:00
Roberto Rosario 5306a3e474 Added the OCR_QUEUE_PROCESSING_INTERVAL setting to the settings tab view 2011-04-23 05:53:36 -04:00
Roberto Rosario c18316d3bf Added detection and reset of orphaned ocr documents being left as 'processing' when celery dies 2011-04-23 05:40:24 -04:00
Roberto Rosario ebdcede59f Made the queue processing interval configurable by means of a new setting: OCR_QUEUE_PROCESSING_INTERVAL 2011-04-23 05:38:59 -04:00
Roberto Rosario ad9858bc17 Updated TODO 2011-04-23 05:37:01 -04:00
Roberto Rosario 75bed35d2c Fixed an error introduced in the last PEP8 cleanup 2011-04-23 05:36:17 -04:00
Roberto Rosario 2d24651189 Changed the ocr queue processing task from a Class to a function 2011-04-23 04:53:50 -04:00
Roberto Rosario 84ef3d5aca Added link to close all notifications with one click 2011-04-23 04:49:52 -04:00
Roberto Rosario 5d7587bb1a Improved visual appearance of messages by displaying them outside the main form 2011-04-23 03:23:01 -04:00
Roberto Rosario 70c3c5e948 Removed the obsolote DOCUMENTS_GROUP_MAX_RESULTS setting option 2011-04-23 02:53:13 -04:00
Roberto Rosario 2a744cefea PEP8, pylint cleanups and removal of relative imports 2011-04-23 02:49:07 -04:00
Roberto Rosario 4625e5d792 Made page image label translatable 2011-04-22 08:22:13 -04:00
Roberto Rosario c2d27a231e Reorganized page detail icons 2011-04-22 08:21:52 -04:00
Roberto Rosario 482178e2c8 Display the metadata group numeric total in the metadata group form title 2011-04-22 08:07:47 -04:00
Roberto Rosario 21e0922efc Reduced the document pages widget size 2011-04-22 08:07:18 -04:00
Roberto Rosario 7b091b9820 Reduced the metadata group widget height 2011-04-22 07:54:25 -04:00
Roberto Rosario d81e784167 Added support for metadata group actions 2011-04-22 07:36:35 -04:00
Roberto Rosario f3faf00315 Only add a prefix to the submit button if a form prefix has been specified 2011-04-22 07:35:30 -04:00
Roberto Rosario 024abf4efb Made metadata group generation a manager function of the MetadataGroup model 2011-04-22 06:15:18 -04:00
Roberto Rosario 5e08662965 Increased permissions app permission's label field size 2011-04-22 03:27:58 -04:00
Roberto Rosario ee0b393f00 Merged and reduced the document page zoom and rotation views 2011-04-22 02:56:15 -04:00
Roberto Rosario 7fcdfe5fab Inverted the rotation button, more intuitive this way 2011-04-22 02:55:32 -04:00
Roberto Rosario ec2b313755 Lower image convertion quality if the format is jpg 2011-04-22 02:32:41 -04:00
Roberto Rosario 6cdebb3910 Added the configuration option CONVERTER_GM_SETTINGS to pass GraphicsMagicks specific commands the the GM backend 2011-04-22 02:20:45 -04:00
Roberto Rosario e03cea8886 Updated the Changelog 2011-04-22 00:27:39 -04:00
Roberto Rosario 158061e61a Updated TODO 2011-04-22 00:19:06 -04:00
Roberto Rosario 5b4b281791 Added interactive document page view rotation support 2011-04-21 23:58:41 -04:00
Roberto Rosario 47a9f699fd Added DOCUMENTS_ZOOM_PERCENT_STEP, DOCUMENTS_ZOOM_MAX_LEVEL, DOCUMENTS_ZOOM_MIN_LEVEL configuration options to allow detailed zoom control 2011-04-21 23:27:05 -04:00
Roberto Rosario dc4075d97d Improved zoom detection from url hack 2011-04-21 23:18:57 -04:00
Roberto Rosario dc08f96414 Spanish translation updates 2011-04-21 04:36:40 -04:00
Roberto Rosario 059835b874 Fixed typo 2011-04-21 04:16:23 -04:00
Roberto Rosario f863e02ffb Hide links in search result view 2011-04-21 04:12:51 -04:00
Roberto Rosario 27d7aed25c Added interactive zoom support to document page detail view 2011-04-21 02:32:30 -04:00
Roberto Rosario 680c33227c Reorganized and trimmed document actions links 2011-04-21 01:04:48 -04:00
Roberto Rosario 8e68cb9caa Renamed document page preview string 2011-04-21 01:04:20 -04:00
Roberto Rosario 9940787632 Moved metadata representation string to model 2011-04-21 00:42:07 -04:00
Roberto Rosario c87d5652d9 Added first & last page navigation links to document page view 2011-04-21 00:36:19 -04:00
Roberto Rosario 6c6cf81792 Added grab-scroll to document page view 2011-04-20 23:38:47 -04:00
Roberto Rosario f4fa7e327d Separated document page detail view into document text and document image views 2011-04-20 22:38:26 -04:00
Roberto Rosario e09c524239 Added form header navigation support 2011-04-20 22:37:58 -04:00
Roberto Rosario 0e090798ba Added a direct rename field to the local update and staging upload forms 2011-04-20 05:00:10 -04:00
Roberto Rosario ea25872cbc Improved double submit prevention 2011-04-20 04:45:21 -04:00
Roberto Rosario d0c2e6fd56 Removed the obsolete DOCUMENTS_TRANFORMATION_PREVIEW_SIZE and DOCUMENTS_GROUP_SHOW_THUMBNAIL setting options 2011-04-20 02:52:11 -04:00
Roberto Rosario 2843e14dc3 Made the form display on the setup view display the function's docstring by default 2011-04-20 02:46:37 -04:00
Roberto Rosario e7c580f1a8 Changed the side bar document grouping with carousel style document grouping form widget 2011-04-20 02:45:51 -04:00
Roberto Rosario 01116bf92e Updated the page preview widget to display a infinite-style horizontal carousel of page previews 2011-04-19 23:06:58 -04:00
Roberto Rosario 5528312872 PEP8 and pylint cleanups 2011-04-19 20:30:18 -04:00
Roberto Rosario 4a0b9193c9 Show a blank result list when submit thing a blank query 2011-04-19 20:20:44 -04:00
Roberto Rosario f12ff22a84 Disabled submit buttons and any buttons when during a form submit 2011-04-19 20:20:09 -04:00
Roberto Rosario 2b81774bf9 Show multi document actions in the recent document list view too 2011-04-19 19:12:29 -04:00
Roberto Rosario 7f4be1bb0b Improved the checkboxes behaviour in generic list template 2011-04-19 19:07:47 -04:00
Roberto Rosario 8a28f87fe1 Removed old code 2011-04-19 00:15:24 -04:00
Roberto Rosario 842b975753 Added view to remove documents from folders 2011-04-19 00:15:08 -04:00
Roberto Rosario f4a719f314 Improved folder content view logic, added ownership checking 2011-04-18 17:06:43 -04:00
Roberto Rosario 2cf8b05bfa Added view to add a document to a folder directly from the document detail view 2011-04-18 04:31:44 -04:00
Roberto Rosario 5084f7c871 Added support for per-view side bar templates 2011-04-18 04:30:36 -04:00
Roberto Rosario 1d8531248a Initial set of changes to support user document folders 2011-04-18 03:26:20 -04:00
Roberto Rosario f05fa53b0b Removed old code from 'recent document' merge 2011-04-18 03:25:48 -04:00
Roberto Rosario 78ff5f8584 Added support for listing the most recent accessed documents per user 2011-04-17 05:12:12 -04:00
Roberto Rosario 83671eb75a Added document page navigation 2011-04-16 01:52:32 -04:00
Roberto Rosario 6143ffdb3a Moved path resolving code to navigation.utils 2011-04-16 01:52:04 -04:00
Roberto Rosario 103236a95f Improved messages for all view related to document pages and document page transformations 2011-04-16 01:06:53 -04:00
Roberto Rosario 3be5a6f759 Fixed navigation inside document page 2011-04-16 01:06:32 -04:00
Roberto Rosario eaaaa5b645 Added support for the command line program pdftotext from the poppler-utils packages to extract text from PDF documents without doing OCR 2011-04-15 23:59:52 -04:00
Roberto Rosario 73a52293e8 Order DocumentPage mode by page_number field 2011-04-15 04:24:23 -04:00
Roberto Rosario 7d3ebcf9ca Added a document page edit view 2011-04-15 00:37:36 -04:00
Roberto Rosario bce05d7d83 Added confirmation dialog to document's find missing document file diagnostic 2011-04-15 00:04:31 -04:00
Roberto Rosario e8b23b48a2 Fixed diagnostics url resolution 2011-04-15 00:04:06 -04:00
Roberto Rosario eb5e53f5f0 Made sure the side bar search form submit title doesn't change 2011-04-14 23:35:13 -04:00
Roberto Rosario facfc68fc6 Merged the 'new document page view' 2011-04-14 23:33:51 -04:00
Roberto Rosario 58e4e611e2 Implemented detail form readonly fields the correct way, this fixes copy & paste issues with Firefox 2011-04-14 23:05:57 -04:00
Roberto Rosario 6a83f36770 Replaced page break text with page number when displaying document content 2011-04-14 17:49:51 -04:00
Roberto Rosario af34a5ec5a Fixed document description editing 2011-04-14 15:38:33 -04:00
Roberto Rosario fd0781eb31 Added the SIDE_BAR_SEARCH setting option to the settings view 2011-04-14 15:35:15 -04:00
Roberto Rosario d54696c5bf Changed document_missing_list from url to view resolution 2011-04-13 11:48:35 -04:00
Roberto Rosario bff724176f Catch ZeroDivisionError exceptin in pretty_size function 2011-04-13 11:47:27 -04:00
Roberto Rosario 428433574a Made Grappelli display the project name in the admin site title 2011-04-13 03:30:07 -04:00
Roberto Rosario f87beff00e Fixed Non-ASCII character error in the English OCR cleanup backend 2011-04-13 03:26:55 -04:00
Roberto Rosario 6b5a17af39 Made English the default language for Tesseract if none is specified 2011-04-13 03:25:45 -04:00
Roberto Rosario b547291784 Don't complain if settings_local.py is not found 2011-04-13 03:23:31 -04:00
Roberto Rosario f783481dfb Updated Changelog 2011-04-13 03:17:52 -04:00
Roberto Rosario 82f514aa4f Updated TODO 2011-04-13 03:11:51 -04:00
Roberto Rosario 0b10b43959 Added view to add or remove user to a specific role 2011-04-13 02:56:19 -04:00
Roberto Rosario 14e4396dbd Updated the jQuery packages with the web_theme app to version 1.5.2 2011-04-12 22:43:05 -04:00
Roberto Rosario 9ffce6399e Used document MIME type when downloading otherwise use 'application/octet-stream' if none 2011-04-11 22:32:26 -04:00
Roberto Rosario c6b5f7351e If mime detection fails set mime type to '' instead of 'unknown' 2011-04-11 22:27:50 -04:00
Roberto Rosario 5ab9031101 Updated README 2011-04-11 22:27:29 -04:00
Roberto Rosario e8086904d5 Fixed document download in FireFox for documents containing spaces in the filename 2011-04-11 22:18:25 -04:00
Roberto Rosario 524115de64 PEP8 cleanups 2011-04-11 12:18:35 -04:00
Roberto Rosario 95f17a4307 Fixed typo 2011-04-11 12:05:49 -04:00
Roberto Rosario c3470f2d8b Missed two changes related to the last commit 2011-04-11 10:25:48 -04:00
Roberto Rosario d855280a18 Made AVAILABLE_INDEXING_FUNCTION setting a setting of the documents app instead of the filesystem_serving app 2011-04-11 10:19:10 -04:00
Roberto Rosario 40fd8c9398 Optimized document metadata query and display 2011-04-08 16:58:04 -04:00
Roberto Rosario 6b67cff5d7 Changed the way document page count is parsed from the graphics backend, fixing issue #7 2011-04-08 03:29:48 -04:00
Roberto Rosario 71a3c218f4 PEP8, pylint and django-lint cleanups 2011-04-08 02:09:39 -04:00
Roberto Rosario 1b6806f7d1 PEP8 cleanups 2011-04-08 01:31:39 -04:00
Roberto Rosario 61fb876a81 PEP8 and Pylint cleanups 2011-04-07 17:21:15 -04:00
Roberto Rosario d54fd98ec5 Finished adding language specific ocr cleanup code 2011-04-07 12:23:26 -04:00
Roberto Rosario d86c521858 Merge branch 'master' into ocr_cleanup 2011-04-07 11:28:27 -04:00
Roberto Rosario 72fffb99f2 Redirect user to the website entry point if already logged and lands in the login template 2011-04-07 11:27:16 -04:00
Roberto Rosario d1ff305a3f Initial commit for the ocr_cleanup branch 2011-04-07 04:07:59 -04:00
Roberto Rosario cea79ea240 When deleting staging file, it's cached preview is also deleted 2011-04-06 16:54:33 -04:00
Roberto Rosario b1062c4586 Moved staging file preview creation logic from documents.views to staging.py 2011-04-06 16:15:52 -04:00
Roberto Rosario d1eb09713d Fixed staging file filename regression 2011-04-06 15:51:33 -04:00
Roberto Rosario 5284f273d7 Updated staging files previews to use sendfile instead of serve_file 2011-04-06 15:23:17 -04:00
Roberto Rosario 7e36064909 Changed from using SimpleUploadedFile class to stream file to the simpler File class wrapper 2011-04-06 15:13:37 -04:00
Roberto Rosario 2ab38522fd PEP8 fixes 2011-04-06 15:04:29 -04:00
Roberto Rosario f66c8ec6e2 Fixed error and some warning returned by pylint 2011-04-05 00:04:11 -04:00
Roberto Rosario 283df926d1 Made automatic OCR a function of the OCR app and not of Documents app (via signals)
Renamed setup option DOCUMENT_AUTOMATIC_OCR to OCR_AUTOMATIC_OCR
2011-04-04 15:36:00 -04:00
Roberto Rosario 664ece7a60 Added a new setup option: FILESYSTEM_INDEXING_AVAILABLE_FUNCTIONS - a dictionary to allow users to add custom functions 2011-04-04 14:58:36 -04:00
Roberto Rosario fcc8b0cfe4 Updated TODO 2011-04-04 14:56:28 -04:00
Roberto Rosario 1d48325a92 Clear node name when requeueing a document for OCR 2011-04-04 09:24:25 -04:00
Roberto Rosario 1a3ead157e Updated ChangeLog 2011-04-01 02:58:35 -04:00
Roberto Rosario c2ba7eaf1d Spanish translation updates 2011-04-01 02:45:27 -04:00
Roberto Rosario b00335ec36 Spanish translation updates 2011-04-01 02:38:53 -04:00
Roberto Rosario 2cb6de79ea Added support for editing the metadata of multiple documents at the same time 2011-04-01 02:24:45 -04:00
Roberto Rosario ff9173ac29 Raise ImportError and notify user when specifying a non existant converter graphics backend 2011-03-31 23:57:24 -04:00
Roberto Rosario 18b9964786 Added Graphics magick support by means of user selectable graphic convertion backends 2011-03-31 12:23:58 -04:00
Roberto Rosario c1bb3a90bb Add a user to a default role only when the user is created 2011-03-29 11:17:04 -04:00
Roberto Rosario 043f8f3502 Fixed issue #4, avoid circular import in permissions/__init__.py 2011-03-29 11:04:30 -04:00
Roberto Rosario 7cac524dfb If only one document is deleted, return to document_list view 2011-03-28 23:05:20 -04:00
Roberto Rosario 38bd6276be Added total page count to statistics view 2011-03-28 13:16:17 -04:00
Roberto Rosario 604cd60255 Clear last ocr results when requeueing a document 2011-03-25 16:37:30 -04:00
Roberto Rosario a07b4d0fb3 Updated to the latest rosarior/django-sending repository changeset 2011-03-25 16:24:45 -04:00
Roberto Rosario 1c00514fa3 Added default django-sendfile backend setting 2011-03-25 16:24:00 -04:00
Roberto Rosario daa22f1f36 Added support to disable the default scrolling JS code included in web_theme app 2011-03-25 16:22:09 -04:00
Roberto Rosario d9e1043ca3 Added django-sendfile to CREDITS 2011-03-25 16:20:12 -04:00
Roberto Rosario eefdfbfa38 Added a FAQ entry explaining how to enable x-sendfile support for apache 2011-03-24 16:44:59 -04:00
Roberto Rosario 3ecbd0bb74 Updated the get_document_image view to use the new sendfile app 2011-03-24 16:42:48 -04:00
Roberto Rosario 278d8bcf10 Added 3rd party sendfile app 2011-03-24 16:40:12 -04:00
Roberto Rosario 8f82c82825 Added small optimizations 2011-03-24 14:19:17 -04:00
Roberto Rosario 69f2cb1fa4 Removed the 'exists' column in document list view, this diagnostics superceded this 2011-03-24 13:19:16 -04:00
Roberto Rosario f417344758 Introduce a random delay to each node to further reduce the chance of a race condition, until row locking can be implemented or is implemented by Django 2011-03-23 17:03:00 -04:00
Roberto Rosario f97c43b243 Updated TODO 2011-03-23 16:46:38 -04:00
Roberto Rosario 9765a7f607 Added an additional check to lower the chance of OCR race conditions between nodes 2011-03-23 16:45:49 -04:00
Roberto Rosario 1e66c77cf6 Invalid page numbers now raise Http404, not found 2011-03-23 16:23:00 -04:00
Roberto Rosario a3fbe7f896 Allow OCR requeue of pending documents 2011-03-23 15:45:50 -04:00
Roberto Rosario 0f1526f3d8 Allow deletion of non existing documents from OCR queue 2011-03-23 09:51:54 -04:00
Roberto Rosario e11a92888c Removed custom IE9 html tag 2011-03-23 05:32:56 -04:00
Roberto Rosario 1ff7c60ecd Fixed the issue of the strip spaces middleware with downloads 2011-03-23 05:30:37 -04:00
Roberto Rosario bc181c703d Updated Changelog 2011-03-22 04:27:33 -04:00
Roberto Rosario 4589cd4506 Updated TODO 2011-03-22 04:27:22 -04:00
Roberto Rosario 3cb0f37b5b Made the concurrent ocr code more granular, per node, every node can handle different amounts of concurrent ocr tasks 2011-03-22 04:17:48 -04:00
Roberto Rosario d0942a203b Reimplemented OCR delay code, only delay new document 2011-03-22 03:46:34 -04:00
Roberto Rosario f9ab61647e Reduced default delay time 2011-03-22 03:43:18 -04:00
Roberto Rosario 800dc28938 Small optimization 2011-03-22 03:42:21 -04:00
Roberto Rosario 8f6fac0bae Removed old disabled code 2011-03-22 03:38:58 -04:00
Roberto Rosario ecaa2a1114 Updated Changelog 2011-03-22 01:00:23 -04:00
Roberto Rosario abe64ff102 Updated TODO 2011-03-22 00:59:15 -04:00
Roberto Rosario 70e5e4c470 Moved navigation code to its own app 2011-03-22 00:54:43 -04:00
Roberto Rosario 75dc4c84b3 Removed old code 2011-03-21 18:49:34 -04:00
Roberto Rosario 545adac2e5 Removed debug code 2011-03-21 18:48:51 -04:00
Roberto Rosario 75324ce581 Disabled single OCR document action as multple actions are now enabled by default 2011-03-21 16:32:01 -04:00
Roberto Rosario 5d9302e583 Added multi ocr queued document delete support 2011-03-21 16:29:04 -04:00
Roberto Rosario bef40d958e Added OCR multi document re-queue support 2011-03-21 16:19:19 -04:00
Roberto Rosario bbcc0ead65 * Added a new option OCR_REPLICATION_DELAY to allow the storage some time for replication before attempting to do OCR to a document 2011-03-21 12:24:42 -04:00
Roberto Rosario ed772c6ebb Updated Changelog 2011-03-21 01:01:54 -04:00
Roberto Rosario 447b2f2817 Added a new diagnostics tab under the tools menu 2011-03-21 01:00:56 -04:00
Roberto Rosario 1271037974 Changed document statistic to fetch the id field and not the non existant pk field 2011-03-21 00:59:47 -04:00
Roberto Rosario 0021ec7117 Removed unneeded {% load %} 2011-03-21 00:58:49 -04:00
Roberto Rosario 31d1641fa4 Added simple statistics page (total used storage, total docs, etc) 2011-03-20 04:35:21 -04:00
Roberto Rosario 99ae77f573 Updated Changelog 2011-03-19 03:45:21 -04:00
Roberto Rosario c1edf145c3 Updated TODO 2011-03-19 03:40:59 -04:00
Roberto Rosario e49b47bbec Changed message logic so that a message is displayed per document and not per document group 2011-03-19 03:39:11 -04:00
Roberto Rosario a1aa42c796 Forgot to add the multi_select_as_buttons context variable 2011-03-19 03:38:45 -04:00
Roberto Rosario 13400c5e58 Implemented button based multi item actions 2011-03-18 17:13:29 -04:00
Roberto Rosario 6a9db45cf1 Added multi document delete 2011-03-18 15:01:02 -04:00
Roberto Rosario af7ae23eed Used new variable form_hide_required_text to hide multi item action form's "(required)" text 2011-03-18 14:18:48 -04:00
Roberto Rosario 6f90cee824 Added new context variable form_hide_required_text for hide the word "(required)" from selected forms 2011-03-18 14:15:13 -04:00
Roberto Rosario b4a475cac2 Changed <div> tags to <span> for correctness 2011-03-18 13:56:42 -04:00
Roberto Rosario 001491f93b Final changes to implement multi document actions 2011-03-18 13:22:54 -04:00
Roberto Rosario 102026a169 Merge branch 'master' into multi 2011-03-18 10:22:41 -04:00
Roberto Rosario 12eea963c2 Try to get IE9 NOT to use compatibility mode 2011-03-16 17:25:32 -04:00
Roberto Rosario fe2c031dfb Added missing alt attribute 2011-03-16 17:04:18 -04:00
Roberto Rosario f039f1b842 Removed unneeded HTML class and style 2011-03-16 17:01:37 -04:00
Roberto Rosario 4f8c34dd2d Put span inside <td> tag instead the other way around 2011-03-16 16:45:03 -04:00
Roberto Rosario 066973bd38 Added initial installation documentation 2011-03-16 16:38:27 -04:00
Roberto Rosario 33089ccd08 Don't display an error for the thumbnail of non existant documents 2011-03-16 16:37:30 -04:00
Roberto Rosario 384bdf1af6 Added HTML validation fixes 2011-03-16 16:36:41 -04:00
Roberto Rosario 7a4c11ca32 Removed Issues file as issues are being logged with github 2011-03-16 16:15:34 -04:00
Roberto Rosario f648aa21a1 Merge remote branch 'origin/master' into multi 2011-03-16 08:16:22 -04:00
Roberto Rosario 045e633c0d Updated TODO 2011-03-16 06:20:29 -04:00
Roberto Rosario fdf3e2702a Cleanup search code 2011-03-16 05:30:34 -04:00
Roberto Rosario fe9c7884ea Simplyfied logic 2011-03-16 05:23:43 -04:00
Roberto Rosario 1cf8adb395 Fixed repeated field name 2011-03-16 05:23:05 -04:00
Roberto Rosario f78cbddb87 Merge branch 'master' into multi
Conflicts:
	docs/TODO
2011-03-16 04:59:31 -04:00
Roberto Rosario c9d82da28a Added indexing flags to ocr model 2011-03-16 04:57:59 -04:00
Roberto Rosario fda62e2b86 Small optimization in document list view 2011-03-16 04:57:27 -04:00
Roberto Rosario 23635ccf9d Added models fields indexing flags 2011-03-16 04:52:28 -04:00
Roberto Rosario 3bbcb9f471 Fixed list concatenation 2011-03-16 04:51:51 -04:00
Roberto Rosario bc6bff206e Updated FAQ with database index information 2011-03-16 04:51:15 -04:00
Roberto Rosario adeebfda45 Updated TODO 2011-03-16 04:51:01 -04:00
Roberto Rosario d568719c18 Get attributes for object or parent of object 2011-03-16 04:50:36 -04:00
Roberto Rosario 85b0efcc54 Small search optimization 2011-03-16 03:47:04 -04:00
Roberto Rosario 90606086cc Updated TODO 2011-03-16 02:35:08 -04:00
Roberto Rosario afde18f500 Merge remote branch 'origin/multi' into multi 2011-03-16 02:02:52 -04:00
Roberto Rosario a929a58bd8 Updated TODO 2011-03-16 02:02:16 -04:00
Roberto Rosario d80ec935da Added multi item action subform for generic list subtemplate and related code 2011-03-15 17:34:47 -04:00
Roberto Rosario 709f2a14e3 Display sane message when settings_local is not found 2011-03-15 03:01:35 -04:00
Roberto Rosario 4d6f6b7f69 Updated TODO 2011-03-14 17:05:13 -04:00
Roberto Rosario c08270755e Initial changes to support multi row actions 2011-03-14 17:04:49 -04:00
Roberto Rosario 006f4d41b1 Display "DEBUG mode" string in title if DEBUG variable is set to True 2011-03-14 12:28:13 -04:00
Roberto Rosario 9f69534496 Added the fix-permissions bash script 2011-03-14 10:07:48 -04:00
Roberto Rosario cdff873400 Updated Changelog 2011-03-12 05:06:25 -04:00
Roberto Rosario f1c1746a25 Plugged another file descriptor leak 2011-03-12 05:04:45 -04:00
Roberto Rosario cfae83a88c Updated TODO 2011-03-12 04:23:36 -04:00
Roberto Rosario e69d9c0928 Added comment 2011-03-12 04:23:04 -04:00
Roberto Rosario 5e960d03db Show class name in config settings view 2011-03-12 04:21:12 -04:00
Roberto Rosario ccf33b5eaa Added missing config option from the setup menu 2011-03-12 04:20:47 -04:00
Roberto Rosario 5ced11a5fb Removed debug code 2011-03-12 04:03:29 -04:00
Roberto Rosario 9569992caf Removed debug code 2011-03-12 04:03:11 -04:00
Roberto Rosario db95f06283 Close file descriptor to avoid leaks 2011-03-12 04:02:41 -04:00
Roberto Rosario 8405c9408d Updated Changelog 2011-03-11 15:22:30 -04:00
Roberto Rosario 9b22a349d7 Show document file path in storage 2011-03-11 15:21:44 -04:00
Roberto Rosario 242c39690f Spanish translation updates 2011-03-11 14:36:14 -04:00
Roberto Rosario 8c5ed4a41a Use document preview code for staging file also and error picture literal name removal 2011-03-11 10:16:48 -04:00
Roberto Rosario 9bff8de365 Created 'simple document' for non technical users with all of a document pages content 2011-03-11 03:27:55 -04:00
Roberto Rosario b303df58e4 Disabled the strip_spaces_widdleware as it was causing problems with the document downloads 2011-03-11 03:24:41 -04:00
Roberto Rosario bc3d246f34 Fixed page number detection 2011-03-11 02:59:58 -04:00
Roberto Rosario 1fa8094444 Dont't raise PermissionDenied exception, even while debugging 2011-03-11 02:59:23 -04:00
Roberto Rosario 9de9b05020 Disable role_list view links from the setup menu until issue #4 is fixed 2011-03-11 01:02:13 -04:00
Roberto Rosario 0a91b7ff7d Don't allow duplicate documents in queues 2011-03-11 01:01:56 -04:00
Roberto Rosario 6bef320142 Added new setting: side bar search box 2011-03-10 01:54:31 -04:00
Roberto Rosario ed5578832f Added new transformation preview size setting 2011-03-10 00:24:18 -04:00
Roberto Rosario d3dce59c91 Updated TODO 2011-03-10 00:24:02 -04:00
Roberto Rosario bc4188f1c2 Updated issues 2011-03-10 00:23:51 -04:00
Roberto Rosario 67c8f26d7f Renamed document queue state links 2011-03-10 00:02:04 -04:00
Roberto Rosario cc6e8220c0 Changed ocr status display sidebar from from based to text based 2011-03-10 00:01:30 -04:00
Roberto Rosario a8e11bdc1c Updated Changelog 2011-03-09 23:13:58 -04:00
Roberto Rosario 447a1994ae Added Issues files 2011-03-09 23:13:42 -04:00
Roberto Rosario 3d2a7d5e34 Try extra hard not to assign same uuid to two documents 2011-03-09 22:57:47 -04:00
Roberto Rosario 9bd22f65d1 Do not reinitialize document queue and/or queued document on reentry 2011-03-09 22:50:20 -04:00
Roberto Rosario 9bcd2d33ed Added debuging loging 2011-03-09 22:50:03 -04:00
Roberto Rosario 73e9eb2d42 Evaluation error don't raise exception anymore and are only show to administrative users 2011-03-09 16:31:42 -04:00
Roberto Rosario 170313ea6f Show sentry login for admin users 2011-03-09 15:32:33 -04:00
Roberto Rosario fa073237b2 Show current metadata in document upload view 2011-03-09 15:27:08 -04:00
Roberto Rosario 1148cae5e5 Added geany project file to .gitignore 2011-03-09 14:11:23 -04:00
Roberto Rosario 3a82dbfecb Add content type to avoid strip space middleware conflict 2011-03-09 13:54:34 -04:00
Roberto Rosario 7be725e87a Show error message also if user is superuser 2011-03-09 13:53:41 -04:00
Roberto Rosario f1771158d6 Fixed OCR queue list showing wrong thumbnail 2011-03-09 12:59:16 -04:00
Roberto Rosario 39376269e8 Updated TODO 2011-03-09 12:54:06 -04:00
Roberto Rosario e929d78c0f Remove typo 2011-03-09 12:53:20 -04:00
Roberto Rosario 3cc3e117a3 Moved search code outside of view, correctly calculate show result for multi model searches 2011-03-09 12:07:57 -04:00
Roberto Rosario 0e6e9a4d6c Replaced double quotes with single quotes 2011-03-09 12:07:08 -04:00
Roberto Rosario 9caa7c80e3 DEVEL: Separated search code from view 2011-03-09 10:38:00 -04:00
Roberto Rosario 3341f15779 Initial set for new full string search and dynamic comparison 2011-03-09 10:14:24 -04:00
Roberto Rosario 54bb790e8a Updated changelog 2011-03-09 01:23:44 -04:00
Roberto Rosario 739c2ee299 Converted modules to use the new simpler permission checking 2011-03-09 01:20:07 -04:00
Roberto Rosario 3083f7344d Call PermissioDenied exception instead of custom exception 2011-03-09 01:19:38 -04:00
Roberto Rosario 322c1a40d2 Added new permission denied middleware 2011-03-09 01:19:16 -04:00
Roberto Rosario a3d06f1a32 Fixed model.objects.filter indentation, improved result count calculation 2011-03-09 01:17:51 -04:00
Roberto Rosario 2edd4e055e Updated TODO 2011-03-08 23:36:40 -04:00
Roberto Rosario df2e68cbb1 Removed remaining files 2011-03-08 23:36:10 -04:00
Roberto Rosario baafb6f86b Moved login required middleware to common apps 2011-03-08 23:35:44 -04:00
Roberto Rosario 647874d83b Updated changelog 2011-03-08 03:40:27 -04:00
Roberto Rosario 5a57a58913 Allow search across related fields, optimzed for speed and memory, added LIMIT setting, search elapsed time 2011-03-08 03:35:43 -04:00
Roberto Rosario a116f1807c Added document action to clear all the document's page transformations 2011-03-08 02:15:19 -04:00
Roberto Rosario 17c225601d Added pyramid art to about page 2011-03-08 02:00:11 -04:00
Roberto Rosario 2eafc75d29 Revert ocr issue test 2011-03-08 01:05:32 -04:00
Roberto Rosario 5627d11871 Updated Changelog 2011-03-07 23:54:20 -04:00
Roberto Rosario dfe06c9cad Updated TODO 2011-03-07 23:54:10 -04:00
Roberto Rosario 13c4d1e751 Added configurable location setting for file based storage 2011-03-07 23:46:09 -04:00
Roberto Rosario 3774a2cb5a prepend storage name to differentiate config options 2011-03-07 23:43:07 -04:00
Roberto Rosario 6293a35926 Updated TODO 2011-03-07 23:41:04 -04:00
Roberto Rosario b0700c5729 Try to fix issue #2 2011-03-07 23:40:49 -04:00
Roberto Rosario bc4c3b6c75 Remove unused function 2011-03-07 23:40:35 -04:00
Roberto Rosario 3ccb01254d Improved exception handling of external programs 2011-03-07 23:24:46 -04:00
Roberto Rosario e4912a8d4d Close file descriptors to prevent memory leaks 2011-03-07 23:22:53 -04:00
Roberto Rosario 41161b2ad7 Converter now differentiates between unknown file format and convert errors 2011-03-07 23:00:27 -04:00
Roberto Rosario 4691a487ff Updated TODO 2011-03-07 22:57:10 -04:00
Roberto Rosario efdd180483 Show document thumbnail in document ocr queue list 2011-03-07 19:24:27 -04:00
Roberto Rosario 86ed128dbe Make ocr document date submitted column non breakable 2011-03-07 19:22:00 -04:00
Roberto Rosario af9b21c1d0 Added generic list template column option to make data non-breakable 2011-03-07 19:21:02 -04:00
Roberto Rosario bcbf0785be Updated TODO 2011-03-07 18:26:52 -04:00
Roberto Rosario 118e3d2e4a Merge remote branch 'origin/master' 2011-03-07 18:20:37 -04:00
Roberto Rosario 9c4d9d9211 Mark manage.py, runserver.py and runserver_plus.py as executables 2011-03-07 13:06:47 -04:00
Roberto Rosario 5563e74e77 Fix permissions once more, directories to 755 and files to 644 2011-03-07 12:27:58 -04:00
Roberto Rosario 6a9e114acb Set all *.py files permissions to 644 2011-03-07 12:15:25 -04:00
Roberto Rosario 214a985fd9 Enabled Django's template caching 2011-03-06 02:47:04 -04:00
Roberto Rosario 3f18659f83 Enabled spaceless middleware 2011-03-06 02:40:49 -04:00
Roberto Rosario 7eee9c44f4 * Added document queue property side bar window to the document queue list view 2011-03-06 02:35:42 -04:00
Roberto Rosario 049d91c2ed Added html comments to help html debugging 2011-03-06 02:26:33 -04:00
Roberto Rosario f46dab69d2 Fix html indentation 2011-03-06 02:25:41 -04:00
Roberto Rosario 4f2cbb78d1 Updated TODO 2011-03-06 02:25:00 -04:00
Roberto Rosario 31a3d7e6f0 DetailSelectMultiple widget css class can now be changed 2011-03-06 02:24:28 -04:00
Roberto Rosario 6ad14fb793 Added content_type to document image file serving 2011-03-06 02:23:25 -04:00
Roberto Rosario e1bff0c25a Added middleware to strip html spaces 2011-03-06 02:22:38 -04:00
Roberto Rosario 769690da98 Updated Changelog and inverted order (recent first) 2011-03-06 00:58:52 -04:00
Roberto Rosario d05295bf54 Added links, views and permissions to disable or enable an OCR queue 2011-03-06 00:47:16 -04:00
Roberto Rosario 500da941a2 Spanish translation updates 2011-03-05 20:58:51 -04:00
Roberto Rosario 465ac5a7c8 Updated TODO 2011-03-05 20:58:39 -04:00
Roberto Rosario 6a49ae49d7 Only show language selection list if localemiddleware is active 2011-03-05 20:57:20 -04:00
Roberto Rosario 9f3e595eee Added locale middleware, menu bar language switching works now 2011-03-05 20:31:30 -04:00
Roberto Rosario 819eacd263 Spanish translation update 2011-03-05 20:28:58 -04:00
Roberto Rosario f337cfb425 Optimized document duplicate search 2011-03-05 20:14:48 -04:00
Roberto Rosario f8ea2cb650 Fixed duplicated document search 2011-03-05 20:07:48 -04:00
Roberto Rosario 661d38aa41 Spanish translation updates 2011-03-05 19:52:50 -04:00
Roberto Rosario 87803bac6f Updated TODO 2011-03-05 19:04:04 -04:00
Roberto Rosario 11c5452100 Updated screenshot 2011-03-05 15:36:18 -04:00
Roberto Rosario 6d43cfbcb5 Updated TODO file 2011-03-05 02:34:41 -04:00
Roberto Rosario f2c9c90b55 Started adding configurations setting descriptions 2011-03-05 02:34:34 -04:00
Roberto Rosario 0442eafb0c Added a setting to show document thumbnail in metadata group list 2011-03-05 02:01:31 -04:00
Roberto Rosario c31898b995 If current user is superuser or staff show extra error messages 2011-03-05 01:22:18 -04:00
Roberto Rosario db6260ec35 Updated README 2011-03-04 06:21:47 -04:00
Roberto Rosario a7eee1b192 Implement GridFS storage user settings 2011-03-04 06:16:00 -04:00
Roberto Rosario 30c6292630 Implemented the size method in GridFS storage, updated docs 2011-03-04 02:49:23 -04:00
Roberto Rosario 9674d4d3ee Fixed Gridfs deletes, added dummy size method that return 0 always, updated docs 2011-03-04 02:12:15 -04:00
Roberto Rosario d0bea8ffeb Initial version of the GridFS storage driver 2011-03-04 01:08:20 -04:00
Roberto Rosario 3f71ee1a06 Show current page and total pages for generic lists sub template 2011-03-03 21:57:41 -04:00
Roberto Rosario 3c54afcdac Show famfamfam ticks or crosses for existing or missing paths or executables in settings details view 2011-03-03 21:55:28 -04:00
Roberto Rosario d73f4d881e Remove obsolete DOCUMENTS_STORAGE_DIRECTORY_NAME setting from settings details view 2011-03-03 21:33:59 -04:00
Roberto Rosario c58168516a Finally abstract storage to its own app 2011-03-03 21:27:16 -04:00
Roberto Rosario fc87e3a097 Further decouple document file storage from file based storage 2011-03-03 21:16:39 -04:00
Roberto Rosario a61dbcb7ca Fixed logic to apply default transformations only if none are present 2011-03-03 12:42:36 -04:00
Roberto Rosario 02eba1ab4a Improve storage file handling 2011-03-03 12:14:20 -04:00
Roberto Rosario 60fb0628e0 Note to self: Don't try to fix error in a rush. Really fix 'document fs delete links' 2011-03-03 10:37:52 -04:00
Roberto Rosario 38cb463b7d Fixed forgotten method name change after last filesystem serving app merge 2011-03-03 10:24:20 -04:00
Roberto Rosario 470ff68332 Don't separate links (encose object list links with white-space: nowrap;) 2011-03-03 00:39:08 -04:00
Roberto Rosario ff573b2b2a Updated TODO 2011-03-03 00:38:55 -04:00
Roberto Rosario d46aeedaea Added link to manually re queue failed OCR 2011-03-03 00:36:30 -04:00
Roberto Rosario 18493e036e Add link to document object in OCR queue list 2011-03-02 22:27:57 -04:00
Roberto Rosario c8df76f490 Make nofitication messages fade in, and added a link to dismiss/close them more easily 2011-03-01 03:03:39 -04:00
Roberto Rosario d75396e0c2 Catch missing documents from the ocr queue list and display a message accordingly. 2011-03-01 02:25:21 -04:00
Roberto Rosario 6d2ddb4e48 Order metadata group documents by filename 2011-03-01 01:21:19 -04:00
Roberto Rosario a13fc23091 Updated README 2011-02-27 16:44:25 -04:00
Roberto Rosario c9fd8b106d Updated TODO 2011-02-27 16:44:15 -04:00
Roberto Rosario e1ea11b4a6 Merge remote branch 'origin/master' 2011-02-27 16:16:59 -04:00
Roberto Rosario 2dce544518 Updated TODO 2011-02-26 19:17:49 -04:00
Roberto Rosario 79f6897d8a Extracted document filesystem serving into a separate app, see docs/Changelog.txt to update database accordingly 2011-02-26 12:50:16 -04:00
Roberto Rosario ff77b622a9 Moved document save logic to the document Model 2011-02-26 11:15:57 -04:00
Roberto Rosario 6e4980ad80 Sort OCR queued documents according to submitted date time 2011-02-26 10:00:43 -04:00
Roberto Rosario f3c6cd5494 Added document description to the field search list 2011-02-26 10:00:12 -04:00
Roberto Rosario 2d9eb0a57a Got rid of the distinct() statement, was causing trouble on search with many related models 2011-02-24 11:21:20 -04:00
Roberto Rosario dbddd0f189 Updated TODO 2011-02-22 12:16:47 -04:00
Roberto Rosario fd5381d12b Catch invalid search fields 2011-02-22 12:16:29 -04:00
Roberto Rosario 631c82143c Updated Changelog 2011-02-21 23:51:00 -04:00
Roberto Rosario d793aa667d Updated changelog 2011-02-21 23:47:33 -04:00
Roberto Rosario a9bfe7f088 Added document tool that deletes and re-creates all documents filesystem links 2011-02-21 23:46:25 -04:00
Roberto Rosario 7365113d92 Updated FAQ 2011-02-21 20:26:05 -04:00
Roberto Rosario 5f53970bc9 Updated Changelog 2011-02-21 19:39:55 -04:00
Roberto Rosario 268b4cbb69 Updated TODO 2011-02-21 19:39:32 -04:00
Roberto Rosario 5b4f2ecb57 Final changes to support duplicate document search 2011-02-21 19:32:03 -04:00
Roberto Rosario 5209847ab5 Added a simple generic template to display text on screen 2011-02-21 19:30:43 -04:00
Roberto Rosario f24410b9cb Added missing translation tag 2011-02-21 19:17:23 -04:00
Roberto Rosario c10845ab9c Initial duplicate finder commit 2011-02-20 18:25:11 -04:00
Roberto Rosario 8cc6731d67 Updated settings view, adding missing ones and removing an unused one 2011-02-19 04:39:06 -04:00
Roberto Rosario b7b95547f1 Added favicon credits 2011-02-19 04:29:29 -04:00
Roberto Rosario ed3b9d3453 Added zip file 'uncompress on upload' support 2011-02-19 04:28:40 -04:00
Roberto Rosario b529288750 Fixed role_create link testing for the wrong namespace 2011-02-19 02:33:24 -04:00
Roberto Rosario 22f3c1f255 Fixed role_delete view checking for the wrong namespace 2011-02-19 02:31:06 -04:00
Roberto Rosario c5af3bb6cb Added favicon 2011-02-19 02:29:51 -04:00
Roberto Rosario 81c6b650c8 Added django-sentry to monitor errors and store 2011-02-19 02:20:54 -04:00
Roberto Rosario 417a41bed0 Added celerybeat-schedule and document_storage to .gitignore 2011-02-19 00:40:49 -04:00
Roberto Rosario d3d8c6d966 add ENABLE_SINGLE_DOCUMENT_UPLOAD config setting to settings view 2011-02-19 00:39:14 -04:00
Roberto Rosario ee7e9f34a2 Single document upload can now be enabled or disable to allow users to work faster (1 less click) 2011-02-18 23:35:18 -04:00
Roberto Rosario 875c772e5a Add cancel button to document page transformation delete confirmation 2011-02-18 23:16:59 -04:00
Roberto Rosario 17f75ef5a2 Fixed wrong document variable name 2011-02-18 23:15:09 -04:00
Roberto Rosario 857c28315c Updated TODO 2011-02-18 00:59:33 -04:00
Roberto Rosario 84a5919e96 Updated README 2011-02-18 00:43:31 -04:00
Roberto Rosario 51af1bf796 Improved document page detail view & links 2011-02-18 00:40:47 -04:00
Roberto Rosario 0cc457aacc Added new permission 'Delete document for OCR queue' 2011-02-17 23:46:50 -04:00
Roberto Rosario 9dc101fb0c Changed 'submit to ocr' links icon 2011-02-17 23:44:04 -04:00
Roberto Rosario e012c4c592 Added link to remove document from the OCR queue 2011-02-17 23:42:12 -04:00
Roberto Rosario e3df02185f Show tesseract language setting under setup menu 2011-02-17 23:41:48 -04:00
Roberto Rosario 0debbccd75 Added FAQ file 2011-02-17 23:33:58 -04:00
Roberto Rosario c18cb099c6 Improved tesseract execution handling 2011-02-17 23:31:54 -04:00
Roberto Rosario 5e5fee7330 Added missing queue document state import 2011-02-17 23:31:08 -04:00
Roberto Rosario 13a34338a3 Fixed typo error on document queue admin view 2011-02-17 23:30:15 -04:00
Roberto Rosario 0524e5abc2 Show error column in document ocr queue list 2011-02-17 23:28:10 -04:00
Roberto Rosario 595d7227a2 Added navigation link from document page view and document page transformation back to document view 2011-02-17 23:27:25 -04:00
Roberto Rosario 8a8a42ee19 Updated Spanish translations 2011-02-17 05:00:35 -04:00
Roberto Rosario 77b8a432a2 Added distributed OCR queue support 2011-02-17 04:37:35 -04:00
Roberto Rosario 478fb3502e Changed from python's multiprocessing to celery to handle concurrency 2011-02-17 03:45:30 -04:00
Roberto Rosario 409a52af95 First commit to support ocr subprocess 2011-02-17 01:57:14 -04:00
Roberto Rosario 94fb748020 Try to catch execution execptions 2011-02-16 20:54:43 -04:00
Roberto Rosario dfd101c33b Cleanup file after ocr 2011-02-16 20:54:11 -04:00
Roberto Rosario b1e2f64617 Apply transformation before doing OCR, added unpaper to the OCR pre processing pipe 2011-02-16 03:32:21 -04:00
Roberto Rosario 15afaadc4c Added preliminary views to add/remove document page transformations 2011-02-16 03:31:46 -04:00
Roberto Rosario f974950147 Force fancybox previous and next page button to 'always on' 2011-02-16 00:04:59 -04:00
Roberto Rosario 064d67746b Delete document metadata if left blank on dataentry 2011-02-15 22:00:49 -04:00
Roberto Rosario 95359091e9 If metadata field not required insert a blank placeholder to lookup field 2011-02-15 21:58:44 -04:00
Roberto Rosario ac81a5a2f5 Added 'No' button to document delete confirmation 2011-02-15 20:58:24 -04:00
Roberto Rosario 06d150b8e5 Reformed generic_confirm template better integrate appearance 2011-02-15 20:55:28 -04:00
Roberto Rosario 1b494b4200 Make default transformation application a method of Document, and execute on both upload methods 2011-02-15 20:44:19 -04:00
Roberto Rosario b217470283 Identify current document in a metadata group list 2011-02-15 20:32:34 -04:00
Roberto Rosario 9b0cecb4e0 Don't exclude current document from metadatagroup list, confuses users 2011-02-15 20:32:07 -04:00
Roberto Rosario fd101a4766 Exclude empty metadata from metadata group calculation 2011-02-15 20:25:51 -04:00
Roberto Rosario 35f2b1076e Make menu items clearer for users 2011-02-15 20:04:03 -04:00
Roberto Rosario 0eb9774618 Fixed regression caused by c8d5e26b4c 2011-02-15 19:56:03 -04:00
Roberto Rosario a154e762b4 Make staging file preview non scaling 2011-02-15 15:48:48 -04:00
Roberto Rosario c87b9932c6 Apply default transformations to staging previews 2011-02-15 15:48:31 -04:00
Roberto Rosario c8d5e26b4c Fix error accidental delete of staging file on preview 2011-02-15 15:27:34 -04:00
Roberto Rosario 52c2f7c1d4 Changed document menu layout 2011-02-15 12:06:05 -04:00
Roberto Rosario 081767df3e Updated Changelog 2011-02-15 02:06:24 -04:00
Roberto Rosario a2e6f223f4 Added role editing, creating and permission granting/revoking views 2011-02-15 01:43:25 -04:00
Roberto Rosario 93f74df2df Initial commit of permissions views 2011-02-14 20:48:53 -04:00
Roberto Rosario f66cb4392a Deleted line accidentally 2011-02-14 14:39:31 -04:00
Roberto Rosario 8d07419d01 Reverted unicode changes, made things worse 2011-02-14 14:32:59 -04:00
Roberto Rosario 64dce7ea3f Added missing closing parenthesis 2011-02-14 13:42:57 -04:00
Roberto Rosario e7600fa876 Handle unicode url data from the metadata 2011-02-14 13:41:15 -04:00
Roberto Rosario b2565b8223 Return 1 as page number is the file format is unknown 2011-02-14 13:40:48 -04:00
Roberto Rosario c0a00848c6 Spanish translation update 2011-02-14 02:28:48 -04:00
Roberto Rosario 72eb897e4d Change format as per ugettext request 2011-02-14 02:28:08 -04:00
Roberto Rosario fbc8bc960a Decoupled page transformation interface, added default transformation support 2011-02-14 02:11:39 -04:00
Roberto Rosario 06d7e5a46a Added multipage document support and document page transformation 2011-02-14 00:18:16 -04:00
Roberto Rosario 65d1e5b176 Initial updates to support document tranformations 2011-02-13 17:01:51 -04:00
Roberto Rosario 344a613514 Final changes to support permissions and roles 2011-02-13 04:33:40 -04:00
Roberto Rosario a47ff7c4b4 Initial updates to support permissions 2011-02-12 05:45:34 -04:00
Roberto Rosario 0ece9d1970 Fixed OCR error reporting 2011-02-12 04:45:18 -04:00
Roberto Rosario 1786764e5f New abstracted options to adjust document conversion quality (default, low, high) 2011-02-12 04:12:39 -04:00
Roberto Rosario f3fab1b7d9 Finished adding metadata based groups 2011-02-12 01:57:24 -04:00
Roberto Rosario c83c2e0d46 First commit to add metadata groups 2011-02-11 23:08:00 -04:00
Roberto Rosario 369f89f8a6 Silence development messages 2011-02-11 20:22:05 -04:00
Roberto Rosario 1c41b6e05c Added link to delete a staging file 2011-02-11 20:18:41 -04:00
Roberto Rosario c716f468d3 Disabled unoconv 2011-02-11 11:13:18 -04:00
Roberto Rosario bca50a33bd Initial set of changes to support openoffice 2011-02-11 10:34:08 -04:00
Roberto Rosario c9b66cd46b Changed to a liquid css grid 2011-02-10 23:33:28 -04:00
Roberto Rosario 2aefe3d028 Moved 3 functions from views.py to utils.py 2011-02-10 23:16:19 -04:00
Roberto Rosario 651d5d0ce2 moved the document detail link to be next to the document edit link 2011-02-10 23:05:52 -04:00
Roberto Rosario b3c4144f5a The default for 'upload using same metadata' is to only create one document 2011-02-10 23:05:03 -04:00
Roberto Rosario d4f685cd17 Skip step 1 of create document wizard if only one document type exists 2011-02-10 23:04:33 -04:00
Roberto Rosario 8df0747ec2 Updated TODO 2011-02-10 21:24:25 -04:00
Roberto Rosario 58d6ef7933 Hide header in search results view 2011-02-10 21:24:09 -04:00
Roberto Rosario 492a346560 Updated Changelog 2011-02-10 21:17:42 -04:00
Roberto Rosario 0a91654498 Updated project description 2011-02-10 21:16:51 -04:00
Roberto Rosario 350fdee9c9 Show only document metadata in document list view 2011-02-10 21:16:33 -04:00
Roberto Rosario 81308b1229 Updated the screenshot link in README file 2011-02-10 20:57:24 -04:00
Roberto Rosario f41a2765d9 Updated CREADITS file to include python-magic 2011-02-10 19:16:32 -04:00
Roberto Rosario 07ac315ac8 Added python-magic for smarter MIME type detection and a new document field: file_mime_encoding 2011-02-10 19:01:55 -04:00
Roberto Rosario f7b560853b Changed the label message to better reflect its usage 2011-02-10 19:00:58 -04:00
Roberto Rosario 50ae43537c Cleanups 2011-02-10 16:31:10 -04:00
Roberto Rosario ce12e68c08 try to fix the document name issue when downloading a document 2011-02-10 10:53:58 -04:00
Roberto Rosario 460ba63740 Added a non scaling fancybox for display size view 2011-02-10 10:53:40 -04:00
Roberto Rosario eb022a821f Remarked two imports by mistake 2011-02-10 10:36:37 -04:00
Roberto Rosario 78f125b3ad Added document preview and display size view, merged with 960 grid branch 2011-02-10 10:33:57 -04:00
Roberto Rosario 7960438944 Merge branch '960' into merge_test 2011-02-10 09:28:02 -04:00
Roberto Rosario e8ee0cdaaa Spanish translation updates 2011-02-10 09:22:13 -04:00
Roberto Rosario ae2ea5c48f Updated TODO 2011-02-10 02:46:28 -04:00
Roberto Rosario 1bf3c92491 Improved document thumbnail creation logic 2011-02-10 01:47:33 -04:00
Roberto Rosario b1516acb4b Added a cache_cleanup function 2011-02-10 01:39:01 -04:00
Roberto Rosario a1da232ee9 Improved image cache filename creation 2011-02-10 01:29:39 -04:00
Roberto Rosario adf4608a0c It's more reliable to calculate the document checksum on the view and not on the save method, cache thumbnails and previews using document checksum and not the uuid 2011-02-10 01:06:28 -04:00
Roberto Rosario 07403954b5 Updated TODO 2011-02-10 00:16:32 -04:00
Roberto Rosario 4ecbf5c13f Removed colums definitions as they are now define in __init__.py 2011-02-10 00:16:07 -04:00
Roberto Rosario 9374448eb0 Improved the text of the link 2011-02-10 00:15:00 -04:00
Roberto Rosario f58c17e6c7 Clean up 2011-02-10 00:14:33 -04:00
Roberto Rosario b12ddb7cc4 Added method to link a model with it's column list to display on the generic list template, this way the same column layout is displayed regarless of the view that generates it. 2011-02-10 00:13:30 -04:00
Roberto Rosario fbafb385e5 Changed to a more descriptive message 2011-02-09 23:41:22 -04:00
Roberto Rosario 4c09c87aa6 Only display OCR link in document details 2011-02-09 23:40:51 -04:00
Roberto Rosario ce2c061a3a Change single quotes to doublequotes 2011-02-09 23:40:32 -04:00
Roberto Rosario 9c601757a1 Finished document metadata editing changes 2011-02-09 23:22:52 -04:00
Roberto Rosario 9d046a96af Initial updates to add document metadata editing 2011-02-09 16:43:40 -04:00
Roberto Rosario f3f763d762 Added new view to quickly upload a new document using another document's metadata 2011-02-09 16:18:44 -04:00
Roberto Rosario ba64dbb4e2 Recreased severity when creating filesystem links 2011-02-09 14:09:49 -04:00
Roberto Rosario d6afcc64bb Changed file permissions 2011-02-09 13:55:01 -04:00
Roberto Rosario 0a966ab4a4 Removed debug statement 2011-02-09 13:51:41 -04:00
Roberto Rosario 07d4166d1f Fixed convert argumnet passing 2011-02-09 13:49:42 -04:00
Roberto Rosario 57704f3cd0 Added view to display project settings 2011-02-09 12:31:27 -04:00
Roberto Rosario 77aa263304 Added sanity checks and better error handling 2011-02-09 12:31:01 -04:00
Roberto Rosario ef8ced4013 Fixed typos in the settings names 2011-02-09 12:30:35 -04:00
Roberto Rosario afdf87305f Better handling of the convert subprocess 2011-02-09 12:30:09 -04:00
Roberto Rosario d3d9ac38a1 Check for functions before dictionaries, some lambda functions were being interpreted as dict() 2011-02-09 12:29:26 -04:00
Roberto Rosario 600b94bbda Added setting for the converter, ocr and a missing one from document app 2011-02-09 12:28:48 -04:00
Roberto Rosario 1dbce31971 Readded TODO 2011-02-09 10:50:47 -04:00
Roberto Rosario bd38a32af1 Merge remote branch 'origin/master'
Conflicts:
	docs/TODO
2011-02-09 10:47:33 -04:00
Roberto Rosario e2fd97043e Updated TODO 2011-02-09 02:37:51 -04:00
Roberto Rosario f47f1e11a4 Updated README 2011-02-09 02:27:32 -04:00
Roberto Rosario ca271f5b0c Updated README 2011-02-09 02:21:28 -04:00
Roberto Rosario da780b8f43 Updated about template 2011-02-09 02:21:16 -04:00
Roberto Rosario 50b6164bd8 Updated Readme, added CREDITS file 2011-02-09 02:12:37 -04:00
Roberto Rosario 6569faad11 Added OCR capabilites 2011-02-09 02:12:14 -04:00
Roberto Rosario 52bee20025 Added document thumbnail previews in document list view 2011-02-08 20:35:29 -04:00
Roberto Rosario 0c5b03b715 Moved pretty_size function to common.utils 2011-02-08 19:47:42 -04:00
Roberto Rosario 37f74a3f26 Moved the converter to its own app 2011-02-08 19:46:46 -04:00
Roberto Rosario 584f525783 Added document size display and now the preview link is available in any view 2011-02-08 19:22:01 -04:00
Roberto Rosario dabe8fad19 Added document preview link and download link 2011-02-08 19:07:00 -04:00
Roberto Rosario 79d7932df0 Added staging file previews support 2011-02-08 17:57:12 -04:00
Roberto Rosario e2bec1745c Merge remote branch 'origin/master'
Conflicts:
	docs/TODO
2011-02-08 02:25:01 -04:00
Roberto Rosario 52843c3e98 Updated TODO 2011-02-08 02:18:23 -04:00
Roberto Rosario e146e2f0e2 First try at implementing required / optional metadata 2011-02-08 02:18:02 -04:00
Roberto Rosario 9a985028eb Cleanups 2011-02-08 02:17:23 -04:00
Roberto Rosario e40686f593 Cleanups 2011-02-08 02:17:06 -04:00
Roberto Rosario 90a0eb23b0 Updated TODO 2011-02-08 02:16:49 -04:00
Roberto Rosario b2aaee514f Make document metadata readonly until signal are implemented 2011-02-08 02:16:25 -04:00
Roberto Rosario 2f22e8b848 Cleanups 2011-02-08 02:16:14 -04:00
Roberto Rosario 0674dedd4a Completed refactoring of filesystem indexing 2011-02-08 01:35:24 -04:00
Roberto Rosario 5b9369057b Updated TODO 2011-02-07 20:21:41 -04:00
Roberto Rosario 9d23754bcf Added a messages block for general use 2011-02-07 20:21:25 -04:00
Roberto Rosario 2c9306c04f Initial commit of the new filesystem indexing system 2011-02-07 20:20:57 -04:00
Roberto Rosario b36f34e570 Merge remote branch 'origin/master' 2011-02-07 18:18:31 -04:00
Roberto Rosario 1a686a4e60 Redirect to login url after logout 2011-02-07 18:18:11 -04:00
Roberto Rosario c618952f00 Added css grid support to generic_forms template 2011-02-07 17:30:41 -04:00
Roberto Rosario c096e95522 Updated TODO 2011-02-07 16:21:39 -04:00
Roberto Rosario 791742811f Staging file are now indexed by a file content hash, fixed staging file rename on upload 2011-02-07 16:04:17 -04:00
Roberto Rosario 2ddab79ff5 Added translatable label for staing files 2011-02-07 16:03:21 -04:00
Roberto Rosario 765606315d Function is called get_full_name, not full_name 2011-02-07 14:38:20 -04:00
Roberto Rosario d6bca8a858 Fix typo from last commit 2011-02-07 14:35:35 -04:00
Roberto Rosario f2aae01780 Display user full name then fallback to username and only display change password link is user has usable password 2011-02-07 14:34:26 -04:00
Roberto Rosario be267c476c Catch error when listing staging files fails 2011-02-07 14:33:58 -04:00
Roberto Rosario a8bd7da2e2 Spanish translation 2011-02-07 01:43:52 -04:00
Roberto Rosario 7aef3dc245 Update TODO 2011-02-07 01:20:13 -04:00
Roberto Rosario d30395e480 Improved data added format in document view and document list views 2011-02-07 01:19:32 -04:00
Roberto Rosario fbd5f0f213 Have everybody call the same return_attrib function 2011-02-07 01:17:01 -04:00
Roberto Rosario 07e2ca0e7f Successfully merged staging file upload and local file upload views and forms 2011-02-07 00:58:09 -04:00
Roberto Rosario 33e8dcf4dc Allow generic form template to handle multiple form on the same page 2011-02-07 00:57:33 -04:00
Roberto Rosario 7da543f7d3 Make document type available names list, available in document edit view 2011-02-06 23:20:16 -04:00
Roberto Rosario c0989f016f Updated TODO 2011-02-06 22:45:30 -04:00
Roberto Rosario 966f8328d1 Added comments to class 2011-02-06 22:45:21 -04:00
Roberto Rosario a3af46e25e Add Document model method to check if a document exists in the storage backend 2011-02-06 22:44:16 -04:00
Roberto Rosario 1d70d68505 Document file storage is can now be changed from the settings.py file, better configuration options names 2011-02-06 22:22:01 -04:00
Roberto Rosario f38561099c Added option to enable/disable staging file uploads, added better error reporting when creating staging files list 2011-02-06 20:01:55 -04:00
Roberto Rosario 0ee072f294 Increased fieldsizes 2011-02-06 19:43:48 -04:00
Roberto Rosario 79d7c037ee Updated TODO 2011-02-06 13:25:59 -04:00
Roberto Rosario 0e250073f3 Update staging files metadata from url query 2011-02-06 13:25:33 -04:00
Roberto Rosario 5c99f8bcb5 Fixed typo 2011-02-06 04:21:16 -04:00
Roberto Rosario 23dada1b01 Fixed typo in readme, added LICENSE file 2011-02-06 04:20:51 -04:00
Roberto Rosario 411b701cb0 Added Readme file 2011-02-06 04:16:36 -04:00
Roberto Rosario 8a32e053a8 Minor typo, updated TODO 2011-02-06 04:16:22 -04:00
Roberto Rosario 7ce3a894d0 Implemeted deleting staging files after upload 2011-02-06 04:04:46 -04:00
Roberto Rosario 858592fc5b Implemented lookups in metadata 2011-02-06 03:51:10 -04:00
Roberto Rosario b0f31f2a8f Reverted back to previous upload method, but now using SimpleUploadedFile to upload staging files 2011-02-06 03:29:39 -04:00
Roberto Rosario 729514c9da Updated application defaults 2011-02-05 23:02:18 -04:00
Roberto Rosario 7396d8b172 list only files in staging, ignore directories 2011-02-05 23:01:59 -04:00
Roberto Rosario d8d8c75a28 Complete refactoring to allow out of order document, document file or metadata creation 2011-02-05 21:00:23 -04:00
Roberto Rosario 52b0da385e Added missing import 2011-02-05 03:19:13 -04:00
Roberto Rosario c59d6640f4 Removed unneeded html tags 2011-02-05 03:14:36 -04:00
Roberto Rosario 31de721ea8 Updated TODO 2011-02-05 03:13:12 -04:00
Roberto Rosario a45012b40e Mark null mimetypes as 'unknown', fixing the mimetype NULL not allowed on document save error 2011-02-05 03:12:23 -04:00
Roberto Rosario 828bd4e020 Further improved exception reporting when creating or deleting filesystem links 2011-02-05 03:05:58 -04:00
Roberto Rosario 2ec201e5e4 Added placeholder remarked default settings to the settings.py file 2011-02-05 03:05:24 -04:00
Roberto Rosario 5e4456c0bd Added document edit view 2011-02-05 02:37:33 -04:00
Roberto Rosario 9a518f6c63 Improved link navigation and added document details links 2011-02-05 02:18:44 -04:00
Roberto Rosario ab34061e52 Added forced login middleware 2011-02-05 02:18:28 -04:00
Roberto Rosario f709a40a27 Implemented document delete view 2011-02-05 02:02:36 -04:00
Roberto Rosario 03f7b7c9ab Created views to upload a single or multiple documents with same metadata 2011-02-05 01:30:32 -04:00
Roberto Rosario b3b704346f Initial staging file handling 2011-02-04 16:43:02 -04:00
Roberto Rosario 96219860d0 Added production requeriments file 2011-02-04 15:33:35 -04:00
Roberto Rosario f87a146734 Initial instructions for serving files with samba 2011-02-04 15:32:39 -04:00
Roberto Rosario 16125bbdd0 Added enable/disable support to document rename model 2011-02-04 15:16:57 -04:00
Roberto Rosario e479bb0f55 Added wsgi file 2011-02-04 13:21:28 -04:00
Roberto Rosario 1a10e77918 Fixed typo 2011-02-04 13:17:58 -04:00
Roberto Rosario c7b098b41f Improved error message reporting when creating filesystem directories or links 2011-02-04 13:17:36 -04:00
Roberto Rosario d80584d087 Added user configurable document checksumming 2011-02-04 13:09:43 -04:00
Roberto Rosario 68fea011f6 Fixed duplicated search results 2011-02-04 02:30:06 -04:00
Roberto Rosario 8e4e923531 Updated TODO 2011-02-04 02:25:00 -04:00
Roberto Rosario 07006f5b78 Updated TODO 2011-02-04 02:07:58 -04:00
Roberto Rosario 80d0a2a359 Added support for filerenaming on upload 2011-02-04 02:07:06 -04:00
Roberto Rosario 58a635412c Register document meta data values in search 2011-02-04 01:47:27 -04:00
Roberto Rosario 6243a2f1f6 Hide the document type field if document type is specified in the form's initial values 2011-02-04 01:39:39 -04:00
Roberto Rosario 5e524fb825 Better solution to the extension separator problem 2011-02-04 01:19:15 -04:00
Roberto Rosario 50e471bf6b Updated TODO 2011-02-04 01:12:59 -04:00
Roberto Rosario b723dc3c42 Improved administration views 2011-02-04 01:12:46 -04:00
Roberto Rosario a1a05d4b10 Added support for the NO SLUGIFY option and fixed problem with filename extension separator when re composing the filename 2011-02-04 01:12:02 -04:00
Roberto Rosario 6d361cf420 Added metadata symlink creation 2011-02-04 01:02:14 -04:00
Roberto Rosario 34493262fd Removed setup top menu 2011-02-03 23:18:54 -04:00
Roberto Rosario 1105c1f839 Updated project description 2011-02-03 22:52:54 -04:00
Roberto Rosario 4336ffd44b Updated TODO 2011-02-03 22:52:41 -04:00
Roberto Rosario 327a00ede6 Added search app 2011-02-03 22:52:25 -04:00
Roberto Rosario 5854a1ce50 Added document detail view 2011-02-03 22:46:51 -04:00
Roberto Rosario e275b58fd8 Merge remote branch 'origin/master' 2011-02-03 21:07:15 -04:00
Roberto Rosario ba170bacd3 Enable Metadata's default option, using user definable functions 2011-02-03 21:05:06 -04:00
Roberto Rosario c455f1b453 Pre focus the first editable field in form unsing jquery 2011-02-03 21:04:37 -04:00
Roberto Rosario 5ff9fe41df Installed grappelli inline with the source 2011-02-03 20:31:38 -04:00
Roberto Rosario 38b363f2bd Readded media file again 2011-02-03 20:26:23 -04:00
Roberto Rosario 930b25da03 Deleted submodule web_theme/media 2011-02-03 20:24:50 -04:00
Roberto Rosario bb0d884eea Readded synlink 2011-02-03 20:19:34 -04:00
Roberto Rosario e27cb07398 Deleted synlink 2011-02-03 20:18:45 -04:00
Roberto Rosario d862dfc2a6 Cleanups 2011-02-03 20:18:29 -04:00
Roberto Rosario f75f7e2ac4 Added development requirements file 2011-02-03 20:17:44 -04:00
Roberto Rosario 2921f8c67a Multiple document upload support 2011-02-03 17:27:23 -04:00
Roberto Rosario 986dc5d805 Document upload and metadata input working 2011-02-03 17:17:04 -04:00
Roberto Rosario fc6545f45a Updated gitignore to ignore all sqlite databases 2011-02-03 12:44:14 -04:00
Roberto Rosario 2b1e1be680 First commit 2011-02-03 12:39:23 -04:00
6883 changed files with 163631 additions and 2531 deletions
+17
View File
@@ -0,0 +1,17 @@
*.orig
*.pyc
*.pyo
*.sql
*.sqlite
/settings_local.py
/celerybeat-schedule
/document_storage/
/misc/mayan.geany
/image_cache/
build/
_build/
/gpg_home/
/static/
/whoosh_index/
/fabfile_install
/server_config.yaml
+218
View File
@@ -0,0 +1,218 @@
[main]
host = https://www.transifex.net
[mayan-edms.apps-acls]
file_filter = apps/acls/locale/<lang>/LC_MESSAGES/django.po
source_lang = en
source_file = apps/acls/locale/en/LC_MESSAGES/django.po
type = PO
[mayan-edms.apps-bootstrap]
file_filter = apps/bootstrap/locale/<lang>/LC_MESSAGES/django.po
source_lang = en
source_file = apps/bootstrap/locale/en/LC_MESSAGES/django.po
type = PO
[mayan-edms.apps-converter]
file_filter = apps/converter/locale/<lang>/LC_MESSAGES/django.po
source_lang = en
source_file = apps/converter/locale/en/LC_MESSAGES/django.po
type = PO
[mayan-edms.apps-common]
file_filter = apps/common/locale/<lang>/LC_MESSAGES/django.po
source_lang = en
source_file = apps/common/locale/en/LC_MESSAGES/django.po
type = PO
[mayan-edms.apps-checkouts]
file_filter = apps/checkouts/locale/<lang>/LC_MESSAGES/django.po
source_lang = en
source_file = apps/checkouts/locale/en/LC_MESSAGES/django.po
type = PO
[mayan-edms.apps-clustering]
file_filter = apps/clustering/locale/<lang>/LC_MESSAGES/django.po
source_lang = en
source_file = apps/clustering/locale/en/LC_MESSAGES/django.po
type = PO
[mayan-edms.apps-django_gpg]
file_filter = apps/django_gpg/locale/<lang>/LC_MESSAGES/django.po
source_lang = en
source_file = apps/django_gpg/locale/en/LC_MESSAGES/django.po
type = PO
[mayan-edms.apps-diagnostics]
file_filter = apps/diagnostics/locale/<lang>/LC_MESSAGES/django.po
source_lang = en
source_file = apps/diagnostics/locale/en/LC_MESSAGES/django.po
type = PO
[mayan-edms.apps-documents]
file_filter = apps/documents/locale/<lang>/LC_MESSAGES/django.po
source_lang = en
source_file = apps/documents/locale/en/LC_MESSAGES/django.po
type = PO
[mayan-edms.apps-document_comments]
file_filter = apps/document_comments/locale/<lang>/LC_MESSAGES/django.po
source_lang = en
source_file = apps/document_comments/locale/en/LC_MESSAGES/django.po
type = PO
[mayan-edms.apps-document_indexing]
file_filter = apps/document_indexing/locale/<lang>/LC_MESSAGES/django.po
source_lang = en
source_file = apps/document_indexing/locale/en/LC_MESSAGES/django.po
type = PO
[mayan-edms.apps-document_signatures]
file_filter = apps/document_signatures/locale/<lang>/LC_MESSAGES/django.po
source_lang = en
source_file = apps/document_signatures/locale/en/LC_MESSAGES/django.po
type = PO
[mayan-edms.apps-dynamic_search]
file_filter = apps/dynamic_search/locale/<lang>/LC_MESSAGES/django.po
source_lang = en
source_file = apps/dynamic_search/locale/en/LC_MESSAGES/django.po
type = PO
[mayan-edms.apps-folders]
file_filter = apps/folders/locale/<lang>/LC_MESSAGES/django.po
source_lang = en
source_file = apps/folders/locale/en/LC_MESSAGES/django.po
type = PO
[mayan-edms.apps-history]
file_filter = apps/history/locale/<lang>/LC_MESSAGES/django.po
source_lang = en
source_file = apps/history/locale/en/LC_MESSAGES/django.po
type = PO
[mayan-edms.apps-installation]
file_filter = apps/installation/locale/<lang>/LC_MESSAGES/django.po
source_lang = en
source_file = apps/installation/locale/en/LC_MESSAGES/django.po
type = PO
[mayan-edms.apps-job_processor]
file_filter = apps/job_processor/locale/<lang>/LC_MESSAGES/django.po
source_lang = en
source_file = apps/job_processor/locale/en/LC_MESSAGES/django.po
type = PO
[mayan-edms.apps-linking]
file_filter = apps/linking/locale/<lang>/LC_MESSAGES/django.po
source_lang = en
source_file = apps/linking/locale/en/LC_MESSAGES/django.po
type = PO
[mayan-edms.apps-lock_manager]
file_filter = apps/lock_manager/locale/<lang>/LC_MESSAGES/django.po
source_lang = en
source_file = apps/lock_manager/locale/en/LC_MESSAGES/django.po
type = PO
[mayan-edms.apps-main]
file_filter = apps/main/locale/<lang>/LC_MESSAGES/django.po
source_lang = en
source_file = apps/main/locale/en/LC_MESSAGES/django.po
type = PO
[mayan-edms.apps-maintenance]
file_filter = apps/maintenance/locale/<lang>/LC_MESSAGES/django.po
source_lang = en
source_file = apps/maintenance/locale/en/LC_MESSAGES/django.po
type = PO
[mayan-edms.apps-metadata]
file_filter = apps/metadata/locale/<lang>/LC_MESSAGES/django.po
source_lang = en
source_file = apps/metadata/locale/en/LC_MESSAGES/django.po
type = PO
[mayan-edms.apps-navigation]
file_filter = apps/navigation/locale/<lang>/LC_MESSAGES/django.po
source_lang = en
source_file = apps/navigation/locale/en/LC_MESSAGES/django.po
type = PO
[mayan-edms.apps-ocr]
file_filter = apps/ocr/locale/<lang>/LC_MESSAGES/django.po
source_lang = en
source_file = apps/ocr/locale/en/LC_MESSAGES/django.po
type = PO
[mayan-edms.apps-permissions]
file_filter = apps/permissions/locale/<lang>/LC_MESSAGES/django.po
source_lang = en
source_file = apps/permissions/locale/en/LC_MESSAGES/django.po
type = PO
[mayan-edms.apps-project_setup]
file_filter = apps/project_setup/locale/<lang>/LC_MESSAGES/django.po
source_lang = en
source_file = apps/project_setup/locale/en/LC_MESSAGES/django.po
type = PO
[mayan-edms.apps-project_tools]
file_filter = apps/project_tools/locale/<lang>/LC_MESSAGES/django.po
source_lang = en
source_file = apps/project_tools/locale/en/LC_MESSAGES/django.po
type = PO
[mayan-edms.apps-registration]
file_filter = apps/registration/locale/<lang>/LC_MESSAGES/django.po
source_lang = en
source_file = apps/registration/locale/en/LC_MESSAGES/django.po
type = PO
[mayan-edms.apps-scheduler]
file_filter = apps/scheduler/locale/<lang>/LC_MESSAGES/django.po
source_lang = en
source_file = apps/scheduler/locale/en/LC_MESSAGES/django.po
type = PO
[mayan-edms.apps-smart_settings]
file_filter = apps/smart_settings/locale/<lang>/LC_MESSAGES/django.po
source_lang = en
source_file = apps/smart_settings/locale/en/LC_MESSAGES/django.po
type = PO
[mayan-edms.apps-sources]
file_filter = apps/sources/locale/<lang>/LC_MESSAGES/django.po
source_lang = en
source_file = apps/sources/locale/en/LC_MESSAGES/django.po
type = PO
[mayan-edms.apps-statistics]
file_filter = apps/statistics/locale/<lang>/LC_MESSAGES/django.po
source_lang = en
source_file = apps/statistics/locale/en/LC_MESSAGES/django.po
type = PO
[mayan-edms.apps-tags]
file_filter = apps/tags/locale/<lang>/LC_MESSAGES/django.po
source_lang = en
source_file = apps/tags/locale/en/LC_MESSAGES/django.po
type = PO
[mayan-edms.apps-trash]
file_filter = apps/trash/locale/<lang>/LC_MESSAGES/django.po
source_lang = en
source_file = apps/trash/locale/en/LC_MESSAGES/django.po
type = PO
[mayan-edms.apps-user_management]
file_filter = apps/user_management/locale/<lang>/LC_MESSAGES/django.po
source_lang = en
source_file = apps/user_management/locale/en/LC_MESSAGES/django.po
type = PO
[mayan-edms.apps-web_theme]
file_filter = apps/web_theme/locale/<lang>/LC_MESSAGES/django.po
source_lang = en
source_file = apps/web_theme/locale/en/LC_MESSAGES/django.po
type = PO
+43
View File
@@ -0,0 +1,43 @@
from django.conf import settings
from django.utils.importlib import import_module
import mimetypes
PREPARE_UPLOAD_BACKEND = getattr(settings,
'PREPARE_UPLOAD_BACKEND',
'filetransfers.backends.default.prepare_upload')
SERVE_FILE_BACKEND = getattr(settings,
'SERVE_FILE_BACKEND',
'filetransfers.backends.default.serve_file')
PUBLIC_DOWNLOAD_URL_BACKEND = getattr(settings,
'PUBLIC_DOWNLOAD_URL_BACKEND',
'filetransfers.backends.default.public_download_url')
_backends_cache = {}
# Public API
def prepare_upload(request, url, private=False, backend=None):
handler = _load_backend(backend, PREPARE_UPLOAD_BACKEND)
return handler(request, url, private=private)
def serve_file(request, file, backend=None, save_as=False, content_type=None):
# Backends are responsible for handling range requests.
handler = _load_backend(backend, SERVE_FILE_BACKEND)
filename = file.name.rsplit('/')[-1]
if save_as is True:
save_as = filename
if not content_type:
content_type = mimetypes.guess_type(filename)[0]
return handler(request, file, save_as=save_as, content_type=content_type)
def public_download_url(file, backend=None):
handler = _load_backend(backend, PUBLIC_DOWNLOAD_URL_BACKEND)
return handler(file)
# Internal utilities
def _load_backend(backend, default_backend):
if backend is None:
backend = default_backend
if backend not in _backends_cache:
module_name, func_name = backend.rsplit('.', 1)
_backends_cache[backend] = getattr(import_module(module_name), func_name)
return _backends_cache[backend]
@@ -0,0 +1,7 @@
from django.conf import settings
def public_download_url(file, **kwargs):
"""
Directs downloads to a handler at settings.PUBLIC_DOWNLOADS_URL_BASE
"""
return settings.PUBLIC_DOWNLOADS_URL_BASE + file.name
@@ -0,0 +1,30 @@
from django.http import HttpResponse
from django.utils.encoding import smart_str
def prepare_upload(request, url, **kwargs):
"""Directly uploads to the given URL"""
return url, {}
def serve_file(request, file, save_as, content_type, **kwargs):
"""
Serves the file in chunks for efficiency reasons, but the transfer still
goes through Django itself, so it's much worse than using the web server,
but at least it works with all configurations.
"""
response = HttpResponse(ChunkedFile(file), content_type=content_type)
if save_as:
response['Content-Disposition'] = smart_str(u'attachment; filename=%s' % save_as)
if file.size is not None:
response['Content-Length'] = file.size
return response
def public_download_url(file, **kwargs):
"""No public download URL"""
return None
class ChunkedFile(object):
def __init__(self, file):
self.file = file
def __iter__(self):
return self.file.chunks()
@@ -0,0 +1,11 @@
from django.conf import settings
from filetransfers.api import prepare_upload as delegate
def prepare_upload(*args, **kwargs):
"""Delegates uploads to other backends based on private=False or True"""
if kwargs['private']:
kwargs['backend'] = settings.PRIVATE_PREPARE_UPLOAD_BACKEND
else:
kwargs['backend'] = settings.PUBLIC_PREPARE_UPLOAD_BACKEND
return delegate(*args, **kwargs)
@@ -0,0 +1,10 @@
from django.http import HttpResponseRedirect
from django.utils.encoding import smart_str
def serve_file(request, file, **kwargs):
"""Serves files by redirecting to file.url (e.g., useful for Amazon S3)"""
return HttpResponseRedirect(smart_str(file.url))
def public_download_url(file, **kwargs):
"""Directs downloads to file.url (useful for normal file system storage)"""
return file.url
@@ -0,0 +1,12 @@
from django.http import HttpResponse
from django.utils.encoding import smart_str
def serve_file(request, file, save_as, content_type, **kwargs):
"""Lets the web server serve the file using the X-Sendfile extension"""
response = HttpResponse(content_type=content_type)
response['X-Sendfile'] = file.path
if save_as:
response['Content-Disposition'] = smart_str(u'attachment; filename=%s' % save_as)
if file.size is not None:
response['Content-Length'] = file.size
return response
@@ -0,0 +1,17 @@
from django.template import Library
from django.utils.safestring import mark_safe
from ..api import public_download_url
register = Library()
_hidden_data_field = '<input type="hidden" name="%s" value="%s" />'
@register.simple_tag
def render_upload_data(data):
inputs = ''.join(_hidden_data_field % item for item in data.items())
if inputs:
return mark_safe('<div style="display:none">%s</div>' % inputs)
return ''
register.filter(public_download_url)
+51
View File
@@ -0,0 +1,51 @@
![Logo](https://github.com/rosarior/mayan/raw/master/docs/_static/mayan_logo_landscape_black.jpg)
Mayan EDMS
==========
Open source, Django based document management system with custom metadata
indexing, file serving integration, tagging, digital signature verification,
text parsing and OCR capabilities.
[Website](http://www.mayan-edms.com)
[Video demostration](http://bit.ly/pADNXv)
[Documentation](http://readthedocs.org/docs/mayan/en/latest/)
[Translations](https://www.transifex.net/projects/p/mayan-edms/)
[Mailing list (via Google Groups)](http://groups.google.com/group/mayan-edms)
Quick install
-------------
To bootstrap **Mayan EDMS** via the fabfile without having to clone the
entire repository, run the following command, replacing the part that
reads: <Your MySQL root password> with your current MySQL root password
or the MySQL root password you plan to assign to it, during the MySQL
installation when executing the fabfile.
- Debian or Ubuntu:
cd /tmp && sudo apt-get install -y fabric wget tar gzip && wget https://github.com/rosarior/mayan/raw/master/contrib/fabfile.tar.gz -O - | tar -xvzf - && echo "database_manager_admin_password=&lt;Your MySQL root password&gt;" > ~/.fabricrc && fab -H localhost install
- Fedora:
cd /tmp && sudo yum install -y fabric wget tar gzip && wget https://github.com/rosarior/mayan/raw/master/contrib/fabfile.tar.gz -O - | tar -xvzf - && echo "database_manager_admin_password=&lt;Your MySQL root password&gt;" > ~/.fabricrc && fab -H localhost install
License
-------
This project is open sourced under [GNU GPL Version 3](http://www.gnu.org/licenses/gpl-3.0.html).
Author
------
Roberto Rosario - [Twitter](http://twitter.com/#siloraptor) [E-mail](mailto://roberto.rosario@mayan-edms.com)
Donations
---------
Please [donate](https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=W6LMMZHTNUJ6L) if you are willing to support the further development of this project.
View File
+18
View File
@@ -0,0 +1,18 @@
from __future__ import absolute_import
from navigation.api import bind_links, register_multi_item_links
from .classes import (AccessHolder, AccessObjectClass, ClassAccessHolder,
AccessObject)
from .links import (acl_detail, acl_grant, acl_revoke,
acl_holder_new, acl_setup_valid_classes, acl_class_list,
acl_class_acl_list, acl_class_acl_detail, acl_class_new_holder_for,
acl_class_grant, acl_class_revoke)
bind_links([AccessHolder], [acl_detail])
register_multi_item_links(['acl_detail'], [acl_grant, acl_revoke])
bind_links([AccessObject], [acl_holder_new], menu_name='sidebar')
bind_links(['acl_setup_valid_classes', 'acl_class_acl_list', 'acl_class_new_holder_for', 'acl_class_acl_detail', 'acl_class_multiple_grant', 'acl_class_multiple_revoke'], [acl_class_list], menu_name='secondary_menu')
bind_links([ClassAccessHolder], [acl_class_acl_detail])
bind_links([AccessObjectClass], [acl_class_acl_list, acl_class_new_holder_for])
register_multi_item_links(['acl_class_acl_detail'], [acl_class_grant, acl_class_revoke])
+23
View File
@@ -0,0 +1,23 @@
from __future__ import absolute_import
from django.contrib import admin
from .models import AccessEntry
#class PermissionHolderInline(admin.StackedInline):
# model = PermissionHolder
# extra = 1
# classes = ('collapse-open',)
# allow_add = True#
#
class AccessEntryAdmin(admin.ModelAdmin):
related_lookup_fields = {
'generic': [['holder_type', 'holder_id'], ['content_type', 'object_id']],
}
#inlines = [PermissionHolderInline]
list_display = ('pk', 'holder_object', 'permission', 'content_object')
list_display_links = ('pk',)
model = AccessEntry
admin.site.register(AccessEntry, AccessEntryAdmin)
+28
View File
@@ -0,0 +1,28 @@
from __future__ import absolute_import
from django.contrib.contenttypes.models import ContentType
_class_permissions = {}
def class_permissions(cls, permission_list):
"""
Associate a permissions list to a class
"""
stored_permissions = _class_permissions.setdefault(cls, [])
stored_permissions.extend(permission_list)
def get_class_permissions_for(obj):
"""
Return a list of permissions associated with a content type
"""
content_type = ContentType.objects.get_for_model(obj)
return _class_permissions.get(content_type.model_class(), [])
def get_classes():
"""
Return a list of encapsulated classes that have been registered
"""
return _class_permissions.keys()
+17
View File
@@ -0,0 +1,17 @@
from common.classes import EncapsulatedObject
class AccessHolder(EncapsulatedObject):
source_object_name = u'holder_object'
class AccessObject(EncapsulatedObject):
source_object_name = u'obj'
class AccessObjectClass(EncapsulatedObject):
source_object_name = u'cls'
class ClassAccessHolder(EncapsulatedObject):
source_object_name = u'class_holder'
+8
View File
@@ -0,0 +1,8 @@
from __future__ import absolute_import
from .models import AccessEntry, DefaultAccessEntry
def cleanup():
AccessEntry.objects.all().delete()
DefaultAccessEntry.objects.all().delete()
+58
View File
@@ -0,0 +1,58 @@
from __future__ import absolute_import
from django import forms
from django.utils.translation import ugettext_lazy as _
from django.contrib.auth.models import User, Group
from permissions.models import Role
from common.utils import get_object_name
from common.models import AnonymousUserSingleton
from .classes import AccessHolder
from .models import CreatorSingleton
def _as_choice_list(holders):
return sorted([(AccessHolder.encapsulate(holder).gid, get_object_name(holder, display_object_type=False)) for holder in holders], key=lambda x: x[1])
class BaseHolderSelectionForm(forms.Form):
holder_gid = forms.ChoiceField(
label=_(u'New holder')
)
def __init__(self, *args, **kwargs):
current_holders = kwargs.pop('current_holders', [])
if current_holders:
current_holders = [holder.source_object for holder in current_holders]
staff_users = User.objects.filter(is_staff=True)
super_users = User.objects.filter(is_superuser=True)
users = set(User.objects.filter(is_active=True)) - set(staff_users) - set(super_users) - set(current_holders)
roles = set(Role.objects.all()) - set(current_holders)
groups = set(Group.objects.all()) - set(current_holders)
special = set(self.special_holders) - set(current_holders)
non_holder_list = []
if users:
non_holder_list.append((_(u'Users'), _as_choice_list(list(users))))
if groups:
non_holder_list.append((_(u'Groups'), _as_choice_list(list(groups))))
if roles:
non_holder_list.append((_(u'Roles'), _as_choice_list(list(roles))))
if special:
non_holder_list.append((_(u'Special'), _as_choice_list(list(special))))
super(BaseHolderSelectionForm, self).__init__(*args, **kwargs)
self.fields['holder_gid'].choices = non_holder_list
class HolderSelectionForm(BaseHolderSelectionForm):
special_holders = [AnonymousUserSingleton.objects.get()]
class ClassHolderSelectionForm(BaseHolderSelectionForm):
special_holders = [AnonymousUserSingleton.objects.get(), CreatorSingleton.objects.get()]
+20
View File
@@ -0,0 +1,20 @@
from __future__ import absolute_import
from icons.literals import (KEY, KEY_GO, KEY_ADD, KEY_DELETE, LOCK, USER_ADD,
PACKAGE, LOCK_GO)
from icons import Icon
icon_acl_app = Icon(LOCK)
icon_acls = Icon(KEY)
icon_acl_detail = Icon(KEY_GO)
icon_acl_grant = Icon(KEY_ADD)
icon_acl_revoke = Icon(KEY_DELETE)
icon_acl_holder_new = Icon(USER_ADD)
icon_acl_class_list = Icon(PACKAGE)
icon_acl_class_acl_list = Icon(LOCK_GO)
icon_acl_class_acl_detail = Icon(KEY_GO)
icon_acl_class_new_holder_for = Icon(USER_ADD)
icon_acl_class_grant = Icon(KEY_ADD)
icon_acl_class_revoke = Icon(KEY_DELETE)
+26
View File
@@ -0,0 +1,26 @@
from __future__ import absolute_import
from django.utils.translation import ugettext_lazy as _
from navigation import Link
from .permissions import (ACLS_EDIT_ACL, ACLS_VIEW_ACL,
ACLS_CLASS_EDIT_ACL, ACLS_CLASS_VIEW_ACL)
from .icons import (icon_acls, icon_acl_detail, icon_acl_grant, icon_acl_revoke,
icon_acl_holder_new, icon_acl_class_list, icon_acl_class_acl_list,
icon_acl_class_acl_list, icon_acl_class_acl_detail, icon_acl_class_new_holder_for,
icon_acl_class_grant, icon_acl_class_revoke)
acl_list = Link(text=_(u'ACLs'), view='acl_list', icon=icon_acls, permissions=[ACLS_VIEW_ACL])
acl_detail = Link(text=_(u'details'), view='acl_detail', args=['access_object.gid', 'object.gid'], icon=icon_acl_detail, permissions=[ACLS_VIEW_ACL])
acl_grant = Link(text=_(u'grant'), view='acl_multiple_grant', icon=icon_acl_grant, permissions=[ACLS_EDIT_ACL])
acl_revoke = Link(text=_(u'revoke'), view='acl_multiple_revoke', icon=icon_acl_revoke, permissions=[ACLS_EDIT_ACL])
acl_holder_new = Link(text=_(u'New holder'), view='acl_holder_new', args='access_object.gid', icon=icon_acl_holder_new, permissions=[ACLS_EDIT_ACL])
acl_setup_valid_classes = Link(text=_(u'Default ACLs'), view='acl_setup_valid_classes', icon=icon_acl_class_list, permissions=[ACLS_CLASS_VIEW_ACL]) # 'children_view_regex=[r'^acl_class', r'^acl_setup']}
acl_class_list = Link(text=_(u'List of classes'), view='acl_setup_valid_classes', icon=icon_acl_class_list, permissions=[ACLS_CLASS_VIEW_ACL])
acl_class_acl_list = Link(text=_(u'ACLs for class'), view='acl_class_acl_list', args='object.gid', icon=icon_acl_class_acl_list, permissions=[ACLS_CLASS_VIEW_ACL])
acl_class_acl_detail = Link(text=_(u'details'), view='acl_class_acl_detail', args=['access_object_class.gid', 'object.gid'], icon=icon_acl_class_acl_detail, permissions=[ACLS_CLASS_VIEW_ACL])
acl_class_new_holder_for = Link(text=_(u'New holder'), view='acl_class_new_holder_for', args='object.gid', icon=icon_acl_class_new_holder_for, permissions=[ACLS_CLASS_EDIT_ACL])
acl_class_grant = Link(text=_(u'grant'), view='acl_class_multiple_grant', icon=icon_acl_class_grant, permissions=[ACLS_CLASS_EDIT_ACL])
acl_class_revoke = Link(text=_(u'revoke'), view='acl_class_multiple_revoke', icon=icon_acl_class_revoke, permissions=[ACLS_CLASS_EDIT_ACL])
+13
View File
@@ -0,0 +1,13 @@
# Content type <-> fam fam icon mapping
CONTENT_TYPE_ICON_MAP = {
'auth.user': 'user',
'auth.group': 'group',
'documents.document': 'page',
'permissions.role': 'medal_gold_1',
'folders.folder': 'folder',
'taggit.tag': 'tag_blue',
'linking.smartlink': 'page_link',
'common.anonymoususersingleton': 'user',
'acls.creatorsingleton': 'user',
}
Binary file not shown.
+255
View File
@@ -0,0 +1,255 @@
# SOME DESCRIPTIVE TITLE.
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
# This file is distributed under the same license as the PACKAGE package.
#
# Translators:
# Iliya Georgiev <ikgeorgiev@gmail.com>, 2012.
# <pkoldamov@gmail.com>, 2012.
msgid ""
msgstr ""
"Project-Id-Version: Mayan EDMS\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2012-12-14 04:18-0400\n"
"PO-Revision-Date: 2012-10-15 10:27+0000\n"
"Last-Translator: Pavlin Koldamov <pkoldamov@gmail.com>\n"
"Language-Team: Bulgarian (http://www.transifex.com/projects/p/mayan-edms/"
"language/bg/)\n"
"Language: bg\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
#: forms.py:21 links.py:18 links.py:24
msgid "New holder"
msgstr "Нов притежател"
#: forms.py:38
msgid "Users"
msgstr "Потребители"
#: forms.py:41
msgid "Groups"
msgstr "Групи"
#: forms.py:44
msgid "Roles"
msgstr "Роли"
#: forms.py:47
msgid "Special"
msgstr ""
#: links.py:14
msgid "ACLs"
msgstr "Контролни списъци за достъп"
#: links.py:15 links.py:23
msgid "details"
msgstr "детайли"
#: links.py:16 links.py:25
msgid "grant"
msgstr "предоставяне"
#: links.py:17 links.py:26
msgid "revoke"
msgstr "отменя"
#: links.py:20
msgid "Default ACLs"
msgstr "Контролни списъци за достъп по подразбиране"
#: links.py:21
msgid "List of classes"
msgstr "Списък на класовете"
#: links.py:22
msgid "ACLs for class"
msgstr "Контролни списъци за клас"
#: managers.py:119 managers.py:131
msgid "Insufficient access."
msgstr "Недостатъчен достъп."
#: models.py:25 models.py:67
msgid "permission"
msgstr "разрешение"
#: models.py:51
msgid "access entry"
msgstr "достъп за влизане"
#: models.py:52
msgid "access entries"
msgstr "достъп вписвания"
#: models.py:88
msgid "default access entry"
msgstr ""
#: models.py:89
msgid "default access entries"
msgstr ""
#: models.py:108
msgid "Creator"
msgstr ""
#: models.py:111 models.py:112
msgid "creator"
msgstr ""
#: permissions.py:7 permissions.py:8
msgid "Access control lists"
msgstr "Контролни списъци за достъп"
#: permissions.py:10
msgid "Edit ACLs"
msgstr ""
#: permissions.py:11
msgid "View ACLs"
msgstr ""
#: permissions.py:13
msgid "Edit class default ACLs"
msgstr ""
#: permissions.py:14
msgid "View class default ACLs"
msgstr ""
#: registry.py:10
#, fuzzy
msgid "ACL"
msgstr "Контролни списъци за достъп"
#: registry.py:11
msgid "Handles object level access control."
msgstr ""
#: views.py:47
#, python-format
msgid "access control lists for: %s"
msgstr ""
#: views.py:49 views.py:409
msgid "holder"
msgstr ""
#: views.py:50 views.py:410
msgid "permissions"
msgstr "разрешения"
#: views.py:97
#, python-format
msgid "permissions available to: %(actor)s for %(obj)s"
msgstr ""
#: views.py:104 views.py:442
msgid "namespace"
msgstr ""
#: views.py:105 views.py:443
msgid "label"
msgstr ""
#: views.py:107 views.py:445
msgid "has permission"
msgstr ""
#: views.py:184 views.py:277 views.py:525 views.py:604
msgid ", "
msgstr ""
#: views.py:185 views.py:278 views.py:526 views.py:605
#, python-format
msgid " for %s"
msgstr " за %s"
#: views.py:186 views.py:527
#, python-format
msgid " to %s"
msgstr " към %s"
#: views.py:189 views.py:530
#, python-format
msgid "Are you sure you wish to grant the permission %(title_suffix)s?"
msgstr "Сигурни ли сте, че искате да дадете разрешение за %(title_suffix)s?"
#: views.py:191 views.py:532
#, python-format
msgid "Are you sure you wish to grant the permissions %(title_suffix)s?"
msgstr "Сигурни ли сте, че искате да дадете разрешения за %(title_suffix)s?"
#: views.py:198 views.py:539
#, python-format
msgid "Permission \"%(permission)s\" granted to %(actor)s for %(object)s."
msgstr ""
#: views.py:204 views.py:545
#, python-format
msgid ""
"%(actor)s, already had the permission \"%(permission)s\" granted for "
"%(object)s."
msgstr ""
#: views.py:279 views.py:606
#, python-format
msgid " from %s"
msgstr " от %s"
#: views.py:282 views.py:609
#, python-format
msgid "Are you sure you wish to revoke the permission %(title_suffix)s?"
msgstr ""
"Сигурни ли сте, че искате да отнемете разрешението за %(title_suffix)s?"
#: views.py:284 views.py:611
#, python-format
msgid "Are you sure you wish to revoke the permissions %(title_suffix)s?"
msgstr ""
"Сигурни ли сте, че искате да отнемете разрешенията за %(title_suffix)s?"
#: views.py:291 views.py:618
#, python-format
msgid "Permission \"%(permission)s\" revoked of %(actor)s for %(object)s."
msgstr ""
#: views.py:297 views.py:624
#, python-format
msgid "%(actor)s, didn't had the permission \"%(permission)s\" for %(object)s."
msgstr ""
#: views.py:353
#, python-format
msgid "add new holder for: %s"
msgstr ""
#: views.py:354 views.py:486
msgid "Select"
msgstr ""
#: views.py:386
msgid "classes"
msgstr "класове"
#: views.py:388
msgid "class"
msgstr "клас"
#: views.py:407
#, python-format
msgid "default access control lists for class: %s"
msgstr "правила за достъп по подразбиране за клас: %s"
#: views.py:435
#, python-format
msgid "permissions available to: %(actor)s for class %(class)s"
msgstr ""
#: views.py:484
#, python-format
msgid "add new holder for class: %s"
msgstr ""
Binary file not shown.
@@ -0,0 +1,261 @@
# SOME DESCRIPTIVE TITLE.
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
# This file is distributed under the same license as the PACKAGE package.
#
# Translators:
# <sl@suchreflex.de>, 2012.
# <tilmann.sittig@web.de>, 2012.
msgid ""
msgstr ""
"Project-Id-Version: Mayan EDMS\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2012-12-14 04:18-0400\n"
"PO-Revision-Date: 2012-09-20 07:40+0000\n"
"Last-Translator: Manticor <sl@suchreflex.de>\n"
"Language-Team: German (Germany) (http://www.transifex.com/projects/p/mayan-"
"edms/language/de_DE/)\n"
"Language: de_DE\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
#: forms.py:21 links.py:18 links.py:24
msgid "New holder"
msgstr "Neuer Berechtigter"
#: forms.py:38
msgid "Users"
msgstr "Benutzer"
#: forms.py:41
msgid "Groups"
msgstr "Gruppen"
#: forms.py:44
msgid "Roles"
msgstr "Rollen"
#: forms.py:47
msgid "Special"
msgstr ""
#: links.py:14
msgid "ACLs"
msgstr "ACLs"
#: links.py:15 links.py:23
msgid "details"
msgstr "Details"
#: links.py:16 links.py:25
msgid "grant"
msgstr "Erlauben"
#: links.py:17 links.py:26
msgid "revoke"
msgstr "Entziehen"
#: links.py:20
msgid "Default ACLs"
msgstr "Standard-ACLs"
#: links.py:21
msgid "List of classes"
msgstr "Liste der Klassen"
#: links.py:22
msgid "ACLs for class"
msgstr "ACLs für Klasse"
#: managers.py:119 managers.py:131
msgid "Insufficient access."
msgstr "Unzureichender Zugriff."
#: models.py:25 models.py:67
msgid "permission"
msgstr "Berechtigung"
#: models.py:51
msgid "access entry"
msgstr "Zugriffsberechtigungseintrag"
#: models.py:52
msgid "access entries"
msgstr "Zugriffsberechtigungseinträge"
#: models.py:88
msgid "default access entry"
msgstr "Standard-Zugriffsberechtigungseintrag"
#: models.py:89
msgid "default access entries"
msgstr "Standard-Zugriffsberechtigungseinträge"
#: models.py:108
msgid "Creator"
msgstr ""
#: models.py:111 models.py:112
msgid "creator"
msgstr ""
#: permissions.py:7 permissions.py:8
msgid "Access control lists"
msgstr "Zugriffsberechtigungslisten (ACLs)"
#: permissions.py:10
msgid "Edit ACLs"
msgstr "ACLs bearbeiten"
#: permissions.py:11
msgid "View ACLs"
msgstr "ACLs anzeigen"
#: permissions.py:13
msgid "Edit class default ACLs"
msgstr "Standard-ACLs für Klasse bearbeiten"
#: permissions.py:14
msgid "View class default ACLs"
msgstr "Standard-ACLs für Klasse anzeigen"
#: registry.py:10
#, fuzzy
msgid "ACL"
msgstr "ACLs"
#: registry.py:11
msgid "Handles object level access control."
msgstr ""
#: views.py:47
#, python-format
msgid "access control lists for: %s"
msgstr "Zugriffberechtigungsliste für: %s"
#: views.py:49 views.py:409
msgid "holder"
msgstr "Berechtigter"
#: views.py:50 views.py:410
msgid "permissions"
msgstr "Berechtigungen"
#: views.py:97
#, python-format
msgid "permissions available to: %(actor)s for %(obj)s"
msgstr "verfügbare Berechtigungen: %(actor)s für %(obj)s "
#: views.py:104 views.py:442
msgid "namespace"
msgstr "Namensraum"
#: views.py:105 views.py:443
msgid "label"
msgstr "Bezeichner"
#: views.py:107 views.py:445
msgid "has permission"
msgstr "hat die Berechtigung"
#: views.py:184 views.py:277 views.py:525 views.py:604
msgid ", "
msgstr ""
#: views.py:185 views.py:278 views.py:526 views.py:605
#, python-format
msgid " for %s"
msgstr "für %s"
#: views.py:186 views.py:527
#, python-format
msgid " to %s"
msgstr "zu %s"
#: views.py:189 views.py:530
#, python-format
msgid "Are you sure you wish to grant the permission %(title_suffix)s?"
msgstr ""
"Sind Sie sicher, dass Sie die Berechtigung %(title_suffix)s erteilen "
"möchten?"
#: views.py:191 views.py:532
#, python-format
msgid "Are you sure you wish to grant the permissions %(title_suffix)s?"
msgstr ""
"Sind Sie sicher, dass Sie die Berechtigungen %(title_suffix)s erteilen "
"möchten?"
#: views.py:198 views.py:539
#, python-format
msgid "Permission \"%(permission)s\" granted to %(actor)s for %(object)s."
msgstr ""
#: views.py:204 views.py:545
#, python-format
msgid ""
"%(actor)s, already had the permission \"%(permission)s\" granted for "
"%(object)s."
msgstr ""
#: views.py:279 views.py:606
#, python-format
msgid " from %s"
msgstr "von %s"
#: views.py:282 views.py:609
#, python-format
msgid "Are you sure you wish to revoke the permission %(title_suffix)s?"
msgstr ""
"Sind Sie sicher, dass Sie die Berechtigung %(title_suffix)s enziehen "
"möchten?"
#: views.py:284 views.py:611
#, python-format
msgid "Are you sure you wish to revoke the permissions %(title_suffix)s?"
msgstr ""
"Sind Sie sicher, dass Sie die Berechtigungen %(title_suffix)s enziehen "
"möchten?"
#: views.py:291 views.py:618
#, python-format
msgid "Permission \"%(permission)s\" revoked of %(actor)s for %(object)s."
msgstr ""
#: views.py:297 views.py:624
#, python-format
msgid "%(actor)s, didn't had the permission \"%(permission)s\" for %(object)s."
msgstr ""
#: views.py:353
#, python-format
msgid "add new holder for: %s"
msgstr "neuen Berechtigten für %s hinzufügen"
#: views.py:354 views.py:486
msgid "Select"
msgstr ""
#: views.py:386
msgid "classes"
msgstr "Klassen"
#: views.py:388
msgid "class"
msgstr "Klasse"
#: views.py:407
#, python-format
msgid "default access control lists for class: %s"
msgstr ""
#: views.py:435
#, python-format
msgid "permissions available to: %(actor)s for class %(class)s"
msgstr ""
#: views.py:484
#, python-format
msgid "add new holder for class: %s"
msgstr ""
Binary file not shown.
+249
View File
@@ -0,0 +1,249 @@
# SOME DESCRIPTIVE TITLE.
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
# This file is distributed under the same license as the PACKAGE package.
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
#
#, fuzzy
msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2012-12-14 04:18-0400\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
"Language: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
#: forms.py:21 links.py:18 links.py:24
msgid "New holder"
msgstr ""
#: forms.py:38
msgid "Users"
msgstr ""
#: forms.py:41
msgid "Groups"
msgstr ""
#: forms.py:44
msgid "Roles"
msgstr ""
#: forms.py:47
msgid "Special"
msgstr ""
#: links.py:14
msgid "ACLs"
msgstr ""
#: links.py:15 links.py:23
msgid "details"
msgstr ""
#: links.py:16 links.py:25
msgid "grant"
msgstr ""
#: links.py:17 links.py:26
msgid "revoke"
msgstr ""
#: links.py:20
msgid "Default ACLs"
msgstr ""
#: links.py:21
msgid "List of classes"
msgstr ""
#: links.py:22
msgid "ACLs for class"
msgstr ""
#: managers.py:119 managers.py:131
msgid "Insufficient access."
msgstr ""
#: models.py:25 models.py:67
msgid "permission"
msgstr ""
#: models.py:51
msgid "access entry"
msgstr ""
#: models.py:52
msgid "access entries"
msgstr ""
#: models.py:88
msgid "default access entry"
msgstr ""
#: models.py:89
msgid "default access entries"
msgstr ""
#: models.py:108
msgid "Creator"
msgstr ""
#: models.py:111 models.py:112
msgid "creator"
msgstr ""
#: permissions.py:7 permissions.py:8
msgid "Access control lists"
msgstr ""
#: permissions.py:10
msgid "Edit ACLs"
msgstr ""
#: permissions.py:11
msgid "View ACLs"
msgstr ""
#: permissions.py:13
msgid "Edit class default ACLs"
msgstr ""
#: permissions.py:14
msgid "View class default ACLs"
msgstr ""
#: registry.py:10
msgid "ACL"
msgstr ""
#: registry.py:11
msgid "Handles object level access control."
msgstr ""
#: views.py:47
#, python-format
msgid "access control lists for: %s"
msgstr ""
#: views.py:49 views.py:409
msgid "holder"
msgstr ""
#: views.py:50 views.py:410
msgid "permissions"
msgstr ""
#: views.py:97
#, python-format
msgid "permissions available to: %(actor)s for %(obj)s"
msgstr ""
#: views.py:104 views.py:442
msgid "namespace"
msgstr ""
#: views.py:105 views.py:443
msgid "label"
msgstr ""
#: views.py:107 views.py:445
msgid "has permission"
msgstr ""
#: views.py:184 views.py:277 views.py:525 views.py:604
msgid ", "
msgstr ""
#: views.py:185 views.py:278 views.py:526 views.py:605
#, python-format
msgid " for %s"
msgstr ""
#: views.py:186 views.py:527
#, python-format
msgid " to %s"
msgstr ""
#: views.py:189 views.py:530
#, python-format
msgid "Are you sure you wish to grant the permission %(title_suffix)s?"
msgstr ""
#: views.py:191 views.py:532
#, python-format
msgid "Are you sure you wish to grant the permissions %(title_suffix)s?"
msgstr ""
#: views.py:198 views.py:539
#, python-format
msgid "Permission \"%(permission)s\" granted to %(actor)s for %(object)s."
msgstr ""
#: views.py:204 views.py:545
#, python-format
msgid ""
"%(actor)s, already had the permission \"%(permission)s\" granted for "
"%(object)s."
msgstr ""
#: views.py:279 views.py:606
#, python-format
msgid " from %s"
msgstr ""
#: views.py:282 views.py:609
#, python-format
msgid "Are you sure you wish to revoke the permission %(title_suffix)s?"
msgstr ""
#: views.py:284 views.py:611
#, python-format
msgid "Are you sure you wish to revoke the permissions %(title_suffix)s?"
msgstr ""
#: views.py:291 views.py:618
#, python-format
msgid "Permission \"%(permission)s\" revoked of %(actor)s for %(object)s."
msgstr ""
#: views.py:297 views.py:624
#, python-format
msgid "%(actor)s, didn't had the permission \"%(permission)s\" for %(object)s."
msgstr ""
#: views.py:353
#, python-format
msgid "add new holder for: %s"
msgstr ""
#: views.py:354 views.py:486
msgid "Select"
msgstr ""
#: views.py:386
msgid "classes"
msgstr ""
#: views.py:388
msgid "class"
msgstr ""
#: views.py:407
#, python-format
msgid "default access control lists for class: %s"
msgstr ""
#: views.py:435
#, python-format
msgid "permissions available to: %(actor)s for class %(class)s"
msgstr ""
#: views.py:484
#, python-format
msgid "add new holder for class: %s"
msgstr ""
Binary file not shown.
+253
View File
@@ -0,0 +1,253 @@
# SOME DESCRIPTIVE TITLE.
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
# This file is distributed under the same license as the PACKAGE package.
#
# Translators:
# Roberto Rosario <roberto.rosario.gonzalez@gmail.com>, 2012.
msgid ""
msgstr ""
"Project-Id-Version: Mayan EDMS\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2012-12-14 04:18-0400\n"
"PO-Revision-Date: 2012-02-12 00:16+0000\n"
"Last-Translator: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>\n"
"Language-Team: Spanish (http://www.transifex.com/projects/p/mayan-edms/"
"language/es/)\n"
"Language: es\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
#: forms.py:21 links.py:18 links.py:24
msgid "New holder"
msgstr "Nuevo titular"
#: forms.py:38
msgid "Users"
msgstr "Usuarios"
#: forms.py:41
msgid "Groups"
msgstr "Grupos"
#: forms.py:44
msgid "Roles"
msgstr "Funciones"
#: forms.py:47
msgid "Special"
msgstr "Especial"
#: links.py:14
msgid "ACLs"
msgstr "LCA"
#: links.py:15 links.py:23
msgid "details"
msgstr "detalles"
#: links.py:16 links.py:25
msgid "grant"
msgstr "otorgar"
#: links.py:17 links.py:26
msgid "revoke"
msgstr "revocar"
#: links.py:20
msgid "Default ACLs"
msgstr "LCA por defecto"
#: links.py:21
msgid "List of classes"
msgstr "Lista de clases"
#: links.py:22
msgid "ACLs for class"
msgstr "LCA para la clase"
#: managers.py:119 managers.py:131
msgid "Insufficient access."
msgstr "Acceso insuficiente."
#: models.py:25 models.py:67
msgid "permission"
msgstr "permiso"
#: models.py:51
msgid "access entry"
msgstr "entrada de acceso"
#: models.py:52
msgid "access entries"
msgstr "entradas de acceso"
#: models.py:88
msgid "default access entry"
msgstr "entrada de acceso por defecto"
#: models.py:89
msgid "default access entries"
msgstr "entradas de acceso por defecto"
#: models.py:108
msgid "Creator"
msgstr "Creador"
#: models.py:111 models.py:112
msgid "creator"
msgstr "creador"
#: permissions.py:7 permissions.py:8
msgid "Access control lists"
msgstr "Listas de control de acceso"
#: permissions.py:10
msgid "Edit ACLs"
msgstr "Editar LCA"
#: permissions.py:11
msgid "View ACLs"
msgstr "Ver LCA"
#: permissions.py:13
msgid "Edit class default ACLs"
msgstr "Editar LCA por defecto de la clase"
#: permissions.py:14
msgid "View class default ACLs"
msgstr "Ver LCA por defecto de la clase"
#: registry.py:10
#, fuzzy
msgid "ACL"
msgstr "LCA"
#: registry.py:11
msgid "Handles object level access control."
msgstr ""
#: views.py:47
#, python-format
msgid "access control lists for: %s"
msgstr "listas de control de acceso para: %s"
#: views.py:49 views.py:409
msgid "holder"
msgstr "titular"
#: views.py:50 views.py:410
msgid "permissions"
msgstr "permisos"
#: views.py:97
#, python-format
msgid "permissions available to: %(actor)s for %(obj)s"
msgstr "permisos disponibles a: %(actor)s para %(obj)s "
#: views.py:104 views.py:442
msgid "namespace"
msgstr "espacio de nombres"
#: views.py:105 views.py:443
msgid "label"
msgstr "etiqueta"
#: views.py:107 views.py:445
msgid "has permission"
msgstr "tiene permiso"
#: views.py:184 views.py:277 views.py:525 views.py:604
msgid ", "
msgstr ", "
#: views.py:185 views.py:278 views.py:526 views.py:605
#, python-format
msgid " for %s"
msgstr " para %s"
#: views.py:186 views.py:527
#, python-format
msgid " to %s"
msgstr " a %s"
#: views.py:189 views.py:530
#, python-format
msgid "Are you sure you wish to grant the permission %(title_suffix)s?"
msgstr "¿Está seguro que desea conceder el permiso %(title_suffix)s?"
#: views.py:191 views.py:532
#, python-format
msgid "Are you sure you wish to grant the permissions %(title_suffix)s?"
msgstr "¿Está seguro que desea conceder los permisos de %(title_suffix)s?"
#: views.py:198 views.py:539
#, python-format
msgid "Permission \"%(permission)s\" granted to %(actor)s for %(object)s."
msgstr "Permiso \"%(permission)s\" otorgado a %(actor)s para %(object)s."
#: views.py:204 views.py:545
#, python-format
msgid ""
"%(actor)s, already had the permission \"%(permission)s\" granted for "
"%(object)s."
msgstr ""
"%(actor)s, ya tenía el permiso \"%(permission)s\", otorgado para %(object)s."
#: views.py:279 views.py:606
#, python-format
msgid " from %s"
msgstr " de %s"
#: views.py:282 views.py:609
#, python-format
msgid "Are you sure you wish to revoke the permission %(title_suffix)s?"
msgstr "¿Está seguro que desea revocar el permiso %(title_suffix)s?"
#: views.py:284 views.py:611
#, python-format
msgid "Are you sure you wish to revoke the permissions %(title_suffix)s?"
msgstr "¿Está seguro de querer revocar los permisos %(title_suffix)s?"
#: views.py:291 views.py:618
#, python-format
msgid "Permission \"%(permission)s\" revoked of %(actor)s for %(object)s."
msgstr "Permiso \"%(permission)s\" revocado del %(actor)s para %(object)s."
#: views.py:297 views.py:624
#, python-format
msgid "%(actor)s, didn't had the permission \"%(permission)s\" for %(object)s."
msgstr "%(actor)s, no tenía el permiso \"%(permission)s\" para %(object)s."
#: views.py:353
#, python-format
msgid "add new holder for: %s"
msgstr "añadir nuevo titular para: %s"
#: views.py:354 views.py:486
msgid "Select"
msgstr "Seleccionar"
#: views.py:386
msgid "classes"
msgstr "clases"
#: views.py:388
msgid "class"
msgstr "clase"
#: views.py:407
#, python-format
msgid "default access control lists for class: %s"
msgstr "listas de control de acceso por defecto para la clase: %s"
#: views.py:435
#, python-format
msgid "permissions available to: %(actor)s for class %(class)s"
msgstr "permisos disponibles para: %(actor)s para la clase %(class)s "
#: views.py:484
#, python-format
msgid "add new holder for class: %s"
msgstr "añadir nuevo titular para la clase: %s"
Binary file not shown.
+258
View File
@@ -0,0 +1,258 @@
# SOME DESCRIPTIVE TITLE.
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
# This file is distributed under the same license as the PACKAGE package.
#
# Translators:
# Pierre Lhoste <peter.cathbad.host@gmail.com>, 2012.
msgid ""
msgstr ""
"Project-Id-Version: Mayan EDMS\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2012-12-14 04:18-0400\n"
"PO-Revision-Date: 2012-07-28 15:20+0000\n"
"Last-Translator: Pierre Lhoste <peter.cathbad.host@gmail.com>\n"
"Language-Team: French (http://www.transifex.com/projects/p/mayan-edms/"
"language/fr/)\n"
"Language: fr\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n > 1);\n"
#: forms.py:21 links.py:18 links.py:24
msgid "New holder"
msgstr "Nouveau détenteur"
#: forms.py:38
msgid "Users"
msgstr "Utilisateurs"
#: forms.py:41
msgid "Groups"
msgstr "Groupes"
#: forms.py:44
msgid "Roles"
msgstr "Rôles"
#: forms.py:47
msgid "Special"
msgstr "Spécial"
#: links.py:14
msgid "ACLs"
msgstr "ACLs"
#: links.py:15 links.py:23
msgid "details"
msgstr "détails"
#: links.py:16 links.py:25
msgid "grant"
msgstr "autoriser"
#: links.py:17 links.py:26
msgid "revoke"
msgstr "révoquer"
#: links.py:20
msgid "Default ACLs"
msgstr "ACLs par défaut"
#: links.py:21
msgid "List of classes"
msgstr "Liste des classes"
#: links.py:22
msgid "ACLs for class"
msgstr "ACLs pour la classe"
#: managers.py:119 managers.py:131
msgid "Insufficient access."
msgstr "Autorisations insuffisantes."
#: models.py:25 models.py:67
msgid "permission"
msgstr "autorisation"
#: models.py:51
msgid "access entry"
msgstr "autorisation d'accès"
#: models.py:52
msgid "access entries"
msgstr "autorisations d'accès"
#: models.py:88
msgid "default access entry"
msgstr "autorisation d'accès par défaut"
#: models.py:89
msgid "default access entries"
msgstr "autorisations d'accès par défaut"
#: models.py:108
msgid "Creator"
msgstr "Créateur"
#: models.py:111 models.py:112
msgid "creator"
msgstr "créateur"
#: permissions.py:7 permissions.py:8
msgid "Access control lists"
msgstr "Listes de contrôle d'accès (ACL)"
#: permissions.py:10
msgid "Edit ACLs"
msgstr "Modifier ACLs"
#: permissions.py:11
msgid "View ACLs"
msgstr "Afficher ACLs"
#: permissions.py:13
msgid "Edit class default ACLs"
msgstr "Modifier ACLs par défaut"
#: permissions.py:14
msgid "View class default ACLs"
msgstr "Afficher ACLs par défaut pour la classe"
#: registry.py:10
#, fuzzy
msgid "ACL"
msgstr "ACLs"
#: registry.py:11
msgid "Handles object level access control."
msgstr ""
#: views.py:47
#, python-format
msgid "access control lists for: %s"
msgstr "Liste de contrôle d'accès (ACL) pour: %s"
#: views.py:49 views.py:409
msgid "holder"
msgstr "détenteur"
#: views.py:50 views.py:410
msgid "permissions"
msgstr "autorisations"
#: views.py:97
#, python-format
msgid "permissions available to: %(actor)s for %(obj)s"
msgstr "autorisations pour: %(actor)s for %(obj)s"
#: views.py:104 views.py:442
msgid "namespace"
msgstr "espace de nommage"
#: views.py:105 views.py:443
msgid "label"
msgstr "label"
#: views.py:107 views.py:445
msgid "has permission"
msgstr "autorisation accordée "
#: views.py:184 views.py:277 views.py:525 views.py:604
msgid ", "
msgstr ","
#: views.py:185 views.py:278 views.py:526 views.py:605
#, python-format
msgid " for %s"
msgstr "à %s"
#: views.py:186 views.py:527
#, python-format
msgid " to %s"
msgstr "sur %s"
#: views.py:189 views.py:530
#, python-format
msgid "Are you sure you wish to grant the permission %(title_suffix)s?"
msgstr ""
"Êtes vous certain de vouloir attribuer l'autorisation %(title_suffix)s?"
#: views.py:191 views.py:532
#, python-format
msgid "Are you sure you wish to grant the permissions %(title_suffix)s?"
msgstr ""
"Êtes vous certain de vouloir attribuer les autorisations %(title_suffix)s?"
#: views.py:198 views.py:539
#, python-format
msgid "Permission \"%(permission)s\" granted to %(actor)s for %(object)s."
msgstr "Autorisation \"%(permission)s\" accordée à %(actor)s sur %(object)s."
#: views.py:204 views.py:545
#, python-format
msgid ""
"%(actor)s, already had the permission \"%(permission)s\" granted for "
"%(object)s."
msgstr ""
"%(actor)s, dispose déjà de l'autorisation \"%(permission)s\" accordée sur "
"%(object)s."
#: views.py:279 views.py:606
#, python-format
msgid " from %s"
msgstr "de %s"
#: views.py:282 views.py:609
#, python-format
msgid "Are you sure you wish to revoke the permission %(title_suffix)s?"
msgstr "Êtes vous certain de vouloir révoquer l'autorisation %(title_suffix)s?"
#: views.py:284 views.py:611
#, python-format
msgid "Are you sure you wish to revoke the permissions %(title_suffix)s?"
msgstr ""
"Êtes vous certain de vouloir révoquer les autorisations %(title_suffix)s?"
#: views.py:291 views.py:618
#, python-format
msgid "Permission \"%(permission)s\" revoked of %(actor)s for %(object)s."
msgstr ""
"Autorisation \"%(permission)s\" révoquée pour %(actor)s sur %(object)s."
#: views.py:297 views.py:624
#, python-format
msgid "%(actor)s, didn't had the permission \"%(permission)s\" for %(object)s."
msgstr "%(actor)s, n'a pas l'autorisation \"%(permission)s\" sur %(object)s."
#: views.py:353
#, python-format
msgid "add new holder for: %s"
msgstr "ajouter un nouveau détenteur pour: %s"
#: views.py:354 views.py:486
msgid "Select"
msgstr "Sélectionner"
#: views.py:386
msgid "classes"
msgstr "classes"
#: views.py:388
msgid "class"
msgstr "classe"
#: views.py:407
#, python-format
msgid "default access control lists for class: %s"
msgstr "liste de contrôle d'accès (ACL) par défaut pour: %s"
#: views.py:435
#, python-format
msgid "permissions available to: %(actor)s for class %(class)s"
msgstr "autorisations attribuées à: %(actor)s sur la classe %(class)s"
#: views.py:484
#, python-format
msgid "add new holder for class: %s"
msgstr "ajouter un nouveau détenteur sur la classe: %s"
Binary file not shown.
+254
View File
@@ -0,0 +1,254 @@
# SOME DESCRIPTIVE TITLE.
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
# This file is distributed under the same license as the PACKAGE package.
#
# Translators:
# Carlo Zanatto <>, 2012.
# Pierpaolo Baldan <pierpaolo.baldan@gmail.com>, 2012.
# Roberto Rosario <roberto.rosario.gonzalez@gmail.com>, 2012.
msgid ""
msgstr ""
"Project-Id-Version: Mayan EDMS\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2012-12-14 04:18-0400\n"
"PO-Revision-Date: 2012-06-08 07:20+0000\n"
"Last-Translator: Carlo Zanatto <>\n"
"Language-Team: Italian (http://www.transifex.com/projects/p/mayan-edms/"
"language/it/)\n"
"Language: it\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
#: forms.py:21 links.py:18 links.py:24
msgid "New holder"
msgstr "Nuovo titolare"
#: forms.py:38
msgid "Users"
msgstr "Utenti"
#: forms.py:41
msgid "Groups"
msgstr "Gruppi"
#: forms.py:44
msgid "Roles"
msgstr "Ruoli"
#: forms.py:47
msgid "Special"
msgstr "Speciale"
#: links.py:14
msgid "ACLs"
msgstr "ACL"
#: links.py:15 links.py:23
msgid "details"
msgstr "dettagli"
#: links.py:16 links.py:25
msgid "grant"
msgstr "permetti"
#: links.py:17 links.py:26
msgid "revoke"
msgstr "revocare"
#: links.py:20
msgid "Default ACLs"
msgstr "Default ACL"
#: links.py:21
msgid "List of classes"
msgstr "Elenco delle classi"
#: links.py:22
msgid "ACLs for class"
msgstr "ACL per la classe"
#: managers.py:119 managers.py:131
msgid "Insufficient access."
msgstr "Accesso insufficiente."
#: models.py:25 models.py:67
msgid "permission"
msgstr "autorizzazione"
#: models.py:51
msgid "access entry"
msgstr "voce di accesso"
#: models.py:52
msgid "access entries"
msgstr "voci di accesso"
#: models.py:88
msgid "default access entry"
msgstr "accesso voce predefinita"
#: models.py:89
msgid "default access entries"
msgstr "voci di accesso predefinite "
#: models.py:108
msgid "Creator"
msgstr "Creatore"
#: models.py:111 models.py:112
msgid "creator"
msgstr "creatore"
#: permissions.py:7 permissions.py:8
msgid "Access control lists"
msgstr "Liste di controllo accessi"
#: permissions.py:10
msgid "Edit ACLs"
msgstr "Modifica ACL"
#: permissions.py:11
msgid "View ACLs"
msgstr "Visualizza ACL"
#: permissions.py:13
msgid "Edit class default ACLs"
msgstr "Modifica ACL predefiniti di classe"
#: permissions.py:14
msgid "View class default ACLs"
msgstr "Visualizza classi ACL predefinite"
#: registry.py:10
#, fuzzy
msgid "ACL"
msgstr "ACL"
#: registry.py:11
msgid "Handles object level access control."
msgstr ""
#: views.py:47
#, python-format
msgid "access control lists for: %s"
msgstr "lista controllo accessi per: %s"
#: views.py:49 views.py:409
msgid "holder"
msgstr "titolare"
#: views.py:50 views.py:410
msgid "permissions"
msgstr "le autorizzazioni"
#: views.py:97
#, python-format
msgid "permissions available to: %(actor)s for %(obj)s"
msgstr "autorizzazioni disponibili per: %(actor)s per %(obj)s "
#: views.py:104 views.py:442
msgid "namespace"
msgstr "namespace"
#: views.py:105 views.py:443
msgid "label"
msgstr "etichetta"
#: views.py:107 views.py:445
msgid "has permission"
msgstr "ha l'autorizzazione"
#: views.py:184 views.py:277 views.py:525 views.py:604
msgid ", "
msgstr ", "
#: views.py:185 views.py:278 views.py:526 views.py:605
#, python-format
msgid " for %s"
msgstr "per %s"
#: views.py:186 views.py:527
#, python-format
msgid " to %s"
msgstr "a %s"
#: views.py:189 views.py:530
#, python-format
msgid "Are you sure you wish to grant the permission %(title_suffix)s?"
msgstr "Sei sicuro di voler concedere l'autorizzazione %(title_suffix)s?"
#: views.py:191 views.py:532
#, python-format
msgid "Are you sure you wish to grant the permissions %(title_suffix)s?"
msgstr "Sei sicuro di voler concedere permessi %(title_suffix)s?"
#: views.py:198 views.py:539
#, python-format
msgid "Permission \"%(permission)s\" granted to %(actor)s for %(object)s."
msgstr "Permesso \"%(permission)s\" concesso%(actor)s per %(object)s."
#: views.py:204 views.py:545
#, python-format
msgid ""
"%(actor)s, already had the permission \"%(permission)s\" granted for "
"%(object)s."
msgstr "%(actor)s, ha già i permessi\"%(permission)s\" concessi per%(object)s."
#: views.py:279 views.py:606
#, python-format
msgid " from %s"
msgstr "da %s"
#: views.py:282 views.py:609
#, python-format
msgid "Are you sure you wish to revoke the permission %(title_suffix)s?"
msgstr "Sei sicuro di voler revocare l'autorizzazione %(title_suffix)s?"
#: views.py:284 views.py:611
#, python-format
msgid "Are you sure you wish to revoke the permissions %(title_suffix)s?"
msgstr "Sei sicuro di voler revocare permessi %(title_suffix)s?"
#: views.py:291 views.py:618
#, python-format
msgid "Permission \"%(permission)s\" revoked of %(actor)s for %(object)s."
msgstr "Permessi \"%(permission)s\" revocati al %(actor)s per %(object)s."
#: views.py:297 views.py:624
#, python-format
msgid "%(actor)s, didn't had the permission \"%(permission)s\" for %(object)s."
msgstr "%(actor)s, non ha i permessi\"%(permission)s\" per %(object)s."
#: views.py:353
#, python-format
msgid "add new holder for: %s"
msgstr "aggiungi nuovo titolare per: %s"
#: views.py:354 views.py:486
msgid "Select"
msgstr "Selezionare"
#: views.py:386
msgid "classes"
msgstr "classi"
#: views.py:388
msgid "class"
msgstr "classe"
#: views.py:407
#, python-format
msgid "default access control lists for class: %s"
msgstr "lista di default per il controllo accessi per la classe: %s"
#: views.py:435
#, python-format
msgid "permissions available to: %(actor)s for class %(class)s"
msgstr "permessi disponibili per: %(actor)s per la classe %(class)s"
#: views.py:484
#, python-format
msgid "add new holder for class: %s"
msgstr "aggiungi un nuovo titolare per la calsse: %s"
Binary file not shown.
@@ -0,0 +1,250 @@
# SOME DESCRIPTIVE TITLE.
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
# This file is distributed under the same license as the PACKAGE package.
#
# Translators:
msgid ""
msgstr ""
"Project-Id-Version: Mayan EDMS\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2012-12-14 04:18-0400\n"
"PO-Revision-Date: 2012-01-02 09:45+0000\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: Dutch (Netherlands) (http://www.transifex.com/projects/p/"
"mayan-edms/language/nl_NL/)\n"
"Language: nl_NL\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
#: forms.py:21 links.py:18 links.py:24
msgid "New holder"
msgstr ""
#: forms.py:38
msgid "Users"
msgstr ""
#: forms.py:41
msgid "Groups"
msgstr ""
#: forms.py:44
msgid "Roles"
msgstr ""
#: forms.py:47
msgid "Special"
msgstr ""
#: links.py:14
msgid "ACLs"
msgstr ""
#: links.py:15 links.py:23
msgid "details"
msgstr ""
#: links.py:16 links.py:25
msgid "grant"
msgstr ""
#: links.py:17 links.py:26
msgid "revoke"
msgstr ""
#: links.py:20
msgid "Default ACLs"
msgstr ""
#: links.py:21
msgid "List of classes"
msgstr ""
#: links.py:22
msgid "ACLs for class"
msgstr ""
#: managers.py:119 managers.py:131
msgid "Insufficient access."
msgstr ""
#: models.py:25 models.py:67
msgid "permission"
msgstr ""
#: models.py:51
msgid "access entry"
msgstr ""
#: models.py:52
msgid "access entries"
msgstr ""
#: models.py:88
msgid "default access entry"
msgstr ""
#: models.py:89
msgid "default access entries"
msgstr ""
#: models.py:108
msgid "Creator"
msgstr ""
#: models.py:111 models.py:112
msgid "creator"
msgstr ""
#: permissions.py:7 permissions.py:8
msgid "Access control lists"
msgstr ""
#: permissions.py:10
msgid "Edit ACLs"
msgstr ""
#: permissions.py:11
msgid "View ACLs"
msgstr ""
#: permissions.py:13
msgid "Edit class default ACLs"
msgstr ""
#: permissions.py:14
msgid "View class default ACLs"
msgstr ""
#: registry.py:10
msgid "ACL"
msgstr ""
#: registry.py:11
msgid "Handles object level access control."
msgstr ""
#: views.py:47
#, python-format
msgid "access control lists for: %s"
msgstr ""
#: views.py:49 views.py:409
msgid "holder"
msgstr ""
#: views.py:50 views.py:410
msgid "permissions"
msgstr ""
#: views.py:97
#, python-format
msgid "permissions available to: %(actor)s for %(obj)s"
msgstr ""
#: views.py:104 views.py:442
msgid "namespace"
msgstr ""
#: views.py:105 views.py:443
msgid "label"
msgstr ""
#: views.py:107 views.py:445
msgid "has permission"
msgstr ""
#: views.py:184 views.py:277 views.py:525 views.py:604
msgid ", "
msgstr ""
#: views.py:185 views.py:278 views.py:526 views.py:605
#, python-format
msgid " for %s"
msgstr ""
#: views.py:186 views.py:527
#, python-format
msgid " to %s"
msgstr ""
#: views.py:189 views.py:530
#, python-format
msgid "Are you sure you wish to grant the permission %(title_suffix)s?"
msgstr ""
#: views.py:191 views.py:532
#, python-format
msgid "Are you sure you wish to grant the permissions %(title_suffix)s?"
msgstr ""
#: views.py:198 views.py:539
#, python-format
msgid "Permission \"%(permission)s\" granted to %(actor)s for %(object)s."
msgstr ""
#: views.py:204 views.py:545
#, python-format
msgid ""
"%(actor)s, already had the permission \"%(permission)s\" granted for "
"%(object)s."
msgstr ""
#: views.py:279 views.py:606
#, python-format
msgid " from %s"
msgstr ""
#: views.py:282 views.py:609
#, python-format
msgid "Are you sure you wish to revoke the permission %(title_suffix)s?"
msgstr ""
#: views.py:284 views.py:611
#, python-format
msgid "Are you sure you wish to revoke the permissions %(title_suffix)s?"
msgstr ""
#: views.py:291 views.py:618
#, python-format
msgid "Permission \"%(permission)s\" revoked of %(actor)s for %(object)s."
msgstr ""
#: views.py:297 views.py:624
#, python-format
msgid "%(actor)s, didn't had the permission \"%(permission)s\" for %(object)s."
msgstr ""
#: views.py:353
#, python-format
msgid "add new holder for: %s"
msgstr ""
#: views.py:354 views.py:486
msgid "Select"
msgstr ""
#: views.py:386
msgid "classes"
msgstr ""
#: views.py:388
msgid "class"
msgstr ""
#: views.py:407
#, python-format
msgid "default access control lists for class: %s"
msgstr ""
#: views.py:435
#, python-format
msgid "permissions available to: %(actor)s for class %(class)s"
msgstr ""
#: views.py:484
#, python-format
msgid "add new holder for class: %s"
msgstr ""
Binary file not shown.
+251
View File
@@ -0,0 +1,251 @@
# SOME DESCRIPTIVE TITLE.
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
# This file is distributed under the same license as the PACKAGE package.
#
# Translators:
msgid ""
msgstr ""
"Project-Id-Version: Mayan EDMS\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2012-12-14 04:18-0400\n"
"PO-Revision-Date: 2012-01-02 09:45+0000\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: Polish (http://www.transifex.com/projects/p/mayan-edms/"
"language/pl/)\n"
"Language: pl\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=3; plural=(n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 "
"|| n%100>=20) ? 1 : 2);\n"
#: forms.py:21 links.py:18 links.py:24
msgid "New holder"
msgstr ""
#: forms.py:38
msgid "Users"
msgstr ""
#: forms.py:41
msgid "Groups"
msgstr ""
#: forms.py:44
msgid "Roles"
msgstr ""
#: forms.py:47
msgid "Special"
msgstr ""
#: links.py:14
msgid "ACLs"
msgstr ""
#: links.py:15 links.py:23
msgid "details"
msgstr ""
#: links.py:16 links.py:25
msgid "grant"
msgstr ""
#: links.py:17 links.py:26
msgid "revoke"
msgstr ""
#: links.py:20
msgid "Default ACLs"
msgstr ""
#: links.py:21
msgid "List of classes"
msgstr ""
#: links.py:22
msgid "ACLs for class"
msgstr ""
#: managers.py:119 managers.py:131
msgid "Insufficient access."
msgstr ""
#: models.py:25 models.py:67
msgid "permission"
msgstr ""
#: models.py:51
msgid "access entry"
msgstr ""
#: models.py:52
msgid "access entries"
msgstr ""
#: models.py:88
msgid "default access entry"
msgstr ""
#: models.py:89
msgid "default access entries"
msgstr ""
#: models.py:108
msgid "Creator"
msgstr ""
#: models.py:111 models.py:112
msgid "creator"
msgstr ""
#: permissions.py:7 permissions.py:8
msgid "Access control lists"
msgstr ""
#: permissions.py:10
msgid "Edit ACLs"
msgstr ""
#: permissions.py:11
msgid "View ACLs"
msgstr ""
#: permissions.py:13
msgid "Edit class default ACLs"
msgstr ""
#: permissions.py:14
msgid "View class default ACLs"
msgstr ""
#: registry.py:10
msgid "ACL"
msgstr ""
#: registry.py:11
msgid "Handles object level access control."
msgstr ""
#: views.py:47
#, python-format
msgid "access control lists for: %s"
msgstr ""
#: views.py:49 views.py:409
msgid "holder"
msgstr ""
#: views.py:50 views.py:410
msgid "permissions"
msgstr ""
#: views.py:97
#, python-format
msgid "permissions available to: %(actor)s for %(obj)s"
msgstr ""
#: views.py:104 views.py:442
msgid "namespace"
msgstr ""
#: views.py:105 views.py:443
msgid "label"
msgstr ""
#: views.py:107 views.py:445
msgid "has permission"
msgstr ""
#: views.py:184 views.py:277 views.py:525 views.py:604
msgid ", "
msgstr ""
#: views.py:185 views.py:278 views.py:526 views.py:605
#, python-format
msgid " for %s"
msgstr ""
#: views.py:186 views.py:527
#, python-format
msgid " to %s"
msgstr ""
#: views.py:189 views.py:530
#, python-format
msgid "Are you sure you wish to grant the permission %(title_suffix)s?"
msgstr ""
#: views.py:191 views.py:532
#, python-format
msgid "Are you sure you wish to grant the permissions %(title_suffix)s?"
msgstr ""
#: views.py:198 views.py:539
#, python-format
msgid "Permission \"%(permission)s\" granted to %(actor)s for %(object)s."
msgstr ""
#: views.py:204 views.py:545
#, python-format
msgid ""
"%(actor)s, already had the permission \"%(permission)s\" granted for "
"%(object)s."
msgstr ""
#: views.py:279 views.py:606
#, python-format
msgid " from %s"
msgstr ""
#: views.py:282 views.py:609
#, python-format
msgid "Are you sure you wish to revoke the permission %(title_suffix)s?"
msgstr ""
#: views.py:284 views.py:611
#, python-format
msgid "Are you sure you wish to revoke the permissions %(title_suffix)s?"
msgstr ""
#: views.py:291 views.py:618
#, python-format
msgid "Permission \"%(permission)s\" revoked of %(actor)s for %(object)s."
msgstr ""
#: views.py:297 views.py:624
#, python-format
msgid "%(actor)s, didn't had the permission \"%(permission)s\" for %(object)s."
msgstr ""
#: views.py:353
#, python-format
msgid "add new holder for: %s"
msgstr ""
#: views.py:354 views.py:486
msgid "Select"
msgstr ""
#: views.py:386
msgid "classes"
msgstr ""
#: views.py:388
msgid "class"
msgstr ""
#: views.py:407
#, python-format
msgid "default access control lists for class: %s"
msgstr ""
#: views.py:435
#, python-format
msgid "permissions available to: %(actor)s for class %(class)s"
msgstr ""
#: views.py:484
#, python-format
msgid "add new holder for class: %s"
msgstr ""
Binary file not shown.
+252
View File
@@ -0,0 +1,252 @@
# SOME DESCRIPTIVE TITLE.
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
# This file is distributed under the same license as the PACKAGE package.
#
# Translators:
# Vítor Figueiró <vfigueiro@gmail.com>, 2012.
msgid ""
msgstr ""
"Project-Id-Version: Mayan EDMS\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2012-12-14 04:18-0400\n"
"PO-Revision-Date: 2012-07-03 19:01+0000\n"
"Last-Translator: Vítor Figueiró <vfigueiro@gmail.com>\n"
"Language-Team: Portuguese (http://www.transifex.com/projects/p/mayan-edms/"
"language/pt/)\n"
"Language: pt\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
#: forms.py:21 links.py:18 links.py:24
msgid "New holder"
msgstr "Novo detentor"
#: forms.py:38
msgid "Users"
msgstr "Utilizadores"
#: forms.py:41
msgid "Groups"
msgstr "Grupos"
#: forms.py:44
msgid "Roles"
msgstr "Funções"
#: forms.py:47
msgid "Special"
msgstr "Especial"
#: links.py:14
msgid "ACLs"
msgstr "ACL's"
#: links.py:15 links.py:23
msgid "details"
msgstr "detalhes"
#: links.py:16 links.py:25
msgid "grant"
msgstr "conceder"
#: links.py:17 links.py:26
msgid "revoke"
msgstr "revogar"
#: links.py:20
msgid "Default ACLs"
msgstr "ACL's padrão"
#: links.py:21
msgid "List of classes"
msgstr "Lista de classes"
#: links.py:22
msgid "ACLs for class"
msgstr "ACL's para a classe"
#: managers.py:119 managers.py:131
msgid "Insufficient access."
msgstr "Acesso insuficiente."
#: models.py:25 models.py:67
msgid "permission"
msgstr "permissão"
#: models.py:51
msgid "access entry"
msgstr "entrada de acesso"
#: models.py:52
msgid "access entries"
msgstr "entradas de acesso"
#: models.py:88
msgid "default access entry"
msgstr "entrada de acesso padrão"
#: models.py:89
msgid "default access entries"
msgstr "entradas de acesso padrão"
#: models.py:108
msgid "Creator"
msgstr "Criador"
#: models.py:111 models.py:112
msgid "creator"
msgstr "criador"
#: permissions.py:7 permissions.py:8
msgid "Access control lists"
msgstr "Listas de controlo de acesso"
#: permissions.py:10
msgid "Edit ACLs"
msgstr "Editar ACL's"
#: permissions.py:11
msgid "View ACLs"
msgstr "Ver ACL's"
#: permissions.py:13
msgid "Edit class default ACLs"
msgstr "Editar os ACL's padrão da classe"
#: permissions.py:14
msgid "View class default ACLs"
msgstr "Ver os ACL's padrão da classe"
#: registry.py:10
#, fuzzy
msgid "ACL"
msgstr "ACL's"
#: registry.py:11
msgid "Handles object level access control."
msgstr ""
#: views.py:47
#, python-format
msgid "access control lists for: %s"
msgstr "listas de controlo de acesso para: %s"
#: views.py:49 views.py:409
msgid "holder"
msgstr "detentor"
#: views.py:50 views.py:410
msgid "permissions"
msgstr "permissões"
#: views.py:97
#, python-format
msgid "permissions available to: %(actor)s for %(obj)s"
msgstr "permissões disponíveis para: %(actor)s para %(obj)s"
#: views.py:104 views.py:442
msgid "namespace"
msgstr "escopo"
#: views.py:105 views.py:443
msgid "label"
msgstr "rótulo"
#: views.py:107 views.py:445
msgid "has permission"
msgstr "tem a permissão"
#: views.py:184 views.py:277 views.py:525 views.py:604
msgid ", "
msgstr ", "
#: views.py:185 views.py:278 views.py:526 views.py:605
#, python-format
msgid " for %s"
msgstr " para %s"
#: views.py:186 views.py:527
#, python-format
msgid " to %s"
msgstr " a %s"
#: views.py:189 views.py:530
#, python-format
msgid "Are you sure you wish to grant the permission %(title_suffix)s?"
msgstr "Tem a certeza de que pretende conceder a permissão %(title_suffix)s?"
#: views.py:191 views.py:532
#, python-format
msgid "Are you sure you wish to grant the permissions %(title_suffix)s?"
msgstr "Tem a certeza de que pretende conceder as permissões %(title_suffix)s?"
#: views.py:198 views.py:539
#, python-format
msgid "Permission \"%(permission)s\" granted to %(actor)s for %(object)s."
msgstr "Permissão \"%(permission)s\" concedida a %(actor)s para %(object)s."
#: views.py:204 views.py:545
#, python-format
msgid ""
"%(actor)s, already had the permission \"%(permission)s\" granted for "
"%(object)s."
msgstr "%(actor)s, já possuia a permissão \"%(permission)s\" para %(object)s."
#: views.py:279 views.py:606
#, python-format
msgid " from %s"
msgstr " de %s"
#: views.py:282 views.py:609
#, python-format
msgid "Are you sure you wish to revoke the permission %(title_suffix)s?"
msgstr "Tem a certeza de que pretende revogar a permissão %(title_suffix)s?"
#: views.py:284 views.py:611
#, python-format
msgid "Are you sure you wish to revoke the permissions %(title_suffix)s?"
msgstr "Tem a certeza de que pretende revogar as permissões %(title_suffix)s?"
#: views.py:291 views.py:618
#, python-format
msgid "Permission \"%(permission)s\" revoked of %(actor)s for %(object)s."
msgstr "Permissão \"%(permission)s\" revogada para %(actor)s para %(object)s."
#: views.py:297 views.py:624
#, python-format
msgid "%(actor)s, didn't had the permission \"%(permission)s\" for %(object)s."
msgstr "%(actor)s, não tinha a permissão \"%(permission)s\" para %(object)s."
#: views.py:353
#, python-format
msgid "add new holder for: %s"
msgstr "adicionar novo detentor para: %s"
#: views.py:354 views.py:486
msgid "Select"
msgstr "Selecionar"
#: views.py:386
msgid "classes"
msgstr "classes"
#: views.py:388
msgid "class"
msgstr "classe"
#: views.py:407
#, python-format
msgid "default access control lists for class: %s"
msgstr "Listas de controlo de acesso padrão para a classe: %s"
#: views.py:435
#, python-format
msgid "permissions available to: %(actor)s for class %(class)s"
msgstr "permissões disponíveis para: %(actor)s para a classe %(class)s"
#: views.py:484
#, python-format
msgid "add new holder for class: %s"
msgstr "adicionar novo detentor para a classe: %s"
Binary file not shown.
@@ -0,0 +1,250 @@
# SOME DESCRIPTIVE TITLE.
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
# This file is distributed under the same license as the PACKAGE package.
#
# Translators:
msgid ""
msgstr ""
"Project-Id-Version: Mayan EDMS\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2012-12-14 04:18-0400\n"
"PO-Revision-Date: 2012-01-02 09:45+0000\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: Portuguese (Brazil) (http://www.transifex.com/projects/p/"
"mayan-edms/language/pt_BR/)\n"
"Language: pt_BR\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n > 1);\n"
#: forms.py:21 links.py:18 links.py:24
msgid "New holder"
msgstr ""
#: forms.py:38
msgid "Users"
msgstr ""
#: forms.py:41
msgid "Groups"
msgstr ""
#: forms.py:44
msgid "Roles"
msgstr ""
#: forms.py:47
msgid "Special"
msgstr ""
#: links.py:14
msgid "ACLs"
msgstr ""
#: links.py:15 links.py:23
msgid "details"
msgstr ""
#: links.py:16 links.py:25
msgid "grant"
msgstr ""
#: links.py:17 links.py:26
msgid "revoke"
msgstr ""
#: links.py:20
msgid "Default ACLs"
msgstr ""
#: links.py:21
msgid "List of classes"
msgstr ""
#: links.py:22
msgid "ACLs for class"
msgstr ""
#: managers.py:119 managers.py:131
msgid "Insufficient access."
msgstr ""
#: models.py:25 models.py:67
msgid "permission"
msgstr ""
#: models.py:51
msgid "access entry"
msgstr ""
#: models.py:52
msgid "access entries"
msgstr ""
#: models.py:88
msgid "default access entry"
msgstr ""
#: models.py:89
msgid "default access entries"
msgstr ""
#: models.py:108
msgid "Creator"
msgstr ""
#: models.py:111 models.py:112
msgid "creator"
msgstr ""
#: permissions.py:7 permissions.py:8
msgid "Access control lists"
msgstr ""
#: permissions.py:10
msgid "Edit ACLs"
msgstr ""
#: permissions.py:11
msgid "View ACLs"
msgstr ""
#: permissions.py:13
msgid "Edit class default ACLs"
msgstr ""
#: permissions.py:14
msgid "View class default ACLs"
msgstr ""
#: registry.py:10
msgid "ACL"
msgstr ""
#: registry.py:11
msgid "Handles object level access control."
msgstr ""
#: views.py:47
#, python-format
msgid "access control lists for: %s"
msgstr ""
#: views.py:49 views.py:409
msgid "holder"
msgstr ""
#: views.py:50 views.py:410
msgid "permissions"
msgstr ""
#: views.py:97
#, python-format
msgid "permissions available to: %(actor)s for %(obj)s"
msgstr ""
#: views.py:104 views.py:442
msgid "namespace"
msgstr ""
#: views.py:105 views.py:443
msgid "label"
msgstr ""
#: views.py:107 views.py:445
msgid "has permission"
msgstr ""
#: views.py:184 views.py:277 views.py:525 views.py:604
msgid ", "
msgstr ""
#: views.py:185 views.py:278 views.py:526 views.py:605
#, python-format
msgid " for %s"
msgstr ""
#: views.py:186 views.py:527
#, python-format
msgid " to %s"
msgstr ""
#: views.py:189 views.py:530
#, python-format
msgid "Are you sure you wish to grant the permission %(title_suffix)s?"
msgstr ""
#: views.py:191 views.py:532
#, python-format
msgid "Are you sure you wish to grant the permissions %(title_suffix)s?"
msgstr ""
#: views.py:198 views.py:539
#, python-format
msgid "Permission \"%(permission)s\" granted to %(actor)s for %(object)s."
msgstr ""
#: views.py:204 views.py:545
#, python-format
msgid ""
"%(actor)s, already had the permission \"%(permission)s\" granted for "
"%(object)s."
msgstr ""
#: views.py:279 views.py:606
#, python-format
msgid " from %s"
msgstr ""
#: views.py:282 views.py:609
#, python-format
msgid "Are you sure you wish to revoke the permission %(title_suffix)s?"
msgstr ""
#: views.py:284 views.py:611
#, python-format
msgid "Are you sure you wish to revoke the permissions %(title_suffix)s?"
msgstr ""
#: views.py:291 views.py:618
#, python-format
msgid "Permission \"%(permission)s\" revoked of %(actor)s for %(object)s."
msgstr ""
#: views.py:297 views.py:624
#, python-format
msgid "%(actor)s, didn't had the permission \"%(permission)s\" for %(object)s."
msgstr ""
#: views.py:353
#, python-format
msgid "add new holder for: %s"
msgstr ""
#: views.py:354 views.py:486
msgid "Select"
msgstr ""
#: views.py:386
msgid "classes"
msgstr ""
#: views.py:388
msgid "class"
msgstr ""
#: views.py:407
#, python-format
msgid "default access control lists for class: %s"
msgstr ""
#: views.py:435
#, python-format
msgid "permissions available to: %(actor)s for class %(class)s"
msgstr ""
#: views.py:484
#, python-format
msgid "add new holder for class: %s"
msgstr ""
Binary file not shown.
+253
View File
@@ -0,0 +1,253 @@
# SOME DESCRIPTIVE TITLE.
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
# This file is distributed under the same license as the PACKAGE package.
#
# Translators:
# Sergey Glita <gsv70@mail.ru>, 2012.
msgid ""
msgstr ""
"Project-Id-Version: Mayan EDMS\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2012-12-14 04:18-0400\n"
"PO-Revision-Date: 2012-02-27 04:26+0000\n"
"Last-Translator: Sergey Glita <gsv70@mail.ru>\n"
"Language-Team: Russian (http://www.transifex.com/projects/p/mayan-edms/"
"language/ru/)\n"
"Language: ru\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n"
"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
#: forms.py:21 links.py:18 links.py:24
msgid "New holder"
msgstr "Новый владелец"
#: forms.py:38
msgid "Users"
msgstr "Пользователи"
#: forms.py:41
msgid "Groups"
msgstr "Группы"
#: forms.py:44
msgid "Roles"
msgstr "Роли"
#: forms.py:47
msgid "Special"
msgstr "Специальный"
#: links.py:14
msgid "ACLs"
msgstr "Списки ACL"
#: links.py:15 links.py:23
msgid "details"
msgstr "детали"
#: links.py:16 links.py:25
msgid "grant"
msgstr "предоставить"
#: links.py:17 links.py:26
msgid "revoke"
msgstr "отозвать"
#: links.py:20
msgid "Default ACLs"
msgstr "ACL по умолчанию"
#: links.py:21
msgid "List of classes"
msgstr "Список классов"
#: links.py:22
msgid "ACLs for class"
msgstr "ACL для класса"
#: managers.py:119 managers.py:131
msgid "Insufficient access."
msgstr "Недостаточный доступ."
#: models.py:25 models.py:67
msgid "permission"
msgstr "разрешение"
#: models.py:51
msgid "access entry"
msgstr "запись доступа"
#: models.py:52
msgid "access entries"
msgstr "записи доступа"
#: models.py:88
msgid "default access entry"
msgstr "запись доступа по умолчанию"
#: models.py:89
msgid "default access entries"
msgstr "записи доступа по умолчанию"
#: models.py:108
msgid "Creator"
msgstr "Создатель"
#: models.py:111 models.py:112
msgid "creator"
msgstr "создатель"
#: permissions.py:7 permissions.py:8
msgid "Access control lists"
msgstr "Списки контроля доступа"
#: permissions.py:10
msgid "Edit ACLs"
msgstr "Редактировать списки ACL"
#: permissions.py:11
msgid "View ACLs"
msgstr "Просмотр списков ACL"
#: permissions.py:13
msgid "Edit class default ACLs"
msgstr "Редактировать списки ACL класса по умолчанию"
#: permissions.py:14
msgid "View class default ACLs"
msgstr "Просмотр списков ACL класса по умолчанию"
#: registry.py:10
#, fuzzy
msgid "ACL"
msgstr "Списки ACL"
#: registry.py:11
msgid "Handles object level access control."
msgstr ""
#: views.py:47
#, python-format
msgid "access control lists for: %s"
msgstr "списки контроля доступа для %s"
#: views.py:49 views.py:409
msgid "holder"
msgstr "владелец"
#: views.py:50 views.py:410
msgid "permissions"
msgstr "разрешения"
#: views.py:97
#, python-format
msgid "permissions available to: %(actor)s for %(obj)s"
msgstr "разрешения, доступные %(actor)s для %(obj)s"
#: views.py:104 views.py:442
msgid "namespace"
msgstr "пространство имен"
#: views.py:105 views.py:443
msgid "label"
msgstr "этикетка"
#: views.py:107 views.py:445
msgid "has permission"
msgstr "имеет разрешение"
#: views.py:184 views.py:277 views.py:525 views.py:604
msgid ", "
msgstr ","
#: views.py:185 views.py:278 views.py:526 views.py:605
#, python-format
msgid " for %s"
msgstr "для %s"
#: views.py:186 views.py:527
#, python-format
msgid " to %s"
msgstr "до %s"
#: views.py:189 views.py:530
#, python-format
msgid "Are you sure you wish to grant the permission %(title_suffix)s?"
msgstr "Вы действительно хотите предоставить разрешение %(title_suffix)s?"
#: views.py:191 views.py:532
#, python-format
msgid "Are you sure you wish to grant the permissions %(title_suffix)s?"
msgstr "Вы уверены, что хотите предоставить разрешения %(title_suffix)s?"
#: views.py:198 views.py:539
#, python-format
msgid "Permission \"%(permission)s\" granted to %(actor)s for %(object)s."
msgstr "Право \"%(permission)s\" проедоставлено %(actor)s для %(object)s."
#: views.py:204 views.py:545
#, python-format
msgid ""
"%(actor)s, already had the permission \"%(permission)s\" granted for "
"%(object)s."
msgstr "%(actor)s, уже имеет право \"%(permission)s\" для %(object)s."
#: views.py:279 views.py:606
#, python-format
msgid " from %s"
msgstr "от%s"
#: views.py:282 views.py:609
#, python-format
msgid "Are you sure you wish to revoke the permission %(title_suffix)s?"
msgstr "Вы уверены, что хотите отменить разрешение %(title_suffix)s?"
#: views.py:284 views.py:611
#, python-format
msgid "Are you sure you wish to revoke the permissions %(title_suffix)s?"
msgstr "Вы уверены, что хотите отменить разрешение %(title_suffix)s?"
#: views.py:291 views.py:618
#, python-format
msgid "Permission \"%(permission)s\" revoked of %(actor)s for %(object)s."
msgstr "Право \"%(permission)s\" для %(object)s отозвано у %(actor)s."
#: views.py:297 views.py:624
#, python-format
msgid "%(actor)s, didn't had the permission \"%(permission)s\" for %(object)s."
msgstr "%(actor)s не имеет права \"%(permission)s\" для %(object)s."
#: views.py:353
#, python-format
msgid "add new holder for: %s"
msgstr "добавить нового владельца для %s"
#: views.py:354 views.py:486
msgid "Select"
msgstr "Выбор"
#: views.py:386
msgid "classes"
msgstr "классы"
#: views.py:388
msgid "class"
msgstr "класс"
#: views.py:407
#, python-format
msgid "default access control lists for class: %s"
msgstr "списки контроля доступа умолчанию для класса %s"
#: views.py:435
#, python-format
msgid "permissions available to: %(actor)s for class %(class)s"
msgstr "разрешения доступные %(actor)s для класса %(class)s"
#: views.py:484
#, python-format
msgid "add new holder for class: %s"
msgstr "добавить нового владельца для класса %s"
@@ -0,0 +1,241 @@
# SOME DESCRIPTIVE TITLE.
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
# This file is distributed under the same license as the PACKAGE package.
#
# Translators:
msgid ""
msgstr ""
"Project-Id-Version: Mayan EDMS\n"
"Report-Msgid-Bugs-To: http://github.com/rosarior/mayan/issues\n"
"POT-Creation-Date: 2012-12-12 01:48-0400\n"
"PO-Revision-Date: 2012-01-02 09:45+0000\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: Slovenian (Slovenia) (http://www.transifex.com/projects/p/mayan-edms/language/sl_SI/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Language: sl_SI\n"
"Plural-Forms: nplurals=4; plural=(n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || n%100==4 ? 2 : 3);\n"
#: __init__.py:14
msgid "ACLs"
msgstr ""
#: __init__.py:15 __init__.py:23
msgid "details"
msgstr ""
#: __init__.py:16 __init__.py:25
msgid "grant"
msgstr ""
#: __init__.py:17 __init__.py:26
msgid "revoke"
msgstr ""
#: __init__.py:18 __init__.py:24 forms.py:21
msgid "New holder"
msgstr ""
#: __init__.py:20
msgid "Default ACLs"
msgstr ""
#: __init__.py:21
msgid "List of classes"
msgstr ""
#: __init__.py:22
msgid "ACLs for class"
msgstr ""
#: forms.py:38
msgid "Users"
msgstr ""
#: forms.py:41
msgid "Groups"
msgstr ""
#: forms.py:44
msgid "Roles"
msgstr ""
#: forms.py:47
msgid "Special"
msgstr ""
#: managers.py:118 managers.py:130
msgid "Insufficient access."
msgstr ""
#: models.py:25 models.py:67
msgid "permission"
msgstr ""
#: models.py:51
msgid "access entry"
msgstr ""
#: models.py:52
msgid "access entries"
msgstr ""
#: models.py:88
msgid "default access entry"
msgstr ""
#: models.py:89
msgid "default access entries"
msgstr ""
#: models.py:108
msgid "Creator"
msgstr ""
#: models.py:111 models.py:112
msgid "creator"
msgstr ""
#: permissions.py:7 permissions.py:8
msgid "Access control lists"
msgstr ""
#: permissions.py:10
msgid "Edit ACLs"
msgstr ""
#: permissions.py:11
msgid "View ACLs"
msgstr ""
#: permissions.py:13
msgid "Edit class default ACLs"
msgstr ""
#: permissions.py:14
msgid "View class default ACLs"
msgstr ""
#: views.py:47
#, python-format
msgid "access control lists for: %s"
msgstr ""
#: views.py:49 views.py:409
msgid "holder"
msgstr ""
#: views.py:50 views.py:410
msgid "permissions"
msgstr ""
#: views.py:97
#, python-format
msgid "permissions available to: %(actor)s for %(obj)s"
msgstr ""
#: views.py:104 views.py:442
msgid "namespace"
msgstr ""
#: views.py:105 views.py:443
msgid "label"
msgstr ""
#: views.py:107 views.py:445
msgid "has permission"
msgstr ""
#: views.py:184 views.py:277 views.py:525 views.py:604
msgid ", "
msgstr ""
#: views.py:185 views.py:278 views.py:526 views.py:605
#, python-format
msgid " for %s"
msgstr ""
#: views.py:186 views.py:527
#, python-format
msgid " to %s"
msgstr ""
#: views.py:189 views.py:530
#, python-format
msgid "Are you sure you wish to grant the permission %(title_suffix)s?"
msgstr ""
#: views.py:191 views.py:532
#, python-format
msgid "Are you sure you wish to grant the permissions %(title_suffix)s?"
msgstr ""
#: views.py:198 views.py:539
#, python-format
msgid "Permission \"%(permission)s\" granted to %(actor)s for %(object)s."
msgstr ""
#: views.py:204 views.py:545
#, python-format
msgid ""
"%(actor)s, already had the permission \"%(permission)s\" granted for "
"%(object)s."
msgstr ""
#: views.py:279 views.py:606
#, python-format
msgid " from %s"
msgstr ""
#: views.py:282 views.py:609
#, python-format
msgid "Are you sure you wish to revoke the permission %(title_suffix)s?"
msgstr ""
#: views.py:284 views.py:611
#, python-format
msgid "Are you sure you wish to revoke the permissions %(title_suffix)s?"
msgstr ""
#: views.py:291 views.py:618
#, python-format
msgid "Permission \"%(permission)s\" revoked of %(actor)s for %(object)s."
msgstr ""
#: views.py:297 views.py:624
#, python-format
msgid "%(actor)s, didn't had the permission \"%(permission)s\" for %(object)s."
msgstr ""
#: views.py:353
#, python-format
msgid "add new holder for: %s"
msgstr ""
#: views.py:354 views.py:486
msgid "Select"
msgstr ""
#: views.py:386
msgid "classes"
msgstr ""
#: views.py:388
msgid "class"
msgstr ""
#: views.py:407
#, python-format
msgid "default access control lists for class: %s"
msgstr ""
#: views.py:435
#, python-format
msgid "permissions available to: %(actor)s for class %(class)s"
msgstr ""
#: views.py:484
#, python-format
msgid "add new holder for class: %s"
msgstr ""
+331
View File
@@ -0,0 +1,331 @@
from __future__ import absolute_import
import logging
from django.db import models
from django.utils.translation import ugettext
from django.contrib.contenttypes.models import ContentType
from django.contrib.auth.models import User
from django.core.exceptions import PermissionDenied
from django.core.urlresolvers import reverse
from django.db.models import Q
from common.models import AnonymousUserSingleton
from common.classes import get_source_object
from permissions.models import Permission, RoleMember
from .classes import AccessHolder, ClassAccessHolder
logger = logging.getLogger(__name__)
class AccessEntryManager(models.Manager):
"""
Implement a 3 tier permission system, involving a permissions, an actor
and an object
"""
def grant(self, permission, actor, obj):
"""
Grant a permission (what), (to) an actor, (on) a specific object
"""
obj = get_source_object(obj)
actor = get_source_object(actor)
access_entry, created = self.model.objects.get_or_create(
permission=permission,
holder_type=ContentType.objects.get_for_model(actor),
holder_id=actor.pk,
content_type=ContentType.objects.get_for_model(obj),
object_id=obj.pk
)
return created
def revoke(self, permission, actor, obj):
"""
Revoke a permission (what), (from) an actor, (on) a specific object
"""
obj = get_source_object(obj)
actor = get_source_object(actor)
try:
access_entry = self.model.objects.get(
permission=permission,
holder_type=ContentType.objects.get_for_model(actor),
holder_id=actor.pk,
content_type=ContentType.objects.get_for_model(obj),
object_id=obj.pk
)
except self.model.DoesNotExist:
return False
else:
access_entry.delete()
return True
def has_access(self, permission, actor, obj, db_only=False):
"""
Returns whether an actor has a specific permission for an object
"""
obj = get_source_object(obj)
actor = get_source_object(actor)
if isinstance(actor, User) and db_only == False:
# db_only causes the return of only the stored permissions
# and not the perceived permissions for an actor
if actor.is_superuser or actor.is_staff:
return True
actor = AnonymousUserSingleton.objects.passthru_check(actor)
try:
content_type = ContentType.objects.get_for_model(obj)
except AttributeError:
# Object doesn't have a content type, therefore allow access
return True
try:
self.model.objects.get(
permission=permission.get_stored_permission(),
holder_type=ContentType.objects.get_for_model(actor),
holder_id=actor.pk,
content_type=content_type,
object_id=obj.pk
)
except self.model.DoesNotExist:
# If not check if the actor's memberships is one of
# the access's holder?
roles = RoleMember.objects.get_roles_for_member(actor)
if isinstance(actor, User):
groups = actor.groups.all()
else:
groups = []
for membership in list(set(roles) | set(groups)):
if self.has_access(permission, membership, obj, db_only):
return True
logger.debug('Fallthru')
return False
else:
return True
def check_access(self, permission, actor, obj):
# TODO: Merge with has_access
obj = get_source_object(obj)
actor = get_source_object(actor)
if self.has_access(permission, actor, obj):
return True
else:
raise PermissionDenied(ugettext(u'Insufficient access.'))
def check_accesses(self, permission_list, actor, obj):
"""
Returns whether an actor has at least one of a list of permissions for an object
"""
obj = get_source_object(obj)
actor = get_source_object(actor)
for permission in permission_list:
if self.has_access(permission, actor, obj):
return True
raise PermissionDenied(ugettext(u'Insufficient access.'))
def get_allowed_class_objects(self, permission, actor, cls, related=None):
logger.debug('related: %s' % related)
actor = AnonymousUserSingleton.objects.passthru_check(actor)
actor_type = ContentType.objects.get_for_model(actor)
content_type = ContentType.objects.get_for_model(cls)
# Calculate actor role membership ACL query
total_queries = Q()
for role in RoleMember.objects.get_roles_for_member(actor):
role_type = ContentType.objects.get_for_model(role)
if related:
query = Q(holder_type=role_type, holder_id=role.pk, permission=permission.get_stored_permission)
else:
query = Q(holder_type=role_type, holder_id=role.pk, content_type=content_type, permission=permission.get_stored_permission)
if not total_queries:
total_queries = query
else:
total_queries = total_queries | query
# Calculate actor group membership ACL query
if isinstance(actor, User):
groups = actor.groups.all()
else:
groups = []
for group in groups:
group_type = ContentType.objects.get_for_model(group)
if related:
query = Q(holder_type=group_type, holder_id=group.pk, permission=permission.get_stored_permission)
else:
query = Q(holder_type=group_type, holder_id=group.pk, content_type=content_type, permission=permission.get_stored_permission)
if not total_queries:
total_queries = query
else:
total_queries = total_queries | query
if related:
actor_query = Q(holder_type=actor_type, holder_id=actor.pk, permission=permission.get_stored_permission)
master_list = [obj.content_object for obj in self.model.objects.select_related().filter(actor_query | total_queries)]
logger.debug('master_list: %s' % master_list)
# TODO: update to use Q objects and check performance diff
# kwargs = {'%s__in' % related: master_list}
# Q(**kwargs)
return (obj for obj in cls.objects.all() if getattr(obj, related) in master_list)
else:
actor_query = Q(holder_type=actor_type, holder_id=actor.pk, content_type=content_type, permission=permission.get_stored_permission)
return (obj.content_object for obj in self.model.objects.filter(actor_query | total_queries))
def get_acl_url(self, obj):
content_type = ContentType.objects.get_for_model(obj)
return reverse('acl_list', args=[content_type.app_label, content_type.model, obj.pk])
def get_new_holder_url(self, obj):
content_type = ContentType.objects.get_for_model(obj)
return reverse('acl_new_holder_for', args=[content_type.app_label, content_type.model, obj.pk])
def get_holders_for(self, obj):
content_type = ContentType.objects.get_for_model(obj)
holder_list = []
for access_entry in self.model.objects.filter(content_type=content_type, object_id=obj.pk):
if access_entry.holder_object:
# Don't add references to non existant content type objects
entry = AccessHolder.encapsulate(access_entry.holder_object)
if entry not in holder_list:
holder_list.append(entry)
return holder_list
def get_holder_permissions_for(self, obj, actor, db_only=False):
"""
Returns a list of actors that hold at least one permission for
a specific object
"""
logger.debug('obj: %s' % obj)
logger.debug('actor: %s' % actor)
if isinstance(actor, User) and db_only == False:
if actor.is_superuser or actor.is_staff:
return Permission.objects.all()
actor_type = ContentType.objects.get_for_model(actor)
content_type = ContentType.objects.get_for_model(obj)
return (access.permission for access in self.model.objects.filter(content_type=content_type, object_id=obj.pk, holder_type=actor_type, holder_id=actor.pk))
def filter_objects_by_access(self, permission, actor, object_list, exception_on_empty=False, related=None):
"""
Filter a list of objects or a QuerySet elements depending on
whether the actor holds the specified permission
"""
logger.debug('exception_on_empty: %s' % exception_on_empty)
logger.debug('object_list: %s' % object_list)
if isinstance(actor, User):
if actor.is_superuser or actor.is_staff:
return object_list
try:
if object_list.count() == 0:
return object_list
except TypeError:
# object_list is not a queryset
if len(object_list) == 0:
return object_list
try:
# Try to process as a QuerySet
qs = object_list.filter(pk__in=[obj.pk for obj in self.get_allowed_class_objects(permission, actor, object_list[0].__class__, related)])
logger.debug('qs: %s' % qs)
if qs.count() == 0 and exception_on_empty == True:
raise PermissionDenied
return qs
except AttributeError:
# Fallback to a filtered list
object_list = list(set(object_list) & set(self.get_allowed_class_objects(permission, actor, object_list[0].__class__, related)))
logger.debug('object_list: %s' % object_list)
if len(object_list) == 0 and exception_on_empty == True:
raise PermissionDenied
return object_list
class DefaultAccessEntryManager(models.Manager):
"""
Implement a 3 tier permission system, involving a permission, an actor
and a class or content type. This model keeps track of the access
control lists that will be added when an instance of the recorded
content type is created.
"""
def get_holders_for(self, cls):
cls = get_source_object(cls)
content_type = ContentType.objects.get_for_model(cls)
holder_list = []
for access_entry in self.model.objects.filter(content_type=content_type):
if access_entry.holder_object:
# Don't add references to non existant content type objects
entry = ClassAccessHolder.encapsulate(access_entry.holder_object)
if entry not in holder_list:
holder_list.append(entry)
return holder_list
def has_access(self, permission, actor, cls):
if isinstance(actor, User):
if actor.is_superuser or actor.is_staff:
return True
try:
self.model.objects.get(
permission=permission.get_stored_permission(),
holder_type=ContentType.objects.get_for_model(actor),
holder_id=actor.pk,
content_type=ContentType.objects.get_for_model(cls),
)
except self.model.DoesNotExist:
return False
else:
return True
def grant(self, permission, actor, cls):
"""
Grant a permission (what), (to) an actor, (on) a specific class
"""
access_entry, created = self.model.objects.get_or_create(
permission=permission,
holder_type=ContentType.objects.get_for_model(actor),
holder_id=actor.pk,
content_type=ContentType.objects.get_for_model(cls),
)
return created
def revoke(self, permission, actor, cls):
"""
Revoke a permission (what), (from) an actor, (on) a specific class
"""
try:
access_entry = self.model.objects.get(
permission=permission,
holder_type=ContentType.objects.get_for_model(actor),
holder_id=actor.pk,
content_type=ContentType.objects.get_for_model(cls),
)
access_entry.delete()
return True
except self.model.DoesNotExist:
return False
def get_holder_permissions_for(self, cls, actor):
if isinstance(actor, User):
if actor.is_superuser or actor.is_staff:
return Permission.objects.all()
actor_type = ContentType.objects.get_for_model(actor)
content_type = ContentType.objects.get_for_model(cls)
return [access.permission for access in self.model.objects.filter(content_type=content_type, holder_type=actor_type, holder_id=actor.pk)]
+89
View File
@@ -0,0 +1,89 @@
# -*- coding: utf-8 -*-
import datetime
from south.db import db
from south.v2 import SchemaMigration
from django.db import models
class Migration(SchemaMigration):
def forwards(self, orm):
# Adding model 'AccessEntry'
db.create_table('acls_accessentry', (
('id', self.gf('django.db.models.fields.AutoField')(primary_key=True)),
('permission', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['permissions.StoredPermission'])),
('holder_type', self.gf('django.db.models.fields.related.ForeignKey')(related_name='access_holder', to=orm['contenttypes.ContentType'])),
('holder_id', self.gf('django.db.models.fields.PositiveIntegerField')()),
('content_type', self.gf('django.db.models.fields.related.ForeignKey')(related_name='object_content_type', to=orm['contenttypes.ContentType'])),
('object_id', self.gf('django.db.models.fields.PositiveIntegerField')()),
))
db.send_create_signal('acls', ['AccessEntry'])
# Adding model 'DefaultAccessEntry'
db.create_table('acls_defaultaccessentry', (
('id', self.gf('django.db.models.fields.AutoField')(primary_key=True)),
('permission', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['permissions.StoredPermission'])),
('holder_type', self.gf('django.db.models.fields.related.ForeignKey')(related_name='default_access_entry_holder', to=orm['contenttypes.ContentType'])),
('holder_id', self.gf('django.db.models.fields.PositiveIntegerField')()),
('content_type', self.gf('django.db.models.fields.related.ForeignKey')(related_name='default_access_entry_class', to=orm['contenttypes.ContentType'])),
))
db.send_create_signal('acls', ['DefaultAccessEntry'])
# Adding model 'CreatorSingleton'
db.create_table('acls_creatorsingleton', (
('id', self.gf('django.db.models.fields.AutoField')(primary_key=True)),
('lock_id', self.gf('django.db.models.fields.CharField')(default=1, unique=True, max_length=1)),
))
db.send_create_signal('acls', ['CreatorSingleton'])
def backwards(self, orm):
# Deleting model 'AccessEntry'
db.delete_table('acls_accessentry')
# Deleting model 'DefaultAccessEntry'
db.delete_table('acls_defaultaccessentry')
# Deleting model 'CreatorSingleton'
db.delete_table('acls_creatorsingleton')
models = {
'acls.accessentry': {
'Meta': {'object_name': 'AccessEntry'},
'content_type': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'object_content_type'", 'to': "orm['contenttypes.ContentType']"}),
'holder_id': ('django.db.models.fields.PositiveIntegerField', [], {}),
'holder_type': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'access_holder'", 'to': "orm['contenttypes.ContentType']"}),
'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
'object_id': ('django.db.models.fields.PositiveIntegerField', [], {}),
'permission': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['permissions.StoredPermission']"})
},
'acls.creatorsingleton': {
'Meta': {'object_name': 'CreatorSingleton'},
'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
'lock_id': ('django.db.models.fields.CharField', [], {'default': '1', 'unique': 'True', 'max_length': '1'})
},
'acls.defaultaccessentry': {
'Meta': {'object_name': 'DefaultAccessEntry'},
'content_type': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'default_access_entry_class'", 'to': "orm['contenttypes.ContentType']"}),
'holder_id': ('django.db.models.fields.PositiveIntegerField', [], {}),
'holder_type': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'default_access_entry_holder'", 'to': "orm['contenttypes.ContentType']"}),
'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
'permission': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['permissions.StoredPermission']"})
},
'contenttypes.contenttype': {
'Meta': {'ordering': "('name',)", 'unique_together': "(('app_label', 'model'),)", 'object_name': 'ContentType', 'db_table': "'django_content_type'"},
'app_label': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
'model': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
'name': ('django.db.models.fields.CharField', [], {'max_length': '100'})
},
'permissions.storedpermission': {
'Meta': {'ordering': "('namespace',)", 'unique_together': "(('namespace', 'name'),)", 'object_name': 'StoredPermission'},
'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
'name': ('django.db.models.fields.CharField', [], {'max_length': '64'}),
'namespace': ('django.db.models.fields.CharField', [], {'max_length': '64'})
}
}
complete_apps = ['acls']
View File
+112
View File
@@ -0,0 +1,112 @@
from __future__ import absolute_import
import logging
from django.db import models
from django.utils.translation import ugettext_lazy as _
from django.utils.translation import ugettext
from django.contrib.contenttypes.models import ContentType
from django.contrib.contenttypes import generic
from permissions.models import StoredPermission
from common.models import Singleton, SingletonManager
from .managers import AccessEntryManager, DefaultAccessEntryManager
from .classes import AccessObjectClass
from .api import get_classes
logger = logging.getLogger(__name__)
class AccessEntry(models.Model):
"""
Model that hold the permission, object, actor relationship
"""
permission = models.ForeignKey(StoredPermission, verbose_name=_(u'permission'))
holder_type = models.ForeignKey(
ContentType,
related_name='access_holder',
limit_choices_to={'model__in': ('user', 'group', 'role')}
)
holder_id = models.PositiveIntegerField()
holder_object = generic.GenericForeignKey(
ct_field='holder_type',
fk_field='holder_id'
)
content_type = models.ForeignKey(
ContentType,
related_name='object_content_type'
)
object_id = models.PositiveIntegerField()
content_object = generic.GenericForeignKey(
ct_field='content_type',
fk_field='object_id'
)
objects = AccessEntryManager()
class Meta:
verbose_name = _(u'access entry')
verbose_name_plural = _(u'access entries')
def __unicode__(self):
return u'%s: %s' % (self.content_type, self.content_object)
class DefaultAccessEntry(models.Model):
"""
Model that holds the permission, class, actor relationship, that will
be added upon the creation of an instance of said class
"""
@classmethod
def get_classes(cls):
return [AccessObjectClass.encapsulate(cls) for cls in get_classes()]
permission = models.ForeignKey(StoredPermission, verbose_name=_(u'permission'))
holder_type = models.ForeignKey(
ContentType,
limit_choices_to={'model__in': ('user', 'group', 'role')},
related_name='default_access_entry_holder'
)
holder_id = models.PositiveIntegerField()
holder_object = generic.GenericForeignKey(
ct_field='holder_type',
fk_field='holder_id'
)
content_type = models.ForeignKey(
ContentType,
related_name='default_access_entry_class'
)
objects = DefaultAccessEntryManager()
class Meta:
verbose_name = _(u'default access entry')
verbose_name_plural = _(u'default access entries')
def __unicode__(self):
return u'%s: %s' % (self.content_type, self.content_object)
class CreatorSingletonManager(SingletonManager):
def passthru_check(self, holder, creator=None):
if isinstance(holder, self.model):
# TODO: raise explicit error if is instance and creator=None
return creator
else:
return holder
class CreatorSingleton(Singleton):
objects = CreatorSingletonManager()
def __unicode__(self):
return ugettext('Creator')
class Meta:
verbose_name = _(u'creator')
verbose_name_plural = _(u'creator')
+14
View File
@@ -0,0 +1,14 @@
from __future__ import absolute_import
from django.utils.translation import ugettext_lazy as _
from permissions.models import PermissionNamespace, Permission
acls_namespace = PermissionNamespace('acls', _(u'Access control lists'))
acls_setup_namespace = PermissionNamespace('acls_setup', _(u'Access control lists'))
ACLS_EDIT_ACL = Permission.objects.register(acls_namespace, 'acl_edit', _(u'Edit ACLs'))
ACLS_VIEW_ACL = Permission.objects.register(acls_namespace, 'acl_view', _(u'View ACLs'))
ACLS_CLASS_EDIT_ACL = Permission.objects.register(acls_setup_namespace, 'acl_class_edit', _(u'Edit class default ACLs'))
ACLS_CLASS_VIEW_ACL = Permission.objects.register(acls_setup_namespace, 'acl_class_view', _(u'View class default ACLs'))
+20
View File
@@ -0,0 +1,20 @@
from __future__ import absolute_import
from django.utils.translation import ugettext_lazy as _
from .cleanup import cleanup
from .icons import icon_acl_app
from .links import acl_setup_valid_classes
name = 'acls'
label = _(u'ACL')
description = _(u'Handles object level access control.')
icon = icon_acl_app
setup_links = [acl_setup_valid_classes]
dependencies = ['app_registry', 'permissions', 'navigation']
bootstrap_models = [
{
'name': 'defaultaccessentry',
},
]
cleanup_functions = [cleanup]
Binary file not shown.

After

Width:  |  Height:  |  Size: 1.5 KiB

View File
+71
View File
@@ -0,0 +1,71 @@
import logging
from django.core.exceptions import PermissionDenied
from django.template import (TemplateSyntaxError, Library,
Node, Variable, VariableDoesNotExist)
from acls.models import AccessEntry
register = Library()
logger = logging.getLogger(__name__)
class CheckAccessNode(Node):
def __init__(self, permission_list=None, requester=None, obj=None, *args, **kwargs):
self.requester = requester
self.permission_list = permission_list
self.obj = obj
def render(self, context):
permission_list = Variable(self.permission_list).resolve(context)
logger.debug('permission_list: %s' % u','.join([unicode(p) for p in permission_list]))
try:
# Check access_object, useful for document_page views
obj = Variable('access_object').resolve(context)
logger.debug('access_object: %s' % obj)
except VariableDoesNotExist:
try:
obj = Variable(self.obj).resolve(context)
logger.debug('obj: %s' % obj)
except VariableDoesNotExist:
context[u'access'] = False
logger.debug('no obj, access False')
return u''
if not permission_list:
# There is no permissions list to check against which means
# this link is available for all
context[u'access'] = True
return u''
requester = Variable(self.requester).resolve(context)
logger.debug('requester: %s' % requester)
if obj:
try:
AccessEntry.objects.check_accesses(permission_list, requester, obj)
except PermissionDenied:
context[u'access'] = False
logger.debug('access: False')
return u''
else:
context[u'access'] = True
logger.debug('access: True')
return u''
else:
context[u'access'] = False
logger.debug('No object, access: False')
return u''
@register.tag
def check_access(parser, token):
try:
# Splitting by None == splitting by spaces.
tag_name, args = token.contents.split(None, 1)
except ValueError:
raise TemplateSyntaxError(u'%r tag requires arguments' % token.contents.split()[0])
return CheckAccessNode(*args.split())
+20
View File
@@ -0,0 +1,20 @@
from django.conf.urls.defaults import patterns, url
urlpatterns = patterns('acls.views',
url(r'^new_holder_for/(?P<app_label>[-\w]+)/(?P<model_name>[-\w]+)/(?P<object_id>\d+)/$', 'acl_new_holder_for', (), 'acl_new_holder_for'),
url(r'^list_for/(?P<app_label>[-\w]+)/(?P<model_name>[-\w]+)/(?P<object_id>\d+)/$', 'acl_list', (), 'acl_list'),
url(r'^details/(?P<access_object_gid>[.\w]+)/holder/(?P<holder_object_gid>[.\w]+)/$', 'acl_detail', (), 'acl_detail'),
url(r'^holder/new/(?P<access_object_gid>[.\w]+)/$', 'acl_holder_new', (), 'acl_holder_new'),
url(r'^multiple/grant/$', 'acl_grant', (), 'acl_multiple_grant'),
url(r'^multiple/revoke/$', 'acl_revoke', (), 'acl_multiple_revoke'),
url(r'^class/$', 'acl_setup_valid_classes', (), 'acl_setup_valid_classes'),
url(r'^class/details/(?P<access_object_class_gid>[.\w]+)/holder/(?P<holder_object_gid>[.\w]+)/$', 'acl_class_acl_detail', (), 'acl_class_acl_detail'),
url(r'^class/list_for/(?P<access_object_class_gid>[.\w]+)/$', 'acl_class_acl_list', (), 'acl_class_acl_list'),
url(r'^class/holder/new/(?P<access_object_class_gid>[.\w]+)/$', 'acl_class_new_holder_for', (), 'acl_class_new_holder_for'),
url(r'^class/multiple/grant/$', 'acl_class_multiple_grant', (), 'acl_class_multiple_grant'),
url(r'^class/multiple/revoke/$', 'acl_class_multiple_revoke', (), 'acl_class_multiple_revoke'),
)
+34
View File
@@ -0,0 +1,34 @@
from __future__ import absolute_import
import logging
from django.contrib.contenttypes.models import ContentType
from common.classes import get_source_object
from common.models import AnonymousUserSingleton
from .models import AccessEntry, DefaultAccessEntry, CreatorSingleton
logger = logging.getLogger(__name__)
def apply_default_acls(obj, actor=None):
logger.debug('actor, init: %s' % actor)
obj = get_source_object(obj)
if actor:
actor = AnonymousUserSingleton.objects.passthru_check(actor)
content_type = ContentType.objects.get_for_model(obj)
for default_acl in DefaultAccessEntry.objects.filter(content_type=content_type):
holder = CreatorSingleton.objects.passthru_check(default_acl.holder_object, actor)
if holder:
# When the creator is admin
access_entry = AccessEntry(
permission=default_acl.permission,
holder_object=holder,
content_object=obj,
)
access_entry.save()
+649
View File
File diff suppressed because it is too large Load Diff
+27
View File
@@ -0,0 +1,27 @@
from __future__ import absolute_import
from django.utils.safestring import mark_safe
from django.contrib.contenttypes.models import ContentType
from django.db.models.base import ModelBase
from django.template.defaultfilters import capfirst
from .literals import CONTENT_TYPE_ICON_MAP
def content_type_icon(content_type):
return mark_safe(u'<span class="famfam active famfam-%s"></span>' % CONTENT_TYPE_ICON_MAP.get('%s.%s' % (content_type.app_label, content_type.model), 'help'))
def object_w_content_type_icon(obj):
content_type = ContentType.objects.get_for_model(obj)
ct_fullname = '%s.%s' % (content_type.app_label, content_type.name)
if isinstance(obj, ModelBase):
label = getattr(obj._meta, 'verbose_name_plural', unicode(content_type))
else:
if ct_fullname == 'auth.user':
label = obj.get_full_name()
else:
label = unicode(obj)
return mark_safe('%s<span>%s</span>' % (content_type_icon(content_type), capfirst(label)))
+23
View File
@@ -0,0 +1,23 @@
from __future__ import absolute_import
import logging
from django.conf import settings
from django.utils.importlib import import_module
from .models import App
logger = logging.getLogger(__name__)
def register_apps():
for app_name in settings.INSTALLED_APPS:
logger.debug('registering: %s' % app_name)
App.register(app_name)
try:
post_init = import_module('%s.post_init' % app_name)
except ImportError:
logger.debug('Unable to import post_init module from: %s' % app_name)
register_apps()
+6
View File
@@ -0,0 +1,6 @@
from __future__ import absolute_import
from icons.literals import PLUGIN
from icons import Icon
icon_app = Icon(PLUGIN)
+10
View File
@@ -0,0 +1,10 @@
from __future__ import absolute_import
from django.utils.translation import ugettext_lazy as _
from navigation import Link
from .icons import icon_app
app_registry_tool_link = Link(text=_(u'Apps'), view='app_list', icon=icon_app)#, permissions=[PERMISSION_BACKUP_JOB_VIEW])
app_list = Link(text=_(u'app list'), view='app_list', icon=icon_app)#, permissions=[PERMISSION_BACKUP_JOB_VIEW])
@@ -0,0 +1,32 @@
# -*- coding: utf-8 -*-
import datetime
from south.db import db
from south.v2 import SchemaMigration
from django.db import models
class Migration(SchemaMigration):
def forwards(self, orm):
# Adding model 'App'
db.create_table('app_registry_app', (
('id', self.gf('django.db.models.fields.AutoField')(primary_key=True)),
('name', self.gf('django.db.models.fields.CharField')(max_length=64)),
))
db.send_create_signal('app_registry', ['App'])
def backwards(self, orm):
# Deleting model 'App'
db.delete_table('app_registry_app')
models = {
'app_registry.app': {
'Meta': {'ordering': "('name',)", 'object_name': 'App'},
'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
'name': ('django.db.models.fields.CharField', [], {'max_length': '64'})
}
}
complete_apps = ['app_registry']
@@ -0,0 +1,37 @@
# -*- coding: utf-8 -*-
import datetime
from south.db import db
from south.v2 import SchemaMigration
from django.db import models
class Migration(SchemaMigration):
def forwards(self, orm):
# Adding field 'App.icon'
db.add_column('app_registry_app', 'icon',
self.gf('django.db.models.fields.CharField')(default='', max_length=64, blank=True),
keep_default=False)
# Adding unique constraint on 'App', fields ['name']
db.create_unique('app_registry_app', ['name'])
def backwards(self, orm):
# Removing unique constraint on 'App', fields ['name']
db.delete_unique('app_registry_app', ['name'])
# Deleting field 'App.icon'
db.delete_column('app_registry_app', 'icon')
models = {
'app_registry.app': {
'Meta': {'ordering': "('name',)", 'object_name': 'App'},
'icon': ('django.db.models.fields.CharField', [], {'max_length': '64', 'blank': 'True'}),
'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
'name': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '64'})
}
}
complete_apps = ['app_registry']
@@ -0,0 +1,58 @@
# -*- coding: utf-8 -*-
import datetime
from south.db import db
from south.v2 import SchemaMigration
from django.db import models
class Migration(SchemaMigration):
def forwards(self, orm):
# Adding model 'BackupJob'
db.create_table('app_registry_backupjob', (
('id', self.gf('django.db.models.fields.AutoField')(primary_key=True)),
('name', self.gf('django.db.models.fields.CharField')(max_length=64)),
('enabled', self.gf('django.db.models.fields.BooleanField')(default=True)),
('begin_datetime', self.gf('django.db.models.fields.DateTimeField')(default=datetime.datetime(2012, 8, 18, 0, 0))),
('storage_module_name', self.gf('django.db.models.fields.CharField')(max_length=32)),
('storage_arguments_json', self.gf('django.db.models.fields.TextField')(blank=True)),
))
db.send_create_signal('app_registry', ['BackupJob'])
# Adding M2M table for field apps on 'BackupJob'
db.create_table('app_registry_backupjob_apps', (
('id', models.AutoField(verbose_name='ID', primary_key=True, auto_created=True)),
('backupjob', models.ForeignKey(orm['app_registry.backupjob'], null=False)),
('app', models.ForeignKey(orm['app_registry.app'], null=False))
))
db.create_unique('app_registry_backupjob_apps', ['backupjob_id', 'app_id'])
def backwards(self, orm):
# Deleting model 'BackupJob'
db.delete_table('app_registry_backupjob')
# Removing M2M table for field apps on 'BackupJob'
db.delete_table('app_registry_backupjob_apps')
models = {
'app_registry.app': {
'Meta': {'ordering': "('name',)", 'object_name': 'App'},
'icon': ('django.db.models.fields.CharField', [], {'max_length': '64', 'blank': 'True'}),
'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
'name': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '64'})
},
'app_registry.backupjob': {
'Meta': {'object_name': 'BackupJob'},
'apps': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['app_registry.App']", 'symmetrical': 'False'}),
'begin_datetime': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime(2012, 8, 18, 0, 0)'}),
'enabled': ('django.db.models.fields.BooleanField', [], {'default': 'True'}),
'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
'name': ('django.db.models.fields.CharField', [], {'max_length': '64'}),
'storage_arguments_json': ('django.db.models.fields.TextField', [], {'blank': 'True'}),
'storage_module_name': ('django.db.models.fields.CharField', [], {'max_length': '32'})
}
}
complete_apps = ['app_registry']
+45
View File
@@ -0,0 +1,45 @@
# -*- coding: utf-8 -*-
import datetime
from south.db import db
from south.v2 import SchemaMigration
from django.db import models
class Migration(SchemaMigration):
def forwards(self, orm):
# Adding M2M table for field dependencies on 'App'
db.create_table('app_registry_app_dependencies', (
('id', models.AutoField(verbose_name='ID', primary_key=True, auto_created=True)),
('from_app', models.ForeignKey(orm['app_registry.app'], null=False)),
('to_app', models.ForeignKey(orm['app_registry.app'], null=False))
))
db.create_unique('app_registry_app_dependencies', ['from_app_id', 'to_app_id'])
def backwards(self, orm):
# Removing M2M table for field dependencies on 'App'
db.delete_table('app_registry_app_dependencies')
models = {
'app_registry.app': {
'Meta': {'ordering': "('name',)", 'object_name': 'App'},
'dependencies': ('django.db.models.fields.related.ManyToManyField', [], {'blank': 'True', 'related_name': "'dependencies_rel_+'", 'null': 'True', 'to': "orm['app_registry.App']"}),
'icon': ('django.db.models.fields.CharField', [], {'max_length': '64', 'blank': 'True'}),
'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
'name': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '64'})
},
'app_registry.backupjob': {
'Meta': {'object_name': 'BackupJob'},
'apps': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['app_registry.App']", 'symmetrical': 'False'}),
'begin_datetime': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime(2012, 8, 18, 0, 0)'}),
'enabled': ('django.db.models.fields.BooleanField', [], {'default': 'True'}),
'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
'name': ('django.db.models.fields.CharField', [], {'max_length': '64'}),
'storage_arguments_json': ('django.db.models.fields.TextField', [], {'blank': 'True'}),
'storage_module_name': ('django.db.models.fields.CharField', [], {'max_length': '32'})
}
}
complete_apps = ['app_registry']
+44
View File
@@ -0,0 +1,44 @@
# -*- coding: utf-8 -*-
import datetime
from south.db import db
from south.v2 import SchemaMigration
from django.db import models
class Migration(SchemaMigration):
def forwards(self, orm):
# Removing M2M table for field dependencies on 'App'
db.delete_table('app_registry_app_dependencies')
def backwards(self, orm):
# Adding M2M table for field dependencies on 'App'
db.create_table('app_registry_app_dependencies', (
('id', models.AutoField(verbose_name='ID', primary_key=True, auto_created=True)),
('from_app', models.ForeignKey(orm['app_registry.app'], null=False)),
('to_app', models.ForeignKey(orm['app_registry.app'], null=False))
))
db.create_unique('app_registry_app_dependencies', ['from_app_id', 'to_app_id'])
models = {
'app_registry.app': {
'Meta': {'ordering': "('name',)", 'object_name': 'App'},
'icon': ('django.db.models.fields.CharField', [], {'max_length': '64', 'blank': 'True'}),
'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
'name': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '64'})
},
'app_registry.backupjob': {
'Meta': {'object_name': 'BackupJob'},
'apps': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['app_registry.App']", 'symmetrical': 'False'}),
'begin_datetime': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime(2012, 8, 18, 0, 0)'}),
'enabled': ('django.db.models.fields.BooleanField', [], {'default': 'True'}),
'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
'name': ('django.db.models.fields.CharField', [], {'max_length': '64'}),
'storage_arguments_json': ('django.db.models.fields.TextField', [], {'blank': 'True'}),
'storage_module_name': ('django.db.models.fields.CharField', [], {'max_length': '32'})
}
}
complete_apps = ['app_registry']
+45
View File
@@ -0,0 +1,45 @@
# -*- coding: utf-8 -*-
import datetime
from south.db import db
from south.v2 import SchemaMigration
from django.db import models
class Migration(SchemaMigration):
def forwards(self, orm):
# Adding M2M table for field dependencies on 'App'
db.create_table('app_registry_app_dependencies', (
('id', models.AutoField(verbose_name='ID', primary_key=True, auto_created=True)),
('from_app', models.ForeignKey(orm['app_registry.app'], null=False)),
('to_app', models.ForeignKey(orm['app_registry.app'], null=False))
))
db.create_unique('app_registry_app_dependencies', ['from_app_id', 'to_app_id'])
def backwards(self, orm):
# Removing M2M table for field dependencies on 'App'
db.delete_table('app_registry_app_dependencies')
models = {
'app_registry.app': {
'Meta': {'ordering': "('name',)", 'object_name': 'App'},
'dependencies': ('django.db.models.fields.related.ManyToManyField', [], {'symmetrical': 'False', 'to': "orm['app_registry.App']", 'null': 'True', 'blank': 'True'}),
'icon': ('django.db.models.fields.CharField', [], {'max_length': '64', 'blank': 'True'}),
'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
'name': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '64'})
},
'app_registry.backupjob': {
'Meta': {'object_name': 'BackupJob'},
'apps': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['app_registry.App']", 'symmetrical': 'False'}),
'begin_datetime': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime(2012, 8, 18, 0, 0)'}),
'enabled': ('django.db.models.fields.BooleanField', [], {'default': 'True'}),
'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
'name': ('django.db.models.fields.CharField', [], {'max_length': '64'}),
'storage_arguments_json': ('django.db.models.fields.TextField', [], {'blank': 'True'}),
'storage_module_name': ('django.db.models.fields.CharField', [], {'max_length': '32'})
}
}
complete_apps = ['app_registry']
@@ -0,0 +1,56 @@
# -*- coding: utf-8 -*-
import datetime
from south.db import db
from south.v2 import SchemaMigration
from django.db import models
class Migration(SchemaMigration):
def forwards(self, orm):
# Deleting model 'BackupJob'
db.delete_table('app_registry_backupjob')
# Removing M2M table for field apps on 'BackupJob'
db.delete_table('app_registry_backupjob_apps')
# Deleting field 'App.icon'
db.delete_column('app_registry_app', 'icon')
def backwards(self, orm):
# Adding model 'BackupJob'
db.create_table('app_registry_backupjob', (
('storage_arguments_json', self.gf('django.db.models.fields.TextField')(blank=True)),
('name', self.gf('django.db.models.fields.CharField')(max_length=64)),
('storage_module_name', self.gf('django.db.models.fields.CharField')(max_length=32)),
('begin_datetime', self.gf('django.db.models.fields.DateTimeField')(default=datetime.datetime(2012, 8, 18, 0, 0))),
('enabled', self.gf('django.db.models.fields.BooleanField')(default=True)),
('id', self.gf('django.db.models.fields.AutoField')(primary_key=True)),
))
db.send_create_signal('app_registry', ['BackupJob'])
# Adding M2M table for field apps on 'BackupJob'
db.create_table('app_registry_backupjob_apps', (
('id', models.AutoField(verbose_name='ID', primary_key=True, auto_created=True)),
('backupjob', models.ForeignKey(orm['app_registry.backupjob'], null=False)),
('app', models.ForeignKey(orm['app_registry.app'], null=False))
))
db.create_unique('app_registry_backupjob_apps', ['backupjob_id', 'app_id'])
# Adding field 'App.icon'
db.add_column('app_registry_app', 'icon',
self.gf('django.db.models.fields.CharField')(default='', max_length=64, blank=True),
keep_default=False)
models = {
'app_registry.app': {
'Meta': {'ordering': "('name',)", 'object_name': 'App'},
'dependencies': ('django.db.models.fields.related.ManyToManyField', [], {'symmetrical': 'False', 'to': "orm['app_registry.App']", 'null': 'True', 'blank': 'True'}),
'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
'name': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '64'})
}
}
complete_apps = ['app_registry']
+115
View File
@@ -0,0 +1,115 @@
from __future__ import absolute_import
import logging
import imp
import sys
from django.db import models
from django.db import DatabaseError, transaction
from django.utils.translation import ugettext_lazy as _
from django.utils.importlib import import_module
from common.models import TranslatableLabelMixin, LiveObjectMixin
from smart_settings import SettingsNamespace
from project_setup.api import register_setup
from project_tools.api import register_tool
from statistics.api import register_statistics
from navigation.api import register_top_menu
from bootstrap.classes import Cleanup, BootstrapModel
#from .classes import AppBackup, StorageModuleBase, Setting
logger = logging.getLogger(__name__)
class App(TranslatableLabelMixin, LiveObjectMixin, models.Model):
translatables = ['label', 'description', 'icon']
#class UnableToRegister(Exception):
# pass
name = models.CharField(max_length=64, verbose_name=_(u'name'), unique=True)
dependencies = models.ManyToManyField('self', verbose_name=_(u'dependencies'), symmetrical=False, blank=True, null=True)
#version
#top_urls
#namespace
@classmethod
@transaction.commit_on_success
def register(cls, app_name):
logger.debug('Trying to import: %s' % app_name)
try:
app_module = import_module(app_name)
except ImportError:
transaction.rollback
logger.debug('Unable to import app: %s' % app_name)
else:
logger.debug('Trying to import registry from: %s' % app_name)
try:
registration = import_module('%s.registry' % app_name)
except ImportError:
transaction.rollback
logger.debug('Unable to import registry for app: %s' % app_name)
else:
if not getattr(registration, 'disabled', False):
try:
app, created = App.objects.get_or_create(name=app_name)
except DatabaseError:
transaction.rollback()
# If database is not ready create a memory only app instance
app = App()
app.label = getattr(registration, 'label', app_name)
app.description = getattr(registration, 'description', u'')
else:
# If there are not error go ahead with the stored app instance
app.label = getattr(registration, 'label', app_name)
app.description = getattr(registration, 'description', u'')
app.dependencies.clear()
app.save()
for dependency_name in getattr(registration, 'dependencies', []):
dependency, created = App.objects.get_or_create(name=dependency_name)
app.dependencies.add(dependency)
app.icon = getattr(registration, 'icon', None)
settings = getattr(registration, 'settings', None)
if settings:
logger.debug('settings: %s' % settings)
settings_module = imp.new_module('settings')
setattr(app_module, 'settings', settings_module)
sys.modules['%s.settings' % app_name] = settings_module
settings_namespace = SettingsNamespace(app_name, app.label, '%s.settings' % app_name)
for setting in settings:
settings_namespace.add_setting(**setting)
for link in getattr(registration, 'setup_links', []):
logger.debug('setup link: %s' % link)
register_setup(link)
for link in getattr(registration, 'tool_links', []):
logger.debug('tool link: %s' % link)
register_tool(link)
for statistic in getattr(registration, 'statistics', []):
logger.debug('statistic: %s' % statistic)
register_statistics(statistic)
for index, link in enumerate(getattr(registration, 'menu_links', [])):
logger.debug('menu_link: %s' % link)
register_top_menu(name='%s.%s' % (app_name, index), link=link)
for cleanup_function in getattr(registration, 'cleanup_functions', []):
logger.debug('cleanup_function: %s' % cleanup_function)
Cleanup(cleanup_function)
for bootstrap_model in getattr(registration, 'bootstrap_models', []):
logger.debug('bootstrap_model: %s' % bootstrap_model)
BootstrapModel(model_name=bootstrap_model.get('name'), app_name=app_name, sanitize=bootstrap_model.get('sanitize', True), dependencies=bootstrap_model.get('dependencies'))
def __unicode__(self):
return unicode(self.label)
class Meta:
ordering = ('name', )
verbose_name = _(u'app')
verbose_name_plural = _(u'apps')
+13
View File
@@ -0,0 +1,13 @@
from __future__ import absolute_import
from django.utils.translation import ugettext_lazy as _
from .icons import icon_app
from .links import app_registry_tool_link
name = 'app_registry'
label = _(u'App registry')
description = _(u'Handles the registration of apps in a project.')
icon = icon_app
tool_links = [app_registry_tool_link]
dependencies = ['navigation']
Binary file not shown.

After

Width:  |  Height:  |  Size: 1.7 KiB

+5
View File
@@ -0,0 +1,5 @@
from django.conf.urls.defaults import patterns, url
urlpatterns = patterns('app_registry.views',
url(r'^list/$', 'app_list', (), 'app_list'),
)
+27
View File
@@ -0,0 +1,27 @@
from __future__ import absolute_import
from django.shortcuts import render_to_response
from django.template import RequestContext
from django.utils.translation import ugettext as _
from common.utils import encapsulate
from permissions.models import Permission
from .models import App
from .icons import icon_app
def app_list(request):
#order = [i for i,f in sorted(smart_modules.items(), key=lambda k: 'dependencies' in k[1] and k[1]['dependencies'])]
return render_to_response('generic_list.html', {
'object_list': App.live.all(),
'hide_object': True,
'title': _(u'registered apps'),
'extra_columns': [
{'name': _(u'label'), 'attribute': 'label'},
{'name': _(u'icon'), 'attribute': encapsulate(lambda x: (getattr(x, 'icon') or icon_app).display_big())},
{'name': _(u'description'), 'attribute': 'description'},
{'name': _(u'dependencies'), 'attribute': encapsulate(lambda x: u', '.join([unicode(dependency) for dependency in x.dependencies.all()]))},
],
}, context_instance=RequestContext(request))
+63
View File
@@ -0,0 +1,63 @@
from __future__ import absolute_import
import inspect
from django.conf import settings
from django.db import transaction, DatabaseError
from django.utils.translation import ugettext_lazy as _
from django.utils.importlib import import_module
#from common.utils import encapsulate
#from job_processor.exceptions import JobQueuePushError
#from job_processor.models import JobQueue, JobType
#from project_tools.api import register_tool
#from project_setup.api import register_setup
#from navigation.api import bind_links, register_model_list_columns
#from .classes import AppBackup, ModelBackup
#from .links import (app_registry_tool_link, app_list, backup_tool_link,
# restore_tool_link, backup_job_list, backup_job_create, backup_job_edit,
# backup_job_test)
#from .literals import BACKUP_JOB_QUEUE_NAME
#from .models import App
#from . import models
#class UnableToRegister(Exception):
# pass
#apipkg.initpkg(__name__, {
# #'App': _App,
## 'App': 'app_registry.models:App',
# #'App': models.App
#})
#pp = 1
#from .models import App#as _App#, BackupJob as _BackupJob
#@transaction.commit_on_success
#def create_backups_job_queue():
# global backups_job_queue
# try:
# backups_job_queue, created = JobQueue.objects.get_or_create(name=BACKUP_JOB_QUEUE_NAME, defaults={'label': _('Backups'), 'unique_jobs': True})
# except DatabaseError:
# transaction.rollback()
#bind_links(['app_list'], [app_list], menu_name='secondary_menu')
#create_backups_job_queue()
###backup_job_type = JobType('remote_backup', _(u'Remove backup'), do_backup)
#register_setup(backup_tool_link)
#register_tool(restore_tool_link)
#bind_links([BackupJob, 'backup_job_list', 'backup_job_create'], [backup_job_list], menu_name='secondary_menu')
#bind_links([BackupJob, 'backup_job_list', 'backup_job_create'], [backup_job_create], menu_name='sidebar')
#bind_links([BackupJob], [backup_job_edit, backup_job_test])
#register_model_list_columns(BackupJob, [
# {'name':_(u'begin date time'), 'attribute': 'begin_datetime'},
# {'name':_(u'storage module'), 'attribute': 'storage_module.label'},
# {'name':_(u'apps'), 'attribute': encapsulate(lambda x: u', '.join([unicode(app) for app in x.apps.all()]))},
#])
###app.set_backup([ModelBackup()])
+161
View File
@@ -0,0 +1,161 @@
import logging
import os
from django.core.files.base import ContentFile
from django.core.files.storage import FileSystemStorage
from django.core.management.commands.dumpdata import Command
from django.conf import settings
from django.db import router, DEFAULT_DB_ALIAS
from django.utils.translation import ugettext_lazy as _
from django.utils.translation import ugettext
from django.utils.importlib import import_module
logger = logging.getLogger(__name__)
# Data types
class ElementDataBase(object):
"""
The basic unit of a backup, a data type
it is produced or consumed by the ElementBackup classes
"""
def make_filename(self, id):
return '%s-%s' % (self.model_backup.app_backup.app.name, id)
def save(self):
"""
Must return a file like object
"""
raise NotImplemented
def load(self, file_object):
"""
Must read a file like object and store content
"""
raise NotImplemented
class Fixture(ElementDataBase):
name = 'fixture'
def __init__(self, model_backup, content):
self.model_backup = model_backup
self.content = content
@property
def filename(self):
return self.make_filename(self.__class__.name)
def save(self):
return ContentFile(name=self.filename, content=self.content)
#def load(self):
# Element backup
class ElementBackupBase(object):
"""
Sub classes must provide at least:
info()
backup()
restore()
"""
label = _(u'Base backup manager')
def info(self):
"""
Must return at least None
"""
return None
def link(self, app_backup):
self.app_backup = app_backup
return self
def __unicode__(self):
return unicode(self.__class__.label)
class ModelBackup(ElementBackupBase):
label = _(u'Model fixtures')
def __init__(self, models=None):
self.model_list = models or []
def info(self):
return _(u'models: %s') % (u', '.join(self.model_list) if self.model_list else _(u'All'))
def backup(self):
"""
"""
#TODO: turn into a generator
command = Command()
if not self.model_list:
result = [self.app_backup.app.name]
else:
result = [u'%s.%s' (self.app_backup.app.name, model) for model in self.model_list]
#TODO: a single Fixture or a list of Fixtures for each model?
#Can't return multiple Fixture until a way to find all of an app's models is found
return [Fixture(
model_backup=self,
content=command.handle(u' '.join(result), format='json', indent=4, using=DEFAULT_DB_ALIAS, exclude=[], user_base_manager=False, use_natural_keys=False)
)]
class FileBackup(ElementBackupBase):
label = _(u'File copy')
def __init__(self, storage_class, filepath=None):
self.storage_class = storage_class
self.filepath = filepath
def info(self):
return _(u'%s from %s') % (self.filepath or _(u'all files'), self.storage_class)
def backup(self):
"""
Fetch a file specified by filepath from the Django storage class
and return a file like object
"""
return None
# App config
class AppBackup(object):
_registry = {}
STATE_BACKING_UP = 'backing_up'
STATE_RESTORING = 'restoring'
STATE_IDLE = 'idle'
STATE_CHOICES = (
(STATE_BACKING_UP, _(u'backing up')),
(STATE_RESTORING, _(u'restoring')),
(STATE_IDLE, _(u'idle')),
)
@classmethod
def get(cls, name):
return cls._registry[name]
@classmethod
def get_all(cls):
return cls._registry.values()
def __init__(self, app, backup_managers):
# app = App instance from app_registry app
self.app = app
self.backup_managers = [manager.link(self) for manager in backup_managers]
self.state = self.__class__.STATE_IDLE
self.__class__._registry[app] = self
def info(self):
results = []
for manager in self.backup_managers:
results.append(u'%s - %s' % (manager, manager.info() or _(u'Nothing')))
return u', '.join(results)
+20
View File
@@ -0,0 +1,20 @@
from __future__ import absolute_import
from django import forms
from common.widgets import ScrollableCheckboxSelectMultiple
#from .classes import AppBackup
#from .models import App, BackupJob
#def valid_app_choices():
# # Return app that exist in the app registry and that have been registered for backup
# return App.live.filter(pk__in=[appbackup.app.pk for appbackup in AppBackup.get_all()])
#class BackupJobForm(forms.ModelForm):
# apps = forms.ModelMultipleChoiceField(queryset=valid_app_choices(), widget=ScrollableCheckboxSelectMultiple())
#
# class Meta:
# model = BackupJob
+17
View File
@@ -0,0 +1,17 @@
from __future__ import absolute_import
from django.utils.translation import ugettext_lazy as _
from navigation import Link
from .icons import icon_app
from .permissions import PERMISSION_BACKUP_JOB_VIEW, PERMISSION_BACKUP_JOB_CREATE, PERMISSION_BACKUP_JOB_EDIT, PERMISSION_BACKUP_JOB_DELETE
backup_tool_link = Link(text=_(u'backups'), view='backup_job_list', icon='cd_burn.png', permissions=[PERMISSION_BACKUP_JOB_VIEW])
backup_job_list = Link(text=_(u'backup job list'), view='backup_job_list', sprite='cd_burn', permissions=[PERMISSION_BACKUP_JOB_VIEW])
backup_job_create = Link(text=_(u'create'), view='backup_job_create', sprite='cd_add', permissions=[PERMISSION_BACKUP_JOB_CREATE])
backup_job_edit = Link(text=_(u'edit'), view='backup_job_edit', args='object.pk', sprite='cd_edit', permissions=[PERMISSION_BACKUP_JOB_EDIT])
backup_job_test = Link(text=_(u'test'), view='backup_job_test', args='object.pk', sprite='cd_go')#, permissions=[PERMISSION_BACKUP_JOB_TEST])
backup_job_delete = Link(text=_(u'delete'), view='backup_job_delete', args='object.pk', sprite='cd_delete', permissions=[PERMISSION_BACKUP_JOB_DELETE])
restore_tool_link = Link(text=_(u'restore'), view='restore_view', icon='cd_eject.png')#, permissions=[])
+1
View File
@@ -0,0 +1 @@
BACKUP_JOB_QUEUE_NAME = 'backups_queue'
+58
View File
@@ -0,0 +1,58 @@
from django.db import models
from app_registry.models import App
"""
class BackupJob(models.Model):
name = models.CharField(max_length=64, verbose_name=_(u'name'))
enabled = models.BooleanField(default=True, verbose_name=_(u'enabled'))
apps = models.ManyToManyField(App)
begin_datetime = models.DateTimeField(verbose_name=_(u'begin date and time'), default=lambda: datetime.datetime.now())
# * repetition =
# day - 1 days
# weekly - days of week checkbox
# month - day of month, day of week
# * repetition option field
# * ends
# - never
# - After # ocurrences
# - On date
# * end option field
# * type
# - Full
# - Incremental
storage_module_name = models.CharField(max_length=32, choices=StorageModuleBase.get_as_choices(), verbose_name=_(u'storage module'))
storage_arguments_json = models.TextField(verbose_name=_(u'storage module arguments (in JSON)'), blank=True)
def __unicode__(self):
return self.name
@property
def storage_module(self):
return StorageModuleBase.get(self.storage_module_name)
def backup(self, dry_run=False):
logger.debug('starting: %s', self)
logger.debug('dry_run: %s' % dry_run)
storage_module = self.storage_module
#TODO: loads
for app in self.apps.all():
app_backup = AppBackup.get(app)
app_backup.backup(storage_module(backup_path='/tmp'), dry_run=dry_run)
def save(self, *args, **kwargs):
#dump
super(BackupJob, self).save(*args, **kwargs)
@models.permalink
def get_absolute_url(self):
return ('checkout_info', [self.document.pk])
class Meta:
verbose_name = _(u'document checkout')
verbose_name_plural = _(u'document checkouts')
#class BackupJobLog
"""
+12
View File
@@ -0,0 +1,12 @@
from __future__ import absolute_import
from django.utils.translation import ugettext_lazy as _
from permissions.models import PermissionNamespace, Permission
namespace = PermissionNamespace('backups', _(u'Backups'))
PERMISSION_BACKUP_JOB_VIEW = Permission.objects.register(namespace, 'backup_job_view', _(u'View a backup job'))
PERMISSION_BACKUP_JOB_CREATE = Permission.objects.register(namespace, 'backup_job_view', _(u'Create backup jobs'))
PERMISSION_BACKUP_JOB_EDIT = Permission.objects.register(namespace, 'backup_job_edit', _(u'Edit an existing backup jobs'))
PERMISSION_BACKUP_JOB_DELETE = Permission.objects.register(namespace, 'backup_job_delete', _(u'Delete an existing backup jobs'))
+9
View File
@@ -0,0 +1,9 @@
from django.conf.urls.defaults import patterns, url
urlpatterns = patterns('backups.views',
#url(r'^jobs/list/$', 'backup_job_list', (), 'backup_job_list'),
#url(r'^jobs/create/$', 'backup_job_create', (), 'backup_job_create'),
#url(r'^jobs/(?P<backup_job_pk>\d+)/edit/$', 'backup_job_edit', (), 'backup_job_edit'),
#url(r'^jobs/(?P<backup_job_pk>\d+)/test/$', 'backup_job_test', (), 'backup_job_test'),
#url(r'^jobs/(?P<backup_job_pk>\d+)/delete/$', 'backup_job_delete', (), 'backup_job_delete'),
)
+126
View File
@@ -0,0 +1,126 @@
from __future__ import absolute_import
from django.conf import settings
from django.contrib import messages
from django.core.urlresolvers import reverse
from django.http import HttpResponseRedirect
from django.shortcuts import render_to_response, get_object_or_404
from django.template import RequestContext
from django.utils.translation import ugettext as _
from common.utils import encapsulate
from permissions.models import Permission
#from .classes import AppBackup
#from .forms import BackupJobForm
#from .models import App#, BackupJob
from .permissions import PERMISSION_BACKUP_JOB_VIEW, PERMISSION_BACKUP_JOB_CREATE, PERMISSION_BACKUP_JOB_EDIT
def backup_job_list(request):
pre_object_list = BackupJob.objects.all()
try:
Permission.objects.check_permissions(request.user, [PERMISSION_BACKUP_JOB_VIEW])
except PermissionDenied:
# If user doesn't have global permission, get a list of backup jobs
# for which he/she does have access use it to filter the
# provided object_list
final_object_list = AccessEntry.objects.filter_objects_by_access(PERMISSION_BACKUP_JOB_VIEW, request.user, pre_object_list)
else:
final_object_list = pre_object_list
context = {
'object_list': final_object_list,
'title': _(u'backup jobs'),
'hide_link': True,
#'extra_columns': [
# {'name': _(u'info'), 'attribute': 'info'},
#],
}
return render_to_response('generic_list.html', context,
context_instance=RequestContext(request))
def backup_job_create(request):
Permission.objects.check_permissions(request.user, [PERMISSION_BACKUP_JOB_CREATE])
if request.method == 'POST':
form = BackupJobForm(data=request.POST)
if form.is_valid():
try:
backup_job = form.save()
except Exception, exc:
messages.error(request, _(u'Error creating backup job; %s') % exc)
else:
messages.success(request, _(u'Backup job "%s" created successfully.') % backup_job)
return HttpResponseRedirect(reverse('backup_job_list'))
else:
form = BackupJobForm()
return render_to_response('generic_form.html', {
'form': form,
'title': _(u'Create backup job')
}, context_instance=RequestContext(request))
def backup_job_edit(request, backup_job_pk):
backup_job = get_object_or_404(BackupJob, pk=backup_job_pk)
try:
Permission.objects.check_permissions(request.user, [PERMISSION_BACKUP_JOB_EDIT])
except PermissionDenied:
AccessEntry.objects.check_access(PERMISSION_BACKUP_JOB_EDIT, request.user, backup_job)
if request.method == 'POST':
form = BackupJobForm(data=request.POST, instance=backup_job)
if form.is_valid():
try:
backup_job = form.save()
except Exception, exc:
messages.error(request, _(u'Error editing backup job; %s') % exc)
else:
messages.success(request, _(u'Backup job "%s" edited successfully.') % backup_job)
return HttpResponseRedirect(reverse('backup_job_list'))
else:
form = BackupJobForm(instance=backup_job)
return render_to_response('generic_form.html', {
'form': form,
'object': backup_job,
'title': _(u'Edit backup job: %s') % backup_job
}, context_instance=RequestContext(request))
def backup_job_test(request, backup_job_pk):
backup_job = get_object_or_404(BackupJob, pk=backup_job_pk)
#try:
# Permission.objects.check_permissions(request.user, [PERMISSION_BACKUP_JOB_EDIT])
#except PermissionDenied:
# AccessEntry.objects.check_access(PERMISSION_BACKUP_JOB_EDIT, request.user, backup_job)
try:
backup_job.backup(dry_run=True)
except Exception, exc:
if settings.DEBUG:
raise
else:
messages.error(request, _(u'Error testing backup job; %s') % exc)
return HttpResponseRedirect(reverse('backup_job_list'))
else:
messages.success(request, _(u'Test for backup job "%s" finished successfully.') % backup_job)
return HttpResponseRedirect(reverse('backup_job_list'))
def backup_view(request):
#Permission.objects.check_permissions(request.user, [])
context = {
'object_list': AppBackup.get_all(),
'title': _(u'registered apps for backup'),
'hide_link': True,
'extra_columns': [
{'name': _(u'info'), 'attribute': 'info'},
],
}
return render_to_response('generic_list.html', context,
context_instance=RequestContext(request))
+1
View File
@@ -0,0 +1 @@
+7
View File
@@ -0,0 +1,7 @@
from __future__ import absolute_import
from django.contrib import admin
from .models import BootstrapSetup
admin.site.register(BootstrapSetup)
+172
View File
@@ -0,0 +1,172 @@
from __future__ import absolute_import
import logging
from itertools import chain
from django.db import models
from django.core import serializers
from django.utils.datastructures import SortedDict
from .exceptions import ExistingData, NotABootstrapSetup
from .literals import (FIXTURE_TYPE_PK_NULLIFIER, FIXTURE_TYPE_MODEL_PROCESS,
FIXTURE_METADATA_REMARK_CHARACTER, BOOTSTRAP_SETUP_MAGIC_NUMBER)
from .utils import toposort2
logger = logging.getLogger(__name__)
class Cleanup(object):
"""
Class to store all the registered cleanup functions in one place.
"""
_registry = {}
@classmethod
def execute_all(cls):
for cleanup in cls._registry.values():
cleanup.function()
def __init__(self, function):
self.function = function
self.__class__._registry[id(self)] = self
class BootstrapModel(object):
"""
Class used to keep track of all the models to be dumped to create a
bootstrap setup from the current setup in use.
"""
_registry = SortedDict()
@classmethod
def get_magic_number(cls):
return '%s %s' % (FIXTURE_METADATA_REMARK_CHARACTER, BOOTSTRAP_SETUP_MAGIC_NUMBER)
@classmethod
def check_magic_number(cls, data):
if not data.startswith(cls.get_magic_number()):
raise NotABootstrapSetup
@classmethod
def check_for_data(cls):
for model in cls.get_all():
model_instance = models.get_model(model.app_name, model.model_name)
if model_instance.objects.all().count():
raise ExistingData
@classmethod
def get_all(cls, sort_by_dependencies=False):
"""
Return all boostrap models, sorted by dependencies optionally.
"""
if not sort_by_dependencies:
return cls._registry.values()
else:
return (cls.get_by_name(name) for name in list(chain.from_iterable(toposort2(cls.get_dependency_dict()))))
@classmethod
def get_dependency_dict(cls):
"""
Return a dictionary where the key is the model name and it's value
is a list of models upon which it depends.
"""
result = {}
for instance in cls.get_all():
result[instance.get_fullname()] = set(instance.dependencies)
logger.debug('result: %s' % result)
return result
@classmethod
def get_by_name(cls, name):
"""
Return a BootstrapModel instance by the fullname of the model it
represents.
"""
return cls._registry[name]
def get_fullname(self):
"""
Return a the full app name + model name of the model represented
by the instance.
"""
return '.'.join([self.app_name, self.model_name])
def get_model_instance(self):
"""
Returns an actual Model class instance of the model.
"""
return models.get_model(self.app_name, self.model_name)
def __init__(self, model_name, app_name=None, sanitize=True, dependencies=None):
app_name_splitted = None
if '.' in model_name:
app_name_splitted, model_name = model_name.split('.')
self.app_name = app_name_splitted or app_name
if not self.app_name:
raise Exception('Pass either a dotted app plus model name or a model name and a separate app name')
self.model_name = model_name
self.sanitize = sanitize
self.dependencies = dependencies if dependencies else []
self.__class__._registry[self.get_fullname()] = self
def dump(self, serialization_format):
result = serializers.serialize(serialization_format, self.get_model_instance().objects.all(), indent=4, use_natural_keys=True)
logger.debug('result: "%s"' % result)
if self.sanitize:
# Remove primary key values
result = FIXTURE_TYPE_PK_NULLIFIER[serialization_format](result)
# Do any clean up required on the fixture
result = FIXTURE_TYPE_MODEL_PROCESS[serialization_format](result)
return result
class FixtureMetadata(object):
"""
Class to automatically create and extract metadata from a bootstrap
fixture.
"""
_registry = SortedDict()
@classmethod
def get_all(cls):
return cls._registry.values()
@classmethod
def generate_all(cls, fixture_instance):
result = []
for fixture_metadata in cls.get_all():
result.append(fixture_metadata.generate(fixture_instance))
return '\n'.join(result)
@classmethod
def read_all(cls, data):
result = {}
for instance in cls.get_all():
single_result = instance.read_value(data)
if single_result:
result[instance.property_name] = single_result
return result
def __init__(self, literal, generate_function, read_function=None, property_name=None):
self.literal = literal
self.generate_function = generate_function
self.property_name = property_name
self.read_function = read_function or (lambda x: x)
self.__class__._registry[id(self)] = self
def get_with_remark(self):
return '%s %s' % (FIXTURE_METADATA_REMARK_CHARACTER, self.literal)
def generate(self, fixture_instance):
return '%s: %s' % (self.get_with_remark(), self.generate_function(fixture_instance))
def read_value(self, fixture_data):
if self.property_name:
for line in fixture_data.splitlines(False):
if line.startswith(self.get_with_remark()):
# TODO: replace the "+ 4" with a space and next character finding algo
return self.read_function(line[len(self.literal) + 4:])
+18
View File
@@ -0,0 +1,18 @@
from __future__ import absolute_import
class ExistingData(Exception):
"""
Raised when an attempt to execute a bootstrap setup is made and there is
existing data that would be corrupted or damaged by the loading the
bootstrap's fixture.
"""
pass
class NotABootstrapSetup(Exception):
"""
Raised when an attempting to import a bootstrap setup without a proper
magic number metadata
"""
pass
+57
View File
@@ -0,0 +1,57 @@
from __future__ import absolute_import
import logging
from django import forms
from django.utils.translation import ugettext_lazy as _
from common.forms import DetailForm
from .models import BootstrapSetup
logger = logging.getLogger(__name__)
class BootstrapSetupForm(forms.ModelForm):
class Meta:
model = BootstrapSetup
widgets = {
'description': forms.widgets.Textarea(attrs={
'rows': 5, 'cols': 80,
}
)
}
class BootstrapSetupForm_view(DetailForm):
class Meta:
model = BootstrapSetup
widgets = {
'description': forms.widgets.Textarea(attrs={
'rows': 5, 'cols': 80,
}
)
}
class BootstrapSetupForm_edit(BootstrapSetupForm):
class Meta(BootstrapSetupForm.Meta):
model = BootstrapSetup
exclude = ('type',)
class BootstrapSetupForm_dump(BootstrapSetupForm):
class Meta(BootstrapSetupForm.Meta):
model = BootstrapSetup
exclude = ('fixture',)
class BootstrapFileImportForm(forms.Form):
file = forms.FileField(
label=_(u'Bootstrap setup file'),
)
class BootstrapURLImportForm(forms.Form):
url = forms.URLField(
label=_(u'Bootstrap setup URL'),
)
+14
View File
@@ -0,0 +1,14 @@
from __future__ import absolute_import
from icons.literals import (WIZARD, LIGHTNING, RADIOACTIVITY, MAGIC_WAND_2,
WIZARD_ADD, WIZARD_EDIT, WIZARD_DELETE, WIZARD_LIGHTNING)
from icons import Icon
icon_bootstrap_setup = Icon(WIZARD)
icon_bootstrap_setup_view = Icon(WIZARD)
icon_bootstrap_setup_create = Icon(WIZARD_ADD)
icon_bootstrap_setup_edit = Icon(WIZARD_EDIT)
icon_bootstrap_setup_delete = Icon(WIZARD_DELETE)
icon_bootstrap_setup_execute = Icon(WIZARD_LIGHTNING)
icon_bootstrap_setup_dump = Icon(MAGIC_WAND_2)
icon_nuke_database = Icon(RADIOACTIVITY)
+30
View File
@@ -0,0 +1,30 @@
from __future__ import absolute_import
from django.utils.translation import ugettext_lazy as _
from navigation import Link
from .permissions import (PERMISSION_BOOTSTRAP_VIEW, PERMISSION_BOOTSTRAP_CREATE,
PERMISSION_BOOTSTRAP_EDIT, PERMISSION_BOOTSTRAP_DELETE,
PERMISSION_BOOTSTRAP_EXECUTE, PERMISSION_BOOTSTRAP_DUMP,
PERMISSION_NUKE_DATABASE, PERMISSION_BOOTSTRAP_EXPORT,
PERMISSION_BOOTSTRAP_IMPORT, PERMISSION_BOOTSTRAP_REPOSITORY_SYNC)
from .icons import (icon_bootstrap_setup, icon_bootstrap_setup_execute, icon_bootstrap_setup_create,
icon_bootstrap_setup_edit, icon_bootstrap_setup_delete, icon_bootstrap_setup_view,
icon_bootstrap_setup_dump, icon_nuke_database)
link_bootstrap_setup_tool = Link(text=_(u'bootstrap'), view='bootstrap_setup_list', icon=icon_bootstrap_setup, permissions=[PERMISSION_BOOTSTRAP_VIEW])
link_bootstrap_setup_list = Link(text=_(u'bootstrap setup list'), view='bootstrap_setup_list', icon=icon_bootstrap_setup, permissions=[PERMISSION_BOOTSTRAP_VIEW])
link_bootstrap_setup_create = Link(text=_(u'create new bootstrap setup'), view='bootstrap_setup_create', icon=icon_bootstrap_setup_create, permissions=[PERMISSION_BOOTSTRAP_CREATE])
link_bootstrap_setup_edit = Link(text=_(u'edit'), view='bootstrap_setup_edit', args='object.pk', icon=icon_bootstrap_setup_edit, permissions=[PERMISSION_BOOTSTRAP_EDIT])
link_bootstrap_setup_delete = Link(text=_(u'delete'), view='bootstrap_setup_delete', args='object.pk', icon=icon_bootstrap_setup_delete, permissions=[PERMISSION_BOOTSTRAP_DELETE])
link_bootstrap_setup_view = Link(text=_(u'details'), view='bootstrap_setup_view', args='object.pk', icon=icon_bootstrap_setup_view, permissions=[PERMISSION_BOOTSTRAP_VIEW])
link_bootstrap_setup_execute = Link(text=_(u'execute'), view='bootstrap_setup_execute', args='object.pk', icon=icon_bootstrap_setup_execute, permissions=[PERMISSION_BOOTSTRAP_EXECUTE])
link_bootstrap_setup_dump = Link(text=_(u'dump current setup'), view='bootstrap_setup_dump', icon=icon_bootstrap_setup_dump, permissions=[PERMISSION_BOOTSTRAP_DUMP])
link_erase_database = Link(text=_(u'erase database'), view='erase_database_view', icon=icon_nuke_database, permissions=[PERMISSION_NUKE_DATABASE])
# TODO: convert to Link class and assign icon
link_bootstrap_setup_export = {'text': _(u'export'), 'view': 'bootstrap_setup_export', 'args': 'object.pk', 'famfam': 'disk', 'permissions': [PERMISSION_BOOTSTRAP_EXPORT]}
link_bootstrap_setup_import_from_file = {'text': _(u'import from file'), 'view': 'bootstrap_setup_import_from_file', 'famfam': 'folder', 'permissions': [PERMISSION_BOOTSTRAP_IMPORT]}
link_bootstrap_setup_import_from_url = {'text': _(u'import from URL'), 'view': 'bootstrap_setup_import_from_url', 'famfam': 'world', 'permissions': [PERMISSION_BOOTSTRAP_IMPORT]}
link_bootstrap_setup_repository_sync = {'text': _(u'sync with repository'), 'view': 'bootstrap_setup_repository_sync', 'famfam': 'world', 'permissions': [PERMISSION_BOOTSTRAP_REPOSITORY_SYNC]}
+81
View File
@@ -0,0 +1,81 @@
from __future__ import absolute_import
import re
try:
import yaml
except ImportError:
YAML_AVAILABLE = False
else:
YAML_AVAILABLE = True
from django.utils.translation import ugettext_lazy as _
FIXTURE_TYPE_JSON = 'json'
FIXTURE_TYPE_YAML = 'yaml'
FIXTURE_TYPE_BETTER_YAML = 'better_yaml'
FIXTURE_TYPE_XML = 'xml'
FIXTURE_TYPES_CHOICES = (
(FIXTURE_TYPE_JSON, _(u'JSON')),
# Disabing XML until a way to specify a null pk is found
#(FIXTURE_TYPE_XML, _(u'XML')),
)
FIXTURE_FILE_TYPE = {
FIXTURE_TYPE_JSON: 'json',
FIXTURE_TYPE_YAML: 'yaml',
FIXTURE_TYPE_BETTER_YAML: 'better_yaml',
FIXTURE_TYPE_XML: 'xml',
}
FIXTURE_TYPE_PK_NULLIFIER = {
FIXTURE_TYPE_JSON: lambda x: re.sub('"pk": [0-9]{1,5}', '"pk": null', x),
FIXTURE_TYPE_YAML: lambda x: re.sub('pk: [0-9]{1,5}', 'pk: null', x),
FIXTURE_TYPE_BETTER_YAML: lambda x: re.sub('[0-9]{1,5}:', 'null:', x),
FIXTURE_TYPE_XML: lambda x: re.sub('pk="[0-9]{1,5}"', 'pk=null', x),
}
FIXTURE_TYPE_EMPTY_FIXTURE = {
FIXTURE_TYPE_JSON: lambda x: x.startswith('[]') or x == ',',
FIXTURE_TYPE_YAML: lambda x: x.startswith('[]'),
FIXTURE_TYPE_BETTER_YAML: lambda x: x.startswith('{}'),
FIXTURE_TYPE_XML: lambda x: x,
}
FIXTURE_TYPE_MODEL_PROCESS = {
FIXTURE_TYPE_JSON: lambda x: '%s,' % x[2:-2],
FIXTURE_TYPE_YAML: lambda x: x,
FIXTURE_TYPE_BETTER_YAML: lambda x: x,
FIXTURE_TYPE_XML: lambda x: x,
}
FIXTURE_TYPE_FIXTURE_PROCESS = {
FIXTURE_TYPE_JSON: lambda x: '[\n%s\n]' % x[:-1], # Enclose in [], remove last comma
FIXTURE_TYPE_YAML: lambda x: x,
FIXTURE_TYPE_BETTER_YAML: lambda x: x,
FIXTURE_TYPE_XML: lambda x: x,
}
COMMAND_LOADDATA = 'loaddata'
if YAML_AVAILABLE:
FIXTURE_TYPES_CHOICES += (FIXTURE_TYPE_YAML, _(u'YAML')),
FIXTURE_TYPES_CHOICES += (FIXTURE_TYPE_BETTER_YAML, _(u'Better YAML')),
# better_yaml is not working with natural keys
FIXTURE_METADATA_REMARK_CHARACTER = '#'
DATETIME_STRING_FORMAT = '%a, %d %b %Y %H:%M:%S +0000'
FIXTURE_METADATA_CREATED = 'created'
FIXTURE_METADATA_EDITED = 'edited'
FIXTURE_METADATA_MAYAN_VERSION = 'mayan_edms_version'
FIXTURE_METADATA_FORMAT = 'format'
FIXTURE_METADATA_NAME = 'name'
FIXTURE_METADATA_SLUG = 'slug'
FIXTURE_METADATA_DESCRIPTION = 'description'
BOOTSTRAP_EXTENSION = 'txt'
BOOTSTRAP_SETUP_MAGIC_NUMBER = 'bootstrap setup'
BOOTSTRAP_REPOSITORY_URL = 'http://bootstrap.mayan-edms.com'
BOOTSTRAP_REPOSITORY_INDEX_FILE = '_repo_index.txt'
Binary file not shown.
@@ -0,0 +1,322 @@
# SOME DESCRIPTIVE TITLE.
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
# This file is distributed under the same license as the PACKAGE package.
#
# Translators:
# <pkoldamov@gmail.com>, 2012.
msgid ""
msgstr ""
"Project-Id-Version: Mayan EDMS\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2012-12-14 04:18-0400\n"
"PO-Revision-Date: 2012-12-12 06:04+0000\n"
"Last-Translator: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>\n"
"Language-Team: Bulgarian (http://www.transifex.com/projects/p/mayan-edms/"
"language/bg/)\n"
"Language: bg\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
#: forms.py:50
msgid "Bootstrap setup file"
msgstr ""
#: forms.py:56
msgid "Bootstrap setup URL"
msgstr ""
#: links.py:16
msgid "bootstrap"
msgstr ""
#: links.py:17
msgid "bootstrap setup list"
msgstr ""
#: links.py:18
msgid "create new bootstrap setup"
msgstr ""
#: links.py:19
msgid "edit"
msgstr "редактиране"
#: links.py:20
msgid "delete"
msgstr "изтриване"
#: links.py:21
msgid "details"
msgstr "детайли"
#: links.py:22
msgid "execute"
msgstr "изпълнение"
#: links.py:23
msgid "dump current setup"
msgstr "изпринтване на текущата настройка"
#: links.py:24
msgid "erase database"
msgstr "изтриване на база данни"
#: links.py:27
msgid "export"
msgstr ""
#: links.py:28
msgid "import from file"
msgstr ""
#: links.py:29
msgid "import from URL"
msgstr ""
#: links.py:30
msgid "sync with repository"
msgstr ""
#: literals.py:20
msgid "JSON"
msgstr "JSON"
#: literals.py:63
msgid "YAML"
msgstr "YAML"
#: literals.py:64
msgid "Better YAML"
msgstr "Подобрен YAML"
#: models.py:30
msgid "name"
msgstr "име"
#: models.py:31
msgid "slug"
msgstr ""
#: models.py:32 views.py:35
msgid "description"
msgstr "описание"
#: models.py:33
msgid "fixture"
msgstr ""
#: models.py:33
msgid "These are the actual database structure creation instructions."
msgstr ""
"Това са текущите инструкции за създаване на структурата на базата данни."
#: models.py:34 views.py:36
msgid "type"
msgstr "тип"
#: models.py:35
msgid "creation date and time"
msgstr "дата и време на създаване"
#: models.py:104 views.py:91 views.py:120 views.py:145 views.py:173
msgid "bootstrap setup"
msgstr ""
#: models.py:105 views.py:32
msgid "bootstrap setups"
msgstr ""
#: permissions.py:7
msgid "Database bootstrap"
msgstr ""
#: permissions.py:9
msgid "View bootstrap setups"
msgstr ""
#: permissions.py:10
msgid "Create bootstrap setups"
msgstr ""
#: permissions.py:11
msgid "Edit bootstrap setups"
msgstr ""
#: permissions.py:12
msgid "Delete bootstrap setups"
msgstr ""
#: permissions.py:13
msgid "Execute bootstrap setups"
msgstr ""
#: permissions.py:14
msgid "Dump the current project\\s setup into a bootstrap setup"
msgstr ""
#: permissions.py:15
msgid "Export bootstrap setups as files"
msgstr ""
#: permissions.py:16
msgid "Import new bootstrap setups"
msgstr ""
#: permissions.py:17
msgid "Sync the local bootstrap setups with a published repository"
msgstr ""
#: permissions.py:18
msgid "Erase the entire database and document storage"
msgstr "Изтрийте цялата база данни за съхраняване и документното пространство"
#: registry.py:8
msgid "Bootstrap"
msgstr ""
#: registry.py:9
msgid "Provides pre configured setups for indexes, document types, tags, etc."
msgstr ""
#: views.py:51
msgid "Bootstrap setup created successfully"
msgstr ""
#: views.py:54
msgid "Error creating bootstrap setup."
msgstr ""
#: views.py:59
msgid "create bootstrap"
msgstr ""
#: views.py:79
msgid "Bootstrap setup edited successfully"
msgstr ""
#: views.py:82
msgid "Error editing bootstrap setup."
msgstr ""
#: views.py:87
#, python-format
msgid "edit bootstrap setup: %s"
msgstr ""
#: views.py:112
#, python-format
msgid "Bootstrap setup: %s deleted successfully."
msgstr ""
#: views.py:114
#, python-format
msgid "Bootstrap setup: %(bootstrap)s, delete error: %(error)s"
msgstr ""
#: views.py:125
#, python-format
msgid "Are you sure you with to delete the bootstrap setup: %s?"
msgstr ""
#: views.py:165
msgid ""
"Cannot execute bootstrap setup, there is existing data. Erase all data and "
"try again."
msgstr ""
#: views.py:167
#, python-format
msgid "Error executing bootstrap setup; %s"
msgstr ""
#: views.py:169
#, python-format
msgid "Bootstrap setup \"%s\" executed successfully."
msgstr ""
#: views.py:181
#, python-format
msgid ""
"Are you sure you wish to execute the database bootstrap setup named: %s?"
msgstr ""
#: views.py:197
#, python-format
msgid "Error dumping configuration into a bootstrap setup; %s"
msgstr ""
#: views.py:201
msgid "Bootstrap setup created successfully."
msgstr ""
#: views.py:207
#, fuzzy
msgid "dump current setup into a bootstrap setup"
msgstr "изпринтване на текущата настройка"
#: views.py:241 views.py:269
msgid "Bootstrap setup imported successfully."
msgstr ""
#: views.py:244
msgid "File is not a bootstrap setup."
msgstr ""
#: views.py:246
#, python-format
msgid "Error importing bootstrap setup from file; %s."
msgstr ""
#: views.py:252
msgid "Import bootstrap setup from file"
msgstr ""
#: views.py:272
msgid "Data from URL is not a bootstrap setup."
msgstr ""
#: views.py:274
#, python-format
msgid "Error importing bootstrap setup from URL; %s."
msgstr ""
#: views.py:280
msgid "Import bootstrap setup from URL"
msgstr ""
#: views.py:299
#, python-format
msgid "Error erasing database; %s"
msgstr "Грешка при изтриване на база данни; %s"
#: views.py:301
msgid "Database erased successfully."
msgstr "Базата данни е изтрита успешно."
#: views.py:311
msgid ""
"Are you sure you wish to erase the entire database and document storage?"
msgstr ""
"Сигурен ли сте, че искате да изтриете цялата база данни и документното "
"пространство?"
#: views.py:312
msgid ""
"All documents, sources, metadata, metadata types, set, tags, indexes and "
"logs will be lost irreversibly!"
msgstr ""
#: views.py:329
msgid "Bootstrap repository successfully synchronized."
msgstr ""
#: views.py:331
#, python-format
msgid "Bootstrap repository synchronization error: %(error)s"
msgstr ""
#: views.py:338
msgid "Are you sure you wish to synchronize with the bootstrap repository?"
msgstr ""
Binary file not shown.
@@ -0,0 +1,317 @@
# SOME DESCRIPTIVE TITLE.
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
# This file is distributed under the same license as the PACKAGE package.
#
# Translators:
msgid ""
msgstr ""
"Project-Id-Version: Mayan EDMS\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2012-12-14 04:18-0400\n"
"PO-Revision-Date: 2012-12-12 06:04+0000\n"
"Last-Translator: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>\n"
"Language-Team: German (Germany) (http://www.transifex.com/projects/p/mayan-"
"edms/language/de_DE/)\n"
"Language: de_DE\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
#: forms.py:50
msgid "Bootstrap setup file"
msgstr ""
#: forms.py:56
msgid "Bootstrap setup URL"
msgstr ""
#: links.py:16
msgid "bootstrap"
msgstr ""
#: links.py:17
msgid "bootstrap setup list"
msgstr ""
#: links.py:18
msgid "create new bootstrap setup"
msgstr ""
#: links.py:19
msgid "edit"
msgstr ""
#: links.py:20
msgid "delete"
msgstr ""
#: links.py:21
msgid "details"
msgstr ""
#: links.py:22
msgid "execute"
msgstr ""
#: links.py:23
msgid "dump current setup"
msgstr ""
#: links.py:24
msgid "erase database"
msgstr ""
#: links.py:27
msgid "export"
msgstr ""
#: links.py:28
msgid "import from file"
msgstr ""
#: links.py:29
msgid "import from URL"
msgstr ""
#: links.py:30
msgid "sync with repository"
msgstr ""
#: literals.py:20
msgid "JSON"
msgstr ""
#: literals.py:63
msgid "YAML"
msgstr ""
#: literals.py:64
msgid "Better YAML"
msgstr ""
#: models.py:30
msgid "name"
msgstr ""
#: models.py:31
msgid "slug"
msgstr ""
#: models.py:32 views.py:35
msgid "description"
msgstr ""
#: models.py:33
msgid "fixture"
msgstr ""
#: models.py:33
msgid "These are the actual database structure creation instructions."
msgstr ""
#: models.py:34 views.py:36
msgid "type"
msgstr ""
#: models.py:35
msgid "creation date and time"
msgstr ""
#: models.py:104 views.py:91 views.py:120 views.py:145 views.py:173
msgid "bootstrap setup"
msgstr ""
#: models.py:105 views.py:32
msgid "bootstrap setups"
msgstr ""
#: permissions.py:7
msgid "Database bootstrap"
msgstr ""
#: permissions.py:9
msgid "View bootstrap setups"
msgstr ""
#: permissions.py:10
msgid "Create bootstrap setups"
msgstr ""
#: permissions.py:11
msgid "Edit bootstrap setups"
msgstr ""
#: permissions.py:12
msgid "Delete bootstrap setups"
msgstr ""
#: permissions.py:13
msgid "Execute bootstrap setups"
msgstr ""
#: permissions.py:14
msgid "Dump the current project\\s setup into a bootstrap setup"
msgstr ""
#: permissions.py:15
msgid "Export bootstrap setups as files"
msgstr ""
#: permissions.py:16
msgid "Import new bootstrap setups"
msgstr ""
#: permissions.py:17
msgid "Sync the local bootstrap setups with a published repository"
msgstr ""
#: permissions.py:18
msgid "Erase the entire database and document storage"
msgstr ""
#: registry.py:8
msgid "Bootstrap"
msgstr ""
#: registry.py:9
msgid "Provides pre configured setups for indexes, document types, tags, etc."
msgstr ""
#: views.py:51
msgid "Bootstrap setup created successfully"
msgstr ""
#: views.py:54
msgid "Error creating bootstrap setup."
msgstr ""
#: views.py:59
msgid "create bootstrap"
msgstr ""
#: views.py:79
msgid "Bootstrap setup edited successfully"
msgstr ""
#: views.py:82
msgid "Error editing bootstrap setup."
msgstr ""
#: views.py:87
#, python-format
msgid "edit bootstrap setup: %s"
msgstr ""
#: views.py:112
#, python-format
msgid "Bootstrap setup: %s deleted successfully."
msgstr ""
#: views.py:114
#, python-format
msgid "Bootstrap setup: %(bootstrap)s, delete error: %(error)s"
msgstr ""
#: views.py:125
#, python-format
msgid "Are you sure you with to delete the bootstrap setup: %s?"
msgstr ""
#: views.py:165
msgid ""
"Cannot execute bootstrap setup, there is existing data. Erase all data and "
"try again."
msgstr ""
#: views.py:167
#, python-format
msgid "Error executing bootstrap setup; %s"
msgstr ""
#: views.py:169
#, python-format
msgid "Bootstrap setup \"%s\" executed successfully."
msgstr ""
#: views.py:181
#, python-format
msgid ""
"Are you sure you wish to execute the database bootstrap setup named: %s?"
msgstr ""
#: views.py:197
#, python-format
msgid "Error dumping configuration into a bootstrap setup; %s"
msgstr ""
#: views.py:201
msgid "Bootstrap setup created successfully."
msgstr ""
#: views.py:207
msgid "dump current setup into a bootstrap setup"
msgstr ""
#: views.py:241 views.py:269
msgid "Bootstrap setup imported successfully."
msgstr ""
#: views.py:244
msgid "File is not a bootstrap setup."
msgstr ""
#: views.py:246
#, python-format
msgid "Error importing bootstrap setup from file; %s."
msgstr ""
#: views.py:252
msgid "Import bootstrap setup from file"
msgstr ""
#: views.py:272
msgid "Data from URL is not a bootstrap setup."
msgstr ""
#: views.py:274
#, python-format
msgid "Error importing bootstrap setup from URL; %s."
msgstr ""
#: views.py:280
msgid "Import bootstrap setup from URL"
msgstr ""
#: views.py:299
#, python-format
msgid "Error erasing database; %s"
msgstr ""
#: views.py:301
msgid "Database erased successfully."
msgstr ""
#: views.py:311
msgid ""
"Are you sure you wish to erase the entire database and document storage?"
msgstr ""
#: views.py:312
msgid ""
"All documents, sources, metadata, metadata types, set, tags, indexes and "
"logs will be lost irreversibly!"
msgstr ""
#: views.py:329
msgid "Bootstrap repository successfully synchronized."
msgstr ""
#: views.py:331
#, python-format
msgid "Bootstrap repository synchronization error: %(error)s"
msgstr ""
#: views.py:338
msgid "Are you sure you wish to synchronize with the bootstrap repository?"
msgstr ""
Binary file not shown.
@@ -0,0 +1,316 @@
# SOME DESCRIPTIVE TITLE.
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
# This file is distributed under the same license as the PACKAGE package.
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
#
#, fuzzy
msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2012-12-14 04:18-0400\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
"Language: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
#: forms.py:50
msgid "Bootstrap setup file"
msgstr ""
#: forms.py:56
msgid "Bootstrap setup URL"
msgstr ""
#: links.py:16
msgid "bootstrap"
msgstr ""
#: links.py:17
msgid "bootstrap setup list"
msgstr ""
#: links.py:18
msgid "create new bootstrap setup"
msgstr ""
#: links.py:19
msgid "edit"
msgstr ""
#: links.py:20
msgid "delete"
msgstr ""
#: links.py:21
msgid "details"
msgstr ""
#: links.py:22
msgid "execute"
msgstr ""
#: links.py:23
msgid "dump current setup"
msgstr ""
#: links.py:24
msgid "erase database"
msgstr ""
#: links.py:27
msgid "export"
msgstr ""
#: links.py:28
msgid "import from file"
msgstr ""
#: links.py:29
msgid "import from URL"
msgstr ""
#: links.py:30
msgid "sync with repository"
msgstr ""
#: literals.py:20
msgid "JSON"
msgstr ""
#: literals.py:63
msgid "YAML"
msgstr ""
#: literals.py:64
msgid "Better YAML"
msgstr ""
#: models.py:30
msgid "name"
msgstr ""
#: models.py:31
msgid "slug"
msgstr ""
#: models.py:32 views.py:35
msgid "description"
msgstr ""
#: models.py:33
msgid "fixture"
msgstr ""
#: models.py:33
msgid "These are the actual database structure creation instructions."
msgstr ""
#: models.py:34 views.py:36
msgid "type"
msgstr ""
#: models.py:35
msgid "creation date and time"
msgstr ""
#: models.py:104 views.py:91 views.py:120 views.py:145 views.py:173
msgid "bootstrap setup"
msgstr ""
#: models.py:105 views.py:32
msgid "bootstrap setups"
msgstr ""
#: permissions.py:7
msgid "Database bootstrap"
msgstr ""
#: permissions.py:9
msgid "View bootstrap setups"
msgstr ""
#: permissions.py:10
msgid "Create bootstrap setups"
msgstr ""
#: permissions.py:11
msgid "Edit bootstrap setups"
msgstr ""
#: permissions.py:12
msgid "Delete bootstrap setups"
msgstr ""
#: permissions.py:13
msgid "Execute bootstrap setups"
msgstr ""
#: permissions.py:14
msgid "Dump the current project\\s setup into a bootstrap setup"
msgstr ""
#: permissions.py:15
msgid "Export bootstrap setups as files"
msgstr ""
#: permissions.py:16
msgid "Import new bootstrap setups"
msgstr ""
#: permissions.py:17
msgid "Sync the local bootstrap setups with a published repository"
msgstr ""
#: permissions.py:18
msgid "Erase the entire database and document storage"
msgstr ""
#: registry.py:8
msgid "Bootstrap"
msgstr ""
#: registry.py:9
msgid "Provides pre configured setups for indexes, document types, tags, etc."
msgstr ""
#: views.py:51
msgid "Bootstrap setup created successfully"
msgstr ""
#: views.py:54
msgid "Error creating bootstrap setup."
msgstr ""
#: views.py:59
msgid "create bootstrap"
msgstr ""
#: views.py:79
msgid "Bootstrap setup edited successfully"
msgstr ""
#: views.py:82
msgid "Error editing bootstrap setup."
msgstr ""
#: views.py:87
#, python-format
msgid "edit bootstrap setup: %s"
msgstr ""
#: views.py:112
#, python-format
msgid "Bootstrap setup: %s deleted successfully."
msgstr ""
#: views.py:114
#, python-format
msgid "Bootstrap setup: %(bootstrap)s, delete error: %(error)s"
msgstr ""
#: views.py:125
#, python-format
msgid "Are you sure you with to delete the bootstrap setup: %s?"
msgstr ""
#: views.py:165
msgid ""
"Cannot execute bootstrap setup, there is existing data. Erase all data and "
"try again."
msgstr ""
#: views.py:167
#, python-format
msgid "Error executing bootstrap setup; %s"
msgstr ""
#: views.py:169
#, python-format
msgid "Bootstrap setup \"%s\" executed successfully."
msgstr ""
#: views.py:181
#, python-format
msgid ""
"Are you sure you wish to execute the database bootstrap setup named: %s?"
msgstr ""
#: views.py:197
#, python-format
msgid "Error dumping configuration into a bootstrap setup; %s"
msgstr ""
#: views.py:201
msgid "Bootstrap setup created successfully."
msgstr ""
#: views.py:207
msgid "dump current setup into a bootstrap setup"
msgstr ""
#: views.py:241 views.py:269
msgid "Bootstrap setup imported successfully."
msgstr ""
#: views.py:244
msgid "File is not a bootstrap setup."
msgstr ""
#: views.py:246
#, python-format
msgid "Error importing bootstrap setup from file; %s."
msgstr ""
#: views.py:252
msgid "Import bootstrap setup from file"
msgstr ""
#: views.py:272
msgid "Data from URL is not a bootstrap setup."
msgstr ""
#: views.py:274
#, python-format
msgid "Error importing bootstrap setup from URL; %s."
msgstr ""
#: views.py:280
msgid "Import bootstrap setup from URL"
msgstr ""
#: views.py:299
#, python-format
msgid "Error erasing database; %s"
msgstr ""
#: views.py:301
msgid "Database erased successfully."
msgstr ""
#: views.py:311
msgid ""
"Are you sure you wish to erase the entire database and document storage?"
msgstr ""
#: views.py:312
msgid ""
"All documents, sources, metadata, metadata types, set, tags, indexes and "
"logs will be lost irreversibly!"
msgstr ""
#: views.py:329
msgid "Bootstrap repository successfully synchronized."
msgstr ""
#: views.py:331
#, python-format
msgid "Bootstrap repository synchronization error: %(error)s"
msgstr ""
#: views.py:338
msgid "Are you sure you wish to synchronize with the bootstrap repository?"
msgstr ""
Binary file not shown.
@@ -0,0 +1,330 @@
# SOME DESCRIPTIVE TITLE.
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
# This file is distributed under the same license as the PACKAGE package.
#
# Translators:
# Roberto Rosario <roberto.rosario.gonzalez@gmail.com>, 2012.
msgid ""
msgstr ""
"Project-Id-Version: Mayan EDMS\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2012-12-14 04:18-0400\n"
"PO-Revision-Date: 2012-12-12 07:20+0000\n"
"Last-Translator: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>\n"
"Language-Team: Spanish (http://www.transifex.com/projects/p/mayan-edms/"
"language/es/)\n"
"Language: es\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
#: forms.py:50
msgid "Bootstrap setup file"
msgstr ""
#: forms.py:56
msgid "Bootstrap setup URL"
msgstr ""
#: links.py:16
msgid "bootstrap"
msgstr "arranque"
#: links.py:17
msgid "bootstrap setup list"
msgstr "list de configuraciones de arranque"
#: links.py:18
msgid "create new bootstrap setup"
msgstr "crear nueva configuración de arranque"
#: links.py:19
msgid "edit"
msgstr "editar"
#: links.py:20
msgid "delete"
msgstr "borrar"
#: links.py:21
msgid "details"
msgstr "detalles"
#: links.py:22
msgid "execute"
msgstr "ejecutar"
#: links.py:23
msgid "dump current setup"
msgstr "grabar la configuración actual"
#: links.py:24
msgid "erase database"
msgstr "borrar la base de datos"
#: links.py:27
msgid "export"
msgstr "exportar"
#: links.py:28
msgid "import from file"
msgstr "importar desde el archivo"
#: links.py:29
msgid "import from URL"
msgstr "importar desde URL"
#: links.py:30
msgid "sync with repository"
msgstr "sincronizar con el repositorio"
#: literals.py:20
msgid "JSON"
msgstr "JSON"
#: literals.py:63
msgid "YAML"
msgstr "YAML"
#: literals.py:64
msgid "Better YAML"
msgstr "Better YAML"
#: models.py:30
msgid "name"
msgstr "nombre"
#: models.py:31
msgid "slug"
msgstr "identificador"
#: models.py:32 views.py:35
msgid "description"
msgstr "descripción"
#: models.py:33
msgid "fixture"
msgstr "código"
#: models.py:33
msgid "These are the actual database structure creation instructions."
msgstr ""
"Estas son la instrucciones reales para la creación de las estructuras de la "
"base de datos."
#: models.py:34 views.py:36
msgid "type"
msgstr "tipo"
#: models.py:35
msgid "creation date and time"
msgstr "fecha y hora de creación"
#: models.py:104 views.py:91 views.py:120 views.py:145 views.py:173
msgid "bootstrap setup"
msgstr "configuración de arranque"
#: models.py:105 views.py:32
msgid "bootstrap setups"
msgstr "configuraciones de arranque"
#: permissions.py:7
msgid "Database bootstrap"
msgstr "Arranque de base de datos"
#: permissions.py:9
msgid "View bootstrap setups"
msgstr "Ver las configuraciones de arranque"
#: permissions.py:10
msgid "Create bootstrap setups"
msgstr "Crear configuraciones de arranque"
#: permissions.py:11
msgid "Edit bootstrap setups"
msgstr "Editar las configuraciones de arranque"
#: permissions.py:12
msgid "Delete bootstrap setups"
msgstr "Eliminar las configuraciones de arranque"
#: permissions.py:13
msgid "Execute bootstrap setups"
msgstr "Ejecutar configuraciones de arranque"
#: permissions.py:14
msgid "Dump the current project\\s setup into a bootstrap setup"
msgstr ""
"Grabar la configuración actual del projecto en una configuración de arranque"
#: permissions.py:15
msgid "Export bootstrap setups as files"
msgstr ""
#: permissions.py:16
msgid "Import new bootstrap setups"
msgstr ""
#: permissions.py:17
msgid "Sync the local bootstrap setups with a published repository"
msgstr ""
#: permissions.py:18
msgid "Erase the entire database and document storage"
msgstr "Borrar toda la base de datos y almacenamiento de documentos"
#: registry.py:8
msgid "Bootstrap"
msgstr "Arranque"
#: registry.py:9
msgid "Provides pre configured setups for indexes, document types, tags, etc."
msgstr ""
"Proporciona configuraciones pre ajustadas para los índices, tipos de "
"documentos, etiquetas, etc"
#: views.py:51
msgid "Bootstrap setup created successfully"
msgstr ""
#: views.py:54
msgid "Error creating bootstrap setup."
msgstr "Error al crear la configuración de arranque."
#: views.py:59
msgid "create bootstrap"
msgstr "crear configuración de arranque"
#: views.py:79
msgid "Bootstrap setup edited successfully"
msgstr "Configuración de arranque editada exitosamente."
#: views.py:82
msgid "Error editing bootstrap setup."
msgstr "Error editando la configuración de arranque."
#: views.py:87
#, python-format
msgid "edit bootstrap setup: %s"
msgstr "editar configuración de arranque: %s"
#: views.py:112
#, python-format
msgid "Bootstrap setup: %s deleted successfully."
msgstr "Configuración de arranque :%s eliminada exitosamente."
#: views.py:114
#, python-format
msgid "Bootstrap setup: %(bootstrap)s, delete error: %(error)s"
msgstr ""
#: views.py:125
#, python-format
msgid "Are you sure you with to delete the bootstrap setup: %s?"
msgstr "¿Seguro que desea borrar la configuración de arranque: %s?"
#: views.py:165
msgid ""
"Cannot execute bootstrap setup, there is existing data. Erase all data and "
"try again."
msgstr ""
#: views.py:167
#, python-format
msgid "Error executing bootstrap setup; %s"
msgstr "Error al ejecutar la configuración de arranque; %s"
#: views.py:169
#, python-format
msgid "Bootstrap setup \"%s\" executed successfully."
msgstr "Configuración de arranque \"%s\" ejecutada exitosamente."
#: views.py:181
#, python-format
msgid ""
"Are you sure you wish to execute the database bootstrap setup named: %s?"
msgstr ""
#: views.py:197
#, python-format
msgid "Error dumping configuration into a bootstrap setup; %s"
msgstr ""
#: views.py:201
msgid "Bootstrap setup created successfully."
msgstr ""
#: views.py:207
#, fuzzy
msgid "dump current setup into a bootstrap setup"
msgstr ""
"Grabar la configuración actual del projecto en una configuración de arranque"
#: views.py:241 views.py:269
msgid "Bootstrap setup imported successfully."
msgstr ""
#: views.py:244
msgid "File is not a bootstrap setup."
msgstr ""
#: views.py:246
#, python-format
msgid "Error importing bootstrap setup from file; %s."
msgstr ""
#: views.py:252
msgid "Import bootstrap setup from file"
msgstr ""
#: views.py:272
msgid "Data from URL is not a bootstrap setup."
msgstr ""
#: views.py:274
#, python-format
msgid "Error importing bootstrap setup from URL; %s."
msgstr ""
#: views.py:280
msgid "Import bootstrap setup from URL"
msgstr ""
#: views.py:299
#, python-format
msgid "Error erasing database; %s"
msgstr "Error borrando la base de datos; %s"
#: views.py:301
msgid "Database erased successfully."
msgstr "Base de datos borrada exitosamente."
#: views.py:311
msgid ""
"Are you sure you wish to erase the entire database and document storage?"
msgstr ""
"¿Está seguro que desea borrar de la base de datos completamente y el "
"almacenamiento de documentos?"
#: views.py:312
msgid ""
"All documents, sources, metadata, metadata types, set, tags, indexes and "
"logs will be lost irreversibly!"
msgstr ""
"¡Todos los documentos, las fuentes, los metadatos, los tipos de metadatos, "
"los conjuntos de metadatos, las etiquetas, los índices y vitacoras se "
"perderán irreversiblemente!"
#: views.py:329
msgid "Bootstrap repository successfully synchronized."
msgstr ""
#: views.py:331
#, python-format
msgid "Bootstrap repository synchronization error: %(error)s"
msgstr ""
#: views.py:338
msgid "Are you sure you wish to synchronize with the bootstrap repository?"
msgstr ""

Some files were not shown because too many files have changed in this diff Show More