1
0
mirror of https://github.com/OpenNebula/one.git synced 2025-03-22 18:50:08 +03:00

feature #4217: Add marketplace.js and marketplaceapp.js

This commit is contained in:
Daniel Molina 2016-02-04 13:19:04 +01:00
parent 63d48aec52
commit 122a1a1791
3 changed files with 158 additions and 36 deletions

View File

@ -28,7 +28,6 @@ define(function(require) {
Group = require('./opennebula/group'),
Host = require('./opennebula/host'),
Image = require('./opennebula/image'),
Marketplace = require('./opennebula/marketplace'),
Network = require('./opennebula/network'),
Role = require('./opennebula/role'),
securitygroup = require('./opennebula/securitygroup'),
@ -41,6 +40,8 @@ define(function(require) {
Vm = require('./opennebula/vm'),
Zone = require('./opennebula/zone'),
VirtualRouter = require('./opennebula/virtualrouter');
MarketPlace = require('./opennebula/marketplace');
MarketPlaceApp = require('./opennebula/marketplaceapp');
if (typeof(csrftoken) != "undefined") {
$.ajaxPrefilter(function(options, originalOptions, jqXHR) {
@ -78,7 +79,6 @@ define(function(require) {
'Host': Host,
'Image': Image,
'File': Image,
'Marketplace': Marketplace,
'Network': Network,
'Role': Role,
'SecurityGroup': securitygroup,
@ -90,7 +90,9 @@ define(function(require) {
'Vdc': Vdc,
'VM': Vm,
'Zone': Zone,
'VirtualRouter': VirtualRouter
'VirtualRouter': VirtualRouter,
'MarketPlace': MarketPlace,
'MarketPlaceApp': MarketPlaceApp
};
return OpenNebula;

View File

@ -16,45 +16,53 @@
define(function(require) {
var OpenNebulaAction = require('./action');
var OpenNebulaError = require('./error');
var OpenNebulaHelper = require('./helper');
var Notifier = require('utils/notifier');
var Locale = require('utils/locale');
var RESOURCE = "MARKETPLACE";
var Marketplace = {
var MarketPlace = {
"resource": RESOURCE,
"show" : function(params) {
params.error = function() {
return Notifier.notifyError(Locale.tr("Cannot connect to OpenNebula Marketplace"));
};
OpenNebulaAction.show(params, RESOURCE);
"create" : function(params) {
OpenNebulaAction.create(params, RESOURCE);
},
"del" : function(params) {
OpenNebulaAction.del(params, RESOURCE);
},
"list" : function(params) {
//Custom list request function, since the contents do not come
//in the same format as the rest of opennebula resources.
var callback = params.success;
var callback_error = params.error;
var timeout = params.timeout || false;
var request = OpenNebulaHelper.request('MARKETPLACE', 'list');
$.ajax({
url: 'marketplace',
type: 'GET',
data: {timeout: timeout},
dataType: "json",
success: function(response) {
$(".marketplace_error_message").hide();
return callback ? callback(request, response) : null;
},
error: function(res) {
$(".marketplace_error_message").show();
return callback_error ? callback_error(request, OpenNebulaError(res)) : null;
}
});
OpenNebulaAction.list(params, RESOURCE);
},
"list_in_zone" : function(params) {
OpenNebulaAction.list_in_zone(params, RESOURCE);
},
"show" : function(params) {
OpenNebulaAction.show(params, RESOURCE);
},
"chown" : function(params) {
OpenNebulaAction.chown(params, RESOURCE);
},
"chgrp" : function(params) {
OpenNebulaAction.chgrp(params, RESOURCE);
},
"chmod" : function(params) {
var action_obj = params.data.extra_param;
OpenNebulaAction.simple_action(params, RESOURCE, "chmod", action_obj);
},
"update" : function(params) {
var action_obj = {"template_raw" : params.data.extra_param};
OpenNebulaAction.simple_action(params, RESOURCE, "update", action_obj);
},
"append": function(params) {
var action_obj = {"template_raw" : params.data.extra_param, append : true};
OpenNebulaAction.simple_action(params, RESOURCE, "update", action_obj);
},
"rename" : function(params) {
var action_obj = params.data.extra_param;
OpenNebulaAction.simple_action(params, RESOURCE, "rename", action_obj);
},
"getName": function(id){
return OpenNebulaAction.getName(id, RESOURCE);
}
};
}
return Marketplace;
});
return MarketPlace;
})

View File

@ -0,0 +1,112 @@
/* -------------------------------------------------------------------------- */
/* Copyright 2002-2015, OpenNebula Project, OpenNebula Systems */
/* */
/* Licensed under the Apache License, Version 2.0 (the "License"); you may */
/* not use this file except in compliance with the License. You may obtain */
/* a copy of the License at */
/* */
/* http://www.apache.org/licenses/LICENSE-2.0 */
/* */
/* Unless required by applicable law or agreed to in writing, software */
/* distributed under the License is distributed on an "AS IS" BASIS, */
/* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. */
/* See the License for the specific language governing permissions and */
/* limitations under the License. */
/* -------------------------------------------------------------------------- */
define(function(require) {
var OpenNebulaAction = require('./action');
var Locale = require('utils/locale');
var RESOURCE = "MARKETPLACEAPP";
var STATES_STR = [
Locale.tr("INIT"),
Locale.tr("READY"),
Locale.tr("LOCKED"),
Locale.tr("ERROR"),
Locale.tr("DISABLED")
];
var TYPES_STR = [
Locale.tr("UNKNOWN"),
Locale.tr("IMAGE"),
Locale.tr("VMTEMPLATE"),
Locale.tr("SERVICE_TEMPLATE")
];
var STATES = {
INIT : 0,
READY : 1,
LOCKED : 2,
ERROR : 3,
DISABLED : 4
};
var TYPES = {
UNKNOWN : 0,
IMAGE : 1,
VMTEMPLATE : 2,
SERVICE_TEMPLATE : 3
};
var MarketPlaceApp = {
"resource": RESOURCE,
"stateStr": function(stateId) {
return STATES_STR[stateId];
},
"STATES": STATES,
"typeStr": function(typeId) {
return TYPES_STR[typeId];
},
"TYPES": TYPES,
"create" : function(params) {
OpenNebulaAction.create(params, RESOURCE);
},
"del" : function(params) {
OpenNebulaAction.del(params, RESOURCE);
},
"list" : function(params) {
OpenNebulaAction.list(params, RESOURCE);
},
"list_in_zone" : function(params) {
OpenNebulaAction.list_in_zone(params, RESOURCE);
},
"show" : function(params) {
OpenNebulaAction.show(params, RESOURCE);
},
"chown" : function(params) {
OpenNebulaAction.chown(params, RESOURCE);
},
"chgrp" : function(params) {
OpenNebulaAction.chgrp(params, RESOURCE);
},
"chmod" : function(params) {
var action_obj = params.data.extra_param;
OpenNebulaAction.simple_action(params, RESOURCE, "chmod", action_obj);
},
"update" : function(params) {
var action_obj = {"template_raw" : params.data.extra_param};
OpenNebulaAction.simple_action(params, RESOURCE, "update", action_obj);
},
"append": function(params) {
var action_obj = {"template_raw" : params.data.extra_param, append : true};
OpenNebulaAction.simple_action(params, RESOURCE, "update", action_obj);
},
"rename" : function(params) {
var action_obj = params.data.extra_param;
OpenNebulaAction.simple_action(params, RESOURCE, "rename", action_obj);
},
"enable": function(params) {
OpenNebulaAction.simple_action(params, RESOURCE, "enable");
},
"disable": function(params) {
OpenNebulaAction.simple_action(params, RESOURCE, "disable");
},
"getName": function(id){
return OpenNebulaAction.getName(id, RESOURCE);
}
}
return MarketPlaceApp;
})