Hello Community, I'm trying to add 'Accept and Sign' Portal Function at my maintenance request, but I'm still getting the Error Message as the following.
How can I correct it and help me to find the solution.
Thanks a lot.
My XML Code -
maintenance.id)" class="js_accept_json modal-content js_website_submit_form">
Validate Order
By signing this proposal, I agree to the following terms:
- Accepted on the behalf of:
maintenance.id)"/>
"""
"""
maintenance.id)" class="js_accept_json modal-content js_website_submit_form">
Validate Order
By signing this proposal, I agree to the following terms:
- Accepted on the behalf of:
maintenance.id)"/>
My Controller Code -
@http.route(['/my/maintenance/'], type='http', methods=["POST","GET"], website=True)
def get_maintenances_form(self, maintenance_id,**rec):
vals = {
"maintenance":maintenance_id,
'page_name':'maintenance_request_form_view',
}
maintenance_records = request.env['maintenance.request'].search([])
maintenance_ids = maintenance_records.ids
maintenance_index = maintenance_ids.index(maintenance_id.id)
if maintenance_index != 0 and maintenance_ids[maintenance_index - 1]:
vals['prev_record'] = '/my/maintenance/{}'.format(maintenance_ids[maintenance_index - 1])
if maintenance_index
vals['next_record'] = '/my/maintenance/{}'.format(maintenance_ids[maintenance_index + 1])
if request.httprequest.method == "POST":
print(rec)
else:
print("GET METHOD....")
data = request.render('snow_everest_development.se_maintenance_form_view_portal', vals)
return data
My Error Message -
2024-07-05 09:44:19,804 12745 WARNING SNOW_EVEREST_DEV odoo.http: No CSRF validation token provided for path '/my/maintenance/42'
Odoo URLs are CSRF-protected by default (when accessed with unsafe
HTTP methods). See
https://www.odoo.com/documentation/17.0/developer/reference/addons/http.html#csrf
for more details.
* if this endpoint is accessed through Odoo via py-QWeb form, embed a CSRF
token in the form, Tokens are available via `request.csrf_token()`
can be provided through a hidden input and must be POST-ed named
`csrf_token` e.g. in your form add:
* if the form is generated or posted in javascript, the token value is
available as `csrf_token` on `web.core` and as the `csrf_token`
value in the default js-qweb execution context
* if the form is accessed by an external third party (e.g. REST API
endpoint, payment gateway callback) you will need to disable CSRF
protection (and implement your own protection if necessary) by
passing the `csrf=False` parameter to the `route` decorator.
2024-07-05 09:44:20,025 12745 INFO SNOW_EVEREST_DEV werkzeug: 10.0.2.2 - - [05/Jul/2024 09:44:20] "POST /my/maintenance/42 HTTP/1.1" 400 - 23 0.016 0.247
2024-07-05 09:44:22,304 12745 INFO SNOW_EVEREST_DEV werkzeug: 10.0.2.2 - - [05/Jul/2024 09:44:22] "POST /web/webclient/version_info HTTP/1.1" 200 - 1 0.000 0.002
Please Help