के अंदर जावास्क्रिप्ट फ़ंक्शन ट्रिगर करें मेरा कार्य: odoo में गतिशील प्रगति पट्टी।Odoo10/Odoo11 गतिशील प्रगति पट्टी - पाइथन
मैं ओडू विजेट का उपयोग कर रहा हूं: 'progressbar'। जब भी मूल्य अपडेट किया जाता है, तो मैं दृश्य को अपडेट करना चाहता हूं - इसलिए मैं दृश्य को प्रस्तुत करने के लिए अपने पायथन लेखन विधि के अंदर on_change_input
जावास्क्रिप्ट फ़ंक्शन को ट्रिगर करना चाहता हूं।
@api.one
def updatevalue(self, val):
self.value = val
# TODO call javascript function on_change_input()
उद्देश्य है कि प्रगति, जबकि एक प्रक्रिया चल रहा है अद्यतन किया जाना चाहिए और उसके साईट को अपडेट किए बिना प्रगति देखना चाहिए, है।
क्या मेरा कार्य प्रोग्रेसबार विजेट के साथ संभव है? या ओडू में गतिशील सामग्री दिखाने की एक और संभावना है?
अगर मैं बटन के रूप में मेरे updatevalue
विधि का उपयोग करें, प्रगति बार और शायद RPC से अधिक पृष्ठ को ताज़ा करने के बिना जावास्क्रिप्ट समारोह & बुला बिना बटन क्लिक करने के बाद अद्यतन किया जाता है ... लेकिन मैं अपने कोड में विधि नाम देना चाहते हैं () इसलिए यह मदद नहीं करता है-.-
आपके समय के लिए धन्यवाद!
यहाँ कार्यप्रवाह है मैं अब तक है:
बटन do_time_consuming_task
पर उपयोगकर्ता क्लिक करता है और निम्नलिखित समारोह कहा जाता है:
def do_timeconsuming_task(self):
ws = websocket.WebSocket()
ws.connect('ws:/129.0.0.1:1234/')
data = { 'topic' : 'server_command', 'id' : self.id, 'commandName' : 'do_sth',}
payload = ujson.dumps(data)
ws.send(payload)
ws.close()
सर्वर पर, आदेश प्राप्त होता है और संसाधित। वहाँ एक खुला RPC कनेक्शन है:
odoo = odoorpc.ODOO("129.0.0.1", port=8069)
odoo.login("database", "user", "password")
my_module = odoo.env['my_module.progress_widget_test']
progress_instance = my_module.browse(id)
हर बार प्रगति मूल्य परिवर्तन मैं अपने मॉड्यूल के निम्नलिखित विधि कॉल:
progress_instance.updatevalue(new_value)
जब मूल्य 100% के बराबर होती है मैं बंद कनेक्शन
odoo.logout()
प्रगति बार क्षेत्र एक गणना क्षेत्र सही है? CybroOdoo/CybroAddons.git # 10.0 –
एक नज़र यहाँ [email protected] है। इसे 'अपडेटवल्यू' विधि को कॉल करने वाले आरपीसी के माध्यम से अपडेट किया गया है। आप किस CybroOdoo Addons का जिक्र कर रहे हैं? –
नहीं, प्रगति बार क्षेत्र (मूल्य) एक गणना क्षेत्र नहीं है: तो फिर क्यों हम अद्यतन करने की जरूरत हमेशा – IstaLibera