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

Implement plugin update identification by guid

This commit is contained in:
Eric Reed 2013-11-04 13:16:47 -05:00
parent 47687eb5e9
commit 29773b4c09
4 changed files with 20 additions and 12 deletions

View file

@ -730,7 +730,7 @@ MediaBrowser.ApiClient = function ($, navigator, JSON, WebSocket, setTimeout, wi
/** /**
* Installs or updates a new plugin * Installs or updates a new plugin
*/ */
self.installPlugin = function (name, updateClass, version) { self.installPlugin = function (name, guid, updateClass, version) {
if (!name) { if (!name) {
throw new Error("null name"); throw new Error("null name");
@ -741,7 +741,8 @@ MediaBrowser.ApiClient = function ($, navigator, JSON, WebSocket, setTimeout, wi
} }
var options = { var options = {
updateClass: updateClass updateClass: updateClass,
AssemblyGuid: guid
}; };
if (version) { if (version) {
@ -785,13 +786,17 @@ MediaBrowser.ApiClient = function ($, navigator, JSON, WebSocket, setTimeout, wi
/** /**
* Gets information about an installable package * Gets information about an installable package
*/ */
self.getPackageInfo = function (name) { self.getPackageInfo = function (name, guid) {
if (!name) { if (!name) {
throw new Error("null name"); throw new Error("null name");
} }
var url = self.getUrl("Packages/" + name); var options = {
AssemblyGuid: guid
};
var url = self.getUrl("Packages/" + name, options);
return self.ajax({ return self.ajax({
type: "GET", type: "GET",

View file

@ -192,8 +192,9 @@
Dashboard.showLoadingMsg(); Dashboard.showLoadingMsg();
var name = getParameterByName('name'); var name = getParameterByName('name');
var guid = getParameterByName('guid');
var promise1 = ApiClient.getPackageInfo(name); var promise1 = ApiClient.getPackageInfo(name, guid);
var promise2 = ApiClient.getInstalledPlugins(); var promise2 = ApiClient.getInstalledPlugins();
var promise3 = ApiClient.getPluginSecurityInfo(); var promise3 = ApiClient.getPluginSecurityInfo();
@ -205,9 +206,9 @@
}); });
function performInstallation(packageName, updateClass, version) { function performInstallation(packageName, guid, updateClass, version) {
ApiClient.installPlugin(packageName, updateClass, version).done(function () { ApiClient.installPlugin(packageName, guid, updateClass, version).done(function () {
Dashboard.hideLoadingMsg(); Dashboard.hideLoadingMsg();
}); });
@ -226,6 +227,7 @@
$('#btnInstall', page).button('disable'); $('#btnInstall', page).button('disable');
var name = getParameterByName('name'); var name = getParameterByName('name');
var guid = getParameterByName('guid');
ApiClient.getInstalledPlugins().done(function (plugins) { ApiClient.getInstalledPlugins().done(function (plugins) {
@ -246,14 +248,14 @@
if (confirmResult) { if (confirmResult) {
Dashboard.showLoadingMsg(); Dashboard.showLoadingMsg();
performInstallation(name, vals[1], version); performInstallation(name, guid, vals[1], version);
} else { } else {
$('#btnInstall', page).button('enable'); $('#btnInstall', page).button('enable');
} }
}); });
} else { } else {
performInstallation(name, vals[1], version); performInstallation(name, guid, vals[1], version);
} }
}); });

View file

@ -470,7 +470,7 @@
html += '<p><strong>A new version of ' + update.name + ' is available!</strong></p>'; html += '<p><strong>A new version of ' + update.name + ' is available!</strong></p>';
html += '<button type="button" data-icon="download" data-theme="b" onclick="DashboardPage.installPluginUpdate(this);" data-name="' + update.name + '" data-version="' + update.versionStr + '" data-classification="' + update.classification + '">Update Now</button>'; html += '<button type="button" data-icon="download" data-theme="b" onclick="DashboardPage.installPluginUpdate(this);" data-name="' + update.name + '" data-guid="' + update.guid + '" data-version="' + update.versionStr + '" data-classification="' + update.classification + '">Update Now</button>';
} }
elem.html(html).trigger('create'); elem.html(html).trigger('create');
@ -487,12 +487,13 @@
$(button).button('disable'); $(button).button('disable');
var name = button.getAttribute('data-name'); var name = button.getAttribute('data-name');
var guid = button.getAttribute('data-guid');
var version = button.getAttribute('data-version'); var version = button.getAttribute('data-version');
var classification = button.getAttribute('data-classification'); var classification = button.getAttribute('data-classification');
Dashboard.showLoadingMsg(); Dashboard.showLoadingMsg();
ApiClient.installPlugin(name, classification, version).done(function () { ApiClient.installPlugin(name, guid, classification, version).done(function () {
Dashboard.hideLoadingMsg(); Dashboard.hideLoadingMsg();
}); });

View file

@ -76,7 +76,7 @@
currentCategory = category; currentCategory = category;
} }
var href = plugin.externalUrl ? plugin.externalUrl : "addPlugin.html?name=" + encodeURIComponent(plugin.name); var href = plugin.externalUrl ? plugin.externalUrl : "addPlugin.html?name=" + encodeURIComponent(plugin.name) + "&guid=" + plugin.guid;
var target = plugin.externalUrl ? ' target="_blank"' : ''; var target = plugin.externalUrl ? ' target="_blank"' : '';
html += "<a class='posterItem backdropPosterItem transparentPosterItem borderlessPosterItem' href='" + href + "' " + target + ">"; html += "<a class='posterItem backdropPosterItem transparentPosterItem borderlessPosterItem' href='" + href + "' " + target + ">";