File: D:/HostingSpaces/Neopoints/momsecurity.be/app/QuestionCategories/Kms/QuestionCategorySection.php
<?php
/**
*
*
* @author Komma <info@komma.pro>
* @copyright (c) 2012-2016, Komma
*/
namespace App\QuestionCategories\Kms;
use App\Questions\Kms\QuestionService;
use Illuminate\Database\Eloquent\Model;
use Komma\KMS\Core\Attributes\Attribute;
use Komma\KMS\Core\Attributes\MultiSelect;
use Komma\KMS\Core\Attributes\OnOff;
use Komma\KMS\Core\Attributes\Seperator;
use Komma\KMS\Core\Attributes\TextField;
use Komma\KMS\Core\Sections\Section;
use Komma\KMS\Users\Models\KmsUserRole;
final class QuestionCategorySection extends Section
{
public function defineAttributesAndTabs(Model $currentModel = null): void
{
/** @var QuestionService $questionService */
$questionService = app()->make(QuestionService::class);
$this->tabs->makeTab()->addItems([
(new OnOff())
->setReference('active')
->setLabelText(__('KMS::global.active'))
->switchOn(),
(new TextField())
->setReference('code_name')
->setLabelText(__('KMS::global.codeName'))
->setMinimumUserRole(KmsUserRole::SuperAdmin),
(new TextField())
->setLabelText(__('KMS::global.title'))
->mapValueFrom(Attribute::ValueFromTranslationModel, 'name'),
(new Seperator()),
(new MultiSelect())
->setReference('servicepoint_id')
->setItems($questionService->getOptionsForSelect()->toArray())
->setLabelText(__('KMS::question_categories.questions'))
->enableSortable()
->mapValueFrom(Attribute::ValueFromModelHasManyRelation, 'questions|id'),
]);
}
}