rendezvous bugfixes
authorKilian Saffran <ksaffran@dks.lu>
Tue, 19 Mar 2019 11:11:58 +0000 (12:11 +0100)
committerKilian Saffran <ksaffran@dks.lu>
Tue, 19 Mar 2019 11:11:58 +0000 (12:11 +0100)
api.php
lib/process_email.php
lib/process_rdv.php
lib/processdata.php
tmpl/pages/profile/checkout.php
tmpl/pages/rendezvous.php
tmpl/pages/rendezvousevent.php

diff --git a/api.php b/api.php
index ef3fdfd..83691a3 100644 (file)
--- a/api.php
+++ b/api.php
           $num_wd = date('w',strtotime($_GET['day']));
           $str_wd = strtolower(date('D',strtotime($_GET['day'])));
           $sql ="select ".$str_wd."_values as hour_values,option1_name,option1_values,option2_name,option2_values,option3_name,option3_values,option4_name,option4_values from timesheets where startdate <= date('".$_GET['day']."') and weekdays LIKE '%".$num_wd."%' and id_user=".$iduser." order by startdate desc LIMIT 1;";
+          error_log("GET RDVDAY:".$sql);
           $daydata = $db->dbquery($sql);
-          $sql ="select dayhours as exception from exceptions where daydate=date('".$_GET['day']."') and id_user=".$iduser.";";
+          $sql ="select dayhours from exceptions where daydate=date('".$_GET['day']."') and id_user=".$iduser.";";
           $exception = $db->dbquery($sql);
+          // $daydata["exception"] = explode(',',$exception["dayhours"]);
           if ($daydata["hour_values"] != ""){
             $daydata["hour_values"] = explode(',',$daydata["hour_values"]);
           } else {
             $daydata["hour_values"] = null;
           }
-          
+          if ($daydata["hour_values"] != null){
+            $dhnew = array();
+            if ($exception != null){
+              $exp = explode(',',$exception["dayhours"]);
+              foreach ($daydata["hour_values"] as $val){
+                if (!in_array($val,$exp)){
+                  array_push($dhnew,$val);
+                }
+              }
+              $daydata["hour_values"] = $dhnew;
+            }
+          }
+          //exclude taken rdv times
+          $sql = "select eventhour from events where eventdate=date('".$_GET['day']."') and id_user='".$iduser."' and (user_status != 'canceled' or client_status != 'canceled')";
+          $takenevents = $db->dbquery($sql);
+          // $daydata["taken"] = explode(',',$takenevents["eventhour"]);
+          if ($daydata["hour_values"] != null){
+            $dhnew = array();
+            if ($takenevents != null){
+              $tev = explode(',',$takenevents["eventhour"]);
+              foreach ($daydata["hour_values"] as $val){
+                if (!in_array($val,$tev)){
+                  array_push($dhnew,$val);
+                }
+              }
+              $daydata["hour_values"] = $dhnew;
+            }
+          }
           if (isset($daydata["option1_values"]) && $daydata["option1_values"] != ""){
             $daydata["option1_values"] = explode(',',$daydata["option1_values"]);
           }
index 8ca340c..cf7dcac 100644 (file)
@@ -14,9 +14,6 @@
             }
         
             $maildata = $db->dbquery($datasql);
-
-            error_log($datasql."\n");
-            error_log($maildata."\n");
             $body = $tmpl['emailtext'];
             $subject = $tmpl['mailsubject'];
             foreach ($data as $key => $value){
@@ -62,7 +59,9 @@
             
             //$retdata =shell_exec($cmd);
             system($cmd,$status);
-            
+            if ($status==0){
+              error_log("Mail sended to ".$data["email"].' with template:'.$template);
+            }
             return $status;
 
         }
