Enable selection of categories for team
This commit is contained in:
@@ -29,6 +29,7 @@ namespace EP\EpProducts\Controller;
|
|||||||
|
|
||||||
use EP\EpProducts\Domain\Model\Teammember;
|
use EP\EpProducts\Domain\Model\Teammember;
|
||||||
use EP\EpProducts\Domain\Repository\TeammemberRepository;
|
use EP\EpProducts\Domain\Repository\TeammemberRepository;
|
||||||
|
use TYPO3\CMS\Core\Utility\GeneralUtility;
|
||||||
use TYPO3\CMS\Extbase\Mvc\Controller\ActionController;
|
use TYPO3\CMS\Extbase\Mvc\Controller\ActionController;
|
||||||
|
|
||||||
class TeamController extends ActionController
|
class TeamController extends ActionController
|
||||||
@@ -44,12 +45,18 @@ class TeamController extends ActionController
|
|||||||
public function __construct(TeammemberRepository $teammemberRepository)
|
public function __construct(TeammemberRepository $teammemberRepository)
|
||||||
{
|
{
|
||||||
parent::__construct();
|
parent::__construct();
|
||||||
|
|
||||||
$this->teammemberRepository = $teammemberRepository;
|
$this->teammemberRepository = $teammemberRepository;
|
||||||
}
|
}
|
||||||
|
|
||||||
public function listAction()
|
public function listAction()
|
||||||
{
|
{
|
||||||
$members = $this->teammemberRepository->findAll();
|
if (isset($this->settings['teamCategories']) && count($this->settings['teamCategories'])) {
|
||||||
|
$members = $this->teammemberRepository->findByCategories(GeneralUtility::trimExplode(',', $this->settings['teamCategories'], true));
|
||||||
|
} else {
|
||||||
|
$members = $this->teammemberRepository->findAll();
|
||||||
|
}
|
||||||
|
|
||||||
$this->view->assign('members', $members);
|
$this->view->assign('members', $members);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -35,4 +35,12 @@ class TeammemberRepository extends AbstractRepository
|
|||||||
protected $defaultOrderings = [
|
protected $defaultOrderings = [
|
||||||
'sorting' => 'ASC',
|
'sorting' => 'ASC',
|
||||||
];
|
];
|
||||||
|
|
||||||
|
public function findByCategories(array $categories = [])
|
||||||
|
{
|
||||||
|
$qb = $this->createQuery();
|
||||||
|
$qb->matching($qb->in('categories', $categories));
|
||||||
|
|
||||||
|
return $qb->execute();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -0,0 +1,31 @@
|
|||||||
|
<T3DataStructure>
|
||||||
|
<meta>
|
||||||
|
<langDisable>1</langDisable>
|
||||||
|
</meta>
|
||||||
|
<sheets>
|
||||||
|
<sDEF>
|
||||||
|
<ROOT>
|
||||||
|
<TCEforms>
|
||||||
|
<sheetTitle>Konfiguration</sheetTitle>
|
||||||
|
</TCEforms>
|
||||||
|
<type>array</type>
|
||||||
|
<el>
|
||||||
|
<settings.teamCategories>
|
||||||
|
<TCEforms>
|
||||||
|
<exclude>0</exclude>
|
||||||
|
<label>Auf Kategorie beschränken</label>
|
||||||
|
<config>
|
||||||
|
<type>select</type>
|
||||||
|
<renderType>selectMultipleSideBySide</renderType>
|
||||||
|
<enableMultiSelectFilterTextfield>1</enableMultiSelectFilterTextfield>
|
||||||
|
<foreign_table>sys_category</foreign_table>
|
||||||
|
<minitems>0</minitems>
|
||||||
|
<maxitems>99</maxitems>
|
||||||
|
</config>
|
||||||
|
</TCEforms>
|
||||||
|
</settings.teamCategories>
|
||||||
|
</el>
|
||||||
|
</ROOT>
|
||||||
|
</sDEF>
|
||||||
|
</sheets>
|
||||||
|
</T3DataStructure>
|
||||||
@@ -207,6 +207,10 @@ $pluginSignature = str_replace('_', '', $_EXTKEY) . '_snowreport_list';
|
|||||||
$GLOBALS['TCA']['tt_content']['types']['list']['subtypes_addlist'][$pluginSignature] = 'pi_flexform';
|
$GLOBALS['TCA']['tt_content']['types']['list']['subtypes_addlist'][$pluginSignature] = 'pi_flexform';
|
||||||
\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addPiFlexFormValue($pluginSignature, 'FILE:EXT:' . $_EXTKEY . '/Configuration/FlexForms/flexform_snowreport.xml');
|
\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addPiFlexFormValue($pluginSignature, 'FILE:EXT:' . $_EXTKEY . '/Configuration/FlexForms/flexform_snowreport.xml');
|
||||||
|
|
||||||
|
$pluginSignature = str_replace('_', '', $_EXTKEY) . '_teammembers';
|
||||||
|
$GLOBALS['TCA']['tt_content']['types']['list']['subtypes_addlist'][$pluginSignature] = 'pi_flexform';
|
||||||
|
\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addPiFlexFormValue($pluginSignature, 'FILE:EXT:' . $_EXTKEY . '/Configuration/FlexForms/flexform_teammembers.xml');
|
||||||
|
|
||||||
\TYPO3\CMS\Extbase\Utility\ExtensionUtility::registerModule(
|
\TYPO3\CMS\Extbase\Utility\ExtensionUtility::registerModule(
|
||||||
'EP.' . $_EXTKEY,
|
'EP.' . $_EXTKEY,
|
||||||
'web',
|
'web',
|
||||||
|
|||||||
Reference in New Issue
Block a user