TASSILI Docs
search
menu
TASSILI Docs
search
search
Custom actions
Put yours custom actions in the initModalForm() method. By default already one custom action is created. Here is an example for Model Post.

private function initModalForm(): void
{
    $this->utility->addModalForm([
        'url' => '/admin/posts/modal1',
        'icon' => 'edit',
        'text' => 'Qte',
        'class' => 'text-white',
        'confirm' => 'Are you sure to change record?',
    ])->form([
        TextInput::make('name')
    ]);
}

Here is the first custom action created
#[Post('admin/posts/modal1',middleware : ['auth'])] public function modal1(Request $request) { $this->utility->tassiliRecord = $this->modelClass::find($request->id); if ($this->utility->tassiliRecord != null ) {
$this->utility->updateRecord($request); $this->utility->tassiliRecord->save(); } }
if you want to create custom action with wizard

private function initModalForm(): void
{
    $this->utility->addModalForm([
        'url' => '/admin/articles/modal1',
        'icon' => 'edit',
        'text' => 'Qte',
        'class' => 'text-white',
        'confirm' => 'Are you sure to change record?',
    ])->form([
        TextInput::make('name'),
        TextInput::make('city'),
    ])->wizard([
        'wizardCount' => 2,
        'wizardForm' => [1 => ['name'], 2 => ['city']],
        'wizardLabel' => [1 => 'first', 2 => 'second'],
        'wizardStop' => [],
    ]);
}

Here is the first custom action created with wizard

#[Post('admin/articles/modal1', middleware: ['tassili.auth'])]
public function modal1(Request $request)
{ 
    if ($request->tassiliWizardStep == 1) {
        $request->validate(['name' => ['required']]);
    }

    if ($request->tassiliWizardStep == 2) {
        $request->validate(['city' => ['required']]);
    }

    if ($request->tassiliSaveActive == 'yes') {
        $this->utility->record = $this->modelClass::find($request->id);

        if ($this->utility->record !== null) {
             $this->utility->updateRecord($request);
             $this->utility->record->save();
        }
    }
}