Khushbu Modi(openerp) has proposed merging 
lp:~openerp-dev/openobject-addons/trunk-polish2_improve_testcase_yml_project_issue-kmo
 into lp:openobject-addons.

Requested reviews:
  OpenERP Core Team (openerp)

For more details, see:
https://code.launchpad.net/~openerp-dev/openobject-addons/trunk-polish2_improve_testcase_yml_project_issue-kmo/+merge/83607

Hello

     =========Project_issue=========

    * Added draft2open2close.yml.
    * Added cancel_issue.yml.
    * Added subscribe_issue.yml.

Thanks.
-- 
https://code.launchpad.net/~openerp-dev/openobject-addons/trunk-polish2_improve_testcase_yml_project_issue-kmo/+merge/83607
Your team OpenERP R&D Team is subscribed to branch 
lp:~openerp-dev/openobject-addons/trunk-polish2_improve_testcase_yml_project_issue-kmo.
=== modified file 'project/project.py'
--- project/project.py	2011-11-23 13:31:32 +0000
+++ project/project.py	2011-11-28 13:36:48 +0000
@@ -25,7 +25,6 @@
 
 from tools.translate import _
 from osv import fields, osv
-from resource.faces import task as Task
 
 # I think we can remove this in v6.1 since VMT's improvements in the framework ?
 #class project_project(osv.osv):
@@ -143,7 +142,6 @@
                 'project.task': (_get_project_task, ['planned_hours', 'effective_hours', 'remaining_hours', 'total_hours', 'progress', 'delay_hours','state'], 10),
             }),
         'effective_hours': fields.function(_progress_rate, multi="progress", string='Time Spent', help="Sum of spent hours of all tasks related to this project and its child projects."),
