<?php

declare(strict_types=1);

class Seguro_PropriedadecarrestricaoController extends Agro_Controller_Action
{
    public function init(): void
    {
		$this->view->title = 'Seguro » Propriedades';
	}

    public function getModel(): Seguro_Model_PropriedadeCarRestricao {
		return new Seguro_Model_PropriedadeCarRestricao();
	}

	public function getForm(): Seguro_Form_PropriedadeCarRestricao {
		return new Seguro_Form_PropriedadeCarRestricao();
	}

    public function getFilter()
    {
        $car = $this->getRequest()->getParam('ds_car');
        return ["ds_car ilike '%{$car}%'"];
    }

    public function indexAction(): void
    {
        parent::indexAction();
        $this->view->title = 'Seguro » Propriedades » Listagem';
    }

    public function formAction(): void
    {
        $this->view->title = 'Seguro » Propriedade » Restrições Propriedade (CAR)';

        $id = $this->getRequest()->getParam('id');
        
        $idOrientacaoRestricaoTecnica = $data = $nomeUsuario = null;

        if (!empty($id)) {
            $restricao = (new Seguro_Model_PropriedadeCarRestricao())
                ->find($id)
                ->current();

            $idOrientacaoRestricaoTecnica = $restricao['id_orientacao_restricao_tecnica'];
            $idUsuario = !empty($restricao['id_usuario_alteracao'])
                ? $restricao['id_usuario_alteracao']
                : $restricao['id_usuario_criacao'];
            $data = !empty($restricao['dt_alteracao'])
                ? $restricao['dt_alteracao']
                : $restricao['dt_criacao'];

            $nomeUsuario = (new Sistema_Model_Funcionarios())->getNomeUsuarioByIdUsuario($idUsuario);
            $dataObj = new DateTime($data);
            $data = $dataObj->format('d/m/Y H:i:s');
        }

        $this->view->id = $id;
        $this->view->idOrientacaoRestricaoTecnica = $idOrientacaoRestricaoTecnica;
        $this->view->nomeUsuario = $nomeUsuario;
        $this->view->data = $data;

        parent::formAction();
    }
}

?>