mirror of
https://github.com/Tautulli/Tautulli.git
synced 2025-07-11 15:56:07 -07:00
Add browse function to settings with a folder or file
This commit is contained in:
parent
fcca7f969e
commit
7b69ed4cec
2 changed files with 77 additions and 20 deletions
|
@ -568,8 +568,13 @@
|
||||||
<div class="form-group advanced-setting">
|
<div class="form-group advanced-setting">
|
||||||
<label for="https_cert">HTTPS Certificate</label>
|
<label for="https_cert">HTTPS Certificate</label>
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<div class="col-md-6">
|
<div class="col-md-7">
|
||||||
|
<div class="input-group">
|
||||||
<input type="text" class="form-control http-settings" id="https_cert" name="https_cert" value="${config['https_cert']}">
|
<input type="text" class="form-control http-settings" id="https_cert" name="https_cert" value="${config['https_cert']}">
|
||||||
|
<span class="input-group-btn">
|
||||||
|
<button class="btn btn-form" type="button" id="https_cert_browse" data-filter=".pem" data-target="#https_cert">Browse</button>
|
||||||
|
</span>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<p class="help-block">The location of the SSL certificate.</p>
|
<p class="help-block">The location of the SSL certificate.</p>
|
||||||
|
@ -577,8 +582,13 @@
|
||||||
<div class="form-group advanced-setting">
|
<div class="form-group advanced-setting">
|
||||||
<label for="https_cert_chain">HTTPS Certificate Chain</label>
|
<label for="https_cert_chain">HTTPS Certificate Chain</label>
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<div class="col-md-6">
|
<div class="col-md-7">
|
||||||
|
<div class="input-group">
|
||||||
<input type="text" class="form-control http-settings" id="https_cert_chain" name="https_cert_chain" value="${config['https_cert_chain']}">
|
<input type="text" class="form-control http-settings" id="https_cert_chain" name="https_cert_chain" value="${config['https_cert_chain']}">
|
||||||
|
<span class="input-group-btn">
|
||||||
|
<button class="btn btn-form" type="button" id="https_cert_chain_browse" data-filter=".pem" data-target="#https_cert_chain">Browse</button>
|
||||||
|
</span>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<p class="help-block">The location of the SSL certificate chain.</p>
|
<p class="help-block">The location of the SSL certificate chain.</p>
|
||||||
|
@ -586,8 +596,13 @@
|
||||||
<div class="form-group advanced-setting">
|
<div class="form-group advanced-setting">
|
||||||
<label for="https_key">HTTPS Key</label>
|
<label for="https_key">HTTPS Key</label>
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<div class="col-md-6">
|
<div class="col-md-7">
|
||||||
|
<div class="input-group">
|
||||||
<input type="text" class="form-control http-settings" id="https_key" name="https_key" value="${config['https_key']}">
|
<input type="text" class="form-control http-settings" id="https_key" name="https_key" value="${config['https_key']}">
|
||||||
|
<span class="input-group-btn">
|
||||||
|
<button class="btn btn-form" type="button" id="https_key_browse" data-filter=".pem" data-target="#https_key">Browse</button>
|
||||||
|
</span>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<p class="help-block">The location of the SSL key.</p>
|
<p class="help-block">The location of the SSL key.</p>
|
||||||
|
@ -800,10 +815,15 @@
|
||||||
<input type="checkbox" name="server_changed" id="server_changed" value="1" style="display: none;">
|
<input type="checkbox" name="server_changed" id="server_changed" value="1" style="display: none;">
|
||||||
|
|
||||||
<div class="form-group advanced-setting">
|
<div class="form-group advanced-setting">
|
||||||
<label for="pms_logs_folder">Logs Folder</label>
|
<label for="pms_logs_folder">Plex Logs Folder</label>
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<div class="col-md-6">
|
<div class="col-md-7">
|
||||||
|
<div class="input-group">
|
||||||
<input type="text" class="form-control" id="pms_logs_folder" name="pms_logs_folder" value="${config['pms_logs_folder']}" size="30" data-parsley-trigger="change" data-parsley-pattern="^[^\~\%]" data-parsley-errors-container="#pms_logs_folder_error" data-parsley-error-message="Shortcuts are not recognized.">
|
<input type="text" class="form-control" id="pms_logs_folder" name="pms_logs_folder" value="${config['pms_logs_folder']}" size="30" data-parsley-trigger="change" data-parsley-pattern="^[^\~\%]" data-parsley-errors-container="#pms_logs_folder_error" data-parsley-error-message="Shortcuts are not recognized.">
|
||||||
|
<span class="input-group-btn">
|
||||||
|
<button class="btn btn-form" type="button" id="pms_logs_folder_browse" data-filter=".folderonly" data-target="#pms_logs_folder">Browse</button>
|
||||||
|
</span>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div id="pms_logs_folder_error" class="alert alert-danger settings-alert" role="alert"></div>
|
<div id="pms_logs_folder_error" class="alert alert-danger settings-alert" role="alert"></div>
|
||||||
</div>
|
</div>
|
||||||
|
@ -1102,10 +1122,15 @@
|
||||||
</p>
|
</p>
|
||||||
</div>
|
</div>
|
||||||
<div class="form-group advanced-setting">
|
<div class="form-group advanced-setting">
|
||||||
<label for="newsletter_dir">Custom Newsletter Templates Folder</label>
|
<label for="newsletter_custom_dir">Custom Newsletter Templates Folder</label>
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<div class="col-md-6">
|
<div class="col-md-7">
|
||||||
|
<div class="input-group">
|
||||||
<input type="text" class="form-control" id="newsletter_custom_dir" name="newsletter_custom_dir" value="${config['newsletter_custom_dir']}">
|
<input type="text" class="form-control" id="newsletter_custom_dir" name="newsletter_custom_dir" value="${config['newsletter_custom_dir']}">
|
||||||
|
<span class="input-group-btn">
|
||||||
|
<button class="btn btn-form" type="button" id="newsletter_custom_dir_browse" data-filter=".folderonly" data-target="#newsletter_custom_dir">Browse</button>
|
||||||
|
</span>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<p class="help-block">Optional: Enter the full path to your custom newsletter templates folder. Leave blank for default.</p>
|
<p class="help-block">Optional: Enter the full path to your custom newsletter templates folder. Leave blank for default.</p>
|
||||||
|
@ -1113,8 +1138,13 @@
|
||||||
<div class="form-group advanced-setting">
|
<div class="form-group advanced-setting">
|
||||||
<label for="newsletter_dir">Newsletter Output Directory</label> ${docker_msg | n}
|
<label for="newsletter_dir">Newsletter Output Directory</label> ${docker_msg | n}
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<div class="col-md-6">
|
<div class="col-md-7">
|
||||||
|
<div class="input-group">
|
||||||
<input type="text" class="form-control" id="newsletter_dir" name="newsletter_dir" value="${config['newsletter_dir']}" ${docker_setting}>
|
<input type="text" class="form-control" id="newsletter_dir" name="newsletter_dir" value="${config['newsletter_dir']}" ${docker_setting}>
|
||||||
|
<span class="input-group-btn">
|
||||||
|
<button class="btn btn-form" type="button" id="newsletter_dir_browse" data-filter=".folderonly" data-target="#newsletter_dir" ${docker_setting}>Browse</button>
|
||||||
|
</span>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<p class="help-block">Enter the full path to where newsletter files will be saved.</p>
|
<p class="help-block">Enter the full path to where newsletter files will be saved.</p>
|
||||||
|
@ -1365,8 +1395,13 @@
|
||||||
<div class="form-group">
|
<div class="form-group">
|
||||||
<label for="log_dir">Log Directory</label> ${docker_msg | n}
|
<label for="log_dir">Log Directory</label> ${docker_msg | n}
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<div class="col-md-6">
|
<div class="col-md-7">
|
||||||
|
<div class="input-group">
|
||||||
<input type="text" class="form-control directory-settings" id="log_dir" name="log_dir" value="${config['log_dir']}" ${docker_setting}>
|
<input type="text" class="form-control directory-settings" id="log_dir" name="log_dir" value="${config['log_dir']}" ${docker_setting}>
|
||||||
|
<span class="input-group-btn">
|
||||||
|
<button class="btn btn-form" type="button" id="log_dir_browse" data-filter=".folderonly" data-target="#log_dir" ${docker_setting}>Browse</button>
|
||||||
|
</span>
|
||||||
|
</div>
|
||||||
<div class="btn-group">
|
<div class="btn-group">
|
||||||
<button class="btn btn-form" type="button" id="clear_logs">Clear Logs</button>
|
<button class="btn btn-form" type="button" id="clear_logs">Clear Logs</button>
|
||||||
</div>
|
</div>
|
||||||
|
@ -1376,8 +1411,13 @@
|
||||||
<div class="form-group">
|
<div class="form-group">
|
||||||
<label for="backup_dir">Backup Directory</label> ${docker_msg | n}
|
<label for="backup_dir">Backup Directory</label> ${docker_msg | n}
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<div class="col-md-6">
|
<div class="col-md-7">
|
||||||
|
<div class="input-group">
|
||||||
<input type="text" class="form-control directory-settings" id="backup_dir" name="backup_dir" value="${config['backup_dir']}" ${docker_setting}>
|
<input type="text" class="form-control directory-settings" id="backup_dir" name="backup_dir" value="${config['backup_dir']}" ${docker_setting}>
|
||||||
|
<span class="input-group-btn">
|
||||||
|
<button class="btn btn-form" type="button" id="backup_dir_browse" data-filter=".folderonly" data-target="#backup_dir" ${docker_setting}>Browse</button>
|
||||||
|
</span>
|
||||||
|
</div>
|
||||||
<div class="btn-group">
|
<div class="btn-group">
|
||||||
<button class="btn btn-form" type="button" id="backup_config">Backup Config</button>
|
<button class="btn btn-form" type="button" id="backup_config">Backup Config</button>
|
||||||
<button class="btn btn-form" type="button" id="backup_database">Backup Database</button>
|
<button class="btn btn-form" type="button" id="backup_database">Backup Database</button>
|
||||||
|
@ -1388,8 +1428,13 @@
|
||||||
<div class="form-group">
|
<div class="form-group">
|
||||||
<label for="cache_dir">Cache Directory</label> ${docker_msg | n}
|
<label for="cache_dir">Cache Directory</label> ${docker_msg | n}
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<div class="col-md-6">
|
<div class="col-md-7">
|
||||||
|
<div class="input-group">
|
||||||
<input type="text" class="form-control directory-settings" id="cache_dir" name="cache_dir" value="${config['cache_dir']}" ${docker_setting}>
|
<input type="text" class="form-control directory-settings" id="cache_dir" name="cache_dir" value="${config['cache_dir']}" ${docker_setting}>
|
||||||
|
<span class="input-group-btn">
|
||||||
|
<button class="btn btn-form" type="button" id="cache_dir_browse" data-filter=".folderonly" data-target="#cache_dir" ${docker_setting}>Browse</button>
|
||||||
|
</span>
|
||||||
|
</div>
|
||||||
<div class="btn-group">
|
<div class="btn-group">
|
||||||
<button class="btn btn-form" type="button" id="clear_cache">Clear All Cache</button>
|
<button class="btn btn-form" type="button" id="clear_cache">Clear All Cache</button>
|
||||||
<button class="btn btn-form" type="button" id="clear_image_cache">Clear Image Cache</button>
|
<button class="btn btn-form" type="button" id="clear_image_cache">Clear Image Cache</button>
|
||||||
|
@ -3013,6 +3058,14 @@ $(document).ready(function() {
|
||||||
tautulli_news.html('<p class="help-block"><i class="fa fa-exclamation-triangle"></i> Failed to retrieve news.</p>')
|
tautulli_news.html('<p class="help-block"><i class="fa fa-exclamation-triangle"></i> Failed to retrieve news.</p>')
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
|
$("#log_dir_browse, #backup_dir_browse, #cache_dir_browse, " +
|
||||||
|
"#newsletter_custom_dir_browse, #newsletter_dir_browse, #pms_logs_folder_browse, " +
|
||||||
|
"#https_cert_browse, #https_cert_chain_browse, #https_key_browse").click(function () {
|
||||||
|
var filter = $(this).data('filter');
|
||||||
|
var target = $(this).data('target');
|
||||||
|
openBrowsePath(null, null, filter, $("label[for='" + target.replace('#', '') + "']").text(), target);
|
||||||
|
});
|
||||||
});
|
});
|
||||||
</script>
|
</script>
|
||||||
</%def>
|
</%def>
|
||||||
|
|
|
@ -1269,6 +1269,10 @@ def browse_path(path=None, include_hidden=False, filter_ext=''):
|
||||||
'icon': 'folder'
|
'icon': 'folder'
|
||||||
}
|
}
|
||||||
output.append(out)
|
output.append(out)
|
||||||
|
|
||||||
|
if filter_ext == '.folderonly':
|
||||||
|
break
|
||||||
|
|
||||||
for f in sorted(files):
|
for f in sorted(files):
|
||||||
if not include_hidden and f.startswith('.'):
|
if not include_hidden and f.startswith('.'):
|
||||||
continue
|
continue
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue