[PATCH aeolus-conductor] Enable ajax update via backbone on /deployables/:id
Petr Blaho
pblaho at redhat.com
Mon Mar 5 19:55:42 UTC 2012
https://bugzilla.redhat.com/show_bug.cgi?id=788719
---
src/public/javascripts/backbone/models.js | 7 ++++++-
src/public/javascripts/backbone/routers.js | 17 +++++++++++++++--
2 files changed, 21 insertions(+), 3 deletions(-)
diff --git a/src/public/javascripts/backbone/models.js b/src/public/javascripts/backbone/models.js
index 93c9114..1d1c54b 100644
--- a/src/public/javascripts/backbone/models.js
+++ b/src/public/javascripts/backbone/models.js
@@ -39,7 +39,12 @@ Conductor.Models.Deployable = Backbone.Model.extend({
},
url: function() {
- return Conductor.prefixedPath('/catalogs/' + this.catalog_id + '/deployables/' + this.id);;
+ if( this.catalog_id == null ){
+ return Conductor.prefixedPath('/deployables/' + this.id);
+ }
+ else{
+ return Conductor.prefixedPath('/catalogs/' + this.catalog_id + '/deployables/' + this.id);
+ }
}
});
diff --git a/src/public/javascripts/backbone/routers.js b/src/public/javascripts/backbone/routers.js
index 381cdee..94bed1f 100644
--- a/src/public/javascripts/backbone/routers.js
+++ b/src/public/javascripts/backbone/routers.js
@@ -76,10 +76,23 @@ Conductor.Routers.Deployments = Backbone.Router.extend({
Conductor.Routers.Deployables = Backbone.Router.extend({
routes: {
- 'catalogs/:catalog_id/deployables/:id': 'show'
+ 'catalogs/:catalog_id/deployables/:id': 'show_nested',
+ 'deployables/:id': 'show'
},
- show: function(catalog_id, id) {
+ show: function(id) {
+ id = Conductor.idFromURLFragment(id);
+
+ if(! _.isNumber(id) ) return;
+
+ setInterval(function() {
+ var deployable = new Conductor.Models.Deployable({ id: id });
+ var view = new Conductor.Views.DeployablesShow({ model: deployable });
+ deployable.fetch({ success: function() { view.render(); } })
+ }, Conductor.AJAX_REFRESH_INTERVAL);
+ },
+
+ show_nested: function(catalog_id, id) {
id = Conductor.idFromURLFragment(id);
var catalogId = Conductor.idFromURLFragment(catalog_id);
--
1.7.7.6
More information about the aeolus-devel
mailing list