Merge branch 'main' into #39-generate-timesheet
# Conflicts: # composer.lock # resources/lang/pl.json
This commit is contained in:
		
							
								
								
									
										2
									
								
								.env.ci
									
									
									
									
									
								
							
							
						
						
									
										2
									
								
								.env.ci
									
									
									
									
									
								
							@@ -19,5 +19,5 @@ CACHE_DRIVER=array
 | 
			
		||||
QUEUE_CONNECTION=sync
 | 
			
		||||
SESSION_DRIVER=array
 | 
			
		||||
SESSION_LIFETIME=120
 | 
			
		||||
FILESYSTEM_DRIVER=local
 | 
			
		||||
FILESYSTEM_DISK=local
 | 
			
		||||
MAIL_MAILER=array
 | 
			
		||||
 
 | 
			
		||||
@@ -22,7 +22,7 @@ CACHE_DRIVER=array
 | 
			
		||||
QUEUE_CONNECTION=sync
 | 
			
		||||
SESSION_DRIVER=file
 | 
			
		||||
SESSION_LIFETIME=120
 | 
			
		||||
FILESYSTEM_DRIVER=local
 | 
			
		||||
FILESYSTEM_DISK=local
 | 
			
		||||
MAIL_MAILER=array
 | 
			
		||||
 | 
			
		||||
TELESCOPE_ENABLED=false
 | 
			
		||||
 
 | 
			
		||||
@@ -35,7 +35,7 @@ CACHE_DRIVER=file
 | 
			
		||||
QUEUE_CONNECTION=sync
 | 
			
		||||
SESSION_DRIVER=file
 | 
			
		||||
SESSION_LIFETIME=120
 | 
			
		||||
FILESYSTEM_DRIVER=local
 | 
			
		||||
FILESYSTEM_DISK=local
 | 
			
		||||
 | 
			
		||||
MAILHOG_PORT=1025
 | 
			
		||||
MAILHOG_DASHBOARD_PORT=8025
 | 
			
		||||
 
 | 
			
		||||
@@ -8,12 +8,14 @@ use Illuminate\Foundation\Support\Providers\EventServiceProvider as ServiceProvi
 | 
			
		||||
use Toby\Domain\Events\VacationRequestAcceptedByAdministrative;
 | 
			
		||||
use Toby\Domain\Events\VacationRequestAcceptedByTechnical;
 | 
			
		||||
use Toby\Domain\Events\VacationRequestApproved;
 | 
			
		||||
use Toby\Domain\Events\VacationRequestCancelled;
 | 
			
		||||
use Toby\Domain\Events\VacationRequestCreated;
 | 
			
		||||
use Toby\Domain\Events\VacationRequestStateChanged;
 | 
			
		||||
use Toby\Domain\Listeners\CreateVacationRequestActivity;
 | 
			
		||||
use Toby\Domain\Listeners\HandleAcceptedByAdministrativeVacationRequest;
 | 
			
		||||
use Toby\Domain\Listeners\HandleAcceptedByTechnicalVacationRequest;
 | 
			
		||||
use Toby\Domain\Listeners\HandleApprovedVacationRequest;
 | 
			
		||||
use Toby\Domain\Listeners\HandleCancelledVacationRequest;
 | 
			
		||||
use Toby\Domain\Listeners\HandleCreatedVacationRequest;
 | 
			
		||||
 | 
			
		||||
class EventServiceProvider extends ServiceProvider
 | 
			
		||||
@@ -24,5 +26,6 @@ class EventServiceProvider extends ServiceProvider
 | 
			
		||||
        VacationRequestAcceptedByTechnical::class => [HandleAcceptedByTechnicalVacationRequest::class],
 | 
			
		||||
        VacationRequestAcceptedByAdministrative::class => [HandleAcceptedByAdministrativeVacationRequest::class],
 | 
			
		||||
        VacationRequestApproved::class => [HandleApprovedVacationRequest::class],
 | 
			
		||||
        VacationRequestCancelled::class => [HandleCancelledVacationRequest::class],
 | 
			
		||||
    ];
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
@@ -7,7 +7,7 @@ namespace Toby\Domain\Enums;
 | 
			
		||||
