mirror of
https://codeberg.org/rimu/pyfedi
synced 2025-02-02 16:21:32 -08:00
list trusted instances
This commit is contained in:
parent
7e4163db6b
commit
8fcd4c7de7
2 changed files with 26 additions and 67 deletions
|
@ -1079,19 +1079,35 @@ def admin_permissions():
|
|||
menu_topics=menu_topics(),
|
||||
site=g.site
|
||||
)
|
||||
|
||||
|
||||
|
||||
@bp.route('/instances', methods=['GET', 'POST'])
|
||||
@login_required
|
||||
@permission_required('change instance settings')
|
||||
def admin_instances():
|
||||
page = request.args.get('page', 1, type=int)
|
||||
search = request.args.get('search', '')
|
||||
filter = request.args.get('filter', '')
|
||||
low_bandwidth = request.cookies.get('low_bandwidth', '0') == '1'
|
||||
|
||||
instances = Instance.query.order_by(Instance.domain)
|
||||
|
||||
if search:
|
||||
instances = instances.filter(Instance.domain.ilike(f"%{search}%"))
|
||||
title = 'Instances'
|
||||
if filter:
|
||||
if filter == 'trusted':
|
||||
instances = instances.filter(Instance.trusted == True)
|
||||
title = 'Trusted instances'
|
||||
elif filter == 'online':
|
||||
instances = instances.filter(Instance.dormant == False, Instance.gone_forever == False)
|
||||
title = 'Online instances'
|
||||
elif filter == 'dormant':
|
||||
instances = instances.filter(Instance.dormant == True, Instance.gone_forever == False)
|
||||
title = 'Dormant instances'
|
||||
elif filter == 'gone_forever':
|
||||
instances = instances.filter(Instance.gone_forever == True)
|
||||
title = 'Gone forever instances'
|
||||
|
||||
# Pagination
|
||||
instances = instances.paginate(page=page,
|
||||
|
@ -1101,69 +1117,9 @@ def admin_instances():
|
|||
prev_url = url_for('admin.admin_instances', page=instances.prev_num) if instances.has_prev and page != 1 else None
|
||||
|
||||
return render_template('admin/instances.html', instances=instances,
|
||||
title=_('Instances'), search=search,
|
||||
title=_(title), search=search,
|
||||
next_url=next_url, prev_url=prev_url,
|
||||
low_bandwidth=low_bandwidth,
|
||||
moderating_communities=moderating_communities(current_user.get_id()),
|
||||
joined_communities=joined_communities(current_user.get_id()),
|
||||
menu_topics=menu_topics(), site=g.site)
|
||||
|
||||
@bp.route('/instances/dormant', methods=['GET', 'POST'])
|
||||
@login_required
|
||||
@permission_required('change instance settings')
|
||||
def admin_instances_dormant():
|
||||
page = request.args.get('page', 1, type=int)
|
||||
search = request.args.get('search', '')
|
||||
low_bandwidth = request.cookies.get('low_bandwidth', '0') == '1'
|
||||
|
||||
instances = Instance.query.order_by(Instance.domain)
|
||||
|
||||
instances = instances.filter(Instance.dormant == True, Instance.gone_forever == False)
|
||||
|
||||
if search:
|
||||
instances = instances.filter(Instance.domain.ilike(f"%{search}%"))
|
||||
|
||||
# Pagination
|
||||
instances = instances.paginate(page=page,
|
||||
per_page=250 if current_user.is_authenticated and not low_bandwidth else 50,
|
||||
error_out=False)
|
||||
next_url = url_for('admin.admin_instances', page=instances.next_num) if instances.has_next else None
|
||||
prev_url = url_for('admin.admin_instances', page=instances.prev_num) if instances.has_prev and page != 1 else None
|
||||
|
||||
return render_template('admin/instances.html', instances=instances,
|
||||
title=_('Dormant Instances'), search=search,
|
||||
next_url=next_url, prev_url=prev_url,
|
||||
low_bandwidth=low_bandwidth,
|
||||
moderating_communities=moderating_communities(current_user.get_id()),
|
||||
joined_communities=joined_communities(current_user.get_id()),
|
||||
menu_topics=menu_topics(), site=g.site)
|
||||
|
||||
@bp.route('/instances/gone-forever', methods=['GET', 'POST'])
|
||||
@login_required
|
||||
@permission_required('change instance settings')
|
||||
def admin_instances_gone_forever():
|
||||
page = request.args.get('page', 1, type=int)
|
||||
search = request.args.get('search', '')
|
||||
low_bandwidth = request.cookies.get('low_bandwidth', '0') == '1'
|
||||
|
||||
instances = Instance.query.order_by(Instance.domain)
|
||||
|
||||
instances = instances.filter(Instance.gone_forever == True)
|
||||
|
||||
if search:
|
||||
instances = instances.filter(Instance.domain.ilike(f"%{search}%"))
|
||||
|
||||
# Pagination
|
||||
instances = instances.paginate(page=page,
|
||||
per_page=250 if current_user.is_authenticated and not low_bandwidth else 50,
|
||||
error_out=False)
|
||||
next_url = url_for('admin.admin_instances', page=instances.next_num) if instances.has_next else None
|
||||
prev_url = url_for('admin.admin_instances', page=instances.prev_num) if instances.has_prev and page != 1 else None
|
||||
|
||||
return render_template('admin/instances.html', instances=instances,
|
||||
title=_('Gone Forever Instances'), search=search,
|
||||
next_url=next_url, prev_url=prev_url,
|
||||
low_bandwidth=low_bandwidth,
|
||||
moderating_communities=moderating_communities(current_user.get_id()),
|
||||
joined_communities=joined_communities(current_user.get_id()),
|
||||
menu_topics=menu_topics(), site=g.site)
|
|
@ -14,19 +14,21 @@
|
|||
<input type="search" name="search"> <input type="submit" name="submit" value="Search">
|
||||
</form>
|
||||
Status Filter:
|
||||
<a href="{{ url_for('admin.admin_instances') }}">Online</a> |
|
||||
<a href="{{ url_for('admin.admin_instances_dormant') }}">Dormant</a> |
|
||||
<a href="{{ url_for('admin.admin_instances_gone_forever') }}">Gone Forever</a> |
|
||||
<a href="{{ url_for('admin.admin_instances', filter='online') }}">Online</a> |
|
||||
<a href="{{ url_for('admin.admin_instances', filter='dormant') }}">Dormant</a> |
|
||||
<a href="{{ url_for('admin.admin_instances', filter='gone_forever') }}">Gone Forever</a> |
|
||||
<a href="{{ url_for('admin.admin_instances', filter='trusted') }}">Trusted</a>
|
||||
<table class="table table-striped">
|
||||
<tr>
|
||||
<th>Domain</th>
|
||||
<th>Software</th>
|
||||
<th>Version</th>
|
||||
<th title="{{ _('Known Communities') }}">Communities</td>
|
||||
<th title="{{ _('Known Users') }}">Users</td>
|
||||
<th title="{{ _('Known Communities') }}">Communities</th>
|
||||
<th title="{{ _('Known Users') }}">Users</th>
|
||||
<th>Posts</th>
|
||||
<th>Post Replies</th>
|
||||
<th>Vote Weight</th>
|
||||
<th>Trusted</th>
|
||||
<th title="{{ _('When an Activity was received from them') }}">Seen</th>
|
||||
<th title="{{ _('When we successfully sent them an Activity') }}">Sent</th>
|
||||
<th title="{{ _('How many times we failed to send (reset to 0 after every successful send)') }}">Failed</th>
|
||||
|
@ -42,6 +44,7 @@
|
|||
<td>{{ instance.post_count() }}</td>
|
||||
<td>{{ instance.post_replies_count() }}</td>
|
||||
<td>{{ instance.vote_weight }}</td>
|
||||
<td>{{ 'Yes' if instance.trusted }}</td>
|
||||
<td>{{ arrow.get(instance.last_seen).humanize(locale=locale) if instance.last_seen }}</td>
|
||||
<td>{{ arrow.get(instance.last_successful_send).humanize(locale=locale) if instance.last_successful_send }}</td>
|
||||
<td>{{ instance.failures }}</td>
|
||||
|
|
Loading…
Add table
Reference in a new issue