40 lines
1.4 KiB
Python
40 lines
1.4 KiB
Python
from django import forms
|
|
from django.utils.translation import ugettext_lazy as _
|
|
from django.utils.translation import ugettext
|
|
from django.core.urlresolvers import reverse
|
|
from django.utils.safestring import mark_safe
|
|
from django.conf import settings
|
|
|
|
from common.forms import DetailForm
|
|
from common.literals import PAGE_SIZE_CHOICES, PAGE_ORIENTATION_CHOICES
|
|
from common.conf.settings import DEFAULT_PAPER_SIZE
|
|
from common.conf.settings import DEFAULT_PAGE_ORIENTATION
|
|
|
|
from documents.forms import DocumentForm
|
|
|
|
|
|
class StagingDocumentForm(DocumentForm):
|
|
"""
|
|
Form that show all the files in the staging folder specified by the
|
|
StagingFile class passed as 'cls' argument
|
|
"""
|
|
def __init__(self, *args, **kwargs):
|
|
cls = kwargs.pop('cls')
|
|
super(StagingDocumentForm, self).__init__(*args, **kwargs)
|
|
try:
|
|
self.fields['staging_file_id'].choices = [
|
|
(staging_file.id, staging_file) for staging_file in cls.get_all()
|
|
]
|
|
except:
|
|
pass
|
|
|
|
# Put staging_list field first in the field order list
|
|
staging_list_index = self.fields.keyOrder.index('staging_file_id')
|
|
staging_list = self.fields.keyOrder.pop(staging_list_index)
|
|
self.fields.keyOrder.insert(0, staging_list)
|
|
|
|
staging_file_id = forms.ChoiceField(label=_(u'Staging file'))
|
|
|
|
class Meta(DocumentForm.Meta):
|
|
exclude = ('description', 'file', 'document_type', 'tags')
|