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
+3 -1
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
+48 -6
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
+10 -31
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])
+1 -142
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
View File
@@ -0,0 +1,20 @@
from __future__ import absolute_import
from icons.literals import (KEY, KEY_GO, KEY_ADD, KEY_DELETE, LOCK, USER_ADD,
PACKAGE, LOCK_GO)
from icons import Icon
icon_acl_app = Icon(LOCK)
icon_acls = Icon(KEY)
icon_acl_detail = Icon(KEY_GO)
icon_acl_grant = Icon(KEY_ADD)
icon_acl_revoke = Icon(KEY_DELETE)
icon_acl_holder_new = Icon(USER_ADD)
icon_acl_class_list = Icon(PACKAGE)
icon_acl_class_acl_list = Icon(LOCK_GO)
icon_acl_class_acl_detail = Icon(KEY_GO)
icon_acl_class_new_holder_for = Icon(USER_ADD)
icon_acl_class_grant = Icon(KEY_ADD)
icon_acl_class_revoke = Icon(KEY_DELETE)
+26
View File
@@ -0,0 +1,26 @@
from __future__ import absolute_import
from django.utils.translation import ugettext_lazy as _
from navigation import Link
from .permissions import (ACLS_EDIT_ACL, ACLS_VIEW_ACL,
ACLS_CLASS_EDIT_ACL, ACLS_CLASS_VIEW_ACL)
from .icons import (icon_acls, icon_acl_detail, icon_acl_grant, icon_acl_revoke,
icon_acl_holder_new, icon_acl_class_list, icon_acl_class_acl_list,
icon_acl_class_acl_list, icon_acl_class_acl_detail, icon_acl_class_new_holder_for,
icon_acl_class_grant, icon_acl_class_revoke)
acl_list = Link(text=_(u'ACLs'), view='acl_list', icon=icon_acls, permissions=[ACLS_VIEW_ACL])
acl_detail = Link(text=_(u'details'), view='acl_detail', args=['access_object.gid', 'object.gid'], icon=icon_acl_detail, permissions=[ACLS_VIEW_ACL])
acl_grant = Link(text=_(u'grant'), view='acl_multiple_grant', icon=icon_acl_grant, permissions=[ACLS_EDIT_ACL])
acl_revoke = Link(text=_(u'revoke'), view='acl_multiple_revoke', icon=icon_acl_revoke, permissions=[ACLS_EDIT_ACL])
acl_holder_new = Link(text=_(u'New holder'), view='acl_holder_new', args='access_object.gid', icon=icon_acl_holder_new, permissions=[ACLS_EDIT_ACL])
acl_setup_valid_classes = Link(text=_(u'Default ACLs'), view='acl_setup_valid_classes', icon=icon_acl_class_list, permissions=[ACLS_CLASS_VIEW_ACL]) # 'children_view_regex=[r'^acl_class', r'^acl_setup']}
acl_class_list = Link(text=_(u'List of classes'), view='acl_setup_valid_classes', icon=icon_acl_class_list, permissions=[ACLS_CLASS_VIEW_ACL])
acl_class_acl_list = Link(text=_(u'ACLs for class'), view='acl_class_acl_list', args='object.gid', icon=icon_acl_class_acl_list, permissions=[ACLS_CLASS_VIEW_ACL])
acl_class_acl_detail = Link(text=_(u'details'), view='acl_class_acl_detail', args=['access_object_class.gid', 'object.gid'], icon=icon_acl_class_acl_detail, permissions=[ACLS_CLASS_VIEW_ACL])
acl_class_new_holder_for = Link(text=_(u'New holder'), view='acl_class_new_holder_for', args='object.gid', icon=icon_acl_class_new_holder_for, permissions=[ACLS_CLASS_EDIT_ACL])
acl_class_grant = Link(text=_(u'grant'), view='acl_class_multiple_grant', icon=icon_acl_class_grant, permissions=[ACLS_CLASS_EDIT_ACL])
acl_class_revoke = Link(text=_(u'revoke'), view='acl_class_multiple_revoke', icon=icon_acl_class_revoke, permissions=[ACLS_CLASS_EDIT_ACL])
Binary file not shown.
+40 -31
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"
Binary file not shown.
+40 -31
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"
Binary file not shown.
+39 -31
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"
Binary file not shown.
+40 -31
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"
Binary file not shown.
+40 -31
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"
Binary file not shown.
+40 -31
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"
Binary file not shown.
+39 -31
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"
Binary file not shown.
+39 -31
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"
Binary file not shown.
+40 -31
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"
Binary file not shown.
+39 -31
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"
Binary file not shown.
+40 -31
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"
+31 -31
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 ""
+3 -2
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__)
@@ -75,7 +76,7 @@ class AccessEntryManager(models.Manager):
actor = AnonymousUserSingleton.objects.passthru_check(actor)
try:
content_type=ContentType.objects.get_for_model(obj)
content_type = ContentType.objects.get_for_model(obj)
except AttributeError:
# Object doesn't have a content type, therefore allow access
return True
+89
View File
@@ -0,0 +1,89 @@
# -*- coding: utf-8 -*-
import datetime
from south.db import db
from south.v2 import SchemaMigration
from django.db import models
class Migration(SchemaMigration):
def forwards(self, orm):
# Adding model 'AccessEntry'
db.create_table('acls_accessentry', (
('id', self.gf('django.db.models.fields.AutoField')(primary_key=True)),
('permission', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['permissions.StoredPermission'])),
('holder_type', self.gf('django.db.models.fields.related.ForeignKey')(related_name='access_holder', to=orm['contenttypes.ContentType'])),
('holder_id', self.gf('django.db.models.fields.PositiveIntegerField')()),
('content_type', self.gf('django.db.models.fields.related.ForeignKey')(related_name='object_content_type', to=orm['contenttypes.ContentType'])),
('object_id', self.gf('django.db.models.fields.PositiveIntegerField')()),
))
db.send_create_signal('acls', ['AccessEntry'])
# Adding model 'DefaultAccessEntry'
db.create_table('acls_defaultaccessentry', (
('id', self.gf('django.db.models.fields.AutoField')(primary_key=True)),
('permission', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['permissions.StoredPermission'])),
('holder_type', self.gf('django.db.models.fields.related.ForeignKey')(related_name='default_access_entry_holder', to=orm['contenttypes.ContentType'])),
('holder_id', self.gf('django.db.models.fields.PositiveIntegerField')()),
('content_type', self.gf('django.db.models.fields.related.ForeignKey')(related_name='default_access_entry_class', to=orm['contenttypes.ContentType'])),
))
db.send_create_signal('acls', ['DefaultAccessEntry'])
# Adding model 'CreatorSingleton'
db.create_table('acls_creatorsingleton', (
('id', self.gf('django.db.models.fields.AutoField')(primary_key=True)),
('lock_id', self.gf('django.db.models.fields.CharField')(default=1, unique=True, max_length=1)),
))
db.send_create_signal('acls', ['CreatorSingleton'])
def backwards(self, orm):
# Deleting model 'AccessEntry'
db.delete_table('acls_accessentry')
# Deleting model 'DefaultAccessEntry'
db.delete_table('acls_defaultaccessentry')
# Deleting model 'CreatorSingleton'
db.delete_table('acls_creatorsingleton')
models = {
'acls.accessentry': {
'Meta': {'object_name': 'AccessEntry'},
'content_type': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'object_content_type'", 'to': "orm['contenttypes.ContentType']"}),
'holder_id': ('django.db.models.fields.PositiveIntegerField', [], {}),
'holder_type': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'access_holder'", 'to': "orm['contenttypes.ContentType']"}),
'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
'object_id': ('django.db.models.fields.PositiveIntegerField', [], {}),
'permission': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['permissions.StoredPermission']"})
},
'acls.creatorsingleton': {
'Meta': {'object_name': 'CreatorSingleton'},
'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
'lock_id': ('django.db.models.fields.CharField', [], {'default': '1', 'unique': 'True', 'max_length': '1'})
},
'acls.defaultaccessentry': {
'Meta': {'object_name': 'DefaultAccessEntry'},
'content_type': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'default_access_entry_class'", 'to': "orm['contenttypes.ContentType']"}),
'holder_id': ('django.db.models.fields.PositiveIntegerField', [], {}),
'holder_type': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'default_access_entry_holder'", 'to': "orm['contenttypes.ContentType']"}),
'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
'permission': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['permissions.StoredPermission']"})
},
'contenttypes.contenttype': {
'Meta': {'ordering': "('name',)", 'unique_together': "(('app_label', 'model'),)", 'object_name': 'ContentType', 'db_table': "'django_content_type'"},
'app_label': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
'model': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
'name': ('django.db.models.fields.CharField', [], {'max_length': '100'})
},
'permissions.storedpermission': {
'Meta': {'ordering': "('namespace',)", 'unique_together': "(('namespace', 'name'),)", 'object_name': 'StoredPermission'},
'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
'name': ('django.db.models.fields.CharField', [], {'max_length': '64'}),
'namespace': ('django.db.models.fields.CharField', [], {'max_length': '64'})
}
}
complete_apps = ['acls']
+11 -1
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',
+1 -1
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__)
+2 -2
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,
+6
View File
@@ -0,0 +1,6 @@
from __future__ import absolute_import
from icons.literals import PLUGIN
from icons import Icon
icon_app = Icon(PLUGIN)
+10
View File
@@ -0,0 +1,10 @@
from __future__ import absolute_import
from django.utils.translation import ugettext_lazy as _
from navigation import Link
from .icons import icon_app
app_registry_tool_link = Link(text=_(u'Apps'), view='app_list', icon=icon_app)#, permissions=[PERMISSION_BACKUP_JOB_VIEW])
app_list = Link(text=_(u'app list'), view='app_list', icon=icon_app)#, permissions=[PERMISSION_BACKUP_JOB_VIEW])
@@ -0,0 +1,32 @@
# -*- coding: utf-8 -*-
import datetime
from south.db import db
from south.v2 import SchemaMigration
from django.db import models
class Migration(SchemaMigration):
def forwards(self, orm):
# Adding model 'App'
db.create_table('app_registry_app', (
('id', self.gf('django.db.models.fields.AutoField')(primary_key=True)),
('name', self.gf('django.db.models.fields.CharField')(max_length=64)),
))
db.send_create_signal('app_registry', ['App'])
def backwards(self, orm):
# Deleting model 'App'
db.delete_table('app_registry_app')
models = {
'app_registry.app': {
'Meta': {'ordering': "('name',)", 'object_name': 'App'},
'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
'name': ('django.db.models.fields.CharField', [], {'max_length': '64'})
}
}
complete_apps = ['app_registry']
@@ -0,0 +1,37 @@
# -*- coding: utf-8 -*-
import datetime
from south.db import db
from south.v2 import SchemaMigration
from django.db import models
class Migration(SchemaMigration):
def forwards(self, orm):
# Adding field 'App.icon'
db.add_column('app_registry_app', 'icon',
self.gf('django.db.models.fields.CharField')(default='', max_length=64, blank=True),
keep_default=False)
# Adding unique constraint on 'App', fields ['name']
db.create_unique('app_registry_app', ['name'])
def backwards(self, orm):
# Removing unique constraint on 'App', fields ['name']
db.delete_unique('app_registry_app', ['name'])
# Deleting field 'App.icon'
db.delete_column('app_registry_app', 'icon')
models = {
'app_registry.app': {
'Meta': {'ordering': "('name',)", 'object_name': 'App'},
'icon': ('django.db.models.fields.CharField', [], {'max_length': '64', 'blank': 'True'}),
'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
'name': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '64'})
}
}
complete_apps = ['app_registry']
@@ -0,0 +1,58 @@
# -*- coding: utf-8 -*-
import datetime
from south.db import db
from south.v2 import SchemaMigration
from django.db import models
class Migration(SchemaMigration):
def forwards(self, orm):
# Adding model 'BackupJob'
db.create_table('app_registry_backupjob', (
('id', self.gf('django.db.models.fields.AutoField')(primary_key=True)),
('name', self.gf('django.db.models.fields.CharField')(max_length=64)),
('enabled', self.gf('django.db.models.fields.BooleanField')(default=True)),
('begin_datetime', self.gf('django.db.models.fields.DateTimeField')(default=datetime.datetime(2012, 8, 18, 0, 0))),
('storage_module_name', self.gf('django.db.models.fields.CharField')(max_length=32)),
('storage_arguments_json', self.gf('django.db.models.fields.TextField')(blank=True)),
))
db.send_create_signal('app_registry', ['BackupJob'])
# Adding M2M table for field apps on 'BackupJob'
db.create_table('app_registry_backupjob_apps', (
('id', models.AutoField(verbose_name='ID', primary_key=True, auto_created=True)),
('backupjob', models.ForeignKey(orm['app_registry.backupjob'], null=False)),
('app', models.ForeignKey(orm['app_registry.app'], null=False))
))
db.create_unique('app_registry_backupjob_apps', ['backupjob_id', 'app_id'])
def backwards(self, orm):
# Deleting model 'BackupJob'
db.delete_table('app_registry_backupjob')
# Removing M2M table for field apps on 'BackupJob'
db.delete_table('app_registry_backupjob_apps')
models = {
'app_registry.app': {
'Meta': {'ordering': "('name',)", 'object_name': 'App'},
'icon': ('django.db.models.fields.CharField', [], {'max_length': '64', 'blank': 'True'}),
'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
'name': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '64'})
},
'app_registry.backupjob': {
'Meta': {'object_name': 'BackupJob'},
'apps': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['app_registry.App']", 'symmetrical': 'False'}),
'begin_datetime': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime(2012, 8, 18, 0, 0)'}),
'enabled': ('django.db.models.fields.BooleanField', [], {'default': 'True'}),
'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
'name': ('django.db.models.fields.CharField', [], {'max_length': '64'}),
'storage_arguments_json': ('django.db.models.fields.TextField', [], {'blank': 'True'}),
'storage_module_name': ('django.db.models.fields.CharField', [], {'max_length': '32'})
}
}
complete_apps = ['app_registry']
+45
View File
@@ -0,0 +1,45 @@
# -*- coding: utf-8 -*-
import datetime
from south.db import db
from south.v2 import SchemaMigration
from django.db import models
class Migration(SchemaMigration):
def forwards(self, orm):
# Adding M2M table for field dependencies on 'App'
db.create_table('app_registry_app_dependencies', (
('id', models.AutoField(verbose_name='ID', primary_key=True, auto_created=True)),
('from_app', models.ForeignKey(orm['app_registry.app'], null=False)),
('to_app', models.ForeignKey(orm['app_registry.app'], null=False))
))
db.create_unique('app_registry_app_dependencies', ['from_app_id', 'to_app_id'])
def backwards(self, orm):
# Removing M2M table for field dependencies on 'App'
db.delete_table('app_registry_app_dependencies')
models = {
'app_registry.app': {
'Meta': {'ordering': "('name',)", 'object_name': 'App'},
'dependencies': ('django.db.models.fields.related.ManyToManyField', [], {'blank': 'True', 'related_name': "'dependencies_rel_+'", 'null': 'True', 'to': "orm['app_registry.App']"}),
'icon': ('django.db.models.fields.CharField', [], {'max_length': '64', 'blank': 'True'}),
'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
'name': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '64'})
},
'app_registry.backupjob': {
'Meta': {'object_name': 'BackupJob'},
'apps': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['app_registry.App']", 'symmetrical': 'False'}),
'begin_datetime': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime(2012, 8, 18, 0, 0)'}),
'enabled': ('django.db.models.fields.BooleanField', [], {'default': 'True'}),
'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
'name': ('django.db.models.fields.CharField', [], {'max_length': '64'}),
'storage_arguments_json': ('django.db.models.fields.TextField', [], {'blank': 'True'}),
'storage_module_name': ('django.db.models.fields.CharField', [], {'max_length': '32'})
}
}
complete_apps = ['app_registry']
+44
View File
@@ -0,0 +1,44 @@
# -*- coding: utf-8 -*-
import datetime
from south.db import db
from south.v2 import SchemaMigration
from django.db import models
class Migration(SchemaMigration):
def forwards(self, orm):
# Removing M2M table for field dependencies on 'App'
db.delete_table('app_registry_app_dependencies')
def backwards(self, orm):
# Adding M2M table for field dependencies on 'App'
db.create_table('app_registry_app_dependencies', (
('id', models.AutoField(verbose_name='ID', primary_key=True, auto_created=True)),
('from_app', models.ForeignKey(orm['app_registry.app'], null=False)),
('to_app', models.ForeignKey(orm['app_registry.app'], null=False))
))
db.create_unique('app_registry_app_dependencies', ['from_app_id', 'to_app_id'])
models = {
'app_registry.app': {
'Meta': {'ordering': "('name',)", 'object_name': 'App'},
'icon': ('django.db.models.fields.CharField', [], {'max_length': '64', 'blank': 'True'}),
'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
'name': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '64'})
},
'app_registry.backupjob': {
'Meta': {'object_name': 'BackupJob'},
'apps': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['app_registry.App']", 'symmetrical': 'False'}),
'begin_datetime': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime(2012, 8, 18, 0, 0)'}),
'enabled': ('django.db.models.fields.BooleanField', [], {'default': 'True'}),
'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
'name': ('django.db.models.fields.CharField', [], {'max_length': '64'}),
'storage_arguments_json': ('django.db.models.fields.TextField', [], {'blank': 'True'}),
'storage_module_name': ('django.db.models.fields.CharField', [], {'max_length': '32'})
}
}
complete_apps = ['app_registry']
+45
View File
@@ -0,0 +1,45 @@
# -*- coding: utf-8 -*-
import datetime
from south.db import db
from south.v2 import SchemaMigration
from django.db import models
class Migration(SchemaMigration):
def forwards(self, orm):
# Adding M2M table for field dependencies on 'App'
db.create_table('app_registry_app_dependencies', (
('id', models.AutoField(verbose_name='ID', primary_key=True, auto_created=True)),
('from_app', models.ForeignKey(orm['app_registry.app'], null=False)),
('to_app', models.ForeignKey(orm['app_registry.app'], null=False))
))
db.create_unique('app_registry_app_dependencies', ['from_app_id', 'to_app_id'])
def backwards(self, orm):
# Removing M2M table for field dependencies on 'App'
db.delete_table('app_registry_app_dependencies')
models = {
'app_registry.app': {
'Meta': {'ordering': "('name',)", 'object_name': 'App'},
'dependencies': ('django.db.models.fields.related.ManyToManyField', [], {'symmetrical': 'False', 'to': "orm['app_registry.App']", 'null': 'True', 'blank': 'True'}),
'icon': ('django.db.models.fields.CharField', [], {'max_length': '64', 'blank': 'True'}),
'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
'name': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '64'})
},
'app_registry.backupjob': {
'Meta': {'object_name': 'BackupJob'},
'apps': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['app_registry.App']", 'symmetrical': 'False'}),
'begin_datetime': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime(2012, 8, 18, 0, 0)'}),
'enabled': ('django.db.models.fields.BooleanField', [], {'default': 'True'}),
'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
'name': ('django.db.models.fields.CharField', [], {'max_length': '64'}),
'storage_arguments_json': ('django.db.models.fields.TextField', [], {'blank': 'True'}),
'storage_module_name': ('django.db.models.fields.CharField', [], {'max_length': '32'})
}
}
complete_apps = ['app_registry']
@@ -0,0 +1,56 @@
# -*- coding: utf-8 -*-
import datetime
from south.db import db
from south.v2 import SchemaMigration
from django.db import models
class Migration(SchemaMigration):
def forwards(self, orm):
# Deleting model 'BackupJob'
db.delete_table('app_registry_backupjob')
# Removing M2M table for field apps on 'BackupJob'
db.delete_table('app_registry_backupjob_apps')
# Deleting field 'App.icon'
db.delete_column('app_registry_app', 'icon')
def backwards(self, orm):
# Adding model 'BackupJob'
db.create_table('app_registry_backupjob', (
('storage_arguments_json', self.gf('django.db.models.fields.TextField')(blank=True)),
('name', self.gf('django.db.models.fields.CharField')(max_length=64)),
('storage_module_name', self.gf('django.db.models.fields.CharField')(max_length=32)),
('begin_datetime', self.gf('django.db.models.fields.DateTimeField')(default=datetime.datetime(2012, 8, 18, 0, 0))),
('enabled', self.gf('django.db.models.fields.BooleanField')(default=True)),
('id', self.gf('django.db.models.fields.AutoField')(primary_key=True)),
))
db.send_create_signal('app_registry', ['BackupJob'])
# Adding M2M table for field apps on 'BackupJob'
db.create_table('app_registry_backupjob_apps', (
('id', models.AutoField(verbose_name='ID', primary_key=True, auto_created=True)),
('backupjob', models.ForeignKey(orm['app_registry.backupjob'], null=False)),
('app', models.ForeignKey(orm['app_registry.app'], null=False))
))
db.create_unique('app_registry_backupjob_apps', ['backupjob_id', 'app_id'])
# Adding field 'App.icon'
db.add_column('app_registry_app', 'icon',
self.gf('django.db.models.fields.CharField')(default='', max_length=64, blank=True),
keep_default=False)
models = {
'app_registry.app': {
'Meta': {'ordering': "('name',)", 'object_name': 'App'},
'dependencies': ('django.db.models.fields.related.ManyToManyField', [], {'symmetrical': 'False', 'to': "orm['app_registry.App']", 'null': 'True', 'blank': 'True'}),
'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
'name': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '64'})
}
}
complete_apps = ['app_registry']
+59 -6
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):
app = App()
app.name=app_name
# 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'')
try:
app, created = App.objects.get_or_create(name=app_name)
except DatabaseError:
transaction.rollback()
# If database is not ready create a memory only app instance
app = App()
app.label = getattr(registration, 'label', app_name)
app.description = getattr(registration, 'description', u'')
else:
# If there are not error go ahead with the stored app instance
app.label = getattr(registration, 'label', app_name)
app.description = getattr(registration, 'description', u'')
app.dependencies.clear()
app.save()
for dependency_name in getattr(registration, 'dependencies', []):
dependency, created = App.objects.get_or_create(name=dependency_name)
app.dependencies.add(dependency)
app.icon = getattr(registration, 'icon', None)
settings = getattr(registration, 'settings', None)
if settings:
logger.debug('settings: %s' % settings)
settings_module = imp.new_module('settings')
setattr(app_module, 'settings', settings_module)
sys.modules['%s.settings' % app_name] = settings_module
settings_namespace = SettingsNamespace(app_name, app.label, '%s.settings' % app_name)
for setting in settings:
settings_namespace.add_setting(**setting)
for link in getattr(registration, 'setup_links', []):
logger.debug('setup link: %s' % link)
@@ -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')
+13
View File
@@ -0,0 +1,13 @@
from __future__ import absolute_import
from django.utils.translation import ugettext_lazy as _
from .icons import icon_app
from .links import app_registry_tool_link
name = 'app_registry'
label = _(u'App registry')
description = _(u'Handles the registration of apps in a project.')
icon = icon_app
tool_links = [app_registry_tool_link]
dependencies = ['navigation']
Binary file not shown.

