diff --git a/myriad/__init__.py b/myriad/__init__.py index d36721f..7cb0058 100644 --- a/myriad/__init__.py +++ b/myriad/__init__.py @@ -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, diff --git a/myriad/home.py b/myriad/home.py index 50ec8ec..b24bc31 100644 --- a/myriad/home.py +++ b/myriad/home.py @@ -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/') def page(mid): @@ -99,10 +79,27 @@ def groups(): return render_template("groups.html", groups=groups, group_members=group_members) +@bp.route("/group/") +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
Go Home", 404 + return render_template('group_page.html', group=group, members=members) + @bp.route("/page/") 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
Go Home", 404 return render_template('custom_page.html', page=page) @bp.route("/page") diff --git a/myriad/templates/full.html b/myriad/templates/full.html index 01ee36a..c2fd425 100644 --- a/myriad/templates/full.html +++ b/myriad/templates/full.html @@ -26,11 +26,8 @@ {% else %}
{% if member[9]==0 %}{% endif %}{{ member[3]|safe }} {{ member[4]|safe }}
- {% if icons[member[0]] %} - - {% else %} - - {% endif %} + {% set icon = get_member_icon(member[0]) %} +
{{ member[5].replace('\n', '
')|safe }}
diff --git a/myriad/templates/group_page.html b/myriad/templates/group_page.html new file mode 100644 index 0000000..66a6cdb --- /dev/null +++ b/myriad/templates/group_page.html @@ -0,0 +1,40 @@ +{% extends 'base.html' %} +{% block title %}{{ remove_html(group[1]) }}{% endblock %} + +{% block content %} + +
+
{{group[1]}}
+ + {% if not g.user and group[3]==0 %} + permission denied + {% else %} + +

{{ group[2] }}

+ + {% for member in members %} + {% if not g.user and member[9]==0 %} + {% else %} + + +
+
{% if member[9]==0 %}{% endif %}{{ member[3]|safe }} {{ member[4]|safe }}
+ {% set icon = get_member_icon(member[0]) %} + +
+ {{ member[5].replace('\n', '
')|safe }} +
+
+ +
+
+ + {% endif %} + {% endfor %} + + {% endif %} + +
+ + +{% endblock %} \ No newline at end of file diff --git a/myriad/templates/groups.html b/myriad/templates/groups.html index 9b112c0..875dc7a 100644 --- a/myriad/templates/groups.html +++ b/myriad/templates/groups.html @@ -7,7 +7,7 @@ {% for group in groups %} {% if not g.user and group[3]==0 %} {% else %} -
{{group[1]}}
+
{{group[2]}}

{% if group[0] in group_members %} diff --git a/myriad/templates/index.html b/myriad/templates/index.html index 8a20cf1..4642f42 100644 --- a/myriad/templates/index.html +++ b/myriad/templates/index.html @@ -21,11 +21,8 @@
{% if member[9]==0 %}{% endif %}{{ member[3]|safe }} {{ member[4]|safe }}
- {% if icons[member[0]] %} - - {% else %} - - {% endif %} + {% set icon = get_member_icon(member[0]) %} +
{{ member[5].replace('\n', '
')|safe }}