How to change the value of a php variable using JavaScript or Ajax?

1

Contextualization When you register a project by default the Documentation Status is pending as a result of this configuration the project tabs are not visible. IfyouchangetheDocumentationStatustoAuthorizedorCompliantandthenpresstheAuthorizeDocumentationbuttonas>Projecttabswillbevisible.

Doubt:HowtodothiseventinJavaScript,AjaxorJQuery?

PossibleSolution:Ideclarethephpvariable$btnAuthorizeDocumentasaBooleantype.ButI'mhavingahardtimedoingprogramminglogic.Forexample,whenthisvariableisAuthorizedor"In Compliance" it must be true, otherwise it should be false.

Here are the codes: The project register is done in edit mode. Edit method of the ProjectController.php class:

 //Método que  redireciona para a página de editar o  Projeto
 public function edita($id, Request $request)
 {
    $btnAutorizarDocumento = false;
    $setores = Setor::all();
    $proponentes = Proponente::all(); 
    $tipoProjetos = TipoProjeto::all(); 
    $modalidadeApoios = ModalidadeApoio::all();
    $localidades = Localidade::all(); 
    $permissoesAprovacao = verificarPermissao('Aprovação');
    $permissoesJuridico = verificarPermissao('Juridico');
    $permissoesGestaoContrato = verificarPermissao('Gestão Contratos e Convênios');
    $permissoesFinanceiro = verificarPermissao('Financeiro');
    $permissoesOcorrencia = verificarPermissao('Ocorrência'); 
    $permissoesAbas= verificarPermissao('Abas do Projeto'); 
    $permissoesDadosGeraisProj= verificarPermissao('Dados Gerais do Projeto'); 
    $usuarioResponsavel = Auth::user()->name;

    return view('admin.projeto.edita', ['projeto' => Projeto::find($id), 'permissoesAprovacao' =>  $permissoesAprovacao, 'permissoesJuridico' => $permissoesJuridico,
            'permissoesGestaoContrato' =>  $permissoesGestaoContrato , 'permissoesFinanceiro' => $permissoesFinanceiro,
            'permissoesOcorrencia'=> $permissoesOcorrencia, 'permissoesDadosGeraisProj' => $permissoesDadosGeraisProj,
            'permissoesAbas' =>  $permissoesAbas, 'setores' => $setores, 'proponentes' => $proponentes, 'tipoProjetos' => $tipoProjetos,
            'localidades' => $localidades,'modalidadeApoios' => $modalidadeApoios, 'usuarioResponsavel'=>$usuarioResponsavel,'btnAutorizarDocumento' =>$btnAutorizarDocumento]);
 }

Code snippet of the project edit page edita.blade.php . Contains the selection combo and the Authorize Documentation button.

  <div class="col-md-6 form-group">
                <label class="control-label">Status da Documentação</label>
                <select multiple id="statusDoc" class="form-control" type="text" class="form-control" name="statusDoc" >
                    <option value="A" {{old('statusDoc') == 'A' ? 'selected' : ''}}>Autorizado</option>
                    <option value="P" {{old('statusDoc') == 'P' ? 'selected' : ''}}>Pendente</option>
                    <option value="C" {{old('statusDoc') == 'C' ? 'selected' : ''}}>Em Conformidade</option>
                </select>                
                </div>
 <button  id="btnAutorizarDocumento" type="button" class="btn btn-primary" data-toggle="button" aria-pressed="false" autocomplete="off" 
                        align="center" style="width: 180px; height: 40px" onclick="click();">
                        Autorizar Documentação
                        </button> 

Conditional excerpt that validates the visibility of the project tabs. Explanation: If the user has permission to view the tabs and the document is authorized, the tabs will be visible.

  

@if ($ permissoesAbas-> create == 1 & & $ btnAuthorizeDocument)

  <!--Inicio da abas-->
    @if($permissoesAbas->create == 1 && $btnAutorizarDocumento)

    <div class="card">
      <!-- Nav tabs -->

         <ul class="nav nav-tabs" id="nav-tab" role="tablist" >
            <li  class="nav-item nav-link active"  aria-controls="aprovacao" data-toggle="tab" href="#aprovacao" role="presentation" aria-selected="true"><i class="fa fa-check" aria-hidden="true"></i> Aprovação</a></li> 
            <li  role="presentation"><a href="#juridico" aria-controls="juridico"  data-toggle="tab"><i class="fa fa-gavel" aria-hidden="true"></i> Jurídico</a></li>
            <li  role="presentation"><a href="#gestaoContrato" aria-controls="gestaoContrato"  data-toggle="tab"><i class="fa fa-book" aria-hidden="true"></i> Gestão de Contratos e Convênios</a></li>
            <li  role="presentation"><a href="#financeiro" aria-controls="financeiro"  data-toggle="tab"><i class="fa fa-usd" aria-hidden="true"></i> Financeiro</a></li>
            <li  role="presentation"><a href="#ocorrencia" aria-controls="ocorrencia"  data-toggle="tab"><i class="fa fa-tasks" aria-hidden="true"></i> Ocorrências</a></li>
          </ul>

JavaScript snippet that will make this event (edita.blade.php file) Note: it is incomplete

<script src="https://code.jquery.com/jquery-1.12.4.min.js"integrity="sha256-ZosEbRLbNQzLpnKIkEdrPv7lOy9C27hHQ+Xp8a4MxAQ=" crossorigin="anonymous"></script>
<script type="text/javascript">
    $(document).ready(function() {      
        $( "#btnAutorizarDocumento" ).bind( "click", function() {
            $( "{$btnAutorizarDocumento}" ).val(true);
        });     
    });
</script>
    
asked by anonymous 10.04.2018 / 22:32

0 answers