Skip to content

Commit

Permalink
Added automatic slug generation for the content elements
Browse files Browse the repository at this point in the history
  • Loading branch information
simba77 committed Feb 10, 2024
1 parent 163e235 commit d3e4f44
Show file tree
Hide file tree
Showing 2 changed files with 4 additions and 4 deletions.
5 changes: 3 additions & 2 deletions src/Controllers/Admin/ContentElementsController.php
Expand Up @@ -4,6 +4,7 @@

namespace Johncms\Content\Controllers\Admin;

use Illuminate\Support\Str;
use Johncms\Content\Forms\ContentElementForm;
use Johncms\Content\Models\ContentElement;
use Johncms\Content\Services\NavChainService;
Expand Down Expand Up @@ -36,7 +37,7 @@ public function create(int $type, ?int $sectionId, Request $request, ContentElem
try {
$form->validate();
$values = $form->getRequestValues();
// TODO: Refactoring
$values['code'] = empty($values['code']) ? Str::slug($values['name']) : Str::slug($values['code']);
$values['content_type_id'] = $type;
if ($sectionId > 0) {
$values['section_id'] = $sectionId;
Expand Down Expand Up @@ -69,7 +70,6 @@ public function edit(int $elementId, Request $request, ContentElementForm $form)
$this->metaTagManager->setAll($element->name);
$this->navChain->add($element->name);

// TODO: Refactoring
$form->setValues(
[
'name' => $element->name,
Expand All @@ -84,6 +84,7 @@ public function edit(int $elementId, Request $request, ContentElementForm $form)
try {
$form->validate();
$values = $form->getRequestValues();
$values['code'] = empty($values['code']) ? Str::slug($values['name']) : Str::slug($values['code']);
$element->update($values);
$this->session->flash('message', __('The Element was Successfully Updated'));

Expand Down
3 changes: 1 addition & 2 deletions src/Forms/ContentElementForm.php
Expand Up @@ -24,8 +24,7 @@ protected function prepareFormFields(): array
->setLabel(__('Code'))
->setPlaceholder(p__('placeholder', 'Enter the Code of the Element'))
->setNameAndId('code')
->setValue($this->getValue('code'))
->setValidationRules(['NotEmpty']);
->setValue($this->getValue('code'));

$fields['detail_text'] = (new Textarea())
->setLabel(__('Detail Text'))
Expand Down

0 comments on commit d3e4f44

Please sign in to comment.