Skip to Content
Menu
This question has been flagged
1 Reply
511 Views

Hello!

I am facing a problem when I try to add a screen on the public kiosk mode of the hr_assistance app. The idea is to add a screen once an employee touches its name, before accessing the pin code view in order to register the entrance or exit.

In this view, there will be the possibility to select the reason of the entrance or exit, update it on database in a new table (which I have done and it is working) and then access to the ending screen of pin code (the default by odoo module, I don't want to change it)

So, having this issue, I did a custom module that is saved with this structure and on that, I implement a js/xml view through Owl, having this structure in the manifest:

'assets': {

        'hr_attendance.assets_public_attendance': [

            'my_module_name/static/src/xml/kiosk_reason_templates.xml',

            'my_module_name/static/src/js/kiosk_reason.js'

        ],

        'my_module_name.assets_kiosk_reason': [

            'my_module_name/static/src/xml/kiosk_reason_templates.xml',

            'my_module_name/static/src/js/kiosk_reason.js'

        ],

        'web.assets_backend': [

            'my_module_name/static/src/xml/kiosk_reason_templates.xml',

            'my_module_name/static/src/js/kiosk_reason.js'

        ]

    },

and now I´m getting this problem once I click on the name of one employee:
hr_attendance.assets…endance.min.js:1834 Uncaught (in promise) OwlError: Missing template: "my_module_name.KioskReason" (for component "KioskReason")

I will share my js when I implement the template:
 
class KioskReason extends Component {
...
}

KioskReason.template = "my_module_name.KioskReason";


and the template is this one, I have done it on basic mode to test it:

<?xml version="1.0" encoding="UTF-8"?>

<templates xml:space="preserve">

<t t-name="my_module_name.KioskReason">

   <p>Hello!</p>

</t>

</templates>

Having this data, I could provide more info if requested, my Odoo version is 17. So, could you help me? Or if you know any tutotial on how to add a custom screen on public kiosk mode please refer to it.

Thanks a lot

Avatar
Discard
Best Answer

Hii,
<?xml version="1.0" encoding="UTF-8"?>

<odoo>

  <templates xml:space="preserve">

    <t t-name="my_module_name.KioskReason">

      <div class="o_kiosk_reason">

        <p>Hello!</p>

      </div>

    </t>

  </templates>

</odoo>

JS Component

File: my_module_name/static/src/js/kiosk_reason.js

/** @odoo-module **/


import { Component } from "@odoo/owl";


export class KioskReason extends Component {}

KioskReason.template = "my_module_name.KioskReason";


Manifest Assets Section (__manifest__.py):
'assets': {
    'hr_attendance.assets_public_attendance': [
        'my_module_name/static/src/xml/kiosk_reason_templates.xml',
        'my_module_name/static/src/js/kiosk_reason.js',
    ],
},
./odoo-bin -u my_module_name -d your_db_name

Avatar
Discard
Related Posts Replies Views Activity
4
May 25
2570
2
May 25
5953
1
Mar 25
1715
4
Mar 25
4562
3
Feb 25
5568