Skip to content

Commit 3b310a2

Browse files
author
Jan Staněk
authored
Merge pull request #515 from jan-stanek/oprava-roli
helpers třída
2 parents ce977ed + fa7a2cb commit 3b310a2

21 files changed

+114
-99
lines changed

app/ActionModule/presenters/MaturityPresenter.php

+2-1
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@
1818
use App\Services\ApplicationService;
1919
use App\Services\MailService;
2020
use App\Services\ProgramService;
21+
use App\Utils\Helpers;
2122

2223

2324
/**
@@ -150,7 +151,7 @@ public function actionCheck()
150151
if ($maturityReminder !== NULL && $maturityReminderDate == $maturityDate) {
151152
$this->mailService->sendMailFromTemplate($application->getUser(), '', Template::MATURITY_REMINDER, [
152153
TemplateVariable::SEMINAR_NAME => $this->settingsRepository->getValue(Settings::SEMINAR_NAME),
153-
TemplateVariable::APPLICATION_MATURITY => $maturityDate->format('j. n. Y')
154+
TemplateVariable::APPLICATION_MATURITY => $maturityDate->format(Helpers::DATE_FORMAT)
154155
]);
155156
}
156157
}

app/AdminModule/CMSModule/components/DocumentsGridControl.php

+2-1
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@
66
use App\Model\CMS\Document\DocumentRepository;
77
use App\Model\CMS\Document\TagRepository;
88
use App\Services\FilesService;
9+
use App\Utils\Helpers;
910
use Kdyby\Translation\Translator;
1011
use Nette\Application\UI\Control;
1112
use Nette\Application\UI\Form;
@@ -103,7 +104,7 @@ public function createComponentDocumentsGrid($name)
103104
$grid->addColumnText('description', 'admin.cms.documents_description');
104105

105106
$grid->addColumnDateTime('timestamp', 'admin.cms.documents_timestamp')
106-
->setFormat('j. n. Y H:i');
107+
->setFormat(Helpers::DATETIME_FORMAT);
107108

108109
$tagsOptions = $this->tagRepository->getTagsOptions();
109110

app/AdminModule/CMSModule/components/NewsGridControl.php

+2-1
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
namespace App\AdminModule\CMSModule\Components;
44

55
use App\Model\CMS\NewsRepository;
6+
use App\Utils\Helpers;
67
use Kdyby\Translation\Translator;
78
use Nette\Application\UI\Control;
89
use Ublaboo\DataGrid\DataGrid;
@@ -59,7 +60,7 @@ public function createComponentNewsGrid($name)
5960
$grid->setPagination(FALSE);
6061

6162
$grid->addColumnDateTime('published', 'admin.cms.news_published')
62-
->setFormat('j. n. Y H:i');
63+
->setFormat(Helpers::DATETIME_FORMAT);
6364

6465
$columnMandatory = $grid->addColumnStatus('pinned', 'admin.cms.news_pinned');
6566
$columnMandatory

app/AdminModule/CMSModule/components/PagesGridControl.php

+5-12
Original file line numberDiff line numberDiff line change
@@ -80,20 +80,13 @@ public function createComponentPagesGrid($name)
8080
->endOption()
8181
->onChange[] = [$this, 'changeStatus'];
8282

83-
$grid->addColumnText('roles', 'admin.cms.pages_roles')
84-
->setRenderer(function ($row) {
85-
if (count($this->roleRepository->findAll()) == count($row->getRoles()))
86-
return $this->translator->translate('admin.cms.pages_roles_all');
87-
else {
88-
$roles = [];
89-
foreach ($row->getRoles() as $role) {
90-
$roles[] = $role->getName();
91-
}
92-
return implode(", ", $roles);
93-
}
83+
$grid->addColumnText('roles', 'admin.cms.pages_roles', 'rolesText')
84+
->setRendererOnCondition(function () {
85+
return $this->translator->translate('admin.cms.pages_roles_all');
86+
}, function (Page $page) {
87+
return count($this->roleRepository->findAll()) == $page->getRoles()->count();
9488
});
9589

96-
9790
$rolesOptions = $this->roleRepository->getRolesWithoutRolesOptions([]);
9891
$publicOptions = [
9992
FALSE => 'admin.cms.pages_public_private',

app/AdminModule/ConfigurationModule/forms/CustomInputForm.php

+3-3
Original file line numberDiff line numberDiff line change
@@ -122,10 +122,10 @@ public function processForm(Form $form, \stdClass $values)
122122
$this->customInput = new CustomSelect();
123123

124124
$options = explode(',', $values['options']);
125-
$optionsCleaned = [];
125+
$optionsTrimmed = [];
126126
foreach ($options as $option)
127-
$optionsCleaned[] = trim($option);
128-
$this->customInput->setOptions(implode(', ', $optionsCleaned));
127+
$optionsTrimmed[] = trim($option);
128+
$this->customInput->setOptions(implode(', ', $optionsTrimmed));
129129

130130
break;
131131

app/AdminModule/MailingModule/components/MailHistoryGridControl.php

+2-1
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55
use App\Model\ACL\Role;
66
use App\Model\ACL\RoleRepository;
77
use App\Model\Mailing\MailRepository;
8+
use App\Utils\Helpers;
89
use Doctrine\ORM\QueryBuilder;
910
use Kdyby\Translation\Translator;
1011
use Nette\Application\UI\Control;
@@ -83,7 +84,7 @@ public function createComponentMailHistoryGrid($name)
8384
->setFilterText();
8485

8586
$grid->addColumnDateTime('datetime', 'admin.mailing.history_datetime')
86-
->setFormat('j. n. Y H:i');
87+
->setFormat(Helpers::DATETIME_FORMAT);
8788

8889
$grid->addColumnText('automatic', 'admin.mailing.history_automatic')
8990
->setReplacement([

app/AdminModule/ProgramModule/components/ProgramCategoriesGridControl.php

+1-8
Original file line numberDiff line numberDiff line change
@@ -87,14 +87,7 @@ public function createComponentProgramCategoriesGrid($name)
8787

8888
$grid->addColumnText('name', 'admin.program.categories_name');
8989

90-
$grid->addColumnText('registerableRoles', 'admin.program.categories_registerable_roles')
91-
->setRenderer(function ($row) {
92-
$roles = [];
93-
foreach ($row->getRegisterableRoles() as $role) {
94-
$roles[] = $role->getName();
95-
}
96-
return implode(", ", $roles);
97-
});
90+
$grid->addColumnText('registerableRoles', 'admin.program.categories_registerable_roles', 'registerableRolesText');
9891

9992
$rolesOptions = $this->roleRepository->getRolesWithoutRolesOptions([Role::GUEST, Role::UNAPPROVED, Role::NONREGISTERED]);
10093

app/AdminModule/ProgramModule/components/RoomScheduleGridControl.php

+3-2
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@
66
use App\Model\Program\Room;
77
use App\Model\Program\RoomRepository;
88
use App\Services\ExcelExportService;
9+
use App\Utils\Helpers;
910
use Kdyby\Translation\Translator;
1011
use Nette\Application\UI\Control;
1112
use Ublaboo\DataGrid\DataGrid;
@@ -82,10 +83,10 @@ public function createComponentRoomScheduleGrid($name)
8283
$grid->setPagination(FALSE);
8384

8485
$grid->addColumnDateTime('start', 'admin.program.rooms_schedule_program_start')
85-
->setFormat('j. n. Y H:i');;
86+
->setFormat(Helpers::DATETIME_FORMAT);;
8687

8788
$grid->addColumnDateTime('end', 'admin.program.rooms_schedule_program_end')
88-
->setFormat('j. n. Y H:i');;
89+
->setFormat(Helpers::DATETIME_FORMAT);;
8990

9091
$grid->addColumnText('name', 'admin.program.rooms_schedule_program_name', 'block.name');
9192

app/AdminModule/components/ApplicationsGridControl.php

+3-2
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@
1616
use App\Services\MailService;
1717
use App\Services\PdfExportService;
1818
use App\Services\ProgramService;
19+
use App\Utils\Helpers;
1920
use App\Utils\Validators;
2021
use Kdyby\Translation\Translator;
2122
use Nette\Application\UI\Control;
@@ -144,7 +145,7 @@ public function createComponentApplicationsGrid($name)
144145

145146

146147
$grid->addColumnDateTime('applicationDate', 'admin.users.users_applications_application_date')
147-
->setFormat('j. n. Y H:i');
148+
->setFormat(Helpers::DATETIME_FORMAT);
148149

149150
$grid->addColumnText('roles', 'admin.users.users_applications_roles', 'rolesText');
150151

@@ -155,7 +156,7 @@ public function createComponentApplicationsGrid($name)
155156
$grid->addColumnText('variableSymbol', 'admin.users.users_applications_variable_symbol', 'variableSymbolText');
156157

157158
$grid->addColumnDateTime('maturityDate', 'admin.users.users_applications_maturity_date')
158-
->setFormat('j. n. Y');
159+
->setFormat(Helpers::DATE_FORMAT);
159160

160161
$grid->addColumnText('paymentMethod', 'admin.users.users_applications_payment_method')
161162
->setRenderer(function ($row) {

app/AdminModule/components/RolesGridControl.php

+3-2
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@
77
use App\Model\Program\ProgramRepository;
88
use App\Model\User\UserRepository;
99
use App\Services\ProgramService;
10+
use App\Utils\Helpers;
1011
use Kdyby\Translation\Translator;
1112
use Nette\Application\UI\Control;
1213
use Ublaboo\DataGrid\DataGrid;
@@ -96,10 +97,10 @@ public function createComponentRolesGrid($name)
9697
->onChange[] = [$this, 'changeRegisterable'];
9798

9899
$grid->addColumnDateTime('registerableFrom', 'admin.acl.roles_registerable_from')
99-
->setFormat('j. n. Y H:i');
100+
->setFormat(Helpers::DATETIME_FORMAT);
100101

101102
$grid->addColumnDateTime('registerableTo', 'admin.acl.roles_registerable_to')
102-
->setFormat('j. n. Y H:i');
103+
->setFormat(Helpers::DATETIME_FORMAT);
103104

104105
$grid->addColumnText('occupancy', 'admin.acl.roles_occupancy', 'occupancy_text');
105106

app/AdminModule/components/UsersGridControl.php

+4-20
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@
2020
use App\Services\PdfExportService;
2121
use App\Services\ProgramService;
2222
use App\Services\UserService;
23+
use App\Utils\Helpers;
2324
use Doctrine\ORM\QueryBuilder;
2425
use Kdyby\Translation\Translator;
2526
use Nette\Application\UI\Control;
@@ -276,7 +277,7 @@ public function createComponentUsersGrid($name)
276277
$grid->addColumnDateTime('lastPaymentDate', 'admin.users.users_last_payment_date');
277278

278279
$grid->addColumnDateTime('rolesApplicationDate', 'admin.users.users_roles_application_date')
279-
->setFormat('j. n. Y H:i');
280+
->setFormat(Helpers::DATETIME_FORMAT);
280281

281282
$columnAttended = $grid->addColumnStatus('attended', 'admin.users.users_attended');
282283
$columnAttended
@@ -309,13 +310,13 @@ public function createComponentUsersGrid($name)
309310
});
310311

311312
foreach ($this->customInputRepository->findAllOrderedByPosition() as $customInput) {
312-
$grid->addColumnText('customInput' . $customInput->getId(), $this->truncate($customInput->getName(), 20))
313+
$grid->addColumnText('customInput' . $customInput->getId(), Helpers::truncate($customInput->getName(), 20))
313314
->setRenderer(function (User $row) use ($customInput) {
314315
$customInputValue = $row->getCustomInputValue($customInput);
315316
if ($customInputValue) {
316317
switch ($customInputValue->getInput()->getType()) {
317318
case CustomInput::TEXT:
318-
return $this->truncate($customInputValue->getValue(), 20);
319+
return Helpers::truncate($customInputValue->getValue(), 20);
319320

320321
case CustomInput::CHECKBOX:
321322
return $customInputValue->getValue()
@@ -703,21 +704,4 @@ private function preparePaymentMethodOptionsWithoutEmpty()
703704
$options[$type] = 'common.payment.' . $type;
704705
return $options;
705706
}
706-
707-
/**
708-
* Zkrátí $text na $length znaků a doplní '...'.
709-
* @param $text
710-
* @param $length
711-
* @return bool|string
712-
*/
713-
private function truncate($text, $length)
714-
{
715-
if (strlen($text) > $length) {
716-
$text = $text . " ";
717-
$text = mb_substr($text, 0, $length, 'UTF-8');
718-
$text = mb_substr($text, 0, strrpos($text, ' '), 'UTF-8');
719-
$text = $text . "...";
720-
}
721-
return $text;
722-
}
723707
}

