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