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

template.xml 

in below template contains more than one child details ..if i click the link child id one it has to go child one details page and if i click child two it has to go child two page how do i controller for it

<template name="Portal My Parent : Core Details" id="portal_children_data">

<t t-call="portal.portal_layout">

<t t-if="user_id.sudo().is_parent" t-call="portal.portal_searchbar">
<t t-set="title">Parents Child Information</t>
</t>
<t t-if="not child_ids">
<p>There are currently no information for your account !!!</p>
</t>

<div t-if="child_ids" style="background-color:white; padding: 5px 40px 20px 40px;">
<table class="mt16 table table-condensed">
<thead>
<tr>
<th>Childs</th>
</tr>
</thead>
<tbody>
<t t-if="child_ids" t-foreach="child_ids.student_ids" t-as="child">
<tr>
<td>
<a t-attf-href="/my/child/#{child.id}">
<span t-esc="child.name"/>
</a>
</td>
</tr>
</t>
</tbody>
</table>
</div>
</t>
</template>


controller.py
@http.route('/my/child/', type='http', auth='public', website=True)
def portal_parent_documents(self, **kw):
child_ids = request.env['op.parent'].sudo().search([('user_id', '=', request.session.uid)])

return request.render("portal_parents.portal_children_data", {'child_ids': child_ids})
Avatar
Discard
Best Answer

Dear Kumar,


Firstly you need to get your child record in controller and for that you already pass the child_id through link <a t-attf-href="/my/child/#{child.id}">. And To get the child_rec in controller please follow the below code.


@http.route('/my/child/', type='http', auth='public', website=True)

def get_child_details(self, **kw):

    # here in kw you will get the child id

    print("child", kw)

    # now pass this child id(kw) to get the recordset of child

    child_id = request.env['op.parent'].sudo().search([('user_id', '=', kw)])


    '''now here you need to render some other custom template/create some other custom template for all your child details but not the "portal_children_data" because it is calling the same template over and over again.'''

    return request.render("portal_parents.custom_child_template", {'child_id': child_id})

 Regards,




Email:   odoo@aktivsoftware.com

Skype: kalpeshmaheshwari

   

Avatar
Discard