Ir al contenido
Odoo Menú
  • Inicia sesión
  • Pruébalo gratis
  • Aplicaciones
    Finanzas
    • Contabilidad
    • Facturación
    • Gastos
    • Hoja de cálculo (BI)
    • Documentos
    • Firma electrónica
    Ventas
    • CRM
    • Ventas
    • PdV para tiendas
    • PdV para restaurantes
    • Suscripciones
    • Alquiler
    Sitios web
    • Creador de sitios web
    • Comercio electrónico
    • Blog
    • Foro
    • Chat en vivo
    • eLearning
    Cadena de suministro
    • Inventario
    • Manufactura
    • PLM
    • Compras
    • Mantenimiento
    • Calidad
    Recursos humanos
    • Empleados
    • Reclutamiento
    • Vacaciones
    • Evaluaciones
    • Referencias
    • Flotilla
    Marketing
    • Redes sociales
    • Marketing por correo
    • Marketing por SMS
    • Eventos
    • Automatización de marketing
    • Encuestas
    Servicios
    • Proyectos
    • Registro de horas
    • Servicio externo
    • Soporte al cliente
    • Planeación
    • Citas
    Productividad
    • Conversaciones
    • Aprobaciones
    • IoT
    • VoIP
    • Artículos
    • WhatsApp
    Aplicaciones externas Studio de Odoo Plataforma de Odoo en la nube
  • Industrias
    Venta minorista
    • Librería
    • Tienda de ropa
    • Mueblería
    • Tienda de abarrotes
    • Ferretería
    • Juguetería
    Alimentos y hospitalidad
    • Bar y pub
    • Restaurante
    • Comida rápida
    • Casa de huéspedes
    • Distribuidora de bebidas
    • Hotel
    Bienes inmuebles
    • Agencia inmobiliaria
    • Estudio de arquitectura
    • Construcción
    • Gestión de propiedades
    • Jardinería
    • Asociación de propietarios
    Consultoría
    • Firma contable
    • Partner de Odoo
    • Agencia de marketing
    • Bufete de abogados
    • Adquisición de talentos
    • Auditorías y certificaciones
    Manufactura
    • Textil
    • Metal
    • Muebles
    • Comida
    • Cervecería
    • Regalos corporativos
    Salud y ejercicio
    • Club deportivo
    • Óptica
    • Gimnasio
    • Especialistas en bienestar
    • Farmacia
    • Peluquería
    Trades
    • Personal de mantenimiento
    • Hardware y soporte de TI
    • Sistemas de energía solar
    • Zapateros y fabricantes de calzado
    • Servicios de limpieza
    • Servicios de calefacción, ventilación y aire acondicionado
    Otros
    • Organización sin fines de lucro
    • Agencia para la protección del medio ambiente
    • Alquiler de anuncios publicitarios
    • Fotografía
    • Alquiler de bicicletas
    • Distribuidor de software
    Descubre todas las industrias
  • Odoo Community
    Aprende
    • Tutoriales
    • Documentación
    • Certificaciones
    • Capacitación
    • Blog
    • Podcast
    Fortalece la educación
    • Programa educativo
    • Scale Up! El juego empresarial
    • Visita Odoo
    Obtén el software
    • Descargar
    • Compara ediciones
    • Versiones
    Colabora
    • GitHub
    • Foro
    • Eventos
    • Traducciones
    • Conviértete en partner
    • Servicios para partners
    • Registra tu firma contable
    Obtén servicios
    • Encuentra un partner
    • Encuentra un contador
    • Contacta a un consultor
    • Servicios de implementación
    • Referencias de clientes
    • Soporte
    • Actualizaciones
    GitHub YouTube Twitter LinkedIn Instagram Facebook Spotify
    +1 (650) 691-3277
    Solicita una demostración
  • Precios
  • Ayuda
Debe estar registrado para interactuar con la comunidad.
Todas las publicaciones Personas Insignias
Etiquetas (Ver todo)
odoo accounting v14 pos v15
Acerca de este foro
Debe estar registrado para interactuar con la comunidad.
Todas las publicaciones Personas Insignias
Etiquetas (Ver todo)
odoo accounting v14 pos v15
Acerca de este foro
Ayuda

load external file script via action button click

Suscribirse

Reciba una notificación cuando haya actividad en esta publicación

Se marcó esta pregunta
buttons
2 Respuestas
8801 Vistas
Avatar
Rizan Zaky

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?

0
Avatar
Descartar
Avatar
Logicious, Logicious
Mejor respuesta

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.


0
Avatar
Descartar
Avatar
André Pereira
Mejor respuesta

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.

0
Avatar
Descartar
¿Le interesa esta conversación? ¡Participe en ella!

Cree una cuenta para poder utilizar funciones exclusivas e interactuar con la comunidad.

Registrarse
Publicaciones relacionadas Respuestas Vistas Actividad
Custom stat button (eo_stat_button) for a custom field on a partner
buttons
Avatar
Avatar
Avatar
2
mar 23
11816
Cacher le bouton "créer" d'une liste Resuelto
buttons
Avatar
Avatar
2
mar 23
3735
Add class to button from function Resuelto
buttons
Avatar
Avatar
2
may 22
6131
Bind object btn to model_id action btn?
buttons
Avatar
0
mar 22
2598
PLEASE HELP - Odoo 12 - How do you replace Create button when you inherit Product.Template
buttons
Avatar
Avatar
1
may 21
5559
Comunidad
  • Tutoriales
  • Documentación
  • Foro
Código abierto
  • Descargar
  • GitHub
  • Runbot
  • Traducciones
Servicios
  • Alojamiento en Odoo.sh
  • Soporte
  • Actualizaciones del software
  • Desarrollos personalizados
  • Educación
  • Encuentra un contador
  • Encuentra un partner
  • Conviértete en partner
Sobre nosotros
  • Nuestra empresa
  • Activos de marca
  • Contáctanos
  • Empleos
  • Eventos
  • Podcast
  • Blog
  • Clientes
  • Legal • Privacidad
  • Seguridad
الْعَرَبيّة Català 简体中文 繁體中文 (台灣) Čeština Dansk Nederlands English Suomi Français Deutsch हिंदी Bahasa Indonesia Italiano 日本語 한국어 (KR) Lietuvių kalba Język polski Português (BR) română русский язык Slovenský jazyk Slovenščina Español (América Latina) Español Svenska ภาษาไทย Türkçe українська Tiếng Việt

Odoo es un conjunto de aplicaciones de código abierto que cubren todas las necesidades de tu empresa: CRM, comercio electrónico, contabilidad, inventario, punto de venta, gestión de proyectos, etc.

La propuesta única de valor de Odoo es ser muy fácil de usar y estar totalmente integrado.

Sitio web hecho con

Odoo Experience on YouTube

1. Use the live chat to ask your questions.
2. The operator answers within a few minutes.

Live support on Youtube
Watch now