-        'resource_calendar_id': fields.many2one('resource.calendar', 'Working Time', help="Timetable working hours to adjust the gantt diagram report", states={'close':[('readonly',True)]} ),
         'total_hours': fields.function(_progress_rate, multi="progress", string='Total Time', help="Sum of total hours of all tasks related to this project and its child projects.",
             store = {
                 'project.project': (lambda self, cr, uid, ids, c={}: ids, ['tasks'], 10),
@@ -310,105 +308,6 @@
                 self.setActive(cr, uid, child_ids, value, context=None)
         return True
 
-    def _schedule_header(self, cr, uid, ids, force_members=True, context=None):
-        context = context or {}
-        if type(ids) in (long, int,):
-            ids = [ids]
-        projects = self.browse(cr, uid, ids, context=context)
-
-        for project in projects:
-            if (not project.members) and force_members:
-                raise osv.except_osv(_('Warning !'),_("You must assign members on the project '%s' !") % (project.name,))
-
-        resource_pool = self.pool.get('resource.resource')
-
-        result = "from resource.faces import *\n"
-        result += "import datetime\n"
-        for project in self.browse(cr, uid, ids, context=context):
-            u_ids = [i.id for i in project.members]
-            if project.user_id and (project.user_id.id not in u_ids):
-                u_ids.append(project.user_id.id)
-            for task in project.tasks:
-                if task.state in ('done','cancelled'):
-                    continue
-                if task.user_id and (task.user_id.id not in u_ids):
-                    u_ids.append(task.user_id.id)
-            calendar_id = project.resource_calendar_id and project.resource_calendar_id.id or False
-            resource_objs = resource_pool.generate_resources(cr, uid, u_ids, calendar_id, context=context)
-            for key, vals in resource_objs.items():
-                result +='''
-class User_%s(Resource):
-    efficiency = %s
-''' % (key,  vals.get('efficiency', False))
-
-        result += '''
-def Project():
-        '''
-        return result
-
-    def _schedule_project(self, cr, uid, project, context=None):
-        resource_pool = self.pool.get('resource.resource')
-        calendar_id = project.resource_calendar_id and project.resource_calendar_id.id or False
-        working_days = resource_pool.compute_working_calendar(cr, uid, calendar_id, context=context)
-        # TODO: check if we need working_..., default values are ok.
-        puids = [x.id for x in project.members]
-        if project.user_id:
-            puids.append(project.user_id.id)
-        result = """
-  def Project_%d():
-    start = \'%s\'
-    working_days = %s
-    resource = %s
-"""       % (
-            project.id, 
-            project.date_start, working_days,
-            '|'.join(['User_'+str(x) for x in puids])
-        )
-        vacation = calendar_id and tuple(resource_pool.compute_vacation(cr, uid, calendar_id, context=context)) or False
-        if vacation:
-            result+= """
-    vacation = %s
-""" %   ( vacation, )
-        return result
-
-    #TODO: DO Resource allocation and compute availability
-    def compute_allocation(self, rc, uid, ids, start_date, end_date, context=None):
-        if context ==  None:
-            context = {}
-        allocation = {}
-        return allocation
-
-    def schedule_tasks(self, cr, uid, ids, context=None):
-        context = context or {}
-        if type(ids) in (long, int,):
-            ids = [ids]
-        projects = self.browse(cr, uid, ids, context=context)
-        result = self._schedule_header(cr, uid, ids, False, context=context)
-        for project in projects:
-            result += self._schedule_project(cr, uid, project, context=context)
-            result += self.pool.get('project.task')._generate_task(cr, uid, project.tasks, ident=4, context=context)
-
-        local_dict = {}
-        exec result in local_dict
-        projects_gantt = Task.BalancedProject(local_dict['Project'])
-
-        for project in projects:
-            project_gantt = getattr(projects_gantt, 'Project_%d' % (project.id,))
-            for task in project.tasks:
-                if task.state in ('done','cancelled'):
-                    continue
-
-                p = getattr(project_gantt, 'Task_%d' % (task.id,))
-
-                self.pool.get('project.task').write(cr, uid, [task.id], {
-                    'date_start': p.start.strftime('%Y-%m-%d %H:%M:%S'),
-                    'date_end': p.end.strftime('%Y-%m-%d %H:%M:%S')
-                }, context=context)
-                if (not task.user_id) and (p.booked_resource):
-                    self.pool.get('project.task').write(cr, uid, [task.id], {
-                        'user_id': int(p.booked_resource[0].name[5:]),
-                    }, context=context)
-        return True
 project()
 
 class users(osv.osv):
@@ -424,6 +323,7 @@
     _log_create = True
     _date_name = "date_start"
 
+<<<<<<< TREE
 
     def _resolve_project_id_from_context(self, cr, uid, context=None):
         """Return ID of project based on the value of 'project_id'
@@ -480,6 +380,8 @@
     }
 
 
+=======
+>>>>>>> MERGE-SOURCE
     def search(self, cr, user, args, offset=0, limit=None, order=None, context=None, count=False):
         obj_project = self.pool.get('project.project')
         for domain in args:
@@ -789,7 +691,6 @@
         Close Task
         """
         request = self.pool.get('res.request')
-        if not isinstance(ids,list): ids = [ids]
         for task in self.browse(cr, uid, ids, context=context):
             vals = {}
             project = task.project_id
@@ -864,7 +765,6 @@
         return True
 
     def do_open(self, cr, uid, ids, context={}):
-        if not isinstance(ids,list): ids = [ids]
         tasks= self.browse(cr, uid, ids, context=context)
         for t in tasks:
             data = {'state': 'open'}
@@ -995,33 +895,6 @@
         res = super(task, self).unlink(cr, uid, ids, context)
         return res
 
-    def _generate_task(self, cr, uid, tasks, ident=4, context=None):
-        context = context or {}
-        result = ""
-        ident = ' '*ident
-        for task in tasks:
-            if task.state in ('done','cancelled'):
-                continue
-            result += '''
-%sdef Task_%s():
-%s  todo = \"%.2fH\"
-%s  effort = \"%.2fH\"''' % (ident,task.id, ident,task.remaining_hours, ident,task.total_hours)
-            start = []
-            for t2 in task.parent_ids:
-                start.append("up.Task_%s.end" % (t2.id,))
-            if start:
-                result += '''
-%s  start = max(%s)
-''' % (ident,','.join(start))
-
-            if task.user_id:
-                result += '''
-%s  resource = %s
-''' % (ident, 'User_'+str(task.user_id.id))
-
-        result += "\n"
-        return result
-
 task()
 
 class project_work(osv.osv):

=== modified file 'project_issue/__openerp__.py'
--- project_issue/__openerp__.py	2011-10-11 20:05:49 +0000
+++ project_issue/__openerp__.py	2011-11-28 13:36:48 +0000
@@ -54,8 +54,9 @@
      ],
     'demo_xml': ['project_issue_demo.xml'],
     'test': [
-      'test/convert_issue_to_task.yml',
-      'test/test_project_issue_states.yml'
+      'test/subscribe_issue.yml',
+      'test/draft2open2close.yml',
+      'test/cancel_issue.yml',
     ],
     'installable': True,
     'active': False,

=== modified file 'project_issue/project_issue.py'
--- project_issue/project_issue.py	2011-11-16 13:17:24 +0000
+++ project_issue/project_issue.py	2011-11-28 13:36:48 +0000
@@ -294,7 +294,6 @@
         data_obj = self.pool.get('ir.model.data')
         task_obj = self.pool.get('project.task')
 
-
         if context is None:
             context = {}
 
@@ -314,11 +313,10 @@
                 'description':bug.description,
                 'date': bug.date,
                 'project_id': bug.project_id.id,
-                'priority': bug.priority,
+                'priority': tools.ustr(int(bug.priority) - 1),
                 'user_id': bug.user_id.id,
                 'planned_hours': 0.0,
             })
