Help

1

Custom menu not getting displayed on odoo portal view

Avatar
Madhav Parikh

I want to display the custom menu on the odoo portal view. XML File:

```

"1.0" encoding="UTF-8"?>
<odoo>
    <data>
      <template id="portal_my_home_loan" name="Partner Loan"
        customize_show="True" inherit_id="portal.portal_my_home">
        <xpath expr="//div[hasclass('o_portal_docs')]" position="inside">
          <t t-call="portal.portal_docs_entry">
            <t t-set="title">Partner Loant>
            <t t-set="url" t-value="'/my/loan'" />
            
          t>
        xpath>
      template>
  data>
odoo>
```

Controller file:

from odoo.addons.portal.controllers.portal import CustomerPortal

class PortalAccount(CustomerPortal):
   def _prepare_home_portal_values(self, counters):
       values = super()._prepare_home_portal_values(counters)
       values['loan_count'] = 1
       return values

Have added portal​ to depends in the manifest file as well as template.xml to the manifest file. 
Still can't see the menu on my portal view of the user. Any idea where I could go have gone wrong?

4 Komentar
Avatar
Buang
Avatar
Madhav Parikh
-

Manifest file:
'depends' : ['base', 'product', 'portal'],
'data': ['views/template.xml']

Avatar
Tommaso Cardone
-

Dd you find a solution? i've the same problem, noo menu Customize --> My portal in Odoo 16

Avatar
Andrés Carles
-

Did you solved? I have the same issue

Avatar
Farid Ghanchi
-

Missing this line *<t-set="placeholder_count" t-value="'job_count'"/>*

4 Jawaban
0
Jawaban Terbaik

Hi Madhav Parikh

Please refer below code for the template and controller and let me know if it’s not working.

Template:

Partner Loan

Please find the code in below comment. 

Controller:

class PortalAccount(CustomerPortal):
def _prepare_home_portal_values(self, counters):
values = super()._prepare_home_portal_values(counters)
partner = request.env.user.partner_id
if 'loan_count' in counters:
values['loan_count'] = 1
return values

You can also refer in base too as below:

Xml file:
https://github.com/odoo/odoo/blob/16.0/addons/sale/views/sale_portal_templates.xml#L21

controller file:
https://github.com/odoo/odoo/blob/16.0/addons/sale/controllers/portal.py#L20

I hope it will be useful to you.

Thanks & Regards,
Email: odoo@aktivsoftware.com
Skype: kalpeshmaheshwari

1 Berkomentar
Avatar
Buang

Here is the code of Template:

<template id="portal_my_home_loan" name="Partner Loan" customize_show="True" inherit_id="portal.portal_my_home" priority="20">
<xpath expr="//div[hasclass('o_portal_docs')]" position="inside">
<t t-call="portal.portal_docs_entry">
<t t-set="title">Partner Loan</t>
<t t-set="url" t-value="'/my/loan'"/>
<t t-set="placeholder_count" t-value="'loan_count'"/>
</t>
</xpath>
</template>

0
Avatar
Farid Ghanchi
Jawaban Terbaik
Hi, you miss the placeholder_count line in your code please add this line after t-set="url"
t-set="placeholder_count" t-value="'job_count'"/>

thanks

Avatar
Buang
0
Jawaban Terbaik
1 Berkomentar
Avatar
Buang
Avatar
Madhav Parikh
-

I tried this, still unable to get the results

0
Avatar
Niyas Raphy
Jawaban Terbaik

Hi,

Seems the codes are fine, are you sure that the xml file is added in the manifest file and installed the module in the database ?

Just go to the views menu under the Settings -> Technical -> User interface -> Views and just ensure that this can be located there


Thanks

1 Berkomentar
Avatar
Buang
Avatar
Madhav Parikh
-

Hello, yes the view is visible in ir.ui.view, One more thing I tried is to duplicate an existing view related to the menu on the portal, changed its name, and sequence, and even created model data entry, and even that didn't work...