2021-10-18 19:44:26 +02:00
<!doctype html>
< html lang = "fr" >
< head >
< meta charset = "utf-8" >
2022-01-26 10:00:01 +01:00
< meta name = "viewport" content = "width=device-width, initial-scale=1, shrink-to-fit=no" >
< link rel = "stylesheet" href = "https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/css/bootstrap.min.css" integrity = "sha384-ggOyR0iXCbMQv3Xipma34MD+dH/1fQ784/j6cY/iJTQUOhcWr7x9JvoRxT2MZw1T" crossorigin = "anonymous" >
2022-01-26 15:57:46 +01:00
< script src = "https://code.jquery.com/jquery-3.6.0.min.js" integrity = "sha256-/xUj+3OJU5yExlq6GSYGSHk7tPXikynS7ogEvDej/m4=" crossorigin = "anonymous" > < / script >
2022-01-26 10:00:01 +01:00
< script src = "https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.14.7/umd/popper.min.js" integrity = "sha384-UO2eT0CpHqdSJQ6hJty5KVphtPhzWj9WO1clHTMGa3JDZwrnQq4sF86dIHNDz0W1" crossorigin = "anonymous" > < / script >
< script src = "https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/js/bootstrap.min.js" integrity = "sha384-JjSmVgyd0p3pXB1rRibZUAYoIIy6OrQ6VrjIEaFf/nJGzIxFDsf4x0xIM+B07jRM" crossorigin = "anonymous" > < / script >
2021-10-18 19:44:26 +02:00
< title > Aquilenet: Éligibilité FTTH< / title >
< style >
{% include 'style.css' %}
< / style >
< / head >
< body >
2022-01-26 10:00:01 +01:00
< h1 class = "text-center" id = "aquilenet-title" > AQUILENET< / h1 >
< div id = "mainContainer" class = "container" >
< div class = "row d-flex justify-content-between align-items-center" data-parent = "#mainContainer" >
< div class = "col-12 text-intro" >
< div id = "methodPto" class = "collapse show testMethods" >
< h2 class = "text-center form-title" > Test d'éligibilité par PTO< / h1 >
2022-01-27 23:53:19 +01:00
< form method = "post" action = "/test/pto" >
2022-01-26 10:00:01 +01:00
< div class = "form-group" id = "ptoForm" >
< label class = "form-label" for = "pto-number" > Numéro PTO< / label >
2022-01-27 23:53:19 +01:00
< input required type = "text" class = "form-control" name = "pto" id = "pto-number" aria-describedby = "ptoHelp" placeholder = "OOOO-XXXX-XXXX" oninvalid = "this.setCustomValidity('Veuillez renseigner le PTO')" oninput = "setCustomValidity('')" >
2022-01-26 10:00:01 +01:00
< small id = "ptoHelp" class = "form-text btn btn-link" data-toggle = "collapse" data-target = "#ptoInfo" aria-expanded = "true" aria-controls = "ptoInfo" > Où trouver mon numéro de PTO ?< / small >
< div id = "ptoInfo" class = "collapse" aria-labelledby = "ptoForm" data-parent = "#ptoForm" >
< div class = "card-body" >
PTO (Point de terminaison optique) est un numéro unique que vous pouvez trouver sur le boîtier de raccordement de la fibre.
C'est un petit boîtier blanc installé dans la maison
< br >
< img src = "{{url_for('static', filename='find_pto.jpg')}}" class = "img-fluid" alt = "Responsive image" >
< / div >
< / div >
< / div >
< button type = "submit" class = "btn btn-sable" > Tester le PTO< / button >
< / form >
2022-01-26 15:57:46 +01:00
< br >
2022-01-26 10:00:01 +01:00
< button id = "buttonNoPto" type = "button" data-toggle = "collapse" data-target = ".testMethods" class = "btn btn-link" aria-expanded = "false" aria-controls = "methodPto methodAddress" > Je n'ai pas/ne trouve pas le PTO, tester autrement< / button >
< / div >
2022-01-26 15:57:46 +01:00
< div id = "methodAddress" class = "collapse testMethods" >
2022-01-26 10:00:01 +01:00
< h2 class = "text-center form-title" > Test d'éligibilité par adresse< / h1 >
2022-01-27 23:53:19 +01:00
< form method = "post" action = "/test/address" >
2022-01-26 15:57:46 +01:00
< div class = "form-group" id = "communeForm" >
< label class = "form-label" for = "communeInput" > Commune< / label >
2022-01-27 23:53:19 +01:00
< input type = "text" list = "communes" name = "commune" class = "form-control" id = "communeInput" ondblclick = "this.focus();this.select()" aria-describedby = "communeHelp" placeholder = "Nom de la commune ou code postal" >
2022-01-26 15:57:46 +01:00
< datalist id = "communes" >
< / datalist >
< / div >
2022-01-27 23:53:19 +01:00
< div class = "form-row collapse" id = "voieForm" >
2022-01-26 15:57:46 +01:00
< div class = "col-sm-3 my-1" >
< label class = "form-label" for = "numeroVoieInput" > Numéro de voie< / label >
2022-01-27 23:53:19 +01:00
< input required type = "text" name = "numeroVoie" class = "form-control" id = "numeroVoieInput" aria-describedby = "numeroVoieHelp" placeholder = "Numéro de voie" oninvalid = "this.setCustomValidity('Veuillez renseigner le numéro de voie')" oninput = "setCustomValidity('')" >
2022-01-26 15:57:46 +01:00
< / div >
< div class = "col-sm-9 my-1" >
< label class = "form-label" for = "voieInput" > Nom de voie< / label >
2022-01-27 23:53:19 +01:00
< input type = "text" name = "voie" list = "voies" class = "form-control" id = "voieInput" aria-describedby = "voieHelp" placeholder = "Nom de voie" >
< datalist id = "voies" >
< / datalist >
2022-01-26 10:00:01 +01:00
< / div >
2022-01-26 15:57:46 +01:00
< / div >
< br >
2022-01-27 23:53:19 +01:00
< button id = "btnTestAdresse" type = "submit" class = "btn btn-sable collapse" > Tester l'adresse< / button >
2022-01-26 10:00:01 +01:00
< / form >
2022-01-26 15:57:46 +01:00
< br >
2022-01-26 10:00:01 +01:00
< button id = "buttonReturnPto" type = "button" data-toggle = "collapse" data-target = ".testMethods" class = "btn btn-link" aria-expanded = "false" aria-controls = "methodPto methodAddress" > Revenir au test par PTO< / button >
< / div >
< / div >
< / div >
< / div >
2022-01-26 15:57:46 +01:00
< script >
$(document).ready(function(){
var communes=[]
2022-01-27 23:53:19 +01:00
var codeInsee=0
var voies=[]
var voie=""
2022-01-26 15:57:46 +01:00
function fillCommunes(search='') {
var api="addresses/communes";
if (search != '') {
api+="?s="+search;
}
$.ajax({
type: 'GET',
dataType:"json",
url: api,
success: function (data, status, xhr) {
if (JSON.stringify(data) !== JSON.stringify(communes)){
$("#communes").empty();
communes=data
for (let i = 0; i < 20 ; i + + ) {
if (! communes[i]) {
break;
}
$("#communes").append("< option codeInsee = " + communes[i].codeInsee + " value = '" +
communes[i].codeZip + ' ' + communes[i].nom + "'>< / option > ");
}
2022-01-27 23:53:19 +01:00
}
if (communes.length == 1) {
2022-01-27 23:59:53 +01:00
codeInsee=communes[0].codeInsee;
2022-01-27 23:53:19 +01:00
$('#voieForm').collapse('show');
} else {
$('#voieInput').val('');
$('#voieForm').collapse('hide');
}
}
});
}
var voies=[]
function fillVoies(codeInsee,search='') {
var api="addresses/fantoirvoies/" + codeInsee;
if (search != '') {
api+="?s="+search;
}
$.ajax({
type: 'GET',
dataType:"json",
url: api,
success: function (data, status, xhr) {
if (JSON.stringify(data) !== JSON.stringify(voies)){
$("#voies").empty();
voies=data
for (let i = 0; i < 20 ; i + + ) {
if (! voies[i]) {
break;
}
$("#voies").append("< option id = " + voies[i].id + " value = '" +
voies[i].libelle[0] + "'>< / option > ");
}
if (voies.length == 1) {
$('#btnTestAdresse').collapse('show');
voie=voies[0].libelle[0]
2022-01-26 15:57:46 +01:00
} else {
2022-01-27 23:53:19 +01:00
$('#btnTestAdresse').collapse('hide');
2022-01-26 15:57:46 +01:00
}
}
}
});
}
2022-01-27 23:53:19 +01:00
$('#methodAddress').on('show.bs.collapse', function () {
$('#communeInput').trigger('input')
$('#communeInput').trigger('keyup')
2022-01-26 15:57:46 +01:00
});
2022-01-27 23:53:19 +01:00
$('#voieForm').on('show.bs.collapse', function () {
$('#voieInput').trigger('input')
$('#voieInput').trigger('keyup')
});
2022-01-26 15:57:46 +01:00
$('#communeInput').on('keyup', function () {
fillCommunes($(this).val());
});
2022-01-27 23:53:19 +01:00
2022-01-26 15:57:46 +01:00
$('#communeInput').on('input', function() {
if ($(this).val() === '') {
2022-01-27 23:53:19 +01:00
$('#voieForm').collapse('hide');
2022-01-26 15:57:46 +01:00
}
});
2022-01-27 23:53:19 +01:00
$('#voieInput').on('keyup', function () {
fillVoies(codeInsee,$(this).val());
});
$('#voieInput').on('input', function () {
if ($(this).val() === '') {
$('#btnTestAdresse').collapse('hide');
}
2022-01-26 15:57:46 +01:00
});
2022-01-27 23:53:19 +01:00
2022-01-26 15:57:46 +01:00
});
< / script >
2021-10-18 19:44:26 +02:00
< / body >
< / html >