사용자 지정 모듈을 통해 Odoo의 기능을 수정하려고합니다. 것은 프로젝트 작업 복사 기능을 변경하는 것입니다. 기본적으로 작업 요약이있는 작업으로 템플릿에서 새 프로젝트를 만들 때 작업 요약은 복사되지 않습니다 (나는 유지하고 싶습니다). 작업을 복사하는 기능을 찾았지만이 문제에 붙어 있습니다 ...Odoo 8 네이티브 모듈을 수정하는 중 오류가 발생했습니다.
이것은 내가 얻은 오류입니다.이 방법을 수정하지 않을 때는 duplicate_template()을 참조하기 때문에 이해할 수 없습니다. 프로젝트의 클래스) : 여기
Traceback (most recent call last): File "/opt/odoo/odoo-server/openerp/http.py", line 540, in
_handle_exception
return super(JsonRequest, self)._handle_exception(exception) File "/opt/odoo/odoo-server/openerp/http.py", line 577, in dispatch
result = self._call_function(**self.params) File "/opt/odoo/odoo-server/openerp/http.py", line 313, in _call_function
return checked_call(self.db, *args, **kwargs) File "/opt/odoo/odoo-server/openerp/service/model.py", line 118, in wrapper
return f(dbname, *args, **kwargs) File "/opt/odoo/odoo-server/openerp/http.py", line 310, in checked_call
return self.endpoint(*a, **kw) File "/opt/odoo/odoo-server/openerp/http.py", line 806, in __call__
return self.method(*args, **kw) File "/opt/odoo/odoo-server/openerp/http.py", line 406, in response_wrap
response = f(*args, **kw) File "/opt/odoo/odoo-server/addons/web/controllers/main.py", line 948, in call_button
action = self._call_kw(model, method, args, {}) File "/opt/odoo/odoo-server/addons/web/controllers/main.py", line 936, in
_call_kw
return getattr(request.registry.get(model), method)(request.cr, request.uid, *args, **kwargs) File "/opt/odoo/odoo-server/openerp/api.py", line 268, in wrapper
return old_api(self, *args, **kwargs) File "/opt/odoo/odoo-server/openerp/api.py", line 399, in old_api
result = method(recs, *args, **kwargs)
TypeError: duplicate_template() takes at least 4 arguments (2 given)
그리고 내 코드입니다 :
mymodule.py
import openerp
from openerp import models,fields,api
from openerp.osv import fields, osv
class task(osv.osv):
_inherit="project.task"
@api.multi
def copy_data(self, default=None, context=None):
if default is None:
default = {}
current = self.browse(cr, uid, id, context=context)
if not default.get('name'):
default['name'] = _("%s (copy)") % current.name
if 'remaining_hours' not in default:
default['remaining_hours'] = current.planned_hours
default['work_ids'] = current.work_ids
return super(task, self).copy_data(cr, uid, id, default, context)
default['work_ids'] = current.work_ids was added by me - it was not included in original function.
내가 왜 잘못 되었습니까?
도움을 주셔서 감사합니다.
친절하게 제공합니다.
할 필요가, 그것은 매우 도움이되었다. 나는 다시 문서를 읽을 것이다. 일을 분명히하기 위해서 : 나는 누군가가 나를 위해 무료로 코드를 작성하는 것을 기대하지 않았다. 감사. –