support budget and timeBudget in API calls (#1658)

This commit is contained in:
Kevin Papst
2020-04-23 18:49:48 +02:00
committed by GitHub
parent f8331b74c7
commit 0debc70ead
6 changed files with 29 additions and 7 deletions

View File

@@ -202,7 +202,9 @@ class ActivityController extends BaseApiController
$event = new ActivityMetaDefinitionEvent($activity); $event = new ActivityMetaDefinitionEvent($activity);
$this->dispatcher->dispatch($event); $this->dispatcher->dispatch($event);
$form = $this->createForm(ActivityApiEditForm::class, $activity); $form = $this->createForm(ActivityApiEditForm::class, $activity, [
'include_budget' => $this->isGranted('budget', $activity),
]);
$form->submit($request->request->all()); $form->submit($request->request->all());
@@ -264,7 +266,9 @@ class ActivityController extends BaseApiController
$event = new ActivityMetaDefinitionEvent($activity); $event = new ActivityMetaDefinitionEvent($activity);
$this->dispatcher->dispatch($event); $this->dispatcher->dispatch($event);
$form = $this->createForm(ActivityApiEditForm::class, $activity); $form = $this->createForm(ActivityApiEditForm::class, $activity, [
'include_budget' => $this->isGranted('budget', $activity),
]);
$form->setData($activity); $form->setData($activity);
$form->submit($request->request->all(), false); $form->submit($request->request->all(), false);

View File

@@ -175,7 +175,9 @@ class CustomerController extends BaseApiController
$event = new CustomerMetaDefinitionEvent($customer); $event = new CustomerMetaDefinitionEvent($customer);
$this->dispatcher->dispatch($event); $this->dispatcher->dispatch($event);
$form = $this->createForm(CustomerApiEditForm::class, $customer); $form = $this->createForm(CustomerApiEditForm::class, $customer, [
'include_budget' => $this->isGranted('budget', $customer),
]);
$form->submit($request->request->all()); $form->submit($request->request->all());
@@ -237,7 +239,9 @@ class CustomerController extends BaseApiController
$event = new CustomerMetaDefinitionEvent($customer); $event = new CustomerMetaDefinitionEvent($customer);
$this->dispatcher->dispatch($event); $this->dispatcher->dispatch($event);
$form = $this->createForm(CustomerApiEditForm::class, $customer); $form = $this->createForm(CustomerApiEditForm::class, $customer, [
'include_budget' => $this->isGranted('budget', $customer),
]);
$form->setData($customer); $form->setData($customer);
$form->submit($request->request->all(), false); $form->submit($request->request->all(), false);

View File

@@ -224,6 +224,7 @@ class ProjectController extends BaseApiController
$form = $this->createForm(ProjectApiEditForm::class, $project, [ $form = $this->createForm(ProjectApiEditForm::class, $project, [
'date_format' => self::DATE_FORMAT, 'date_format' => self::DATE_FORMAT,
'include_budget' => $this->isGranted('budget', $project),
]); ]);
$form->submit($request->request->all()); $form->submit($request->request->all());
@@ -288,6 +289,7 @@ class ProjectController extends BaseApiController
$form = $this->createForm(ProjectApiEditForm::class, $project, [ $form = $this->createForm(ProjectApiEditForm::class, $project, [
'date_format' => self::DATE_FORMAT, 'date_format' => self::DATE_FORMAT,
'include_budget' => $this->isGranted('budget', $project),
]); ]);
$form->setData($project); $form->setData($project);

View File

@@ -188,7 +188,9 @@ class ActivityControllerTest extends APIControllerBaseTest
$data = [ $data = [
'name' => 'foo', 'name' => 'foo',
'project' => 1, 'project' => 1,
'visible' => true 'visible' => true,
'budget' => '999',
'timeBudget' => '7200',
]; ];
$this->request($client, '/api/activities', 'POST', [], json_encode($data)); $this->request($client, '/api/activities', 'POST', [], json_encode($data));
$this->assertTrue($client->getResponse()->isSuccessful()); $this->assertTrue($client->getResponse()->isSuccessful());
@@ -236,7 +238,9 @@ class ActivityControllerTest extends APIControllerBaseTest
'name' => 'foo', 'name' => 'foo',
'comment' => '', 'comment' => '',
'project' => 1, 'project' => 1,
'visible' => true 'visible' => true,
'budget' => '999',
'timeBudget' => '7200',
]; ];
$this->request($client, '/api/activities/1', 'PATCH', [], json_encode($data)); $this->request($client, '/api/activities/1', 'PATCH', [], json_encode($data));
$this->assertTrue($client->getResponse()->isSuccessful()); $this->assertTrue($client->getResponse()->isSuccessful());

View File

@@ -124,6 +124,8 @@ class CustomerControllerTest extends APIControllerBaseTest
'country' => 'DE', 'country' => 'DE',
'currency' => 'EUR', 'currency' => 'EUR',
'timezone' => 'Europe/Berlin', 'timezone' => 'Europe/Berlin',
'budget' => '999',
'timeBudget' => '7200',
]; ];
$this->request($client, '/api/customers', 'POST', [], json_encode($data)); $this->request($client, '/api/customers', 'POST', [], json_encode($data));
$this->assertTrue($client->getResponse()->isSuccessful()); $this->assertTrue($client->getResponse()->isSuccessful());
@@ -178,6 +180,8 @@ class CustomerControllerTest extends APIControllerBaseTest
'country' => 'DE', 'country' => 'DE',
'currency' => 'EUR', 'currency' => 'EUR',
'timezone' => 'Europe/Berlin', 'timezone' => 'Europe/Berlin',
'budget' => '999',
'timeBudget' => '7200',
]; ];
$this->request($client, '/api/customers/1', 'PATCH', [], json_encode($data)); $this->request($client, '/api/customers/1', 'PATCH', [], json_encode($data));
$this->assertTrue($client->getResponse()->isSuccessful()); $this->assertTrue($client->getResponse()->isSuccessful());

View File

@@ -187,6 +187,8 @@ class ProjectControllerTest extends APIControllerBaseTest
'orderDate' => '2018-02-08T13:02:54', 'orderDate' => '2018-02-08T13:02:54',
'start' => '2019-02-01T19:32:17', 'start' => '2019-02-01T19:32:17',
'end' => '2020-02-08T21:11:42', 'end' => '2020-02-08T21:11:42',
'budget' => '999',
'timeBudget' => '7200',
]; ];
$this->request($client, '/api/projects', 'POST', [], json_encode($data)); $this->request($client, '/api/projects', 'POST', [], json_encode($data));
$this->assertTrue($client->getResponse()->isSuccessful()); $this->assertTrue($client->getResponse()->isSuccessful());
@@ -237,7 +239,9 @@ class ProjectControllerTest extends APIControllerBaseTest
'name' => 'foo', 'name' => 'foo',
'comment' => '', 'comment' => '',
'customer' => 1, 'customer' => 1,
'visible' => true 'visible' => true,
'budget' => '999',
'timeBudget' => '7200',
]; ];
$this->request($client, '/api/projects/1', 'PATCH', [], json_encode($data)); $this->request($client, '/api/projects/1', 'PATCH', [], json_encode($data));
$this->assertTrue($client->getResponse()->isSuccessful()); $this->assertTrue($client->getResponse()->isSuccessful());