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
This commit is contained in:
Roberto Rosario
2012-06-30 04:00:01 -04:00
438 changed files with 12762 additions and 4473 deletions

View File

@@ -22,7 +22,7 @@ from .permissions import (PERMISSION_DOCUMENT_PROPERTIES_EDIT,
PERMISSION_DOCUMENT_DOWNLOAD, PERMISSION_DOCUMENT_TRANSFORM,
PERMISSION_DOCUMENT_EDIT, PERMISSION_DOCUMENT_VERSION_REVERT,
PERMISSION_DOCUMENT_NEW_VERSION)
from .literals import (HISTORY_DOCUMENT_CREATED,
from .events import (HISTORY_DOCUMENT_CREATED,
HISTORY_DOCUMENT_EDITED, HISTORY_DOCUMENT_DELETED)
from .conf import settings as document_settings
from .widgets import document_thumbnail

28
apps/documents/events.py Normal file
View File

@@ -0,0 +1,28 @@
from django.utils.translation import ugettext_lazy as _
HISTORY_DOCUMENT_CREATED = {
'namespace': 'documents', 'name': 'document_created',
'label': _(u'Document creation'),
'summary': _(u'Document "%(content_object)s" created by %(fullname)s.'),
'details': _(u'Document "%(content_object)s" created on %(datetime)s by %(fullname)s.'),
'expressions': {'fullname': 'user.get_full_name() if user.get_full_name() else user.username'}
}
HISTORY_DOCUMENT_EDITED = {
'namespace': 'documents', 'name': 'document_edited',
'label': _(u'Document edited'),
'summary': _(u'Document "%(content_object)s" edited by %(fullname)s.'),
'details': _(u'Document "%(content_object)s" was edited on %(datetime)s by %(fullname)s. The following changes took place: %(changes)s.'),
'expressions': {
'fullname': 'user.get_full_name() if user.get_full_name() else user.username',
'changes': 'u\', \'.join([\'"%s": "%s" -> "%s"\' % (key, value[\'old_value\'], value[\'new_value\']) for key, value in diff.items()])'
}
}
HISTORY_DOCUMENT_DELETED = {
'namespace': 'documents', 'name': 'document_deleted',
'label': _(u'Document deleted'),
'summary': _(u'Document "%(document)s" deleted by %(fullname)s.'),
'details': _(u'Document "%(document)s" deleted on %(datetime)s by %(fullname)s.'),
'expressions': {'fullname': 'user.get_full_name() if user.get_full_name() else user.username'}
}

View File

@@ -0,0 +1,6 @@
class NewDocumentVersionNotAllowed(Exception):
"""
Uploading new versions for this document is not allowed
Current reasons: Document is in checked out state
"""
pass

View File

@@ -15,7 +15,7 @@ from .models import (Document, DocumentType,
DocumentPage, DocumentPageTransformation, DocumentTypeFilename,
DocumentVersion)
from .widgets import document_html_widget
from .literals import (RELEASE_LEVEL_FINAL, RELEASE_LEVEL_CHOICES)
from .literals import (RELEASE_LEVEL_FINAL, RELEASE_LEVEL_CHOICES, DEFAULT_ZIP_FILENAME)
# Document page forms
@@ -311,6 +311,7 @@ class DocumentTypeFilenameForm_create(forms.ModelForm):
class DocumentDownloadForm(forms.Form):
compressed = forms.BooleanField(label=_(u'Compress'), required=False, help_text=_(u'Download the document in the original format or in a compressed manner. This option is selectable only when downloading one document, for multiple documents, the bundle will always be downloads as a compressed file.'))
zip_filename = forms.CharField(initial=DEFAULT_ZIP_FILENAME, label=_(u'Compressed filename'), required=False, help_text=_(u'The filename of the compressed file that will contain the documents to be downloaded, if the previous option is selected.'))
def __init__(self, *args, **kwargs):
self.document_versions = kwargs.pop('document_versions', None)

View File

@@ -5,33 +5,6 @@ PICTURE_ERROR_MEDIUM = u'1297211435_error.png'
PICTURE_UNKNOWN_SMALL = u'1299549572_unknown2.png'
PICTURE_UNKNOWN_MEDIUM = u'1299549805_unknown.png'
HISTORY_DOCUMENT_CREATED = {
'namespace': 'documents', 'name': 'document_created',
'label': _(u'Document creation'),
'summary': _(u'Document "%(content_object)s" created by %(fullname)s.'),
'details': _(u'Document "%(content_object)s" created on %(datetime)s by %(fullname)s.'),
'expressions': {'fullname': 'user.get_full_name() if user.get_full_name() else user.username'}
}
HISTORY_DOCUMENT_EDITED = {
'namespace': 'documents', 'name': 'document_edited',
'label': _(u'Document edited'),
'summary': _(u'Document "%(content_object)s" edited by %(fullname)s.'),
'details': _(u'Document "%(content_object)s" was edited on %(datetime)s by %(fullname)s. The following changes took place: %(changes)s.'),
'expressions': {
'fullname': 'user.get_full_name() if user.get_full_name() else user.username',
'changes': 'u\', \'.join([\'"%s": "%s" -> "%s"\' % (key, value[\'old_value\'], value[\'new_value\']) for key, value in diff.items()])'
}
}
HISTORY_DOCUMENT_DELETED = {
'namespace': 'documents', 'name': 'document_deleted',
'label': _(u'Document deleted'),
'summary': _(u'Document "%(document)s" deleted by %(fullname)s.'),
'details': _(u'Document "%(document)s" deleted on %(datetime)s by %(fullname)s.'),
'expressions': {'fullname': 'user.get_full_name() if user.get_full_name() else user.username'}
}
RELEASE_LEVEL_FINAL = 1
RELEASE_LEVEL_ALPHA = 2
RELEASE_LEVEL_BETA = 3
@@ -49,3 +22,5 @@ RELEASE_LEVEL_CHOICES = (
VERSION_UPDATE_MAJOR = u'major'
VERSION_UPDATE_MINOR = u'minor'
VERSION_UPDATE_MICRO = u'micro'
DEFAULT_ZIP_FILENAME = u'document_bundle.zip'

Binary file not shown.

File diff suppressed because it is too large Load Diff

View File

@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2012-02-12 15:20-0400\n"
"POT-Creation-Date: 2012-06-17 19:02-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"
@@ -21,7 +21,7 @@ msgstr ""
msgid "all documents"
msgstr ""
#: __init__.py:64 models.py:653 views.py:871
#: __init__.py:64 models.py:669 views.py:871
msgid "recent documents"
msgstr ""
@@ -200,7 +200,7 @@ msgstr ""
msgid "Documents"
msgstr ""
#: __init__.py:166 __init__.py:179 models.py:90 views.py:79
#: __init__.py:166 __init__.py:179 models.py:91 views.py:79
msgid "documents"
msgstr ""
@@ -345,204 +345,204 @@ msgstr ""
msgid "hotfix"
msgstr ""
#: models.py:61
#: models.py:62
msgid "name"
msgstr ""
#: models.py:67 models.py:77 models.py:524 views.py:1068 views.py:1097
#: models.py:68 models.py:78 models.py:543 views.py:1068 views.py:1097
#: views.py:1126 views.py:1131 views.py:1174 views.py:1220 views.py:1254
msgid "document type"
msgstr ""
#: models.py:68
#: models.py:69
msgid "documents types"
msgstr ""
#: models.py:78
#: models.py:79
msgid "description"
msgstr ""
#: models.py:79
#: models.py:80
msgid "added"
msgstr ""
#: models.py:89 models.py:300 models.py:642 models.py:657 views.py:227
#: models.py:90 models.py:308 models.py:658 models.py:673 views.py:227
#: views.py:351
msgid "document"
msgstr ""
#: models.py:287
#: models.py:295
#, python-format
msgid "Major %(major)i.%(minor)i, (new release)"
msgstr ""
#: models.py:288
#: models.py:296
#, python-format
msgid "Minor %(major)i.%(minor)i, (some updates)"
msgstr ""
#: models.py:289
#: models.py:297
#, python-format
msgid "Micro %(major)i.%(minor)i.%(micro)i, (fixes)"
msgstr ""
#: models.py:301
#: models.py:309
msgid "mayor"
msgstr ""
#: models.py:302
#: models.py:310
msgid "minor"
msgstr ""
#: models.py:303
#: models.py:311
msgid "micro"
msgstr ""
#: models.py:304
#: models.py:312
msgid "release level"
msgstr ""
#: models.py:305
#: models.py:313
msgid "serial"
msgstr ""
#: models.py:306
#: models.py:314
msgid "timestamp"
msgstr ""
#: models.py:307 views.py:1357
#: models.py:315 views.py:1357
msgid "comment"
msgstr ""
#: models.py:310
#: models.py:318
msgid "file"
msgstr ""
#: models.py:314
#: models.py:322
msgid "checksum"
msgstr ""
#: models.py:318 models.py:319 models.py:542
#: models.py:326 models.py:327 models.py:560
msgid "document version"
msgstr ""
#: models.py:411
#: models.py:419
msgid ""
"This document's file format is not known, the page count has therefore "
"defaulted to 1."
msgstr ""
#: models.py:525 views.py:1353
#: models.py:544 views.py:1353
msgid "filename"
msgstr ""
#: models.py:526 views.py:1181
#: models.py:545 views.py:1181
msgid "enabled"
msgstr ""
#: models.py:533
#: models.py:552
msgid "document type quick rename filename"
msgstr ""
#: models.py:534
#: models.py:553
msgid "document types quick rename filenames"
msgstr ""
#: models.py:545
#: models.py:561
msgid "content"
msgstr ""
#: models.py:546
#: models.py:562
msgid "page label"
msgstr ""
#: models.py:547
#: models.py:563
msgid "page number"
msgstr ""
#: models.py:550
#: models.py:566
#, python-format
msgid "Page %(page_num)d out of %(total_pages)d of %(document)s"
msgstr ""
#: models.py:558 models.py:604
#: models.py:574 models.py:620
msgid "document page"
msgstr ""
#: models.py:559
#: models.py:575
msgid "document pages"
msgstr ""
#: models.py:579
#: models.py:595
msgid "Enter a valid value."
msgstr ""
#: models.py:605 views.py:449
#: models.py:621 views.py:449
msgid "order"
msgstr ""
#: models.py:606 views.py:450 views.py:511 views.py:542
#: models.py:622 views.py:450 views.py:511 views.py:542
msgid "transformation"
msgstr ""
#: models.py:607 views.py:451
#: models.py:623 views.py:451
msgid "arguments"
msgstr ""
#: models.py:607
#: models.py:623
#, python-format
msgid "Use dictionaries to indentify arguments, example: %s"
msgstr ""
#: models.py:615
#: models.py:631
msgid "document page transformation"
msgstr ""
#: models.py:616
#: models.py:632
msgid "document page transformations"
msgstr ""
#: models.py:641
#: models.py:657
msgid "user"
msgstr ""
#: models.py:643
#: models.py:659
msgid "accessed"
msgstr ""
#: models.py:652
#: models.py:668
msgid "recent document"
msgstr ""
#: models.py:658
#: models.py:674
msgid "Document type"
msgstr ""
#: models.py:659
#: models.py:675
msgid "MIME type"
msgstr ""
#: models.py:660 views.py:132
#: models.py:676 views.py:132
msgid "Filename"
msgstr ""
#: models.py:661
#: models.py:677
msgid "Metadata value"
msgstr ""
#: models.py:662
#: models.py:678
msgid "Content"
msgstr ""
#: models.py:663
#: models.py:679
msgid "Description"
msgstr ""
#: models.py:664
#: models.py:680
msgid "Tags"
msgstr ""
#: models.py:665
#: models.py:681
msgid "Comments"
msgstr ""
@@ -606,49 +606,49 @@ msgstr ""
msgid "Create document types"
msgstr ""
#: statistics.py:40
#: statistics.py:44
#, python-format
msgid "Document types: %d"
msgstr ""
#: statistics.py:41
#: statistics.py:45
#, python-format
msgid "Documents in database: %d"
msgstr ""
#: statistics.py:46
#: statistics.py:50
#, python-format
msgid "Documents in storage: %d"
msgstr ""
#: statistics.py:48
#: statistics.py:52
#, python-format
msgid ""
"Space used in storage: %(base_2)s (base 2), %(base_10)s (base 10), %(bytes)d "
"bytes"
msgstr ""
#: statistics.py:58
#: statistics.py:63
#, python-format
msgid "Document pages in database: %d"
msgstr ""
#: statistics.py:59
#: statistics.py:64
#, python-format
msgid "Minimum amount of pages per document: %(page_count__min)d"
msgid "Minimum amount of pages per document: %d"
msgstr ""
#: statistics.py:60
#: statistics.py:65
#, python-format
msgid "Maximum amount of pages per document: %(page_count__max)d"
msgid "Maximum amount of pages per document: %d"
msgstr ""
#: statistics.py:61
#: statistics.py:66
#, python-format
msgid "Average amount of pages per document: %(page_count__avg)f"
msgid "Average amount of pages per document: %f"
msgstr ""
#: statistics.py:67
#: statistics.py:71
msgid "Document statistics"
msgstr ""
@@ -656,6 +656,10 @@ msgstr ""
msgid "File mimetype"
msgstr ""
#: views.py:133 views.py:134
msgid "None"
msgstr ""
#: views.py:134
msgid "File mime encoding"
msgstr ""

File diff suppressed because it is too large Load Diff

View File

@@ -3,6 +3,7 @@
# This file is distributed under the same license as the PACKAGE package.
#
# Translators:
# Carlo Zanatto <>, 2012.
# <pierpaolo.baldan@gmail.com>, 2011.
# Pierpaolo Baldan <pierpaolo.baldan@gmail.com>, 2012.
# Roberto Rosario <roberto.rosario.gonzalez@gmail.com>, 2012.
@@ -10,9 +11,9 @@ msgid ""
msgstr ""
"Project-Id-Version: Mayan EDMS\n"
"Report-Msgid-Bugs-To: http://github.com/rosarior/mayan/issues\n"
"POT-Creation-Date: 2012-02-12 15:20-0400\n"
"PO-Revision-Date: 2012-03-21 13:44+0000\n"
"Last-Translator: Pierpaolo Baldan <pierpaolo.baldan@gmail.com>\n"
"POT-Creation-Date: 2012-06-17 18:08-0400\n"
"PO-Revision-Date: 2012-06-17 22:12+0000\n"
"Last-Translator: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>\n"
"Language-Team: Italian (http://www.transifex.net/projects/p/mayan-edms/language/it/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -24,7 +25,7 @@ msgstr ""
msgid "all documents"
msgstr "tutti i documenti"
#: __init__.py:64 models.py:653 views.py:871
#: __init__.py:64 models.py:669 views.py:871
msgid "recent documents"
msgstr "documenti recenti"
@@ -203,7 +204,7 @@ msgstr "aggiungi il nome file al tipo di documento"
msgid "Documents"
msgstr "Documenti"
#: __init__.py:166 __init__.py:179 models.py:90 views.py:79
#: __init__.py:166 __init__.py:179 models.py:91 views.py:79
msgid "documents"
msgstr "documenti"
@@ -347,204 +348,204 @@ msgstr "Release Candidate"
msgid "hotfix"
msgstr "hotfix"
#: models.py:61
#: models.py:62
msgid "name"
msgstr "nome"
#: models.py:67 models.py:77 models.py:524 views.py:1068 views.py:1097
#: models.py:68 models.py:78 models.py:543 views.py:1068 views.py:1097
#: views.py:1126 views.py:1131 views.py:1174 views.py:1220 views.py:1254
msgid "document type"
msgstr "tipo documento"
#: models.py:68
#: models.py:69
msgid "documents types"
msgstr "documenti tipo"
#: models.py:78
#: models.py:79
msgid "description"
msgstr "descrizione"
#: models.py:79
#: models.py:80
msgid "added"
msgstr "ha aggiunto"
#: models.py:89 models.py:300 models.py:642 models.py:657 views.py:227
#: models.py:90 models.py:308 models.py:658 models.py:673 views.py:227
#: views.py:351
msgid "document"
msgstr "documento"
#: models.py:287
#: models.py:295
#, python-format
msgid "Major %(major)i.%(minor)i, (new release)"
msgstr "Magiore %(major)i.%(minor)i, (new release)"
msgstr "Maggiore %(major)i.%(minor)i, (new release)"
#: models.py:288
#: models.py:296
#, python-format
msgid "Minor %(major)i.%(minor)i, (some updates)"
msgstr "Minore %(major)i.%(minor)i, (some updates)"
#: models.py:289
#: models.py:297
#, python-format
msgid "Micro %(major)i.%(minor)i.%(micro)i, (fixes)"
msgstr "Micro %(major)i.%(minor)i.%(micro)i, (fixes)"
#: models.py:301
#: models.py:309
msgid "mayor"
msgstr "maggiore"
#: models.py:302
#: models.py:310
msgid "minor"
msgstr "minore"
#: models.py:303
#: models.py:311
msgid "micro"
msgstr "micro"
#: models.py:304
#: models.py:312
msgid "release level"
msgstr "Livello di release"
#: models.py:305
#: models.py:313
msgid "serial"
msgstr "sequenziale"
#: models.py:306
#: models.py:314
msgid "timestamp"
msgstr "timestamp"
#: models.py:307 views.py:1357
#: models.py:315 views.py:1357
msgid "comment"
msgstr "commento"
#: models.py:310
#: models.py:318
msgid "file"
msgstr "file"
#: models.py:314
#: models.py:322
msgid "checksum"
msgstr "checksum"
#: models.py:318 models.py:319 models.py:542
#: models.py:326 models.py:327 models.py:560
msgid "document version"
msgstr "versione del documento"
#: models.py:411
#: models.py:419
msgid ""
"This document's file format is not known, the page count has therefore "
"defaulted to 1."
msgstr "Questo tipo di formato file è sconosciuto, per cui il numero di pagine sarà 1"
#: models.py:525 views.py:1353
#: models.py:544 views.py:1353
msgid "filename"
msgstr "nome file"
#: models.py:526 views.py:1181
#: models.py:545 views.py:1181
msgid "enabled"
msgstr "abilitato"
#: models.py:533
#: models.py:552
msgid "document type quick rename filename"
msgstr "rinomina veloce del nome file del documento"
#: models.py:534
#: models.py:553
msgid "document types quick rename filenames"
msgstr "rinomina veloce del nome files del documento"
#: models.py:545
#: models.py:561
msgid "content"
msgstr "contenuto"
#: models.py:546
#: models.py:562
msgid "page label"
msgstr "etichetta di pagina"
#: models.py:547
#: models.py:563
msgid "page number"
msgstr "numero pagina"
#: models.py:550
#: models.py:566
#, python-format
msgid "Page %(page_num)d out of %(total_pages)d of %(document)s"
msgstr "Pagina %(page_num)d di %(total_pages)d del %(document)s"
#: models.py:558 models.py:604
#: models.py:574 models.py:620
msgid "document page"
msgstr "pagina del documento"
#: models.py:559
#: models.py:575
msgid "document pages"
msgstr "pagine di documento"
#: models.py:579
#: models.py:595
msgid "Enter a valid value."
msgstr "Inserisci un valore valido"
#: models.py:605 views.py:449
#: models.py:621 views.py:449
msgid "order"
msgstr "ordina"
#: models.py:606 views.py:450 views.py:511 views.py:542
#: models.py:622 views.py:450 views.py:511 views.py:542
msgid "transformation"
msgstr "trasformazione"
#: models.py:607 views.py:451
#: models.py:623 views.py:451
msgid "arguments"
msgstr "argomenti"
#: models.py:607
#: models.py:623
#, python-format
msgid "Use dictionaries to indentify arguments, example: %s"
msgstr "Usa dizionari per identificare gli argomenti, esempio:%s"
#: models.py:615
#: models.py:631
msgid "document page transformation"
msgstr "trasformazione della pagina del documento"
#: models.py:616
#: models.py:632
msgid "document page transformations"
msgstr "trasformazioni della pagina del documento"
#: models.py:641
#: models.py:657
msgid "user"
msgstr "utente"
#: models.py:643
#: models.py:659
msgid "accessed"
msgstr "accessi"
#: models.py:652
#: models.py:668
msgid "recent document"
msgstr "documenti recenti"
#: models.py:658
#: models.py:674
msgid "Document type"
msgstr "Tipo documento"
#: models.py:659
#: models.py:675
msgid "MIME type"
msgstr "Tipo MIME"
#: models.py:660 views.py:132
#: models.py:676 views.py:132
msgid "Filename"
msgstr "Nome file"
#: models.py:661
#: models.py:677
msgid "Metadata value"
msgstr "Valore del Metadato"
#: models.py:662
#: models.py:678
msgid "Content"
msgstr "Contenuto"
#: models.py:663
#: models.py:679
msgid "Description"
msgstr "Descrizione"
#: models.py:664
#: models.py:680
msgid "Tags"
msgstr "Etichette"
#: models.py:665
#: models.py:681
msgid "Comments"
msgstr "Commenti"
@@ -608,49 +609,49 @@ msgstr "Cancella il tipo di documento"
msgid "Create document types"
msgstr "Crea tipo di documento"
#: statistics.py:40
#: statistics.py:44
#, python-format
msgid "Document types: %d"
msgstr "Tipi di documento: %d "
#: statistics.py:41
#: statistics.py:45
#, python-format
msgid "Documents in database: %d"
msgstr "Documenti nel database:%d"
#: statistics.py:46
#: statistics.py:50
#, python-format
msgid "Documents in storage: %d"
msgstr "Documenti nello storage:%d"
#: statistics.py:48
#: statistics.py:52
#, python-format
msgid ""
"Space used in storage: %(base_2)s (base 2), %(base_10)s (base 10), %(bytes)d"
" bytes"
msgstr "Spazio usato nello storage: %(base_2)s (base 2), %(base_10)s (base 10), %(bytes)d bytes"
#: statistics.py:58
#: statistics.py:63
#, python-format
msgid "Document pages in database: %d"
msgstr "Pagine di documenti nel database:%d"
#: statistics.py:59
#: statistics.py:64
#, python-format
msgid "Minimum amount of pages per document: %(page_count__min)d"
msgstr "Numero minimo di pagine per documento:%(page_count__min)d"
msgid "Minimum amount of pages per document: %d"
msgstr ""
#: statistics.py:60
#: statistics.py:65
#, python-format
msgid "Maximum amount of pages per document: %(page_count__max)d"
msgstr "Numero massimo di pagine per documento:%(page_count__max)d"
msgid "Maximum amount of pages per document: %d"
msgstr ""
#: statistics.py:61
#: statistics.py:66
#, python-format
msgid "Average amount of pages per document: %(page_count__avg)f"
msgstr "Media di pagine per documento:%(page_count__avg)f"
msgid "Average amount of pages per document: %f"
msgstr ""
#: statistics.py:67
#: statistics.py:71
msgid "Document statistics"
msgstr "Statistiche del documento"
@@ -658,6 +659,10 @@ msgstr "Statistiche del documento"
msgid "File mimetype"
msgstr "File mimetype"
#: views.py:133 views.py:134
msgid "None"
msgstr ""
#: views.py:134
msgid "File mime encoding"
msgstr "File mime encoding"
@@ -1044,7 +1049,7 @@ msgstr "step 3 of 3: Metadata del documento"
#: wizards.py:46
msgid "Next step"
msgstr "Next step"
msgstr "Prossimo passo"
#: conf/settings.py:38
msgid ""

View File

@@ -10,9 +10,9 @@ msgid ""
msgstr ""
"Project-Id-Version: Mayan EDMS\n"
"Report-Msgid-Bugs-To: http://github.com/rosarior/mayan/issues\n"
"POT-Creation-Date: 2012-02-12 15:20-0400\n"
"PO-Revision-Date: 2012-02-21 21:09+0000\n"
"Last-Translator: mic <winterfall24@gmail.com>\n"
"POT-Creation-Date: 2012-06-17 18:08-0400\n"
"PO-Revision-Date: 2012-06-17 22:12+0000\n"
"Last-Translator: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>\n"
"Language-Team: Polish (http://www.transifex.net/projects/p/mayan-edms/language/pl/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -24,7 +24,7 @@ msgstr ""
msgid "all documents"
msgstr "wszystkie dokumenty"
#: __init__.py:64 models.py:653 views.py:871
#: __init__.py:64 models.py:669 views.py:871
msgid "recent documents"
msgstr "ostatnie dokumenty"
@@ -203,7 +203,7 @@ msgstr ""
msgid "Documents"
msgstr "Dokumenty"
#: __init__.py:166 __init__.py:179 models.py:90 views.py:79
#: __init__.py:166 __init__.py:179 models.py:91 views.py:79
msgid "documents"
msgstr "dokumenty"
@@ -347,204 +347,204 @@ msgstr "release candidate"
msgid "hotfix"
msgstr "hotfix"
#: models.py:61
#: models.py:62
msgid "name"
msgstr "nazwa"
#: models.py:67 models.py:77 models.py:524 views.py:1068 views.py:1097
#: models.py:68 models.py:78 models.py:543 views.py:1068 views.py:1097
#: views.py:1126 views.py:1131 views.py:1174 views.py:1220 views.py:1254
msgid "document type"
msgstr "typ dokumentu"
#: models.py:68
#: models.py:69
msgid "documents types"
msgstr "typy dokumentów"
#: models.py:78
#: models.py:79
msgid "description"
msgstr "opis"
#: models.py:79
#: models.py:80
msgid "added"
msgstr "dodana"
#: models.py:89 models.py:300 models.py:642 models.py:657 views.py:227
#: models.py:90 models.py:308 models.py:658 models.py:673 views.py:227
#: views.py:351
msgid "document"
msgstr "dokument"
#: models.py:287
#: models.py:295
#, python-format
msgid "Major %(major)i.%(minor)i, (new release)"
msgstr "Major %(major)i.%(minor)i, (new release)"
#: models.py:288
#: models.py:296
#, python-format
msgid "Minor %(major)i.%(minor)i, (some updates)"
msgstr "Minor %(major)i.%(minor)i, (some updates)"
#: models.py:289
#: models.py:297
#, python-format
msgid "Micro %(major)i.%(minor)i.%(micro)i, (fixes)"
msgstr "Micro %(major)i.%(minor)i.%(micro)i, (fixes)"
#: models.py:301
#: models.py:309
msgid "mayor"
msgstr "mayor"
#: models.py:302
#: models.py:310
msgid "minor"
msgstr "minor"
#: models.py:303
#: models.py:311
msgid "micro"
msgstr "micro"
#: models.py:304
#: models.py:312
msgid "release level"
msgstr "release level"
#: models.py:305
#: models.py:313
msgid "serial"
msgstr "serial"
#: models.py:306
#: models.py:314
msgid "timestamp"
msgstr "timestamp"
#: models.py:307 views.py:1357
#: models.py:315 views.py:1357
msgid "comment"
msgstr "komentarz"
#: models.py:310
#: models.py:318
msgid "file"
msgstr "plik"
#: models.py:314
#: models.py:322
msgid "checksum"
msgstr "suma kontrolna"
#: models.py:318 models.py:319 models.py:542
#: models.py:326 models.py:327 models.py:560
msgid "document version"
msgstr "wersja dokumentu"
#: models.py:411
#: models.py:419
msgid ""
"This document's file format is not known, the page count has therefore "
"defaulted to 1."
msgstr ""
#: models.py:525 views.py:1353
#: models.py:544 views.py:1353
msgid "filename"
msgstr "nazwa_pliku"
#: models.py:526 views.py:1181
#: models.py:545 views.py:1181
msgid "enabled"
msgstr "włączony"
#: models.py:533
#: models.py:552
msgid "document type quick rename filename"
msgstr ""
#: models.py:534
#: models.py:553
msgid "document types quick rename filenames"
msgstr ""
#: models.py:545
#: models.py:561
msgid "content"
msgstr "zawartość"
#: models.py:546
#: models.py:562
msgid "page label"
msgstr "etykieta strony"
#: models.py:547
#: models.py:563
msgid "page number"
msgstr "numer strony"
#: models.py:550
#: models.py:566
#, python-format
msgid "Page %(page_num)d out of %(total_pages)d of %(document)s"
msgstr ""
#: models.py:558 models.py:604
#: models.py:574 models.py:620
msgid "document page"
msgstr ""
#: models.py:559
#: models.py:575
msgid "document pages"
msgstr ""
#: models.py:579
#: models.py:595
msgid "Enter a valid value."
msgstr "Wprowadź poprawną wartość."
#: models.py:605 views.py:449
#: models.py:621 views.py:449
msgid "order"
msgstr "kolejność"
#: models.py:606 views.py:450 views.py:511 views.py:542
#: models.py:622 views.py:450 views.py:511 views.py:542
msgid "transformation"
msgstr "transformacja"
#: models.py:607 views.py:451
#: models.py:623 views.py:451
msgid "arguments"
msgstr "argumenty"
#: models.py:607
#: models.py:623
#, python-format
msgid "Use dictionaries to indentify arguments, example: %s"
msgstr ""
#: models.py:615
#: models.py:631
msgid "document page transformation"
msgstr ""
#: models.py:616
#: models.py:632
msgid "document page transformations"
msgstr ""
#: models.py:641
#: models.py:657
msgid "user"
msgstr "użytkownik"
#: models.py:643
#: models.py:659
msgid "accessed"
msgstr "dostępne"
#: models.py:652
#: models.py:668
msgid "recent document"
msgstr "ostatni dokument"
#: models.py:658
#: models.py:674
msgid "Document type"
msgstr "Typ dokumentu"
#: models.py:659
#: models.py:675
msgid "MIME type"
msgstr "typ MIME"
#: models.py:660 views.py:132
#: models.py:676 views.py:132
msgid "Filename"
msgstr "Nazwa pliku"
#: models.py:661
#: models.py:677
msgid "Metadata value"
msgstr ""
#: models.py:662
#: models.py:678
msgid "Content"
msgstr "Zawartość"
#: models.py:663
#: models.py:679
msgid "Description"
msgstr "Opis"
#: models.py:664
#: models.py:680
msgid "Tags"
msgstr "Tagi"
#: models.py:665
#: models.py:681
msgid "Comments"
msgstr "Komentarze"
@@ -608,49 +608,49 @@ msgstr "Usuń typy dokumentów"
msgid "Create document types"
msgstr "Tworzenie typów dokumentu"
#: statistics.py:40
#: statistics.py:44
#, python-format
msgid "Document types: %d"
msgstr ""
#: statistics.py:41
#: statistics.py:45
#, python-format
msgid "Documents in database: %d"
msgstr ""
#: statistics.py:46
#: statistics.py:50
#, python-format
msgid "Documents in storage: %d"
msgstr ""
#: statistics.py:48
#: statistics.py:52
#, python-format
msgid ""
"Space used in storage: %(base_2)s (base 2), %(base_10)s (base 10), %(bytes)d"
" bytes"
msgstr ""
#: statistics.py:58
#: statistics.py:63
#, python-format
msgid "Document pages in database: %d"
msgstr ""
#: statistics.py:59
#: statistics.py:64
#, python-format
msgid "Minimum amount of pages per document: %(page_count__min)d"
msgid "Minimum amount of pages per document: %d"
msgstr ""
#: statistics.py:60
#: statistics.py:65
#, python-format
msgid "Maximum amount of pages per document: %(page_count__max)d"
msgid "Maximum amount of pages per document: %d"
msgstr ""
#: statistics.py:61
#: statistics.py:66
#, python-format
msgid "Average amount of pages per document: %(page_count__avg)f"
msgid "Average amount of pages per document: %f"
msgstr ""
#: statistics.py:67
#: statistics.py:71
msgid "Document statistics"
msgstr ""
@@ -658,6 +658,10 @@ msgstr ""
msgid "File mimetype"
msgstr ""
#: views.py:133 views.py:134
msgid "None"
msgstr ""
#: views.py:134
msgid "File mime encoding"
msgstr ""

View File

@@ -3,14 +3,14 @@
# This file is distributed under the same license as the PACKAGE package.
#
# Translators:
# <dev.emerson@gmail.com>, 2011.
# <dev.emerson@gmail.com>, 2011, 2012.
# Roberto Rosario <roberto.rosario.gonzalez@gmail.com>, 2012.
msgid ""
msgstr ""
"Project-Id-Version: Mayan EDMS\n"
"Report-Msgid-Bugs-To: http://github.com/rosarior/mayan/issues\n"
"POT-Creation-Date: 2012-02-12 15:20-0400\n"
"PO-Revision-Date: 2012-02-21 15:13+0000\n"
"POT-Creation-Date: 2012-06-17 18:08-0400\n"
"PO-Revision-Date: 2012-06-17 22:12+0000\n"
"Last-Translator: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>\n"
"Language-Team: Portuguese (http://www.transifex.net/projects/p/mayan-edms/language/pt/)\n"
"MIME-Version: 1.0\n"
@@ -23,7 +23,7 @@ msgstr ""
msgid "all documents"
msgstr "todos os documentos"
#: __init__.py:64 models.py:653 views.py:871
#: __init__.py:64 models.py:669 views.py:871
msgid "recent documents"
msgstr "documentos recentes"
@@ -75,7 +75,7 @@ msgstr "Pesquisar todas as somas de verificação de documentos e retornar uma l
#: __init__.py:78
msgid "update office documents' page count"
msgstr ""
msgstr "contagem de documentos de atualização do Office 'Página"
#: __init__.py:78
msgid ""
@@ -202,7 +202,7 @@ msgstr "adicionar nome do arquivo para o tipo de documento"
msgid "Documents"
msgstr "Documentos"
#: __init__.py:166 __init__.py:179 models.py:90 views.py:79
#: __init__.py:166 __init__.py:179 models.py:91 views.py:79
msgid "documents"
msgstr "documentos"
@@ -346,204 +346,204 @@ msgstr ""
msgid "hotfix"
msgstr ""
#: models.py:61
#: models.py:62
msgid "name"
msgstr "nome"
#: models.py:67 models.py:77 models.py:524 views.py:1068 views.py:1097
#: models.py:68 models.py:78 models.py:543 views.py:1068 views.py:1097
#: views.py:1126 views.py:1131 views.py:1174 views.py:1220 views.py:1254
msgid "document type"
msgstr "tipo de documento"
#: models.py:68
#: models.py:69
msgid "documents types"
msgstr "tipos de documentos"
#: models.py:78
#: models.py:79
msgid "description"
msgstr "descrição"
#: models.py:79
#: models.py:80
msgid "added"
msgstr "adicionado"
#: models.py:89 models.py:300 models.py:642 models.py:657 views.py:227
#: models.py:90 models.py:308 models.py:658 models.py:673 views.py:227
#: views.py:351
msgid "document"
msgstr "documento"
#: models.py:287
#: models.py:295
#, python-format
msgid "Major %(major)i.%(minor)i, (new release)"
msgstr ""
#: models.py:288
#: models.py:296
#, python-format
msgid "Minor %(major)i.%(minor)i, (some updates)"
msgstr ""
#: models.py:289
#: models.py:297
#, python-format
msgid "Micro %(major)i.%(minor)i.%(micro)i, (fixes)"
msgstr ""
#: models.py:301
#: models.py:309
msgid "mayor"
msgstr ""
#: models.py:302
#: models.py:310
msgid "minor"
msgstr ""
#: models.py:303
#: models.py:311
msgid "micro"
msgstr ""
#: models.py:304
#: models.py:312
msgid "release level"
msgstr ""
#: models.py:305
#: models.py:313
msgid "serial"
msgstr ""
#: models.py:306
#: models.py:314
msgid "timestamp"
msgstr ""
#: models.py:307 views.py:1357
#: models.py:315 views.py:1357
msgid "comment"
msgstr "comentário"
#: models.py:310
#: models.py:318
msgid "file"
msgstr "arquivo"
#: models.py:314
#: models.py:322
msgid "checksum"
msgstr "verificações"
#: models.py:318 models.py:319 models.py:542
#: models.py:326 models.py:327 models.py:560
msgid "document version"
msgstr "versão do documento"
#: models.py:411
#: models.py:419
msgid ""
"This document's file format is not known, the page count has therefore "
"defaulted to 1."
msgstr "Este formato de arquivo não é conhecida, a contagem de página, portanto, tem o padrão 1."
#: models.py:525 views.py:1353
#: models.py:544 views.py:1353
msgid "filename"
msgstr "nome do arquivo"
#: models.py:526 views.py:1181
#: models.py:545 views.py:1181
msgid "enabled"
msgstr "habilitado"
#: models.py:533
#: models.py:552
msgid "document type quick rename filename"
msgstr "tipo de documento renomear rápido"
#: models.py:534
#: models.py:553
msgid "document types quick rename filenames"
msgstr "tipos de documentos renomear rápido"
#: models.py:545
#: models.py:561
msgid "content"
msgstr "conteúdo"
#: models.py:546
#: models.py:562
msgid "page label"
msgstr "etiqueta da página"
#: models.py:547
#: models.py:563
msgid "page number"
msgstr "número da página"
#: models.py:550
#: models.py:566
#, python-format
msgid "Page %(page_num)d out of %(total_pages)d of %(document)s"
msgstr "Pagina %(page_num)d de %(total_pages)d em %(document)s"
#: models.py:558 models.py:604
#: models.py:574 models.py:620
msgid "document page"
msgstr "página do documento"
#: models.py:559
#: models.py:575
msgid "document pages"
msgstr "páginas do documento"
#: models.py:579
#: models.py:595
msgid "Enter a valid value."
msgstr "Digite um valor válido."
#: models.py:605 views.py:449
#: models.py:621 views.py:449
msgid "order"
msgstr "ordem"
#: models.py:606 views.py:450 views.py:511 views.py:542
#: models.py:622 views.py:450 views.py:511 views.py:542
msgid "transformation"
msgstr "transformação"
#: models.py:607 views.py:451
#: models.py:623 views.py:451
msgid "arguments"
msgstr "argumentos"
#: models.py:607
#: models.py:623
#, python-format
msgid "Use dictionaries to indentify arguments, example: %s"
msgstr "Use dicionários para identificar os argumentos, exemplo: %s"
#: models.py:615
#: models.py:631
msgid "document page transformation"
msgstr "página de transformações do documento"
#: models.py:616
#: models.py:632
msgid "document page transformations"
msgstr "Página de transformações de documentos"
#: models.py:641
#: models.py:657
msgid "user"
msgstr "usuário"
#: models.py:643
#: models.py:659
msgid "accessed"
msgstr "acessado"
#: models.py:652
#: models.py:668
msgid "recent document"
msgstr "documento recente"
#: models.py:658
#: models.py:674
msgid "Document type"
msgstr "Tipo de documento"
#: models.py:659
#: models.py:675
msgid "MIME type"
msgstr "Tipo MIME"
#: models.py:660 views.py:132
#: models.py:676 views.py:132
msgid "Filename"
msgstr "Nome do arquivo"
#: models.py:661
#: models.py:677
msgid "Metadata value"
msgstr "Valor de metadados"
#: models.py:662
#: models.py:678
msgid "Content"
msgstr "Conteúdo"
#: models.py:663
#: models.py:679
msgid "Description"
msgstr "Descrição"
#: models.py:664
#: models.py:680
msgid "Tags"
msgstr "Tags"
#: models.py:665
#: models.py:681
msgid "Comments"
msgstr "Comentários"
@@ -607,49 +607,49 @@ msgstr "Excluir tipos de documentos"
msgid "Create document types"
msgstr "Criar tipos de documentos"
#: statistics.py:40
#: statistics.py:44
#, python-format
msgid "Document types: %d"
msgstr "Tipos de documentos: %d"
#: statistics.py:41
#: statistics.py:45
#, python-format
msgid "Documents in database: %d"
msgstr "Documentos no banco de dados: %d"
#: statistics.py:46
#: statistics.py:50
#, python-format
msgid "Documents in storage: %d"
msgstr "Documentos no armazenamento: %d"
#: statistics.py:48
#: statistics.py:52
#, python-format
msgid ""
"Space used in storage: %(base_2)s (base 2), %(base_10)s (base 10), %(bytes)d"
" bytes"
msgstr "Espaço usado no armazenamento: %(base_2)s (base 2), %(base_10)s (base 10), %(bytes)d bytes"
#: statistics.py:58
#: statistics.py:63
#, python-format
msgid "Document pages in database: %d"
msgstr "Páginas do documento no banco de dados: %d"
#: statistics.py:59
#: statistics.py:64
#, python-format
msgid "Minimum amount of pages per document: %(page_count__min)d"
msgstr "Quantidade mínima de páginas por documento: %(page_count__min)d"
msgid "Minimum amount of pages per document: %d"
msgstr ""
#: statistics.py:60
#: statistics.py:65
#, python-format
msgid "Maximum amount of pages per document: %(page_count__max)d"
msgstr "Quantidade máxima de páginas por documento: %(page_count__max)d"
msgid "Maximum amount of pages per document: %d"
msgstr ""
#: statistics.py:61
#: statistics.py:66
#, python-format
msgid "Average amount of pages per document: %(page_count__avg)f"
msgstr "Quantidade média de páginas por documento: %(page_count__avg)f"
msgid "Average amount of pages per document: %f"
msgstr ""
#: statistics.py:67
#: statistics.py:71
msgid "Document statistics"
msgstr "Estatísticas do documento"
@@ -657,6 +657,10 @@ msgstr "Estatísticas do documento"
msgid "File mimetype"
msgstr "Mimetype do arquivo"
#: views.py:133 views.py:134
msgid "None"
msgstr ""
#: views.py:134
msgid "File mime encoding"
msgstr "Codificação MIME do arquivo"

File diff suppressed because it is too large Load Diff

View File

@@ -38,6 +38,7 @@ from .managers import DocumentPageTransformationManager
from .utils import document_save_to_temp_dir
from .literals import (RELEASE_LEVEL_FINAL, RELEASE_LEVEL_CHOICES,
VERSION_UPDATE_MAJOR, VERSION_UPDATE_MINOR, VERSION_UPDATE_MICRO)
from .exceptions import NewDocumentVersionNotAllowed
# document image cache name hash function
HASH_FUNCTION = lambda x: hashlib.sha256(x).hexdigest()
@@ -171,8 +172,11 @@ class Document(models.Model):
def size(self):
return self.latest_version.size
def new_version(self, file, comment=None, version_update=None, release_level=None, serial=None):
def new_version(self, file, user=None, comment=None, version_update=None, release_level=None, serial=None):
logger.debug('creating new document version')
if not self.is_new_versions_allowed(user=user):
raise NewDocumentVersionNotAllowed
if version_update:
new_version_dict = self.latest_version.get_new_version_dict(version_update)
logger.debug('new_version_dict: %s' % new_version_dict)
@@ -538,8 +542,14 @@ class DocumentVersion(models.Model):
return None
def rename(self, new_name):
new_filename, new_extension = os.path.splitext(new_name)
name, extension = os.path.splitext(self.filename)
self.filename = u''.join([new_name, extension])
# Preserve existing extension if new name doesn't has one
if new_extension:
extension = new_extension
self.filename = u''.join([new_filename, extension])
self.save()
@property

View File

@@ -43,7 +43,7 @@ from .permissions import (PERMISSION_DOCUMENT_CREATE,
PERMISSION_DOCUMENT_EDIT, PERMISSION_DOCUMENT_VERSION_REVERT,
PERMISSION_DOCUMENT_TYPE_EDIT, PERMISSION_DOCUMENT_TYPE_DELETE,
PERMISSION_DOCUMENT_TYPE_CREATE, PERMISSION_DOCUMENT_TYPE_VIEW)
from .literals import (HISTORY_DOCUMENT_CREATED,
from .events import (HISTORY_DOCUMENT_CREATED,
HISTORY_DOCUMENT_EDITED, HISTORY_DOCUMENT_DELETED)
from .forms import (DocumentTypeSelectForm,
DocumentForm_edit, DocumentPropertiesForm,
@@ -358,8 +358,8 @@ def document_download(request, document_id=None, document_id_list=None, document
return serve_file(
request,
compressed_file.as_file('document_bundle.zip'),
save_as=u'"document_bundle.zip"',
compressed_file.as_file(form.cleaned_data['zip_filename']),
save_as=u'"%s"' % form.cleaned_data['zip_filename'],
content_type='application/zip'
)
# TODO: DO a redirection afterwards
@@ -397,6 +397,7 @@ def document_download(request, document_id=None, document_id_list=None, document
'submit_label': _(u'Download'),
'previous': previous,
'cancel_label': _(u'Return'),
'disable_auto_focus': True,
}
if len(document_versions) == 1: