Skip to content

Commit

Permalink
Merge pull request #110 from JaroslawZielinski/feature/104-create-pla…
Browse files Browse the repository at this point in the history
…n-day-per-year

task-104: Create Plan day per year + plus IL patch on separate branch
  • Loading branch information
JaroslawZielinski authored Aug 28, 2024
2 parents 8618840 + be1a0a7 commit fdd2320
Show file tree
Hide file tree
Showing 44 changed files with 5,346 additions and 400 deletions.
18 changes: 18 additions & 0 deletions Api/Data/GroupInterface.php
Original file line number Diff line number Diff line change
Expand Up @@ -9,11 +9,19 @@
interface GroupInterface extends ExtensibleDataInterface
{
public const NO_COLOUR = 'no_colour';

public const GROUP_ID = 'group_id';

public const CODE = 'code';

public const NAME = 'name';

public const COLOUR_VALUE = 'colour_value';

public const IS_ANNUAL = 'is_annual';

public const CREATED_AT = 'created_at';

public const UPDATED_AT = 'updated_at';

/**
Expand Down Expand Up @@ -60,6 +68,16 @@ public function getColourValue(): ?string;
*/
public function setColourValue(?string $colourValue): self;

/**
* @return string
*/
public function getIsAnnual(): string;

/**
* @return GroupInterface
*/
public function setIsAnnual(string $isAnnual): self;

/**
* @return ?string
*/
Expand Down
26 changes: 26 additions & 0 deletions Api/Data/QuoteInterface.php
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,10 @@ interface QuoteInterface extends ExtensibleDataInterface

public const DESCRIPTION = 'description';

public const DESCRIPTION2 = 'description2';

public const DESCRIPTION3 = 'description3';

public const CREATED_AT = 'created_at';

public const UPDATED_AT = 'updated_at';
Expand Down Expand Up @@ -103,6 +107,28 @@ public function getDescription(): ?string;
*/
public function setDescription(?string $description): self;

/**
* @return ?string
*/
public function getDescription2(): ?string;

/**
* @param ?string $description
* @return QuoteInterface
*/
public function setDescription2(?string $description): self;

/**
* @return ?string
*/
public function getDescription3(): ?string;

/**
* @param ?string $description
* @return QuoteInterface
*/
public function setDescription3(?string $description): self;

/**
* @return ?string
*/
Expand Down
78 changes: 0 additions & 78 deletions Block/Adminhtml/Siglum/Info.php

This file was deleted.

55 changes: 47 additions & 8 deletions Block/Adminhtml/Widget/Slider.php
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,8 @@

use GuzzleHttp\Client as GuzzleClient;
use JaroslawZielinski\TorahVerse\Api\Data\GroupInterface;
use JaroslawZielinski\TorahVerse\Model\Data\Group;
use JaroslawZielinski\TorahVerse\Api\GroupRepositoryInterface;
use JaroslawZielinski\TorahVerse\Helper\Data;
use JaroslawZielinski\TorahVerse\Model\Config;
use JaroslawZielinski\TorahVerse\Model\ResourceModel\Verse\CollectionFactory as VerseCollectionFactory;
Expand Down Expand Up @@ -49,6 +51,11 @@ abstract class Slider extends Template
*/
private $jsonSerializer;

/**
* @var GroupRepositoryInterface
*/
private $groupRepository;

/**
* @var LoggerInterface
*/
Expand All @@ -59,6 +66,7 @@ abstract class Slider extends Template
*/
public function __construct(
CollectionFactory $collectionFactory,
GroupRepositoryInterface $groupRepository,
VerseCollectionFactory $verseCollectionFactory,
QuoteCollectionFactory $quoteCollectionFactory,
Config $config,
Expand All @@ -70,6 +78,7 @@ public function __construct(
?DirectoryHelper $directoryHelper = null
) {
$this->collectionFactory = $collectionFactory;
$this->groupRepository = $groupRepository;
$this->verseCollectionFactory = $verseCollectionFactory;
$this->quoteCollectionFactory = $quoteCollectionFactory;
$this->config = $config;
Expand Down Expand Up @@ -137,6 +146,8 @@ private function convertVerseDataToItem(array $data): array
];
}

/**
*/
private function convertQuoteDataToItem(array $data): array
{
$colour = $data['colour_value'];
Expand All @@ -146,15 +157,19 @@ private function convertQuoteDataToItem(array $data): array
return [
'colour' => $colour,
'antiColour' => Data::getContrastColor($colour),
'groupName' => Data::escapeQuotes($data['groupName']),
'content' => Data::escapeQuotes($data['content']),
'unordered' => Data::escapeQuotes($data['content']),
'author' => Data::escapeQuotes($data['author']),
'description' => Data::escapeQuotes($data['description'])
'groupName' => __(Data::escapeQuotes($data['groupName'])),
'name' => __(Data::escapeQuotes($data['name'])),
'content' => __(Data::escapeQuotes($data['content'])),
'unordered' => __(Data::escapeQuotes($data['content'])),
'author' => __(Data::escapeQuotes($data['author'])),
'description' => __(Data::escapeQuotes($data['description'])),
'description2' => __(Data::escapeQuotes($data['description2'])),
'description3' => __(Data::escapeQuotes($data['description3']))
];
}

/**
* @throws \Exception
*/
public function getItems(array $groupsArray = []): array
{
Expand All @@ -173,27 +188,51 @@ public function getItems(array $groupsArray = []): array
$quoteCollection = $this->quoteCollectionFactory->create();
$quoteCollection
->addFieldToFilter('groups.' . GroupInterface::CODE, ['in' => $groupsArray]);
$now = new \DateTime();
$todayOfTheMonth = $now->format('md');
/** @var Quote $quote */
foreach ($quoteCollection->getItems() as $quote) {
$quoteData = $quote->getData();
$groupId = $quoteData['group_id'];
/** @var Group $group */
$group = $this->groupRepository->get($groupId);
$isAnnual = !!$group->getIsAnnual();
if ($isAnnual) {
$code = $quoteData['code'];
$codeDayOfTheMonth = substr($code, -4);
if ($codeDayOfTheMonth !== $todayOfTheMonth) {
continue;
}
}
$items[] = [
'data' => $this->convertQuoteDataToItem($quote->getData()),
'template' => $this->config->getModuleQuoteTemplate(),
'group_colours_template' => $this->config->getModuleGroupColoursQuoteTemplate()
'data' => $this->convertQuoteDataToItem($quoteData),
'template' => $isAnnual
? $this->config->getModuleAnnualTemplate()
: $this->config->getModuleQuoteTemplate(),
'group_colours_template' => $isAnnual
? $this->config->getModuleGroupColoursAnnualTemplate()
: $this->config->getModuleGroupColoursQuoteTemplate()
];
}
return $items;
}

/**
*/
public function arrayToJson(array $inputArray): string
{
return $this->jsonSerializer->serialize($inputArray);
}

/**
*/
public function getModuleCustomStyles(): ?string
{
return $this->config->getModuleCustomStyles();
}

/**
*/
public function getBackgroundHoverColour(): ?string
{
return $this->config->getModuleBackgroundHoverColour();
Expand Down
75 changes: 0 additions & 75 deletions Block/Siglum/Info.php

This file was deleted.

Loading

0 comments on commit fdd2320

Please sign in to comment.