From 09e3e50279de616eded63619db605599c2c6fb3f Mon Sep 17 00:00:00 2001 From: "Harry (Open ERP)" Date: Thu, 21 Jan 2010 20:35:53 +0530 Subject: [PATCH] [IMP] base_calendar: improve object structure of base calendar bzr revid: hmo@tinyerp.com-20100121150553-tta4hz2qizb0pjtb --- addons/base_calendar/base_calendar.py | 44 +++++--- addons/base_calendar/base_calendar_view.xml | 113 +++++++------------- 2 files changed, 65 insertions(+), 92 deletions(-) diff --git a/addons/base_calendar/base_calendar.py b/addons/base_calendar/base_calendar.py index e52e3ce7945..1cb79407476 100644 --- a/addons/base_calendar/base_calendar.py +++ b/addons/base_calendar/base_calendar.py @@ -243,7 +243,7 @@ class CalDAV(object): return res -class Calendar(CalDAV, osv.osv_memory): +class Calendar(CalDAV, osv.osv): _name = 'basic.calendar' __attribute__ = { 'prodid': None, # Use: R-1, Type: TEXT, Specifies the identifier for the product that created the iCalendar object. @@ -258,40 +258,50 @@ class Calendar(CalDAV, osv.osv_memory): 'vfreebusy': None, # Use: O-n, Type: Collection of FreeBusy class 'vtimezone': None, # Use: O-n, Type: Collection of Timezone class } + _columns = { + 'name': fields.char("Name", size=64), + 'line_ids': fields.one2many('basic.calendar.lines', 'calendar_id', 'Calendar Lines') + } Calendar() -class basic_calendar_fields_type(osv.osv): - _name = 'basic.calendar.fields.type' - _description = 'Calendar fields type' - +class basic_calendar_line(osv.osv): + _name = 'basic.calendar.lines' + _description = 'Calendar Lines' _columns = { 'name': fields.selection([('event', 'Event'), ('todo', 'TODO'), \ ('alarm', 'Alarm'), \ ('attendee', 'Attendee')], \ string="Type", size=64), 'object_id': fields.many2one('ir.model', 'Object'), + 'calendar_id': fields.many2one('basic.calendar', 'Calendar', required=True), 'mapping_ids': fields.one2many('basic.calendar.fields', 'type_id', 'Fields Mapping') - } + } -basic_calendar_fields_type() +basic_calendar_line() + +class basic_calendar_attribute(osv.osv): + _name = 'basic.calendar.attributes' + _description = 'Calendar attributes' + _columns = { + 'name': fields.char("Name", size=64, required=True), + 'type': fields.selection([('event', 'Event'), ('todo', 'TODO'), \ + ('alarm', 'Alarm'), \ + ('attendee', 'Attendee')], \ + string="Type", size=64, required=True), + } + +basic_calendar_attribute() class basic_calendar_fields(osv.osv): _name = 'basic.calendar.fields' _description = 'Calendar fields' - - def _get_fields_selection(self, cr, uid, context=None): - res = [] - # To check - res += map(lambda x: (x, x), Event.__attribute__.keys()) - res += map(lambda x: (x, x), ToDo.__attribute__.keys()) - return res _columns = { - 'field_id': fields.many2one('ir.model.fields', 'Open ERP Field'), - 'name': fields.selection(_get_fields_selection, string='Name', required=True), - 'type_id': fields.many2one('basic.calendar.fields.type', 'Type', required=True), + 'field_id': fields.many2one('ir.model.fields', 'OpenObject Field'), + 'name': fields.many2one('basic.calendar.attributes', 'Name', required=True), + 'type_id': fields.many2one('basic.calendar.lines', 'Type', required=True), 'expr': fields.char("Expression", size=64), 'fn': fields.selection( [('field', 'Use the field'), ('const', 'Expression as constant'), diff --git a/addons/base_calendar/base_calendar_view.xml b/addons/base_calendar/base_calendar_view.xml index 8d74ea3a7fd..1dc534db87f 100644 --- a/addons/base_calendar/base_calendar_view.xml +++ b/addons/base_calendar/base_calendar_view.xml @@ -2,85 +2,48 @@ - - Attributes Mapping - basic.calendar.fields + + Basic Calendar + basic.calendar form -
- - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + +
- - Attributes Mapping - basic.calendar.fields - tree - - - - - - - - - + - - Attributes Type Form - basic.calendar.fields.type - form - -
- - - - - - - - - - - - - - - - - - - - - - -
- - - Attributes Type Tree - basic.calendar.fields.type - tree - - - - - - - - - - Calendar Attributes + + Calendar ir.actions.act_window - basic.calendar.fields.type + basic.calendar form tree,form @@ -88,9 +51,9 @@ - +
-
\ No newline at end of file +