From b3aef0910d7a5a863c46208cb050e07d1300914d Mon Sep 17 00:00:00 2001 From: Olexandr Date: Thu, 13 Aug 2015 17:15:23 +0300 Subject: [PATCH] removed EditImageForm, it can be created via upload_image_form_factory --- project/admin/forms.py | 42 +++++++++--------------------------------- project/admin/utils.py | 20 ++++++++++++++------ project/admin/views.py | 1 - 3 files changed, 23 insertions(+), 40 deletions(-) diff --git a/project/admin/forms.py b/project/admin/forms.py index 50483c4..a75ba72 100644 --- a/project/admin/forms.py +++ b/project/admin/forms.py @@ -88,7 +88,7 @@ class MailTemplateForm(Form): html = TextAreaField('Текст письма', validators=[DataRequired()]) -def image_upload_form_factory(config): +def image_upload_form_factory(config, is_update=False): assert config is not None # cause config=None can be passed class ImageUploadForm(Form): @@ -110,36 +110,12 @@ class ImageUploadForm(Form): ) ], ) - image = FileField( - label='Картинка', - validators=[ - AllowedMime(config['IMG_MIMES']), - DataRequired(), - ] - ) - return ImageUploadForm - - -class EditImageForm(Form): - title = StringField( - label='Название', - validators=[ - Length( - max=32, - message='Must not exceed 32 symbols', + if not is_update: + image = FileField( + label='Картинка', + validators=[ + AllowedMime(config['IMG_MIMES']), + DataRequired(), + ] ) - ], - ) - description = TextAreaField( - label='Описание (замещающий текст)', - validators=[ - Length( - max=128, - message='Must not exceed 128 symbols', - ) - ], - ) - delete = BooleanField( - label='Удалить', - description='Эта картинка будет удалена навсегда (очень надолго!)', - ) + return ImageUploadForm diff --git a/project/admin/utils.py b/project/admin/utils.py index 5f36d23..3d791c9 100644 --- a/project/admin/utils.py +++ b/project/admin/utils.py @@ -95,14 +95,18 @@ def get(self, entry_id): entry = None if entry_id is None: # Add a new entry - clazz = self.create_form(config=current_app.config) - entry_form = clazz() + form_class = self.create_form(config=current_app.config) + entry_form = form_class() else: # Update an old entry entry = self.model.bl.get(entry_id) if entry is None: abort(404) - entry_form = self.update_form(obj=entry) + form_class = self.update_form( + config=current_app.config, + is_update=True, + ) + entry_form = form_class(obj=entry) return self.render_response( entry_form=entry_form, @@ -112,8 +116,8 @@ def get(self, entry_id): def post(self, entry_id): if entry_id is None: # Add a new entry - clazz = self.create_form(config=current_app.config) - form = clazz() + form_class = self.create_form(config=current_app.config) + form = form_class() if form.validate_on_submit(): image = request.files['image'] self.model.bl.save_image( @@ -127,7 +131,11 @@ def post(self, entry_id): else: # Update an old entry instance = self.model.bl.get(entry_id) - form = self.update_form(obj=instance) + form_class = self.update_form( + config=current_app.config, + is_update=True, + ) + form = form_class(obj=instance) if form.validate_on_submit(): if 'delete' in form.data: instance.bl.delete() diff --git a/project/admin/views.py b/project/admin/views.py index 93e9804..27f2bef 100644 --- a/project/admin/views.py +++ b/project/admin/views.py @@ -244,7 +244,6 @@ def register_section(*, section_name, list_endpoint, gallery_image_detail = GalleryImageDetail.as_view( name='gallery_image_detail', create_form=forms.image_upload_form_factory, - update_form=forms.EditImageForm, model=models.UploadedImage, success_url='gallery_images_list', template='admin/image_upload.html',