diff options
| -rw-r--r-- | pysite/views/wiki/edit.py | 5 | ||||
| -rw-r--r-- | templates/wiki/page_edit.html | 9 | 
2 files changed, 13 insertions, 1 deletions
| diff --git a/pysite/views/wiki/edit.py b/pysite/views/wiki/edit.py index a2e98e20..0d70fed5 100644 --- a/pysite/views/wiki/edit.py +++ b/pysite/views/wiki/edit.py @@ -1,5 +1,6 @@  # coding=utf-8  from flask import request, url_for +from werkzeug.exceptions import BadRequest  from werkzeug.utils import redirect  from pysite.base_route import RouteView @@ -35,6 +36,10 @@ class EditView(RouteView, DBMixin):      @csrf      def post(self, page):          rst = request.form["rst"] + +        if not rst.strip(): +            raise BadRequest() +          rendered = render(rst)          obj = { diff --git a/templates/wiki/page_edit.html b/templates/wiki/page_edit.html index b797577d..b59a8912 100644 --- a/templates/wiki/page_edit.html +++ b/templates/wiki/page_edit.html @@ -14,7 +14,7 @@              <button class="uk-button uk-button-secondary" type="button" value="Preview" id="preview">Preview</button>          </div>          <div class="uk-width-auto"> -            <input class="uk-button uk-button-primary" type="submit" id="submit" value="Save" /> +            <input class="uk-button uk-button-primary" type="submit" id="submit" value="Save" disabled />          </div>          <div class="uk-width-1-1">              <div id="editor" class="uk-textarea" style="resize: vertical; min-height: 15rem;">{{ rst }}</div> @@ -61,6 +61,13 @@                  }              }); +            let data = editor.getValue(); + +            if (data.replace("\s", "").length < 1) { +                document.getElementById("submit").disabled = true; +                return false; +            } +              oReq.open("POST", "/render");              oReq.setRequestHeader("Content-type", "application/json"); | 
