added project start and end date (#1303)

* added sortable js library
* activity in invoice is optional
* added javascript widget for paginated boxes
* fix activity dropdown for globals only
* added timesheet service to reduce code duplication
* use repository to query for teams in dropdowns
* added project validator
* validate project start and end against timesheet
* include begin and end in dynamic form requests for projects
* added timezone and language option to import flag, improve timesheet import speed
* deactivate cross-timezone filter
* add virtual fields to field order list
* composer update
* added param to ignore dates
* position loader icon fixed - fixes #1330
* permission problem when creating a new project - fixes #1340
* remove dev dependencies webserver and thanks bundle
* stop information leak (begin and end date) in duration mode - fixes #1307
* unify timesheet edit dialog for user and admins
* fix security issue, own rates exposed to unauthorized users in multi-update dialog
This commit is contained in:
Kevin Papst
2020-01-05 02:49:01 +01:00
committed by GitHub
parent 50383673ca
commit d6798eed1e
121 changed files with 2465 additions and 1439 deletions

View File

@@ -15,6 +15,8 @@ use Symfony\Component\HttpFoundation\Request;
/**
* A tracking-mode defines the behaviour of the user timesheet.
* It is NOT used for the timesheet administration.
*
* @internal do not implement this interface in your bundle, but rather drop a PR to add it to Kimai core
*/
interface TrackingModeInterface
{
@@ -23,9 +25,9 @@ interface TrackingModeInterface
* before form data is rendered/processed.
*
* @param Timesheet $timesheet
* @param Request $request
* @param Request|null $request
*/
public function create(Timesheet $timesheet, Request $request): void;
public function create(Timesheet $timesheet, ?Request $request = null): void;
/**
* Whether the user can edit the begin datetime.