After

Width:  |  Height:  |  Size: 1.7 KiB

+5
View File
@@ -0,0 +1,5 @@
from django.conf.urls.defaults import patterns, url
urlpatterns = patterns('app_registry.views',
url(r'^list/$', 'app_list', (), 'app_list'),
)
+27
View File
@@ -0,0 +1,27 @@
from __future__ import absolute_import
from django.shortcuts import render_to_response
from django.template import RequestContext
from django.utils.translation import ugettext as _
from common.utils import encapsulate
from permissions.models import Permission
from .models import App
from .icons import icon_app
def app_list(request):
#order = [i for i,f in sorted(smart_modules.items(), key=lambda k: 'dependencies' in k[1] and k[1]['dependencies'])]
return render_to_response('generic_list.html', {
'object_list': App.live.all(),
'hide_object': True,
'title': _(u'registered apps'),
'extra_columns': [
{'name': _(u'label'), 'attribute': 'label'},
{'name': _(u'icon'), 'attribute': encapsulate(lambda x: (getattr(x, 'icon') or icon_app).display_big())},
{'name': _(u'description'), 'attribute': 'description'},
{'name': _(u'dependencies'), 'attribute': encapsulate(lambda x: u', '.join([unicode(dependency) for dependency in x.dependencies.all()]))},
],
}, context_instance=RequestContext(request))
+63
View File
@@ -0,0 +1,63 @@
from __future__ import absolute_import
import inspect
from django.conf import settings
from django.db import transaction, DatabaseError
from django.utils.translation import ugettext_lazy as _
from django.utils.importlib import import_module
#from common.utils import encapsulate
#from job_processor.exceptions import JobQueuePushError
#from job_processor.models import JobQueue, JobType
#from project_tools.api import register_tool
#from project_setup.api import register_setup
#from navigation.api import bind_links, register_model_list_columns
#from .classes import AppBackup, ModelBackup
#from .links import (app_registry_tool_link, app_list, backup_tool_link,
# restore_tool_link, backup_job_list, backup_job_create, backup_job_edit,
# backup_job_test)
#from .literals import BACKUP_JOB_QUEUE_NAME
#from .models import App
#from . import models
#class UnableToRegister(Exception):
# pass
#apipkg.initpkg(__name__, {
# #'App': _App,
## 'App': 'app_registry.models:App',
# #'App': models.App
#})
#pp = 1
#from .models import App#as _App#, BackupJob as _BackupJob
#@transaction.commit_on_success
#def create_backups_job_queue():
# global backups_job_queue
# try:
# backups_job_queue, created = JobQueue.objects.get_or_create(name=BACKUP_JOB_QUEUE_NAME, defaults={'label': _('Backups'), 'unique_jobs': True})
# except DatabaseError:
# transaction.rollback()
#bind_links(['app_list'], [app_list], menu_name='secondary_menu')
#create_backups_job_queue()
###backup_job_type = JobType('remote_backup', _(u'Remove backup'), do_backup)
#register_setup(backup_tool_link)
#register_tool(restore_tool_link)
#bind_links([BackupJob, 'backup_job_list', 'backup_job_create'], [backup_job_list], menu_name='secondary_menu')
#bind_links([BackupJob, 'backup_job_list', 'backup_job_create'], [backup_job_create], menu_name='sidebar')
#bind_links([BackupJob], [backup_job_edit, backup_job_test])
#register_model_list_columns(BackupJob, [
# {'name':_(u'begin date time'), 'attribute': 'begin_datetime'},
# {'name':_(u'storage module'), 'attribute': 'storage_module.label'},
# {'name':_(u'apps'), 'attribute': encapsulate(lambda x: u', '.join([unicode(app) for app in x.apps.all()]))},
#])
###app.set_backup([ModelBackup()])
+161
View File
@@ -0,0 +1,161 @@
import logging
import os
from django.core.files.base import ContentFile
from django.core.files.storage import FileSystemStorage
from django.core.management.commands.dumpdata import Command
from django.conf import settings
from django.db import router, DEFAULT_DB_ALIAS
from django.utils.translation import ugettext_lazy as _
from django.utils.translation import ugettext
from django.utils.importlib import import_module
logger = logging.getLogger(__name__)
# Data types
class ElementDataBase(object):
"""
The basic unit of a backup, a data type
it is produced or consumed by the ElementBackup classes
"""
def make_filename(self, id):
return '%s-%s' % (self.model_backup.app_backup.app.name, id)
def save(self):
"""
Must return a file like object
"""
raise NotImplemented
def load(self, file_object):
"""
Must read a file like object and store content
"""
raise NotImplemented
class Fixture(ElementDataBase):
name = 'fixture'
def __init__(self, model_backup, content):
self.model_backup = model_backup
self.content = content
@property
def filename(self):
return self.make_filename(self.__class__.name)
def save(self):
return ContentFile(name=self.filename, content=self.content)
#def load(self):
# Element backup
class ElementBackupBase(object):
"""
Sub classes must provide at least:
info()
backup()
restore()
"""
label = _(u'Base backup manager')
def info(self):
"""
Must return at least None
"""
return None
def link(self, app_backup):
self.app_backup = app_backup
return self
def __unicode__(self):
return unicode(self.__class__.label)
class ModelBackup(ElementBackupBase):
label = _(u'Model fixtures')
def __init__(self, models=None):
self.model_list = models or []
def info(self):
return _(u'models: %s') % (u', '.join(self.model_list) if self.model_list else _(u'All'))
def backup(self):
"""
"""
#TODO: turn into a generator
command = Command()
if not self.model_list:
result = [self.app_backup.app.name]
else:
result = [u'%s.%s' (self.app_backup.app.name, model) for model in self.model_list]
#TODO: a single Fixture or a list of Fixtures for each model?
#Can't return multiple Fixture until a way to find all of an app's models is found
return [Fixture(
model_backup=self,
content=command.handle(u' '.join(result), format='json', indent=4, using=DEFAULT_DB_ALIAS, exclude=[], user_base_manager=False, use_natural_keys=False)
)]
class FileBackup(ElementBackupBase):
label = _(u'File copy')
def __init__(self, storage_class, filepath=None):
self.storage_class = storage_class
self.filepath = filepath
def info(self):
return _(u'%s from %s') % (self.filepath or _(u'all files'), self.storage_class)
def backup(self):
"""
Fetch a file specified by filepath from the Django storage class
and return a file like object
"""
return None
# App config
class AppBackup(object):
_registry = {}
STATE_BACKING_UP = 'backing_up'
STATE_RESTORING = 'restoring'
STATE_IDLE = 'idle'
STATE_CHOICES = (
(STATE_BACKING_UP, _(u'backing up')),
(STATE_RESTORING, _(u'restoring')),
(STATE_IDLE, _(u'idle')),
)
@classmethod
def get(cls, name):
return cls._registry[name]
@classmethod
def get_all(cls):
return cls._registry.values()
def __init__(self, app, backup_managers):
# app = App instance from app_registry app
self.app = app
self.backup_managers = [manager.link(self) for manager in backup_managers]
self.state = self.__class__.STATE_IDLE
self.__class__._registry[app] = self
def info(self):
results = []
for manager in self.backup_managers:
results.append(u'%s - %s' % (manager, manager.info() or _(u'Nothing')))
return u', '.join(results)
+20
View File
@@ -0,0 +1,20 @@
from __future__ import absolute_import
from django import forms
from common.widgets import ScrollableCheckboxSelectMultiple
#from .classes import AppBackup
#from .models import App, BackupJob
#def valid_app_choices():
# # Return app that exist in the app registry and that have been registered for backup
# return App.live.filter(pk__in=[appbackup.app.pk for appbackup in AppBackup.get_all()])
#class BackupJobForm(forms.ModelForm):
# apps = forms.ModelMultipleChoiceField(queryset=valid_app_choices(), widget=ScrollableCheckboxSelectMultiple())
#
# class Meta:
# model = BackupJob
+17
View File
@@ -0,0 +1,17 @@
from __future__ import absolute_import
from django.utils.translation import ugettext_lazy as _
from navigation import Link
from .icons import icon_app
from .permissions import PERMISSION_BACKUP_JOB_VIEW, PERMISSION_BACKUP_JOB_CREATE, PERMISSION_BACKUP_JOB_EDIT, PERMISSION_BACKUP_JOB_DELETE
backup_tool_link = Link(text=_(u'backups'), view='backup_job_list', icon='cd_burn.png', permissions=[PERMISSION_BACKUP_JOB_VIEW])
backup_job_list = Link(text=_(u'backup job list'), view='backup_job_list', sprite='cd_burn', permissions=[PERMISSION_BACKUP_JOB_VIEW])
backup_job_create = Link(text=_(u'create'), view='backup_job_create', sprite='cd_add', permissions=[PERMISSION_BACKUP_JOB_CREATE])
backup_job_edit = Link(text=_(u'edit'), view='backup_job_edit', args='object.pk', sprite='cd_edit', permissions=[PERMISSION_BACKUP_JOB_EDIT])
backup_job_test = Link(text=_(u'test'), view='backup_job_test', args='object.pk', sprite='cd_go')#, permissions=[PERMISSION_BACKUP_JOB_TEST])
backup_job_delete = Link(text=_(u'delete'), view='backup_job_delete', args='object.pk', sprite='cd_delete', permissions=[PERMISSION_BACKUP_JOB_DELETE])
restore_tool_link = Link(text=_(u'restore'), view='restore_view', icon='cd_eject.png')#, permissions=[])
+1
View File
@@ -0,0 +1 @@
BACKUP_JOB_QUEUE_NAME = 'backups_queue'
+58
View File
@@ -0,0 +1,58 @@
from django.db import models
from app_registry.models import App
"""
class BackupJob(models.Model):
name = models.CharField(max_length=64, verbose_name=_(u'name'))
enabled = models.BooleanField(default=True, verbose_name=_(u'enabled'))
apps = models.ManyToManyField(App)
begin_datetime = models.DateTimeField(verbose_name=_(u'begin date and time'), default=lambda: datetime.datetime.now())
# * repetition =
# day - 1 days
# weekly - days of week checkbox
# month - day of month, day of week
# * repetition option field
# * ends
# - never
# - After # ocurrences
# - On date
# * end option field
# * type
# - Full
# - Incremental
storage_module_name = models.CharField(max_length=32, choices=StorageModuleBase.get_as_choices(), verbose_name=_(u'storage module'))
storage_arguments_json = models.TextField(verbose_name=_(u'storage module arguments (in JSON)'), blank=True)
def __unicode__(self):
return self.name
@property
def storage_module(self):
return StorageModuleBase.get(self.storage_module_name)
def backup(self, dry_run=False):
logger.debug('starting: %s', self)
logger.debug('dry_run: %s' % dry_run)
storage_module = self.storage_module
#TODO: loads
for app in self.apps.all():
app_backup = AppBackup.get(app)
app_backup.backup(storage_module(backup_path='/tmp'), dry_run=dry_run)
def save(self, *args, **kwargs):
#dump
super(BackupJob, self).save(*args, **kwargs)
@models.permalink
def get_absolute_url(self):
return ('checkout_info', [self.document.pk])
class Meta:
verbose_name = _(u'document checkout')
verbose_name_plural = _(u'document checkouts')
#class BackupJobLog
"""
+12
View File
@@ -0,0 +1,12 @@
from __future__ import absolute_import
from django.utils.translation import ugettext_lazy as _
from permissions.models import PermissionNamespace, Permission
namespace = PermissionNamespace('backups', _(u'Backups'))
PERMISSION_BACKUP_JOB_VIEW = Permission.objects.register(namespace, 'backup_job_view', _(u'View a backup job'))
PERMISSION_BACKUP_JOB_CREATE = Permission.objects.register(namespace, 'backup_job_view', _(u'Create backup jobs'))
PERMISSION_BACKUP_JOB_EDIT = Permission.objects.register(namespace, 'backup_job_edit', _(u'Edit an existing backup jobs'))
PERMISSION_BACKUP_JOB_DELETE = Permission.objects.register(namespace, 'backup_job_delete', _(u'Delete an existing backup jobs'))
+9
View File
@@ -0,0 +1,9 @@
from django.conf.urls.defaults import patterns, url
urlpatterns = patterns('backups.views',
#url(r'^jobs/list/$', 'backup_job_list', (), 'backup_job_list'),
#url(r'^jobs/create/$', 'backup_job_create', (), 'backup_job_create'),
#url(r'^jobs/(?P<backup_job_pk>\d+)/edit/$', 'backup_job_edit', (), 'backup_job_edit'),
#url(r'^jobs/(?P<backup_job_pk>\d+)/test/$', 'backup_job_test', (), 'backup_job_test'),
#url(r'^jobs/(?P<backup_job_pk>\d+)/delete/$', 'backup_job_delete', (), 'backup_job_delete'),
)
+126
View File
@@ -0,0 +1,126 @@
from __future__ import absolute_import
from django.conf import settings
from django.contrib import messages
from django.core.urlresolvers import reverse
from django.http import HttpResponseRedirect
from django.shortcuts import render_to_response, get_object_or_404
from django.template import RequestContext
from django.utils.translation import ugettext as _
from common.utils import encapsulate
from permissions.models import Permission
#from .classes import AppBackup
#from .forms import BackupJobForm
#from .models import App#, BackupJob
from .permissions import PERMISSION_BACKUP_JOB_VIEW, PERMISSION_BACKUP_JOB_CREATE, PERMISSION_BACKUP_JOB_EDIT
def backup_job_list(request):
pre_object_list = BackupJob.objects.all()
try:
Permission.objects.check_permissions(request.user, [PERMISSION_BACKUP_JOB_VIEW])
except PermissionDenied:
# If user doesn't have global permission, get a list of backup jobs
# for which he/she does have access use it to filter the
# provided object_list
final_object_list = AccessEntry.objects.filter_objects_by_access(PERMISSION_BACKUP_JOB_VIEW, request.user, pre_object_list)
else:
final_object_list = pre_object_list
context = {
'object_list': final_object_list,
'title': _(u'backup jobs'),
'hide_link': True,
#'extra_columns': [
# {'name': _(u'info'), 'attribute': 'info'},
#],
}
return render_to_response('generic_list.html', context,
context_instance=RequestContext(request))
def backup_job_create(request):
Permission.objects.check_permissions(request.user, [PERMISSION_BACKUP_JOB_CREATE])
if request.method == 'POST':
form = BackupJobForm(data=request.POST)
if form.is_valid():
try:
backup_job = form.save()
except Exception, exc:
messages.error(request, _(u'Error creating backup job; %s') % exc)
else:
messages.success(request, _(u'Backup job "%s" created successfully.') % backup_job)
return HttpResponseRedirect(reverse('backup_job_list'))
else:
form = BackupJobForm()
return render_to_response('generic_form.html', {
'form': form,
'title': _(u'Create backup job')
}, context_instance=RequestContext(request))
def backup_job_edit(request, backup_job_pk):
backup_job = get_object_or_404(BackupJob, pk=backup_job_pk)
try:
Permission.objects.check_permissions(request.user, [PERMISSION_BACKUP_JOB_EDIT])
except PermissionDenied:
AccessEntry.objects.check_access(PERMISSION_BACKUP_JOB_EDIT, request.user, backup_job)
if request.method == 'POST':
form = BackupJobForm(data=request.POST, instance=backup_job)
if form.is_valid():
try:
backup_job = form.save()
except Exception, exc:
messages.error(request, _(u'Error editing backup job; %s') % exc)
else:
messages.success(request, _(u'Backup job "%s" edited successfully.') % backup_job)
return HttpResponseRedirect(reverse('backup_job_list'))
else:
form = BackupJobForm(instance=backup_job)
return render_to_response('generic_form.html', {
'form': form,
'object': backup_job,
'title': _(u'Edit backup job: %s') % backup_job
}, context_instance=RequestContext(request))
def backup_job_test(request, backup_job_pk):
backup_job = get_object_or_404(BackupJob, pk=backup_job_pk)
#try:
# Permission.objects.check_permissions(request.user, [PERMISSION_BACKUP_JOB_EDIT])
#except PermissionDenied:
# AccessEntry.objects.check_access(PERMISSION_BACKUP_JOB_EDIT, request.user, backup_job)
try:
backup_job.backup(dry_run=True)
except Exception, exc:
if settings.DEBUG:
raise
else:
messages.error(request, _(u'Error testing backup job; %s') % exc)
return HttpResponseRedirect(reverse('backup_job_list'))
else:
messages.success(request, _(u'Test for backup job "%s" finished successfully.') % backup_job)
return HttpResponseRedirect(reverse('backup_job_list'))
def backup_view(request):
#Permission.objects.check_permissions(request.user, [])
context = {
'object_list': AppBackup.get_all(),
'title': _(u'registered apps for backup'),
'hide_link': True,
'extra_columns': [
{'name': _(u'info'), 'attribute': 'info'},
],
}
return render_to_response('generic_list.html', context,
context_instance=RequestContext(request))
+1
View File
@@ -0,0 +1 @@
+1 -1
View File
@@ -169,4 +169,4 @@ class FixtureMetadata(object):
for line in fixture_data.splitlines(False):
if line.startswith(self.get_with_remark()):
# TODO: replace the "+ 4" with a space and next character finding algo
return self.read_function(line[len(self.literal) + 4:])
return self.read_function(line[len(self.literal) + 4:])
+14
View File
@@ -0,0 +1,14 @@
from __future__ import absolute_import
from icons.literals import (WIZARD, LIGHTNING, RADIOACTIVITY, MAGIC_WAND_2,
WIZARD_ADD, WIZARD_EDIT, WIZARD_DELETE, WIZARD_LIGHTNING)
from icons import Icon
icon_bootstrap_setup = Icon(WIZARD)
icon_bootstrap_setup_view = Icon(WIZARD)
icon_bootstrap_setup_create = Icon(WIZARD_ADD)
icon_bootstrap_setup_edit = Icon(WIZARD_EDIT)
icon_bootstrap_setup_delete = Icon(WIZARD_DELETE)
icon_bootstrap_setup_execute = Icon(WIZARD_LIGHTNING)
icon_bootstrap_setup_dump = Icon(MAGIC_WAND_2)
icon_nuke_database = Icon(RADIOACTIVITY)
+16 -9
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]}
Binary file not shown.
+62 -69
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 ""
"Сигурен ли сте, че искате да изтриете цялата база данни и документното "
"пространство?"
Binary file not shown.
@@ -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 ""
Binary file not shown.
+54 -54
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 ""
Binary file not shown.
+67 -65
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 ""
Binary file not shown.
+79 -72
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 ""
Binary file not shown.
+62 -62
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 ""
Binary file not shown.
@@ -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 ""
Binary file not shown.
+62 -62
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 ""
Binary file not shown.
+62 -62
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 ""
Binary file not shown.
@@ -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 ""
Binary file not shown.
+62 -62
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 ""
-1
View File
@@ -72,4 +72,3 @@ class BootstrapSetupManager(models.Manager):
self.import_from_url(bootstrap_setup_url, overwrite=True)
else:
response.raise_for_status()
+1 -1
View File
@@ -35,4 +35,4 @@ class Migration(SchemaMigration):
}
}
complete_apps = ['bootstrap']
complete_apps = ['bootstrap']
@@ -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']
+4 -4
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))
+2
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

+5 -4
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?')
+11 -18
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)
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)
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()
+19 -23
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'}
)
+2 -1
View File
@@ -3,7 +3,8 @@ class DocumentNotCheckedOut(Exception):
Raised when trying to checkin a document that is not checkedout
"""
pass
class DocumentAlreadyCheckedOut(Exception):
"""
Raised when trying to checkout an already checkedout document
+1 -2
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
@@ -17,7 +16,7 @@ class DocumentCheckoutForm(forms.ModelForm):
widgets = {
'document': forms.widgets.HiddenInput(),
}
}
def clean_document(self):
document = self.cleaned_data['document']
+5 -5
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])
+2
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
Binary file not shown.
+45 -40
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?"

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