mirror of https://github.com/evilhero/mylar
960 lines
64 KiB
HTML
Executable File
960 lines
64 KiB
HTML
Executable File
<%inherit file="base.html"/>
|
|
<%!
|
|
import os, re
|
|
from mylar import db, helpers
|
|
import mylar
|
|
%>
|
|
|
|
<%def name="headerIncludes()">
|
|
<div id="subhead_container">
|
|
<div id="subhead_menu">
|
|
<a id="menu_link_refresh" onclick="doAjaxCall('refreshSeries?ComicID=${comic['ComicID']}', $(this), 'tabs');" href="#" data-success="${comic['ComicName']} is being refreshed">Refresh Comic</a>
|
|
<a id="menu_link_delete" href="#">Delete Comic</a>
|
|
<div id="dialog" title="Delete Series Confirmation" style="display:none" class="configtable">
|
|
<form action="deleteSeries" method="GET" style="vertical-align: middle; text-align: center">
|
|
</br><input type="submit" value="Delete Series">
|
|
<div class="row checkbox left clearfix">
|
|
</br>
|
|
<input type="checkbox" style="vertical-align: middle; margin: 3px; margin-top: -1px;" name="delete_dir" id="deleteCheck" value="1" ${comicConfig['delete_dir']} /><label>Remove directory when deleting Series?</label>
|
|
</div>
|
|
<input type="hidden" name="ComicID" value=${comic['ComicID']}>
|
|
</form>
|
|
</div>
|
|
|
|
%if mylar.CONFIG.RENAME_FILES:
|
|
<a id="menu_link_refresh" onclick="doAjaxCall('manualRename?comicid=${comic['ComicID']}', $(this),'table')" data-success="Renaming files.">Rename Files</a>
|
|
%endif
|
|
<a id="menu_link_refresh" onclick="doAjaxCall('forceRescan?ComicID=${comic['ComicID']}', $(this), 'table');" data-success="${comic['ComicName']} is being rescanned">Recheck Files</a>
|
|
%if mylar.CONFIG.ENABLE_META:
|
|
<a id="menu_link_refresh" onclick="doAjaxCall('group_metatag?ComicID=${comic['ComicID']}&dirName=${comic['ComicLocation'] |u}', $(this),'table');refreshLoadSeries();" data-success="(re)tagging every issue present for '${comic['ComicName']}'">Manual MetaTagging</a>
|
|
%endif
|
|
%if comic['Status'] == 'Paused':
|
|
<a id="menu_link_resume" href="#" onclick="doAjaxCall('resumeSeries?ComicID=${comic['ComicID']}',$(this),true)" data-success="${comic['ComicName']} resumed">Resume Comic</a>
|
|
%else:
|
|
<a id="menu_link_pauze" href="#" onclick="doAjaxCall('pauseSeries?ComicID=${comic['ComicID']}',$(this),true)" data-success="${comic['ComicName']} paused">Pause Comic</a>
|
|
%endif
|
|
%if annuals:
|
|
<a id="menu_link_delete" href="annualDelete?comicid=${comic['ComicID']}">Delete Annuals</a>
|
|
%endif
|
|
|
|
<a id="menu_link_addalltoRL" href="#" class="menu_link_addalltoRL">Add All to Readinglist</a>
|
|
</div>
|
|
</div>
|
|
</%def>
|
|
<%def name="body()">
|
|
|
|
<div id="paddingheader">
|
|
<h1>
|
|
</br>
|
|
%if comic['Status'] == 'Loading':
|
|
<img src="interfaces/default/images/loader_black.gif" alt="loading" style="float:left; margin-right: 5px;"/>
|
|
%endif
|
|
<div class="row">
|
|
<a href="${comic['DetailURL']}" target="_blank">${comic['ComicName']} (${comic['ComicYear']})</a>
|
|
%if comic['Status'] == 'Loading':
|
|
<h3><i>(Comic information is currently being loaded)</i></h3>
|
|
%endif
|
|
</div>
|
|
</h1>
|
|
<div style="z-index:10; position: absolute; right: 0; top: 10;">
|
|
% if 'Previous' in series:
|
|
<a href="comicDetails?ComicID=${series['Previous']}"><img src="interfaces/default/images/prev.gif" width="16" height="18" /></a>
|
|
% endif
|
|
% if 'Next' in series:
|
|
<a href="comicDetails?ComicID=${series['Next']}"><img src="interfaces/default/images/next.gif" width="16" height="18" /></a>
|
|
% endif
|
|
</div>
|
|
|
|
</div>
|
|
|
|
<div id="tabs">
|
|
<ul>
|
|
<li><a href="#tabs-1">Comic Details</a></li>
|
|
<li><a href="#tabs-2">Edit Settings</a></li>
|
|
</ul>
|
|
|
|
<div id="tabs-1">
|
|
|
|
|
|
<table class="comictable" summary="Comic Details">
|
|
<tr>
|
|
<td id="mainimg">
|
|
<fieldset>
|
|
<div id="artistImg">
|
|
<img src="${comicConfig['ComicImage']}" alt="" height="400" width="263" />
|
|
</div>
|
|
</fieldset>
|
|
<%
|
|
if comicConfig['percent'] == 101:
|
|
css = '<div class=\"progress-container warning\">'
|
|
if comicConfig['percent'] == 100:
|
|
css = '<div class=\"progress-container complete\">'
|
|
if comicConfig['percent'] < 100:
|
|
css = '<div class=\"progress-container missing\">'
|
|
%>
|
|
<div style="display:table;position:relative;margin:auto;top:0px;"><span title="${comicConfig['percent']}"></span>${css}<div style="width:${comicConfig['percent']}%"><span class="progressbar-front-text">${comicConfig['haveissues']}/${comicConfig['totalissues']}</span></div></div></div>
|
|
</td>
|
|
<td width="100%" padding="10">
|
|
%if comicConfig['publisher_image'] is not None:
|
|
<img src="${comicConfig['publisher_image']}" align="right" alt="${comicConfig['publisher_image_alt']}" height="${comicConfig['publisher_imageH']}" width="${comicConfig['publisher_imageW']}" />
|
|
%endif
|
|
<fieldset>
|
|
<div>
|
|
<label><big>Publication Date: </big><norm>${comic['ComicPublished']}</norm></label>
|
|
</div>
|
|
<div>
|
|
<label><big>Publisher: </big><norm>${comic['ComicPublisher']}</norm></label>
|
|
</div>
|
|
<div>
|
|
<label><big>Status: </big><norm>${comic['Status']}</norm></label>
|
|
</div>
|
|
<%
|
|
if any([comic['Type'] == 'None', comic['Type'] is None, comic['Type'] == 'Print']) and comic['Corrected_Type'] != 'TPB':
|
|
comictype = 'Print'
|
|
else:
|
|
if comic['Corrected_Type'] is not None:
|
|
comictype = comic['Corrected_Type']
|
|
else:
|
|
comictype = comic['Type']
|
|
%>
|
|
<div>
|
|
<label><big>Edition: </big><norm>${comictype}</norm>
|
|
<%
|
|
if comicConfig['issue_list'] is not None:
|
|
cnt = 0
|
|
line = ''
|
|
for x in comicConfig['issue_list']:
|
|
if x['comicid'] is not None:
|
|
cid = helpers.listLibrary(x['comicid'])
|
|
try:
|
|
if cid[re.sub('4050-', '', x['comicid']).strip()]['comicid']:
|
|
watch = "<a href='comicDetails?ComicID=%s' title='In Watchlist'>%s</a>" % (cid[re.sub('4050-', '', x['comicid']).strip()]['comicid'], x['series'])
|
|
except:
|
|
watch = "%s" % (x['series'])
|
|
else:
|
|
watch = x['series']
|
|
if cnt == 0:
|
|
if x['issues'] is not None:
|
|
line += "<span style='display:inline-block;'>%s %s</span>" % (watch, x['issues'])
|
|
else:
|
|
line += "<span style='display:inline-block;'>%s</span>" % watch
|
|
else:
|
|
if x['issues'] is not None:
|
|
line += " / <span style='display:inline-block;'>%s %s</span>" % (watch, x['issues'])
|
|
else:
|
|
line += " / <span style='display:inline-block;'>%s</span>" % watch
|
|
cnt+=1
|
|
|
|
%>
|
|
%if comicConfig['issue_list'] is not None:
|
|
( Collects: ${line} )
|
|
%endif
|
|
</label>
|
|
</div>
|
|
<div>
|
|
<label><big>Last Updated: </big>
|
|
%if comic['LastUpdated'] is None:
|
|
<norm>Never</norm>
|
|
%else:
|
|
<norm>${comic['LastUpdated']}</norm>
|
|
%endif
|
|
</label>
|
|
</div>
|
|
<div>
|
|
<label><big>Issues in Series: </big><norm>${comic['Total']} issues</norm></label>
|
|
</div>
|
|
<div>
|
|
%if mylar.CONFIG.MULTIPLE_DEST_DIRS is not None and mylar.CONFIG.MULTIPLE_DEST_DIRS != 'None':
|
|
<%
|
|
try:
|
|
archive_path = os.path.join(mylar.CONFIG.MULTIPLE_DEST_DIRS, os.path.basename(comic['ComicLocation']))
|
|
except:
|
|
archive_path = 'None'
|
|
%>
|
|
%if os.path.exists(archive_path) and archive_path != comic['ComicLocation']:
|
|
<label><big>Directories:</big></label><br/>
|
|
<p class="tab"><norm>Primary: ${comic['ComicLocation']}</norm><br/>
|
|
<norm>Secondary: ${archive_path}</norm></label></p>
|
|
%else:
|
|
<label><big>Directory:</big><br/>
|
|
<norm>${comic['ComicLocation']}</norm></label>
|
|
%endif
|
|
%else:
|
|
<label><big>Directory</big><br/><norm>${comic['ComicLocation']}</norm></label>
|
|
%endif
|
|
</div>
|
|
<!-- <div>
|
|
<label><big>Description:</big></label><br/>
|
|
<small>${comic['Description']}</small>
|
|
--> </div>
|
|
</fieldset>
|
|
|
|
</td>
|
|
</tr>
|
|
</table>
|
|
</div>
|
|
<div id="tabs-2">
|
|
<table class="comictable" summary="Edit Settings">
|
|
<tr>
|
|
<td id="mainimg">
|
|
<fieldset>
|
|
<div class="row" id="artistImg">
|
|
<img src="${comicConfig['ComicImage']}" alt="" height="400" width="263" />
|
|
</div>
|
|
</fieldset>
|
|
<div style="display:table;position:relative;margin:auto;top:0px;"><span title="${comicConfig['percent']}"></span>${css}<div style="width:${comicConfig['percent']}%"><span class="progressbar-front-text">${comicConfig['haveissues']}/${comicConfig['totalissues']}</span></div></div></div>
|
|
</td>
|
|
<td width="100%" padding="10">
|
|
%if comicConfig['publisher_image'] is not None:
|
|
<img src="${comicConfig['publisher_image']}" align="right" alt="${comicConfig['publisher_image_alt']}" height="${comicConfig['publisher_imageH']}" width="${comicConfig['publisher_imageW']}" />
|
|
%endif
|
|
<form action="comic_config" method="GET">
|
|
<input type="hidden" name="ComicID" value=${comic['ComicID']}>
|
|
<fieldset>
|
|
<br/>
|
|
<div class="row checkbox right clearfix">
|
|
<label>Forcibly Mark as Continuing</label>
|
|
<input type="checkbox" style="vertical-align: bottom; margin: 3px; margin-top: -3px;" name="force_continuing" value="1" ${comicConfig['force_continuing']} />
|
|
<a href="#" title="Will forcibly mark this series as 'Continuing' regardless of actual status"><img src="interfaces/default/images/info32.png" height="16" alt="" /></a>
|
|
</div>
|
|
<div class="row checkbox right clearfix">
|
|
%if comic['Type'] != 'TPB':
|
|
<label>Forcibly Mark series as TPB/GN</label>
|
|
<input type="checkbox" style="vertical-align: bottom; margin: 3px; margin-top: -3px;" name="force_type" value="1" ${comicConfig['force_type']} />
|
|
<a href="#" title="Will forcibly mark this series as TPB/GN in those instances where it assumes it's a normal issue-based series"><img src="interfaces/default/images/info32.png" height="16" alt="" /></a>
|
|
%else:
|
|
<label>Forcibly Mark series as Print</label>
|
|
<input type="checkbox" style="vertical-align: bottom; margin: 3px; margin-top: -3px;" name="force_type" value="2" ${comicConfig['force_type']} />
|
|
<a href="#" title="Will forcibly mark this series as an Issue-Based series in those instances where it assumes it's a TPB/GN series"><img src="interfaces/default/images/info32.png" height="16" alt="" /></a>
|
|
%endif
|
|
</div>
|
|
%if any([comic['ComicYear'] == '2099',comic['ComicYear'] == '0000', comic['ComicYear'] == '', comic['Corrected_SeriesYear']]):
|
|
<div class="row">
|
|
<label>Series Year</label>
|
|
<input type="text" title="The series year currently is probably incorrect. This option allows it to be manually changed." name="corrected_seriesyear" value="${comic['ComicYear']}" size="10"><br/>
|
|
</div>
|
|
%endif
|
|
<div class="row">
|
|
<label>Volume Number</label>
|
|
<input type="text" name="comic_version" value="${comic['ComicVersion']}" size="20"><br/>
|
|
</div>
|
|
|
|
<div class="row">
|
|
<label>Directory Location</label>
|
|
<input type="text" name="com_location" value="${comic['ComicLocation']}" size="90"><br/>
|
|
<small>the directory where all the comics are located for this particular comic</small>
|
|
</div>
|
|
|
|
<div class="row">
|
|
<label>Alternate Search Names</label>
|
|
<input type="text" name="alt_search" value="${comic['AlternateSearch']}" size="90" />
|
|
<a href="#" title="Seperate multiple entries with ##"><img src="interfaces/default/images/info32.png" height="16" alt="" /></a>
|
|
<small>Alternate comic names to be searched in case naming is different (ie. Hack/Slash = hack-slash)</small>
|
|
</div>
|
|
|
|
<div class="row">
|
|
<label>Alternate File-Naming</label>
|
|
<input type="text" name="alt_filename" value="${comic['AlternateFileName']}" size="90">
|
|
<a href="#" title="Alternate File Naming"><img src="interfaces/default/images/info32.png" height="16" alt="" /></a>
|
|
<small>Alternate file-naming to be used when post-processing / renaming files instead of the actual title.</small>
|
|
</div>
|
|
|
|
<div class="row">
|
|
<%
|
|
year_options = "Default - Keep the Year as is\nYear Removal - Remove issue publication year from searches (dangerous)\nFuzzy the Year - Increase & Decrease the issue publication year by one"
|
|
%>
|
|
<label>Year Options</label>
|
|
<input type="radio" style="vertical-align: middle; margin: 3px; margin-top: -3px;" name="fuzzy_year" value="0" ${comicConfig['fuzzy_year0']} /> Default <input type="radio" style="vertical-align: middle; margin: 3px; margin-top: -3px;" name="fuzzy_year" value="1" ${comicConfig['fuzzy_year1']} /> Year Removal <input type="radio" style="vertical-align: middle; margin: 3px; margin-top: -3px;" name="fuzzy_year" value="2" ${comicConfig['fuzzy_year2']} /> Fuzzy the Year
|
|
<a href="#" title="${year_options}"><img src="interfaces/default/images/info32.png" valign="bottom" height="16" alt="" /></a>
|
|
</div>
|
|
|
|
%if all([mylar.CONFIG.ENABLE_32P is True, mylar.CONFIG.ENABLE_TORRENT_SEARCH is True, mylar.CONFIG.MODE_32P == 1]):
|
|
<div class="row checkbox right clearfix">
|
|
<input type="checkbox" style="vertical-align: bottom; margin: 3px; margin-top: -3px;" name="allow_packs" value="1" ${comicConfig['allow_packs']} /><label>Enable Pack Downloads<a href="#" title="Will allow downloading of multiple issues in one file (packs), but will search individual issues first"><img src="interfaces/default/images/info32.png" height="16" alt="" /></a></label>
|
|
</div>
|
|
<div class="row">
|
|
<label>Manual specify series ID for 32p</label>
|
|
<input type="text" name="torrentid_32p" placeholder="torrent id #" value="${comicConfig['torrentid_32p']}" size="40">
|
|
</div>
|
|
%endif
|
|
</fieldset>
|
|
<input type="submit" style="float:right;" value="Update"/>
|
|
</form>
|
|
</td>
|
|
</tr>
|
|
</table>
|
|
</div>
|
|
</div>
|
|
|
|
<div id="checkboxControls" style="float: right; vertical-align: middle; margin: 5px 3px 3px 3px;">
|
|
<div style="padding-bottom: 5px;">
|
|
<label for="Wanted" class="checkbox inline Wanted"><input type="checkbox" id="Wanted" checked="checked" /> Wanted: <b>${isCounts['Wanted']}</b></label>
|
|
<label for="Archived" class="checkbox inline Archived"><input type="checkbox" id="Archived" checked="checked" /> Archived: <b>${isCounts['Archived']}</b></label>
|
|
<label for="Downloaded" class="checkbox inline Downloaded"><input type="checkbox" id="Downloaded" checked="checked" /> Downloaded: <b>${isCounts['Downloaded']}</b></label>
|
|
<label for="Skipped" class="checkbox inline Skipped"><input type="checkbox" id="Skipped" checked="checked" /> Skipped: <b>${isCounts['Skipped']}</b></label>
|
|
<label for="Ignored" class="checkbox inline Ignored"><input type="checkbox" id="Ignored" checked="checked" /> Ignored: <b>${isCounts['Ignored']}</b></label>
|
|
<label for="Snatched" class="checkbox inline Snatched"><input type="checkbox" id="Snatched" checked="checked" /> Snatched: <b>${isCounts['Snatched']}</b></label>
|
|
%if mylar.CONFIG.FAILED_DOWNLOAD_HANDLING:
|
|
<label for="Failed" class="checkbox inline Failed"><input type="checkbox" id="Failed" checked="checked" /> Failed: <b>${isCounts['Failed']}</b></label>
|
|
%endif
|
|
</div>
|
|
<div class="pull-right" style="padding-bottom: 5px;">
|
|
<button class="btn btn-mini seriesCheck"><a href="#" onclick="return false;">Select Filtered Issues</a></button>
|
|
<button class="btn btn-mini clearAll"><a href="#" onclick="return false;">Clear All</a></button>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="table_wrapper">
|
|
|
|
|
|
<form action="markissues" method="get" id="markissues">
|
|
<div id="markissue">Mark selected issues as
|
|
<select name="action" onChange="doAjaxCall('markissues',$(this),'table',true)" data-success="selected issues marked">
|
|
<option disabled="disabled" selected="selected">Choose...</option>
|
|
<option value="Wanted">Wanted</option>
|
|
<option value="Skipped">Skipped</option>
|
|
<option value="Archived">Archived</option>
|
|
<option value="Ignored">Ignored</option>
|
|
%if mylar.CONFIG.FAILED_DOWNLOAD_HANDLING:
|
|
<option value="Failed">Failed</option>
|
|
%endif
|
|
</select>
|
|
selected issues
|
|
<input type="hidden" value="Go">
|
|
<input type="checkbox" name="skipped2wanted" onclick="doAjaxCall('skipped2wanted?comicid=${comic['ComicID']}',$(this),'table')" value="1" data-success="Skipped Issues Changed to Wanted" style="float: right; vertical-align: middle; margin: 3px; margin-top: -1px;" /><label style="float: right; vertical-align: middle; margin: 3px; margin-top: -1px;">Change All Skipped to Wanted </label>
|
|
</div>
|
|
|
|
|
|
|
|
<table class="display" id="issue_table">
|
|
<thead>
|
|
<tr>
|
|
<th id="select" align="left"><input type="checkbox" onClick="toggle(this)" name="issues" class="checkbox" /></th>
|
|
<th id="int_issuenumber">IntIssNum</th>
|
|
<th id="issuenumber">Number</th>
|
|
<th id="issuename">Name</th>
|
|
<th id="reldate">Date</th>
|
|
<th id="status">Status</th>
|
|
<th id="options">Options</th>
|
|
</tr>
|
|
</thead>
|
|
<tbody>
|
|
%for issue in issues:
|
|
<%
|
|
if issue['Status'] == 'Skipped':
|
|
grade = 'Z'
|
|
elif issue['Status'] == 'Wanted':
|
|
grade = 'X'
|
|
elif issue['Status'] == 'Snatched':
|
|
grade = 'C'
|
|
elif issue['Status'] == 'Downloaded':
|
|
grade = 'A'
|
|
elif issue['Status'] == 'Archived':
|
|
grade = 'A'
|
|
elif issue['Status'] == 'Ignored':
|
|
grade = 'A'
|
|
elif issue['Status'] == 'Failed':
|
|
grade = 'C'
|
|
else:
|
|
grade = 'A'
|
|
%>
|
|
<tr class="${issue['Status']} grade${grade}">
|
|
|
|
<td id="select"><input type="checkbox" name="${issue['IssueID']}" class="issCheck checkbox" value="${issue['IssueID']}"/></td>
|
|
<td id="int_issuenumber">${issue['Int_IssueNumber']}</td>
|
|
<td id="issuenumber">${issue['Issue_Number']}</td>
|
|
<%
|
|
if len(issue['IssueName']) > 70:
|
|
issuename = "%s..." % issue['IssueName'][:70]
|
|
else:
|
|
issuename = issue['IssueName']
|
|
endif
|
|
%>
|
|
<td id="issuename">${issuename}</td>
|
|
<%
|
|
issdate = issue['IssueDate']
|
|
dateline = "Publication Date (click to edit)"
|
|
if all([issue['DigitalDate'] != '0000-00-00', issue['DigitalDate'] is not None]):
|
|
dateline += "\nDigital Release: %s" % issue['DigitalDate']
|
|
issdate += "**"
|
|
endif
|
|
%>
|
|
<td class="edit" title="${dateline}" id="${issue['ComicID']}.${issue['IssueID']}">${issdate}</td>
|
|
<td id="status">${issue['Status']}
|
|
%if issue['Status'] == 'Downloaded' or issue['Status'] == 'Archived':
|
|
<%Csize = mylar.helpers.human_size(issue['ComicSize'])%>
|
|
<a href="#" title="${issue['Location']} (${Csize})"><img src="interfaces/default/images/info32.png" height="16" alt="" class="highqual" /></a>
|
|
%endif
|
|
</td>
|
|
<td id="options">
|
|
<a href="#" title="Manual Search" onclick="doAjaxCall('queueit?ComicID=${issue['ComicID']}&IssueID=${issue['IssueID']}&ComicIssue=${issue['Issue_Number']}&ComicYear=${issue['IssueDate']}&mode=want&manualsearch=True',$(this),'table')" data-success="Manually searching for ${comic['ComicName']} #${issue['Issue_Number']}"><img src="interfaces/default/images/search.png" height="25" width="25" /></a>
|
|
<!--
|
|
<a class="menu_link_edit" id="choose_specific_download" title="Choose Specific Download" href="javascript:void(0)" onclick="getAvailableDownloads('${issue['IssueID']}')" data-success="Successfully started search for ${comic['ComicName']} ${issue['Issue_Number']}"><i class="fa fa-search"></i><img src="interfaces/default/images/magnifier.png" height="25" width="25" class="highqual" /></a>
|
|
<div id="choose_specific_download_dialog" title="Choose a specific download for this issue" style="display:none" class="configtable">
|
|
<table class="display" id="downloads_table">
|
|
<thead>
|
|
<tr>
|
|
<th id="title">Title</th>
|
|
<th id="provider">Provider</th>
|
|
<th id="size">Size</th>
|
|
<th id="kind">Kind</th>
|
|
</tr>
|
|
</thead>
|
|
<tbody id="downloads_table_body" value="Now searching....this might take up to 90 seconds.">
|
|
</tbody>
|
|
</table>
|
|
</div>
|
|
-->
|
|
%if issue['Status'] == 'Skipped' or issue['Status'] == 'Ignored':
|
|
<a href="#" title="Mark issue as Wanted" onclick="doAjaxCall('queueit?ComicID=${issue['ComicID']}&IssueID=${issue['IssueID']}&ComicIssue=${issue['Issue_Number']}&ComicYear=${issue['IssueDate']}&mode=want',$(this),'table')" data-success="Issue Marked as Wanted"><img src="interfaces/default/images/wanted_icon.png" height="25" width="25" class="highqual" /></a>
|
|
%elif (issue['Status'] == 'Wanted'):
|
|
<a href="#" title="Mark issue as Skipped" onclick="doAjaxCall('unqueueissue?IssueID=${issue['IssueID']}&ComicID=${issue['ComicID']}',$(this),'table')" data-success="'${issue['Issue_Number']}' has been marked as skipped"><img src="interfaces/default/images/skipped_icon.png" height="25" width="25" class="highqual" /></a>
|
|
%elif (issue['Status'] == 'Snatched'):
|
|
<a href="#" onclick="doAjaxCall('retryit?ComicName=${issue['ComicName'] |u}&ComicID=${issue['ComicID']}&IssueID=${issue['IssueID']}&IssueNumber=${issue['Issue_Number']}&ComicYear=${issue['IssueDate']}', $(this),'table')" data-success="Retrying the same version of '${issue['ComicName']}' '${issue['Issue_Number']}'" title="Retry the same download again"><img src="interfaces/default/images/retry_icon.png" height="25" width="25" class="highqual" /></a>
|
|
<a href="#" title="Mark issue as Skipped" onclick="doAjaxCall('unqueueissue?IssueID=${issue['IssueID']}&ComicID=${issue['ComicID']}',$(this),'table')" data-success="'${issue['Issue_Number']}' has been marked as Skipped"><img src="interfaces/default/images/skipped_icon.png" height="25" width="25" class="highqual" /></a>
|
|
%if mylar.CONFIG.FAILED_DOWNLOAD_HANDLING:
|
|
<a href="#" title="Mark issue as Failed" onclick="doAjaxCall('unqueueissue?IssueID=${issue['IssueID']}&ComicID=${issue['ComicID']}&mode=failed',$(this),'table')" data-success="'${issue['Issue_Number']}' has been marked as Failed"><img src="interfaces/default/images/failed.png" height="25" width="25" class="highqual" /></a>
|
|
%endif
|
|
%elif (issue['Status'] == 'Downloaded'):
|
|
<%
|
|
if issue['Location'] is not None:
|
|
linky = os.path.join(comic['ComicLocation'],issue['Location'])
|
|
if not os.path.isfile(linky):
|
|
if mylar.CONFIG.MULTIPLE_DEST_DIRS is not None and mylar.CONFIG.MULTIPLE_DEST_DIRS != 'None':
|
|
pathdir = os.path.join(mylar.CONFIG.MULTIPLE_DEST_DIRS, os.path.basename(comic['ComicLocation']))
|
|
linky = os.path.join(pathdir,issue['Location'])
|
|
else:
|
|
linky = None
|
|
else:
|
|
linky = None
|
|
%>
|
|
%if linky:
|
|
<a href="downloadthis?pathfile=${linky |u}"><img src="interfaces/default/images/download_icon.png" height="25" width="25" title="Download the Issue" class="highqual" /></a>
|
|
%if linky.endswith('.cbz'):
|
|
<a href="#issue-box" onclick="return runMetaIssue('${linky |u}', '${comic['ComicName']| u}', '${issue['Issue_Number']}', '${issue['IssueDate']}', '${issue['IssueName'] |u}');" class="issue-window"><img src="interfaces/default/images/issueinfo.png" height="25" width="25" title="View Issue Details" class="highqual" /></a>
|
|
<div id="issue-box" class="issue-popup">
|
|
<a href="#" class="close"><img src="interfaces/default/images/close_pop.png" class="btn_close" title="Close Window" alt="Close" class="highqual" /></a>
|
|
<fieldset>
|
|
<div id="responsethis">
|
|
<label><strong>[ NODATA ]</strong></label></br>
|
|
</div>
|
|
</fieldset>
|
|
</div>
|
|
%endif
|
|
|
|
%if mylar.CONFIG.ENABLE_META:
|
|
<a href="#" title="Manually meta-tag issue" onclick="doAjaxCall('manual_metatag?dirName=${comic['ComicLocation'] |u}&issueid=${issue['IssueID']}&filename=${linky |u}&comicid=${issue['ComicID']}&comversion=${comic['ComicVersion']}&seriesyear=${comic['ComicYear']}',$(this));refreshLoadSeries();" data-success="${comic['ComicName']} #${issue['Issue_Number']} successfully tagged."><img src="interfaces/default/images/comictagger.png" height="25" width="25" class="highqual" /></a>
|
|
%endif
|
|
%endif
|
|
<a href="#" title="Add to Reading List" onclick="doAjaxCall('addtoreadlist?IssueID=${issue['IssueID']}',$(this),'table')" data-success="${comic['ComicName']} #${issue['Issue_Number']} added to Reading List"><img src="interfaces/default/images/glasses-icon.png" height="25" width="25" class="highqual" /></a>
|
|
<a href="#" title="Mark issue as Skipped" onclick="doAjaxCall('unqueueissue?IssueID=${issue['IssueID']}&ComicID=${issue['ComicID']}',$(this),'table')" data-success="'${issue['Issue_Number']}' has been marked as skipped"><img src="interfaces/default/images/skipped_icon.png" height="25" width="25" class="highqual" /></a>
|
|
%else:
|
|
<a href="#" title="Retry the same download again" onclick="doAjaxCall('queueit?ComicID=${issue['ComicID']}&IssueID=${issue['IssueID']}&ComicIssue=${issue['Issue_Number']}&mode=want', $(this),'table')" data-success="Retrying the same version of '${issue['ComicName']}' '${issue['Issue_Number']}'"><img src="interfaces/default/images/retry_icon.png" height="25" width="25" class="highqual" /></a>
|
|
<a href="#" title="Mark issue as Skipped" onclick="doAjaxCall('unqueueissue?IssueID=${issue['IssueID']}&ComicID=${issue['ComicID']}',$(this),'table',true);" data-success="'${issue['Issue_Number']}' has been marked as skipped"><img src="interfaces/default/images/skipped_icon.png" height="25" width="25" class="highqual" /></a>
|
|
%endif
|
|
<!--
|
|
<a href="#" onclick="doAjaxCall('archiveissue?IssueID=${issue['IssueID']}&comicid=${comic['ComicID']}',$(this),'table')"><img src="interfaces/default/images/archive_icon.png" height="25" width="25" title="Mark issue as Archived" class="highqual" /></a>
|
|
-->
|
|
</td>
|
|
</tr>
|
|
%endfor
|
|
</tbody>
|
|
</table>
|
|
</form>
|
|
</div>
|
|
|
|
|
|
<div class="table_wrapper">
|
|
%if annuals:
|
|
<h1>Annuals</h1>
|
|
%for aninfo in annualinfo:
|
|
${aninfo['annualComicName']}<a href="annualDelete?comicid=${comic['ComicID']}&ReleaseComicID=${aninfo['annualComicID']}"><img src="interfaces/default/images/x.png" height="10" width="10"/></a>
|
|
%endfor
|
|
|
|
<form action="markannuals" method="get" id="markannuals">
|
|
<div id="markannuals">Mark selected annuals as
|
|
<select name="ann_action" onChange="doAjaxCall('markannuals',$(this),'table',true)" data-success="selected annuals marked">
|
|
<option disabled="disabled" selected="selected">Choose...</option>
|
|
<option value="Wanted">Wanted</option>
|
|
<option value="Skipped">Skipped</option>
|
|
<option value="Downloaded">Downloaded</option>
|
|
<option value="Archived">Archived</option>
|
|
<option value="Ignored">Ignored</option>
|
|
</select>
|
|
selected annuals
|
|
<input type="hidden" value="Go">
|
|
</div>
|
|
|
|
|
|
<table class="display_no_select" id="annual_table">
|
|
|
|
<thead>
|
|
<tr>
|
|
<th id="select" align="left"><input type="checkbox" onClick="toggle(this)" name="annuals" class="checkbox" /></th>
|
|
<th id="aint_issuenumber">Int_IssNumber</th>
|
|
<th id="aissuenumber">Number</th>
|
|
<th id="aissuename">Name</th>
|
|
<th id="areldate">Date</th>
|
|
<th id="astatus">Status</th>
|
|
<th id="aoptions">Options</th>
|
|
</tr>
|
|
</thead>
|
|
<tbody>
|
|
|
|
%for annual in annuals:
|
|
|
|
<%
|
|
if annual['Status'] == 'Skipped':
|
|
agrade = 'Z'
|
|
elif annual['Status'] == 'Wanted':
|
|
agrade = 'X'
|
|
elif annual['Status'] == 'Snatched':
|
|
agrade = 'C'
|
|
elif annual['Status'] == 'Downloaded':
|
|
agrade = 'A'
|
|
elif annual['Status'] == 'Archived':
|
|
agrade = 'A'
|
|
elif annual['Status'] == 'Ignored':
|
|
agrade = 'A'
|
|
elif annual['Status'] == 'Failed':
|
|
agrade = 'C'
|
|
else:
|
|
agrade = 'A'
|
|
%>
|
|
<tr class="${annual['Status']} grade${agrade}">
|
|
<td id="select"><input type="checkbox" name="${annual['IssueID']}" class="checkbox" value="${annual['IssueID']}" /></td>
|
|
<%
|
|
if annual['Int_IssueNumber'] is None:
|
|
annual_Number = annual['Int_IssueNumber']
|
|
else:
|
|
annual_Number = annual['Int_IssueNumber'] - 100000
|
|
|
|
%>
|
|
<td id="aint_issuenumber">${annual_Number}</td>
|
|
<td id="aissuenumber">${annual['Issue_Number']}</td>
|
|
<td id="aissuename">${annual['IssueName']}</td>
|
|
<%
|
|
anndate = annual['IssueDate']
|
|
dateline = ""
|
|
if all([annual['DigitalDate'] != '0000-00-00', annual['DigitalDate'] is not None]):
|
|
dateline += "\nDigital Release: %s" % annual['DigitalDate']
|
|
anndate += "**"
|
|
endif
|
|
%>
|
|
<td title="${dateline}" id="areldate">${anndate}</td>
|
|
<td id="astatus">${annual['Status']}
|
|
%if annual['Status'] == 'Downloaded' or annual['Status'] == 'Archived':
|
|
<%Csize = mylar.helpers.human_size(annual['ComicSize'])%>
|
|
<a href="#" title="${annual['Location']} (${Csize})"><img src="interfaces/default/images/info32.png" height="16" alt="" /></a>
|
|
%endif
|
|
</td>
|
|
<td id="aoptions">
|
|
<% amode = 'want_ann' %>
|
|
<a href="#" title="Manual Search" onclick="doAjaxCall('queueit?ComicID=${annual['ComicID']}&IssueID=${annual['IssueID']}&ComicIssue=${annual['Issue_Number']}&ComicYear=${annual['IssueDate']}&mode=${amode}&manualsearch=True',$(this),'table')" data-success="Manually searching for ${annual['ComicName']} #${annual['Issue_Number']}"><img src="interfaces/default/images/search.png" height="25" width="25" class="highqual" /></a>
|
|
<!--
|
|
<a class="menu_link_edit" id="choose_specific_download" title="Choose Specific Download" href="javascript:void(0)" onclick="getAvailableDownloads('${annual['IssueID']}')"><i class="fa fa-search"></i><img src="interfaces/default/images/magnifier.png" height="25" width="25" class="highqual" /></a>
|
|
<div id="choose_specific_download_dialog" title="Choose a specific download for this issue" style="display:none" class="configtable">
|
|
<table class="display" id="downloads_table">
|
|
<thead>
|
|
<tr>
|
|
<th id="title">Title</th>
|
|
<th id="provider">Provider</th>
|
|
<th id="size">Size</th>
|
|
<th id="kind">Kind</th>
|
|
</tr>
|
|
</thead>
|
|
<tbody id="downloads_table_body" value="Now searching....this might take up to 90 seconds.">
|
|
</tbody>
|
|
</table>
|
|
</div>
|
|
-->
|
|
%if annual['Status'] == 'Skipped' or annual['Status'] == 'Ignored':
|
|
<a href="#" title="Mark annual as Wanted" onclick="doAjaxCall('queueit?ComicID=${annual['ComicID']}&IssueID=${annual['IssueID']}&ComicIssue=${annual['Issue_Number']}&ComicYear=${annual['IssueDate']}&mode=${amode}',$(this),'table')" data-success="Marked ${annual['ReleaseComicName']} #${annual['Issue_Number']} as Wanted"><img src="interfaces/default/images/wanted_icon.png" height="25" width="25" class="highqual" /></a>
|
|
%elif (annual['Status'] == 'Wanted'):
|
|
<a href="#" title="Mark annual as Skipped" onclick="doAjaxCall('unqueueissue?IssueID=${annual['IssueID']}&ComicID=${annual['ComicID']}&ReleaseComicID=${annual['ReleaseComicID']}',$(this),'table')" data-success="'${annual['Issue_Number']}' has been marked as skipped"><img src="interfaces/default/images/skipped_icon.png" height="25" width="25" class="highqual" /></a>
|
|
%elif (annual['Status'] == 'Snatched'):
|
|
<a href="#" onclick="doAjaxCall('retryit?ComicName=${annual['ComicName'] |u}&ComicID=${annual['ComicID']}&IssueID=${annual['IssueID']}&IssueNumber=${annual['Issue_Number']}&ComicYear=${annual['IssueDate']}&ReleaseComicID=${annual['ReleaseComicID']}', $(this),'table')" data-success="Retrying the same version of '${annual['ComicName']}' '${annual['Issue_Number']}'" title="Retry the same download again"><img src="interfaces/default/images/retry_icon.png" height="25" width="25" class="highqual" /></a>
|
|
<a href="#" title="Mark annual as Skipped" onclick="doAjaxCall('unqueueissue?IssueID=${annual['IssueID']}&ComicID=${annual['ComicID']}&ReleaseComicID=${annual['ReleaseComicID']}',$(this),'table')" data-success="'${annual['Issue_Number']}' has been marked as skipped"><img src="interfaces/default/images/skipped_icon.png" height="25" width="25" class="highqual" /></a>
|
|
%if mylar.CONFIG.FAILED_DOWNLOAD_HANDLING:
|
|
<a href="#" title="Mark annual as Failed" onclick="doAjaxCall('unqueueissue?IssueID=${annual['IssueID']}&ComicID=${annual['ComicID']}&ReleaseComicID=${annual['ReleaseComicID']}&mode=failed',$(this),'table')" data-success="'${annual['Issue_Number']}' has been marked as Failed"><img src="interfaces/default/images/failed.png" height="25" width="25" class="highqual" /></a>
|
|
%endif
|
|
%elif (annual['Status'] == 'Downloaded'):
|
|
<%
|
|
try:
|
|
if annual['Location'] is not None:
|
|
linky = os.path.join(comic['ComicLocation'],annual['Location'])
|
|
if not os.path.isfile(linky):
|
|
if mylar.CONFIG.MULTIPLE_DEST_DIRS is not None and mylar.CONFIG.MULTIPLE_DEST_DIRS != 'None':
|
|
pathdir = os.path.join(mylar.CONFIG.MULTIPLE_DEST_DIRS, os.path.basename(comic['ComicLocation']))
|
|
linky = os.path.join(pathdir,issue['Location'])
|
|
else:
|
|
linky = None
|
|
else:
|
|
linky = None
|
|
except:
|
|
linky = None
|
|
%>
|
|
%if linky:
|
|
<a href="downloadthis?pathfile=${linky |u}"><img src="interfaces/default/images/download_icon.png" height="25" width="25" title="Download the annual" class="highqual" /></a>
|
|
%if linky.endswith('.cbz'):
|
|
<a href="#issue-box" onclick="return runMetaIssue('${linky |u}', '${comic['ComicName']| u}', '${annual['Issue_Number']}', '${annual['IssueDate']}', '${annual['IssueName']| u}');" class="issue-window"><img src="interfaces/default/images/issueinfo.png" height="25" width="25" title="View Issue Details" class="highqual" /></a>
|
|
<div id="issue-box" class="issue-popup">
|
|
<a href="#" class="close"><img src="interfaces/default/images/close_pop.png" class="btn_close" title="Close Window" alt="Close" class="highqual" /></a>
|
|
<fieldset>
|
|
<div id="responsethis">
|
|
<label><strong>[ NODATA ]</strong></label></br>
|
|
</div>
|
|
</fieldset>
|
|
</div>
|
|
%endif
|
|
|
|
%if mylar.CONFIG.ENABLE_META:
|
|
<a href="#" title="Manually meta-tag annual" onclick="doAjaxCall('manual_metatag?dirName=${comic['ComicLocation'] |u}&issueid=${annual['IssueID']}&filename=${linky |u}&comicid=${annual['ComicID']}&comversion=${comic['ComicVersion']}',$(this),'table')" data-success="${annual['ComicName']} #${issue['Issue_Number']} successfully tagged."><img src="interfaces/default/images/comictagger.png" height="25" width="25" class="highqual" /></a>
|
|
%endif
|
|
%endif
|
|
<!--
|
|
<a href="#" title="Archive" onclick="doAjaxCall('archiveissue?IssueID=${annual['IssueID']}',$(this),'table')"><img src="interfaces/default/images/archive_icon.png" height="25" width="25" title="Mark issue as Archived" class="highqual" /></a>
|
|
<a href="#" title="Add to Reading List"><img src="interfaces/default/images/glasses-icon.png" height="25" width="25" class="highqual" /></a>
|
|
-->
|
|
<a href="#" title="Add to Reading List" onclick="doAjaxCall('addtoreadlist?IssueID=${annual['IssueID']}',$(this),'table')" data-success="${aninfo['annualComicName']} #${annual['Issue_Number']} added to Reading List"><img src="interfaces/default/images/glasses-icon.png" height="25" width="25" class="highqual" /></a>
|
|
|
|
<a href="#" title="Mark annual as Skipped" onclick="doAjaxCall('unqueueissue?IssueID=${annual['IssueID']}&ComicID=${annual['ComicID']}&ReleaseComicID=${annual['ReleaseComicID']}',$(this),'table')" data-success="'${annual['Issue_Number']}' has been marked as skipped"><img src="interfaces/default/images/skipped_icon.png" height="25" width="25" class="highqual" /></a>
|
|
|
|
%else:
|
|
<a href="#" title="Retry the same download again" onclick="doAjaxCall('queueit?ComicID=${annual['ComicID']}&IssueID=${annual['IssueID']}&ComicIssue=${annual['Issue_Number']}&mode=want', $(this),'table')" data-success="Retrying the same version of '${annual['ComicName']}' '${annual['Issue_Number']}'"><img src="interfaces/default/images/retry_icon.png" height="25" width="25" class="highqual" /></a>
|
|
<a href="#" title="Mark annual as Skipped" onclick="doAjaxCall('unqueueissue?IssueID=${annual['IssueID']}&ComicID=${annual['ComicID']}&ReleaseComicID=${annual['ReleaseComicID']}',$(this),'table')" data-success="'${annual['Issue_Number']}' has been marked as skipped"><img src="interfaces/default/images/skipped_icon.png" height="25" width="25" class="highqual" /></a>
|
|
%endif
|
|
</td>
|
|
|
|
</tr>
|
|
%endfor
|
|
</tbody>
|
|
</table>
|
|
</form>
|
|
%endif
|
|
%if mylar.CONFIG.ANNUALS_ON:
|
|
<div style="position:relative; width:960px; height:10px; margin:10px auto;">
|
|
<form action="manual_annual_add" method="GET">
|
|
<input type="hidden" name="comicid" value=${comic['ComicID']}>
|
|
<input type="hidden" name="comicname" value=${comic['ComicName'] |u}>
|
|
<input type="hidden" name="comicyear" value=${comic['ComicYear']}>
|
|
<div style="position:absolute; top:30px; right:0px;">
|
|
<center><label><strong><a href="#" title="Enter the ComicID of the annual(s) you want to add to the series"/>Comic ID</a></strong></label>
|
|
<input type="text" name="manual_comicid" size="10"><input type="image" src="interfaces/default/images/submit.png" height="25" width="25" class="highqual" /></center>
|
|
</div>
|
|
|
|
</form>
|
|
</div>
|
|
%endif
|
|
</div>
|
|
</%def>
|
|
|
|
<%def name="headIncludes()">
|
|
<link rel="stylesheet" href="interfaces/default/css/data_table.css">
|
|
|
|
%if comic['Status'] == 'Loading':
|
|
<meta http-equiv="refresh" content="10">
|
|
%endif
|
|
</%def>
|
|
|
|
|
|
<%def name="javascriptIncludes()">
|
|
<script src="js/libs/jquery.dataTables.min.js"></script>
|
|
<script src="js/libs/jquery.jeditable.js"></script>
|
|
<style>
|
|
.ui-autocomplete-loading {
|
|
background: white url('interfaces/default/images/loader_black.gif') right center no-repeat;
|
|
}
|
|
#annseries{ width: 25em; }
|
|
</style>
|
|
<script>
|
|
$(document).ready(function() {
|
|
$('.edit').editable('issue_edit', {
|
|
callback : function(value, settings) {
|
|
console.log(this);
|
|
console.log(value);
|
|
console.log(settings);
|
|
return(value);
|
|
}
|
|
});
|
|
});
|
|
</script>
|
|
<script>
|
|
$(document).ready(function() {
|
|
$('a.issue-window').click(function() {
|
|
|
|
//Getting the variable's value from a link
|
|
var issueBox = $(this).attr('href');
|
|
|
|
//Fade in the Popup
|
|
$(issueBox).fadeIn(300);
|
|
|
|
//Set the center alignment padding + border see css style
|
|
var popMargTop = ($(issueBox).height() + 24) / 2;
|
|
var popMargLeft = ($(issueBox).width() + 24) / 2;
|
|
|
|
$(issueBox).css({
|
|
'margin-top' : -popMargTop,
|
|
'margin-left' : -popMargLeft
|
|
});
|
|
|
|
// Add the mask to body
|
|
$('body').append('<div id="mask"></div>');
|
|
$('#mask').fadeIn(300);
|
|
|
|
return false;
|
|
});
|
|
|
|
// When clicking on the button close or the mask layer the popup closed
|
|
$('a.close, #mask').on('click', function() {
|
|
$('#mask , .issue-popup').fadeOut(300 , function() {
|
|
$('#mask').remove();
|
|
});
|
|
return false;
|
|
});
|
|
});
|
|
</script>
|
|
|
|
<script>
|
|
function runMetaIssue(filelink, comicname, issue, date, title) {
|
|
//alert(filelink);
|
|
$.ajax({
|
|
type: "GET",
|
|
url: "IssueInfo",
|
|
data: { filelocation: filelink, comicname: comicname, issue: issue, date: date, title: title },
|
|
success: function(response) {
|
|
$('#responsethis').html(response);
|
|
},
|
|
error: function(data)
|
|
{
|
|
alert('ERROR'+data.responseText);
|
|
},
|
|
});
|
|
}
|
|
</script>
|
|
|
|
<script>
|
|
function openDelete() {
|
|
$("#dialog").dialog({modal:true});
|
|
};
|
|
function deleteDirCheck() {
|
|
return document.getElementById("deleteCheck").checked;
|
|
};
|
|
</script>
|
|
|
|
<script>
|
|
var lastCheck = null;
|
|
$('.issCheck').click(function(event) {
|
|
|
|
if(!lastCheck || !event.shiftKey) {
|
|
lastCheck = this;
|
|
return;
|
|
}
|
|
|
|
var check = this;
|
|
var found = 0;
|
|
|
|
$('.issCheck').each(function() {
|
|
switch (found) {
|
|
case 2: return false;
|
|
case 1: this.checked = lastCheck.checked;
|
|
}
|
|
|
|
if (this == check || this == lastCheck) {
|
|
found++;
|
|
}
|
|
});
|
|
|
|
lastClick = this;
|
|
});
|
|
|
|
// selects all visible episode checkboxes.
|
|
$('.seriesCheck').click(function() {
|
|
$('.issCheck:visible').each(function() {
|
|
this.checked = true;
|
|
});
|
|
});
|
|
|
|
// clears all visible episode checkboxes and the season selectors
|
|
$('.clearAll').click(function() {
|
|
$('.issCheck:visible').each(function() {
|
|
this.checked = false;
|
|
});
|
|
});
|
|
|
|
// show/hide different types of rows when the checkboxes are changed
|
|
$("#checkboxControls input").change(function(e){
|
|
var whichClass = $(this).attr('id')
|
|
$(this).showHideRows(whichClass)
|
|
});
|
|
|
|
// initially show/hide all the rows according to the checkboxes
|
|
$("#checkboxControls input").each(function(e){
|
|
var status = this.checked;
|
|
$("tr."+$(this).attr('id')).each(function(e){
|
|
if (status) {
|
|
$(this).show();
|
|
} else {
|
|
$(this).hide();
|
|
}
|
|
});
|
|
});
|
|
|
|
$('#menu_link_addalltoRL').click(function(){
|
|
$('#issue_table tbody tr').each(function(){
|
|
$(this).find('a[title="Add to Reading List"]').click();
|
|
});
|
|
});
|
|
|
|
$.fn.showHideRows = function(whichClass){
|
|
|
|
var status = $('#checkboxControls > input, #'+whichClass).prop('checked')
|
|
$("tr."+whichClass).each(function(e){
|
|
if (status) {
|
|
$(this).show();
|
|
} else {
|
|
$(this).hide();
|
|
}
|
|
});
|
|
}
|
|
|
|
function getAvailableDownloads(issueid) {
|
|
ShowSpinner();
|
|
$('#ajaxMsg').html("<div class='msg'><span class='ui-icon ui-icon-check'></span>Now searching...</div>");
|
|
$('#ajaxMsg').addClass('success').fadeIn().delay(3000).fadeOut();
|
|
$.getJSON("choose_specific_download", {issueid: issueid}, function(data) {
|
|
loader.remove();
|
|
feedback.fadeOut();
|
|
search_results = data;
|
|
for( var i = 0, len = data.length; i < len; i++ ) {
|
|
$('#downloads_table_body').append('<tr><td id="title"><a href="javascript:void(0)" onclick="downloadSpecificRelease('+i+');">'+data[i].nzbtitle+'</a></td><td id="provider">'+data[i].provider+'</td><td id="size">'+data[i].size+'</td><td id="kind">'+data[i].kind+'</td></tr>');
|
|
}
|
|
$('#downloads_table').dataTable({
|
|
"aoColumns": [
|
|
null,
|
|
null,
|
|
null,
|
|
null
|
|
],
|
|
"aaSorting": [[ 1, 'desc']],
|
|
"bFilter": false,
|
|
"bInfo": false,
|
|
"bPaginate": false,
|
|
"bDestroy": true
|
|
});
|
|
$("#choose_specific_download_dialog").dialog({
|
|
modal: true,
|
|
width: "60%",
|
|
maxHeight: 500
|
|
});
|
|
return false;
|
|
});
|
|
}
|
|
|
|
function downloadSpecificRelease(i){
|
|
name = search_results[i].nzbtitle;
|
|
prov = search_results[i].tmpprov;
|
|
nzbid = search_results[i].nzbid;
|
|
ShowSpinner();
|
|
$.get("download_specific_release",
|
|
{ nzbid: nzbid, provider: prov, name: name },
|
|
function(data) {
|
|
if (data.error != undefined) {
|
|
alert(data.error);
|
|
return;
|
|
}
|
|
$('#ajaxMsg').html("<div class='msg'><span class='ui-icon ui-icon-check'></span>Successfully downloaded "+name+"</div>");
|
|
if ( data.indexOf("success") > -1){
|
|
$("#choose_specific_download_dialog").dialog.close();
|
|
}
|
|
$('#ajaxMsg').addClass('success').fadeIn().delay(3000).fadeOut();
|
|
return false;
|
|
});
|
|
}
|
|
|
|
function ShowSpinner() {
|
|
feedback = $("#ajaxMsg");
|
|
update = $("#updatebar");
|
|
if ( update.is(":visible") ) {
|
|
var height = update.height() + 35;
|
|
feedback.css("bottom",height + "px");
|
|
} else {
|
|
feedback.removeAttr("style");
|
|
}
|
|
loader = $("<i class='fa fa-refresh fa-spin'></i>");
|
|
feedback.prepend(loader);
|
|
feedback.fadeIn();
|
|
}
|
|
|
|
var loadingMessage = false;
|
|
var spinner_active = false;
|
|
var loadingtext_active = false;
|
|
var refreshInterval;
|
|
|
|
function initThisPage(){
|
|
|
|
$(function() {
|
|
$( "#tabs" ).tabs();
|
|
});
|
|
$("#menu_link_delete").click(openDelete);
|
|
initActions();
|
|
$('#issue_table').dataTable(
|
|
{
|
|
"destroy": true,
|
|
"columnDefs": [
|
|
{ "orderable": false, "targets": [0, 6] },
|
|
{ "visible": false, "targets": 1 },
|
|
{ "orderData": 1, "targets": 2 },
|
|
{ "type": 'num', "targets": 1 },
|
|
{ "order": [[1, 'desc']] }
|
|
],
|
|
"lengthMenu": [[10, 25, 50, -1], [10, 25, 50, 'All' ]],
|
|
"language": {
|
|
"lengthMenu":"Show _MENU_ issues per page",
|
|
"emptyTable": "No issue information available",
|
|
"info":"Showing _TOTAL_ issues",
|
|
"infoEmpty":"Showing 0 to 0 of 0 issues",
|
|
"infoFiltered":"(filtered from _MAX_ total issues)",
|
|
"search": ""},
|
|
"stateSave": true,
|
|
"searching": true,
|
|
"pageLength": 25,
|
|
"pagingType": "full_numbers"
|
|
});
|
|
$('#annual_table').dataTable(
|
|
{
|
|
"destroy": true,
|
|
"columnDefs": [
|
|
{ "orderable": false, "targets": [0, 6] },
|
|
{ "visible": false, "targets": 1 },
|
|
{ "orderData": 1, "targets": 2 },
|
|
{ "type": 'num', "targets": 1 },
|
|
{ "order": [[1, 'desc']] }
|
|
],
|
|
"lengthMenu": [[10, 25, 50, -1], [10, 25, 50, 'All' ]],
|
|
"language": {
|
|
"lengthMenu":"Show _MENU_ annuals per page",
|
|
"emptyTable": "No annual information available",
|
|
"info":"Showing _TOTAL_ annuals",
|
|
"infoEmpty":"Showing 0 to 0 of 0 annuals",
|
|
"infoFiltered":"(filtered from _MAX_ total annuals)",
|
|
"search": ""},
|
|
"stateSave": true,
|
|
"searching": false,
|
|
"pageLength": 10,
|
|
"pagingType": "full_numbers"
|
|
});
|
|
resetFilters("issue", "annual");
|
|
setTimeout(function(){
|
|
initFancybox();
|
|
},1500);
|
|
}
|
|
|
|
$(document).ready(function() {
|
|
$("#issue_table").dataTable();
|
|
$("#annual_table").dataTable();
|
|
initThisPage();
|
|
});
|
|
</script>
|
|
</%def>
|