I want to run an external script by a button click. The button is placed in the tree view
<tree string="Session Tree">
<field name="name"/>
<button name='myButton' type='action' string="Click me"/>
</tree>
How can I achieve that?
Odoo is the world's easiest all-in-one management software.
It includes hundreds of business apps:
I want to run an external script by a button click. The button is placed in the tree view
<tree string="Session Tree">
<field name="name"/>
<button name='myButton' type='action' string="Click me"/>
</tree>
How can I achieve that?
Once i was used a pyhton code for getting document from external folder, i just made a small python script for that , you can refer this.
def get_document(self, cr, uid, ids, context=None):
matter_obj = self.pool.get('project.project')
attach_obj=self.pool.get('ir.attachment')
wizard_obj = self.pool.get('matter.attachment.wizard')
wizard_data = wizard_obj.browse(cr,uid,ids[0])
print'!!!!!!!!!!!!!!!',wizard_data.csv_file_path
print'!!!!!!!!!!!!!!!',wizard_data.document_path
if not os.path.exists(wizard_data.csv_file_path):
raise osv.except_osv(_('Warning!'), _('There is no CSV File Path exist, Choose right path'))
if not os.path.exists(wizard_data.document_path):
raise osv.except_osv(_('Warning!'), _('There is no Document File Path exist, Choose right path'))
files = glob.glob(wizard_data.csv_file_path)
for file in files:
f=open(file, 'r')
for m in f.readlines():
print '%s' % m
get_lst=m.split(',')
if len(get_lst)>=4:
print'-------',get_lst[1]
print'#########',get_lst[4]
d = get_lst[4]
print 'dddddddddddddddd',d
search_ids= matter_obj.search(cr,uid,[('name','=',get_lst[1])])
print'%%%%%%%%%',len(search_ids)
if len(search_ids):
matter_data = matter_obj.browse(cr,uid,search_ids[0])
matter_obj.write(cr,uid,matter_data.id,{'info':''})
if get_lst[4]!=False:
print']]]]]]]',"/home/logicious/Downloads/document/files/"+get_lst[4]
file_name=get_lst[4]
# if get_lst[4].find('.')!=-1:
# ext=get_lst[4].split('.')[1]
# file_name=get_lst[4].split('.')[0]+'.'+ext.lower()
# print'+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++',"/home/logicious/Downloads/document/files/"+file_name
# print '****************************',wizard_data.document_path+file_name
if os.path.exists(wizard_data.document_path+file_name):
m = open(wizard_data.document_path+file_name,'rb')
# search in matter with matter_data.name res_model res_id
#if yes than delte unlink
exist_data = attach_obj.search(cr,uid,[('res_id','=',matter_data.id)],[('res_model','=','project.project')])
print 'eeeeeeeeeee',exist_data
if exist_data:
attach_obj.unlink(cr, uid, ids, context=contex)
else:
attach_vals = {
'name': str(get_lst[4]),
'datas': base64.b64encode(m.read()),
'description': 'files',
'user_id':str(get_lst[7]),
'res_name': matter_data.name,
'res_model': 'project.project',
'res_id': matter_data.id,
}
attach_id = attach_obj.create(cr, uid, attach_vals)
else:
#message = matter_obj.browse(cr,uid,import_info)
message = matter_obj.browse(cr, uid,matter_data.id)
print'============',message.import_info
if message.import_info!=False:
matter_obj.write(cr,uid,matter_data.id,{'import_info':message.import_info +str(get_lst[4])+ ' File not attached...'})
else:
print'======@@@@@@@@@@@@@',matter_data.id
matter_obj.write(cr,uid,matter_data.id,{'import_info':str(get_lst[4])+ ' File not attached....'})
f.close()
return True
, i created a wizard based on this , and i just create one button and to getting the documents.
I am assuming you're using Odoo 8. What we usually do is add a class to the button, e.g.:
<button name="myButton" class="session-button" ...
And then we load a JavaScript file that attaches an event to that button using the class to identify it, e.g.:
$('.session-button').click(function() {
// your code here...
});
This JavaScript file can be loaded by extending the assets backend view:
<template id="assets_backend" name="my-module assets" inherit_id="web.assets_backend">
<xpath expr="." position="inside">
<script type="text/javascript" src="/my-module/static/src/js/my-js-file.js"></script>
</xpath>
</template>
I recommend adding a dependency on the "web" module as well.
Tạo tài khoản ngay hôm nay để tận hưởng các tính năng độc đáo và tham gia cộng đồng tuyệt vời của chúng tôi!
Đăng kýBài viết liên quan | Trả lời | Lượt xem | Hoạt động | |
---|---|---|---|---|
|
2
thg 3 23
|
10097 | ||
Cacher le bouton "créer" d'une liste
Đã xử lý
|
|
2
thg 3 23
|
2492 | |
Add class to button from function
Đã xử lý
|
|
2
thg 5 22
|
4476 | |
|
0
thg 3 22
|
1648 | ||
|
1
thg 5 21
|
4434 |