I uploaded a zip-file where the paper was in a folder. I got the error:
“Missing main.tex. Your zip file should contain main.tex at the top level.”
It would be nice to show a button to resubmit at this point.
This is part of a much larger issue on how we maintain state on URLs for the submit form, which is accumulating a lot of URL parameters. When a user is directed to the submit form, the form can supply various things:
venue
LaTeX cls (which has dependencies on venue)
TeX engine that was selected (which has dependencies on LaTeX cls)
paperid
submitted
accepted
token for authentication from external source
email of corresponding author
In flask we can provide these through URL parameters with url_for, and we can use the flash() method to add a message to the state for when something doesn't validate. One question is whether we should be using WTF forms as we did in forms.py for the authentication forms. This would automatically add CSRF protection, but the question is whether it's worth dedicating the entire site to this framework. Validation of the submit form is a bit complicated in routes.py::submitform().
I now consider this closed, since I switched to using flask-wtf for the submit form by adding SubmitForm to forms.py. The authentication had a few bugs that I think are now fixed.
This is motivated by feedback from Joppe:
This is part of a much larger issue on how we maintain state on URLs for the submit form, which is accumulating a lot of URL parameters. When a user is directed to the submit form, the form can supply various things:
In flask we can provide these through URL parameters with
url_for
, and we can use theflash()
method to add a message to the state for when something doesn't validate. One question is whether we should be using WTF forms as we did in forms.py for the authentication forms. This would automatically add CSRF protection, but the question is whether it's worth dedicating the entire site to this framework. Validation of the submit form is a bit complicated inroutes.py::submitform()
.