Merge branch 'teamdepts' into 'master'
Allow categorizing team members by category See merge request dreipunktnull/ep-reisen-web!1
This commit is contained in:
@@ -0,0 +1,15 @@
|
||||
image: node:10.4.1
|
||||
|
||||
cache:
|
||||
paths:
|
||||
- node_modules/
|
||||
|
||||
stages:
|
||||
- build
|
||||
|
||||
build:
|
||||
stage: build
|
||||
before_script:
|
||||
- npm install
|
||||
script:
|
||||
- node node_modules/.bin/encore production
|
||||
Generated
+24
-24
@@ -761,22 +761,22 @@
|
||||
},
|
||||
{
|
||||
"name": "helhum/typo3-console",
|
||||
"version": "4.9.3",
|
||||
"version": "4.9.4",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/TYPO3-Console/TYPO3-Console.git",
|
||||
"reference": "cd5d9e2545484339e7f766bc2527721b6f476e0f"
|
||||
"reference": "f190a3acd39bea6449741e13fdc3f03d360a17b3"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/TYPO3-Console/TYPO3-Console/zipball/cd5d9e2545484339e7f766bc2527721b6f476e0f",
|
||||
"reference": "cd5d9e2545484339e7f766bc2527721b6f476e0f",
|
||||
"url": "https://api.github.com/repos/TYPO3-Console/TYPO3-Console/zipball/f190a3acd39bea6449741e13fdc3f03d360a17b3",
|
||||
"reference": "f190a3acd39bea6449741e13fdc3f03d360a17b3",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
"ext-phar": "*",
|
||||
"helhum/typo3-console-plugin": "^1.7.5 || ^2.0.2",
|
||||
"php": ">=5.5.0 <7.2",
|
||||
"php": ">=5.5.0 <7.3",
|
||||
"symfony/console": "^2.7 || ^3.0",
|
||||
"symfony/process": "^2.7 || ^3.0",
|
||||
"typo3/cms-backend": "^7.6 || ^8.7",
|
||||
@@ -793,7 +793,7 @@
|
||||
},
|
||||
"require-dev": {
|
||||
"mikey179/vfsstream": "~1.6.0",
|
||||
"nimut/testing-framework": "^1.0",
|
||||
"nimut/testing-framework": "^2.0 || ^3.0",
|
||||
"symfony/filesystem": "^3.2",
|
||||
"typo3-console/create-reference-command": "^1.0",
|
||||
"typo3/cms": "^8.7"
|
||||
@@ -824,7 +824,7 @@
|
||||
},
|
||||
"notification-url": "https://packagist.org/downloads/",
|
||||
"license": [
|
||||
"GPL-2.0+"
|
||||
"GPL-2.0-or-later"
|
||||
],
|
||||
"authors": [
|
||||
{
|
||||
@@ -843,7 +843,7 @@
|
||||
"console",
|
||||
"typo3"
|
||||
],
|
||||
"time": "2017-12-15T14:46:54+00:00"
|
||||
"time": "2018-06-05T11:37:47+00:00"
|
||||
},
|
||||
{
|
||||
"name": "helhum/typo3-console-plugin",
|
||||
@@ -2452,16 +2452,16 @@
|
||||
},
|
||||
{
|
||||
"name": "typo3/cms",
|
||||
"version": "v7.6.28",
|
||||
"version": "v7.6.29",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/TYPO3/TYPO3.CMS.git",
|
||||
"reference": "0c885e11d2f847ca98b5740857e86a21f8cbd3b5"
|
||||
"reference": "1f403428aeaa2a82ed84db0df249e80d335f0ca4"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/TYPO3/TYPO3.CMS/zipball/0c885e11d2f847ca98b5740857e86a21f8cbd3b5",
|
||||
"reference": "0c885e11d2f847ca98b5740857e86a21f8cbd3b5",
|
||||
"url": "https://api.github.com/repos/TYPO3/TYPO3.CMS/zipball/1f403428aeaa2a82ed84db0df249e80d335f0ca4",
|
||||
"reference": "1f403428aeaa2a82ed84db0df249e80d335f0ca4",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
@@ -2661,7 +2661,7 @@
|
||||
"extbase",
|
||||
"typo3"
|
||||
],
|
||||
"time": "2018-05-22T13:52:43+00:00"
|
||||
"time": "2018-06-11T17:20:39+00:00"
|
||||
},
|
||||
{
|
||||
"name": "typo3/cms-composer-installers",
|
||||
@@ -3733,16 +3733,16 @@
|
||||
},
|
||||
{
|
||||
"name": "react/promise",
|
||||
"version": "v2.5.1",
|
||||
"version": "v2.6.0",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/reactphp/promise.git",
|
||||
"reference": "62785ae604c8d69725d693eb370e1d67e94c4053"
|
||||
"reference": "5e60e5596a5422287f9d2205f405bef2ae0cef4b"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/reactphp/promise/zipball/62785ae604c8d69725d693eb370e1d67e94c4053",
|
||||
"reference": "62785ae604c8d69725d693eb370e1d67e94c4053",
|
||||
"url": "https://api.github.com/repos/reactphp/promise/zipball/5e60e5596a5422287f9d2205f405bef2ae0cef4b",
|
||||
"reference": "5e60e5596a5422287f9d2205f405bef2ae0cef4b",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
@@ -3775,26 +3775,26 @@
|
||||
"promise",
|
||||
"promises"
|
||||
],
|
||||
"time": "2017-03-25T12:08:31+00:00"
|
||||
"time": "2018-06-11T11:05:43+00:00"
|
||||
},
|
||||
{
|
||||
"name": "react/promise-timer",
|
||||
"version": "v1.3.0",
|
||||
"version": "v1.4.0",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/reactphp/promise-timer.git",
|
||||
"reference": "604513e33feb96ffb0dfb3d25233d3f9f0dce356"
|
||||
"reference": "c21781145955892900efba366ec236eb66e3ee35"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/reactphp/promise-timer/zipball/604513e33feb96ffb0dfb3d25233d3f9f0dce356",
|
||||
"reference": "604513e33feb96ffb0dfb3d25233d3f9f0dce356",
|
||||
"url": "https://api.github.com/repos/reactphp/promise-timer/zipball/c21781145955892900efba366ec236eb66e3ee35",
|
||||
"reference": "c21781145955892900efba366ec236eb66e3ee35",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
"php": ">=5.3",
|
||||
"react/event-loop": "^1.0 || ^0.5 || ^0.4 || ^0.3.5",
|
||||
"react/promise": "~2.1|~1.2"
|
||||
"react/promise": "^2.6.0 || ^1.2.1"
|
||||
},
|
||||
"require-dev": {
|
||||
"phpunit/phpunit": "^6.4 || ^5.7 || ^4.8.35"
|
||||
@@ -3828,7 +3828,7 @@
|
||||
"timeout",
|
||||
"timer"
|
||||
],
|
||||
"time": "2018-04-24T14:19:26+00:00"
|
||||
"time": "2018-06-11T14:11:05+00:00"
|
||||
},
|
||||
{
|
||||
"name": "react/react",
|
||||
|
||||
Generated
+2079
-1949
File diff suppressed because it is too large
Load Diff
+7
-7
@@ -16,11 +16,11 @@
|
||||
"bourbon": "^4.3.2",
|
||||
"cookieconsent": "^3.0.4",
|
||||
"font-awesome": "^4.7.0",
|
||||
"iframe-resizer": "^3.5.5",
|
||||
"iframe-resizer": "^3.6.1",
|
||||
"jquery": "^2.2.4",
|
||||
"jquery-lazy": "^1.7.4",
|
||||
"jquery-lazy": "^1.7.9",
|
||||
"load-google-maps-api": "^1.3.2",
|
||||
"moment": "^2.19.4",
|
||||
"moment": "^2.22.2",
|
||||
"normalize.css": "^7.0.0",
|
||||
"picturefill": "^3.0.2",
|
||||
"sass-mq": "^3.3.2",
|
||||
@@ -31,11 +31,11 @@
|
||||
},
|
||||
"devDependencies": {
|
||||
"@symfony/webpack-encore": "^0.19.0",
|
||||
"autoprefixer": "^8.2.0",
|
||||
"node-sass": "^4.8.3",
|
||||
"postcss-loader": "^2.1.3",
|
||||
"autoprefixer": "^8.6.2",
|
||||
"node-sass": "^4.9.0",
|
||||
"postcss-loader": "^2.1.5",
|
||||
"sass-loader": "^6.0.7",
|
||||
"vue-loader": "^14.2.2",
|
||||
"vue-loader": "^14.2.3",
|
||||
"vue-template-compiler": "^2.5.16",
|
||||
"webpack-notifier": "^1.6.0"
|
||||
},
|
||||
|
||||
@@ -29,6 +29,7 @@ namespace EP\EpProducts\Controller;
|
||||
|
||||
use EP\EpProducts\Domain\Model\Teammember;
|
||||
use EP\EpProducts\Domain\Repository\TeammemberRepository;
|
||||
use TYPO3\CMS\Core\Utility\GeneralUtility;
|
||||
use TYPO3\CMS\Extbase\Mvc\Controller\ActionController;
|
||||
|
||||
class TeamController extends ActionController
|
||||
@@ -44,12 +45,18 @@ class TeamController extends ActionController
|
||||
public function __construct(TeammemberRepository $teammemberRepository)
|
||||
{
|
||||
parent::__construct();
|
||||
|
||||
$this->teammemberRepository = $teammemberRepository;
|
||||
}
|
||||
|
||||
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);
|
||||
}
|
||||
|
||||
|
||||
@@ -2,6 +2,8 @@
|
||||
|
||||
namespace EP\EpProducts\Domain\Model;
|
||||
|
||||
use TYPO3\CMS\Extbase\Persistence\ObjectStorage;
|
||||
|
||||
/***************************************************************
|
||||
*
|
||||
* Copyright notice
|
||||
@@ -60,6 +62,16 @@ class Teammember extends \TYPO3\CMS\Extbase\DomainObject\AbstractEntity
|
||||
*/
|
||||
protected $description = '';
|
||||
|
||||
/**
|
||||
* @var \TYPO3\CMS\Extbase\Persistence\ObjectStorage<\TYPO3\CMS\Extbase\Domain\Model\Category>
|
||||
*/
|
||||
protected $categories;
|
||||
|
||||
public function __construct()
|
||||
{
|
||||
$this->categories = new ObjectStorage();
|
||||
}
|
||||
|
||||
/**
|
||||
* @return string $name
|
||||
*/
|
||||
@@ -156,4 +168,20 @@ class Teammember extends \TYPO3\CMS\Extbase\DomainObject\AbstractEntity
|
||||
$this->description = $description;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return ObjectStorage<\TYPO3\CMS\Extbase\Domain\Model\Category>
|
||||
*/
|
||||
public function getCategories()
|
||||
{
|
||||
return $this->categories;
|
||||
}
|
||||
|
||||
/**
|
||||
* @param ObjectStorage $categories
|
||||
*/
|
||||
public function setCategories($categories)
|
||||
{
|
||||
$this->categories = $categories;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -35,4 +35,12 @@ class TeammemberRepository extends AbstractRepository
|
||||
protected $defaultOrderings = [
|
||||
'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>
|
||||
@@ -15,19 +15,19 @@ $GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS']['extbase']['commandControllers']['ep_p
|
||||
$GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS']['extbase']['commandControllers']['ep_products_contingent'] =
|
||||
\EP\EpProducts\Command\ContingentCommandController::class;
|
||||
|
||||
$GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS']['scheduler']['tasks']['EP\EpProducts\Task\ImportProductsTask'] = [
|
||||
$GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS']['scheduler']['tasks'][\EP\EpProducts\Task\ImportProductsTask::class] = [
|
||||
'extension' => $_EXTKEY,
|
||||
'title' => 'EP Produkt Import',
|
||||
'description' => 'Importiert Reisedaten aus busProNet',
|
||||
];
|
||||
|
||||
$GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS']['scheduler']['tasks']['EP\EpProducts\Task\ImportContingentsTask'] = [
|
||||
$GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS']['scheduler']['tasks'][\EP\EpProducts\Task\ImportContingentsTask::class] = [
|
||||
'extension' => $_EXTKEY,
|
||||
'title' => 'EP Kontingent Import',
|
||||
'description' => 'Importiert Kontingentdaten aus busProNet',
|
||||
];
|
||||
|
||||
$GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS']['scheduler']['tasks']['EP\EpProducts\Task\ImportSnowreportTask'] = [
|
||||
$GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS']['scheduler']['tasks'][\EP\EpProducts\Task\ImportSnowreportTask::class] = [
|
||||
'extension' => $_EXTKEY,
|
||||
'title' => 'EP Schneehöhen Import',
|
||||
'description' => 'Importiert Schneehöhen',
|
||||
@@ -331,7 +331,7 @@ $GLOBALS['TYPO3_CONF_VARS']['FE']['cacheHash']['excludedParameters'][] = 'tx_epp
|
||||
|
||||
$GLOBALS['TYPO3_CONF_VARS']['LOG']['EP']['EpProducts']['Controller']['writerConfiguration'] = [
|
||||
\TYPO3\CMS\Core\Log\LogLevel::INFO => [
|
||||
'TYPO3\\CMS\\Core\\Log\\Writer\\DatabaseWriter' => [
|
||||
TYPO3\CMS\Core\Log\Writer\DatabaseWriter::class => [
|
||||
'logTable' => 'tx_epproducts_log'
|
||||
],
|
||||
],
|
||||
|
||||
@@ -207,6 +207,10 @@ $pluginSignature = str_replace('_', '', $_EXTKEY) . '_snowreport_list';
|
||||
$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');
|
||||
|
||||
$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(
|
||||
'EP.' . $_EXTKEY,
|
||||
'web',
|
||||
@@ -221,3 +225,8 @@ $GLOBALS['TCA']['tt_content']['types']['list']['subtypes_addlist'][$pluginSignat
|
||||
'icon' => 'EXT:ep_products/Resources/Public/Icons/logo.svg'
|
||||
]
|
||||
);
|
||||
|
||||
\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::makeCategorizable(
|
||||
'epproducts',
|
||||
'tx_epproducts_domain_model_teammember'
|
||||
);
|
||||
|
||||
+1
-1
@@ -65,7 +65,7 @@
|
||||
|
||||
<script>
|
||||
import $ from 'jquery'
|
||||
import DatePicker from './DatePicker.vue'
|
||||
import DatePicker from './Datepicker.vue'
|
||||
import moment from 'moment'
|
||||
|
||||
export default {
|
||||
|
||||
Reference in New Issue
Block a user