4 Commits

Author SHA1 Message Date
87ea723f4e - updated style 2022-07-04 22:49:28 +02:00
48b0c74684 - release note added 2022-07-04 22:27:37 +02:00
643f546142 #173 - button behaviour in creating request (#174)
#173 - improved button behaviour
2022-06-20 09:33:30 +02:00
995c0b6696 - changed limits for item list (#171)
* - changed limits for displayed items

* - transferred to models

* - updated tests
2022-06-15 10:14:58 +02:00
10 changed files with 99 additions and 5 deletions

View File

@@ -67,3 +67,9 @@ SLACK_ENABLED=true
SLACK_CLIENT_TOKEN= SLACK_CLIENT_TOKEN=
SLACK_SIGNING_SECRET= SLACK_SIGNING_SECRET=
SLACK_DEFAULT_CHANNEL="#general" SLACK_DEFAULT_CHANNEL="#general"
HEROKU_RELEASE_VERSION=v01
HEROKU_SLUG_DESCRIPTION="Dev 643f546"
HEROKU_RELEASE_CREATED_AT=2022-07-04T18:05:46Z
HEROKU_SLUG_COMMIT=643f546142b8a2db342f0ae46f01e61dce03e97c
GITHUB_REPO_URL=https://github.com/blumilksoftware/toby/

View File

@@ -31,6 +31,7 @@ class Resume extends Model
"technologies" => AsCollection::class, "technologies" => AsCollection::class,
"projects" => AsCollection::class, "projects" => AsCollection::class,
]; ];
protected $perPage = 50;
public function user(): BelongsTo public function user(): BelongsTo
{ {

View File

@@ -46,6 +46,7 @@ class User extends Authenticatable implements NotifiableInterface
protected $with = [ protected $with = [
"profile", "profile",
]; ];
protected $perPage = 50;
public function profile(): HasOne public function profile(): HasOne
{ {

View File

@@ -49,6 +49,7 @@ class VacationRequest extends Model
"to" => "date", "to" => "date",
"event_ids" => AsCollection::class, "event_ids" => AsCollection::class,
]; ];
protected $perPage = 50;
public function user(): BelongsTo public function user(): BelongsTo
{ {

View File

@@ -6,6 +6,7 @@ namespace Toby\Infrastructure\Http\Middleware;
use Closure; use Closure;
use Illuminate\Http\Request; use Illuminate\Http\Request;
use Illuminate\Support\Carbon;
use Inertia\Middleware; use Inertia\Middleware;
use Toby\Domain\VacationRequestStatesRetriever; use Toby\Domain\VacationRequestStatesRetriever;
use Toby\Eloquent\Helpers\YearPeriodRetriever; use Toby\Eloquent\Helpers\YearPeriodRetriever;
@@ -25,6 +26,7 @@ class HandleInertiaRequests extends Middleware
"flash" => $this->getFlashData($request), "flash" => $this->getFlashData($request),
"years" => $this->getYearsData($request), "years" => $this->getYearsData($request),
"vacationRequestsCount" => $this->getVacationRequestsCount($request), "vacationRequestsCount" => $this->getVacationRequestsCount($request),
"deployInformation" => $this->getDeployInformation(),
]); ]);
} }
@@ -71,4 +73,17 @@ class HandleInertiaRequests extends Middleware
->count() ->count()
: null; : null;
} }
protected function getDeployInformation(): array
{
$releaseDate = config("heroku.release_created_at");
return [
"release_version" => config("heroku.release_version"),
"slug_description" => config("heroku.slug_description"),
"release_created_at" => $releaseDate ? Carbon::parse($releaseDate)->format('Y-m-d H:i:s') : null,
"slug_commit" => config("heroku.slug_commit"),
"github_url" => preg_replace("/\/$/i", "", config("heroku.github_url", "")),
];
}
} }

11
config/heroku.php Normal file
View File

@@ -0,0 +1,11 @@
<?php
declare(strict_types=1);
return [
"release_version" => env("HEROKU_RELEASE_VERSION"),
"slug_description" => env("HEROKU_SLUG_DESCRIPTION"),
"release_created_at" => env("HEROKU_RELEASE_CREATED_AT"),
"slug_commit" => env("HEROKU_SLUG_COMMIT"),
"github_url" => env("GITHUB_REPO_URL")
];

View File

