Back to Top

Creating Odoo Custom Dashboard

Updated 16 July 2021

Dashboards in Odoo are useful for visualization of data in a better way. In this article, i am going to explain how to create a custom Dashboard in Odoo. For creating the dashboard follow the steps below.

  • Step 1 :-> For creating a dashboard you need to create a model (custom.sales.dashboard in my case) and add some filed in it like color, name etc based on your requirement.
    class CustomSalesDashboard(models.Model):
        _name = "custom.sales.dashboard"
    
        color = fields.Integer(string='Color Index')
        name = fields.Char(string="Name")
    

Step 2:-> Create a kanban and form view of this above-created model. You can create a kanban view and customize it as per your requirement. I have created a basic kanban view of the above model.

<record id="channel_dashboard_kanban_view" model="ir.ui.view">
  <field name="name">custom.sales.dashboard.view</field>
  <field name="model">custom.sales.dashboard</field>
  <field name="arch" type="xml">
    <kanban class="oe_background_grey o_kanban_dashboard o_salesteam_kanban o_project_kanban " create="0">
       <field name="color"/>
       <field name="name"/>
       <templates>
          <span t-name="kanban-box"> <!-- Use <t> tag instead of <span> for color change -->
             <div t-attf-class="#{kanban_color(record.color.raw_value)} ">
                <div class="o_project_kanban_manage">
                   <a class="o_kanban_manage_toggle_button" href="#">More
                       <i class="fa fa-caret-down"/>
                    </a>
                </div>
                <div class="o_project_kanban_main" >
                  <div class="o_kanban_card_content o_visible">
                      <div class="o_kanban_primary_left" >
                          <div class="">
                              <center>
                                 <span>
                                    <span t-field="record.name"/>
                                  </span>
                              </center>
                           </div>
                            <div>
                            <center>
                               <button class="btn btn-primary" type="action" name="dashboard_sales_action_id" string="Quotations">Quotations</button>
                                    <button class="btn btn-primary" type="action" name="dashboard_sales_order_action_id" >Sales order</button>
                                    <h3>Custom Dashboard for Sales</h3>
                               </center>
                                </div>
                            </div>
                        </div>
                     <div class="o_kanban_card_manage_pane o_invisible">
                         <div class="col-xs-6 o_kanban_card_manage_section o_kanban_manage_view">
                             <div class="o_kanban_card_manage_title">
                                 <span>View</span>
                             </div>
                            </div>
                          <div t-if="widget.editable" class="o_project_kanban_colorpicker" >
                            <ul class="oe_kanban_colorpicker" data-field="color"/>
                          </div>
                     </div>
                   </div>
                </div>
            </span>
        </templates>
    </kanban>
  </field>
</record>
 <record id="channel_dashboard_form_view" model="ir.ui.view">
      <field name="name">custom.sales.dashboard.form.view</field>
      <field name="model">custom.sales.dashboard</field>
     <field name="arch" type="xml">
           <form>
               <field name="color"/>
               <field name="name"/>
          </form>
     </field>
 </record>
  • Step 3 :-> Create the action of the above view.
    <record id="custom_sales_dashboard_action" model="ir.actions.act_window">
        <field name="name">Dashboard</field>
        <field name="res_model">custom.sales.dashboard</field>
        <field name="type">ir.actions.act_window</field>
        <field name="view_type">form</field>
        <field name="context">{}</field>
        <field name="view_mode">kanban,form</field>
    </record>
    
  • Step 4:-> Create the Menu for this action.
    <menuitem id="menu_sales_config_inherited" parent= "sales_team.menu_sale_config" sequence= "1" name= "Sales Test dashboard" action="custom_sales_dashboard_action"/>
  • This is all for creating a basic dashboard, now your dashboard is ready to use.IMg1

This blog has been updated and I hope all of you there who faced any kind of issue you can try it again now. I have created the form view also that you can create a record also for the test purpose.

For odoo12 dashboard Visit this link:  https://webkul.com/blog/custom-dashboard-odoo12/

That is it.!!!
If you liked this post, It would be very grateful if you write your opinions, comments and suggestions to keep the post updated and interesting.
Thank you!

Searching for an experienced
Odoo Company ?
Find out More

Current Product Version - 2.0

. . .

Leave a Comment

Your email address will not be published. Required fields are marked*


31 comments

  • Ali Mughal
    • Jahangir Naik (Moderator)
  • Ali Mughal
    • Jahangir Naik (Moderator)
      • Ali Mughal
        • Jahangir Naik (Moderator)
  • Fazal Haleem
    • Jahangir Naik (Moderator)
  • Sapphire
    • Jahangir Naik (Moderator)
      • Sapphire
        • Jahangir Naik (Moderator)
          • Sapphire
          • Jahangir Naik (Moderator)
  • anaibi saber
  • Jahangir Naik (Moderator)
  • Sreekanth
    • Jahangir Naik (Moderator)
    • Jahangir Naik (Moderator)
    • Jahangir Naik (Moderator)
  • Arun
    • Jahangir Naik (Moderator)
  • Prakash
    • Jahangir Naik (Moderator)
  • Anand
  • Anand
    • Jahangir Naik (Moderator)
      • Arun
      • Jahangir Naik (Moderator)
  • Mohamed Fouad
    • Jahangir Naik
  • Back to Top

    Message Sent!

    If you have more details or questions, you can reply to the received confirmation email.

    Back to Home