From: Jordan Augé Date: Fri, 29 Nov 2013 09:30:26 +0000 (+0100) Subject: Merge branch 'master' into scheduler X-Git-Tag: myslice-0.3-0~103 X-Git-Url: http://git.onelab.eu/?p=myslice.git;a=commitdiff_plain;h=03839166e30819c37290f33056f44aaee1583bfc Merge branch 'master' into scheduler Conflicts: plugins/googlemap/static/js/googlemap.js --- 03839166e30819c37290f33056f44aaee1583bfc diff --cc plugins/googlemap/static/js/googlemap.js index 23345a27,b8bbf538..d6006744 --- a/plugins/googlemap/static/js/googlemap.js +++ b/plugins/googlemap/static/js/googlemap.js @@@ -41,15 -41,24 +41,24 @@@ googlemap_debug_detailed=false this.object = query.object; var keys = manifold.metadata.get_key(this.object); - // + // this.key = (keys && keys.length == 1) ? keys[0] : null; + // xxx temporary hack + // as of nov. 28 2013 we have here this.key='urn', but in any place where + // the code tries to access record[this.key] the records only have + // keys=type,hrn,network_hrn,hostname + // so for now we force using hrn instead + // as soon as record have their primary key set this line can be removed + // see also same hack in querytable + this.key= (this.key == 'urn') ? 'hrn' : this.key; + //// Setup query and record handlers - // this query is the one about the slice itself - // event related to this query will trigger callbacks like on_new_record + // this query is the one about the slice itself + // event related to this query will trigger callbacks like on_new_record this.listen_query(options.query_uuid); - // this one is the complete list of resources - // and will be bound to callbacks like on_all_new_record + // this one is the complete list of resources + // and will be bound to callbacks like on_all_new_record this.listen_query(options.query_all_uuid, 'all'); /* GUI setup and event binding */ @@@ -86,82 -95,86 +95,86 @@@ this.infowindow = new google.maps.InfoWindow(); }, // initialize_map - // xxx probably not the right place - // The function accepts both records and their key - record_hrn : function (record) { - var key_value; - switch (manifold.get_type(record)) { + // The function accepts both records and their id + // record.key points to the name of the primary key for this record + // typically this is 'urn' + record_id : function (input) { + var id; + switch (manifold.get_type(input)) { case TYPE_VALUE: - key_value = record; + id = input; break; case TYPE_RECORD: - if ( ! this.key in record ) return; - key_value = record[this.key]; + if ( ! this.key in input ) return; + id = input[this.key]; break; default: - throw "Not implemented"; + throw "googlemap.record_id: not implemented"; break; } - // XXX BACKSLASHES original code was reading like this - //return this.escape_id(key_value).replace(/\\/g, ''); - // however this sequence removes backslashes from hrn's and as a result - // queryupdater was getting all mixed up - // querytable does publish hrn's with backslashes and that seems like the thing to do - return key_value; - }, - - // return { marker: gmap_marker, ul :