From 2b365ef258588c432fa7d46ce2db9eebf705a19c Mon Sep 17 00:00:00 2001 From: Deon George Date: Wed, 2 Jul 2025 23:43:21 +0800 Subject: [PATCH] Implement DN Entry rename --- README.md | 2 +- app/Http/Controllers/HomeController.php | 24 +++++++++++ .../attribute/widget/options.blade.php | 4 +- resources/views/frames/dn.blade.php | 19 +++++++++ resources/views/home.blade.php | 1 + resources/views/modals/entry-rename.blade.php | 40 +++++++++++++++++++ routes/web.php | 2 + 7 files changed, 89 insertions(+), 3 deletions(-) create mode 100644 resources/views/modals/entry-rename.blade.php diff --git a/README.md b/README.md index e7f8cc95..b76ed35e 100644 --- a/README.md +++ b/README.md @@ -48,7 +48,7 @@ Entry Editing: - [ ] JpegPhoto Create/Delete - [ ] Binary attribute upload - [ ] If removing an objectClass, remove all attributes that only that objectclass provided - - [ ] Rename an entry + - [ ] Move an entry - [ ] Group membership selection - [ ] Attribute tag creation diff --git a/app/Http/Controllers/HomeController.php b/app/Http/Controllers/HomeController.php index 1751992d..691b371d 100644 --- a/app/Http/Controllers/HomeController.php +++ b/app/Http/Controllers/HomeController.php @@ -307,6 +307,30 @@ class HomeController extends Controller ->with('o',$o); } + public function entry_rename(Request $request): \Illuminate\Http\RedirectResponse|\Illuminate\View\View + { + $from_dn = Crypt::decryptString($request->post('dn')); + Log::info(sprintf('%s:Renaming [%s] to [%s]',self::LOGKEY,$from_dn,$request->post('new_rdn'))); + + $o = config('server')->fetch($from_dn); + + if (! $o) + return back() + ->withInput() + ->with('note',__('DN doesnt exist')); + + try { + $o->rename($request->post('new_rdn')); + + } catch (\Exception $e) { + return Redirect::to('/') + ->with('failed',$e->getMessage()); + } + + return Redirect::to('/') + ->with('success',[__('Entry renamed')]); + } + /** * Update a DN entry * diff --git a/resources/views/components/attribute/widget/options.blade.php b/resources/views/components/attribute/widget/options.blade.php index b5ab7dae..8d5b9598 100644 --- a/resources/views/components/attribute/widget/options.blade.php +++ b/resources/views/components/attribute/widget/options.blade.php @@ -6,7 +6,7 @@ @php($clone=FALSE) @if($o->is_rdn) - + @lang('Rename') @elseif($edit && $o->can_addvalues) @switch(get_class($o)) @case(Certificate::class) @@ -26,7 +26,7 @@ @break @case(ObjectClass::class) - (! $new)]) data-bs-toggle="modal" data-bs-target="#new_objectclass-modal"> @lang('Add Objectclass') + (! $new)]) data-bs-toggle="modal" data-bs-target="#new_objectclass-modal"> @lang('Add Objectclass')