Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Pop up the window of exsiting view through click event in odoo

I have created a button in jobs by using inheritance in (hr.recruitment form view) , how could I open another module("Resumes and Letters -sub menu in Human Resource " ) form_view during buttons click event is done.my aim is that I just want open that form when this click event done.

Is it possible to solve? Need help please

like image 251
PKS ks Avatar asked Aug 11 '15 11:08

PKS ks


2 Answers

yes, it is possible to open another window. you have to do like this.

@api.multi
def button_method(self):
    return {
        'type': 'ir.actions.act_window',
        'name': 'form name',
        'res_model': 'object name',
        'res_id': id ,
        'view_type': 'form',
        'view_mode': 'form',
        'target' : 'new',
        }

but it is possible when record save. if you want to open wizard before save record you have to code in js like this.

in js file: openerp.module_name = function(instance) {

var QWeb = openerp.web.qweb;
    _t = instance.web._t;

instance.web.View.include({
    load_view: function(context) {
        var self = this;
        var view_loaded_def;
        $('#oe_linking_e').click(this.on_preview_view_button);

 //this is button class which call method for open your form.

       return self._super(context);
    },

//method which open form

    on_preview_view_button: function(e){
        e.preventDefault();
            this.do_action({
                name: _t("View name"),
                type: "ir.actions.act_window",
                res_model: "object",
                domain : [],
                views: [[false, "list"],[false, "tree"]],
                target: 'new',
                context: {},
                view_type : 'list',
                view_mode : 'list'
            });
        }
    },
});
};

in xml file add button and give id="oe_linking_e" whatever you give in js code.

like image 141
Parikshit Vaghasiya Avatar answered Oct 15 '22 00:10

Parikshit Vaghasiya


you can return form in this manner.
In your button method return this dictionary. It will open the target form in a pop-up window ,

def button_method(...........):
    return {
              'name': _(some name),
              'view_type': 'form',
              "view_mode": 'form',
              'res_model': model-name,
              'type': 'ir.actions.act_window',
              'target': 'new',
              }

you can pass <br> 'res_id': target_id in the above dictionary to open a particular record

like image 39
shravan cherukuri Avatar answered Oct 15 '22 00:10

shravan cherukuri