[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
|
||||
|
||||
|
||||
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'),
|
||||
|
|
|
@ -2,85 +2,48 @@
|
|||
<openerp>
|
||||
<data>
|
||||
|
||||
<record id="view_calendar_fields_from" model="ir.ui.view">
|
||||
<field name="name">Attributes Mapping</field>
|
||||
<field name="model">basic.calendar.fields</field>
|
||||
<record id="view_calendar_form" model="ir.ui.view">
|
||||
<field name="name">Basic Calendar</field>
|
||||
<field name="model">basic.calendar</field>
|
||||
<field name="type">form</field>
|
||||
<field name="arch" type="xml">
|
||||
<form string="Attributes Mapping">
|
||||
<field name="name" select="1" required="1" />
|
||||
<field name="field_id" select="1" 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 string="Basic Calendar">
|
||||
<field name="name" required="1" />
|
||||
<field name="line_ids" mode="form,tree" colspan="4" nolabel="1">
|
||||
<form string="Calendar Lines">
|
||||
<field name="name" required="1" select="1" />
|
||||
<field name="object_id" required="1" select="1" />
|
||||
<field name="mapping_ids" 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>
|
||||
</field>
|
||||
</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">
|
||||
<field name="name">Attributes Type Form</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>
|
||||
<record id="action_view_calendar" model="ir.actions.act_window">
|
||||
<field name="name">Calendar</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_mode">tree,form</field>
|
||||
</record>
|
||||
|
@ -88,9 +51,9 @@
|
|||
<menuitem id="menu_calendar_configuration" name="Calendar"
|
||||
parent="base.menu_base_config" sequence="10" />
|
||||
|
||||
<menuitem id="menu_calendar_fields_type"
|
||||
name="Calendar Attributes" parent="menu_calendar_configuration"
|
||||
sequence="5" action="action_view_calendar_fields_type" />
|
||||
<menuitem id="menu_calendar"
|
||||
name="Calendar" parent="menu_calendar_configuration"
|
||||
sequence="5" action="action_view_calendar" />
|
||||
|
||||
</data>
|
||||
</openerp>
|
||||
</openerp>
|
||||
|
|
Loading…
Reference in New Issue