v20191009
authorKilian Saffran <ksaffran@dks.lu>
Wed, 9 Oct 2019 16:08:45 +0000 (18:08 +0200)
committerKilian Saffran <ksaffran@dks.lu>
Wed, 9 Oct 2019 16:08:45 +0000 (18:08 +0200)
13 files changed:
backoffice/api/lib/session.pm
backoffice/tmpl/block/sidebar.tt
backoffice/tmpl/module/applications/index.js
backoffice/tmpl/module/applications/index.tt
backoffice/tmpl/module/billjee/form_billet.js
backoffice/tmpl/module/billjee/form_billet.tt
backoffice/tmpl/module/billjee/form_settings.js
backoffice/tmpl/module/billjee/index.js
backoffice/tmpl/module/billjee/mybookings.js
backoffice/tmpl/module/billjee/mytickets.js
backoffice/tmpl/module/billjee/privatetickets.js
backoffice/tmpl/module/dashboard/index.js
tmpl/page/lieu/index.tt

index 6756691..9407139 100644 (file)
@@ -28,7 +28,7 @@ sub checklogin(){
   $ret->{message} = "Mot de passe ou nom d'utilisateur inconnue!";
   $ret->{messagetype} = "danger";
   $ret->{sid} = undef;
-  my $user = $self->{db}->dbquerysorted("select id from users where username= '".$self->{db}->securetext($login)."' and userpassword = '".$pwd."' and \"blocked\" is null;");
+  my $user = $self->{db}->dbquerysorted("select id from users where username=LOWER(''".$self->{db}->securetext($login)."') and userpassword = '".$pwd."' and \"blocked\" is null;");
   if (keys(%{$user}) > 0){
     $ret->{sid} = $self->randomstring(40);
     $self->{db}->dbexec("DELETE FROM sessions where id_user=".$user->{0}->{id}." and remote_addr='".$ENV{REMOTE_ADDR}."' and user_agent='".$ENV{HTTP_USER_AGENT}."';");
@@ -42,7 +42,7 @@ sub passwordforgotten(){
   my $email = shift;
   my $ret->{messagetype} ='danger';
   $ret->{message} = "Email inconnue!";
-  my $sql = "select id,userpassword from users where username='".$self->{db}->securetext($email)."';";
+  my $sql = "select id,userpassword from users where username=LOWER(''".$self->{db}->securetext($email)."');";
   my $ex = $self->{db}->dbquerysorted($sql);
   if (keys(%{$ex}) > 0){
     my $newpwd = $self->randomstring(12);
@@ -79,7 +79,7 @@ sub registeruser(){
   #   $usergroup = 'avocat';
   # # }
   
-  my $user = $self->{db}->dbquerysorted("select id from users where username='".$data->{email}."';");
+  my $user = $self->{db}->dbquerysorted("select id from users where username=LOWER('".$data->{email}."');");
   if (keys(%{$user}) > 0){
     $ret->{message} = "Un utilisateur avec la même adresse e-mail existe déjà!";
     return $ret; 
@@ -87,14 +87,14 @@ sub registeruser(){
   my $newpwd = $self->randomstring(12);
   my $pwd = sha256_hex($newpwd);
   my $usergroup = $self->{db}->dbquerysorted("select id from usergroups where usergroup ='avocat';");
-  my $newuserid = $self->{db}->dbquerysorted("INSERT INTO users (surname, prename, id_usergroup, username,userpassword) values ('".$data->{surname}."', '".$data->{prename}."','".$usergroup->{0}->{id}."','".$data->{email}."','".$pwd."') returning id;");
+  my $newuserid = $self->{db}->dbquerysorted("INSERT INTO users (surname, prename, id_usergroup, username,userpassword) values ('".$data->{surname}."', '".$data->{prename}."','".$usergroup->{0}->{id}."',LOWER(''".$data->{email}."'),'".$pwd."') returning id;");
        $self->{db}->dbexec("insert into appaccess (id_user) values (".$newuserid->{0}->{id}.");");
   
   my $maildata->{password} = $newpwd;
   my $eml = sendemail->new();
-  my $mret = $eml->sendemail('user_registration',$newuserid->{0}->{id},$data->{email},$maildata,undef);
+  my $mret = $eml->sendemail('user_registration',$newuserid->{0}->{id},lc($data->{email}),$maildata,undef);
   if ($mret == 0){
-    $ret->{message} = "Merci pour votre régistration,<br/>nous vous avons envoyé un e-mail, avec les coordonnées de connection nécessaires!";
+    $ret->{message} = "Merci pour votre inscription,<br/>nous vous avons envoyé un e-mail, avec les coordonnées de connection nécessaires!";
     $ret->{messagetype} = "success";
   }
   return $ret;
index 7ee73c2..4b1901a 100644 (file)
@@ -9,12 +9,24 @@
               <span class="menu-title">Dashboard</span>
             </a>
           </li> -->
+          <li class="nav-item">
+            <a class="nav-link" href="javascript:backoffice.logout();">
+              <i class="mdi mdi-logout menu-icon"></i>
+              <span class="menu-title">Logout</span>
+            </a>
+          </li>
           <li class="nav-item">
             <a class="nav-link" href="javascript:backoffice.loadpage('module/applications/index.html');">
               <i class="mdi mdi-apps menu-icon"></i>
               <span class="menu-title">Applications</span>
             </a>
           </li>
+          <li class="nav-item">
+            <a class="nav-link" href="javascript:backoffice.loadpage('module/profile/index.html');">
+              <i class="mdi mdi-settings menu-icon"></i>
+              <span class="menu-title">Profile</span>
+            </a>
+          </li>
           [% FOREACH myapps = viewapps.execute(session.id) %]
           [% IF myapps.id %]
           <li class="nav-item">
index 720fb13..39428ec 100644 (file)
@@ -199,7 +199,7 @@ function activation_step(data){
   
   var msg = '<div class="card bg-warning text-white w-100">';
   msg += '<div class="card-body">Merci , <br/>';
-  msg += 'nous vous avons envoyés une email à "'+ data.senderemail + '" <br/>avec le code  d\'activation à entrer ci-dessous!</div></div>';
+  msg += 'nous vous avons envoyés un email à "'+ data.senderemail + '" <br/>avec le code  d\'activation à entrer ci-dessous!</div></div>';
   document.getElementById("moderatedmsg").innerHTML= msg;
   var frmact =  '<div class="col"><input type="text"  class="form-control" id="billjee_activationcode" placeholder="code d\'activation" name="billjee_activationcode" /></div>';
   frmact +=  '<div class="col">';
index 0633974..16e91b9 100644 (file)
@@ -95,7 +95,7 @@
                   [% FOREACH price = prices.execute(modules.id) %]
                   <div class="col">
                   [% IF price.evaluation %]
-                    <button class="btn btn-primary" id="btn_evaluation" onclick="subscribeplan('[% modules.id %]','[% price.package %]','eval');return false;">Evaluer</button>
+                    <button class="btn btn-primary" id="btn_evaluation" onclick="subscribeplan('[% modules.id %]','[% price.package %]','eval');return false;">Evaluer</button><br/><small class="text-gray">(gratuit / durée: 1 mois)</small> 
                   [% ELSIF price.price > 0  %]
                   <button class="btn btn-primary" id="btn_subscribe"  onclick="subscribeplan('[% modules.id %]','[% price.package %]',null);return false;">Souscire [% price.duration %] mois</button><br/><small class="text-gray">([% price.price %]€ hTVA / mois)</small>  
                   [% END %]  
index e51843c..f96b34e 100644 (file)
@@ -14,20 +14,25 @@ function initpage(){
     optcourts.push(opt);
   }
   //console.log(optcourts);
+  var courtvalue = document.getElementById('court').dataset.selected;
+  var roomvalue = document.getElementById('room').dataset.selected;
+  //console.log("Selected:" + courtvalue + " " + roomvalue);
   selcourt = new Choices('#court',{
     searchEnabled: false,
     itemSelectText: 'Sélectionner...',
     choices: optcourts
   });
+  selcourt.setChoiceByValue(courtvalue);
   selroom = new Choices('#room',{
     searchEnabled: false,
     itemSelectText: 'Sélectionner...',
   });
+  //selroom.setValue([roomvalue]);
   seltype = new Choices('#eventtype',{
     searchEnabled: false,
     itemSelectText: 'Sélectionner...',
   });
-  setrooms();
+  setrooms(roomvalue);
 
   // const onlychoices = new Choices('#eventtype',{
   //   searchEnabled: false,
@@ -81,6 +86,7 @@ function initpage(){
   var evid = document.getElementById("id").value;
   var mindate = "today";
   var evdate = document.getElementById("eventdate").value;
+  var evtime = document.getElementById("starttime").value;
   if ((evid != "") && (evdate < cdate.toJSON().substring(0,10))){
     mindate = document.getElementById("eventdate").value;
   }
@@ -96,7 +102,7 @@ function initpage(){
     noCalendar: true,
     dateFormat: "H:i",
     "locale": "fr",
-    defaultDate: "09:00"
+    defaultDate: evtime
   });
   //setdefaulttext();
 
@@ -124,7 +130,6 @@ function save_billet(){
     
 
   }
-
     req.reqdata("POST","process.cgi",tdata,saved_result);
 
   
@@ -159,9 +164,12 @@ function cleanmsg(){
   return false;
 }
 
-function setrooms(){
+function setrooms(defval=null){
+  
   var tr = document.getElementById("court").value;
   var ro = document.getElementById("room").value;
+  if (defval){
+    ro = defval;  }
   //console.log(ro);
   var optrooms = [];
   //console.log(court[tr]);
@@ -179,6 +187,9 @@ function setrooms(){
     selroom.setChoiceByValue(optrooms[0].value);
     //document.getElementById("room").value = '';
   }
+  if (defval){
+    selroom.setChoiceByValue(defval);
+  }
   return false;
 }
 
index 2db9036..9f64fb3 100644 (file)
@@ -29,7 +29,7 @@ null as eventmsg,  null as eventtype,  binv.invites FROM billjee bj
   <div class="w3-row">
     <div class="w3-row">
         <div class="w3-container m4 w3-col ">
-            <label for="eventtype" class="w3-label">Type [% bill.0.eventtype %]</label>
+            <label for="eventtype" class="w3-label">Type</label>
             <select class="w3-select onlyselect" id="eventtype" name="billjeetickets_eventtype" onchange="setdefaulttext();" >
             [% etypes = {offer = 'Offre de disponibilité',request = 'Demande de service' } %]
             [% FOREACH k IN etypes.keys %]
@@ -40,7 +40,7 @@ null as eventmsg,  null as eventtype,  binv.invites FROM billjee bj
             
           </div>
           <div class="w3-container m4 w3-col ">
-              <label for="eventdate" class="w3-label">Date [% bill.0.eventdate %]</label>
+              <label for="eventdate" class="w3-label">Date</label>
               <input type="date" class="choices__inner  dateselect" id="eventdate" name="billjeetickets_eventdate" value="[% bill.0.eventdate %]" />
               
           </div>
@@ -55,13 +55,13 @@ null as eventmsg,  null as eventtype,  binv.invites FROM billjee bj
     <div class="w3-row">
         <div class="w3-container m6 w3-col">
             <label class="w3-label">Tribunal</label>
-          <select  class="w3-select onlyselect" id="court"  name="billjeetickets_court" value="[% bill.0.court %]" onchange="setrooms();">
+          <select  class="w3-select onlyselect" id="court"  name="billjeetickets_court" data-selected="[% bill.0.court %]" value="" onchange="setrooms();">
            
           </select>
         </div>
         <div class="w3-container m6 w3-col">
             <label class="w3-label">Chambre(s)</label>
-            <select  class="w3-select onlyselect" id="room"  name="billjeetickets_room" value="[% bill.0.room %]">
+            <select  class="w3-select onlyselect" id="room"  name="billjeetickets_room" data-selected="[% bill.0.room %]" value="">
            
           </select>
           
index cef4610..ae9d044 100644 (file)
@@ -33,7 +33,13 @@ function initpage(){
       });
     }
   });
-
+  console.log()
+  if (document.getElementById('msgrequest').innerHTML == ''){
+    document.getElementById('msgrequest').innerHTML ='Nom de l\'affaire:\n\nSalle et heure:\n\nPartie adverse:\n\nAvocat adverse:\n\nInstructions:\n\n-plaise fixer\n-demande délai supplémentaire\n-plaise retenir\n\n\n';
+  }
+  if (document.getElementById('msgoffer').innerHTML == ''){
+    document.getElementById('msgoffer').innerHTML ='Nom de l\'affaire:\n\nSalle et heure:\n\nPartie adverse:\n\nAvocat adverse:\n\nInstructions:\n\n-plaise fixer\n-demande délai supplémentaire\n-plaise retenir\n\n\n';
+  }
 }
 
 function save_settings(){
index 4bc525e..19bd231 100644 (file)
@@ -27,7 +27,7 @@ function display_results(data){
     var card = '<div class="w3-card-4" id="event_'+data.events[i].id+'">';
     card += '<div class="w3-container w3-theme-d3"><h4 id="event_'+data.events[i].id+'_info1">' + data.events[i].dspdate + ' - ' + data.events[i].starttime + ' - ' + data.events[i].court + ' - ' + data.events[i].room  +'</h4>'+
     '</div><div class="w3-container '+ ((data.events[i].eventtype == 'offer')?'w3-pink':'w3-yellow')+'"><h5 id="event_'+data.events[i].id+'_info2">' + ((data.events[i].eventtype == 'offer')?'Offre de disponibilité - Présence de ':'Demande lecture de billet de ') + data.events[i].surname + ' ' + data.events[i].prename + '</h5>'+'</div>';
-    card += '<div class="w3-container">' + data.events[i].msg + '</div>';
+    card += '<div class="w3-container">' + ((data.events[i].msg)?data.events[i].msg:'') + '</div>';
     card += '<footer class="w3-container w3-right-align w3-padding-16">';
     card += '<button class=" w3-btn w3-theme-l2 w3-margin-right" onclick="contact_publisher(\''+ data.events[i].id +'\');"><img src="[% abspath %]images/icons/send.svg"  style="width: 24px;" />&nbsp;Contacter </button>';
     card += '</footer>';
index 6d5012c..89b7212 100644 (file)
@@ -35,7 +35,7 @@ function display_results(data){
     var card = '<div class="w3-card-4" id="event_'+data.events[i].id+'">';
     card += '<div class="w3-container w3-theme-d3"><h4 id="event_'+data.events[i].id+'_info1">' + data.events[i].dspdate + ' - ' + data.events[i].starttime + ' - ' + data.events[i].court + ' - ' + data.events[i].room  +'</h4>'+
     '</div><div class="w3-container '+ ((data.events[i].eventtype == 'offer')?'w3-pink':'w3-yellow')+'"><h5 id="event_'+data.events[i].id+'_info2">' + ((data.events[i].eventtype == 'offer')?'Offre de disponibilité - Présence de ':'Demande lecture de billet de ') + data.events[i].surname + ' ' + data.events[i].prename  + '</h5>'+'</div>';
-    card += '<div class="w3-container">' + data.events[i].msg + '</div>';
+    card += '<div class="w3-container">' + ((data.events[i].msg)?data.events[i].msg:'') + '</div>';
     card += '<footer class="w3-container w3-right-align w3-padding-16">';
     
       
index 08372ce..2319492 100644 (file)
@@ -35,7 +35,7 @@ function display_results(data){
     var card = '<div class="w3-card-4" id="event_'+data.events[i].id+'">';
     card += '<div class="w3-container w3-theme-d3"><h4 id="event_'+data.events[i].id+'_info1">' + data.events[i].dspdate + ' - ' + data.events[i].starttime + ' - ' + data.events[i].court + ' - ' + data.events[i].room  +'</h4>'+
     '</div><div class="w3-container '+ ((data.events[i].eventtype == 'offer')?'w3-pink':'w3-yellow')+'"><h5 id="event_'+data.events[i].id+'_info2">' + ((data.events[i].eventtype == 'offer')?'Offre de disponibilité - Présence de ':'Demande lecture de billet de ') + data.events[i].surname + ' ' + data.events[i].prename + '</h5>'+'</div>';
-    card += '<div class="w3-container">' + data.events[i].msg + '</div>';
+    card += '<div class="w3-container">' + ((data.events[i].msg)?data.events[i].msg:'') + '</div>';
     card += '<footer class="w3-container w3-right-align w3-padding-16">';
     
       card += '<button class="w3-btn w3-theme-l2 w3-margin-right" onclick="edit_event(\''+ data.events[i].id +'\');"><img src="[% abspath %]images/icons/edit.svg" style="width: 24px;" data-id="\''+ data.events[i].id +'\'"/>&nbsp;Editer </button>';
index 3b6247b..c53f9fe 100644 (file)
@@ -34,7 +34,7 @@ function display_results(data){
     var card = '<div class="w3-card-4" id="event_'+data.events[i].id+'">';
     card += '<div class="w3-container w3-theme-d3"><h4 id="event_'+data.events[i].id+'_info1">' + data.events[i].dspdate + ' - ' + data.events[i].starttime + ' - ' + data.events[i].court + ' - ' + data.events[i].room  +'</h4>'+
     '</div><div class="w3-container '+ ((data.events[i].eventtype == 'offer')?'w3-pink':'w3-yellow')+'"><h5 id="event_'+data.events[i].id+'_info2">' + ((data.events[i].eventtype == 'offer')?'Offre de disponibilité - Présence de ':'Demande lecture de billet de ') + data.events[i].surname + ' ' + data.events[i].prename + '</h5>'+'</div>';
-    card += '<div class="w3-container">' + data.events[i].msg + '</div>';
+    card += '<div class="w3-container">' + ((data.events[i].msg)?data.events[i].msg:'') + '</div>';
     card += '<footer class="w3-container w3-right-align w3-padding-16">';
     card += '<button class=" w3-btn w3-theme-l2 w3-margin-right" onclick="contact_publisher(\''+ data.events[i].id +'\');"><img src="[% abspath %]images/icons/send.svg"  style="width: 24px;" />&nbsp;Contacter </button>';
     card += '</footer>';
index 129d8d3..2fd4053 100644 (file)
@@ -4,8 +4,8 @@ function initpage(){
 }
 
 function loadlastpage(data){
-  //console.log("pref lastpage = " + JSON.stringify(data));
-  if (data['preference']){
+  console.log("pref lastpage = " + JSON.stringify(data));
+  if (data && data['preference']){
     parent.backoffice.loadpage(data.preference);
   } else {
     parent.backoffice.loadpage('module/applications/index.html');
index 24b902e..5072ca1 100644 (file)
@@ -2,7 +2,7 @@
 [% IF link %]\r
 [% loc = dksdb.prepare("select city || case when country != 'LUX' and country is not null then  '(' || country || ')' else '' end as loc from lawyercatalog where location_link = ? group by city,country,location_link;") %]\r
   <div class="section-title text-center center">\r
-      <h3><a href="[% abspath%]lieu/">Autres Lieus</a></h3>\r
+      <h3><a href="[% abspath%]lieu/">Autres Lieux</a></h3>\r
       <h2>Annuaire - Lieu \r
       [% cnt = 0 %]\r
       [% FOREACH lname =  loc.execute(link) %]\r
@@ -12,7 +12,7 @@
       <hr>\r
       [% IF cnt == 0 %]\r
       <div class="alert alert-danger">Lieu demandé introuvable!</div>\r
-        <h3>Lieus disponibles</h3>\r
+        <h3>Lieux disponibles</h3>\r
         [% INCLUDE block/locations.tt %]\r
       [% END %]\r
       \r
@@ -22,7 +22,7 @@
   [% END %]\r
 [% ELSE %]\r
   <div class="section-title text-center center">\r
-      <h2>Annuaire - Lieus</h2>\r
+      <h2>Annuaire - Lieux</h2>\r
       <hr>\r
     </div>\r
     [% INCLUDE block/locations.tt %]\r