WebDAV, CalDAV: setup data for folders, calendars, properties

bzr revid: p_christ@hol.gr-20101012104121-e5k6f4vg8rnktiqh
This commit is contained in:
P. Christeas 2010-10-12 13:41:21 +03:00
parent 0bdc45e068
commit 849548ccf1
10 changed files with 803 additions and 28 deletions

View File

@ -21,12 +21,12 @@
{
"name" : "Share Calendar using Caldav",
"version" : "1.0",
"name" : "Share Calendar using CalDAV",
"version" : "1.1",
"depends" : [
"base",
"document_webdav",
],
],
'description': """
This module Contains basic functionality for caldav system like:
- Webdav server that provides remote access to calendar
@ -34,7 +34,10 @@
- Customize calendar event and todo attribute with any of OpenERP model
- Provides iCal Import/Export functionality
To access OpenERP Calendar using caldav to remote site use the URL like:
To access Calendars using CalDAV clients, point them to:
http://HOSTNAME:PORT/webdav/DATABASE_NAME/calendars/users/USERNAME/c
To access OpenERP Calendar using WebCal to remote site use the URL like:
http://HOSTNAME:PORT/webdav/DATABASE_NAME/Calendars/CALENDAR_NAME.ics
Where,
@ -53,7 +56,8 @@
'wizard/calendar_event_export_view.xml',
'wizard/calendar_event_import_view.xml',
'wizard/calendar_event_subscribe_view.xml',
'caldav_view.xml'
'caldav_view.xml',
'caldav_setup.xml'
],
"installable" : True,
"active" : False,

View File

@ -0,0 +1,88 @@
<?xml version="1.0"?>
<openerp>
<data>
<!-- /calendars tree -->
<record id="document_directory_calendars0" model="document.directory">
<field name="domain">[]</field>
<field eval="1" name="resource_find_all"/>
<field eval="0" name="ressource_tree"/>
<field name="user_id" ref="base.user_root"/>
<field name="company_id" ref="base.main_company"/>
<field name="storage_id" ref="document.storage_default"/>
<field name="type">directory</field>
<field eval="[(6,0,[])]" name="group_ids"/>
<field name="name">calendars</field>
</record>
<record id="document_directory_resources1" model="document.directory">
<field name="domain">[]</field>
<field eval="1" name="resource_find_all"/>
<field eval="0" name="ressource_tree"/>
<field name="company_id" ref="base.main_company"/>
<field model="document.directory" name="parent_id" ref="document_directory_calendars0"/>
<field name="type">directory</field>
<field eval="[(6,0,[])]" name="group_ids"/>
<field name="name">resources</field>
</record>
<record id="document_directory_uids0" model="document.directory">
<field name="domain">[]</field>
<field eval="1" name="resource_find_all"/>
<field eval="0" name="ressource_tree"/>
<field name="user_id" ref="base.user_root"/>
<field name="company_id" ref="base.main_company"/>
<field model="document.directory" name="parent_id" ref="document_directory_calendars0"/>
<field name="type">ressource</field>
<field name="ressource_type_id" ref="base.model_res_users"/>
<field eval="[(6,0,[ref('base.group_system')])]" name="group_ids"/>
<field name="name">__uids__</field>
</record>
<record id="document_directory_users0" model="document.directory">
<field name="domain">[]</field>
<field eval="1" name="resource_find_all"/>
<field eval="0" name="ressource_tree"/>
<field name="resource_field" ref="base.field_res_users_login"/>
<field name="company_id" ref="base.main_company"/>
<field model="document.directory" name="parent_id" ref="document_directory_calendars0"/>
<field name="storage_id" ref="document.storage_default"/>
<field name="type">ressource</field>
<field name="ressource_type_id" ref="base.model_res_users"/>
<field eval="[(6,0,[])]" name="group_ids"/>
<field name="name">users</field>
</record>
<record id="document_directory_dctx_0" model="document.directory.dctx">
<field model="document.directory" name="dir_id" ref="document_directory_users0"/>
<field name="field">user_id</field>
<field name="expr">res_id</field>
</record>
<record id="document_directory_c0" model="document.directory">
<field name="domain">[]</field>
<field eval="1" name="resource_find_all"/>
<field name="user_id" ref="base.user_root"/>
<field name="company_id" ref="base.main_company"/>
<field model="document.directory" name="parent_id" ref="document_directory_users0"/>
<field name="storage_id" ref="document.storage_default"/>
<field name="type">directory</field>
<field eval="[(6,0,[])]" name="group_ids"/>
<field name="name">c</field>
<field eval="1" name="calendar_collection"/>
</record>
<record id="document_directory_groups1" model="document.directory">
<field name="domain">[]</field>
<field eval="1" name="resource_find_all"/>
<field eval="0" name="ressource_tree"/>
<field name="company_id" ref="base.main_company"/>
<field model="document.directory" name="parent_id" ref="document_directory_calendars0"/>
<field name="storage_id" ref="document.storage_default"/>
<field name="type">directory</field>
<field eval="[(6,0,[])]" name="group_ids"/>
<field name="name">groups</field>
</record>
<record id="document_webdav_dir_property_calendarhomeset0" model="document.webdav.dir.property">
<field model="document.directory" name="dir_id" ref="document_directory_calendars0"/>
<field name="namespace">urn:ietf:params:xml:ns:caldav</field>
<!-- no parent, it is a global property -->
<field name="name">calendar-home-set</field>
<field name="value">('href','DAV:','/%s/%s/calendars/users/%s/c' % ('webdav',dbname,username) )</field>
<field eval="1" name="do_subst"/>
</record>
</data>
</openerp>

View File

@ -22,24 +22,24 @@
{
'name': 'Extened Module to Add CalDav future on Meeting',
'version': '1.0',
'version': '1.1',
'category': 'Generic Modules/CRM & SRM',
'description': """
New Futures in Meeting:
* Share meeting with other calendar clients like sunbird
""",
'author': 'OpenERP SA',
'website': 'http://www.openerp.com',
'depends': ['caldav', 'crm'
],
'init_xml': [
'crm_caldav_data.xml',
],
New Futures in Meeting:
* Share meeting with other calendar clients like sunbird
""",
'author': 'OpenERP SA',
'website': 'http://www.openerp.com',
'depends': ['caldav', 'crm' ],
'init_xml': [
'crm_caldav_data.xml',
'crm_caldav_setup.xml',
],
'update_xml': [],
'demo_xml': [],
'installable': True,
'active': False,
'demo_xml': [],
'installable': True,
'active': False,
}
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:

