#39 - generate timesheet #56
@@ -7,6 +7,7 @@ namespace Toby\Domain;
|
||||
|
|
||||
use Illuminate\Database\Eloquent\Collection;
|
||||
use Illuminate\Support\Carbon;
|
||||
use Maatwebsite\Excel\Concerns\WithMultipleSheets;
|
||||
use Toby\Eloquent\Models\User;
|
||||
|
Why not to use Why not to use `map()`?
|
||||
|
||||
class TimesheetExport implements WithMultipleSheets
|
||||
{
|
||||
@@ -15,13 +16,9 @@ class TimesheetExport implements WithMultipleSheets
|
||||
|
Why not to use Why not to use `map()`?
Why not to use Why not to use `map()`?
|
||||
|
||||
public function sheets(): array
|
||||
{
|
||||
$sheets = [];
|
||||
|
Why not to use Why not to use `map()`?
|
||||
|
||||
|
Why not to use Why not to use `map()`?
|
||||
foreach ($this->users as $user) {
|
||||
|
Why not to use Why not to use `map()`?
|
||||
$sheets[] = new TimesheetPerUserSheet($user, $this->month);
|
||||
|
Why not to use Why not to use `map()`?
|
||||
}
|
||||
|
Why not to use Why not to use `map()`?
|
||||
|
||||
|
Why not to use Why not to use `map()`?
|
||||
return $sheets;
|
||||
|
Why not to use Why not to use `map()`?
|
||||
return $this->users
|
||||
|
Why not to use Why not to use `map()`?
|
||||
->map(fn(User $user) => new TimesheetPerUserSheet($user, $this->month))
|
||||
|
Why not to use Why not to use `map()`?
|
||||
->toArray();
|
||||
|
Why not to use Why not to use `map()`?
|
||||
}
|
||||
|
||||
public function forUsers(Collection $users): static
|
||||
|
||||
|
Why not to use Why not to use `map()`?
Why not to use Why not to use `map()`?
|
||||
@@ -35,6 +35,8 @@ class TimesheetPerUserSheet implements WithTitle, WithHeadings, WithEvents, With
|
||||
|
Maybe move these hours to consts as start hour and end hour? Maybe move these hours to consts as start hour and end hour?
Maybe move these hours to consts as start hour and end hour? Maybe move these hours to consts as start hour and end hour?
|
||||
use RegistersEventListeners;
|
||||
|
||||
protected const HOURS_PER_DAY = 8;
|
||||
protected const START_HOUR = 8;
|
||||
|
Maybe move these hours to consts as start hour and end hour? Maybe move these hours to consts as start hour and end hour?
|
||||
protected const END_HOUR = 16;
|
||||
|
Maybe move these hours to consts as start hour and end hour? Maybe move these hours to consts as start hour and end hour?
|
||||
|
||||
public function __construct(
|
||||
protected User $user,
|
||||
@@ -79,8 +81,8 @@ class TimesheetPerUserSheet implements WithTitle, WithHeadings, WithEvents, With
|
||||
|
Maybe move these hours to consts as start hour and end hour? Maybe move these hours to consts as start hour and end hour?
Maybe move these hours to consts as start hour and end hour? Maybe move these hours to consts as start hour and end hour?
|
||||
$row = [
|
||||
Date::dateTimeToExcel($day),
|
||||
$day->translatedFormat("l"),
|
||||
$workedThisDay ? $this->toExcelTime(Carbon::createFromTime(8)) : null,
|
||||
|
Maybe move these hours to consts as start hour and end hour? Maybe move these hours to consts as start hour and end hour?
|
||||
$workedThisDay ? $this->toExcelTime(Carbon::createFromTime(16)) : null,
|
||||
|
Maybe move these hours to consts as start hour and end hour? Maybe move these hours to consts as start hour and end hour?
|
||||
$workedThisDay ? $this->toExcelTime(Carbon::createFromTime(static::START_HOUR)) : null,
|
||||
|
Maybe move these hours to consts as start hour and end hour? Maybe move these hours to consts as start hour and end hour?
|
||||
$workedThisDay ? $this->toExcelTime(Carbon::createFromTime(static::END_HOUR)) : null,
|
||||
|
Maybe move these hours to consts as start hour and end hour? Maybe move these hours to consts as start hour and end hour?
|
||||
$workedThisDay ? static::HOURS_PER_DAY : null,
|
||||
];
|
||||
|
||||
|
||||
|
Maybe move these hours to consts as start hour and end hour? Maybe move these hours to consts as start hour and end hour?
Maybe move these hours to consts as start hour and end hour? Maybe move these hours to consts as start hour and end hour?
|
||||
@@ -2,6 +2,7 @@
|
||||
|
I would import that too. I would import that too.
I would import that too. I would import that too.
|
||||
|
||||
declare(strict_types=1);
|
||||
|
||||
use Maatwebsite\Excel\DefaultValueBinder;
|
||||
|
I would import that too. I would import that too.
|
||||
use Maatwebsite\Excel\Excel;
|
||||
|
||||
return [
|
||||
@@ -75,7 +76,7 @@ return [
|
||||
|
I would import that too. I would import that too.
I would import that too. I would import that too.
|
||||
"pdf" => Excel::DOMPDF,
|
||||
],
|
||||
"value_binder" => [
|
||||
"default" => Maatwebsite\Excel\DefaultValueBinder::class,
|
||||
|
I would import that too. I would import that too.
|
||||
"default" => DefaultValueBinder::class,
|
||||
|
I would import that too. I would import that too.
|
||||
],
|
||||
|
||||
"cache" => [
|
||||
|
||||
|
I would import that too. I would import that too.
I would import that too. I would import that too.
|
||||
@@ -9,7 +9,7 @@
|
||||
</div>
|
||||
<div>
|
||||
<a
|
||||
:href="`timesheet/${selectedMonth.value}`"
|
||||
:href="`/timesheet/${selectedMonth.value}`"
|
||||
class="inline-flex items-center px-4 py-3 border border-transparent text-sm leading-4 font-medium rounded-md shadow-sm text-white bg-blumilk-600 hover:bg-blumilk-700 focus:outline-none focus:ring-2 focus:ring-offset-2 focus:ring-blumilk-500"
|
||||
>
|
||||
Pobierz plik excel
|
||||
|
||||
Why not to use
map()?Why not to use
map()?