How make my custom module visible in app switcher odoo12 through code












0















I am new to the odoo and I developed a small custom module in odoo12. The problem is I am not able to see my custom module in the app switcher page after installing the module. (Below I gave the image link, where I am not able to see the module I have created after installing).



This is the link










share|improve this question



























    0















    I am new to the odoo and I developed a small custom module in odoo12. The problem is I am not able to see my custom module in the app switcher page after installing the module. (Below I gave the image link, where I am not able to see the module I have created after installing).



    This is the link










    share|improve this question

























      0












      0








      0








      I am new to the odoo and I developed a small custom module in odoo12. The problem is I am not able to see my custom module in the app switcher page after installing the module. (Below I gave the image link, where I am not able to see the module I have created after installing).



      This is the link










      share|improve this question














      I am new to the odoo and I developed a small custom module in odoo12. The problem is I am not able to see my custom module in the app switcher page after installing the module. (Below I gave the image link, where I am not able to see the module I have created after installing).



      This is the link







      module odoo odoo-12






      share|improve this question













      share|improve this question











      share|improve this question




      share|improve this question










      asked Nov 13 '18 at 11:35









      Abhi RamAbhi Ram

      62




      62
























          1 Answer
          1






          active

          oldest

          votes


















          0














          The first step is you must define a menuitem, if you do not set a "parent" it will be a root menu and will therefore appear in the app drawer.



          <menuitem
          id="model_menu_root"
          name="Module Menu"
          web_icon="module_name,static/description/icon.png"
          groups="base.group_user"
          sequence="6"
          />


          You will probably want to have submenus to access your models, they will use this menu as their parent.



          <menuitem name="Model Name" id="menu_1_list" parent="model_menu_root"
          action="action_window"/>


          And the menu refers to the window action, which controls how your model is displayed.



          <record model="ir.actions.act_window" id="action_window">
          <field name="name">Model Name</field>
          <field name="res_model">module_name.model_name</field>
          <field name="view_mode">tree,form</field>
          </record>


          You will need to define some security rules, otherwise the menu will not appear. These are controlled in the ir.model.access.csv file which must be declared in the __manifest__.py file. In previous versions skipping this step would be fine for testing purposes as the admin user would be able to see all models but this seems to have changed in v12 and you will need to define security rules before the menu becomes visible. Security rules are explained in the odoo developer docs https://www.odoo.com/documentation/12.0/reference/security.html



          By the way, for a problem like this, usually the first place I would look would be the Odoo source code on GitHub. You can see how they have implemented the root menu and security rules on each of their modules and emulate it for your module.






          share|improve this answer
























          • in which xml should I include these menu items? or should I write a new one?

            – Abhi Ram
            Nov 15 '18 at 7:37











          • Some people choose to create a new xml for menus if you have a lot of them, if it's just one or two then you can add them in the same XML as your views.

            – djames
            Nov 15 '18 at 7:42











          Your Answer






          StackExchange.ifUsing("editor", function () {
          StackExchange.using("externalEditor", function () {
          StackExchange.using("snippets", function () {
          StackExchange.snippets.init();
          });
          });
          }, "code-snippets");

          StackExchange.ready(function() {
          var channelOptions = {
          tags: "".split(" "),
          id: "1"
          };
          initTagRenderer("".split(" "), "".split(" "), channelOptions);

          StackExchange.using("externalEditor", function() {
          // Have to fire editor after snippets, if snippets enabled
          if (StackExchange.settings.snippets.snippetsEnabled) {
          StackExchange.using("snippets", function() {
          createEditor();
          });
          }
          else {
          createEditor();
          }
          });

          function createEditor() {
          StackExchange.prepareEditor({
          heartbeatType: 'answer',
          autoActivateHeartbeat: false,
          convertImagesToLinks: true,
          noModals: true,
          showLowRepImageUploadWarning: true,
          reputationToPostImages: 10,
          bindNavPrevention: true,
          postfix: "",
          imageUploader: {
          brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
          contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
          allowUrls: true
          },
          onDemand: true,
          discardSelector: ".discard-answer"
          ,immediatelyShowMarkdownHelp:true
          });


          }
          });














          draft saved

          draft discarded


















          StackExchange.ready(
          function () {
          StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53280169%2fhow-make-my-custom-module-visible-in-app-switcher-odoo12-through-code%23new-answer', 'question_page');
          }
          );

          Post as a guest















          Required, but never shown

























          1 Answer
          1






          active

          oldest

          votes








          1 Answer
          1






          active

          oldest

          votes









          active

          oldest

          votes






          active

          oldest

          votes









          0














          The first step is you must define a menuitem, if you do not set a "parent" it will be a root menu and will therefore appear in the app drawer.



          <menuitem
          id="model_menu_root"
          name="Module Menu"
          web_icon="module_name,static/description/icon.png"
          groups="base.group_user"
          sequence="6"
          />


          You will probably want to have submenus to access your models, they will use this menu as their parent.



          <menuitem name="Model Name" id="menu_1_list" parent="model_menu_root"
          action="action_window"/>


          And the menu refers to the window action, which controls how your model is displayed.



          <record model="ir.actions.act_window" id="action_window">
          <field name="name">Model Name</field>
          <field name="res_model">module_name.model_name</field>
          <field name="view_mode">tree,form</field>
          </record>


          You will need to define some security rules, otherwise the menu will not appear. These are controlled in the ir.model.access.csv file which must be declared in the __manifest__.py file. In previous versions skipping this step would be fine for testing purposes as the admin user would be able to see all models but this seems to have changed in v12 and you will need to define security rules before the menu becomes visible. Security rules are explained in the odoo developer docs https://www.odoo.com/documentation/12.0/reference/security.html



          By the way, for a problem like this, usually the first place I would look would be the Odoo source code on GitHub. You can see how they have implemented the root menu and security rules on each of their modules and emulate it for your module.






          share|improve this answer
























          • in which xml should I include these menu items? or should I write a new one?

            – Abhi Ram
            Nov 15 '18 at 7:37











          • Some people choose to create a new xml for menus if you have a lot of them, if it's just one or two then you can add them in the same XML as your views.

            – djames
            Nov 15 '18 at 7:42
















          0














          The first step is you must define a menuitem, if you do not set a "parent" it will be a root menu and will therefore appear in the app drawer.



          <menuitem
          id="model_menu_root"
          name="Module Menu"
          web_icon="module_name,static/description/icon.png"
          groups="base.group_user"
          sequence="6"
          />


          You will probably want to have submenus to access your models, they will use this menu as their parent.



          <menuitem name="Model Name" id="menu_1_list" parent="model_menu_root"
          action="action_window"/>


          And the menu refers to the window action, which controls how your model is displayed.



          <record model="ir.actions.act_window" id="action_window">
          <field name="name">Model Name</field>
          <field name="res_model">module_name.model_name</field>
          <field name="view_mode">tree,form</field>
          </record>


          You will need to define some security rules, otherwise the menu will not appear. These are controlled in the ir.model.access.csv file which must be declared in the __manifest__.py file. In previous versions skipping this step would be fine for testing purposes as the admin user would be able to see all models but this seems to have changed in v12 and you will need to define security rules before the menu becomes visible. Security rules are explained in the odoo developer docs https://www.odoo.com/documentation/12.0/reference/security.html



          By the way, for a problem like this, usually the first place I would look would be the Odoo source code on GitHub. You can see how they have implemented the root menu and security rules on each of their modules and emulate it for your module.






          share|improve this answer
























          • in which xml should I include these menu items? or should I write a new one?

            – Abhi Ram
            Nov 15 '18 at 7:37











          • Some people choose to create a new xml for menus if you have a lot of them, if it's just one or two then you can add them in the same XML as your views.

            – djames
            Nov 15 '18 at 7:42














          0












          0








          0







          The first step is you must define a menuitem, if you do not set a "parent" it will be a root menu and will therefore appear in the app drawer.



          <menuitem
          id="model_menu_root"
          name="Module Menu"
          web_icon="module_name,static/description/icon.png"
          groups="base.group_user"
          sequence="6"
          />


          You will probably want to have submenus to access your models, they will use this menu as their parent.



          <menuitem name="Model Name" id="menu_1_list" parent="model_menu_root"
          action="action_window"/>


          And the menu refers to the window action, which controls how your model is displayed.



          <record model="ir.actions.act_window" id="action_window">
          <field name="name">Model Name</field>
          <field name="res_model">module_name.model_name</field>
          <field name="view_mode">tree,form</field>
          </record>


          You will need to define some security rules, otherwise the menu will not appear. These are controlled in the ir.model.access.csv file which must be declared in the __manifest__.py file. In previous versions skipping this step would be fine for testing purposes as the admin user would be able to see all models but this seems to have changed in v12 and you will need to define security rules before the menu becomes visible. Security rules are explained in the odoo developer docs https://www.odoo.com/documentation/12.0/reference/security.html



          By the way, for a problem like this, usually the first place I would look would be the Odoo source code on GitHub. You can see how they have implemented the root menu and security rules on each of their modules and emulate it for your module.






          share|improve this answer













          The first step is you must define a menuitem, if you do not set a "parent" it will be a root menu and will therefore appear in the app drawer.



          <menuitem
          id="model_menu_root"
          name="Module Menu"
          web_icon="module_name,static/description/icon.png"
          groups="base.group_user"
          sequence="6"
          />


          You will probably want to have submenus to access your models, they will use this menu as their parent.



          <menuitem name="Model Name" id="menu_1_list" parent="model_menu_root"
          action="action_window"/>


          And the menu refers to the window action, which controls how your model is displayed.



          <record model="ir.actions.act_window" id="action_window">
          <field name="name">Model Name</field>
          <field name="res_model">module_name.model_name</field>
          <field name="view_mode">tree,form</field>
          </record>


          You will need to define some security rules, otherwise the menu will not appear. These are controlled in the ir.model.access.csv file which must be declared in the __manifest__.py file. In previous versions skipping this step would be fine for testing purposes as the admin user would be able to see all models but this seems to have changed in v12 and you will need to define security rules before the menu becomes visible. Security rules are explained in the odoo developer docs https://www.odoo.com/documentation/12.0/reference/security.html



          By the way, for a problem like this, usually the first place I would look would be the Odoo source code on GitHub. You can see how they have implemented the root menu and security rules on each of their modules and emulate it for your module.







          share|improve this answer












          share|improve this answer



          share|improve this answer










          answered Nov 13 '18 at 15:10









          djamesdjames

          642




          642













          • in which xml should I include these menu items? or should I write a new one?

            – Abhi Ram
            Nov 15 '18 at 7:37











          • Some people choose to create a new xml for menus if you have a lot of them, if it's just one or two then you can add them in the same XML as your views.

            – djames
            Nov 15 '18 at 7:42



















          • in which xml should I include these menu items? or should I write a new one?

            – Abhi Ram
            Nov 15 '18 at 7:37











          • Some people choose to create a new xml for menus if you have a lot of them, if it's just one or two then you can add them in the same XML as your views.

            – djames
            Nov 15 '18 at 7:42

















          in which xml should I include these menu items? or should I write a new one?

          – Abhi Ram
          Nov 15 '18 at 7:37





          in which xml should I include these menu items? or should I write a new one?

          – Abhi Ram
          Nov 15 '18 at 7:37













          Some people choose to create a new xml for menus if you have a lot of them, if it's just one or two then you can add them in the same XML as your views.

          – djames
          Nov 15 '18 at 7:42





          Some people choose to create a new xml for menus if you have a lot of them, if it's just one or two then you can add them in the same XML as your views.

          – djames
          Nov 15 '18 at 7:42


















          draft saved

          draft discarded




















































          Thanks for contributing an answer to Stack Overflow!


          • Please be sure to answer the question. Provide details and share your research!

          But avoid



          • Asking for help, clarification, or responding to other answers.

          • Making statements based on opinion; back them up with references or personal experience.


          To learn more, see our tips on writing great answers.




          draft saved


          draft discarded














          StackExchange.ready(
          function () {
          StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53280169%2fhow-make-my-custom-module-visible-in-app-switcher-odoo12-through-code%23new-answer', 'question_page');
          }
          );

          Post as a guest















          Required, but never shown





















































          Required, but never shown














          Required, but never shown












          Required, but never shown







          Required, but never shown

































          Required, but never shown














          Required, but never shown












          Required, but never shown







          Required, but never shown







          Popular posts from this blog

          Xamarin.iOS Cant Deploy on Iphone

          Glorious Revolution

          Dulmage-Mendelsohn matrix decomposition in Python