~vauxoo/addons-vauxoo/7.0-acc_invo_vat_required_dev_luis

« back to all changes in this revision

Viewing changes to bzr_to_task/bzr_to_task.py

  • Committer: jose at vauxoo
  • Date: 2013-08-26 16:16:17 UTC
  • mfrom: (755.1.4 addons-vauxoo)
  • Revision ID: jose@vauxoo.com-20130826161617-osktoq2c1v32u28z
 
[MERGE] Merge to add fix by Oscar to resolve the timesheet conflict when not sending the hours variable to the taskwork, now set to 0

Show diffs side-by-side

added added

removed removed

Lines of Context:
46
46
    def get_works(self, cr, uid, ids, context=None):
47
47
        user_obj = self.pool.get('res.users')
48
48
        task_obj = self.pool.get('project.task')
49
 
        self_obj = self.browse(cr, uid, ids)[0]
50
 
        url = self_obj.url_branch
51
 
        res_id = self_obj.res_id
52
 
        inferior = self_obj.from_revno
 
49
        obj_this = self.browse(cr, uid, ids)[0]
 
50
        url = obj_this.url_branch
 
51
        res_id = obj_this.res_id
 
52
        inferior = obj_this.from_revno
53
53
        if url and res_id and inferior and int(res_id) > inferior:
54
54
            project_branch = branch.Branch.open(url)
55
55
            b_revno = project_branch.revno()
58
58
                revision_map = project_branch.get_revision_id_to_revno_map()
59
59
                if revision_map:
60
60
                    for revision_id in revision_map.keys():
61
 
                        if revision_map[revision_id][0] in range(inferior, int(res_id) + 1):
62
 
                            task_data = {}
63
 
                            revision = repo.get_revision(revision_id)
64
 
                            date = datetime.datetime.fromtimestamp(int(
65
 
                                revision.timestamp)).strftime('%Y-%m-%d %H:%M:%S')
66
 
                            splitted_revision_id = revision_id.split('-')
67
 
                            email = revision_id[0]
68
 
                            user_ids = user_obj.search(
69
 
                                cr, uid, [('email', '=', email)])
70
 
                            task_data = {
71
 
                                'name': revision.message,
72
 
                                'date_deadline': date,
73
 
                                'revno': revision_map[revision_id][0],
74
 
                            }
75
 
                            if user_ids:
76
 
                                task_data['user_id'] = user_ids[0]
77
 
                            task_ids = task_obj.search(cr, uid, [('project_id', '=', ids[
78
 
                                                       0]), ('revno', '=', task_data['revno'])])
79
 
                            if not task_ids:
80
 
                                if inferior and inferior <= task_data['revno'] and int(res_id) >= task_data['revno']:
81
 
                                    self.write(cr, uid, ids, {
82
 
                                               'tasks': [(0, 0, task_data)]})
 
61
                        task_data = {}
 
62
                        revision = repo.get_revision(revision_id)
 
63
                        date = datetime.datetime.fromtimestamp(int(
 
64
                            revision.timestamp)).strftime('%Y-%m-%d %H:%M:%S')
 
65
                        splitted_revision_id = revision_id.split('-')
 
66
                        email = revision_id[0]
 
67
                        user_ids = user_obj.search(
 
68
                            cr, uid, [('email', '=', email)])
 
69
                        task_data = {
 
70
                            'name': revision.message,
 
71
                            'date_deadline': date,
 
72
                            'revno': revision_map[revision_id][0],
 
73
                        }
 
74
                        if user_ids:
 
75
                            task_data['user_id'] = user_ids[0]
 
76
                        task_ids = task_obj.search(cr, uid, [('project_id', '=', ids[
 
77
                                                   0]), ('revno', '=', task_data['revno'])])
 
78
                        if not task_ids:
 
79
                            if inferior and inferior <= task_data['revno'] and int(res_id) >= task_data['revno']:
 
