Some plex work

This commit is contained in:
Jamie Rees 2016-02-27 20:21:08 +00:00
commit 10b22cc7ab
8 changed files with 183 additions and 83 deletions

View file

@ -11,6 +11,7 @@ using Nancy.Security;
using Newtonsoft.Json;
using RequestPlex.Api;
using RequestPlex.Core;
using RequestPlex.Store;
using RequestPlex.UI.Models;
namespace RequestPlex.UI.Modules
@ -32,6 +33,7 @@ namespace RequestPlex.UI.Modules
if (settings != null)
{
model.Port = settings.Port;
model.PlexAuthToken = settings.PlexAuthToken;
}
return View["/Admin/Settings", model];
@ -39,16 +41,10 @@ namespace RequestPlex.UI.Modules
Post["admin/"] = _ =>
{
var portString = (string)Request.Form.portNumber;
int port;
if (!int.TryParse(portString, out port))
{
return Context.GetRedirect("~/admin?error=true");
}
var model = this.Bind<SettingsModel>();
var s = new SettingsService();
s.SaveSettings(port);
s.SaveSettings(model);
return Context.GetRedirect("~/admin");
@ -64,12 +60,36 @@ namespace RequestPlex.UI.Modules
}
var plex = new PlexApi();
plex.GetToken(user.username, user.password);
var model = plex.GetToken(user.username, user.password);
var s = new SettingsService();
var oldSettings = s.GetSettings();
if (oldSettings != null)
{
oldSettings.PlexAuthToken = model.user.authentication_token;
s.SaveSettings(oldSettings);
}
else
{
var newModel = new SettingsModel
{
PlexAuthToken = model.user.authentication_token
};
s.SaveSettings(newModel);
}
return Context.GetRedirect("~/admin");
};
Get["admin/getusers"] = _ =>
{
var api = new PlexApi();
return View["/Admin/Settings"];
};
}
}
}

View file

@ -1,6 +1,7 @@
@Html.Partial("/Admin/_Sidebar")
@{
int port;
var authToken = string.Empty;
if (Model.Port == null)
{
port = 3579;
@ -10,10 +11,14 @@
port = Model.Port;
}
//if (string.IsNullOrEmpty(Model.PlexAuthToken))
//{
// Model.PlexAuthToken = string.Empty;
//}
if (Model.PlexAuthToken == null)
{
authToken = string.Empty;
}
else
{
authToken = Model.PlexAuthToken;
}
}
<div class="col-sm-8">
<form class="form-horizontal" method="POST" id="mainForm">
@ -22,24 +27,24 @@
<div class="form-group">
<label for="portNumber" class="col-lg-2 control-label">Port</label>
<div class="col-lg-10">
<input type="text" class="form-control" id="portNumber" name="portNumber" placeholder="Port Number" value="@port">
<input type="text" class="form-control" id="portNumber" name="Port" placeholder="Port Number" value="@port">
</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="authToken" placeholder="Plex Auth Token" value="@*@Model.PlexAuthToken*@">
<input type="text" class="form-control" id="authToken" name="PlexAuthToken" placeholder="Plex Auth Token" value="@authToken">
</div>
</div>
<div class="form-group">
<label for="userpass" 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">
<input type="text" class="form-control" id="username" name="Username" placeholder="Username">
</div>
<div class="col-lg-4 col-lg-push-1">
<input type="text" class="form-control" id="password" name="password" placeholder="Password">
<input type="password" class="form-control" id="password" name="Username" placeholder="Password">
</div>
</div>
<div class="form-group">
@ -48,8 +53,28 @@
</div>
</div>
<div class="form-group">
<label for="userAuth" class="col-lg-2 control-label">Enable User Authentication</label>
<div class="col-lg-4">
<input type="checkbox" class="form-control" id="userAuth" name="UserAuthentication">
</div>
</div>
<small>Current users that are allowed to authenticate: </small>
<select id="users" multiple="" class="form-control">
</select>
<div class="form-group">
<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>
<small>Please note, you will have to restart after changing these settings.</small>
<small class="col-lg-10 col-lg-offset-2">Please note, you will have to restart after changing these settings.</small>
</div>
<div class="form-group">
<div class="col-lg-10 col-lg-offset-2">
@ -73,6 +98,12 @@
<script>
$(function () {
loadUserList();
$('#refreshUsers').click(function() {
loadUserList();
});
$('#requestToken').click(function (e) {
var $form = $("#mainForm");
$.ajax({
@ -96,5 +127,26 @@
});
});
function loadUserList() {
$.ajax({
type: "Get",
url: "admin/getusers",
dataType: "json",
success: function (response) {
response.each(function (user) {
$('#users').append("<option>" + user + "</option>");
});
},
error: function (e) {
console.log(e);
generateNotify("Something went wrong!", "danger");
}
});
}
});
</script>