app/WebModule/components/ApplicationsGridControl.php

+3-2
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@
2121
use App\Services\PdfExportService;
2222
use App\Services\ProgramService;
2323
use App\Services\UserService;
24+
use App\Utils\Helpers;
2425
use App\Utils\Validators;
2526
use Kdyby\Translation\Translator;
2627
use Nette\Application\UI\Control;
@@ -179,7 +180,7 @@ public function createComponentApplicationsGrid($name)
179180
$grid->setPagination(FALSE);
180181

181182
$grid->addColumnDateTime('applicationDate', 'web.profile.applications_application_date')
182-
->setFormat('j. n. Y H:i');
183+
->setFormat(Helpers::DATETIME_FORMAT);
183184

184185
if ($userHasFixedFeeRole)
185186
$grid->addColumnText('roles', 'web.profile.applications_roles', 'rolesText');
@@ -192,7 +193,7 @@ public function createComponentApplicationsGrid($name)
192193
$grid->addColumnText('variable_symbol', 'web.profile.applications_variable_symbol', 'variableSymbolText');
193194

194195
$grid->addColumnDateTime('maturityDate', 'web.profile.applications_maturity_date')
195-
->setFormat('j. n. Y');
196+
->setFormat(Helpers::DATE_FORMAT);
196197

