[MERGE]: merging from same branch
bzr revid: mga@tinyerp.com-20100201134556-eu8a21yev2v7q9ww
This commit is contained in:
commit
ed07a21cb4
|
@ -25,7 +25,9 @@ from dateutil.rrule import *
|
|||
from osv import osv, fields
|
||||
from tools.translate import _
|
||||
import base64
|
||||
import math
|
||||
import pooler
|
||||
import pytz
|
||||
import re
|
||||
import tools
|
||||
import vobject
|
||||
|
@ -200,6 +202,7 @@ class CalDAV(object):
|
|||
if not datas:
|
||||
return
|
||||
for data in datas:
|
||||
tzval = None
|
||||
vevent = ical.add(name)
|
||||
for field in self.__attribute__.keys():
|
||||
map_field = self.ical_get(field, 'field')
|
||||
|
@ -237,6 +240,11 @@ class CalDAV(object):
|
|||
alarm_obj = self.pool.get('basic.calendar.alarm')
|
||||
vevent = alarm_obj.export_cal(cr, uid, model, \
|
||||
data[map_field][0], vevent, context=ctx)
|
||||
elif field == 'vtimezone' and data[map_field]:
|
||||
tzval = data[map_field]
|
||||
tz_obj = self.pool.get('basic.calendar.timezone')
|
||||
ical = tz_obj.export_cal(cr, uid, None, \
|
||||
data[map_field], ical, context=context)
|
||||
elif data[map_field]:
|
||||
if map_type in ("char", "text"):
|
||||
vevent.add(field).value = tools.ustr(data[map_field])
|
||||
|
@ -244,7 +252,10 @@ class CalDAV(object):
|
|||
if field in ('exdate'):
|
||||
vevent.add(field).value = [parser.parse(data[map_field])]
|
||||
else:
|
||||
vevent.add(field).value = parser.parse(data[map_field])
|
||||
dtfield = vevent.add(field)
|
||||
dtfield.value = parser.parse(data[map_field])
|
||||
if tzval:
|
||||
dtfield.params['TZID'] = [tzval]
|
||||
elif map_type == "timedelta":
|
||||
vevent.add(field).value = timedelta(hours=data[map_field])
|
||||
elif map_type == "many2one":
|
||||
|
@ -296,11 +307,14 @@ class CalDAV(object):
|
|||
ical_data = base64.decodestring(content)
|
||||
self.__attribute__ = get_attribute_mapping(cr, uid, self._calname, context)
|
||||
parsedCal = vobject.readOne(ical_data)
|
||||
att_data = []
|
||||
res = []
|
||||
vals = {}
|
||||
for child in parsedCal.getChildren():
|
||||
if child.name.lower() in ('vevent', 'vtodo'):
|
||||
vals = self.parse_ics(cr, uid, child, context=context)
|
||||
elif child.name.lower() == 'vtimezone':
|
||||
tz_obj = self.pool.get('basic.calendar.timezone')
|
||||
tz_obj.import_cal(cr, uid, child, context=context)
|
||||
else:
|
||||
vals = {}
|
||||
continue
|
||||
|
@ -588,15 +602,51 @@ class FreeBusy(CalDAV):
|
|||
}
|
||||
|
||||
|
||||
class Timezone(CalDAV):
|
||||
class Timezone(CalDAV, osv.osv_memory):
|
||||
_name = 'basic.calendar.timezone'
|
||||
_calname = 'vtimezone'
|
||||
|
||||
__attribute__ = {
|
||||
'tzid': None, # Use: R-1, Type: Text, Specifies the text value that uniquely identifies the "VTIMEZONE" calendar component.
|
||||
'tzid': {'field': 'tzid'}, # Use: R-1, Type: Text, Specifies the text value that uniquely identifies the "VTIMEZONE" calendar component.
|
||||
'last-mod': None, # Use: O-1, Type: DATE-TIME, Specifies the date and time that the information associated with the calendar component was last revised in the calendar store.
|
||||
'tzurl': None, # Use: O-1, Type: URI, Provides a means for a VTIMEZONE component to point to a network location that can be used to retrieve an up-to-date version of itself.
|
||||
'standardc': {'tzprop': None}, # Use: R-1,
|
||||
'daylightc': {'tzprop': None}, # Use: R-1,
|
||||
'x-prop': None, # Use: O-n, Type: Text,
|
||||
}
|
||||
|
||||
def get_name_offset(self, cr, uid, tzid, context={}):
|
||||
mytz = pytz.timezone(tzid)
|
||||
mydt = datetime.now(tz=mytz)
|
||||
offset = mydt.utcoffset()
|
||||
val = offset.days * 24 + float(offset.seconds) / 3600
|
||||
realoffset = '%02d%02d' % (math.floor(abs(val)), \
|
||||
round(abs(val) % 1 + 0.01, 2) * 60)
|
||||
realoffset = (val < 0 and ('-' + realoffset) or ('+' + realoffset))
|
||||
return (mydt.tzname(), realoffset)
|
||||
|
||||
def export_cal(self, cr, uid, model, tzid, ical, context={}):
|
||||
ctx = context.copy()
|
||||
ctx.update({'model': model})
|
||||
cal_tz = ical.add('vtimezone')
|
||||
cal_tz.add('TZID').value = tzid
|
||||
tz_std = cal_tz.add('STANDARD')
|
||||
tzname, offset = self.get_name_offset(cr, uid, tzid)
|
||||
tz_std.add("TZOFFSETFROM").value = offset
|
||||
tz_std.add("TZOFFSETTO").value = offset
|
||||
tz_std.add("DTSTART").value = datetime.now() # TODO
|
||||
tz_std.add("TZNAME").value = tzname
|
||||
return ical
|
||||
|
||||
def import_cal(self, cr, uid, ical_data, context=None):
|
||||
for child in ical_data.getChildren():
|
||||
if child.name.lower() == 'tzid':
|
||||
tzname = child.value
|
||||
self.ical_set(child.name.lower(), tzname, 'value')
|
||||
vals = map_data(cr, uid, self)
|
||||
return vals
|
||||
|
||||
Timezone()
|
||||
|
||||
|
||||
class Alarm(CalDAV, osv.osv_memory):
|
||||
|
|
|
@ -1,10 +1,7 @@
|
|||
<?xml version="1.0"?>
|
||||
<openerp>
|
||||
<data noupdate="1">
|
||||
<data noupdate="1">
|
||||
|
||||
<record model="basic.calendar" id="basic_calendar1">
|
||||
<field name="name">OpenERP</field>
|
||||
</record>
|
||||
|
||||
<!-- Event attributes-->
|
||||
|
||||
|
|
|
@ -19,15 +19,16 @@
|
|||
#
|
||||
##############################################################################
|
||||
|
||||
from base_calendar import base_calendar
|
||||
from datetime import datetime, timedelta
|
||||
from datetime import datetime, timedelta
|
||||
from dateutil import parser
|
||||
from osv import fields, osv
|
||||
from base_calendar import base_calendar
|
||||
from service import web_services
|
||||
from tools.translate import _
|
||||
import base64
|
||||
import pooler
|
||||
import pytz
|
||||
import re
|
||||
import time
|
||||
|
||||
|
@ -423,6 +424,9 @@ class calendar_event(osv.osv):
|
|||
_name = "calendar.event"
|
||||
_description = "Calendar Event"
|
||||
__attribute__ = {}
|
||||
|
||||
def _tz_get(self,cr,uid, context={}):
|
||||
return [(x, x) for x in pytz.all_timezones]
|
||||
|
||||
def onchange_rrule_type(self, cr, uid, ids, rtype, *args, **argv):
|
||||
if rtype == 'none' or not rtype:
|
||||
|
@ -483,7 +487,9 @@ rule or repeating pattern for anexception to a recurrence set"),
|
|||
'caldav_alarm_id': fields.many2one('calendar.alarm', 'Alarm'),
|
||||
'recurrent_uid': fields.integer('Recurrent ID'),
|
||||
'recurrent_id': fields.datetime('Recurrent ID date'),
|
||||
}
|
||||
'vtimezone': fields.selection(_tz_get, 'Timezone', size=64),
|
||||
'user_id': fields.many2one('res.users', 'Responsible'),
|
||||
}
|
||||
|
||||
_defaults = {
|
||||
'class': lambda *a: 'public',
|
||||
|
|
|
@ -129,381 +129,5 @@
|
|||
<field eval="'do_run_scheduler'" name="function" />
|
||||
<field eval="'(False,)'" name="args" />
|
||||
</record>
|
||||
|
||||
<record model="basic.calendar.lines" id="calendar_lines_event">
|
||||
<field name="name">vevent</field>
|
||||
<field name="calendar_id" ref="base_calendar.basic_calendar1" />
|
||||
<field name="object_id" search="[('model','=','calendar.event')]" />
|
||||
</record>
|
||||
|
||||
<record model="basic.calendar.lines" id="calendar_lines_todo">
|
||||
<field name="name">vtodo</field>
|
||||
<field name="calendar_id" ref="base_calendar.basic_calendar1" />
|
||||
<field name="object_id" search="[('model','=','calendar.todo')]" />
|
||||
</record>
|
||||
|
||||
<record model="basic.calendar.lines" id="calendar_lines_alarm">
|
||||
<field name="name">valarm</field>
|
||||
<field name="calendar_id" ref="base_calendar.basic_calendar1" />
|
||||
<field name="object_id" search="[('model','=','calendar.alarm')]" />
|
||||
</record>
|
||||
|
||||
<record model="basic.calendar.lines" id="calendar_lines_attendee">
|
||||
<field name="name">attendee</field>
|
||||
<field name="calendar_id" ref="base_calendar.basic_calendar1" />
|
||||
<field name="object_id" search="[('model','=','calendar.attendee')]" />
|
||||
</record>
|
||||
|
||||
|
||||
|
||||
<record model="basic.calendar.fields" id="map_event_1">
|
||||
<field name="name" ref="base_calendar.field_event_uid"/>
|
||||
<field name="type_id" ref="caldav.calendar_lines_event" />
|
||||
<field name="field_id" search="[('name','=','id'),('model_id.model','=','calendar.event')]" />
|
||||
<field name="fn">field</field>
|
||||
</record>
|
||||
|
||||
<record model="basic.calendar.fields" id="map_event_2">
|
||||
<field name="name" ref="base_calendar.field_event_recurrence-id"/>
|
||||
<field name="type_id" ref="caldav.calendar_lines_event" />
|
||||
<field name="field_id" search="[('name','=','recurrent_id'),('model_id.model','=','calendar.event')]" />
|
||||
<field name="fn">field</field>
|
||||
</record>
|
||||
|
||||
<record model="basic.calendar.fields" id="map_event_5">
|
||||
<field name="name" ref="base_calendar.field_event_rrule"/>
|
||||
<field name="type_id" ref="caldav.calendar_lines_event" />
|
||||
<field name="field_id" search="[('name','=','rrule'),('model_id.model','=','calendar.event')]" />
|
||||
<field name="fn">field</field>
|
||||
</record>
|
||||
|
||||
<record model="basic.calendar.fields" id="map_event_6">
|
||||
<field name="name" ref="base_calendar.field_event_dtend"/>
|
||||
<field name="type_id" ref="caldav.calendar_lines_event" />
|
||||
<field name="field_id" search="[('name','=','date_deadline'),('model_id.model','=','calendar.event')]" />
|
||||
<field name="fn">field</field>
|
||||
</record>
|
||||
|
||||
<record model="basic.calendar.fields" id="map_event_7">
|
||||
<field name="name" ref="base_calendar.field_event_valarm"/>
|
||||
<field name="type_id" ref="caldav.calendar_lines_event" />
|
||||
<field name="field_id" search="[('name','=','caldav_alarm_id'),('model_id.model','=','calendar.event')]" />
|
||||
<field name="fn">field</field>
|
||||
</record>
|
||||
|
||||
<record model="basic.calendar.fields" id="map_event_9">
|
||||
<field name="name" ref="base_calendar.field_event_location"/>
|
||||
<field name="type_id" ref="caldav.calendar_lines_event" />
|
||||
<field name="field_id" search="[('name','=','location'),('model_id.model','=','calendar.event')]" />
|
||||
<field name="fn">field</field>
|
||||
</record>
|
||||
|
||||
<record model="basic.calendar.fields" id="map_event_10">
|
||||
<field name="name" ref="base_calendar.field_event_exrule"/>
|
||||
<field name="type_id" ref="caldav.calendar_lines_event" />
|
||||
<field name="field_id" search="[('name','=','exrule'),('model_id.model','=','calendar.event')]" />
|
||||
<field name="fn">field</field>
|
||||
</record>
|
||||
|
||||
<record model="basic.calendar.fields" id="map_event_12">
|
||||
<field name="name" ref="base_calendar.field_event_exdate"/>
|
||||
<field name="type_id" ref="caldav.calendar_lines_event" />
|
||||
<field name="field_id" search="[('name','=','exdate'),('model_id.model','=','calendar.event')]" />
|
||||
<field name="fn">field</field>
|
||||
</record>
|
||||
|
||||
<record model="basic.calendar.fields" id="map_event_13">
|
||||
<field name="name" ref="base_calendar.field_event_dtstamp"/>
|
||||
<field name="type_id" ref="caldav.calendar_lines_event" />
|
||||
<field name="field_id" search="[('name','=','date'),('model_id.model','=','calendar.event')]" />
|
||||
<field name="fn">field</field>
|
||||
</record>
|
||||
|
||||
<record model="basic.calendar.fields" id="map_event_14">
|
||||
<field name="name" ref="base_calendar.field_event_description"/>
|
||||
<field name="type_id" ref="caldav.calendar_lines_event" />
|
||||
<field name="field_id" search="[('name','=','description'),('model_id.model','=','calendar.event')]" />
|
||||
<field name="fn">field</field>
|
||||
</record>
|
||||
|
||||
<record model="basic.calendar.fields" id="map_event_15">
|
||||
<field name="name" ref="base_calendar.field_event_dtstart"/>
|
||||
<field name="type_id" ref="caldav.calendar_lines_event" />
|
||||
<field name="field_id" search="[('name','=','date'),('model_id.model','=','calendar.event')]" />
|
||||
<field name="fn">field</field>
|
||||
</record>
|
||||
|
||||
<record model="basic.calendar.fields" id="map_event_16">
|
||||
<field name="name" ref="base_calendar.field_event_class"/>
|
||||
<field name="type_id" ref="caldav.calendar_lines_event" />
|
||||
<field name="field_id" search="[('name','=','class'),('model_id.model','=','calendar.event')]" />
|
||||
<field name="fn">field</field>
|
||||
</record>
|
||||
|
||||
<record model="basic.calendar.fields" id="map_event_18">
|
||||
<field name="name" ref="base_calendar.field_event_created"/>
|
||||
<field name="type_id" ref="caldav.calendar_lines_event" />
|
||||
<field name="field_id" search="[('name','=','create_date'),('model_id.model','=','calendar.event')]" />
|
||||
<field name="fn">field</field>
|
||||
</record>
|
||||
|
||||
<record model="basic.calendar.fields" id="map_event_19">
|
||||
<field name="name" ref="base_calendar.field_event_url"/>
|
||||
<field name="type_id" ref="caldav.calendar_lines_event" />
|
||||
<field name="field_id" search="[('name','=','caldav_url'),('model_id.model','=','calendar.event')]" />
|
||||
<field name="fn">field</field>
|
||||
</record>
|
||||
|
||||
<record model="basic.calendar.fields" id="map_event_20">
|
||||
<field name="name" ref="base_calendar.field_event_summary"/>
|
||||
<field name="type_id" ref="caldav.calendar_lines_event" />
|
||||
<field name="field_id" search="[('name','=','name'),('model_id.model','=','calendar.event')]" />
|
||||
<field name="fn">field</field>
|
||||
</record>
|
||||
|
||||
|
||||
|
||||
<record model="basic.calendar.fields" id="map_todo_2">
|
||||
<field name="name" ref="base_calendar.field_todo_exdate"/>
|
||||
<field name="type_id" ref="caldav.calendar_lines_todo" />
|
||||
<field name="field_id" search="[('name','=','exdate'),('model_id.model','=','calendar.todo')]" />
|
||||
<field name="fn">field</field>
|
||||
</record>
|
||||
|
||||
<record model="basic.calendar.fields" id="map_todo_4">
|
||||
<field name="name" ref="base_calendar.field_todo_valarm"/>
|
||||
<field name="type_id" ref="caldav.calendar_lines_todo" />
|
||||
<field name="field_id" search="[('name','=','caldav_alarm_id'),('model_id.model','=','calendar.todo')]" />
|
||||
<field name="fn">field</field>
|
||||
</record>
|
||||
|
||||
<record model="basic.calendar.fields" id="map_todo_5">
|
||||
<field name="name" ref="base_calendar.field_todo_description"/>
|
||||
<field name="type_id" ref="caldav.calendar_lines_todo" />
|
||||
<field name="field_id" search="[('name','=','description'),('model_id.model','=','calendar.todo')]" />
|
||||
<field name="fn">field</field>
|
||||
</record>
|
||||
|
||||
<record model="basic.calendar.fields" id="map_todo_6">
|
||||
<field name="name" ref="base_calendar.field_todo_seq"/>
|
||||
<field name="type_id" ref="caldav.calendar_lines_todo" />
|
||||
<field name="field_id" search="[('name','=','sequence'),('model_id.model','=','calendar.todo')]" />
|
||||
<field name="fn">field</field>
|
||||
</record>
|
||||
|
||||
<record model="basic.calendar.fields" id="map_todo_7">
|
||||
<field name="name" ref="base_calendar.field_todo_url"/>
|
||||
<field name="type_id" ref="caldav.calendar_lines_todo" />
|
||||
<field name="field_id" search="[('name','=','caldav_url'),('model_id.model','=','calendar.todo')]" />
|
||||
<field name="fn">field</field>
|
||||
</record>
|
||||
|
||||
<record model="basic.calendar.fields" id="map_todo_11">
|
||||
<field name="name" ref="base_calendar.field_todo_summary"/>
|
||||
<field name="type_id" ref="caldav.calendar_lines_todo" />
|
||||
<field name="field_id" search="[('name','=','name'),('model_id.model','=','calendar.todo')]" />
|
||||
<field name="fn">field</field>
|
||||
</record>
|
||||
|
||||
<record model="basic.calendar.fields" id="map_todo_13">
|
||||
<field name="name" ref="base_calendar.field_todo_location"/>
|
||||
<field name="type_id" ref="caldav.calendar_lines_todo" />
|
||||
<field name="field_id" search="[('name','=','location'),('model_id.model','=','calendar.todo')]" />
|
||||
<field name="fn">field</field>
|
||||
</record>
|
||||
|
||||
<record model="basic.calendar.fields" id="map_todo_14">
|
||||
<field name="name" ref="base_calendar.field_todo_exrule"/>
|
||||
<field name="type_id" ref="caldav.calendar_lines_todo" />
|
||||
<field name="field_id" search="[('name','=','exrule'),('model_id.model','=','calendar.todo')]" />
|
||||
<field name="fn">field</field>
|
||||
</record>
|
||||
|
||||
<record model="basic.calendar.fields" id="map_todo_16">
|
||||
<field name="name" ref="base_calendar.field_todo_dtstart"/>
|
||||
<field name="type_id" ref="caldav.calendar_lines_todo" />
|
||||
<field name="field_id" search="[('name','=','date'),('model_id.model','=','calendar.todo')]" />
|
||||
<field name="fn">field</field>
|
||||
</record>
|
||||
|
||||
<record model="basic.calendar.fields" id="map_todo_17">
|
||||
<field name="name" ref="base_calendar.field_todo_rrule"/>
|
||||
<field name="type_id" ref="caldav.calendar_lines_todo" />
|
||||
<field name="field_id" search="[('name','=','rrule'),('model_id.model','=','calendar.todo')]" />
|
||||
<field name="fn">field</field>
|
||||
</record>
|
||||
|
||||
<record model="basic.calendar.fields" id="map_todo_18">
|
||||
<field name="name" ref="base_calendar.field_todo_class"/>
|
||||
<field name="type_id" ref="caldav.calendar_lines_todo" />
|
||||
<field name="field_id" search="[('name','=','class'),('model_id.model','=','calendar.todo')]" />
|
||||
<field name="fn">field</field>
|
||||
</record>
|
||||
|
||||
<record model="basic.calendar.fields" id="map_todo_19">
|
||||
<field name="name" ref="base_calendar.field_todo_uid"/>
|
||||
<field name="type_id" ref="caldav.calendar_lines_todo" />
|
||||
<field name="field_id" search="[('name','=','id'),('model_id.model','=','calendar.todo')]" />
|
||||
<field name="fn">field</field>
|
||||
</record>
|
||||
|
||||
|
||||
|
||||
<record model="basic.calendar.fields" id="map_alarm_1">
|
||||
<field name="name" ref="base_calendar.field_alarm_attendee"/>
|
||||
<field name="type_id" ref="caldav.calendar_lines_alarm" />
|
||||
<field name="field_id" search="[('name','=','attendee_ids'),('model_id.model','=','calendar.alarm')]" />
|
||||
<field name="fn">field</field>
|
||||
</record>
|
||||
|
||||
<record model="basic.calendar.fields" id="map_alarm_2">
|
||||
<field name="name" ref="base_calendar.field_alarm_trigger_duration"/>
|
||||
<field name="type_id" ref="caldav.calendar_lines_alarm" />
|
||||
<field name="field_id" search="[('name','=','trigger_duration'),('model_id.model','=','res.alarm')]" />
|
||||
<field name="fn">field</field>
|
||||
</record>
|
||||
|
||||
<record model="basic.calendar.fields" id="map_alarm_3">
|
||||
<field name="name" ref="base_calendar.field_alarm_description"/>
|
||||
<field name="type_id" ref="caldav.calendar_lines_alarm" />
|
||||
<field name="field_id" search="[('name','=','description'),('model_id.model','=','calendar.alarm')]" />
|
||||
<field name="fn">field</field>
|
||||
</record>
|
||||
|
||||
<record model="basic.calendar.fields" id="map_alarm_4">
|
||||
<field name="name" ref="base_calendar.field_alarm_attach"/>
|
||||
<field name="type_id" ref="caldav.calendar_lines_alarm" />
|
||||
<field name="field_id" search="[('name','=','attach'),('model_id.model','=','calendar.alarm')]" />
|
||||
<field name="fn">field</field>
|
||||
</record>
|
||||
|
||||
<record model="basic.calendar.fields" id="map_alarm_5">
|
||||
<field name="name" ref="base_calendar.field_alarm_trigger_occurs"/>
|
||||
<field name="type_id" ref="caldav.calendar_lines_alarm" />
|
||||
<field name="field_id" search="[('name','=','trigger_occurs'),('model_id.model','=','res.alarm')]" />
|
||||
<field name="fn">field</field>
|
||||
</record>
|
||||
|
||||
<record model="basic.calendar.fields" id="map_alarm_6">
|
||||
<field name="name" ref="base_calendar.field_alarm_trigger_interval"/>
|
||||
<field name="type_id" ref="caldav.calendar_lines_alarm" />
|
||||
<field name="field_id" search="[('name','=','trigger_interval'),('model_id.model','=','res.alarm')]" />
|
||||
<field name="fn">field</field>
|
||||
</record>
|
||||
|
||||
<record model="basic.calendar.fields" id="map_alarm_7">
|
||||
<field name="name" ref="base_calendar.field_alarm_summary"/>
|
||||
<field name="type_id" ref="caldav.calendar_lines_alarm" />
|
||||
<field name="field_id" search="[('name','=','name'),('model_id.model','=','calendar.alarm')]" />
|
||||
<field name="fn">field</field>
|
||||
</record>
|
||||
|
||||
<record model="basic.calendar.fields" id="map_alarm_8">
|
||||
<field name="name" ref="base_calendar.field_alarm_duration"/>
|
||||
<field name="type_id" ref="caldav.calendar_lines_alarm" />
|
||||
<field name="field_id" search="[('name','=','duration'),('model_id.model','=','res.alarm')]" />
|
||||
<field name="fn">field</field>
|
||||
</record>
|
||||
|
||||
<record model="basic.calendar.fields" id="map_alarm_9">
|
||||
<field name="name" ref="base_calendar.field_alarm_repeat"/>
|
||||
<field name="type_id" ref="caldav.calendar_lines_alarm" />
|
||||
<field name="field_id" search="[('name','=','repeat'),('model_id.model','=','res.alarm')]" />
|
||||
<field name="fn">field</field>
|
||||
</record>
|
||||
|
||||
<record model="basic.calendar.fields" id="map_alarm_10">
|
||||
<field name="name" ref="base_calendar.field_alarm_action"/>
|
||||
<field name="type_id" ref="caldav.calendar_lines_alarm" />
|
||||
<field name="field_id" search="[('name','=','action'),('model_id.model','=','calendar.alarm')]" />
|
||||
<field name="fn">field</field>
|
||||
</record>
|
||||
|
||||
<record model="basic.calendar.fields" id="map_alarm_11">
|
||||
<field name="name" ref="base_calendar.field_alarm_trigger_related"/>
|
||||
<field name="type_id" ref="caldav.calendar_lines_alarm" />
|
||||
<field name="field_id" search="[('name','=','trigger_related'),('model_id.model','=','res.alarm')]" />
|
||||
<field name="fn">field</field>
|
||||
</record>
|
||||
|
||||
|
||||
<record model="basic.calendar.fields" id="map_attendee_1">
|
||||
<field name="name" ref="base_calendar.field_attendee_cn"/>
|
||||
<field name="type_id" ref="caldav.calendar_lines_attendee" />
|
||||
<field name="field_id" search="[('name','=','cn'),('model_id.model','=','calendar.attendee')]" />
|
||||
<field name="fn">field</field>
|
||||
</record>
|
||||
|
||||
<record model="basic.calendar.fields" id="map_attendee_2">
|
||||
<field name="name" ref="base_calendar.field_attendee_sent-by"/>
|
||||
<field name="type_id" ref="caldav.calendar_lines_attendee" />
|
||||
<field name="field_id" search="[('name','=','sent_by'),('model_id.model','=','calendar.attendee')]" />
|
||||
<field name="fn">field</field>
|
||||
</record>
|
||||
|
||||
<record model="basic.calendar.fields" id="map_attendee_3">
|
||||
<field name="name" ref="base_calendar.field_attendee_language"/>
|
||||
<field name="type_id" ref="caldav.calendar_lines_attendee" />
|
||||
<field name="field_id" search="[('name','=','language'),('model_id.model','=','calendar.attendee')]" />
|
||||
<field name="fn">field</field>
|
||||
</record>
|
||||
|
||||
<record model="basic.calendar.fields" id="map_attendee_4">
|
||||
<field name="name" ref="base_calendar.field_attendee_delegated-from"/>
|
||||
<field name="type_id" ref="caldav.calendar_lines_attendee" />
|
||||
<field name="field_id" search="[('name','=','delegated_from'),('model_id.model','=','calendar.attendee')]" />
|
||||
<field name="fn">field</field>
|
||||
</record>
|
||||
|
||||
<record model="basic.calendar.fields" id="map_attendee_5">
|
||||
<field name="name" ref="base_calendar.field_attendee_member"/>
|
||||
<field name="type_id" ref="caldav.calendar_lines_attendee" />
|
||||
<field name="field_id" search="[('name','=','member'),('model_id.model','=','calendar.attendee')]" />
|
||||
<field name="fn">field</field>
|
||||
</record>
|
||||
|
||||
<record model="basic.calendar.fields" id="map_attendee_6">
|
||||
<field name="name" ref="base_calendar.field_attendee_cutype"/>
|
||||
<field name="type_id" ref="caldav.calendar_lines_attendee" />
|
||||
<field name="field_id" search="[('name','=','cutype'),('model_id.model','=','calendar.attendee')]" />
|
||||
<field name="fn">field</field>
|
||||
</record>
|
||||
|
||||
<record model="basic.calendar.fields" id="map_attendee_7">
|
||||
<field name="name" ref="base_calendar.field_attendee_role"/>
|
||||
<field name="type_id" ref="caldav.calendar_lines_attendee" />
|
||||
<field name="field_id" search="[('name','=','role'),('model_id.model','=','calendar.attendee')]" />
|
||||
<field name="fn">field</field>
|
||||
</record>
|
||||
|
||||
<record model="basic.calendar.fields" id="map_attendee_8">
|
||||
<field name="name" ref="base_calendar.field_attendee_partstat"/>
|
||||
<field name="type_id" ref="caldav.calendar_lines_attendee" />
|
||||
<field name="field_id" search="[('name','=','state'),('model_id.model','=','calendar.attendee')]" />
|
||||
<field name="fn">field</field>
|
||||
</record>
|
||||
|
||||
<record model="basic.calendar.fields" id="map_attendee_9">
|
||||
<field name="name" ref="base_calendar.field_attendee_delegated-to"/>
|
||||
<field name="type_id" ref="caldav.calendar_lines_attendee" />
|
||||
<field name="field_id" search="[('name','=','delegated_to'),('model_id.model','=','calendar.attendee')]" />
|
||||
<field name="fn">field</field>
|
||||
</record>
|
||||
|
||||
<record model="basic.calendar.fields" id="map_attendee_10">
|
||||
<field name="name" ref="base_calendar.field_attendee_dir"/>
|
||||
<field name="type_id" ref="caldav.calendar_lines_attendee" />
|
||||
<field name="field_id" search="[('name','=','dir'),('model_id.model','=','calendar.attendee')]" />
|
||||
<field name="fn">field</field>
|
||||
</record>
|
||||
|
||||
<record model="basic.calendar.fields" id="map_attendee_11">
|
||||
<field name="name" ref="base_calendar.field_attendee_rsvp"/>
|
||||
<field name="type_id" ref="caldav.calendar_lines_attendee" />
|
||||
<field name="field_id" search="[('name','=','rsvp'),('model_id.model','=','calendar.attendee')]" />
|
||||
<field name="fn">field</field>
|
||||
</record>
|
||||
|
||||
|
||||
</data>
|
||||
</openerp>
|
||||
|
|
|
@ -580,7 +580,7 @@ class crm_case(osv.osv):
|
|||
|
||||
|
||||
def __history(self, cr, uid, cases, keyword, history=False, email=False, details=None, context={}):
|
||||
model_obj = self.pool.get('ir.model')
|
||||
model_obj = self.pool.get('ir.model')
|
||||
for case in cases:
|
||||
model_ids = model_obj.search(cr, uid, [('model','=',case._name)])
|
||||
data = {
|
||||
|
@ -820,14 +820,7 @@ class crm_case_history(osv.osv):
|
|||
_name = "crm.case.history"
|
||||
_description = "Case history"
|
||||
_order = "id desc"
|
||||
_inherits = {'crm.case.log':"log_id"}
|
||||
|
||||
def create(self, cr, user, vals, context=None):
|
||||
if vals.has_key('res_id') and vals['res_id']:
|
||||
case_obj = self.pool.get(vals['model_id'])
|
||||
cases = case_obj.browse(cr, user, [vals['res_id']])
|
||||
case_obj._action(cr, user, cases, '')
|
||||
return super(crm_case_history, self).create(cr, user, vals, context)
|
||||
_inherits = {'crm.case.log':"log_id"}
|
||||
|
||||
def _note_get(self, cursor, user, ids, name, arg, context=None):
|
||||
res = {}
|
||||
|
|
|
@ -49,9 +49,9 @@ class crm_cases(osv.osv):
|
|||
res = mailgate_obj.partner_get(cr, uid, msg['From'])
|
||||
if res:
|
||||
data.update(res)
|
||||
res = self.create(cr, uid, data)
|
||||
res = self.create(cr, uid, data)
|
||||
cases = self.browse(cr, uid, [res])
|
||||
self.__history(cr, uid, cases, _('Receive'), history=True, email=msg['From'])
|
||||
self._history(cr, uid, cases, _('Receive'), history=True, email=msg['From'])
|
||||
return res
|
||||
|
||||
def msg_update(self, cr, uid, ids, msg, data={}, default_act='pending'):
|
||||
|
@ -80,7 +80,7 @@ class crm_cases(osv.osv):
|
|||
|
||||
res = self.write(cr, uid, ids, data)
|
||||
cases = self.browse(cr, uid, [res])
|
||||
self.__history(cr, uid, cases, _('Receive'), history=True, email=msg['From'])
|
||||
self._history(cr, uid, cases, _('Receive'), history=True, email=msg['From'])
|
||||
getattr(self,act)(cr, uid, ids)
|
||||
return res
|
||||
|
||||
|
|
|
@ -25,33 +25,101 @@
|
|||
<record model="res.request.link" id="request_link_meeting">
|
||||
<field name="name">Case Meeting</field>
|
||||
<field name="object">crm.meeting</field>
|
||||
</record>
|
||||
</record>
|
||||
|
||||
|
||||
<record model="basic.calendar.lines" id="caldav.calendar_lines_event">
|
||||
<!-- Event Attribute mapping for Calendar-->
|
||||
|
||||
<record model="basic.calendar" id="base_calendar.basic_calendar1">
|
||||
<field name="name">meeting</field>
|
||||
</record>
|
||||
|
||||
<record model="basic.calendar.lines" id="caldav.calendar_lines_event">
|
||||
<field name="name">vevent</field>
|
||||
<field name="calendar_id" ref="base_calendar.basic_calendar1" />
|
||||
<field name="object_id" search="[('model','=','crm.meeting')]" />
|
||||
<field name="domain">[('user_id','=', uid)]</field>
|
||||
</record>
|
||||
|
||||
<record model="basic.calendar.lines" id="caldav.calendar_lines_alarm">
|
||||
<field name="name">valarm</field>
|
||||
<field name="calendar_id" ref="base_calendar.basic_calendar1" />
|
||||
<field name="object_id" search="[('model','=','calendar.alarm')]" />
|
||||
</record>
|
||||
|
||||
<record model="basic.calendar.lines" id="caldav.calendar_lines_attendee">
|
||||
<field name="name">attendee</field>
|
||||
<field name="calendar_id" ref="base_calendar.basic_calendar1" />
|
||||
<field name="object_id" search="[('model','=','calendar.attendee')]" />
|
||||
</record>
|
||||
|
||||
|
||||
|
||||
<record model="basic.calendar.fields" id="map_event_1">
|
||||
<field name="name" ref="base_calendar.field_event_uid"/>
|
||||
<field name="type_id" ref="caldav.calendar_lines_event" />
|
||||
<field name="field_id" search="[('name','=','id'),('model_id.model','=','calendar.event')]" />
|
||||
<field name="fn">field</field>
|
||||
</record>
|
||||
|
||||
<!-- Event Attribute mapping-->
|
||||
<record model="basic.calendar.fields" id="map_event_2">
|
||||
<field name="name" ref="base_calendar.field_event_recurrence-id"/>
|
||||
<field name="type_id" ref="caldav.calendar_lines_event" />
|
||||
<field name="field_id" search="[('name','=','recurrent_id'),('model_id.model','=','calendar.event')]" />
|
||||
<field name="fn">field</field>
|
||||
</record>
|
||||
|
||||
<record model="basic.calendar.fields" id="caldav.map_event_4">
|
||||
<record model="basic.calendar.fields" id="map_event_4">
|
||||
<field name="name" ref="base_calendar.field_event_attendee" />
|
||||
<field name="type_id" ref="caldav.calendar_lines_event" />
|
||||
<field name="field_id" search="[('name','=','attendee_ids'),('model_id.model','=','crm.meeting')]" />
|
||||
<field name="fn">field</field>
|
||||
</record>
|
||||
</record>
|
||||
|
||||
<record model="basic.calendar.fields" id="map_event_5">
|
||||
<field name="name" ref="base_calendar.field_event_rrule"/>
|
||||
<field name="type_id" ref="caldav.calendar_lines_event" />
|
||||
<field name="field_id" search="[('name','=','rrule'),('model_id.model','=','calendar.event')]" />
|
||||
<field name="fn">field</field>
|
||||
</record>
|
||||
|
||||
<record model="basic.calendar.fields" id="map_event_8">
|
||||
<record model="basic.calendar.fields" id="map_event_6">
|
||||
<field name="name" ref="base_calendar.field_event_dtend"/>
|
||||
<field name="type_id" ref="caldav.calendar_lines_event" />
|
||||
<field name="field_id" search="[('name','=','date_deadline'),('model_id.model','=','calendar.event')]" />
|
||||
<field name="fn">field</field>
|
||||
</record>
|
||||
|
||||
<record model="basic.calendar.fields" id="map_event_7">
|
||||
<field name="name" ref="base_calendar.field_event_valarm"/>
|
||||
<field name="type_id" ref="caldav.calendar_lines_event" />
|
||||
<field name="field_id" search="[('name','=','caldav_alarm_id'),('model_id.model','=','calendar.event')]" />
|
||||
<field name="fn">field</field>
|
||||
</record>
|
||||
|
||||
<record model="basic.calendar.fields" id="map_event_8">
|
||||
<field name="name" ref="base_calendar.field_event_priority"/>
|
||||
<field name="type_id" ref="caldav.calendar_lines_event" />
|
||||
<field name="field_id" search="[('name','=','priority'),('model_id.model','=','crm.meeting')]" />
|
||||
<field name="fn">field</field>
|
||||
</record>
|
||||
</record>
|
||||
|
||||
<record model="basic.calendar.fields" id="map_event_11">
|
||||
|
||||
<record model="basic.calendar.fields" id="map_event_9">
|
||||
<field name="name" ref="base_calendar.field_event_location"/>
|
||||
<field name="type_id" ref="caldav.calendar_lines_event" />
|
||||
<field name="field_id" search="[('name','=','location'),('model_id.model','=','calendar.event')]" />
|
||||
<field name="fn">field</field>
|
||||
</record>
|
||||
|
||||
<record model="basic.calendar.fields" id="map_event_10">
|
||||
<field name="name" ref="base_calendar.field_event_exrule"/>
|
||||
<field name="type_id" ref="caldav.calendar_lines_event" />
|
||||
<field name="field_id" search="[('name','=','exrule'),('model_id.model','=','calendar.event')]" />
|
||||
<field name="fn">field</field>
|
||||
</record>
|
||||
|
||||
<record model="basic.calendar.fields" id="map_event_11">
|
||||
<field name="name" ref="base_calendar.field_event_status"/>
|
||||
<field name="type_id" ref="caldav.calendar_lines_event" />
|
||||
<field name="field_id" search="[('name','=','state'),('model_id.model','=','crm.meeting')]" />
|
||||
|
@ -59,5 +127,220 @@
|
|||
<field name="fn">field</field>
|
||||
</record>
|
||||
|
||||
<record model="basic.calendar.fields" id="map_event_12">
|
||||
<field name="name" ref="base_calendar.field_event_exdate"/>
|
||||
<field name="type_id" ref="caldav.calendar_lines_event" />
|
||||
<field name="field_id" search="[('name','=','exdate'),('model_id.model','=','calendar.event')]" />
|
||||
<field name="fn">field</field>
|
||||
</record>
|
||||
|
||||
<record model="basic.calendar.fields" id="map_event_13">
|
||||
<field name="name" ref="base_calendar.field_event_dtstamp"/>
|
||||
<field name="type_id" ref="caldav.calendar_lines_event" />
|
||||
<field name="field_id" search="[('name','=','date'),('model_id.model','=','calendar.event')]" />
|
||||
<field name="fn">field</field>
|
||||
</record>
|
||||
|
||||
<record model="basic.calendar.fields" id="map_event_14">
|
||||
<field name="name" ref="base_calendar.field_event_description"/>
|
||||
<field name="type_id" ref="caldav.calendar_lines_event" />
|
||||
<field name="field_id" search="[('name','=','description'),('model_id.model','=','calendar.event')]" />
|
||||
<field name="fn">field</field>
|
||||
</record>
|
||||
|
||||
<record model="basic.calendar.fields" id="map_event_15">
|
||||
<field name="name" ref="base_calendar.field_event_dtstart"/>
|
||||
<field name="type_id" ref="caldav.calendar_lines_event" />
|
||||
<field name="field_id" search="[('name','=','date'),('model_id.model','=','calendar.event')]" />
|
||||
<field name="fn">field</field>
|
||||
</record>
|
||||
|
||||
<record model="basic.calendar.fields" id="map_event_16">
|
||||
<field name="name" ref="base_calendar.field_event_class"/>
|
||||
<field name="type_id" ref="caldav.calendar_lines_event" />
|
||||
<field name="field_id" search="[('name','=','class'),('model_id.model','=','calendar.event')]" />
|
||||
<field name="fn">field</field>
|
||||
</record>
|
||||
|
||||
<record model="basic.calendar.fields" id="map_event_18">
|
||||
<field name="name" ref="base_calendar.field_event_created"/>
|
||||
<field name="type_id" ref="caldav.calendar_lines_event" />
|
||||
<field name="field_id" search="[('name','=','create_date'),('model_id.model','=','calendar.event')]" />
|
||||
<field name="fn">field</field>
|
||||
</record>
|
||||
|
||||
<record model="basic.calendar.fields" id="map_event_19">
|
||||
<field name="name" ref="base_calendar.field_event_url"/>
|
||||
<field name="type_id" ref="caldav.calendar_lines_event" />
|
||||
<field name="field_id" search="[('name','=','caldav_url'),('model_id.model','=','calendar.event')]" />
|
||||
<field name="fn">field</field>
|
||||
</record>
|
||||
|
||||
<record model="basic.calendar.fields" id="map_event_20">
|
||||
<field name="name" ref="base_calendar.field_event_summary"/>
|
||||
<field name="type_id" ref="caldav.calendar_lines_event" />
|
||||
<field name="field_id" search="[('name','=','name'),('model_id.model','=','calendar.event')]" />
|
||||
<field name="fn">field</field>
|
||||
</record>
|
||||
|
||||
|
||||
|
||||
<record model="basic.calendar.fields" id="map_alarm_1">
|
||||
<field name="name" ref="base_calendar.field_alarm_attendee"/>
|
||||
<field name="type_id" ref="caldav.calendar_lines_alarm" />
|
||||
<field name="field_id" search="[('name','=','attendee_ids'),('model_id.model','=','calendar.alarm')]" />
|
||||
<field name="fn">field</field>
|
||||
</record>
|
||||
|
||||
<record model="basic.calendar.fields" id="map_alarm_2">
|
||||
<field name="name" ref="base_calendar.field_alarm_trigger_duration"/>
|
||||
<field name="type_id" ref="caldav.calendar_lines_alarm" />
|
||||
<field name="field_id" search="[('name','=','trigger_duration'),('model_id.model','=','res.alarm')]" />
|
||||
<field name="fn">field</field>
|
||||
</record>
|
||||
|
||||
<record model="basic.calendar.fields" id="map_alarm_3">
|
||||
<field name="name" ref="base_calendar.field_alarm_description"/>
|
||||
<field name="type_id" ref="caldav.calendar_lines_alarm" />
|
||||
<field name="field_id" search="[('name','=','description'),('model_id.model','=','calendar.alarm')]" />
|
||||
<field name="fn">field</field>
|
||||
</record>
|
||||
|
||||
<record model="basic.calendar.fields" id="map_alarm_4">
|
||||
<field name="name" ref="base_calendar.field_alarm_attach"/>
|
||||
<field name="type_id" ref="caldav.calendar_lines_alarm" />
|
||||
<field name="field_id" search="[('name','=','attach'),('model_id.model','=','calendar.alarm')]" />
|
||||
<field name="fn">field</field>
|
||||
</record>
|
||||
|
||||
<record model="basic.calendar.fields" id="map_alarm_5">
|
||||
<field name="name" ref="base_calendar.field_alarm_trigger_occurs"/>
|
||||
<field name="type_id" ref="caldav.calendar_lines_alarm" />
|
||||
<field name="field_id" search="[('name','=','trigger_occurs'),('model_id.model','=','res.alarm')]" />
|
||||
<field name="fn">field</field>
|
||||
</record>
|
||||
|
||||
<record model="basic.calendar.fields" id="map_alarm_6">
|
||||
<field name="name" ref="base_calendar.field_alarm_trigger_interval"/>
|
||||
<field name="type_id" ref="caldav.calendar_lines_alarm" />
|
||||
<field name="field_id" search="[('name','=','trigger_interval'),('model_id.model','=','res.alarm')]" />
|
||||
<field name="fn">field</field>
|
||||
</record>
|
||||
|
||||
<record model="basic.calendar.fields" id="map_alarm_7">
|
||||
<field name="name" ref="base_calendar.field_alarm_summary"/>
|
||||
<field name="type_id" ref="caldav.calendar_lines_alarm" />
|
||||
<field name="field_id" search="[('name','=','name'),('model_id.model','=','calendar.alarm')]" />
|
||||
<field name="fn">field</field>
|
||||
</record>
|
||||
|
||||
<record model="basic.calendar.fields" id="map_alarm_8">
|
||||
<field name="name" ref="base_calendar.field_alarm_duration"/>
|
||||
<field name="type_id" ref="caldav.calendar_lines_alarm" />
|
||||
<field name="field_id" search="[('name','=','duration'),('model_id.model','=','res.alarm')]" />
|
||||
<field name="fn">field</field>
|
||||
</record>
|
||||
|
||||
<record model="basic.calendar.fields" id="map_alarm_9">
|
||||
<field name="name" ref="base_calendar.field_alarm_repeat"/>
|
||||
<field name="type_id" ref="caldav.calendar_lines_alarm" />
|
||||
<field name="field_id" search="[('name','=','repeat'),('model_id.model','=','res.alarm')]" />
|
||||
<field name="fn">field</field>
|
||||
</record>
|
||||
|
||||
<record model="basic.calendar.fields" id="map_alarm_10">
|
||||
<field name="name" ref="base_calendar.field_alarm_action"/>
|
||||
<field name="type_id" ref="caldav.calendar_lines_alarm" />
|
||||
<field name="field_id" search="[('name','=','action'),('model_id.model','=','calendar.alarm')]" />
|
||||
<field name="fn">field</field>
|
||||
</record>
|
||||
|
||||
<record model="basic.calendar.fields" id="map_alarm_11">
|
||||
<field name="name" ref="base_calendar.field_alarm_trigger_related"/>
|
||||
<field name="type_id" ref="caldav.calendar_lines_alarm" />
|
||||
<field name="field_id" search="[('name','=','trigger_related'),('model_id.model','=','res.alarm')]" />
|
||||
<field name="fn">field</field>
|
||||
</record>
|
||||
|
||||
|
||||
<record model="basic.calendar.fields" id="map_attendee_1">
|
||||
<field name="name" ref="base_calendar.field_attendee_cn"/>
|
||||
<field name="type_id" ref="caldav.calendar_lines_attendee" />
|
||||
<field name="field_id" search="[('name','=','cn'),('model_id.model','=','calendar.attendee')]" />
|
||||
<field name="fn">field</field>
|
||||
</record>
|
||||
|
||||
<record model="basic.calendar.fields" id="map_attendee_2">
|
||||
<field name="name" ref="base_calendar.field_attendee_sent-by"/>
|
||||
<field name="type_id" ref="caldav.calendar_lines_attendee" />
|
||||
<field name="field_id" search="[('name','=','sent_by'),('model_id.model','=','calendar.attendee')]" />
|
||||
<field name="fn">field</field>
|
||||
</record>
|
||||
|
||||
<record model="basic.calendar.fields" id="map_attendee_3">
|
||||
<field name="name" ref="base_calendar.field_attendee_language"/>
|
||||
<field name="type_id" ref="caldav.calendar_lines_attendee" />
|
||||
<field name="field_id" search="[('name','=','language'),('model_id.model','=','calendar.attendee')]" />
|
||||
<field name="fn">field</field>
|
||||
</record>
|
||||
|
||||
<record model="basic.calendar.fields" id="map_attendee_4">
|
||||
<field name="name" ref="base_calendar.field_attendee_delegated-from"/>
|
||||
<field name="type_id" ref="caldav.calendar_lines_attendee" />
|
||||
<field name="field_id" search="[('name','=','delegated_from'),('model_id.model','=','calendar.attendee')]" />
|
||||
<field name="fn">field</field>
|
||||
</record>
|
||||
|
||||
<record model="basic.calendar.fields" id="map_attendee_5">
|
||||
<field name="name" ref="base_calendar.field_attendee_member"/>
|
||||
<field name="type_id" ref="caldav.calendar_lines_attendee" />
|
||||
<field name="field_id" search="[('name','=','member'),('model_id.model','=','calendar.attendee')]" />
|
||||
<field name="fn">field</field>
|
||||
</record>
|
||||
|
||||
<record model="basic.calendar.fields" id="map_attendee_6">
|
||||
<field name="name" ref="base_calendar.field_attendee_cutype"/>
|
||||
<field name="type_id" ref="caldav.calendar_lines_attendee" />
|
||||
<field name="field_id" search="[('name','=','cutype'),('model_id.model','=','calendar.attendee')]" />
|
||||
<field name="fn">field</field>
|
||||
</record>
|
||||
|
||||
<record model="basic.calendar.fields" id="map_attendee_7">
|
||||
<field name="name" ref="base_calendar.field_attendee_role"/>
|
||||
<field name="type_id" ref="caldav.calendar_lines_attendee" />
|
||||
<field name="field_id" search="[('name','=','role'),('model_id.model','=','calendar.attendee')]" />
|
||||
<field name="fn">field</field>
|
||||
</record>
|
||||
|
||||
<record model="basic.calendar.fields" id="map_attendee_8">
|
||||
<field name="name" ref="base_calendar.field_attendee_partstat"/>
|
||||
<field name="type_id" ref="caldav.calendar_lines_attendee" />
|
||||
<field name="field_id" search="[('name','=','state'),('model_id.model','=','calendar.attendee')]" />
|
||||
<field name="fn">field</field>
|
||||
</record>
|
||||
|
||||
<record model="basic.calendar.fields" id="map_attendee_9">
|
||||
<field name="name" ref="base_calendar.field_attendee_delegated-to"/>
|
||||
<field name="type_id" ref="caldav.calendar_lines_attendee" />
|
||||
<field name="field_id" search="[('name','=','delegated_to'),('model_id.model','=','calendar.attendee')]" />
|
||||
<field name="fn">field</field>
|
||||
</record>
|
||||
|
||||
<record model="basic.calendar.fields" id="map_attendee_10">
|
||||
<field name="name" ref="base_calendar.field_attendee_dir"/>
|
||||
<field name="type_id" ref="caldav.calendar_lines_attendee" />
|
||||
<field name="field_id" search="[('name','=','dir'),('model_id.model','=','calendar.attendee')]" />
|
||||
<field name="fn">field</field>
|
||||
</record>
|
||||
|
||||
<record model="basic.calendar.fields" id="map_attendee_11">
|
||||
<field name="name" ref="base_calendar.field_attendee_rsvp"/>
|
||||
<field name="type_id" ref="caldav.calendar_lines_attendee" />
|
||||
<field name="field_id" search="[('name','=','rsvp'),('model_id.model','=','calendar.attendee')]" />
|
||||
<field name="fn">field</field>
|
||||
</record>
|
||||
|
||||
|
||||
|
||||
</data>
|
||||
</openerp>
|
||||
|
|
|
@ -91,6 +91,7 @@
|
|||
<field name="alarm_id" string="Reminder" widget="selection" />
|
||||
<field name="class"/>
|
||||
<field name="user_id"/>
|
||||
<field name="vtimezone"/>
|
||||
<field name="recurrent_id" invisible="1" />
|
||||
<field name="recurrent_uid" invisible="1" />
|
||||
<field name="rrule" invisible="1" />
|
||||
|
|
|
@ -1,13 +1,17 @@
|
|||
<?xml version="1.0"?>
|
||||
<openerp>
|
||||
<data noupdate="1">
|
||||
|
||||
<record model="basic.calendar.lines" id="caldav.calendar_lines_todo">
|
||||
<field name="name">vtodo</field>
|
||||
<field name="calendar_id" ref="base_calendar.basic_calendar1" />
|
||||
<field name="object_id" search="[('model','=','project.task')]" />
|
||||
<record model="basic.calendar" id="base_calendar.basic_calendar2">
|
||||
<field name="name">meeting_todo</field>
|
||||
</record>
|
||||
|
||||
<record model="basic.calendar.lines" id="caldav.calendar_lines_todo">
|
||||
<field name="name">vtodo</field>
|
||||
<field name="calendar_id" ref="base_calendar.basic_calendar2" />
|
||||
<field name="object_id" search="[('model','=','project.task')]" />
|
||||
<field name="domain">[('user_id','=', uid)]</field>
|
||||
</record>
|
||||
|
||||
<record model="basic.calendar.fields" id="map_todo_1">
|
||||
<field name="name" ref="base_calendar.field_todo_status" />
|
||||
<field name="type_id" ref="caldav.calendar_lines_todo" />
|
||||
|
@ -15,34 +19,430 @@
|
|||
<field name="mapping">{'needs-action': 'draft', 'completed': 'done', 'in-process': 'open', 'cancelled': 'cancelled'}</field>
|
||||
<field name="fn">field</field>
|
||||
</record>
|
||||
|
||||
<record model="basic.calendar.fields" id="map_todo_3">
|
||||
|
||||
<record model="basic.calendar.fields" id="map_todo_2">
|
||||
<field name="name" ref="base_calendar.field_todo_exdate"/>
|
||||
<field name="type_id" ref="caldav.calendar_lines_todo" />
|
||||
<field name="field_id" search="[('name','=','exdate'),('model_id.model','=','calendar.todo')]" />
|
||||
<field name="fn">field</field>
|
||||
</record>
|
||||
|
||||
<record model="basic.calendar.fields" id="map_todo_3">
|
||||
<field name="name" ref="base_calendar.field_todo_attendee" />
|
||||
<field name="type_id" ref="caldav.calendar_lines_todo" />
|
||||
<field name="field_id" search="[('name','=','attendee_ids'),('model_id.model','=','project.task')]" />
|
||||
<field name="fn">field</field>
|
||||
</record>
|
||||
|
||||
<record model="basic.calendar.fields" id="map_todo_9">
|
||||
|
||||
<record model="basic.calendar.fields" id="map_todo_4">
|
||||
<field name="name" ref="base_calendar.field_todo_valarm"/>
|
||||
<field name="type_id" ref="caldav.calendar_lines_todo" />
|
||||
<field name="field_id" search="[('name','=','caldav_alarm_id'),('model_id.model','=','calendar.todo')]" />
|
||||
<field name="fn">field</field>
|
||||
</record>
|
||||
|
||||
<record model="basic.calendar.fields" id="map_todo_5">
|
||||
<field name="name" ref="base_calendar.field_todo_description"/>
|
||||
<field name="type_id" ref="caldav.calendar_lines_todo" />
|
||||
<field name="field_id" search="[('name','=','description'),('model_id.model','=','calendar.todo')]" />
|
||||
<field name="fn">field</field>
|
||||
</record>
|
||||
|
||||
<record model="basic.calendar.fields" id="map_todo_6">
|
||||
<field name="name" ref="base_calendar.field_todo_seq"/>
|
||||
<field name="type_id" ref="caldav.calendar_lines_todo" />
|
||||
<field name="field_id" search="[('name','=','sequence'),('model_id.model','=','calendar.todo')]" />
|
||||
<field name="fn">field</field>
|
||||
</record>
|
||||
|
||||
<record model="basic.calendar.fields" id="map_todo_7">
|
||||
<field name="name" ref="base_calendar.field_todo_url"/>
|
||||
<field name="type_id" ref="caldav.calendar_lines_todo" />
|
||||
<field name="field_id" search="[('name','=','caldav_url'),('model_id.model','=','calendar.todo')]" />
|
||||
<field name="fn">field</field>
|
||||
</record>
|
||||
|
||||
<record model="basic.calendar.fields" id="map_todo_9">
|
||||
<field name="name" ref="base_calendar.field_todo_percent"/>
|
||||
<field name="type_id" ref="caldav.calendar_lines_todo" />
|
||||
<field name="field_id" search="[('name','=','progress'),('model_id.model','=','project.task')]" />
|
||||
<field name="fn">field</field>
|
||||
</record>
|
||||
|
||||
<record model="basic.calendar.fields" id="map_todo_12">
|
||||
|
||||
<record model="basic.calendar.fields" id="map_todo_11">
|
||||
<field name="name" ref="base_calendar.field_todo_summary"/>
|
||||
<field name="type_id" ref="caldav.calendar_lines_todo" />
|
||||
<field name="field_id" search="[('name','=','name'),('model_id.model','=','calendar.todo')]" />
|
||||
<field name="fn">field</field>
|
||||
</record>
|
||||
|
||||
<record model="basic.calendar.fields" id="map_todo_12">
|
||||
<field name="name" ref="base_calendar.field_event_priority"/>
|
||||
<field name="type_id" ref="caldav.calendar_lines_todo" />
|
||||
<field name="field_id" search="[('name','=','priority'),('model_id.model','=','project.task')]" />
|
||||
<field name="fn">field</field>
|
||||
</record>
|
||||
|
||||
<record model="basic.calendar.fields" id="map_todo_15">
|
||||
|
||||
<record model="basic.calendar.fields" id="map_todo_13">
|
||||
<field name="name" ref="base_calendar.field_todo_location"/>
|
||||
<field name="type_id" ref="caldav.calendar_lines_todo" />
|
||||
<field name="field_id" search="[('name','=','location'),('model_id.model','=','calendar.todo')]" />
|
||||
<field name="fn">field</field>
|
||||
</record>
|
||||
|
||||
<record model="basic.calendar.fields" id="map_todo_14">
|
||||
<field name="name" ref="base_calendar.field_todo_exrule"/>
|
||||
<field name="type_id" ref="caldav.calendar_lines_todo" />
|
||||
<field name="field_id" search="[('name','=','exrule'),('model_id.model','=','calendar.todo')]" />
|
||||
<field name="fn">field</field>
|
||||
</record>
|
||||
|
||||
<record model="basic.calendar.fields" id="map_todo_15">
|
||||
<field name="name" ref="base_calendar.field_todo_duration"/>
|
||||
<field name="type_id" ref="caldav.calendar_lines_todo" />
|
||||
<field name="field_id" search="[('name','=','planned_hours'),('model_id.model','=','project.task')]" />
|
||||
<field name="fn">hours</field>
|
||||
</record>
|
||||
|
||||
<record model="basic.calendar.fields" id="map_todo_16">
|
||||
<field name="name" ref="base_calendar.field_todo_dtstart"/>
|
||||
<field name="type_id" ref="caldav.calendar_lines_todo" />
|
||||
<field name="field_id" search="[('name','=','date'),('model_id.model','=','calendar.todo')]" />
|
||||
<field name="fn">field</field>
|
||||
</record>
|
||||
|
||||
<record model="basic.calendar.fields" id="map_todo_17">
|
||||
<field name="name" ref="base_calendar.field_todo_rrule"/>
|
||||
<field name="type_id" ref="caldav.calendar_lines_todo" />
|
||||
<field name="field_id" search="[('name','=','rrule'),('model_id.model','=','calendar.todo')]" />
|
||||
<field name="fn">field</field>
|
||||
</record>
|
||||
|
||||
<record model="basic.calendar.fields" id="map_todo_18">
|
||||
<field name="name" ref="base_calendar.field_todo_class"/>
|
||||
<field name="type_id" ref="caldav.calendar_lines_todo" />
|
||||
<field name="field_id" search="[('name','=','class'),('model_id.model','=','calendar.todo')]" />
|
||||
<field name="fn">field</field>
|
||||
</record>
|
||||
|
||||
<record model="basic.calendar.fields" id="map_todo_19">
|
||||
<field name="name" ref="base_calendar.field_todo_uid"/>
|
||||
<field name="type_id" ref="caldav.calendar_lines_todo" />
|
||||
<field name="field_id" search="[('name','=','id'),('model_id.model','=','calendar.todo')]" />
|
||||
<field name="fn">field</field>
|
||||
</record>
|
||||
|
||||
|
||||
<record model="basic.calendar.lines" id="caldav.calendar_lines_event2">
|
||||
<field name="name">vevent</field>
|
||||
<field name="calendar_id" ref="base_calendar.basic_calendar2" />
|
||||
<field name="object_id" search="[('model','=','crm.meeting')]" />
|
||||
<field name="domain">[('user_id','=', uid)]</field>
|
||||
</record>
|
||||
|
||||
<record model="basic.calendar.lines" id="caldav.calendar_lines_alarm2">
|
||||
<field name="name">valarm</field>
|
||||
<field name="calendar_id" ref="base_calendar.basic_calendar2" />
|
||||
<field name="object_id" search="[('model','=','calendar.alarm')]" />
|
||||
</record>
|
||||
|
||||
<record model="basic.calendar.lines" id="caldav.calendar_lines_attendee2">
|
||||
<field name="name">attendee</field>
|
||||
<field name="calendar_id" ref="base_calendar.basic_calendar2" />
|
||||
<field name="object_id" search="[('model','=','calendar.attendee')]" />
|
||||
</record>
|
||||
|
||||
|
||||
|
||||
<record model="basic.calendar.fields" id="map_event_1">
|
||||
<field name="name" ref="base_calendar.field_event_uid"/>
|
||||
<field name="type_id" ref="caldav.calendar_lines_event2" />
|
||||
<field name="field_id" search="[('name','=','id'),('model_id.model','=','calendar.event')]" />
|
||||
<field name="fn">field</field>
|
||||
</record>
|
||||
|
||||
<record model="basic.calendar.fields" id="map_event_2">
|
||||
<field name="name" ref="base_calendar.field_event_recurrence-id"/>
|
||||
<field name="type_id" ref="caldav.calendar_lines_event2" />
|
||||
<field name="field_id" search="[('name','=','recurrent_id'),('model_id.model','=','calendar.event')]" />
|
||||
<field name="fn">field</field>
|
||||
</record>
|
||||
|
||||
<record model="basic.calendar.fields" id="map_event_4">
|
||||
<field name="name" ref="base_calendar.field_event_attendee" />
|
||||
<field name="type_id" ref="caldav.calendar_lines_event2" />
|
||||
<field name="field_id" search="[('name','=','attendee_ids'),('model_id.model','=','crm.meeting')]" />
|
||||
<field name="fn">field</field>
|
||||
</record>
|
||||
|
||||
<record model="basic.calendar.fields" id="map_event_5">
|
||||
<field name="name" ref="base_calendar.field_event_rrule"/>
|
||||
<field name="type_id" ref="caldav.calendar_lines_event2" />
|
||||
<field name="field_id" search="[('name','=','rrule'),('model_id.model','=','calendar.event')]" />
|
||||
<field name="fn">field</field>
|
||||
</record>
|
||||
|
||||
<record model="basic.calendar.fields" id="map_event_6">
|
||||
<field name="name" ref="base_calendar.field_event_dtend"/>
|
||||
<field name="type_id" ref="caldav.calendar_lines_event2" />
|
||||
<field name="field_id" search="[('name','=','date_deadline'),('model_id.model','=','calendar.event')]" />
|
||||
<field name="fn">field</field>
|
||||
</record>
|
||||
|
||||
<record model="basic.calendar.fields" id="map_event_7">
|
||||
<field name="name" ref="base_calendar.field_event_valarm"/>
|
||||
<field name="type_id" ref="caldav.calendar_lines_event2" />
|
||||
<field name="field_id" search="[('name','=','caldav_alarm_id'),('model_id.model','=','calendar.event')]" />
|
||||
<field name="fn">field</field>
|
||||
</record>
|
||||
|
||||
<record model="basic.calendar.fields" id="map_event_8">
|
||||
<field name="name" ref="base_calendar.field_event_priority"/>
|
||||
<field name="type_id" ref="caldav.calendar_lines_event2" />
|
||||
<field name="field_id" search="[('name','=','priority'),('model_id.model','=','crm.meeting')]" />
|
||||
<field name="fn">field</field>
|
||||
</record>
|
||||
|
||||
|
||||
<record model="basic.calendar.fields" id="map_event_9">
|
||||
<field name="name" ref="base_calendar.field_event_location"/>
|
||||
<field name="type_id" ref="caldav.calendar_lines_event2" />
|
||||
<field name="field_id" search="[('name','=','location'),('model_id.model','=','calendar.event')]" />
|
||||
<field name="fn">field</field>
|
||||
</record>
|
||||
|
||||
<record model="basic.calendar.fields" id="map_event_10">
|
||||
<field name="name" ref="base_calendar.field_event_exrule"/>
|
||||
<field name="type_id" ref="caldav.calendar_lines_event2" />
|
||||
<field name="field_id" search="[('name','=','exrule'),('model_id.model','=','calendar.event')]" />
|
||||
<field name="fn">field</field>
|
||||
</record>
|
||||
|
||||
<record model="basic.calendar.fields" id="map_event_11">
|
||||
<field name="name" ref="base_calendar.field_event_status"/>
|
||||
<field name="type_id" ref="caldav.calendar_lines_event2" />
|
||||
<field name="field_id" search="[('name','=','state'),('model_id.model','=','crm.meeting')]" />
|
||||
<field name="mapping">{'tentative': 'draft', 'confirmed': 'open', 'cancelled': 'cancel'}</field>
|
||||
<field name="fn">field</field>
|
||||
</record>
|
||||
|
||||
<record model="basic.calendar.fields" id="map_event_12">
|
||||
<field name="name" ref="base_calendar.field_event_exdate"/>
|
||||
<field name="type_id" ref="caldav.calendar_lines_event2" />
|
||||
<field name="field_id" search="[('name','=','exdate'),('model_id.model','=','calendar.event')]" />
|
||||
<field name="fn">field</field>
|
||||
</record>
|
||||
|
||||
<record model="basic.calendar.fields" id="map_event_13">
|
||||
<field name="name" ref="base_calendar.field_event_dtstamp"/>
|
||||
<field name="type_id" ref="caldav.calendar_lines_event2" />
|
||||
<field name="field_id" search="[('name','=','date'),('model_id.model','=','calendar.event')]" />
|
||||
<field name="fn">field</field>
|
||||
</record>
|
||||
|
||||
<record model="basic.calendar.fields" id="map_event_14">
|
||||
<field name="name" ref="base_calendar.field_event_description"/>
|
||||
<field name="type_id" ref="caldav.calendar_lines_event2" />
|
||||
<field name="field_id" search="[('name','=','description'),('model_id.model','=','calendar.event')]" />
|
||||
<field name="fn">field</field>
|
||||
</record>
|
||||
|
||||
<record model="basic.calendar.fields" id="map_event_15">
|
||||
<field name="name" ref="base_calendar.field_event_dtstart"/>
|
||||
<field name="type_id" ref="caldav.calendar_lines_event2" />
|
||||
<field name="field_id" search="[('name','=','date'),('model_id.model','=','calendar.event')]" />
|
||||
<field name="fn">field</field>
|
||||
</record>
|
||||
|
||||
<record model="basic.calendar.fields" id="map_event_16">
|
||||
<field name="name" ref="base_calendar.field_event_class"/>
|
||||
<field name="type_id" ref="caldav.calendar_lines_event2" />
|
||||
<field name="field_id" search="[('name','=','class'),('model_id.model','=','calendar.event')]" />
|
||||
<field name="fn">field</field>
|
||||
</record>
|
||||
|
||||
<record model="basic.calendar.fields" id="map_event_18">
|
||||
<field name="name" ref="base_calendar.field_event_created"/>
|
||||
<field name="type_id" ref="caldav.calendar_lines_event2" />
|
||||
<field name="field_id" search="[('name','=','create_date'),('model_id.model','=','calendar.event')]" />
|
||||
<field name="fn">field</field>
|
||||
</record>
|
||||
|
||||
<record model="basic.calendar.fields" id="map_event_19">
|
||||
<field name="name" ref="base_calendar.field_event_url"/>
|
||||
<field name="type_id" ref="caldav.calendar_lines_event2" />
|
||||
<field name="field_id" search="[('name','=','caldav_url'),('model_id.model','=','calendar.event')]" />
|
||||
<field name="fn">field</field>
|
||||
</record>
|
||||
|
||||
<record model="basic.calendar.fields" id="map_event_20">
|
||||
<field name="name" ref="base_calendar.field_event_summary"/>
|
||||
<field name="type_id" ref="caldav.calendar_lines_event2" />
|
||||
<field name="field_id" search="[('name','=','name'),('model_id.model','=','calendar.event')]" />
|
||||
<field name="fn">field</field>
|
||||
</record>
|
||||
|
||||
|
||||
|
||||
<record model="basic.calendar.fields" id="map_alarm_1">
|
||||
<field name="name" ref="base_calendar.field_alarm_attendee"/>
|
||||
<field name="type_id" ref="caldav.calendar_lines_alarm2" />
|
||||
<field name="field_id" search="[('name','=','attendee_ids'),('model_id.model','=','calendar.alarm')]" />
|
||||
<field name="fn">field</field>
|
||||
</record>
|
||||
|
||||
<record model="basic.calendar.fields" id="map_alarm_2">
|
||||
<field name="name" ref="base_calendar.field_alarm_trigger_duration"/>
|
||||
<field name="type_id" ref="caldav.calendar_lines_alarm2" />
|
||||
<field name="field_id" search="[('name','=','trigger_duration'),('model_id.model','=','res.alarm')]" />
|
||||
<field name="fn">field</field>
|
||||
</record>
|
||||
|
||||
<record model="basic.calendar.fields" id="map_alarm_3">
|
||||
<field name="name" ref="base_calendar.field_alarm_description"/>
|
||||
<field name="type_id" ref="caldav.calendar_lines_alarm2" />
|
||||
<field name="field_id" search="[('name','=','description'),('model_id.model','=','calendar.alarm')]" />
|
||||
<field name="fn">field</field>
|
||||
</record>
|
||||
|
||||
<record model="basic.calendar.fields" id="map_alarm_4">
|
||||
<field name="name" ref="base_calendar.field_alarm_attach"/>
|
||||
<field name="type_id" ref="caldav.calendar_lines_alarm2" />
|
||||
<field name="field_id" search="[('name','=','attach'),('model_id.model','=','calendar.alarm')]" />
|
||||
<field name="fn">field</field>
|
||||
</record>
|
||||
|
||||
<record model="basic.calendar.fields" id="map_alarm_5">
|
||||
<field name="name" ref="base_calendar.field_alarm_trigger_occurs"/>
|
||||
<field name="type_id" ref="caldav.calendar_lines_alarm2" />
|
||||
<field name="field_id" search="[('name','=','trigger_occurs'),('model_id.model','=','res.alarm')]" />
|
||||
<field name="fn">field</field>
|
||||
</record>
|
||||
|
||||
<record model="basic.calendar.fields" id="map_alarm_6">
|
||||
<field name="name" ref="base_calendar.field_alarm_trigger_interval"/>
|
||||
<field name="type_id" ref="caldav.calendar_lines_alarm2" />
|
||||
<field name="field_id" search="[('name','=','trigger_interval'),('model_id.model','=','res.alarm')]" />
|
||||
<field name="fn">field</field>
|
||||
</record>
|
||||
|
||||
<record model="basic.calendar.fields" id="map_alarm_7">
|
||||
<field name="name" ref="base_calendar.field_alarm_summary"/>
|
||||
<field name="type_id" ref="caldav.calendar_lines_alarm2" />
|
||||
<field name="field_id" search="[('name','=','name'),('model_id.model','=','calendar.alarm')]" />
|
||||
<field name="fn">field</field>
|
||||
</record>
|
||||
|
||||
<record model="basic.calendar.fields" id="map_alarm_8">
|
||||
<field name="name" ref="base_calendar.field_alarm_duration"/>
|
||||
<field name="type_id" ref="caldav.calendar_lines_alarm2" />
|
||||
<field name="field_id" search="[('name','=','duration'),('model_id.model','=','res.alarm')]" />
|
||||
<field name="fn">field</field>
|
||||
</record>
|
||||
|
||||
<record model="basic.calendar.fields" id="map_alarm_9">
|
||||
<field name="name" ref="base_calendar.field_alarm_repeat"/>
|
||||
<field name="type_id" ref="caldav.calendar_lines_alarm2" />
|
||||
<field name="field_id" search="[('name','=','repeat'),('model_id.model','=','res.alarm')]" />
|
||||
<field name="fn">field</field>
|
||||
</record>
|
||||
|
||||
<record model="basic.calendar.fields" id="map_alarm_10">
|
||||
<field name="name" ref="base_calendar.field_alarm_action"/>
|
||||
<field name="type_id" ref="caldav.calendar_lines_alarm2" />
|
||||
<field name="field_id" search="[('name','=','action'),('model_id.model','=','calendar.alarm')]" />
|
||||
<field name="fn">field</field>
|
||||
</record>
|
||||
|
||||
<record model="basic.calendar.fields" id="map_alarm_11">
|
||||
<field name="name" ref="base_calendar.field_alarm_trigger_related"/>
|
||||
<field name="type_id" ref="caldav.calendar_lines_alarm2" />
|
||||
<field name="field_id" search="[('name','=','trigger_related'),('model_id.model','=','res.alarm')]" />
|
||||
<field name="fn">field</field>
|
||||
</record>
|
||||
|
||||
|
||||
<record model="basic.calendar.fields" id="map_attendee_1">
|
||||
<field name="name" ref="base_calendar.field_attendee_cn"/>
|
||||
<field name="type_id" ref="caldav.calendar_lines_attendee2" />
|
||||
<field name="field_id" search="[('name','=','cn'),('model_id.model','=','calendar.attendee')]" />
|
||||
<field name="fn">field</field>
|
||||
</record>
|
||||
|
||||
<record model="basic.calendar.fields" id="map_attendee_2">
|
||||
<field name="name" ref="base_calendar.field_attendee_sent-by"/>
|
||||
<field name="type_id" ref="caldav.calendar_lines_attendee2" />
|
||||
<field name="field_id" search="[('name','=','sent_by'),('model_id.model','=','calendar.attendee')]" />
|
||||
<field name="fn">field</field>
|
||||
</record>
|
||||
|
||||
<record model="basic.calendar.fields" id="map_attendee_3">
|
||||
<field name="name" ref="base_calendar.field_attendee_language"/>
|
||||
<field name="type_id" ref="caldav.calendar_lines_attendee2" />
|
||||
<field name="field_id" search="[('name','=','language'),('model_id.model','=','calendar.attendee')]" />
|
||||
<field name="fn">field</field>
|
||||
</record>
|
||||
|
||||
<record model="basic.calendar.fields" id="map_attendee_4">
|
||||
<field name="name" ref="base_calendar.field_attendee_delegated-from"/>
|
||||
<field name="type_id" ref="caldav.calendar_lines_attendee2" />
|
||||
<field name="field_id" search="[('name','=','delegated_from'),('model_id.model','=','calendar.attendee')]" />
|
||||
<field name="fn">field</field>
|
||||
</record>
|
||||
|
||||
<record model="basic.calendar.fields" id="map_attendee_5">
|
||||
<field name="name" ref="base_calendar.field_attendee_member"/>
|
||||
<field name="type_id" ref="caldav.calendar_lines_attendee2" />
|
||||
<field name="field_id" search="[('name','=','member'),('model_id.model','=','calendar.attendee')]" />
|
||||
<field name="fn">field</field>
|
||||
</record>
|
||||
|
||||
<record model="basic.calendar.fields" id="map_attendee_6">
|
||||
<field name="name" ref="base_calendar.field_attendee_cutype"/>
|
||||
<field name="type_id" ref="caldav.calendar_lines_attendee2" />
|
||||
<field name="field_id" search="[('name','=','cutype'),('model_id.model','=','calendar.attendee')]" />
|
||||
<field name="fn">field</field>
|
||||
</record>
|
||||
|
||||
<record model="basic.calendar.fields" id="map_attendee_7">
|
||||
<field name="name" ref="base_calendar.field_attendee_role"/>
|
||||
<field name="type_id" ref="caldav.calendar_lines_attendee2" />
|
||||
<field name="field_id" search="[('name','=','role'),('model_id.model','=','calendar.attendee')]" />
|
||||
<field name="fn">field</field>
|
||||
</record>
|
||||
|
||||
<record model="basic.calendar.fields" id="map_attendee_8">
|
||||
<field name="name" ref="base_calendar.field_attendee_partstat"/>
|
||||
<field name="type_id" ref="caldav.calendar_lines_attendee2" />
|
||||
<field name="field_id" search="[('name','=','state'),('model_id.model','=','calendar.attendee')]" />
|
||||
<field name="fn">field</field>
|
||||
</record>
|
||||
|
||||
<record model="basic.calendar.fields" id="map_attendee_9">
|
||||
<field name="name" ref="base_calendar.field_attendee_delegated-to"/>
|
||||
<field name="type_id" ref="caldav.calendar_lines_attendee2" />
|
||||
<field name="field_id" search="[('name','=','delegated_to'),('model_id.model','=','calendar.attendee')]" />
|
||||
<field name="fn">field</field>
|
||||
</record>
|
||||
|
||||
<record model="basic.calendar.fields" id="map_attendee_10">
|
||||
<field name="name" ref="base_calendar.field_attendee_dir"/>
|
||||
<field name="type_id" ref="caldav.calendar_lines_attendee2" />
|
||||
<field name="field_id" search="[('name','=','dir'),('model_id.model','=','calendar.attendee')]" />
|
||||
<field name="fn">field</field>
|
||||
</record>
|
||||
|
||||
<record model="basic.calendar.fields" id="map_attendee_11">
|
||||
<field name="name" ref="base_calendar.field_attendee_rsvp"/>
|
||||
<field name="type_id" ref="caldav.calendar_lines_attendee2" />
|
||||
<field name="field_id" search="[('name','=','rsvp'),('model_id.model','=','calendar.attendee')]" />
|
||||
<field name="fn">field</field>
|
||||
</record>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
</data>
|
||||
</openerp>
|
||||
</openerp>
|
||||
|
|
|
@ -66,7 +66,7 @@
|
|||
<field name="inherit_id" ref="project.view_task_form2" />
|
||||
<field name="type">form</field>
|
||||
<field name="arch" type="xml">
|
||||
<field name="date_close" position="after">
|
||||
<field name="progress" position="after">
|
||||
<group colspan="2" col="3">
|
||||
<field name="rrule_type" string="Recurrency"
|
||||
on_change="onchange_rrule_type(rrule_type)" colspan="1" />
|
||||
|
|
|
@ -257,6 +257,8 @@ class survey_analysis(report_rml):
|
|||
sqc.question_id = sr.question_id and sra.answer_id = %d and sqc.title ='%s'\
|
||||
group by sra.answer_id,sqc.rating_weight" % (ans.id,matrix_ans[mat_col]))
|
||||
col_weight = cr.fetchone()
|
||||
if not col_weight :
|
||||
col_weight= (0,0)
|
||||
res_count = col_weight[0]
|
||||
if tot_res:
|
||||
rating_weight_sum += col_weight[1] * tot_res
|
||||
|
|
|
@ -268,7 +268,7 @@ class survey_browse_response(report_rml):
|
|||
</blockTable>"""
|
||||
elif que.type in ['matrix_of_choices_only_one_ans','matrix_of_choices_only_multi_ans','rating_scale','matrix_of_drop_down_menus']:
|
||||
if len(answer) and answer[0].state == "done":
|
||||
if que.comment_column:
|
||||
if que.type in ['matrix_of_choices_only_one_ans','rating_scale'] and que.comment_column:
|
||||
pass
|
||||
cols_widhts = []
|
||||
cols_widhts.append(200)
|
||||
|
@ -278,7 +278,7 @@ class survey_browse_response(report_rml):
|
|||
tmp=0.0
|
||||
sum = 0.0
|
||||
i = 0
|
||||
if que.comment_column:
|
||||
if que.type in ['matrix_of_choices_only_one_ans','rating_scale'] and que.comment_column:
|
||||
for col in cols_widhts:
|
||||
if i==0:
|
||||
cols_widhts[i] = cols_widhts[i]/2.0
|
||||
|
@ -292,7 +292,7 @@ class survey_browse_response(report_rml):
|
|||
if col.title not in matrix_ans:
|
||||
matrix_ans.append(col.title)
|
||||
len_matrix = len(matrix_ans)
|
||||
if que.comment_column:
|
||||
if que.type in ['matrix_of_choices_only_one_ans','rating_scale'] and que.comment_column:
|
||||
matrix_ans.append(que.column_name)
|
||||
rml+="""<blockTable colWidths=" """ + colWidths + """ " style="Table1"><tr>"""
|
||||
for mat_col in matrix_ans:
|
||||
|
@ -342,14 +342,14 @@ class survey_browse_response(report_rml):
|
|||
<rect x="0.1cm" y="-0.45cm" width="0.5 cm" height="0.5cm" fill="yes" stroke="yes" round="0.1cm"/>
|
||||
</illustration>"""
|
||||
rml+= """<td>""" + value + """</td>"""
|
||||
if que.comment_column:
|
||||
if que.type in ['matrix_of_choices_only_one_ans','rating_scale'] and que.comment_column:
|
||||
if comment_value=='False':
|
||||
comment_value = ''
|
||||
rml+= """<td><para style="response">"""+ to_xml(tools.ustr(comment_value)) + """</para></td>"""
|
||||
rml+=""" </tr></blockTable>"""
|
||||
if que.comment_field_type:
|
||||
if que.is_comment_require:
|
||||
rml+="""<blockTable colWidths="500" style="Table1"><tr>
|
||||
<td><para style="answer">""" + to_xml(tools.ustr(answer[0].comment)) + """</para></td></tr></blockTable>"""
|
||||
<td><para style="answer">""" + to_xml(tools.ustr(answer[0].comment or '')) + """</para></td></tr></blockTable>"""
|
||||
else:
|
||||
rml +="""<blockTable colWidths="500" style="Table1">
|
||||
<tr> <td> <para style="response">No Response</para></td> </tr>
|
||||
|
|
|
@ -331,9 +331,9 @@ class survey_question(osv.osv):
|
|||
raise osv.except_osv(_('Error !'),_("Maximum Required Answer is greater than Minimum Required Answer"))
|
||||
if question['type'] == 'matrix_of_drop_down_menus' and vals.has_key('column_heading_ids'):
|
||||
for col in vals['column_heading_ids']:
|
||||
if col[2].has_key('menu_choice') and not col[2]['menu_choice']:
|
||||
if col[2] and col[2].has_key('menu_choice') and not col[2]['menu_choice']:
|
||||
raise osv.except_osv(_('Error !'),_("You must enter one or more menu choices in column heading"))
|
||||
elif col[2].has_key('menu_choice') and col[2]['menu_choice'].strip() == '':
|
||||
elif col[2] and col[2].has_key('menu_choice') and col[2]['menu_choice'].strip() == '':
|
||||
raise osv.except_osv(_('Error !'),_("You must enter one or more menu choices in column heading (white spaces not allowed)"))
|
||||
return super(survey_question, self).write(cr, uid, ids, vals, context=context)
|
||||
|
||||
|
@ -740,24 +740,28 @@ class survey_question_wiz(osv.osv_memory):
|
|||
fields[tools.ustr(que) + "_commentcolumn_"+tools.ustr(row['id']) + "_field"] = {'type':'char', 'size' : 255, 'string':tools.ustr(que_rec['column_name']), 'views':{}}
|
||||
etree.SubElement(xml_group, 'field', {'name': tools.ustr(que) + "_commentcolumn_"+tools.ustr(row['id'])+ "_field"})
|
||||
elif que_rec['type'] == 'matrix_of_choices_only_multi_ans':
|
||||
xml_group = etree.SubElement(xml_group, 'group', {'col': '2', 'colspan': '2'})
|
||||
xml_group = etree.SubElement(xml_group, 'group', {'col': str(len(que_rec['column_heading_ids']) + 1), 'colspan': '4'})
|
||||
etree.SubElement(xml_group, 'separator', {'string': '.','colspan': '1'})
|
||||
for col in que_col_head.read(cr, uid, que_rec['column_heading_ids']):
|
||||
etree.SubElement(xml_group, 'separator', {'string': tools.ustr(col['title']),'colspan': '1'})
|
||||
for row in ans_ids:
|
||||
etree.SubElement(xml_group, 'label', {'string': to_xml(tools.ustr(row['answer'])) +' :-', 'align': '0.0'})
|
||||
etree.SubElement(xml_group, 'newline')
|
||||
for col in que_col_head.read(cr, uid, que_rec['column_heading_ids']):
|
||||
etree.SubElement(xml_group, 'field', {'name': tools.ustr(que) + "_" + tools.ustr(row['id']) + "_" + tools.ustr(col['title'])})
|
||||
etree.SubElement(xml_group, 'field', {'name': tools.ustr(que) + "_" + tools.ustr(row['id']) + "_" + tools.ustr(col['title']), 'nolabel':"1"})
|
||||
fields[tools.ustr(que) + "_" + tools.ustr(row['id']) + "_" + tools.ustr(col['title'])] = {'type':'boolean', 'string': col['title']}
|
||||
elif que_rec['type'] == 'matrix_of_drop_down_menus':
|
||||
xml_group = etree.SubElement(xml_group, 'group', {'col': '2', 'colspan': '2'})
|
||||
xml_group = etree.SubElement(xml_group, 'group', {'col': str(len(que_rec['column_heading_ids']) + 1), 'colspan': '4'})
|
||||
etree.SubElement(xml_group, 'separator', {'string': '.','colspan': '1'})
|
||||
for col in que_col_head.read(cr, uid, que_rec['column_heading_ids']):
|
||||
etree.SubElement(xml_group, 'separator', {'string': tools.ustr(col['title']),'colspan': '1'})
|
||||
for row in ans_ids:
|
||||
etree.SubElement(xml_group, 'label', {'string': to_xml(tools.ustr(row['answer']))+' :-', 'align': '0.0'})
|
||||
etree.SubElement(xml_group, 'newline')
|
||||
for col in que_col_head.read(cr, uid, que_rec['column_heading_ids']):
|
||||
selection = []
|
||||
if col['menu_choice']:
|
||||
for item in col['menu_choice'].split('\n'):
|
||||
if item and not item.strip() == '': selection.append((item ,item))
|
||||
etree.SubElement(xml_group, 'field', {'name': tools.ustr(que) + "_" + tools.ustr(row['id']) + "_" + tools.ustr(col['title'])})
|
||||
etree.SubElement(xml_group, 'field', {'name': tools.ustr(que) + "_" + tools.ustr(row['id']) + "_" + tools.ustr(col['title']),'nolabel':'1'})
|
||||
fields[tools.ustr(que) + "_" + tools.ustr(row['id']) + "_" + tools.ustr(col['title'])] = {'type':'selection', 'string': col['title'], 'selection':selection}
|
||||
elif que_rec['type'] == 'multiple_textboxes':
|
||||
xml_group = etree.SubElement(xml_group, 'group', {'col': '1', 'colspan': '4'})
|
||||
|
@ -1238,7 +1242,7 @@ class survey_question_wiz(osv.osv_memory):
|
|||
numeric_sum += int(val)
|
||||
elif val and len(key.split('_')) == 3:
|
||||
resp_obj.write(cr, uid, update, {'state': 'done'})
|
||||
if type(val) == type(''):
|
||||
if type(val) == type('') or type(val) == type(u''):
|
||||
ans_create_id = res_ans_obj.create(cr, uid, {'response_id':update, 'answer_id':ans_id_len[1], 'answer' : ans_id_len[2], 'value_choice' : val})
|
||||
sur_name_read['store_ans'][update].update({key:val})
|
||||
else:
|
||||
|
|
|
@ -30,7 +30,7 @@
|
|||
<button name="%(action_view_survey_name)d" states="open,draft,close,cancel"
|
||||
string="Answer Survey" type="action" icon="gtk-execute" context="{'survey_id': active_id}" attrs="{'readonly':[('state','!=','open')]}"/>
|
||||
<button name="%(action_view_survey_name)d" states="open,draft,close,cancel"
|
||||
string="Edit Survey" type="action" icon="gtk-edit" context="{'active':True,'edit' : True,'survey_id': active_id}" attrs="{'readonly':[('state','!=','draft')]}"/>
|
||||
string="Edit Survey" type="action" icon="gtk-edit" context="{'active':True,'edit' : True,'survey_id': active_id}"/>
|
||||
</group>
|
||||
<notebook colspan="4">
|
||||
<page string="Survey">
|
||||
|
@ -93,15 +93,16 @@
|
|||
<field name="comment_valid_err_msg" nolabel="1" colspan="4"/>
|
||||
</group>
|
||||
</group>
|
||||
<group attrs="{'invisible':[('type','!=','matrix_of_choices_only_multi_ans'),('type','!=','matrix_of_choices_only_one_ans'),('type','!=','matrix_of_drop_down_menus'),('type','!=','rating_scale')]}">
|
||||
<field name="comment_column"/>
|
||||
<group colspan="2" attrs="{'invisible':[('comment_column','!=',True)]}">
|
||||
<field name="column_name" colspan="2"/>
|
||||
</group>
|
||||
</group>
|
||||
</group>
|
||||
</group>
|
||||
<newline/>
|
||||
<group attrs="{'invisible':[('type','!=','matrix_of_choices_only_one_ans'),('type','!=','rating_scale')]}">
|
||||
<field name="comment_column"/>
|
||||
<group colspan="2" attrs="{'invisible':[('comment_column','!=',True)]}">
|
||||
<field name="column_name" colspan="2"/>
|
||||
</group>
|
||||
</group>
|
||||
<newline/>
|
||||
<group attrs="{'invisible':[('type','!=','single_textbox'), ('type','!=','multiple_textboxes')]}">
|
||||
<separator string="Validation" colspan="4"/>
|
||||
<group colspan="4">
|
||||
|
@ -351,15 +352,16 @@
|
|||
<field name="comment_valid_err_msg" nolabel="1" colspan="4"/>
|
||||
</group>
|
||||
</group>
|
||||
<group attrs="{'invisible':[('type','!=','matrix_of_choices_only_multi_ans'),('type','!=','matrix_of_choices_only_one_ans'),('type','!=','matrix_of_drop_down_menus'),('type','!=','rating_scale')]}">
|
||||
<field name="comment_column"/>
|
||||
<group colspan="2" attrs="{'invisible':[('comment_column','!=',True)]}">
|
||||
<field name="column_name" colspan="2"/>
|
||||
</group>
|
||||
</group>
|
||||
</group>
|
||||
</group>
|
||||
<newline/>
|
||||
<group attrs="{'invisible':[('type','!=','matrix_of_choices_only_one_ans'),('type','!=','rating_scale')]}">
|
||||
<field name="comment_column"/>
|
||||
<group colspan="2" attrs="{'invisible':[('comment_column','!=',True)]}">
|
||||
<field name="column_name" colspan="2"/>
|
||||
</group>
|
||||
</group>
|
||||
<newline/>
|
||||
<group attrs="{'invisible':[('type','!=','single_textbox'), ('type','!=','multiple_textboxes')]}">
|
||||
<separator string="Validation" colspan="4"/>
|
||||
<group colspan="4">
|
||||
|
@ -544,15 +546,16 @@
|
|||
<field name="comment_valid_err_msg" nolabel="1" colspan="4"/>
|
||||
</group>
|
||||
</group>
|
||||
<group attrs="{'invisible':[('type','!=','matrix_of_choices_only_multi_ans'),('type','!=','matrix_of_choices_only_one_ans'),('type','!=','matrix_of_drop_down_menus'),('type','!=','rating_scale')]}">
|
||||
<field name="comment_column"/>
|
||||
<group colspan="2" attrs="{'invisible':[('comment_column','!=',True)]}">
|
||||
<field name="column_name" colspan="2"/>
|
||||
</group>
|
||||
</group>
|
||||
</group>
|
||||
</group>
|
||||
<newline/>
|
||||
<group attrs="{'invisible':[('type','!=','matrix_of_choices_only_one_ans'),('type','!=','rating_scale')]}">
|
||||
<field name="comment_column"/>
|
||||
<group colspan="2" attrs="{'invisible':[('comment_column','!=',True)]}">
|
||||
<field name="column_name" colspan="2"/>
|
||||
</group>
|
||||
</group>
|
||||
<newline/>
|
||||
<group attrs="{'invisible':[('type','!=','single_textbox'), ('type','!=','multiple_textboxes')]}">
|
||||
<separator string="Validation" colspan="4"/>
|
||||
<group colspan="4">
|
||||
|
|
Loading…
Reference in New Issue