# HG changeset patch # User Ludovic Chabant # Date 1455002919 28800 # Node ID 14c51f5accc941914a5e8af3cfac312d16a2ae4b # Parent 6c205066067a3c323ea0a9356e9a8b542920b87f admin: Fix crashes when creating a new page. * Use proper default values when the user doesn't provide any. * Make sure the new page's directory exists. diff -r 6c205066067a -r 14c51f5accc9 foodtruck/templates/create_page.html --- a/foodtruck/templates/create_page.html Mon Feb 08 23:27:41 2016 -0800 +++ b/foodtruck/templates/create_page.html Mon Feb 08 23:28:39 2016 -0800 @@ -10,7 +10,7 @@
{{field.display_name}} - +
diff -r 6c205066067a -r 14c51f5accc9 foodtruck/views/create.py --- a/foodtruck/views/create.py Mon Feb 08 23:27:41 2016 -0800 +++ b/foodtruck/views/create.py Mon Feb 08 23:28:39 2016 -0800 @@ -1,3 +1,4 @@ +import os import os.path import logging from flask import ( @@ -26,6 +27,8 @@ if request.method == 'POST': if 'do_save' in request.form: metadata = {} + for f in source.getInteractiveFields(): + metadata[f.name] = f.default_value for fk, fv in request.form.items(): if fk.startswith('meta-'): metadata[fk[5:]] = fv @@ -37,6 +40,7 @@ abort(500) logger.debug("Creating page: %s" % fac.path) + os.makedirs(os.path.dirname(fac.path), exist_ok=True) with open(fac.path, 'w', encoding='utf8') as fp: fp.write('') flash("%s was created." % os.path.relpath(fac.path, site.root_dir))