[IMP] base_calendar: improve object structure of base calendar
bzr revid: hmo@tinyerp.com-20100121150553-tta4hz2qizb0pjtb
This commit is contained in:
parent
a765021d5b
commit
09e3e50279
|
@ -243,7 +243,7 @@ class CalDAV(object):
|
||||||
return res
|
return res
|
||||||
|
|
||||||
|
|
||||||
class Calendar(CalDAV, osv.osv_memory):
|
class Calendar(CalDAV, osv.osv):
|
||||||
_name = 'basic.calendar'
|
_name = 'basic.calendar'
|
||||||
__attribute__ = {
|
__attribute__ = {
|
||||||
'prodid': None, # Use: R-1, Type: TEXT, Specifies the identifier for the product that created the iCalendar object.
|
'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
|
'vfreebusy': None, # Use: O-n, Type: Collection of FreeBusy class
|
||||||
'vtimezone': None, # Use: O-n, Type: Collection of Timezone 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()
|
Calendar()
|
||||||
|
|
||||||
|
|
||||||
class basic_calendar_fields_type(osv.osv):
|
class basic_calendar_line(osv.osv):
|
||||||
_name = 'basic.calendar.fields.type'
|
_name = 'basic.calendar.lines'
|
||||||
_description = 'Calendar fields type'
|
_description = 'Calendar Lines'
|
||||||
|
|
||||||
_columns = {
|
_columns = {
|
||||||
'name': fields.selection([('event', 'Event'), ('todo', 'TODO'), \
|
'name': fields.selection([('event', 'Event'), ('todo', 'TODO'), \
|
||||||
('alarm', 'Alarm'), \
|
('alarm', 'Alarm'), \
|
||||||
('attendee', 'Attendee')], \
|
('attendee', 'Attendee')], \
|
||||||
string="Type", size=64),
|
string="Type", size=64),
|
||||||
'object_id': fields.many2one('ir.model', 'Object'),
|
'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')
|
'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):
|
class basic_calendar_fields(osv.osv):
|
||||||
_name = 'basic.calendar.fields'
|
_name = 'basic.calendar.fields'
|
||||||
_description = '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 = {
|
_columns = {
|
||||||
'field_id': fields.many2one('ir.model.fields', 'Open ERP Field'),
|
'field_id': fields.many2one('ir.model.fields', 'OpenObject Field'),
|
||||||
'name': fields.selection(_get_fields_selection, string='Name', required=True),
|
'name': fields.many2one('basic.calendar.attributes', 'Name', required=True),
|
||||||
'type_id': fields.many2one('basic.calendar.fields.type', 'Type', required=True),
|
'type_id': fields.many2one('basic.calendar.lines', 'Type', required=True),
|
||||||
'expr': fields.char("Expression", size=64),
|
'expr': fields.char("Expression", size=64),
|
||||||
'fn': fields.selection( [('field', 'Use the field'),
|
'fn': fields.selection( [('field', 'Use the field'),
|
||||||
('const', 'Expression as constant'),
|
('const', 'Expression as constant'),
|
||||||
|
|
|
@ -2,85 +2,48 @@
|
||||||
<openerp>
|
<openerp>
|
||||||
<data>
|
<data>
|
||||||
|
|
||||||
<record id="view_calendar_fields_from" model="ir.ui.view">
|
<record id="view_calendar_form" model="ir.ui.view">
|
||||||
<field name="name">Attributes Mapping</field>
|
<field name="name">Basic Calendar</field>
|
||||||
<field name="model">basic.calendar.fields</field>
|
<field name="model">basic.calendar</field>
|
||||||
<field name="type">form</field>
|
<field name="type">form</field>
|
||||||
<field name="arch" type="xml">
|
<field name="arch" type="xml">
|
||||||
<form string="Attributes Mapping">
|
<form string="Basic Calendar">
|
||||||
<field name="name" select="1" required="1" />
|
<field name="name" required="1" />
|
||||||
<field name="field_id" select="1" required="1" />
|
<field name="line_ids" mode="form,tree" colspan="4" nolabel="1">
|
||||||
<field name="fn" select="1" required="1" />
|
<form string="Calendar Lines">
|
||||||
<field name="expr" />
|
<field name="name" required="1" select="1" />
|
||||||
<newline/>
|
<field name="object_id" required="1" select="1" />
|
||||||
<separator string="Mapping" colspan="4"/>
|
<field name="mapping_ids" select="1" colspan="4" nolabel="1">
|
||||||
<field name="mapping" select="1" colspan="4" nolabel="1"/>
|
<tree string="Attributes Mapping" editable="bottom">
|
||||||
|
<field name="name" required="1" domain="[('type', '=', parent.name)]"/>
|
||||||
|
<field name="fn" select="1" />
|
||||||
|
<field name="field_id" select="1" domain="[('model_id', '=', parent.object_id)]" />
|
||||||
|
<field name="expr" />
|
||||||
|
</tree>
|
||||||
|
<form string="Attributes Mapping">
|
||||||
|
<field name="name" select="1" required="1" domain="[('type', '=', parent.name)]"/>
|
||||||
|
<field name="field_id" select="1" domain="[('model_id', '=', parent.object_id)]"
|
||||||
|
required="1" />
|
||||||
|
<field name="fn" select="1" required="1" />
|
||||||
|
<field name="expr" />
|
||||||
|
</form>
|
||||||
|
</field>
|
||||||
|
</form>
|
||||||
|
<tree string="Attributes Mapping" editable="bottom">
|
||||||
|
<field name="name" select="1" />
|
||||||
|
<field name="object_id" select="1" />
|
||||||
|
</tree>
|
||||||
|
</field>
|
||||||
</form>
|
</form>
|
||||||
</field>
|
</field>
|
||||||
</record>
|
</record>
|
||||||
|
|
||||||
<record id="view_calendar_fields_tree" model="ir.ui.view">
|
|
||||||
<field name="name">Attributes Mapping</field>
|
|
||||||
<field name="model">basic.calendar.fields</field>
|
|
||||||
<field name="type">tree</field>
|
|
||||||
<field name="arch" type="xml">
|
|
||||||
<tree string="Attributes Mapping">
|
|
||||||
<field name="name" select="1" />
|
|
||||||
<field name="fn" select="1" />
|
|
||||||
<field name="field_id" select="1" />
|
|
||||||
<field name="expr" />
|
|
||||||
</tree>
|
|
||||||
</field>
|
|
||||||
</record>
|
|
||||||
|
|
||||||
<record id="view_calendar_fields_type_from" model="ir.ui.view">
|
<record id="action_view_calendar" model="ir.actions.act_window">
|
||||||
<field name="name">Attributes Type Form</field>
|
<field name="name">Calendar</field>
|
||||||
<field name="model">basic.calendar.fields.type</field>
|
|
||||||
<field name="type">form</field>
|
|
||||||
<field name="arch" type="xml">
|
|
||||||
<form string="Calendar Attributes">
|
|
||||||
<field name="name" required="1" select="1" />
|
|
||||||
<field name="object_id" required="1" select="1" />
|
|
||||||
<newline/>
|
|
||||||
<field name="mapping_ids" select="1" colspan="4" nolabel="1">
|
|
||||||
<tree string="Attributes Mapping" editable="bottom">
|
|
||||||
<field name="name" select="1" />
|
|
||||||
<field name="fn" select="1" />
|
|
||||||
<field name="field_id" select="1" domain="[('model_id', '=', parent.object_id)]" />
|
|
||||||
<field name="expr" />
|
|
||||||
</tree>
|
|
||||||
<form string="Attributes Mapping">
|
|
||||||
<field name="name" select="1" required="1" />
|
|
||||||
<field name="field_id" select="1" domain="[('model_id', '=', parent.object_id)]"
|
|
||||||
required="1" />
|
|
||||||
<field name="fn" select="1" required="1" />
|
|
||||||
<field name="expr" />
|
|
||||||
<newline />
|
|
||||||
<separator string="Mapping" colspan="4" />
|
|
||||||
<field name="mapping" select="1" colspan="4"
|
|
||||||
nolabel="1" />
|
|
||||||
</form>
|
|
||||||
</field>
|
|
||||||
</form>
|
|
||||||
</field>
|
|
||||||
</record>
|
|
||||||
|
|
||||||
<record id="view_calendar_fields_type_tree" model="ir.ui.view">
|
|
||||||
<field name="name">Attributes Type Tree</field>
|
|
||||||
<field name="model">basic.calendar.fields.type</field>
|
|
||||||
<field name="type">tree</field>
|
|
||||||
<field name="arch" type="xml">
|
|
||||||
<tree string="Calendar Attributes">
|
|
||||||
<field name="name" select="1" />
|
|
||||||
<field name="object_id" select="1" />
|
|
||||||
</tree>
|
|
||||||
</field>
|
|
||||||
</record>
|
|
||||||
|
|
||||||
<record id="action_view_calendar_fields_type" model="ir.actions.act_window">
|
|
||||||
<field name="name">Calendar Attributes</field>
|
|
||||||
<field name="type">ir.actions.act_window</field>
|
<field name="type">ir.actions.act_window</field>
|
||||||
<field name="res_model">basic.calendar.fields.type</field>
|
<field name="res_model">basic.calendar</field>
|
||||||
<field name="view_type">form</field>
|
<field name="view_type">form</field>
|
||||||
<field name="view_mode">tree,form</field>
|
<field name="view_mode">tree,form</field>
|
||||||
</record>
|
</record>
|
||||||
|
@ -88,9 +51,9 @@
|
||||||
<menuitem id="menu_calendar_configuration" name="Calendar"
|
<menuitem id="menu_calendar_configuration" name="Calendar"
|
||||||
parent="base.menu_base_config" sequence="10" />
|
parent="base.menu_base_config" sequence="10" />
|
||||||
|
|
||||||
<menuitem id="menu_calendar_fields_type"
|
<menuitem id="menu_calendar"
|
||||||
name="Calendar Attributes" parent="menu_calendar_configuration"
|
name="Calendar" parent="menu_calendar_configuration"
|
||||||
sequence="5" action="action_view_calendar_fields_type" />
|
sequence="5" action="action_view_calendar" />
|
||||||
|
|
||||||
</data>
|
</data>
|
||||||
</openerp>
|
</openerp>
|
||||||
|
|
Loading…
Reference in New Issue