summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAtul Patel (OpenERP) <atp@tinyerp.com>2012-05-11 18:24:34 +0530
committerAtul Patel (OpenERP) <atp@tinyerp.com>2012-05-11 18:24:34 +0530
commit986e134ab4fee8bc1938bd0448c3fc18e65eefe7 (patch)
treea6d640410ceac3377feeb8a97c3b470112b46600
parent369e54b547b1ac590b40becb075c073f6a2047b8 (diff)
parent32ecb048dc3daa39573c37144683d3842490dbb2 (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.css3
-rw-r--r--addons/event_sale/static/src/js/google_map.js108
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