Skip to Content
Menu
This question has been flagged
2 Replies
2448 Views

After processing a payment(via stripe if it matters), odoo attempts to show the Payment Status, but instead it shows Internal Server Error and dumps the QWEB template that it's unable to render. I created a duplicate test instance and am able to reproduce the issue.

I looked at the QWEB for this page, and verified I haven't modified it at all, it has very little content it just has a comment that JS will fill in the page. That seems to be what's failing since the headers and footers render fine. Is there anyway to get an error log so I can figure out what's happening? The output on the site isn't helpful since it's just the qweb that won't render, but doesn't have a backtrace or indicate why it failed to render.

In the duplicate instance I disabled all my qweb customizations, and the issue persists. I'm kinda at a loss, and it's a very disconcerting experience for customers, even though the order processes fine, and they get the confirmation emails.

Avatar
Discard
Author Best Answer

For anyone else who runs into this I've tracked down the source of the issue. It's not very intuitive though. I modified the "Sales: Order Confirmation" email template, and introduced an error there. This is somehow used in generating the web payment confirmation screen, which seems well a little bizarre/hacky to me, but was probably done to cut down on maintenance.

After resetting this template all is working again.

Avatar
Discard
Best Answer

hello, can you please detail your solution and how to introduce an error in the email template? THANKS

Avatar
Discard
Author

The solution was to reset the email template to the default. I think there is a QWEB that depends on the email template and if there is missing content the inherited view fails to render. I'm not sure if this is still an issue in he latest version we were on 16.something at the time.

Hello Nat,
can you please give me your opinion on our "server error"? Thank you