index e0a0bd3..7c6f8b7 100644 (file)
@@ -63,10 +63,11 @@ function rdv_changestatus($rdv){
   $sql = "select  DATE_FORMAT(ev.eventdate,'%d/%m/%Y') as eventdate,ev.eventoptions,ev.eventhour,ev.user_status,ev.client_status,ev.eventuuid,
   CONCAT(usr.userprename,' ',usr.usersurname) as username,
   CONCAT(cl.userprename,' ',cl.usersurname) as clientname,
-  ev.clientuuid,ev.useruuid,cl.userphone as clientphone,cl.useremail as clientemail,usr.useremail,
+  ev.clientuuid,ev.useruuid,cl.userphone as clientphone,cl.useremail as clientemail,usr.useremail
   from events ev 
   left join users usr on (ev.id_user=usr.id) 
   left join users cl on (ev.id_client=cl.id) where ev.clientuuid='".$db->secvalue($rdv["uuid"])."' or ev.useruuid='".$db->secvalue($rdv["uuid"])."'";
+  // $msg .= "SQL 1: $sql<br/>";
   $event = $db->dbquery($sql);
   $sql = "";
   $newrdv = 0;
@@ -88,6 +89,7 @@ function rdv_changestatus($rdv){
         $sql = "UPDATE events SET user_status='canceled' where useruuid='".$rdv["uuid"]."'";
       }
     }
+    // $msg .= "SQL 2: $sql<br/>";
     if ($sql != ""){
       $res = $db->dbexec($sql);
       if ($res !== false){
@@ -97,15 +99,41 @@ function rdv_changestatus($rdv){
           if ($newrdv == 1){
             $mailtmpl = 'user_rendezvous';
           } 
-          $send = sendemail('user_rendezvous_status_change',$mdata);
+          $send = sendemail($mailtmpl,$mdata);
         } else if ($rdv["uuid"] == $event["useruuid"]){
           $mdata= array("email" => $event["clientemail"], "eventuuid" => $event["eventuuid"], "siteurl" => $_SERVER['REQUEST_SCHEME'].'://'.$_SERVER["HTTP_HOST"].$baseurl);
           $send = sendemail('client_rendezvous_status_change',$mdata);
         }
       } else {
-        $msg = '<div class="alert alert-danger">Erreur! quelque chose n\'a pas bien fonctionnée!</div>';
+        $msg = '<div class="alert alert-danger">Erreur! quelque chose n\'a pas bien fonctionnée!</div>';
       }
     }
   }
 }
+
+function resendevent($rdv){
+  global $db,$msg,$baseurl;
+  $sql = "select  DATE_FORMAT(ev.eventdate,'%d/%m/%Y') as eventdate,ev.eventoptions,ev.eventhour,ev.user_status,ev.client_status,ev.eventuuid,
+  CONCAT(usr.userprename,' ',usr.usersurname) as username,
+  CONCAT(cl.userprename,' ',cl.usersurname) as clientname,
+  ev.clientuuid,ev.useruuid,cl.userphone as clientphone,cl.useremail as clientemail,usr.useremail
+  from events ev 
+  left join users usr on (ev.id_user=usr.id) 
+  left join users cl on (ev.id_client=cl.id) where ev.clientuuid='".$db->secvalue($rdv["uuid"])."'";
+  $event = $db->dbquery($sql);    
+  if (($event != null) && ($event["clientemail"] == $rdv["useremail"])){
+    $mdata= array("email" => $rdv["useremail"], "eventuuid" => $event["eventuuid"], "siteurl" => $_SERVER['REQUEST_SCHEME'].'://'.$_SERVER["HTTP_HOST"].$baseurl);
+    $send = sendemail('client_rendezvous_confirmation',$mdata);
+    if ($send == 0){
+      $msg =  '<div class="alert alert-info">Votre demande à été enregistrée!<br/>
+    Nous vous avons envoyés un email avec un lien de confirmation.<br/>Après confirmation votre demande sera tranférée au avocat!
+    </div>';
+    } else {
+      $msg = '<div class="alert alert-danger">Erreur! quelque chose n\'a pas bien fonctionnée!</div>';
+    }
+  } else {
+    $msg = '<div class="alert alert-danger">l\'addresse e-mail n\'est pas correcte où cette demande de rendez-vous n\'existe pas!</div>';
+  }
+  
+}
 ?>
