From b58e7d911fd91f704ce185e585623ab6940336e6 Mon Sep 17 00:00:00 2001
From: Kai Reinhard <K.Reinhard@micromata.de>
Date: Sun, 10 Feb 2019 07:35:37 +0000
Subject: [PATCH] Works now also, if no archive is returned (e. g. due to a mis-configuration of the repo).

---
 borgbutler-webapp/src/components/views/archives/ArchiveView.jsx |   60 ++++++++++++++++++++++++++++++++----------------------------
 1 files changed, 32 insertions(+), 28 deletions(-)

diff --git a/borgbutler-webapp/src/components/views/archives/ArchiveView.jsx b/borgbutler-webapp/src/components/views/archives/ArchiveView.jsx
index 8a2a060..fd551f5 100644
--- a/borgbutler-webapp/src/components/views/archives/ArchiveView.jsx
+++ b/borgbutler-webapp/src/components/views/archives/ArchiveView.jsx
@@ -82,6 +82,34 @@
                     <IconRefresh/>
                 </div>
             </React.Fragment>;
+            let stats = null;
+            if (archive.stats) {
+                stats = <tr>
+                    <td>Stats</td>
+                    <td>
+                        <table className="inline">
+                            <tbody>
+                            <tr>
+                                <td>Compressed size</td>
+                                <td>{humanFileSize(archive.stats.compressed_size)}</td>
+                            </tr>
+                            <tr>
+                                <td>Deduplicated size</td>
+                                <td>{humanFileSize(archive.stats.deduplicated_size)}</td>
+                            </tr>
+                            <tr>
+                                <td>Original size</td>
+                                <td>{humanFileSize(archive.stats.original_size)}</td>
+                            </tr>
+                            <tr>
+                                <td>Number of files</td>
+                                <td>{Number(archive.stats.nfiles).toLocaleString()}</td>
+                            </tr>
+                            </tbody>
+                        </table>
+                    </td>
+                </tr>
+            }
             content = <React.Fragment>
                 <Nav tabs>
                     <NavLink
@@ -120,38 +148,14 @@
                                 <td>Id</td>
                                 <td>{archive.id}</td>
                             </tr>
-                            <tr>
-                                <td>Stats</td>
-                                <td>
-                                    <table className="inline">
-                                        <tbody>
-                                        <tr>
-                                            <td>Compressed size</td>
-                                            <td>{humanFileSize(archive.stats.compressed_size)}</td>
-                                        </tr>
-                                        <tr>
-                                            <td>Deduplicated size</td>
-                                            <td>{humanFileSize(archive.stats.deduplicated_size)}</td>
-                                        </tr>
-                                        <tr>
-                                            <td>Original size</td>
-                                            <td>{humanFileSize(archive.stats.original_size)}</td>
-                                        </tr>
-                                        <tr>
-                                            <td>Number of files</td>
-                                            <td>{Number(archive.stats.nfiles).toLocaleString()}</td>
-                                        </tr>
-                                        </tbody>
-                                    </table>
-                                </td>
-                            </tr>
+                            {stats}
                             <tr>
                                 <td>Comment</td>
                                 <td>{archive.comment}</td>
                             </tr>
                             <tr>
                                 <td>Command line</td>
-                                <td>{archive.commandLine.join(' ')}</td>
+                                <td>{archive.commandLine ? archive.commandLine.join(' ') : ''}</td>
                             </tr>
                             <tr>
                                 <td>Host name</td>
@@ -163,7 +167,7 @@
                             </tr>
                             <tr>
                                 <td>Chunker params</td>
-                                <td>{archive.chunkerParams.join(', ')}</td>
+                                <td>{archive.chunkerParams ? archive.chunkerParams.join(', ') : ''}</td>
                             </tr>
                             <tr>
                                 <td>Limits</td>
@@ -172,7 +176,7 @@
                                         <tbody>
                                         <tr>
                                             <td>max_archive_size</td>
-                                            <td>{archive.limits.max_archive_size}</td>
+                                            <td>{archive.limit ? archive.limits.max_archive_size : ''}</td>
                                         </tr>
                                         </tbody>
                                     </table>

--
Gitblit v1.10.0