Group pages plus some icon fetching changes

This commit is contained in:
cube
2026-05-23 14:28:00 +01:00
parent 133163986a
commit 09f2786754
6 changed files with 89 additions and 34 deletions

View File

@@ -51,6 +51,28 @@ def create_app():
db = get_db()
member = db.execute("SELECT * FROM member WHERE id=(?)",(mid,)).fetchone()
return member
def get_member_icon(mid):
db = get_db()
member = get_member(mid)
try:
icon_id = member[6]
icon_name = db.execute("SELECT * FROM icons WHERE id=(?)",(icon_id,)).fetchone()
except TypeError:
return 'any.jpg'
return icon_name[2]
def get_member_icons(members):
db = get_db()
icons={}
for member in members:
icon_id = member[6]
if icon_id:
icon = db.execute("SELECT icon_location FROM icons WHERE id=(?)",(icon_id,)).fetchone()
if icon:
icons[member[0]] = icon[0]
else:
icons[member[0]] = None
return icons
def get_system_name():
return app.config["SYSTEM_NAME"]
def get_pages_name():
@@ -72,6 +94,8 @@ def create_app():
server_time=w_server_time,
get_datetime_str=w_get_datetime_str,
get_member=get_member,
get_member_icon=get_member_icon,
get_member_icons=get_member_icons,
remove_html=remove_html,
get_pages=get_pages,
get_system_name=get_system_name,

View File

@@ -32,34 +32,14 @@ def index():
elif latest_start and not latest_end:
latest = latest_start[0]
icons={}
for member in homepage:
icon_id = member[6]
if icon_id:
icon = db.execute("SELECT icon_location FROM icons WHERE id=(?)",(icon_id,)).fetchone()
if icon:
icons[member[0]] = icon[0]
else:
icons[member[0]] = None
return render_template('index.html', front_list=fronters, home_pins=homepage, icons=icons, last_updated=latest)
return render_template('index.html', front_list=fronters, home_pins=homepage, last_updated=latest)
@bp.route('/full')
def full_list():
db = get_db()
members = db.execute('SELECT * FROM member ORDER BY member_name COLLATE NOCASE').fetchall()
icons={}
for member in members:
icon_id = member[6]
if icon_id:
icon = db.execute("SELECT icon_location FROM icons WHERE id=(?)",(icon_id,)).fetchone()
if icon:
icons[member[0]] = icon[0]
else:
icons[member[0]] = None
return render_template('full.html', memberlist=members, icons=icons)
return render_template('full.html', memberlist=members)
@bp.route('/member/<mid>')
def page(mid):
@@ -99,10 +79,27 @@ def groups():
return render_template("groups.html", groups=groups, group_members=group_members)
@bp.route("/group/<gid>")
def group_page(gid):
db = get_db()
try:
group = db.execute("SELECT * FROM groups WHERE id=(?)",(gid,)).fetchone()
group_members = db.execute("SELECT * FROM group_members WHERE group_id=(?)",(gid,)).fetchall()
members = []
for member in group_members:
m = db.execute("SELECT * FROM member WHERE id=(?)",(member[2],)).fetchone()
members.append(m)
except TypeError:
return "Not Found <br> <a href='/'>Go Home</a>", 404
return render_template('group_page.html', group=group, members=members)
@bp.route("/page/<pid>")
def custom_page(pid):
db = get_db()
page = db.execute("SELECT * FROM pages WHERE id=(?)",(pid,)).fetchone()
try:
page = db.execute("SELECT * FROM pages WHERE id=(?)",(pid,)).fetchone()
except TypeError:
return "Not Found <br> <a href='/'>Go Home</a>", 404
return render_template('custom_page.html', page=page)
@bp.route("/page")

View File

@@ -26,11 +26,8 @@
{% else %}
<div class="profile {{member[10]}}" id="m{{ member[0] }}">
<div class="heading">{% if member[9]==0 %}<img class="minilock" src="{{ url_for('static', filename='lock.png') }}">{% endif %}<b>{{ member[3]|safe }}</b> {{ member[4]|safe }}</div>
{% if icons[member[0]] %}
<img src="{{ url_for('static', filename='icons/'+icons[member[0]]) }}" class="icon">
{% else %}
<img src="{{ url_for('static', filename='any.jpg') }}" class="icon">
{% endif %}
{% set icon = get_member_icon(member[0]) %}
<img src="{{ url_for('static', filename='icons/'+icon) }}" class="icon">
<div class="bio">
{{ member[5].replace('\n', '<br>')|safe }}
</div>

View File

@@ -0,0 +1,40 @@
{% extends 'base.html' %}
{% block title %}{{ remove_html(group[1]) }}{% endblock %}
{% block content %}
<div class="container">
<div class="heading big">{{group[1]}}</div>
{% if not g.user and group[3]==0 %}
permission denied
{% else %}
<p>{{ group[2] }}</p>
{% for member in members %}
{% if not g.user and member[9]==0 %}
{% else %}
<div class="profile {{member[10]}}" id="m{{ member[0] }}">
<div class="heading">{% if member[9]==0 %}<img class="minilock" src="{{ url_for('static', filename='lock.png') }}">{% endif %}<b>{{ member[3]|safe }}</b> {{ member[4]|safe }}</div>
{% set icon = get_member_icon(member[0]) %}
<img src="{{ url_for('static', filename='icons/'+icon) }}" class="icon">
<div class="bio">
{{ member[5].replace('\n', '<br>')|safe }}
</div>
<br class="clear" />
<div class="heading links"><a href="{{ url_for('home.page', mid=member[0]) }}">View Page</a>{% if g.user %} &#9734 {% if member[8]==0 %}<a href="{{ url_for('manage.add_to_front', mid=member[0],location='home') }}">Add to Front</a>{% else %}<a href="{{ url_for('manage.remove_front', mid=member[0],location='home') }}">Remove from Front</a>{% endif %} &#9734 <a href="{{ url_for('manage.edit', mid=member[0]) }}">Edit</a> &#9734 {% if member[7]==0 %}<a href="{{ url_for('manage.add_to_home', mid=member[0],location='home') }}">Pin to Homepage</a>{% else %}<a href="{{ url_for('manage.remove_home', mid=member[0],location='home') }}">Unpin from Homepage</a>{% endif %}{% endif %}</div>
<br class="clear" />
</div>
{% endif %}
{% endfor %}
{% endif %}
</div>
{% endblock %}

View File

@@ -7,7 +7,7 @@
{% for group in groups %}
{% if not g.user and group[3]==0 %}
{% else %}
<div class="heading big">{{group[1]}}</div>
<div class="heading big"><a href="{{ url_for('home.group_page', gid=group[0]) }}">{{group[1]}}</a></div>
<div class="maintext">
{{group[2]}}<br><br>
{% if group[0] in group_members %}

View File

@@ -21,11 +21,8 @@
<div class="profile {{member[10]}}" id="m{{ member[0] }}">
<div class="heading">{% if member[9]==0 %}<img class="minilock" src="{{ url_for('static', filename='lock.png') }}">{% endif %}<b>{{ member[3]|safe }}</b> {{ member[4]|safe }}</div>
{% if icons[member[0]] %}
<img src="{{ url_for('static', filename='icons/'+icons[member[0]]) }}" class="icon">
{% else %}
<img src="{{ url_for('static', filename='any.jpg') }}" class="icon">
{% endif %}
{% set icon = get_member_icon(member[0]) %}
<img src="{{ url_for('static', filename='icons/'+icon) }}" class="icon">
<div class="bio">
{{ member[5].replace('\n', '<br>')|safe }}
</div>