myadmin/vendor/view/users/users_form.php

293 lines
No EOL
12 KiB
PHP

<?php
/** Importação de classes */
use vendor\model\Users;
use vendor\model\Companies;
use vendor\controller\users\UsersValidate;
use vendor\controller\companies\CompaniesValidate;
/** Verifica se o token de acesso é válido */
if($Main->verifyToken()){
/** Instânciamento de classes */
$Users = new Users();
$Companies = new Companies();
$UsersValidate = new UsersValidate();
$CompaniesValidate = new CompaniesValidate;
/** Parametros de entrada */
$usersId = isset($_POST['users_id']) ? (int)filter_input(INPUT_POST, 'users_id', FILTER_SANITIZE_SPECIAL_CHARS) : 0;
$companyId = isset($_POST['company_id']) ? (int)filter_input(INPUT_POST, 'company_id', FILTER_SANITIZE_NUMBER_INT) : 0;
/** Validando os campos de entrada */
$UsersValidate->setUsersId($usersId);
$CompaniesValidate->setCompanyId($companyId);
/** Verifica se o ID do usuário foi informado */
if ($UsersValidate->getUserId() > 0) {
/** Consulta os dados do usuário */
$UsersResult = $Users->Get($UsersValidate->getUserId());
} else {
/** Caso o ID do usuário não tenha sido informado, carrego os campos como null */
/** Carrega os campos da tabela */
$UsersResult = $Users->Describe();
} ?>
<div class="col-md-12">
<div class="card shadow mb-12">
<div class="card-header">
<div class="row">
<div class="col-md-8">
<h5>
<?php echo $UsersResult->users_id > 0 ? 'Editar cadastro' : 'Cadastrar novo usuário';?>
</h5>
</div>
<div class="col-md-4 text-right">
<?php
if($CompaniesValidate->getCompanyId() > 0){
?>
<button type="button" class="btn btn-success btn-sm" onclick="request('FOLDER=view&TABLE=companies&ACTION=companies_form&company_id=<?php echo $CompaniesValidate->getCompanyId();?>', '#loadContent', true, '', '', '', 'Carregando usuários cadastrados', 'blue', 'circle', 'sm', true)" data-toggle="tooltip" data-placement="left" title="Retornar a tela anterior">
<i class="fa fa-backward mr-1"></i>Retornar
</button>
<?php } ?>
<button type="button" class="btn btn-info btn-sm" onclick="request('FOLDER=view&TABLE=users&ACTION=users_datagrid&company_id=<?php echo $CompaniesValidate->getCompanyId();?>&company_id=<?php echo $CompaniesValidate->getCompanyId();?>', '#loadContent', true, '', '', '', 'Carregando usuários cadastrados', 'blue', 'circle', 'sm', true)" data-toggle="tooltip" data-placement="left" title="Carregar usuários cadastrados">
<i class="fas fa-plus-circle mr-1"></i>Usuários Cadastrados
</button>
<?php
/** Verifica se a empresa foi informada */
if($CompaniesValidate->getCompanyId() > 0){
/** Verifica se a empresa existe */
if($CompanyResult->company_id > 0){ ?>
<button type="button" class="btn btn-info btn-sm" onclick="request('FOLDER=view&TABLE=company&ACTION=company_datagrid', '#loadContent', true, '', '', '', 'Carregando empresas cadastradas', 'blue', 'circle', 'sm', true)" data-toggle="tooltip" data-placement="left" title="Carregar empresas cadastradas">
<i class="fas fa-plus-circle mr-1"></i>Empresas Cadastradas
</button>
<?php
}
}
?>
</div>
</div>
</div>
<div class="card-body">
<form class="user" id="frmUsers">
<div class="form-group row">
<div class="col-sm-12 mb-2">
<label for="company_id">Clientes:</label>
<select class="form-control form-control" id="company_id" name="company_id">
<option value="" selected>Selecione</option>
<?php
/** Consulta todos os clientes cadastrados */
$CompaniesResult = $Companies->All(NULL, NULL, NULL, NULL);
/** Lista os clientes */
foreach($CompaniesResult as $CompaniesKey => $Result){
?>
<option value="<?php echo $Result->company_id;?>" <?php echo $Result->company_id == $CompaniesValidate->getCompanyId() ? 'selected' : '';?> ><?php echo $Result->name_fantasy;?></option>
<?php } ?>
</select>
</div>
</div>
<div class="form-group row">
<div class="col-sm-3 mb-2">
<label for="name_first">
Nome: <span class="text-danger">* Obrigatório</span>
</label>
<input type="text" class="form-control form-control" maxlength="60" id="name_first" name="name_first" value="<?php echo !empty($UsersResult->name_first) ? $Main->decryptData($UsersResult->name_first) : '';?>">
</div>
<div class="col-sm-3">
<label for="name_last">
Sobrenome: <span class="text-danger">* Obrigatório</span>
</label>
<input type="text" class="form-control form-control" maxlength="90" id="name_last" name="name_last" value="<?php echo !empty($UsersResult->name_last) ? $Main->decryptData($UsersResult->name_last) : '';?>">
</div>
<div class="col-sm-3">
<label for="email">
E-mail: <span class="text-danger">* Obrigatório</span>
</label>
<input type="text" class="form-control form-control" maxlength="120" id="email" name="email" value="<?php echo $UsersResult->email;?>">
</div>
<div class="col-sm-3">
<label for="birth_date">
Data de nascimento: <span class="text-danger">* Obrigatório</span>
</label>
<input type="text" class="form-control form-control date" maxlength="10" id="birth_date" name="birth_date" value="<?php echo isset($UsersResult->birth_date) ? date('d/m/Y', strtotime($UsersResult->birth_date)) : '';?>">
</div>
</div>
<div class="form-group row">
<div class="col-sm-3">
<label for="genre">Sexo: <span class="text-danger">* Obrigatório</span></label>
<select class="form-control form-control" id="genre" name="genre">
<option value="" selected>Selecione</option>
<option value="M" <?php echo $UsersResult->genre === 'M' ? 'selected' : '';?>>Masculino</option>
<option value="F" <?php echo $UsersResult->genre === 'F' ? 'selected' : '';?>>Feminino</option>
</select>
</div>
<div class="col-sm-3 ">
<label for="active">Ativo: <span class="text-danger">* Obrigatório</span></label>
<select class="form-control form-control" id="active" name="active">
<option value="" selected>Selecione</option>
<option value="S" <?php echo $UsersResult->active === 'S' ? 'selected' : '';?>>Sim</option>
<option value="N" <?php echo $UsersResult->active === 'N' ? 'selected' : '';?>>Não</option>
</select>
</div>
<div class="col-sm-2 ">
<label for="administrator">Administrador: <span class="text-danger">* Obrigatório</span></label>
<select class="form-control form-control" id="administrator" name="administrator">
<option value="" selected>Selecione</option>
<option value="S" <?php echo $UsersResult->administrator === 'S' ? 'selected' : '';?>>Sim</option>
<option value="N" <?php echo $UsersResult->administrator === 'N' ? 'selected' : '';?>>Não</option>
</select>
</div>
<div class="col-sm-2">
<label for="password_temp">Atualizar senha temporária?</label>
<select class="form-control form-control" id="password_temp_confirm" name="password_temp_confirm">
<option value="S" <?php echo $UsersResult->password_temp_confirm === 'S' ? 'selected' : '';?>>Sim</option>
<option value="N" <?php echo ($UsersResult->password_temp_confirm === 'N' || empty($UsersResult->password_temp_confirm)) ? 'selected' : '';?>>Não</option>
</select>
</div>
<div class="col-sm-2">
<label for="password_temp">Senha temporária:</label>
<input type="text" class="form-control form-control" disabled maxlength="10" id="password_temp" name="password_temp" value="<?php echo isset($UsersResult->password_temp) && !empty($UsersResult->password_temp) ? $UsersResult->password_temp : $Main->NewPassword();?>" placeholder="Senha temporária">
</div>
</div>
<div class="form-group row text-center">
<div class="col-sm-12">
<button type="button" class="btn btn-primary btn-user btn-block mb-0" onclick="sendForm('#frmUsers', '', true, '', 0, '', '<?php echo $UsersValidate->getUserId() > 0 ? 'Atualizando cadastro' : 'Cadastrando novo usuário';?>', 'random', 'circle', 'sm', true)">
<i class="far fa-save"></i> <?php echo ((int)$UsersValidate->getUserId() > 0 ? 'Salvar alterações do usuário' : 'Cadastrar novo usuário') ?>
</button>
</div>
</div>
<input type="hidden" name="TABLE" value="users" />
<input type="hidden" name="ACTION" value="users_save" />
<input type="hidden" name="FOLDER" value="action" />
<input type="hidden" name="users_id" value="<?php echo $UsersValidate->getUserId();?>" />
<input type="hidden" name="company_id" value="<?php echo ( $CompaniesValidate->getCompanyId() > 0 ? $CompaniesValidate->getCompanyId() : (isset($_SESSION['USERSCOMPANYID']) ? $_SESSION['USERSCOMPANYID'] : 0) );?>" />
</form>
</div>
</div>
</div>
<script type="text/javascript">
/** Carrega as mascaras dos campos inputs */
$(document).ready(function(e) {
enabledInput('#password_temp_confirm', '#password_temp');
loadMask();
});
</script>
<?php
/** Caso o token de acesso seja inválido, informo */
}else{
/** Informa que o usuário precisa efetuar autenticação junto ao sistema */
$authenticate = true;
/** Informo */
throw new InvalidArgumentException('Sua sessão expirou é necessário efetuar nova autenticação junto ao sistema', 0);
}