Skip to main content

Odoo 10: Close wizard and open standard form



Hi, Today we are going to learn how to open standard form after saving data in wizard.

Let's say I have created an wizard to fill basic User details and once saved open default User form. Here is the xml code for my wizrd:

<record id="view_custom_user_wizard" model="ir.ui.view">
        <field name="name">Create User</field>
        <field name="model">res.users</field>
        <field name="arch" type="xml">
            <form string="Create User">
                <group>
            <field name="company_id" />
            <field name="name" required="1"/>
            <field name="login" required="1"/>
            <field name="password" required="1" password="True" />
            <footer>
                        <button name="create_user" string="Create User" type="object" class="btn-primary"/>
                    </footer>
        </group>
            </form>
       </field>
</record>

And here is the python code for "create_user" function:

@api.multi
def create_user(self):
    # We need to get view_id where we are going the user to redirect
    self._cr.execute("select res_id from ir_model_data where name = 'view_users_form'")
    result = self._cr.fetchone()
    form_obj_id = result[0]
    return {
        'name': _('User'),
        'view_type': 'form',
        'view_mode': 'form',
        'view_id': form_obj_id,
        'res_model': 'res.users',
        'domain': [],
        'context': dict(self._context, active_ids=self.ids),
        'type': 'ir.actions.act_window',
        'target': 'current',
        'res_id': self.id, #represents user id

    }
    

That's it!!!

Thanks!!!!!!!! Enjoy Programming!! :)

Comments

  1. can u please upload the complete module

    ReplyDelete
    Replies
    1. I think it's almost complete. If you will check and wizards code from reference modules like Base, Sales, Invoices etc...you will get it

      Delete

Post a comment

Thanks for your valuable comments.

Popular posts from this blog

Odoo: Qweb Templates Cache Issue

Hi Everyone, Today I was working on a hotel booking template in Odoo and changes made in the Qweb template(.xml) were not reflecting on updating module with odoo service restart. Tried few times without any success :(. Finally, I decided to delete the old template from Odoo backend and then update module again and it worked like a charm!! :) Steps to delete template from backend: Settings --> User Interface --> Views --> Search by template name Delete the used template. Although it's a small post, but I'm sure it will meet the purpose and help someone in the future. Thanks!!! Enjoy Programming!! :) Reference Links: =================================== https://www.odoo.com/forum/help-1/question/odoo-cache-and-updating-qweb-templates-84492

Odoo12/13: Add an extra action in the tree view action button

This post will help you to add an action window in Odoo. Odoo13: <act_window id="action_make_bank_payment"              name="Do Bank Payment"              res_model="account.ob.payment"              binding_model="account.move"              view_mode="form"              target="new"              binding_views="list,form"              domain="[('type','=', 'in_invoice')]"              groups="account.group_account_user" /> Odoo12: <act_window id="action_make_bank_payment"              name="Do Bank Payment"              res_model="account.ob.payment"             view_mode="tree,form"              domain="[('type','=', 'in_invoice')]"              groups="account.group_account_user" /> Thanks!!! Enjoy Programming!! :) Reference: https://www.odoo.com/es_

Odoo/OpenERP: one2one relational field example

one2one relational field is deprecated in OpenERP version>5 but you can achieve the same using many2one relational field. You can achieve it in following two ways : 1) using many2one field in both the objects ( http://tutorialopenerp.wordpress.com/2014/04/23/one2one/ ) 2)  using inheritance by deligation You can easily find the first solution with little search over internet so let's start with 2nd solution. Scenario :  I want to create a one2one relation between two objects of openerp hr.employee and hr.employee.medical.details What I should do  i. Add _inherits section in hr_employee class ii. Add field medical_detail_id in hr_employee class class hr_employee(osv.osv):     _name = 'hr.employee'     _inherits = {' hr.employee.medical.details ': "medical_detail_id"}     _inherit = 'hr.employee'         _columns = {              'emp_code':fields.char('Employee Code', si