Fix PDF clearing bug

This commit is contained in:
richard-dds
2018-11-09 14:37:39 -05:00
parent a4074000e9
commit de0e9ee705
7 changed files with 236 additions and 7 deletions

View File

@@ -4,6 +4,7 @@ from wtforms.fields.html5 import DateField, EmailField
from wtforms.fields import StringField, FileField, FormField
from wtforms.validators import InputRequired, Email, Regexp, Optional
from flask_wtf.file import FileAllowed
from werkzeug.datastructures import FileStorage
from .fields import NewlineListField, SelectField, NumberStringField
from atst.forms.forms import ValidatedForm
@@ -237,6 +238,10 @@ class FinancialVerificationForm(ValidatedForm):
def task_order_number(self):
return self.task_order.number
@property
def has_task_order_pdf(self):
return isinstance(self.task_order.pdf.data, FileStorage)
@property
def is_missing_task_order_number(self):
return "number" in self.errors.get("task_order", {})

View File

@@ -65,7 +65,7 @@ class Attachment(Base, mixins.TimestampsMixin):
return (
db.session.query(Attachment)
.filter_by(resource=resource, resource_id=resource_id)
.delete()
.update({"resource_id": None})
)
except NoResultFound:
raise NotFoundError("attachment")

View File

@@ -31,11 +31,12 @@ class FinancialVerificationBase(object):
fv = FinancialVerification(request)
form = FinancialVerificationForm(obj=fv, formdata=_formdata)
try:
attachment = Attachment.get_for_resource("task_order", self.request.id)
form.task_order.pdf.data = attachment.filename
except NotFoundError:
pass
if not form.has_task_order_pdf:
try:
attachment = Attachment.get_for_resource("task_order", self.request.id)
form.task_order.pdf.data = attachment.filename
except NotFoundError:
pass
return form