80
                                self.write(cr, uid, ids, {
 
81
                                           'tasks': [(0, 0, task_data)]})
83
82
        else:
84
83
            raise osv.except_osv(('Error'), ('Fields: URL Branch, From Revno and Revno are required to execute this operation, \
85
84
                also From Revno must be minor than Revno'))
124
123
 
125
124
    def get_works(self, cr, uid, ids, context=None):
126
125
        tw_obj = self.pool.get('project.task.work')
127
 
        obj_self = self.browse(cr, uid, ids)[0]
128
126
        user_obj = self.pool.get('res.users')
129
 
        url = obj_self.url_branch
130
 
        res_id = obj_self.res_id
131
 
        inferior = obj_self.from_revno
 
127
        obj_this = self.browse(cr, uid, ids)[0]
 
128
        url = obj_this.url_branch
 
129
        res_id = obj_this.res_id
 
130
        inferior = obj_this.from_revno
132
131
        if url and res_id and inferior and int(res_id) > inferior:
133
132
            task_branch = branch.Branch.open(url)
134
133
            b_revno = task_branch.revno()
137
136
                revision_map = task_branch.get_revision_id_to_revno_map()
138
137
                if revision_map:
139
138
                    for k in revision_map.keys():
140
 
                        if revision_map[k][0] in range(inferior, int(res_id) + 1):
141
 
                            tw_data = {}
142
 
                            revision = repo.get_revision(k)
143
 
                            date = datetime.datetime.fromtimestamp(int(
144
 
                                revision.timestamp)).strftime('%Y-%m-%d %H:%M:%S')
145
 
                            revision_id = k.split('-')
146
 
                            email = revision_id[0]
147
 
                            user_ids = user_obj.search(
148
 
                                cr, uid, [('email', '=', email)])
149
 
                            tw_data = {
150
 
                                'name': revision.message,
151
 
                                'date': date,
152
 
                                'revno': revision_map[k][0],
153
 
                            }
154
 
                            if user_ids:
155
 
                                tw_data['user_id'] = user_ids[0]
156
 
                            tw_ids = tw_obj.search(cr, uid, [('task_id', '=', ids[
157
 
                                                   0]), ('revno', '=', tw_data['revno'])])
158
 
                            if not tw_ids:
159
 
                                if inferior and inferior <= tw_data['revno'] and int(res_id) >= tw_data['revno']:
160
 
                                    self.write(cr, uid, ids, {
161
 
                                               'work_ids': [(0, 0, tw_data), ], })
 
139
                        tw_data = {}
 
140
                        revision = repo.get_revision(k)
 
141
                        date = datetime.datetime.fromtimestamp(int(
 
142
                            revision.timestamp)).strftime('%Y-%m-%d %H:%M:%S')
 
143
                        revision_id = k.split('-')
 
144
                        email = revision_id[0]
 
145
                        user_ids = user_obj.search(
 
146
                            cr, uid, [('email', '=', email)])
 
147
                        tw_data = {
 
148
                            'name': revision.message,
 
149
                            'date': date,
 
150
                            'revno': revision_map[k][0],
 
151
                            'hours': 0,
 
152
                        }
 
153
                        if user_ids:
 
154
                            tw_data['user_id'] = user_ids[0]
 
155
                        else:
 
156
                            tw_data['user_id'] = uid
 
157
                        tw_ids = tw_obj.search(cr, uid, [('task_id', '=', ids[
 
158
                                               0]), ('revno', '=', tw_data['revno'])])
 
159
                        if not tw_ids:
 
160
                            if inferior and inferior <= tw_data['revno'] and int(res_id) >= tw_data['revno']:
 
161
                                self.write(cr, uid, ids, {
 
162
                                           'work_ids': [(0, 0, tw_data), ], })
162
163
                    deadline = self.set_work_time(cr, uid, ids, context)
163
164
                    self.write(cr, uid, ids, {'date_deadline': deadline})
164
165
        else: