From a330348c8e716342432b1df8a64a2c044bc929c8 Mon Sep 17 00:00:00 2001 From: Mark McDowall Date: Sun, 5 Feb 2012 12:17:23 -0800 Subject: [PATCH 1/9] Series grid updated to remove Telerik MVC Grid. --- NzbDrone.Web/Content/Images/Delete.png | Bin 0 -> 1284 bytes NzbDrone.Web/Content/NzbDrone.css | 49 ++- NzbDrone.Web/Content/Overrides.css | 5 + NzbDrone.Web/Controllers/SeriesController.cs | 54 ++-- NzbDrone.Web/NzbDrone.Web.csproj | 10 +- NzbDrone.Web/Scripts/NzbDrone/grid.js | 13 +- .../Scripts/NzbDrone/seriesDetails.js | 7 +- NzbDrone.Web/Views/Series/Details.cshtml | 1 + NzbDrone.Web/Views/Series/Index.cshtml | 283 +++++++++++------- NzbDrone.Web/Views/Series/Series.cshtml | 30 ++ ...SeriesModel.cshtml => SeriesEditor.cshtml} | 9 +- 11 files changed, 306 insertions(+), 155 deletions(-) create mode 100644 NzbDrone.Web/Content/Images/Delete.png create mode 100644 NzbDrone.Web/Views/Series/Series.cshtml rename NzbDrone.Web/Views/Series/{EditorTemplates/SeriesModel.cshtml => SeriesEditor.cshtml} (81%) diff --git a/NzbDrone.Web/Content/Images/Delete.png b/NzbDrone.Web/Content/Images/Delete.png new file mode 100644 index 0000000000000000000000000000000000000000..36e8689b71c5284baf42c4cb759c47c275f4ddaa GIT binary patch literal 1284 zcmX9;Yfw{16yBSg7bL-3E0G|YD-{L=Y%o=cXt@ay2!aNrwQAIxh^VMM)Jm!pEaVs%U| zZf+U<^EQ3q{CPLWf-tz}8S?-}@Fh~x52whv3Mz_iV{`E)VF(GhI3J;aVUXp$f~g`# zQfs0JaMSm@YuBuE=yx?unDT+a1}Pd$mo7bxIriM$>hXHKo4gvcoQ5z6pB4jJV_D9P zu!nngj*T`ZJ*GloJUxtILV&j|5U&DdC=*L`*iS8*GVD_m2g`+y@kV=pZ?BA;2AEiq zyu0gcyk#x~)iB(vuWZnM0Nc%p-_Wcdp}$;KF7a%N%Vz{#A+9%1FTGA^QCnD16K{P4 z7xI>XliEz8Stt`yV^hENr+}i{RmUAFyUf8U3E%Pk?kBX{U0~L!O_Wt!4#es^QdmiZwbx=Dk&T7F&mykZr`Ie>DP-16h<9+jy(*pMQyf5<8$k;PI(f zsj-NY+S47GfWci~JRh4tbFugG4#{`xr(x|#E~jHb$3B=^vpXPCC31caNp=uE2}roF z!BrKp?$MA)nn5mrZ5ahQisjF9_O4yqOUGBv(*7SK+cy&_DP8pT?uH^qU6%lAc_jUa zo$BrFr7x_kV_ULKGoYwSQD;xjt3ulS8h`oz9uzQ2L(t%rwR~P@+W;G?T!P#vcx{!C z?#Wm5>IRLMF7FL&fUU_N>0^~3-+Wj<9+Nk$!J?-);jt8p$Y1)}${%kA7xieD)9Iv_ zCnidMipAh`?LpI2s)INmBlOa@@2lhRDuymAJ(m<_bNV>Mq`0(@F(SwBFmysiM&Kq2 zShqxmtSSgLHo6t%l|K?gsn3S*l++(U_s7D4=c@U8~x z+KVs)+L^XELc_L27mdw0x#{birz|e6Veg`L&5UfDf#eHHWknx>(jZF@3nQ8W)GF3( zZIs`}0fdRo<0xDBQF<31GBKIGZJRvOFRj@C!tYvL&wjf>$LxQ}Uz0Sm4$8!>M$<_4 z4u=`p@z!MprB$CroQO;&BP|aavs-P1eMxY>57a#0Yf#jIsau6iqD?fLbG*8`xQ#fP za?v4Gc)_>ll953j#@gCh<}>?W4$U5*`uj7?eixSte4~>)Jacmw>A_>?hK1cMsg2I7 zFrnk)<1M-$_Wo@s+ll`H1-Cu{OO3NdA`uxYUZN*Dk*gVYMtS|ZMxWq?M~$BQR3p!k z^v?E5Fj|=0DwU38#D>d)E8ZZD=xAv8 zf#X~m95Pp;V&)m1?Gr-7vk3?d$F_jbux!4e#?c$h!{w&3?g&=B;0O<8`T_Bk1KTf? RNuBT;1FB^!lnn~f@E@Y+@YetU literal 0 HcmV?d00001 diff --git a/NzbDrone.Web/Content/NzbDrone.css b/NzbDrone.Web/Content/NzbDrone.css index 01e9a722c..87c8eb85c 100644 --- a/NzbDrone.Web/Content/NzbDrone.css +++ b/NzbDrone.Web/Content/NzbDrone.css @@ -278,4 +278,51 @@ button span, input[type="button"] span, input[type="submit"] span, input[type="r .episodeMissing { background-color: #F5A9A9; -} \ No newline at end of file +} + +.seriesTable + { + width: 100%; + border-width: 1px; + border-spacing: 2px; + border-style: none; + border-color: white; + border-collapse: collapse; + } + + .seriesTable th + { + font-family: "Segoe UI Light" , "Open Sans" , "Segoe UI" , sans-serif; + border-width: 300; + font-size: 17px; + padding: 2px; + border-style: inset; + border-color: #EEEEEE; + padding-left: 7px; + text-align: left; + background-color: white; + font-weight: lighter; + } + + .seriesTable td + { + border-width: 1px; + padding: 0px 8px 0px 8px; + border-style: inset; + border-color: #EEEEEE; + } + + .detail-view + { + display: none; + } + + /* Colour alternating rows */ + .seriesTable tr:nth-child(4n) + { + background: #f0f5ff; + } + .seriesTable tr:nth-child(4n+1) + { + background: #f0f5ff; + } \ No newline at end of file diff --git a/NzbDrone.Web/Content/Overrides.css b/NzbDrone.Web/Content/Overrides.css index 4254cdef9..8a9c01b82 100644 --- a/NzbDrone.Web/Content/Overrides.css +++ b/NzbDrone.Web/Content/Overrides.css @@ -26,6 +26,11 @@ color: #065EFE; } +.ui-progressbar-value +{ + background: #065EFE url(./jQueryUI/images/ui-bg_flat_30_065efe_40x100.png) 50% 50% repeat-x; +} + .jquery-tabs { margin-top: 10px; diff --git a/NzbDrone.Web/Controllers/SeriesController.cs b/NzbDrone.Web/Controllers/SeriesController.cs index 13a6a6bed..40bccfd8e 100644 --- a/NzbDrone.Web/Controllers/SeriesController.cs +++ b/NzbDrone.Web/Controllers/SeriesController.cs @@ -37,6 +37,12 @@ namespace NzbDrone.Web.Controllers } public ActionResult Index() + { + var series = GetSeriesModels(_seriesProvider.GetAllSeriesWithEpisodeCount()).OrderBy(o => SortHelper.SkipArticles(o.Title)); + return View(series); + } + + public ActionResult SeriesEditor(int seriesId) { var profiles = _qualityProvider.All(); ViewData["SelectList"] = new SelectList(profiles, "QualityProfileId", "Name"); @@ -50,47 +56,31 @@ namespace NzbDrone.Web.Controllers ViewData["BacklogSettingSelectList"] = new SelectList(backlogStatusTypes, "Key", "Value"); - return View(); - } - - [GridAction] - public ActionResult _AjaxSeriesGrid() - { - var series = GetSeriesModels(_seriesProvider.GetAllSeriesWithEpisodeCount()).OrderBy(o => SortHelper.SkipArticles(o.Title)); - return View(new GridModel(series)); + var series = GetSeriesModels(new List{_seriesProvider.GetSeries(seriesId)}).Single(); + return View(series); } - [AcceptVerbs(HttpVerbs.Post)] - [GridAction] - public ActionResult _SaveAjaxSeriesEditing(int id, string path, bool monitored, bool seasonFolder, int qualityProfileId, int backlogSetting) + [HttpPost] + public JsonResult SaveSeriesEditor(SeriesModel seriesModel) { - var oldSeries = _seriesProvider.GetSeries(id); - oldSeries.Monitored = monitored; - oldSeries.SeasonFolder = seasonFolder; - oldSeries.QualityProfileId = qualityProfileId; - oldSeries.Path = path; - oldSeries.BacklogSetting = (BacklogSettingType)backlogSetting; + var series = _seriesProvider.GetSeries(seriesModel.SeriesId); + series.Monitored = seriesModel.Monitored; + series.SeasonFolder = seriesModel.SeasonFolder; + series.QualityProfileId = seriesModel.QualityProfileId; + series.Path = seriesModel.Path; + series.BacklogSetting = (BacklogSettingType)seriesModel.BacklogSetting; - _seriesProvider.UpdateSeries(oldSeries); + _seriesProvider.UpdateSeries(series); - var series = GetSeriesModels(_seriesProvider.GetAllSeriesWithEpisodeCount()).OrderBy(o => SortHelper.SkipArticles(o.Title)); - return View(new GridModel(series)); + return JsonNotificationResult.Info("Series Saved"); } - [GridAction] - public ActionResult _DeleteAjaxSeriesEditing(int id) + [HttpPost] + public JsonResult DeleteSeries(int seriesId) { - //Grab the series from the DB so we can remove it from the list we return to the client - var seriesInDb = _seriesProvider.GetAllSeriesWithEpisodeCount().ToList(); - - //Remove this so we don't send it back to the client (since it hasn't really been deleted yet) - seriesInDb.RemoveAll(s => s.SeriesId == id); - - //Start removing this series - _jobProvider.QueueJob(typeof(DeleteSeriesJob), id); + _jobProvider.QueueJob(typeof(DeleteSeriesJob), seriesId); - var series = GetSeriesModels(seriesInDb).OrderBy(o => SortHelper.SkipArticles(o.Title)); - return View(new GridModel(series)); + return JsonNotificationResult.Info("Series Deleted"); } public JsonResult LocalSearch(string term) diff --git a/NzbDrone.Web/NzbDrone.Web.csproj b/NzbDrone.Web/NzbDrone.Web.csproj index 3650d38ed..7b56dcf9f 100644 --- a/NzbDrone.Web/NzbDrone.Web.csproj +++ b/NzbDrone.Web/NzbDrone.Web.csproj @@ -142,6 +142,7 @@ + @@ -455,9 +456,6 @@ - - - @@ -548,6 +546,12 @@ + + + + + +