public function _editAttribute($pn_attribute_id, $pa_values, $po_trans = null, $pa_info = null)
 {
     $t_attr = new ca_attributes($pn_attribute_id);
     $t_attr->purify($this->purify());
     if ($po_trans) {
         $t_attr->setTransaction($po_trans);
     }
     if (!$t_attr->getPrimaryKey() || $t_attr->get('table_num') != $this->tableNum() || $this->getPrimaryKey() != $t_attr->get('row_id')) {
         $this->postError(1969, _t('Can\'t edit invalid attribute'), 'BaseModelWithAttributes->editAttribute()', $pa_info['error_source']);
         return false;
     }
     if (!$t_attr->editAttribute($pa_values, $pa_info['options'])) {
         foreach ($t_attr->errors as $o_error) {
             $this->postError($o_error->getErrorNumber(), $o_error->getErrorDescription(), $o_error->getErrorContext(), $pa_info['error_source']);
         }
         return false;
     }
     return true;
 }