From a2d6f3803766da4bf86f29e500ff6c0b4cf13ab9 Mon Sep 17 00:00:00 2001
From: Thibault Dockx <thibault.dockx@fusiondirectory.org>
Date: Tue, 4 Apr 2023 17:35:43 +0100
Subject: [PATCH] :hammer: Feat(Snapshots) - First step to data source

First step to data source integration upon snapshot creation.
---
 .../snapshot/class_SnapshotCreateDialog.inc         | 13 +++++++++++++
 1 file changed, 13 insertions(+)

diff --git a/include/management/snapshot/class_SnapshotCreateDialog.inc b/include/management/snapshot/class_SnapshotCreateDialog.inc
index 89aebcf3c..dd04a8511 100644
--- a/include/management/snapshot/class_SnapshotCreateDialog.inc
+++ b/include/management/snapshot/class_SnapshotCreateDialog.inc
@@ -56,12 +56,24 @@ class SnapshotCreateDialog extends ManagementDialog
           ),
         ]
       ],
+      'dataSource' => [
+        'name'  => _('dataSource'),
+        'attrs' => [
+          new SetAttribute(
+            new SelectAttribute(
+              'Data source', _('Origin / Source of the data'),
+              'SnapshotSource', FALSE,
+            ),
+          ),
+        ]
+      ],
     ];
   }
 
   function __construct (string $dn, management $parent, string $aclCategory)
   {
     parent::__construct(NULL, NULL, $parent);
+    // The attribut will be passed to parent for later saving, dataSource might require same logic.
     $this->attributesAccess['description']->setInLdap(FALSE);
     $this->object_dn    = $dn;
     $this->aclCategory  = $aclCategory;
@@ -116,6 +128,7 @@ class SnapshotCreateDialog extends ManagementDialog
 
   function save (): array
   {
+    // We have to modify the createSnapshot to integrate the source Data
     $this->parent->createSnapshot($this->object_dn, $this->description);
     return [];
   }
-- 
GitLab