Ejemplo n.º 1
0
 /**
  * Audits an UPDATE operation
  *
  * @param  \Phalcon\Mvc\ModelInterface $model
  * @return boolean
  */
 public function auditAfterUpdate(ModelInterface $model)
 {
     $changedFields = $model->getChangedFields();
     if (count($changedFields) == 0) {
         return null;
     }
     //Create a new audit
     $audit = $this->createAudit('U', $model);
     if (is_object($audit)) {
         //Date the model had before modifications
         $originalData = $model->getSnapshotData();
         $details = [];
         $random = new Random();
         foreach ($changedFields as $field) {
             $auditDetail = new AuditDetail();
             $auditDetail->setId($random->uuid());
             $auditDetail->setFieldName($field);
             $auditDetail->setOldValue($originalData[$field]);
             $newValue = $model->readAttribute($field) ?: 'empty';
             $auditDetail->setNewValue($newValue);
             $details[] = $auditDetail;
         }
         $audit->details = $details;
         if (!$audit->save()) {
             ModelBase::saveLoger($audit->getMessages());
         }
     }
 }
Ejemplo n.º 2
0
 public function uuid()
 {
     return parent::uuid();
 }