use dksdb;
use dksreport;
use dksapp;
+use Encode;
sub new {
my $class = shift;
}
my @insql = $self->{db}->create_ddl_insert($inv);
-
+ open(LOG,">>tmp/sql.log");
+ print LOG $insql[0]."\n";
+ print LOG ();
+ close(LOG);
+ $insql[0] = encode("utf-8",$insql[0]);
my $newinvid = $self->{db}->dbquery($insql[0]);
$prd->{invoiceelements_id_invoice} = $newinvid->{id};
@insql = $self->{db}->create_ddl_insert($prd);
elsif ($p->{fn} eq "generatevouchers"){
if ($sess->{othergroups} =~ /admin/){
my $sql = "INSERT INTO vouchers (voucher, id_price, used, percentdiscount, expiration) VALUES (substring(md5(random()::text),1,9), ".$p->{id_price}.", false, ".$p->{discount}.", date('".$p->{expiration}."'));";
- foreach (my $i=0..$p->{num}){
+ foreach (my $i=0;$i<$p->{num};$i++){
$db->dbexec($sql);
}
$html->{result} = "OK";
# $html->{result}->{events} = $res;
# }
elsif($p->{fn} eq "getmonthbilljees"){
- my $sql = "select eventdate,count(*) from billjeetickets where eventdate between date('".$p->{startdate}."') and date(date('".$p->{startdate}."') + interval '41 days') and isdisabled is null and id_user not in (".$sess->{id}.") and (invites is null or invites::text like '%\"' || (select senderemail from billjee where id_user=".$sess->{id}.") || '\"%') group by eventdate order by eventdate;";
- # my $sql = "select eventdate,count(*) from billjeetickets where eventdate between date('".$p->{startdate}."') and date(date('".$p->{startdate}."') + interval '41 days') and isdisabled is null and id_user not in (".$sess->{id}.") and (invites is null or bt.invites::text like '%\"' || (select senderemail from billjee where id_user=".$sess->{id}.") || '\"%') group by eventdate order by eventdate;";
+ # my $sql = "select eventdate,count(*) from billjeetickets where eventdate between date('".$p->{startdate}."') and date(date('".$p->{startdate}."') + interval '41 days') and isdisabled is null and id_user not in (".$sess->{id}.") and (invites is null or invites::text like '%\"' || (select senderemail from billjee where id_user=".$sess->{id}.") || '\"%') group by eventdate order by eventdate;";
+ $html->{result}->{events} = ();
+ if (exists($p->{type}) && exists($p->{startdate})){
+ my $sql = "select eventdate,count(*) from billjeetickets where eventdate between date('".$p->{startdate}."') and date(date('".$p->{startdate}."') + interval '41 days') and isdisabled is null and id_user not in (".$sess->{id}.") and invites is null group by eventdate order by eventdate;";
+ if ($p->{type} eq "user"){
+ $sql = "select eventdate,count(*) from billjeetickets where eventdate between date('".$p->{startdate}."') and date(date('".$p->{startdate}."') + interval '41 days') and id_user=".$sess->{id}." group by eventdate order by eventdate;";
+ }
+ if ($p->{type} eq "private"){
+ $sql = "select eventdate,count(*) from billjeetickets where eventdate between date('".$p->{startdate}."') and date(date('".$p->{startdate}."') + interval '41 days') and isdisabled is null and id_user not in (".$sess->{id}.") and invites::text like '%\"' || (select senderemail from billjee where id_user=".$sess->{id}.") || '\"%' group by eventdate order by eventdate;";
+ }
+ if ($p->{type} eq "bookings"){
+ $sql = "select bt.eventdate,count(*) from billjeetickets bt join billjeebooking bb on (bt.id=bb.id_billjeeticket and bb.id_user=".$sess->{id}.") where eventdate between date('".$p->{startdate}."') and date(date('".$p->{startdate}."') + interval '41 days') group by eventdate order by eventdate;";
+ }
my $res = $db->dbquerybykey("eventdate",$sql);
$html->{result}->{events} = $res;
+ }
# $html->{result}->{sql} = $sql;
}
elsif($p->{fn} eq "getbilljeeeditor"){
- my $sqlins = "INSERT INTO billjeebooking (".$p->{id}.", ".$sess->{id}.", bookingtime) VALUES(0, 0, current_timestamp);";
+ my $sqlins = "INSERT INTO billjeebooking (id_billjeeticket, id_user, bookingtime) VALUES(".$p->{id}.", ".$sess->{id}.", now());";
$db->dbexec($sqlins);
my $sql = "select bt.court,bt.room,to_char(bt.eventdate,'DD.MM.YYYY') as dspdate,eventtype,case when eventtype ='offer' then 'offre' else 'demande' end as dspeventtype,bt.dayperiod,bj.senderemail as recipient from billjeetickets bt join billjee bj on (bt.id_user=bj.id_user and bt.id=".$p->{id}.")";
my $res = $db->dbquerysorted($sql);
}
$html->{result}->{contact} = $res->{0};
}
- elsif($p->{fn} eq "getmonthbilljeesbyuser"){
-
- my $sql = "select eventdate,count(*) from billjeetickets where eventdate between date('".$p->{startdate}."') and date(date('".$p->{startdate}."') + interval '41 days') and id_user=".$sess->{id}." group by eventdate order by eventdate;";
- my $res = $db->dbquerybykey("eventdate",$sql);
- $html->{result}->{events} = $res;
- }
+ # elsif($p->{fn} eq "getmonthbilljeesbyuser"){
+
+ # my $res = $db->dbquerybykey("eventdate",$sql);
+ # $html->{result}->{events} = $res;
+ # }
elsif($p->{fn} eq "getbilljeeevents"){
#ownevents
+ $html->{result}->{events} = ();
+ if (exists($p->{type}) && exists($p->{startdate}) && exists($p->{enddate})){
my $olyf = "";
if ($p->{onlyfuture} eq "true"){
$olyf = "and bt.eventdate >= CURRENT_DATE";
}
- my $sql ="select bt.id,bt.id_user,bt.isdisabled,bt.court,bt.room,to_char(bt.eventdate,'DD.MM.YYYY') as dspdate,bt.dayperiod,bt.eventmsg as msg ,bt.eventtype,case when bt.eventtype ='offer' then 'offre' else 'demande' end as dspeventtype,us.prename,us.surname
+
+# my $sql ="select bt.id,bt.id_user,bt.isdisabled,bt.court,bt.room,to_char(bt.eventdate,'DD.MM.YYYY') as dspdate,bt.dayperiod,bt.eventmsg as msg ,bt.eventtype,case when bt.eventtype ='offer' then 'offre' else 'demande' end as dspeventtype,us.prename,us.surname
+# from billjeetickets bt
+# join billjee bj on (bj.id_user=bt.id_user)
+# join (select users.id,users.prename,users.surname,appaccess.privateenabled from users join appaccess on (appaccess.id_user=users.id) and appaccess.id_app=7) us on (bt.id_user=us.id)
+# where bt.eventdate between date('".$p->{startdate}."') and date('".$p->{enddate}."') and us.privateenabled=true
+# and isdisabled is null ".$olyf."
+# and bt.id_user not in (".$sess->{id}.")
+# and (bt.invites is null or bt.invites::text like '%\"' || (select senderemail from billjee where id_user=".$sess->{id}.")|| '\"%')
+# order by bt.eventdate,us.surname,us.prename;";
+my $sql ="select bt.id,bt.id_user,bt.isdisabled,bt.court,bt.room,to_char(bt.eventdate,'DD.MM.YYYY') as dspdate,substr(bt.starttime::TEXT,0,5) as starttime,bt.eventmsg as msg ,bt.eventtype,us.prename,us.surname
from billjeetickets bt
join billjee bj on (bj.id_user=bt.id_user)
join (select users.id,users.prename,users.surname,appaccess.privateenabled from users join appaccess on (appaccess.id_user=users.id) and appaccess.id_app=7) us on (bt.id_user=us.id)
-where bt.eventdate between date('".$p->{startdate}."') and date('".$p->{enddate}."') and us.privateenabled=true
-and isdisabled is null ".$olyf."
-and bt.id_user not in (".$sess->{id}.")
-and (bt.invites is null or bt.invites::text like '%\"' || (select senderemail from billjee where id_user=".$sess->{id}.")|| '\"%')
-order by bt.eventdate,us.surname,us.prename;";
-
+where bt.eventdate between date('".$p->{startdate}."') and date('".$p->{enddate}."')
+and us.privateenabled=true and isdisabled is null ".$olyf."
+and bt.invites is null order by bt.eventdate,us.surname,us.prename;";
+ if ($p->{type} eq "private"){
+ $sql ="select bt.id,bt.id_user,bt.isdisabled,bt.court,bt.room,to_char(bt.eventdate,'DD.MM.YYYY') as dspdate,substr(bt.starttime::TEXT,0,5) as starttime,bt.eventmsg as msg ,bt.eventtype,us.prename,us.surname
+from billjeetickets bt
+join billjee bj on (bj.id_user=bt.id_user)
+join (select users.id,users.prename,users.surname,appaccess.privateenabled from users join appaccess on (appaccess.id_user=users.id) and appaccess.id_app=7) us on (bt.id_user=us.id)
+where bt.eventdate between date('".$p->{startdate}."') and date('".$p->{enddate}."')
+and us.privateenabled=true and isdisabled is null ".$olyf."
+and and bt.invites::text like '%\"' || (select senderemail from billjee where id_user=".$sess->{id}.")|| '\"%') order by bt.eventdate,us.surname,us.prename;";
+ }
+ if ($p->{type} eq "user"){
+ $sql ="select bt.id,bt.id_user,bt.isdisabled,bt.court,bt.room,to_char(bt.eventdate,'DD.MM.YYYY') as dspdate,substr(bt.starttime::TEXT,0,5) as starttime,bt.eventmsg as msg ,bt.eventtype,bt.eventtype,us.prename,us.surname ,'[' || string_agg(bdata::TEXT,',')|| ']' as bookings
+from billjeetickets bt
+join billjee bj on (bj.id_user=bt.id_user)
+left join (select bbook.id_user,bbook.id_billjeeticket,row_to_json(bbook) as bdata from (
+select us1.prename,us1.surname,bb1.id_billjeeticket,bb1.id_user,to_char(bb1.bookingtime,'DD.MM.YYYY HH:MI') as bookingtime,bt1.senderemail from billjeebooking bb1 join billjee bt1 on (bb1.id_user=bt1.id_user) join users us1 on (bb1.id_user=us1.id) order by bb1.bookingtime ASC) as bbook) bb on (bt.id=bb.id_billjeeticket)
+join (select users.id,users.prename,users.surname,appaccess.privateenabled from users join appaccess on (appaccess.id_user=users.id) and appaccess.id_app=7) us on (bt.id_user=us.id)
+where bt.eventdate between date('".$p->{startdate}."') and date('".$p->{enddate}."') and us.id=".$sess->{id}." group by bt.id,us.prename,us.surname;";
+ }
+ if ($p->{type} eq "bookings"){
+ $sql ="select bt.id,bt.id_user,bt.isdisabled,bt.court,bt.room,to_char(bt.eventdate,'DD.MM.YYYY') as dspdate,substr(bt.starttime::TEXT,0,5) as starttime,bt.eventmsg as msg ,bt.eventtype,bt.eventtype,us.prename,us.surname ,'[' || string_agg(bdata::TEXT,',')|| ']' as bookings
+from billjeetickets bt
+join billjee bj on (bj.id_user=bt.id_user)
+left join (select bbook.id_user,bbook.id_billjeeticket,row_to_json(bbook) as bdata from (
+select us1.prename,us1.surname,bb1.id_billjeeticket,bb1.id_user,to_char(bb1.bookingtime,'DD.MM.YYYY HH:MI') as bookingtime,bt1.senderemail from billjeebooking bb1 join billjee bt1 on (bb1.id_user=bt1.id_user) join users us1 on (bb1.id_user=us1.id) order by bb1.bookingtime ASC) as bbook) bb on (bt.id=bb.id_billjeeticket)
+join (select users.id,users.prename,users.surname,appaccess.privateenabled from users join appaccess on (appaccess.id_user=users.id) and appaccess.id_app=7) us on (bt.id_user=us.id)
+where bt.eventdate between date('".$p->{startdate}."') and date('".$p->{enddate}."') and bdata.id_user=".$sess->{id}." group by bt.id,us.prename,us.surname;";
+ }
my $res = $db->dbquerysorted($sql);
#$html->{result}->{onlyfuture} = $p->{onlyfuture};
$html->{result}->{events} = $res;
+ }
#$html->{result}->{sql} = $sql;
}
- elsif($p->{fn} eq "getbilljeeeventsbyuser"){
- #ownevents
- my $sql ="select bt.id,bt.id_user,bt.isdisabled,bt.court,bt.room,to_char(bt.eventdate,'DD.MM.YYYY') as dspdate,bt.dayperiod,bt.eventmsg as msg ,bt.eventtype,case when bt.eventtype ='offer' then 'offre' else 'demande' end as dspeventtype,us.prename,us.surname ,'[' || string_agg(bdata::TEXT,',')|| ']' as bookings
-from billjeetickets bt
-join billjee bj on (bj.id_user=bt.id_user)
-left join (select bbook.id_billjeeticket,row_to_json(bbook) as bdata from (
-select us1.prename,us1.surname,bb1.id_billjeeticket,bb1.id_user,to_char(bb1.bookingtime,'DD.MM.YYYY HH:MI') as bookingtime,bt1.senderemail from billjeebooking bb1 join billjee bt1 on (bb1.id_user=bt1.id_user) join users us1 on (bb1.id_user=us1.id) order by bb1.bookingtime ASC) as bbook) bb on (bt.id=bb.id_billjeeticket)
-join (select users.id,users.prename,users.surname,appaccess.privateenabled from users join appaccess on (appaccess.id_user=users.id) and appaccess.id_app=7) us on (bt.id_user=us.id)
-where bt.eventdate between date('".$p->{startdate}."') and date('".$p->{enddate}."') and us.privateenabled=true and us.id=".$sess->{id}." group by bt.id,us.prename,us.surname;";
+ # elsif($p->{fn} eq "getbilljeeeventsbyuser"){
+ # #ownevents
+ # my
- my $res = $db->dbquerysorted($sql);
+ # my $res = $db->dbquerysorted($sql);
- $html->{result}->{events} = $res;
- }
+ # $html->{result}->{events} = $res;
+ # }
elsif($p->{fn} eq "billjeepublishevent"){
$html->{result}->{id} = $p->{id};
my $sql = "UPDATE billjeetickets set isdisabled=true where id=".$p->{id}." and id_user=".$sess->{id}.";";
.w3-dropdown-hover:hover .w3-dropdown-content{display:block; }
.w3-dropdown-hover:first-child,.w3-dropdown-click:hover{background-color:#ccc;color:#000}
.w3-dropdown-hover:hover > .w3-button:first-child,.w3-dropdown-click:hover > .w3-button:first-child{background-color:#ccc;color:#000}
-.w3-dropdown-content{cursor:auto;color:#000;background-color:#fff;display:none;position:absolute;min-width:160px;margin:0;padding:0;z-index:1}
+.w3-dropdown-content{cursor:auto;color:#000;background-color:#fff;display:none;position:absolute;min-width:160px;margin:0;padding:0;z-index:1000}
.w3-check,.w3-radio{width:24px;height:24px;position:relative;top:6px}
.w3-sidebar{height:100%;width:200px;background-color:#fff;position:fixed!important;z-index:1;overflow:auto}
.w3-bar-block .w3-dropdown-hover,.w3-bar-block .w3-dropdown-click{width:100%}
.w3-circle{border-radius:50%}
.w3-round-small{border-radius:2px}.w3-round,.w3-round-medium{border-radius:4px}.w3-round-large{border-radius:8px}.w3-round-xlarge{border-radius:16px}.w3-round-xxlarge{border-radius:32px}
.w3-row-padding,.w3-row-padding>.w3-half,.w3-row-padding>.w3-third,.w3-row-padding>.w3-twothird,.w3-row-padding>.w3-threequarter,.w3-row-padding>.w3-quarter,.w3-row-padding>.w3-col{padding:0 8px}
-.w3-container,.w3-panel{padding:0.01em 16px}.w3-panel{margin-top:16px;margin-bottom:16px}
+.w3-container,.w3-panel{padding:0.01em 16px}.w3-panel{margin-top:0px;margin-bottom:0px}
.w3-code,.w3-codespan{font-family:Consolas,"courier new";font-size:16px}
.w3-code{width:auto;background-color:#fff;padding:8px 12px;border-left:4px solid #4CAF50;word-wrap:break-word}
.w3-codespan{color:crimson;background-color:#f1f1f1;padding-left:4px;padding-right:4px;font-size:110%}
--- /dev/null
+<svg id="glyphicons-basic" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 32 32">
+ <path id="chevron-down" d="M26.91425,13.12115,16.70709,23.32849a.99988.99988,0,0,1-1.41418,0L5.08575,13.12115a.50007.50007,0,0,1,0-.70715l2.8285-2.82806a.5.5,0,0,1,.70709,0L16,16.96436l7.37866-7.37842a.5.5,0,0,1,.70709,0l2.8285,2.82806A.50007.50007,0,0,1,26.91425,13.12115Z"/>
+</svg>
request.open(method.toUpperCase(), sendurl, false);
request.onload = function(){
if (request.status >= 200 && request.status <= 400){
- console.log("Status returned: " + request.status + "resp:" + request.getResponseHeader("Content-Type"));
+ //console.log("Status returned: " + request.status + "resp:" + request.getResponseHeader("Content-Type"));
if (request.getResponseHeader("Content-Type").indexOf('application/json') == 0){
var xparse = JSON.parse(request.responseText);
- //console.log(xparse);
+ console.log(xparse);
ret = xparse.result;
}else if (request.getResponseHeader("Content-Type").indexOf('application/vnd.ms-excel') == 0){
var filename = "";
document.getElementById("week" + w).innerHTML = '<button class="w3-button w3-block w3-orange" data-datefrom="'+wdatemon+'" data-dateto="'+wdatesun+'" onclick="selectPeriod(this);return false;" '+ disabled+'>'+ weeks +'</button>';
weeks++;
}
- //console.log(lmday);
- //console.log("LAST DAY: DATE:" + lmday.getUTCDate() + "DOW:" + lmday.getUTCDay());
- //console.log("First DAY: DATE:" + fmday.getUTCDate() + "DOW:" + fmday.getUTCDay());
- var evfn = "getmonthbilljees";
- if (onlyuser && onlyuser==true){
- evfn = "getmonthbilljeesbyuser";
- }
- req.reqdata("POST","process.cgi",{fn:evfn,"startdate":fmday.toJSON().substring(0,10),"enddate":lmday.toJSON().substring(0,10)},set_calendarevents);
+
+ req.reqdata("POST","process.cgi",{fn:"getmonthbilljees","type":bltype,"startdate":fmday.toJSON().substring(0,10),"enddate":lmday.toJSON().substring(0,10)},set_calendarevents);
return false;
}
<header class="w3-container">
<span onclick="document.getElementById('dlgcontactpublisher').style.display='none'; return false;"
class="w3-button w3-display-topright">×</span>
- <h2>Êtes-vous sûre de contacter l'éditeur de ce billjee?</h2>
+ <h2>Êtes-vous sûr de contacter l'éditeur de ce billjee?</h2>
</header>
<div class="w3-container" >
<div class="w3-container w3-border" id="dlgcontactpublisher_details"></div>
<header class="w3-container">
<span onclick="document.getElementById('dlgdelete').style.display='none'; return false;"
class="w3-button w3-display-topright">×</span>
- <h2>Êtes-vous sûre de supprimer ce billjee?</h2>
+ <h2>Êtes-vous sûr de supprimer ce billjee?</h2>
</header>
<div class="w3-container" id="dlgdelete_details">
</div>
</div>
<script>
-var dlgstates={ "publish":{"msg":"Êtes-vous sûre de publier ce billjee?","btn":'<img src="[% abspath %]images/icons/unpublish.svg" style="width: 24px;" /> Enlever '},
- "unpublish":{"msg":"Êtes-vous sûre d'enlever ce billjee?","btn":'<img src="[% abspath %]images/icons/publish.svg" style="width: 24px;" /> Publier '}
+var dlgstates={ "publish":{"msg":"Êtes-vous sûr de publier ce billjee?","btn":'<img src="[% abspath %]images/icons/unpublish.svg" style="width: 24px;" /> Enlever '},
+ "unpublish":{"msg":"Êtes-vous sûr d'enlever ce billjee?","btn":'<img src="[% abspath %]images/icons/publish.svg" style="width: 24px;" /> Publier '}
}
var cpublstate = null;
function publish_event(id){
[% IF module == 'billjee' %]
-<header class="w3-top w3-bar w3-border-bottom w3-theme-light tblshort">
- <button class="w3-bar-item w3-button w3-border" id="btnsidebar" onclick="parent.backoffice.loadpage('module/[% module %]/index.html','Billjee');"><img src="[% abspath %]images/icons/search.svg" style="width: 24px;"/></button>
- <button class="w3-bar-item w3-button w3-border" id="btnsidebar" onclick="parent.backoffice.loadpage('module/[% module %]/mytickets.html','Mes billets');"><img src="[% abspath %]images/icons/list.svg" style="width: 24px;"/></button>
- <button class="w3-bar-item w3-button w3-border" id="btnsidebar" onclick="parent.backoffice.loadpage('module/[% module %]/form_billet.html','Nouveau billet');"><img src="[% abspath %]images/icons/plus.svg" style="width: 24px;" /></button>
- <button class="w3-bar-item w3-button w3-border" id="btnsidebar" onclick="parent.backoffice.loadpage('module/[% module %]/form_settings.html','Configuration');"><img src="[% abspath %]images/icons/settings.svg" style="width: 24px;" /></button>
- </header>
+<div class="w3-top">
+<div class="w3-bar w3-border-bottom w3-theme-light">
+ <div class="w3-dropdown-hover w3-border">
+ <button class="w3-button w3-theme-light">Billjee'en <img src="[% abspath %]images/icons/chevron-down.svg" style="width: 24px;" /></button>
+ <div class="w3-dropdown-content w3-bar-block w3-card-4">
+ <a href="javascript:parent.backoffice.loadpage('module/[% module %]/index.html','Recherche public');" class="w3-bar-item w3-button">Recherche Public</a>
+ <a href="javascript:parent.backoffice.loadpage('module/[% module %]/privatetickets.html','Recherche privé');" class="w3-bar-item w3-button">Recherche privé</a>
+ <a href="javascript:parent.backoffice.loadpage('module/[% module %]/mytickets.html','Mes billets');" class="w3-bar-item w3-button">Mes billets</a>
+ <a href="javascript:parent.backoffice.loadpage('module/[% module %]/mybookings.html','Mes envois');" class="w3-bar-item w3-button">Mes envois</a>
+ </div>
+ </div>
+ <a class="w3-bar-item w3-button w3-border" href="javascript:parent.backoffice.loadpage('module/[% module %]/form_billet.html','Nouveau billet');"><img src="[% abspath %]images/icons/plus.svg" style="width: 24px;" /></a>
+ <a class="w3-bar-item w3-button w3-border" href="javascript:parent.backoffice.loadpage('module/[% module %]/form_settings.html','Configuration');"><img src="[% abspath %]images/icons/settings.svg" style="width: 24px;" /></a>
+
+</div>
+</div>
[% END %]
\ No newline at end of file
return;
}
- process_data({"fn":"setbilljeeemail":"email_moderated":seml},reload_application);
+ process_data({"fn":"setbilljeeemail","email_moderated":seml},reload_application);
}
function reload_application(data){
[% END %]
</div>
</div>
- [% END %]
- [% IF modules.renew %]
+
+ [% IF modules.renew == "1" %]
<div class="row">
<div class="col">
<button class="btn btn-primary" id="btn_appvoucher" type="button" onclick="subscribeplan('[% modules.id %]',null,'voucher');return false;">Prolonger avec coupon </button>
[% IF NOT price.evaluation %]
<div class="col">
- <button class="btn btn-primary" id="btn_subscribe" onclick="subscribeplan('[% modules.id %]','[% price.package %]',null);return false;">Prolonger [% price.duration %] mois</button><br/><small class="text-gray">([% price.price %]€ hTVA / mois)</small>
+ <button class="btn btn-primary" id="btn_subscribe" onclick="subscribeplan('[% modules.id %]','[% price.package %]',null);return false;">Prolonger [% price.duration %] mois</button><br/><small class="text-gray">[% price.evaluation %]([% price.price %]€ hTVA / mois)</small>
</div>
[% END %]
[% END %]
</div>
+ [% END %]
- [% ELSE %]
+ [% ELSE %]
<div class="row">
[% IF modules.moderated && modules.moderatedval == undef %]
<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>
- [% ELSE %]
+ [% 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 %]
</div>
--- /dev/null
+var court = {
+"Cour Supérieure de Justice – Cour de Cassation": ["CR.0.19"],
+"Cour Supérieure de Justice – Cour d'Appel":[ "CR.2.28 ","CR.2.29","CR.0.19","CR.1.25","CR.4.31"]
+,"Tribunal d'Arrondissement – Luxembourg": ["CO1.01","CO1.02","TL0.11","TL1.04","TL1.07","TL1.10","TL1.11","TL3.05","TL3.06","TL3.09","TJ1.02","TJ0.02"]
+,"Tribunal d'Arrondissement – Diekirch": ["Salle I ","Salle II","Salle de réunion III"]
+,"Justice de Paix – Luxembourg": ["JP.0.02","JP.0.15","JP.1.19"]
+,"Justice de Paix – Esch-sur-Alzette": ["Salle 1","Salle 2","Salle 3"]
+,"Justice de Paix – Diekirch": ["Salle 1"]
+}
\ No newline at end of file
+[% INCLUDE "module/$module/courts.js" %]
+var selcourt = null;
+var selroom = null;
+var seltype = null;
function initpage(){
console.log("et:" + JSON.stringify(document.getElementById("eventtype").dataset));
//console.log("vet:" + document.getElementById("eventtype").value);
- const onlychoices = new Choices('.onlyselect',{
+ var optcourts = [];
+ for (var i in court){
+ console.log(i);
+ var opt = { value: i, label: i };
+ optcourts.push(opt);
+ }
+ console.log(optcourts);
+ selcourt = new Choices('#court',{
+ searchEnabled: false,
+ itemSelectText: 'Sélectionner...',
+ choices: optcourts
+ });
+ selroom = new Choices('#room',{
searchEnabled: false,
itemSelectText: 'Sélectionner...',
-
});
+ seltype = new Choices('#eventtype',{
+ searchEnabled: false,
+ itemSelectText: 'Sélectionner...',
+ });
+ setrooms();
// const onlychoices = new Choices('#eventtype',{
// searchEnabled: false,
minDate: mindate
//defaultDate: evdate
});
+ flatpickr("#starttime",{
+ enableTime: true,
+ noCalendar: true,
+ dateFormat: "H:i",
+ "locale": "fr",
+ defaultDate: "09:00"
+ });
//console.log("TEXT: evdate" + evdate);
//console.log("et:" + JSON.stringify(document.getElementById("eventtype").dataset));
}
-function save_billet(){
+function save_billet(){
+ document.getElementById("msgsaved").innerHTML = '';
var rfields = []
var tdata = {"fn":"saveform","ident":"ident_billjeetickets_id"};
var inp = document.querySelectorAll('input,select,textarea');
for (var i in inp){
if ((inp[i].name) && (inp[i].name.startsWith("billjeetickets") || inp[i].name.startsWith("ident_billjeetickets"))){
- if (inp[i].name == "billjeetickets_invites"){
+ if (inp[i].name == "billjeetickets_invites" && inp[i].value != ''){
var addr = inp[i].value.split(",");
tdata[inp[i].name] = addr;
}else {
function saved_result(data){
//console.log("Retrned data!");
+ document.getElementById("msgsaved").innerHTML = '<div class="w3-panel w3-green"><p>le billjee à été sauvegardé.</p></div>';
+ setTimeout("cleanmsg();",3000);
if ((data) && (data.id)){
//console.log("SET ID to" + data.id);
document.getElementById("id").value=data.id;
chars: text.length,
words: text.split(/[\w\u2019\'-]+/).length
};
-}
\ No newline at end of file
+}
+
+function cleanmsg(){
+ document.getElementById("msgsaved").innerHTML = '';
+ return false;
+}
+
+function setrooms(){
+ var tr = document.getElementById("court").value;
+ var ro = document.getElementById("room").value;
+ console.log(ro);
+ var optrooms = [];
+ //console.log(court[tr]);
+ var sel = null;
+ for (var i in court[tr]){
+
+ var opt = { value: court[tr][i], label: court[tr][i] };
+ if (ro == court[tr][i]){ sel = court[tr][i];}
+ optrooms.push(opt);
+ }
+ //console.log(optrooms);
+ selroom.setChoices(optrooms,'value','label',true);
+ if (!sel){
+ console.log("clean selection");
+ selroom.setChoiceByValue(optrooms[0].value);
+ //document.getElementById("room").value = '';
+ }
+ return false;
+}
[% IF params.id %]
- [% qbill = dksdb.prepare("select bt.id,bt.id_user,bt.court,bt.room,bt.eventdate,bt.dayperiod,
+ [% qbill = dksdb.prepare("select bt.id,bt.id_user,bt.court,bt.room,bt.eventdate,bt.starttime,
bt.eventmsg, bt.eventtype, binv.invites
from billjeetickets bt
join billjee bj on (bj.id_user=bt.id_user)
[% rbill = qbill.execute(params.id) %]
[% bill = rbill.get_first(); %]
[% ELSE %]
-[% qbill = dksdb.prepare("select null as id,bj.id_user, null as court, null as room, CURRENT_DATE as eventdate, null as dayperiod,
+[% qbill = dksdb.prepare("select null as id,bj.id_user, null as court, null as room, CURRENT_DATE as eventdate, '09:00' as starttime,
null as eventmsg, null as eventtype, binv.invites FROM billjee bj
left join (select id,string_agg(invites,',') as invites from (select id,json_array_elements_text(invites) as invites from billjee ) as x group by id ) binv on (bj.id=binv.id)
where bj.id_user= ?;") %]
<div class="w3-container m4 w3-col ">
<label for="eventtype" class="w3-label">Type [% bill.0.eventtype %]</label>
<select class="w3-select onlyselect" id="eventtype" name="billjeetickets_eventtype" >
- [% etypes = {offer = 'Offre',request = 'Demande' } %]
+ [% etypes = {offer = 'Offre de disponibilité',request = 'Demande de service' } %]
[% FOREACH k IN etypes.keys %]
<option value="[% k %]" [% IF k == bill.0.eventtype %] selected[% END %]>[% etypes.$k %]</option>
[% END %]
</div>
<div class="w3-container m4 w3-col ">
- <label for="times" class="w3-label">Heures</label>
- <select class="w3-select onlyselect" id="times" name="billjeetickets_dayperiod" value="[% bill.0.dayperiod %]">
- [% etimes = {'matin' = 'matin','après-midi' = 'après-midi' } %]
- [% FOREACH k IN etimes.keys %]
- <option value="[% k %]" [% IF k == bill.0.dayperiod %] selected[% END %]>[% etimes.$k %]</option>
- [% END %]
- </select>
+ <label for="times" class="w3-label">Heure</label>
+
+ <input type="time" class="choices__inner timeselect" id="starttime" name="billjeetickets_starttime" value="[% bill.0.starttime %]" />
+
</div>
</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 %]">
- [% ecourt = {
- 'jp-luxembourg' = 'justices de paix - Luxembourg',
- 'jp-esch' = 'justices de paix - Esch/Alzette',
- 'jp-diekirch' = 'justices de paix - Diekirch',
- 'ta-luxembourg' = 'tribunal d\'arrondissement - Luxembourg',
- 'ta-diekirch' = 'tribunal d\'arrondissement - Diekirch'
- } %]
- [% FOREACH k IN ecourt.keys %]
- <option value="[% k %]" [% IF k == bill.0.court %] selected[% END %]>[% ecourt.$k %]</option>
- [% END %]
-
+ <select class="w3-select onlyselect" id="court" name="billjeetickets_court" value="[% bill.0.court %]" onchange="setrooms();">
+
</select>
</div>
<div class="w3-container m6 w3-col">
<label class="w3-label">Chambre(s)</label>
- <input class="w3-input selectedit" id="room" name="billjeetickets_room" value="[% bill.0.room %]">
+ <select class="w3-select onlyselect" id="room" name="billjeetickets_room" value="[% bill.0.room %]">
+
+ </select>
</div>
</div>
<label class="w3-label">visible pour tous ou ...</label>
<input class="w3-input selectedit" id="invites" name="billjeetickets_invites" value="[% bill.0.invites %]" placeholder="ajouter des emails...@barreau.lu" />
- <div class="w3-container w3-padding">
- <button class="w3-button w3-theme w3-xxlarge w3-block" onclick="save_billet();return false;">Sauvegarder</button>
- </div>
-
+ </div>
+ <div class="w3-container w3-padding w3-row">
+ <div class="w3-col w3-third w3-padding">
+ <button class="w3-button w3-theme w3-block" onclick="save_billet();return false;">Sauvegarder</button>
+
+ </div>
+ <div class="w3-col w3-twothird">
+ <div id="msgsaved"></div>
+ </div>
+
+ </div>
+ </div>
</form>
</div>
},
});
- // tinymce.init({
- // selector: '.richeditarea',
- // branding: false,
- // menubar:false,
- // statusbar: true,
- // plugins: 'searchreplace autolink directionality visualblocks visualchars advlist lists textcolor colorpicker textpattern wordcount',
- // toolbar: 'bold italic underline strikethrough forecolor backcolor | link | alignleft aligncenter alignright alignjustify | numlist bullist outdent indent | removeformat',
- // image_advtab: true,
- // language: 'fr_FR',
- // init_instance_callback: function (editor) {
- // editor.on('blur', function (e) {
- // // console.log('Editor was blurred!');
- // console.log(e.target.id);
- // document.getElementById(e.target.id).innerHTML = editor.getContent();
- // // $("#" + e.target.id).html(editor.getContent());
- // //console.log(editor.getContent());
- // // if (savefield){
- // // savefield(e.target.id);
- // // }
- // });
- // }
- // });
+ tinymce.init({
+ selector: '.richeditarea',
+ branding: false,
+ menubar:false,
+ statusbar: true,
+ plugins: 'searchreplace autolink directionality visualblocks visualchars advlist lists textcolor colorpicker textpattern wordcount',
+ toolbar: 'bold italic underline strikethrough forecolor backcolor | link | alignleft aligncenter alignright alignjustify | numlist bullist outdent indent | removeformat',
+ image_advtab: true,
+ language: 'fr_FR',
+ init_instance_callback: function (editor) {
+ editor.on('blur', function (e) {
+ // console.log('Editor was blurred!');
+ console.log(e.target.id);
+ document.getElementById(e.target.id).innerHTML = editor.getContent();
+ // $("#" + e.target.id).html(editor.getContent());
+ //console.log(editor.getContent());
+ // if (savefield){
+ // savefield(e.target.id);
+ // }
+ });
+ }
+ });
}
function save_settings(){
+ document.getElementById("msgsaved").innerHTML = '';
var rfields = []
var tdata = {"fn":"saveform","ident":"ident_billjee_id"};
var inp = document.querySelectorAll('input,select,textarea');
for (var i in inp){
if ((inp[i].name) && (inp[i].name.startsWith("billjee") || inp[i].name.startsWith("ident_billjee"))){
- if (inp[i].name == "billjee_invites"){
+ if (inp[i].name == "billjee_invites" && inp[i].value != ''){
var addr = inp[i].value.split(",");
tdata[inp[i].name] = addr;
}else {
}
req.reqdata("POST","process.cgi",tdata,saved_result);
- //console.log(JSON.stringify(tdata));
+ console.log(JSON.stringify(tdata));
return false;
}
function saved_result(data){
- //console.log(data);
+ document.getElementById("msgsaved").innerHTML = '<div class="w3-panel w3-green"><p>Configuration à été sauvegardée!</p></div>';
+ setTimeout("cleanmsg();",3000);
return false;
}
words: text.split(/[\w\u2019\'-]+/).length
};
}
+
+function cleanmsg(){
+ document.getElementById("msgsaved").innerHTML = '';
+ return false;
+}
-[% qcfg = dksdb.prepare("SELECT bj.id, bj.id_user, bj.senderemail, bj.msgoffer, bj.msgrequest, binv.invites FROM billjee bj
+[% qcfg = dksdb.prepare("SELECT bj.id, bj.id_user, bj.senderemail, bj.msgoffer, bj.msgrequest,bj.textdefaultoffer,bj.textdefaultrequest, binv.invites FROM billjee bj
left join (select id,string_agg(invites,',') as invites from (select id,json_array_elements_text(invites) as invites from billjee ) as x group by id ) binv on (bj.id=binv.id)
where bj.id_user= ?;") %]
[% rcfg = qcfg.execute(session.id) %]
<input type="hidden" id="id" name="ident_billjee_id" value="[% cfg.0.id %]"/>
<div class="w3-row">
<div class="w3-container ">
- <label for="senderemail" class="w3-label">Email (...@barreau.lu)</label>
+ <label for="senderemail" class="w3-label">Email (...@barreau.lu ou email de l'étude)</label>
<input type="text" class="w3-input w3-border" id="senderemail" name="billjee_senderemail" value="[% cfg.0.senderemail %]" />
</div>
- <div class="w3-container">
- <label for="eventmsg" class="w3-label">Message pour des demandes</label>
-
+
+ <div class="w3-container">
+ <label for="textdefaultrequest" class="w3-label">Text standard pour demandes de services</label>
+ <textarea style="height: 200px;" class="w3-input w3-border richeditarea" id="textdefaultrequest" name="billjee_textdefaultrequest" >[% cfg.0.textdefaultrequest %]</textarea>
+ </div>
+ <div class="w3-container">
+ <label for="textdefaultoffer" class="w3-label">Texte standard pour offres de disonibilités</label>
+ <textarea style="height: 200px;" class="w3-input w3-border richeditarea" id="textdefaultoffer" name="billjee_textdefaultoffer" >[% cfg.0.textdefaultoffer %]</textarea>
+ </div>
+ <div class="w3-container">
+ <label for="msgrequest" class="w3-label">Message e-mail standard des demandes de services</label>
<textarea style="height: 200px;" class="w3-input w3-border" id="msgrequest" name="billjee_msgrequest" >[% cfg.0.msgrequest %]</textarea>
-
</div>
<div class="w3-container">
- <label for="eventmsg" class="w3-label">Message pour des offres</label>
-
+ <label for="msgoffer" class="w3-label">Message e-mail standard pour des offres de disponibilités</label>
<textarea style="height: 200px;" class="w3-input w3-border" id="msgoffer" name="billjee_msgoffer" >[% cfg.0.msgoffer %]</textarea>
-
- </div>
+ </div>
<div class="w3-container">
- <label class="w3-label">visible par défault pour ...</label>
-
+ <label class="w3-label">visible par défault seulement pour ...</label>
<input class="w3-input selectedit" id="invites" name="billjee_invites" value="[% cfg.0.invites %]" placeholder="ajouter des emails...@barreau.lu" />
- <div class="w3-container w3-padding">
- <button class="w3-button w3-theme w3-xxlarge w3-block" onclick="save_settings();return false;">Sauvegarder</button>
+ </div>
+ <div class="w3-container w3-padding w3-row">
+ <div class="w3-col w3-third w3-padding">
+ <button class="w3-button w3-theme w3-block" onclick="save_settings();return false;">Sauvegarder</button>
+
+ </div>
+ <div class="w3-col w3-twothird">
+ <div id="msgsaved"></div>
+ </div>
+
</div>
+ </div>
</form>
- </div>
+ </div>
</div>
</div>
\ No newline at end of file
var userid="[% session.id %]";
-var onlyuser=false;
+var bltype="public";
var setnearest = true;
var onlyfuture = true;
-var courts = {
- "jp-luxembourg":"justices de paix - Luxembourg",
- "jp-esch":"justices de paix - Esch/Alzette",
- "jp-diekirch":"justices de paix - Diekirch",
- "ta-luxembourg":"tribunal d'arrondissement - Luxembourg",
- "ta-diekirch":"tribunal d'arrondissement - Diekirch"
-}
+
function initpage(){
loadcalendars();
//document.getElementById('pnlresult').innerHTML = '';
var start = document.getElementById("filterdatefrom").value;
var end = document.getElementById("filterdateto").value;
- req.reqdata("POST","process.cgi",{"fn":"getbilljeeevents","startdate":start,"enddate":end,"onlyfuture":onlyfuture},display_results);
+ req.reqdata("POST","process.cgi",{"fn":"getbilljeeevents","type":"public","startdate":start,"enddate":end,"onlyfuture":onlyfuture},display_results);
}
for (var i in data.events){
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].dayperiod + ' - ' + data.events[i].dspeventtype + ' de ' + data.events[i].surname + ' ' + data.events[i].prename +'</h4>'+
- '</div><div class="w3-container w3-theme-d4"><h5 id="event_'+data.events[i].id+'_info2">' + courts[data.events[i].court] + ((data.events[i].room)?' (' + data.events[i].room + ')':'') + '</h5>'+'</div>';
+ 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-orange':'w3-yellow')+'"><h5 id="event_'+data.events[i].id+'_info2">' + ((data.events[i].eventtype == 'offer')?'Offre de disponibilité':'Demande de service') + ((data.events[i].id_user != userid)?' de ' + data.events[i].surname + ' ' + data.events[i].prename:'') + '</h5>'+'</div>';
card += '<div class="w3-container">' + 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>';
<div class="w3-display-container" >
-
<div class="w3-container" style="margin: 0px; padding: 0px;">
[% INCLUDE block/toolbar.tt %]
<div class="w3-container" style="margin-top: 50px;" id="pnlsearch">
- <!-- <form id="frmsearch" name="frmsearch" action="" method="POST"> -->
[% INCLUDE block/calendar.tt %]
-
-
- <!-- <div class="w3-container">
- <label class="w3-label">Type</label>
- <select class="w3-select" id="filtertype" title="rien selectionné" multiple="multiple" name="filtertype" >
- <option value="offer">Offres</option>
- <option value="request">Demandes</option>
- <option value="myoffers">Mes billets</option>
- </select>
- </div> -->
- <!-- <div class="w3-container">
- <label class="w3-label">Tribunal</label>
- <select class="w3-select" id="filtercourt" title="rien selectionné" multiple="multiple" name="filtercourt" >
- <option value="jp-luxembourg">justices de paix - Luxembourg</option>
- <option value="jp-esch">justices de paix - Esch/Alzette</option>
- <option value="jp-diekirch">justices de paix - Diekirch</option>
- <option value="ta-luxembourg">tribunal d'arrondissement - Luxembourg</option>
- <option value="ta-diekirch">tribunal d'arrondissement - Diekirch</option>
- </select>
- </div> -->
- <!-- <div class="w3-container">
- <label class="w3-label">Chambre</label>
- <select class="w3-select" id="filterroom" title="rien selectionné" multiple="multiple" name="filterroom" >
-
- </select>
- </div> -->
- <!-- <div class="w3-container">
- <label class="w3-label">Avocat</label>
- <select class="w3-select" id="filterlawyer" title="rien selectionné" multiple="multiple" name="filterlawyer" >
-
- </select>
- </div> -->
- <!-- </form> -->
- <!-- <div class="w3-container w3-padding">
- <button type="button" class="w3-button w3-theme w3-xxlarge w3-block" onclick="search_data();">Rechercher</button>
- </div> -->
+
</div>
<div class="w3-container w3-margin" id="pnlresult" >
-
- <!-- <h2>données trouvées:</h2> -->
-
-
-
-
-
</div>
</div>
</div>
--- /dev/null
+
+
+var userid="[% session.id %]";
+var bltype="bookings";
+var setnearest=true;
+var onlyfuture = false;
+// var courts = {
+// "jp-luxembourg":"justices de paix - Luxembourg",
+// "jp-esch":"justices de paix - Esch/Alzette",
+// "jp-diekirch":"justices de paix - Diekirch",
+// "ta-luxembourg":"tribunal d'arrondissement - Luxembourg",
+// "ta-diekirch":"tribunal d'arrondissement - Diekirch"
+// }
+
+function initpage(){
+ loadcalendars();
+
+}
+
+function search_data(){
+ //document.getElementById('pnlresult').innerHTML = '';
+ var start = document.getElementById("filterdatefrom").value;
+ var end = document.getElementById("filterdateto").value;
+ req.reqdata("POST","process.cgi",{"fn":"getbilljeeevents","type":"bookings","startdate":start,"enddate":end,"onlyfuture":onlyfuture},display_results);
+
+}
+
+function display_results(data){
+
+ var res = document.getElementById('pnlresult');
+ res.innerHTML = '';
+ for (var i in data.events){
+
+ 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-orange':'w3-yellow')+'"><h5 id="event_'+data.events[i].id+'_info2">' + ((data.events[i].eventtype == 'offer')?'Offre de disponibilité':'Demande de service') + ((data.events[i].id_user != userid)?' de ' + data.events[i].surname + ' ' + data.events[i].prename:'') + '</h5>'+'</div>';
+ card += '<div class="w3-container">' + 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>';
+ //if (data.events.isdisabled)
+ //card += '<button class="w3-btn w3-theme-l2 w3-margin-right" ><img src="[% abspath %]images/icons/publish.svg" style="width: 24px;" /> Publier </button>';
+ //console.log("Dis: " + data.events[i].isdisabled) ;
+
+ card += '<button class="w3-btn w3-theme-l2 w3-margin-right" id="btnpublish_'+data.events[i].id+'" data-isdisabled="'+ ((data.events[i].isdisabled == 1)?1:'') + '" onclick="publish_event(\''+ data.events[i].id +'\');">';
+ if (data.events[i].isdisabled == "1"){
+ card += dlgstates.unpublish.btn;
+ } else {
+ card += dlgstates.publish.btn;
+ }
+
+ card += '</button>';
+ card += '<button class="w3-btn w3-red w3-text-black" onclick="delete_event(\''+ data.events[i].id +'\');"><img src="[% abspath %]images/icons/remove.svg" style="width: 24px;" /> Supprimer </button>';
+ card += '</footer>';
+ if (data.events[i].bookings){
+ var bibok = JSON.parse(data.events[i].bookings);
+ card += '<div class="w3-container">'
+ card += '<h4>Utilisateurs interessés</h4><ul class="w3-ul">';
+ for (var b in bibok){
+ card += '<li>'+ bibok[i].bookingtime + ' <a href="mailto:'+ bibok[i].senderemail+'">' + bibok[b].prename + ' - ' + bibok[b].surname +'</a></li>';
+ }
+ card += '</ul></div>';
+ }
+
+
+ card += '</div>';
+ res.innerHTML = res.innerHTML + card;
+ }
+//
+return false;
+}
+
+function edit_event(id){
+ parent.backoffice.loadpage('module/[% module %]/form_billet.html?id=' + id,'Editer Billjee');
+ return false;
+}
+
+
--- /dev/null
+<div class="w3-display-container" >
+
+ <div class="w3-container" style="margin: 0px; padding: 0px;">
+ [% INCLUDE block/toolbar.tt %]
+ <div class="w3-container" style="margin-top: 50px;" id="pnlsearch">
+ <!-- <form id="frmsearch" name="frmsearch" action="" method="POST"> -->
+ [% INCLUDE block/calendar.tt %]
+
+
+
+ </div>
+ <div class="w3-container w3-margin" id="pnlresult" >
+
+
+
+
+
+
+
+ </div>
+</div>
+</div>
+[% INCLUDE block/dlgdelete.tt %]
+[% INCLUDE block/dlgpublish.tt %]
\ No newline at end of file
var userid="[% session.id %]";
-var onlyuser=true;
+var bltype="user";
var setnearest=true;
var onlyfuture = false;
-var courts = {
- "jp-luxembourg":"justices de paix - Luxembourg",
- "jp-esch":"justices de paix - Esch/Alzette",
- "jp-diekirch":"justices de paix - Diekirch",
- "ta-luxembourg":"tribunal d'arrondissement - Luxembourg",
- "ta-diekirch":"tribunal d'arrondissement - Diekirch"
-}
+// var courts = {
+// "jp-luxembourg":"justices de paix - Luxembourg",
+// "jp-esch":"justices de paix - Esch/Alzette",
+// "jp-diekirch":"justices de paix - Diekirch",
+// "ta-luxembourg":"tribunal d'arrondissement - Luxembourg",
+// "ta-diekirch":"tribunal d'arrondissement - Diekirch"
+// }
function initpage(){
loadcalendars();
//document.getElementById('pnlresult').innerHTML = '';
var start = document.getElementById("filterdatefrom").value;
var end = document.getElementById("filterdateto").value;
- req.reqdata("POST","process.cgi",{"fn":"getbilljeeeventsbyuser","startdate":start,"enddate":end,"onlyfuture":onlyfuture},display_results);
+ req.reqdata("POST","process.cgi",{"fn":"getbilljeeevents","type":"user","startdate":start,"enddate":end,"onlyfuture":onlyfuture},display_results);
}
for (var i in data.events){
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].dayperiod + ' - ' + data.events[i].dspeventtype+ ((data.events[i].id_user != userid)?' de ' + data.events[i].surname + ' ' + data.events[i].prename:'') +'</h4>'+
- '</div><div class="w3-container w3-theme-d4"><h5 id="event_'+data.events[i].id+'_info2">' + courts[data.events[i].court] + ((data.events[i].room)?' (' + data.events[i].room + ')':'') + '</h5>'+'</div>';
+ 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-orange':'w3-yellow')+'"><h5 id="event_'+data.events[i].id+'_info2">' + ((data.events[i].eventtype == 'offer')?'Offre de disponibilité':'Demande de service') + ((data.events[i].id_user != userid)?' de ' + data.events[i].surname + ' ' + data.events[i].prename:'') + '</h5>'+'</div>';
card += '<div class="w3-container">' + data.events[i].msg + '</div>';
card += '<footer class="w3-container w3-right-align w3-padding-16">';
--- /dev/null
+
+var userid="[% session.id %]";
+var bltype="private";
+var setnearest = true;
+var onlyfuture = true;
+// var courts = {
+// "jp-luxembourg":"justices de paix - Luxembourg",
+// "jp-esch":"justices de paix - Esch/Alzette",
+// "jp-diekirch":"justices de paix - Diekirch",
+// "ta-luxembourg":"tribunal d'arrondissement - Luxembourg",
+// "ta-diekirch":"tribunal d'arrondissement - Diekirch"
+// }
+function initpage(){
+ loadcalendars();
+
+}
+
+function search_data(){
+ //document.getElementById('pnlresult').innerHTML = '';
+ var start = document.getElementById("filterdatefrom").value;
+ var end = document.getElementById("filterdateto").value;
+ req.reqdata("POST","process.cgi",{"fn":"getbilljeeevents","type":"private","startdate":start,"enddate":end,"onlyfuture":onlyfuture},display_results);
+
+}
+
+function display_results(data){
+
+ var res = document.getElementById('pnlresult');
+ res.innerHTML = '';
+ for (var i in data.events){
+
+ 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-orange':'w3-yellow')+'"><h5 id="event_'+data.events[i].id+'_info2">' + ((data.events[i].eventtype == 'offer')?'Offre de disponibilité':'Demande de service') + ((data.events[i].id_user != userid)?' de ' + data.events[i].surname + ' ' + data.events[i].prename:'') + '</h5>'+'</div>';
+ card += '<div class="w3-container">' + 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>';
+ card += '</div>';
+ res.innerHTML = res.innerHTML + card;
+ }
+
+ return false;
+}
+
+function edit_event(id){
+ //console.log(this);
+
+ parent.backoffice.loadpage('module/[% module %]/form_billet.html?id=' + id,'Editer Billjee');
+ return false;
+}
+
+
--- /dev/null
+<div class="w3-display-container" >
+
+ <div class="w3-container" style="margin: 0px; padding: 0px;">
+ [% INCLUDE block/toolbar.tt %]
+ <div class="w3-container" style="margin-top: 50px;" id="pnlsearch">
+ <!-- <form id="frmsearch" name="frmsearch" action="" method="POST"> -->
+ [% INCLUDE block/calendar.tt %]
+
+ </div>
+ <div class="w3-container w3-margin" id="pnlresult" >
+
+ </div>
+</div>
+</div>
+[% INCLUDE block/dlgcontactpublisher.tt %]
+
+
+
+
return false;
},
error: function(data){
-
console.log("Process Error detected!");
+ console.log(data);
+
},
async:true
});
}\r
\r
function delete_timesheet(id){\r
- if (confirm("êtes-vous sûre de supprimer cet horaire?")){\r
+ if (confirm("êtes-vous sûr de supprimer cet horaire?")){\r
//process_data({"fn":"delete_row","ident_id":id},delete_ts_callback);\r
}\r
}\r
[% ELSE %]\r
[% END %]\r
[% INCLUDE "module/$module/javascript.tt" %]\r
- <script src="[% abspath %]js/request.js"></script> \r
+ <script src="[% abspath %]js/request.js?v=1"></script> \r
<script src="[% abspath %]js/module_global.js"></script>\r
[% ELSE %]\r
<div class="alert alert-danger">\r
<div class="hover-bg"> \r
<a href="[% abspath %]backoffice/register.html" >\r
<div class="hover-text">\r
- <h4 style="color: red;font-weight: bold;">Vous êtes avocat?<br><span style="font-size: 11px; color: red;font-weight: bold; ">Registrez vous!</span></h4>\r
+ <h4 style="color: green;font-weight: bold;">Vous êtes avocat?<br><span style="font-size: 11px; color: green;font-weight: bold; ">Enregistrez-vous!</span></h4>\r
</div>\r
- <div class="default-text" style="width: 100%; text-align: center; color: red; font-weight: bold">Vous êtes avocat?<br/>Registrez vous!</div> \r
+ <div class="default-text" style="width: 100%; text-align: center; color: green; font-weight: bold">Vous êtes avocat?<br/>Enregistrez-vous!</div> \r
<img src="[% abspath %]img/user-plus.svg" class="img-responsive" style="height: 145px; " alt="Register User"> </a>\r
</div>\r
</div>\r
[% FOREACH cats = dksdb.query("select cat.link,cat.category from lawyercategories lcat \r
join categories cat on (lcat.id_category=cat.id) \r
join lawyercatalog lc on (lcat.id_catalog=lc.id)\r
-join appaccess ac on (ac.id_user=lc.id_user and ac.id_app='2' and lcat.selection=true and ac.publicenabled = true)\r
+-- join appaccess ac on (ac.id_user=lc.id_user and ac.id_app='2' and lcat.selection=true and ac.publicenabled = true)\r
group by cat.id order by category;") %]\r
<li><a href="[% abspath%]domaine/[% cats.link %].html" >[% cats.category %]</a></li>\r
\r