RPC_ERROR
Odoo Server Error
Traceback (most recent call last):
File "/home/odoo/odoo-v16-community/odoo/http.py", line 1633, in _serve_db
return service_model.retrying(self._serve_ir_http, self.env)
File "/home/odoo/odoo-v16-community/odoo/service/model.py", line 133, in retrying
result = func()
File "/home/odoo/odoo-v16-community/odoo/http.py", line 1660, in _serve_ir_http
response = self.dispatcher.dispatch(rule.endpoint, args)
File "/home/odoo/odoo-v16-community/odoo/http.py", line 1864, in dispatch
result = self.request.registry['ir.http']._dispatch(endpoint)
File "/home/odoo/odoo-16.0+e.20230516/odoo/addons/website/models/ir_http.py", line 235, in _dispatch
response = super()._dispatch(endpoint)
File "/home/odoo/odoo-v16-community/odoo/addons/base/models/ir_http.py", line 154, in _dispatch
result = endpoint(**request.params)
File "/home/odoo/odoo-v16-community/odoo/http.py", line 697, in route_wrapper
result = endpoint(self, *args, **params_ok)
File "/home/odoo/odoo-16.0+e.20230516/odoo/addons/web/controllers/dataset.py", line 46, in call_button
action = self._call_kw(model, method, args, kwargs)
File "/home/odoo/odoo-16.0+e.20230516/odoo/addons/web/controllers/dataset.py", line 33, in _call_kw
return call_kw(request.env[model], method, args, kwargs)
File "/home/odoo/odoo-v16-community/odoo/api.py", line 470, in call_kw
result = _call_kw_multi(method, model, args, kwargs)
File "/home/odoo/odoo-v16-community/odoo/api.py", line 455, in _call_kw_multi
result = method(recs, *args, **kwargs)
File "/home/odoo/odoo-16.0+e.20230516/odoo/addons/sale/wizard/sale_make_invoice_advance.py", line 149, in create_invoices
self._create_invoices(self.sale_order_ids)
File "/home/odoo/odoo-16.0+e.20230516/odoo/addons/sale/wizard/sale_make_invoice_advance.py", line 161, in _create_invoices
return sale_orders._create_invoices(final=self.deduct_down_payments)
File "/home/odoo/odoo-16.0+e.20230516/odoo/addons/sale/models/sale_order.py", line 1199, in _create_invoices
moves = self.env['account.move'].sudo().with_context(default_move_type='out_invoice').create(invoice_vals_list)
File "<decorator-gen-206>", line 2, in create
File "/home/odoo/odoo-v16-community/odoo/api.py", line 417, in _model_create_multi
return create(self, arg)
File "/home/odoo/odoo-16.0+e.20230516/odoo/addons/account/models/account_move.py", line 2225, in create
moves = super().create([self._sanitize_vals(vals) for vals in vals_list])
File "<decorator-gen-135>", line 2, in create
File "/home/odoo/odoo-v16-community/odoo/api.py", line 417, in _model_create_multi
return create(self, arg)
File "/home/odoo/odoo-16.0+e.20230516/odoo/addons/mail/models/mail_thread.py", line 258, in create
threads = super(MailThread, self).create(vals_list)
File "<decorator-gen-68>", line 2, in create
File "/home/odoo/odoo-v16-community/odoo/api.py", line 417, in _model_create_multi
return create(self, arg)
File "/home/odoo/odoo-v16-community/odoo/addons/base/models/ir_fields.py", line 670, in create
recs = super().create(vals_list)
File "<decorator-gen-15>", line 2, in create
File "/home/odoo/odoo-v16-community/odoo/api.py", line 417, in _model_create_multi
return create(self, arg)
File "/home/odoo/odoo-v16-community/odoo/models.py", line 3975, in create
records = self._create(data_list)
File "/home/odoo/odoo-v16-community/odoo/models.py", line 4227, in _create
records._validate_fields(name for data in data_list for name in data['stored'])
File "/home/odoo/odoo-v16-community/odoo/models.py", line 1359, in _validate_fields
check(self)
File "/home/odoo/odoo-v16-community/odoo/models.py", line 762, in wrapper
return func(self)
File "/home/odoo/odoo-16.0+e.20230516/odoo/addons/account/models/sequence_mixin.py", line 81, in _constrains_date_sequence
sequence = record[record._sequence_field]
File "/home/odoo/odoo-v16-community/odoo/models.py", line 5915, in __getitem__
return self._fields[key].__get__(self, self.env.registry[self._name])
File "/home/odoo/odoo-v16-community/odoo/fields.py", line 1158, in __get__
self.recompute(record)
File "/home/odoo/odoo-v16-community/odoo/fields.py", line 1370, in recompute
apply_except_missing(self.compute_value, recs)
File "/home/odoo/odoo-v16-community/odoo/fields.py", line 1343, in apply_except_missing
func(records)
File "/home/odoo/odoo-v16-community/odoo/fields.py", line 1392, in compute_value
records._compute_field_value(self)
File "/home/odoo/odoo-16.0+e.20230516/odoo/addons/mail/models/mail_thread.py", line 403, in _compute_field_value
return super()._compute_field_value(field)
File "/home/odoo/odoo-v16-community/odoo/models.py", line 4232, in _compute_field_value
fields.determine(field.compute, self)
File "/home/odoo/odoo-v16-community/odoo/fields.py", line 98, in determine
return needle(*args)
File "/home/odoo/odoo-16.0+e.20230516/odoo/addons/account/models/account_move.py", line 689, in _compute_name
move._set_next_sequence()
File "/home/odoo/odoo-16.0+e.20230516/odoo/addons/account_sequence/models/sequence_mixin.py", line 39, in _set_next_sequence
self.env.add_to_compute(triggered_field, self[field.name] if field else self)
File "/home/odoo/odoo-v16-community/odoo/api.py", line 816, in add_to_compute
assert field.store and field.compute, "Cannot add to recompute no-store or no-computed field "+field.name
AssertionError: Cannot add to recompute no-store or no-computed field made_sequence_hole

Author

Based on the assertion error it looks like it's having issues with the sequence number so not related to the issue we had, do you use manually specified invoice or quote numbers rather than numbers that can be incremented?

we only use a module to customize the footer and header. but we did not modify the invoice sequences

Related Posts Replies Views Activity
3
Aug 25
2854
1
May 25
2782
1
Apr 25
3750
1
Apr 25
4615
1
Apr 25
2054