1
0
Fork 0
mirror of https://github.com/jellyfin/jellyfin-web synced 2025-03-30 19:56:21 +00:00

update configuration for virtual episodes

This commit is contained in:
Luke Pulverenti 2013-10-25 10:18:53 -04:00
parent d2bbd5b4ad
commit cd21add046
11 changed files with 23 additions and 119 deletions

View file

@ -11,7 +11,6 @@
<div class="content-primary">
<div data-role="controlgroup" data-type="horizontal" class="localnav" data-mini="true">
<a href="metadata.html" data-role="button">Basics</a>
<a href="metadatatv.html" data-role="button">TV Settings</a>
<a href="metadataimages.html" data-role="button">Images</a>
<a href="advancedmetadata.html" data-role="button" class="ui-btn-active">Advanced</a>
</div>

View file

@ -9,6 +9,7 @@
<div class="libraryViewNav">
<a href="tvrecommended.html">Suggested</a>
<a href="tvnextup.html">Next up</a>
<a href="tvupcoming.html">Upcoming</a>
<a href="tvshows.html">Shows</a>
<a href="episodes.html" class="ui-btn-active">Episodes</a>
<a href="tvgenres.html">Genres</a>

View file

@ -11,7 +11,6 @@
<div class="content-primary">
<div data-role="controlgroup" data-type="horizontal" class="localnav" data-mini="true">
<a href="metadata.html" data-role="button" class="ui-btn-active">Basics</a>
<a href="metadatatv.html" data-role="button">TV Settings</a>
<a href="metadataimages.html" data-role="button">Images</a>
<a href="advancedmetadata.html" data-role="button">Advanced</a>
</div>
@ -39,6 +38,11 @@
<label for="chkEnableTmdbPersonUpdates">Enable automatic tmdb updates</label>
<div class="fieldDescription">If enabled, movies and people will be updated automatically as they are updated on the themoviedb.org.</div>
</li>
<li>
<input type="checkbox" id="chkEnableTvdbUpdates" name="chkEnableTvdbUpdates" />
<label for="chkEnableTvdbUpdates">Enable automatic tvdb updates</label>
<div class="fieldDescription">If enabled, tv series and episodes will be updated automatically as they are updated on the tvdb.com.</div>
</li>
<li>
<button type="submit" data-theme="b" data-icon="ok">
Save

View file

@ -11,7 +11,6 @@
<div class="content-primary">
<div data-role="controlgroup" data-type="horizontal" class="localnav" data-mini="true">
<a href="metadata.html" data-role="button">Basics</a>
<a href="metadatatv.html" data-role="button">TV Settings</a>
<a href="metadataimages.html" data-role="button" class="ui-btn-active">Images</a>
<a href="advancedmetadata.html" data-role="button">Advanced</a>
</div>

View file

@ -1,55 +0,0 @@
<!DOCTYPE html>
<html>
<head>
<title>Metadata</title>
</head>
<body>
<div id="metadataTvPage" data-role="page" class="page type-interior">
<div data-role="content">
<div class="content-primary">
<div data-role="controlgroup" data-type="horizontal" class="localnav" data-mini="true">
<a href="metadata.html" data-role="button">Basics</a>
<a href="metadatatv.html" data-role="button" class="ui-btn-active">TV Settings</a>
<a href="metadataimages.html" data-role="button">Images</a>
<a href="advancedmetadata.html" data-role="button">Advanced</a>
</div>
<form id="metadataTvForm">
<ul data-role="listview" class="ulForm">
<li>
<input type="checkbox" id="chkEnableTvdbUpdates" name="chkEnableTvdbUpdates" />
<label for="chkEnableTvdbUpdates">Enable automatic tvdb updates</label>
<div class="fieldDescription">If enabled, tv series and episodes will be updated automatically as they are updated on the tvdb.com.</div>
</li>
<li>
<input type="checkbox" id="chkCreateMissingEpisodes" name="chkCreateMissingEpisodes" />
<label for="chkCreateMissingEpisodes">Import missing episodes</label>
<div class="fieldDescription">Display missing episodes as part of your library.</div>
</li>
<li>
<input type="checkbox" id="chkCreateFutureEpisodes" name="chkCreateFutureEpisodes" />
<label for="chkCreateFutureEpisodes">Import future episodes</label>
<div class="fieldDescription">Display future episodes as part of your library. Automatic Tvdb updates are highly recommended to stay up to date with new metadata.</div>
</li>
<li>
<button type="submit" data-theme="b" data-icon="ok">
Save
</button>
<button type="button" onclick="Dashboard.navigate('dashboard.html');" data-icon="delete">
Cancel
</button>
</li>
</ul>
</form>
</div>
</div>
<script type="text/javascript">
$('#metadataTvForm').on('submit', MetadataTVPage.onSubmit);
</script>
</div>
</body>
</html>

View file

