diff --git a/PlexRequests.Helpers/LoggingHelper.cs b/PlexRequests.Helpers/LoggingHelper.cs
index db7270db3..49eb9d0f7 100644
--- a/PlexRequests.Helpers/LoggingHelper.cs
+++ b/PlexRequests.Helpers/LoggingHelper.cs
@@ -97,6 +97,18 @@ public static void ConfigureLogging(string connectionString)
var rule1 = new LoggingRule("*", LogLevel.Info, databaseTarget);
config.LoggingRules.Add(rule1);
+
+ var fileTarget = new FileTarget
+ {
+ Name = "file",
+ FileName = "logs/${shortdate}.log",
+ Layout = "${date} ${logger} ${level}: ${message} ${exception:tostring}",
+ CreateDirs = true
+ };
+ config.AddTarget(fileTarget);
+ var rule2 = new LoggingRule("*", LogLevel.Trace, fileTarget);
+ config.LoggingRules.Add(rule2);
+
// Step 5. Activate the configuration
LogManager.Configuration = config;
}
diff --git a/PlexRequests.UI/Content/search.js b/PlexRequests.UI/Content/search.js
index 176bb7d3c..62ed6843b 100644
--- a/PlexRequests.UI/Content/search.js
+++ b/PlexRequests.UI/Content/search.js
@@ -31,10 +31,15 @@ $("#tvSearchContent").on("input", function () {
// Click TV dropdown option
$(document).on("click", ".dropdownTv", function (e) {
+ e.preventDefault();
var buttonId = e.target.id;
+ if ($("#" + buttonId).attr('disabled')) {
+ return;
+ }
+
$("#" + buttonId).prop("disabled", true);
+ loadingButton(buttonId, "primary");
- e.preventDefault();
var $form = $('#form' + buttonId);
var data = $form.serialize();
@@ -53,15 +58,19 @@ $(document).on("click", ".dropdownTv", function (e) {
var url = $form.prop('action');
sendRequestAjax(data, type, url, buttonId);
- $("#" + buttonId).prop("disabled", false);
});
// Click Request for movie
$(document).on("click", ".requestMovie", function (e) {
+ e.preventDefault();
var buttonId = e.target.id;
+ if ($("#" + buttonId).attr('disabled')) {
+ return;
+ }
+
$("#" + buttonId).prop("disabled", true);
loadingButton(buttonId, "primary");
- e.preventDefault();
+
var $form = $('#form' + buttonId);
@@ -70,7 +79,7 @@ $(document).on("click", ".requestMovie", function (e) {
var data = $form.serialize();
sendRequestAjax(data, type, url, buttonId);
- $("#" + buttonId).prop("disabled", false);
+
});
function sendRequestAjax(data, type, url, buttonId) {
@@ -90,6 +99,9 @@ function sendRequestAjax(data, type, url, buttonId) {
$('#' + buttonId).addClass("btn-success-outline");
} else {
generateNotify(response.message, "warning");
+ $('#' + buttonId).html(" Request");
+ $('#' + buttonId).attr("data-toggle", "dropdown");
+ $("#" + buttonId).removeAttr("disabled");
}
},
error: function (e) {
diff --git a/PlexRequests.UI/Modules/SearchModule.cs b/PlexRequests.UI/Modules/SearchModule.cs
index 6b03f15dd..1a77c6247 100644
--- a/PlexRequests.UI/Modules/SearchModule.cs
+++ b/PlexRequests.UI/Modules/SearchModule.cs
@@ -224,22 +224,54 @@ private Response RequestMovie(int movieId)
Log.Trace("Settings: ");
Log.Trace(cpSettings.DumpJson);
+ if (cpSettings.Enabled)
+ {
+ Log.Info("Adding movie to CP (No approval required)");
+ var result = CouchPotatoApi.AddMovie(model.ImdbId, cpSettings.ApiKey, model.Title,
+ cpSettings.FullUri, cpSettings.ProfileId);
+ Log.Debug("Adding movie to CP result {0}", result);
+ if (result)
+ {
+ model.Approved = true;
+ Log.Debug("Adding movie to database requests (No approval required)");
+ RequestService.AddRequest(model);
+
+ var notificationModel = new NotificationModel
+ {
+ Title = model.Title,
+ User = model.RequestedBy,
+ DateTime = DateTime.Now,
+ NotificationType = NotificationType.NewRequest
+ };
+ NotificationService.Publish(notificationModel);
- Log.Info("Adding movie to CP (No approval required)");
- var result = CouchPotatoApi.AddMovie(model.ImdbId, cpSettings.ApiKey, model.Title, cpSettings.FullUri, cpSettings.ProfileId);
- Log.Debug("Adding movie to CP result {0}", result);
- if (result)
+ return Response.AsJson(new JsonResponseModel {Result = true});
+ }
+ return
+ Response.AsJson(new JsonResponseModel
+ {
+ Result = false,
+ Message =
+ "Something went wrong adding the movie to CouchPotato! Please check your settings."
+ });
+ }
+ else
{
model.Approved = true;
Log.Debug("Adding movie to database requests (No approval required)");
RequestService.AddRequest(model);
- var notificationModel = new NotificationModel { Title = model.Title, User = model.RequestedBy, DateTime = DateTime.Now, NotificationType = NotificationType.NewRequest };
+ var notificationModel = new NotificationModel
+ {
+ Title = model.Title,
+ User = model.RequestedBy,
+ DateTime = DateTime.Now,
+ NotificationType = NotificationType.NewRequest
+ };
NotificationService.Publish(notificationModel);
return Response.AsJson(new JsonResponseModel { Result = true });
}
- return Response.AsJson(new JsonResponseModel { Result = false, Message = "Something went wrong adding the movie to CouchPotato! Please check your settings." });
}
try
@@ -305,7 +337,7 @@ private Response RequestTvShow(int showId, string seasons)
Approved = false,
RequestedBy = Session[SessionKeys.UsernameKey].ToString(),
Issues = IssueState.None,
- ImdbId = showInfo.externals?.imdb ?? string.Empty,
+ ImdbId = showInfo.externals?.imdb ?? string.Empty,
SeasonCount = showInfo.seasonCount
};
var seasonsList = new List();
@@ -323,7 +355,7 @@ private Response RequestTvShow(int showId, string seasons)
model.SeasonsRequested = "All";
break;
}
-
+
model.SeasonList = seasonsList.ToArray();
var settings = PrService.GetSettings();
diff --git a/PlexRequests.UI/NLog.config b/PlexRequests.UI/NLog.config
index 9adcfc54b..42f8fbfdb 100644
--- a/PlexRequests.UI/NLog.config
+++ b/PlexRequests.UI/NLog.config
@@ -13,22 +13,8 @@
layout="${date} ${logger} ${level}: ${message}" />
-
-
-
\ No newline at end of file
diff --git a/PlexRequests.UI/Views/Search/Index.cshtml b/PlexRequests.UI/Views/Search/Index.cshtml
index 1e0a50cc2..4356c069a 100644
--- a/PlexRequests.UI/Views/Search/Index.cshtml
+++ b/PlexRequests.UI/Views/Search/Index.cshtml
@@ -76,9 +76,15 @@