добавить контекст для формы в odoo 13. С js - PullRequest
0 голосов
/ 09 мая 2020

Я пытался (в течение нескольких дней) передать контекст из моего js представления в мое xml поле.

Функция JavaScript имеет кнопку создания по умолчанию

enter image description here

Мне нужно, чтобы открыть форму со значением в поле, как на скриншоте:

enter image description here

Мне нужно добавить контекст в js.

мой xml код для формы:

<field name="arch" type="xml">
            <form string="Student">
                <header>
                    <button name="button_done" string="Done" class="oe_highlight" type="object"/>
                    <button name="button_reset" string="Reset to Draft" states="done,cancel"
                            class="oe_highlight" type="object"/>
                    <button name="button_cancel" string="Cancel" type="object"/>
                    <field name="state" widget="statusbar" statusbar_visible="draft,done"/>
                </header>
                <sheet>
                    <field name="photo" widget="image" class="oe_left oe_avatar" />
                    <div class="oe_title">
                        <h3>
                            <field name="name"/>
                        </h3>
                    </div>
                    <group>
                        <group>
                            <field name="age"/>
                            <field name="gender"/>
                        </group>
                        <group>
                            <field name="student_dob"/>
                            <field name="student_blood_group"/>
                            <field name="nationality"/>
                        </group>
                    </group>
                </sheet>

мой js код:

odoo.define('invoice.action_button', function (require) {
"use strict";
var core = require('web.core');
var ListController = require('web.ListController');
var rpc = require('web.rpc');
var session = require('web.session');
var _t = core._t;
ListController.include({

    dispatch_to_new_action: function() {
        this.do_action({
            context: {'default_gender': 'Male'},
        });
        console.log('hello')
    },

   renderButtons: function($node) {
        this._super.apply(this, arguments);
            var btnsDiv =  this.$buttons;
            if (this.$buttons) {
                var createBtn = this.$buttons.find('.o_list_button_add')
            }

python код для feild:

    gender = fields.Selection(
    [('male', 'Male'), ('female', 'Female'), ('others', 'Others')],
    string='Gender')

1 Ответ

0 голосов
/ 02 июля 2020

В свой код python добавьте параметр по умолчанию, использовать не нужно JS

gender = fields.Selection([
    ('male', 'Male'), 
    ('female', 'Female'), 
    ('others', 'Others')
], string='Gender', default='male')
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...