<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>Ajouter PI | Dashboard</title>
<!-- Google Font: Source Sans Pro -->
<link rel="stylesheet"
href="https://fonts.googleapis.com/css?family=Source+Sans+Pro:300,400,400i,700&display=fallback">
<!-- Font Awesome -->
<link rel="stylesheet" href="plugins/fontawesome-free/css/all.min.css">
<!-- Ionicons -->
<link rel="stylesheet" href="https://code.ionicframework.com/ionicons/2.0.1/css/ionicons.min.css">
<!-- Tempusdominus Bootstrap 4 -->
<link rel="stylesheet" href="plugins/tempusdominus-bootstrap-4/css/tempusdominus-bootstrap-4.min.css">
<!-- iCheck -->
<link rel="stylesheet" href="plugins/icheck-bootstrap/icheck-bootstrap.min.css">
<!-- JQVMap -->
<link rel="stylesheet" href="plugins/jqvmap/jqvmap.min.css">
<!-- Theme style -->
<link rel="stylesheet" href="dist/css/adminlte.min.css">
<!-- overlayScrollbars -->
<link rel="stylesheet" href="plugins/overlayScrollbars/css/OverlayScrollbars.min.css">
<!-- Daterange picker -->
<link rel="stylesheet" href="plugins/daterangepicker/daterangepicker.css">
<!-- summernote -->
<link rel="stylesheet" href="plugins/summernote/summernote-bs4.min.css">
<script>
if (!localStorage.getItem("nomPrenomCommercial")) {
location.replace("authentification.html");
}
</script>
</head>
<body class="hold-transition sidebar-mini layout-fixed">
<div class="wrapper">
<!-- Preloader -->
<div class="preloader flex-column justify-content-center align-items-center">
<img class="animation__shake" src="dist/img/logo-hammami-1.png" alt="AdminLTELogo" height="60" width="60">
</div>
<!-- Navbar -->
<nav class="main-header navbar navbar-expand navbar-dark bg-primary " style="background-color: #393f46;">
<!-- Left navbar links -->
<ul class="navbar-nav">
<li class="nav-item">
<a class="nav-link" data-widget="pushmenu" href="#" role="button"><i class="fas fa-bars"></i></a>
</li>
<h1
style="font-size:21px ; text-align: center; margin-top: 8px; margin-left: 10px; color: white; font-family: sans-serif;">
Ajouter
PI
</h1>
</ul>
<!-- Right navbar links -->
<ul class="navbar-nav ml-auto">
<!-- Navbar Search -->
<!-- Notifications Dropdown Menu -->
<li class="nav-item">
<a class="nav-link" data-widget="fullscreen" href="#" role="button">
<i class="fas fa-expand-arrows-alt"></i>
</a>
</li>
</ul>
</nav>
<!-- /.navbar -->
<!-- Main Sidebar Container -->
<aside class="main-sidebar sidebar-dark-primary elevation-4">
<!-- Brand Logo -->
<a href="index.html" class="brand-link">
<img src="dist/img/logo-hammami-1.png" alt="AdminLTE Logo" class="brand-image img-circle elevation-3"
style="opacity: .8">
<span class="brand-text font-weight-light">Groupe Hammami</span>
</a>
<!-- Sidebar -->
<div class="sidebar">
<!-- Sidebar user panel (optional) -->
<div class="user-panel mt-3 pb-3 mb-3 d-flex">
<!-- <div class="image">
<img src="dist/img/user2-160x160.jpg" class="img-circle elevation-2" alt="User Image">
</div> -->
<i class="fas fa-user-circle"
style="font-size: 21px; color: rgb(189, 185, 185); margin-right: 10px; margin-left: 10px;"></i>
<a onclick="showCommercial()" class="d-block"> <span id="Commercial"></span></a>
</div>
<!-- Sidebar Menu -->
<nav class="mt-2">
<ul class="nav nav-pills nav-sidebar flex-column" data-widget="treeview" role="menu"
data-accordion="false">
<!-- Add icons to the links using the .nav-icon class
with font-awesome or any other icon font library -->
<li class="nav-item">
<a href="index.html" class="nav-link">
<i class="nav-icon fas fa-home"></i>
<p>
Acceuil
</p>
</a>
</li>
<li class="nav-header">
<hr>
</li>
<li class="nav-item">
<a href="showProject.html" class="nav-link">
<i class="nav-icon fas fa-business-time"></i>
<p>
Projet
</p>
</a>
</li>
<li class="nav-item">
<a class="nav-link">
<i class="nav-icon fas fa-edit"></i>
<p>
Visite
<i class="right fas fa-angle-left"></i>
</p>
</a>
<ul class="nav nav-treeview">
<li class="nav-item">
<a href="showVisit.html?id=" class="nav-link">
<i class="far fa-circle nav-icon"></i>
<p>consulter</p>
</a>
</li>
<li class="nav-item">
<a href="addVisit.html" class="nav-link">
<i class="far fa-circle nav-icon"></i>
<p>ajouter</p>
</a>
</li>
</ul>
</li>
<li class="nav-item">
<a href="#" class="nav-link">
<i class="nav-icon fas fa-route"></i>
<p>
Prospection
<i class="right fas fa-angle-left"></i>
</p>
</a>
<ul class="nav nav-treeview">
<li class="nav-item">
<a href="showProspection.html" class="nav-link">
<i class="far fa-circle nav-icon"></i>
<p>consulter</p>
</a>
</li>
<li class="nav-item">
<a href="addProspection.html" class="nav-link">
<i class="far fa-circle nav-icon"></i>
<p>ajouter</p>
</a>
</li>
</ul>
</li>
<li class="nav-item">
<a href="showMission.html" class="nav-link">
<i class="nav-icon far fa-calendar-minus"></i>
<p>
Mission
</p>
</a>
</li>
<li class="nav-item">
<a href="#" class="nav-link">
<i class="nav-icon fas fa-brush"></i>
<p>
Applicateur
<i class="right fas fa-angle-left"></i>
</p>
</a>
<ul class="nav nav-treeview">
<li class="nav-item">
<a href="showApplicateur.html" class="nav-link">
<i class="far fa-circle nav-icon"></i>
<p>consulter</p>
</a>
</li>
<li class="nav-item">
<a href="addApplicateur.html" class="nav-link ">
<i class="far fa-circle nav-icon"></i>
<p>ajouter</p>
</a>
</li>
</ul>
</li>
<li class="nav-item menu-open">
<a href="#" class="nav-link active">
<i class="nav-icon far fa-building"></i>
<p>
PI
<i class="right fas fa-angle-left"></i>
</p>
</a>
<ul class="nav nav-treeview">
<li class="nav-item">
<a href="showPI.html" class="nav-link">
<i class="far fa-circle nav-icon"></i>
<p>consulter</p>
</a>
</li>
<li class="nav-item">
<a href="addPI.html" class="nav-link active">
<i class="far fa-circle nav-icon"></i>
<p>ajouter</p>
</a>
</li>
</ul>
</li>
<li class="nav-item">
<a href="#" class="nav-link">
<i class="nav-icon fas fa-user-alt"></i>
<p>
Architect
<i class="right fas fa-angle-left"></i>
</p>
</a>
<ul class="nav nav-treeview">
<li class="nav-item">
<a href="showArchitect.html" class="nav-link">
<i class="far fa-circle nav-icon"></i>
<p>consulter</p>
</a>
</li>
<li class="nav-item">
<a href="addArchitect.html" class="nav-link">
<i class="far fa-circle nav-icon"></i>
<p>ajouter</p>
</a>
</li>
</ul>
</li>
<li class="nav-item">
<a href="#" class="nav-link">
<i class="nav-icon far fa-building "></i>
<p>
EGC
<i class="right fas fa-angle-left"></i>
</p>
</a>
<ul class="nav nav-treeview">
<li class="nav-item">
<a href="showEGC.html" class="nav-link">
<i class="far fa-circle nav-icon"></i>
<p>consulter</p>
</a>
</li>
<li class="nav-item">
<a href="addEGC.html" class="nav-link">
<i class="far fa-circle nav-icon"></i>
<p>ajouter</p>
</a>
</li>
</ul>
</li>
</li>
<li class="nav-header">
<hr>
</li>
<li class="nav-item">
<a onclick="deconnection()" class="nav-link">
<i class="nav-icon far fa-circle text-danger"></i>
<p class="text">Deconnexion</p>
</a>
</li>
</ul>
</nav>
<!-- /.sidebar-menu -->
</div>
<!-- /.sidebar -->
</aside>
<!-- Content Wrapper. Contains page content -->
<div class="content-wrapper" style="background-color: rgb(255, 255, 255);">
<!-- Content Header (Page header) -->
<!-- /.content-wrapper -->
<section class="content">
<div class="row mb-4">
<div class="col-md-2"></div>
<div class="col-md-8">
<!-- general form elements -->
<h1
style="font-size:20px ; margin-top: 20px; margin-left: 10px; color: rgb(110, 110, 110);font-family: Georgia;">
Nouveau
PI (Promotion Immobiliére)
</h1>
<br>
<!-- /.card-header -->
<!-- form start -->
<form id="formPI" onsubmit="return false">
<div class="col-sm-11" style="margin-top: 10px;">
<div class="form-group">
<label>Nom PI</label>
<input type="text" class="form-control form-control-border border-width-2"
id="inputNomPI">
</div>
<span id="NomPIError"></span>
</div>
<div class="col-sm-11" style="margin-top: 10px;">
<div class="form-group">
<label>Premier Responsable</label>
<input type="text" class="form-control form-control-border border-width-2"
id="inputpremierRes">
</div>
<span id="errorPremierResp"></span>
</div>
<div class="col-sm-11" style="margin-top: 10px;">
<label>Email</label>
<div class="input-group">
<i class="fas fa-envelope" style="margin-top: 10px; color: rgb(88, 88, 88);"></i>
<input type="email" class="form-control form-control-border border-width-2"
placeholder="Email" id="inputEmail">
</div>
<span id="errorEmail" style="margin-top: 10px;"></span>
</div>
<div class="col-sm-11" style="margin-top: 10px;">
<label>NumTelephone</label>
<div class="input-group">
<i class="fas fa fa-mobile" style="margin-top: 10px; color: rgb(88, 88, 88);"></i>
<input type="number" class="form-control form-control-border border-width-2"
id="inputNumTelephone" pattern="[0-9]{8}">
</div>
<span id="errorNumTelephone"></span>
</div>
<div class="col-sm-11" style="margin-top: 10px;">
<div class="form-group">
<label>adresse</label>
<input type="text" class="form-control form-control-border border-width-2"
id="inputAdresse">
</div>
<span id="errorAdresse"></span>
</div>
<!-- /.card-body -->
<button type=" submit" class="btn btn-primary" onclick="addEGC()"
style="margin-top: 35px; margin-left: 25%; width: 200px; font-size: 20px; background-color: #05abe2"><i
class="fas fa-plus-circle"></i>
Ajouter</button>
</form>
</div>
</section>
<!-- /.content -->
</div>
<!-- ./wrapper -->
<!-- jQuery -->
<script src="plugins/jquery/jquery.min.js"></script>
<!-- jQuery UI 1.11.4 -->
<script src="plugins/jquery-ui/jquery-ui.min.js"></script>
<!-- Resolve conflict in jQuery UI tooltip with Bootstrap tooltip -->
<script>
$.widget.bridge('uibutton', $.ui.button)
</script>
<!-- Bootstrap 4 -->
<script src="plugins/bootstrap/js/bootstrap.bundle.min.js"></script>
<!-- ChartJS -->
<script src="plugins/chart.js/Chart.min.js"></script>
<!-- Sparkline -->
<script src="plugins/sparklines/sparkline.js"></script>
<!-- JQVMap -->
<script src="plugins/jqvmap/jquery.vmap.min.js"></script>
<script src="plugins/jqvmap/maps/jquery.vmap.usa.js"></script>
<!-- jQuery Knob Chart -->
<script src="plugins/jquery-knob/jquery.knob.min.js"></script>
<!-- daterangepicker -->
<script src="plugins/moment/moment.min.js"></script>
<script src="plugins/daterangepicker/daterangepicker.js"></script>
<!-- Tempusdominus Bootstrap 4 -->
<script src="plugins/tempusdominus-bootstrap-4/js/tempusdominus-bootstrap-4.min.js"></script>
<!-- Summernote -->
<script src="plugins/summernote/summernote-bs4.min.js"></script>
<!-- overlayScrollbars -->
<script src="plugins/overlayScrollbars/js/jquery.overlayScrollbars.min.js"></script>
<!-- AdminLTE App -->
<script src="dist/js/adminlte.js"></script>
<!-- AdminLTE for demo purposes -->
<script src="dist/js/demo.js"></script>
<!-- AdminLTE dashboard demo (This is only for demo purposes) -->
<script src="dist/js/pages/dashboard.js"></script>
<script src="https://cdn.jsdelivr.net/npm/sweetalert2@11"></script>
<script>
function validationChamp() {
var test = true;
var myForm = document.getElementById('formPI');
let inputNomEGC = document.getElementById('inputNomPI');
let inputpremierRes = document.getElementById('inputpremierRes');
let inputemail = document.getElementById('inputEmail');
let inputAdresse = document.getElementById("inputAdresse");
let inputtelephone = document.getElementById("inputNumTelephone");
var emailformat = /^[a-zA-Z0-9._-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,4}$/;
var nomformat = /[a-zA-Z]{3,30}/;
if (inputNomEGC.value.trim() == "") {
var myError = document.getElementById('NomPIError');
myError.innerHTML = "le champ Nom PI ne doit pas etre vide";
myError.style.color = 'red';
test = false;
} else {
var myError = document.getElementById('NomPIError');
myError.innerHTML = "";
}
if (inputpremierRes.value.trim() != "") {
var myError = document.getElementById('errorPremierResp');
myError.innerHTML = "";
if (!(inputpremierRes.value.match(nomformat))) {
myError.innerHTML = "le champ NomPrenom doit etre une chaine de caractere et entre 3 et 30 caractere";
myError.style.color = 'red';
test = false;
} else {
var myError = document.getElementById('errorPremierResp');
myError.innerHTML = "";
}
} else {
var myError = document.getElementById('errorPremierResp');
myError.innerHTML = "";
}
if (inputemail.value != "") {
var myError = document.getElementById('errorEmail');
if (!(inputemail.value.match(emailformat))) {
myError.innerHTML = "le champ email doit respecter un format specifique(exemple@exemple.com)";
myError.style.color = 'red';
test = false;
} else {
var myError = document.getElementById('errorEmail');
myError.innerHTML = "";
}
}
//alert("email" + (!(inputemail.value.match(emailformat))));
if (inputtelephone.value != "") {
if ((inputtelephone.value.toString()).length != 8) {
var myError = document.getElementById('errorNumTelephone');
myError.innerHTML = "le numero de telephone doit contenir exactement 8 chiffre";
myError.style.color = 'red';
test = false;
} else {
var myError = document.getElementById('errorNumTelephone');
myError.innerHTML = "";
}
}
return test;
}
</script>
<script>
function addEGC() {
var test = validationChamp();
if (test == true) {
var url = "http://127.0.0.1:3000/pis";
var data = {};
data.nom = document.getElementById("inputNomPI").value;
data.premierResponsable = document.getElementById("inputpremierRes").value;
data.email = document.getElementById("inputEmail").value;
data.telephone = document.getElementById("inputNumTelephone").value;
data.adresse = document.getElementById("inputAdresse").value;
var json = JSON.stringify(data);
var xhr = new XMLHttpRequest();
xhr.open("POST", url, true);
xhr.setRequestHeader('Content-type', 'application/json; charset=utf-8');
xhr.onload = function () {
var pis = JSON.parse(xhr.responseText);
if (xhr.readyState == 4 && xhr.status == "200") {
console.table(pis);
Swal.fire({
icon: 'success',
title: 'Votre travail à ete enregistrer avec Succes',
showConfirmButton: true,
}).then((result) => {
if (result.isConfirmed) {
location.replace("showPI.html");
}
})
document.getElementById("inputNomPI").value = "";
document.getElementById("inputpremierRes").value = "";
document.getElementById("inputEmail").value = "";
document.getElementById("inputNumTelephone").value = "";
document.getElementById("inputAdresse").value = "";
//location.replace("index.html");
} else {
if (pis.message.includes("E11000 duplicate key error collection:") == true) {
console.log(pis.message);
Swal.fire({
icon: 'error',
title: 'PI Existe deja',
showConfirmButton: false,
timer: 1500
})
}
console.table(pis);
}
}
xhr.send(json);
}
}
function showPI() {
location.replace("showPI.html");
}
</script>
<script>
let nomPrenom = localStorage.getItem("nomPrenomCommercial");
if (nomPrenom != null) {
var Commercial = document.getElementById("Commercial");
Commercial.innerHTML = nomPrenom;
} else {
location.replace("authentification.html")
}
</script>
<script>
function deconnection() {
localStorage.clear();
location.replace("authentification.html");
}
</script>
<script>
function showCommercial() {
let id = localStorage.getItem("idCommercial");
if (id != "") {
location.replace("detailCommercial.html?id=" + id);
}
}
</script>
</body>
</html>