63 lines
2.1 KiB
PHP
63 lines
2.1 KiB
PHP
<?php
|
|
|
|
namespace Stemcell\Customer\Controller\Adminhtml\Lab;
|
|
|
|
use Magento\Backend\App\Action\Context;
|
|
use Magento\Framework\App\Action\HttpPostActionInterface;
|
|
use Magento\Framework\Exception\LocalizedException;
|
|
use Stemcell\Customer\Api\Data\LabInterface;
|
|
use Stemcell\Customer\Api\Data\SalespersonInterface;
|
|
use Stemcell\Customer\Api\LabRepositoryInterface;
|
|
use Stemcell\Customer\Api\SalespersonRepositoryInterface;
|
|
|
|
class Save extends \Magento\Backend\App\Action implements HttpPostActionInterface
|
|
{
|
|
protected LabInterface $salesperson;
|
|
protected LabRepositoryInterface $salespersonRepository;
|
|
|
|
public function __construct(
|
|
Context $context,
|
|
LabInterface $salesperson,
|
|
LabRepositoryInterface $salespersonRepository
|
|
) {
|
|
parent::__construct($context);
|
|
$this->salesperson = $salesperson;
|
|
$this->salespersonRepository = $salespersonRepository;
|
|
}
|
|
|
|
public function execute()
|
|
{
|
|
$returnToEdit = false;
|
|
$salesperson = $this->getRequest()->getParam('lab');
|
|
$this->salesperson->setData($salesperson);
|
|
try {
|
|
$this->salespersonRepository->save($this->salesperson);
|
|
$this->messageManager->addSuccessMessage(__('Lab Data saved.'));
|
|
} catch (\Exception $e) {
|
|
$this->messageManager->addExceptionMessage($e);
|
|
$this->_getSession()->setLab($salesperson);
|
|
$returnToEdit = true;
|
|
}
|
|
|
|
$resultRedirect = $this->resultRedirectFactory->create();
|
|
if ($returnToEdit) {
|
|
if (isset($salesperson['salesperson_id'])) {
|
|
$resultRedirect->setPath(
|
|
'stemcell_customer/lab/edit',
|
|
['id' => $salesperson['salesperson_id'], '_current' => true]
|
|
);
|
|
} else {
|
|
$resultRedirect->setPath(
|
|
'stemcell_customer/lab/new',
|
|
['_current' => true]
|
|
);
|
|
}
|
|
} else {
|
|
$resultRedirect->setPath('stemcell_customer/lab/index');
|
|
}
|
|
|
|
|
|
return $resultRedirect;
|
|
}
|
|
}
|