Example #1
0
 public function validateajaxAction()
 {
     $request = $this->getRequest();
     if ($request->isPost()) {
         $post_data = $request->getPost();
         $query = new \ClienteQuery();
         $query->filterBy(\BasePeer::translateFieldname('cliente', $post_data['field'], \BasePeer::TYPE_FIELDNAME, \BasePeer::TYPE_PHPNAME), $post_data['value'], \Criteria::EQUAL);
         $exist = $query->exists();
         if ($post_data['field'] == 'cliente_email') {
             $msj = 'correo electrónico en uso';
         }
         return $this->getResponse()->setContent(json_encode(array('exist' => $exist, 'msj' => $msj)));
     }
 }
 /**
  * Inspect the changes made to $object since its last version (the one stored in the database).
  * Update $entry's changes_detail to reflect the changes made.
  *
  * @param mixed $object
  * @param ncChangeLogEntry $entry
  */
 protected static function _update_changes($object, ncChangeLogEntry $entry)
 {
     //hack: remove $object from it's Peer's instance pool before diff is computed
     call_user_func(array(get_class($object->getPeer()), 'removeInstanceFromPool'), $object);
     $new_values = $object->toArray(BasePeer::TYPE_FIELDNAME);
     if (is_array($object->getPrimaryKey())) {
         $stored_object = call_user_func_array(array(get_class($object->getPeer()), 'retrieveByPK'), $object->getPrimaryKey());
     } else {
         $stored_object = call_user_func(array(get_class($object->getPeer()), 'retrieveByPK'), $object->getPrimaryKey());
     }
     if (!$stored_object) {
         // Unable to retrieve object from database: do nothing
         return false;
     }
     $stored_values = $stored_object->toArray(BasePeer::TYPE_FIELDNAME);
     $ignored_fields = self::getIgnoredFields(get_class($object));
     $dbMap = Propel::getDatabaseMap();
     $table = $dbMap->getTable(constant(get_class($object->getPeer()) . '::TABLE_NAME'));
     $diff = array('class' => get_class($object), 'pk' => $object->getPrimaryKey(), 'changes' => array());
     foreach ($new_values as $key => $value) {
         if (in_array($key, $ignored_fields)) {
             continue;
         } elseif ($value != $stored_values[$key]) {
             $column = $table->getColumn(BasePeer::translateFieldname(get_class($object), $key, BasePeer::TYPE_FIELDNAME, BasePeer::TYPE_COLNAME));
             list($value_method, $params) = self::extractValueMethod($column);
             $diff['changes'][$key] = array('old' => $stored_object->{$value_method}($params), 'new' => $object->{$value_method}($params), 'field' => $key, 'raw' => array('old' => $stored_values[$key], 'new' => $value));
         }
     }
     if (isset($diff['changes']) && empty($diff['changes'])) {
         return false;
     }
     $entry->setChangesDetail(base64_encode(serialize($diff)));
     return true;
 }