Browse Source

FD3-546 fix exceptions vista audit

Guillermo Espinoza 7 năm trước cách đây
mục cha
commit
cb662a84bc
2 tập tin đã thay đổi với 21 bổ sung7 xóa
  1. 1 1
      Resources/views/Audit/index.html.twig
  2. 20 6
      Services/AuditDataService.php

+ 1 - 1
Resources/views/Audit/index.html.twig

@@ -257,7 +257,7 @@
                         {{ form_widget(form.page) }}
                         {{ form_widget(form.sort_by) }}
                         {{ form_widget(form.sort_order) }}
-                        {{ form_row(form._token) }}
+                        {{ form_rest(form) }}
                         
                         
                         <div class="col-sm-3 text-center">

+ 20 - 6
Services/AuditDataService.php

@@ -7,6 +7,7 @@ use Doctrine\ORM\EntityManagerInterface;
 use SimpleThings\EntityAudit\AuditManager;
 use SimpleThings\EntityAudit\AuditReader;
 use SimpleThings\EntityAudit\Revision;
+use SimpleThings\EntityAudit\Exception\NoRevisionFoundException;
 
 class AuditDataService
 {
@@ -87,13 +88,26 @@ class AuditDataService
      */
     public function viewRevision($className, $id, $rev)
     {
-        $entity = $this->reader->find($className, $id, $rev);
+        $rev_details = [];
+        $rev_revisions = [];
+        $revdata = [];
+        try {
+            $entity = $this->reader->find($className, $id, $rev);
+        } catch(NoRevisionFoundException $e) {
+            $entity = $this->entityManager->getRepository($className)->find($id);
+        }
         
-        return array(
-            'rev_details' => $this->reader->getEntityValues($className, $entity),
-            'rev_revisions' => $this->reader->findRevisions($className, $id),
-            'revdata' => $this->reader->findRevision($rev),
-        );
+        if ($entity) {
+            $rev_details = $this->reader->getEntityValues($className, $entity);
+            $rev_revisions = $this->reader->findRevisions($className, $id);
+            $revdata = $this->reader->findRevision($rev);
+        }
+        
+        return [
+            'rev_details' => $rev_details,
+            'rev_revisions' => $rev_revisions,
+            'revdata' => $revdata,
+        ];
     }
     
     /**