@ -36,7 +36,7 @@
if (item.LocationType == "Virtual" && item.Type == "Episode") {
try {
if (item.PremiereDate && (new Date().getTime() >= parseISO8601Date(item.PremiereDate).getTime())) {
if (item.PremiereDate && (new Date().getTime() >= parseISO8601Date(item.PremiereDate, { toLocal: true }).getTime())) {
isMissingEpisode = true;
}
} catch (err) {
@ -610,7 +610,7 @@
try {
var date = parseISO8601Date(review.Date, true).toLocaleDateString();
var date = parseISO8601Date(review.Date, { toLocal: true }).toLocaleDateString();
html += '<span class="reviewDate">' + date + '</span>';
}

View file

@ -47,7 +47,7 @@
if (item.Type == "Episode" && item.LocationType == "Virtual") {
try {
if (item.PremiereDate && (new Date().getTime() >= parseISO8601Date(item.PremiereDate).getTime())) {
if (item.PremiereDate && (new Date().getTime() >= parseISO8601Date(item.PremiereDate, { toLocal: true }).getTime())) {
htmlName += '<img src="css/images/editor/missing.png" title="Missing episode." />';
}
} catch (err) {

View file

@ -671,7 +671,7 @@
if (item.PremiereDate) {
try {
futureDateText = LibraryBrowser.getFutureDateText(parseISO8601Date(item.PremiereDate), true);
futureDateText = LibraryBrowser.getFutureDateText(parseISO8601Date(item.PremiereDate, { toLocal: true }), true);
} catch (err) {
@ -884,7 +884,7 @@
try {
var date = parseISO8601Date(item.PremiereDate);
var date = parseISO8601Date(item.PremiereDate, { toLocal: true });
html += "<div class='posterItemText'>";
html += LibraryBrowser.getPremiereDateText(item, date);
@ -1020,7 +1020,10 @@
}
try {
if (item.PremiereDate && (new Date().getTime() < parseISO8601Date(item.PremiereDate).getTime())) {
var date = parseISO8601Date(item.PremiereDate, { toLocal: true });
if (item.PremiereDate && (new Date().getTime() < date.getTime())) {
return '<div class="posterRibbon unairedPosterRibbon">Unaired</div>';
}
} catch (err) {
@ -1051,7 +1054,10 @@
if (!isPlayed) {
try {
if (date && (new Date().getTime() - parseISO8601Date(date).getTime()) < 604800000) {
var parsedDate = parseISO8601Date(item.PremiereDate, { toLocal: true });
if (date && (new Date().getTime() - parsedDate.getTime()) < 604800000) {
return "<div class='posterRibbon'>New</div>";
}
} catch (err) {

View file

@ -43,6 +43,7 @@
$('#selectCountry', page).val(config.MetadataCountryCode).selectmenu("refresh");
$('#chkEnableInternetProviders', page).checked(config.EnableInternetProviders).checkboxradio("refresh");
$('#chkEnableTmdbPersonUpdates', page).checked(config.EnableTmdbUpdates).checkboxradio("refresh");
$('#chkEnableTvdbUpdates', page).checked(config.EnableTvDbUpdates).checkboxradio("refresh");
Dashboard.hideLoadingMsg();
},
@ -91,6 +92,7 @@
config.SaveLocalMeta = $('#chkSaveLocal', form).checked();
config.PreferredMetadataLanguage = $('#selectLanguage', form).val();
config.MetadataCountryCode = $('#selectCountry', form).val();
config.EnableTvDbUpdates = $('#chkEnableTvdbUpdates', form).checked();
ApiClient.updateServerConfiguration(config).done(Dashboard.processServerConfigurationUpdateResult);
});

View file

@ -1,52 +0,0 @@
var MetadataTVPage = {
onPageShow: function () {
Dashboard.showLoadingMsg();
var page = this;
ApiClient.getServerConfiguration().done(function (result) {
MetadataTVPage.load(page, result);
});
},
load: function (page, config) {
var chkEnableTvdbUpdates = $('#chkEnableTvdbUpdates', page).checked(config.EnableTvDbUpdates).checkboxradio("refresh");
var chkCreateMissingEpisodes = $('#chkCreateMissingEpisodes', page).checked(config.CreateVirtualMissingEpisodes).checkboxradio("refresh");
var chkCreateFutureEpisodes = $('#chkCreateFutureEpisodes', page).checked(config.CreateVirtualFutureEpisodes).checkboxradio("refresh");
if (config.EnableInternetProviders) {
chkEnableTvdbUpdates.checkboxradio("enable");
chkCreateMissingEpisodes.checkboxradio("enable");
chkCreateFutureEpisodes.checkboxradio("enable");
} else {
chkEnableTvdbUpdates.checkboxradio("disable");
chkCreateMissingEpisodes.checkboxradio("disable");
chkCreateFutureEpisodes.checkboxradio("disable");
}
Dashboard.hideLoadingMsg();
},
onSubmit: function () {
var form = this;
Dashboard.showLoadingMsg();
ApiClient.getServerConfiguration().done(function (config) {
config.EnableTvDbUpdates = $('#chkEnableTvdbUpdates', form).checked();
config.CreateVirtualMissingEpisodes = $('#chkCreateMissingEpisodes', form).checked();
config.CreateVirtualFutureEpisodes = $('#chkCreateFutureEpisodes', form).checked();
ApiClient.updateServerConfiguration(config).done(Dashboard.processServerConfigurationUpdateResult);
});
// Disable default form submission
return false;
}
};
$(document).on('pageshow', "#metadataTvPage", MetadataTVPage.onPageShow);

View file

@ -11,7 +11,7 @@
SortBy: "PremiereDate,AirTime",
SortOrder: "Ascending",
IncludeItemTypes: "Episode",
Limit: 40,
Limit: 30,
Recursive: true,
Fields: "PrimaryImageAspectRatio,SeriesInfo,UserData",
HasPremiereDate: true,
@ -21,7 +21,7 @@
ApiClient.getItems(Dashboard.getCurrentUserId(), options).done(function (result) {
if (!result.Items.length) {
$('#upcomingItems', page).html("Nothing here. To utilize this feature, please enable future episodes in the dashboard metadata configuration.");
$('#upcomingItems', page).html("<p>Nothing here. Please ensure <a href='metadata.html'>downloading of internet metadata</a> is enabled.</p>").trigger('create');
return;
}
$('#upcomingItems', page).html(LibraryBrowser.getPosterViewHtml({