#javascript #html #jquery #odoo-12
#javascript #HTML #jquery #odoo-12
Вопрос:
xml-файл
<template id="auth_signup.signup" name="Sign up login">
<t t-call="web.login_layout">
<form class="oe_signup_form" role="form" method="post" t-if="not message">
<input type="hidden" name="csrf_token" t-att-value="request.csrf_token()"/>
<t t-call="auth_signup.fields">
<t t-set="only_passwords" t-value="bool(token and not invalid_token)"/>
</t>
<p class="alert alert-danger" t-if="error" role="alert">
<t t-esc="error"/>
</p>
<input type="hidden" name="redirect" t-att-value="redirect"/>
<input type="hidden" name="token" t-att-value="token"/>
<div class="text-center oe_login_buttons pt-3">
<button type="submit" class="btn btn-primary btn-block"> Sign up</button>
<a t-attf-href="/web/login?{{ keep_query() }}" class="btn btn-link btn-sm" role="button">Already have an account?</a>
<div class="o_login_auth"/>
</div>
</form>
</t>
</template>
Что я пытаюсь сделать, так это то, что мне нужно добавить отправку формы в мой пользовательский модуль, и мне нужно создать запись в модели A с данными для входа, которые пользователь предоставляет при вводе данных для входа и регистрации.
Пожалуйста, не стесняйтесь спрашивать, неясно ли мое объяснение.Спасибо,
Ответ №1:
Вам нужно переопределить метод web_auth_signup и получить данные для входа из kw
dict.
from odoo.addons.auth_signup.controllers.main import AuthSignupHome
class CustomAuthSignupHome(AuthSignupHome):
@http.route('/web/signup', type='http', auth='public', website=True, sitemap=False)
def web_auth_signup(self, *args, **kw):
response = super(CustomAuthSignupHome, self).web_auth_signup(*args, **kw)
# {'login': 'user', 'name': 'User', 'password': 'aL=5amp;A3#C"H([Sdr', 'confirm_password': 'aL=5amp;A3#C"H([Sdr', 'redirect': '', 'token': ''}
return response