mirror of
https://github.com/Ombi-app/Ombi.git
synced 2025-08-21 05:43:19 -07:00
Renamed folders
This commit is contained in:
parent
4ce66195d4
commit
d1827cd3be
117 changed files with 16 additions and 16 deletions
69
PlexRequests.UI/Views/Admin/CouchPotato.cshtml
Normal file
69
PlexRequests.UI/Views/Admin/CouchPotato.cshtml
Normal file
|
@ -0,0 +1,69 @@
|
|||
@Html.Partial("/Admin/_Sidebar")
|
||||
@{
|
||||
int port;
|
||||
if (Model.Port == 0)
|
||||
{
|
||||
port = 5050;
|
||||
}
|
||||
else
|
||||
{
|
||||
port = Model.Port;
|
||||
}
|
||||
}
|
||||
<div class="col-sm-8">
|
||||
<form class="form-horizontal" method="POST" id="mainForm">
|
||||
<fieldset>
|
||||
<legend>CouchPotato Settings</legend>
|
||||
|
||||
<div class="form-group">
|
||||
<label for="Enabled" class="col-lg-2 control-label">Enable CouchPotato</label>
|
||||
<div class="col-lg-10 checkbox">
|
||||
<label>
|
||||
@if (Model.Enabled)
|
||||
{
|
||||
<input type="checkbox" id="Enabled" name="Enabled" checked="checked">
|
||||
}
|
||||
else
|
||||
{
|
||||
<input type="checkbox" id="Enabled" name="Enabled">
|
||||
}
|
||||
</label>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="form-group">
|
||||
<label for="Ip" class="col-lg-2 control-label">CouchPotato Hostname or IP</label>
|
||||
<div class="col-lg-10">
|
||||
<input type="text" class="form-control" id="Ip" name="Ip" placeholder="localhost" value="@Model.Ip">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<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="Port" placeholder="Port Number" value="@port">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="form-group">
|
||||
<label for="ApiKey" class="col-lg-2 control-label">CouchPotato API Key</label>
|
||||
<div class="col-lg-10">
|
||||
<input type="text" class="form-control" id="ApiKey" name="ApiKey" value="@Model.ApiKey">
|
||||
</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>
|
||||
|
||||
|
198
PlexRequests.UI/Views/Admin/Settings.cshtml
Normal file
198
PlexRequests.UI/Views/Admin/Settings.cshtml
Normal file
|
@ -0,0 +1,198 @@
|
|||
@Html.Partial("/Admin/_Sidebar")
|
||||
@{
|
||||
int port;
|
||||
var authToken = string.Empty;
|
||||
if (Model.Port == 0)
|
||||
{
|
||||
port = 3579;
|
||||
}
|
||||
else
|
||||
{
|
||||
port = Model.Port;
|
||||
}
|
||||
|
||||
}
|
||||
<div class="col-sm-8">
|
||||
<form class="form-horizontal" method="POST" action="/admin/couchpotato" id="mainForm">
|
||||
<fieldset>
|
||||
<legend>Request Plex Settings</legend>
|
||||
<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="Port" placeholder="Port Number" value="@port">
|
||||
</div>
|
||||
</div>
|
||||
<small class="col-lg-10 col-lg-offset-2">You will have to restart after changing the port.</small>
|
||||
<div class="form-group">
|
||||
<label for="SearchForMovies" class="col-lg-2 control-label">Search for Movies</label>
|
||||
<div class="col-lg-10 checkbox">
|
||||
<label>
|
||||
@if (Model.SearchForMovies)
|
||||
{
|
||||
<input type="checkbox" id="SearchForMovies" name="SearchForMovies" checked="checked">
|
||||
}
|
||||
else
|
||||
{
|
||||
<input type="checkbox" id="SearchForMovies" name="SearchForMovies">
|
||||
}
|
||||
</label>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="form-group">
|
||||
<label for="SearchForTvShows" class="col-lg-2 control-label">Search for TV Shows</label>
|
||||
<div class="col-lg-10 checkbox">
|
||||
<label>
|
||||
@if (Model.SearchForTvShows)
|
||||
{
|
||||
<input type="checkbox" id="SearchForTvShows" name="SearchForTvShows" checked="checked">
|
||||
}
|
||||
else
|
||||
{
|
||||
<input type="checkbox" id="SearchForTvShows" name="SearchForTvShows">
|
||||
}
|
||||
</label>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="form-group">
|
||||
<label for="WeeklyRequestLimit" class="col-lg-2 control-label">Weekly Request Limit</label>
|
||||
<div class="col-lg-10 checkbox">
|
||||
<label>
|
||||
<input type="number" id="WeeklyRequestLimit" name="WeeklyRequestLimit" value="@Model.WeeklyRequestLimit">
|
||||
</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</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">
|
||||
<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 () {
|
||||
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>
|
8
PlexRequests.UI/Views/Admin/_Sidebar.cshtml
Normal file
8
PlexRequests.UI/Views/Admin/_Sidebar.cshtml
Normal file
|
@ -0,0 +1,8 @@
|
|||
<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/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>
|
||||
</div>
|
||||
</div>
|
2
PlexRequests.UI/Views/Index.cshtml
Normal file
2
PlexRequests.UI/Views/Index.cshtml
Normal file
|
@ -0,0 +1,2 @@
|
|||
Home
|
||||
|
19
PlexRequests.UI/Views/Login/Index.cshtml
Normal file
19
PlexRequests.UI/Views/Login/Index.cshtml
Normal file
|
@ -0,0 +1,19 @@
|
|||
<form method="POST">
|
||||
Username <input class="form-control" type="text" name="Username"/>
|
||||
<br/>
|
||||
Password <input class="form-control" name="Password" type="password"/>
|
||||
<br/>
|
||||
Remember Me <input name="RememberMe" type="checkbox" value="True"/>
|
||||
<br/>
|
||||
<input class="btn btn-success" type="submit" value="Login"/>
|
||||
</form>
|
||||
|
||||
If you have not yet created an Admin account you can do here: <a href="/register">Register</a>
|
||||
|
||||
@if (Model.Errored)
|
||||
{
|
||||
<div class="alert alert-dismissible alert-danger">
|
||||
<button type="button" class="close" data-dismiss="alert"><i class="fa fa-times"></i></button>
|
||||
Invalid Username or Password!
|
||||
</div>
|
||||
}
|
15
PlexRequests.UI/Views/Login/Register.cshtml
Normal file
15
PlexRequests.UI/Views/Login/Register.cshtml
Normal file
|
@ -0,0 +1,15 @@
|
|||
<form method="POST">
|
||||
Username <input class="form-control" type="text" name="Username" />
|
||||
<br />
|
||||
Password <input class="form-control" name="Password" type="password" />
|
||||
<br />
|
||||
<br />
|
||||
<input class="btn btn-success" type="submit" value="Create User" />
|
||||
</form>
|
||||
@if (Model.Errored)
|
||||
{
|
||||
<div class="alert alert-dismissible alert-danger">
|
||||
<button type="button" class="close" data-dismiss="alert"><i class="fa fa-times"></i></button>
|
||||
An admin account already exists!
|
||||
</div>
|
||||
}
|
90
PlexRequests.UI/Views/Requests/Index.cshtml
Normal file
90
PlexRequests.UI/Views/Requests/Index.cshtml
Normal file
|
@ -0,0 +1,90 @@
|
|||
<div>
|
||||
<h1>Requests</h1>
|
||||
<h4>Below you can see yours and all other requests, as well as their download and approval status.</h4>
|
||||
<!-- Nav tabs -->
|
||||
<ul id="nav-tabs" class="nav nav-tabs" role="tablist">
|
||||
<li role="presentation" class="active"><a href="#MoviesTab" aria-controls="home" role="tab" data-toggle="tab">Movies</a></li>
|
||||
<li role="presentation"><a href="#TvShowTab" aria-controls="profile" role="tab" data-toggle="tab">TV Shows</a></li>
|
||||
|
||||
</ul>
|
||||
|
||||
<!-- Tab panes -->
|
||||
<div class="tab-content">
|
||||
|
||||
<!-- Movie tab -->
|
||||
<div role="tabpanel" class="tab-pane active" id="MoviesTab">
|
||||
<br />
|
||||
<br />
|
||||
<!-- Movie content -->
|
||||
<div id="movieList">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- TV tab -->
|
||||
<div role="tabpanel" class="tab-pane" id="TvShowTab">
|
||||
<br />
|
||||
<br />
|
||||
<!-- TV content -->
|
||||
<div id="tvList">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
<script id="search-template" type="text/x-handlebars-template">
|
||||
<div id="{{id}}Template">
|
||||
<div class="row">
|
||||
<div class="col-sm-2">
|
||||
{{#if posterPath}}
|
||||
<img src="http://image.tmdb.org/t/p/w150/{{posterPath}}" alt="poster">
|
||||
{{/if}}
|
||||
</div>
|
||||
<div class="col-sm-5 ">
|
||||
<div>
|
||||
<a href="https://www.themoviedb.org/{{type}}/{{id}}">
|
||||
<h4>{{title}} ({{year}})</h4>
|
||||
</a>
|
||||
<span class="label label-success">{{status}}</span>
|
||||
</div>
|
||||
<br />
|
||||
<p>Release Date: {{releaseDate}}</p>
|
||||
<p>
|
||||
Approved:
|
||||
{{#if_eq approved false}}
|
||||
<i class="fa fa-times"></i>
|
||||
{{/if_eq}}
|
||||
{{#if_eq approved true}}
|
||||
<i class="fa fa-check"></i>
|
||||
{{/if_eq}}
|
||||
</p>
|
||||
<p>
|
||||
Available
|
||||
{{#if_eq available false}}
|
||||
<i class="fa fa-times"></i>
|
||||
{{/if_eq}}
|
||||
{{#if_eq available true}}
|
||||
<i class="fa fa-check"></i>
|
||||
{{/if_eq}}
|
||||
</p>
|
||||
<p>Requested By: {{requestedBy}}</p>
|
||||
<p>Requested Date: {{requestedDate}}</p>
|
||||
</div>
|
||||
<div class="col-sm-2 col-sm-push-3">
|
||||
<br />
|
||||
<br />
|
||||
<form method="POST" action="/requests/delete" id="form{{id}}">
|
||||
<input name="Id" type="text" value="{{id}}" hidden="hidden" />
|
||||
<input name="Type" type="text" value="{{type}}" hidden="hidden" />
|
||||
<button id="{{id}}" style="text-align: right" class="btn btn-danger delete" type="submit"><i class="fa fa-plus"></i> Remove</button>
|
||||
</form>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<hr />
|
||||
</div>
|
||||
</script>
|
||||
|
||||
|
||||
<script src="/Content/requests.js" type="text/javascript"></script>
|
94
PlexRequests.UI/Views/Search/Index.cshtml
Normal file
94
PlexRequests.UI/Views/Search/Index.cshtml
Normal file
|
@ -0,0 +1,94 @@
|
|||
<div>
|
||||
<h2>Search</h2>
|
||||
<h4>Want to wacth something that is not currently on Plex?! No problem! Just search for it below and request it!</h4>
|
||||
<!-- Nav tabs -->
|
||||
<ul id="nav-tabs" class="nav nav-tabs" role="tablist">
|
||||
<li role="presentation" class="active"><a href="#MoviesTab" aria-controls="home" role="tab" data-toggle="tab">Movies</a></li>
|
||||
<li role="presentation"><a href="#TvShowTab" aria-controls="profile" role="tab" data-toggle="tab">TV Shows</a></li>
|
||||
|
||||
</ul>
|
||||
|
||||
<!-- Tab panes -->
|
||||
<div class="tab-content">
|
||||
|
||||
<!-- Movie tab -->
|
||||
<div role="tabpanel" class="tab-pane active" id="MoviesTab">
|
||||
<div class="input-group">
|
||||
<input id="movieSearchContent" type="text" class="form-control">
|
||||
<div class="input-group-addon">
|
||||
<i class="fa fa-search"></i>
|
||||
</div>
|
||||
</div>
|
||||
<br />
|
||||
<br />
|
||||
<!-- Movie content -->
|
||||
<div id="movieList">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- TV tab -->
|
||||
<div role="tabpanel" class="tab-pane" id="TvShowTab">
|
||||
<div class="input-group">
|
||||
<input id="tvSearchContent" type="text" class="form-control">
|
||||
<div class="input-group-addon">
|
||||
<i class="fa fa-search"></i>
|
||||
</div>
|
||||
</div>
|
||||
<br />
|
||||
<br />
|
||||
<!-- TV content -->
|
||||
<div id="tvList">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
<script id="search-template" type="text/x-handlebars-template">
|
||||
<div class="row">
|
||||
<div class="col-sm-2">
|
||||
{{#if posterPath}}
|
||||
<img src="http://image.tmdb.org/t/p/w150/{{posterPath}}" alt="poster">
|
||||
{{/if}}
|
||||
</div>
|
||||
<div class="col-sm-5 ">
|
||||
<div>
|
||||
<a href="https://www.themoviedb.org/{{type}}/{{id}}">
|
||||
<h4>{{title}} ({{year}})</h4>
|
||||
</a>
|
||||
</div>
|
||||
<p>{{overview}}</p>
|
||||
</div>
|
||||
<div class="col-sm-2 col-sm-push-3">
|
||||
<form method="POST" action="/search/request/{{type}}" id="form{{id}}">
|
||||
<input name="{{type}}Id" type="text" value="{{id}}" hidden="hidden" />
|
||||
{{#if_eq type "movie"}}
|
||||
<button id="{{id}}" style="text-align: right" class="btn btn-primary requestMovie" type="submit"><i class="fa fa-plus"></i> Request</button>
|
||||
{{/if_eq}}
|
||||
{{#if_eq type "tv"}}
|
||||
<div class="dropdown">
|
||||
<button id="{{id}}" class="btn btn-primary dropdown-toggle" type="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="true">
|
||||
<i class="fa fa-plus"></i> Request
|
||||
<span class="caret"></span>
|
||||
</button>
|
||||
<ul class="dropdown-menu" aria-labelledby="dropdownMenu1">
|
||||
<li><a id="{{id}}" season-select="0" class="dropdownTv " href="#">All Seasons</a></li>
|
||||
<li><a id="{{id}}" season-select="1" class="dropdownTv" href="#">Latest Season</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
{{/if_eq}}
|
||||
<br />
|
||||
<br />
|
||||
<br />
|
||||
<small class="row">Vote Average: {{voteAverage}}</small>
|
||||
<small class="row">Vote Count: {{voteCount}}</small>
|
||||
</form>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<hr />
|
||||
</script>
|
||||
|
||||
|
||||
<script src="/Content/search.js" type="text/javascript"></script>
|
54
PlexRequests.UI/Views/Shared/_Layout.cshtml
Normal file
54
PlexRequests.UI/Views/Shared/_Layout.cshtml
Normal file
|
@ -0,0 +1,54 @@
|
|||
@using Nancy.Security
|
||||
@inherits Nancy.ViewEngines.Razor.NancyRazorViewBase
|
||||
|
||||
<!-- Styles -->
|
||||
<link rel="stylesheet" href="~/Content/custom.css" type="text/css"/>
|
||||
<link rel="stylesheet" href="~/Content/bootstrap.css" type="text/css"/>
|
||||
<link rel="stylesheet" href="~/Content/font-awesome.css" type="text/css"/>
|
||||
|
||||
<!-- Scripts -->
|
||||
<script src="/Content/jquery-2.2.1.min.js"></script>
|
||||
<script src="/Content/handlebars.js"></script>
|
||||
<script src="/Content/bootstrap.min.js"></script>
|
||||
<script src="/Content/bootstrap-notify.min.js"></script>
|
||||
<script src="/Content/site.js"></script>
|
||||
|
||||
<nav class="navbar navbar-default">
|
||||
<div class="container-fluid">
|
||||
<div class="navbar-header">
|
||||
<button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#bs-example-navbar-collapse-1">
|
||||
<span class="sr-only">Toggle navigation</span>
|
||||
<span class="icon-bar"></span>
|
||||
<span class="icon-bar"></span>
|
||||
<span class="icon-bar"></span>
|
||||
</button>
|
||||
<a class="navbar-brand" href="#">Plex Requests</a>
|
||||
</div>
|
||||
|
||||
<div class="collapse navbar-collapse" id="bs-example-navbar-collapse-1">
|
||||
<ul class="nav navbar-nav">
|
||||
<li class="active"><a href="/search">Search</a></li>
|
||||
@if (Context.CurrentUser.IsAuthenticated())
|
||||
{
|
||||
<li><a href="/admin">Admin</a></li>
|
||||
}
|
||||
<li><a href="/requests">Requests</a></li>
|
||||
</ul>
|
||||
<ul class="nav navbar-nav navbar-right">
|
||||
@if (!Context.CurrentUser.IsAuthenticated())
|
||||
{
|
||||
<li><a href="/login">Login</a></li>
|
||||
}
|
||||
else
|
||||
{
|
||||
<li><a href="/logout">Logout</a></li>
|
||||
}
|
||||
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
</nav>
|
||||
|
||||
<div class="container">
|
||||
@RenderBody()
|
||||
</div>
|
7
PlexRequests.UI/Views/UserLogin/Index.cshtml
Normal file
7
PlexRequests.UI/Views/UserLogin/Index.cshtml
Normal file
|
@ -0,0 +1,7 @@
|
|||
<form method="POST">
|
||||
Username <input class="form-control" type="text" name="Username"/>
|
||||
<br/>
|
||||
Password <input class="form-control" name="Password" type="password"/>
|
||||
<br/>
|
||||
<input class="btn btn-success" type="submit" value="Login"/>
|
||||
</form>
|
3
PlexRequests.UI/Views/_ViewStart.cshtml
Normal file
3
PlexRequests.UI/Views/_ViewStart.cshtml
Normal file
|
@ -0,0 +1,3 @@
|
|||
@{
|
||||
Layout = "Views/Shared/_Layout.cshtml";
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue