From beddd5361d016aa7531e55f5a3f1100da5ec9c2a Mon Sep 17 00:00:00 2001 From: Luke Pulverenti Date: Thu, 27 Jun 2013 09:31:49 -0400 Subject: [PATCH] allow editing of ibn items --- dashboard-ui/scripts/edititemimages.js | 42 ++++++++++++++++++-- dashboard-ui/scripts/edititemmetadata.js | 42 ++++++++++++++++++-- dashboard-ui/scripts/itembynamedetailpage.js | 15 +++++++ 3 files changed, 93 insertions(+), 6 deletions(-) diff --git a/dashboard-ui/scripts/edititemimages.js b/dashboard-ui/scripts/edititemimages.js index d05591808e..7689521890 100644 --- a/dashboard-ui/scripts/edititemimages.js +++ b/dashboard-ui/scripts/edititemimages.js @@ -3,13 +3,49 @@ var currentItem; var currentFile; - function reload(page) { + function getPromise() { - var id = getParameterByName('id'); + var name = getParameterByName('person'); + + if (name) { + return ApiClient.getPerson(name, Dashboard.getCurrentUserId()); + } + + name = getParameterByName('studio'); + + if (name) { + + return ApiClient.getStudio(name, Dashboard.getCurrentUserId()); + + } + + name = getParameterByName('genre'); + + if (name) { + return ApiClient.getGenre(name, Dashboard.getCurrentUserId()); + } + + name = getParameterByName('musicgenre'); + + if (name) { + return ApiClient.getMusicGenre(name, Dashboard.getCurrentUserId()); + } + + name = getParameterByName('artist'); + + if (name) { + return ApiClient.getArtist(name, Dashboard.getCurrentUserId()); + } + else { + return ApiClient.getItem(Dashboard.getCurrentUserId(), getParameterByName('id')); + } + } + + function reload(page) { Dashboard.showLoadingMsg(); - ApiClient.getItem(Dashboard.getCurrentUserId(), id).done(function (item) { + getPromise().done(function (item) { currentItem = item; diff --git a/dashboard-ui/scripts/edititemmetadata.js b/dashboard-ui/scripts/edititemmetadata.js index 119b6c6ac3..ae272df623 100644 --- a/dashboard-ui/scripts/edititemmetadata.js +++ b/dashboard-ui/scripts/edititemmetadata.js @@ -2,13 +2,49 @@ var currentItem; - function reload(page) { + function getPromise() { - var id = getParameterByName('id'); + var name = getParameterByName('person'); + + if (name) { + return ApiClient.getPerson(name, Dashboard.getCurrentUserId()); + } + + name = getParameterByName('studio'); + + if (name) { + + return ApiClient.getStudio(name, Dashboard.getCurrentUserId()); + + } + + name = getParameterByName('genre'); + + if (name) { + return ApiClient.getGenre(name, Dashboard.getCurrentUserId()); + } + + name = getParameterByName('musicgenre'); + + if (name) { + return ApiClient.getMusicGenre(name, Dashboard.getCurrentUserId()); + } + + name = getParameterByName('artist'); + + if (name) { + return ApiClient.getArtist(name, Dashboard.getCurrentUserId()); + } + else { + return ApiClient.getItem(Dashboard.getCurrentUserId(), getParameterByName('id')); + } + } + + function reload(page) { Dashboard.showLoadingMsg(); - ApiClient.getItem(Dashboard.getCurrentUserId(), id).done(function (item) { + getPromise().done(function (item) { if (item.IsFolder) { $('#fldRecursive', page).show(); diff --git a/dashboard-ui/scripts/itembynamedetailpage.js b/dashboard-ui/scripts/itembynamedetailpage.js index 706643572b..244bf98a69 100644 --- a/dashboard-ui/scripts/itembynamedetailpage.js +++ b/dashboard-ui/scripts/itembynamedetailpage.js @@ -75,6 +75,16 @@ ApiClient.sendWebSocketMessage("Context", vals.join('|')); } + Dashboard.getCurrentUser().done(function (user) { + + if (user.Configuration.IsAdministrator) { + $('#editButtonContainer', page).show(); + } else { + $('#editButtonContainer', page).hide(); + } + + }); + Dashboard.hideLoadingMsg(); }); } @@ -470,6 +480,11 @@ RemoteControl.showMenu({ item: currentItem, context: getParameterByName('context') || '' }); }); + $('#btnEdit', page).on('click', function () { + + Dashboard.navigate("edititemmetadata.html", true); + }); + }).on('pageshow', "#itemByNameDetailPage", function () { var page = this;