openerp php library used xml-rpc , and openerp ORM
openerplib is a library for PHP that allows operations with xml-rpc [OpenERP] (http://www.openerp.com/) comfortably.
Inspired from Openerp Client Liprary python
Dependency (requirement)
- xmlrpc.inc >= 1.174 http://phpxmlrpc.sourceforge.net/ (incluida)
It requires no special installation. Copy the / openerplib where being want to use and import to your php scri
Two forms of use.
<?php
define('_OPENERPLIB_BD_', '');
define('_OPENERPLIB_UID_', 0);
define('_OPENERPLIB_PASSWD_', '');
define('_OPENERPLIB_URL_', 'http://openerp/xmlrpc');
?>
<?php
$config = array(
'bd' => 'mybdname',
'uid' => 1212,
'passwd' => 'foo',
'url' => 'http://openerp/xmlrpc',
);
$open = new OpenERP($config);
?>
<?php
$open = new OpenERP(); // read config => openerlib.inc.php
?>
<?php
// Read res.partner object with id 1 (only reads the 'id' property)
$p = $open->res_partner->get(1);
print $p->id;
// Read res.partner object with id 1 and some of its properties
$p = $open->res_partner('name', 'active')->get(1);
print $p->id;
print $p->name . " ". $p->active;
$p = $open->res_partner(array('name', 'active'))->get(1);
print $p->id;
print $p->name . " ". $p->active;
// Read res.partner object with id 1, all properties
$p = $open->res_partner('__ALL')->get(1);
print $p->id;
print $p->name . " ". $p->ref . " " . $p->vat;
?>
<?php
$p = $open->res_partner('country')->get(1);
print $p->id;
print $p->country->id; // many2one => res.country
print $p->country('name')->name;
?>
<?php
$p = $open->res_partner('departament_ids')->get(1);
print "Departaments of " . $p->id;
foreach($p->departament_ids('name', 'address_id') as $d) // res.partner.departament
print $d->name . " " . $d->address_id->id;
?>
<?php
$fields = array('street', 'email');
$results = $open->res_partner_address($fields)->search('email', '=', 'foo@bar.com');
foreach ($results as $id => $address) {
print "<h1>" . $id . "</h1>";
print "<pre>" . $address->info() . "</pre>";
print "<hr>";
}
?>
<?php
$p = $open->res_partner('name', 'active')->get(1);
$p->name = 'FOO';
$p->save();
?>
<?php
$crm = $open->crm_case;
$crm->name = 'TEST';
$crm->section_id = 10;
$crm->email_from = 'foo@bar.com';
$id = $crm->save();
print $id ? "<h1>OK: ".$id."</h1>" : "<h1>ERROR</h1><pre>". $crm->getError() . "</pre>";
?>
<?php
$crm = $open->crm_case->get(39806);
$r = $crm->workflow('case_open');
print "<pre>". print_r($r) . "</pre>";
?>
Abhishek ia.malhotra@gmail.com