@@ -297,8 +297,8 @@
<button <button
type="submit" type="submit"
class="inline-flex justify-center py-2 px-4 text-sm font-medium text-white bg-blumilk-600 rounded-md border border-transparent focus:outline-none focus:ring-2 focus:ring-blumilk-500 focus:ring-offset-2 shadow-sm" class="inline-flex justify-center py-2 px-4 text-sm font-medium text-white bg-blumilk-600 rounded-md border border-transparent focus:outline-none focus:ring-2 focus:ring-blumilk-500 focus:ring-offset-2 shadow-sm"
:class="[form.processing || !form.isDirty ? 'disabled:opacity-60' : 'hover:bg-blumilk-700']" :class="[form.processing || !isDirty ? 'disabled:opacity-60' : 'hover:bg-blumilk-700']"
:disabled="form.processing || !form.isDirty" :disabled="form.processing || !isDirty"
> >
Zapisz Zapisz
</button> </button>
@@ -359,6 +359,13 @@ const form = useForm({
flowSkipped: false, flowSkipped: false,
}) })
let isDirty = ref(false)
watch(form, formData => {
const { from, to } = formData.data()
isDirty.value = formData.isDirty || from !== null || to !== null
}, { immediate: true, deep: true })
refreshEstimatedDays(form.from, form.to) refreshEstimatedDays(form.from, form.to)
const estimatedDays = ref([]) const estimatedDays = ref([])

View File

@@ -9,6 +9,30 @@
<div class="lg:px-4"> <div class="lg:px-4">
<slot /> <slot />
</div> </div>
<div class="p-4 text-xs text-gray-500 flex align-baseline gap-x-1">
<p>
<strong>Wydanie:</strong> <a
v-if="deployInformation.github_url"
:href="`${deployInformation.github_url}/commit/${deployInformation.slug_commit}`"
target="_blank"
rel="noopener nofollow noreferrer"
:title="`Commit: ${deployInformation.slug_commit}`"
>
{{ deployInformation.slug_description }} ({{ deployInformation.release_version }})
</a><span
v-else
:title="`Commit: ${deployInformation.slug_commit}`"
>
{{ deployInformation.slug_description }}
</span>
</p>
<p
v-if="deployInformation.release_created_at"
class="border-l-2 border-gray-300 pl-1"
>
<strong>Data wydania:</strong> {{ deployInformation.release_created_at }}
</p>
</div>
</main> </main>
</div> </div>
</template> </template>
@@ -23,6 +47,7 @@ const props = defineProps({
auth: Object, auth: Object,
years: Object, years: Object,
vacationRequestsCount: Number, vacationRequestsCount: Number,
deployInformation: Object,
}) })
const toast = useToast() const toast = useToast()

View File

@@ -1,5 +1,32 @@
<template> <template>
<div class="flex flex-col justify-center py-12 min-h-screen bg-blumilk-25 sm:px-6 lg:px-8"> <div class="relative flex flex-col justify-center py-12 min-h-screen bg-blumilk-25 sm:px-6 lg:px-8">
<slot /> <slot />
<div class="absolute left-0 bottom-0 min-w-full p-4 text-xs text-gray-500 flex flex-col gap-x-1">
<p>
<strong>Wydanie:</strong> <a
v-if="deployInformation.github_url"
:href="`${deployInformation.github_url}/commit/${deployInformation.slug_commit}`"
target="_blank"
rel="noopener nofollow noreferrer"
:title="`Commit: ${deployInformation.slug_commit}`"
>
{{ deployInformation.slug_description }} ({{ deployInformation.release_version }})
</a>
<span
v-else
:title="`Commit: ${deployInformation.slug_commit}`"
>
{{ deployInformation.slug_description }}
</span>
</p>
<p v-if="deployInformation.release_created_at">
<strong>Data wydania:</strong> {{ deployInformation.release_created_at }}
</p>
</div>
</div> </div>
</template> </template>
<script setup>
defineProps({
deployInformation: Object,
})
</script>

View File

@@ -73,10 +73,10 @@ class UserTest extends FeatureTestCase
public function testUserListIsPaginated(): void public function testUserListIsPaginated(): void
{ {
User::factory()->count(15)->create(); User::factory()->count(50)->create();
$admin = User::factory()->admin()->create(); $admin = User::factory()->admin()->create();
$this->assertDatabaseCount("users", 16); $this->assertDatabaseCount("users", 51);
$this->actingAs($admin) $this->actingAs($admin)
->get("/users?page=2") ->get("/users?page=2")