$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}."';");
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);
# $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;
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;
<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">
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">';
[% 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 %]
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,
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;
}
noCalendar: true,
dateFormat: "H:i",
"locale": "fr",
- defaultDate: "09:00"
+ defaultDate: evtime
});
//setdefaulttext();
}
-
req.reqdata("POST","process.cgi",tdata,saved_result);
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]);
selroom.setChoiceByValue(optrooms[0].value);
//document.getElementById("room").value = '';
}
+ if (defval){
+ selroom.setChoiceByValue(defval);
+ }
return false;
}
<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 %]
</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>
<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>
});
}
});
-
+ 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(){
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;" /> Contacter </button>';
card += '</footer>';
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">';
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 +'\'"/> Editer </button>';
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;" /> Contacter </button>';
card += '</footer>';
}
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');
[% 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
<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
[% 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