-
             vals = {
                 'task_id': new_task_id,
                 'state':'pending'

=== removed file 'project_issue/test/convert_issue_to_task.yml'
--- project_issue/test/convert_issue_to_task.yml	2011-10-16 01:28:00 +0000
+++ project_issue/test/convert_issue_to_task.yml	1970-01-01 00:00:00 +0000
@@ -1,32 +0,0 @@
--
-   Create an issue  
--
-   !record {model: project.issue, id: project_issue_onchangeevent0}:
-    categ_id: project_issue.bug_categ
-    name: on_change event does not pass context to the method
-    project_id: project.project_project_22
-    working_hours_close: 0.0
-    working_hours_open: 0.0
-
--
-   Check there is no task attached to issue
--
-   !assert {model: project.issue, id: project_issue_onchangeevent0, string: There must not be any task attached to issue}:
-     - task_id.id == False
-
--
-   Convert issue to task
--
-   !python {model: project.issue}: |
-    self.convert_issue_task(cr, uid, [ref("project_issue_onchangeevent0")],
-      {"lang": "en_US", "project_id": False, "tz": False, "active_model": "ir.ui.menu",
-      "department_id": False, "section_id": False, "search_default_project_id":
-      False, "search_default_my_bugs": 1, "search_default_user_id": 1, "search_default_current_bugs":
-      1, "active_ids": [ref("project_issue.menu_project_issue_track")], "active_id":
-      ref("project_issue.menu_project_issue_track"), })
-     
--
-   Check there is a task attached to issue
--
-   !assert {model: project.issue, id: project_issue_onchangeevent0, string: After creating a task for the issue there must be a task attached to it}:
-     - task_id.id != False

=== removed file 'project_issue/test/test_project_issue_states.yml'
--- project_issue/test/test_project_issue_states.yml	2011-10-16 01:28:00 +0000
+++ project_issue/test/test_project_issue_states.yml	1970-01-01 00:00:00 +0000
@@ -1,112 +0,0 @@
--
-   Create an issue
--
-   !record {model: project.issue, id: project_issue_stockmovedates0}:
-    categ_id: project_issue.bug_categ
-    name: Stock Move dates
-    project_id: project.project_project_22
-    working_hours_close: 0.0
-    working_hours_open: 0.0
-- 
-  Check if issue in 'draft' state
--
-  !assert {model: project.issue, id: project_issue_stockmovedates0, severity: error, string: Issue is in draft state}:
-    - state == 'draft'
-        
-- 
-  Open the issue
-- 
-  !python {model: project.issue}: |
-    self.case_open(cr, uid, [ref("project_issue_stockmovedates0")], {"lang":
-      "en_US", "active_ids": [ref("project_issue.menu_project_issue_track")], "tz":
-      False, "active_model": "ir.ui.menu", "search_default_project_id": False, "search_default_my_bugs":
-      1, "search_default_user_id": 1, "search_default_current_bugs": 1, "project_id":
-      False, "active_id": ref("project_issue.menu_project_issue_track"), })
-- 
-  Check if issue in 'open' state
--
-  !assert {model: project.issue, id: project_issue_stockmovedates0, severity: error, string: Issue is in open state}:
-    - state == 'open'
-
-- 
-  Keep issue pending
-- 
-  !python {model: project.issue}: |
-    self.case_pending(cr, uid, [ref("project_issue_stockmovedates0")],
-      {"lang": "en_US", "active_ids": [ref("project_issue.menu_project_issue_track")],
-      "tz": False, "active_model": "ir.ui.menu", "search_default_project_id":
-      False, "search_default_my_bugs": 1, "search_default_user_id": 1, "search_default_current_bugs":
-      1, "project_id": False, "active_id": ref("project_issue.menu_project_issue_track"),
-      })
-- 
-  Check if issue in 'pending' state
--
-  !assert {model: project.issue, id: project_issue_stockmovedates0, severity: error, string: Issue is in pending state}:
-    - state == 'pending'
-    
-    
-- 
-  Open the issue
-- 
-  !python {model: project.issue}: |
-    self.case_open(cr, uid, [ref("project_issue_stockmovedates0")], {"lang":
-      "en_US", "active_ids": [ref("project_issue.menu_project_issue_track")], "tz":
-      False, "active_model": "ir.ui.menu", "search_default_project_id": False, "search_default_my_bugs":
-      1, "search_default_user_id": 1, "search_default_current_bugs": 1, "project_id":
-      False, "active_id": ref("project_issue.menu_project_issue_track"), })
-- 
-  Check if issue in 'open' state
--
-  !assert {model: project.issue, id: project_issue_stockmovedates0, severity: error, string: Issue is in open state}:
-    - state == 'open'
-      
-
-- 
-  Cancel the issue
-- 
-  !python {model: project.issue}: |
-    self.case_cancel(cr, uid, [ref("project_issue_stockmovedates0")],
-      {"lang": "en_US", "active_ids": [ref("project_issue.menu_project_issue_track")],
-      "tz": False, "active_model": "ir.ui.menu", "search_default_project_id":
-      False, "search_default_my_bugs": 1, "search_default_user_id": 1, "search_default_current_bugs":
-      1, "project_id": False, "active_id": ref("project_issue.menu_project_issue_track"),
-      })
-- 
-  Check if issue in 'cancel' state
--
-  !assert {model: project.issue, id: project_issue_stockmovedates0, severity: error, string: Issue is in cancel state}:
-    - state == 'cancel'
-
-    
-- 
-  Reset the issue 
-- 
-  !python {model: project.issue}: |
-    self.case_reset(cr, uid, [ref("project_issue_stockmovedates0")],
-      {"lang": "en_US", "active_ids": [ref("project_issue.menu_project_issue_track")],
-      "tz": False, "active_model": "ir.ui.menu", "search_default_project_id":
-      False, "search_default_my_bugs": 1, "search_default_user_id": 1, "search_default_current_bugs":
-      1, "project_id": False, "active_id": ref("project_issue.menu_project_issue_track"),
-      })
-- 
-  Check if issue in 'draft' state
--
-  !assert {model: project.issue, id: project_issue_stockmovedates0, severity: error, string: Issue is in draft state}:
-    - state == 'draft'
-
-
-- 
-  Close the issue
-- 
-  !python {model: project.issue}: |
-    self.case_close(cr, uid, [ref("project_issue_stockmovedates0")],
-      {"lang": "en_US", "active_ids": [ref("project_issue.menu_project_issue_track")],
-      "tz": False, "active_model": "ir.ui.menu", "search_default_project_id":
-      False, "search_default_my_bugs": 1, "search_default_user_id": 1, "search_default_current_bugs":
-      1, "project_id": False, "active_id": ref("project_issue.menu_project_issue_track"),
-      })
-- 
-  Check if issue in 'done' state
--
-  !assert {model: project.issue, id: project_issue_stockmovedates0, severity: error, string: Issue is in done state}:
-    - state == 'done'

_______________________________________________
Mailing list: https://launchpad.net/~openerp-dev-gtk
Post to     : [email protected]
Unsubscribe : https://launchpad.net/~openerp-dev-gtk
More help   : https://help.launchpad.net/ListHelp

Reply via email to