mirror of
https://github.com/solidtime-io/solidtime.git
synced 2026-10-16 17:53:18 +01:00
Add goals feature for personal goals with filters
This commit is contained in:
22
app/Enums/GoalComparison.php
Normal file
22
app/Enums/GoalComparison.php
Normal file
@@ -0,0 +1,22 @@
|
||||
<?php
|
||||
|
||||
declare(strict_types=1);
|
||||
|
||||
namespace App\Enums;
|
||||
|
||||
use Datomatic\LaravelEnumHelper\LaravelEnumHelper;
|
||||
|
||||
enum GoalComparison: string
|
||||
{
|
||||
use LaravelEnumHelper;
|
||||
|
||||
/**
|
||||
* The goal is reached when at least the target amount of time was tracked in the period.
|
||||
*/
|
||||
case AtLeast = 'at_least';
|
||||
|
||||
/**
|
||||
* The goal is reached when less than the target amount of time was tracked in the period.
|
||||
*/
|
||||
case LessThan = 'less_than';
|
||||
}
|
||||
16
app/Enums/GoalPeriod.php
Normal file
16
app/Enums/GoalPeriod.php
Normal file
@@ -0,0 +1,16 @@
|
||||
<?php
|
||||
|
||||
declare(strict_types=1);
|
||||
|
||||
namespace App\Enums;
|
||||
|
||||
use Datomatic\LaravelEnumHelper\LaravelEnumHelper;
|
||||
|
||||
enum GoalPeriod: string
|
||||
{
|
||||
use LaravelEnumHelper;
|
||||
|
||||
case Day = 'day';
|
||||
case Week = 'week';
|
||||
case Month = 'month';
|
||||
}
|
||||
32
app/Enums/GoalStatus.php
Normal file
32
app/Enums/GoalStatus.php
Normal file
@@ -0,0 +1,32 @@
|
||||
<?php
|
||||
|
||||
declare(strict_types=1);
|
||||
|
||||
namespace App\Enums;
|
||||
|
||||
use Datomatic\LaravelEnumHelper\LaravelEnumHelper;
|
||||
|
||||
enum GoalStatus: string
|
||||
{
|
||||
use LaravelEnumHelper;
|
||||
|
||||
/**
|
||||
* "At least" goal, the target has not been reached yet in the current period.
|
||||
*/
|
||||
case InProgress = 'in_progress';
|
||||
|
||||
/**
|
||||
* "At least" goal, the target has been reached in the current period.
|
||||
*/
|
||||
case Achieved = 'achieved';
|
||||
|
||||
/**
|
||||
* "Less than" goal, the tracked time is still below the limit.
|
||||
*/
|
||||
case OnTrack = 'on_track';
|
||||
|
||||
/**
|
||||
* "Less than" goal, the tracked time reached or exceeded the limit.
|
||||
*/
|
||||
case Exceeded = 'exceeded';
|
||||
}
|
||||
24
app/Enums/GoalType.php
Normal file
24
app/Enums/GoalType.php
Normal file
@@ -0,0 +1,24 @@
|
||||
<?php
|
||||
|
||||
declare(strict_types=1);
|
||||
|
||||
namespace App\Enums;
|
||||
|
||||
use Datomatic\LaravelEnumHelper\LaravelEnumHelper;
|
||||
|
||||
enum GoalType: string
|
||||
{
|
||||
use LaravelEnumHelper;
|
||||
|
||||
/**
|
||||
* A goal a member set for themselves. Only that member can see and manage it, no permission reaches it.
|
||||
*/
|
||||
case Personal = 'personal';
|
||||
|
||||
/**
|
||||
* A goal the organization set for a member or for the whole organization.
|
||||
* Managed by the members that may manage goals, visible to them and to the member the goal is for.
|
||||
* Requires the team goals extension.
|
||||
*/
|
||||
case Organization = 'organization';
|
||||
}
|
||||
Reference in New Issue
Block a user