diff --git a/mayan/apps/appearance/templates/appearance/forms/widgets/textareadiv.html b/mayan/apps/appearance/templates/appearance/forms/widgets/textareadiv.html index fa5afb719e..0886f0c8ca 100644 --- a/mayan/apps/appearance/templates/appearance/forms/widgets/textareadiv.html +++ b/mayan/apps/appearance/templates/appearance/forms/widgets/textareadiv.html @@ -1,3 +1,2 @@ -
+
{% if widget.value %}{{ widget.value }}{% endif %}
-
diff --git a/mayan/apps/common/forms.py b/mayan/apps/common/forms.py
index 6b0efaf12e..03f5d7f171 100644
--- a/mayan/apps/common/forms.py
+++ b/mayan/apps/common/forms.py
@@ -12,7 +12,7 @@ from django.utils.translation import ugettext_lazy as _
from .classes import Package
from .models import UserLocaleProfile
from .utils import return_attrib
-from .widgets import DisableableSelectWidget, PlainWidget
+from .widgets import DisableableSelectWidget, PlainWidget, TextAreaDiv
class ChoiceForm(forms.Form):
@@ -104,21 +104,24 @@ class DynamicModelForm(DynamicFormMixin, forms.ModelForm):
class FileDisplayForm(forms.Form):
+ DIRECTORY = None
+ FILENAME = None
+
text = forms.CharField(
label='',
- widget=forms.widgets.Textarea(
- attrs={'cols': 40, 'rows': 20, 'readonly': 'readonly'}
+ widget=TextAreaDiv(
+ attrs={'class': 'full-height scrollable', 'data-height-difference': 270}
)
)
def __init__(self, *args, **kwargs):
super(FileDisplayForm, self).__init__(*args, **kwargs)
- changelog_path = os.path.join(
- settings.BASE_DIR, os.sep.join(self.DIRECTORY), self.FILENAME
- )
- fd = open(changelog_path)
- self.fields['text'].initial = fd.read()
- fd.close()
+ if self.DIRECTORY or self.FILENAME:
+ file_path = os.path.join(
+ settings.BASE_DIR, os.sep.join(self.DIRECTORY), self.FILENAME
+ )
+ with open(file_path) as file_object:
+ self.fields['text'].initial = file_object.read()
class LicenseForm(FileDisplayForm):
@@ -150,14 +153,7 @@ class LocaleProfileForm_view(DetailForm):
model = UserLocaleProfile
-class PackagesLicensesForm(forms.Form):
- text = forms.CharField(
- label='',
- widget=forms.widgets.Textarea(
- attrs={'cols': 40, 'rows': 20, 'readonly': 'readonly'}
- )
- )
-
+class PackagesLicensesForm(FileDisplayForm):
def __init__(self, *args, **kwargs):
super(PackagesLicensesForm, self).__init__(*args, **kwargs)
self.fields['text'].initial = '\n\n'.join(