Создайте новую кнопку на панели мониторинга superadmin, которая удаляет компанию.
При нажатии на кнопку должно появиться приглашение, запрашивающее идентификатор компании.Ввод идентификатора компании и нажатие кнопки ввода или «Удалить» должно найти сведения о компании (имя, ...).Информация о компании должна отображаться в запросе подтверждения с отключенной кнопкой подтверждения.В подсказке следует попросить вас ввести название компании.Ввод имени активирует кнопку подтверждения.Нажатие на кнопку подтверждения действительно удалит компанию и все ее отношения. Ссылка на ИЗОБРАЖЕНИЕ 1. Здесь находится AdminUsersController.php:
public function delete_companyRecord($company_id)
{
$this->Company->find('first', [
'fields' => ['Company.name', 'count(UserClientCompanyAssociation.user_id), count()'],
'conditions' => ['Company.id' => $company_id],
'joins' => [
[
'table' => 'user_client_company_association',
'alias' => 'UserClientCompanyAssociation',
'type' => 'LEFT',
'conditions' => 'UserClientCompanyAssociation.company_id = Company.id'
],
],
'group' => 'Company.id'
]);
$this->autoRender = false;
if ($this->request->is('POST')) {
if (!empty($this->request->data['Company']['id'])) {
$company_id = $this->request->data['Company']['id'];
$company_name = $this->Company->find['company']['name'];
$delete_companyData = $this->delete_companyRecord($company_id);
if ($delete_companyData === $company_name) {
$this->flashSuccess(TranslatorComponent::Tr('Company has been deleted successfully.'));
return $this->redirect('/');
} else {
$this->flashError(TranslatorComponent::Tr('Company does not exist'));
return $this->redirect('/');
}
}
}
}
2. Здесь есть index.ctp:
<li class="list-group-item media v-middle">
<i class='fa fa-fw fa-angle-right'></i>
<?php
echo $this->Html->link(TranslatorComponent::Tr('Delete Company'), array(
'controller' => '#',
'action' => '#'
), array(
'escape' => false, 'class' => 'text-subhead list-group-link',
'data-animated' => '', 'data-hover-z' => '1', 'data-z' => '0',
'data-target' => '#delete_company_modal', 'data-toggle' => 'modal', 'href' => 'javascript:void(0)'
));
?>
</li>
3. и вот модальное всплывающее окно внутри index.ctp:
<div class="modal fade" id="delete_company_modal" tabindex="-1" role="dialog" aria-labelledby="deleteCompanyModalLabel">
<div class="modal-dialog" role="document">
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">×</span></button>
<h4 class="modal-title" id="deleteCompanyModalLabel"><?php echo TranslatorComponent::Tr('Delete Company'); ?></h4>
</div>
<form action="/adminusers/delete_companyRecord" method="POST">
<div class="modal-body">
<div class="form-group">
<label for="recipient-name" class="control-label"><?php echo TranslatorComponent::Tr('Company ID'); ?></label>
<input type="text" class="form-control" name="Company ID" required="required" />
</div>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-default" data-dismiss="modal"><?php echo TranslatorComponent::Tr('Close'); ?></button>
<button type="submit" class="btn btn-primary"><?php echo TranslatorComponent::Tr('Submit'); ?></button>
</div>
</form>
</div>
</div>
</div>