\ No newline at end of file
index ca387d6..f46944d 100644 (file)
@@ -66,6 +66,7 @@ function process_postdata($pdt){
                     activate_user($pdt["useremail"],$pdt["activationkey"]);
                     break;
                 case 'submit_resendevent':
+                    resend_rdv($pdt);
                     break;
             }
         }
@@ -95,8 +96,8 @@ function process_getdata($gdt){
                     break;
             }
           }
-          if (isset($gdt("uuid")) && isset($gdt("setstatus"))){
-            rdv_changestatus();
+          if (isset($gdt["uuid"]) && isset($gdt["setstatus"])){
+            rdv_changestatus($gdt);
           }
           if (isset($gdt["enable"])){
             enable_app($gdt);
index 4b206f2..3886274 100644 (file)
@@ -3,7 +3,7 @@
   $sql = "select *,(select LPAD(count(*) + 1,4,0) from invoicedata where id_user=".$user["id"].") as invoicenum from invoicedata where id_user=".$user["id"]." order by invoicedate desc LIMIT 1;";
   $lastinv = $db->dbquery($sql);
   if (!$lastinv){
-    $sql = "SELECT CONCAT(COALESCE(userprename,''),' ',COALESCE(usersurname,'')) as recipient, useremail as email, useraddress as address, userzip as zip, usercity as city, '0001' as invoicenum, CONCAT('JD',YEAR(CURDATE()),LPAD(".$user["id"].",4,0)) as clientnumber  FROM users where id=".$user["id"];
+    $sql = "SELECT CONCAT(COALESCE(usr.userprename,''),' ',COALESCE(usr.usersurname,'')) as recipient, usr.useremail as email, cat.address, cat.zip as zip, cat.city as city, '0001' as invoicenum, CONCAT('JD',YEAR(CURDATE()),LPAD(".$user["id"].",4,0)) as clientnumber  FROM users usr left join catalog cat on (usr.id=cat.id_user) where usr.id=".$user["id"];
     $lastinv = $db->dbquery($sql);
   }
   $sql = "select apps.id,apr.id,apps.name,apr.monthlyprice, apps.evaluationdays,apr.minmonth,apr.package
index e016924..a1524d2 100644 (file)
@@ -98,12 +98,12 @@ var rdvdata = {"id_user":"<?php echo $_GET['id']; ?>",
     "useremail":null,
     "userphone":null
 };
-
+var tomorrow = new Date();
+tomorrow.setDate(tomorrow.getDate() + 1);
 
 
 function initdata(){
   moment.locale('fr');
-    //console.log("INIT RDV DATA!");
     moment.locale('fr');
     getuserdata();
   $('.datepicker').datepicker({
@@ -121,12 +121,11 @@ function initdata(){
         return d.format("DD/MM/YYYY");
       }
     },
-    startDate: new Date(),
-    //container: '#weekpicker', // Inject to placeholder to apply css
+    startDate: tomorrow,
     autoclose: true,
-    todayHighlight: true,
-    //calendarWeeks: true,
-    weekStart: 1 // Week starts on Sat
+    // todayHighlight: true,
+    calendarWeeks: true,
+    weekStart: 1
   });
   $('.datepicker').on('show', function() {
     $('.datepicker table tr').each(function() {
@@ -146,43 +145,24 @@ function initdata(){
       }
     });
   });
-    //getdaydata();
-    // $('.datepicker').on('changeDate', function() {
-    //     rdvdata.eventstartdate = $('#rendezvousdatepicker').datepicker('getFormattedDate');
-    //     console.log("change daydata!");
-    //     getdaydata();
-    // });
     
 }
 
 function getuserdata(){
-  console.log("Get User Data!");
   $("#tr_id_user > td").html($("#avoname").val());
   rdvdata.id_user = $("#id_user").val();
 
   getdaydata(rdvdata.eventstartdate);
 }
 
-// function(){
-
-// }
-
 function getdaydata(daydate){
-    console.log("LOAD Day: " + daydate);
-    //console.log('/api.php?action=rdvday&day='+ daydate+'&id='+ rdvdata.id_user);
     $.ajax({
                encoding:"UTF-8",
                url:'<?php echo $baseurl; ?>/api.php?action=rdvday&day='+ daydate+'&id='+ rdvdata.id_user,
                success: function (data){
-            console.log(data);
-            //$("#tr_id_user > td").html($("#id_user :selected").text());
-            // $("#tr_eventstartdate > td").html(rdvdata.eventstartdate);
-            // $("#rendezvousdatepicker").val(rdvdata.eventstartdate);
             $("#tr_options > td").html("");
             $("#tr_eventhour> td").html("");
-            //$('.datepicker').html("");
             $("#options").html("");
-            // $('#rendezvousdatepicker').datepicker('destroy'); 
             $('#rdo_hour_values').html("");
             if (!data.hour_values){
               $("#submit_rendezvous").attr("disabled", true);
@@ -192,7 +172,6 @@ function getdaydata(daydate){
               for (var i in data.hour_values){
                 $('#rdo_hour_values').append('<div class="btn-group-toggle"  id="eventhour_'+ i +'" style="float: left;" onclick="setfieldvalue(this);"><label class="btn btn-outline-primary">'+
                   '<input type="radio" name="eventhour"  value="'+ data.hour_values[i] +'"  autocomplete="off"> '+ data.hour_values[i] +'</label></div>');
-                // $('#rdo_hour_values').append('<input type="radio" name="eventhour" id="eventhour_'+ i +'" value="'+ data.hour_values[i] +'" onclick="setfieldvalue(this);">&nbsp;'+ data.hour_values[i] +'');
             }
             if (data.option1_name){
                 var opt1v  = "";
index 217ad4f..c201769 100644 (file)
@@ -5,7 +5,7 @@
     $sql = "select  DATE_FORMAT(ev.eventdate,'%d/%m/%Y') as eventdate,ev.eventoptions,ev.eventhour,ev.user_status,ev.client_status,
     CONCAT(usr.userprename,' ',usr.usersurname) as username,
     CONCAT(cl.userprename,' ',cl.usersurname) as clientname,
-    ev.clientuuid,ev.useruuid,cl.userphone as clientphone,cl.useremail as clientemail
+    ev.clientuuid,ev.useruuid,cl.userphone as clientphone,cl.useremail as clientemail,usr.useremail
     from events ev 
     left join users usr on (ev.id_user=usr.id) 
     left join users cl on (ev.id_client=cl.id) where ev.clientuuid='".$db->secvalue($_GET["uuid"])."' or ev.useruuid='".$db->secvalue($_GET["uuid"])."'";
     if ($_GET["uuid"] == $event["clientuuid"]){
       if ($event["client_status"] == 'unconfirmed'){
         ?>
-          echo '<div class="row justify-content-center">
+          <div class="row justify-content-center">
             <div class="col-md-6">
               <div class="card">
                 <div class="card-body">
                   <p><strong>Merci pour votre demande de rendez-vous,<br/>Nous vous avons envoyé un email avec un liens pout confirmer votre demande de rendezvous!</strong>
-                    <form> 
-                    <input type="hidden" id="clientuuid" name="clientuuid" value="<?php echo $event["clientuuid"];?>"/>
+                    <form id="dksrdv_resendrdv" name="dksrdv_resendrdv" class="dks needs-validation" method="POST" novalidate
+                    <input type="hidden" id="uuid" name="uuid" value="<?php echo $event["clientuuid"];?>"/>
                     <div class="form-group">
                       <label>E-Mail</label>
                       <input type="email" name="useremail" id="useremail"  class="form-control" required />
@@ -90,7 +90,7 @@
           <div class="row justify-content-center">
             <div class="col-md-4">
               <?php 
-                if (($user) && ($user["usergroup"] == 'avocat'){
+                if (($user) && ($user["usergroup"] == 'avocat')){
                   echo '<div class="col-sm-12"><a href="'.$baseurl.'/profile/rendezvous/rendezvouslist">Liste des rendezvous</a></div>';
                 }
               ?>
             </div>
           </div>
         <?php
-    }
     
   } else {
     echo '<div class="alert alert-danger">Le Rendez-Vous demnadé est introuvable dans le système!</div>';
   }
-  
+}
 ?>
 <script>
   function initdata(){