View File

@ -0,0 +1,287 @@
<?xml version="1.0"?>
<openerp>
<data noupdate="1">
<record id="basic_calendar_meetings0" model="basic.calendar">
<field eval="1" name="has_webcal"/>
<field name="description">Meetings per user</field>
<field name="calendar_color">#1E25FF</field>
<field model="document.directory" name="collection_id" ref="caldav.document_directory_c0"/>
<field name="type">vevent</field>
<field name="name">Meetings</field>
</record>
<record id="basic_calendar_lines_attendee0" model="basic.calendar.lines">
<field name="calendar_id" ref="basic_calendar_meetings0"/>
<field name="domain">[]</field>
<field name="name">attendee</field>
<field name="object_id" ref="base_calendar.model_calendar_attendee"/>
</record>
<record id="basic_calendar_lines_valarm0" model="basic.calendar.lines">
<field name="calendar_id" ref="basic_calendar_meetings0"/>
<field name="domain">[]</field>
<field name="name">valarm</field>
<field name="object_id" ref="base_calendar.model_calendar_alarm"/>
</record>
<record id="basic_calendar_lines_vevent0" model="basic.calendar.lines">
<field name="calendar_id" ref="basic_calendar_meetings0"/>
<field name="domain">[('user_id','=', dctx_user_id)]</field>
<field name="name">vevent</field>
<field name="object_id" ref="crm.model_crm_meeting"/>
</record>
<record id="basic_calendar_fields_1" model="basic.calendar.fields">
<field name="name" ref="caldav.field_alarm_attendee"/>
<field name="type_id" ref="basic_calendar_lines_valarm0"/>
<field name="field_id" ref="base_calendar.field_calendar_alarm_attendee_ids"/>
<field name="fn">field</field>
</record>
<record id="basic_calendar_fields_2" model="basic.calendar.fields">
<field name="name" ref="caldav.field_alarm_trigger_duration"/>
<field name="type_id" ref="basic_calendar_lines_valarm0"/>
<field name="field_id" ref="base_calendar.field_res_alarm_trigger_duration"/>
<field name="fn">field</field>
</record>
<record id="basic_calendar_fields_3" model="basic.calendar.fields">
<field name="name" ref="caldav.field_alarm_description"/>
<field name="type_id" ref="basic_calendar_lines_valarm0"/>
<field name="field_id" ref="base_calendar.field_calendar_alarm_description"/>
<field name="fn">field</field>
</record>
<record id="basic_calendar_fields_4" model="basic.calendar.fields">
<field name="name" ref="caldav.field_alarm_attach"/>
<field name="type_id" ref="basic_calendar_lines_valarm0"/>
<field name="field_id" ref="base_calendar.field_calendar_alarm_attach"/>
<field name="fn">field</field>
</record>
<record id="basic_calendar_fields_5" model="basic.calendar.fields">
<field name="name" ref="caldav.field_alarm_trigger_occurs"/>
<field name="type_id" ref="basic_calendar_lines_valarm0"/>
<field name="field_id" ref="base_calendar.field_res_alarm_trigger_occurs"/>
<field name="fn">field</field>
</record>
<record id="basic_calendar_fields_6" model="basic.calendar.fields">
<field name="name" ref="caldav.field_alarm_trigger_interval"/>
<field name="type_id" ref="basic_calendar_lines_valarm0"/>
<field name="field_id" ref="base_calendar.field_res_alarm_trigger_interval"/>
<field name="fn">field</field>
</record>
<record id="basic_calendar_fields_7" model="basic.calendar.fields">
<field name="name" ref="caldav.field_alarm_summary"/>
<field name="type_id" ref="basic_calendar_lines_valarm0"/>
<field name="field_id" ref="base_calendar.field_calendar_alarm_name"/>
<field name="fn">field</field>
</record>
<record id="basic_calendar_fields_8" model="basic.calendar.fields">
<field name="name" ref="caldav.field_alarm_duration"/>
<field name="type_id" ref="basic_calendar_lines_valarm0"/>
<field name="field_id" ref="base_calendar.field_res_alarm_duration"/>
<field name="fn">field</field>
</record>
<record id="basic_calendar_fields_9" model="basic.calendar.fields">
<field name="name" ref="caldav.field_alarm_repeat"/>
<field name="type_id" ref="basic_calendar_lines_valarm0"/>
<field name="field_id" ref="base_calendar.field_res_alarm_repeat"/>
<field name="fn">field</field>
</record>
<record id="basic_calendar_fields_10" model="basic.calendar.fields">
<field name="name" ref="caldav.field_alarm_action"/>
<field name="type_id" ref="basic_calendar_lines_valarm0"/>
<field name="field_id" ref="base_calendar.field_calendar_alarm_action"/>
<field name="fn">field</field>
</record>
<record id="basic_calendar_fields_11" model="basic.calendar.fields">
<field name="name" ref="caldav.field_alarm_trigger_related"/>
<field name="type_id" ref="basic_calendar_lines_valarm0"/>
<field name="field_id" ref="base_calendar.field_res_alarm_trigger_related"/>
<field name="fn">field</field>
</record>
<record id="basic_calendar_fields_12" model="basic.calendar.fields">
<field name="name" ref="caldav.field_event_organizer"/>
<field name="type_id" ref="basic_calendar_lines_vevent0"/>
<field name="field_id" ref="crm.field_crm_meeting_organizer"/>
<field name="fn">field</field>
</record>
<record id="basic_calendar_fields_13" model="basic.calendar.fields">
<field name="name" ref="caldav.field_event_uid"/>
<field name="type_id" ref="basic_calendar_lines_vevent0"/>
<field name="field_id" ref="base_calendar.field_calendar_event_id"/>
<field name="fn">field</field>
</record>
<record id="basic_calendar_fields_14" model="basic.calendar.fields">
<field name="name" ref="caldav.field_event_recurrence-id"/>
<field name="type_id" ref="basic_calendar_lines_vevent0"/>
<field name="field_id" ref="base_calendar.field_calendar_event_recurrent_id"/>
<field name="fn">field</field>
</record>
<record id="basic_calendar_fields_15" model="basic.calendar.fields">
<field name="name" ref="caldav.field_event_vtimezone"/>
<field name="type_id" ref="basic_calendar_lines_vevent0"/>
<field name="field_id" ref="base_calendar.field_calendar_event_vtimezone"/>
<field name="fn">field</field>
</record>
<record id="basic_calendar_fields_16" model="basic.calendar.fields">
<field name="name" ref="caldav.field_event_attendee"/>
<field name="type_id" ref="basic_calendar_lines_vevent0"/>
<field name="field_id" ref="crm.field_crm_meeting_attendee_ids"/>
<field name="fn">field</field>
</record>
<record id="basic_calendar_fields_17" model="basic.calendar.fields">
<field name="name" ref="caldav.field_event_rrule"/>
<field name="type_id" ref="basic_calendar_lines_vevent0"/>
<field name="field_id" ref="base_calendar.field_calendar_event_rrule"/>
<field name="fn">field</field>
</record>
<record id="basic_calendar_fields_18" model="basic.calendar.fields">
<field name="name" ref="caldav.field_event_dtend"/>
<field name="type_id" ref="basic_calendar_lines_vevent0"/>
<field name="field_id" ref="base_calendar.field_calendar_event_date_deadline"/>
<field name="fn">field</field>
</record>
<record id="basic_calendar_fields_19" model="basic.calendar.fields">
<field name="name" ref="caldav.field_event_valarm"/>
<field name="type_id" ref="basic_calendar_lines_vevent0"/>
<field name="field_id" ref="base_calendar.field_calendar_event_base_calendar_alarm_id"/>
<field name="fn">field</field>
</record>
<record id="basic_calendar_fields_20" model="basic.calendar.fields">
<field name="name" ref="caldav.field_event_location"/>
<field name="type_id" ref="basic_calendar_lines_vevent0"/>
<field name="field_id" ref="base_calendar.field_calendar_event_location"/>
<field name="fn">field</field>
</record>
<record id="basic_calendar_fields_21" model="basic.calendar.fields">
<field name="name" ref="caldav.field_event_exrule"/>
<field name="type_id" ref="basic_calendar_lines_vevent0"/>
<field name="field_id" ref="base_calendar.field_calendar_event_exrule"/>
<field name="fn">field</field>
</record>
<record id="basic_calendar_fields_22" model="basic.calendar.fields">
<field name="name" ref="caldav.field_event_status"/>
<field name="type_id" ref="basic_calendar_lines_vevent0"/>
<field name="field_id" ref="crm.field_crm_meeting_state"/>
<field name="mapping">{'tentative': 'draft', 'confirmed': 'open', 'cancelled': 'cancel'}</field>
<field name="fn">field</field>
</record>
<record id="basic_calendar_fields_23" model="basic.calendar.fields">
<field name="name" ref="caldav.field_event_exdate"/>
<field name="type_id" ref="basic_calendar_lines_vevent0"/>
<field name="field_id" ref="base_calendar.field_calendar_event_exdate"/>
<field name="fn">field</field>
</record>
<record id="basic_calendar_fields_24" model="basic.calendar.fields">
<field name="name" ref="caldav.field_event_dtstamp"/>
<field name="type_id" ref="basic_calendar_lines_vevent0"/>
<field name="field_id" ref="base_calendar.field_calendar_event_date"/>
<field name="fn">field</field>
</record>
<record id="basic_calendar_fields_25" model="basic.calendar.fields">
<field name="name" ref="caldav.field_event_description"/>
<field name="type_id" ref="basic_calendar_lines_vevent0"/>
<field name="field_id" ref="base_calendar.field_calendar_event_description"/>
<field name="fn">field</field>
</record>
<record id="basic_calendar_fields_26" model="basic.calendar.fields">
<field name="name" ref="caldav.field_event_dtstart"/>
<field name="type_id" ref="basic_calendar_lines_vevent0"/>
<field name="field_id" ref="base_calendar.field_calendar_event_date"/>
<field name="fn">field</field>
</record>
<record id="basic_calendar_fields_27" model="basic.calendar.fields">
<field name="name" ref="caldav.field_event_class"/>
<field name="type_id" ref="basic_calendar_lines_vevent0"/>
<field name="field_id" ref="base_calendar.field_calendar_event_class"/>
<field name="fn">field</field>
</record>
<record id="basic_calendar_fields_28" model="basic.calendar.fields">
<field name="name" ref="caldav.field_event_created"/>
<field name="type_id" ref="basic_calendar_lines_vevent0"/>
<field name="field_id" ref="base_calendar.field_calendar_event_create_date"/>
<field name="fn">field</field>
</record>
<record id="basic_calendar_fields_29" model="basic.calendar.fields">
<field name="name" ref="caldav.field_event_url"/>
<field name="type_id" ref="basic_calendar_lines_vevent0"/>
<field name="field_id" ref="base_calendar.field_calendar_event_base_calendar_url"/>
<field name="fn">field</field>
</record>
<record id="basic_calendar_fields_30" model="basic.calendar.fields">
<field name="name" ref="caldav.field_event_summary"/>
<field name="type_id" ref="basic_calendar_lines_vevent0"/>
<field name="field_id" ref="base_calendar.field_calendar_event_name"/>
<field name="fn">field</field>
</record>
<record id="basic_calendar_fields_31" model="basic.calendar.fields">
<field name="name" ref="caldav.field_attendee_cn"/>
<field name="type_id" ref="basic_calendar_lines_attendee0"/>
<field name="field_id" ref="base_calendar.field_calendar_attendee_cn"/>
<field name="fn">field</field>
</record>
<record id="basic_calendar_fields_32" model="basic.calendar.fields">
<field name="name" ref="caldav.field_attendee_sent-by"/>
<field name="type_id" ref="basic_calendar_lines_attendee0"/>
<field name="field_id" ref="base_calendar.field_calendar_attendee_sent_by"/>
<field name="fn">field</field>
</record>
<record id="basic_calendar_fields_33" model="basic.calendar.fields">
<field name="name" ref="caldav.field_attendee_language"/>
<field name="type_id" ref="basic_calendar_lines_attendee0"/>
<field name="field_id" ref="base_calendar.field_calendar_attendee_language"/>
<field name="fn">field</field>
</record>
<record id="basic_calendar_fields_34" model="basic.calendar.fields">
<field name="name" ref="caldav.field_attendee_delegated-from"/>
<field name="type_id" ref="basic_calendar_lines_attendee0"/>
<field name="field_id" ref="base_calendar.field_calendar_attendee_delegated_from"/>
<field name="fn">field</field>
</record>
<record id="basic_calendar_fields_35" model="basic.calendar.fields">
<field name="name" ref="caldav.field_attendee_member"/>
<field name="type_id" ref="basic_calendar_lines_attendee0"/>
<field name="field_id" ref="base_calendar.field_calendar_attendee_member"/>
<field name="fn">field</field>
</record>
<record id="basic_calendar_fields_36" model="basic.calendar.fields">
<field name="name" ref="caldav.field_attendee_cutype"/>
<field name="type_id" ref="basic_calendar_lines_attendee0"/>
<field name="field_id" ref="base_calendar.field_calendar_attendee_cutype"/>
<field name="fn">field</field>
</record>
<record id="basic_calendar_fields_37" model="basic.calendar.fields">
<field name="name" ref="caldav.field_attendee_role"/>
<field name="type_id" ref="basic_calendar_lines_attendee0"/>
<field name="field_id" ref="base_calendar.field_calendar_attendee_role"/>
<field name="fn">field</field>
</record>
<record id="basic_calendar_fields_38" model="basic.calendar.fields">
<field name="name" ref="caldav.field_attendee_partstat"/>
<field name="type_id" ref="basic_calendar_lines_attendee0"/>
<field name="field_id" ref="base_calendar.field_calendar_attendee_state"/>
<field name="fn">field</field>
</record>
<record id="basic_calendar_fields_39" model="basic.calendar.fields">
<field name="name" ref="caldav.field_attendee_delegated-to"/>
<field name="type_id" ref="basic_calendar_lines_attendee0"/>
<field name="field_id" ref="base_calendar.field_calendar_attendee_delegated_to"/>
<field name="fn">field</field>
</record>
<record id="basic_calendar_fields_40" model="basic.calendar.fields">
<field name="name" ref="caldav.field_attendee_dir"/>
<field name="type_id" ref="basic_calendar_lines_attendee0"/>
<field name="field_id" ref="base_calendar.field_calendar_attendee_dir"/>
<field name="fn">field</field>
</record>
<record id="basic_calendar_fields_41" model="basic.calendar.fields">
<field name="name" ref="caldav.field_attendee_rsvp"/>
<field name="type_id" ref="basic_calendar_lines_attendee0"/>
<field name="field_id" ref="base_calendar.field_calendar_attendee_rsvp"/>
<field name="fn">field</field>
</record>
</data>
</openerp>

