Как добавить one2many в регистрационную форму Odoo 12 - PullRequest
0 голосов
/ 06 мая 2020

В форме регистрации Odoo я должен зарегистрировать общество и имя его контактного лица. как это изображение:

enter image description here

В моем файле xml я поместил это:

<div class="form-group field-is-company">
<label>Register as a compagny
<input type="bool" value="true" name="is_company" class="form-control" required="required" t-att- 
readonly="'readonly' if only_passwords else None"/>Société</label>
</div>

Итак, после регистрации, это зарегистрированное общество. Но имя child_ids не отображается. Я пробовал это:

<div class="form-group field-child_ids">
<label for="child_ids.name" class="control-label">Name of the contact</label> 
<input type="text" name="child_ids.name" id="child_ids.name" class="form-control" required="required" 
t-att-readonly="'readonly' if only_passwords else None" t-att-autofocus="'autofocus' if login and not 
only_passwords else None" />
</div>

и в mycontroller.py:

class AuthSignupHome(AuthSignupHome):

def do_signup(self, qcontext):
    """ Shared helper that creates a res.partner out of a token """
    values = {key: qcontext.get(key) for key in (
        'login', 'name', 'password', 'phone', 'street',
        'zip', 'city', 'country_id','child_ids.name','is_company')}
    if not values:
        raise UserError(_("The form was not properly filled in."))
    if values.get('password') != qcontext.get('confirm_password'):
        raise UserError(_("Passwords do not match; please retype them."))
    supported_langs = [lang['code'] for lang in request.env[
        'res.lang'].sudo().search_read([], ['code'])]
    if request.lang in supported_langs:
        values['lang'] = request.lang
    self._signup_with_values(qcontext.get('token'), values)
    request.env.cr.commit()

"child_ids" это поле "one2many. Я знаю, как опубликовать значение" one2many "в регистрации (например, страны), но я не знаю, как разместить значение в разделе "Регистрация", которое будет отображаться в "One2many", например имя или телефон представителя общества. Вы можете мне помочь или объяснить, как это сделать?

Большое спасибо

...