summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorromangraef <roman.graef@gmail.com>2018-06-02 10:45:15 +0200
committerromangraef <roman.graef@gmail.com>2018-06-02 10:45:15 +0200
commit2f9e9884c6b227777780d34b4657c6464dbe4571 (patch)
treecd9597171dd4338fc5c79dc78d69e016a18f8c7c
parent3dc96e8b31eeef876c89aadf26dbf1e5d3355e7f (diff)
downloadmy-website-2f9e9884c6b227777780d34b4657c6464dbe4571.tar.gz
my-website-2f9e9884c6b227777780d34b4657c6464dbe4571.tar.bz2
my-website-2f9e9884c6b227777780d34b4657c6464dbe4571.zip
feature post editingHEADmaster
-rw-r--r--app.py12
-rw-r--r--static/edit.js3
-rw-r--r--templates/project_fields.html5
3 files changed, 16 insertions, 4 deletions
diff --git a/app.py b/app.py
index 5b0ba5e..32bff4c 100644
--- a/app.py
+++ b/app.py
@@ -20,10 +20,13 @@ class Project(JsonSerializable):
link: str
summary: str
id: str
+ featured: bool
- def __init__(self, *, name: str = '', description: str = '', link: str = '', summary: str = '', id: str = ''):
+ def __init__(self, *, name: str = '', description: str = '', link: str = '', summary: str = '', id: str = '',
+ featured: bool = False):
self.name = name
self.id = id
+ self.featured = featured
self.summary = summary
self.liink = link
self.description = description
@@ -104,13 +107,14 @@ def new_project():
summary = request.form.get('summary')
description = request.form.get('description')
link = request.form.get('link')
+ featured = request.form.get('featured') == 'on'
db.insert({
'name': name,
'id': post_id,
'summary': summary,
'description': description,
'link': link,
- 'featured': 0,
+ 'featured': featured,
})
return redirect(url_for('projects', project_name=post_id))
@@ -129,10 +133,12 @@ def edit_project_data(project_name):
description = request.form.get('description')
link = request.form.get('link')
name = request.form.get('name')
+ featured = request.form.get('featured') == 'true'
project['name'] = name
project['link'] = link
project['description'] = description
project['summary'] = summary
+ project['featured'] = featured
db.write_back([project])
return jsonify({})
@@ -158,7 +164,7 @@ def delete_project_confirm(project_name):
@app.route('/')
def index():
- return render_template('index.html', projects=from_json(db.search(Query().featured == 1), List[Project]))
+ return render_template('index.html', projects=from_json(db.search(Query().featured == True), List[Project]))
app.secret_key = os.environ.get('app_secret', '')
diff --git a/static/edit.js b/static/edit.js
index 41a82ca..93fb743 100644
--- a/static/edit.js
+++ b/static/edit.js
@@ -2,12 +2,13 @@ function save_changes() {
let summary = $("#summary").val();
let description = $("#description").val();
let link = $("#link").val();
+ let featured = $("#featured").is(':checked');
let name = $("#name").val();
$.ajax({
url: '.',
type: 'POST',
data: {
- summary, description, link, name
+ summary, description, link, name, featured
},
}).done(function () {
let el = document.createElement("p");
diff --git a/templates/project_fields.html b/templates/project_fields.html
index c128fd5..45db894 100644
--- a/templates/project_fields.html
+++ b/templates/project_fields.html
@@ -19,3 +19,8 @@
<p>
<label for="link">Link</label><input name="link" id="link" value="{{ project.link }}">
</p>
+<p>
+ <label for="featured">Featured</label><input name="featured" id="featured" type="checkbox"
+ {% if project.featured %}checked="checked"{% endif %}>
+</p>
+