[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 osv import osv, fields
|
||||||
from tools.translate import _
|
from tools.translate import _
|
||||||
import base64
|
import base64
|
||||||
|
import math
|
||||||
import pooler
|
import pooler
|
||||||
|
import pytz
|
||||||
import re
|
import re
|
||||||
import tools
|
import tools
|
||||||
import vobject
|
import vobject
|
||||||
|
@ -200,6 +202,7 @@ class CalDAV(object):
|
||||||
if not datas:
|
if not datas:
|
||||||
return
|
return
|
||||||
for data in datas:
|
for data in datas:
|
||||||
|
tzval = None
|
||||||
vevent = ical.add(name)
|
vevent = ical.add(name)
|
||||||
for field in self.__attribute__.keys():
|
for field in self.__attribute__.keys():
|
||||||
map_field = self.ical_get(field, 'field')
|
map_field = self.ical_get(field, 'field')
|
||||||
|
@ -237,6 +240,11 @@ class CalDAV(object):
|
||||||
alarm_obj = self.pool.get('basic.calendar.alarm')
|
alarm_obj = self.pool.get('basic.calendar.alarm')
|
||||||
vevent = alarm_obj.export_cal(cr, uid, model, \
|
vevent = alarm_obj.export_cal(cr, uid, model, \
|
||||||
data[map_field][0], vevent, context=ctx)
|
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]:
|
elif data[map_field]:
|
||||||
if map_type in ("char", "text"):
|
if map_type in ("char", "text"):
|
||||||
vevent.add(field).value = tools.ustr(data[map_field])
|
vevent.add(field).value = tools.ustr(data[map_field])
|
||||||
|
@ -244,7 +252,10 @@ class CalDAV(object):
|
||||||
if field in ('exdate'):
|
if field in ('exdate'):
|
||||||
vevent.add(field).value = [parser.parse(data[map_field])]
|
vevent.add(field).value = [parser.parse(data[map_field])]
|
||||||
else:
|
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":
|
elif map_type == "timedelta":
|
||||||
vevent.add(field).value = timedelta(hours=data[map_field])
|
vevent.add(field).value = timedelta(hours=data[map_field])
|
||||||
elif map_type == "many2one":
|
elif map_type == "many2one":
|
||||||
|
@ -296,11 +307,14 @@ class CalDAV(object):
|
||||||
ical_data = base64.decodestring(content)
|
ical_data = base64.decodestring(content)
|
||||||
self.__attribute__ = get_attribute_mapping(cr, uid, self._calname, context)
|
self.__attribute__ = get_attribute_mapping(cr, uid, self._calname, context)
|
||||||
parsedCal = vobject.readOne(ical_data)
|
parsedCal = vobject.readOne(ical_data)
|
||||||
att_data = []
|
|
||||||
res = []
|
res = []
|
||||||
|
vals = {}
|
||||||
for child in parsedCal.getChildren():
|
for child in parsedCal.getChildren():
|
||||||
if child.name.lower() in ('vevent', 'vtodo'):
|
if child.name.lower() in ('vevent', 'vtodo'):
|
||||||
vals = self.parse_ics(cr, uid, child, context=context)
|
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:
|
else:
|
||||||
vals = {}
|
vals = {}
|
||||||
continue
|
continue
|
||||||
|
@ -588,15 +602,51 @@ class FreeBusy(CalDAV):
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
class Timezone(CalDAV):
|
class Timezone(CalDAV, osv.osv_memory):
|
||||||
|
_name = 'basic.calendar.timezone'
|
||||||
|
_calname = 'vtimezone'
|
||||||
|
|
||||||
__attribute__ = {
|
__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.
|
'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.
|
'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,
|
'standardc': {'tzprop': None}, # Use: R-1,
|
||||||
'daylightc': {'tzprop': None}, # Use: R-1,
|
'daylightc': {'tzprop': None}, # Use: R-1,
|
||||||
'x-prop': None, # Use: O-n, Type: Text,
|
'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):
|
class Alarm(CalDAV, osv.osv_memory):
|
||||||
|
|
|
@ -1,10 +1,7 @@
|
||||||
<?xml version="1.0"?>
|
<?xml version="1.0"?>
|
||||||
<openerp>
|
<openerp>
|
||||||
<data noupdate="1">
|
<data noupdate="1">
|
||||||
|
|
||||||
<record model="basic.calendar" id="basic_calendar1">
|
|
||||||
<field name="name">OpenERP</field>
|
|
||||||
</record>
|
|
||||||
|
|
||||||
<!-- Event attributes-->
|
<!-- Event attributes-->
|
||||||
|
|
||||||
|
|
|
@ -19,15 +19,16 @@
|
||||||
#
|
#
|
||||||
##############################################################################
|
##############################################################################
|
||||||
|
|
||||||
|
from base_calendar import base_calendar
|
||||||
from datetime import datetime, timedelta
|
from datetime import datetime, timedelta
|
||||||
from datetime import datetime, timedelta
|
from datetime import datetime, timedelta
|
||||||
from dateutil import parser
|
from dateutil import parser
|
||||||
from osv import fields, osv
|
from osv import fields, osv
|
||||||
from base_calendar import base_calendar
|
|
||||||
from service import web_services
|
from service import web_services
|
||||||
from tools.translate import _
|
from tools.translate import _
|
||||||
import base64
|
import base64
|
||||||
import pooler
|
import pooler
|
||||||
|
import pytz
|
||||||
import re
|
import re
|
||||||
import time
|
import time
|
||||||
|
|
||||||
|
@ -423,6 +424,9 @@ class calendar_event(osv.osv):
|
||||||
_name = "calendar.event"
|
_name = "calendar.event"
|
||||||
_description = "Calendar Event"
|
_description = "Calendar Event"
|
||||||
__attribute__ = {}
|
__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):
|
def onchange_rrule_type(self, cr, uid, ids, rtype, *args, **argv):
|
||||||
if rtype == 'none' or not rtype:
|
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'),
|
'caldav_alarm_id': fields.many2one('calendar.alarm', 'Alarm'),
|
||||||
'recurrent_uid': fields.integer('Recurrent ID'),
|
'recurrent_uid': fields.integer('Recurrent ID'),
|
||||||
'recurrent_id': fields.datetime('Recurrent ID date'),
|
'recurrent_id': fields.datetime('Recurrent ID date'),
|
||||||
}
|
'vtimezone': fields.selection(_tz_get, 'Timezone', size=64),
|
||||||
|
'user_id': fields.many2one('res.users', 'Responsible'),
|
||||||
|
}
|
||||||
|
|
||||||
_defaults = {
|
_defaults = {
|
||||||
'class': lambda *a: 'public',
|
'class': lambda *a: 'public',
|
||||||
|
|
|
@ -129,381 +129,5 @@
|
||||||
<field eval="'do_run_scheduler'" name="function" />
|
<field eval="'do_run_scheduler'" name="function" />
|
||||||
<field eval="'(False,)'" name="args" />
|
<field eval="'(False,)'" name="args" />
|
||||||
</record>
|
</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>
|
</data>
|
||||||
</openerp>
|
</openerp>
|
||||||
|
|
|
@ -580,7 +580,7 @@ class crm_case(osv.osv):
|
||||||
|
|
||||||
|
|
||||||
def __history(self, cr, uid, cases, keyword, history=False, email=False, details=None, context={}):
|
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:
|
for case in cases:
|
||||||
model_ids = model_obj.search(cr, uid, [('model','=',case._name)])
|
model_ids = model_obj.search(cr, uid, [('model','=',case._name)])
|
||||||
data = {
|
data = {
|
||||||
|
@ -820,14 +820,7 @@ class crm_case_history(osv.osv):
|
||||||
_name = "crm.case.history"
|
_name = "crm.case.history"
|
||||||
_description = "Case history"
|
_description = "Case history"
|
||||||
_order = "id desc"
|
_order = "id desc"
|
||||||
_inherits = {'crm.case.log':"log_id"}
|
_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)
|
|
||||||
|
|
||||||
def _note_get(self, cursor, user, ids, name, arg, context=None):
|
def _note_get(self, cursor, user, ids, name, arg, context=None):
|
||||||
res = {}
|
res = {}
|
||||||
|
|
|
@ -49,9 +49,9 @@ class crm_cases(osv.osv):
|
||||||
res = mailgate_obj.partner_get(cr, uid, msg['From'])
|
res = mailgate_obj.partner_get(cr, uid, msg['From'])
|
||||||
if res:
|
if res:
|
||||||
data.update(res)
|
data.update(res)
|
||||||
res = self.create(cr, uid, data)
|
res = self.create(cr, uid, data)
|
||||||
cases = self.browse(cr, uid, [res])
|
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
|
return res
|
||||||
|
|
||||||
def msg_update(self, cr, uid, ids, msg, data={}, default_act='pending'):
|
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)
|
res = self.write(cr, uid, ids, data)
|
||||||
cases = self.browse(cr, uid, [res])
|
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)
|
getattr(self,act)(cr, uid, ids)
|
||||||
return res
|
return res
|
||||||
|
|
||||||
|
|
|
@ -25,33 +25,101 @@
|
||||||
<record model="res.request.link" id="request_link_meeting">
|
<record model="res.request.link" id="request_link_meeting">
|
||||||
<field name="name">Case Meeting</field>
|
<field name="name">Case Meeting</field>
|
||||||
<field name="object">crm.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="name">vevent</field>
|
||||||
<field name="calendar_id" ref="base_calendar.basic_calendar1" />
|
<field name="calendar_id" ref="base_calendar.basic_calendar1" />
|
||||||
<field name="object_id" search="[('model','=','crm.meeting')]" />
|
<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>
|
||||||
|
|
||||||
|
<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="name" ref="base_calendar.field_event_attendee" />
|
||||||
<field name="type_id" ref="caldav.calendar_lines_event" />
|
<field name="type_id" ref="caldav.calendar_lines_event" />
|
||||||
<field name="field_id" search="[('name','=','attendee_ids'),('model_id.model','=','crm.meeting')]" />
|
<field name="field_id" search="[('name','=','attendee_ids'),('model_id.model','=','crm.meeting')]" />
|
||||||
<field name="fn">field</field>
|
<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="name" ref="base_calendar.field_event_priority"/>
|
||||||
<field name="type_id" ref="caldav.calendar_lines_event" />
|
<field name="type_id" ref="caldav.calendar_lines_event" />
|
||||||
<field name="field_id" search="[('name','=','priority'),('model_id.model','=','crm.meeting')]" />
|
<field name="field_id" search="[('name','=','priority'),('model_id.model','=','crm.meeting')]" />
|
||||||
<field name="fn">field</field>
|
<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="name" ref="base_calendar.field_event_status"/>
|
||||||
<field name="type_id" ref="caldav.calendar_lines_event" />
|
<field name="type_id" ref="caldav.calendar_lines_event" />
|
||||||
<field name="field_id" search="[('name','=','state'),('model_id.model','=','crm.meeting')]" />
|
<field name="field_id" search="[('name','=','state'),('model_id.model','=','crm.meeting')]" />
|
||||||
|
@ -59,5 +127,220 @@
|
||||||
<field name="fn">field</field>
|
<field name="fn">field</field>
|
||||||
</record>
|
</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>
|
</data>
|
||||||
</openerp>
|
</openerp>
|
||||||
|
|
|
@ -91,6 +91,7 @@
|
||||||
<field name="alarm_id" string="Reminder" widget="selection" />
|
<field name="alarm_id" string="Reminder" widget="selection" />
|
||||||
<field name="class"/>
|
<field name="class"/>
|
||||||
<field name="user_id"/>
|
<field name="user_id"/>
|
||||||
|
<field name="vtimezone"/>
|
||||||
<field name="recurrent_id" invisible="1" />
|
<field name="recurrent_id" invisible="1" />
|
||||||
<field name="recurrent_uid" invisible="1" />
|
<field name="recurrent_uid" invisible="1" />
|
||||||
<field name="rrule" invisible="1" />
|
<field name="rrule" invisible="1" />
|
||||||
|
|
|
@ -1,13 +1,17 @@
|
||||||
<?xml version="1.0"?>
|
<?xml version="1.0"?>
|
||||||
<openerp>
|
<openerp>
|
||||||
<data noupdate="1">
|
<data noupdate="1">
|
||||||
|
<record model="basic.calendar" id="base_calendar.basic_calendar2">
|
||||||
<record model="basic.calendar.lines" id="caldav.calendar_lines_todo">
|
<field name="name">meeting_todo</field>
|
||||||
<field name="name">vtodo</field>
|
|
||||||
<field name="calendar_id" ref="base_calendar.basic_calendar1" />
|
|
||||||
<field name="object_id" search="[('model','=','project.task')]" />
|
|
||||||
</record>
|
</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">
|
<record model="basic.calendar.fields" id="map_todo_1">
|
||||||
<field name="name" ref="base_calendar.field_todo_status" />
|
<field name="name" ref="base_calendar.field_todo_status" />
|
||||||
<field name="type_id" ref="caldav.calendar_lines_todo" />
|
<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="mapping">{'needs-action': 'draft', 'completed': 'done', 'in-process': 'open', 'cancelled': 'cancelled'}</field>
|
||||||
<field name="fn">field</field>
|
<field name="fn">field</field>
|
||||||
</record>
|
</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="name" ref="base_calendar.field_todo_attendee" />
|
||||||
<field name="type_id" ref="caldav.calendar_lines_todo" />
|
<field name="type_id" ref="caldav.calendar_lines_todo" />
|
||||||
<field name="field_id" search="[('name','=','attendee_ids'),('model_id.model','=','project.task')]" />
|
<field name="field_id" search="[('name','=','attendee_ids'),('model_id.model','=','project.task')]" />
|
||||||
<field name="fn">field</field>
|
<field name="fn">field</field>
|
||||||
</record>
|
</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="name" ref="base_calendar.field_todo_percent"/>
|
||||||
<field name="type_id" ref="caldav.calendar_lines_todo" />
|
<field name="type_id" ref="caldav.calendar_lines_todo" />
|
||||||
<field name="field_id" search="[('name','=','progress'),('model_id.model','=','project.task')]" />
|
<field name="field_id" search="[('name','=','progress'),('model_id.model','=','project.task')]" />
|
||||||
<field name="fn">field</field>
|
<field name="fn">field</field>
|
||||||
</record>
|
</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="name" ref="base_calendar.field_event_priority"/>
|
||||||
<field name="type_id" ref="caldav.calendar_lines_todo" />
|
<field name="type_id" ref="caldav.calendar_lines_todo" />
|
||||||
<field name="field_id" search="[('name','=','priority'),('model_id.model','=','project.task')]" />
|
<field name="field_id" search="[('name','=','priority'),('model_id.model','=','project.task')]" />
|
||||||
<field name="fn">field</field>
|
<field name="fn">field</field>
|
||||||
</record>
|
</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="name" ref="base_calendar.field_todo_duration"/>
|
||||||
<field name="type_id" ref="caldav.calendar_lines_todo" />
|
<field name="type_id" ref="caldav.calendar_lines_todo" />
|
||||||
<field name="field_id" search="[('name','=','planned_hours'),('model_id.model','=','project.task')]" />
|
<field name="field_id" search="[('name','=','planned_hours'),('model_id.model','=','project.task')]" />
|
||||||
<field name="fn">hours</field>
|
<field name="fn">hours</field>
|
||||||
</record>
|
</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>
|
</data>
|
||||||
</openerp>
|
</openerp>
|
||||||
|
|
|
@ -66,7 +66,7 @@
|
||||||
<field name="inherit_id" ref="project.view_task_form2" />
|
<field name="inherit_id" ref="project.view_task_form2" />
|
||||||
<field name="type">form</field>
|
<field name="type">form</field>
|
||||||
<field name="arch" type="xml">
|
<field name="arch" type="xml">
|
||||||
<field name="date_close" position="after">
|
<field name="progress" position="after">
|
||||||
<group colspan="2" col="3">
|
<group colspan="2" col="3">
|
||||||
<field name="rrule_type" string="Recurrency"
|
<field name="rrule_type" string="Recurrency"
|
||||||
on_change="onchange_rrule_type(rrule_type)" colspan="1" />
|
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'\
|
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]))
|
group by sra.answer_id,sqc.rating_weight" % (ans.id,matrix_ans[mat_col]))
|
||||||
col_weight = cr.fetchone()
|
col_weight = cr.fetchone()
|
||||||
|
if not col_weight :
|
||||||
|
col_weight= (0,0)
|
||||||
res_count = col_weight[0]
|
res_count = col_weight[0]
|
||||||
if tot_res:
|
if tot_res:
|
||||||
rating_weight_sum += col_weight[1] * tot_res
|
rating_weight_sum += col_weight[1] * tot_res
|
||||||
|
|
|
@ -268,7 +268,7 @@ class survey_browse_response(report_rml):
|
||||||
</blockTable>"""
|
</blockTable>"""
|
||||||
elif que.type in ['matrix_of_choices_only_one_ans','matrix_of_choices_only_multi_ans','rating_scale','matrix_of_drop_down_menus']:
|
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 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
|
pass
|
||||||
cols_widhts = []
|
cols_widhts = []
|
||||||
cols_widhts.append(200)
|
cols_widhts.append(200)
|
||||||
|
@ -278,7 +278,7 @@ class survey_browse_response(report_rml):
|
||||||
tmp=0.0
|
tmp=0.0
|
||||||
sum = 0.0
|
sum = 0.0
|
||||||
i = 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:
|
for col in cols_widhts:
|
||||||
if i==0:
|
if i==0:
|
||||||
cols_widhts[i] = cols_widhts[i]/2.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:
|
if col.title not in matrix_ans:
|
||||||
matrix_ans.append(col.title)
|
matrix_ans.append(col.title)
|
||||||
len_matrix = len(matrix_ans)
|
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)
|
matrix_ans.append(que.column_name)
|
||||||
rml+="""<blockTable colWidths=" """ + colWidths + """ " style="Table1"><tr>"""
|
rml+="""<blockTable colWidths=" """ + colWidths + """ " style="Table1"><tr>"""
|
||||||
for mat_col in matrix_ans:
|
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"/>
|
<rect x="0.1cm" y="-0.45cm" width="0.5 cm" height="0.5cm" fill="yes" stroke="yes" round="0.1cm"/>
|
||||||
</illustration>"""
|
</illustration>"""
|
||||||
rml+= """<td>""" + value + """</td>"""
|
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':
|
if comment_value=='False':
|
||||||
comment_value = ''
|
comment_value = ''
|
||||||
rml+= """<td><para style="response">"""+ to_xml(tools.ustr(comment_value)) + """</para></td>"""
|
rml+= """<td><para style="response">"""+ to_xml(tools.ustr(comment_value)) + """</para></td>"""
|
||||||
rml+=""" </tr></blockTable>"""
|
rml+=""" </tr></blockTable>"""
|
||||||
if que.comment_field_type:
|
if que.is_comment_require:
|
||||||
rml+="""<blockTable colWidths="500" style="Table1"><tr>
|
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:
|
else:
|
||||||
rml +="""<blockTable colWidths="500" style="Table1">
|
rml +="""<blockTable colWidths="500" style="Table1">
|
||||||
<tr> <td> <para style="response">No Response</para></td> </tr>
|
<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"))
|
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'):
|
if question['type'] == 'matrix_of_drop_down_menus' and vals.has_key('column_heading_ids'):
|
||||||
for col in vals['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"))
|
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)"))
|
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)
|
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':{}}
|
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"})
|
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':
|
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:
|
for row in ans_ids:
|
||||||
etree.SubElement(xml_group, 'label', {'string': to_xml(tools.ustr(row['answer'])) +' :-', 'align': '0.0'})
|
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']):
|
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']}
|
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':
|
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:
|
for row in ans_ids:
|
||||||
etree.SubElement(xml_group, 'label', {'string': to_xml(tools.ustr(row['answer']))+' :-', 'align': '0.0'})
|
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']):
|
for col in que_col_head.read(cr, uid, que_rec['column_heading_ids']):
|
||||||
selection = []
|
selection = []
|
||||||
if col['menu_choice']:
|
if col['menu_choice']:
|
||||||
for item in col['menu_choice'].split('\n'):
|
for item in col['menu_choice'].split('\n'):
|
||||||
if item and not item.strip() == '': selection.append((item ,item))
|
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}
|
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':
|
elif que_rec['type'] == 'multiple_textboxes':
|
||||||
xml_group = etree.SubElement(xml_group, 'group', {'col': '1', 'colspan': '4'})
|
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)
|
numeric_sum += int(val)
|
||||||
elif val and len(key.split('_')) == 3:
|
elif val and len(key.split('_')) == 3:
|
||||||
resp_obj.write(cr, uid, update, {'state': 'done'})
|
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})
|
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})
|
sur_name_read['store_ans'][update].update({key:val})
|
||||||
else:
|
else:
|
||||||
|
|
|
@ -30,7 +30,7 @@
|
||||||
<button name="%(action_view_survey_name)d" states="open,draft,close,cancel"
|
<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')]}"/>
|
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"
|
<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>
|
</group>
|
||||||
<notebook colspan="4">
|
<notebook colspan="4">
|
||||||
<page string="Survey">
|
<page string="Survey">
|
||||||
|
@ -93,15 +93,16 @@
|
||||||
<field name="comment_valid_err_msg" nolabel="1" colspan="4"/>
|
<field name="comment_valid_err_msg" nolabel="1" colspan="4"/>
|
||||||
</group>
|
</group>
|
||||||
</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>
|
||||||
</group>
|
</group>
|
||||||
<newline/>
|
<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')]}">
|
<group attrs="{'invisible':[('type','!=','single_textbox'), ('type','!=','multiple_textboxes')]}">
|
||||||
<separator string="Validation" colspan="4"/>
|
<separator string="Validation" colspan="4"/>
|
||||||
<group colspan="4">
|
<group colspan="4">
|
||||||
|
@ -351,15 +352,16 @@
|
||||||
<field name="comment_valid_err_msg" nolabel="1" colspan="4"/>
|
<field name="comment_valid_err_msg" nolabel="1" colspan="4"/>
|
||||||
</group>
|
</group>
|
||||||
</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>
|
||||||
</group>
|
</group>
|
||||||
<newline/>
|
<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')]}">
|
<group attrs="{'invisible':[('type','!=','single_textbox'), ('type','!=','multiple_textboxes')]}">
|
||||||
<separator string="Validation" colspan="4"/>
|
<separator string="Validation" colspan="4"/>
|
||||||
<group colspan="4">
|
<group colspan="4">
|
||||||
|
@ -544,15 +546,16 @@
|
||||||
<field name="comment_valid_err_msg" nolabel="1" colspan="4"/>
|
<field name="comment_valid_err_msg" nolabel="1" colspan="4"/>
|
||||||
</group>
|
</group>
|
||||||
</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>
|
||||||
</group>
|
</group>
|
||||||
<newline/>
|
<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')]}">
|
<group attrs="{'invisible':[('type','!=','single_textbox'), ('type','!=','multiple_textboxes')]}">
|
||||||
<separator string="Validation" colspan="4"/>
|
<separator string="Validation" colspan="4"/>
|
||||||
<group colspan="4">
|
<group colspan="4">
|
||||||
|
|
Loading…
Reference in New Issue