2013-06-28 23:06:16 +00:00
|
|
|
|
'use strict';
|
2013-06-21 05:19:41 +00:00
|
|
|
|
define(
|
|
|
|
|
[
|
|
|
|
|
'app',
|
2013-06-24 23:41:59 +00:00
|
|
|
|
'marionette',
|
|
|
|
|
'History/HistoryLayout',
|
2013-06-21 05:19:41 +00:00
|
|
|
|
'Settings/SettingsLayout',
|
|
|
|
|
'AddSeries/AddSeriesLayout',
|
|
|
|
|
'Series/Index/SeriesIndexLayout',
|
|
|
|
|
'Series/Details/SeriesDetailsLayout',
|
2013-06-24 23:41:59 +00:00
|
|
|
|
'Missing/MissingLayout',
|
|
|
|
|
'Series/SeriesModel',
|
|
|
|
|
'Calendar/CalendarLayout',
|
2013-06-21 05:19:41 +00:00
|
|
|
|
'Logs/Layout',
|
|
|
|
|
'Release/Layout',
|
2013-07-19 23:08:41 +00:00
|
|
|
|
'Shared/NotFoundView',
|
|
|
|
|
'Shared/Modal/Region'
|
2013-07-03 00:44:22 +00:00
|
|
|
|
], function (App, Marionette, HistoryLayout, SettingsLayout, AddSeriesLayout, SeriesIndexLayout, SeriesDetailsLayout, MissingLayout, SeriesModel, CalendarLayout,
|
|
|
|
|
LogsLayout, ReleaseLayout, NotFoundView) {
|
2013-06-24 23:41:59 +00:00
|
|
|
|
return Marionette.Controller.extend({
|
2013-03-29 23:28:58 +00:00
|
|
|
|
|
2013-05-15 01:17:24 +00:00
|
|
|
|
series : function () {
|
2013-04-18 23:14:08 +00:00
|
|
|
|
this._setTitle('NzbDrone');
|
2013-06-24 23:41:59 +00:00
|
|
|
|
App.mainRegion.show(new SeriesIndexLayout());
|
2013-03-29 23:28:58 +00:00
|
|
|
|
},
|
|
|
|
|
seriesDetails: function (query) {
|
|
|
|
|
|
|
|
|
|
var self = this;
|
2013-04-18 23:14:08 +00:00
|
|
|
|
this._setTitle('Loading Series');
|
2013-06-24 23:41:59 +00:00
|
|
|
|
var series = new SeriesModel({ id: query });
|
2013-03-29 23:28:58 +00:00
|
|
|
|
series.fetch({
|
|
|
|
|
success: function (seriesModel) {
|
2013-04-18 23:14:08 +00:00
|
|
|
|
self._setTitle(seriesModel.get('title'));
|
2013-06-24 23:41:59 +00:00
|
|
|
|
App.mainRegion.show(new SeriesDetailsLayout({ model: seriesModel }));
|
2013-03-29 23:28:58 +00:00
|
|
|
|
}
|
|
|
|
|
});
|
|
|
|
|
},
|
|
|
|
|
|
2013-04-18 23:14:08 +00:00
|
|
|
|
addSeries: function (action) {
|
|
|
|
|
this._setTitle('Add Series');
|
2013-06-21 05:19:41 +00:00
|
|
|
|
App.mainRegion.show(new AddSeriesLayout({action: action}));
|
2013-04-18 23:14:08 +00:00
|
|
|
|
},
|
|
|
|
|
|
|
|
|
|
calendar: function () {
|
|
|
|
|
this._setTitle('Calendar');
|
2013-06-24 23:41:59 +00:00
|
|
|
|
App.mainRegion.show(new CalendarLayout());
|
2013-04-18 23:14:08 +00:00
|
|
|
|
},
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
settings: function (action) {
|
|
|
|
|
this._setTitle('Settings');
|
2013-06-19 01:02:23 +00:00
|
|
|
|
App.mainRegion.show(new SettingsLayout({action: action}));
|
2013-03-29 23:28:58 +00:00
|
|
|
|
},
|
|
|
|
|
|
2013-04-18 23:14:08 +00:00
|
|
|
|
missing: function () {
|
|
|
|
|
this._setTitle('Missing');
|
2013-03-29 23:28:58 +00:00
|
|
|
|
|
2013-06-24 02:31:02 +00:00
|
|
|
|
App.mainRegion.show(new MissingLayout());
|
2013-03-29 23:28:58 +00:00
|
|
|
|
},
|
|
|
|
|
|
2013-05-03 06:53:32 +00:00
|
|
|
|
history: function () {
|
|
|
|
|
this._setTitle('History');
|
|
|
|
|
|
2013-06-24 02:31:02 +00:00
|
|
|
|
App.mainRegion.show(new HistoryLayout());
|
2013-05-03 06:53:32 +00:00
|
|
|
|
},
|
|
|
|
|
|
2013-06-05 05:08:10 +00:00
|
|
|
|
rss: function () {
|
|
|
|
|
this._setTitle('RSS');
|
2013-06-24 23:41:59 +00:00
|
|
|
|
App.mainRegion.show(new ReleaseLayout());
|
2013-06-05 05:08:10 +00:00
|
|
|
|
},
|
|
|
|
|
|
2013-06-05 00:49:53 +00:00
|
|
|
|
logs: function () {
|
|
|
|
|
this._setTitle('logs');
|
2013-06-24 23:41:59 +00:00
|
|
|
|
App.mainRegion.show(new LogsLayout());
|
2013-06-05 00:49:53 +00:00
|
|
|
|
},
|
|
|
|
|
|
2013-03-29 23:28:58 +00:00
|
|
|
|
notFound: function () {
|
2013-04-18 23:14:08 +00:00
|
|
|
|
this._setTitle('Not Found');
|
2013-06-24 23:41:59 +00:00
|
|
|
|
App.mainRegion.show(new NotFoundView(this));
|
2013-03-29 23:28:58 +00:00
|
|
|
|
},
|
|
|
|
|
|
2013-06-05 00:49:53 +00:00
|
|
|
|
|
2013-04-18 23:14:08 +00:00
|
|
|
|
_setTitle: function (title) {
|
2013-04-24 01:55:29 +00:00
|
|
|
|
//$('#title-region').html(title);
|
2013-03-29 23:28:58 +00:00
|
|
|
|
|
|
|
|
|
if (title.toLocaleLowerCase() === 'nzbdrone') {
|
|
|
|
|
window.document.title = 'NzbDrone';
|
2013-03-02 19:13:23 +00:00
|
|
|
|
}
|
2013-03-29 23:28:58 +00:00
|
|
|
|
else {
|
|
|
|
|
window.document.title = title + ' - NzbDrone';
|
2013-03-04 00:09:43 +00:00
|
|
|
|
}
|
2013-05-28 06:03:25 +00:00
|
|
|
|
|
|
|
|
|
this._clearCookies();
|
|
|
|
|
},
|
|
|
|
|
|
|
|
|
|
_clearCookies: function () {
|
|
|
|
|
|
|
|
|
|
if (!document.cookie) {
|
|
|
|
|
return;
|
|
|
|
|
}
|
|
|
|
|
|
2013-06-22 06:24:24 +00:00
|
|
|
|
var cookies = document.cookie.split(';');
|
2013-05-28 06:03:25 +00:00
|
|
|
|
|
|
|
|
|
for (var i = 0; i < cookies.length; i++) {
|
|
|
|
|
var cookie = cookies[i];
|
2013-06-22 06:24:24 +00:00
|
|
|
|
var eqPos = cookie.indexOf('=');
|
2013-05-28 06:03:25 +00:00
|
|
|
|
var name = eqPos > -1 ? cookie.substr(0, eqPos) :cookie;
|
2013-06-22 06:24:24 +00:00
|
|
|
|
document.cookie = name + '=;expires=Thu, 01 Jan 1970 00:00:00 GMT';
|
2013-05-28 06:03:25 +00:00
|
|
|
|
}
|
2013-03-29 23:28:58 +00:00
|
|
|
|
}
|
|
|
|
|
});
|
2013-02-16 00:49:25 +00:00
|
|
|
|
});
|
2013-02-15 23:38:53 +00:00
|
|
|
|
|