feat: add YAML settings management and admin settings page, add default_playlist_users
This commit is contained in:
@@ -4,7 +4,11 @@
|
||||
<nav class="navbar navbar-expand-lg navbar-dark border-bottom mb-2">
|
||||
<div class="collapse navbar-collapse" id="navbarNav">
|
||||
<ul class="navbar-nav">
|
||||
<li class="nav-item active">
|
||||
<li class="nav-item">
|
||||
<a class="nav-link" href="/admin/settings">Settings
|
||||
</a>
|
||||
</li>
|
||||
<li class="nav-item">
|
||||
<a class="nav-link" href="/admin/link_issues">Link Issues
|
||||
{% include 'partials/_unlinked_tracks_badge.html' %}</a>
|
||||
</li>
|
||||
|
||||
20
templates/admin/settings.html
Normal file
20
templates/admin/settings.html
Normal file
@@ -0,0 +1,20 @@
|
||||
{% extends "admin.html" %}
|
||||
|
||||
{% block admin_content %}
|
||||
<h2>Settings</h2>
|
||||
<form action="/admin/settings/save" method="post">
|
||||
<div class="mb-3">
|
||||
<h3>Default Playlist Users</h3>
|
||||
<div id="defaultPlaylistUsers">
|
||||
{% for user in jellyfin_users %}
|
||||
<div class="form-check">
|
||||
<input class="form-check-input" type="checkbox" name="default_playlist_users" value="{{ user.Id }}" id="user-{{ user.Id }}"
|
||||
{% if user.Id in config['runtime_settings']['default_playlist_users'] %}checked{% endif %}>
|
||||
<label class="form-check-label" for="user-{{ user.Id }}">{{ user.Name }}</label>
|
||||
</div>
|
||||
{% endfor %}
|
||||
</div>
|
||||
</div>
|
||||
<button type="submit" class="btn btn-primary">Save Settings</button>
|
||||
</form>
|
||||
{% endblock %}
|
||||
@@ -43,8 +43,9 @@ function loadAllUsers{{item['id']}}() {
|
||||
data.users.forEach(user => {
|
||||
const checkbox = document.createElement('div');
|
||||
checkbox.classList.add('form-check');
|
||||
checkbox.innerHTML = `<input class="form-check-input" type="checkbox" value="${user.Id}" id="user-${user.Id}">
|
||||
<label class="form-check-label" for="user-${user.Id}">${user.Name}</label>`;
|
||||
const isChecked = {{ config['runtime_settings']['default_playlist_users']|safe }}.includes(user.Id) ? 'checked' : '';
|
||||
checkbox.innerHTML = `<input class="form-check-input" type="checkbox" value="${user.Id}" id="user-${user.Id}" ${isChecked}>
|
||||
<label class="form-check-label" for="user-${user.Id}">${user.Name}</label>`;
|
||||
allUsersDiv.appendChild(checkbox);
|
||||
});
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user