? openerp_fixes.patch
Index: openerp_admin.inc
===================================================================
RCS file: /cvs/drupal-contrib/contributions/modules/openerp/openerp_admin.inc,v
retrieving revision 1.5
diff -u -r1.5 openerp_admin.inc
--- openerp_admin.inc	20 Jan 2011 09:58:54 -0000	1.5
+++ openerp_admin.inc	20 Feb 2011 17:16:54 -0000
@@ -180,7 +180,7 @@
         '#size'  => 10,
         '#maxlength'     => 8,
         '#default_value' => $wb_defaults['offset'],
-        '#description'   => t('Specifiy the data offset'),
+        '#description'   => t('Specify the data offset'),
       ),
 
       'limit' => array(
@@ -189,7 +189,7 @@
         '#size'  => 10,
         '#maxlength'     => 8,
         '#default_value' => $wb_defaults['limit'],
-        '#description'   => t('Specifiy the data limit'),
+        '#description'   => t('Specify the data limit'),
       ),
 
       'submit' => array(
@@ -227,18 +227,18 @@
 function openerp_server_validate($form, &$form_data) {
 
   if ( parse_url($form_data['values']['url']) === FALSE ) {
-    form_set_error('url', 'A valid URL is required.');
+    form_error($form['openerp']['url'], 'A valid URL is required.');
   }
 
   if ( ! is_numeric($form_data['values']['page_size']) || ((int) $form_data['values']['page_size'] != $form_data['values']['page_size']) ) {
-    form_set_error('page_size', 'A valid integer is required.');
+    form_error($form['openerp']['page_size'], 'A valid integer is required.');
   }
   elseif ( ((int) $form_data['values']['page_size']) < 0 ) {
-    form_set_error('page_size', 'Page size must be greater than or equal to 0');
+    form_error($form['openerp']['page_size'], 'Page size must be greater than or equal to 0');
   }
 
   if ( ! empty($form_data['values']['theme']) && ! is_dir(JQUERY_UI_PATH . "/themes/{$form_data['values']['theme']}") ) {
-    form_set_error("Theme {$form_data['values']['theme']} is not existing");
+    form_error($form['openerp']['theme'], t('Theme !theme does not exist', array('!theme' => $form_data['values']['theme'])));
   }
 }
 
@@ -250,18 +250,18 @@
   $dbs = _openerp_get_dbs();
 
   if ( ! array_key_exists($form_data['values']['erp-dbname'], $dbs) ) {
-    form_set_error('erp-dbname', 'Database not existing');
+    form_error($form['user']['erp-dbname'], 'Database not existing');
   }
 
   if ( empty($form_data['values']['erp-user']) ) {
-    form_set_error('erp-user', 'User login id is required');
+    form_error($form['user']['erp-user'], 'User login id is required');
   }
 
   $passwd = OpenERPProxy::decrypt(variable_get('openerp.password', NULL));
 
   if ( ! empty($form_data['values']['erp-passwd']) ) {
     if ( $form_data['values']['erp-passwd'] != $form_data['values']['erp-passwd-confirm'] ) {
-      form_set_error('erp-password', 'Password confirmation is not match the password field');
+      form_error($form['user']['erp-passwd'], 'Password fields doesn\'t match.');
       return;
     }
 
@@ -271,7 +271,7 @@
   $proxy = OpenERPProxy::getProxy();
 
   if ( $proxy->request('common', 'login', array($form_data['values']['erp-dbname'], $form_data['values']['erp-user'], $password)) === FALSE ) {
-    form_set_error('erp-user', 'OpenERP cannot authenticate user. Your OpenERP user id and/or password may be incorrect.', 'error');
+    form_error($form['user']['erp-user'], 'OpenERP cannot authenticate user. Your OpenERP user id and/or password may be incorrect.', 'error');
   }
 }
 
@@ -282,15 +282,15 @@
   $models = _openerp_get_models();
 
   if ( ! array_key_exists($form_data['values']['model'], $models) ) {
-    form_set_error('model', "Model {$form_data['values']['model']} is not existing");
+    form_error($form['workbench']['model'], "Model {$form_data['values']['model']} is not existing");
   }
 
   if ( ! is_numeric($form_data['values']['offset']) ) {
-    form_set_error('offset', "Offset must be a valid integer");
+    form_error($form['workbench']['offset'], "Offset must be a valid integer");
   }
 
   if ( ! is_numeric($form_data['values']['limit']) || ($form_data['values']['limit'] < 0) ) {
-    form_set_error('limit', "Limit must be an integer and must be larger than 0");
+    form_error($form['workbench']['limit'], "Limit must be an integer and must be larger than 0");
   }
 }
 
@@ -300,7 +300,7 @@
 function openerp_server_submit($form, &$form_data) {
   variable_set('openerp.url', $form_data['values']['url']);
   variable_set('openerp.default_page_size', $form_data['values']['page_size']);
-  drupal_set_message(t('Server configurations are successfully saved.'));
+  drupal_set_message(t('Server configuration successfully saved.'));
 }
 
 /**
@@ -312,7 +312,7 @@
   }
   variable_set('openerp.user',     $form_data['values']['erp-user']);
   variable_set('openerp.database', $form_data['values']['erp-dbname']);
-  drupal_set_message(t('OpenERP user configurations are successfully saved.'));
+  drupal_set_message(t('OpenERP user configuration successfully saved.'));
 }
 
 /**
@@ -376,5 +376,6 @@
   }
 
   $msg .= '</table>';
+
   $_SESSION['openerp.workbench']['result'] = $msg;
 }
Index: openerp_api.inc
===================================================================
RCS file: /cvs/drupal-contrib/contributions/modules/openerp/openerp_api.inc,v
retrieving revision 1.8
diff -u -r1.8 openerp_api.inc
--- openerp_api.inc	20 Jan 2011 09:58:54 -0000	1.8
+++ openerp_api.inc	20 Feb 2011 17:16:54 -0000
@@ -35,7 +35,6 @@
 
 // ----------------------------------------------------------------------------
 class OpenERPProxy {
-  protected $messages = array(); /** message storage */
   protected $user     = NULL;    /** user information */
 
   // --------------------------------------------------------------------------
@@ -83,7 +82,7 @@
   * @param string $msg - message to be set or NULL to get all available messages
   * @return mixed - available message(s) in an array when $msg is NULL or last set message
   */
-  function message($msg = NULL) {
+  static function message($msg = NULL) {
     static $msgs = array();
 
     if ( isset($msg) ) {
@@ -216,7 +215,7 @@
     $this->user->uid    = $uid;
     $this->user->url    = $url;
     $this->user->db     = $db;
-    $this->user->user   = $login;
+    $this->user->user   = $usr;
     $this->user->passwd = $pwd;
 
     // get user context
