tryton-model

5.2.4 • Public • Published

Tryton Model

THIS PROJECT IS STILL A WORK IN PROGRESS !

tryton is a very extensible ERP written in Python.

tryton-model is a part of a bigger package (tryton-api) that is:

  • aimed to be a simple library to interact with a tryton server (trytond) from javascipt (node or browser)
  • could be considered as a proteus like library for javascript

History

  • This project started as a portage of sao on nodejs
  • This migration faced many problems due to sao design as a clone of GTK client
    • session is unique
    • usage of jQuery for all (ajax, object manipulation, etc)
  • This project has progressively moved from a translation to a rewrite as we decided to
    • use more ES6 features (Promises, Arrow functions, etc)
    • use standard libraries for utils functions (underscorejs)
    • make it more event driven (some ideas from backbonejs)
    • support some extra features like session serialization, triggers on start/stop, etc

Credits

Contents

tryton-model exposes:

  • a Record class to work on model instances
  • a Group class to work on model collections

Usage example

var co = require('co');
var Session = require('tryton-session');
var model = require('tryton-model');
//
var TRYTON_SERVER = 'http://localhost:7999';
var TRYTON_DATABASE = 'tryton';
var TRYTON_LOGIN = 'admin';
var TRYTON_PASSWORD = 'admin';
//
var login = '' + Math.floor(Math.random() * 1000000);
return co(function* () {
    var session = new Session(TRYTON_SERVER, TRYTON_DATABASE);
    yield session.start(TRYTON_LOGIN, TRYTON_PASSWORD);
    var user = yield model.Record(session, 'res.user');
    yield user.setDefault();
    yield user.set({
      name: 'Test User',
      login: login,
      password: login
    });
    yield user.save();
    yield session.stop();
  })
  .then(() => console.log('ok: ' + login), (err) => console.log('ko: ' + login +
    ': ' + err));

Readme

Keywords

none

Package Sidebar

Install

npm i tryton-model

Weekly Downloads

6

Version

5.2.4

License

GPL-3.0+

Unpacked Size

50.1 kB

Total Files

35

Last publish

Collaborators

  • coopengo