Skip to Content
Menu
This question has been flagged
1 Reply
1919 Views

Hi Guys,

i was getting this error TypeError: Model 'project.task.create.sale.order' does not exist in registry. while upgrading my custom module from 13 to 15. this works well in version 13 and the manifest file has project in it

LOG:

Traceback (most recent call last):
File "/home/odoo/src/odoo/odoo/service/server.py", line 1260, in preload_registries
registry = Registry.new(dbname, update_module=update_module)
File "/home/odoo/src/odoo/odoo/modules/registry.py", line 87, in new
odoo.modules.load_modules(registry, force_demo, status, update_module)
File "/home/odoo/src/odoo/odoo/modules/loading.py", line 470, in load_modules
processed_modules += load_marked_modules(cr, graph,
File "/home/odoo/src/odoo/odoo/modules/loading.py", line 363, in load_marked_modules
loaded, processed = load_module_graph(
File "/home/odoo/src/odoo/odoo/modules/loading.py", line 188, in load_module_graph
model_names = registry.load(cr, package)
File "/home/odoo/src/odoo/odoo/modules/registry.py", line 237, in load
model = cls._build_model(self, cr)
File "/home/odoo/src/odoo/odoo/models.py", line 616, in _build_model
raise TypeError("Model %r does not exist in registry." % name)
TypeError: Model 'project.task.create.sale.order' does not exist in registry.

Code:

from odoo import api, fields, models, _
from odoo.exceptions import UserError
class ProjectCreateSalesOrderInherit(models.TransientModel):
_inherit = 'project.task.create.sale.order'



def action_create_sale_order(self):
sale_order = self._prepare_sale_order()
# sale_order.action_confirm()
view_form_id = self.env.ref('sale.view_order_form').id
action = self.env.ref('sale.action_orders').read()[0]
action.update({
'views': [(view_form_id, 'form')],
'view_mode': 'form',
'name': sale_order.name,
'res_id': sale_order.id,
})
return action
def _prepare_sale_order(self):
sale_order = super(ProjectCreateSalesOrderInherit, self)._prepare_sale_order()
warehouse_id = self.env['stock.warehouse'].search([('name', 'ilike', 'workshop'), ('company_id', '=', self.env.company.id)], limit=1)
sale_order.write({
'warehouse_id': warehouse_id,
'task_id': self.task_id,
'computer_programming': self.task_id.comp_prog_amount
})
sale_order_line = self.env['sale.order.line'].create({
'sequence': 0,
'order_id': sale_order.id,
'display_type': 'line_section',
'name': 'Labour',
'project_id': self.task_id.project_id.id, # prevent to re-create a project on confirmation
'task_id': self.task_id.id,
})
self._make_billable_line(sale_order)
return sale_order


Manifest file:

'name': "Workshop",
'summary': """
Short (1 phrase/line) summary of the module's purpose, used as
subtitle on modules listing or apps.openerp.com""",
'description': """
Long description of module's purpose
""",
'author': "My Company",
'website': "http://www.yourcompany.com",
# Categories can be used to filter modules in modules listing
# Check https://github.com/odoo/odoo/blob/13.0/odoo/addons/base/data/ir_module_category_data.xml
# for the full list
'category': 'Workshop',
'version': '0.1',
# any module necessary for this one to work correctly
'depends': ['base', 'fleet', 'stock', 'product', 'project', 'industry_fsm'],
# always loaded
'data': [
'security/workshop_security.xml',
'security/ir.model.access.csv',
'data/ir_sequence_data.xml',
'views/vehicle_model_views.xml',
'wizards/create_work_order.xml',
'views/workshop_vehicle_services_view.xml',
'views/workshop_vehicle_views.xml',
'views/project_view.xml',
'views/contact_view.xml',
'views/view_employee.xml',
'views/sale_view.xml',
'reports/workshop_estimate_invoice_header.xml',
'reports/workshop_estimate_invoice.xml',
'reports/workshop_account_invoice_2.xml',
'reports/workshop_account_invoice_3.xml',
'reports/workshop_account_invoice.xml',
'reports/workshop_workorder_invoice.xml',
'reports/report.xml'
],
# only loaded in demonstration mode
'demo': [
'demo/demo.xml',
],
'installable': True,
'application': True,
'license': 'LGPL-3',
}

Give feedback

Footer


Avatar
Discard
Best Answer

Hi,

The error message says that there is a no model named project.task.create.sale.order in Odoo 15, so you have to check and see how this model and this functionality is changed and currently working in Odoo 15.

Based on that findings, you can modify your code and logic accordingly in your module.


Thanks & Regards

Walnut Software Solutions

Avatar
Discard