View File

@ -30,7 +30,7 @@
{
"name" : "WebDAV server for Document Management",
"version" : "2.1",
"version" : "2.2",
"author" : "OpenERP SA",
"category" : "Generic Modules/Others",
"website": "http://www.openerp.com",
@ -41,7 +41,10 @@
""",
"depends" : ["base", "document"],
"init_xml" : [],
"update_xml" : ['security/ir.model.access.csv', "webdav_view.xml", ],
"update_xml" : ['security/ir.model.access.csv',
'webdav_view.xml',
'webdav_setup.xml',
],
"demo_xml" : [],
"active": False,
"installable": True

View File

@ -0,0 +1,22 @@
<?xml version="1.0"?>
<openerp>
<data>
<record id="document_webdav_dir_property_nodeclass0" model="document.webdav.dir.property">
<field name="namespace">debug:</field>
<field name="name">node_class</field>
<field name="value">%(node_classname)s</field>
<field eval="1" name="do_subst"/>
</record>
<!--
<record id="document_webdav_dir_property_debug0" model="document.webdav.dir.property">
<field name="namespace">debug:</field>
<field name="name">node_context</field>
<field name="value">%r</field>
<! dash dash This will expose the whole context at the property !>
<field eval="1" name="do_subst"/>
</record>
-->
</data>
</openerp>

View File

@ -0,0 +1,99 @@
<?xml version="1.0"?>
<openerp>
<data noupdate="1">
<!--This file contains a typical setup of a WebDAV folders' structure,
which conforms to the RFCs and extensions of the protocol.
In OpenERP, this is not enforced by any code inside the server, it
is rather a matter of setting these records in our document configuration.
-->
<!-- /principals tree -->
<record id="document_directory_principals0" model="document.directory">
<field name="domain">[]</field>
<field eval="1" name="resource_find_all"/>
<field eval="0" name="ressource_tree"/>
<field name="user_id" ref="base.user_root"/>
<field name="company_id" ref="base.main_company"/>
<field name="storage_id" ref="document.storage_default"/>
<field name="type">directory</field>
<field eval="[(6,0,[])]" name="group_ids"/>
<field name="name">principals</field>
</record>
<record id="document_directory_groups0" model="document.directory">
<field name="domain">[]</field>
<field eval="1" name="resource_find_all"/>
<field eval="0" name="ressource_tree"/>
<field name="user_id" ref="base.user_root"/>
<field name="company_id" ref="base.main_company"/>
<field model="document.directory" name="parent_id" ref="document_directory_principals0"/>
<field name="storage_id" ref="document.storage_default"/>
<field name="type">directory</field>
<field eval="[(6,0,[])]" name="group_ids"/>
<field name="name">groups</field>
</record>
<record id="document_directory_resources0" model="document.directory">
<field name="domain">[]</field>
<field eval="1" name="resource_find_all"/>
<field eval="0" name="ressource_tree"/>
<field name="company_id" ref="base.main_company"/>
<field model="document.directory" name="parent_id" ref="document_directory_principals0"/>
<field name="storage_id" ref="document.storage_default"/>
<field name="type">directory</field>
<field eval="[(6,0,[])]" name="group_ids"/>
<field name="name">resources</field>
</record>
<record id="document_directory_uids1" model="document.directory">
<field name="domain">[]</field>
<field eval="1" name="resource_find_all"/>
<field eval="0" name="ressource_tree"/>
<field name="resource_field" ref="base.field_res_users_login"/>
<field name="company_id" ref="base.main_company"/>
<field model="document.directory" name="parent_id" ref="document_directory_principals0"/>
<field name="storage_id" ref="document.storage_default"/>
<field name="type">ressource</field>
<field name="ressource_type_id" ref="base.model_res_users"/>
<field eval="[(6,0,[])]" name="group_ids"/>
<field name="name">__uids__</field>
</record>
<record id="document_directory_users1" model="document.directory">
<field name="domain">[]</field>
<field eval="1" name="resource_find_all"/>
<field eval="0" name="ressource_tree"/>
<field name="user_id" ref="base.user_root"/>
<field name="resource_field" ref="base.field_res_users_login"/>
<field name="company_id" ref="base.main_company"/>
<field model="document.directory" name="parent_id" ref="document_directory_principals0"/>
<field name="storage_id" ref="document.storage_default"/>
<field name="type">ressource</field>
<field name="ressource_type_id" ref="base.model_res_users"/>
<field eval="[(6,0,[])]" name="group_ids"/>
<field name="name">users</field>
</record>
<record id="document_directory_locations0" model="document.directory">
<field name="domain">[]</field>
<field eval="1" name="resource_find_all"/>
<field eval="0" name="ressource_tree"/>
<field name="company_id" ref="base.main_company"/>
<field model="document.directory" name="parent_id" ref="document_directory_principals0"/>
<field name="storage_id" ref="document.storage_default"/>
<field name="type">directory</field>
<field eval="[(6,0,[])]" name="group_ids"/>
<field name="name">locations</field>
</record>
<record id="document_webdav_dir_property_currentuserprincipal0" model="document.webdav.dir.property">
<field name="namespace">DAV:</field>
<field name="name">current-user-principal</field>
<field name="value">('href','DAV:','/%s/%s/principals/users/%s' % ('webdav',dbname, username ) )</field>
<field eval="1" name="do_subst"/>
</record>
<record id="document_webdav_dir_property_principalurl0" model="document.webdav.dir.property">
<field name="namespace">DAV:</field>
<field name="name">principal-URL</field>
<field name="value">('href','DAV:','/%s/%s/principals/users/%s' % ('webdav',dbname, username ) )</field>
<field eval="1" name="do_subst"/>
</record>
</data>
</openerp>

View File

@ -20,13 +20,13 @@
##############################################################################
{
"name": "Caldav task management",
"version": "1.0",
"name": "CalDAV for task management",
"version": "1.1",
"author": "OpenERP SA",
"category": "Generic Modules/Others",
"description": """ Synchronize between Project task and Caldav Vtodo.""",
"depends": ["project", "caldav", "base_calendar"],
"init_xml": ["project_caldav_data.xml"],
"init_xml": ["project_caldav_data.xml", 'project_caldav_setup.xml', ],
"demo_xml": [],
"update_xml": ["project_caldav_view.xml"],
"active": False,

View File

@ -3,10 +3,10 @@
<data noupdate="1">
<record model="basic.calendar" id="caldav.basic_calendar2">
<field name="name">Tasks</field>
<field name="collection_id" ref="document.dir_calendars"></field>
<field name="type">vtodo</field>
</record>
<field name="name">Tasks</field>
<field name="collection_id" ref="document.dir_calendars"></field>
<field name="type">vtodo</field>
</record>
<record model="basic.calendar.lines" id="caldav.calendar_lines_todo">
<field name="name">vtodo</field>

View File

@ -0,0 +1,272 @@
<?xml version="1.0"?>
<openerp>
<data noupdate="1">
<record id="basic_calendar_tasks0" model="basic.calendar">
<field eval="1" name="has_webcal"/>
<field name="description">Tasks per user</field>
<field name="calendar_color">#FFEF74</field>
<field model="document.directory" name="collection_id" ref="caldav.document_directory_c0"/>
<field name="type">vtodo</field>
<field name="name">Tasks</field>
</record>
<record id="basic_calendar_lines_attendee0" model="basic.calendar.lines">
<field model="basic.calendar" name="calendar_id" ref="basic_calendar_tasks0"/>
<field name="domain">[]</field>
<field name="name">attendee</field>
<field name="object_id" ref="base_calendar.model_calendar_attendee"/>
</record>
<record id="basic_calendar_lines_valarm0" model="basic.calendar.lines">
<field model="basic.calendar" name="calendar_id" ref="basic_calendar_tasks0"/>
<field name="domain">[]</field>
<field name="name">valarm</field>
<field name="object_id" ref="base_calendar.model_calendar_alarm"/>
</record>
<record id="basic_calendar_lines_vtodo0" model="basic.calendar.lines">
<field model="basic.calendar" name="calendar_id" ref="basic_calendar_tasks0"/>
<field name="domain">[('user_id','=', dctx_user_id)]</field>
<field name="name">vtodo</field>
<field name="object_id" ref="project.model_project_task"/>
</record>
<record id="basic_calendar_fields_0" model="basic.calendar.fields">
<field name="name" ref="caldav.field_todo_status"/>
<field model="basic.calendar.lines" name="type_id" ref="basic_calendar_lines_vtodo0"/>
<field name="field_id" ref="project.field_project_task_state"/>
<field name="mapping">{'needs-action': 'draft', 'completed': 'done', 'in-process': 'open', 'cancelled': 'cancelled'}</field>
<field name="fn">field</field>
</record>
<record id="basic_calendar_fields_1" model="basic.calendar.fields">
<field name="name" ref="caldav.field_todo_exdate"/>
<field model="basic.calendar.lines" name="type_id" ref="basic_calendar_lines_vtodo0"/>
<field name="field_id" ref="base_calendar.field_calendar_todo_exdate"/>
<field name="fn">field</field>
</record>
<record id="basic_calendar_fields_2" model="basic.calendar.fields">
<field name="name" ref="caldav.field_todo_attendee"/>
<field model="basic.calendar.lines" name="type_id" ref="basic_calendar_lines_vtodo0"/>
<field name="field_id" ref="project_caldav.field_project_task_attendee_ids"/>
<field name="fn">field</field>
</record>
<record id="basic_calendar_fields_3" model="basic.calendar.fields">
<field name="name" ref="caldav.field_todo_valarm"/>
<field model="basic.calendar.lines" name="type_id" ref="basic_calendar_lines_vtodo0"/>
<field name="field_id" ref="base_calendar.field_calendar_todo_base_calendar_alarm_id"/>
<field name="fn">field</field>
</record>
<record id="basic_calendar_fields_4" model="basic.calendar.fields">
<field name="name" ref="caldav.field_todo_description"/>
<field model="basic.calendar.lines" name="type_id" ref="basic_calendar_lines_vtodo0"/>
<field name="field_id" ref="base_calendar.field_calendar_todo_description"/>
<field name="fn">field</field>
</record>
<record id="basic_calendar_fields_5" model="basic.calendar.fields">
<field name="name" ref="caldav.field_todo_url"/>
<field model="basic.calendar.lines" name="type_id" ref="basic_calendar_lines_vtodo0"/>
<field name="field_id" ref="base_calendar.field_calendar_todo_base_calendar_url"/>
<field name="fn">field</field>
</record>
<record id="basic_calendar_fields_6" model="basic.calendar.fields">
<field name="name" ref="caldav.field_todo_percent"/>
<field model="basic.calendar.lines" name="type_id" ref="basic_calendar_lines_vtodo0"/>
<field name="field_id" ref="project.field_project_task_progress"/>
<field name="fn">field</field>
</record>
<record id="basic_calendar_fields_7" model="basic.calendar.fields">
<field name="name" ref="caldav.field_todo_vtimezone"/>
<field model="basic.calendar.lines" name="type_id" ref="basic_calendar_lines_vtodo0"/>
<field name="field_id" ref="base_calendar.field_calendar_todo_vtimezone"/>
<field name="fn">field</field>
</record>
<record id="basic_calendar_fields_8" model="basic.calendar.fields">
<field name="name" ref="caldav.field_todo_summary"/>
<field model="basic.calendar.lines" name="type_id" ref="basic_calendar_lines_vtodo0"/>
<field name="field_id" ref="base_calendar.field_calendar_todo_name"/>
<field name="fn">field</field>
</record>
<record id="basic_calendar_fields_9" model="basic.calendar.fields">
<field name="name" ref="caldav.field_event_priority"/>
<field model="basic.calendar.lines" name="type_id" ref="basic_calendar_lines_vtodo0"/>
<field name="field_id" ref="project.field_project_task_priority"/>
<field name="mapping">{'1': '0', '2': '1', '3': '1','4': '1', '5': '2', '6': '3', '7': '3', '8': '3', '9': '4'}</field>
<field name="fn">field</field>
</record>
<record id="basic_calendar_fields_10" model="basic.calendar.fields">
<field name="name" ref="caldav.field_todo_location"/>
<field model="basic.calendar.lines" name="type_id" ref="basic_calendar_lines_vtodo0"/>
<field name="field_id" ref="base_calendar.field_calendar_todo_location"/>
<field name="fn">field</field>
</record>
<record id="basic_calendar_fields_11" model="basic.calendar.fields">
<field name="name" ref="caldav.field_todo_exrule"/>
<field model="basic.calendar.lines" name="type_id" ref="basic_calendar_lines_vtodo0"/>
<field name="field_id" ref="base_calendar.field_calendar_todo_exrule"/>
<field name="fn">field</field>
</record>
<record id="basic_calendar_fields_12" model="basic.calendar.fields">
<field name="name" ref="caldav.field_todo_duration"/>
<field model="basic.calendar.lines" name="type_id" ref="basic_calendar_lines_vtodo0"/>
<field name="field_id" ref="project.field_project_task_planned_hours"/>
<field name="fn">hours</field>
</record>
<record id="basic_calendar_fields_13" model="basic.calendar.fields">
<field name="name" ref="caldav.field_todo_dtstart"/>
<field model="basic.calendar.lines" name="type_id" ref="basic_calendar_lines_vtodo0"/>
<field name="field_id" ref="base_calendar.field_calendar_todo_date"/>
<field name="fn">field</field>
</record>
<record id="basic_calendar_fields_14" model="basic.calendar.fields">
<field name="name" ref="caldav.field_todo_rrule"/>
<field model="basic.calendar.lines" name="type_id" ref="basic_calendar_lines_vtodo0"/>
<field name="field_id" ref="base_calendar.field_calendar_todo_rrule"/>
<field name="fn">field</field>
</record>
<record id="basic_calendar_fields_15" model="basic.calendar.fields">
<field name="name" ref="caldav.field_todo_class"/>
<field model="basic.calendar.lines" name="type_id" ref="basic_calendar_lines_vtodo0"/>
<field name="field_id" ref="base_calendar.field_calendar_todo_class"/>
<field name="fn">field</field>
</record>
<record id="basic_calendar_fields_16" model="basic.calendar.fields">
<field name="name" ref="caldav.field_todo_uid"/>
<field model="basic.calendar.lines" name="type_id" ref="basic_calendar_lines_vtodo0"/>
<field name="field_id" ref="base_calendar.field_calendar_todo_id"/>
<field name="fn">field</field>
</record>
<record id="basic_calendar_fields_17" model="basic.calendar.fields">
<field name="name" ref="caldav.field_alarm_attendee"/>
<field name="type_id" ref="basic_calendar_lines_valarm0"/>
<field name="field_id" ref="base_calendar.field_calendar_alarm_attendee_ids"/>
<field name="fn">field</field>
</record>
<record id="basic_calendar_fields_18" model="basic.calendar.fields">
<field name="name" ref="caldav.field_alarm_trigger_duration"/>
<field name="type_id" ref="basic_calendar_lines_valarm0"/>
<field name="field_id" ref="base_calendar.field_res_alarm_trigger_duration"/>
<field name="fn">field</field>
</record>
<record id="basic_calendar_fields_19" model="basic.calendar.fields">
<field name="name" ref="caldav.field_alarm_description"/>
<field name="type_id" ref="basic_calendar_lines_valarm0"/>
<field name="field_id" ref="base_calendar.field_calendar_alarm_description"/>
<field name="fn">field</field>
</record>
<record id="basic_calendar_fields_20" model="basic.calendar.fields">
<field name="name" ref="caldav.field_alarm_attach"/>
<field name="type_id" ref="basic_calendar_lines_valarm0"/>
<field name="field_id" ref="base_calendar.field_calendar_alarm_attach"/>
<field name="fn">field</field>
</record>
<record id="basic_calendar_fields_21" model="basic.calendar.fields">
<field name="name" ref="caldav.field_alarm_trigger_occurs"/>
<field name="type_id" ref="basic_calendar_lines_valarm0"/>
<field name="field_id" ref="base_calendar.field_res_alarm_trigger_occurs"/>
<field name="fn">field</field>
</record>
<record id="basic_calendar_fields_22" model="basic.calendar.fields">
<field name="name" ref="caldav.field_alarm_trigger_interval"/>
<field name="type_id" ref="basic_calendar_lines_valarm0"/>
<field name="field_id" ref="base_calendar.field_res_alarm_trigger_interval"/>
<field name="fn">field</field>
</record>
<record id="basic_calendar_fields_23" model="basic.calendar.fields">
<field name="name" ref="caldav.field_alarm_summary"/>
<field name="type_id" ref="basic_calendar_lines_valarm0"/>
<field name="field_id" ref="base_calendar.field_calendar_alarm_name"/>
<field name="fn">field</field>
</record>
<record id="basic_calendar_fields_24" model="basic.calendar.fields">
<field name="name" ref="caldav.field_alarm_duration"/>
<field name="type_id" ref="basic_calendar_lines_valarm0"/>
<field name="field_id" ref="base_calendar.field_res_alarm_duration"/>
<field name="fn">field</field>
</record>
<record id="basic_calendar_fields_25" model="basic.calendar.fields">
<field name="name" ref="caldav.field_alarm_repeat"/>
<field name="type_id" ref="basic_calendar_lines_valarm0"/>
<field name="field_id" ref="base_calendar.field_res_alarm_repeat"/>
<field name="fn">field</field>
</record>
<record id="basic_calendar_fields_226" model="basic.calendar.fields">
<field name="name" ref="caldav.field_alarm_action"/>
<field name="type_id" ref="basic_calendar_lines_valarm0"/>
<field name="field_id" ref="base_calendar.field_calendar_alarm_action"/>
<field name="fn">field</field>
</record>
<record id="basic_calendar_fields_27" model="basic.calendar.fields">
<field name="name" ref="caldav.field_alarm_trigger_related"/>
<field name="type_id" ref="basic_calendar_lines_valarm0"/>
<field name="field_id" ref="base_calendar.field_res_alarm_trigger_related"/>
<field name="fn">field</field>
</record>
<record id="basic_calendar_fields_28" model="basic.calendar.fields">
<field name="name" ref="caldav.field_attendee_cn"/>
<field name="type_id" ref="basic_calendar_lines_attendee0"/>
<field name="field_id" ref="base_calendar.field_calendar_attendee_cn"/>
<field name="fn">field</field>
</record>
<record id="basic_calendar_fields_29" model="basic.calendar.fields">
<field name="name" ref="caldav.field_attendee_sent-by"/>
<field name="type_id" ref="basic_calendar_lines_attendee0"/>
<field name="field_id" ref="base_calendar.field_calendar_attendee_sent_by"/>
<field name="fn">field</field>
</record>
<record id="basic_calendar_fields_30" model="basic.calendar.fields">
<field name="name" ref="caldav.field_attendee_language"/>
<field name="type_id" ref="basic_calendar_lines_attendee0"/>
<field name="field_id" ref="base_calendar.field_calendar_attendee_language"/>
<field name="fn">field</field>
</record>
<record id="basic_calendar_fields_31" model="basic.calendar.fields">
<field name="name" ref="caldav.field_attendee_delegated-from"/>
<field name="type_id" ref="basic_calendar_lines_attendee0"/>
<field name="field_id" ref="base_calendar.field_calendar_attendee_delegated_from"/>
<field name="fn">field</field>
</record>
<record id="basic_calendar_fields_32" model="basic.calendar.fields">
<field name="name" ref="caldav.field_attendee_member"/>
<field name="type_id" ref="basic_calendar_lines_attendee0"/>
<field name="field_id" ref="base_calendar.field_calendar_attendee_member"/>
<field name="fn">field</field>
</record>
<record id="basic_calendar_fields_33" model="basic.calendar.fields">
<field name="name" ref="caldav.field_attendee_cutype"/>
<field name="type_id" ref="basic_calendar_lines_attendee0"/>
<field name="field_id" ref="base_calendar.field_calendar_attendee_cutype"/>
<field name="fn">field</field>
</record>
<record id="basic_calendar_fields_34" model="basic.calendar.fields">
<field name="name" ref="caldav.field_attendee_role"/>
<field name="type_id" ref="basic_calendar_lines_attendee0"/>
<field name="field_id" ref="base_calendar.field_calendar_attendee_role"/>
<field name="fn">field</field>
</record>
<record id="basic_calendar_fields_35" model="basic.calendar.fields">
<field name="name" ref="caldav.field_attendee_partstat"/>
<field name="type_id" ref="basic_calendar_lines_attendee0"/>
<field name="field_id" ref="base_calendar.field_calendar_attendee_state"/>
<field name="fn">field</field>
</record>
<record id="basic_calendar_fields_36" model="basic.calendar.fields">
<field name="name" ref="caldav.field_attendee_delegated-to"/>
<field name="type_id" ref="basic_calendar_lines_attendee0"/>
<field name="field_id" ref="base_calendar.field_calendar_attendee_delegated_to"/>
<field name="fn">field</field>
</record>
<record id="basic_calendar_fields_37" model="basic.calendar.fields">
<field name="name" ref="caldav.field_attendee_dir"/>
<field name="type_id" ref="basic_calendar_lines_attendee0"/>
<field name="field_id" ref="base_calendar.field_calendar_attendee_dir"/>
<field name="fn">field</field>
</record>
<record id="basic_calendar_fields_38" model="basic.calendar.fields">
<field name="name" ref="caldav.field_attendee_rsvp"/>
<field name="type_id" ref="basic_calendar_lines_attendee0"/>
<field name="field_id" ref="base_calendar.field_calendar_attendee_rsvp"/>
<field name="fn">field</field>
</record>
</data>
</openerp>