This commit is contained in:
Roberto Rosario
2011-02-10 16:31:10 -04:00
parent ce12e68c08
commit 50ae43537c
17 changed files with 52 additions and 69 deletions
+6
View File
@@ -18,27 +18,33 @@ default_available_models = {
# Definition
AVAILABLE_FUNCTIONS = getattr(settings, 'DOCUMENTS_METADATA_AVAILABLE_FUNCTIONS', default_available_functions)
AVAILABLE_MODELS = getattr(settings, 'DOCUMENTS_METADATA_AVAILABLE_MODELS', default_available_models)
# Upload
USE_STAGING_DIRECTORY = getattr(settings, 'DOCUMENTS_USE_STAGING_DIRECTORY', False)
STAGING_DIRECTORY = getattr(settings, 'DOCUMENTS_STAGING_DIRECTORY', u'/tmp/mayan/staging')
DELETE_STAGING_FILE_AFTER_UPLOAD = getattr(settings, 'DOCUMENTS_DELETE_STAGING_FILE_AFTER_UPLOAD', False)
STAGING_FILES_PREVIEW_SIZE = getattr(settings, 'DOCUMENTS_STAGING_FILES_PREVIEW_SIZE', '640x480')
DELETE_LOCAL_ORIGINAL = getattr(settings, 'DOCUMENTS_DELETE_LOCAL_ORIGINAL', False)
# Saving
CHECKSUM_FUNCTION = getattr(settings, 'DOCUMENTS_CHECKSUM_FUNCTION', lambda x: hashlib.sha256(x).hexdigest())
UUID_FUNCTION = getattr(settings, 'DOCUMENTS_UUID_FUNCTION', lambda:unicode(uuid.uuid4()))
# Storage
STORAGE_BACKEND = getattr(settings, 'DOCUMENTS_STORAGE_BACKEND', DocumentStorage)
STORAGE_DIRECTORY_NAME = getattr(settings, 'DOCUMENTS_STORAGE_DIRECTORY_NAME', 'documents')
# Usage
PREVIEW_SIZE = getattr(settings, 'DOCUMENTS_PREVIEW_SIZE', '640x480')
THUMBNAIL_SIZE = getattr(settings, 'DOCUMENTS_THUMBNAIL_SIZE', '50x50')
DISPLAY_SIZE = getattr(settings, 'DOCUMENTS_DISPLAY_SIZE', '1024x768')
# Serving
FILESYSTEM_FILESERVING_ENABLE = getattr(settings, 'DOCUMENTS_FILESYSTEM_FILESERVING_ENABLE', True)
FILESYSTEM_FILESERVING_PATH = getattr(settings, 'DOCUMENTS_FILESYSTEM_FILESERVING_PATH', u'/tmp/mayan/documents')
FILESYSTEM_SLUGIFY_PATHS = getattr(settings, 'DOCUMENTS_SLUGIFY_PATHS', False)
FILESYSTEM_MAX_RENAME_COUNT = getattr(settings, 'DOCUMENTS_FILESYSTEM_MAX_RENAME_COUNT', 200)
#misc
TEMPORARY_DIRECTORY = getattr(settings, 'DOCUMENTS_TEMPORARY_DIRECTORY', u'/tmp')
+4 -20
View File
@@ -21,22 +21,9 @@ from documents.conf.settings import AVAILABLE_MODELS
class ImageWidget(forms.widgets.Widget):
def render(self, name, value, attrs=None):
output = []
#img = lambda x: '<a class="fancybox" href="%s"><img src="%s" /></a>' % (reverse('document_preview', args=[x.id]),
# reverse('document_thumbnail', args=[x.id]))
output.append('<a class="fancybox-noscaling" href="%s"><img width="300" src="%s" /></a>' % (reverse('document_display', args=[value.id]),
reverse('document_preview', args=[value.id])))
output.append('<br /><span class="famfam active famfam-magnifier"></span>%s' % ugettext(u'Click on the image for full size view'))
#file_name = str(value)
#if file_name:
# file_path = '%s%s' % (settings.MEDIA_URL, file_name)
# try: # is image
# Image.open(os.path.join(settings.MEDIA_ROOT, file_name))
# output.append('<a target="_blank" href="%s">%s</a><br />%s <a target="_blank" href="%s">%s</a><br />%s ' % \
# (file_path, thumbnail(file_name), _('Currently:'), file_path, file_name, _('Change:')))
# except IOError: # not image
# output.append('%s <a target="_blank" href="%s">%s</a> <br />%s ' % \
# (_('Currently:'), file_path, file_name, _('Change:')))
#
#output.append(super(ImageWidget, self).render(name, value, attrs))
return mark_safe(u''.join(output))
@@ -61,15 +48,14 @@ class DocumentForm(forms.ModelForm):
model = Document
exclude = ('description',)
class DocumentPreviewForm(forms.Form):
def __init__(self, *args, **kwargs):
self.document = kwargs.pop('document', None)
super(DocumentPreviewForm, self).__init__(*args, **kwargs)
self.fields['preview'].initial = self.document#reverse('document_preview', args=[self.document.id])
self.fields['preview'].initial = self.document
preview = forms.CharField(widget=ImageWidget)
#ImageWidget
class DocumentForm_view(DetailForm):
@@ -118,8 +104,7 @@ class MetadataForm(forms.Form):
if 'initial' in kwargs:
self.metadata_type = kwargs['initial'].pop('metadata_type', None)
self.document_type = kwargs['initial'].pop('document_type', None)
#self.metadata_options = kwargs['initial'].pop('metadata_options', None)
required=self.document_type.documenttypemetadatatype_set.get(metadata_type=self.metadata_type).required
required_string = u''
if required:
@@ -178,7 +163,6 @@ class DocumentCreateWizard(BoundFormWizard):
initial.append({
'metadata_type':item.metadata_type,
'document_type':self.document_type,
#'metadata_options':item,
})
self.initial = {1:initial}
if step == 1:
+2 -1
View File
@@ -4,7 +4,8 @@ import hashlib
from django.conf import settings
from django.core.exceptions import ObjectDoesNotExist
from django.core.files.uploadedfile import InMemoryUploadedFile, SimpleUploadedFile
from django.core.files.uploadedfile import InMemoryUploadedFile, \
SimpleUploadedFile
from django.utils.translation import ugettext
-2
View File
@@ -23,6 +23,4 @@ urlpatterns = patterns('documents.views',
url(r'^document/(?P<document_id>\d+)/create/siblings/$', 'document_create_sibling', {'multiple':True}, 'document_create_sibling'),
url(r'^staging_file/(?P<staging_file_id>\w+)/preview/$', 'staging_file_preview', (), 'staging_file_preview'),
)
+8 -21
View File
@@ -93,7 +93,6 @@ def _save_metadata_list(metadata_list, document):
def _save_metadata(metadata_dict, document):
#Use matched metadata now to create document metadata
#for key, value in zip(metadata_dict['id'].values(), metadata_dict['value'].values()):
document_metadata, created = DocumentMetadata.objects.get_or_create(
document=document,
metadata_type=get_object_or_404(MetadataType, pk=metadata_dict['id']),
@@ -236,16 +235,16 @@ def document_view(request, document_id):
preview_form = DocumentPreviewForm(document=document)
form_list = [
{
'form':form,
'object':document,
'grid':6,
'form':form,
'object':document,
'grid':6,
},
{
'form':preview_form,
'title':_(u'document preview'),
'object':document,
'grid':6,
'grid_clear':True,
'form':preview_form,
'title':_(u'document preview'),
'object':document,
'grid':6,
'grid_clear':True,
},
]
subtemplates_dict = [
@@ -348,8 +347,6 @@ def document_edit_metadata(request, document_id):
formset = MetadataFormSet(request.POST)
if formset.is_valid():
_save_metadata_list(formset.cleaned_data, document)
#for item in formset.cleaned_data:
# _save_metadata(item, document)
try:
document.delete_fs_links()
except Exception, e:
@@ -395,17 +392,7 @@ def get_document_image(request, document_id, size=PREVIEW_SIZE):
return serve_file(request, File(file=open('%simages/picture_error.png' % settings.MEDIA_ROOT, 'r')))
else:
return serve_file(request, File(file=open('%simages/1297211435_error.png' % settings.MEDIA_ROOT, 'r')))
#messages.error(request, e)
#return HttpResponse(e)
#def document_thumbnail(request, document_id):
# return get_document_image(request, document_id, THUMBNAIL_SIZE)
#def document_preview(request, document_id):
# return get_document_image(request, document_id, PREVIEW_SIZE)
def document_download(request, document_id):
document = get_object_or_404(Document, pk=document_id)