197198
$grid->addColumnText('state', 'web.profile.applications_state')
198199
->setRenderer(function (Application $row) {

app/model/CMS/Page.php

+8
Original file line numberDiff line numberDiff line change
@@ -161,6 +161,14 @@ public function getRoles()
161161
return $this->roles;
162162
}
163163

164+
/**
165+
* @return string
166+
*/
167+
public function getRolesText(): string
168+
{
169+
return implode(', ', $this->roles->map(function (Role $role) {return $role->getName();})->toArray());
170+
}
171+
164172
/**
165173
* @param Collection $roles
166174
*/

app/model/Program/Category.php

+18-10
Original file line numberDiff line numberDiff line change
@@ -55,39 +55,47 @@ public function __construct()
5555
/**
5656
* @return int
5757
*/
58-
public function getId()
58+
public function getId(): int
5959
{
6060
return $this->id;
6161
}
6262

6363
/**
6464
* @return string
6565
*/
66-
public function getName()
66+
public function getName(): string
6767
{
6868
return $this->name;
6969
}
7070

7171
/**
7272
* @param string $name
7373
*/
74-
public function setName($name)
74+
public function setName(string $name): void
7575
{
7676
$this->name = $name;
7777
}
7878

7979
/**
80-
* @return Collection
80+
* @return Role[]|Collection
8181
*/
82-
public function getRegisterableRoles()
82+
public function getRegisterableRoles(): Collection
8383
{
8484
return $this->registerableRoles;
8585
}
8686

8787
/**
88-
* @param Collection $registerableRoles
88+
* @return string
89+
*/
90+
public function getRegisterableRolesText(): string
91+
{
92+
return implode(', ', $this->registerableRoles->map(function (Role $role) {return $role->getName();})->toArray());
93+
}
94+
95+
/**
96+
* @param Role[]|Collection $registerableRoles
8997
*/
90-
public function setRegisterableRoles($registerableRoles)
98+
public function setRegisterableRoles(Collection $registerableRoles)
9199
{
92100
$this->registerableRoles->clear();
93101
foreach ($registerableRoles as $registerableRole)
@@ -97,16 +105,16 @@ public function setRegisterableRoles($registerableRoles)
97105
/**
98106
* @param Role $role
99107
*/
100-
public function addRole(Role $role)
108+
public function addRole(Role $role): void
101109
{
102110
if (!$this->registerableRoles->contains($role))
103111
$this->registerableRoles->add($role);
104112
}
105113

106114
/**
107-
* @return Collection
115+
* @return Block[]|Collection
108116
*/
109-
public function getBlocks()
117+
public function getBlocks(): Collection
110118
{
111119
return $this->blocks;
112120
}

app/model/Settings/SettingsRepository.php

+3-2
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22

33
namespace App\Model\Settings;
44

5+
use App\Utils\Helpers;
56
use Doctrine\ORM\Mapping;
67
use Kdyby\Doctrine\EntityManager;
78
use Kdyby\Doctrine\EntityRepository;
@@ -112,7 +113,7 @@ public function getDateTimeValueText($item): ?string
112113
$value = $this->getValue($item);
113114
if ($value === NULL)
114115
return NULL;
115-
return (new \DateTime($value))->format('j. n. Y H:i');
116+
return (new \DateTime($value))->format(Helpers::DATETIME_FORMAT);
116117
}
117118

118119
/**
@@ -154,7 +155,7 @@ public function getDateValueText($item): ?string
154155
$value = $this->getValue($item);
155156
if ($value === NULL)
156157
return NULL;
157-
return (new \DateTime($value))->format('j. n. Y');
158+
return (new \DateTime($value))->format(Helpers::DATE_FORMAT);
158159
}
159160

160161
/**

0 commit comments

Comments
 (0)