enum VacationRequestState: string
 | 
			
		||||
{
 | 
			
		||||
    case Created = "created";
 | 
			
		||||
    case Canceled = "canceled";
 | 
			
		||||
    case Cancelled = "cancelled";
 | 
			
		||||
    case Rejected = "rejected";
 | 
			
		||||
    case Approved = "approved";
 | 
			
		||||
    case WaitingForTechnical = "waiting_for_technical";
 | 
			
		||||
@@ -40,7 +40,7 @@ enum VacationRequestState: string
 | 
			
		||||
    {
 | 
			
		||||
        return [
 | 
			
		||||
            self::Rejected,
 | 
			
		||||
            self::Canceled,
 | 
			
		||||
            self::Cancelled,
 | 
			
		||||
        ];
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										20
									
								
								app/Domain/Events/VacationRequestCancelled.php
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										20
									
								
								app/Domain/Events/VacationRequestCancelled.php
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,20 @@
 | 
			
		||||
<?php
 | 
			
		||||
 | 
			
		||||
declare(strict_types=1);
 | 
			
		||||
 | 
			
		||||
namespace Toby\Domain\Events;
 | 
			
		||||
 | 
			
		||||
use Illuminate\Foundation\Events\Dispatchable;
 | 
			
		||||
use Illuminate\Queue\SerializesModels;
 | 
			
		||||
use Toby\Eloquent\Models\VacationRequest;
 | 
			
		||||
 | 
			
		||||
class VacationRequestCancelled
 | 
			
		||||
{
 | 
			
		||||
    use Dispatchable;
 | 
			
		||||
    use SerializesModels;
 | 
			
		||||
 | 
			
		||||
    public function __construct(
 | 
			
		||||
        public VacationRequest $vacationRequest,
 | 
			
		||||
    ) {
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
@@ -5,16 +5,10 @@ declare(strict_types=1);
 | 
			
		||||
namespace Toby\Domain\Listeners;
 | 
			
		||||
 | 
			
		||||
use Toby\Domain\Events\VacationRequestApproved;
 | 
			
		||||
use Toby\Domain\VacationTypeConfigRetriever;
 | 
			
		||||
use Toby\Infrastructure\Jobs\SendVacationRequestDaysToGoogleCalendar;
 | 
			
		||||
 | 
			
		||||
class HandleApprovedVacationRequest
 | 
			
		||||
{
 | 
			
		||||
    public function __construct(
 | 
			
		||||
        protected VacationTypeConfigRetriever $configRetriever,
 | 
			
		||||
    ) {
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    public function handle(VacationRequestApproved $event): void
 | 
			
		||||
    {
 | 
			
		||||
        SendVacationRequestDaysToGoogleCalendar::dispatch($event->vacationRequest);
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										16
									
								
								app/Domain/Listeners/HandleCancelledVacationRequest.php
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										16
									
								
								app/Domain/Listeners/HandleCancelledVacationRequest.php
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,16 @@
 | 
			
		||||
<?php
 | 
			
		||||
 | 
			
		||||
declare(strict_types=1);
 | 
			
		||||
 | 
			
		||||
namespace Toby\Domain\Listeners;
 | 
			
		||||
 | 
			
		||||
use Toby\Domain\Events\VacationRequestCancelled;
 | 
			
		||||
use Toby\Infrastructure\Jobs\ClearVacationRequestDaysInGoogleCalendar;
 | 
			
		||||
 | 
			
		||||
class HandleCancelledVacationRequest
 | 
			
		||||
{
 | 
			
		||||
    public function handle(VacationRequestCancelled $event): void
 | 
			
		||||
    {
 | 
			
		||||
        ClearVacationRequestDaysInGoogleCalendar::dispatch($event->vacationRequest);
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
@@ -21,7 +21,6 @@ use Maatwebsite\Excel\Events\AfterSheet;
 | 
			
		||||
use PhpOffice\PhpSpreadsheet\Shared\Date;
 | 
			
		||||
use PhpOffice\PhpSpreadsheet\Style\Alignment;
 | 
			
		||||
use PhpOffice\PhpSpreadsheet\Style\Border;
 | 
			
		||||
use PhpOffice\PhpSpreadsheet\Style\Color;
 | 
			
		||||
use PhpOffice\PhpSpreadsheet\Style\Fill;
 | 
			
		||||
use PhpOffice\PhpSpreadsheet\Style\NumberFormat;
 | 
			
		||||
use PhpOffice\PhpSpreadsheet\Worksheet\Worksheet;
 | 
			
		||||
 
 | 
			
		||||
@@ -10,6 +10,7 @@ use Toby\Domain\Enums\VacationRequestState;
 | 
			
		||||
use Toby\Domain\Events\VacationRequestAcceptedByAdministrative;
 | 
			
		||||
use Toby\Domain\Events\VacationRequestAcceptedByTechnical;
 | 
			
		||||
use Toby\Domain\Events\VacationRequestApproved;
 | 
			
		||||
use Toby\Domain\Events\VacationRequestCancelled;
 | 
			
		||||
use Toby\Domain\Events\VacationRequestCreated;
 | 
			
		||||
use Toby\Eloquent\Models\VacationRequest;
 | 
			
		||||
 | 
			
		||||
@@ -42,7 +43,9 @@ class VacationRequestStateManager
 | 
			
		||||
 | 
			
		||||
    public function cancel(VacationRequest $vacationRequest): void
 | 
			
		||||
    {
 | 
			
		||||
        $this->changeState($vacationRequest, VacationRequestState::Canceled);
 | 
			
		||||
        $this->changeState($vacationRequest, VacationRequestState::Cancelled);
 | 
			
		||||
 | 
			
		||||
        $this->dispatcher->dispatch(new VacationRequestCancelled($vacationRequest));
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    public function acceptAsTechnical(VacationRequest $vacationRequest): void
 | 
			
		||||
 
 | 
			
		||||
@@ -116,7 +116,7 @@ class VacationRequestController extends Controller
 | 
			
		||||
        $stateManager->cancel($vacationRequest);
 | 
			
		||||
 | 
			
		||||
        return redirect()->back()
 | 
			
		||||
            ->with("success", __("Vacation request has been canceled."));
 | 
			
		||||
            ->with("success", __("Vacation request has been cancelled."));
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    public function acceptAsTechnical(
 | 
			
		||||
 
 | 
			
		||||
@@ -0,0 +1,39 @@
 | 
			
		||||
<?php
 | 
			
		||||
 | 
			
		||||
declare(strict_types=1);
 | 
			
		||||
 | 
			
		||||
namespace Toby\Infrastructure\Jobs;
 | 
			
		||||
 | 
			
		||||
use Illuminate\Bus\Queueable;
 | 
			
		||||
use Illuminate\Contracts\Queue\ShouldQueue;
 | 
			
		||||
use Illuminate\Foundation\Bus\Dispatchable;
 | 
			
		||||
use Spatie\GoogleCalendar\Event;
 | 
			
		||||
use Toby\Eloquent\Models\Vacation;
 | 
			
		||||
use Toby\Eloquent\Models\VacationRequest;
 | 
			
		||||
 | 
			
		||||
class ClearVacationRequestDaysInGoogleCalendar implements ShouldQueue
 | 
			
		||||
{
 | 
			
		||||
    use Dispatchable;
 | 
			
		||||
    use Queueable;
 | 
			
		||||
 | 
			
		||||
    public function __construct(
 | 
			
		||||
        protected VacationRequest $vacationRequest,
 | 
			
		||||
    ) {
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    public function handle(): void
 | 
			
		||||
    {
 | 
			
		||||
        $vacations = $this->vacationRequest->vacations()
 | 
			
		||||
            ->whereNotNull("event_id")
 | 
			
		||||
            ->get();
 | 
			
		||||
 | 
			
		||||
        /** @var Vacation $vacation */
 | 
			
		||||
        foreach ($vacations as $vacation) {
 | 
			
		||||
            Event::find($vacation->event_id)->delete();
 | 
			
		||||
 | 
			
		||||
            $vacation->update([
 | 
			
		||||
                "event_id" => null,
 | 
			
		||||
            ]);
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
@@ -12,7 +12,7 @@
 | 
			
		||||
        "fruitcake/laravel-cors": "^2.0",
 | 
			
		||||
        "guzzlehttp/guzzle": "^7.0.1",
 | 
			
		||||
        "inertiajs/inertia-laravel": "^0.5.1",
 | 
			
		||||
        "laravel/framework": "^8.75",
 | 
			
		||||
        "laravel/framework": "^9.0",
 | 
			
		||||
        "laravel/sanctum": "^2.14",
 | 
			
		||||
        "laravel/socialite": "^5.2",
 | 
			
		||||
        "laravel/telescope": "^4.6",
 | 
			
		||||
@@ -23,12 +23,11 @@
 | 
			
		||||
    },
 | 
			
		||||
    "require-dev": {
 | 
			
		||||
        "blumilksoftware/codestyle": "^0.9.0",
 | 
			
		||||
        "enlightn/enlightn": "^1.22",
 | 
			
		||||
        "facade/ignition": "^2.5",
 | 
			
		||||
        "spatie/laravel-ignition": "^1.0",
 | 
			
		||||
        "fakerphp/faker": "^1.9.1",
 | 
			
		||||
        "laravel/dusk": "^6.21",
 | 
			
		||||
        "mockery/mockery": "^1.4.4",
 | 
			
		||||
        "nunomaduro/collision": "^5.10",
 | 
			
		||||
        "nunomaduro/collision": "^6.1",
 | 
			
		||||
        "phpunit/phpunit": "^9.5.10"
 | 
			
		||||
    },
 | 
			
		||||
    "autoload": {
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										2990
									
								
								composer.lock
									
									
									
										generated
									
									
									
								
							
							
						
						
									
										2990
									
								
								composer.lock
									
									
									
										generated
									
									
									
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							@@ -1,68 +0,0 @@
 | 
			
		||||
<?php
 | 
			
		||||
 | 
			
		||||
declare(strict_types=1);
 | 
			
		||||
 | 
			
		||||
return [
 | 
			
		||||
    "analyzers" => ["*"],
 | 
			
		||||
    "exclude_analyzers" => [],
 | 
			
		||||
    "ci_mode_exclude_analyzers" => [],
 | 
			
		||||
    "analyzer_paths" => [
 | 
			
		||||
        "Enlightn\\Enlightn\\Analyzers" => base_path("vendor/enlightn/enlightn/src/Analyzers"),
 | 
			
		||||
        "Enlightn\\EnlightnPro\\Analyzers" => base_path("vendor/enlightn/enlightnpro/src/Analyzers"),
 | 
			
		||||
    ],
 | 
			
		||||
    "base_path" => [
 | 
			
		||||
        app_path(),
 | 
			
		||||
        database_path("migrations"),
 | 
			
		||||
        database_path("seeders"),
 | 
			
		||||
    ],
 | 
			
		||||
    "skip_env_specific" => env("ENLIGHTN_SKIP_ENVIRONMENT_SPECIFIC", false),
 | 
			
		||||
    "guest_url" => null,
 | 
			
		||||
    "dont_report" => [],
 | 
			
		||||
    "ignore_errors" => [],
 | 
			
		||||
    "license_whitelist" => [
 | 
			
		||||
        "Apache-2.0",
 | 
			
		||||
        "Apache2",
 | 
			
		||||
        "BSD-2-Clause",
 | 
			
		||||
        "BSD-3-Clause",
 | 
			
		||||
        "LGPL-2.1-only",
 | 
			
		||||
        "LGPL-2.1",
 | 
			
		||||
        "LGPL-2.1-or-later",
 | 
			
		||||
        "LGPL-3.0",
 | 
			
		||||
        "LGPL-3.0-only",
 | 
			
		||||
        "LGPL-3.0-or-later",
 | 
			
		||||
        "MIT",
 | 
			
		||||
        "ISC",
 | 
			
		||||
        "CC0-1.0",
 | 
			
		||||
        "Unlicense",
 | 
			
		||||
        "WTFPL",
 | 
			
		||||
    ],
 | 
			
		||||
    "credentials" => [
 | 
			
		||||
        "username" => env("ENLIGHTN_USERNAME"),
 | 
			
		||||
        "api_token" => env("ENLIGHTN_API_TOKEN"),
 | 
			
		||||
    ],
 | 
			
		||||
    "github_repo" => env("ENLIGHTN_GITHUB_REPO"),
 | 
			
		||||
    "compact_lines" => true,
 | 
			
		||||
    "commercial_packages" => [
 | 
			
		||||
        "enlightn/enlightnpro",
 | 
			
		||||
    ],
 | 
			
		||||
    "allowed_permissions" => [
 | 
			
		||||
        base_path() => "775",
 | 
			
		||||
        app_path() => "775",
 | 
			
		||||
        resource_path() => "775",
 | 
			
		||||
        storage_path() => "775",
 | 
			
		||||
        public_path() => "775",
 | 
			
		||||
        config_path() => "775",
 | 
			
		||||
        database_path() => "775",
 | 
			
		||||
        base_path("routes") => "775",
 | 
			
		||||
        app()->bootstrapPath() => "775",
 | 
			
		||||
        app()->bootstrapPath("cache") => "775",
 | 
			
		||||
        app()->bootstrapPath("app.php") => "664",
 | 
			
		||||
        base_path("artisan") => "775",
 | 
			
		||||
        public_path("index.php") => "664",
 | 
			
		||||
        public_path("server.php") => "664",
 | 
			
		||||
    ],
 | 
			
		||||
    "writable_directories" => [
 | 
			
		||||
        storage_path(),
 | 
			
		||||
        app()->bootstrapPath("cache"),
 | 
			
		||||
    ],
 | 
			
		||||
];
 | 
			
		||||
@@ -3,7 +3,7 @@
 | 
			
		||||
declare(strict_types=1);
 | 
			
		||||
 | 
			
		||||
return [
 | 
			
		||||
    "default" => env("FILESYSTEM_DRIVER", "local"),
 | 
			
		||||
    "default" => env("FILESYSTEM_DISK", "local"),
 | 
			
		||||
    "disks" => [
 | 
			
		||||
        "local" => [
 | 
			
		||||
            "driver" => "local",
 | 
			
		||||
 
 | 
			
		||||
@@ -110,7 +110,7 @@ const statuses = [
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    text: 'Anulowany',
 | 
			
		||||
    value: 'canceled',
 | 
			
		||||
    value: 'cancelled',
 | 
			
		||||
    outline: {
 | 
			
		||||
      icon: OutlineXIcon,
 | 
			
		||||
      foreground: 'text-white',
 | 
			
		||||
 
 | 
			
		||||
@@ -62,7 +62,9 @@
 | 
			
		||||
                as="template"
 | 
			
		||||
                :value="type"
 | 
			
		||||
              >
 | 
			
		||||
                <li :class="[active ? 'text-white bg-blumilk-600' : 'text-gray-900', 'cursor-default select-none relative py-2 pl-3 pr-9']">
 | 
			
		||||
                <li
 | 
			
		||||
                  :class="[active ? 'text-white bg-blumilk-600' : 'text-gray-900', 'cursor-default select-none relative py-2 pl-3 pr-9']"
 | 
			
		||||
                >
 | 
			
		||||
                  <span :class="[selected ? 'font-semibold' : 'font-normal', 'block truncate']">
 | 
			
		||||
                    {{ type.label }}
 | 
			
		||||
                  </span>
 | 
			
		||||
@@ -137,7 +139,9 @@
 | 
			
		||||
      </div>
 | 
			
		||||
      <div class="sm:grid sm:grid-cols-3 py-4 items-center">
 | 
			
		||||
        <span class="block text-sm font-medium text-gray-700 sm:mt-px">Liczba dni urlopu</span>
 | 
			
		||||
        <div class="mt-1 sm:mt-0 sm:col-span-2 w-full max-w-lg bg-gray-50 border border-gray-300 rounded-md px-4 py-2 inline-flex items-center text-gray-500 sm:text-sm">
 | 
			
		||||
        <div
 | 
			
		||||
          class="mt-1 sm:mt-0 sm:col-span-2 w-full max-w-lg bg-gray-50 border border-gray-300 rounded-md px-4 py-2 inline-flex items-center text-gray-500 sm:text-sm"
 | 
			
		||||
        >
 | 
			
		||||
          {{ estimatedDays.length }}
 | 
			
		||||
        </div>
 | 
			
		||||
      </div>
 | 
			
		||||
@@ -179,11 +183,11 @@
 | 
			
		||||
</template>
 | 
			
		||||
 | 
			
		||||
<script>
 | 
			
		||||
import {useForm} from '@inertiajs/inertia-vue3'
 | 
			
		||||
import {useForm, usePage} from '@inertiajs/inertia-vue3'
 | 
			
		||||
import FlatPickr from 'vue-flatpickr-component'
 | 
			
		||||
import {Listbox, ListboxButton, ListboxLabel, ListboxOption, ListboxOptions} from '@headlessui/vue'
 | 
			
		||||
import {CheckIcon, SelectorIcon, XCircleIcon} from '@heroicons/vue/solid'
 | 
			
		||||
import {reactive, ref} from 'vue'
 | 
			
		||||
import {reactive, ref, computed} from 'vue'
 | 
			
		||||
import axios from 'axios'
 | 
			
		||||
 | 
			
		||||
export default {
 | 
			
		||||
@@ -218,18 +222,22 @@ export default {
 | 
			
		||||
    })
 | 
			
		||||
 | 
			
		||||
    const estimatedDays = ref([])
 | 
			
		||||
    const minDate = computed(() => new Date(usePage().props.value.years.current, 0, 1))
 | 
			
		||||
    const maxDate = computed(() => new Date(usePage().props.value.years.current, 11, 31))
 | 
			
		||||
 | 
			
		||||
    const disableDates = [
 | 
			
		||||
      date => (date.getDay() === 0 || date.getDay() === 6),
 | 
			
		||||
    ]
 | 
			
		||||
 | 
			
		||||
    const fromInputConfig = reactive({
 | 
			
		||||
      maxDate: null,
 | 
			
		||||
      minDate: minDate,
 | 
			
		||||
      maxDate: maxDate,
 | 
			
		||||
      disable: disableDates,
 | 
			
		||||
    })
 | 
			
		||||
 | 
			
		||||
    const toInputConfig = reactive({
 | 
			
		||||
      minDate: null,
 | 
			
		||||
      minDate: minDate,
 | 
			
		||||
      maxDate: maxDate,
 | 
			
		||||
      disable: disableDates,
 | 
			
		||||
    })
 | 
			
		||||
 | 
			
		||||
@@ -250,13 +258,11 @@ export default {
 | 
			
		||||
        .post('/vacation-requests')
 | 
			
		||||
    },
 | 
			
		||||
    onFromChange(selectedDates, dateStr) {
 | 
			
		||||
      this.toInputConfig.minDate = dateStr
 | 
			
		||||
      this.form.to = dateStr
 | 
			
		||||
 | 
			
		||||
      this.refreshEstimatedDays(this.form.from, this.form.to)
 | 
			
		||||
    },
 | 
			
		||||
    onToChange(selectedDates, dateStr) {
 | 
			
		||||
      this.fromInputConfig.maxDate = dateStr
 | 
			
		||||
 | 
			
		||||
    onToChange() {
 | 
			
		||||
      this.refreshEstimatedDays(this.form.from, this.form.to)
 | 
			
		||||
    },
 | 
			
		||||
    refreshEstimatedDays(from, to) {
 | 
			
		||||
 
 | 
			
		||||
@@ -19,7 +19,7 @@
 | 
			
		||||
  "technical_approver": "Techniczny akceptujący",
 | 
			
		||||
  "administrative_approver": "Administracyjny akceptujący",
 | 
			
		||||
  "created": "Utworzony",
 | 
			
		||||
  "canceled": "Anulowany",
 | 
			
		||||
  "cancelled": "Anulowany",
 | 
			
		||||
  "rejected": "Odrzucony",
 | 
			
		||||
  "approved": "Zatwierdzony",
 | 
			
		||||
  "waiting_for_technical": "Czeka na akceptację od technicznego",
 | 
			
		||||
@@ -43,7 +43,7 @@
 | 
			
		||||
  "Vacation request has been created.": "Wniosek urlopowy został utworzony.",
 | 
			
		||||
  "Vacation request has been accepted.": "Wniosek urlopowy został zaakceptowany.",
 | 
			
		||||
  "Vacation request has been rejected.": "Wniosek urlopowy został odrzucony.",
 | 
			
		||||
  "Vacation request has been canceled.": "Wniosek urlopowy został anulowany.",
 | 
			
		||||
  "Vacation request has been cancelled.": "Wniosek urlopowy został anulowany.",
 | 
			
		||||
  "Sum:": "Suma:",
 | 
			
		||||
  "Date": "Data",
 | 
			
		||||
  "Day of week": "Dzień tygodnia",
 | 
			
		||||
 
 | 
			
		||||
@@ -122,6 +122,6 @@ class HolidayTest extends FeatureTestCase
 | 
			
		||||
            ->delete("/holidays/{$holiday->id}")
 | 
			
		||||
            ->assertSessionHasNoErrors();
 | 
			
		||||
 | 
			
		||||
        $this->assertDeleted($holiday);
 | 
			
		||||
        $this->assertModelMissing($holiday);
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user