İçereği Atla
Menü
Bu soru işaretlendi
4 Cevaplar
2985 Görünümler

Consider 4 models which are

Model1.model1
Model2.model2
Model3.model3
Model4.model4

I need to show there form view on a same page like that 

----------------------------------  ---------------------------------
-       Model1.model1    -  -       Model2.model2    -
----------------------------------  ---------------------------------

----------------------------------  ---------------------------------

-       Model3.model3    -  -       Model4.model4    -

----------------------------------  ---------------------------------  


Any idea how can i do that in odoo ? i really need that type of view.

Avatar
Vazgeç
En İyi Yanıt

Try this method

1) Write your menu like this 

<!--ACTION-->
<record id="action_display" model="ir.actions.act_url">
     <field name="name">Menu Name</field>
     <field name="url">/display_models</field>
     <field name="target">self</field>
 </record>
<!--MENU -->

<record id="menu_action" model="ir.ui.menu">

    <field name="name">Menu Name</field> 

    <field name="sequence" eval="10"/>

    <field name="action" ref="action_display"/>

</record>


2) Write Python code

from openerp import http 
from openerp.http import request

class YourClass(http.Controller):
    @http.route('/display_models', type='http', website=True)
    def index_grid(self, **kw):
             .....
        return request.render('your_module.your_template_id', {
                'model1':model1,'model2':model2,'model3':model3,'model4':model4})

3) Write Template

 <template id="your_module.your_template_id">
     <t t-call="web.menu"/><!--For menu bar-->
     <table>
        <tr>
            <td><t t-esc="model1.name"/><t t-esc="model1.partner_id"/> etc....</td>
            <td><t t-esc="model2.name"/><t t-esc="model2.partner_id"/> etc....</td>
        </tr>
        <tr><td><t t-esc="model3.name"/><t t-esc="model3.partner_id"/> etc....</td>
            <td><t t-esc="model4.name"/><t t-esc="model4.partner_id"/> etc....</td>
        </tr>
     </table>

    
</template>



Avatar
Vazgeç
Üretici

But how can i display those model fields in that route, i am using that code for display, but it not showing an thing

<div t-field="jewleryset.customer_id" t-field-options='{"widget": "relative"}'/>

En İyi Yanıt

You could do it by creating a model0 with a many2one field for every model and related fields to all the fields of the models using the model name as a suffix for the related fields and the corresponding field path using the model many2one. That will cause you to have the model0 writing to the 4 other models fields but you could manage all like one into a single view form that you could divide into four areas as you like

Avatar
Vazgeç
Üretici

Sorry am not clear with your idea, could you plz explain it using code

still waiting on this, I have time to provide an example if still is needed

En İyi Yanıt

yep, you can create one more model is `model0` then create 4 one2many fields to each your model

- one2many f1 to model1

- one2many f2 to model2

- one2many f3 to model3

- one2many f4 to model4


then design the form view for `model0` as you want

Avatar
Vazgeç
Üretici

No, i want those model all fields (includind one2many and many2one) onthat page. Like i need to show whole four forms on single page

İlgili Gönderiler Cevaplar Görünümler Aktivite
0
Eyl 23
2440
0
Eyl 23
2138
2
Haz 25
11697
6
Eki 23
22776
3
Mar 24
10045