diff options
| author | vbh-odoo <vbh@odoo.com> | 2015-07-27 13:00:08 +0530 |
|---|---|---|
| committer | David Monjoie <dmo@odoo.com> | 2016-06-30 14:41:24 +0200 |
| commit | 3eb717baecb590580bb3a098308822a6ed70cd42 (patch) | |
| tree | 32feea3749bff3c7001e5dc6022e67b0fba3988f /addons/project_issue/models/project_issue.py | |
| parent | 0239d9d4da5e5383a5c185b4af28585809e66b5f (diff) | |
[MOV] project_issue: split project_issue.py and project_issue_view files
Diffstat (limited to 'addons/project_issue/models/project_issue.py')
| -rw-r--r-- | addons/project_issue/models/project_issue.py | 120 |
1 files changed, 0 insertions, 120 deletions
diff --git a/addons/project_issue/models/project_issue.py b/addons/project_issue/models/project_issue.py index 9302bf45d57..bc929a67352 100644 --- a/addons/project_issue/models/project_issue.py +++ b/addons/project_issue/models/project_issue.py @@ -457,123 +457,3 @@ class project_issue(osv.Model): headers['X-Odoo-Tags'] = ','.join([tag.name for tag in current_issue.tag_ids]) res['headers'] = repr(headers) return res - - -class project(osv.Model): - _inherit = "project.project" - - def _get_alias_models(self, cr, uid, context=None): - res = super(project, self)._get_alias_models(cr, uid, context=context) - res.append(("project.issue", "Issues")) - return res - - def _issue_count(self, cr, uid, ids, field_name, arg, context=None): - Issue = self.pool['project.issue'] - return { - project_id: Issue.search_count(cr,uid, [('project_id', '=', project_id), '|', ('stage_id.fold', '=', False), ('stage_id', '=', False)], context=context) - for project_id in ids - } - - def _issue_needaction_count(self, cr, uid, ids, field_name, arg, context=None): - Issue = self.pool['project.issue'] - res = dict.fromkeys(ids, 0) - projects = Issue.read_group(cr, uid, [('project_id', 'in', ids), ('message_needaction', '=', True)], ['project_id'], ['project_id'], context=context) - res.update({project['project_id'][0]: int(project['project_id_count']) for project in projects}) - return res - - _columns = { - 'issue_count': fields.function(_issue_count, type='integer', string="Issues",), - 'issue_ids': fields.one2many('project.issue', 'project_id', string="Issues", - domain=['|', ('stage_id.fold', '=', False), ('stage_id', '=', False)]), - 'issue_needaction_count': fields.function(_issue_needaction_count, type='integer', string="Issues",), - } - - @api.multi - def write(self, vals): - res = super(project, self).write(vals) - if 'active' in vals: - # archiving/unarchiving a project does it on its issues, too - issues = self.with_context(active_test=False).mapped('issue_ids') - issues.write({'active': vals['active']}) - return res - - -class account_analytic_account(osv.Model): - _inherit = 'account.analytic.account' - _description = 'Analytic Account' - - _columns = { - 'use_issues': fields.boolean('Use Issues', help="Check this box to manage customer activities through this project"), - } - - def on_change_template(self, cr, uid, ids, template_id, date_start=False, context=None): - res = super(account_analytic_account, self).on_change_template(cr, uid, ids, template_id, date_start=date_start, context=context) - if template_id and 'value' in res: - template = self.browse(cr, uid, template_id, context=context) - res['value']['use_issues'] = template.use_issues - return res - - def _trigger_project_creation(self, cr, uid, vals, context=None): - if context is None: - context = {} - res = super(account_analytic_account, self)._trigger_project_creation(cr, uid, vals, context=context) - return res or (vals.get('use_issues') and not 'project_creation_in_progress' in context) - - def unlink(self, cr, uid, ids, context=None): - proj_ids = self.pool['project.project'].search(cr, uid, [('analytic_account_id', 'in', ids)]) - has_issues = self.pool['project.issue'].search(cr, uid, [('project_id', 'in', proj_ids)], count=True, context=context) - if has_issues: - raise UserError(_('Please remove existing issues in the project linked to the accounts you want to delete.')) - return super(account_analytic_account, self).unlink(cr, uid, ids, context=context) - - -class project_project(osv.Model): - _inherit = 'project.project' - - _columns = { - 'label_issues': fields.char('Use Issues as', help="Customize the issues label, for example to call them cases."), - } - - _defaults = { - 'use_issues': True, - 'label_issues': 'Issues', - } - - def _check_create_write_values(self, cr, uid, vals, context=None): - """ Perform some check on values given to create or write. """ - # Handle use_tasks / use_issues: if only one is checked, alias should take the same model - if vals.get('use_tasks') and not vals.get('use_issues'): - vals['alias_model'] = 'project.task' - elif vals.get('use_issues') and not vals.get('use_tasks'): - vals['alias_model'] = 'project.issue' - - def on_change_use_tasks_or_issues(self, cr, uid, ids, use_tasks, use_issues, context=None): - values = {} - if use_tasks and not use_issues: - values['alias_model'] = 'project.task' - elif not use_tasks and use_issues: - values['alias_model'] = 'project.issue' - return {'value': values} - - def create(self, cr, uid, vals, context=None): - self._check_create_write_values(cr, uid, vals, context=context) - return super(project_project, self).create(cr, uid, vals, context=context) - - def write(self, cr, uid, ids, vals, context=None): - self._check_create_write_values(cr, uid, vals, context=context) - return super(project_project, self).write(cr, uid, ids, vals, context=context) - -class res_partner(osv.osv): - def _issue_count(self, cr, uid, ids, field_name, arg, context=None): - Issue = self.pool['project.issue'] - partners = {id: self.search(cr, uid, [('id', 'child_of', ids)]) for id in ids} - return { - partner_id: Issue.search_count(cr, uid, [('partner_id', 'in', partners[partner_id])]) - for partner_id in partners.keys() - } - - """ Inherits partner and adds Issue information in the partner form """ - _inherit = 'res.partner' - _columns = { - 'issue_count': fields.function(_issue_count, string='# Issues', type='integer'), - } |
