Zum Inhalt springen
Menü
Sie müssen registriert sein, um mit der Community zu interagieren.
Diese Frage wurde gekennzeichnet
4 Antworten
12209 Ansichten

I would like to know whether the OpenErp v7 supports the angularJS Framework or not ???

Avatar
Verwerfen
Beste Antwort

Out of the box Openerp only supports backbone as a javascript framework and there are some works done by community to use marionett.

Avatar
Verwerfen
Beste Antwort

I don't think so... well, it depends, you can develop your application with AngularJS and query and update OpenERP information without any problem. You can do that via xml-rpc calls, that's a safe way to do that.

OpenERP allows you to develop web modules that extend OpenERP's web module, you have more information on this capability in this link:

https://doc.openerp.com/trunk/web/module/

or in the web training page:

https://doc.openerp.com/trunk/training/

Now, if you want to have further information on how to extend OpenERP's web module:

http://thierry-godin.developpez.com/openerp/tutorial-module-creation-pos-modification-english-version/

Hope this information helps,

Avatar
Verwerfen
Autor

thankz for sharing the useful links....

Beste Antwort

Done some experimenting with Angular 2 and Odoo V7.

So far it seems a good solution to create custom widgets in typescript and integrate these in the Odoo V7 client.

Create your new widget and supply the instance as a parameter so Angular 2 can use dependency injection to inject the instance in your services.

instance.web.form.MyWidget = instance.web.form.FormWidget.extend({        
template: "my_widget_template",
start: function() {
this._super();
System.import('app/main')
.then((module) => { module.main(instance); })
.catch(function(err){ console.error(err); });
console.log(instance);
}
});
instance.web.form.custom_widgets.add('angular2_widget', 'instance.web.form.MyWidget');


Now you have access to the Odoo V7 instance and access the backend it via xml-rpc 


import {Injectable} from '@angular/core';
import {Attachment} from './attachments.component'
import {Inject} from '@angular/core'
@Injectable()
export class OdooService {
constructor(@Inject('openerp') private instance: any) {}
fuction1(attachment: Attachment) {
let model = new this.instance.web.Model('memory.ir.attachment')
Model.call('create', [{test: "Bob"}])
...
}
}


The xpl-rpc calls return deferred object. Just convert it to an observable and is plays nicely in angular

Avatar
Verwerfen
Verknüpfte Beiträge Antworten Ansichten Aktivität
0
Juli 25
623
1
Juli 25
5670
0
Juli 25
1298
0
Juni 25
1239
1
Juni 25
1318