← Back to team overview

clearcorp team mailing list archive

[Merge] lp:~rr.clearcorp/openerp-ccorp-addons/6.1-project_reports into lp:openerp-ccorp-addons

 

Ronald Rubi has proposed merging lp:~rr.clearcorp/openerp-ccorp-addons/6.1-project_reports into lp:openerp-ccorp-addons.

Requested reviews:
  CLEARCORP drivers (clearcorp-drivers)

For more details, see:
https://code.launchpad.net/~rr.clearcorp/openerp-ccorp-addons/6.1-project_reports/+merge/146965

Improve project_reports, add task ids and format
-- 
https://code.launchpad.net/~rr.clearcorp/openerp-ccorp-addons/6.1-project_reports/+merge/146965
Your team CLEARCORP development team is subscribed to branch lp:openerp-ccorp-addons.
=== modified file 'project_reports/__openerp__.py'
--- project_reports/__openerp__.py	2013-01-09 16:47:21 +0000
+++ project_reports/__openerp__.py	2013-02-06 21:29:27 +0000
@@ -20,7 +20,7 @@
 #
 ##############################################################################
 {
-    'name': 'Project Report',
+    'name': 'Project Reports',
     'version': '1.0',
     'url': 'http://launchpad.net/openerp-ccorp-addons',
     'author': 'ClearCorp S.A.',
@@ -29,9 +29,7 @@
     'complexity': 'normal',
     'description': """This module adds project reports
     """,
-    'depends': [
-                'project',
-                ],
+    'depends': ['project_extended',],
     'init_xml': [],
     'demo_xml': [],
     'update_xml': [

=== modified file 'project_reports/report/project_report.mako'
--- project_reports/report/project_report.mako	2013-01-09 16:47:21 +0000
+++ project_reports/report/project_report.mako	2013-02-06 21:29:27 +0000
@@ -42,7 +42,8 @@
             setLang(user.context_lang)
             start_date = data['form']['date_from']
             end_date = data['form']['date_to']
-            project_task_works = get_project_task_works_by_dates(cr, uid, start_date, end_date)
+            project_ids = data['form']['project_ids']
+            project_task_works = get_project_task_works_by_dates(cr, uid, start_date, end_date, project_ids)
             project_tasks = get_project_tasks(cr, uid, project_task_works)
             projects = get_projects(cr, uid, project_tasks)
             user_hours_total = get_user_hours(cr, uid, project_task_works)
@@ -57,45 +58,53 @@
         %for project in projects:
         <br></br>
             <% total_hours_project = 0.00 %>
-            <div style="font-size: 16px; font-weight: bold; text-align: left;">${project.complete_name or ' '}</div>
+            <div style="font-size: 16px; font-weight: bold; text-align: left;">${project.shortcut_name or ' '}</div>
             %for project_task in project_tasks:
                 <% total_hours_project_task = 0.00 %>
                 %if project_task.project_id.id == project.id:
                     <div class="act_as_table list_table">
                         <div class="act_as_thead">
                             <div class="act_as_row labels" style="font-weight: bold; font-size: 11x;">
-                                <div class="act_as_cell first_column" style="vertical-align: middle; text-align:center;">${_('Task Summary')}</div>
+                                <div class="act_as_cell first_column" style="width:40px; vertical-align: middle; text-align:center;">${_('ID Task')}</div>
+                                <div class="act_as_cell" style="vertical-align: middle; text-align:center;">${_('Task Summary')}</div>
                                 <div class="act_as_cell amount" style="vertical-align: middle; text-align:center;">${_('Description')}</div>
                             </div>
                         </div>
                         <div class="act_as_tbody">  
                             <div class="act_as_row lines">
-                                <div class="act_as_cell">${project_task.name or ' '}</div>
-                                <div class="act_as_cell">${project_task.description or ' '}</div>                    
+                                <div class="act_as_cell" style="width:40px; text-align:center;">${project_task.id_task or ' '}</div>
+                                <div class="act_as_cell" style="text-align:center;">${project_task.name or ' '}</div>
+                                <div class="act_as_cell" style="text-align:justify;">${project_task.description or ' '}</div>                    
                             </div>
                         </div>
                     </div>
-                    <div class="act_as_table data_table " style="width: 500px; margin-left:auto; margin-right:auto;">
+                    <div class="act_as_table data_table " style="width: 650px; margin-left:auto; margin-right:auto;">
                         <div class="act_as_thead" style="align:center">
                             <div class="act_as_row lines">
                                     <div class="act_as_cell" style="text-align:center;"><b>${_('Work Summary ')}</b></div>
-                                    <div class="act_as_cell" style="text-align:center;"><b>${_('Time Spent')}</b></div>
-                                    <div class="act_as_cell" style="text-align:center;"><b>${_('Done by')}</b></div>
+                                    <div class="act_as_cell" style="width:70px; text-align:center;"><b>${_('Date')}</b></div>
+                                    <div class="act_as_cell" style="width:80px; text-align:center;"><b>${_('Time Spent')}</b></div>
+                                    <div class="act_as_cell" style="width:120px; text-align:center;"><b>${_('Done by')}</b></div>
                                 </div>
                             </div>
                             <div class="act_as_tbody">
                                 %for project_task_work in project_task.work_ids:
                                     %if project_task_work in project_task_works:
                                         <div class="act_as_row lines">
-                                            <div class="act_as_cell"style="text-align:center;">${project_task_work.name or ' '}</div>
+                                            <div class="act_as_cell" style="text-align:justify;">${project_task_work.name or ' '}</div>
                                             <% 
+                                                datetime_project_task_work = project_task_work.date
+                                                date_project_task_work_list = datetime_project_task_work.split(' ')
+                                                date_project_task_work = date_project_task_work_list[0]
+                                            
                                                 hours_project_task_work = round(project_task_work.hours, 2)
                                                 total_hours_project_task = total_hours_project_task + project_task_work.hours
                                                 user_hours_project[project_task_work.user_id.name] = user_hours_project[project_task_work.user_id.name] + project_task_work.hours
                                                 user_hours_total[project_task_work.user_id.name] = user_hours_total[project_task_work.user_id.name] + project_task_work.hours
                                             %>
-                                            <div class="act_as_cell"style="text-align:center;">${hours_project_task_work or ' '}</div>                        
-                                            <div class="act_as_cell"style="text-align:center;">${project_task_work.user_id.name or ' '}</div>
+                                            <div class="act_as_cell" style="width:70px; text-align:center;">${date_project_task_work or ' '}</div>
+                                            <div class="act_as_cell" style="width:80px; text-align:center;">${hours_project_task_work or ' '}</div>                        
+                                            <div class="act_as_cell" style="width:120px; text-align:center;">${project_task_work.user_id.name or ' '}</div>
                                         </div>
                                     %endif
                                 %endfor

=== modified file 'project_reports/report/project_report.py'
--- project_reports/report/project_report.py	2013-01-09 16:47:21 +0000
+++ project_reports/report/project_report.py	2013-02-06 21:29:27 +0000
@@ -42,9 +42,15 @@
             'get_user_hours': self.get_user_hours,
         })
         
