mirror of
https://github.com/Ombi-app/Ombi.git
synced 2025-08-14 02:26:55 -07:00
Fixed the plex friends. Added some unit tests, moved the plex auth into it's own page
This commit is contained in:
parent
d6f3f7b750
commit
07beddc26a
22 changed files with 602 additions and 151 deletions
157
PlexRequests.UI/Views/Admin/Authentication.cshtml
Normal file
157
PlexRequests.UI/Views/Admin/Authentication.cshtml
Normal file
|
@ -0,0 +1,157 @@
|
|||
@Html.Partial("/Admin/_Sidebar")
|
||||
|
||||
<div class="col-sm-8">
|
||||
<form class="form-horizontal" method="POST" action="/admin/SaveAuthentication" id="mainForm">
|
||||
<fieldset>
|
||||
<legend>Authentication Settings</legend>
|
||||
|
||||
<div class="form-group">
|
||||
<label for="userAuth" class="col-lg-2 control-label">Enable User Authentication</label>
|
||||
<div class="col-lg-4 checkbox">
|
||||
<label>
|
||||
@if (Model.UserAuthentication)
|
||||
{
|
||||
<input type="checkbox" id="userAuth" name="UserAuthentication" checked="checked">
|
||||
}
|
||||
else
|
||||
{
|
||||
<input type="checkbox" id="userAuth" name="UserAuthentication">
|
||||
}
|
||||
</label>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="form-group">
|
||||
<label for="userAuth" class="col-lg-2 control-label">Require users to login with their passwords</label>
|
||||
<div class="col-lg-4 checkbox">
|
||||
<label>
|
||||
@if (Model.UsePassword)
|
||||
{
|
||||
<input type="checkbox" id="UsePassword" name="UsePassword" checked="checked">
|
||||
}
|
||||
else
|
||||
{
|
||||
<input type="checkbox" id="UsePassword" name="UsePassword">
|
||||
}
|
||||
</label>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="form-group">
|
||||
<label for="authToken" class="col-lg-2 control-label">Plex Authorization Token</label>
|
||||
<div class="col-lg-10">
|
||||
<input type="text" class="form-control" id="authToken" name="PlexAuthToken" placeholder="Plex Auth Token" value="@Model.PlexAuthToken">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="form-group">
|
||||
<label for="username" class="col-lg-2 control-label">Username and Password</label>
|
||||
<div class="col-lg-4">
|
||||
<input type="text" class="form-control" id="username" name="Username" placeholder="Username">
|
||||
</div>
|
||||
<div class="col-lg-4 col-lg-push-1">
|
||||
<input type="password" class="form-control" id="password" name="Password" placeholder="Password">
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<div class="col-lg-10 col-lg-offset-2">
|
||||
<button id="requestToken" class="btn btn-primary">Request Token <i class="fa fa-key"></i></button>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<br />
|
||||
<br />
|
||||
<small class="col-lg-offset-2">Current users that are allowed to authenticate: </small>
|
||||
<br />
|
||||
<br />
|
||||
<div class="form-group">
|
||||
<select id="users" multiple="" class="col-lg-10 col-lg-offset-2"></select>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<br />
|
||||
<br />
|
||||
<div class="col-lg-10 col-lg-offset-2">
|
||||
<button id="refreshUsers" class="btn btn-primary">Refresh Users</button>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<br />
|
||||
<br />
|
||||
<br />
|
||||
<br />
|
||||
<div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<div class="col-lg-10 col-lg-offset-2">
|
||||
<button type="submit" class="btn btn-primary">Submit</button>
|
||||
</div>
|
||||
</div>
|
||||
</fieldset>
|
||||
</form>
|
||||
</div>
|
||||
|
||||
|
||||
<script>
|
||||
$(function () {
|
||||
|
||||
if ($('#PlexAuthToken')) {
|
||||
loadUserList();
|
||||
}
|
||||
|
||||
$('#refreshUsers').click(function () {
|
||||
e.preventDefault();
|
||||
loadUserList();
|
||||
});
|
||||
|
||||
$('#requestToken').click(function (e) {
|
||||
e.preventDefault();
|
||||
var $form = $("#mainForm");
|
||||
$.ajax({
|
||||
type: $form.prop("method"),
|
||||
url: "requestauth",
|
||||
data: $form.serialize(),
|
||||
dataType: "json",
|
||||
success: function (response) {
|
||||
console.log(response);
|
||||
if (response.result === true) {
|
||||
generateNotify("Success!", "success");
|
||||
$('#authToken').val(response.authToken);
|
||||
} else {
|
||||
generateNotify(response.message, "warning");
|
||||
}
|
||||
},
|
||||
error: function (e) {
|
||||
console.log(e);
|
||||
generateNotify("Something went wrong!", "danger");
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
|
||||
|
||||
function loadUserList() {
|
||||
$.ajax({
|
||||
type: "Get",
|
||||
url: "getusers",
|
||||
dataType: "json",
|
||||
success: function (response) {
|
||||
if (response.length > 1) {
|
||||
$(response).each(function(user) {
|
||||
$('#users').append("<option>" + this + "</option>");
|
||||
});
|
||||
} else {
|
||||
$('#users').append("<option>No Users!</option>");
|
||||
}
|
||||
},
|
||||
error: function (e) {
|
||||
console.log(e);
|
||||
generateNotify("Something went wrong!", "danger");
|
||||
}
|
||||
});
|
||||
|
||||
}
|
||||
|
||||
|
||||
});
|
||||
</script>
|
|
@ -65,63 +65,6 @@
|
|||
</div>
|
||||
</div>
|
||||
|
||||
<div class="form-group">
|
||||
<label for="authToken" class="col-lg-2 control-label">Plex Authorization Token</label>
|
||||
<div class="col-lg-10">
|
||||
<input type="text" class="form-control" id="authToken" name="PlexAuthToken" placeholder="Plex Auth Token" value="@Model.PlexAuthToken">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="form-group">
|
||||
<label for="username" class="col-lg-2 control-label">Username and Password</label>
|
||||
<div class="col-lg-4">
|
||||
<input type="text" class="form-control" id="username" name="Username" placeholder="Username">
|
||||
</div>
|
||||
<div class="col-lg-4 col-lg-push-1">
|
||||
<input type="password" class="form-control" id="password" name="Password" placeholder="Password">
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<div class="col-lg-10 col-lg-offset-2">
|
||||
<button id="requestToken" class="btn btn-primary">Request Token</button>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="form-group">
|
||||
<label for="userAuth" class="col-lg-2 control-label">Enable User Authentication</label>
|
||||
<div class="col-lg-4 checkbox">
|
||||
<label>
|
||||
@if (Model.UserAuthentication)
|
||||
{
|
||||
<input type="checkbox" id="userAuth" name="UserAuthentication" checked="checked">
|
||||
}
|
||||
else
|
||||
{
|
||||
<input type="checkbox" id="userAuth" name="UserAuthentication">
|
||||
}
|
||||
</label>
|
||||
</div>
|
||||
</div>
|
||||
<br />
|
||||
<br />
|
||||
<small class="col-lg-offset-2">Current users that are allowed to authenticate: </small>
|
||||
<br />
|
||||
<br />
|
||||
<div class="form-group">
|
||||
<select id="users" multiple="" class="col-lg-10 col-lg-offset-2"></select>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<br />
|
||||
<br />
|
||||
<div class="col-lg-10 col-lg-offset-2">
|
||||
<button id="refreshUsers" class="btn btn-primary">Refresh Users</button>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<br />
|
||||
<br />
|
||||
<br />
|
||||
<br />
|
||||
<div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
|
@ -131,68 +74,4 @@
|
|||
</div>
|
||||
</fieldset>
|
||||
</form>
|
||||
</div>
|
||||
|
||||
|
||||
<script>
|
||||
$(function () {
|
||||
|
||||
if ($('#PlexAuthToken')) {
|
||||
loadUserList();
|
||||
}
|
||||
|
||||
$('#refreshUsers').click(function () {
|
||||
loadUserList();
|
||||
});
|
||||
|
||||
$('#requestToken').click(function (e) {
|
||||
e.preventDefault();
|
||||
var $form = $("#mainForm");
|
||||
$.ajax({
|
||||
type: $form.prop("method"),
|
||||
url: "admin/requestauth",
|
||||
data: $form.serialize(),
|
||||
dataType: "json",
|
||||
success: function (response) {
|
||||
console.log(response);
|
||||
if (response.result === true) {
|
||||
generateNotify("Success!", "success");
|
||||
$('#authToken').val(response.authToken);
|
||||
} else {
|
||||
generateNotify(response.message, "warning");
|
||||
}
|
||||
},
|
||||
error: function (e) {
|
||||
console.log(e);
|
||||
generateNotify("Something went wrong!", "danger");
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
|
||||
|
||||
function loadUserList() {
|
||||
$.ajax({
|
||||
type: "Get",
|
||||
url: "admin/getusers",
|
||||
dataType: "json",
|
||||
success: function (response) {
|
||||
if (response.length > 1) {
|
||||
response.each(function(user) {
|
||||
$('#users').append("<option>" + user + "</option>");
|
||||
});
|
||||
} else {
|
||||
$('#users').append("<option>No Users!</option>");
|
||||
}
|
||||
},
|
||||
error: function (e) {
|
||||
console.log(e);
|
||||
generateNotify("Something went wrong!", "danger");
|
||||
}
|
||||
});
|
||||
|
||||
}
|
||||
|
||||
|
||||
});
|
||||
</script>
|
||||
</div>
|
|
@ -1,6 +1,7 @@
|
|||
<div class="col-lg-3 col-md-3 col-sm-4">
|
||||
<div class="list-group table-of-contents">
|
||||
<a class="list-group-item" href="/admin">Request Plex Settings</a>
|
||||
<a class="list-group-item" href="/admin/authentication">Authentication</a>
|
||||
<a class="list-group-item" href="/admin/couchpotato">CouchPotato Settings</a>
|
||||
<a class="list-group-item" href="/admin/sonarr">Sonarr Settings</a>
|
||||
<a class="list-group-item" href="/admin/sickbeard">Sickbeard Settings</a>
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue