Skip to content

Commit db92e59

Browse files
authored
Merge pull request #1215 from HiEventsDev/develop
v1.10.0-beta
2 parents 34f3b6a + 347ee48 commit db92e59

46 files changed

Lines changed: 1156 additions & 738 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

VERSION

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
1.8.0-beta
1+
1.10.0-beta

backend/VERSION

Whitespace-only changes.
Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
<?php
2+
3+
namespace HiEvents\DomainObjects\Enums;
4+
5+
enum TicketDateDisplayMode: string
6+
{
7+
use BaseEnum;
8+
9+
case START_DATE_TIME = 'START_DATE_TIME';
10+
case DATE_RANGE = 'DATE_RANGE';
11+
case HIDDEN = 'HIDDEN';
12+
}

backend/app/Http/Request/EventSettings/UpdateEventSettingsRequest.php

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@
77
use HiEvents\DomainObjects\Enums\HomepageFontFamily;
88
use HiEvents\DomainObjects\Enums\PaymentProviders;
99
use HiEvents\DomainObjects\Enums\PriceDisplayMode;
10+
use HiEvents\DomainObjects\Enums\TicketDateDisplayMode;
1011
use HiEvents\Http\Request\BaseRequest;
1112
use HiEvents\Validators\Rules\RulesHelper;
1213
use Illuminate\Validation\Rule;
@@ -85,6 +86,7 @@ public function rules(): array
8586
'ticket_design_settings.logo_image_id' => ['nullable', 'integer'],
8687
'ticket_design_settings.footer_text' => ['nullable', 'string', 'max:500'],
8788
'ticket_design_settings.layout_type' => ['nullable', 'string', Rule::in(['default', 'modern'])],
89+
'ticket_design_settings.date_display_mode' => ['nullable', 'string', Rule::in(TicketDateDisplayMode::valuesArray())],
8890
'ticket_design_settings.enabled' => ['boolean'],
8991

9092
// Marketing settings

backend/app/Services/Application/Handlers/EventSettings/DTO/UpdateEventSettingsDTO.php

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@
88
use HiEvents\DomainObjects\Enums\HomepageBackgroundType;
99
use HiEvents\DomainObjects\Enums\PaymentProviders;
1010
use HiEvents\DomainObjects\Enums\PriceDisplayMode;
11+
use HiEvents\DomainObjects\Enums\TicketDateDisplayMode;
1112
use HiEvents\DomainObjects\OrganizerDomainObject;
1213

1314
class UpdateEventSettingsDTO extends BaseDTO
@@ -150,6 +151,7 @@ public static function createWithDefaults(
150151
'logo_image_id' => null,
151152
'footer_text' => null,
152153
'layout_type' => 'classic',
154+
'date_display_mode' => TicketDateDisplayMode::START_DATE_TIME->value,
153155
'enabled' => true,
154156
],
155157

backend/composer.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
"description": "hi.events - Ticket selling and event management.",
55
"keywords": ["ticketing", "events"],
66
"license": "AGPL-3.0",
7-
"version": "1.8.0-beta",
7+
"version": "1.10.0-beta",
88
"require": {
99
"php": "^8.2",
1010
"ext-intl": "*",

backend/lang/es.json

Lines changed: 181 additions & 173 deletions
Large diffs are not rendered by default.

backend/tests/Feature/Http/Actions/EmailTemplates/EmailTemplateTokenTest.php

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -68,11 +68,11 @@ public function test_can_get_order_confirmation_tokens(): void
6868
$tokens = $response->json('tokens');
6969
$this->assertNotEmpty($tokens);
7070

71-
$firstNameToken = collect($tokens)->firstWhere('token', '{{ order_first_name }}');
71+
$firstNameToken = collect($tokens)->firstWhere('token', '{{ order.first_name }}');
7272
$this->assertNotNull($firstNameToken);
7373
$this->assertEquals('The first name of the person who placed the order', $firstNameToken['description']);
7474

75-
$lastNameToken = collect($tokens)->firstWhere('token', '{{ order_last_name }}');
75+
$lastNameToken = collect($tokens)->firstWhere('token', '{{ order.last_name }}');
7676
$this->assertNotNull($lastNameToken);
7777
$this->assertEquals('The last name of the person who placed the order', $lastNameToken['description']);
7878
}
@@ -97,7 +97,7 @@ public function test_can_get_attendee_ticket_tokens(): void
9797
$tokens = $response->json('tokens');
9898
$this->assertNotEmpty($tokens);
9999

100-
$attendeeNameToken = collect($tokens)->firstWhere('token', '{{ attendee_name }}');
100+
$attendeeNameToken = collect($tokens)->firstWhere('token', '{{ attendee.name }}');
101101
$this->assertNotNull($attendeeNameToken);
102102
}
103103

@@ -128,10 +128,10 @@ public function test_tokens_include_order_specific_tokens(): void
128128
$tokens = $response->json('tokens');
129129
$tokenNames = collect($tokens)->pluck('token')->toArray();
130130

131-
$this->assertContains('{{ event_title }}', $tokenNames);
132-
$this->assertContains('{{ order_number }}', $tokenNames);
133-
$this->assertContains('{{ order_total }}', $tokenNames);
134-
$this->assertContains('{{ organizer_name }}', $tokenNames);
131+
$this->assertContains('{{ event.title }}', $tokenNames);
132+
$this->assertContains('{{ order.number }}', $tokenNames);
133+
$this->assertContains('{{ order.total }}', $tokenNames);
134+
$this->assertContains('{{ organizer.name }}', $tokenNames);
135135
}
136136

137137
public function test_tokens_have_proper_structure(): void
Lines changed: 46 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,46 @@
1+
<?php
2+
3+
namespace Tests\Unit\Http\Request\EventSettings;
4+
5+
use HiEvents\DomainObjects\Enums\TicketDateDisplayMode;
6+
use HiEvents\Http\Request\EventSettings\UpdateEventSettingsRequest;
7+
use Illuminate\Support\Facades\Validator;
8+
use Tests\TestCase;
9+
10+
class UpdateEventSettingsRequestTest extends TestCase
11+
{
12+
public function test_valid_date_display_modes_are_accepted(): void
13+
{
14+
foreach (TicketDateDisplayMode::valuesArray() as $mode) {
15+
$validator = Validator::make(
16+
['ticket_design_settings' => ['date_display_mode' => $mode]],
17+
(new UpdateEventSettingsRequest)->rules()
18+
);
19+
20+
$this->assertFalse(
21+
$validator->errors()->has('ticket_design_settings.date_display_mode'),
22+
"Expected '{$mode}' to be a valid date display mode"
23+
);
24+
}
25+
}
26+
27+
public function test_invalid_date_display_mode_is_rejected(): void
28+
{
29+
$validator = Validator::make(
30+
['ticket_design_settings' => ['date_display_mode' => 'NOT_A_MODE']],
31+
(new UpdateEventSettingsRequest)->rules()
32+
);
33+
34+
$this->assertTrue($validator->errors()->has('ticket_design_settings.date_display_mode'));
35+
}
36+
37+
public function test_date_display_mode_is_optional(): void
38+
{
39+
$validator = Validator::make(
40+
['ticket_design_settings' => ['accent_color' => '#333333']],
41+
(new UpdateEventSettingsRequest)->rules()
42+
);
43+
44+
$this->assertFalse($validator->errors()->has('ticket_design_settings.date_display_mode'));
45+
}
46+
}

frontend/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
{
22
"name": "hievents-frontend",
33
"private": true,
4-
"version": "1.8.0-beta",
4+
"version": "1.10.0-beta",
55
"type": "module",
66
"scripts": {
77
"dev:csr": "vite --port 5678 --host 0.0.0.0",

0 commit comments

Comments
 (0)