[MERGE] Imrovement of project_timesheet ,caldav

bzr revid: sbh@tinyerp.com-20101116133530-vgisor8mx6tnqm5e
This commit is contained in:
sbh (Open ERP)
2010-11-16 19:05:30 +05:30
11 changed files with 39 additions and 660 deletions
-4
View File
@@ -2,10 +2,6 @@
<openerp>
<data noupdate="1">
<record model="document.directory" id="document.dir_calendars">
<field name="name">Calendars</field>
<field name="calendar_collection">True</field>
</record>
<!-- Event attributes-->
+1 -1
View File
@@ -11,7 +11,7 @@
<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>
<field name="name">Calendars</field>
</record>
<record id="document_directory_resources1" model="document.directory">
<field name="domain">[]</field>
+1 -1
View File
@@ -37,7 +37,7 @@ class calendar_collection(osv.osv):
def _get_root_calendar_directory(self, cr, uid, context=None):
objid = self.pool.get('ir.model.data')
try:
mid = objid._get_id(cr, uid, 'document', 'dir_calendars')
mid = objid._get_id(cr, uid, 'caldav', 'document_directory_calendars0')
if not mid:
return False
root_id = objid.read(cr, uid, mid, ['res_id'])['res_id']
-320
View File
@@ -2,325 +2,5 @@
<openerp>
<data noupdate="1">
<!-- Event Attribute mapping for Calendar-->
<record model="basic.calendar" id="caldav.basic_calendar1">
<field name="name">Meetings</field>
<field name="collection_id" ref="document.dir_calendars"></field>
<field name="type">vevent</field>
</record>
<record model="basic.calendar.lines" id="base_calendar.calendar_lines_event">
<field name="name">vevent</field>
<field name="calendar_id" ref="caldav.basic_calendar1" />
<field name="object_id" search="[('model','=','crm.meeting')]" />
<field name="domain">[('user_id','=', uid)]</field>
</record>
<record model="basic.calendar.lines" id="base_calendar.calendar_lines_alarm">
<field name="name">valarm</field>
<field name="calendar_id" ref="caldav.basic_calendar1" />
<field name="object_id" search="[('model','=','calendar.alarm')]" />
</record>
<record model="basic.calendar.lines" id="base_calendar.calendar_lines_attendee">
<field name="name">attendee</field>
<field name="calendar_id" ref="caldav.basic_calendar1" />
<field name="object_id" search="[('model','=','calendar.attendee')]" />
</record>
<record model="basic.calendar.fields" id="map_event_0">
<field name="name" ref="caldav.field_event_organizer"/>
<field name="type_id" ref="base_calendar.calendar_lines_event" />
<field name="field_id" search="[('name','=','organizer'),('model_id.model','=','calendar.event')]" />
<field name="fn">field</field>
</record>
<record model="basic.calendar.fields" id="map_event_1">
<field name="name" ref="caldav.field_event_uid"/>
<field name="type_id" ref="base_calendar.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="caldav.field_event_recurrence-id"/>
<field name="type_id" ref="base_calendar.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_3">
<field name="name" ref="caldav.field_event_vtimezone"/>
<field name="type_id" ref="base_calendar.calendar_lines_event" />
<field name="field_id" search="[('name','=','vtimezone'),('model_id.model','=','calendar.event')]" />
<field name="fn">field</field>
</record>
<record model="basic.calendar.fields" id="map_event_4">
<field name="name" ref="caldav.field_event_attendee" />
<field name="type_id" ref="base_calendar.calendar_lines_event" />
<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="caldav.field_event_rrule"/>
<field name="type_id" ref="base_calendar.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="caldav.field_event_dtend"/>
<field name="type_id" ref="base_calendar.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="caldav.field_event_valarm"/>
<field name="type_id" ref="base_calendar.calendar_lines_event" />
<field name="field_id" search="[('name','=','base_calendar_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="caldav.field_event_location"/>
<field name="type_id" ref="base_calendar.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="caldav.field_event_exrule"/>
<field name="type_id" ref="base_calendar.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="caldav.field_event_status"/>
<field name="type_id" ref="base_calendar.calendar_lines_event" />
<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="caldav.field_event_exdate"/>
<field name="type_id" ref="base_calendar.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="caldav.field_event_dtstamp"/>
<field name="type_id" ref="base_calendar.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="caldav.field_event_description"/>
<field name="type_id" ref="base_calendar.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="caldav.field_event_dtstart"/>
<field name="type_id" ref="base_calendar.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="caldav.field_event_class"/>
<field name="type_id" ref="base_calendar.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="caldav.field_event_created"/>
<field name="type_id" ref="base_calendar.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="caldav.field_event_url"/>
<field name="type_id" ref="base_calendar.calendar_lines_event" />
<field name="field_id" search="[('name','=','base_calendar_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="caldav.field_event_summary"/>
<field name="type_id" ref="base_calendar.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="caldav.field_alarm_attendee"/>
<field name="type_id" ref="base_calendar.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="caldav.field_alarm_trigger_duration"/>
<field name="type_id" ref="base_calendar.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="caldav.field_alarm_description"/>
<field name="type_id" ref="base_calendar.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="caldav.field_alarm_attach"/>
<field name="type_id" ref="base_calendar.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="caldav.field_alarm_trigger_occurs"/>
<field name="type_id" ref="base_calendar.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="caldav.field_alarm_trigger_interval"/>
<field name="type_id" ref="base_calendar.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="caldav.field_alarm_summary"/>
<field name="type_id" ref="base_calendar.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="caldav.field_alarm_duration"/>
<field name="type_id" ref="base_calendar.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="caldav.field_alarm_repeat"/>
<field name="type_id" ref="base_calendar.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="caldav.field_alarm_action"/>
<field name="type_id" ref="base_calendar.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="caldav.field_alarm_trigger_related"/>
<field name="type_id" ref="base_calendar.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="caldav.field_attendee_cn"/>
<field name="type_id" ref="base_calendar.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="caldav.field_attendee_sent-by"/>
<field name="type_id" ref="base_calendar.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="caldav.field_attendee_language"/>
<field name="type_id" ref="base_calendar.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="caldav.field_attendee_delegated-from"/>
<field name="type_id" ref="base_calendar.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="caldav.field_attendee_member"/>
<field name="type_id" ref="base_calendar.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="caldav.field_attendee_cutype"/>
<field name="type_id" ref="base_calendar.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="caldav.field_attendee_role"/>
<field name="type_id" ref="base_calendar.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="caldav.field_attendee_partstat"/>
<field name="type_id" ref="base_calendar.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="caldav.field_attendee_delegated-to"/>
<field name="type_id" ref="base_calendar.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="caldav.field_attendee_dir"/>
<field name="type_id" ref="base_calendar.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="caldav.field_attendee_rsvp"/>
<field name="type_id" ref="base_calendar.calendar_lines_attendee" />
<field name="field_id" search="[('name','=','rsvp'),('model_id.model','=','calendar.attendee')]" />
<field name="fn">field</field>
</record>
</data>
</openerp>
+13 -3
View File
@@ -96,8 +96,13 @@ class DocIndex(indexer):
def _doIndexFile(self,fname):
fp = Popen(['antiword', fname], shell=False, stdout=PIPE).stdout
return _to_unicode(fp.read())
try:
file_data = _to_unicode(fp.read())
finally:
fp.close()
return file_data
cntIndex.register(DocIndex())
class DocxIndex(indexer):
@@ -158,7 +163,12 @@ class PdfIndex(indexer):
def _doIndexFile(self,fname):
fp = Popen(['pdftotext', '-enc', 'UTF-8', '-nopgbrk', fname, '-'], shell=False, stdout=PIPE).stdout
return _to_unicode( fp.read())
try:
file_data = _to_unicode( fp.read())
finally:
fp.close()
return file_data
cntIndex.register(PdfIndex())
-5
View File
@@ -7,14 +7,9 @@
<field name="code">shcal</field>
</record>
<record model="document.directory" id="document.dir_calendars">
<field name="name">Calendars</field>
</record>
<record model="document.directory.content" id="dir_content_calendar">
<field name="name">Calendars</field>
<field name="suffix">meetings</field>
<field name="directory_id" ref="document.dir_calendars"/>
<field name="extension">.ics</field>
<field name="include_name" eval="False"/>
<field name="object_id" ref="crm.model_crm_meeting"/>
@@ -51,7 +51,8 @@
<field name="target">new</field>
</record>
register configuration wizard
<!-- register configuration wizard -->
<record id="config_wizard_step_case_section_menu" model="ir.actions.todo">
<field name="action_id" ref="action_view_document_ics_config_directories"/>
<field name="restart">always</field>
+1 -1
View File
@@ -24,7 +24,7 @@
<field name="inherit_id" ref="view_document_directory_form_1"/>
<field name="arch" type="xml">
<field name="report_id" position="replace">
<field name="report_id" domain="[('model_id','=',parent.ressource_type_id)]"/>
<field name="report_id" domain="[('type', '=', 'ressource'),('model_id','=',parent.ressource_type_id)]"/>
<separator string="ICS Calendar" colspan="4"/>
<field name="ics_domain"/>
<field name="ics_field_ids" colspan="4">
+1 -1
View File
@@ -17,7 +17,7 @@
<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>
<field name="name">Principals</field>
</record>
<record id="document_directory_groups0" model="document.directory">
@@ -2,320 +2,6 @@
<openerp>
<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>
<record model="basic.calendar.lines" id="caldav.calendar_lines_todo">
<field name="name">vtodo</field>
<field name="calendar_id" ref="caldav.basic_calendar2" />
<field name="object_id" search="[('model','=','project.task')]" />
<field name="domain">[('user_id','=', uid)]</field>
</record>
<record model="basic.calendar.fields" id="map_todo_1">
<field name="name" ref="caldav.field_todo_status" />
<field name="type_id" ref="caldav.calendar_lines_todo" />
<field name="field_id" search="[('name','=','state'),('model_id.model','=','project.task')]" />
<field name="mapping">{'needs-action': 'draft', 'completed': 'done', 'in-process': 'open', 'cancelled': 'cancelled'}</field>
<field name="fn">field</field>
</record>
<record model="basic.calendar.fields" id="map_todo_2">
<field name="name" ref="caldav.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="caldav.field_todo_attendee" />
<field name="type_id" ref="caldav.calendar_lines_todo" />
<field name="field_id" search="[('name','=','attendee_ids'),('model_id.model','=','project.task')]" />
<field name="fn">field</field>
</record>
<record model="basic.calendar.fields" id="map_todo_4">
<field name="name" ref="caldav.field_todo_valarm"/>
<field name="type_id" ref="caldav.calendar_lines_todo" />
<field name="field_id" search="[('name','=','base_calendar_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="caldav.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>
<!-- Sequence is not impemented right.
See http://tools.ietf.org/html/rfc5545#section-3.8.7.4
Disabling..
<record model="basic.calendar.fields" id="map_todo_6">
<field name="name" ref="caldav.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="caldav.field_todo_url"/>
<field name="type_id" ref="caldav.calendar_lines_todo" />
<field name="field_id" search="[('name','=','base_calendar_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="caldav.field_todo_percent"/>
<field name="type_id" ref="caldav.calendar_lines_todo" />
<field name="field_id" search="[('name','=','progress'),('model_id.model','=','project.task')]" />
<field name="fn">field</field>
</record>
<record model="basic.calendar.fields" id="map_todo_10">
<field name="name" ref="caldav.field_todo_vtimezone"/>
<field name="type_id" ref="caldav.calendar_lines_todo" />
<field name="field_id" search="[('name','=','vtimezone'),('model_id.model','=','calendar.todo')]" />
<field name="fn">field</field>
</record>
<record model="basic.calendar.fields" id="map_todo_11">
<field name="name" ref="caldav.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="caldav.field_event_priority"/>
<field name="type_id" ref="caldav.calendar_lines_todo" />
<field name="field_id" search="[('name','=','priority'),('model_id.model','=','project.task')]" />
<field name="fn">field</field>
<field name="mapping">{'1': '0', '2': '1', '3': '1','4': '1', '5': '2', '6': '3', '7': '3', '8': '3', '9': '4'}</field>
</record>
<record model="basic.calendar.fields" id="map_todo_13">
<field name="name" ref="caldav.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="caldav.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="caldav.field_todo_duration"/>
<field name="type_id" ref="caldav.calendar_lines_todo" />
<field name="field_id" search="[('name','=','planned_hours'),('model_id.model','=','project.task')]" />
<field name="fn">hours</field>
</record>
<record model="basic.calendar.fields" id="map_todo_16">
<field name="name" ref="caldav.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="caldav.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="caldav.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="caldav.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_alarm2">
<field name="name">valarm</field>
<field name="calendar_id" ref="caldav.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="caldav.basic_calendar2" />
<field name="object_id" search="[('model','=','calendar.attendee')]" />
</record>
<record model="basic.calendar.fields" id="map_alarm_1">
<field name="name" ref="caldav.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="caldav.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="caldav.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="caldav.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="caldav.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="caldav.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="caldav.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="caldav.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="caldav.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="caldav.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="caldav.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="caldav.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="caldav.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="caldav.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="caldav.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="caldav.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="caldav.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="caldav.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="caldav.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="caldav.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="caldav.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="caldav.field_attendee_rsvp"/>
<field name="type_id" ref="caldav.calendar_lines_attendee2" />
<field name="field_id" search="[('name','=','rsvp'),('model_id.model','=','calendar.attendee')]" />
<field name="fn">field</field>
</record>
</data>
</openerp>
@@ -31,17 +31,29 @@
<field name="arch" type="xml">
<search string="Tasks by User">
<group colspan="4" col="3">
<filter icon="terp-go-year" string="This Year" domain="[('year','=',time.strftime('%%Y'))]" />
<filter icon="terp-go-month" string="This Month" domain="[('month','=',time.strftime('%%m'))]" />
<filter icon="terp-go-year" string=" Year "
name="year"
domain="[('name','&lt;=', time.strftime('%%Y-%%m-%%d')),('name','&gt;=',time.strftime('%%Y-01-01'))]"
help="Task Hours in current year"/>
<filter icon="terp-go-month" string=" Month "
name="month"
domain="[('name','&lt;=',(datetime.date.today()+relativedelta(day=31)).strftime('%%Y-%%m-%%d')),('name','&gt;=',(datetime.date.today()-relativedelta(day=1)).strftime('%%Y-%%m-%%d'))]"
help="Task Hours in current month"/>
<filter icon="terp-go-month"
string=" Month-1 "
domain="[('name','&lt;=', (datetime.date.today() - relativedelta(day=31, months=1)).strftime('%%Y-%%m-%%d')),('name','&gt;=',(datetime.date.today() - relativedelta(day=1,months=1)).strftime('%%Y-%%m-%%d'))]"
help="Task hours of last month"/>
<separator orientation="vertical"/>
<field name="user_id" select="1" widget="selection"/>
<field name="user_id"/>
</group>
<newline/>
<group expand="1" string="Group By..." colspan="4" col="3">
<filter string="User" icon="terp-personal" context="{'group_by':'user_id'}" default="1" />
<filter string="Year" icon="terp-go-year" context="{'group_by':'year'}" />
<filter string="Month" icon="terp-go-month" context="{'group_by':'month'}" />
</group>
<filter string="User" name="group_user_id" icon="terp-personal" context="{'group_by':'user_id'}" default="1" />
<separator orientation="vertical"/>
<filter string="Month" icon="terp-go-month" context="{'group_by':'month'}" help="Group by month of date"/>
<filter string="Year" icon="terp-go-year" context="{'group_by':'year'}" help="Group by year of date"/>
</group>
</search>
</field>
</record>
@@ -64,8 +76,7 @@
<field name="res_model">report.timesheet.task.user</field>
<field name="view_type">form</field>
<field name="view_mode">tree,graph</field>
<field name="context">{"search_default_user_id":uid}</field>
<field name="search_view_id" ref="view_report_timesheet_task_user_search"/>
<field name="context">{'search_default_month':1, 'search_default_group_user_id':1}</field>
</record>
<menuitem id="menu_timesheet_task_user" parent="hr_timesheet.menu_hr_reporting_timesheet"
action="action_report_timesheet_task_user" sequence="1"/>