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

@@ -11,7 +11,6 @@ namespace App\Tests\DataFixtures;
use App\Entity\Activity;
use App\Entity\Project;
use App\Entity\User;
use Doctrine\Bundle\FixturesBundle\Fixture;
use Doctrine\Common\Persistence\ObjectManager;
use Faker\Factory;
@@ -117,12 +116,12 @@ final class ActivityFixtures extends Fixture
/**
* @param ObjectManager $manager
* @return Project[]
* @return array<int|string, Project>
*/
protected function getAllProjects(ObjectManager $manager)
protected function getAllProjects(ObjectManager $manager): array
{
$all = [];
/* @var User[] $entries */
/** @var Project[] $entries */
$entries = $manager->getRepository(Project::class)->findAll();
foreach ($entries as $temp) {
$all[$temp->getId()] = $temp;

View File

@@ -10,7 +10,6 @@
namespace App\Tests\DataFixtures;
use App\Entity\Customer;
use App\Entity\User;
use Doctrine\Bundle\FixturesBundle\Fixture;
use Doctrine\Common\Persistence\ObjectManager;
use Faker\Factory;
@@ -97,20 +96,4 @@ final class CustomerFixtures extends Fixture
$manager->flush();
}
/**
* @param ObjectManager $manager
* @return Customer[]
*/
protected function getAllCustomers(ObjectManager $manager)
{
$all = [];
/* @var User[] $entries */
$entries = $manager->getRepository(Customer::class)->findAll();
foreach ($entries as $temp) {
$all[$temp->getId()] = $temp;
}
return $all;
}
}

View File

@@ -11,7 +11,6 @@ namespace App\Tests\DataFixtures;
use App\Entity\Customer;
use App\Entity\Project;
use App\Entity\User;
use Doctrine\Bundle\FixturesBundle\Fixture;
use Doctrine\Common\Persistence\ObjectManager;
use Faker\Factory;
@@ -99,12 +98,12 @@ final class ProjectFixtures extends Fixture
/**
* @param ObjectManager $manager
* @return Customer[]
* @return array<int|string, Customer>
*/
protected function getAllCustomers(ObjectManager $manager)
protected function getAllCustomers(ObjectManager $manager): array
{
$all = [];
/* @var User[] $entries */
/** @var Customer[] $entries */
$entries = $manager->getRepository(Customer::class)->findAll();
foreach ($entries as $temp) {
$all[$temp->getId()] = $temp;

View File

@@ -138,12 +138,12 @@ final class TeamFixtures extends Fixture
/**
* @param ObjectManager $manager
* @return Customer[]
* @return array<int|string, Customer>
*/
private function getAllCustomers(ObjectManager $manager)
{
$all = [];
/* @var Customer[] $entries */
/** @var Customer[] $entries */
$entries = $manager->getRepository(Customer::class)->findAll();
foreach ($entries as $temp) {
$all[$temp->getId()] = $temp;
@@ -154,12 +154,12 @@ final class TeamFixtures extends Fixture
/**
* @param ObjectManager $manager
* @return User[]
* @return array<int|string, User>
*/
private function getAllUsers(ObjectManager $manager)
private function getAllUsers(ObjectManager $manager): array
{
$all = [];
/* @var User[] $entries */
/** @var User[] $entries */
$entries = $manager->getRepository(User::class)->findAll();
foreach ($entries as $temp) {
$all[$temp->getId()] = $temp;

View File

@@ -297,12 +297,12 @@ final class TimesheetFixtures extends Fixture
/**
* @param ObjectManager $manager
* @return Activity[]
* @return array<int|string, Activity>
*/
protected function getAllActivities(ObjectManager $manager)
protected function getAllActivities(ObjectManager $manager): array
{
$all = [];
/* @var Activity[] $entries */
/** @var Activity[] $entries */
$entries = $manager->getRepository(Activity::class)->findAll();
foreach ($entries as $temp) {
$all[$temp->getId()] = $temp;
@@ -313,12 +313,12 @@ final class TimesheetFixtures extends Fixture
/**
* @param ObjectManager $manager
* @return Project[]
* @return array<int|string, Project>
*/
protected function getAllProjects(ObjectManager $manager)
protected function getAllProjects(ObjectManager $manager): array
{
$all = [];
/* @var Project[] $entries */
/** @var Project[] $entries */
$entries = $manager->getRepository(Project::class)->findAll();
foreach ($entries as $temp) {
$all[$temp->getId()] = $temp;