Files
espocrm/custom/Espo/Custom/Controllers/CVmhMietverhltnis.php
bsiggel 30326da8c6 Add termination (Kündigung) functionality and related translations
- 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.
2026-01-25 10:06:02 +01:00

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;
}
}