- |
+ |
From 9dc92d18d5d86459ade21c8d9985c0deda005f20 Mon Sep 17 00:00:00 2001
From: "Atul Patel (OpenERP)"
Date: Wed, 9 May 2012 23:08:39 +0530
Subject: [PATCH 24/38] [Add]: Add css file into event_sale modules.
bzr revid: atp@tinyerp.com-20120509173839-q3y5egsp8xliyfvi
---
addons/event/__openerp__.py | 2 --
addons/event/event_view.xml | 4 +--
addons/event/static/src/css/event.css | 34 -------------------
addons/event_sale/__openerp__.py | 3 ++
.../event_sale/static/src/css/event_page.css | 31 +++++++++++++++++
.../static/src/js/google_map.js} | 0
.../static/src/xml/event_address.xml | 0
7 files changed, 36 insertions(+), 38 deletions(-)
create mode 100644 addons/event_sale/static/src/css/event_page.css
rename addons/{event/static/src/js/event.js => event_sale/static/src/js/google_map.js} (100%)
rename addons/{event => event_sale}/static/src/xml/event_address.xml (100%)
diff --git a/addons/event/__openerp__.py b/addons/event/__openerp__.py
index e36914ee9fb..ea0e4316ef5 100644
--- a/addons/event/__openerp__.py
+++ b/addons/event/__openerp__.py
@@ -54,8 +54,6 @@ Note that:
'demo_xml': ['event_demo.xml'],
'test': ['test/process/event_draft2done.yml'],
'css': ['static/src/css/event.css'],
- 'js': ['static/src/js/event.js'],
- 'qweb': ['static/src/xml/event_address.xml'],
'installable': True,
'application': True,
'auto_install': False,
diff --git a/addons/event/event_view.xml b/addons/event/event_view.xml
index 6432a50542e..0d8a4478650 100644
--- a/addons/event/event_view.xml
+++ b/addons/event/event_view.xml
@@ -53,14 +53,13 @@
form
+
@@ -211,6 +324,7 @@
+
@@ -218,6 +332,7 @@
Subscribed
Unsubscribe
+
From 08cd412d78a55cc86d841bf9220920ef576dd3d8 Mon Sep 17 00:00:00 2001
From: "Atul Patel (OpenERP)"
Date: Thu, 17 May 2012 13:00:46 +0530
Subject: [PATCH 29/38] [ADD]: Add event google map file.
bzr revid: atp@tinyerp.com-20120517073046-i47jypr9p6ndckox
---
addons/event/static/src/js/google_map.js | 69 +++++++++++++++++++
addons/event/static/src/xml/event_address.xml | 9 +++
2 files changed, 78 insertions(+)
create mode 100644 addons/event/static/src/js/google_map.js
create mode 100644 addons/event/static/src/xml/event_address.xml
diff --git a/addons/event/static/src/js/google_map.js b/addons/event/static/src/js/google_map.js
new file mode 100644
index 00000000000..2209001f29d
--- /dev/null
+++ b/addons/event/static/src/js/google_map.js
@@ -0,0 +1,69 @@
+openerp.event = function(instance){
+ instance.web.form.widgets.add('geo_address', 'instance.event.GeoAddress');
+ instance.event.GoogleMapConnecter = instance.web.Class.extend({
+ init : function(){
+// call ajex to render map load
+
+ },
+ 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)
+ });
+ }
+ });
+ 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();
+ },
+
+ }),
+
+ instance.event.GeoAddress = instance.web.form.Many2OneField.extend(_.extend({}, {
+ init : function(){
+ this._super();
+ this.googleMapsLoaded = $.Deferred();
+ },
+
+
+ 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"]);
+ },
+
+ },
+ get_value:function(){
+ }
+
+ }));
+};
\ No newline at end of file
diff --git a/addons/event/static/src/xml/event_address.xml b/addons/event/static/src/xml/event_address.xml
new file mode 100644
index 00000000000..14c7051cf7d
--- /dev/null
+++ b/addons/event/static/src/xml/event_address.xml
@@ -0,0 +1,9 @@
+
+
+
+
+
+
+
+ |
+
\ No newline at end of file
From 96fde61acf012673b4f0a197b7a9b62d10ee9b5e Mon Sep 17 00:00:00 2001
From: "Atul Patel (OpenERP)"
Date: Thu, 17 May 2012 16:09:41 +0530
Subject: [PATCH 30/38] [ADD]: Event page
bzr revid: atp@tinyerp.com-20120517103941-6ngwqfkiow8f4ugq
---
addons/event/event.py | 39 ++++++++++++++++++++--
addons/event/event_view.xml | 66 ++++++++++++++-----------------------
2 files changed, 62 insertions(+), 43 deletions(-)
diff --git a/addons/event/event.py b/addons/event/event.py
index 38ad0027c9d..d029ba22acd 100644
--- a/addons/event/event.py
+++ b/addons/event/event.py
@@ -218,7 +218,8 @@ class event_event(osv.osv):
'note': fields.text('Description', readonly=False, states={'done': [('readonly', True)]}),
'company_id': fields.many2one('res.company', 'Company', required=False, change_default=True, readonly=False, states={'done': [('readonly', True)]}),
'is_subscribed' : fields.function(_subscribe_fnc, type="boolean", string='Subscribed'),
- 'location_id': fields.many2one('res.partner','Organization Address', readonly=False, states={'done': [('readonly', True)]}),
+ 'available_qty': fields.integer('Availabel Quantity'),
+
}
_defaults = {
@@ -226,7 +227,41 @@ class event_event(osv.osv):
'company_id': lambda self,cr,uid,c: self.pool.get('res.company')._company_default_get(cr, uid, 'event.event', context=c),
'user_id': lambda obj, cr, uid, context: uid,
}
-
+
+ def order_now(self, cr, uid, ids, context=None):
+ register_pool = self.pool.get('event.registration')
+ user_pool = self.pool.get('res.users')
+ data_obj = self.pool.get('ir.model.data')
+ user = user_pool.browse(cr, uid, uid, context=context)
+ for event in self.browse(cr, uid, ids, context):
+ self.check_registration_limits_before(cr, uid, ids, event.available_qty, context=context)
+ curr_reg_ids = register_pool.search(cr, uid, [('user_id', '=', user.id), ('event_id', '=' , event.id)])
+ #the subscription is done with UID = 1 because in case we share the kanban view, we want anyone to be able to subscribe
+ print "event.curre_reg_ids",event.available_qty
+ if not curr_reg_ids and event.available_qty > 0:
+ print "cccccccccccc",event.available_qty
+ curr_reg_ids = [register_pool.create(cr, 1, {'event_id': event.id ,'email': user.user_email, 'name':user.name, 'user_id': user.id, 'nb_register': event.available_qty})]
+ elif event.available_qty > 0:
+ print "mmmmmmm",event.available_qty
+ register_pool.write(cr, uid, curr_reg_ids, {'nb_register': event.available_qty}, context=context)
+ if event.available_qty > 0:
+ register_pool.confirm_registration(cr, 1, curr_reg_ids, context=context)
+ view_id = data_obj._get_id(cr, uid, 'event', 'view_event_registration_form')
+ if view_id:
+ res_id = data_obj.browse(cr, uid, view_id, context=context).res_id
+ res = {
+ 'name': _('Registration'),
+ 'view_type': 'form',
+ 'view_mode': 'form',
+ 'res_model': 'event.registration',
+ 'res_id': curr_reg_ids[0],
+ 'views':[(res_id,'form'), (False, 'tree')],
+ 'type': 'ir.actions.act_window',
+ 'nodestroy': True,
+ 'target': 'current',
+ }
+ return res
+
def subscribe_to_event(self, cr, uid, ids, context=None):
register_pool = self.pool.get('event.registration')
user_pool = self.pool.get('res.users')
diff --git a/addons/event/event_view.xml b/addons/event/event_view.xml
index c6e16a240ae..27ff18d1457 100644
--- a/addons/event/event_view.xml
+++ b/addons/event/event_view.xml
@@ -152,25 +152,33 @@
-
+
-
+
-
-
-
-
-
-
-
-
-
-
-
+
From 4a02e98d42678b9becec3bacf4d65906596bfdf7 Mon Sep 17 00:00:00 2001
From: "Atul Patel (OpenERP)"
Date: Mon, 21 May 2012 18:54:58 +0530
Subject: [PATCH 31/38] [FIX]: Add osv memory wizard for event preview.Refactor
code as per new specification.
bzr revid: atp@tinyerp.com-20120521132458-xozrh3vcz4wbo6t5
---
addons/event/__openerp__.py | 3 +-
addons/event/event.py | 37 +----
addons/event/event_view.xml | 110 +------------
addons/event/static/src/css/event.css | 181 ++++++++++++++-------
addons/event/static/src/js/google_map.js | 87 +++++-----
addons/event/wizard/__init__.py | 1 +
addons/event/wizard/event_preview.py | 56 +++++++
addons/event/wizard/event_preview_view.xml | 67 ++++++++
addons/event_sale/event_sale_view.xml | 2 +-
addons/mail/static/src/css/mail.css | 1 +
10 files changed, 300 insertions(+), 245 deletions(-)
create mode 100644 addons/event/wizard/event_preview.py
create mode 100644 addons/event/wizard/event_preview_view.xml
diff --git a/addons/event/__openerp__.py b/addons/event/__openerp__.py
index e05754eb992..577a9ba9f3c 100644
--- a/addons/event/__openerp__.py
+++ b/addons/event/__openerp__.py
@@ -46,6 +46,7 @@ Note that:
'security/event_security.xml',
'security/ir.model.access.csv',
'wizard/event_confirm_view.xml',
+ 'wizard/event_preview_view.xml',
'event_view.xml',
'report/report_event_registration_view.xml',
'board_association_view.xml',
@@ -54,7 +55,7 @@ Note that:
],
'demo_xml': ['event_demo.xml'],
'test': ['test/process/event_draft2done.yml'],
- # 'js': ['static/src/js/google_map.js'],
+ 'js': ['static/src/js/google_map.js'],
'qweb': ['static/src/xml/event_address.xml'],
'css': ['static/src/css/event.css'],
'installable': True,
diff --git a/addons/event/event.py b/addons/event/event.py
index d029ba22acd..dfa35ad50b2 100644
--- a/addons/event/event.py
+++ b/addons/event/event.py
@@ -219,49 +219,14 @@ class event_event(osv.osv):
'company_id': fields.many2one('res.company', 'Company', required=False, change_default=True, readonly=False, states={'done': [('readonly', True)]}),
'is_subscribed' : fields.function(_subscribe_fnc, type="boolean", string='Subscribed'),
'available_qty': fields.integer('Availabel Quantity'),
+ 'sale_end_date': fields.datetime('SalesEnd'),
}
-
_defaults = {
'state': 'draft',
'company_id': lambda self,cr,uid,c: self.pool.get('res.company')._company_default_get(cr, uid, 'event.event', context=c),
'user_id': lambda obj, cr, uid, context: uid,
}
-
- def order_now(self, cr, uid, ids, context=None):
- register_pool = self.pool.get('event.registration')
- user_pool = self.pool.get('res.users')
- data_obj = self.pool.get('ir.model.data')
- user = user_pool.browse(cr, uid, uid, context=context)
- for event in self.browse(cr, uid, ids, context):
- self.check_registration_limits_before(cr, uid, ids, event.available_qty, context=context)
- curr_reg_ids = register_pool.search(cr, uid, [('user_id', '=', user.id), ('event_id', '=' , event.id)])
- #the subscription is done with UID = 1 because in case we share the kanban view, we want anyone to be able to subscribe
- print "event.curre_reg_ids",event.available_qty
- if not curr_reg_ids and event.available_qty > 0:
- print "cccccccccccc",event.available_qty
- curr_reg_ids = [register_pool.create(cr, 1, {'event_id': event.id ,'email': user.user_email, 'name':user.name, 'user_id': user.id, 'nb_register': event.available_qty})]
- elif event.available_qty > 0:
- print "mmmmmmm",event.available_qty
- register_pool.write(cr, uid, curr_reg_ids, {'nb_register': event.available_qty}, context=context)
- if event.available_qty > 0:
- register_pool.confirm_registration(cr, 1, curr_reg_ids, context=context)
- view_id = data_obj._get_id(cr, uid, 'event', 'view_event_registration_form')
- if view_id:
- res_id = data_obj.browse(cr, uid, view_id, context=context).res_id
- res = {
- 'name': _('Registration'),
- 'view_type': 'form',
- 'view_mode': 'form',
- 'res_model': 'event.registration',
- 'res_id': curr_reg_ids[0],
- 'views':[(res_id,'form'), (False, 'tree')],
- 'type': 'ir.actions.act_window',
- 'nodestroy': True,
- 'target': 'current',
- }
- return res
-
def subscribe_to_event(self, cr, uid, ids, context=None):
register_pool = self.pool.get('event.registration')
user_pool = self.pool.get('res.users')
diff --git a/addons/event/event_view.xml b/addons/event/event_view.xml
index 27ff18d1457..730f6cb6573 100644
--- a/addons/event/event_view.xml
+++ b/addons/event/event_view.xml
@@ -47,7 +47,7 @@
-
-
-
- Events
- event.event
- form
- 20
-
-
-
-
-
-
+
@@ -257,6 +159,7 @@
+
@@ -308,7 +211,9 @@
-
+
@@ -316,7 +221,6 @@
Subscribed
Unsubscribe
-
@@ -584,7 +488,7 @@
tree,form,calendar,graph
{}
-
+ view_
|