diff --git a/web/typo3conf/ext/ep_products/Classes/Domain/Model/Contingent.php b/web/typo3conf/ext/ep_products/Classes/Domain/Model/Contingent.php index 1140e541..cccb8668 100644 --- a/web/typo3conf/ext/ep_products/Classes/Domain/Model/Contingent.php +++ b/web/typo3conf/ext/ep_products/Classes/Domain/Model/Contingent.php @@ -47,6 +47,16 @@ class Contingent extends AbstractEntity implements EventInterface */ protected $hotel; + /** + * @var string + */ + protected $roomCode; + + /** + * @var string + */ + protected $roomLabel; + /** * @var int */ @@ -62,6 +72,26 @@ class Contingent extends AbstractEntity implements EventInterface */ protected $status; + /** + * @var int + */ + protected $minPrice; + + /** + * @var int + */ + protected $minNights; + + /** + * @var int + */ + protected $additionalNightMinPrice; + + /** + * @var int + */ + protected $additionalNightMinNights; + /** * @param array $data * @return Contingent @@ -114,6 +144,38 @@ class Contingent extends AbstractEntity implements EventInterface $this->hotel = $hotel; } + /** + * @return string + */ + public function getRoomCode() + { + return $this->roomCode; + } + + /** + * @param string $roomCode + */ + public function setRoomCode($roomCode) + { + $this->roomCode = $roomCode; + } + + /** + * @return string + */ + public function getRoomLabel() + { + return $this->roomLabel; + } + + /** + * @param string $roomLabel + */ + public function setRoomLabel($roomLabel) + { + $this->roomLabel = $roomLabel; + } + /** * @return int */ @@ -174,6 +236,70 @@ class Contingent extends AbstractEntity implements EventInterface $this->status = $status; } + /** + * @return int + */ + public function getMinPrice() + { + return $this->minPrice; + } + + /** + * @param int $minPrice + */ + public function setMinPrice($minPrice) + { + $this->minPrice = $minPrice; + } + + /** + * @return int + */ + public function getMinNights() + { + return $this->minNights; + } + + /** + * @param int $minNights + */ + public function setMinNights($minNights) + { + $this->minNights = $minNights; + } + + /** + * @return int + */ + public function getAdditionalNightMinPrice() + { + return $this->additionalNightMinPrice; + } + + /** + * @param int $additionalNightMinPrice + */ + public function setAdditionalNightMinPrice($additionalNightMinPrice) + { + $this->additionalNightMinPrice = $additionalNightMinPrice; + } + + /** + * @return int + */ + public function getAdditionalNightMinNights() + { + return $this->additionalNightMinNights; + } + + /** + * @param int $additionalNightMinNights + */ + public function setAdditionalNightMinNights($additionalNightMinNights) + { + $this->additionalNightMinNights = $additionalNightMinNights; + } + /** * @return \DateTime */ diff --git a/web/typo3conf/ext/ep_products/Classes/Domain/Repository/ContingentRepository.php b/web/typo3conf/ext/ep_products/Classes/Domain/Repository/ContingentRepository.php index 7993ff9f..4adf6c53 100644 --- a/web/typo3conf/ext/ep_products/Classes/Domain/Repository/ContingentRepository.php +++ b/web/typo3conf/ext/ep_products/Classes/Domain/Repository/ContingentRepository.php @@ -137,8 +137,10 @@ class ContingentRepository extends AbstractRepository implements ProviderInterfa $qb = $this->getDbConnection()->createQueryBuilder(); $qb - ->select('c.room_code as code', 'c.room_label as label', 'c.available as available', 'c.min_price as price', - 'c.hotel_bus_pro_id as hotelBusProId', 'd.bus_pro_id as busProId', + ->select('c.date as date', 'c.room_code as code', 'c.room_label as label', 'c.available as available', + 'c.min_price as price', 'c.hotel_bus_pro_id as hotelBusProId', 'c.min_nights as minNights', + 'c.additional_night_min_price as additionalNightPrice', + 'c.additional_night_min_nights as additionalNightMinNights', 'd.bus_pro_id as busProId', 'd.services_included as servicesIncluded', 'd.services_general as servicesOptional', 'd.skipass_included as skipassIncluded') ->from('tx_epproducts_domain_model_contingent', 'c') diff --git a/web/typo3conf/ext/ep_products/Classes/Service/ContingentImportService.php b/web/typo3conf/ext/ep_products/Classes/Service/ContingentImportService.php index 9024012f..ef0a6e61 100644 --- a/web/typo3conf/ext/ep_products/Classes/Service/ContingentImportService.php +++ b/web/typo3conf/ext/ep_products/Classes/Service/ContingentImportService.php @@ -83,6 +83,7 @@ class ContingentImportService implements SingletonInterface /** * @param string $path * @return int + * @throws \Doctrine\DBAL\DBALException */ public function import($path) { @@ -248,6 +249,9 @@ class ContingentImportService implements SingletonInterface $status = Contingent::STATUS_ONREQUEST; } $minPrice = (int) $xmlRoom['abpreis']; + $minNights = (int) $xmlRoom['abpreis_naechte']; + $additionalNightMinPrice = (int) $xmlRoom['abpreis_verlaengerung']; + $additionalNightMinNights = (int) $xmlRoom['abpreis_verlaengerung_naechte']; $roomLabel = $roomType['label']; $this->db->insert( 'tx_epproducts_domain_model_contingent_temp', @@ -264,6 +268,9 @@ class ContingentImportService implements SingletonInterface 'status' => $status, 'date' => $date->format('Y-m-d'), 'min_price' => $minPrice, + 'min_nights' => $minNights, + 'additional_night_min_price' => $additionalNightMinPrice, + 'additional_night_min_nights' => $additionalNightMinNights, ] ); } diff --git a/web/typo3conf/ext/ep_products/Configuration/TCA/tx_epproducts_domain_model_contingent.php b/web/typo3conf/ext/ep_products/Configuration/TCA/tx_epproducts_domain_model_contingent.php index 39d99490..69b5ea2b 100644 --- a/web/typo3conf/ext/ep_products/Configuration/TCA/tx_epproducts_domain_model_contingent.php +++ b/web/typo3conf/ext/ep_products/Configuration/TCA/tx_epproducts_domain_model_contingent.php @@ -185,6 +185,33 @@ return [ 'eval' => 'trim', ], ], + 'min_nights' => [ + 'exclude' => 0, + 'label' => 'ab Preis Nächte', + 'config' => [ + 'type' => 'input', + 'size' => 30, + 'eval' => 'trim', + ], + ], + 'additional_night_min_price' => [ + 'exclude' => 0, + 'label' => 'ab Preis Verlängerungsnacht', + 'config' => [ + 'type' => 'input', + 'size' => 30, + 'eval' => 'trim', + ], + ], + 'additional_night_min_nights' => [ + 'exclude' => 0, + 'label' => 'Verlängerungsnacht min. Nächte', + 'config' => [ + 'type' => 'input', + 'size' => 30, + 'eval' => 'trim', + ], + ], 'groupsch_id' => [ 'exclude' => 0, 'label' => 'LLL:EXT:ep_products/Resources/Private/Language/locallang.xlf:tx_epproducts_domain_model_contingent.groupsch_id', diff --git a/web/typo3conf/ext/ep_products/ext_tables.sql b/web/typo3conf/ext/ep_products/ext_tables.sql index 7265f41b..4c4975e9 100644 --- a/web/typo3conf/ext/ep_products/ext_tables.sql +++ b/web/typo3conf/ext/ep_products/ext_tables.sql @@ -959,6 +959,9 @@ CREATE TABLE tx_epproducts_domain_model_contingent ( room_label varchar(64) DEFAULT '' NOT NULL, status tinyint(4) unsigned DEFAULT '0' NOT NULL, min_price int(11) DEFAULT '0' NOT NULL, + min_nights int(11) DEFAULT '0' NOT NULL, + additional_night_min_price int(11) DEFAULT '0' NOT NULL, + additional_night_min_nights int(11) DEFAULT '0' NOT NULL, groupsch_id varchar(8) DEFAULT '' NOT NULL, tstamp int(11) unsigned DEFAULT '0' NOT NULL, diff --git a/web/typo3conf/ext/ep_theme/Resources/Private/Assets/js/components/DateSelect.vue b/web/typo3conf/ext/ep_theme/Resources/Private/Assets/js/components/DateSelect.vue index 5da149ba..15aabc60 100644 --- a/web/typo3conf/ext/ep_theme/Resources/Private/Assets/js/components/DateSelect.vue +++ b/web/typo3conf/ext/ep_theme/Resources/Private/Assets/js/components/DateSelect.vue @@ -24,7 +24,7 @@
Loading...