← Back to team overview

openerp-dev-web team mailing list archive

[Merge] lp:~openerp-dev/openobject-addons/atp-dev-addons1 into lp:~openerp-dev/openobject-addons/trunk-dev-addons1

 

atp(OpenERP) has proposed merging lp:~openerp-dev/openobject-addons/atp-dev-addons1 into lp:~openerp-dev/openobject-addons/trunk-dev-addons1.

Requested reviews:
  Harry (Open ERP) (hmo-tinyerp)
  Sbh (Open ERP) (sbh-openerp)
Related bugs:
  #669868 project_planning : Failed to search user, KeyError: 'parent_id'
  https://bugs.launchpad.net/bugs/669868
  #673899 caldav : Calendar Collections : Fields in 'groupby' must appear in the list of fields to read
  https://bugs.launchpad.net/bugs/673899


1)Improve search view of Task hours report of project_timesheet module

2)Improvement for file descriptor close() in document module.

3)Fix parent_id problem of resource model field in document_ics module.

4)Fix caldav problem : remove "Calendars"  directory Reference.


-- 
https://code.launchpad.net/~openerp-dev/openobject-addons/atp-dev-addons1/+merge/40942
Your team OpenERP R&D Team is subscribed to branch lp:~openerp-dev/openobject-addons/atp-dev-addons1.
=== modified file 'caldav/caldav_data.xml'
--- caldav/caldav_data.xml	2010-07-29 13:39:38 +0000
+++ caldav/caldav_data.xml	2010-11-16 10:50:19 +0000
@@ -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-->
 

=== modified file 'caldav/caldav_setup.xml'
--- caldav/caldav_setup.xml	2010-10-27 10:24:29 +0000
+++ caldav/caldav_setup.xml	2010-11-16 10:50:19 +0000
@@ -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>

=== modified file 'caldav/calendar_collection.py'
--- caldav/calendar_collection.py	2010-10-12 10:40:26 +0000
+++ caldav/calendar_collection.py	2010-11-16 10:50:19 +0000
@@ -35,16 +35,12 @@
     }
     
     def _get_root_calendar_directory(self, cr, uid, context=None):
-        objid = self.pool.get('ir.model.data')
+        data_pool = self.pool.get('ir.model.data')
         try:
-            mid = objid._get_id(cr, uid, 'document', 'dir_calendars')
-            if not mid:
-                return False
-            root_id = objid.read(cr, uid, mid, ['res_id'])['res_id']
-            root_cal_dir = self.browse(cr,uid, root_id, context=context) 
-            return root_cal_dir.name
+            calendar_dir_id = data_pool.get_object(cr, uid, 'caldav', 'document_directory_calendars0')
+            return calendar_dir_id.name
         except Exception:
-            logger = logging.getLogger('document')
+            logger = logging.getLogger('caldav')
             logger.warning('Cannot set root directory for Calendars:', exc_info=True)
             return False
         return False

=== modified file 'crm_caldav/crm_caldav_data.xml'
--- crm_caldav/crm_caldav_data.xml	2010-08-10 12:31:08 +0000
+++ crm_caldav/crm_caldav_data.xml	2010-11-16 10:50:19 +0000
@@ -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>

=== modified file 'document/std_index.py'
--- document/std_index.py	2010-06-27 17:20:19 +0000
+++ document/std_index.py	2010-11-16 10:50:19 +0000
@@ -96,8 +96,13 @@
 
     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 @@
 
     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())
 

=== modified file 'document_ics/document_demo.xml'
--- document_ics/document_demo.xml	2010-05-26 08:28:37 +0000
+++ document_ics/document_demo.xml	2010-11-16 10:50:19 +0000
@@ -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"/>

=== modified file 'document_ics/document_ics_config_wizard.xml'
--- document_ics/document_ics_config_wizard.xml	2010-10-06 16:16:52 +0000
+++ document_ics/document_ics_config_wizard.xml	2010-11-16 10:50:19 +0000
@@ -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>

=== modified file 'document_ics/document_view.xml'
--- document_ics/document_view.xml	2010-05-26 08:28:37 +0000
+++ document_ics/document_view.xml	2010-11-16 10:50:19 +0000
@@ -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">

=== modified file 'document_webdav/webdav_setup.xml'
--- document_webdav/webdav_setup.xml	2010-10-27 10:24:29 +0000
+++ document_webdav/webdav_setup.xml	2010-11-16 10:50:19 +0000
@@ -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">

=== modified file 'project_caldav/project_caldav_data.xml'
--- project_caldav/project_caldav_data.xml	2010-10-12 10:41:21 +0000
+++ project_caldav/project_caldav_data.xml	2010-11-16 10:50:19 +0000
@@ -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>

=== modified file 'project_timesheet/report/task_report_view.xml'
--- project_timesheet/report/task_report_view.xml	2010-11-04 14:21:10 +0000
+++ project_timesheet/report/task_report_view.xml	2010-11-16 10:50:19 +0000
@@ -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"/>


Follow ups