Skip to content

Commit

Permalink
delete single and group of flavors in same view, few changes flavors …
Browse files Browse the repository at this point in the history
…view, changed some translation, deleted obsolete templates and views
  • Loading branch information
iljdam committed May 23, 2012
1 parent c007e9b commit e3d1c42
Show file tree
Hide file tree
Showing 14 changed files with 166 additions and 307 deletions.
7 changes: 1 addition & 6 deletions js/load-modules.js
Expand Up @@ -50,13 +50,10 @@ var loadViews = function() {
"js/views/nova/ImagesAndSnapshotsView.js",
"js/views/forms/UpdateInstanceView.js",
"js/views/forms/CreateFlavorView.js",
"js/views/forms/DeleteFlavorsView.js",
"js/views/forms/DeleteImagesView.js",
"js/views/forms/UpdateImageView.js",
"js/views/forms/LaunchImageView.js",
"js/views/forms/ConsultImageDetailView.js",
"js/views/forms/TerminateInstancesView.js",
"js/views/forms/RebootInstancesView.js",
"js/views/forms/ChangePasswordView.js",
"js/views/forms/ConfirmView.js",
"js/views/nova/InstanceDetailView.js",
Expand All @@ -68,7 +65,7 @@ var loadViews = function() {

var loadModels = function() {

custom_require([ "js/models/FlavorModel.js",
custom_require(["js/models/FlavorModel.js",
"js/models/OverviewModel.js",
"js/models/ImageModel.js",
"js/models/ProjectModel.js",
Expand Down Expand Up @@ -125,12 +122,10 @@ var loadTemplates = function() {
'templates/novaInstancesAndVolumesTemplate.html',
'templates/updateInstanceFormTemplate.html',
'templates/createFlavorFormTemplate.html',
'templates/deleteFlavorsFormTemplate.html',
'templates/deleteImagesFormTemplate.html',
'templates/updateImageFormTemplate.html',
'templates/launchImageTemplate.html',
'templates/consultImageDetailFormTemplate.html',
'templates/terminateInstancesFormTemplate.html',
'templates/rebootInstancesFormTemplate.html',
'templates/changePasswordFormTemplate.html',
'templates/confirmTemplate.html',
Expand Down
41 changes: 4 additions & 37 deletions js/routes/os-routes.js
Expand Up @@ -64,10 +64,7 @@ var OSRouter = Backbone.Router.extend({
this.route('syspanel/users/', 'users', _.wrap(this.sys_users, this.checkAuth));
this.route('syspanel/quotas/', 'quotas', _.wrap(this.sys_quotas, this.checkAuth));

this.route('syspanel/flavors/create', 'create_flavor', _.wrap(this.create_flavor, this.checkAuth));
this.route('syspanel/flavors/delete', 'delete_flavors', _.wrap(this.delete_flavors, this.checkAuth));
this.route('syspanel/flavor/:id/delete', 'delete_flavor', _.wrap(this.delete_flavor, this.checkAuth));

this.route('syspanel/flavors/create', 'create_flavor', _.wrap(this.create_flavor, this.checkAuth));
this.route('syspanel/images/delete', 'delete_images', _.wrap(this.delete_images, this.checkAuth));

this.route('nova/instances_and_volumes/instances/:id/update', 'update_instance', this.wrap(this.update_instance, this.checkAuth));
Expand Down Expand Up @@ -245,29 +242,15 @@ var OSRouter = Backbone.Router.extend({
self.instancesModel.alltenants = true;
//self.add_fetch(self.instancesModel, 4);
var view = new InstanceView({model: self.instancesModel, projects: self.projects, flavors: self.flavors, el: '#content'});
self.newContentView(self,view);
self.newContentView(self,view);
},

terminate_instances: function(self) {
console.log("Received terminate for instances");
var view = new TerminateInstancesView({model: self.instancesModel, el: 'body'});
view.render();
self.navigate('#syspanel/instances/', {trigger: false, replace: true});
},

reboot_instances: function(self) {
console.log("Received reboot");
var view = new RebootInstancesView({model: self.instancesModel, el: 'body'});
view.render();
self.navigate('#syspanel/instances/', {trigger: false, replace: true});
},

sys_services: function(self) {
self.showSysRoot(self, 'Services');
console.log("Services");
var services = new Services();
var view = new ServiceView({model: services, el: '#content'});
self.newContentView(self,view);
self.newContentView(self,view);
view.render();
},

Expand All @@ -276,7 +259,7 @@ var OSRouter = Backbone.Router.extend({
self.flavors.unbind("change");
//self.add_fetch(self.flavors, 4);
var view = new FlavorView({model: self.flavors, el: '#content'});
self.newContentView(self,view);
self.newContentView(self,view);
},

create_flavor: function(self) {
Expand All @@ -286,22 +269,6 @@ var OSRouter = Backbone.Router.extend({
self.navigate('#syspanel/flavors/', {trigger: false, replace: true});
},

delete_flavors: function(self) {
var view = new DeleteFlavorsView({model: self.flavors, el: 'body'});
view.render();
self.navigate('#syspanel/flavors/', {trigger: false, replace: true});
},

delete_flavor: function(self, id) {
console.log("Received delete for flavor: " + id);
var flavor = new Flavor();
flavor.set({"id": id});
console.log(flavor.get("id"));
var view = new DeleteFlavorView({model: flavor, el: 'body'});
view.render();
self.navigate('#syspanel/flavors/', {trigger: false, replace: true});
},

sys_projects: function(self) {
self.showSysRoot(self, 'Projects');
var view = new ProjectView({model:self.projects, el: '#content'});
Expand Down
51 changes: 0 additions & 51 deletions js/views/forms/DeleteFlavorsView.js

This file was deleted.

50 changes: 0 additions & 50 deletions js/views/forms/RebootInstancesView.js

This file was deleted.

51 changes: 0 additions & 51 deletions js/views/forms/TerminateInstancesView.js

This file was deleted.

1 change: 1 addition & 0 deletions js/views/nova/InstancesAndVolumesView.js
Expand Up @@ -34,6 +34,7 @@ var InstancesAndVolumesView = Backbone.View.extend({
},

onTerminate: function(evt) {
console.log("Event target = "+evt.target.value);
var instance = evt.target.value;
var inst = this.model.get(instance);
var subview = new ConfirmView({el: 'body', title: "Terminate Instance", btn_message: "Terminate Instance", onAccept: function() {
Expand Down
50 changes: 43 additions & 7 deletions js/views/syspanel/FlavorView.js
Expand Up @@ -3,28 +3,31 @@ var FlavorView = Backbone.View.extend({
_template: _.itemplate($('#flavorsTemplate').html()),


initialize: function() {
initialize: function() {
this.model.unbind("reset");
this.model.bind("reset", this.render, this);
this.renderFirst();
},

events: {
'change .checkbox_flavor':'enableDisableDeleteButton',
'click #flavors_delete': 'checkIfDisabled'

'change .checkbox':'enableDisableDeleteButton',
//'click #flavors_delete': 'checkIfDisabled',
'click .btn-delete':'onDelete',
'click .btn-delete-group':'onDeleteGroup'
},

checkIfDisabled: function (e) {
/*checkIfDisabled: function (e) {
for (var index = 0; index < this.model.length; index++) {
var flavorId = this.model.models[index].get('id');
if($("#checkbox_"+flavorId).is(':checked'))
{
$("#flavors_delete").attr("href", "#syspanel/flavors/delete");
$("#flavors_delete").attr("href", "#syspanel/flavors/"+flavorId+"/delete");
}
} console.log("Button disabled");
},
},*/

enableDisableDeleteButton: function (e) {
/*enableDisableDeleteButton: function (e) {
for (var index = 0; index < this.model.length; index++) {
var flavorId = this.model.models[index].get('id');
if($("#checkbox_"+flavorId).is(':checked'))
Expand All @@ -35,6 +38,39 @@ var FlavorView = Backbone.View.extend({
}
$("#flavors_delete").attr("disabled", true);
},*/

enableDisableDeleteButton: function () {
console.log("Checkbox size = "+$(".checkbox:checked").size());
if ($(".checkbox:checked").size() > 0) {
$("#flavors_delete").attr("disabled", false);
} else {
$("#flavors_delete").attr("disabled", true);
}

},

onDelete: function(evt) {
var flavor = evt.target.value;
console.log("Event target = "+evt.target);
var flav = this.model.get(flavor);
var subview = new ConfirmView({el: 'body', title: "Delete Flavor", btn_message: "Delete Flavor", onAccept: function() {
flav.destroy();
}});
subview.render();
},

onDeleteGroup: function(evt) {
var self = this;
var subview = new ConfirmView({el: 'body', title: "Delete Flavors", btn_message: "Delete Flavor", onAccept: function() {
$(".checkbox:checked").each(function () {
var flavor = $(this).val();
console.log("Flavor to delete: " + flavor);
var flav = self.model.get(flavor);
flav.destroy();
});
}});
subview.render();
},

renderFirst: function() {
Expand Down

0 comments on commit e3d1c42

Please sign in to comment.