Files
ms1inscription-v5/rapports/components/grid/modal_edit_handler.php
2026-05-13 09:43:32 -04:00

112 lines
3.3 KiB
PHP

<?php
// require_once 'components/grid/vertical_grid.php';
// require_once 'components/grid/record_card_view.php';
include_once dirname(__FILE__) . '/' . 'vertical_grid.php';
include_once dirname(__FILE__) . '/' . 'record_card_view.php';
class InlineGridViewHandler extends HTTPHandler
{
/** @var \RecordCardView */
private $recordCardView;
public function __construct($name, RecordCardView $recordCardView)
{
parent::__construct($name);
$this->recordCardView = $recordCardView;
}
public function Render(Renderer $renderer)
{
$this->recordCardView->GetGrid()->GetPage()->UpdateValuesFromUrl();
$this->recordCardView->ProcessMessages();
echo $renderer->Render($this->recordCardView);
}
}
class InlineGridHandler extends HTTPHandler
{
private $grid;
public function __construct($name, VerticalGrid $grid)
{
parent::__construct($name);
$this->grid = $grid;
}
public function Render(Renderer $renderer)
{
$superGlobals = GetApplication()->GetSuperGlobals();
if ($superGlobals->GetGetValueDef(ModalOperation::Param) == ModalOperation::OpenModalEditDialog ||
$superGlobals->GetGetValueDef(ModalOperation::Param) == ModalOperation::OpenModalInsertDialog)
{
$this->grid->GetGrid()->GetPage()->UpdateValuesFromUrl();
}
$this->grid->ProcessMessages();
echo $renderer->Render($this->grid);
}
}
class ModalDeleteHandler extends HTTPHandler
{
/**
* @var Grid
*/
private $grid;
/**
* @param string $name
* @param Grid $grid
*/
public function __construct($name, Grid $grid)
{
parent::__construct($name);
$this->grid = $grid;
}
public function Render(Renderer $renderer)
{
try
{
$errorReporting = error_reporting(null);
GetApplication()->SetOperation(OPERATION_COMMIT_DELETE);
$this->grid->SetState(OPERATION_COMMIT_DELETE);
$this->grid->GetState()->SetUseGetToExtractPrimaryKeys(true);
$this->grid->ProcessMessages();
header('Content-Type: text/xml');
if ($this->grid->GetErrorMessage() != '')
{
$xmlWriter = XMLWriterFactory::CreateXMLWriter();
$xmlWriter->StartDocument('1.0', 'UTF-8');
$xmlWriter->StartElement('response');
$xmlWriter->WriteElement('type', 'error');
$xmlWriter->WriteElement('error_message', $this->grid->GetErrorMessage());
$xmlWriter->EndElement('response');
echo $xmlWriter->GetResult();
}
else
{
$xmlWriter = XMLWriterFactory::CreateXMLWriter();
$xmlWriter->StartDocument('1.0', 'UTF-8');
$xmlWriter->StartElement('response');
$xmlWriter->WriteElement('type', 'OK');
$xmlWriter->EndElement('response');
echo $xmlWriter->GetResult();
}
error_reporting($errorReporting);
}
catch(Exception $e)
{
echo '<?xml version="1.0" encoding="UTF-8"?><response><type>error</type><error_message>'.
htmlspecialchars($e->getMessage()).
'</error_message></response>';
}
}
}