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.
Create an account today to enjoy exclusive features and engage with our awesome community!
Sign upRelated Posts | Replies | Views | Activity | |
---|---|---|---|---|
|
2
Mar 23
|
7962 | ||
|
2
Mar 23
|
917 | ||
|
2
May 22
|
2788 | ||
|
0
Mar 22
|
728 | ||
|
1
May 21
|
3259 |