Compare commits

...

719 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
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
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
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
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
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
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
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
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
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
90c411f554 Merge branch 'github_logo' into development
Conflicts:
	requirements/production.txt
2012-06-13 03:59:03 -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
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
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
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
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
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
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
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
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
6072 changed files with 33756 additions and 17576 deletions

4
.gitignore vendored
View File

@@ -1,7 +1,8 @@
*.orig
*.pyc
*.pyo
/*.sqlite
*.sql
*.sqlite
/settings_local.py
/celerybeat-schedule
/document_storage/
@@ -13,3 +14,4 @@ _build/
/static/
/whoosh_index/
/fabfile_install
/server_config.yaml

View File

@@ -13,10 +13,10 @@ source_lang = en
source_file = apps/bootstrap/locale/en/LC_MESSAGES/django.po
type = PO
[mayan-edms.apps-checkouts]
file_filter = apps/checkouts/locale/<lang>/LC_MESSAGES/django.po
[mayan-edms.apps-converter]
file_filter = apps/converter/locale/<lang>/LC_MESSAGES/django.po
source_lang = en
source_file = apps/checkouts/locale/en/LC_MESSAGES/django.po
source_file = apps/converter/locale/en/LC_MESSAGES/django.po
type = PO
[mayan-edms.apps-common]
@@ -25,10 +25,16 @@ source_lang = en
source_file = apps/common/locale/en/LC_MESSAGES/django.po
type = PO
[mayan-edms.apps-converter]
file_filter = apps/converter/locale/<lang>/LC_MESSAGES/django.po
[mayan-edms.apps-checkouts]
file_filter = apps/checkouts/locale/<lang>/LC_MESSAGES/django.po
source_lang = en
source_file = apps/converter/locale/en/LC_MESSAGES/django.po
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]
@@ -37,6 +43,12 @@ 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
@@ -85,18 +97,36 @@ 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
@@ -157,12 +187,24 @@ 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

View File

@@ -1,39 +1,18 @@
from __future__ import absolute_import
from django.utils.translation import ugettext_lazy as _
from navigation.api import register_links, register_multi_item_links
from project_setup.api import register_setup
from navigation.api import bind_links, register_multi_item_links
from .classes import (AccessHolder, AccessObjectClass, ClassAccessHolder,
AccessObject)
from .permissions import (ACLS_EDIT_ACL, ACLS_VIEW_ACL,
ACLS_CLASS_EDIT_ACL, ACLS_CLASS_VIEW_ACL)
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)
acl_list = {'text': _(u'ACLs'), 'view': 'acl_list', 'famfam': 'lock', 'permissions': [ACLS_VIEW_ACL]}
acl_detail = {'text': _(u'details'), 'view': 'acl_detail', 'args': ['access_object.gid', 'object.gid'], 'famfam': 'key_go', 'permissions': [ACLS_VIEW_ACL]}
acl_grant = {'text': _(u'grant'), 'view': 'acl_multiple_grant', 'famfam': 'key_add', 'permissions': [ACLS_EDIT_ACL]}
acl_revoke = {'text': _(u'revoke'), 'view': 'acl_multiple_revoke', 'famfam': 'key_delete', 'permissions': [ACLS_EDIT_ACL]}
acl_holder_new = {'text': _(u'New holder'), 'view': 'acl_holder_new', 'args': 'access_object.gid', 'famfam': 'user', 'permissions': [ACLS_EDIT_ACL]}
acl_setup_valid_classes = {'text': _(u'Default ACLs'), 'view': 'acl_setup_valid_classes', 'icon': 'lock.png', 'permissions': [ACLS_CLASS_VIEW_ACL], 'children_view_regex': [r'^acl_class', r'^acl_setup']}
acl_class_list = {'text': _(u'List of classes'), 'view': 'acl_setup_valid_classes', 'famfam': 'package', 'permissions': [ACLS_CLASS_VIEW_ACL]}
acl_class_acl_list = {'text': _(u'ACLs for class'), 'view': 'acl_class_acl_list', 'args': 'object.gid', 'famfam': 'lock_go', 'permissions': [ACLS_CLASS_VIEW_ACL]}
acl_class_acl_detail = {'text': _(u'details'), 'view': 'acl_class_acl_detail', 'args': ['access_object_class.gid', 'object.gid'], 'famfam': 'key_go', 'permissions': [ACLS_CLASS_VIEW_ACL]}
acl_class_new_holder_for = {'text': _(u'New holder'), 'view': 'acl_class_new_holder_for', 'args': 'object.gid', 'famfam': 'user', 'permissions': [ACLS_CLASS_EDIT_ACL]}
acl_class_grant = {'text': _(u'grant'), 'view': 'acl_class_multiple_grant', 'famfam': 'key_add', 'permissions': [ACLS_CLASS_EDIT_ACL]}
acl_class_revoke = {'text': _(u'revoke'), 'view': 'acl_class_multiple_revoke', 'famfam': 'key_delete', 'permissions': [ACLS_CLASS_EDIT_ACL]}
register_links(AccessHolder, [acl_detail])
bind_links([AccessHolder], [acl_detail])
register_multi_item_links(['acl_detail'], [acl_grant, acl_revoke])
register_links([AccessObject], [acl_holder_new], menu_name='sidebar')
register_setup(acl_setup_valid_classes)
register_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')
register_links(ClassAccessHolder, [acl_class_acl_detail])
register_links(AccessObjectClass, [acl_class_acl_list, acl_class_new_holder_for])
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])

View File

@@ -1,136 +1,4 @@
from __future__ import absolute_import
import logging
import sys
import types
from django.contrib.contenttypes.models import ContentType
from django.db.models.base import ModelBase
from django.template.defaultfilters import capfirst
from django.core.exceptions import ObjectDoesNotExist
from common.models import AnonymousUserSingleton
logger = logging.getLogger(__name__)
_cache = {}
def get_source_object(obj):
if isinstance(obj, EncapsulatedObject):
return obj.source_object
else:
return obj
class EncapsulatedObject(object):
source_object_name = u'source_object'
@classmethod
def object_key(cls, app_label=None, model=None, pk=None):
if pk:
return '%s.%s.%s.%s' % (cls.__name__, app_label, model, pk)
else:
return '%s.%s.%s' % (cls.__name__, app_label, model)
@classmethod
def add_to_class(cls, name, value):
if hasattr(value, 'contribute_to_class'):
value.contribute_to_class(cls, name)
else:
setattr(cls, name, value)
@classmethod
def set_source_object_name(cls, new_name):
cls.source_object_name = new_name
#@classmethod
#def encapsulate_list(cls, source_object=None, app_label=None, model=None, pk=None):
@classmethod
def encapsulate(cls, source_object):
source_object = AnonymousUserSingleton.objects.passthru_check(source_object)
content_type = ContentType.objects.get_for_model(source_object)
if hasattr(source_object, 'pk'):
# Object
object_key = cls.object_key(content_type.app_label, content_type.model, source_object.pk)
else:
# Class
object_key = cls.object_key(content_type.app_label, content_type.model)
try:
return _cache[object_key]
except KeyError:
encapsulated_object = cls(source_object)
_cache[object_key] = encapsulated_object
return encapsulated_object
@classmethod
def get(cls, gid):
elements = gid.split('.')
if len(elements) == 3:
app_label, model, pk = elements[0], elements[1], elements[2]
elif len(elements) == 2:
app_label, model = elements[0], elements[1]
pk = None
object_key = cls.object_key(*elements)
try:
return _cache[object_key]
except KeyError:
try:
content_type = ContentType.objects.get(app_label=app_label, model=model)
except ContentType.DoesNotExist:
#cls.add_to_class('DoesNotExist', subclass_exception('DoesNotExist', (ObjectDoesNotExist,), cls.__name__))
#raise cls.DoesNotExist("%s matching query does not exist." % ContentType._meta.object_name)
raise ObjectDoesNotExist("%s matching query does not exist." % ContentType._meta.object_name)
else:
source_object_model_class = content_type.model_class()
if pk:
try:
source_object = content_type.get_object_for_this_type(pk=pk)
except source_object_model_class.DoesNotExist:
#cls.add_to_class('DoesNotExist', subclass_exception('DoesNotExist', (ObjectDoesNotExist,), cls.__name__))
#raise cls.DoesNotExist("%s matching query does not exist." % source_object_model_class._meta.object_name)
raise ObjectDoesNotExist("%s matching query does not exist." % source_object_model_class._meta.object_name)
else:
source_object = source_object_model_class
return cls.encapsulate(source_object)
def __init__(self, source_object):
self.content_type = ContentType.objects.get_for_model(source_object)
self.ct_fullname = '%s.%s' % (self.content_type.app_label, self.content_type.model)
if isinstance(source_object, ModelBase):
# Class
self.gid = '%s.%s' % (self.content_type.app_label, self.content_type.model)
else:
# Object
self.gid = '%s.%s.%s' % (self.content_type.app_label, self.content_type.model, source_object.pk)
setattr(self, self.__class__.source_object_name, source_object)
def __unicode__(self):
if isinstance(self.source_object, ModelBase):
return capfirst(unicode(self.source_object._meta.verbose_name_plural))
elif self.ct_fullname == 'auth.user':
return u'%s %s' % (self.source_object._meta.verbose_name, self.source_object.get_full_name())
elif self.ct_fullname == 'common.anonymoususersingleton':
return unicode(self.source_object)
elif self.ct_fullname == 'acls.creatorsingleton':
return unicode(self.source_object)
else:
return u'%s %s' % (self.source_object._meta.verbose_name, self.source_object)
def __repr__(self):
return self.__unicode__()
@property
def source_object(self):
return getattr(self, self.__class__.source_object_name, None)
from common.classes import EncapsulatedObject
class AccessHolder(EncapsulatedObject):
@@ -147,12 +15,3 @@ class AccessObjectClass(EncapsulatedObject):
class ClassAccessHolder(EncapsulatedObject):
source_object_name = u'class_holder'
if sys.version_info < (2, 5):
# Prior to Python 2.5, Exception was an old-style class
def subclass_exception(name, parents, unused):
return types.ClassType(name, parents, {})
else:
def subclass_exception(name, parents, module):
return type(name, parents, {'__module__': module})

20
apps/acls/icons.py Normal file
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
apps/acls/links.py Normal file
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])

View File

@@ -9,7 +9,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Mayan EDMS\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2012-12-12 03:19-0400\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/"
@@ -20,38 +20,10 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\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
#: forms.py:21 links.py:18 links.py:24
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 "Потребители"
@@ -68,7 +40,35 @@ msgstr "Роли"
msgid "Special"
msgstr ""
#: managers.py:118 managers.py:130
#: 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 "Недостатъчен достъп."
@@ -120,6 +120,15 @@ msgstr ""
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"

View File

@@ -9,7 +9,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Mayan EDMS\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2012-12-12 03:19-0400\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-"
@@ -20,38 +20,10 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
#: __init__.py:14
msgid "ACLs"
msgstr "ACLs"
#: __init__.py:15 __init__.py:23
msgid "details"
msgstr "Details"
#: __init__.py:16 __init__.py:25
msgid "grant"
msgstr "Erlauben"
#: __init__.py:17 __init__.py:26
msgid "revoke"
msgstr "Entziehen"
#: __init__.py:18 __init__.py:24 forms.py:21
#: forms.py:21 links.py:18 links.py:24
msgid "New holder"
msgstr "Neuer Berechtigter"
#: __init__.py:20
msgid "Default ACLs"
msgstr "Standard-ACLs"
#: __init__.py:21
msgid "List of classes"
msgstr "Liste der Klassen"
#: __init__.py:22
msgid "ACLs for class"
msgstr "ACLs für Klasse"
#: forms.py:38
msgid "Users"
msgstr "Benutzer"
@@ -68,7 +40,35 @@ msgstr "Rollen"
msgid "Special"
msgstr ""
#: managers.py:118 managers.py:130
#: 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."
@@ -120,6 +120,15 @@ msgstr "Standard-ACLs für Klasse bearbeiten"
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"

View File

@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2012-12-12 03:19-0400\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"
@@ -17,38 +17,10 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\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
#: forms.py:21 links.py:18 links.py:24
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 ""
@@ -65,7 +37,35 @@ msgstr ""
msgid "Special"
msgstr ""
#: managers.py:118 managers.py:130
#: 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 ""
@@ -117,6 +117,14 @@ msgstr ""
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"

View File

@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Mayan EDMS\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2012-12-12 03:19-0400\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/"
@@ -19,38 +19,10 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
#: __init__.py:14
msgid "ACLs"
msgstr "LCA"
#: __init__.py:15 __init__.py:23
msgid "details"
msgstr "detalles"
#: __init__.py:16 __init__.py:25
msgid "grant"
msgstr "otorgar"
#: __init__.py:17 __init__.py:26
msgid "revoke"
msgstr "revocar"
#: __init__.py:18 __init__.py:24 forms.py:21
#: forms.py:21 links.py:18 links.py:24
msgid "New holder"
msgstr "Nuevo titular"
#: __init__.py:20
msgid "Default ACLs"
msgstr "LCA por defecto"
#: __init__.py:21
msgid "List of classes"
msgstr "Lista de clases"
#: __init__.py:22
msgid "ACLs for class"
msgstr "LCA para la clase"
#: forms.py:38
msgid "Users"
msgstr "Usuarios"
@@ -67,7 +39,35 @@ msgstr "Funciones"
msgid "Special"
msgstr "Especial"
#: managers.py:118 managers.py:130
#: 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."
@@ -119,6 +119,15 @@ msgstr "Editar LCA por defecto de la clase"
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"

View File

@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Mayan EDMS\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2012-12-12 03:19-0400\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/"
@@ -19,38 +19,10 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n > 1);\n"
#: __init__.py:14
msgid "ACLs"
msgstr "ACLs"
#: __init__.py:15 __init__.py:23
msgid "details"
msgstr "détails"
#: __init__.py:16 __init__.py:25
msgid "grant"
msgstr "autoriser"
#: __init__.py:17 __init__.py:26
msgid "revoke"
msgstr "révoquer"
#: __init__.py:18 __init__.py:24 forms.py:21
#: forms.py:21 links.py:18 links.py:24
msgid "New holder"
msgstr "Nouveau détenteur"
#: __init__.py:20
msgid "Default ACLs"
msgstr "ACLs par défaut"
#: __init__.py:21
msgid "List of classes"
msgstr "Liste des classes"
#: __init__.py:22
msgid "ACLs for class"
msgstr "ACLs pour la classe"
#: forms.py:38
msgid "Users"
msgstr "Utilisateurs"
@@ -67,7 +39,35 @@ msgstr "Rôles"
msgid "Special"
msgstr "Spécial"
#: managers.py:118 managers.py:130
#: 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."
@@ -119,6 +119,15 @@ msgstr "Modifier ACLs par défaut"
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"

View File

@@ -10,7 +10,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Mayan EDMS\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2012-12-12 03:19-0400\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/"
@@ -21,38 +21,10 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
#: __init__.py:14
msgid "ACLs"
msgstr "ACL"
#: __init__.py:15 __init__.py:23
msgid "details"
msgstr "dettagli"
#: __init__.py:16 __init__.py:25
msgid "grant"
msgstr "permetti"
#: __init__.py:17 __init__.py:26
msgid "revoke"
msgstr "revocare"
#: __init__.py:18 __init__.py:24 forms.py:21
#: forms.py:21 links.py:18 links.py:24
msgid "New holder"
msgstr "Nuovo titolare"
#: __init__.py:20
msgid "Default ACLs"
msgstr "Default ACL"
#: __init__.py:21
msgid "List of classes"
msgstr "Elenco delle classi"
#: __init__.py:22
msgid "ACLs for class"
msgstr "ACL per la classe"
#: forms.py:38
msgid "Users"
msgstr "Utenti"
@@ -69,7 +41,35 @@ msgstr "Ruoli"
msgid "Special"
msgstr "Speciale"
#: managers.py:118 managers.py:130
#: 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."
@@ -121,6 +121,15 @@ msgstr "Modifica ACL predefiniti di classe"
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"

View File

@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Mayan EDMS\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2012-12-12 03:19-0400\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/"
@@ -18,38 +18,10 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\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
#: forms.py:21 links.py:18 links.py:24
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 ""
@@ -66,7 +38,35 @@ msgstr ""
msgid "Special"
msgstr ""
#: managers.py:118 managers.py:130
#: 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 ""
@@ -118,6 +118,14 @@ msgstr ""
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"

View File

@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Mayan EDMS\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2012-12-12 03:19-0400\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/"
@@ -19,38 +19,10 @@ msgstr ""
"Plural-Forms: nplurals=3; plural=(n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 "
"|| n%100>=20) ? 1 : 2);\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
#: forms.py:21 links.py:18 links.py:24
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 ""
@@ -67,7 +39,35 @@ msgstr ""
msgid "Special"
msgstr ""
#: managers.py:118 managers.py:130
#: 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 ""
@@ -119,6 +119,14 @@ msgstr ""
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"

View File

@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Mayan EDMS\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2012-12-12 03:19-0400\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/"
@@ -19,38 +19,10 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
#: __init__.py:14
msgid "ACLs"
msgstr "ACL's"
#: __init__.py:15 __init__.py:23
msgid "details"
msgstr "detalhes"
#: __init__.py:16 __init__.py:25
msgid "grant"
msgstr "conceder"
#: __init__.py:17 __init__.py:26
msgid "revoke"
msgstr "revogar"
#: __init__.py:18 __init__.py:24 forms.py:21
#: forms.py:21 links.py:18 links.py:24
msgid "New holder"
msgstr "Novo detentor"
#: __init__.py:20
msgid "Default ACLs"
msgstr "ACL's padrão"
#: __init__.py:21
msgid "List of classes"
msgstr "Lista de classes"
#: __init__.py:22
msgid "ACLs for class"
msgstr "ACL's para a classe"
#: forms.py:38
msgid "Users"
msgstr "Utilizadores"
@@ -67,7 +39,35 @@ msgstr "Funções"
msgid "Special"
msgstr "Especial"
#: managers.py:118 managers.py:130
#: 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."
@@ -119,6 +119,15 @@ msgstr "Editar os ACL's padrão da classe"
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"

View File

@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Mayan EDMS\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2012-12-12 03:19-0400\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/"
@@ -18,38 +18,10 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n > 1);\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
#: forms.py:21 links.py:18 links.py:24
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 ""
@@ -66,7 +38,35 @@ msgstr ""
msgid "Special"
msgstr ""
#: managers.py:118 managers.py:130
#: 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 ""
@@ -118,6 +118,14 @@ msgstr ""
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"

View File

@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Mayan EDMS\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2012-12-12 03:19-0400\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/"
@@ -20,38 +20,10 @@ msgstr ""
"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"
#: __init__.py:14
msgid "ACLs"
msgstr "Списки ACL"
#: __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
#: forms.py:21 links.py:18 links.py:24
msgid "New holder"
msgstr "Новый владелец"
#: __init__.py:20
msgid "Default ACLs"
msgstr "ACL по умолчанию"
#: __init__.py:21
msgid "List of classes"
msgstr "Список классов"
#: __init__.py:22
msgid "ACLs for class"
msgstr "ACL для класса"
#: forms.py:38
msgid "Users"
msgstr "Пользователи"
@@ -68,7 +40,35 @@ msgstr "Роли"
msgid "Special"
msgstr "Специальный"
#: managers.py:118 managers.py:130
#: 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 "Недостаточный доступ."
@@ -120,6 +120,15 @@ msgstr "Редактировать списки ACL класса по умолч
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"

View File

@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Mayan EDMS\n"
"Report-Msgid-Bugs-To: http://github.com/rosarior/mayan/issues\n"
"POT-Creation-Date: 2012-07-26 23:54-0400\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"
@@ -17,10 +17,38 @@ msgstr ""
"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"
#: forms.py:21 links.py:14 links.py:20
#: __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 ""
@@ -37,35 +65,7 @@ msgstr ""
msgid "Special"
msgstr ""
#: links.py:10
msgid "ACLs"
msgstr ""
#: links.py:11 links.py:19
msgid "details"
msgstr ""
#: links.py:12 links.py:21
msgid "grant"
msgstr ""
#: links.py:13 links.py:22
msgid "revoke"
msgstr ""
#: links.py:16
msgid "Default ACLs"
msgstr ""
#: links.py:17
msgid "List of classes"
msgstr ""
#: links.py:18
msgid "ACLs for class"
msgstr ""
#: managers.py:119 managers.py:131
#: managers.py:118 managers.py:130
msgid "Insufficient access."
msgstr ""

View File

@@ -11,9 +11,10 @@ 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, get_source_object
from .classes import AccessHolder, ClassAccessHolder
logger = logging.getLogger(__name__)

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

@@ -1,7 +1,17 @@
from __future__ import absolute_import
from .cleanup import cleanup
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',

View File

@@ -4,10 +4,10 @@ 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
from .classes import get_source_object
logger = logging.getLogger(__name__)

View File

@@ -105,7 +105,7 @@ def acl_detail_for(request, actor, obj):
{'name': _(u'label'), 'attribute': 'label'},
{
'name':_(u'has permission'),
'attribute': encapsulate(lambda permission: two_state_template(AccessEntry.objects.has_access(permission, actor, obj, db_only=True)))
'attribute': encapsulate(lambda permission: two_state_template(AccessEntry.objects.has_access(permission, actor, obj, db_only=True)).display_small())
},
],
'hide_object': True,
@@ -443,7 +443,7 @@ def acl_class_acl_detail(request, access_object_class_gid, holder_object_gid):
{'name': _(u'label'), 'attribute': 'label'},
{
'name':_(u'has permission'),
'attribute': encapsulate(lambda x: two_state_template(DefaultAccessEntry.objects.has_access(x, actor.source_object, access_object_class.source_object)))
'attribute': encapsulate(lambda x: two_state_template(DefaultAccessEntry.objects.has_access(x, actor.source_object, access_object_class.source_object)).display_small())
},
],
'hide_object': True,

View File

@@ -0,0 +1,6 @@
from __future__ import absolute_import
from icons.literals import PLUGIN
from icons import Icon
icon_app = Icon(PLUGIN)

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])

View File

@@ -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']

View File

@@ -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']

View File

@@ -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']

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']

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']

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']

View File

@@ -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']

View File

@@ -5,38 +5,82 @@ 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(object):
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.name=app_name
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)
@@ -46,6 +90,10 @@ class App(object):
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)
@@ -60,3 +108,8 @@ class App(object):
def __unicode__(self):
return unicode(self.label)
class Meta:
ordering = ('name', )
verbose_name = _(u'app')
verbose_name_plural = _(u'apps')

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

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'),
)

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
apps/backups/__init__.py Normal file
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
apps/backups/classes.py Normal file
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
apps/backups/forms.py Normal file
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
apps/backups/links.py Normal file
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
apps/backups/literals.py Normal file
View File

@@ -0,0 +1 @@
BACKUP_JOB_QUEUE_NAME = 'backups_queue'

58
apps/backups/models.py Normal file
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
"""

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
apps/backups/urls.py Normal file
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
apps/backups/views.py Normal file
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))

View File

@@ -0,0 +1 @@

14
apps/bootstrap/icons.py Normal file
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)

View File

@@ -2,22 +2,29 @@ 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 = {'text': _(u'bootstrap'), 'view': 'bootstrap_setup_list', 'icon': 'lightning.png', 'permissions': [PERMISSION_BOOTSTRAP_VIEW]}
link_bootstrap_setup_list = {'text': _(u'bootstrap setup list'), 'view': 'bootstrap_setup_list', 'famfam': 'lightning', 'permissions': [PERMISSION_BOOTSTRAP_VIEW]}
link_bootstrap_setup_create = {'text': _(u'create new bootstrap setup'), 'view': 'bootstrap_setup_create', 'famfam': 'lightning_add', 'permissions': [PERMISSION_BOOTSTRAP_CREATE]}
link_bootstrap_setup_edit = {'text': _(u'edit'), 'view': 'bootstrap_setup_edit', 'args': 'object.pk', 'famfam': 'pencil', 'permissions': [PERMISSION_BOOTSTRAP_EDIT]}
link_bootstrap_setup_delete = {'text': _(u'delete'), 'view': 'bootstrap_setup_delete', 'args': 'object.pk', 'famfam': 'lightning_delete', 'permissions': [PERMISSION_BOOTSTRAP_DELETE]}
link_bootstrap_setup_view = {'text': _(u'details'), 'view': 'bootstrap_setup_view', 'args': 'object.pk', 'famfam': 'lightning', 'permissions': [PERMISSION_BOOTSTRAP_VIEW]}
link_bootstrap_setup_execute = {'text': _(u'execute'), 'view': 'bootstrap_setup_execute', 'args': 'object.pk', 'famfam': 'lightning_go', 'permissions': [PERMISSION_BOOTSTRAP_EXECUTE]}
link_bootstrap_setup_dump = {'text': _(u'dump current setup'), 'view': 'bootstrap_setup_dump', 'famfam': 'arrow_down', 'permissions': [PERMISSION_BOOTSTRAP_DUMP]}
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]}
link_erase_database = {'text': _(u'erase database'), 'view': 'erase_database_view', 'icon': 'radioactivity.png', 'permissions': [PERMISSION_NUKE_DATABASE]}

View File

@@ -8,9 +8,9 @@ msgid ""
msgstr ""
"Project-Id-Version: Mayan EDMS\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2012-12-12 03:20-0400\n"
"PO-Revision-Date: 2012-10-17 10:27+0000\n"
"Last-Translator: Pavlin Koldamov <pkoldamov@gmail.com>\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"
@@ -27,58 +27,58 @@ msgstr ""
msgid "Bootstrap setup URL"
msgstr ""
#: links.py:11
#: links.py:16
msgid "bootstrap"
msgstr ""
#: links.py:12
#: links.py:17
msgid "bootstrap setup list"
msgstr ""
#: links.py:13
#: links.py:18
msgid "create new bootstrap setup"
msgstr ""
#: links.py:14
#: links.py:19
msgid "edit"
msgstr "редактиране"
#: links.py:15
#: links.py:20
msgid "delete"
msgstr "изтриване"
#: links.py:16
#: links.py:21
msgid "details"
msgstr "детайли"
#: links.py:17
#: links.py:22
msgid "execute"
msgstr "изпълнение"
#: links.py:18
#: links.py:23
msgid "dump current setup"
msgstr "изпринтване на текущата настройка"
#: links.py:19
#: links.py:24
msgid "erase database"
msgstr "изтриване на база данни"
#: links.py:27
msgid "export"
msgstr ""
#: links.py:20
#: links.py:28
msgid "import from file"
msgstr ""
#: links.py:21
#: links.py:29
msgid "import from URL"
msgstr ""
#: links.py:22
#: links.py:30
msgid "sync with repository"
msgstr ""
#: links.py:23
msgid "erase database"
msgstr "изтриване на база данни"
#: literals.py:20
msgid "JSON"
msgstr "JSON"
@@ -99,7 +99,7 @@ msgstr "име"
msgid "slug"
msgstr ""
#: models.py:32 views.py:34
#: models.py:32 views.py:35
msgid "description"
msgstr "описание"
@@ -112,7 +112,7 @@ msgid "These are the actual database structure creation instructions."
msgstr ""
"Това са текущите инструкции за създаване на структурата на базата данни."
#: models.py:34 views.py:35
#: models.py:34 views.py:36
msgid "type"
msgstr "тип"
@@ -120,11 +120,11 @@ msgstr "тип"
msgid "creation date and time"
msgstr "дата и време на създаване"
#: models.py:104 views.py:90 views.py:119 views.py:144 views.py:172
#: models.py:104 views.py:91 views.py:120 views.py:145 views.py:173
msgid "bootstrap setup"
msgstr ""
#: models.py:105 views.py:31
#: models.py:105 views.py:32
msgid "bootstrap setups"
msgstr ""
@@ -172,158 +172,151 @@ msgstr ""
msgid "Erase the entire database and document storage"
msgstr "Изтрийте цялата база данни за съхраняване и документното пространство"
#: registry.py:7
#: registry.py:8
msgid "Bootstrap"
msgstr ""
#: registry.py:8
#: registry.py:9
msgid "Provides pre configured setups for indexes, document types, tags, etc."
msgstr ""
#: views.py:50
#, fuzzy
#: views.py:51
msgid "Bootstrap setup created successfully"
msgstr "Базата данни е изтрита успешно."
msgstr ""
#: views.py:53
#: views.py:54
msgid "Error creating bootstrap setup."
msgstr ""
#: views.py:58
#: views.py:59
msgid "create bootstrap"
msgstr ""
#: views.py:78
#: views.py:79
msgid "Bootstrap setup edited successfully"
msgstr ""
#: views.py:81
#: views.py:82
msgid "Error editing bootstrap setup."
msgstr ""
#: views.py:86
#: views.py:87
#, python-format
msgid "edit bootstrap setup: %s"
msgstr ""
#: views.py:111
#: views.py:112
#, python-format
msgid "Bootstrap setup: %s deleted successfully."
msgstr ""
#: views.py:113
#: views.py:114
#, python-format
msgid "Bootstrap setup: %(bootstrap)s, delete error: %(error)s"
msgstr ""
#: views.py:124
#: views.py:125
#, python-format
msgid "Are you sure you with to delete the bootstrap setup: %s?"
msgstr ""
#: views.py:164
#: views.py:165
msgid ""
"Cannot execute bootstrap setup, there is existing data. Erase all data and "
"try again."
msgstr ""
#: views.py:166
#: views.py:167
#, python-format
msgid "Error executing bootstrap setup; %s"
msgstr ""
#: views.py:168
#: views.py:169
#, python-format
msgid "Bootstrap setup \"%s\" executed successfully."
msgstr ""
#: views.py:180
#, fuzzy, python-format
#: views.py:181
#, python-format
msgid ""
"Are you sure you wish to execute the database bootstrap setup named: %s?"
msgstr ""
"Сигурен ли сте, че искате да изтриете цялата база данни и документното "
"пространство?"
#: views.py:196
#: views.py:197
#, python-format
msgid "Error dumping configuration into a bootstrap setup; %s"
msgstr ""
#: views.py:200
#, fuzzy
#: views.py:201
msgid "Bootstrap setup created successfully."
msgstr "Базата данни е изтрита успешно."
#: views.py:206
msgid "dump current configuration into a bootstrap setup"
msgstr ""
#: views.py:240 views.py:268
#: views.py:207
#, fuzzy
msgid "Bootstrap setup imported successfully."
msgstr "Базата данни е изтрита успешно."
msgid "dump current setup into a bootstrap setup"
msgstr "изпринтване на текущата настройка"
#: views.py:243
#: 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:245
#: views.py:246
#, python-format
msgid "Error importing bootstrap setup from file; %s."
msgstr ""
#: views.py:251
#: views.py:252
msgid "Import bootstrap setup from file"
msgstr ""
#: views.py:271
#: views.py:272
msgid "Data from URL is not a bootstrap setup."
msgstr ""
#: views.py:273
#: views.py:274
#, python-format
msgid "Error importing bootstrap setup from URL; %s."
msgstr ""
#: views.py:279
#: views.py:280
msgid "Import bootstrap setup from URL"
msgstr ""
#: views.py:298
#: views.py:299
#, python-format
msgid "Error erasing database; %s"
msgstr "Грешка при изтриване на база данни; %s"
#: views.py:300
#: views.py:301
msgid "Database erased successfully."
msgstr "Базата данни е изтрита успешно."
#: views.py:310
#: views.py:311
msgid ""
"Are you sure you wish to erase the entire database and document storage?"
msgstr ""
"Сигурен ли сте, че искате да изтриете цялата база данни и документното "
"пространство?"
#: views.py:311
#: views.py:312
msgid ""
"All documents, sources, metadata, metadata types, set, tags, indexes and "
"logs will be lost irreversibly!"
msgstr ""
#: views.py:328
#: views.py:329
msgid "Bootstrap repository successfully synchronized."
msgstr ""
#: views.py:330
#: views.py:331
#, python-format
msgid "Bootstrap repository synchronization error: %(error)s"
msgstr ""
#: views.py:337
#, fuzzy
#: views.py:338
msgid "Are you sure you wish to synchronize with the bootstrap repository?"
msgstr ""
"Сигурен ли сте, че искате да изтриете цялата база данни и документното "
"пространство?"

View File

@@ -1,21 +1,22 @@
# 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
# Translators:
msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Project-Id-Version: Mayan EDMS\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2012-12-12 03:20-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"
"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"
@@ -25,58 +26,58 @@ msgstr ""
msgid "Bootstrap setup URL"
msgstr ""
#: links.py:11
#: links.py:16
msgid "bootstrap"
msgstr ""
#: links.py:12
#: links.py:17
msgid "bootstrap setup list"
msgstr ""
#: links.py:13
#: links.py:18
msgid "create new bootstrap setup"
msgstr ""
#: links.py:14
#: links.py:19
msgid "edit"
msgstr ""
#: links.py:15
#: links.py:20
msgid "delete"
msgstr ""
#: links.py:16
#: links.py:21
msgid "details"
msgstr ""
#: links.py:17
#: links.py:22
msgid "execute"
msgstr ""
#: links.py:18
#: links.py:23
msgid "dump current setup"
msgstr ""
#: links.py:19
#: links.py:24
msgid "erase database"
msgstr ""
#: links.py:27
msgid "export"
msgstr ""
#: links.py:20
#: links.py:28
msgid "import from file"
msgstr ""
#: links.py:21
#: links.py:29
msgid "import from URL"
msgstr ""
#: links.py:22
#: links.py:30
msgid "sync with repository"
msgstr ""
#: links.py:23
msgid "erase database"
msgstr ""
#: literals.py:20
msgid "JSON"
msgstr ""
@@ -97,7 +98,7 @@ msgstr ""
msgid "slug"
msgstr ""
#: models.py:32 views.py:34
#: models.py:32 views.py:35
msgid "description"
msgstr ""
@@ -109,7 +110,7 @@ msgstr ""
msgid "These are the actual database structure creation instructions."
msgstr ""
#: models.py:34 views.py:35
#: models.py:34 views.py:36
msgid "type"
msgstr ""
@@ -117,11 +118,11 @@ msgstr ""
msgid "creation date and time"
msgstr ""
#: models.py:104 views.py:90 views.py:119 views.py:144 views.py:172
#: models.py:104 views.py:91 views.py:120 views.py:145 views.py:173
msgid "bootstrap setup"
msgstr ""
#: models.py:105 views.py:31
#: models.py:105 views.py:32
msgid "bootstrap setups"
msgstr ""
@@ -169,148 +170,148 @@ msgstr ""
msgid "Erase the entire database and document storage"
msgstr ""
#: registry.py:7
#: registry.py:8
msgid "Bootstrap"
msgstr ""
#: registry.py:8
#: registry.py:9
msgid "Provides pre configured setups for indexes, document types, tags, etc."
msgstr ""
#: views.py:50
#: views.py:51
msgid "Bootstrap setup created successfully"
msgstr ""
#: views.py:53
#: views.py:54
msgid "Error creating bootstrap setup."
msgstr ""
#: views.py:58
#: views.py:59
msgid "create bootstrap"
msgstr ""
#: views.py:78
#: views.py:79
msgid "Bootstrap setup edited successfully"
msgstr ""
#: views.py:81
#: views.py:82
msgid "Error editing bootstrap setup."
msgstr ""
#: views.py:86
#: views.py:87
#, python-format
msgid "edit bootstrap setup: %s"
msgstr ""
#: views.py:111
#: views.py:112
#, python-format
msgid "Bootstrap setup: %s deleted successfully."
msgstr ""
#: views.py:113
#: views.py:114
#, python-format
msgid "Bootstrap setup: %(bootstrap)s, delete error: %(error)s"
msgstr ""
#: views.py:124
#: views.py:125
#, python-format
msgid "Are you sure you with to delete the bootstrap setup: %s?"
msgstr ""
#: views.py:164
#: views.py:165
msgid ""
"Cannot execute bootstrap setup, there is existing data. Erase all data and "
"try again."
msgstr ""
#: views.py:166
#: views.py:167
#, python-format
msgid "Error executing bootstrap setup; %s"
msgstr ""
#: views.py:168
#: views.py:169
#, python-format
msgid "Bootstrap setup \"%s\" executed successfully."
msgstr ""
#: views.py:180
#: views.py:181
#, python-format
msgid ""
"Are you sure you wish to execute the database bootstrap setup named: %s?"
msgstr ""
#: views.py:196
#: views.py:197
#, python-format
msgid "Error dumping configuration into a bootstrap setup; %s"
msgstr ""
#: views.py:200
#: views.py:201
msgid "Bootstrap setup created successfully."
msgstr ""
#: views.py:206
msgid "dump current configuration into a bootstrap setup"
#: views.py:207
msgid "dump current setup into a bootstrap setup"
msgstr ""
#: views.py:240 views.py:268
#: views.py:241 views.py:269
msgid "Bootstrap setup imported successfully."
msgstr ""
#: views.py:243
#: views.py:244
msgid "File is not a bootstrap setup."
msgstr ""
#: views.py:245
#: views.py:246
#, python-format
msgid "Error importing bootstrap setup from file; %s."
msgstr ""
#: views.py:251
#: views.py:252
msgid "Import bootstrap setup from file"
msgstr ""
#: views.py:271
#: views.py:272
msgid "Data from URL is not a bootstrap setup."
msgstr ""
#: views.py:273
#: views.py:274
#, python-format
msgid "Error importing bootstrap setup from URL; %s."
msgstr ""
#: views.py:279
#: views.py:280
msgid "Import bootstrap setup from URL"
msgstr ""
#: views.py:298
#: views.py:299
#, python-format
msgid "Error erasing database; %s"
msgstr ""
#: views.py:300
#: views.py:301
msgid "Database erased successfully."
msgstr ""
#: views.py:310
#: views.py:311
msgid ""
"Are you sure you wish to erase the entire database and document storage?"
msgstr ""
#: views.py:311
#: views.py:312
msgid ""
"All documents, sources, metadata, metadata types, set, tags, indexes and "
"logs will be lost irreversibly!"
msgstr ""
#: views.py:328
#: views.py:329
msgid "Bootstrap repository successfully synchronized."
msgstr ""
#: views.py:330
#: views.py:331
#, python-format
msgid "Bootstrap repository synchronization error: %(error)s"
msgstr ""
#: views.py:337
#: views.py:338
msgid "Are you sure you wish to synchronize with the bootstrap repository?"
msgstr ""

View File

@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2012-12-12 03:20-0400\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"
@@ -25,58 +25,58 @@ msgstr ""
msgid "Bootstrap setup URL"
msgstr ""
#: links.py:11
#: links.py:16
msgid "bootstrap"
msgstr ""
#: links.py:12
#: links.py:17
msgid "bootstrap setup list"
msgstr ""
#: links.py:13
#: links.py:18
msgid "create new bootstrap setup"
msgstr ""
#: links.py:14
#: links.py:19
msgid "edit"
msgstr ""
#: links.py:15
#: links.py:20
msgid "delete"
msgstr ""
#: links.py:16
#: links.py:21
msgid "details"
msgstr ""
#: links.py:17
#: links.py:22
msgid "execute"
msgstr ""
#: links.py:18
#: links.py:23
msgid "dump current setup"
msgstr ""
#: links.py:19
#: links.py:24
msgid "erase database"
msgstr ""
#: links.py:27
msgid "export"
msgstr ""
#: links.py:20
#: links.py:28
msgid "import from file"
msgstr ""
#: links.py:21
#: links.py:29
msgid "import from URL"
msgstr ""
#: links.py:22
#: links.py:30
msgid "sync with repository"
msgstr ""
#: links.py:23
msgid "erase database"
msgstr ""
#: literals.py:20
msgid "JSON"
msgstr ""
@@ -97,7 +97,7 @@ msgstr ""
msgid "slug"
msgstr ""
#: models.py:32 views.py:34
#: models.py:32 views.py:35
msgid "description"
msgstr ""
@@ -109,7 +109,7 @@ msgstr ""
msgid "These are the actual database structure creation instructions."
msgstr ""
#: models.py:34 views.py:35
#: models.py:34 views.py:36
msgid "type"
msgstr ""
@@ -117,11 +117,11 @@ msgstr ""
msgid "creation date and time"
msgstr ""
#: models.py:104 views.py:90 views.py:119 views.py:144 views.py:172
#: models.py:104 views.py:91 views.py:120 views.py:145 views.py:173
msgid "bootstrap setup"
msgstr ""
#: models.py:105 views.py:31
#: models.py:105 views.py:32
msgid "bootstrap setups"
msgstr ""
@@ -169,148 +169,148 @@ msgstr ""
msgid "Erase the entire database and document storage"
msgstr ""
#: registry.py:7
#: registry.py:8
msgid "Bootstrap"
msgstr ""
#: registry.py:8
#: registry.py:9
msgid "Provides pre configured setups for indexes, document types, tags, etc."
msgstr ""
#: views.py:50
#: views.py:51
msgid "Bootstrap setup created successfully"
msgstr ""
#: views.py:53
#: views.py:54
msgid "Error creating bootstrap setup."
msgstr ""
#: views.py:58
#: views.py:59
msgid "create bootstrap"
msgstr ""
#: views.py:78
#: views.py:79
msgid "Bootstrap setup edited successfully"
msgstr ""
#: views.py:81
#: views.py:82
msgid "Error editing bootstrap setup."
msgstr ""
#: views.py:86
#: views.py:87
#, python-format
msgid "edit bootstrap setup: %s"
msgstr ""
#: views.py:111
#: views.py:112
#, python-format
msgid "Bootstrap setup: %s deleted successfully."
msgstr ""
#: views.py:113
#: views.py:114
#, python-format
msgid "Bootstrap setup: %(bootstrap)s, delete error: %(error)s"
msgstr ""
#: views.py:124
#: views.py:125
#, python-format
msgid "Are you sure you with to delete the bootstrap setup: %s?"
msgstr ""
#: views.py:164
#: views.py:165
msgid ""
"Cannot execute bootstrap setup, there is existing data. Erase all data and "
"try again."
msgstr ""
#: views.py:166
#: views.py:167
#, python-format
msgid "Error executing bootstrap setup; %s"
msgstr ""
#: views.py:168
#: views.py:169
#, python-format
msgid "Bootstrap setup \"%s\" executed successfully."
msgstr ""
#: views.py:180
#: views.py:181
#, python-format
msgid ""
"Are you sure you wish to execute the database bootstrap setup named: %s?"
msgstr ""
#: views.py:196
#: views.py:197
#, python-format
msgid "Error dumping configuration into a bootstrap setup; %s"
msgstr ""
#: views.py:200
#: views.py:201
msgid "Bootstrap setup created successfully."
msgstr ""
#: views.py:206
msgid "dump current configuration into a bootstrap setup"
#: views.py:207
msgid "dump current setup into a bootstrap setup"
msgstr ""
#: views.py:240 views.py:268
#: views.py:241 views.py:269
msgid "Bootstrap setup imported successfully."
msgstr ""
#: views.py:243
#: views.py:244
msgid "File is not a bootstrap setup."
msgstr ""
#: views.py:245
#: views.py:246
#, python-format
msgid "Error importing bootstrap setup from file; %s."
msgstr ""
#: views.py:251
#: views.py:252
msgid "Import bootstrap setup from file"
msgstr ""
#: views.py:271
#: views.py:272
msgid "Data from URL is not a bootstrap setup."
msgstr ""
#: views.py:273
#: views.py:274
#, python-format
msgid "Error importing bootstrap setup from URL; %s."
msgstr ""
#: views.py:279
#: views.py:280
msgid "Import bootstrap setup from URL"
msgstr ""
#: views.py:298
#: views.py:299
#, python-format
msgid "Error erasing database; %s"
msgstr ""
#: views.py:300
#: views.py:301
msgid "Database erased successfully."
msgstr ""
#: views.py:310
#: views.py:311
msgid ""
"Are you sure you wish to erase the entire database and document storage?"
msgstr ""
#: views.py:311
#: views.py:312
msgid ""
"All documents, sources, metadata, metadata types, set, tags, indexes and "
"logs will be lost irreversibly!"
msgstr ""
#: views.py:328
#: views.py:329
msgid "Bootstrap repository successfully synchronized."
msgstr ""
#: views.py:330
#: views.py:331
#, python-format
msgid "Bootstrap repository synchronization error: %(error)s"
msgstr ""
#: views.py:337
#: views.py:338
msgid "Are you sure you wish to synchronize with the bootstrap repository?"
msgstr ""

View File

@@ -8,8 +8,8 @@ msgid ""
msgstr ""
"Project-Id-Version: Mayan EDMS\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2012-12-12 03:20-0400\n"
"PO-Revision-Date: 2012-12-12 06:04+0000\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"
@@ -27,58 +27,58 @@ msgstr ""
msgid "Bootstrap setup URL"
msgstr ""
#: links.py:11
#: links.py:16
msgid "bootstrap"
msgstr "arranque"
#: links.py:12
#: links.py:17
msgid "bootstrap setup list"
msgstr "list de configuraciones de arranque"
#: links.py:13
#: links.py:18
msgid "create new bootstrap setup"
msgstr "crear nueva configuración de arranque"
#: links.py:14
#: links.py:19
msgid "edit"
msgstr "editar"
#: links.py:15
#: links.py:20
msgid "delete"
msgstr "borrar"
#: links.py:16
#: links.py:21
msgid "details"
msgstr "detalles"
#: links.py:17
#: links.py:22
msgid "execute"
msgstr "ejecutar"
#: links.py:18
#: links.py:23
msgid "dump current setup"
msgstr "grabar la configuración actual"
#: links.py:19
msgid "export"
msgstr ""
#: links.py:20
msgid "import from file"
msgstr ""
#: links.py:21
msgid "import from URL"
msgstr ""
#: links.py:22
msgid "sync with repository"
msgstr ""
#: links.py:23
#: 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"
@@ -97,9 +97,9 @@ msgstr "nombre"
#: models.py:31
msgid "slug"
msgstr ""
msgstr "identificador"
#: models.py:32 views.py:34
#: models.py:32 views.py:35
msgid "description"
msgstr "descripción"
@@ -113,7 +113,7 @@ msgstr ""
"Estas son la instrucciones reales para la creación de las estructuras de la "
"base de datos."
#: models.py:34 views.py:35
#: models.py:34 views.py:36
msgid "type"
msgstr "tipo"
@@ -121,11 +121,11 @@ msgstr "tipo"
msgid "creation date and time"
msgstr "fecha y hora de creación"
#: models.py:104 views.py:90 views.py:119 views.py:144 views.py:172
#: 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:31
#: models.py:105 views.py:32
msgid "bootstrap setups"
msgstr "configuraciones de arranque"
@@ -174,138 +174,140 @@ msgstr ""
msgid "Erase the entire database and document storage"
msgstr "Borrar toda la base de datos y almacenamiento de documentos"
#: registry.py:7
#: registry.py:8
msgid "Bootstrap"
msgstr "Arranque"
#: registry.py:8
#: 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:50
#: views.py:51
msgid "Bootstrap setup created successfully"
msgstr ""
#: views.py:53
#: views.py:54
msgid "Error creating bootstrap setup."
msgstr "Error al crear la configuración de arranque."
#: views.py:58
#: views.py:59
msgid "create bootstrap"
msgstr "crear configuración de arranque"
#: views.py:78
#: views.py:79
msgid "Bootstrap setup edited successfully"
msgstr "Configuración de arranque editada exitosamente."
#: views.py:81
#: views.py:82
msgid "Error editing bootstrap setup."
msgstr "Error editando la configuración de arranque."
#: views.py:86
#: views.py:87
#, python-format
msgid "edit bootstrap setup: %s"
msgstr "editar configuración de arranque: %s"
#: views.py:111
#: views.py:112
#, python-format
msgid "Bootstrap setup: %s deleted successfully."
msgstr "Configuración de arranque :%s eliminada exitosamente."
#: views.py:113
#: views.py:114
#, python-format
msgid "Bootstrap setup: %(bootstrap)s, delete error: %(error)s"
msgstr ""
#: views.py:124
#: 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:164
#: views.py:165
msgid ""
"Cannot execute bootstrap setup, there is existing data. Erase all data and "
"try again."
msgstr ""
#: views.py:166
#: views.py:167
#, python-format
msgid "Error executing bootstrap setup; %s"
msgstr "Error al ejecutar la configuración de arranque; %s"
#: views.py:168
#: views.py:169
#, python-format
msgid "Bootstrap setup \"%s\" executed successfully."
msgstr "Configuración de arranque \"%s\" ejecutada exitosamente."
#: views.py:180
#: views.py:181
#, python-format
msgid ""
"Are you sure you wish to execute the database bootstrap setup named: %s?"
msgstr ""
#: views.py:196
#: views.py:197
#, python-format
msgid "Error dumping configuration into a bootstrap setup; %s"
msgstr ""
#: views.py:200
#: views.py:201
msgid "Bootstrap setup created successfully."
msgstr ""
#: views.py:206
msgid "dump current configuration into a bootstrap setup"
#: 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:240 views.py:268
#: views.py:241 views.py:269
msgid "Bootstrap setup imported successfully."
msgstr ""
#: views.py:243
#: views.py:244
msgid "File is not a bootstrap setup."
msgstr ""
#: views.py:245
#: views.py:246
#, python-format
msgid "Error importing bootstrap setup from file; %s."
msgstr ""
#: views.py:251
#: views.py:252
msgid "Import bootstrap setup from file"
msgstr ""
#: views.py:271
#: views.py:272
msgid "Data from URL is not a bootstrap setup."
msgstr ""
#: views.py:273
#: views.py:274
#, python-format
msgid "Error importing bootstrap setup from URL; %s."
msgstr ""
#: views.py:279
#: views.py:280
msgid "Import bootstrap setup from URL"
msgstr ""
#: views.py:298
#: views.py:299
#, python-format
msgid "Error erasing database; %s"
msgstr "Error borrando la base de datos; %s"
#: views.py:300
#: views.py:301
msgid "Database erased successfully."
msgstr "Base de datos borrada exitosamente."
#: views.py:310
#: 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:311
#: views.py:312
msgid ""
"All documents, sources, metadata, metadata types, set, tags, indexes and "
"logs will be lost irreversibly!"
@@ -314,15 +316,15 @@ msgstr ""
"los conjuntos de metadatos, las etiquetas, los índices y vitacoras se "
"perderán irreversiblemente!"
#: views.py:328
#: views.py:329
msgid "Bootstrap repository successfully synchronized."
msgstr ""
#: views.py:330
#: views.py:331
#, python-format
msgid "Bootstrap repository synchronization error: %(error)s"
msgstr ""
#: views.py:337
#: views.py:338
msgid "Are you sure you wish to synchronize with the bootstrap repository?"
msgstr ""

View File

@@ -1,22 +1,24 @@
# 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
# Translators:
# <patrick.hetu@gmail.com>, 2012.
# Pierre Lhoste <peter.cathbad.host@gmail.com>, 2012.
msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Project-Id-Version: Mayan EDMS\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2012-12-12 03:20-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"
"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: 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"
"Plural-Forms: nplurals=2; plural=(n > 1);\n"
#: forms.py:50
msgid "Bootstrap setup file"
@@ -26,58 +28,58 @@ msgstr ""
msgid "Bootstrap setup URL"
msgstr ""
#: links.py:11
#: links.py:16
msgid "bootstrap"
msgstr ""
#: links.py:12
#: links.py:17
msgid "bootstrap setup list"
msgstr ""
#: links.py:13
#: links.py:18
msgid "create new bootstrap setup"
msgstr ""
#: links.py:14
#: links.py:19
msgid "edit"
msgstr ""
#: links.py:15
#: links.py:20
msgid "delete"
msgstr ""
#: links.py:16
#: links.py:21
msgid "details"
msgstr ""
#: links.py:17
#: links.py:22
msgid "execute"
msgstr ""
msgstr "exécuter"
#: links.py:18
#: links.py:23
msgid "dump current setup"
msgstr ""
#: links.py:19
#: links.py:24
msgid "erase database"
msgstr "Supprimer la base de données"
#: links.py:27
msgid "export"
msgstr ""
#: links.py:20
#: links.py:28
msgid "import from file"
msgstr ""
#: links.py:21
#: links.py:29
msgid "import from URL"
msgstr ""
#: links.py:22
#: links.py:30
msgid "sync with repository"
msgstr ""
#: links.py:23
msgid "erase database"
msgstr ""
#: literals.py:20
msgid "JSON"
msgstr ""
@@ -98,9 +100,9 @@ msgstr ""
msgid "slug"
msgstr ""
#: models.py:32 views.py:34
#: models.py:32 views.py:35
msgid "description"
msgstr ""
msgstr "description"
#: models.py:33
msgid "fixture"
@@ -110,7 +112,7 @@ msgstr ""
msgid "These are the actual database structure creation instructions."
msgstr ""
#: models.py:34 views.py:35
#: models.py:34 views.py:36
msgid "type"
msgstr ""
@@ -118,17 +120,17 @@ msgstr ""
msgid "creation date and time"
msgstr ""
#: models.py:104 views.py:90 views.py:119 views.py:144 views.py:172
#: models.py:104 views.py:91 views.py:120 views.py:145 views.py:173
msgid "bootstrap setup"
msgstr ""
msgstr "pré-configuration"
#: models.py:105 views.py:31
#: models.py:105 views.py:32
msgid "bootstrap setups"
msgstr ""
#: permissions.py:7
msgid "Database bootstrap"
msgstr ""
msgstr "Pré-configuration de base de données"
#: permissions.py:9
msgid "View bootstrap setups"
@@ -168,150 +170,155 @@ msgstr ""
#: permissions.py:18
msgid "Erase the entire database and document storage"
msgstr ""
msgstr "Effacer l'ensemble de la base de donnée et tous les documents stockés"
#: registry.py:7
#: registry.py:8
msgid "Bootstrap"
msgstr ""
#: registry.py:8
#: registry.py:9
msgid "Provides pre configured setups for indexes, document types, tags, etc."
msgstr ""
#: views.py:50
#: views.py:51
msgid "Bootstrap setup created successfully"
msgstr ""
#: views.py:53
#: views.py:54
msgid "Error creating bootstrap setup."
msgstr ""
#: views.py:58
#: views.py:59
msgid "create bootstrap"
msgstr ""
#: views.py:78
#: views.py:79
msgid "Bootstrap setup edited successfully"
msgstr ""
#: views.py:81
#: views.py:82
msgid "Error editing bootstrap setup."
msgstr ""
#: views.py:86
#: views.py:87
#, python-format
msgid "edit bootstrap setup: %s"
msgstr ""
#: views.py:111
#: views.py:112
#, python-format
msgid "Bootstrap setup: %s deleted successfully."
msgstr ""
#: views.py:113
#: views.py:114
#, python-format
msgid "Bootstrap setup: %(bootstrap)s, delete error: %(error)s"
msgstr ""
#: views.py:124
#: views.py:125
#, python-format
msgid "Are you sure you with to delete the bootstrap setup: %s?"
msgstr ""
#: views.py:164
#: views.py:165
msgid ""
"Cannot execute bootstrap setup, there is existing data. Erase all data and "
"try again."
msgstr ""
#: views.py:166
#: views.py:167
#, python-format
msgid "Error executing bootstrap setup; %s"
msgstr ""
msgstr "Erreur lors de l'exécution de la pré-configuration; %s"
#: views.py:168
#: views.py:169
#, python-format
msgid "Bootstrap setup \"%s\" executed successfully."
msgstr ""
msgstr "Pré-configuration \"%s\" effectuée avec succès."
#: views.py:180
#: views.py:181
#, python-format
msgid ""
"Are you sure you wish to execute the database bootstrap setup named: %s?"
msgstr ""
#: views.py:196
#: views.py:197
#, python-format
msgid "Error dumping configuration into a bootstrap setup; %s"
msgstr ""
#: views.py:200
#: views.py:201
msgid "Bootstrap setup created successfully."
msgstr ""
#: views.py:206
msgid "dump current configuration into a bootstrap setup"
msgstr ""
#: views.py:207
#, fuzzy
msgid "dump current setup into a bootstrap setup"
msgstr "Erreur lors de l'exécution de la pré-configuration; %s"
#: views.py:240 views.py:268
#: views.py:241 views.py:269
msgid "Bootstrap setup imported successfully."
msgstr ""
#: views.py:243
#: views.py:244
msgid "File is not a bootstrap setup."
msgstr ""
#: views.py:245
#: views.py:246
#, python-format
msgid "Error importing bootstrap setup from file; %s."
msgstr ""
#: views.py:251
#: views.py:252
msgid "Import bootstrap setup from file"
msgstr ""
#: views.py:271
#: views.py:272
msgid "Data from URL is not a bootstrap setup."
msgstr ""
#: views.py:273
#: views.py:274
#, python-format
msgid "Error importing bootstrap setup from URL; %s."
msgstr ""
#: views.py:279
#: views.py:280
msgid "Import bootstrap setup from URL"
msgstr ""
#: views.py:298
#: views.py:299
#, python-format
msgid "Error erasing database; %s"
msgstr ""
msgstr "Erreur lors de l'effacement de la base de données; %s"
#: views.py:300
#: views.py:301
msgid "Database erased successfully."
msgstr ""
msgstr "Base de Données effacée avec succès."
#: views.py:310
#: views.py:311
msgid ""
"Are you sure you wish to erase the entire database and document storage?"
msgstr ""
"Êtes vous certain de vouloir effacer l'intégralité de la base de données et "
"des documents stockés?"
#: views.py:311
#: views.py:312
msgid ""
"All documents, sources, metadata, metadata types, set, tags, indexes and "
"logs will be lost irreversibly!"
msgstr ""
"Tous les documents, sources, métadonnées, types de métadonnées, jeux, "
"étiquettes, indexes et logs seron définitivement perdus!"
#: views.py:328
#: views.py:329
msgid "Bootstrap repository successfully synchronized."
msgstr ""
#: views.py:330
#: views.py:331
#, python-format
msgid "Bootstrap repository synchronization error: %(error)s"
msgstr ""
#: views.py:337
#: views.py:338
msgid "Are you sure you wish to synchronize with the bootstrap repository?"
msgstr ""

View File

@@ -1,22 +1,22 @@
# 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
# Translators:
msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Project-Id-Version: Mayan EDMS\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2012-12-12 03:20-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"
"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: 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"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
#: forms.py:50
msgid "Bootstrap setup file"
@@ -26,58 +26,58 @@ msgstr ""
msgid "Bootstrap setup URL"
msgstr ""
#: links.py:11
#: links.py:16
msgid "bootstrap"
msgstr ""
#: links.py:12
#: links.py:17
msgid "bootstrap setup list"
msgstr ""
#: links.py:13
#: links.py:18
msgid "create new bootstrap setup"
msgstr ""
#: links.py:14
#: links.py:19
msgid "edit"
msgstr ""
#: links.py:15
#: links.py:20
msgid "delete"
msgstr ""
#: links.py:16
#: links.py:21
msgid "details"
msgstr ""
#: links.py:17
#: links.py:22
msgid "execute"
msgstr ""
#: links.py:18
#: links.py:23
msgid "dump current setup"
msgstr ""
#: links.py:19
#: links.py:24
msgid "erase database"
msgstr ""
#: links.py:27
msgid "export"
msgstr ""
#: links.py:20
#: links.py:28
msgid "import from file"
msgstr ""
#: links.py:21
#: links.py:29
msgid "import from URL"
msgstr ""
#: links.py:22
#: links.py:30
msgid "sync with repository"
msgstr ""
#: links.py:23
msgid "erase database"
msgstr ""
#: literals.py:20
msgid "JSON"
msgstr ""
@@ -98,7 +98,7 @@ msgstr ""
msgid "slug"
msgstr ""
#: models.py:32 views.py:34
#: models.py:32 views.py:35
msgid "description"
msgstr ""
@@ -110,7 +110,7 @@ msgstr ""
msgid "These are the actual database structure creation instructions."
msgstr ""
#: models.py:34 views.py:35
#: models.py:34 views.py:36
msgid "type"
msgstr ""
@@ -118,11 +118,11 @@ msgstr ""
msgid "creation date and time"
msgstr ""
#: models.py:104 views.py:90 views.py:119 views.py:144 views.py:172
#: models.py:104 views.py:91 views.py:120 views.py:145 views.py:173
msgid "bootstrap setup"
msgstr ""
#: models.py:105 views.py:31
#: models.py:105 views.py:32
msgid "bootstrap setups"
msgstr ""
@@ -170,148 +170,148 @@ msgstr ""
msgid "Erase the entire database and document storage"
msgstr ""
#: registry.py:7
#: registry.py:8
msgid "Bootstrap"
msgstr ""
#: registry.py:8
#: registry.py:9
msgid "Provides pre configured setups for indexes, document types, tags, etc."
msgstr ""
#: views.py:50
#: views.py:51
msgid "Bootstrap setup created successfully"
msgstr ""
#: views.py:53
#: views.py:54
msgid "Error creating bootstrap setup."
msgstr ""
#: views.py:58
#: views.py:59
msgid "create bootstrap"
msgstr ""
#: views.py:78
#: views.py:79
msgid "Bootstrap setup edited successfully"
msgstr ""
#: views.py:81
#: views.py:82
msgid "Error editing bootstrap setup."
msgstr ""
#: views.py:86
#: views.py:87
#, python-format
msgid "edit bootstrap setup: %s"
msgstr ""
#: views.py:111
#: views.py:112
#, python-format
msgid "Bootstrap setup: %s deleted successfully."
msgstr ""
#: views.py:113
#: views.py:114
#, python-format
msgid "Bootstrap setup: %(bootstrap)s, delete error: %(error)s"
msgstr ""
#: views.py:124
#: views.py:125
#, python-format
msgid "Are you sure you with to delete the bootstrap setup: %s?"
msgstr ""
#: views.py:164
#: views.py:165
msgid ""
"Cannot execute bootstrap setup, there is existing data. Erase all data and "
"try again."
msgstr ""
#: views.py:166
#: views.py:167
#, python-format
msgid "Error executing bootstrap setup; %s"
msgstr ""
#: views.py:168
#: views.py:169
#, python-format
msgid "Bootstrap setup \"%s\" executed successfully."
msgstr ""
#: views.py:180
#: views.py:181
#, python-format
msgid ""
"Are you sure you wish to execute the database bootstrap setup named: %s?"
msgstr ""
#: views.py:196
#: views.py:197
#, python-format
msgid "Error dumping configuration into a bootstrap setup; %s"
msgstr ""
#: views.py:200
#: views.py:201
msgid "Bootstrap setup created successfully."
msgstr ""
#: views.py:206
msgid "dump current configuration into a bootstrap setup"
#: views.py:207
msgid "dump current setup into a bootstrap setup"
msgstr ""
#: views.py:240 views.py:268
#: views.py:241 views.py:269
msgid "Bootstrap setup imported successfully."
msgstr ""
#: views.py:243
#: views.py:244
msgid "File is not a bootstrap setup."
msgstr ""
#: views.py:245
#: views.py:246
#, python-format
msgid "Error importing bootstrap setup from file; %s."
msgstr ""
#: views.py:251
#: views.py:252
msgid "Import bootstrap setup from file"
msgstr ""
#: views.py:271
#: views.py:272
msgid "Data from URL is not a bootstrap setup."
msgstr ""
#: views.py:273
#: views.py:274
#, python-format
msgid "Error importing bootstrap setup from URL; %s."
msgstr ""
#: views.py:279
#: views.py:280
msgid "Import bootstrap setup from URL"
msgstr ""
#: views.py:298
#: views.py:299
#, python-format
msgid "Error erasing database; %s"
msgstr ""
#: views.py:300
#: views.py:301
msgid "Database erased successfully."
msgstr ""
#: views.py:310
#: views.py:311
msgid ""
"Are you sure you wish to erase the entire database and document storage?"
msgstr ""
#: views.py:311
#: views.py:312
msgid ""
"All documents, sources, metadata, metadata types, set, tags, indexes and "
"logs will be lost irreversibly!"
msgstr ""
#: views.py:328
#: views.py:329
msgid "Bootstrap repository successfully synchronized."
msgstr ""
#: views.py:330
#: views.py:331
#, python-format
msgid "Bootstrap repository synchronization error: %(error)s"
msgstr ""
#: views.py:337
#: views.py:338
msgid "Are you sure you wish to synchronize with the bootstrap repository?"
msgstr ""

View File

@@ -1,21 +1,22 @@
# 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
# Translators:
msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Project-Id-Version: Mayan EDMS\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2012-12-12 03:20-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"
"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: 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:50
msgid "Bootstrap setup file"
@@ -25,58 +26,58 @@ msgstr ""
msgid "Bootstrap setup URL"
msgstr ""
#: links.py:11
#: links.py:16
msgid "bootstrap"
msgstr ""
#: links.py:12
#: links.py:17
msgid "bootstrap setup list"
msgstr ""
#: links.py:13
#: links.py:18
msgid "create new bootstrap setup"
msgstr ""
#: links.py:14
#: links.py:19
msgid "edit"
msgstr ""
#: links.py:15
#: links.py:20
msgid "delete"
msgstr ""
#: links.py:16
#: links.py:21
msgid "details"
msgstr ""
#: links.py:17
#: links.py:22
msgid "execute"
msgstr ""
#: links.py:18
#: links.py:23
msgid "dump current setup"
msgstr ""
#: links.py:19
#: links.py:24
msgid "erase database"
msgstr ""
#: links.py:27
msgid "export"
msgstr ""
#: links.py:20
#: links.py:28
msgid "import from file"
msgstr ""
#: links.py:21
#: links.py:29
msgid "import from URL"
msgstr ""
#: links.py:22
#: links.py:30
msgid "sync with repository"
msgstr ""
#: links.py:23
msgid "erase database"
msgstr ""
#: literals.py:20
msgid "JSON"
msgstr ""
@@ -97,7 +98,7 @@ msgstr ""
msgid "slug"
msgstr ""
#: models.py:32 views.py:34
#: models.py:32 views.py:35
msgid "description"
msgstr ""
@@ -109,7 +110,7 @@ msgstr ""
msgid "These are the actual database structure creation instructions."
msgstr ""
#: models.py:34 views.py:35
#: models.py:34 views.py:36
msgid "type"
msgstr ""
@@ -117,11 +118,11 @@ msgstr ""
msgid "creation date and time"
msgstr ""
#: models.py:104 views.py:90 views.py:119 views.py:144 views.py:172
#: models.py:104 views.py:91 views.py:120 views.py:145 views.py:173
msgid "bootstrap setup"
msgstr ""
#: models.py:105 views.py:31
#: models.py:105 views.py:32
msgid "bootstrap setups"
msgstr ""
@@ -169,148 +170,148 @@ msgstr ""
msgid "Erase the entire database and document storage"
msgstr ""
#: registry.py:7
#: registry.py:8
msgid "Bootstrap"
msgstr ""
#: registry.py:8
#: registry.py:9
msgid "Provides pre configured setups for indexes, document types, tags, etc."
msgstr ""
#: views.py:50
#: views.py:51
msgid "Bootstrap setup created successfully"
msgstr ""
#: views.py:53
#: views.py:54
msgid "Error creating bootstrap setup."
msgstr ""
#: views.py:58
#: views.py:59
msgid "create bootstrap"
msgstr ""
#: views.py:78
#: views.py:79
msgid "Bootstrap setup edited successfully"
msgstr ""
#: views.py:81
#: views.py:82
msgid "Error editing bootstrap setup."
msgstr ""
#: views.py:86
#: views.py:87
#, python-format
msgid "edit bootstrap setup: %s"
msgstr ""
#: views.py:111
#: views.py:112
#, python-format
msgid "Bootstrap setup: %s deleted successfully."
msgstr ""
#: views.py:113
#: views.py:114
#, python-format
msgid "Bootstrap setup: %(bootstrap)s, delete error: %(error)s"
msgstr ""
#: views.py:124
#: views.py:125
#, python-format
msgid "Are you sure you with to delete the bootstrap setup: %s?"
msgstr ""
#: views.py:164
#: views.py:165
msgid ""
"Cannot execute bootstrap setup, there is existing data. Erase all data and "
"try again."
msgstr ""
#: views.py:166
#: views.py:167
#, python-format
msgid "Error executing bootstrap setup; %s"
msgstr ""
#: views.py:168
#: views.py:169
#, python-format
msgid "Bootstrap setup \"%s\" executed successfully."
msgstr ""
#: views.py:180
#: views.py:181
#, python-format
msgid ""
"Are you sure you wish to execute the database bootstrap setup named: %s?"
msgstr ""
#: views.py:196
#: views.py:197
#, python-format
msgid "Error dumping configuration into a bootstrap setup; %s"
msgstr ""
#: views.py:200
#: views.py:201
msgid "Bootstrap setup created successfully."
msgstr ""
#: views.py:206
msgid "dump current configuration into a bootstrap setup"
#: views.py:207
msgid "dump current setup into a bootstrap setup"
msgstr ""
#: views.py:240 views.py:268
#: views.py:241 views.py:269
msgid "Bootstrap setup imported successfully."
msgstr ""
#: views.py:243
#: views.py:244
msgid "File is not a bootstrap setup."
msgstr ""
#: views.py:245
#: views.py:246
#, python-format
msgid "Error importing bootstrap setup from file; %s."
msgstr ""
#: views.py:251
#: views.py:252
msgid "Import bootstrap setup from file"
msgstr ""
#: views.py:271
#: views.py:272
msgid "Data from URL is not a bootstrap setup."
msgstr ""
#: views.py:273
#: views.py:274
#, python-format
msgid "Error importing bootstrap setup from URL; %s."
msgstr ""
#: views.py:279
#: views.py:280
msgid "Import bootstrap setup from URL"
msgstr ""
#: views.py:298
#: views.py:299
#, python-format
msgid "Error erasing database; %s"
msgstr ""
#: views.py:300
#: views.py:301
msgid "Database erased successfully."
msgstr ""
#: views.py:310
#: views.py:311
msgid ""
"Are you sure you wish to erase the entire database and document storage?"
msgstr ""
#: views.py:311
#: views.py:312
msgid ""
"All documents, sources, metadata, metadata types, set, tags, indexes and "
"logs will be lost irreversibly!"
msgstr ""
#: views.py:328
#: views.py:329
msgid "Bootstrap repository successfully synchronized."
msgstr ""
#: views.py:330
#: views.py:331
#, python-format
msgid "Bootstrap repository synchronization error: %(error)s"
msgstr ""
#: views.py:337
#: views.py:338
msgid "Are you sure you wish to synchronize with the bootstrap repository?"
msgstr ""

View File

@@ -1,23 +1,23 @@
# 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
# Translators:
msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Project-Id-Version: Mayan EDMS\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2012-12-12 03:20-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"
"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: 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"
"|| n%100>=20) ? 1 : 2);\n"
#: forms.py:50
msgid "Bootstrap setup file"
@@ -27,58 +27,58 @@ msgstr ""
msgid "Bootstrap setup URL"
msgstr ""
#: links.py:11
#: links.py:16
msgid "bootstrap"
msgstr ""
#: links.py:12
#: links.py:17
msgid "bootstrap setup list"
msgstr ""
#: links.py:13
#: links.py:18
msgid "create new bootstrap setup"
msgstr ""
#: links.py:14
#: links.py:19
msgid "edit"
msgstr ""
#: links.py:15
#: links.py:20
msgid "delete"
msgstr ""
#: links.py:16
#: links.py:21
msgid "details"
msgstr ""
#: links.py:17
#: links.py:22
msgid "execute"
msgstr ""
#: links.py:18
#: links.py:23
msgid "dump current setup"
msgstr ""
#: links.py:19
#: links.py:24
msgid "erase database"
msgstr ""
#: links.py:27
msgid "export"
msgstr ""
#: links.py:20
#: links.py:28
msgid "import from file"
msgstr ""
#: links.py:21
#: links.py:29
msgid "import from URL"
msgstr ""
#: links.py:22
#: links.py:30
msgid "sync with repository"
msgstr ""
#: links.py:23
msgid "erase database"
msgstr ""
#: literals.py:20
msgid "JSON"
msgstr ""
@@ -99,7 +99,7 @@ msgstr ""
msgid "slug"
msgstr ""
#: models.py:32 views.py:34
#: models.py:32 views.py:35
msgid "description"
msgstr ""
@@ -111,7 +111,7 @@ msgstr ""
msgid "These are the actual database structure creation instructions."
msgstr ""
#: models.py:34 views.py:35
#: models.py:34 views.py:36
msgid "type"
msgstr ""
@@ -119,11 +119,11 @@ msgstr ""
msgid "creation date and time"
msgstr ""
#: models.py:104 views.py:90 views.py:119 views.py:144 views.py:172
#: models.py:104 views.py:91 views.py:120 views.py:145 views.py:173
msgid "bootstrap setup"
msgstr ""
#: models.py:105 views.py:31
#: models.py:105 views.py:32
msgid "bootstrap setups"
msgstr ""
@@ -171,148 +171,148 @@ msgstr ""
msgid "Erase the entire database and document storage"
msgstr ""
#: registry.py:7
#: registry.py:8
msgid "Bootstrap"
msgstr ""
#: registry.py:8
#: registry.py:9
msgid "Provides pre configured setups for indexes, document types, tags, etc."
msgstr ""
#: views.py:50
#: views.py:51
msgid "Bootstrap setup created successfully"
msgstr ""
#: views.py:53
#: views.py:54
msgid "Error creating bootstrap setup."
msgstr ""
#: views.py:58
#: views.py:59
msgid "create bootstrap"
msgstr ""
#: views.py:78
#: views.py:79
msgid "Bootstrap setup edited successfully"
msgstr ""
#: views.py:81
#: views.py:82
msgid "Error editing bootstrap setup."
msgstr ""
#: views.py:86
#: views.py:87
#, python-format
msgid "edit bootstrap setup: %s"
msgstr ""
#: views.py:111
#: views.py:112
#, python-format
msgid "Bootstrap setup: %s deleted successfully."
msgstr ""
#: views.py:113
#: views.py:114
#, python-format
msgid "Bootstrap setup: %(bootstrap)s, delete error: %(error)s"
msgstr ""
#: views.py:124
#: views.py:125
#, python-format
msgid "Are you sure you with to delete the bootstrap setup: %s?"
msgstr ""
#: views.py:164
#: views.py:165
msgid ""
"Cannot execute bootstrap setup, there is existing data. Erase all data and "
"try again."
msgstr ""
#: views.py:166
#: views.py:167
#, python-format
msgid "Error executing bootstrap setup; %s"
msgstr ""
#: views.py:168
#: views.py:169
#, python-format
msgid "Bootstrap setup \"%s\" executed successfully."
msgstr ""
#: views.py:180
#: views.py:181
#, python-format
msgid ""
"Are you sure you wish to execute the database bootstrap setup named: %s?"
msgstr ""
#: views.py:196
#: views.py:197
#, python-format
msgid "Error dumping configuration into a bootstrap setup; %s"
msgstr ""
#: views.py:200
#: views.py:201
msgid "Bootstrap setup created successfully."
msgstr ""
#: views.py:206
msgid "dump current configuration into a bootstrap setup"
#: views.py:207
msgid "dump current setup into a bootstrap setup"
msgstr ""
#: views.py:240 views.py:268
#: views.py:241 views.py:269
msgid "Bootstrap setup imported successfully."
msgstr ""
#: views.py:243
#: views.py:244
msgid "File is not a bootstrap setup."
msgstr ""
#: views.py:245
#: views.py:246
#, python-format
msgid "Error importing bootstrap setup from file; %s."
msgstr ""
#: views.py:251
#: views.py:252
msgid "Import bootstrap setup from file"
msgstr ""
#: views.py:271
#: views.py:272
msgid "Data from URL is not a bootstrap setup."
msgstr ""
#: views.py:273
#: views.py:274
#, python-format
msgid "Error importing bootstrap setup from URL; %s."
msgstr ""
#: views.py:279
#: views.py:280
msgid "Import bootstrap setup from URL"
msgstr ""
#: views.py:298
#: views.py:299
#, python-format
msgid "Error erasing database; %s"
msgstr ""
#: views.py:300
#: views.py:301
msgid "Database erased successfully."
msgstr ""
#: views.py:310
#: views.py:311
msgid ""
"Are you sure you wish to erase the entire database and document storage?"
msgstr ""
#: views.py:311
#: views.py:312
msgid ""
"All documents, sources, metadata, metadata types, set, tags, indexes and "
"logs will be lost irreversibly!"
msgstr ""
#: views.py:328
#: views.py:329
msgid "Bootstrap repository successfully synchronized."
msgstr ""
#: views.py:330
#: views.py:331
#, python-format
msgid "Bootstrap repository synchronization error: %(error)s"
msgstr ""
#: views.py:337
#: views.py:338
msgid "Are you sure you wish to synchronize with the bootstrap repository?"
msgstr ""

View File

@@ -1,22 +1,22 @@
# 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
# Translators:
msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Project-Id-Version: Mayan EDMS\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2012-12-12 03:20-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"
"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: 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"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
#: forms.py:50
msgid "Bootstrap setup file"
@@ -26,58 +26,58 @@ msgstr ""
msgid "Bootstrap setup URL"
msgstr ""
#: links.py:11
#: links.py:16
msgid "bootstrap"
msgstr ""
#: links.py:12
#: links.py:17
msgid "bootstrap setup list"
msgstr ""
#: links.py:13
#: links.py:18
msgid "create new bootstrap setup"
msgstr ""
#: links.py:14
#: links.py:19
msgid "edit"
msgstr ""
#: links.py:15
#: links.py:20
msgid "delete"
msgstr ""
#: links.py:16
#: links.py:21
msgid "details"
msgstr ""
#: links.py:17
#: links.py:22
msgid "execute"
msgstr ""
#: links.py:18
#: links.py:23
msgid "dump current setup"
msgstr ""
#: links.py:19
#: links.py:24
msgid "erase database"
msgstr ""
#: links.py:27
msgid "export"
msgstr ""
#: links.py:20
#: links.py:28
msgid "import from file"
msgstr ""
#: links.py:21
#: links.py:29
msgid "import from URL"
msgstr ""
#: links.py:22
#: links.py:30
msgid "sync with repository"
msgstr ""
#: links.py:23
msgid "erase database"
msgstr ""
#: literals.py:20
msgid "JSON"
msgstr ""
@@ -98,7 +98,7 @@ msgstr ""
msgid "slug"
msgstr ""
#: models.py:32 views.py:34
#: models.py:32 views.py:35
msgid "description"
msgstr ""
@@ -110,7 +110,7 @@ msgstr ""
msgid "These are the actual database structure creation instructions."
msgstr ""
#: models.py:34 views.py:35
#: models.py:34 views.py:36
msgid "type"
msgstr ""
@@ -118,11 +118,11 @@ msgstr ""
msgid "creation date and time"
msgstr ""
#: models.py:104 views.py:90 views.py:119 views.py:144 views.py:172
#: models.py:104 views.py:91 views.py:120 views.py:145 views.py:173
msgid "bootstrap setup"
msgstr ""
#: models.py:105 views.py:31
#: models.py:105 views.py:32
msgid "bootstrap setups"
msgstr ""
@@ -170,148 +170,148 @@ msgstr ""
msgid "Erase the entire database and document storage"
msgstr ""
#: registry.py:7
#: registry.py:8
msgid "Bootstrap"
msgstr ""
#: registry.py:8
#: registry.py:9
msgid "Provides pre configured setups for indexes, document types, tags, etc."
msgstr ""
#: views.py:50
#: views.py:51
msgid "Bootstrap setup created successfully"
msgstr ""
#: views.py:53
#: views.py:54
msgid "Error creating bootstrap setup."
msgstr ""
#: views.py:58
#: views.py:59
msgid "create bootstrap"
msgstr ""
#: views.py:78
#: views.py:79
msgid "Bootstrap setup edited successfully"
msgstr ""
#: views.py:81
#: views.py:82
msgid "Error editing bootstrap setup."
msgstr ""
#: views.py:86
#: views.py:87
#, python-format
msgid "edit bootstrap setup: %s"
msgstr ""
#: views.py:111
#: views.py:112
#, python-format
msgid "Bootstrap setup: %s deleted successfully."
msgstr ""
#: views.py:113
#: views.py:114
#, python-format
msgid "Bootstrap setup: %(bootstrap)s, delete error: %(error)s"
msgstr ""
#: views.py:124
#: views.py:125
#, python-format
msgid "Are you sure you with to delete the bootstrap setup: %s?"
msgstr ""
#: views.py:164
#: views.py:165
msgid ""
"Cannot execute bootstrap setup, there is existing data. Erase all data and "
"try again."
msgstr ""
#: views.py:166
#: views.py:167
#, python-format
msgid "Error executing bootstrap setup; %s"
msgstr ""
#: views.py:168
#: views.py:169
#, python-format
msgid "Bootstrap setup \"%s\" executed successfully."
msgstr ""
#: views.py:180
#: views.py:181
#, python-format
msgid ""
"Are you sure you wish to execute the database bootstrap setup named: %s?"
msgstr ""
#: views.py:196
#: views.py:197
#, python-format
msgid "Error dumping configuration into a bootstrap setup; %s"
msgstr ""
#: views.py:200
#: views.py:201
msgid "Bootstrap setup created successfully."
msgstr ""
#: views.py:206
msgid "dump current configuration into a bootstrap setup"
#: views.py:207
msgid "dump current setup into a bootstrap setup"
msgstr ""
#: views.py:240 views.py:268
#: views.py:241 views.py:269
msgid "Bootstrap setup imported successfully."
msgstr ""
#: views.py:243
#: views.py:244
msgid "File is not a bootstrap setup."
msgstr ""
#: views.py:245
#: views.py:246
#, python-format
msgid "Error importing bootstrap setup from file; %s."
msgstr ""
#: views.py:251
#: views.py:252
msgid "Import bootstrap setup from file"
msgstr ""
#: views.py:271
#: views.py:272
msgid "Data from URL is not a bootstrap setup."
msgstr ""
#: views.py:273
#: views.py:274
#, python-format
msgid "Error importing bootstrap setup from URL; %s."
msgstr ""
#: views.py:279
#: views.py:280
msgid "Import bootstrap setup from URL"
msgstr ""
#: views.py:298
#: views.py:299
#, python-format
msgid "Error erasing database; %s"
msgstr ""
#: views.py:300
#: views.py:301
msgid "Database erased successfully."
msgstr ""
#: views.py:310
#: views.py:311
msgid ""
"Are you sure you wish to erase the entire database and document storage?"
msgstr ""
#: views.py:311
#: views.py:312
msgid ""
"All documents, sources, metadata, metadata types, set, tags, indexes and "
"logs will be lost irreversibly!"
msgstr ""
#: views.py:328
#: views.py:329
msgid "Bootstrap repository successfully synchronized."
msgstr ""
#: views.py:330
#: views.py:331
#, python-format
msgid "Bootstrap repository synchronization error: %(error)s"
msgstr ""
#: views.py:337
#: views.py:338
msgid "Are you sure you wish to synchronize with the bootstrap repository?"
msgstr ""

View File

@@ -1,22 +1,22 @@
# 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
# Translators:
msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Project-Id-Version: Mayan EDMS\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2012-12-12 03:20-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"
"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: 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"
"Plural-Forms: nplurals=2; plural=(n > 1);\n"
#: forms.py:50
msgid "Bootstrap setup file"
@@ -26,58 +26,58 @@ msgstr ""
msgid "Bootstrap setup URL"
msgstr ""
#: links.py:11
#: links.py:16
msgid "bootstrap"
msgstr ""
#: links.py:12
#: links.py:17
msgid "bootstrap setup list"
msgstr ""
#: links.py:13
#: links.py:18
msgid "create new bootstrap setup"
msgstr ""
#: links.py:14
#: links.py:19
msgid "edit"
msgstr ""
#: links.py:15
#: links.py:20
msgid "delete"
msgstr ""
#: links.py:16
#: links.py:21
msgid "details"
msgstr ""
#: links.py:17
#: links.py:22
msgid "execute"
msgstr ""
#: links.py:18
#: links.py:23
msgid "dump current setup"
msgstr ""
#: links.py:19
#: links.py:24
msgid "erase database"
msgstr ""
#: links.py:27
msgid "export"
msgstr ""
#: links.py:20
#: links.py:28
msgid "import from file"
msgstr ""
#: links.py:21
#: links.py:29
msgid "import from URL"
msgstr ""
#: links.py:22
#: links.py:30
msgid "sync with repository"
msgstr ""
#: links.py:23
msgid "erase database"
msgstr ""
#: literals.py:20
msgid "JSON"
msgstr ""
@@ -98,7 +98,7 @@ msgstr ""
msgid "slug"
msgstr ""
#: models.py:32 views.py:34
#: models.py:32 views.py:35
msgid "description"
msgstr ""
@@ -110,7 +110,7 @@ msgstr ""
msgid "These are the actual database structure creation instructions."
msgstr ""
#: models.py:34 views.py:35
#: models.py:34 views.py:36
msgid "type"
msgstr ""
@@ -118,11 +118,11 @@ msgstr ""
msgid "creation date and time"
msgstr ""
#: models.py:104 views.py:90 views.py:119 views.py:144 views.py:172
#: models.py:104 views.py:91 views.py:120 views.py:145 views.py:173
msgid "bootstrap setup"
msgstr ""
#: models.py:105 views.py:31
#: models.py:105 views.py:32
msgid "bootstrap setups"
msgstr ""
@@ -170,148 +170,148 @@ msgstr ""
msgid "Erase the entire database and document storage"
msgstr ""
#: registry.py:7
#: registry.py:8
msgid "Bootstrap"
msgstr ""
#: registry.py:8
#: registry.py:9
msgid "Provides pre configured setups for indexes, document types, tags, etc."
msgstr ""
#: views.py:50
#: views.py:51
msgid "Bootstrap setup created successfully"
msgstr ""
#: views.py:53
#: views.py:54
msgid "Error creating bootstrap setup."
msgstr ""
#: views.py:58
#: views.py:59
msgid "create bootstrap"
msgstr ""
#: views.py:78
#: views.py:79
msgid "Bootstrap setup edited successfully"
msgstr ""
#: views.py:81
#: views.py:82
msgid "Error editing bootstrap setup."
msgstr ""
#: views.py:86
#: views.py:87
#, python-format
msgid "edit bootstrap setup: %s"
msgstr ""
#: views.py:111
#: views.py:112
#, python-format
msgid "Bootstrap setup: %s deleted successfully."
msgstr ""
#: views.py:113
#: views.py:114
#, python-format
msgid "Bootstrap setup: %(bootstrap)s, delete error: %(error)s"
msgstr ""
#: views.py:124
#: views.py:125
#, python-format
msgid "Are you sure you with to delete the bootstrap setup: %s?"
msgstr ""
#: views.py:164
#: views.py:165
msgid ""
"Cannot execute bootstrap setup, there is existing data. Erase all data and "
"try again."
msgstr ""
#: views.py:166
#: views.py:167
#, python-format
msgid "Error executing bootstrap setup; %s"
msgstr ""
#: views.py:168
#: views.py:169
#, python-format
msgid "Bootstrap setup \"%s\" executed successfully."
msgstr ""
#: views.py:180
#: views.py:181
#, python-format
msgid ""
"Are you sure you wish to execute the database bootstrap setup named: %s?"
msgstr ""
#: views.py:196
#: views.py:197
#, python-format
msgid "Error dumping configuration into a bootstrap setup; %s"
msgstr ""
#: views.py:200
#: views.py:201
msgid "Bootstrap setup created successfully."
msgstr ""
#: views.py:206
msgid "dump current configuration into a bootstrap setup"
#: views.py:207
msgid "dump current setup into a bootstrap setup"
msgstr ""
#: views.py:240 views.py:268
#: views.py:241 views.py:269
msgid "Bootstrap setup imported successfully."
msgstr ""
#: views.py:243
#: views.py:244
msgid "File is not a bootstrap setup."
msgstr ""
#: views.py:245
#: views.py:246
#, python-format
msgid "Error importing bootstrap setup from file; %s."
msgstr ""
#: views.py:251
#: views.py:252
msgid "Import bootstrap setup from file"
msgstr ""
#: views.py:271
#: views.py:272
msgid "Data from URL is not a bootstrap setup."
msgstr ""
#: views.py:273
#: views.py:274
#, python-format
msgid "Error importing bootstrap setup from URL; %s."
msgstr ""
#: views.py:279
#: views.py:280
msgid "Import bootstrap setup from URL"
msgstr ""
#: views.py:298
#: views.py:299
#, python-format
msgid "Error erasing database; %s"
msgstr ""
#: views.py:300
#: views.py:301
msgid "Database erased successfully."
msgstr ""
#: views.py:310
#: views.py:311
msgid ""
"Are you sure you wish to erase the entire database and document storage?"
msgstr ""
#: views.py:311
#: views.py:312
msgid ""
"All documents, sources, metadata, metadata types, set, tags, indexes and "
"logs will be lost irreversibly!"
msgstr ""
#: views.py:328
#: views.py:329
msgid "Bootstrap repository successfully synchronized."
msgstr ""
#: views.py:330
#: views.py:331
#, python-format
msgid "Bootstrap repository synchronization error: %(error)s"
msgstr ""
#: views.py:337
#: views.py:338
msgid "Are you sure you wish to synchronize with the bootstrap repository?"
msgstr ""

View File

@@ -1,23 +1,23 @@
# 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
# Translators:
msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Project-Id-Version: Mayan EDMS\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2012-12-12 03:20-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"
"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: 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"
"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
#: forms.py:50
msgid "Bootstrap setup file"
@@ -27,58 +27,58 @@ msgstr ""
msgid "Bootstrap setup URL"
msgstr ""
#: links.py:11
#: links.py:16
msgid "bootstrap"
msgstr ""
#: links.py:12
#: links.py:17
msgid "bootstrap setup list"
msgstr ""
#: links.py:13
#: links.py:18
msgid "create new bootstrap setup"
msgstr ""
#: links.py:14
#: links.py:19
msgid "edit"
msgstr ""
#: links.py:15
#: links.py:20
msgid "delete"
msgstr ""
#: links.py:16
#: links.py:21
msgid "details"
msgstr ""
#: links.py:17
#: links.py:22
msgid "execute"
msgstr ""
#: links.py:18
#: links.py:23
msgid "dump current setup"
msgstr ""
#: links.py:19
#: links.py:24
msgid "erase database"
msgstr ""
#: links.py:27
msgid "export"
msgstr ""
#: links.py:20
#: links.py:28
msgid "import from file"
msgstr ""
#: links.py:21
#: links.py:29
msgid "import from URL"
msgstr ""
#: links.py:22
#: links.py:30
msgid "sync with repository"
msgstr ""
#: links.py:23
msgid "erase database"
msgstr ""
#: literals.py:20
msgid "JSON"
msgstr ""
@@ -99,7 +99,7 @@ msgstr ""
msgid "slug"
msgstr ""
#: models.py:32 views.py:34
#: models.py:32 views.py:35
msgid "description"
msgstr ""
@@ -111,7 +111,7 @@ msgstr ""
msgid "These are the actual database structure creation instructions."
msgstr ""
#: models.py:34 views.py:35
#: models.py:34 views.py:36
msgid "type"
msgstr ""
@@ -119,11 +119,11 @@ msgstr ""
msgid "creation date and time"
msgstr ""
#: models.py:104 views.py:90 views.py:119 views.py:144 views.py:172
#: models.py:104 views.py:91 views.py:120 views.py:145 views.py:173
msgid "bootstrap setup"
msgstr ""
#: models.py:105 views.py:31
#: models.py:105 views.py:32
msgid "bootstrap setups"
msgstr ""
@@ -171,148 +171,148 @@ msgstr ""
msgid "Erase the entire database and document storage"
msgstr ""
#: registry.py:7
#: registry.py:8
msgid "Bootstrap"
msgstr ""
#: registry.py:8
#: registry.py:9
msgid "Provides pre configured setups for indexes, document types, tags, etc."
msgstr ""
#: views.py:50
#: views.py:51
msgid "Bootstrap setup created successfully"
msgstr ""
#: views.py:53
#: views.py:54
msgid "Error creating bootstrap setup."
msgstr ""
#: views.py:58
#: views.py:59
msgid "create bootstrap"
msgstr ""
#: views.py:78
#: views.py:79
msgid "Bootstrap setup edited successfully"
msgstr ""
#: views.py:81
#: views.py:82
msgid "Error editing bootstrap setup."
msgstr ""
#: views.py:86
#: views.py:87
#, python-format
msgid "edit bootstrap setup: %s"
msgstr ""
#: views.py:111
#: views.py:112
#, python-format
msgid "Bootstrap setup: %s deleted successfully."
msgstr ""
#: views.py:113
#: views.py:114
#, python-format
msgid "Bootstrap setup: %(bootstrap)s, delete error: %(error)s"
msgstr ""
#: views.py:124
#: views.py:125
#, python-format
msgid "Are you sure you with to delete the bootstrap setup: %s?"
msgstr ""
#: views.py:164
#: views.py:165
msgid ""
"Cannot execute bootstrap setup, there is existing data. Erase all data and "
"try again."
msgstr ""
#: views.py:166
#: views.py:167
#, python-format
msgid "Error executing bootstrap setup; %s"
msgstr ""
#: views.py:168
#: views.py:169
#, python-format
msgid "Bootstrap setup \"%s\" executed successfully."
msgstr ""
#: views.py:180
#: views.py:181
#, python-format
msgid ""
"Are you sure you wish to execute the database bootstrap setup named: %s?"
msgstr ""
#: views.py:196
#: views.py:197
#, python-format
msgid "Error dumping configuration into a bootstrap setup; %s"
msgstr ""
#: views.py:200
#: views.py:201
msgid "Bootstrap setup created successfully."
msgstr ""
#: views.py:206
msgid "dump current configuration into a bootstrap setup"
#: views.py:207
msgid "dump current setup into a bootstrap setup"
msgstr ""
#: views.py:240 views.py:268
#: views.py:241 views.py:269
msgid "Bootstrap setup imported successfully."
msgstr ""
#: views.py:243
#: views.py:244
msgid "File is not a bootstrap setup."
msgstr ""
#: views.py:245
#: views.py:246
#, python-format
msgid "Error importing bootstrap setup from file; %s."
msgstr ""
#: views.py:251
#: views.py:252
msgid "Import bootstrap setup from file"
msgstr ""
#: views.py:271
#: views.py:272
msgid "Data from URL is not a bootstrap setup."
msgstr ""
#: views.py:273
#: views.py:274
#, python-format
msgid "Error importing bootstrap setup from URL; %s."
msgstr ""
#: views.py:279
#: views.py:280
msgid "Import bootstrap setup from URL"
msgstr ""
#: views.py:298
#: views.py:299
#, python-format
msgid "Error erasing database; %s"
msgstr ""
#: views.py:300
#: views.py:301
msgid "Database erased successfully."
msgstr ""
#: views.py:310
#: views.py:311
msgid ""
"Are you sure you wish to erase the entire database and document storage?"
msgstr ""
#: views.py:311
#: views.py:312
msgid ""
"All documents, sources, metadata, metadata types, set, tags, indexes and "
"logs will be lost irreversibly!"
msgstr ""
#: views.py:328
#: views.py:329
msgid "Bootstrap repository successfully synchronized."
msgstr ""
#: views.py:330
#: views.py:331
#, python-format
msgid "Bootstrap repository synchronization error: %(error)s"
msgstr ""
#: views.py:337
#: views.py:338
msgid "Are you sure you wish to synchronize with the bootstrap repository?"
msgstr ""

View File

@@ -72,4 +72,3 @@ class BootstrapSetupManager(models.Manager):
self.import_from_url(bootstrap_setup_url, overwrite=True)
else:
response.raise_for_status()

View File

@@ -0,0 +1,33 @@
# -*- 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 'BootstrapSetup.type'
db.add_column('bootstrap_bootstrapsetup', 'type',
self.gf('django.db.models.fields.CharField')(default=0, max_length=16),
keep_default=False)
def backwards(self, orm):
# Deleting field 'BootstrapSetup.type'
db.delete_column('bootstrap_bootstrapsetup', 'type')
models = {
'bootstrap.bootstrapsetup': {
'Meta': {'object_name': 'BootstrapSetup'},
'description': ('django.db.models.fields.TextField', [], {'blank': 'True'}),
'fixture': ('django.db.models.fields.TextField', [], {}),
'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
'name': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '128'}),
'type': ('django.db.models.fields.CharField', [], {'max_length': '16'})
}
}
complete_apps = ['bootstrap']

View File

@@ -2,7 +2,7 @@ from __future__ import absolute_import
import datetime
from navigation.api import register_links
from navigation.api import bind_links
from main import __version__
from .links import (link_bootstrap_setup_create, link_bootstrap_setup_execute,
@@ -16,9 +16,9 @@ from .literals import (FIXTURE_METADATA_CREATED, FIXTURE_METADATA_EDITED,
FIXTURE_METADATA_MAYAN_VERSION, FIXTURE_METADATA_FORMAT, FIXTURE_METADATA_NAME,
FIXTURE_METADATA_DESCRIPTION, DATETIME_STRING_FORMAT, FIXTURE_METADATA_SLUG)
register_links([BootstrapSetup], [link_bootstrap_setup_view, link_bootstrap_setup_edit, link_bootstrap_setup_delete, link_bootstrap_setup_execute, link_bootstrap_setup_export])
register_links([BootstrapSetup], [link_bootstrap_setup_list, link_bootstrap_setup_create, link_bootstrap_setup_dump, link_bootstrap_setup_import_from_file, link_bootstrap_setup_import_from_url, link_bootstrap_setup_repository_sync], menu_name='secondary_menu')
register_links(['bootstrap_setup_list', 'bootstrap_setup_create', 'bootstrap_setup_dump', 'bootstrap_setup_import_from_file', 'bootstrap_setup_import_from_url', 'bootstrap_setup_repository_sync'], [link_bootstrap_setup_list, link_bootstrap_setup_create, link_bootstrap_setup_dump, link_bootstrap_setup_import_from_file, link_bootstrap_setup_import_from_url, link_bootstrap_setup_repository_sync], menu_name='secondary_menu')
bind_links([BootstrapSetup], [link_bootstrap_setup_view, link_bootstrap_setup_edit, link_bootstrap_setup_delete, link_bootstrap_setup_execute, link_bootstrap_setup_export])
bind_links([BootstrapSetup], [link_bootstrap_setup_list, link_bootstrap_setup_create, link_bootstrap_setup_dump, link_bootstrap_setup_import_from_file, link_bootstrap_setup_import_from_url, link_bootstrap_setup_repository_sync], menu_name='secondary_menu')
bind_links(['bootstrap_setup_list', 'bootstrap_setup_create', 'bootstrap_setup_dump', 'bootstrap_setup_import_from_file', 'bootstrap_setup_import_from_url', 'bootstrap_setup_repository_sync'], [link_bootstrap_setup_list, link_bootstrap_setup_create, link_bootstrap_setup_dump, link_bootstrap_setup_import_from_file, link_bootstrap_setup_import_from_url, link_bootstrap_setup_repository_sync], menu_name='secondary_menu')
FixtureMetadata(FIXTURE_METADATA_CREATED, generate_function=lambda fixture_instance: fixture_instance.created.strftime(DATETIME_STRING_FORMAT), read_function=lambda x: datetime.datetime.strptime(x, DATETIME_STRING_FORMAT), property_name='created')
FixtureMetadata(FIXTURE_METADATA_EDITED, generate_function=lambda fixture_instance: datetime.datetime.now().strftime(DATETIME_STRING_FORMAT))

View File

@@ -2,9 +2,11 @@ from __future__ import absolute_import
from django.utils.translation import ugettext_lazy as _
from .icons import icon_bootstrap_setup
from .links import link_bootstrap_setup_tool, link_erase_database
label = _(u'Bootstrap')
description = _(u'Provides pre configured setups for indexes, document types, tags, etc.')
dependencies = ['app_registry', 'icons', 'navigation', 'documents', 'indexing', 'metadata', 'tags']
icon = icon_bootstrap_setup
setup_links = [link_bootstrap_setup_tool, link_erase_database]

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.8 KiB

View File

@@ -18,6 +18,7 @@ from .permissions import (PERMISSION_BOOTSTRAP_VIEW, PERMISSION_BOOTSTRAP_CREATE
PERMISSION_BOOTSTRAP_EDIT, PERMISSION_BOOTSTRAP_DELETE,
PERMISSION_BOOTSTRAP_EXECUTE, PERMISSION_NUKE_DATABASE, PERMISSION_BOOTSTRAP_DUMP,
PERMISSION_BOOTSTRAP_EXPORT, PERMISSION_BOOTSTRAP_IMPORT, PERMISSION_BOOTSTRAP_REPOSITORY_SYNC)
from .icons import icon_bootstrap_setup_execute, icon_nuke_database, icon_bootstrap_setup_delete
from .forms import (BootstrapSetupForm, BootstrapSetupForm_view, BootstrapSetupForm_dump,
BootstrapSetupForm_edit, BootstrapFileImportForm, BootstrapURLImportForm)
from .exceptions import ExistingData, NotABootstrapSetup
@@ -122,7 +123,7 @@ def bootstrap_setup_delete(request, bootstrap_setup_pk):
'next': next,
'object': bootstrap,
'title': _(u'Are you sure you with to delete the bootstrap setup: %s?') % bootstrap,
'form_icon': 'lightning_delete.png',
'form_icon': icon_bootstrap_setup_delete,
}
return render_to_response('generic_confirm.html', context,
@@ -173,7 +174,7 @@ def bootstrap_setup_execute(request, bootstrap_setup_pk):
'delete_view': False,
'previous': previous,
'next': next,
'form_icon': 'lightning_go.png',
'form_icon': icon_bootstrap_setup_execute,
'object': bootstrap_setup,
}
@@ -203,7 +204,7 @@ def bootstrap_setup_dump(request):
form = BootstrapSetupForm_dump()
return render_to_response('generic_form.html', {
'title': _(u'dump current configuration into a bootstrap setup'),
'title': _(u'dump current setup into a bootstrap setup'),
'form': form,
},
context_instance=RequestContext(request))
@@ -304,7 +305,7 @@ def erase_database_view(request):
'delete_view': False,
'previous': previous,
'next': next,
'form_icon': 'radioactivity.png',
'form_icon': icon_nuke_database,
}
context['title'] = _(u'Are you sure you wish to erase the entire database and document storage?')

View File

@@ -2,14 +2,10 @@ from __future__ import absolute_import
from django.utils.translation import ugettext_lazy as _
from navigation.api import (register_links, register_top_menu,
register_multi_item_links, register_sidebar_template)
from scheduler.api import register_interval_job
from documents.models import Document
from documents.permissions import PERMISSION_DOCUMENT_VIEW
from acls.api import class_permissions
from history.api import register_history_type
from documents.models import Document
from navigation.api import bind_links, register_top_menu
from scheduler.api import LocalScheduler
from .permissions import (PERMISSION_DOCUMENT_CHECKOUT,
PERMISSION_DOCUMENT_CHECKIN, PERMISSION_DOCUMENT_CHECKIN_OVERRIDE,
@@ -17,8 +13,7 @@ from .permissions import (PERMISSION_DOCUMENT_CHECKOUT,
from .links import checkout_list, checkout_document, checkout_info, checkin_document
from .models import DocumentCheckout
from .tasks import task_check_expired_check_outs
from .events import (HISTORY_DOCUMENT_CHECKED_OUT, HISTORY_DOCUMENT_CHECKED_IN,
HISTORY_DOCUMENT_AUTO_CHECKED_IN, HISTORY_DOCUMENT_FORCEFUL_CHECK_IN)
from .literals import CHECK_EXPIRED_CHECK_OUTS_INTERVAL
def initialize_document_checkout_extra_methods():
@@ -29,8 +24,8 @@ def initialize_document_checkout_extra_methods():
Document.add_to_class('is_new_versions_allowed', lambda document, user=None: DocumentCheckout.objects.is_document_new_versions_allowed(document, user))
register_top_menu(name='checkouts', link=checkout_list)
register_links(Document, [checkout_info], menu_name='form_header')
register_links(['checkout_info', 'checkout_document', 'checkin_document'], [checkout_document, checkin_document], menu_name="sidebar")
bind_links([Document], [checkout_info], menu_name='form_header')
bind_links(['checkout_info', 'checkout_document', 'checkin_document'], [checkout_document, checkin_document], menu_name="sidebar")
class_permissions(Document, [
PERMISSION_DOCUMENT_CHECKOUT,
@@ -39,10 +34,8 @@ class_permissions(Document, [
PERMISSION_DOCUMENT_RESTRICTIONS_OVERRIDE
])
CHECK_EXPIRED_CHECK_OUTS_INTERVAL=60 # Lowest check out expiration allowed
register_interval_job('task_check_expired_check_outs', _(u'Check expired check out documents and checks them in.'), task_check_expired_check_outs, seconds=CHECK_EXPIRED_CHECK_OUTS_INTERVAL)
checkouts_scheduler = LocalScheduler('checkouts', _(u'Document checkouts'))
checkouts_scheduler.add_interval_job('task_check_expired_check_outs', _(u'Check expired check out documents and checks them in.'), task_check_expired_check_outs, seconds=CHECK_EXPIRED_CHECK_OUTS_INTERVAL)
checkouts_scheduler.start()
initialize_document_checkout_extra_methods()
register_history_type(HISTORY_DOCUMENT_CHECKED_OUT)
register_history_type(HISTORY_DOCUMENT_CHECKED_IN)
register_history_type(HISTORY_DOCUMENT_AUTO_CHECKED_IN)
register_history_type(HISTORY_DOCUMENT_FORCEFUL_CHECK_IN)

View File

@@ -1,28 +1,24 @@
from django.utils.translation import ugettext_lazy as _
HISTORY_DOCUMENT_CHECKED_OUT = {
'namespace': 'checkouts', 'name': 'document_checked_out',
'label': _(u'Document checked out'),
'summary': _(u'Document "%(document)s" checked out by %(fullname)s.'),
'expressions': {'fullname': 'user.get_full_name() if user.get_full_name() else user'}
}
from history.api import EventNamespace, Event
HISTORY_DOCUMENT_CHECKED_IN = {
'namespace': 'checkouts', 'name': 'document_checked_in',
'label': _(u'Document checked in'),
'summary': _(u'Document "%(document)s" checked in by %(fullname)s.'),
'expressions': {'fullname': 'user.get_full_name() if user.get_full_name() else user'}
}
namespace = EventNamespace('checkouts', _(u'checkouts'))
HISTORY_DOCUMENT_AUTO_CHECKED_IN = {
'namespace': 'checkouts', 'name': 'document_auto_checked_in',
'label': _(u'Document automatically checked in'),
'summary': _(u'Document "%(document)s" automatically checked in.'),
}
history_document_checked_out = Event(namespace=namespace, name='document_checked_out', label=_(u'Document checked out'),
summary=_(u'Document "%(document)s" checked out by %(fullname)s.'),
expressions={'fullname': 'user.get_full_name() if user.get_full_name() else user'}
)
HISTORY_DOCUMENT_FORCEFUL_CHECK_IN = {
'namespace': 'checkouts', 'name': 'document_forefull_check_in',
'label': _(u'Document forcefully checked in'),
'summary': _(u'Document "%(document)s" forcefully checked in by %(fullname)s.'),
'expressions': {'fullname': 'user.get_full_name() if user.get_full_name() else user'}
}
history_document_checked_in = Event(namespace=namespace, name='document_checked_in', label=_(u'Document checked in'),
summary=_(u'Document "%(document)s" checked in by %(fullname)s.'),
expressions={'fullname': 'user.get_full_name() if user.get_full_name() else user'}
)
history_document_auto_checked_in = Event(namespace=namespace, name='document_auto_checked_in', label=_(u'Document automatically checked in'),
summary=_(u'Document "%(document)s" automatically checked in.'),
)
history_document_forceful_check_in = Event(namespace=namespace, name='document_forefull_check_in', label=_(u'Document forcefully checked in'),
summary=_(u'Document "%(document)s" forcefully checked in by %(fullname)s.'),
expressions={'fullname': 'user.get_full_name() if user.get_full_name() else user'}
)

View File

@@ -4,6 +4,7 @@ class DocumentNotCheckedOut(Exception):
"""
pass
class DocumentAlreadyCheckedOut(Exception):
"""
Raised when trying to checkout an already checkedout document

View File

@@ -1,7 +1,6 @@
from __future__ import absolute_import
from django import forms
from django.utils.translation import ugettext_lazy as _
from .models import DocumentCheckout
from .exceptions import DocumentAlreadyCheckedOut

View File

@@ -2,7 +2,7 @@ from __future__ import absolute_import
from django.utils.translation import ugettext_lazy as _
from documents.permissions import PERMISSION_DOCUMENT_VIEW
from navigation import Link
from .permissions import (PERMISSION_DOCUMENT_CHECKOUT, PERMISSION_DOCUMENT_CHECKIN, PERMISSION_DOCUMENT_CHECKIN_OVERRIDE)
@@ -15,7 +15,7 @@ def is_not_checked_out(context):
return not context['object'].is_checked_out()
checkout_list = {'text': _(u'checkouts'), 'view': 'checkout_list', 'famfam': 'basket'}
checkout_document = {'text': _('check out document'), 'view': 'checkout_document', 'args': 'object.pk', 'famfam': 'basket_put', 'condition': is_not_checked_out, 'permissions': [PERMISSION_DOCUMENT_CHECKOUT]}
checkin_document = {'text': _('check in document'), 'view': 'checkin_document', 'args': 'object.pk', 'famfam': 'basket_remove', 'condition': is_checked_out, 'permissions': [PERMISSION_DOCUMENT_CHECKIN, PERMISSION_DOCUMENT_CHECKIN_OVERRIDE]}
checkout_info = {'text': _('check in/out'), 'view': 'checkout_info', 'args': 'object.pk', 'famfam': 'basket', 'children_views': ['checkout_document', 'checkin_document'], 'permissions': [PERMISSION_DOCUMENT_CHECKIN, PERMISSION_DOCUMENT_CHECKIN_OVERRIDE, PERMISSION_DOCUMENT_CHECKOUT]}
checkout_list = Link(text=_(u'checkouts'), view='checkout_list', sprite='basket')
checkout_document = Link(text=_('check out document'), view='checkout_document', args='object.pk', sprite='basket_put', condition=is_not_checked_out, permissions=[PERMISSION_DOCUMENT_CHECKOUT])
checkin_document = Link(text=_('check in document'), view='checkin_document', args='object.pk', sprite='basket_remove', condition=is_checked_out, permissions=[PERMISSION_DOCUMENT_CHECKIN, PERMISSION_DOCUMENT_CHECKIN_OVERRIDE])
checkout_info = Link(text=_('check in/out'), view='checkout_info', args='object.pk', sprite='basket', children_views=['checkout_document', 'checkin_document'], permissions=[PERMISSION_DOCUMENT_CHECKIN, PERMISSION_DOCUMENT_CHECKIN_OVERRIDE, PERMISSION_DOCUMENT_CHECKOUT])

View File

@@ -14,3 +14,5 @@ STATE_LABELS = {
STATE_CHECKED_OUT: _(u'checked out'),
STATE_CHECKED_IN: _(u'checked in/available'),
}
CHECK_EXPIRED_CHECK_OUTS_INTERVAL = 60 # Lowest check out expiration allowed

View File

@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Mayan EDMS\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2012-12-12 03:19-0400\n"
"POT-Creation-Date: 2012-12-14 04:18-0400\n"
"PO-Revision-Date: 2012-10-17 09:35+0000\n"
"Last-Translator: Pavlin Koldamov <pkoldamov@gmail.com>\n"
"Language-Team: Bulgarian (http://www.transifex.com/projects/p/mayan-edms/"
@@ -19,15 +19,24 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
#: __init__.py:43
#: __init__.py:37
#, fuzzy
msgid "Document checkouts"
msgstr "Проверка на документ"
#: __init__.py:38
msgid "Check expired check out documents and checks them in."
msgstr "Проверете изтеклите за проверки документи и ги регистрирайте отново."
#: events.py:5
#: events.py:5 links.py:18
msgid "checkouts"
msgstr "проверки"
#: events.py:7
msgid "Document checked out"
msgstr "Документът е проверен."
#: events.py:6
#: events.py:8
#, python-format
msgid "Document \"%(document)s\" checked out by %(fullname)s."
msgstr "Докумнетът \"%(document)s\" е проверен от %(fullname)s."
@@ -41,28 +50,24 @@ msgstr "Докъментът е регистриран"
msgid "Document \"%(document)s\" checked in by %(fullname)s."
msgstr "Документът \"%(document)s\" е регистриран от %(fullname)s."
#: events.py:19
#: events.py:17
msgid "Document automatically checked in"
msgstr "Автоматично регистрирани документи"
#: events.py:20
#: events.py:18
#, python-format
msgid "Document \"%(document)s\" automatically checked in."
msgstr "Документ \"%(document)s\" е автоматично регистриран."
#: events.py:25
#: events.py:21
msgid "Document forcefully checked in"
msgstr "Документът е принудително регистриран"
#: events.py:26
#: events.py:22
#, python-format
msgid "Document \"%(document)s\" forcefully checked in by %(fullname)s."
msgstr "Документът \"%(document)s\" принудително регистриран от %(fullname)s."
#: links.py:18
msgid "checkouts"
msgstr "проверки"
#: links.py:19
msgid "check out document"
msgstr "проверка на документ"
@@ -83,35 +88,35 @@ msgstr "проверен"
msgid "checked in/available"
msgstr "регистриран/наличен"
#: models.py:25 views.py:133
#: models.py:23 views.py:136
msgid "document"
msgstr "документ"
#: models.py:26
#: models.py:24
msgid "check out date and time"
msgstr "дата и час на проверка"
#: models.py:27
#: models.py:25
msgid "check out expiration date and time"
msgstr "проверка на срока на валидност, дата и час"
#: models.py:27
#: models.py:25
msgid "Amount of time to hold the document checked out in minutes."
msgstr "Време за задържане на проверения документ в минути."
#: models.py:32
#: models.py:30
msgid "block new version upload"
msgstr "блокиране качването на нова версия"
#: models.py:32
#: models.py:30
msgid "Do not allow new version of this document to be uploaded."
msgstr "Забранете качването на нова версия на този документ."
#: models.py:55
#: models.py:53
msgid "document checkout"
msgstr "проверка на документ"
#: models.py:56
#: models.py:54
msgid "document checkouts"
msgstr "проверки на документ"
@@ -135,89 +140,89 @@ msgstr "Регистрирай принудилтелно документи"
msgid "Allow overriding check out restrictions"
msgstr "Разреши проверки незвисимо от забрана"
#: views.py:33
#: views.py:32
msgid "checked out documents"
msgstr "проверени документи"
#: views.py:36
#: views.py:35
msgid "checkout user"
msgstr "отписване потребител"
#: views.py:37
#: views.py:36
msgid "checkout time and date"
msgstr "отписване, час и дата"
#: views.py:38
#: views.py:37
msgid "checkout expiration"
msgstr "проверка срок на валидност"
#: views.py:55
#: views.py:54
#, python-format
msgid "User: %s"
msgstr "Потребител: %s"
#: views.py:56
#: views.py:55
#, python-format
msgid "Check out time: %s"
msgstr "Време на отписване: %s"
#: views.py:57
#: views.py:56
#, python-format
msgid "Check out expiration: %s"
msgstr "Проверка срок на валидност: %s"
#: views.py:58
#: views.py:57
#, python-format
msgid "New versions allowed: %s"
msgstr "Разрешени нови версии: %s"
#: views.py:58
#: views.py:57
msgid "yes"
msgstr "да"
#: views.py:58
#: views.py:57
msgid "no"
msgstr "не"
#: views.py:63
#: views.py:62
#, python-format
msgid "Check out details for document: %s"
msgstr "Данни от проверката на документ: %s"
#: views.py:83
#: views.py:82
#, python-format
msgid "Error trying to check out document; %s"
msgstr "Грешка при проверка на документ; %s"
#: views.py:85
#: views.py:84
#, python-format
msgid "Document \"%s\" checked out successfully."
msgstr "Документ \"%s\" проверен успешно."
#: views.py:88
#: views.py:87
msgid "Document already checked out."
msgstr "Документът вече е проверен."
#: views.py:96
#: views.py:95
#, python-format
msgid "Check out document: %s"
msgstr "Провери документ: %s"
#: views.py:125
#: views.py:121 views.py:128
msgid "Document has not been checked out."
msgstr "Документът не е проверяван."
#: views.py:127
#: views.py:130
#, python-format
msgid "Error trying to check in document; %s"
msgstr "Грешка при регистрация на документ; %s"
#: views.py:129
#: views.py:132
#, python-format
msgid "Document \"%s\" checked in successfully."
msgstr "Документ \"%s\" е регистриран успешно."
#: views.py:142
#: views.py:145
#, python-format
msgid ""
"You didn't originally checked out this document. Are you sure you wish to "
@@ -226,7 +231,7 @@ msgstr ""
"Проверката на този документ не е извършвана от Вас. Сигурни ли сте, че "
"искате принудително да регистрирате документа: %s?"
#: views.py:144
#: views.py:147
#, python-format
msgid "Are you sure you wish to check in document: %s?"
msgstr "Сигурни ли сте, че искате да регистрирате този документ: %s?"

View File

@@ -3,64 +3,71 @@
# This file is distributed under the same license as the PACKAGE package.
#
# Translators:
# <sl@suchreflex.de>, 2012.
msgid ""
msgstr ""
"Project-Id-Version: Mayan EDMS\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2012-12-12 03:19-0400\n"
"PO-Revision-Date: 2012-07-10 15:47+0000\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"POT-Creation-Date: 2012-12-14 04:18-0400\n"
"PO-Revision-Date: 2012-09-20 07:45+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"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
#: __init__.py:43
#: __init__.py:37
#, fuzzy
msgid "Document checkouts"
msgstr "Dokument wurde ausgecheckt"
#: __init__.py:38
msgid "Check expired check out documents and checks them in."
msgstr "Überprüfe, ob die Frist für ausgecheckte Dokumente abgelaufen ist. "
#: events.py:5 links.py:18
msgid "checkouts"
msgstr ""
#: events.py:5
#: events.py:7
msgid "Document checked out"
msgstr ""
msgstr "Dokument wurde ausgecheckt"
#: events.py:6
#: events.py:8
#, python-format
msgid "Document \"%(document)s\" checked out by %(fullname)s."
msgstr ""
msgstr "Dokument \"%(document)s\" wurde von %(fullname)s ausgecheckt."
#: events.py:12
msgid "Document checked in"
msgstr ""
msgstr "Dokument wurde eingecheckt"
#: events.py:13
#, python-format
msgid "Document \"%(document)s\" checked in by %(fullname)s."
msgstr ""
msgstr "Dokument \"%(document)s\" wude von %(fullname)s eingecheckt."
#: events.py:19
#: events.py:17
msgid "Document automatically checked in"
msgstr ""
msgstr "Dokument automatisch eingecheckt"
#: events.py:20
#: events.py:18
#, python-format
msgid "Document \"%(document)s\" automatically checked in."
msgstr ""
msgstr "Dokument \"%(document)s\" automatisch eingecheckt."
#: events.py:25
#: events.py:21
msgid "Document forcefully checked in"
msgstr ""
msgstr "Dokument \"gewaltsam\" eingecheckt"
#: events.py:26
#: events.py:22
#, python-format
msgid "Document \"%(document)s\" forcefully checked in by %(fullname)s."
msgstr ""
#: links.py:18
msgid "checkouts"
msgstr ""
"Dokument \" %(document)s \" \"gewaltsam\" durch %(fullname)s eingecheckt."
#: links.py:19
msgid "check out document"
@@ -82,35 +89,35 @@ msgstr ""
msgid "checked in/available"
msgstr ""
#: models.py:25 views.py:133
#: models.py:23 views.py:136
msgid "document"
msgstr ""
#: models.py:26
#: models.py:24
msgid "check out date and time"
msgstr ""
#: models.py:27
#: models.py:25
msgid "check out expiration date and time"
msgstr ""
#: models.py:27
#: models.py:25
msgid "Amount of time to hold the document checked out in minutes."
msgstr ""
#: models.py:32
#: models.py:30
msgid "block new version upload"
msgstr ""
#: models.py:32
#: models.py:30
msgid "Do not allow new version of this document to be uploaded."
msgstr ""
#: models.py:55
#: models.py:53
msgid "document checkout"
msgstr ""
#: models.py:56
#: models.py:54
msgid "document checkouts"
msgstr ""
@@ -134,96 +141,96 @@ msgstr ""
msgid "Allow overriding check out restrictions"
msgstr ""
#: views.py:33
#: views.py:32
msgid "checked out documents"
msgstr ""
#: views.py:36
#: views.py:35
msgid "checkout user"
msgstr ""
#: views.py:37
#: views.py:36
msgid "checkout time and date"
msgstr ""
#: views.py:38
#: views.py:37
msgid "checkout expiration"
msgstr ""
#: views.py:55
#: views.py:54
#, python-format
msgid "User: %s"
msgstr ""
#: views.py:56
#: views.py:55
#, python-format
msgid "Check out time: %s"
msgstr ""
#: views.py:57
#: views.py:56
#, python-format
msgid "Check out expiration: %s"
msgstr ""
#: views.py:58
#: views.py:57
#, python-format
msgid "New versions allowed: %s"
msgstr ""
#: views.py:58
#: views.py:57
msgid "yes"
msgstr ""
#: views.py:58
#: views.py:57
msgid "no"
msgstr ""
#: views.py:63
#: views.py:62
#, python-format
msgid "Check out details for document: %s"
msgstr ""
#: views.py:83
#: views.py:82
#, python-format
msgid "Error trying to check out document; %s"
msgstr ""
#: views.py:85
#: views.py:84
#, python-format
msgid "Document \"%s\" checked out successfully."
msgstr ""
#: views.py:88
#: views.py:87
msgid "Document already checked out."
msgstr ""
#: views.py:96
#: views.py:95
#, python-format
msgid "Check out document: %s"
msgstr ""
#: views.py:125
#: views.py:121 views.py:128
msgid "Document has not been checked out."
msgstr ""
#: views.py:127
#: views.py:130
#, python-format
msgid "Error trying to check in document; %s"
msgstr ""
#: views.py:129
#: views.py:132
#, python-format
msgid "Document \"%s\" checked in successfully."
msgstr ""
#: views.py:142
#: views.py:145
#, python-format
msgid ""
"You didn't originally checked out this document. Are you sure you wish to "
"forcefully check in document: %s?"
msgstr ""
#: views.py:144
#: views.py:147
#, python-format
msgid "Are you sure you wish to check in document: %s?"
msgstr ""

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