Esempio 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);
     //Date the model had before modifications
     $originalData = $model->getSnapshotData();
     $details = array();
     foreach ($changedFields as $field) {
         $auditDetail = new AuditDetail();
         $auditDetail->field_name = $field;
         $auditDetail->old_value = $originalData[$field];
         $auditDetail->new_value = $model->readAttribute($field);
         $details[] = $auditDetail;
     }
     $audit->details = $details;
     return $audit->save();
 }
Esempio n. 2
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());
         }
     }
 }