- Implemented the ability to initiate terminations from Mietverhältnisse. - Added new fields and options for terminations in both German and English language files. - Updated metadata definitions to include relationships for terminations with Mietobjekte and Beteiligte. - Enhanced the service layer to handle termination creation, including linking relevant entities and copying documents. - Updated configuration timestamps for deployment.
64 lines
1.6 KiB
PHP
64 lines
1.6 KiB
PHP
<?php
|
|
|
|
namespace Espo\Custom\Controllers;
|
|
|
|
use Espo\Core\Exceptions\BadRequest;
|
|
use Espo\Core\Api\Request;
|
|
|
|
class CVmhMietverhltnis extends \Espo\Core\Templates\Controllers\BasePlus
|
|
{
|
|
/**
|
|
* POST Action: Initiate eviction lawsuit from Mietverhältnis
|
|
*/
|
|
public function postActionInitiateEviction(Request $request): array
|
|
{
|
|
$data = $request->getParsedBody();
|
|
|
|
$id = $data->id ?? null;
|
|
if (!$id) {
|
|
throw new BadRequest('No Mietverhältnis ID provided');
|
|
}
|
|
|
|
$service = $this->getRecordService();
|
|
$result = $service->initiateEviction($id);
|
|
|
|
return $result;
|
|
}
|
|
|
|
/**
|
|
* POST Action: Initiate rent collection from Mietverhältnis
|
|
*/
|
|
public function postActionInitiateRentCollection(Request $request): array
|
|
{
|
|
$data = $request->getParsedBody();
|
|
|
|
$id = $data->id ?? null;
|
|
if (!$id) {
|
|
throw new BadRequest('No Mietverhältnis ID provided');
|
|
}
|
|
|
|
$service = $this->getRecordService();
|
|
$result = $service->initiateRentCollection($id);
|
|
|
|
return $result;
|
|
}
|
|
|
|
/**
|
|
* POST Action: Initiate termination (Kündigung) from Mietverhältnis
|
|
*/
|
|
public function postActionInitiateTermination(Request $request): array
|
|
{
|
|
$data = $request->getParsedBody();
|
|
|
|
$id = $data->id ?? null;
|
|
if (!$id) {
|
|
throw new BadRequest('No Mietverhältnis ID provided');
|
|
}
|
|
|
|
$service = $this->getRecordService();
|
|
$result = $service->initiateTermination($id);
|
|
|
|
return $result;
|
|
}
|
|
}
|