blog posts can be edited from the main feed or individual member pages

This commit is contained in:
cube
2026-03-20 20:53:53 +00:00
parent 26db9d4e36
commit 49828a93ff
5 changed files with 91 additions and 43 deletions

View File

@@ -72,4 +72,27 @@ def toggle(pid, location):
if location == "blog":
return redirect(url_for("blog.blog"))
else:
return redirect(url_for("home.page", mid=location))
return redirect(url_for("home.page", mid=location))
@bp.route("/edit/<pid>/<location>", methods=('GET', 'POST'))
@login_required
def edit(pid,location):
db = get_db()
post = db.execute("SELECT * FROM blog WHERE id=(?)",(pid,)).fetchone()
members = db.execute("SELECT id,member_name FROM member").fetchall()
if request.method == 'POST':
title = request.form['title']
content = request.form['content']
mid = request.form["mid"]
privacy = request.form["privacy"]
db.execute("UPDATE blog SET title=(?), content=(?), member_id=(?), public=(?) WHERE id=(?)",(title, content, mid, privacy, pid))
db.commit()
if location == "blog":
return redirect(url_for("blog.blog"))
else:
return redirect(url_for("home.page", mid=location))
return render_template('blog/edit.html', post=post, members=members)

View File

@@ -24,7 +24,7 @@
</div>
<br class="clear" />
{% if g.user %}
{% if post[5]==0 %}<b style="color:red;">Private</b>{% else %}<b style="color:green;">Public</b>{% endif %} | <a href="{{url_for('blog.toggle',pid=post[0], location='blog')}}">Toggle privacy</a> | <a href="{{url_for('blog.delete', pid=post[0], location='blog')}}" class="danger">Delete post</a>
{% if post[5]==0 %}<b style="color:red;">Private</b>{% else %}<b style="color:green;">Public</b>{% endif %} | <a href="{{url_for('blog.toggle',pid=post[0], location='blog')}}">Toggle privacy</a> | <a href="{{url_for('blog.edit',pid=post[0],location='blog')}}">Edit Post</a> | <a href="{{url_for('blog.delete', pid=post[0], location='blog')}}" class="danger">Delete post</a>
{% endif %}
</div>
{% endif %}

View File

@@ -0,0 +1,27 @@
{% extends 'base.html' %}
{% block header %}
<div class="title">{% block title %}Edit Blog Post{% endblock %}</div>
{% endblock %}
{% block content %}
<form method="post">
<label for="title">Title</label>
<input name="title" id="title" value="{{post[3]}}"><br>
<label for="content">Content</label>
<textarea name="content" id="content">{{post[4]}}</textarea><br>
<label for="mid">Choose a member:</label>
<select name="mid" id="mid">
{% for member in members %}
<option value="{{member[0]}}" {% if member[0]==post[1] %}selected{% endif %}>{{member[1]}}</option>
{% endfor %}
</select>
<br>
<input type="radio" id="public" name="privacy" value=1 {% if post[5]==1 %}checked{% endif %}>
<label for="public">Public</label><br>
<input type="radio" id="private" name="privacy" value=0 {% if post[5]==0 %}checked{% endif %}>
<label for="private">Private</label><br>
<input type="submit" value="Submit">
</form>
{% endblock %}

View File

@@ -7,46 +7,42 @@
<style>
body{
background: {{member[17]}};
background: linear-gradient(90deg, {{member[17]}} 0%, {{member[18]}} 50%, {{member[19]}} 100%);
scrollbar-color:{{member[12]}} {{member[11]}};
}
.container{
background-color:{{member[10]}};
border-color:{{member[9]}};
}
.heading{
background-color:{{member[11]}};
border-color:{{member[12]}};
color:{{member[14]}};
}
.icon{
border-color:{{member[16]}};
}
.bio{
color:{{member[15]}};
}
.heading b
{
color:{{member[13]}};
}
a{
color: {{member[21]}};
}
a:hover{
color: {{member[22]}};
}
::selection {
background: {{member[12]}};
color: white;
text-shadow: none;
}
::-moz-selection {
background: {{member[12]}};
color: #EEE;
text-shadow: none;
}
body{
background: '{{member[17]}}';
background: linear-gradient(90deg, '{{member[17]}}' 0%, '{{member[18]}}' 50%, '{{member[19]}}' 100%);
scrollbar-color:"{{member[12]}}" "{{member[11]}}";
}
.container{
background-color:"{{member[10]}}";
border-color:"{{member[9]}}";
}
.heading{
background-color:"{{member[11]}}";
border-color:"{{member[12]}}";
color:"{{member[14]}}";
}
.icon{
border-color:"{{member[16]}}";
}
.bio{
color:"{{member[15]}}";
}
.heading b
{
color:"{{member[13]}}";
}
a{
color: "{{member[21]}}";
}
a:hover{
color: "{{member[22]}}";
}
::selection {
background: "{{member[12]}}";
}
::-moz-selection {
background: "{{member[12]}}";
}
</style>
@@ -82,7 +78,7 @@ a:hover{
<div class="content">
{{post[4]|safe}}
</div>
{% if g.user %}<a href="{{url_for('blog.toggle',pid=post[0], location=member[0])}}">Toggle privacy</a> | <a href="{{url_for('blog.delete', pid=post[0], location=member[0])}}" class="danger">Delete post</a>{% endif %}
{% if g.user %}<a href="{{url_for('blog.toggle',pid=post[0], location=member[0])}}">Toggle privacy</a> | <a href="{{url_for('blog.edit',pid=post[0],location=member[0])}}">Edit Post</a> | <a href="{{url_for('blog.delete', pid=post[0], location=member[0])}}" class="danger">Delete post</a>{% endif %}
</div>
{% endif %}
{% endfor %}