diff options
| author | Atul Patel (OpenERP) <atp@tinyerp.com> | 2012-05-11 18:24:34 +0530 |
|---|---|---|
| committer | Atul Patel (OpenERP) <atp@tinyerp.com> | 2012-05-11 18:24:34 +0530 |
| commit | 986e134ab4fee8bc1938bd0448c3fc18e65eefe7 (patch) | |
| tree | a6d640410ceac3377feeb8a97c3b470112b46600 | |
| parent | 369e54b547b1ac590b40becb075c073f6a2047b8 (diff) | |
| parent | 32ecb048dc3daa39573c37144683d3842490dbb2 (diff) | |
[ADD]: Load script from web to addons and set indentations for google maps.
bzr revid: atp@tinyerp.com-20120511125434-pwz2hqbgxtmrurgy
| -rw-r--r-- | addons/event/static/src/css/event.css | 3 | ||||
| -rw-r--r-- | addons/event_sale/static/src/js/google_map.js | 108 |
2 files changed, 61 insertions, 50 deletions
diff --git a/addons/event/static/src/css/event.css b/addons/event/static/src/css/event.css index b0f5db0e9d2..4a2d8d558fb 100644 --- a/addons/event/static/src/css/event.css +++ b/addons/event/static/src/css/event.css @@ -117,5 +117,6 @@ div.oe_fold_column{ background-color: #DC5F59; } .no_of_seats{ - width:35px; + width:35px; + } diff --git a/addons/event_sale/static/src/js/google_map.js b/addons/event_sale/static/src/js/google_map.js index 4fb368d0845..2cf67df78a4 100644 --- a/addons/event_sale/static/src/js/google_map.js +++ b/addons/event_sale/static/src/js/google_map.js @@ -1,54 +1,64 @@ openerp.event = function(instance){ - instance.web.form.widgets.add('geo_address', 'instance.event.GeoAddress'); - instance.event.GeoAddress = instance.web.form.AbstractField.extend(_.extend({}, { + instance.web.form.widgets.add('geo_address', 'instance.event.GeoAddress'); + instance.event.GeoAddress = instance.web.form.AbstractField.extend(_.extend({}, { + init : function(){ + this._super.apply(this,arguments); + this.googleMapsLoaded = $.Deferred(); + }, + start:function(){ + }, - init : function(){ - this._super.apply(this,arguments); - }, + set_input_id:function(id){ + }, + Map_Load: function() { + var self = this; + if(this.googleMapsLoaded.state() != "pending"){return this.googleMapsLoaded.promise();} + googleMapsCallback = function () { + self.googleMapsLoaded.resolve(); + }; + $.ajax({ + url: "https://maps.googleapis.com/maps/api/js?v=3&callback=googleMapsCallback&sensor=false", + dataType: "script" + }).fail(self.googleMapsLoaded.reject); + return this.googleMapsLoaded.promise(); + }, + set_value:function(value){ + var self = this; + this.get_address(value).done(function(value){ + if(!self.__parentedParent.$element.find("#address_text").length)self.__parentedParent.$element.find(".oe_td_border").after(instance.web.qweb.render("address",{'record': value})); + var address = _.str.sprintf(' %(street)s, %(city)s, %(country_id[1])s', value); + var defer = self.Map_Load(); + defer.done(function(){ + return self.render_map(address); + }); + }); + }, + get_address:function(value){ + if (!value || value.length == 0){ + return $.Deferred().reject(); + } + return new instance.web.DataSet (this,this.field.relation, this.build_context()).read_ids(value[0],["street","city","country_id"]); + }, - start:function(){ - }, - - set_input_id:function(id){ - }, - set_value:function(value){ - var self = this; - this.get_address(value).done(function(value){ - if(!self.__parentedParent.$element.find("#address_text").length)self.__parentedParent.$element.find(".oe_td_border").after(instance.web.qweb.render("address",{'record': value})); - var address = _.str.sprintf(' %(street)s, %(city)s, %(country_id[1])s', value); - return self.list_addresses(address); - - }); - - }, - get_address:function(value){ - if (!value || value.length == 0){ - return $.Deferred().reject(); - } - return new instance.web.DataSet (this,this.field.relation, this.build_context()).read_ids(value[0],["street","city","country_id"]); - }, + render_map: function(address){ + var geocoder = new google.maps.Geocoder(); + geocoder.geocode( { 'address': address}, function(results, status){ + if (status == google.maps.GeocoderStatus.OK){ + var lat = results[0].geometry.location.lat(),lng =results[0].geometry.location.lng(); + var myOptions = { + zoom: 17, + center: new google.maps.LatLng(lat,lng), + mapTypeId: google.maps.MapTypeId.ROADMAP + } + return new google.maps.Marker({ + map : new google.maps.Map(document.getElementById("oe_mapbox"),myOptions), + position: new google.maps.LatLng(lat,lng) + }); + } + }); + }, + get_value:function(){ + } - list_addresses: function(address){ - var geocoder = new google.maps.Geocoder(); - geocoder.geocode( { 'address': address}, function(results, status) - { - if (status == google.maps.GeocoderStatus.OK){ - var lat = results[0].geometry.location.lat(),lng =results[0].geometry.location.lng(); - var myOptions = { - zoom: 17, - center: new google.maps.LatLng(lat,lng), - mapTypeId: google.maps.MapTypeId.ROADMAP - } - return new google.maps.Marker({ - map : new google.maps.Map(document.getElementById("oe_mapbox"),myOptions), - position: new google.maps.LatLng(lat,lng) - }); - } - }); - - }, - get_value:function(){ - } - - })); + })); };
\ No newline at end of file |