-    def get_project_task_works_by_dates(self, cr, uid, start_date, end_date):
+    def get_project_task_works_by_dates(self, cr, uid, start_date, end_date, project_ids=[]):
         project_task_work_obj = self.pool.get('project.task.work')
-        project_task_work_ids = project_task_work_obj.search(cr, uid, [('date','>=',start_date), ('date','<=',end_date)])
+        
+        project_task_work_ids = []
+        if project_ids == []:
+            project_task_work_ids = project_task_work_obj.search(cr, uid, [('date','>=',start_date), ('date','<=',end_date)])
+        else:
+            project_task_work_ids = project_task_work_obj.search(cr, uid, [('date','>=',start_date), ('date','<=',end_date), ('project', 'in', project_ids)])
+        
         project_task_works = project_task_work_obj.browse(cr, uid, project_task_work_ids)
         return project_task_works
         

=== modified file 'project_reports/wizard/project_report_wizard.py'
--- project_reports/wizard/project_report_wizard.py	2013-01-09 16:47:21 +0000
+++ project_reports/wizard/project_report_wizard.py	2013-02-06 21:29:27 +0000
@@ -22,11 +22,24 @@
 
 from osv import osv, fields
 
-class project_report_wizard (osv.osv_memory):
+class Project(osv.osv):
+    _inherit = "project.project"
+    _columns = {
+        'wizard_id' : fields.many2one('project.report.wizard', 'Wizard'),
+    }
+
+class ProjectWork(osv.osv):
+    _inherit = "project.task.work"
+    _columns = {
+        'project': fields.related('task_id', 'project_id', type='many2one', relation='project.project', string='Project', store=False, readonly=True)
+    }
+    
+class project_report_wizard (osv.osv):
     _name = 'project.report.wizard'
     _columns = {
         'date_from' : fields.date('Start Date', required=True),
         'date_to' : fields.date('End Date', required=True),
+        'project_ids' : fields.one2many('project.project', 'wizard_id', 'Projects'),
     }
     
     
@@ -44,7 +57,7 @@
         datas = {}
         datas['ids'] = context.get('active_ids', [])
         datas['model'] = context.get('active_model', 'ir.ui.menu')
-        datas['form'] = self.read(cr, uid, ids, ['date_from',  'date_to'], context=context)[0]
+        datas['form'] = self.read(cr, uid, ids, ['date_from',  'date_to', 'project_ids'], context=context)[0]
         return self._print_report(cr, uid, ids, datas, context=context)
 
 # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:

=== modified file 'project_reports/wizard/project_report_wizard.xml'
--- project_reports/wizard/project_report_wizard.xml	2013-01-09 16:47:21 +0000
+++ project_reports/wizard/project_report_wizard.xml	2013-02-06 21:29:27 +0000
@@ -11,7 +11,14 @@
                 <form string="Project Report">
                     <separator string="Dates" colspan="4"/>
                     <field name="date_from" />
-                    <field name="date_to" />                    
+                    <field name="date_to" />
+                    <newline/>
+                    <separator string="Projects" colspan="4" />
+                    <field name="project_ids" nolabel="1" colspan="4" widget="many2many">
+                        <tree string="Projects" editable="top">
+                            <field name="shortcut_name" />
+                        </tree>
+                    </field>
                     <newline/>
                     <label/>
                     <newline/>


Follow ups