use File::Basename;
use Business::Tax::VAT::Validation;
use JSON::PP;
-
+use Data::Dumper;
use dksconfig qw/$sitecfg/;
use dksdb;
print JSON::PP::encode_json($html);
exit(0);
}
-$html->{p} = $p;
+#$html->{p} = $p;
# $html->{sess} =$sess;
#my $datapath = $ENV{"DOCUMENT_ROOT"}.dirname(dirname($scriptpath)).'/data/';
if (($cgi->request_method() eq "GET") || ($cgi->request_method() eq "POST")){
# }
if ($p->{fn} eq "saveform"){
- $html->{p} = $p;
+ #$html->{p} = $p;
$html->{result}->{ident} = $p->{ident};
#my $fn = $p->{fn};
delete $p->{ident};
else {
@sql = $db->create_ddl_update($p);
}
- $html->{sql} = \@sql;
+ #print Dumper(@sql);
+ #$html->{sql} = \@sql;
foreach my $s (@sql){
#if ($type eq "ins"){
$retid= $db->dbquerysorted($s);
use File::Basename qw/dirname basename/;
use Data::Dumper;
use File::Copy::Recursive qw(dircopy);
+use lib ('./lib/perl5');
+use lib ('./lib');
+use lib ('./');
+use dksconfig qw($sitecfg);
sub new {
my $class = shift;
my $output = shift;
my $inputdata = shift;
my $r = -1;
- print $self->{tmplpath}.'/'.$template.'.conf'."\n";
+ #print $self->{tmplpath}.'/'.$template.'.conf'."\n";
if (-e $self->{tmplpath}.'/'.$template.'.conf'){
$self->readpdfconfig($template,$inputdata);
- print Dumper($self->{template});
+ #print Dumper($self->{template});
}
- print Dumper($self->{pdf});
- print Dumper($self->{template});
+ #print "PDF:".Dumper($self->{pdf});
+ #print "TMPL:".Dumper($self->{template});
+ #print "SELF:".Dumper($self->{tmplpath});
my $tmpreportpath=$self->{tmplpath};
if (exists($self->{pdf}->{engine}) && ($self->{pdf}->{engine} eq "Template::Toolkit")){
$template = $self->createTTReport($template);
$tmpreportpath = $self->{tmp};
}
- if ((keys(%{$self}) > 0) && (-e $tmpreportpath.'/'.$template.'.html')){
+ #print $tmpreportpath.'/'.$template.'.html';
+ if ((keys(%{$self->{pdf}}) > 0) && (-e $tmpreportpath.'/'.$template.'.html')){
my $cmd = '"'.$self->{pdf}->{app}.'"';
if ($self->{pdf}->{bottom}){ $cmd .= " -B ".$self->{pdf}->{bottom}; }
if ($self->{pdf}->{left}){ $cmd .= " -L ".$self->{pdf}->{left}; }
}
$cmd .= ' "'.$tmpreportpath.'/'.$template.'.html"';
$cmd .= ' "'.$output.'"';
- print $cmd."\n";
+ #print $cmd."\n";
$r = system($cmd);
}
if (-e $output){
if (-d $self->{tmplpath}.'/'.$template){
dircopy($self->{tmplpath}.'/'.$template,$self->{tmp}.'/'.$template);
}
+
return $template.$$;
}
my $self = shift;
my $ttfile = shift;
my $outfile = shift;
+ $self->{template}->{dsn} = $sitecfg->{dsn};
+ $self->{template}->{dbuser} = $sitecfg->{dbuser};
+ $self->{template}->{dbpassword} = $sitecfg->{dbpassword};
+ #print Dumper($self->{template});
my $template = Template->new({INCLUDE_PATH => [dirname($ttfile)]});#,ENCODING => 'utf8'
$template->process(basename($ttfile),$self->{template},$outfile) || die "Template process failed: ", $template->error(), "\n";#,{binmode => ':utf8'}
}
open(CFG,$self->{tmplpath}.'/'.$template.'.conf');
while (my $l = <CFG>){
chomp($l);
- print $l."\n";
+ #print $l."\n";
$l =~ s/^\s+//;
if (($l =~ /^#/) || ($l eq "")) {next;}
if ($l =~ /\w+=.+/){
}
elsif (exists($p->{generate})){
print $cgi->header(-type=>"application/json", -charset => "utf-8");
- print Dumper($p->{data});
+ #print Dumper($p->{data});
my $data = JSON::PP::decode_json($p->{data});
my $reportpath =$sitecfg->{docroot}.$sitecfg->{apidatapath}.'reports/'.dirname($p->{generate});
my $tmppath = $sitecfg->{docroot}.$sitecfg->{apidatapath}.'tmp/';
my $output = $sitecfg->{docroot}.$sitecfg->{apidatapath}.'output/';
- print $reportpath."\n".$tmppath."\n".$output."\n".$output.dirname($p->{generate})."\n";
+ #print $reportpath."\n".$tmppath."\n".$output."\n".$output.dirname($p->{generate})."\n";
if (! -d $tmppath) { make_path($tmppath);}
if (! -d $output) { make_path($output);}
if (! -d $output.dirname($p->{generate})){make_path($output.dirname($p->{generate}));}
+ #print "OUTPUT:".$output."\n";
my $rep = pdfreport->new({tmplpath => $reportpath, tmp => $tmppath});
- my ($result,$file) = $rep->createpdf(basename($p->{generate}),$output.$p->{file},$data);
+ my ($result,$file) = $rep->createpdf(basename($p->{generate}),$output.dirname($p->{generate}).'/'.$p->{file},$data);
$html->{result}->{file} = dirname($p->{generate}).'/'.basename($file);
}
elsif (exists($p->{open})){
--- /dev/null
+html{box-sizing:border-box}*,:after,:before{box-sizing:inherit}html{-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}body{margin:0}article,aside,details,figcaption,figure,footer,header,main,menu,nav,section{display:block}summary{display:list-item}audio,canvas,progress,video{display:inline-block}progress{vertical-align:baseline}audio:not([controls]){display:none;height:0}[hidden],template{display:none}a{background-color:transparent}a:active,a:hover{outline-width:0}abbr[title]{border-bottom:none;text-decoration:underline;text-decoration:underline dotted}b,strong{font-weight:bolder}dfn{font-style:italic}mark{background:#ff0;color:#000}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}figure{margin:1em 40px}img{border-style:none}code,kbd,pre,samp{font-family:monospace,monospace;font-size:1em}hr{box-sizing:content-box;height:0;overflow:visible}button,input,optgroup,select,textarea{font:inherit;margin:0}optgroup{font-weight:700}button,input{overflow:visible}button,select{text-transform:none}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button}[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner,button::-moz-focus-inner{border-style:none;padding:0}[type=button]:-moz-focusring,[type=reset]:-moz-focusring,[type=submit]:-moz-focusring,button:-moz-focusring{outline:1px dotted ButtonText}fieldset{border:1px solid silver;margin:0 2px;padding:.35em .625em .75em}legend{color:inherit;display:table;max-width:100%;padding:0;white-space:normal}textarea{overflow:auto}[type=checkbox],[type=radio]{padding:0}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}body,html{font-family:Verdana,sans-serif;font-size:15px;line-height:1.5}html{overflow-x:hidden}h1{font-size:36px}h2{font-size:30px}h3{font-size:24px}h4{font-size:20px}h5{font-size:18px}h6{font-size:16px}.w3-serif{font-family:serif}h1,h2,h3,h4,h5,h6{font-family:"Segoe UI",Arial,sans-serif;font-weight:400;margin:0}.w3-wide{letter-spacing:4px}hr{border:0;border-top:1px solid #eee;margin:20px 0}.w3-btn-append-right{float:left;margin-right:0}.w3-image{max-width:100%;height:auto}img{vertical-align:middle}a{color:inherit}.w3-table,.w3-table-all{border-collapse:collapse;border-spacing:0;width:100%;display:table}.w3-table-all{border:1px solid #ccc}.w3-bordered tr,.w3-table-all tr{border-bottom:1px solid #ddd}.w3-striped tbody tr:nth-child(even){background-color:#f1f1f1}.w3-table-all tr:nth-child(odd){background-color:#fff}.w3-table-all tr:nth-child(even){background-color:#f1f1f1}.w3-hoverable tbody tr:hover,.w3-ul.w3-hoverable li:hover{background-color:#ccc}.w3-centered tr td,.w3-centered tr th{text-align:center}.w3-table td,.w3-table th,.w3-table-all td,.w3-table-all th{padding:8px 8px;display:table-cell;text-align:left;vertical-align:top}.w3-table td:first-child,.w3-table th:first-child,.w3-table-all td:first-child,.w3-table-all th:first-child{padding-left:16px}.w3-btn,.w3-button{border:none;display:inline-block;padding:8px 16px;vertical-align:middle;overflow:hidden;text-decoration:none;color:inherit;background-color:inherit;text-align:center;cursor:pointer;white-space:nowrap}.w3-btn:hover{box-shadow:0 8px 16px 0 rgba(0,0,0,.2),0 6px 20px 0 rgba(0,0,0,.19)}.w3-btn,.w3-button{-webkit-touch-callout:none;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.w3-btn:disabled,.w3-button:disabled,.w3-disabled{cursor:not-allowed;opacity:.3}.w3-disabled *,:disabled *{pointer-events:none}.w3-btn.w3-disabled:hover,.w3-btn:disabled:hover{box-shadow:none}.w3-badge,.w3-tag{background-color:#000;color:#fff;display:inline-block;padding-left:8px;padding-right:8px;text-align:center}.w3-badge{border-radius:50%}.w3-ul{list-style-type:none;padding:0;margin:0}.w3-ul li{padding:8px 16px;border-bottom:1px solid #ddd}.w3-ul li:last-child{border-bottom:none}.w3-display-container,.w3-tooltip{position:relative}.w3-tooltip .w3-text{display:none}.w3-tooltip:hover .w3-text{display:inline-block}.w3-ripple:active{opacity:.5}.w3-ripple{transition:opacity 0s}.w3-input{padding:4px;display:block;border:1px solid #ccc;width:100%;background-color:#e8f0fe}.w3-input-append{padding:4px;display:block;border:1px solid #ccc;float:left;background-color:#e8f0fe}.w3-select{padding:4px 0;display:block;width:100%;border:1px solid #ccc;background-color:#e8f0fe}.w3-dropdown-click,.w3-dropdown-hover{position:relative;display:inline-block;cursor:pointer}.w3-dropdown-hover:hover .w3-dropdown-content{display:block}.w3-dropdown-click:hover,.w3-dropdown-hover:first-child{background-color:#ccc;color:#000}.w3-dropdown-click:hover>.w3-button:first-child,.w3-dropdown-hover: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-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-click,.w3-bar-block .w3-dropdown-hover{width:100%}.w3-bar-block .w3-dropdown-click .w3-dropdown-content,.w3-bar-block .w3-dropdown-hover .w3-dropdown-content{min-width:100%}.w3-bar-block .w3-dropdown-click .w3-button,.w3-bar-block .w3-dropdown-hover .w3-button{width:100%;text-align:left;padding:8px 16px}#main,.w3-main{transition:margin-left .4s}.w3-modal{z-index:3;display:none;padding-top:100px;position:fixed;left:0;top:0;width:100%;height:100%;overflow:auto;background-color:#000;background-color:rgba(0,0,0,.4)}.w3-modal-content{margin:auto;background-color:#fff;position:relative;padding:0;outline:0;width:600px}.w3-bar{width:100%;overflow:hidden}.w3-center .w3-bar{display:inline-block;width:auto}.w3-bar .w3-bar-item{padding:8px 16px;float:left;width:auto;border:none;display:block;outline:0}.w3-bar .w3-dropdown-click,.w3-bar .w3-dropdown-hover{position:static;float:left}.w3-bar .w3-button{white-space:normal}.w3-bar-block .w3-bar-item{width:100%;display:block;padding:8px 16px;text-align:left;border:none;white-space:normal;float:none;outline:0}.w3-bar-block.w3-center .w3-bar-item{text-align:center}.w3-block{display:block;width:100%}.w3-responsive{display:block;overflow-x:auto}.w3-bar:after,.w3-bar:before,.w3-cell-row:after,.w3-cell-row:before,.w3-clear:after,.w3-clear:before,.w3-container:after,.w3-container:before,.w3-panel:after,.w3-panel:before,.w3-row-padding:after,.w3-row-padding:before,.w3-row:after,.w3-row:before{content:"";display:table;clear:both}.w3-col,.w3-fifth,.w3-fourfifth,.w3-half,.w3-quarter,.w3-third,.w3-threefifth,.w3-threequarter,.w3-twofifth,.w3-twothird{float:left;width:100%}.w3-col.s1{width:8.33333%}.w3-col.s2{width:16.66666%}.w3-col.s3{width:24.99999%}.w3-col.s4{width:33.33333%}.w3-col.s5{width:41.66666%}.w3-col.s6{width:49.99999%}.w3-col.s7{width:58.33333%}.w3-col.s8{width:66.66666%}.w3-col.s9{width:74.99999%}.w3-col.s10{width:83.33333%}.w3-col.s11{width:91.66666%}.w3-col.s12{width:99.99999%}@media (min-width:601px){.w3-col.m1{width:8.33333%}.w3-col.m2{width:16.66666%}.w3-col.m3,.w3-quarter{width:24.99999%}.w3-col.m4,.w3-third{width:33.33333%}.w3-fifth{width:20%;min-width:100px}.w3-col.m5{width:41.66666%}.w3-col.m6,.w3-half{width:49.99999%}.w3-col.m7{width:58.33333%}.w3-col.m8,.w3-twothird{width:66.66666%}.w3-col.m9,.w3-threequarter{width:74.99999%}.w3-col.m10{width:83.33333%}.w3-col.m11{width:91.66666%}.w3-col.m12{width:99.99999%}.w3-twofifth{width:40%}.w3-threefifth{width:60%}.w3-fourfifth{width:80%}}@media (min-width:993px){.w3-col.l1{width:8.33333%}.w3-col.l2{width:16.66666%}.w3-col.l3{width:24.99999%}.w3-col.l4{width:33.33333%}.w3-col.l5{width:41.66666%}.w3-col.l6{width:49.99999%}.w3-col.l7{width:58.33333%}.w3-col.l8{width:66.66666%}.w3-col.l9{width:74.99999%}.w3-col.l10{width:83.33333%}.w3-col.l11{width:91.66666%}.w3-col.l12{width:99.99999%}}.w3-rest{overflow:hidden}.w3-stretch{margin-left:-16px;margin-right:-16px}.w3-auto,.w3-content{margin-left:auto;margin-right:auto}.w3-content{max-width:980px}.w3-auto{max-width:1140px}.w3-cell-row{display:table;width:100%}.w3-cell{display:table-cell}.w3-cell-top{vertical-align:top}.w3-cell-middle{vertical-align:middle}.w3-cell-bottom{vertical-align:bottom}.w3-hide{display:none!important}.w3-show,.w3-show-block{display:block!important}.w3-show-inline-block{display:inline-block!important}@media (max-width:1205px){.w3-auto{max-width:95%}}@media (max-width:600px){.w3-modal-content{margin:0 10px;width:auto!important}.w3-modal{padding-top:30px}.w3-dropdown-click.w3-mobile .w3-dropdown-content,.w3-dropdown-hover.w3-mobile .w3-dropdown-content{position:relative}.w3-hide-small{display:none!important}.w3-mobile{display:block;width:100%!important}.w3-bar-item.w3-mobile,.w3-dropdown-click.w3-mobile,.w3-dropdown-hover.w3-mobile{text-align:center}.w3-dropdown-click.w3-mobile,.w3-dropdown-click.w3-mobile .w3-btn,.w3-dropdown-click.w3-mobile .w3-button,.w3-dropdown-hover.w3-mobile,.w3-dropdown-hover.w3-mobile .w3-btn,.w3-dropdown-hover.w3-mobile .w3-button{width:100%}}@media (max-width:768px){.w3-modal-content{width:500px}.w3-modal{padding-top:50px}}@media (min-width:993px){.w3-modal-content{width:900px}.w3-hide-large{display:none!important}.w3-sidebar.w3-collapse{display:block!important}}@media (max-width:992px) and (min-width:601px){.w3-hide-medium{display:none!important}}@media (max-width:992px){.w3-sidebar.w3-collapse{display:none}.w3-main{margin-left:0!important;margin-right:0!important}.w3-auto{max-width:100%}}.w3-bottom,.w3-top{position:fixed;width:100%;z-index:1}.w3-top{top:0}.w3-bottom{bottom:0}.w3-overlay{position:fixed;display:none;width:100%;height:100%;top:0;left:0;right:0;bottom:0;background-color:rgba(0,0,0,.5);z-index:2}.w3-display-topleft{position:absolute;left:0;top:0}.w3-display-topright{position:absolute;right:0;top:0}.w3-display-bottomleft{position:absolute;left:0;bottom:0}.w3-display-bottomright{position:absolute;right:0;bottom:0}.w3-display-middle{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);-ms-transform:translate(-50%,-50%)}.w3-display-left{position:absolute;top:50%;left:0;transform:translate(0,-50%);-ms-transform:translate(0,-50%)}.w3-display-right{position:absolute;top:50%;right:0;transform:translate(0,-50%);-ms-transform:translate(0,-50%)}.w3-display-topmiddle{position:absolute;left:50%;top:0;transform:translate(-50%,0);-ms-transform:translate(-50%,0)}.w3-display-bottommiddle{position:absolute;left:50%;bottom:0;transform:translate(-50%,0);-ms-transform:translate(-50%,0)}.w3-display-container:hover .w3-display-hover{display:block}.w3-display-container:hover span.w3-display-hover{display:inline-block}.w3-display-hover{display:none}.w3-display-position{position:absolute}.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-col,.w3-row-padding>.w3-half,.w3-row-padding>.w3-quarter,.w3-row-padding>.w3-third,.w3-row-padding>.w3-threequarter,.w3-row-padding>.w3-twothird{padding:0 8px}.w3-container,.w3-panel{padding:.01em 8px}.w3-panel{margin-top:8px;margin-bottom:8px}.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:#dc143c;background-color:#f1f1f1;padding-left:4px;padding-right:4px;font-size:110%}.w3-card,.w3-card-2{box-shadow:0 2px 5px 0 rgba(0,0,0,.16)}.w3-card-4,.w3-hover-shadow:hover{box-shadow:0 4px 10px 0 rgba(0,0,0,.2),0 4px 20px 0 rgba(0,0,0,.19)}.w3-spin{animation:w3-spin 2s infinite linear}@keyframes w3-spin{0%{transform:rotate(0)}100%{transform:rotate(359deg)}}.w3-animate-fading{animation:fading 10s infinite}@keyframes fading{0%{opacity:0}50%{opacity:1}100%{opacity:0}}.w3-animate-opacity{animation:opac .8s}@keyframes opac{from{opacity:0}to{opacity:1}}.w3-animate-top{position:relative;animation:animatetop .4s}@keyframes animatetop{from{top:-300px;opacity:0}to{top:0;opacity:1}}.w3-animate-left{position:relative;animation:animateleft .4s}@keyframes animateleft{from{left:-300px;opacity:0}to{left:0;opacity:1}}.w3-animate-right{position:relative;animation:animateright .4s}@keyframes animateright{from{right:-300px;opacity:0}to{right:0;opacity:1}}.w3-animate-bottom{position:relative;animation:animatebottom .4s}@keyframes animatebottom{from{bottom:-300px;opacity:0}to{bottom:0;opacity:1}}.w3-animate-zoom{animation:animatezoom .6s}@keyframes animatezoom{from{transform:scale(0)}to{transform:scale(1)}}.w3-animate-input{transition:width .4s ease-in-out}.w3-animate-input:focus{width:100%!important}.w3-hover-opacity:hover,.w3-opacity{opacity:.6}.w3-hover-opacity-off:hover,.w3-opacity-off{opacity:1}.w3-opacity-max{opacity:.25}.w3-opacity-min{opacity:.75}.w3-grayscale-max,.w3-greyscale-max,.w3-hover-grayscale:hover,.w3-hover-greyscale:hover{filter:grayscale(100%)}.w3-grayscale,.w3-greyscale{filter:grayscale(75%)}.w3-grayscale-min,.w3-greyscale-min{filter:grayscale(50%)}.w3-sepia{filter:sepia(75%)}.w3-hover-sepia:hover,.w3-sepia-max{filter:sepia(100%)}.w3-sepia-min{filter:sepia(50%)}.w3-tiny{font-size:10px!important}.w3-small{font-size:12px!important}.w3-medium{font-size:15px!important}.w3-large{font-size:18px!important}.w3-xlarge{font-size:24px!important}.w3-xxlarge{font-size:36px!important}.w3-xxxlarge{font-size:48px!important}.w3-jumbo{font-size:64px!important}.w3-left-align{text-align:left!important}.w3-right-align{text-align:right!important}.w3-justify{text-align:justify!important}.w3-center{text-align:center!important}.w3-border-0{border:0!important}.w3-border{border:1px solid #ccc!important}.w3-border-top{border-top:1px solid #ccc!important}.w3-border-bottom{border-bottom:1px solid #ccc!important}.w3-border-left{border-left:1px solid #ccc!important}.w3-border-right{border-right:1px solid #ccc!important}.w3-topbar{border-top:6px solid #ccc!important}.w3-bottombar{border-bottom:6px solid #ccc!important}.w3-leftbar{border-left:6px solid #ccc!important}.w3-rightbar{border-right:6px solid #ccc!important}.w3-code,.w3-section{margin-top:2px!important;margin-bottom:16px!important}.w3-margin{margin:16px!important}.w3-margin-top{margin-top:16px!important}.w3-margin-bottom{margin-bottom:16px!important}.w3-margin-left{margin-left:16px!important}.w3-margin-right{margin-right:16px!important}.w3-padding-small{padding:4px 8px!important}.w3-padding{padding:8px 16px!important}.w3-padding-large{padding:12px 24px!important}.w3-padding-16{padding-top:16px!important;padding-bottom:16px!important}.w3-padding-24{padding-top:24px!important;padding-bottom:24px!important}.w3-padding-32{padding-top:32px!important;padding-bottom:32px!important}.w3-padding-48{padding-top:48px!important;padding-bottom:48px!important}.w3-padding-64{padding-top:64px!important;padding-bottom:64px!important}.w3-left{float:left!important}.w3-right{float:right!important}.w3-button:hover{color:#000!important;background-color:#ccc!important}.w3-hover-none:hover,.w3-transparent{background-color:transparent!important}.w3-hover-none:hover{box-shadow:none!important}.w3-amber,.w3-hover-amber:hover{color:#000!important;background-color:#ffc107!important}.w3-aqua,.w3-hover-aqua:hover{color:#000!important;background-color:#0ff!important}.w3-blue,.w3-hover-blue:hover{color:#fff!important;background-color:#2196f3!important}.w3-hover-light-blue:hover,.w3-light-blue{color:#000!important;background-color:#87ceeb!important}.w3-brown,.w3-hover-brown:hover{color:#fff!important;background-color:#795548!important}.w3-cyan,.w3-hover-cyan:hover{color:#000!important;background-color:#00bcd4!important}.w3-blue-grey,.w3-hover-blue-grey:hover{color:#fff!important;background-color:#607d8b!important}.w3-green,.w3-hover-green:hover{color:#fff!important;background-color:#4caf50!important}.w3-hover-light-green:hover,.w3-light-green{color:#000!important;background-color:#8bc34a!important}.w3-hover-indigo:hover,.w3-indigo{color:#fff!important;background-color:#3f51b5!important}.w3-hover-khaki:hover,.w3-khaki{color:#000!important;background-color:khaki!important}.w3-hover-lime:hover,.w3-lime{color:#000!important;background-color:#cddc39!important}.w3-hover-orange:hover,.w3-orange{color:#000!important;background-color:#ff9800!important}.w3-deep-orange,.w3-hover-deep-orange:hover{color:#fff!important;background-color:#ff5722!important}.w3-hover-pink:hover,.w3-pink{color:#fff!important;background-color:#e91e63!important}.w3-hover-purple:hover,.w3-purple{color:#fff!important;background-color:#9c27b0!important}.w3-deep-purple,.w3-hover-deep-purple:hover{color:#fff!important;background-color:#673ab7!important}.w3-hover-red:hover,.w3-red{color:#fff!important;background-color:#f44336!important}.w3-hover-sand:hover,.w3-sand{color:#000!important;background-color:#fdf5e6!important}.w3-hover-teal:hover,.w3-teal{color:#fff!important;background-color:#009688!important}.w3-hover-yellow:hover,.w3-yellow{color:#000!important;background-color:#ffeb3b!important}.w3-hover-white:hover,.w3-white{color:#000!important;background-color:#fff!important}.w3-black,.w3-hover-black:hover{color:#fff!important;background-color:#000!important}.w3-grey,.w3-hover-grey:hover{color:#000!important;background-color:#9e9e9e!important}.w3-hover-light-grey:hover,.w3-light-grey{color:#000!important;background-color:#f1f1f1!important}.w3-dark-grey,.w3-hover-dark-grey:hover{color:#fff!important;background-color:#616161!important}.w3-hover-pale-red:hover,.w3-pale-red{color:#000!important;background-color:#ffe7e7!important}.w3-hover-pale-green:hover,.w3-pale-green{color:#000!important;background-color:#e7ffe7!important}.w3-hover-pale-yellow:hover,.w3-pale-yellow{color:#000!important;background-color:#ffffd7!important}.w3-hover-pale-blue:hover,.w3-pale-blue{color:#000!important;background-color:#e7ffff!important}.w3-text-align-right{text-align:right}.w3-hover-text-amber:hover,.w3-text-amber{color:#ffc107!important}.w3-hover-text-aqua:hover,.w3-text-aqua{color:#0ff!important}.w3-hover-text-blue:hover,.w3-text-blue{color:#2196f3!important}.w3-hover-text-light-blue:hover,.w3-text-light-blue{color:#87ceeb!important}.w3-hover-text-brown:hover,.w3-text-brown{color:#795548!important}.w3-hover-text-cyan:hover,.w3-text-cyan{color:#00bcd4!important}.w3-hover-text-blue-grey:hover,.w3-text-blue-grey{color:#607d8b!important}.w3-hover-text-green:hover,.w3-text-green{color:#4caf50!important}.w3-hover-text-light-green:hover,.w3-text-light-green{color:#8bc34a!important}.w3-hover-text-indigo:hover,.w3-text-indigo{color:#3f51b5!important}.w3-hover-text-khaki:hover,.w3-text-khaki{color:#b4aa50!important}.w3-hover-text-lime:hover,.w3-text-lime{color:#cddc39!important}.w3-hover-text-orange:hover,.w3-text-orange{color:#ff9800!important}.w3-hover-text-deep-orange:hover,.w3-text-deep-orange{color:#ff5722!important}.w3-hover-text-pink:hover,.w3-text-pink{color:#e91e63!important}.w3-hover-text-purple:hover,.w3-text-purple{color:#9c27b0!important}.w3-hover-text-deep-purple:hover,.w3-text-deep-purple{color:#673ab7!important}.w3-hover-text-red:hover,.w3-text-red{color:#f44336!important}.w3-hover-text-sand:hover,.w3-text-sand{color:#fdf5e6!important}.w3-hover-text-teal:hover,.w3-text-teal{color:#009688!important}.w3-hover-text-yellow:hover,.w3-text-yellow{color:#d2be0e!important}.w3-hover-text-white:hover,.w3-text-white{color:#fff!important}.w3-hover-text-black:hover,.w3-text-black{color:#000!important}.w3-hover-text-grey:hover,.w3-text-grey{color:#757575!important}.w3-hover-text-light-grey:hover,.w3-text-light-grey{color:#f1f1f1!important}.w3-hover-text-dark-grey:hover,.w3-text-dark-grey{color:#3a3a3a!important}.w3-border-amber,.w3-hover-border-amber:hover{border-color:#ffc107!important}.w3-border-aqua,.w3-hover-border-aqua:hover{border-color:#0ff!important}.w3-border-blue,.w3-hover-border-blue:hover{border-color:#2196f3!important}.w3-border-light-blue,.w3-hover-border-light-blue:hover{border-color:#87ceeb!important}.w3-border-brown,.w3-hover-border-brown:hover{border-color:#795548!important}.w3-border-cyan,.w3-hover-border-cyan:hover{border-color:#00bcd4!important}.w3-border-blue-grey,.w3-hover-blue-grey:hover{border-color:#607d8b!important}.w3-border-green,.w3-hover-border-green:hover{border-color:#4caf50!important}.w3-border-light-green,.w3-hover-border-light-green:hover{border-color:#8bc34a!important}.w3-border-indigo,.w3-hover-border-indigo:hover{border-color:#3f51b5!important}.w3-border-khaki,.w3-hover-border-khaki:hover{border-color:khaki!important}.w3-border-lime,.w3-hover-border-lime:hover{border-color:#cddc39!important}.w3-border-orange,.w3-hover-border-orange:hover{border-color:#ff9800!important}.w3-border-deep-orange,.w3-hover-border-deep-orange:hover{border-color:#ff5722!important}.w3-border-pink,.w3-hover-border-pink:hover{border-color:#e91e63!important}.w3-border-purple,.w3-hover-border-purple:hover{border-color:#9c27b0!important}.w3-border-deep-purple,.w3-hover-border-deep-purple:hover{border-color:#673ab7!important}.w3-border-red,.w3-hover-border-red:hover{border-color:#f44336!important}.w3-border-sand,.w3-hover-border-sand:hover{border-color:#fdf5e6!important}.w3-border-teal,.w3-hover-border-teal:hover{border-color:#009688!important}.w3-border-yellow,.w3-hover-border-yellow:hover{border-color:#ffeb3b!important}.w3-border-white,.w3-hover-border-white:hover{border-color:#fff!important}.w3-border-black,.w3-hover-border-black:hover{border-color:#000!important}.w3-border-grey,.w3-hover-border-grey:hover{border-color:#9e9e9e!important}.w3-border-light-grey,.w3-hover-border-light-grey:hover{border-color:#f1f1f1!important}.w3-border-dark-grey,.w3-hover-border-dark-grey:hover{border-color:#616161!important}.w3-border-pale-red,.w3-hover-border-pale-red:hover{border-color:#ffe7e7!important}.w3-border-pale-green,.w3-hover-border-pale-green:hover{border-color:#e7ffe7!important}.w3-border-pale-yellow,.w3-hover-border-pale-yellow:hover{border-color:#ffffd7!important}.w3-border-pale-blue,.w3-hover-border-pale-blue:hover{border-color:#e7ffff!important}.w3-theme-l5{color:#000!important;background-color:#f6f8fc!important}.w3-theme-l4{color:#000!important;background-color:#e1e9f6!important}.w3-theme-l3{color:#000!important;background-color:#c3d3ed!important}.w3-theme-l2{color:#000!important;background-color:#a5bee4!important}.w3-theme-l1{color:#fff!important;background-color:#88a8db!important}.w3-theme-d1{color:#fff!important;background-color:#5180cb!important}.w3-theme-d2{color:#fff!important;background-color:#3a6fc3!important}.w3-theme-d3{color:#fff!important;background-color:#3361aa!important}.w3-theme-d4{color:#fff!important;background-color:#2c5392!important}.w3-theme-d5{color:#fff!important;background-color:#24457a!important}.w3-theme-light{color:#000!important;background-color:#f6f8fc!important}.w3-theme-dark{color:#fff!important;background-color:#24457a!important}.w3-theme-action{color:#fff!important;background-color:#24457a!important}.w3-theme{color:#fff!important;background-color:#6a92d3!important}.w3-text-theme{color:#6a92d3!important}.w3-border-theme{border-color:#6a92d3!important}.w3-hover-theme:hover{color:#fff!important;background-color:#6a92d3!important}.w3-hover-text-theme:hover{color:#6a92d3!important}.w3-hover-border-theme:hover{border-color:#6a92d3!important}.w3-label{color:#999696}@media (max-width:768px){#sidebar{display:none}#main{margin-left:0}}.w3-select{display:block;font-size:16px;font-family:sans-serif;font-weight:400;color:#444;line-height:1.3;padding:.6em 1.4em .5em .8em;width:100%;max-width:100%;box-sizing:border-box;margin:0;border-bottom:1px solid #aaa;box-shadow:0 1px 0 1px rgba(0,0,0,.04);-moz-appearance:none;-webkit-appearance:none;appearance:none;background-color:#e8f0fe;background-image:url('data:image/svg+xml;charset=US-ASCII,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%22292.4%22%20height%3D%22292.4%22%3E%3Cpath%20fill%3D%22%23000%22%20d%3D%22M287%2069.4a17.6%2017.6%200%200%200-13-5.4H18.4c-5%200-9.3%201.8-12.9%205.4A17.6%2017.6%200%200%200%200%2082.2c0%205%201.8%209.3%205.4%2012.9l128%20127.9c3.6%203.6%207.8%205.4%2012.8%205.4s9.2-1.8%2012.8-5.4L287%2095c3.5-3.5%205.4-7.8%205.4-12.8%200-5-1.9-9.2-5.5-12.8z%22%2F%3E%3C%2Fsvg%3E'),linear-gradient(to bottom,#e8f0fe 0,#e8f0fe 100%);background-repeat:no-repeat,repeat;background-position:right .7em top 50%,0 0;background-size:.65em auto,100%}.w3-select::-ms-expand{display:none}.w3-select:hover{border-color:#888}.w3-select:focus{border-color:#aaa;box-shadow:0 0 1px 1px #6a92d3;box-shadow:0 0 0 1px -moz-mac-focusring;color:#222;outline:0}.w3-select option{font-weight:400}.w3-table{table-layout:fixed}.w3-text-line-through{text-decoration:line-through}#snackbar{visibility:hidden;min-width:250px;margin-left:-125px;background-color:#333;color:#fff;text-align:center;padding:16px;position:fixed;z-index:1;left:50%;bottom:30px;font-size:17px}#snackbar.show{visibility:visible;-webkit-animation:fadein .5s,fadeout .5s 2.5s;animation:fadein .5s,fadeout .5s 2.5s}@-webkit-keyframes fadein{from{bottom:0;opacity:0}to{bottom:30px;opacity:1}}@keyframes fadein{from{bottom:0;opacity:0}to{bottom:30px;opacity:1}}@-webkit-keyframes fadeout{from{bottom:30px;opacity:1}to{bottom:0;opacity:0}}@keyframes fadeout{from{bottom:30px;opacity:1}to{bottom:0;opacity:0}}.tabulator-header-filter>input{background-color:#e8f0fe;border:1px solid #ccc;font-weight:400}.w3-readonly{pointer-events:none;display:block;border:0;width:100%;background-color:#fff}.right-side-bg{background:url(../img/bg1.jpg);background-size:cover;min-height:100vh}
\ No newline at end of file
</script></head>
<body style="border:0; margin: 0;" onload="subst()">
<table style="width: 100%;" >
- <tr><td colspan="2" style="text-align: center;"><b>SAFFRAN IT Consulting s.à r.l.</b> ist eine Handelsbezeichnung von<br/> <b>DKS</b>, Société à responsabilité limitée, <b>RC</b> B168572 - <b>TVA:</b> LU 2537 5617 - <b>No. Aut:</b> 10024550 / 0<br/>
- <b>IBAN:</b> LU25 0020 1100 2783 8700; <b>BIC:</b> BILLLULL</td></tr>
+ <tr><td colspan="2" style="text-align: center;"><span class="date"></span> <span class="time"></span></td></tr>
<tr>
<td></td>
<td style="text-align:right">
- Seite <span class="page"></span>/<span class="topage"></span>
+ Page <span class="page"></span>/<span class="topage"></span>
</td>
</tr>
</table>
+[% USE DBI %]
+[% USE dksdb = DBI(dsn, dbuser, dbpassword) %]
+[% qgcompany = dksdb.prepare("select * from companies WHERE schemata= ?") %]
+[% gcompany = qgcompany.execute(schemata) %]
+[% cmp = gcompany.get_all() %]
+[% qreport = dksdb.prepare("select to_char(startdate,'DD.MM.YYYY') as startdate, to_char(enddate,'DD.MM.YYYY') as enddate from ${schemata}.reportperiod WHERE id= ?") %]
+[% grep = qreport.execute(id_reportperiod) %]
+[% rep = grep.get_all() %]
<!DOCTYPE html>
<html><head>
<meta charset="UTF-8">
</head><body style="border:0; margin: 0;" o>
<table style="width: 100%;">
<tr>
- <td style="width: 150mm; margin-top:5mm;"><img src="ttinvoice/sitc.png" style="height: 35mm;"/></td>
+ <td style="width: 150mm; margin-top:5mm;">
+ <h2>Plan d'Organisation du Travail<h2>
+ <h4>du [% rep.0.startdate %] au [% rep.0.enddate %]</h4>
+ </td>
<td style="width: 60mm;text-align: right;">
<div style="text-align: left;width: 60mm; font-size: 12pt;font: sans;">
- <b>SAFFRAN IT Consulting S.Ã r.l.</b><br/>
- 4, rue Principale<br/>
- L-3770 Tétange<br/><br/>
- Tel: +352 691 504 574<br/>
- info@saffran.lu / www.saffran.lu<br/>
+ <b>[% cmp.0.company %] [% cmp.0.socialtype %]</b><br/>
+ [% cmp.0.address %]<br/>
+ [% cmp.0.zip %] [% cmp.0.city%]<br/><br/>
+ <br/>
+ TVA: [% comp.0.vatnumber %]<br/>
</div>
</td>
<tr><td style="text-align: left;"></td><td></td></tr>
</style>
</head>
<body>
- [% qginv = dksdb.prepare("select * from vw_invoiceoutlist WHERE id= ?") %]
- [% ginv = qginv.execute(id_invoice) %]
- [% inv = ginv.get_all() %]
- <table style="width: 100%;">
- <tr>
- <td style="width: 60%;"></td>
- <td style="width: 40%;font-size: 30pt; font-weight: bold;">Rechnung</td>
- </tr>
- <tr>
- <td style="vertical-align: top; font-size: 25pt;">
- [% inv.0.receipient %]<br/>[% inv.0.address %]<br>[% inv.0.zip %] [% inv.0.city %]<br/>[% inv.0.country %]<br/>
- </td>
- <td >
- <table style="border: 1px solid black; width: 100%; font-size: 18pt;">
- <tr> <td class="invdatalbl">Rechnungs-Nr.</td><td class="invdataval">[% inv.0.reference %]</td></tr>
- <tr> <td class="invdatalbl">Datum</td><td class="invdataval">[% inv.0.invoicedate %]</td> </tr>
- <tr> <td class="invdatalbl">Fälligkeit</td><td class="invdataval">[% inv.0.deadlinedate %]</td> </tr>
- <tr> <td class="invdatalbl">Kundennummer</td><td class="invdataval">[% inv.0.ident %]</td> </tr>
- </table>
- </td>
- </tr>
-
- </table>
- [% qbookings = dksdb.prepare("SELECT id, id_invoice, quantity, unit, description, unitamount, netamount, taxamount, taxpercent, totalamount FROM vw_bookingoutlist where id_invoice= ?;") %]
-
- <table id="tbl_products" >
+ <table>
<thead>
- <tr>
- <th>Produkt / Dienstleistung</th>
- <th style="width: 25mm;" colspan="2">Anz.</th>
- <th style="width: 25mm;">Einzel-Preis</th>
- <th style="width: 25mm;">Netto-Summe</th>
- </tr>
+ <tr><td></td></tr>
</thead>
<tbody>
- [% FOREACH book = qbookings.execute(id_invoice) %]
- <tr>
- <td>[% book.description %]</td>
- <td class="right" style="width: 10mm;">[% book.quantity %]</td>
- <td style="width: 15mm;">[% book.unit %]</td>
- <td class="right">[% book.unitamount %] €</td>
- <td class="right">[% book.netamount %] €</td>
- </tr>
- [% END %]
-
+ <tr><td></td></tr>
</tbody>
- <tfoot>
- <tr>
- <th colspan="4" class="footer right">Total Netto</td>
- <td colspan="2" class="right" >[% inv.0.totalnet %] €</td>
- </tr>
- <tr>
- <th colspan="4" class="footer right">MwSt. (17%)</td>
- <td colspan="2" class="right" style="font-style: italic;">[% inv.0.totalvat %] €</td>
- </tr>
- <tr>
- <th colspan="4" class="footer right">Gesamt zu bezahlen:</td>
- <td colspan="2" class="right" style="font-weight: bold;">[% inv.0.totalgross %] €</td>
- </tr>
- </tfoot>
</table>
- <div style="width: 100%; padding-left: 100mm;margin-top: 10mm;">Nous vous prions de virer le montant ci-dessus au compte<br>
- <b>LU25 0020 1100 2783 8700 (BILLLULL)</b></div>
</body>
</html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html>
+<html>
+<head>
+<meta charset="UTF-8">
+<script>
+function subst() {
+ var vars = {};
+ var query_strings_from_url = document.location.search.substring(1).split('&');
+ for (var query_string in query_strings_from_url) {
+ if (query_strings_from_url.hasOwnProperty(query_string)) {
+ var temp_var = query_strings_from_url[query_string].split('=', 2);
+ vars[temp_var[0]] = decodeURI(temp_var[1]);
+ }
+ }
+ var css_selector_classes = ['page', 'frompage', 'topage', 'webpage', 'section', 'subsection', 'date', 'isodate', 'time', 'title', 'doctitle', 'sitepage', 'sitepages'];
+ for (var css_class in css_selector_classes) {
+ if (css_selector_classes.hasOwnProperty(css_class)) {
+ var element = document.getElementsByClassName(css_selector_classes[css_class]);
+ for (var j = 0; j < element.length; ++j) {
+ element[j].textContent = vars[css_selector_classes[css_class]];
+ }
+ }
+ }
+}
+</script></head>
+<body style="border:0; margin: 0;" onload="subst()">
+<table style="width: 100%;" >
+ <tr><td colspan="2" style="text-align: center;"><span class="date"></span><span class="time"></span></td></tr>
+ <tr>
+ <td></td>
+ <td style="text-align:right">
+ Page <span class="page"></span>/<span class="topage"></span>
+ </td>
+ </tr>
+</table>
+</body></html>
\ No newline at end of file
--- /dev/null
+
+
+
+
+
+<!DOCTYPE html>
+<html><head>
+<meta charset="UTF-8">
+</head><body style="border:0; margin: 0;" o>
+<table style="width: 100%;">
+ <tr>
+ <td style="width: 150mm; margin-top:5mm;">
+ Plan d'Organisation du Travail<br>
+ du DD.MM.YYYY au DD.MM.YYYY
+ </td>
+ <td style="width: 60mm;text-align: right;">
+ <div style="text-align: left;width: 60mm; font-size: 12pt;font: sans;">
+ <b> </b><br/>
+ <br/>
+ <br/><br/>
+ <br/>
+ TVA: <br/>
+ </div>
+ </td>
+ <tr><td style="text-align: left;"></td><td></td></tr>
+ </tr>
+</table>
+</body></html>
--- /dev/null
+
+
+<!DOCTYPE html>
+<html>
+<head>
+ <title>Invoice</title>
+ <style>
+ div {
+ font-size: 18pt;
+}
+table {
+ font-size: 18pt;
+ border-spacing: unset;
+ border-collapse: unset;
+}
+td.invdatalbl {
+ font-weight: bold;
+ margin: 1mm;
+ padding: 2mm;
+ border-collapse:collapse;;
+ width: 30mm;
+ background-color: #c6c6c6;
+}
+td.invdataval {
+ font-weight: normal;
+ margin: 1mm;
+ padding: 2mm;
+}
+.right{
+ text-align: right;
+}
+table#tbl_products {
+ border-spacing: 0;
+ border-collapse: 0;
+ margin-top: 10mm;
+ width: 100%;
+}
+table#tbl_products td {
+ padding: 2mm;
+ border-bottom: 1px solid black;
+}
+
+table#tbl_products th {
+ margin: 1mm;
+ border: 1px solid #fff;
+ border-bottom: 0px;
+ padding: 2mm;
+ background-color: #c6c6c6;
+}
+
+th.footer {
+ margin: 1mm;
+ border: 1px solid #fff;
+ background-color: unset;
+ border-bottom: 0px;
+ padding: 2mm;
+ text-align: right;
+}
+ </style>
+</head>
+<body>
+ <table>
+ <thead>
+ <tr><td></td></tr>
+ </thead>
+ <tbody>
+ <tr><td></td></tr>
+ </tbody>
+ </table>
+</body>
+</html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html>
+<html>
+<head>
+<meta charset="UTF-8">
+<script>
+function subst() {
+ var vars = {};
+ var query_strings_from_url = document.location.search.substring(1).split('&');
+ for (var query_string in query_strings_from_url) {
+ if (query_strings_from_url.hasOwnProperty(query_string)) {
+ var temp_var = query_strings_from_url[query_string].split('=', 2);
+ vars[temp_var[0]] = decodeURI(temp_var[1]);
+ }
+ }
+ var css_selector_classes = ['page', 'frompage', 'topage', 'webpage', 'section', 'subsection', 'date', 'isodate', 'time', 'title', 'doctitle', 'sitepage', 'sitepages'];
+ for (var css_class in css_selector_classes) {
+ if (css_selector_classes.hasOwnProperty(css_class)) {
+ var element = document.getElementsByClassName(css_selector_classes[css_class]);
+ for (var j = 0; j < element.length; ++j) {
+ element[j].textContent = vars[css_selector_classes[css_class]];
+ }
+ }
+ }
+}
+</script></head>
+<body style="border:0; margin: 0;" onload="subst()">
+<table style="width: 100%;" >
+ <tr><td colspan="2" style="text-align: center;"><span class="date"></span><span class="time"></span></td></tr>
+ <tr>
+ <td></td>
+ <td style="text-align:right">
+ Page <span class="page"></span>/<span class="topage"></span>
+ </td>
+ </tr>
+</table>
+</body></html>
\ No newline at end of file
--- /dev/null
+
+
+
+
+
+<!DOCTYPE html>
+<html><head>
+<meta charset="UTF-8">
+</head><body style="border:0; margin: 0;" o>
+<table style="width: 100%;">
+ <tr>
+ <td style="width: 150mm; margin-top:5mm;">
+ Plan d'Organisation du Travail<br>
+ du DD.MM.YYYY au DD.MM.YYYY
+ </td>
+ <td style="width: 60mm;text-align: right;">
+ <div style="text-align: left;width: 60mm; font-size: 12pt;font: sans;">
+ <b> </b><br/>
+ <br/>
+ <br/><br/>
+ <br/>
+ TVA: <br/>
+ </div>
+ </td>
+ <tr><td style="text-align: left;"></td><td></td></tr>
+ </tr>
+</table>
+</body></html>
--- /dev/null
+
+
+<!DOCTYPE html>
+<html>
+<head>
+ <title>Invoice</title>
+ <style>
+ div {
+ font-size: 18pt;
+}
+table {
+ font-size: 18pt;
+ border-spacing: unset;
+ border-collapse: unset;
+}
+td.invdatalbl {
+ font-weight: bold;
+ margin: 1mm;
+ padding: 2mm;
+ border-collapse:collapse;;
+ width: 30mm;
+ background-color: #c6c6c6;
+}
+td.invdataval {
+ font-weight: normal;
+ margin: 1mm;
+ padding: 2mm;
+}
+.right{
+ text-align: right;
+}
+table#tbl_products {
+ border-spacing: 0;
+ border-collapse: 0;
+ margin-top: 10mm;
+ width: 100%;
+}
+table#tbl_products td {
+ padding: 2mm;
+ border-bottom: 1px solid black;
+}
+
+table#tbl_products th {
+ margin: 1mm;
+ border: 1px solid #fff;
+ border-bottom: 0px;
+ padding: 2mm;
+ background-color: #c6c6c6;
+}
+
+th.footer {
+ margin: 1mm;
+ border: 1px solid #fff;
+ background-color: unset;
+ border-bottom: 0px;
+ padding: 2mm;
+ text-align: right;
+}
+ </style>
+</head>
+<body>
+ <table>
+ <thead>
+ <tr><td></td></tr>
+ </thead>
+ <tbody>
+ <tr><td></td></tr>
+ </tbody>
+ </table>
+</body>
+</html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html>
+<html>
+<head>
+<meta charset="UTF-8">
+<script>
+function subst() {
+ var vars = {};
+ var query_strings_from_url = document.location.search.substring(1).split('&');
+ for (var query_string in query_strings_from_url) {
+ if (query_strings_from_url.hasOwnProperty(query_string)) {
+ var temp_var = query_strings_from_url[query_string].split('=', 2);
+ vars[temp_var[0]] = decodeURI(temp_var[1]);
+ }
+ }
+ var css_selector_classes = ['page', 'frompage', 'topage', 'webpage', 'section', 'subsection', 'date', 'isodate', 'time', 'title', 'doctitle', 'sitepage', 'sitepages'];
+ for (var css_class in css_selector_classes) {
+ if (css_selector_classes.hasOwnProperty(css_class)) {
+ var element = document.getElementsByClassName(css_selector_classes[css_class]);
+ for (var j = 0; j < element.length; ++j) {
+ element[j].textContent = vars[css_selector_classes[css_class]];
+ }
+ }
+ }
+}
+</script></head>
+<body style="border:0; margin: 0;" onload="subst()">
+<table style="width: 100%;" >
+ <tr><td colspan="2" style="text-align: center;"><span class="date"></span><span class="time"></span></td></tr>
+ <tr>
+ <td></td>
+ <td style="text-align:right">
+ Page <span class="page"></span>/<span class="topage"></span>
+ </td>
+ </tr>
+</table>
+</body></html>
\ No newline at end of file
--- /dev/null
+
+
+
+
+
+<!DOCTYPE html>
+<html><head>
+<meta charset="UTF-8">
+</head><body style="border:0; margin: 0;" o>
+<table style="width: 100%;">
+ <tr>
+ <td style="width: 150mm; margin-top:5mm;">
+ Plan d'Organisation du Travail<br>
+ du DD.MM.YYYY au DD.MM.YYYY
+ </td>
+ <td style="width: 60mm;text-align: right;">
+ <div style="text-align: left;width: 60mm; font-size: 12pt;font: sans;">
+ <b> </b><br/>
+ <br/>
+ <br/><br/>
+ <br/>
+ TVA: <br/>
+ </div>
+ </td>
+ <tr><td style="text-align: left;"></td><td></td></tr>
+ </tr>
+</table>
+</body></html>
--- /dev/null
+
+
+<!DOCTYPE html>
+<html>
+<head>
+ <title>Invoice</title>
+ <style>
+ div {
+ font-size: 18pt;
+}
+table {
+ font-size: 18pt;
+ border-spacing: unset;
+ border-collapse: unset;
+}
+td.invdatalbl {
+ font-weight: bold;
+ margin: 1mm;
+ padding: 2mm;
+ border-collapse:collapse;;
+ width: 30mm;
+ background-color: #c6c6c6;
+}
+td.invdataval {
+ font-weight: normal;
+ margin: 1mm;
+ padding: 2mm;
+}
+.right{
+ text-align: right;
+}
+table#tbl_products {
+ border-spacing: 0;
+ border-collapse: 0;
+ margin-top: 10mm;
+ width: 100%;
+}
+table#tbl_products td {
+ padding: 2mm;
+ border-bottom: 1px solid black;
+}
+
+table#tbl_products th {
+ margin: 1mm;
+ border: 1px solid #fff;
+ border-bottom: 0px;
+ padding: 2mm;
+ background-color: #c6c6c6;
+}
+
+th.footer {
+ margin: 1mm;
+ border: 1px solid #fff;
+ background-color: unset;
+ border-bottom: 0px;
+ padding: 2mm;
+ text-align: right;
+}
+ </style>
+</head>
+<body>
+ <table>
+ <thead>
+ <tr><td></td></tr>
+ </thead>
+ <tbody>
+ <tr><td></td></tr>
+ </tbody>
+ </table>
+</body>
+</html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html>
+<html>
+<head>
+<meta charset="UTF-8">
+<script>
+function subst() {
+ var vars = {};
+ var query_strings_from_url = document.location.search.substring(1).split('&');
+ for (var query_string in query_strings_from_url) {
+ if (query_strings_from_url.hasOwnProperty(query_string)) {
+ var temp_var = query_strings_from_url[query_string].split('=', 2);
+ vars[temp_var[0]] = decodeURI(temp_var[1]);
+ }
+ }
+ var css_selector_classes = ['page', 'frompage', 'topage', 'webpage', 'section', 'subsection', 'date', 'isodate', 'time', 'title', 'doctitle', 'sitepage', 'sitepages'];
+ for (var css_class in css_selector_classes) {
+ if (css_selector_classes.hasOwnProperty(css_class)) {
+ var element = document.getElementsByClassName(css_selector_classes[css_class]);
+ for (var j = 0; j < element.length; ++j) {
+ element[j].textContent = vars[css_selector_classes[css_class]];
+ }
+ }
+ }
+}
+</script></head>
+<body style="border:0; margin: 0;" onload="subst()">
+<table style="width: 100%;" >
+ <tr><td colspan="2" style="text-align: center;"><span class="date"></span><span class="time"></span></td></tr>
+ <tr>
+ <td></td>
+ <td style="text-align:right">
+ Page <span class="page"></span>/<span class="topage"></span>
+ </td>
+ </tr>
+</table>
+</body></html>
\ No newline at end of file
--- /dev/null
+
+
+
+
+
+<!DOCTYPE html>
+<html><head>
+<meta charset="UTF-8">
+</head><body style="border:0; margin: 0;" o>
+<table style="width: 100%;">
+ <tr>
+ <td style="width: 150mm; margin-top:5mm;">
+ Plan d'Organisation du Travail<br>
+ du DD.MM.YYYY au DD.MM.YYYY
+ </td>
+ <td style="width: 60mm;text-align: right;">
+ <div style="text-align: left;width: 60mm; font-size: 12pt;font: sans;">
+ <b> </b><br/>
+ <br/>
+ <br/><br/>
+ <br/>
+ TVA: <br/>
+ </div>
+ </td>
+ <tr><td style="text-align: left;"></td><td></td></tr>
+ </tr>
+</table>
+</body></html>
--- /dev/null
+
+
+<!DOCTYPE html>
+<html>
+<head>
+ <title>Invoice</title>
+ <style>
+ div {
+ font-size: 18pt;
+}
+table {
+ font-size: 18pt;
+ border-spacing: unset;
+ border-collapse: unset;
+}
+td.invdatalbl {
+ font-weight: bold;
+ margin: 1mm;
+ padding: 2mm;
+ border-collapse:collapse;;
+ width: 30mm;
+ background-color: #c6c6c6;
+}
+td.invdataval {
+ font-weight: normal;
+ margin: 1mm;
+ padding: 2mm;
+}
+.right{
+ text-align: right;
+}
+table#tbl_products {
+ border-spacing: 0;
+ border-collapse: 0;
+ margin-top: 10mm;
+ width: 100%;
+}
+table#tbl_products td {
+ padding: 2mm;
+ border-bottom: 1px solid black;
+}
+
+table#tbl_products th {
+ margin: 1mm;
+ border: 1px solid #fff;
+ border-bottom: 0px;
+ padding: 2mm;
+ background-color: #c6c6c6;
+}
+
+th.footer {
+ margin: 1mm;
+ border: 1px solid #fff;
+ background-color: unset;
+ border-bottom: 0px;
+ padding: 2mm;
+ text-align: right;
+}
+ </style>
+</head>
+<body>
+ <table>
+ <thead>
+ <tr><td></td></tr>
+ </thead>
+ <tbody>
+ <tr><td></td></tr>
+ </tbody>
+ </table>
+</body>
+</html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html>
+<html>
+<head>
+<meta charset="UTF-8">
+<script>
+function subst() {
+ var vars = {};
+ var query_strings_from_url = document.location.search.substring(1).split('&');
+ for (var query_string in query_strings_from_url) {
+ if (query_strings_from_url.hasOwnProperty(query_string)) {
+ var temp_var = query_strings_from_url[query_string].split('=', 2);
+ vars[temp_var[0]] = decodeURI(temp_var[1]);
+ }
+ }
+ var css_selector_classes = ['page', 'frompage', 'topage', 'webpage', 'section', 'subsection', 'date', 'isodate', 'time', 'title', 'doctitle', 'sitepage', 'sitepages'];
+ for (var css_class in css_selector_classes) {
+ if (css_selector_classes.hasOwnProperty(css_class)) {
+ var element = document.getElementsByClassName(css_selector_classes[css_class]);
+ for (var j = 0; j < element.length; ++j) {
+ element[j].textContent = vars[css_selector_classes[css_class]];
+ }
+ }
+ }
+}
+</script></head>
+<body style="border:0; margin: 0;" onload="subst()">
+<table style="width: 100%;" >
+ <tr><td colspan="2" style="text-align: center;"><span class="date"></span><span class="time"></span></td></tr>
+ <tr>
+ <td></td>
+ <td style="text-align:right">
+ Page <span class="page"></span>/<span class="topage"></span>
+ </td>
+ </tr>
+</table>
+</body></html>
\ No newline at end of file
--- /dev/null
+
+
+
+
+
+<!DOCTYPE html>
+<html><head>
+<meta charset="UTF-8">
+</head><body style="border:0; margin: 0;" o>
+<table style="width: 100%;">
+ <tr>
+ <td style="width: 150mm; margin-top:5mm;">
+ Plan d'Organisation du Travail<br>
+ du DD.MM.YYYY au DD.MM.YYYY
+ </td>
+ <td style="width: 60mm;text-align: right;">
+ <div style="text-align: left;width: 60mm; font-size: 12pt;font: sans;">
+ <b> </b><br/>
+ <br/>
+ <br/><br/>
+ <br/>
+ TVA: <br/>
+ </div>
+ </td>
+ <tr><td style="text-align: left;"></td><td></td></tr>
+ </tr>
+</table>
+</body></html>
--- /dev/null
+
+
+<!DOCTYPE html>
+<html>
+<head>
+ <title>Invoice</title>
+ <style>
+ div {
+ font-size: 18pt;
+}
+table {
+ font-size: 18pt;
+ border-spacing: unset;
+ border-collapse: unset;
+}
+td.invdatalbl {
+ font-weight: bold;
+ margin: 1mm;
+ padding: 2mm;
+ border-collapse:collapse;;
+ width: 30mm;
+ background-color: #c6c6c6;
+}
+td.invdataval {
+ font-weight: normal;
+ margin: 1mm;
+ padding: 2mm;
+}
+.right{
+ text-align: right;
+}
+table#tbl_products {
+ border-spacing: 0;
+ border-collapse: 0;
+ margin-top: 10mm;
+ width: 100%;
+}
+table#tbl_products td {
+ padding: 2mm;
+ border-bottom: 1px solid black;
+}
+
+table#tbl_products th {
+ margin: 1mm;
+ border: 1px solid #fff;
+ border-bottom: 0px;
+ padding: 2mm;
+ background-color: #c6c6c6;
+}
+
+th.footer {
+ margin: 1mm;
+ border: 1px solid #fff;
+ background-color: unset;
+ border-bottom: 0px;
+ padding: 2mm;
+ text-align: right;
+}
+ </style>
+</head>
+<body>
+ <table>
+ <thead>
+ <tr><td></td></tr>
+ </thead>
+ <tbody>
+ <tr><td></td></tr>
+ </tbody>
+ </table>
+</body>
+</html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html>
+<html>
+<head>
+<meta charset="UTF-8">
+<script>
+function subst() {
+ var vars = {};
+ var query_strings_from_url = document.location.search.substring(1).split('&');
+ for (var query_string in query_strings_from_url) {
+ if (query_strings_from_url.hasOwnProperty(query_string)) {
+ var temp_var = query_strings_from_url[query_string].split('=', 2);
+ vars[temp_var[0]] = decodeURI(temp_var[1]);
+ }
+ }
+ var css_selector_classes = ['page', 'frompage', 'topage', 'webpage', 'section', 'subsection', 'date', 'isodate', 'time', 'title', 'doctitle', 'sitepage', 'sitepages'];
+ for (var css_class in css_selector_classes) {
+ if (css_selector_classes.hasOwnProperty(css_class)) {
+ var element = document.getElementsByClassName(css_selector_classes[css_class]);
+ for (var j = 0; j < element.length; ++j) {
+ element[j].textContent = vars[css_selector_classes[css_class]];
+ }
+ }
+ }
+}
+</script></head>
+<body style="border:0; margin: 0;" onload="subst()">
+<table style="width: 100%;" >
+ <tr><td colspan="2" style="text-align: center;"><span class="date"></span><span class="time"></span></td></tr>
+ <tr>
+ <td></td>
+ <td style="text-align:right">
+ Page <span class="page"></span>/<span class="topage"></span>
+ </td>
+ </tr>
+</table>
+</body></html>
\ No newline at end of file
--- /dev/null
+
+
+
+
+
+<!DOCTYPE html>
+<html><head>
+<meta charset="UTF-8">
+</head><body style="border:0; margin: 0;" o>
+<table style="width: 100%;">
+ <tr>
+ <td style="width: 150mm; margin-top:5mm;">
+ Plan d'Organisation du Travail<br>
+ du DD.MM.YYYY au DD.MM.YYYY
+ </td>
+ <td style="width: 60mm;text-align: right;">
+ <div style="text-align: left;width: 60mm; font-size: 12pt;font: sans;">
+ <b> </b><br/>
+ <br/>
+ <br/><br/>
+ <br/>
+ TVA: <br/>
+ </div>
+ </td>
+ <tr><td style="text-align: left;"></td><td></td></tr>
+ </tr>
+</table>
+</body></html>
--- /dev/null
+
+
+<!DOCTYPE html>
+<html>
+<head>
+ <title>Invoice</title>
+ <style>
+ div {
+ font-size: 18pt;
+}
+table {
+ font-size: 18pt;
+ border-spacing: unset;
+ border-collapse: unset;
+}
+td.invdatalbl {
+ font-weight: bold;
+ margin: 1mm;
+ padding: 2mm;
+ border-collapse:collapse;;
+ width: 30mm;
+ background-color: #c6c6c6;
+}
+td.invdataval {
+ font-weight: normal;
+ margin: 1mm;
+ padding: 2mm;
+}
+.right{
+ text-align: right;
+}
+table#tbl_products {
+ border-spacing: 0;
+ border-collapse: 0;
+ margin-top: 10mm;
+ width: 100%;
+}
+table#tbl_products td {
+ padding: 2mm;
+ border-bottom: 1px solid black;
+}
+
+table#tbl_products th {
+ margin: 1mm;
+ border: 1px solid #fff;
+ border-bottom: 0px;
+ padding: 2mm;
+ background-color: #c6c6c6;
+}
+
+th.footer {
+ margin: 1mm;
+ border: 1px solid #fff;
+ background-color: unset;
+ border-bottom: 0px;
+ padding: 2mm;
+ text-align: right;
+}
+ </style>
+</head>
+<body>
+ <table>
+ <thead>
+ <tr><td></td></tr>
+ </thead>
+ <tbody>
+ <tr><td></td></tr>
+ </tbody>
+ </table>
+</body>
+</html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html>
+<html>
+<head>
+<meta charset="UTF-8">
+<script>
+function subst() {
+ var vars = {};
+ var query_strings_from_url = document.location.search.substring(1).split('&');
+ for (var query_string in query_strings_from_url) {
+ if (query_strings_from_url.hasOwnProperty(query_string)) {
+ var temp_var = query_strings_from_url[query_string].split('=', 2);
+ vars[temp_var[0]] = decodeURI(temp_var[1]);
+ }
+ }
+ var css_selector_classes = ['page', 'frompage', 'topage', 'webpage', 'section', 'subsection', 'date', 'isodate', 'time', 'title', 'doctitle', 'sitepage', 'sitepages'];
+ for (var css_class in css_selector_classes) {
+ if (css_selector_classes.hasOwnProperty(css_class)) {
+ var element = document.getElementsByClassName(css_selector_classes[css_class]);
+ for (var j = 0; j < element.length; ++j) {
+ element[j].textContent = vars[css_selector_classes[css_class]];
+ }
+ }
+ }
+}
+</script></head>
+<body style="border:0; margin: 0;" onload="subst()">
+<table style="width: 100%;" >
+ <tr><td colspan="2" style="text-align: center;"><span class="date"></span><span class="time"></span></td></tr>
+ <tr>
+ <td></td>
+ <td style="text-align:right">
+ Page <span class="page"></span>/<span class="topage"></span>
+ </td>
+ </tr>
+</table>
+</body></html>
\ No newline at end of file
--- /dev/null
+
+
+
+
+
+<!DOCTYPE html>
+<html><head>
+<meta charset="UTF-8">
+</head><body style="border:0; margin: 0;" o>
+<table style="width: 100%;">
+ <tr>
+ <td style="width: 150mm; margin-top:5mm;">
+ Plan d'Organisation du Travail<br>
+ du DD.MM.YYYY au DD.MM.YYYY
+ </td>
+ <td style="width: 60mm;text-align: right;">
+ <div style="text-align: left;width: 60mm; font-size: 12pt;font: sans;">
+ <b>Portanova s.Ã r.l.</b><br/>
+ rue de la faïencerie<br/>
+ Luxembourg<br/><br/>
+ <br/>
+ TVA: <br/>
+ </div>
+ </td>
+ <tr><td style="text-align: left;"></td><td></td></tr>
+ </tr>
+</table>
+</body></html>
--- /dev/null
+
+
+<!DOCTYPE html>
+<html>
+<head>
+ <title>Invoice</title>
+ <style>
+ div {
+ font-size: 18pt;
+}
+table {
+ font-size: 18pt;
+ border-spacing: unset;
+ border-collapse: unset;
+}
+td.invdatalbl {
+ font-weight: bold;
+ margin: 1mm;
+ padding: 2mm;
+ border-collapse:collapse;;
+ width: 30mm;
+ background-color: #c6c6c6;
+}
+td.invdataval {
+ font-weight: normal;
+ margin: 1mm;
+ padding: 2mm;
+}
+.right{
+ text-align: right;
+}
+table#tbl_products {
+ border-spacing: 0;
+ border-collapse: 0;
+ margin-top: 10mm;
+ width: 100%;
+}
+table#tbl_products td {
+ padding: 2mm;
+ border-bottom: 1px solid black;
+}
+
+table#tbl_products th {
+ margin: 1mm;
+ border: 1px solid #fff;
+ border-bottom: 0px;
+ padding: 2mm;
+ background-color: #c6c6c6;
+}
+
+th.footer {
+ margin: 1mm;
+ border: 1px solid #fff;
+ background-color: unset;
+ border-bottom: 0px;
+ padding: 2mm;
+ text-align: right;
+}
+ </style>
+</head>
+<body>
+ <table>
+ <thead>
+ <tr><td></td></tr>
+ </thead>
+ <tbody>
+ <tr><td></td></tr>
+ </tbody>
+ </table>
+</body>
+</html>
\ No newline at end of file
--- /dev/null
+
+
+<!DOCTYPE html>
+<html>
+<head>
+ <title>Invoice</title>
+ <style>
+ div {
+ font-size: 18pt;
+}
+table {
+ font-size: 18pt;
+ border-spacing: unset;
+ border-collapse: unset;
+}
+td.invdatalbl {
+ font-weight: bold;
+ margin: 1mm;
+ padding: 2mm;
+ border-collapse:collapse;;
+ width: 30mm;
+ background-color: #c6c6c6;
+}
+td.invdataval {
+ font-weight: normal;
+ margin: 1mm;
+ padding: 2mm;
+}
+.right{
+ text-align: right;
+}
+table#tbl_products {
+ border-spacing: 0;
+ border-collapse: 0;
+ margin-top: 10mm;
+ width: 100%;
+}
+table#tbl_products td {
+ padding: 2mm;
+ border-bottom: 1px solid black;
+}
+
+table#tbl_products th {
+ margin: 1mm;
+ border: 1px solid #fff;
+ border-bottom: 0px;
+ padding: 2mm;
+ background-color: #c6c6c6;
+}
+
+th.footer {
+ margin: 1mm;
+ border: 1px solid #fff;
+ background-color: unset;
+ border-bottom: 0px;
+ padding: 2mm;
+ text-align: right;
+}
+ </style>
+</head>
+<body>
+ <table>
+ <thead>
+ <tr><td></td></tr>
+ </thead>
+ <tbody>
+ <tr><td></td></tr>
+ </tbody>
+ </table>
+</body>
+</html>
\ No newline at end of file
--- /dev/null
+
+
+<!DOCTYPE html>
+<html>
+<head>
+ <title>Invoice</title>
+ <style>
+ div {
+ font-size: 18pt;
+}
+table {
+ font-size: 18pt;
+ border-spacing: unset;
+ border-collapse: unset;
+}
+td.invdatalbl {
+ font-weight: bold;
+ margin: 1mm;
+ padding: 2mm;
+ border-collapse:collapse;;
+ width: 30mm;
+ background-color: #c6c6c6;
+}
+td.invdataval {
+ font-weight: normal;
+ margin: 1mm;
+ padding: 2mm;
+}
+.right{
+ text-align: right;
+}
+table#tbl_products {
+ border-spacing: 0;
+ border-collapse: 0;
+ margin-top: 10mm;
+ width: 100%;
+}
+table#tbl_products td {
+ padding: 2mm;
+ border-bottom: 1px solid black;
+}
+
+table#tbl_products th {
+ margin: 1mm;
+ border: 1px solid #fff;
+ border-bottom: 0px;
+ padding: 2mm;
+ background-color: #c6c6c6;
+}
+
+th.footer {
+ margin: 1mm;
+ border: 1px solid #fff;
+ background-color: unset;
+ border-bottom: 0px;
+ padding: 2mm;
+ text-align: right;
+}
+ </style>
+</head>
+<body>
+ <table>
+ <thead>
+ <tr><td></td></tr>
+ </thead>
+ <tbody>
+ <tr><td></td></tr>
+ </tbody>
+ </table>
+</body>
+</html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html>
+<html>
+<head>
+<meta charset="UTF-8">
+<script>
+function subst() {
+ var vars = {};
+ var query_strings_from_url = document.location.search.substring(1).split('&');
+ for (var query_string in query_strings_from_url) {
+ if (query_strings_from_url.hasOwnProperty(query_string)) {
+ var temp_var = query_strings_from_url[query_string].split('=', 2);
+ vars[temp_var[0]] = decodeURI(temp_var[1]);
+ }
+ }
+ var css_selector_classes = ['page', 'frompage', 'topage', 'webpage', 'section', 'subsection', 'date', 'isodate', 'time', 'title', 'doctitle', 'sitepage', 'sitepages'];
+ for (var css_class in css_selector_classes) {
+ if (css_selector_classes.hasOwnProperty(css_class)) {
+ var element = document.getElementsByClassName(css_selector_classes[css_class]);
+ for (var j = 0; j < element.length; ++j) {
+ element[j].textContent = vars[css_selector_classes[css_class]];
+ }
+ }
+ }
+}
+</script></head>
+<body style="border:0; margin: 0;" onload="subst()">
+<table style="width: 100%;" >
+ <tr><td colspan="2" style="text-align: center;"><span class="date"></span><span class="time"></span></td></tr>
+ <tr>
+ <td></td>
+ <td style="text-align:right">
+ Page <span class="page"></span>/<span class="topage"></span>
+ </td>
+ </tr>
+</table>
+</body></html>
\ No newline at end of file
--- /dev/null
+
+
+
+
+
+
+
+
+<!DOCTYPE html>
+<html><head>
+<meta charset="UTF-8">
+</head><body style="border:0; margin: 0;" o>
+<table style="width: 100%;">
+ <tr>
+ <td style="width: 150mm; margin-top:5mm;">
+ <h2>Plan d'Organisation du Travail<h2>
+ <h4>du 30.12.2019 au 23.02.2020</h4>
+ </td>
+ <td style="width: 60mm;text-align: right;">
+ <div style="text-align: left;width: 60mm; font-size: 12pt;font: sans;">
+ <b>Portanova s.Ã r.l.</b><br/>
+ rue de la faïencerie<br/>
+ Luxembourg<br/><br/>
+ <br/>
+ TVA: <br/>
+ </div>
+ </td>
+ <tr><td style="text-align: left;"></td><td></td></tr>
+ </tr>
+</table>
+</body></html>
--- /dev/null
+
+
+<!DOCTYPE html>
+<html>
+<head>
+ <title>Invoice</title>
+ <style>
+ div {
+ font-size: 18pt;
+}
+table {
+ font-size: 18pt;
+ border-spacing: unset;
+ border-collapse: unset;
+}
+td.invdatalbl {
+ font-weight: bold;
+ margin: 1mm;
+ padding: 2mm;
+ border-collapse:collapse;;
+ width: 30mm;
+ background-color: #c6c6c6;
+}
+td.invdataval {
+ font-weight: normal;
+ margin: 1mm;
+ padding: 2mm;
+}
+.right{
+ text-align: right;
+}
+table#tbl_products {
+ border-spacing: 0;
+ border-collapse: 0;
+ margin-top: 10mm;
+ width: 100%;
+}
+table#tbl_products td {
+ padding: 2mm;
+ border-bottom: 1px solid black;
+}
+
+table#tbl_products th {
+ margin: 1mm;
+ border: 1px solid #fff;
+ border-bottom: 0px;
+ padding: 2mm;
+ background-color: #c6c6c6;
+}
+
+th.footer {
+ margin: 1mm;
+ border: 1px solid #fff;
+ background-color: unset;
+ border-bottom: 0px;
+ padding: 2mm;
+ text-align: right;
+}
+ </style>
+</head>
+<body>
+ <table>
+ <thead>
+ <tr><td></td></tr>
+ </thead>
+ <tbody>
+ <tr><td></td></tr>
+ </tbody>
+ </table>
+</body>
+</html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html>
+<html>
+<head>
+<meta charset="UTF-8">
+<script>
+function subst() {
+ var vars = {};
+ var query_strings_from_url = document.location.search.substring(1).split('&');
+ for (var query_string in query_strings_from_url) {
+ if (query_strings_from_url.hasOwnProperty(query_string)) {
+ var temp_var = query_strings_from_url[query_string].split('=', 2);
+ vars[temp_var[0]] = decodeURI(temp_var[1]);
+ }
+ }
+ var css_selector_classes = ['page', 'frompage', 'topage', 'webpage', 'section', 'subsection', 'date', 'isodate', 'time', 'title', 'doctitle', 'sitepage', 'sitepages'];
+ for (var css_class in css_selector_classes) {
+ if (css_selector_classes.hasOwnProperty(css_class)) {
+ var element = document.getElementsByClassName(css_selector_classes[css_class]);
+ for (var j = 0; j < element.length; ++j) {
+ element[j].textContent = vars[css_selector_classes[css_class]];
+ }
+ }
+ }
+}
+</script></head>
+<body style="border:0; margin: 0;" onload="subst()">
+<table style="width: 100%;" >
+ <tr><td colspan="2" style="text-align: center;"><span class="date"></span><span class="time"></span></td></tr>
+ <tr>
+ <td></td>
+ <td style="text-align:right">
+ Page <span class="page"></span>/<span class="topage"></span>
+ </td>
+ </tr>
+</table>
+</body></html>
\ No newline at end of file
--- /dev/null
+
+
+
+
+
+
+
+
+<!DOCTYPE html>
+<html><head>
+<meta charset="UTF-8">
+</head><body style="border:0; margin: 0;" o>
+<table style="width: 100%;">
+ <tr>
+ <td style="width: 150mm; margin-top:5mm;">
+ <h2>Plan d'Organisation du Travail<h2>
+ <h4>du 30.12.2019 au 23.02.2020</h4>
+ </td>
+ <td style="width: 60mm;text-align: right;">
+ <div style="text-align: left;width: 60mm; font-size: 12pt;font: sans;">
+ <b>Portanova s.Ã r.l.</b><br/>
+ rue de la faïencerie<br/>
+ Luxembourg<br/><br/>
+ <br/>
+ TVA: <br/>
+ </div>
+ </td>
+ <tr><td style="text-align: left;"></td><td></td></tr>
+ </tr>
+</table>
+</body></html>
--- /dev/null
+
+
+<!DOCTYPE html>
+<html>
+<head>
+ <title>Invoice</title>
+ <style>
+ div {
+ font-size: 18pt;
+}
+table {
+ font-size: 18pt;
+ border-spacing: unset;
+ border-collapse: unset;
+}
+td.invdatalbl {
+ font-weight: bold;
+ margin: 1mm;
+ padding: 2mm;
+ border-collapse:collapse;;
+ width: 30mm;
+ background-color: #c6c6c6;
+}
+td.invdataval {
+ font-weight: normal;
+ margin: 1mm;
+ padding: 2mm;
+}
+.right{
+ text-align: right;
+}
+table#tbl_products {
+ border-spacing: 0;
+ border-collapse: 0;
+ margin-top: 10mm;
+ width: 100%;
+}
+table#tbl_products td {
+ padding: 2mm;
+ border-bottom: 1px solid black;
+}
+
+table#tbl_products th {
+ margin: 1mm;
+ border: 1px solid #fff;
+ border-bottom: 0px;
+ padding: 2mm;
+ background-color: #c6c6c6;
+}
+
+th.footer {
+ margin: 1mm;
+ border: 1px solid #fff;
+ background-color: unset;
+ border-bottom: 0px;
+ padding: 2mm;
+ text-align: right;
+}
+ </style>
+</head>
+<body>
+ <table>
+ <thead>
+ <tr><td></td></tr>
+ </thead>
+ <tbody>
+ <tr><td></td></tr>
+ </tbody>
+ </table>
+</body>
+</html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html>
+<html>
+<head>
+<meta charset="UTF-8">
+<script>
+function subst() {
+ var vars = {};
+ var query_strings_from_url = document.location.search.substring(1).split('&');
+ for (var query_string in query_strings_from_url) {
+ if (query_strings_from_url.hasOwnProperty(query_string)) {
+ var temp_var = query_strings_from_url[query_string].split('=', 2);
+ vars[temp_var[0]] = decodeURI(temp_var[1]);
+ }
+ }
+ var css_selector_classes = ['page', 'frompage', 'topage', 'webpage', 'section', 'subsection', 'date', 'isodate', 'time', 'title', 'doctitle', 'sitepage', 'sitepages'];
+ for (var css_class in css_selector_classes) {
+ if (css_selector_classes.hasOwnProperty(css_class)) {
+ var element = document.getElementsByClassName(css_selector_classes[css_class]);
+ for (var j = 0; j < element.length; ++j) {
+ element[j].textContent = vars[css_selector_classes[css_class]];
+ }
+ }
+ }
+}
+</script></head>
+<body style="border:0; margin: 0;" onload="subst()">
+<table style="width: 100%;" >
+ <tr><td colspan="2" style="text-align: center;"><span class="date"></span> <span class="time"></span></td></tr>
+ <tr>
+ <td></td>
+ <td style="text-align:right">
+ Page <span class="page"></span>/<span class="topage"></span>
+ </td>
+ </tr>
+</table>
+</body></html>
\ No newline at end of file
--- /dev/null
+
+
+
+
+
+
+
+
+<!DOCTYPE html>
+<html><head>
+<meta charset="UTF-8">
+</head><body style="border:0; margin: 0;" o>
+<table style="width: 100%;">
+ <tr>
+ <td style="width: 150mm; margin-top:5mm;">
+ <h2>Plan d'Organisation du Travail<h2>
+ <h4>du 30.12.2019 au 23.02.2020</h4>
+ </td>
+ <td style="width: 60mm;text-align: right;">
+ <div style="text-align: left;width: 60mm; font-size: 12pt;font: sans;">
+ <b>Portanova s.Ã r.l.</b><br/>
+ rue de la faïencerie<br/>
+ Luxembourg<br/><br/>
+ <br/>
+ TVA: <br/>
+ </div>
+ </td>
+ <tr><td style="text-align: left;"></td><td></td></tr>
+ </tr>
+</table>
+</body></html>
--- /dev/null
+
+
+<!DOCTYPE html>
+<html>
+<head>
+ <title>Invoice</title>
+ <style>
+ div {
+ font-size: 18pt;
+}
+table {
+ font-size: 18pt;
+ border-spacing: unset;
+ border-collapse: unset;
+}
+td.invdatalbl {
+ font-weight: bold;
+ margin: 1mm;
+ padding: 2mm;
+ border-collapse:collapse;;
+ width: 30mm;
+ background-color: #c6c6c6;
+}
+td.invdataval {
+ font-weight: normal;
+ margin: 1mm;
+ padding: 2mm;
+}
+.right{
+ text-align: right;
+}
+table#tbl_products {
+ border-spacing: 0;
+ border-collapse: 0;
+ margin-top: 10mm;
+ width: 100%;
+}
+table#tbl_products td {
+ padding: 2mm;
+ border-bottom: 1px solid black;
+}
+
+table#tbl_products th {
+ margin: 1mm;
+ border: 1px solid #fff;
+ border-bottom: 0px;
+ padding: 2mm;
+ background-color: #c6c6c6;
+}
+
+th.footer {
+ margin: 1mm;
+ border: 1px solid #fff;
+ background-color: unset;
+ border-bottom: 0px;
+ padding: 2mm;
+ text-align: right;
+}
+ </style>
+</head>
+<body>
+ <table>
+ <thead>
+ <tr><td></td></tr>
+ </thead>
+ <tbody>
+ <tr><td></td></tr>
+ </tbody>
+ </table>
+</body>
+</html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html>
+<html>
+<head>
+<meta charset="UTF-8">
+<script>
+function subst() {
+ var vars = {};
+ var query_strings_from_url = document.location.search.substring(1).split('&');
+ for (var query_string in query_strings_from_url) {
+ if (query_strings_from_url.hasOwnProperty(query_string)) {
+ var temp_var = query_strings_from_url[query_string].split('=', 2);
+ vars[temp_var[0]] = decodeURI(temp_var[1]);
+ }
+ }
+ var css_selector_classes = ['page', 'frompage', 'topage', 'webpage', 'section', 'subsection', 'date', 'isodate', 'time', 'title', 'doctitle', 'sitepage', 'sitepages'];
+ for (var css_class in css_selector_classes) {
+ if (css_selector_classes.hasOwnProperty(css_class)) {
+ var element = document.getElementsByClassName(css_selector_classes[css_class]);
+ for (var j = 0; j < element.length; ++j) {
+ element[j].textContent = vars[css_selector_classes[css_class]];
+ }
+ }
+ }
+}
+</script></head>
+<body style="border:0; margin: 0;" onload="subst()">
+<table style="width: 100%;" >
+ <tr><td colspan="2" style="text-align: center;"><span class="date"></span> <span class="time"></span></td></tr>
+ <tr>
+ <td></td>
+ <td style="text-align:right">
+ Page <span class="page"></span>/<span class="topage"></span>
+ </td>
+ </tr>
+</table>
+</body></html>
\ No newline at end of file
--- /dev/null
+
+
+
+
+
+
+
+
+<!DOCTYPE html>
+<html><head>
+<meta charset="UTF-8">
+</head><body style="border:0; margin: 0;" o>
+<table style="width: 100%;">
+ <tr>
+ <td style="width: 150mm; margin-top:5mm;">
+ <h2>Plan d'Organisation du Travail<h2>
+ <h4>du 30.12.2019 au 23.02.2020</h4>
+ </td>
+ <td style="width: 60mm;text-align: right;">
+ <div style="text-align: left;width: 60mm; font-size: 12pt;font: sans;">
+ <b>Portanova s.Ã r.l.</b><br/>
+ rue de la faïencerie<br/>
+ Luxembourg<br/><br/>
+ <br/>
+ TVA: <br/>
+ </div>
+ </td>
+ <tr><td style="text-align: left;"></td><td></td></tr>
+ </tr>
+</table>
+</body></html>
--- /dev/null
+
+
+<!DOCTYPE html>
+<html>
+<head>
+ <title>Invoice</title>
+ <style>
+ div {
+ font-size: 18pt;
+}
+table {
+ font-size: 18pt;
+ border-spacing: unset;
+ border-collapse: unset;
+}
+td.invdatalbl {
+ font-weight: bold;
+ margin: 1mm;
+ padding: 2mm;
+ border-collapse:collapse;;
+ width: 30mm;
+ background-color: #c6c6c6;
+}
+td.invdataval {
+ font-weight: normal;
+ margin: 1mm;
+ padding: 2mm;
+}
+.right{
+ text-align: right;
+}
+table#tbl_products {
+ border-spacing: 0;
+ border-collapse: 0;
+ margin-top: 10mm;
+ width: 100%;
+}
+table#tbl_products td {
+ padding: 2mm;
+ border-bottom: 1px solid black;
+}
+
+table#tbl_products th {
+ margin: 1mm;
+ border: 1px solid #fff;
+ border-bottom: 0px;
+ padding: 2mm;
+ background-color: #c6c6c6;
+}
+
+th.footer {
+ margin: 1mm;
+ border: 1px solid #fff;
+ background-color: unset;
+ border-bottom: 0px;
+ padding: 2mm;
+ text-align: right;
+}
+ </style>
+</head>
+<body>
+ <table>
+ <thead>
+ <tr><td></td></tr>
+ </thead>
+ <tbody>
+ <tr><td></td></tr>
+ </tbody>
+ </table>
+</body>
+</html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html>
+<html>
+<head>
+<meta charset="UTF-8">
+<script>
+function subst() {
+ var vars = {};
+ var query_strings_from_url = document.location.search.substring(1).split('&');
+ for (var query_string in query_strings_from_url) {
+ if (query_strings_from_url.hasOwnProperty(query_string)) {
+ var temp_var = query_strings_from_url[query_string].split('=', 2);
+ vars[temp_var[0]] = decodeURI(temp_var[1]);
+ }
+ }
+ var css_selector_classes = ['page', 'frompage', 'topage', 'webpage', 'section', 'subsection', 'date', 'isodate', 'time', 'title', 'doctitle', 'sitepage', 'sitepages'];
+ for (var css_class in css_selector_classes) {
+ if (css_selector_classes.hasOwnProperty(css_class)) {
+ var element = document.getElementsByClassName(css_selector_classes[css_class]);
+ for (var j = 0; j < element.length; ++j) {
+ element[j].textContent = vars[css_selector_classes[css_class]];
+ }
+ }
+ }
+}
+</script></head>
+<body style="border:0; margin: 0;" onload="subst()">
+<table style="width: 100%;" >
+ <tr><td colspan="2" style="text-align: center;"><span class="date"></span> <span class="time"></span></td></tr>
+ <tr>
+ <td></td>
+ <td style="text-align:right">
+ Page <span class="page"></span>/<span class="topage"></span>
+ </td>
+ </tr>
+</table>
+</body></html>
\ No newline at end of file
--- /dev/null
+
+
+
+
+
+
+
+
+<!DOCTYPE html>
+<html><head>
+<meta charset="UTF-8">
+</head><body style="border:0; margin: 0;" o>
+<table style="width: 100%;">
+ <tr>
+ <td style="width: 150mm; margin-top:5mm;">
+ <h2>Plan d'Organisation du Travail<h2>
+ <h4>du 30.12.2019 au 23.02.2020</h4>
+ </td>
+ <td style="width: 60mm;text-align: right;">
+ <div style="text-align: left;width: 60mm; font-size: 12pt;font: sans;">
+ <b>Portanova s.Ã r.l.</b><br/>
+ rue de la faïencerie<br/>
+ Luxembourg<br/><br/>
+ <br/>
+ TVA: <br/>
+ </div>
+ </td>
+ <tr><td style="text-align: left;"></td><td></td></tr>
+ </tr>
+</table>
+</body></html>
--- /dev/null
+
+
+<!DOCTYPE html>
+<html>
+<head>
+ <title>Invoice</title>
+ <style>
+ div {
+ font-size: 18pt;
+}
+table {
+ font-size: 18pt;
+ border-spacing: unset;
+ border-collapse: unset;
+}
+td.invdatalbl {
+ font-weight: bold;
+ margin: 1mm;
+ padding: 2mm;
+ border-collapse:collapse;;
+ width: 30mm;
+ background-color: #c6c6c6;
+}
+td.invdataval {
+ font-weight: normal;
+ margin: 1mm;
+ padding: 2mm;
+}
+.right{
+ text-align: right;
+}
+table#tbl_products {
+ border-spacing: 0;
+ border-collapse: 0;
+ margin-top: 10mm;
+ width: 100%;
+}
+table#tbl_products td {
+ padding: 2mm;
+ border-bottom: 1px solid black;
+}
+
+table#tbl_products th {
+ margin: 1mm;
+ border: 1px solid #fff;
+ border-bottom: 0px;
+ padding: 2mm;
+ background-color: #c6c6c6;
+}
+
+th.footer {
+ margin: 1mm;
+ border: 1px solid #fff;
+ background-color: unset;
+ border-bottom: 0px;
+ padding: 2mm;
+ text-align: right;
+}
+ </style>
+</head>
+<body>
+ <table>
+ <thead>
+ <tr><td></td></tr>
+ </thead>
+ <tbody>
+ <tr><td></td></tr>
+ </tbody>
+ </table>
+</body>
+</html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html>
+<html>
+<head>
+<meta charset="UTF-8">
+<script>
+function subst() {
+ var vars = {};
+ var query_strings_from_url = document.location.search.substring(1).split('&');
+ for (var query_string in query_strings_from_url) {
+ if (query_strings_from_url.hasOwnProperty(query_string)) {
+ var temp_var = query_strings_from_url[query_string].split('=', 2);
+ vars[temp_var[0]] = decodeURI(temp_var[1]);
+ }
+ }
+ var css_selector_classes = ['page', 'frompage', 'topage', 'webpage', 'section', 'subsection', 'date', 'isodate', 'time', 'title', 'doctitle', 'sitepage', 'sitepages'];
+ for (var css_class in css_selector_classes) {
+ if (css_selector_classes.hasOwnProperty(css_class)) {
+ var element = document.getElementsByClassName(css_selector_classes[css_class]);
+ for (var j = 0; j < element.length; ++j) {
+ element[j].textContent = vars[css_selector_classes[css_class]];
+ }
+ }
+ }
+}
+</script></head>
+<body style="border:0; margin: 0;" onload="subst()">
+<table style="width: 100%;" >
+ <tr><td colspan="2" style="text-align: center;"><span class="date"></span> <span class="time"></span></td></tr>
+ <tr>
+ <td></td>
+ <td style="text-align:right">
+ Page <span class="page"></span>/<span class="topage"></span>
+ </td>
+ </tr>
+</table>
+</body></html>
\ No newline at end of file
--- /dev/null
+
+
+
+
+
+
+
+
+<!DOCTYPE html>
+<html><head>
+<meta charset="UTF-8">
+</head><body style="border:0; margin: 0;" o>
+<table style="width: 100%;">
+ <tr>
+ <td style="width: 150mm; margin-top:5mm;">
+ <h2>Plan d'Organisation du Travail<h2>
+ <h4>du 30.12.2019 au 23.02.2020</h4>
+ </td>
+ <td style="width: 60mm;text-align: right;">
+ <div style="text-align: left;width: 60mm; font-size: 12pt;font: sans;">
+ <b>Portanova s.Ã r.l.</b><br/>
+ rue de la faïencerie<br/>
+ Luxembourg<br/><br/>
+ <br/>
+ TVA: <br/>
+ </div>
+ </td>
+ <tr><td style="text-align: left;"></td><td></td></tr>
+ </tr>
+</table>
+</body></html>
--- /dev/null
+
+
+<!DOCTYPE html>
+<html>
+<head>
+ <title>Invoice</title>
+ <style>
+ div {
+ font-size: 18pt;
+}
+table {
+ font-size: 18pt;
+ border-spacing: unset;
+ border-collapse: unset;
+}
+td.invdatalbl {
+ font-weight: bold;
+ margin: 1mm;
+ padding: 2mm;
+ border-collapse:collapse;;
+ width: 30mm;
+ background-color: #c6c6c6;
+}
+td.invdataval {
+ font-weight: normal;
+ margin: 1mm;
+ padding: 2mm;
+}
+.right{
+ text-align: right;
+}
+table#tbl_products {
+ border-spacing: 0;
+ border-collapse: 0;
+ margin-top: 10mm;
+ width: 100%;
+}
+table#tbl_products td {
+ padding: 2mm;
+ border-bottom: 1px solid black;
+}
+
+table#tbl_products th {
+ margin: 1mm;
+ border: 1px solid #fff;
+ border-bottom: 0px;
+ padding: 2mm;
+ background-color: #c6c6c6;
+}
+
+th.footer {
+ margin: 1mm;
+ border: 1px solid #fff;
+ background-color: unset;
+ border-bottom: 0px;
+ padding: 2mm;
+ text-align: right;
+}
+ </style>
+</head>
+<body>
+ <table>
+ <thead>
+ <tr><td></td></tr>
+ </thead>
+ <tbody>
+ <tr><td></td></tr>
+ </tbody>
+ </table>
+</body>
+</html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html>
+<html>
+<head>
+<meta charset="UTF-8">
+<script>
+function subst() {
+ var vars = {};
+ var query_strings_from_url = document.location.search.substring(1).split('&');
+ for (var query_string in query_strings_from_url) {
+ if (query_strings_from_url.hasOwnProperty(query_string)) {
+ var temp_var = query_strings_from_url[query_string].split('=', 2);
+ vars[temp_var[0]] = decodeURI(temp_var[1]);
+ }
+ }
+ var css_selector_classes = ['page', 'frompage', 'topage', 'webpage', 'section', 'subsection', 'date', 'isodate', 'time', 'title', 'doctitle', 'sitepage', 'sitepages'];
+ for (var css_class in css_selector_classes) {
+ if (css_selector_classes.hasOwnProperty(css_class)) {
+ var element = document.getElementsByClassName(css_selector_classes[css_class]);
+ for (var j = 0; j < element.length; ++j) {
+ element[j].textContent = vars[css_selector_classes[css_class]];
+ }
+ }
+ }
+}
+</script></head>
+<body style="border:0; margin: 0;" onload="subst()">
+<table style="width: 100%;" >
+ <tr><td colspan="2" style="text-align: center;"><span class="date"></span> <span class="time"></span></td></tr>
+ <tr>
+ <td></td>
+ <td style="text-align:right">
+ Page <span class="page"></span>/<span class="topage"></span>
+ </td>
+ </tr>
+</table>
+</body></html>
\ No newline at end of file
--- /dev/null
+
+
+
+
+
+
+
+
+<!DOCTYPE html>
+<html><head>
+<meta charset="UTF-8">
+</head><body style="border:0; margin: 0;" o>
+<table style="width: 100%;">
+ <tr>
+ <td style="width: 150mm; margin-top:5mm;">
+ <h2>Plan d'Organisation du Travail<h2>
+ <h4>du 30.12.2019 au 23.02.2020</h4>
+ </td>
+ <td style="width: 60mm;text-align: right;">
+ <div style="text-align: left;width: 60mm; font-size: 12pt;font: sans;">
+ <b>Portanova s.Ã r.l.</b><br/>
+ rue de la faïencerie<br/>
+ Luxembourg<br/><br/>
+ <br/>
+ TVA: <br/>
+ </div>
+ </td>
+ <tr><td style="text-align: left;"></td><td></td></tr>
+ </tr>
+</table>
+</body></html>
--- /dev/null
+
+
+<!DOCTYPE html>
+<html>
+<head>
+ <title>Invoice</title>
+ <style>
+ div {
+ font-size: 18pt;
+}
+table {
+ font-size: 18pt;
+ border-spacing: unset;
+ border-collapse: unset;
+}
+td.invdatalbl {
+ font-weight: bold;
+ margin: 1mm;
+ padding: 2mm;
+ border-collapse:collapse;;
+ width: 30mm;
+ background-color: #c6c6c6;
+}
+td.invdataval {
+ font-weight: normal;
+ margin: 1mm;
+ padding: 2mm;
+}
+.right{
+ text-align: right;
+}
+table#tbl_products {
+ border-spacing: 0;
+ border-collapse: 0;
+ margin-top: 10mm;
+ width: 100%;
+}
+table#tbl_products td {
+ padding: 2mm;
+ border-bottom: 1px solid black;
+}
+
+table#tbl_products th {
+ margin: 1mm;
+ border: 1px solid #fff;
+ border-bottom: 0px;
+ padding: 2mm;
+ background-color: #c6c6c6;
+}
+
+th.footer {
+ margin: 1mm;
+ border: 1px solid #fff;
+ background-color: unset;
+ border-bottom: 0px;
+ padding: 2mm;
+ text-align: right;
+}
+ </style>
+</head>
+<body>
+ <table>
+ <thead>
+ <tr><td></td></tr>
+ </thead>
+ <tbody>
+ <tr><td></td></tr>
+ </tbody>
+ </table>
+</body>
+</html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html>
+<html>
+<head>
+<meta charset="UTF-8">
+<script>
+function subst() {
+ var vars = {};
+ var query_strings_from_url = document.location.search.substring(1).split('&');
+ for (var query_string in query_strings_from_url) {
+ if (query_strings_from_url.hasOwnProperty(query_string)) {
+ var temp_var = query_strings_from_url[query_string].split('=', 2);
+ vars[temp_var[0]] = decodeURI(temp_var[1]);
+ }
+ }
+ var css_selector_classes = ['page', 'frompage', 'topage', 'webpage', 'section', 'subsection', 'date', 'isodate', 'time', 'title', 'doctitle', 'sitepage', 'sitepages'];
+ for (var css_class in css_selector_classes) {
+ if (css_selector_classes.hasOwnProperty(css_class)) {
+ var element = document.getElementsByClassName(css_selector_classes[css_class]);
+ for (var j = 0; j < element.length; ++j) {
+ element[j].textContent = vars[css_selector_classes[css_class]];
+ }
+ }
+ }
+}
+</script></head>
+<body style="border:0; margin: 0;" onload="subst()">
+<table style="width: 100%;" >
+ <tr><td colspan="2" style="text-align: center;"><span class="date"></span> <span class="time"></span></td></tr>
+ <tr>
+ <td></td>
+ <td style="text-align:right">
+ Page <span class="page"></span>/<span class="topage"></span>
+ </td>
+ </tr>
+</table>
+</body></html>
\ No newline at end of file
--- /dev/null
+
+
+
+
+
+
+
+
+<!DOCTYPE html>
+<html><head>
+<meta charset="UTF-8">
+</head><body style="border:0; margin: 0;" o>
+<table style="width: 100%;">
+ <tr>
+ <td style="width: 150mm; margin-top:5mm;">
+ <h2>Plan d'Organisation du Travail<h2>
+ <h4>du 30.12.2019 au 23.02.2020</h4>
+ </td>
+ <td style="width: 60mm;text-align: right;">
+ <div style="text-align: left;width: 60mm; font-size: 12pt;font: sans;">
+ <b>Portanova s.Ã r.l.</b><br/>
+ rue de la faïencerie<br/>
+ Luxembourg<br/><br/>
+ <br/>
+ TVA: <br/>
+ </div>
+ </td>
+ <tr><td style="text-align: left;"></td><td></td></tr>
+ </tr>
+</table>
+</body></html>
--- /dev/null
+
+
+<!DOCTYPE html>
+<html>
+<head>
+ <title>Invoice</title>
+ <style>
+ div {
+ font-size: 18pt;
+}
+table {
+ font-size: 18pt;
+ border-spacing: unset;
+ border-collapse: unset;
+}
+td.invdatalbl {
+ font-weight: bold;
+ margin: 1mm;
+ padding: 2mm;
+ border-collapse:collapse;;
+ width: 30mm;
+ background-color: #c6c6c6;
+}
+td.invdataval {
+ font-weight: normal;
+ margin: 1mm;
+ padding: 2mm;
+}
+.right{
+ text-align: right;
+}
+table#tbl_products {
+ border-spacing: 0;
+ border-collapse: 0;
+ margin-top: 10mm;
+ width: 100%;
+}
+table#tbl_products td {
+ padding: 2mm;
+ border-bottom: 1px solid black;
+}
+
+table#tbl_products th {
+ margin: 1mm;
+ border: 1px solid #fff;
+ border-bottom: 0px;
+ padding: 2mm;
+ background-color: #c6c6c6;
+}
+
+th.footer {
+ margin: 1mm;
+ border: 1px solid #fff;
+ background-color: unset;
+ border-bottom: 0px;
+ padding: 2mm;
+ text-align: right;
+}
+ </style>
+</head>
+<body>
+ <table>
+ <thead>
+ <tr><td></td></tr>
+ </thead>
+ <tbody>
+ <tr><td></td></tr>
+ </tbody>
+ </table>
+</body>
+</html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html>
+<html>
+<head>
+<meta charset="UTF-8">
+<script>
+function subst() {
+ var vars = {};
+ var query_strings_from_url = document.location.search.substring(1).split('&');
+ for (var query_string in query_strings_from_url) {
+ if (query_strings_from_url.hasOwnProperty(query_string)) {
+ var temp_var = query_strings_from_url[query_string].split('=', 2);
+ vars[temp_var[0]] = decodeURI(temp_var[1]);
+ }
+ }
+ var css_selector_classes = ['page', 'frompage', 'topage', 'webpage', 'section', 'subsection', 'date', 'isodate', 'time', 'title', 'doctitle', 'sitepage', 'sitepages'];
+ for (var css_class in css_selector_classes) {
+ if (css_selector_classes.hasOwnProperty(css_class)) {
+ var element = document.getElementsByClassName(css_selector_classes[css_class]);
+ for (var j = 0; j < element.length; ++j) {
+ element[j].textContent = vars[css_selector_classes[css_class]];
+ }
+ }
+ }
+}
+</script></head>
+<body style="border:0; margin: 0;" onload="subst()">
+<table style="width: 100%;" >
+ <tr><td colspan="2" style="text-align: center;"><span class="date"></span> <span class="time"></span></td></tr>
+ <tr>
+ <td></td>
+ <td style="text-align:right">
+ Page <span class="page"></span>/<span class="topage"></span>
+ </td>
+ </tr>
+</table>
+</body></html>
\ No newline at end of file
--- /dev/null
+
+
+
+
+
+
+
+
+<!DOCTYPE html>
+<html><head>
+<meta charset="UTF-8">
+</head><body style="border:0; margin: 0;" o>
+<table style="width: 100%;">
+ <tr>
+ <td style="width: 150mm; margin-top:5mm;">
+ <h2>Plan d'Organisation du Travail<h2>
+ <h4>du 30.12.2019 au 23.02.2020</h4>
+ </td>
+ <td style="width: 60mm;text-align: right;">
+ <div style="text-align: left;width: 60mm; font-size: 12pt;font: sans;">
+ <b>Portanova s.Ã r.l.</b><br/>
+ rue de la faïencerie<br/>
+ Luxembourg<br/><br/>
+ <br/>
+ TVA: <br/>
+ </div>
+ </td>
+ <tr><td style="text-align: left;"></td><td></td></tr>
+ </tr>
+</table>
+</body></html>
--- /dev/null
+
+
+<!DOCTYPE html>
+<html>
+<head>
+ <title>Invoice</title>
+ <style>
+ div {
+ font-size: 18pt;
+}
+table {
+ font-size: 18pt;
+ border-spacing: unset;
+ border-collapse: unset;
+}
+td.invdatalbl {
+ font-weight: bold;
+ margin: 1mm;
+ padding: 2mm;
+ border-collapse:collapse;;
+ width: 30mm;
+ background-color: #c6c6c6;
+}
+td.invdataval {
+ font-weight: normal;
+ margin: 1mm;
+ padding: 2mm;
+}
+.right{
+ text-align: right;
+}
+table#tbl_products {
+ border-spacing: 0;
+ border-collapse: 0;
+ margin-top: 10mm;
+ width: 100%;
+}
+table#tbl_products td {
+ padding: 2mm;
+ border-bottom: 1px solid black;
+}
+
+table#tbl_products th {
+ margin: 1mm;
+ border: 1px solid #fff;
+ border-bottom: 0px;
+ padding: 2mm;
+ background-color: #c6c6c6;
+}
+
+th.footer {
+ margin: 1mm;
+ border: 1px solid #fff;
+ background-color: unset;
+ border-bottom: 0px;
+ padding: 2mm;
+ text-align: right;
+}
+ </style>
+</head>
+<body>
+ <table>
+ <thead>
+ <tr><td></td></tr>
+ </thead>
+ <tbody>
+ <tr><td></td></tr>
+ </tbody>
+ </table>
+</body>
+</html>
\ No newline at end of file
--- /dev/null
+<?xml version="1.0" encoding="utf-8"?> \r<svg version="1.2" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" \r x="0px" y="0px" width="50px" height="50px" viewBox="0 0 15.52 21.33"> \r<path d="M0,13.575001L15.517,13.575001 7.75846,21.333z M7.7584595,0L15.516999,7.7579999 0,7.7579999z"/> \r</svg>
\ No newline at end of file
function fillselectlist(obj,data,vidcol,vvalcol){
var sellist = [];
- console.log(obj);
+ //console.log(obj);
obj.clearStore();
if (data){
for (var i in data){
var module = {
viewpanel: function(pnlname){
- console.log(pnlname);
+ //console.log(pnlname);
var panels = document.getElementsByClassName("panel");
var toolbars = document.getElementsByClassName("toolbar");
currentview = pnlname;
toolbars[p].style.display = 'none';
}
if (document.getElementById('pnl_' + pnlname)){
- console.log("View pnl_" + pnlname);
+ //console.log("View pnl_" + pnlname);
document.getElementById('pnl_' + pnlname).style.display = 'block';
}else {
alert('Panel pnl_' + pnlname + ' does not exist!');
}else {
rdata = data;
}
- console.log("Data to send: " + decodeURIComponent(rdata));
+ //console.log("Data to send: " + decodeURIComponent(rdata));
var sendurl = api + url;
if (method.toUpperCase() == 'GET'){
sendurl = sendurl + '?' + rdata;
--- /dev/null
+<!-- <button class="w3-bar-item w3-button w3-border w3-right w3-red" onclick="reportperiod.remove();"><img
+ src="[% abspath%]img/icons/remove_white.svg" style="height: 24px;" /></button> -->
+ <!-- <button class="w3-bar-item w3-button w3-border w3-right w3-blue-grey" onclick="reportperiod.edit();"><img
+ src="[% abspath%]img/icons/edit_white.svg" style="height: 24px;" /></button> -->
+<div class="toolbar" id="tbar_tbl_staffworkplan" style="display: none;">
+ <!-- <span id="reportperiodtitlexx"></span>
+ <button class="w3-bar-item w3-button w3-border w3-right w3-red" onclick="staffworkplan.remove();"><img src="[% abspath%]img/icons/remove_white.svg" style="height: 24px;"/></button>
+ <button class="w3-bar-item w3-button w3-border w3-right w3-blue-grey" onclick="staffworkplan.edit();"><img src="[% abspath%]img/icons/edit_white.svg" style="height: 24px;"/></button>
+ <button class="w3-bar-item w3-button w3-border w3-right w3-blue-grey" onclick="staffworkplan.add();"><img src="[% abspath%]img/icons/plus_white.svg" style="height: 24px;"/></button> -->
+</div>
+<div class="toolbar" id="tbar_frm_staffworkplan_edit" style="display: none;">
+ <!-- <button class="w3-bar-item w3-button w3-border w3-blue-grey w3-hover-text-white" onclick="module.viewpanel('tbl_staffworkplan');">retour vers POT Semaines</button> -->
+</div>
+<div class="toolbar" id="tbar_frm_staffworkplan_add" style="display: none;">
+ <!-- <button class="w3-bar-item w3-button w3-border w3-blue-grey w3-hover-text-white" onclick="module.viewpanel('tbl_staffworkplan');">retour vers POT Semaines</button> -->
+</div>
+<div class="toolbar" id="tbar_tbl_daystaffworkplan" style="display: none;">
+ <!-- <span id="reportperiodtitle2"></span>
+ <button class="w3-bar-item w3-button w3-border w3-blue-grey w3-hover-text-white" onclick="module.viewpanel('tbl_staffworkplan');">retour vers POT Semaine</button>-->
+
+</div>
+<div class="toolbar" id="tbar_frm_staffworkplan" style="display: none;">
+ <!-- <button class="w3-bar-item w3-button w3-border w3-blue-grey w3-hover-text-white" onclick="module.viewpanel('tbl_staffworkplan');">retour vers POT Semaine</button> -->
+</div>
+<!-- <div class="w3-display-container panel" id="pnl_tbl_staffworkplan" style="margin-top: 45px;">
+ <div id="tbl_staffworkplan"></div>
+ </div> -->
+ <!-- <div>
+ <div id="tbl_daystaffworkplan"></div>
+ </div> -->
+<!-- Add Plan begin -->
+ <!-- <div class="w3-display-container w3-padding-24 panel" id="pnl_frm_staffworkplan_add" style=" margin-top: 20px;display: none;">
+ <div class="w3-container w3-padding-24 w3-card w3-margin w3-margin-bottom">
+ <form id="frm_staffworkplan_add">
+ <h3>Plan de travail</h3>
+ <div class="w3-row-padding">
+ <div class="w3-container">
+
+ <div class="w3-container w3-card w3-padding">
+ [% fieldmultiselectbox('id_staff_add','staffworkplan_add','Employé(es)','','','') %]
+ [% fieldmultidatebox('dates_add','staffworkplan_add','Date(s)','','','') %]
+ [% fieldmultidatebox('daterange_add','staffworkplan_add','Période','w3-half','','') %]
+ </div>
+ [% #fieldmultiselectbox('weekdays','display','Jours','','','') %]
+ <div class="w3-container w3-card w3-padding">
+ [% fieldselectbox('id_workplan_add','staffworkplan_add','Modèle','w3-third','','','') %]
+ </div>
+ [% FOREACH tt IN wd %]
+ [% wday = tt.wd %]
+ [% headday = tt.day %]
+ <div class="w3-container w3-card w3-padding">
+ <h4>[% headday %]</h4>
+ <div class="w3-row">
+ <div class="w3-container">
+ [% fieldhidden("${wday}_id_add",'staffworkplan_add','')%]
+ [% fieldtimebox("${wday}_timestart1_add",'staffworkplan_add','début 1','','','') %]
+ [% fieldtimebox("${wday}_timeend1_add",'staffworkplan_add','fin 1','','','') %]
+ [% fieldtimebox("${wday}_timepause_add",'staffworkplan_add','pause','','','') %]
+ [% fieldtimebox("${wday}_timestart2_add",'staffworkplan_add','début 2','','','') %]
+ [% fieldtimebox("${wday}_timeend2_add",'staffworkplan_add','fin 2','','','') %]
+ [% fieldtimebox("${wday}_interruption_add",'satffaworkplan_add','coupure','','readonly','') %]
+ [% fieldtimebox("${wday}_workhours_add",'staffworkplan_add',"Total",'','readonly','') %]
+ </div>
+
+ </div>
+ </div>
+ [% END %]
+ </div>
+ <div class="w3-container w3-right-align">
+ <button class="w3-button w3-blue-grey w3-margin" id="btnsave_staffworkplan_add" onclick="staffworkplan.save();return false;">sauvegarder</button>
+ </div>
+ </div>
+ </form>
+ </div>
+
+ </div> -->
+ <!-- Add plan end-->
+ <!-- Edit Plan begin -->
+ <!-- <div class="w3-display-container w3-padding-24 panel" id="pnl_frm_staffworkplan_edit" style=" margin-top: 20px;display: none;">
+ <div class="w3-container w3-padding-24 w3-card w3-margin w3-margin-bottom">
+ <form id="frm_staffworkplan_edit">
+ <h3>Plan de travail</h3>
+ <div class="w3-row-padding">
+ <div class="w3-container">
+
+ <div class="w3-container w3-padding">
+ [% fieldhidden('id_staff','staffworkplan','') %]
+
+ [% fieldeditbox('dspstaffname','staffworkplan','Salarié','w3-half','readonly','') %]
+ [% fieldselectbox('id_workplan','staffworkplan','Changer Modèle POT','w3-third','','','') %]
+
+ </div>
+ <div class="w3-container w3-card w3-padding">
+ <h4 id="week_title">Semaine</h4>
+ <div class="w3-row">
+ <div class="w3-container">
+
+ [% fieldtimebox("week_workhours",'display',"Total POT",'w3-fifth','readonly','') %]
+ [% fieldtimebox("week_vacancyhours",'display',"Total Congé",'w3-fifth','readonly','') %]
+ [% fieldtimebox("week_recuperationhours",'display',"Total Récup",'w3-fifth','readonly','') %]
+ [% fieldtimebox("week_hoursdiff",'display',"Nouv. à récup.",'w3-fifth','readonly','') %]
+ [% fieldtimebox("week_hoursrestbefore",'display',"à récup. d'avant",'w3-fifth','readonly','') %]
+ </div>
+ </div>
+ </div>
+
+ [% FOREACH tt IN wd %]
+ [% wday = tt.wd %]
+ [% headday = tt.day %]
+ <div class="w3-container w3-card w3-padding">
+ <h4 id="[% wday%]_title">[% headday %]</h4>
+ <div class="w3-row">
+ <div class="w3-container w3-third">
+ <h5>POT</h5>
+ <div class="w3-container">
+ [% fieldhidden("${wday}_id",'staffworkplan','') %]
+ [% fieldhidden("${wday}_daydate",'staffworkplan','') %]
+ [% fieldtimebox("${wday}_timestart1",'staffworkplan','début 1','w3-fifth','','') %]
+ [% fieldtimebox("${wday}_timeend1",'staffworkplan','fin 1','w3-fifth','','') %]
+ </div>
+ <div class="w3-container">
+ [% fieldtimebox("${wday}_timestart2",'staffworkplan','début 2','w3-fifth','','') %]
+ [% fieldtimebox("${wday}_timeend2",'staffworkplan','fin 2','w3-fifth','','') %]
+ [% fieldtimebox("${wday}_timepause",'staffworkplan','pause','w3-fifth','','') %]
+ </div>
+ <div class="w3-container">
+ [% fieldtimebox("${wday}_workhours",'staffworkplan',"Total",'w3-fifth','readonly','') %]
+ [% fieldtimebox("${wday}_interruptionhours",'staffworkplan','coupure','','readonly','') %]
+ </div>
+ </div>
+ <div class="w3-container w3-third card_vacancy">
+
+ <div class="w3-container">
+ <h5>Congé</h5>
+ [% fieldselectbox("${wday}_id_vacancytype",'staffworkplan','Type de congé','w3-half','','','dayvacancy') %]
+ [% fieldtimebox("${wday}_vacancyhours",'staffworkplan','Heures','w3-half','','','vacdaytotal') %]
+ </div>
+
+ <div class="w3-container">
+ <h5>Repos</h5>
+ [% fieldselectbox("${wday}_id_recuperationtype",'staffworkplan','type de repos','w3-half','','','dayrepos') %]
+ [% fieldtimebox("${wday}_recuperationhours",'staffworkplan','Heures','w3-half','','','repdaytotal') %]
+ </div>
+
+ </div>
+ <div class="w3-container w3-third card_totals">
+ <div class="w3-container">
+ <h5>Total Jour</h5>
+ [% fieldtimebox("${wday}_dayhours",'staffworkplan','Total Jour','','readonly','','wdaytotal') %]
+ </div>
+ </div>
+
+ </div>
+ </div>
+ [% END %]
+ </div>
+ <div class="w3-container w3-right-align">
+ <button class="w3-button w3-blue-grey w3-margin" id="btnsave_staffworkplan_edit" onclick="staffworkplan.save_edit();return false;">sauvegarder</button>
+ </div>
+ </div>
+ </form>
+ </div>
+
+ </div> -->
+ <!-- And edit plan -->
+
+ <!-- <div id="dlg_reportperiod" class="w3-modal">
+ <div class="w3-modal-content w3-animate-top w3-card-4">
+ <header class="w3-container">
+ <span onclick="document.getElementById('dlg_reportperiod').style.display='none'; return false;" class="w3-button w3-display-topright">×</span>
+ <h2 id="dlgdelete_title">editer période</h2>
+ </header>
+ <div class="w3-container">
+ <div id="reportperiod_infomsg"></div>
+ <form id="frm_reportperiod">
+ [% fieldhidden("id","reportperiod",'ident','') %]
+ [% #fieldhidden("enddate","reportperiod",'','') %]
+
+ [% #fieldeditbox("periodname","reportperiod","Nom",'','','','') %]
+ <
+ <div class="w3-cell-row">
+ [% #fieldselectbox("id_staffgroup","reportperiod","Département",'w3-half','','','') %]
+ </div>
+ <div class="w3-cell-row">
+ [% #fielddatebox("startdate","reportperiod","début",'w3-fifth','','','') %]
+ [% #fieldnumberbox("periodlength","reportperiod","Durée",'w3-fifth','','','',1,'',1) %]
+ [% #fieldselectbox("periodtype","reportperiod","Unité",'w3-fifth','','','') %]
+ [% #fieldeditbox("dspenddate","display","fin",'w3-fifth','readonly','','') %]
+ </div>
+ [% IF session.usergroup == "manager" || session.usergroup == "admin" %]
+ <div class="w3-cell-row">
+ [% fieldcheckbox("isvalidated","reportperiod","Validé",'','','1') %]
+ [% fieldhidden("id_validateuser","reportperiod",'','') %]
+ </div>
+ [% END %]
+
+ </form>
+ </div>
+ <footer class="w3-container w3-right-align w3-padding-16">
+ <button class="w3-button w3-theme-light w3-margin-right w3-border" onclick="document.getElementById('dlg_reportperiod').style.display='none'; return false;">Annuler</button>
+ <button class="w3-button w3-blue-grey w3-margin-right w3-border" onclick="reportperiod.save();return false;">Sauvegarder</button>
+ </footer>
+ </div>
+ </div> -->
\ No newline at end of file
--- /dev/null
+var reportperiod ={
+ tbl: null,
+ selected: null,
+ name: "reportperiod",
+ choices:{},
+ initform: function(){
+ // flatpickr("#startdate",{altInput: true,
+ // altFormat: "d.m.Y",
+ // dateFormat: "Y-m-d",
+ // weekNumbers: true,
+ // // "disable": [
+ // // function(date) {
+ // // // return true to disable
+ // // return (date.getDay() !== 1);
+ // // }
+ // // ],
+ // "locale": "fr",
+ // });
+ // flatpickr("#enddate",{altInput: true,
+ // altFormat: "d.m.Y",
+ // dateFormat: "Y-m-d",
+ // weekNumbers: true,
+ // // "disable": [
+ // // function(date) {
+ // // // return true to disable
+ // // return (date.getDay() !== 0);
+ // // }
+ // // ],
+ // "locale": "fr",
+ // });
+ // reportperiod.choices["id_staffgroup"] = new Choices('#id_staffgroup',{
+ // searchEnabled: false,
+ // itemSelectText: '',
+ // removeItemButton: false,
+ // choices : []
+ // });
+ // reportperiod.choices["periodtype"] = new Choices('#periodtype',{
+ // searchEnabled: false,
+ // itemSelectText: '',
+ // removeItemButton: false,
+ // shouldSort: false,
+ // shouldSortItems: false,
+ // choices : [{"value":"week","label":"semaine(s)"},{"value":"month","label":"mois"}]
+ // });
+ //reportperiod.getstaffgroups();
+ //document.getElementById("periodtype").addEventListener('change', function(event){reportperiod.setenddate(event);});
+ //document.getElementById("periodlength").addEventListener('change', function(event){reportperiod.setenddate(event);});
+ //document.getElementById("startdate").addEventListener('change', function(event){reportperiod.setenddate(event);});
+ },
+ inittable: function(){
+ reportperiod.tbl = new Tabulator("#tbl_" + reportperiod.name, {
+ headerFilterPlaceholder: "filter...",
+ height: "93vh",
+ layout: "fitDataFill",//fitDataFill
+ selectable: 1,
+ // persistence:{
+ // sort: true, //persist column sorting
+ // filter: true, //persist filter sorting
+ // group: true, //persist row grouping
+ // columns: true, //persist columns
+ // },
+ // rowClick:function(e, row){
+ // //e - the click event object
+ // //row - row component
+ // //staffreportperiod.gettbldata();
+
+ // //row.toggleSelect(); //toggle row selected state on row click
+ // },
+ rowContext:function(e, row){e.preventDefault();},
+ // rowFormatter:function(row, data){
+ // //row - JQuery object for row
+ // //data - the data for the row
+ // console.log(data);
+ // if (reportperiod.tbl.getSelectedData()){
+ // //row.css({"background-color":"#A6A6DF"});
+
+ // } else {
+ // //row.removeClass("selected");
+ // }
+ // // if ((data) && (data.selected)){
+ // // row.css({"background-color":"#A6A6DF"});
+ // //
+ // // }else{
+ // //
+ // // }
+ // },
+ groupBy:["staffname"],
+ groupStartOpen:[true],
+ groupClosedShowCalcs:true,
+ groupHeader:[
+ function(value, count, data){ //generate header contents for gender groups
+ return value;
+ },
+ // function(value, count, data){ //generate header contents for gender groups
+ // return value;
+ // },
+ ],
+ columns: [
+ {title: "Periodes de références",
+ columns: [
+ //{title: "Nom",field:"staffname",headerFilter: "input",sorter:"string",width:0,visible: false},
+ { title: "Début",field: "startdate",sorter:"datetime",formatter:"datetime",formatterParams:{inputFormat:"YYYY-MM-DD",outputFormat:"DD.MM.YYYY",invalidPlaceholder:""},headerFilter: "input" },
+ { title: "Fin",field: "enddate",sorter:"datetime",formatter:"datetime",formatterParams:{inputFormat:"YYYY-MM-DD",outputFormat:"DD.MM.YYYY",invalidPlaceholder:""},headerFilter: "input" },
+ {title: "Département",field:"groupname",headerFilter: "input",sorter:"string"},
+ //{title: "Nom" ,field:"surname",headerFilter: "input",sorter:"string"},
+ //{title: "Prénom" ,field:"prename",headerFilter: "input",sorter:"string"},
+ {title: "Contrat", field:"contracthours",sorter: false},
+ {title: "Travail", field:"workhours",sorter: false},
+ {title: "Récup", field:"recuperationhours",sorter: false},
+ {title: "congé", field:"vacancyhours",sorter: false},
+ {title: "Total", field:"totalhours",sorter: false},
+ {title: "Rest", field:"hoursdiff",sorter: false,bottomCalc:reportperiod.periodrestsum} // ,bottomCalcFormatter:"html"
+ ]
+ }
+ ]
+ });
+ //
+ //reportperiod.initform();
+ reportperiod.gettbldata();
+ },
+ gettbldata: function(){
+ req.reqdata("POST", "db.cgi", { "get": "staffreportperiodlist","schemata":schemata}, reportperiod.loadtbldata);
+ },
+ loadtbldata: function(data){
+ if (data && data.sqldata) { reportperiod.tbl.setData(data.sqldata);}
+ },
+ add: function(){
+ //console.log("TEST Add Period!");
+ showactiondlg(schemata,"add_reportperiod","Ajouter","Ajouter prochaine periode?",null,'');
+ //cleanform(reportperiod.name);
+ //module.viewdialog(reportperiod.name,null);
+ return false;
+ },
+ // edit: function(){
+ // // var udata = reportperiod.tbl.getSelectedData();
+ // // if (udata[0]) {
+ // // var uid = udata[0].id;
+ // // req.reqdata("POST","db.cgi",{ "get": reportperiod.name + "data","schemata":schemata,"filter":"id=" + uid},reportperiod.fillform);
+ // // }
+ // // //console.log("TEST Add Period!");
+ // // //cleanform(reportperiod.name);
+ // // module.viewdialog(reportperiod.name,null);
+ // // return false;
+ // },
+ // fillform: function(data){
+ // // if (data && data.sqldata){
+ // // //console.log("Fill Form 2");
+ // // fillformbydataclass2(reportperiod.name,reportperiod.choices,data.sqldata[0]);
+ // // reportperiod.setenddate(null);
+ // // }
+ // },
+ // remove: function(){
+ // var udata = reportperiod.tbl.getSelectedData();
+ // if (udata[0]) {
+ // showdeletedlg(reportperiod.name,udata[0].id,null,reportperiod.afterperiodsave,schemata);
+ // }
+ // },
+ // loadplan: function(){
+ // var udata = reportperiod.tbl.getSelectedData();
+ // if (udata[0]) {
+
+ // var uid = udata[0].id;
+ // staffworkplan.datefrom = udata[0].startdate;
+ // staffworkplan.dateto = udata[0].enddate;
+ // staffworkplan.id_staffgroup= udata[0].id_staffgroup;
+ // console.log("StaffPeriod:" + " ID: "+ udata[0].id_staffgroup +" " + staffworkplan.datefrom + "->" +staffworkplan.dateto);
+ // staffworkplan.getstaff();
+ // document.getElementById("reportperiodtitle").innerHTML=" Periode du <strong>" + moment(udata[0].startdate).lang("fr").format('DD.MM.YYYY') + "</strong> au <strong>" + moment(udata[0].enddate).lang("fr").format('DD.MM.YYYY') + "</strong> - Département <strong>" + udata[0].groupname + "</strong>";
+ // staffworkplan.gettbldata();
+ // module.viewpanel('tbl_' + staffworkplan.name);
+
+ // }
+ // },
+ // afterperiodsave: function(){
+ // reportperiod.gettbldata();
+ // document.getElementById('dlg_reportperiod').style.display='none';
+ // return false;
+ // },
+ // setenddate(event){
+ // console.log("set EndDate");
+ // var startdate = document.getElementById("startdate").value;
+ // var len = document.getElementById("periodlength").value;
+ // var type = document.getElementById("periodtype").value;
+ // console.log(startdate + " + " + len + " " + type );
+ // if (len > 0 && type && startdate){
+ // var xstartdate = moment(startdate);
+ // var nenddate = null;
+ // if (type == 'month'){
+ // nenddate = xstartdate.add(len,'months').subtract(1,'day');
+ // } else {
+ // nenddate = xstartdate.add(len,'weeks').subtract(1,'day');
+ // }
+ // document.getElementById("enddate").value=moment(nenddate).format('YYYY-MM-DD');
+ // document.getElementById("dspenddate").value=moment(nenddate).format('DD.MM.YYYY');
+ // } else {
+ // document.getElementById("enddate").value='';
+ // document.getElementById("dspenddate").value='';
+ // }
+ // },
+ // save: function(){
+ // // var dateend = document.getElementById("enddate").value;
+ // // if (dateend == ''){
+ // // return false;
+ // // }
+
+ // var flds = getformcontent('reportperiod');
+ // delete flds["null"];
+ // delete flds["display_dspenddate"];
+ // var bshowmsg = false;
+ // for (var f in flds){
+ // console.log(f + ":" + flds[f]);
+ // if (flds[f] == "" && f != "ident_reportperiod_id" && f != "reportperiod_isvalidated" && f != "reportperiod_id_validateuser"){
+ // console.log("break:" + f );
+ // bshowmsg = true;
+ // }
+ // }
+ // console.log(flds);
+ // if (bshowmsg){
+ // document.getElementById("reportperiod_infomsg").innerHTML = '<div class="panel w3-red">Tous les champs sont requis!</div>';
+ // return false;
+ // }
+
+ // saveformdata(flds,reportperiod.afterperiodsave,schemata);
+ // },
+ // viewstaffplan: function(){
+ // var udata = reportperiod.tbl.getSelectedData();
+ // if (udata[0]){
+ // staffworkplan.datefrom = udata[0].startdate;
+ // staffworkplan.dateto = udata[0].enddate;
+ // staffworkplan.gettbldata();
+ // module.viewpanel('tbl_staffworkplan');
+ // }
+ // },
+ // getstaffgroups: function(){
+ // req.reqdata("POST","db.cgi",{"get":"staffgroupslist","schemata":schemata},reportperiod.fillstaffgroups);
+ // },
+ // fillstaffgroups: function(data){
+ // fillselectlist(reportperiod.choices["id_staffgroup"],data.sqldata,'id','groupname');
+
+ // },
+ generatereport: function(){
+ var udata = reportperiod.tbl.getSelectedData();
+ if (udata[0]) {
+ dlgreport.show('pot',udata[0],udata[0].periodname);
+ }
+ },
+ datarefresh: function(){
+ showdataloaddlg('','<div class="w3-xxlarge">Attendez s.v.p.!</div>');
+ req.reqdata("POST","db.cgi",{"action":"refreshperiods","schemata":schemata,"params":""},reportperiod.datarefreshdone);
+ return false;
+ },
+ datarefreshdone: function(){
+ closedataloaddlg();
+ return false;
+ },
+ periodrestsum: function(values, data, calcParams){
+ return '00:00';
+ },
+ togglegroups: function(){
+
+ }
+
+}
\ No newline at end of file
return false;
}
-function afteraction(){
+function afteraction(data){
if (afteractioncallback != null){
//console.log("lauch after callback");
//console.log(afterdeletecallback);
- afteractioncallback(null);
+ afteractioncallback(data);
}
document.getElementById('dlgaction').style.display='none';
var sb = document.getElementById("snackbar");
document.getElementById('dlgreport').style.display='none';
showdataloaddlg("Création PDF encours","Attendez s.v.p.");
- req.reqdata("POST","report.cgi",{"generate":dlgreport.list+ '/' + repname,"file": dlgreport.prefix + +".pdf","data":dlgreport.data},dlgreport.openreport);
+ req.reqdata("POST","report.cgi",{"generate":dlgreport.list+ '/' + repname,"file": dlgreport.prefix + "_" + repname +".pdf","data":dlgreport.data},dlgreport.openreport);
return false;
},
show: function(replist,repdata,prefix){
</div>\r
[% END -%]\r
[% MACRO fieldintervalbox(column,table,title,size,state,value,class) BLOCK -%]\r
- <div class="w3-container w3-col" style="width: 120px;">\r
+ <div class="w3-container w3-col [% IF size %][% size %][% END %]">\r
<label for="[% table %]_[% column %]" class="w3-label">[% title %]</label>\r
<div class="w3-container">\r
[% IF state == "disabled" || state == "readonly" %]\r
var currentview = null;
function initpage(){
//schemata = parent.admin.getcurrentSchemata();
- console.log("Current Schema:" + schemata);
+ //console.log("Current Schema:" + schemata);
companies.inittable();
staffgroups.inittable();
module.viewpanel("tbl_companies");
<div id="tbl_companies"></div>
</div>
<div class="w3-display-container w3-padding-24 panel" id="pnl_frm_companies" style=" margin-top: 20px;display: none;" >
- <div class="w3-container w3-padding-24 w3-card w3-margin w3-margin-bottom">
- <form id="frm_companies">
- <h3>Données de l'entreprise</h3>
- <div class="w3-row-padding">
- <div class="w3-container">
- [% fieldhidden('id','companies','ident') %]
- <div class="w3-container">
- [% fieldeditbox('company','companies','Entreprise','w3-half','','','') %]
- [% fieldeditbox('socialtype','companies','dénom. Sociale','w3-quarter','','','s.à r.l.') %]
- [% fieldeditbox('address','companies','Adresse','','','','') %]
- [% fieldeditbox('zip','companies','CP','w3-fifth','','','') %]
- [% fieldeditbox('city','companies','Ville','w3-half','','','') %]
- [% fieldeditbox('country','companies','Pays','w3-quarter','','','Luxembourg') %]
- <div class="w3-container">
- [% fieldeditbox('comregister','companies','No. Registre de Commerce','w3-third','','','B123456') %]
- [% fieldeditbox('vatnumber','companies','No TVA Internationale','w3-third','','','LU12345678') %]
+ <div class="w3-row">
+ <div class="w3-display-container w3-threequarter">
+ <div class="w3-container w3-padding-24 w3-card w3-margin w3-margin-bottom">
+ <form id="frm_companies">
+ <div class="w3-container">
+ <h3>Données de l'entreprise</h3>
+ </div>
+ <div class="w3-row-padding">
+ <div class="w3-container">
+ [% fieldhidden('id','companies','ident') %]
+ <div class="w3-container">
+ [% fieldeditbox('company','companies','Entreprise','w3-half','','','') %]
+ [% fieldeditbox('socialtype','companies','dénom. Sociale','w3-quarter','','','s.à r.l.') %]
+ [% fieldeditbox('address','companies','Adresse','','','','') %]
+ [% fieldeditbox('zip','companies','CP','w3-fifth','','','') %]
+ [% fieldeditbox('city','companies','Ville','w3-half','','','') %]
+ [% fieldeditbox('country','companies','Pays','w3-quarter','','','Luxembourg') %]
+ <div class="w3-container">
+ [% fieldeditbox('comregister','companies','No. Registre de Commerce','w3-third','','','B123456') %]
+ [% fieldeditbox('vatnumber','companies','No TVA Internationale','w3-third','','','LU12345678') %]
+ </div>
+ [% fieldeditbox('email','companies','E-Mail','w3-half','','','') %]
+ [% rdonly = 'readonly' %]
+ [% IF (session.usergroup == 'admin') %]
+ [% fieldeditbox('schemata','companies','Database-Schema','w3-half','readonly','','') %]
+ [% rdonly = '' %]
+ [% END %]
</div>
- [% fieldeditbox('email','companies','E-Mail','w3-half','','','') %]
- [% rdonly = 'readonly' %]
- [% IF (session.usergroup == 'admin') %]
- [% fieldeditbox('schemata','companies','Database-Schema','w3-half','readonly','','') %]
- [% rdonly = '' %]
- [% END %]
- <div class="w3-container">
- <h5>Configuration Périodes</h5>
- [% fielddatebox("reportperiodstart","companies","début",'w3-fifth','','',rdonly) %]
- [% fieldnumberbox("reportperiodlength","companies","Durée",'w3-fifth','','',rdonly,1,'',1) %]
- [% fieldselectbox("reportperiodunit","companies","Unité",'w3-fifth','','',rdonly) %]
- </div>
- </div>
-
-
- </div>
- <div class="w3-container w3-right-align">
- <button class="w3-button w3-blue-grey w3-margin" id="btnsave_companies" onclick="companies.save();return false;">sauvegarder</button>
+ <div class="w3-container">
+ <h3>Configuration Périodes</h3>
+ [% fielddatebox("reportperiodstart","companies","début",'w3-fifth','','',rdonly) %]
+ [% fieldnumberbox("reportperiodlength","companies","Durée",'w3-fifth','','',rdonly,1,'',1) %]
+ [% fieldselectbox("reportperiodunit","companies","Unité",'w3-fifth','','',rdonly) %]
+ </div>
+
+ </div>
+ <div class="w3-container w3-right-align">
+ <button class="w3-button w3-blue-grey w3-margin" id="btnsave_companies" onclick="companies.save();return false;">sauvegarder</button>
+ </div>
+ </div>
+ </form>
+ </div>
+ </div>
+ <div class="w3-display-container w3-quarter">
+ <div class="w3-container w3-padding-24 w3-card w3-margin w3-margin-bottom">
+ <div class="w3-container">
+ <h3>Départements</h3>
+ </div>
+ <div class="w3-bar">
+ <button class="w3-bar-item w3-button w3-border w3-right w3-red" onclick="staffgroups.remove();"><img src="[% abspath%]img/icons/remove_white.svg" style="height: 24px;"/></button>
+ <button class="w3-bar-item w3-button w3-border w3-right w3-blue-grey" onclick="staffgroups.edit();"><img src="[% abspath%]img/icons/edit_white.svg" style="height: 24px;"/></button>
+ <button class="w3-bar-item w3-button w3-border w3-right w3-blue-grey" onclick="staffgroups.add();"><img src="[% abspath%]img/icons/plus_white.svg" style="height: 24px;"/></button>
</div>
+ <div id="tbl_staffgroups"></div>
</div>
- </form>
- </div>
- <div class="w3-container w3-padding-24 w3-card w3-margin w3-margin-bottom">
- <div class="w3-bar">
- <button class="w3-bar-item w3-button w3-border w3-right w3-red" onclick="staffgroups.remove();"><img src="[% abspath%]img/icons/remove_white.svg" style="height: 24px;"/></button>
- <button class="w3-bar-item w3-button w3-border w3-right w3-blue-grey" onclick="staffgroups.edit();"><img src="[% abspath%]img/icons/edit_white.svg" style="height: 24px;"/></button>
- <button class="w3-bar-item w3-button w3-border w3-right w3-blue-grey" onclick="staffgroups.add();"><img src="[% abspath%]img/icons/plus_white.svg" style="height: 24px;"/></button>
</div>
- <div id="tbl_staffgroups"></div>
- </div>
+ <div>
+
+
+
</div>
</div>
<div id="dlg_staffgroups" class="w3-modal">
inittable: function(){
staffgroups.tbl = new Tabulator("#tbl_" + staffgroups.name, {
headerFilterPlaceholder: "filter...",
- height: "94vh",
- layout: "fitData",
+ height: "400px",
+ layout: "fitDataFill",
selectable: 1,
rowContext:function(e, row){
//e - the click event object
var currentview = null;
function initpage(){
schemata = parent.admin.getcurrentSchemata();
- console.log("Current Schema:" + schemata);
+ //console.log("Current Schema:" + schemata);
reportperiod.inittable();
staffperiodweeks.inittable();
- //staffworkplan.inittable();
- //staffworkplan_daily.inittable();
module.viewpanel("tbl_reportperiod");
- //call("reportperiod","inittable");
-
-
}
[% PROCESS macro/fields.tt %]
-[% wd = [ {'wd' => 'mon' ,'day' => 'Lundi'}, {'wd' => 'tue','day' => 'Mardi'}, {'wd' => 'wed','day' => 'Mercredi'}, {'wd' => 'thu','day' => 'Jeudi'}, {'wd' => 'fri','day' => 'Vendredi'}, {'wd' => 'sat' ,'day' => 'Samedi'},
-{'wd' => 'sun','day' =>'Dimanche'} ] %]
+[% #wd = [ {'wd' => 'mon' ,'day' => 'Lundi'}, {'wd' => 'tue','day' => 'Mardi'}, {'wd' => 'wed','day' => 'Mercredi'}, {'wd' => 'thu','day' => 'Jeudi'}, {'wd' => 'fri','day' => 'Vendredi'}, {'wd' => 'sat' ,'day' => 'Samedi'},{'wd' => 'sun','day' =>'Dimanche'} ] %]
<div class="w3-display-container">
<div class="w3-top w3-theme-light w3-border-bottom">
<div class="w3-bar">
- <button class="w3-bar-item w3-button w3-border w3-blue-grey w3-hover-text-white" onclick="module.viewpanel('tbl_reportperiod');">Periodes</button>
+ <button class="w3-bar-item w3-button w3-border" onclick="reportperiod.reloadview();"><img
+ src="[% abspath%]img/icons/poticon.svg" style="height: 24px;" /> Périodes de référence</button>
<div class="toolbar" id="tbar_tbl_reportperiod" style="display: none;">
-
- <!-- <button class="w3-bar-item w3-button w3-border w3-right w3-red" onclick="reportperiod.remove();"><img
- src="[% abspath%]img/icons/remove_white.svg" style="height: 24px;" /></button> -->
- <!-- <button class="w3-bar-item w3-button w3-border w3-right w3-blue-grey" onclick="reportperiod.edit();"><img
- src="[% abspath%]img/icons/edit_white.svg" style="height: 24px;" /></button> -->
- <button class="w3-bar-item w3-button w3-border w3-right w3-blue-grey" onclick="reportperiod.add();"><img
- src="[% abspath%]img/icons/plus_white.svg" style="height: 24px;" /></button>
+ <button class="w3-bar-item w3-button w3-border w3-right" onclick="reportperiod.add();"><img
+ src="[% abspath%]img/icons/plus.svg" style="height: 24px;" /></button>
<button class="w3-bar-item w3-button w3-border w3-right" onclick="staffperiodweeks.loadplan();"><img
- src="[% abspath%]img/icons/poticon.svg" style="height: 24px;" /></button>
+ src="[% abspath%]img/icons/edit.svg" style="height: 24px;" /></button>
<button class="w3-bar-item w3-button w3-border w3-right" onclick="reportperiod.generatereport();"><img
src="[% abspath%]img/icons/pdf.svg" style="height: 24px;" /></button>
<button class="w3-bar-item w3-button w3-border w3-right" onclick="reportperiod.datarefresh();"><img
src="[% abspath%]img/icons/data_refresh.svg" style="height: 24px;" /></button>
+ <!--<button class="w3-bar-item w3-button w3-border w3-right" onclick="reportperiod.togglegroups();"><img
+ rc="[% abspath%]img/icons/expand.svg" style="height: 24px;" /></button>-->
</div>
- <div class="toolbar" id="tbar_tbl_staffworkplan" style="display: none;">
- <!-- <span id="reportperiodtitlexx"></span>
- <button class="w3-bar-item w3-button w3-border w3-right w3-red" onclick="staffworkplan.remove();"><img src="[% abspath%]img/icons/remove_white.svg" style="height: 24px;"/></button>
- <button class="w3-bar-item w3-button w3-border w3-right w3-blue-grey" onclick="staffworkplan.edit();"><img src="[% abspath%]img/icons/edit_white.svg" style="height: 24px;"/></button>
- <button class="w3-bar-item w3-button w3-border w3-right w3-blue-grey" onclick="staffworkplan.add();"><img src="[% abspath%]img/icons/plus_white.svg" style="height: 24px;"/></button> -->
- </div>
- <div class="toolbar" id="tbar_tbl_daystaffworkplan" style="display: none;">
- <!-- <span id="reportperiodtitle2"></span>
- <button class="w3-bar-item w3-button w3-border w3-blue-grey w3-hover-text-white" onclick="module.viewpanel('tbl_staffworkplan');">retour vers POT Semaine</button>
- <button class="w3-bar-item w3-button w3-border w3-right w3-blue-grey" onclick="staffworkplan.save();"><img src="[% abspath%]img/icons/save_white.svg" style="height: 24px;"/></button> -->
- </div>
- <div class="toolbar" id="tbar_frm_staffworkplan" style="display: none;">
- <!-- <button class="w3-bar-item w3-button w3-border w3-blue-grey w3-hover-text-white" onclick="module.viewpanel('tbl_staffworkplan');">retour vers POT Semaine</button> -->
- </div>
+
+
<div class="toolbar" id="tbar_tbl_staffreportperiodweeks" style="display: none;">
<span id="reportperiodtitle"></span>
- <!--<button class="w3-bar-item w3-button w3-border w3-blue-grey w3-hover-text-white" onclick="module.viewpanel('tbl_staffworkplan');">Periodes</button>-->
- </div>
- <div class="toolbar" id="tbar_frm_staffworkplan_edit" style="display: none;">
- <!-- <button class="w3-bar-item w3-button w3-border w3-blue-grey w3-hover-text-white" onclick="module.viewpanel('tbl_staffworkplan');">retour vers POT Semaines</button> -->
- </div>
- <div class="toolbar" id="tbar_frm_staffworkplan_add" style="display: none;">
- <!-- <button class="w3-bar-item w3-button w3-border w3-blue-grey w3-hover-text-white" onclick="module.viewpanel('tbl_staffworkplan');">retour vers POT Semaines</button> -->
+ <button class="w3-bar-item w3-button w3-border w3-right" onclick="staffperiodweeks.edit();"><img src="[% abspath%]img/icons/edit.svg" style="height: 24px;"/></button>
+
</div>
+
</div>
</div>
<div class="w3-display-container panel" id="pnl_tbl_reportperiod" style="margin-top: 45px;">
- <!-- <div class="w3-row">
- <div class="w3-display-container w3-quarter"> -->
<div id="tbl_reportperiod"></div>
- <!-- </div>
- <div class="w3-display-container w3-threequarter">
- <div id="tbl_staffreportperiod"></div>
- </div>
- </div> -->
</div>
<div class="w3-display-container panel" id="pnl_tbl_staffreportperiodweeks" style="margin-top: 45px;">
<div id="tbl_staffreportperiodweeks"></div>
</div>
- <!-- <div class="w3-display-container panel" id="pnl_tbl_staffworkplan" style="margin-top: 45px;">
- <div id="tbl_staffworkplan"></div>
- </div> -->
- <!-- <div>
- <div id="tbl_daystaffworkplan"></div>
- </div> -->
- <!-- Edit Plan begin -->
- <!-- <div class="w3-display-container w3-padding-24 panel" id="pnl_frm_staffworkplan_edit" style=" margin-top: 20px;display: none;">
- <div class="w3-container w3-padding-24 w3-card w3-margin w3-margin-bottom">
- <form id="frm_staffworkplan_edit">
- <h3>Plan de travail</h3>
- <div class="w3-row-padding">
- <div class="w3-container">
-
- <div class="w3-container w3-padding">
- [% fieldhidden('id_staff','staffworkplan','') %]
-
- [% fieldeditbox('dspstaffname','staffworkplan','Salarié','w3-half','readonly','') %]
- [% fieldselectbox('id_workplan','staffworkplan','Changer Modèle POT','w3-third','','','') %]
-
- </div>
- <div class="w3-container w3-card w3-padding">
- <h4 id="week_title">Semaine</h4>
- <div class="w3-row">
- <div class="w3-container">
-
- [% fieldtimebox("week_workhours",'display',"Total POT",'w3-fifth','readonly','') %]
- [% fieldtimebox("week_vacancyhours",'display',"Total Congé",'w3-fifth','readonly','') %]
- [% fieldtimebox("week_recuperationhours",'display',"Total Récup",'w3-fifth','readonly','') %]
- [% fieldtimebox("week_hoursdiff",'display',"Nouv. à récup.",'w3-fifth','readonly','') %]
- [% fieldtimebox("week_hoursrestbefore",'display',"à récup. d'avant",'w3-fifth','readonly','') %]
- </div>
- </div>
- </div>
-
- [% FOREACH tt IN wd %]
- [% wday = tt.wd %]
- [% headday = tt.day %]
- <div class="w3-container w3-card w3-padding">
- <h4 id="[% wday%]_title">[% headday %]</h4>
- <div class="w3-row">
- <div class="w3-container w3-third">
- <h5>POT</h5>
- <div class="w3-container">
- [% fieldhidden("${wday}_id",'staffworkplan','') %]
- [% fieldhidden("${wday}_daydate",'staffworkplan','') %]
- [% fieldtimebox("${wday}_timestart1",'staffworkplan','début 1','w3-fifth','','') %]
- [% fieldtimebox("${wday}_timeend1",'staffworkplan','fin 1','w3-fifth','','') %]
- </div>
- <div class="w3-container">
- [% fieldtimebox("${wday}_timestart2",'staffworkplan','début 2','w3-fifth','','') %]
- [% fieldtimebox("${wday}_timeend2",'staffworkplan','fin 2','w3-fifth','','') %]
- [% fieldtimebox("${wday}_timepause",'staffworkplan','pause','w3-fifth','','') %]
- </div>
- <div class="w3-container">
- [% fieldtimebox("${wday}_workhours",'staffworkplan',"Total",'w3-fifth','readonly','') %]
- [% fieldtimebox("${wday}_interruptionhours",'staffworkplan','coupure','','readonly','') %]
- </div>
- </div>
- <div class="w3-container w3-third card_vacancy">
-
- <div class="w3-container">
- <h5>Congé</h5>
- [% fieldselectbox("${wday}_id_vacancytype",'staffworkplan','Type de congé','w3-half','','','dayvacancy') %]
- [% fieldtimebox("${wday}_vacancyhours",'staffworkplan','Heures','w3-half','','','vacdaytotal') %]
- </div>
-
- <div class="w3-container">
- <h5>Repos</h5>
- [% fieldselectbox("${wday}_id_recuperationtype",'staffworkplan','type de repos','w3-half','','','dayrepos') %]
- [% fieldtimebox("${wday}_recuperationhours",'staffworkplan','Heures','w3-half','','','repdaytotal') %]
- </div>
-
- </div>
- <div class="w3-container w3-third card_totals">
- <div class="w3-container">
- <h5>Total Jour</h5>
- [% fieldtimebox("${wday}_dayhours",'staffworkplan','Total Jour','','readonly','','wdaytotal') %]
- </div>
- </div>
-
- </div>
- </div>
- [% END %]
- </div>
- <div class="w3-container w3-right-align">
- <button class="w3-button w3-blue-grey w3-margin" id="btnsave_staffworkplan_edit" onclick="staffworkplan.save_edit();return false;">sauvegarder</button>
- </div>
- </div>
- </form>
- </div>
- </div> -->
- <!-- And edit plan -->
- <!-- Add Plan begin -->
- <!-- <div class="w3-display-container w3-padding-24 panel" id="pnl_frm_staffworkplan_add" style=" margin-top: 20px;display: none;">
- <div class="w3-container w3-padding-24 w3-card w3-margin w3-margin-bottom">
- <form id="frm_staffworkplan_add">
- <h3>Plan de travail</h3>
- <div class="w3-row-padding">
- <div class="w3-container">
-
- <div class="w3-container w3-card w3-padding">
- [% fieldmultiselectbox('id_staff_add','staffworkplan_add','Employé(es)','','','') %]
- [% fieldmultidatebox('dates_add','staffworkplan_add','Date(s)','','','') %]
- [% fieldmultidatebox('daterange_add','staffworkplan_add','Période','w3-half','','') %]
- </div>
- [% #fieldmultiselectbox('weekdays','display','Jours','','','') %]
- <div class="w3-container w3-card w3-padding">
- [% fieldselectbox('id_workplan_add','staffworkplan_add','Modèle','w3-third','','','') %]
- </div>
- [% FOREACH tt IN wd %]
- [% wday = tt.wd %]
- [% headday = tt.day %]
- <div class="w3-container w3-card w3-padding">
- <h4>[% headday %]</h4>
- <div class="w3-row">
- <div class="w3-container">
- [% fieldhidden("${wday}_id_add",'staffworkplan_add','')%]
- [% fieldtimebox("${wday}_timestart1_add",'staffworkplan_add','début 1','','','') %]
- [% fieldtimebox("${wday}_timeend1_add",'staffworkplan_add','fin 1','','','') %]
- [% fieldtimebox("${wday}_timepause_add",'staffworkplan_add','pause','','','') %]
- [% fieldtimebox("${wday}_timestart2_add",'staffworkplan_add','début 2','','','') %]
- [% fieldtimebox("${wday}_timeend2_add",'staffworkplan_add','fin 2','','','') %]
- [% fieldtimebox("${wday}_interruption_add",'satffaworkplan_add','coupure','','readonly','') %]
- [% fieldtimebox("${wday}_workhours_add",'staffworkplan_add',"Total",'','readonly','') %]
- </div>
-
- </div>
- </div>
- [% END %]
- </div>
- <div class="w3-container w3-right-align">
- <button class="w3-button w3-blue-grey w3-margin" id="btnsave_staffworkplan_add" onclick="staffworkplan.save();return false;">sauvegarder</button>
- </div>
+ <div id="dlg_staffreportperioddays" class="w3-modal">
+ <div class="w3-modal-content w3-animate-top w3-card-4">
+ <header class="w3-container">
+ <span onclick="document.getElementById('dlg_staffreportperioddays').style.display='none'; return false;" class="w3-button w3-display-topright">×</span>
+ <h2 id="dlg_staffreportperioddays_title">Editer Jour</h2>
+ </header>
+ <div class="w3-container">
+ <div id="staffreportperioddays_infomsg"></div>
+ <form id="frm_staffreportperioddays">
+ <div class="w3-container w3-padding">
+ <h4 id="display_date">dd, DD.MM.YYYY</h4>
+ <div class="w3-row">
+ <div class="w3-container w3-half">
+ <h5>Heures de travail</h5>
+ <div class="w3-container">
+ [% fieldhidden("id",'staffreportperioddays','ident') %]
+ [% #fieldhidden("daydate",'staffreportperioddays','') %]
+ [% fieldtimebox("timestart1",'staffreportperioddays','début 1','w3-fifth','','') %]
+ [% fieldtimebox("timeend1",'staffreportperioddays','fin 1','w3-fifth','','') %]
</div>
- </form>
- </div>
-
- </div> -->
- <!-- Add plan end-->
- <!-- <div id="dlg_reportperiod" class="w3-modal">
- <div class="w3-modal-content w3-animate-top w3-card-4">
- <header class="w3-container">
- <span onclick="document.getElementById('dlg_reportperiod').style.display='none'; return false;" class="w3-button w3-display-topright">×</span>
- <h2 id="dlgdelete_title">editer période</h2>
- </header>
- <div class="w3-container">
- <div id="reportperiod_infomsg"></div>
- <form id="frm_reportperiod">
- [% fieldhidden("id","reportperiod",'ident','') %]
- [% #fieldhidden("enddate","reportperiod",'','') %]
-
- [% #fieldeditbox("periodname","reportperiod","Nom",'','','','') %]
- <
- <div class="w3-cell-row">
- [% #fieldselectbox("id_staffgroup","reportperiod","Département",'w3-half','','','') %]
- </div>
- <div class="w3-cell-row">
- [% #fielddatebox("startdate","reportperiod","début",'w3-fifth','','','') %]
- [% #fieldnumberbox("periodlength","reportperiod","Durée",'w3-fifth','','','',1,'',1) %]
- [% #fieldselectbox("periodtype","reportperiod","Unité",'w3-fifth','','','') %]
- [% #fieldeditbox("dspenddate","display","fin",'w3-fifth','readonly','','') %]
- </div>
- [% IF session.usergroup == "manager" || session.usergroup == "admin" %]
- <div class="w3-cell-row">
- [% fieldcheckbox("isvalidated","reportperiod","Validé",'','','1') %]
- [% fieldhidden("id_validateuser","reportperiod",'','') %]
- </div>
- [% END %]
-
- </form>
+ <div class="w3-container">
+ [% fieldtimebox("timestart2",'staffreportperioddays','début 2','w3-fifth','','') %]
+ [% fieldtimebox("timeend2",'staffreportperioddays','fin 2','w3-fifth','','') %]
+ [% fieldtimebox("timepause",'staffreportperioddays','pause','w3-fifth','','') %]
+ </div>
+ <div class="w3-container">
+ [% fieldtimebox("workhours",'staffreportperioddays',"Total",'w3-fifth','readonly','') %]
+ [% fieldtimebox("interruptionhours",'staffreportperioddays','coupure','','readonly','') %]
+ </div>
+ </div>
+ <div class="w3-container w3-half card_vacancy">
+ <div class="w3-container">
+ <h5>Congé</h5>
+ [% fieldselectbox("id_vacancytype",'staffreportperioddays','Type de congé','w3-half','','','dayvacancy') %]
+ [% fieldtimebox("vacancyhours",'staffreportperioddays','Heures','w3-half','','','vacdaytotal') %]
+ </div>
+ <div class="w3-container">
+ <h5>Récup</h5>
+ [% fieldselectbox("id_recuperationtype",'staffreportperioddays','type de repos','w3-half','','','dayrepos') %]
+ [% fieldtimebox("recuperationhours",'staffreportperioddays','Heures','w3-half','','','repdaytotal') %]
+ </div>
+ <div class="w3-container">
+ <h5>Total Jour</h5>
+ [% fieldtimebox("dayhours",'staffreportperioddays','Total Jour','','readonly','','wdaytotal') %]
+ </div>
+ </div>
</div>
- <footer class="w3-container w3-right-align w3-padding-16">
- <button class="w3-button w3-theme-light w3-margin-right w3-border" onclick="document.getElementById('dlg_reportperiod').style.display='none'; return false;">Annuler</button>
- <button class="w3-button w3-blue-grey w3-margin-right w3-border" onclick="reportperiod.save();return false;">Sauvegarder</button>
- </footer>
- </div>
- </div> -->
-
+ </div>
+ </form>
+ </div>
+ <footer class="w3-container w3-right-align w3-padding-16">
+ <button class="w3-button w3-theme-light w3-margin-right w3-border" onclick="document.getElementById('dlg_staffreportperioddays').style.display='none'; return false;">Annuler</button>
+ <button class="w3-button w3-blue-grey w3-margin-right w3-border" id="btn_saveday" onclick="staffperiodweeks.save();return false;">Sauvegarder</button>
+ </footer>
+ </div>
+ </div>
+</div>
[% INCLUDE block/dlgdeleterow.tt %]
[% INCLUDE block/dlgmessage.tt %]
[% INCLUDE block/dlgdataload.tt %]
[% INCLUDE block/dlgreport.tt %]
[% INCLUDE block/dlgaction.tt %]
<script src="reportperiod.js"></script>
- <!-- <script src="staffreportperiod.js"></script> -->
- <script src="staffperiodweeks.js"></script>
- <!--<script src="staffworkplan_daily.js"></script>-->
\ No newline at end of file
+ <script src="staffperiodweeks.js"></script>
\ No newline at end of file
name: "reportperiod",
choices:{},
initform: function(){
- // flatpickr("#startdate",{altInput: true,
- // altFormat: "d.m.Y",
- // dateFormat: "Y-m-d",
- // weekNumbers: true,
- // // "disable": [
- // // function(date) {
- // // // return true to disable
- // // return (date.getDay() !== 1);
- // // }
- // // ],
- // "locale": "fr",
- // });
- // flatpickr("#enddate",{altInput: true,
- // altFormat: "d.m.Y",
- // dateFormat: "Y-m-d",
- // weekNumbers: true,
- // // "disable": [
- // // function(date) {
- // // // return true to disable
- // // return (date.getDay() !== 0);
- // // }
- // // ],
- // "locale": "fr",
- // });
- // reportperiod.choices["id_staffgroup"] = new Choices('#id_staffgroup',{
- // searchEnabled: false,
- // itemSelectText: '',
- // removeItemButton: false,
- // choices : []
- // });
- // reportperiod.choices["periodtype"] = new Choices('#periodtype',{
- // searchEnabled: false,
- // itemSelectText: '',
- // removeItemButton: false,
- // shouldSort: false,
- // shouldSortItems: false,
- // choices : [{"value":"week","label":"semaine(s)"},{"value":"month","label":"mois"}]
- // });
- //reportperiod.getstaffgroups();
- //document.getElementById("periodtype").addEventListener('change', function(event){reportperiod.setenddate(event);});
- //document.getElementById("periodlength").addEventListener('change', function(event){reportperiod.setenddate(event);});
- //document.getElementById("startdate").addEventListener('change', function(event){reportperiod.setenddate(event);});
+
},
inittable: function(){
reportperiod.tbl = new Tabulator("#tbl_" + reportperiod.name, {
// group: true, //persist row grouping
// columns: true, //persist columns
// },
- // rowClick:function(e, row){
- // //e - the click event object
- // //row - row component
- // //staffreportperiod.gettbldata();
-
- // //row.toggleSelect(); //toggle row selected state on row click
- // },
rowContext:function(e, row){e.preventDefault();},
- // rowFormatter:function(row, data){
- // //row - JQuery object for row
- // //data - the data for the row
- // console.log(data);
- // if (reportperiod.tbl.getSelectedData()){
- // //row.css({"background-color":"#A6A6DF"});
-
- // } else {
- // //row.removeClass("selected");
- // }
- // // if ((data) && (data.selected)){
- // // row.css({"background-color":"#A6A6DF"});
- // //
- // // }else{
- // //
- // // }
- // },
groupBy:["staffname"],
groupStartOpen:[true],
groupClosedShowCalcs:true,
function(value, count, data){ //generate header contents for gender groups
return value;
},
- // function(value, count, data){ //generate header contents for gender groups
- // return value;
- // },
],
columns: [
{title: "Periodes de références",
loadtbldata: function(data){
if (data && data.sqldata) { reportperiod.tbl.setData(data.sqldata);}
},
+ reloadview: function(){
+ reportperiod.gettbldata();
+ module.viewpanel('tbl_reportperiod');
+ },
add: function(){
//console.log("TEST Add Period!");
- showactiondlg(schemata,"add_reportperiod","Ajouter","Ajouter prochaine periode?",null,'');
+ showactiondlg(schemata,"add_reportperiod","Ajouter","Ajouter prochaine periode?",reportperiod.afterreportadded,'');
//cleanform(reportperiod.name);
//module.viewdialog(reportperiod.name,null);
return false;
},
- // edit: function(){
- // // var udata = reportperiod.tbl.getSelectedData();
- // // if (udata[0]) {
- // // var uid = udata[0].id;
- // // req.reqdata("POST","db.cgi",{ "get": reportperiod.name + "data","schemata":schemata,"filter":"id=" + uid},reportperiod.fillform);
- // // }
- // // //console.log("TEST Add Period!");
- // // //cleanform(reportperiod.name);
- // // module.viewdialog(reportperiod.name,null);
- // // return false;
- // },
- // fillform: function(data){
- // // if (data && data.sqldata){
- // // //console.log("Fill Form 2");
- // // fillformbydataclass2(reportperiod.name,reportperiod.choices,data.sqldata[0]);
- // // reportperiod.setenddate(null);
- // // }
- // },
- // remove: function(){
- // var udata = reportperiod.tbl.getSelectedData();
- // if (udata[0]) {
- // showdeletedlg(reportperiod.name,udata[0].id,null,reportperiod.afterperiodsave,schemata);
- // }
- // },
- // loadplan: function(){
- // var udata = reportperiod.tbl.getSelectedData();
- // if (udata[0]) {
-
- // var uid = udata[0].id;
- // staffworkplan.datefrom = udata[0].startdate;
- // staffworkplan.dateto = udata[0].enddate;
- // staffworkplan.id_staffgroup= udata[0].id_staffgroup;
- // console.log("StaffPeriod:" + " ID: "+ udata[0].id_staffgroup +" " + staffworkplan.datefrom + "->" +staffworkplan.dateto);
- // staffworkplan.getstaff();
- // document.getElementById("reportperiodtitle").innerHTML=" Periode du <strong>" + moment(udata[0].startdate).lang("fr").format('DD.MM.YYYY') + "</strong> au <strong>" + moment(udata[0].enddate).lang("fr").format('DD.MM.YYYY') + "</strong> - Département <strong>" + udata[0].groupname + "</strong>";
- // staffworkplan.gettbldata();
- // module.viewpanel('tbl_' + staffworkplan.name);
-
- // }
- // },
- // afterperiodsave: function(){
- // reportperiod.gettbldata();
- // document.getElementById('dlg_reportperiod').style.display='none';
- // return false;
- // },
- // setenddate(event){
- // console.log("set EndDate");
- // var startdate = document.getElementById("startdate").value;
- // var len = document.getElementById("periodlength").value;
- // var type = document.getElementById("periodtype").value;
- // console.log(startdate + " + " + len + " " + type );
- // if (len > 0 && type && startdate){
- // var xstartdate = moment(startdate);
- // var nenddate = null;
- // if (type == 'month'){
- // nenddate = xstartdate.add(len,'months').subtract(1,'day');
- // } else {
- // nenddate = xstartdate.add(len,'weeks').subtract(1,'day');
- // }
- // document.getElementById("enddate").value=moment(nenddate).format('YYYY-MM-DD');
- // document.getElementById("dspenddate").value=moment(nenddate).format('DD.MM.YYYY');
- // } else {
- // document.getElementById("enddate").value='';
- // document.getElementById("dspenddate").value='';
- // }
- // },
- // save: function(){
- // // var dateend = document.getElementById("enddate").value;
- // // if (dateend == ''){
- // // return false;
- // // }
-
- // var flds = getformcontent('reportperiod');
- // delete flds["null"];
- // delete flds["display_dspenddate"];
- // var bshowmsg = false;
- // for (var f in flds){
- // console.log(f + ":" + flds[f]);
- // if (flds[f] == "" && f != "ident_reportperiod_id" && f != "reportperiod_isvalidated" && f != "reportperiod_id_validateuser"){
- // console.log("break:" + f );
- // bshowmsg = true;
- // }
- // }
- // console.log(flds);
- // if (bshowmsg){
- // document.getElementById("reportperiod_infomsg").innerHTML = '<div class="panel w3-red">Tous les champs sont requis!</div>';
- // return false;
- // }
-
- // saveformdata(flds,reportperiod.afterperiodsave,schemata);
- // },
- // viewstaffplan: function(){
- // var udata = reportperiod.tbl.getSelectedData();
- // if (udata[0]){
- // staffworkplan.datefrom = udata[0].startdate;
- // staffworkplan.dateto = udata[0].enddate;
- // staffworkplan.gettbldata();
- // module.viewpanel('tbl_staffworkplan');
- // }
- // },
- // getstaffgroups: function(){
- // req.reqdata("POST","db.cgi",{"get":"staffgroupslist","schemata":schemata},reportperiod.fillstaffgroups);
- // },
- // fillstaffgroups: function(data){
- // fillselectlist(reportperiod.choices["id_staffgroup"],data.sqldata,'id','groupname');
-
- // },
+ afterreportadded(data){
+ reportperiod.gettbldata();
+ },
generatereport: function(){
var udata = reportperiod.tbl.getSelectedData();
+ var repdata = {"schemata":schemata,"id_reportperiod":udata[0].id_reportperiod};
if (udata[0]) {
- dlgreport.show('pot',udata[0],udata[0].periodname);
+ dlgreport.show('pot',repdata,"periode_" + moment(udata[0].startdate).format("YYYYMMDD") + "-" + moment(udata[0].enddate).format("YYYYMMDD"));
}
},
datarefresh: function(){
showdataloaddlg('','<div class="w3-xxlarge">Attendez s.v.p.!</div>');
- req.reqdata("POST","db.cgi",{"action":"refreshperiods","schemata":schemata,"params":""},reportperiod.datarefreshdone);
+ req.reqdata("POST","db.cgi",{"action":"refresh_periods","schemata":schemata,"params":""},reportperiod.datarefreshdone);
return false;
},
datarefreshdone: function(){
+ reportperiod.gettbldata();
closedataloaddlg();
return false;
},
periodrestsum: function(values, data, calcParams){
return '00:00';
+ },
+ togglegroups: function(){
+
}
+
}
\ No newline at end of file
+var daycheck ={
+ maxdayhours: 600, //minutes
+ maxinterruption: 180, //minutes
+ maxweekcheck: 2880//minutes
+}
var staffperiodweeks = {
tbl: null,
name: "staffreportperiodweeks",
+ currentday: null,
+ choices:{"id_vacancytype":null,"id_recuperationtype":null},
+ initform: function(){
+ flatpickr(".timefield",{
+ //altInput: true,
+ //altFormat: "H:i",
+ dateFormat: "H:i",
+ //allowInput: true,
+ defaultHour:'',
+ defaultMinute:'',
+ enableTime: true,
+ noCalendar: true,
+ time_24hr: true,
+ "locale": "fr",
+ });
+ staffperiodweeks.choices["id_vacancytype"] = new Choices("#id_vacancytype",{
+ searchEnabled: false,
+ itemSelectText: '',
+ removeItemButton: true,
+ shouldSort: false,
+ shouldSortItems: false,
+ choices : []
+ });
+ staffperiodweeks.choices["id_recuperationtype"] = new Choices("#id_recuperationtype",{
+ searchEnabled: false,
+ itemSelectText: '',
+ removeItemButton: true,
+ shouldSort: false,
+ shouldSortItems: false,
+ choices : []
+ });
+ staffperiodweeks.getvacancy();
+ staffperiodweeks.getrecuperation();
+ var tfields = document.getElementsByClassName("timefield");
+ for (var i=0;i<tfields.length;i++){
+
+ //console.log(tfields[i]);
+ if (tfields[i].id == "vacancyhours" || tfields[i].id == "recuperationhours" || tfields[i].id == "workhours"){
+ //console.log("timefield:" + tfields[i].id + "=> event checkdaytime" );
+ tfields[i].addEventListener("change",function(){staffperiodweeks.checkdaytime();});
+ } else if (!tfields[i].readonly){
+ //console.log("timefield:" + tfields[i].id + "=> event checkworktime" );
+ tfields[i].addEventListener("change",function(){staffperiodweeks.checkworktime();});
+ } else {
+ //console.log("timefield:" + tfields[i].id + "=> no event" );
+ }
+
+ }
+ document.getElementById("id_vacancytype").addEventListener('change', function(event){staffperiodweeks.setvacancyhours(event,this.id);});
+ document.getElementById("id_recuperationtype").addEventListener('change', function(event){staffperiodweeks.setrecuperationhours(event,this.id);});
+ },
inittable: function(){
staffperiodweeks.tbl = new Tabulator("#tbl_" + staffperiodweeks.name, {
height: "94vh",
{ title: "Congé",field: "vacancyhours",sorter: false,align:"right",bottomCalc:staffperiodweeks.setweekvacancyhours},
{ title: "Récup.",field: "recuperationhours",align:"right",sorter: false,bottomCalc:staffperiodweeks.setweekrecuperationhours},
{ title: "Total",field: "dayhours",align:"right",sorter: false,bottomCalc:staffperiodweeks.setweektotalhours},
- { title: "Diff",field:"diffhours",align:"right",sorter:false,bottomCalc:staffperiodweeks.setweekdiffhours}
+ { title: "Diff",field:"diffhours",align:"right",formatter:nullFormatter,sorter:false,bottomCalc:staffperiodweeks.setweekdiffhours}
//week_contracthours,week_workhours,week_vacancyhours,week_recuperationhours,week_totalhours,week_diffhours
]
});
+ staffperiodweeks.initform();
},
gettbldata: function(){
return "";
},
setweekdiffhours: function(values, data, calcParams){
- console.log(data[0]);
+ //console.log(data[0]);
if (data[0] && data[0].week_diffhours){return data[0].week_diffhours;}
return "";
+ },
+ edit: function(){
+ cleanform2("staffreportperioddays",staffperiodweeks.choices);
+ var cday = staffperiodweeks.tbl.getSelectedData();
+
+ if (cday[0]){
+ staffperiodweeks.currentday = cday[0];
+ fillformbydataclass2("staffreportperioddays",staffperiodweeks.choices,staffperiodweeks.currentday);
+ //console.log(cday[0]);
+ document.getElementById("display_date").innerHTML=moment(staffperiodweeks.currentday.daydate).format("dddd , DD.MM.YYY");
+ module.viewdialog('staffreportperioddays');
+ }
+ },
+ save: function(){
+ var datamsg = "";
+ var wpdata = getformcontent("staffreportperioddays");
+
+ //var allrows=[];
+ document.getElementById('dlg_staffreportperioddays').style.display='none';
+ delete wpdata.staffreportperioddays_workhours;
+ delete wpdata.staffreportperioddays_interruptionhours;
+ delete wpdata.staffreportperioddays_dayhours;
+ wpdata["fn"] ="saveform";
+ wpdata["schemata"] = schemata;
+ //console.log(wpdata);
+ showdataloaddlg('','<div class="w3-xxlarge">Attendez s.v.p.!</div>');
+ req.reqdata("POST","index.cgi",wpdata,staffperiodweeks.afterdatasaved);
+
+ return false;
+ },
+ afterdatasaved: function(data){
+ req.reqdata("POST", "db.cgi", {
+ "action": "update_staff_in_period",
+ "schemata": schemata,
+ "params": staffperiodweeks.currentday.id_reportperiod+","+staffperiodweeks.currentday.id_staff
+ }, staffperiodweeks.daysaved);
+ },
+ daysaved: function(){
+ staffperiodweeks.gettbldata();
+ formsaved({});
+ closedataloaddlg();
+ return false;
+ },
+ getvacancy: function(){
+
+ req.reqdata("POST","db.cgi",{"get":"vacancylist","schemata":schemata,"filter":"isworktime=true"}, staffperiodweeks.fillvacancy);
+ },
+ fillvacancy: function(data){
+ fillselectlist(staffperiodweeks.choices["id_vacancytype"],data.sqldata,'id','vacancyname');
+ },
+ getrecuperation: function(){
+
+ req.reqdata("POST","db.cgi",{"get":"vacancylist","schemata":schemata,"filter":"isworktime=false"}, staffperiodweeks.fillrecuperation);
+ },
+ fillrecuperation: function(data){
+ fillselectlist(staffperiodweeks.choices["id_recuperationtype"],data.sqldata,'id','vacancyname');
+ },
+ setvacancyhours: function(ev,id){
+
+ if (!ev.detail.value){
+ document.getElementById("vacancyhours")._flatpickr.clear();
+ } else {
+ if (!document.getElementById("vacancyhours").value){
+ document.getElementById("vacancyhours")._flatpickr.setDate(staffperiodweeks.currentday.contracthours);
+ }
+ }
+ staffperiodweeks.checkdaytime();
+ },
+ setrecuperationhours: function(ev,id){
+ if (!ev.detail.value){
+ document.getElementById("recuperationhours")._flatpickr.clear();
+ } else {
+ if (!document.getElementById("recuperationhours").value){
+ document.getElementById("recuperationhours")._flatpickr.setDate(staffperiodweeks.currentday.contracthours);
+ }
+ }
+ staffperiodweeks.checkdaytime();
+ },
+ checkworktime: function(id){
+ //console.log("timefield: " + wday +"=>" + id + " changed ");
+ var mt1 = 0;
+ var mt2 = 0;
+ var mtp = 0;
+ var irupt = 0;
+ var ode1 = document.getElementById("timeend1");
+ var ods1 = document.getElementById("timestart1");
+ var ode2 = document.getElementById("timeend2");
+ var ods2 = document.getElementById("timestart2");
+ var odp = document.getElementById("timepause");
+ var oirupt = document.getElementById("interruptionhours");
+ var owkh = document.getElementById("workhours");
+ //POT Time CALC
+ if (ode1.value && ods1.value){
+ mt1 = timecalc.TimeToMinutes(ode1.value)-timecalc.TimeToMinutes(ods1.value);
+ }
+ if (ode2.value && ods2.value){
+ mt2 = timecalc.TimeToMinutes(ode2.value)-timecalc.TimeToMinutes(ods2.value);
+ }
+ if (odp.value){
+ mtp = timecalc.TimeToMinutes(odp.value);
+ }
+ if ((mt2 > 0) && (mt1 > 0)){
+ irupt = timecalc.TimeToMinutes(ods2.value)-timecalc.TimeToMinutes(ode1.value);
+ oirupt.value=timecalc.MinutesToTime(irupt);
+ if (irupt > daycheck.maxinterruption){
+ oirupt.classList.remove("w3-text-black");
+ oirupt.classList.add("w3-text-red");
+ //document.getElementById("btn_saveday").disabled=true;
+ }else {
+ oirupt.classList.remove("w3-text-red")
+ oirupt.classList.add("w3-text-black");
+ //document.getElementById("btn_saveday").disabled=false;
+ }
+
+ } else {
+ oirupt.classList.remove("w3-text-red");
+ oirupt.classList.add("w3-text-black");
+ //document.getElementById("btn_saveday").disabled=false;
+ oirupt.value="00:00";
+ }
+ owkh.value= timecalc.MinutesToTime(mt1+mt2-mtp);
+ staffperiodweeks.checkdaytime();
+ },
+ checkdaytime: function(){
+ var wktime = 0;
+ var vactime = 0;
+ var reptime = 0;
+
+ var owkh = document.getElementById("workhours");
+ var ovach = document.getElementById("vacancyhours");
+ var orech = document.getElementById("recuperationhours");
+ var odyh =document.getElementById("dayhours");
+ var oirupt = document.getElementById("interruptionhours");
+ if (owkh.value){
+ //console.log("WorkTime:" + owkh.value);
+ wktime = timecalc.TimeToMinutes(owkh.value);
+ }
+ if (ovach.value){
+ vactime = timecalc.TimeToMinutes(ovach.value);
+ }
+ if (orech.value){
+ reptime = timecalc.TimeToMinutes(orech.value);
+ }
+
+ var fulldaytime = wktime+vactime+reptime;
+ //console.log(wktime+ "+" +vactime + "+" + reptime + "=" + fulldaytime);
+ odyh.value= timecalc.MinutesToTime(fulldaytime);
+
+ if (fulldaytime > 600){
+ //console.log(document.getElementById("_dayhours").value);
+ odyh.classList.remove("w3-text-black");
+ odyh.classList.add("w3-text-red");
+ document.getElementById("btn_saveday").disabled=true;
+ }else {
+ odyh.classList.remove("w3-text-red");
+ odyh.classList.add("w3-text-black");
+ if(oirupt.classList.contains("w3-text-black")){
+ document.getElementById("btn_saveday").disabled=false;
+ }
+
+ }
}
+};
+
+var nullFormatter = function(cell, formatterParams){
+ cell.getElement().style.backgroundColor="grey";return "";
};
\ No newline at end of file
}\r
\r
\r
-// function fillformmember(data){\r
-// // console.log(data);\r
-// if (data && data.sqldata){\r
-// var frm = document.querySelectorAll('.data_members');\r
-// for (var f in frm){\r
-// // console.log(frm[f].tagName);\r
-// // console.log(frm[f].id);\r
-// if (data.sqldata[0][frm[f].id]){\r
-// //console.log(frm[f].tagName + " " + frm[f].type + " " + frm[f].id);\r
-// if ((frm[f].tagName == 'INPUT') || (frm[f].tagName == 'SELECT')){\r
-// if (frm[f].classList.contains("datefield")){\r
-// frm[f]._flatpickr.setDate(data.sqldata[0][frm[f].id]);\r
-// } else {\r
-// frm[f].value=data.sqldata[0][frm[f].id];\r
-// }\r
- \r
-// }\r
-// }\r
-\r
-// }\r
-// // if (document.getElementById("profile_photo").value != ""){\r
-// // document.getElementById("img_profile_photo").src = '../../data/members/' + document.getElementById("profile_photo").value;\r
-// // }\r
-// // console.log(frm);\r
-// }\r
-// }\r
-\r
\r
var currentview = null;
function initpage(){
schemata = parent.admin.getcurrentSchemata();
- console.log("Current Schema:" + schemata);
-
+ //console.log("Current Schema:" + schemata);
staff.inittable();
staffcontract.inittable();
module.viewpanel("tbl_staff");
<form id="frm_staffcontract">
[% fieldhidden("id_staffcontract","staffcontract",'ident','') %]
[% fieldhidden("id_staff","staffcontract",'','') %]
- [% fielddatebox("startdate","staffcontract","date début",'w3-half','','') %]
- [% fielddatebox("enddate","staffcontract","date fin",'w3-half','','') %]
+ <div class="w3-container">
+ [% fielddatebox("startdate","staffcontract","date début",'w3-quarter','','') %]
+ [% fielddatebox("enddate","staffcontract","date fin",'w3-quarter','','') %]
+ </div>
+ <div class="w3-container">
[% fieldintervalbox("weekhours","staffcontract","heures par semaine","w3-third","","","") %]
[% fieldselectbox("weekdays","staffcontract","jours par semaine","w3-third","","","") %]
- <div class="w3-container">
- [% fieldselectbox('id_workplan','staffcontract','POT (Modèle)','w3-third','','','') %]
+ [% fieldselectbox('id_workplan','staffcontract','POT (Modèle)','w3-third','','','') %]
</div>
</form>
</div>
staff.tbl = new Tabulator("#tbl_" + staff.name, {
headerFilterPlaceholder: "filter...",
height: "92vh",
- layout: "fitData",
+ layout: "fitDataFill",
selectable: 1,
rowContext:function(e, row){
//e - the click event object
e.preventDefault(); // prevent the browsers default context menu form appearing.
},
columns: [
+ {title:"#", formatter:"rownum",align:"right",sorter:false},
{title: "No.", field: "staffnumber",sorter: "String", headerFilter: "input" },
{title: "Prénom",field: "prename",sorter: "String",headerFilter: "input"},
{ title: "Nom", field: "surname",sorter: "String", headerFilter: "input" },
tbl: null,
choices:{"weekdays":null,"id_workplan":null},
initform: function(){
- // staffcontract.choices["id_staffgroup"] = new Choices('#id_staffgroup',{
- // searchEnabled: false,
- // itemSelectText: '',
- // removeItemButton: false,
- // choices : []
- // });
staffcontract.choices["id_workplan"] = new Choices('#id_workplan',{
searchEnabled: false,
itemSelectText: '',
e.preventDefault();
},
columns: [
- {
- title: "début",
- field: "startdate",
- headerSort: false,
- formatter:"datetime",formatterParams:{inputFormat:"YYYY-MM-DD",outputFormat:"DD.MM.YYYY",invalidPlaceholder:""}
- },
- {
- title: "fin",
- field: "enddate",
- headerSort: false,
- //align: "right",
- formatter:"datetime",formatterParams:{inputFormat:"YYYY-MM-DD",outputFormat:"DD.MM.YYYY",invalidPlaceholder:""}
- },
- {
- title: "Département",
- field: "groupname",
- headerSort: false,
- },{
- title: "h/semaine",
- field: "weekhours",
- align: "right",
- headerSort: false,
- },{
- title: "j/semaine",
- field: "weekdays",
- align: "right",
-
- headerSort: false,
- formatter:"money",formatterParams:{decimal:",",thousand:".",symbol:" ",symbolAfter:"",precision:0},
- },{
- title: "POT(modèle)",
- field: "workplan",
- headerSort: false,
- }]
+ {title: "début",field: "startdate",headerSort: false,formatter:"datetime",formatterParams:{inputFormat:"YYYY-MM-DD",outputFormat:"DD.MM.YYYY",invalidPlaceholder:""}},
+ {title: "fin", field: "enddate",headerSort: false,formatter:"datetime",formatterParams:{inputFormat:"YYYY-MM-DD",outputFormat:"DD.MM.YYYY",invalidPlaceholder:""}},
+ {title: "h/semaine",field: "weekhours",align: "right",headerSort: false},
+ {title: "j/semaine",field: "weekdays",align: "right", headerSort: false,formatter:"money",formatterParams:{decimal:",",thousand:".",symbol:" ",symbolAfter:"",precision:0}},
+ {title: "POT(modèle)",field: "workplan",headerSort: false}
+ ]
});
- staffcontract.getstaffgroups();
staffcontract.getwptemplates();
},
gettbldata: function(){
remove: function(){
var udata = staffcontract.tbl.getSelectedData();
var selrow = staffcontract.tbl.getSelectedRows();
- console.log(selrow);
+ //console.log(selrow);
if (udata[0]) {
var uid = udata[0].id;
showdeletedlg(staffcontract.name,uid,"Êtes vous sûre de supprimer les données sélectionnées?",staffcontract.afterdeletecallback,schemata);
save: function(){
var flds=getformcontent('staffcontract',null);
- console.log(flds);
+ //console.log(flds);
flds["ident_staffcontract_id"] = flds["ident_staffcontract_id_staffcontract"];
delete flds["ident_staffcontract_id_staffcontract"];
delete flds["null"];
afterdeletecallback: function(){
staffcontract.gettbldata();
},
- getstaffgroups: function(){
- req.reqdata("POST","db.cgi",{"get":"staffgroupslist","schemata":schemata},staffcontract.fillstaffgroups);
- },
- fillstaffgroups: function(data){
- fillselectlist(staffcontract.choices["id_staffgroup"],data.sqldata,'id','groupname');
- },
getwptemplates: function(){
req.reqdata("POST","db.cgi",{"get":"workplanlist","schemata":schemata},staffcontract.fillwptemplates);
},
var tbl_planning = null;
var schemata = null;
function initpage() {
- console.log("Current Schema:" + schemata);
+ //console.log("Current Schema:" + schemata);
inittable_periodes();
inittable_planning();
}
var currentview = null;
function initpage(){
//schemata = parent.admin.getcurrentSchemata();
- console.log("Current Schema:" + schemata);
+ //console.log("Current Schema:" + schemata);
users.inittable();
module.viewpanel("tbl_users");
}
\ No newline at end of file
var schemata = null;
-//var tbl_workplan = null;
-
-
function initpage(){
schemata = parent.admin.getcurrentSchemata();
- console.log("Current Schema:" + schemata);
+ //console.log("Current Schema:" + schemata);
workplans.inittable();
}
-// function inittable_workplan(){
-// tbl_workplan = new Tabulator("#tbl_workplans", {
-// headerFilterPlaceholder: "filter...",
-// height: "94vh",
-// layout: "fitDataFill",
-// selectable: 1,
-// rowContext:function(e, row){
-// //e - the click event object
-// //row - row component
-// //var contextMenu = CtxMenu();
-// //contextMenu.addItem("Editer", edit());
-// // Add our custom function to the menu
-// //contextMenu.addItem("Hello World", ContextMenuExampleFunction);
-
-// // Add a seperator
-// //contextMenu.addSeperator();
-// e.preventDefault(); // prevent the browsers default context menu form appearing.
-// },
-// columns: [{title: "Nom", field: "workplan",headerFilter: "input"},
-// { title: "Total<br/>Semaine",field: "weektotal",formatter: "html" },
-// { title: "Lundi",field: "dspmontimes",formatter: "html" },
-// { title: "Mardi",field: "dsptuetimes",formatter: "html" },
-// { title: "Mercredi",field: "dspwedtimes",formatter: "html" },
-// { title: "Jeudi",field: "dspthutimes",formatter: "html" },
-// { title: "Vendredi",field: "dspfritimes",formatter: "html" },
-// { title: "Samedi",field: "dspsattimes",formatter: "html" },
-// { title: "Dimanche",field: "dspsuntimes",formatter: "html" }
-// ]
-// });
-// gettbldata_workplan();
-// }
-
-
-
-// function gettbldata_workplan() {
-// req.reqdata("POST", "db.cgi", {
-// "get": "workplans","schemata":schemata
-// }, loadtbldata_workplan);
-
-// }
-
-// function loadtbldata_workplan(data) {
-
-// if (data && data.sqldata) {
-// tbl_workplan.setData(data.sqldata);
-// }
-// }
-
-// function edit() {
-// var udata = tbl_workplan.getSelectedData();
-// if (udata[0]) {
-// var uid = udata[0].id;
-// getworkplandata(uid);
-// document.getElementById("pnl_table").style.display = 'none';
-// document.getElementById("pnl_workplan").style.display = 'block';
-// }
-
-// }
-
-// function add() {
-// cleanform('worplan');
-// viewform();
-// }
-
-// function remove() {
-// var udata = tbl_workplan.getSelectedData();
-// if (udata[0]) {
-// showdeletedlg("workplans",udata[0].id,null,gettbldata_workplan,schemata);
-// }
-// }
-
-
-// function viewtable() {
-// gettbldata_workplan();
-// document.getElementById("pnl_table").style.display = 'block';
-// document.getElementById("pnl_workplan").style.display = 'none';
-// }
-
-// function viewform(){
-// document.getElementById("pnl_table").style.display = 'none';
-// document.getElementById("pnl_workplan").style.display = 'block';
-// }
-
-// function getworkplandata(id){
-// cleanform('worplan');
-// req.reqdata("POST", "db.cgi", {
-// "get": "workplansdata","schemata":schemata
-// }, loadworkplandata);
-
-// }
-
-// function loadworkplandata(data){
-// if (data && data.sqldata) {
-// console.log("fill Data");
-// console.log(data.sqldata[0]);
-// fillformbydataclass2("workplans",data.sqldata[0],false);
-// }
-// viewform();
-// }
-
<meta http-equiv="Cache-Control" content="no-cache, no-store, must-revalidate" />\r
<meta http-equiv="Pragma" content="no-cache" />\r
<meta http-equiv="Expires" content="0" />\r
- <link rel="stylesheet" href="[% abspath %]css/w3pro.css">\r
- <link rel="stylesheet" href="[% abspath %]vendors/glyphicons/css/glyphicons.css">\r
+ <link rel="stylesheet" href="[% abspath %]css/w3pro.min.css">\r
+ <!-- <link rel="stylesheet" href="[% abspath %]vendors/glyphicons/css/glyphicons.css">-->\r
<link rel="stylesheet" href="[% abspath %]vendors/tabulator/css/tabulator.min.css">\r
- <link rel="stylesheet" href="[% abspath %]vendors/choices/choices.css">\r
- <link rel="stylesheet" href="[% abspath %]vendors/flatpickr/flatpickr.css">\r
- <link rel="stylesheet" href="[% abspath %]vendors/flatpickr/themes/airbnb.css">\r
+ <link rel="stylesheet" href="[% abspath %]vendors/choices/choices.min.css">\r
+ <link rel="stylesheet" href="[% abspath %]vendors/flatpickr/flatpickr.min.css">\r
+ <link rel="stylesheet" href="[% abspath %]vendors/flatpickr/themes/airbnb.min.css">\r
\r
- <link rel="stylesheet" href="[% abspath %]css/module.css">\r
+ <!--<link rel="stylesheet" href="[% abspath %]css/module.css">-->\r
\r
<script>\r
if(window.self !== window.top); //inside an iframe\r
<script type="text/javascript" src="[% abspath %]js/request.js"></script>\r
<script type="text/javascript" src="[% abspath %]js/module_global.js"></script>\r
<script type="text/javascript" src="[% abspath %]js/formsave.js"></script>\r
- <script type="text/javascript" src="[% abspath %]vendors/tabulator/js/tabulator.js"></script>\r
+ <script type="text/javascript" src="[% abspath %]vendors/tabulator/js/tabulator.min.js"></script>\r
<script type="text/javascript" src="[% abspath %]vendors/moment/moment-with-locales.min.js"></script>\r
<script type="text/javascript" src="[% abspath %]vendors/tinymce/js/tinymce/tinymce.min.js"></script>\r
<script type="text/javascript" src="[% abspath %]vendors/choices/choices.js"></script>\r
-.choices{position:relative;margin-bottom:24px;font-size:16px}.choices:focus{outline:none}.choices:last-child{margin-bottom:0}.choices.is-disabled .choices__inner,.choices.is-disabled .choices__input{background-color:#eaeaea;cursor:not-allowed;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.choices.is-disabled .choices__item{cursor:not-allowed}.choices[data-type*=select-one]{cursor:pointer}.choices[data-type*=select-one] .choices__inner{padding-bottom:7.5px}.choices[data-type*=select-one] .choices__input{display:block;width:100%;padding:10px;border-bottom:1px solid #ddd;background-color:#fff;margin:0}.choices[data-type*=select-one] .choices__button{background-image:url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjEiIGhlaWdodD0iMjEiIHZpZXdCb3g9IjAgMCAyMSAyMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48ZyBmaWxsPSIjMDAwIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiPjxwYXRoIGQ9Ik0yLjU5Mi4wNDRsMTguMzY0IDE4LjM2NC0yLjU0OCAyLjU0OEwuMDQ0IDIuNTkyeiIvPjxwYXRoIGQ9Ik0wIDE4LjM2NEwxOC4zNjQgMGwyLjU0OCAyLjU0OEwyLjU0OCAyMC45MTJ6Ii8+PC9nPjwvc3ZnPg==);padding:0;background-size:8px;position:absolute;top:50%;right:0;margin-top:-10px;margin-right:25px;height:20px;width:20px;border-radius:10em;opacity:.5}.choices[data-type*=select-one] .choices__button:focus,.choices[data-type*=select-one] .choices__button:hover{opacity:1}.choices[data-type*=select-one] .choices__button:focus{box-shadow:0 0 0 2px #00bcd4}.choices[data-type*=select-one]:after{content:"";height:0;width:0;border-style:solid;border-color:#333 transparent transparent transparent;border-width:5px;position:absolute;right:11.5px;top:50%;margin-top:-2.5px;pointer-events:none}.choices[data-type*=select-one].is-open:after{border-color:transparent transparent #333 transparent;margin-top:-7.5px}.choices[data-type*=select-one][dir=rtl]:after{left:11.5px;right:auto}.choices[data-type*=select-one][dir=rtl] .choices__button{right:auto;left:0;margin-left:25px;margin-right:0}.choices[data-type*=select-multiple] .choices__inner,.choices[data-type*=text] .choices__inner{cursor:text}.choices[data-type*=select-multiple] .choices__button,.choices[data-type*=text] .choices__button{position:relative;display:inline-block;margin:0 -4px 0 8px;padding-left:16px;border-left:1px solid #008fa1;background-image:url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjEiIGhlaWdodD0iMjEiIHZpZXdCb3g9IjAgMCAyMSAyMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48ZyBmaWxsPSIjRkZGIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiPjxwYXRoIGQ9Ik0yLjU5Mi4wNDRsMTguMzY0IDE4LjM2NC0yLjU0OCAyLjU0OEwuMDQ0IDIuNTkyeiIvPjxwYXRoIGQ9Ik0wIDE4LjM2NEwxOC4zNjQgMGwyLjU0OCAyLjU0OEwyLjU0OCAyMC45MTJ6Ii8+PC9nPjwvc3ZnPg==);background-size:8px;width:8px;line-height:1;opacity:.75;border-radius:0}.choices[data-type*=select-multiple] .choices__button:focus,.choices[data-type*=select-multiple] .choices__button:hover,.choices[data-type*=text] .choices__button:focus,.choices[data-type*=text] .choices__button:hover{opacity:1}.choices__inner{display:inline-block;vertical-align:top;width:100%;background-color:#f9f9f9;padding:7.5px 7.5px 3.75px;border:1px solid #ddd;border-radius:2.5px;font-size:14px;min-height:44px;overflow:hidden}.is-focused .choices__inner,.is-open .choices__inner{border-color:#b7b7b7}.is-open .choices__inner{border-radius:2.5px 2.5px 0 0}.is-flipped.is-open .choices__inner{border-radius:0 0 2.5px 2.5px}.choices__list{margin:0;padding-left:0;list-style:none}.choices__list--single{display:inline-block;padding:4px 16px 4px 4px;width:100%}[dir=rtl] .choices__list--single{padding-right:4px;padding-left:16px}.choices__list--single .choices__item{width:100%}.choices__list--multiple{display:inline}.choices__list--multiple .choices__item{display:inline-block;vertical-align:middle;border-radius:20px;padding:4px 10px;font-size:12px;font-weight:500;margin-right:3.75px;margin-bottom:3.75px;background-color:#00bcd4;border:1px solid #00a5bb;color:#fff;word-break:break-all}.choices__list--multiple .choices__item[data-deletable]{padding-right:5px}[dir=rtl] .choices__list--multiple .choices__item{margin-right:0;margin-left:3.75px}.choices__list--multiple .choices__item.is-highlighted{background-color:#00a5bb;border:1px solid #008fa1}.is-disabled .choices__list--multiple .choices__item{background-color:#aaa;border:1px solid #919191}.choices__list--dropdown{display:none;z-index:1;position:absolute;width:100%;background-color:#fff;border:1px solid #ddd;top:100%;margin-top:-1px;border-bottom-left-radius:2.5px;border-bottom-right-radius:2.5px;overflow:hidden;word-break:break-all}.choices__list--dropdown.is-active{display:block}.is-open .choices__list--dropdown{border-color:#b7b7b7}.is-flipped .choices__list--dropdown{top:auto;bottom:100%;margin-top:0;margin-bottom:-1px;border-radius:.25rem .25rem 0 0}.choices__list--dropdown .choices__list{position:relative;max-height:300px;overflow:auto;-webkit-overflow-scrolling:touch;will-change:scroll-position}.choices__list--dropdown .choices__item{position:relative;padding:10px;font-size:14px}[dir=rtl] .choices__list--dropdown .choices__item{text-align:right}@media (min-width:640px){.choices__list--dropdown .choices__item--selectable{padding-right:100px}.choices__list--dropdown .choices__item--selectable:after{content:attr(data-select-text);font-size:12px;opacity:0;position:absolute;right:10px;top:50%;transform:translateY(-50%)}[dir=rtl] .choices__list--dropdown .choices__item--selectable{text-align:right;padding-left:100px;padding-right:10px}[dir=rtl] .choices__list--dropdown .choices__item--selectable:after{right:auto;left:10px}}.choices__list--dropdown .choices__item--selectable.is-highlighted{background-color:#f2f2f2}.choices__list--dropdown .choices__item--selectable.is-highlighted:after{opacity:.5}.choices__item{cursor:default}.choices__item--selectable{cursor:pointer}.choices__item--disabled{cursor:not-allowed;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;opacity:.5}.choices__heading{font-weight:600;font-size:12px;padding:10px;border-bottom:1px solid #f7f7f7;color:gray}.choices__button{text-indent:-9999px;-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;background-color:transparent;background-repeat:no-repeat;background-position:center;cursor:pointer}.choices__button:focus{outline:none}.choices__input{display:inline-block;vertical-align:baseline;background-color:#f9f9f9;font-size:14px;margin-bottom:5px;border:0;border-radius:0;max-width:100%;padding:4px 0 4px 2px}.choices__input:focus{outline:0}[dir=rtl] .choices__input{padding-right:2px;padding-left:0}.choices__placeholder{opacity:.5}.choices[data-type*=select-multiple] .choices__input.is-hidden,.choices[data-type*=select-one] .choices__input.is-hidden,.choices__input.is-hidden{display:none}
\ No newline at end of file
+.choices{position:relative;margin-bottom:24px;font-size:16px}.choices:focus{outline:0}.choices:last-child{margin-bottom:0}.choices.is-disabled .choices__inner,.choices.is-disabled .choices__input{background-color:#eaeaea;cursor:not-allowed;user-select:none}.choices.is-disabled .choices__item{cursor:not-allowed}.choices[data-type*=select-one]{cursor:pointer}.choices[data-type*=select-one] .choices__inner{padding-bottom:0}.choices[data-type*=select-one] .choices__input{display:block;width:100%;padding:4px;border-bottom:1px solid #ddd;background-color:#fff;margin:0}.choices[data-type*=select-one] .choices__button{background-image:url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjEiIGhlaWdodD0iMjEiIHZpZXdCb3g9IjAgMCAyMSAyMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48ZyBmaWxsPSIjMDAwIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiPjxwYXRoIGQ9Ik0yLjU5Mi4wNDRsMTguMzY0IDE4LjM2NC0yLjU0OCAyLjU0OEwuMDQ0IDIuNTkyeiIvPjxwYXRoIGQ9Ik0wIDE4LjM2NEwxOC4zNjQgMGwyLjU0OCAyLjU0OEwyLjU0OCAyMC45MTJ6Ii8+PC9nPjwvc3ZnPg==);padding:0;background-size:8px;position:absolute;top:50%;right:0;margin-top:-10px;margin-right:25px;height:20px;width:20px;opacity:.5}.choices[data-type*=select-one] .choices__button:focus,.choices[data-type*=select-one] .choices__button:hover{opacity:1}.choices[data-type*=select-one] .choices__button:focus{box-shadow:0 0 0 2px #00bcd4}.choices[data-type*=select-one]:after{content:"";height:0;width:0;border-style:solid;border-color:#333 transparent transparent transparent;border-width:5px;position:absolute;right:11.5px;top:50%;margin-top:-2.5px;pointer-events:none}.choices[data-type*=select-one].is-open:after{border-color:transparent transparent #333 transparent;margin-top:-7.5px}.choices[data-type*=select-one][dir=rtl]:after{left:11.5px;right:auto}.choices[data-type*=select-one][dir=rtl] .choices__button{right:auto;left:0;margin-left:25px;margin-right:0}.choices[data-type*=select-multiple] .choices__inner,.choices[data-type*=text] .choices__inner{cursor:text}.choices[data-type*=select-multiple] .choices__button,.choices[data-type*=text] .choices__button{position:relative;display:inline-block;margin-top:0;margin-right:-4px;margin-bottom:0;margin-left:8px;padding-left:16px;border-left:1px solid #008fa1;background-image:url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjEiIGhlaWdodD0iMjEiIHZpZXdCb3g9IjAgMCAyMSAyMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48ZyBmaWxsPSIjRkZGIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiPjxwYXRoIGQ9Ik0yLjU5Mi4wNDRsMTguMzY0IDE4LjM2NC0yLjU0OCAyLjU0OEwuMDQ0IDIuNTkyeiIvPjxwYXRoIGQ9Ik0wIDE4LjM2NEwxOC4zNjQgMGwyLjU0OCAyLjU0OEwyLjU0OCAyMC45MTJ6Ii8+PC9nPjwvc3ZnPg==);background-size:8px;width:8px;line-height:1;opacity:.75;border-radius:0}.choices[data-type*=select-multiple] .choices__button:focus,.choices[data-type*=select-multiple] .choices__button:hover,.choices[data-type*=text] .choices__button:focus,.choices[data-type*=text] .choices__button:hover{opacity:1}.choices__inner{display:inline-block;vertical-align:top;width:100%;background-color:#e8f0fe;padding:0 0 0;border:1px solid #ccc;min-height:32px;overflow:hidden}.is-focused .choices__inner,.is-open .choices__inner{border-color:#b7b7b7}.choices__list{margin:0;padding-left:0;list-style:none}.choices__list--single{display:inline-block;padding:6px 2px 2px 2px;width:100%}[dir=rtl] .choices__list--single{padding-right:4px;padding-left:16px}.choices__list--single .choices__item{width:100%}.choices__list--multiple{display:inline}.choices__list--multiple .choices__item{display:inline-block;vertical-align:middle;padding:4px 6px;font-size:16px;height:40px;margin-right:3.75px;background-color:#607d8b;border:1px solid #607d8b;color:#fff;word-break:break-all}.choices__list--multiple .choices__item[data-deletable]{padding-right:5px}[dir=rtl] .choices__list--multiple .choices__item{margin-right:0;margin-left:3.75px}.choices__list--multiple .choices__item.is-highlighted{background-color:#00a5bb;border:1px solid #008fa1}.is-disabled .choices__list--multiple .choices__item{background-color:#aaa;border:1px solid #919191}.choices__list--dropdown{display:none;z-index:1;position:absolute;width:100%;background-color:#fff;border:1px solid #ddd;top:100%;margin-top:-1px;overflow:hidden;word-break:break-word}.choices__list--dropdown.is-active{display:block}.is-open .choices__list--dropdown{border-color:#b7b7b7}.is-flipped .choices__list--dropdown{top:auto;bottom:100%;margin-top:0;margin-bottom:-1px}.choices__list--dropdown .choices__list{position:relative;max-height:300px;overflow:auto;-webkit-overflow-scrolling:touch;will-change:scroll-position}.choices__list--dropdown .choices__item{position:relative;padding:10px;font-size:14px}[dir=rtl] .choices__list--dropdown .choices__item{text-align:right}@media (min-width:640px){.choices__list--dropdown .choices__item--selectable{padding-right:10px;word-wrap:none;overflow:hidden}.choices__list--dropdown .choices__item--selectable:after{content:attr(data-select-text);font-size:12px;opacity:0;position:absolute;right:10px;top:50%;transform:translateY(-50%)}[dir=rtl] .choices__list--dropdown .choices__item--selectable{text-align:right;padding-left:10px;padding-right:10px}[dir=rtl] .choices__list--dropdown .choices__item--selectable:after{right:auto;left:10px}}.choices__list--dropdown .choices__item--selectable.is-highlighted{background-color:#f2f2f2}.choices__list--dropdown .choices__item--selectable.is-highlighted:after{opacity:.5}.choices__item{cursor:default}.choices__item--selectable{cursor:pointer}.choices__item--disabled{cursor:not-allowed;user-select:none;opacity:.5}.choices__heading{font-size:12px;padding:10px;border-bottom:1px solid #f7f7f7;color:gray}.choices__button{text-indent:-9999px;-webkit-appearance:none;appearance:none;border:0;background-color:transparent;background-repeat:no-repeat;background-position:center;cursor:pointer}.choices__button:focus{outline:0}.choices__input{display:inline-block;vertical-align:baseline;background-color:#f9f9f9;font-size:14px;margin-bottom:5px;border:0;border-radius:0;max-width:100%;padding:4px 0 4px 2px}.choices__input:focus{outline:0}[dir=rtl] .choices__input{padding-right:2px;padding-left:0}.choices__placeholder{opacity:.5}.choices[data-type*=select-multiple] .choices__input.is-hidden,.choices[data-type*=select-one] .choices__input.is-hidden,.choices__input.is-hidden{display:none}
\ No newline at end of file
--- /dev/null
+.choices{position:relative;margin-bottom:24px;font-size:16px}.choices:focus{outline:none}.choices:last-child{margin-bottom:0}.choices.is-disabled .choices__inner,.choices.is-disabled .choices__input{background-color:#eaeaea;cursor:not-allowed;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.choices.is-disabled .choices__item{cursor:not-allowed}.choices[data-type*=select-one]{cursor:pointer}.choices[data-type*=select-one] .choices__inner{padding-bottom:7.5px}.choices[data-type*=select-one] .choices__input{display:block;width:100%;padding:10px;border-bottom:1px solid #ddd;background-color:#fff;margin:0}.choices[data-type*=select-one] .choices__button{background-image:url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjEiIGhlaWdodD0iMjEiIHZpZXdCb3g9IjAgMCAyMSAyMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48ZyBmaWxsPSIjMDAwIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiPjxwYXRoIGQ9Ik0yLjU5Mi4wNDRsMTguMzY0IDE4LjM2NC0yLjU0OCAyLjU0OEwuMDQ0IDIuNTkyeiIvPjxwYXRoIGQ9Ik0wIDE4LjM2NEwxOC4zNjQgMGwyLjU0OCAyLjU0OEwyLjU0OCAyMC45MTJ6Ii8+PC9nPjwvc3ZnPg==);padding:0;background-size:8px;position:absolute;top:50%;right:0;margin-top:-10px;margin-right:25px;height:20px;width:20px;border-radius:10em;opacity:.5}.choices[data-type*=select-one] .choices__button:focus,.choices[data-type*=select-one] .choices__button:hover{opacity:1}.choices[data-type*=select-one] .choices__button:focus{box-shadow:0 0 0 2px #00bcd4}.choices[data-type*=select-one]:after{content:"";height:0;width:0;border-style:solid;border-color:#333 transparent transparent transparent;border-width:5px;position:absolute;right:11.5px;top:50%;margin-top:-2.5px;pointer-events:none}.choices[data-type*=select-one].is-open:after{border-color:transparent transparent #333 transparent;margin-top:-7.5px}.choices[data-type*=select-one][dir=rtl]:after{left:11.5px;right:auto}.choices[data-type*=select-one][dir=rtl] .choices__button{right:auto;left:0;margin-left:25px;margin-right:0}.choices[data-type*=select-multiple] .choices__inner,.choices[data-type*=text] .choices__inner{cursor:text}.choices[data-type*=select-multiple] .choices__button,.choices[data-type*=text] .choices__button{position:relative;display:inline-block;margin:0 -4px 0 8px;padding-left:16px;border-left:1px solid #008fa1;background-image:url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjEiIGhlaWdodD0iMjEiIHZpZXdCb3g9IjAgMCAyMSAyMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48ZyBmaWxsPSIjRkZGIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiPjxwYXRoIGQ9Ik0yLjU5Mi4wNDRsMTguMzY0IDE4LjM2NC0yLjU0OCAyLjU0OEwuMDQ0IDIuNTkyeiIvPjxwYXRoIGQ9Ik0wIDE4LjM2NEwxOC4zNjQgMGwyLjU0OCAyLjU0OEwyLjU0OCAyMC45MTJ6Ii8+PC9nPjwvc3ZnPg==);background-size:8px;width:8px;line-height:1;opacity:.75;border-radius:0}.choices[data-type*=select-multiple] .choices__button:focus,.choices[data-type*=select-multiple] .choices__button:hover,.choices[data-type*=text] .choices__button:focus,.choices[data-type*=text] .choices__button:hover{opacity:1}.choices__inner{display:inline-block;vertical-align:top;width:100%;background-color:#f9f9f9;padding:7.5px 7.5px 3.75px;border:1px solid #ddd;border-radius:2.5px;font-size:14px;min-height:44px;overflow:hidden}.is-focused .choices__inner,.is-open .choices__inner{border-color:#b7b7b7}.is-open .choices__inner{border-radius:2.5px 2.5px 0 0}.is-flipped.is-open .choices__inner{border-radius:0 0 2.5px 2.5px}.choices__list{margin:0;padding-left:0;list-style:none}.choices__list--single{display:inline-block;padding:4px 16px 4px 4px;width:100%}[dir=rtl] .choices__list--single{padding-right:4px;padding-left:16px}.choices__list--single .choices__item{width:100%}.choices__list--multiple{display:inline}.choices__list--multiple .choices__item{display:inline-block;vertical-align:middle;border-radius:20px;padding:4px 10px;font-size:12px;font-weight:500;margin-right:3.75px;margin-bottom:3.75px;background-color:#00bcd4;border:1px solid #00a5bb;color:#fff;word-break:break-all}.choices__list--multiple .choices__item[data-deletable]{padding-right:5px}[dir=rtl] .choices__list--multiple .choices__item{margin-right:0;margin-left:3.75px}.choices__list--multiple .choices__item.is-highlighted{background-color:#00a5bb;border:1px solid #008fa1}.is-disabled .choices__list--multiple .choices__item{background-color:#aaa;border:1px solid #919191}.choices__list--dropdown{display:none;z-index:1;position:absolute;width:100%;background-color:#fff;border:1px solid #ddd;top:100%;margin-top:-1px;border-bottom-left-radius:2.5px;border-bottom-right-radius:2.5px;overflow:hidden;word-break:break-all}.choices__list--dropdown.is-active{display:block}.is-open .choices__list--dropdown{border-color:#b7b7b7}.is-flipped .choices__list--dropdown{top:auto;bottom:100%;margin-top:0;margin-bottom:-1px;border-radius:.25rem .25rem 0 0}.choices__list--dropdown .choices__list{position:relative;max-height:300px;overflow:auto;-webkit-overflow-scrolling:touch;will-change:scroll-position}.choices__list--dropdown .choices__item{position:relative;padding:10px;font-size:14px}[dir=rtl] .choices__list--dropdown .choices__item{text-align:right}@media (min-width:640px){.choices__list--dropdown .choices__item--selectable{padding-right:100px}.choices__list--dropdown .choices__item--selectable:after{content:attr(data-select-text);font-size:12px;opacity:0;position:absolute;right:10px;top:50%;transform:translateY(-50%)}[dir=rtl] .choices__list--dropdown .choices__item--selectable{text-align:right;padding-left:100px;padding-right:10px}[dir=rtl] .choices__list--dropdown .choices__item--selectable:after{right:auto;left:10px}}.choices__list--dropdown .choices__item--selectable.is-highlighted{background-color:#f2f2f2}.choices__list--dropdown .choices__item--selectable.is-highlighted:after{opacity:.5}.choices__item{cursor:default}.choices__item--selectable{cursor:pointer}.choices__item--disabled{cursor:not-allowed;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;opacity:.5}.choices__heading{font-weight:600;font-size:12px;padding:10px;border-bottom:1px solid #f7f7f7;color:gray}.choices__button{text-indent:-9999px;-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;background-color:transparent;background-repeat:no-repeat;background-position:center;cursor:pointer}.choices__button:focus{outline:none}.choices__input{display:inline-block;vertical-align:baseline;background-color:#f9f9f9;font-size:14px;margin-bottom:5px;border:0;border-radius:0;max-width:100%;padding:4px 0 4px 2px}.choices__input:focus{outline:0}[dir=rtl] .choices__input{padding-right:2px;padding-left:0}.choices__placeholder{opacity:.5}.choices[data-type*=select-multiple] .choices__input.is-hidden,.choices[data-type*=select-one] .choices__input.is-hidden,.choices__input.is-hidden{display:none}
\ No newline at end of file
-.flatpickr-calendar{background:transparent;opacity:0;display:none;text-align:center;visibility:hidden;padding:0;-webkit-animation:none;animation:none;direction:ltr;border:0;font-size:14px;line-height:24px;border-radius:5px;position:absolute;width:307.875px;-webkit-box-sizing:border-box;box-sizing:border-box;-ms-touch-action:manipulation;touch-action:manipulation;background:#fff;-webkit-box-shadow:1px 0 0 #e6e6e6,-1px 0 0 #e6e6e6,0 1px 0 #e6e6e6,0 -1px 0 #e6e6e6,0 3px 13px rgba(0,0,0,0.08);box-shadow:1px 0 0 #e6e6e6,-1px 0 0 #e6e6e6,0 1px 0 #e6e6e6,0 -1px 0 #e6e6e6,0 3px 13px rgba(0,0,0,0.08);}.flatpickr-calendar.open,.flatpickr-calendar.inline{opacity:1;max-height:640px;visibility:visible}.flatpickr-calendar.open{display:inline-block;z-index:99999}.flatpickr-calendar.animate.open{-webkit-animation:fpFadeInDown 300ms cubic-bezier(.23,1,.32,1);animation:fpFadeInDown 300ms cubic-bezier(.23,1,.32,1)}.flatpickr-calendar.inline{display:block;position:relative;top:2px}.flatpickr-calendar.static{position:absolute;top:calc(100% + 2px);}.flatpickr-calendar.static.open{z-index:999;display:block}.flatpickr-calendar.multiMonth .flatpickr-days .dayContainer:nth-child(n+1) .flatpickr-day.inRange:nth-child(7n+7){-webkit-box-shadow:none !important;box-shadow:none !important}.flatpickr-calendar.multiMonth .flatpickr-days .dayContainer:nth-child(n+2) .flatpickr-day.inRange:nth-child(7n+1){-webkit-box-shadow:-2px 0 0 #e6e6e6,5px 0 0 #e6e6e6;box-shadow:-2px 0 0 #e6e6e6,5px 0 0 #e6e6e6}.flatpickr-calendar .hasWeeks .dayContainer,.flatpickr-calendar .hasTime .dayContainer{border-bottom:0;border-bottom-right-radius:0;border-bottom-left-radius:0}.flatpickr-calendar .hasWeeks .dayContainer{border-left:0}.flatpickr-calendar.showTimeInput.hasTime .flatpickr-time{height:40px;border-top:1px solid #e6e6e6}.flatpickr-calendar.noCalendar.hasTime .flatpickr-time{height:auto}.flatpickr-calendar:before,.flatpickr-calendar:after{position:absolute;display:block;pointer-events:none;border:solid transparent;content:'';height:0;width:0;left:22px}.flatpickr-calendar.rightMost:before,.flatpickr-calendar.rightMost:after{left:auto;right:22px}.flatpickr-calendar:before{border-width:5px;margin:0 -5px}.flatpickr-calendar:after{border-width:4px;margin:0 -4px}.flatpickr-calendar.arrowTop:before,.flatpickr-calendar.arrowTop:after{bottom:100%}.flatpickr-calendar.arrowTop:before{border-bottom-color:#e6e6e6}.flatpickr-calendar.arrowTop:after{border-bottom-color:#fff}.flatpickr-calendar.arrowBottom:before,.flatpickr-calendar.arrowBottom:after{top:100%}.flatpickr-calendar.arrowBottom:before{border-top-color:#e6e6e6}.flatpickr-calendar.arrowBottom:after{border-top-color:#fff}.flatpickr-calendar:focus{outline:0}.flatpickr-wrapper{position:relative;display:inline-block}.flatpickr-months{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;}.flatpickr-months .flatpickr-month{background:transparent;color:rgba(0,0,0,0.9);fill:rgba(0,0,0,0.9);height:34px;line-height:1;text-align:center;position:relative;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;overflow:hidden;-webkit-box-flex:1;-webkit-flex:1;-ms-flex:1;flex:1}.flatpickr-months .flatpickr-prev-month,.flatpickr-months .flatpickr-next-month{text-decoration:none;cursor:pointer;position:absolute;top:0;height:34px;padding:10px;z-index:3;color:rgba(0,0,0,0.9);fill:rgba(0,0,0,0.9);}.flatpickr-months .flatpickr-prev-month.flatpickr-disabled,.flatpickr-months .flatpickr-next-month.flatpickr-disabled{display:none}.flatpickr-months .flatpickr-prev-month i,.flatpickr-months .flatpickr-next-month i{position:relative}.flatpickr-months .flatpickr-prev-month.flatpickr-prev-month,.flatpickr-months .flatpickr-next-month.flatpickr-prev-month{/*
- /*rtl:begin:ignore*/left:0;/*
- /*rtl:end:ignore*/}/*
- /*rtl:begin:ignore*/
-/*
- /*rtl:end:ignore*/
-.flatpickr-months .flatpickr-prev-month.flatpickr-next-month,.flatpickr-months .flatpickr-next-month.flatpickr-next-month{/*
- /*rtl:begin:ignore*/right:0;/*
- /*rtl:end:ignore*/}/*
- /*rtl:begin:ignore*/
-/*
- /*rtl:end:ignore*/
-.flatpickr-months .flatpickr-prev-month:hover,.flatpickr-months .flatpickr-next-month:hover{color:#959ea9;}.flatpickr-months .flatpickr-prev-month:hover svg,.flatpickr-months .flatpickr-next-month:hover svg{fill:#f64747}.flatpickr-months .flatpickr-prev-month svg,.flatpickr-months .flatpickr-next-month svg{width:14px;height:14px;}.flatpickr-months .flatpickr-prev-month svg path,.flatpickr-months .flatpickr-next-month svg path{-webkit-transition:fill .1s;transition:fill .1s;fill:inherit}.numInputWrapper{position:relative;height:auto;}.numInputWrapper input,.numInputWrapper span{display:inline-block}.numInputWrapper input{width:100%;}.numInputWrapper input::-ms-clear{display:none}.numInputWrapper input::-webkit-outer-spin-button,.numInputWrapper input::-webkit-inner-spin-button{margin:0;-webkit-appearance:none}.numInputWrapper span{position:absolute;right:0;width:14px;padding:0 4px 0 2px;height:50%;line-height:50%;opacity:0;cursor:pointer;border:1px solid rgba(57,57,57,0.15);-webkit-box-sizing:border-box;box-sizing:border-box;}.numInputWrapper span:hover{background:rgba(0,0,0,0.1)}.numInputWrapper span:active{background:rgba(0,0,0,0.2)}.numInputWrapper span:after{display:block;content:"";position:absolute}.numInputWrapper span.arrowUp{top:0;border-bottom:0;}.numInputWrapper span.arrowUp:after{border-left:4px solid transparent;border-right:4px solid transparent;border-bottom:4px solid rgba(57,57,57,0.6);top:26%}.numInputWrapper span.arrowDown{top:50%;}.numInputWrapper span.arrowDown:after{border-left:4px solid transparent;border-right:4px solid transparent;border-top:4px solid rgba(57,57,57,0.6);top:40%}.numInputWrapper span svg{width:inherit;height:auto;}.numInputWrapper span svg path{fill:rgba(0,0,0,0.5)}.numInputWrapper:hover{background:rgba(0,0,0,0.05);}.numInputWrapper:hover span{opacity:1}.flatpickr-current-month{font-size:135%;line-height:inherit;font-weight:300;color:inherit;position:absolute;width:75%;left:12.5%;padding:7.48px 0 0 0;line-height:1;height:34px;display:inline-block;text-align:center;-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0);}.flatpickr-current-month span.cur-month{font-family:inherit;font-weight:700;color:inherit;display:inline-block;margin-left:.5ch;padding:0;}.flatpickr-current-month span.cur-month:hover{background:rgba(0,0,0,0.05)}.flatpickr-current-month .numInputWrapper{width:6ch;width:7ch\0;display:inline-block;}.flatpickr-current-month .numInputWrapper span.arrowUp:after{border-bottom-color:rgba(0,0,0,0.9)}.flatpickr-current-month .numInputWrapper span.arrowDown:after{border-top-color:rgba(0,0,0,0.9)}.flatpickr-current-month input.cur-year{background:transparent;-webkit-box-sizing:border-box;box-sizing:border-box;color:inherit;cursor:text;padding:0 0 0 .5ch;margin:0;display:inline-block;font-size:inherit;font-family:inherit;font-weight:300;line-height:inherit;height:auto;border:0;border-radius:0;vertical-align:initial;-webkit-appearance:textfield;-moz-appearance:textfield;appearance:textfield;}.flatpickr-current-month input.cur-year:focus{outline:0}.flatpickr-current-month input.cur-year[disabled],.flatpickr-current-month input.cur-year[disabled]:hover{font-size:100%;color:rgba(0,0,0,0.5);background:transparent;pointer-events:none}.flatpickr-current-month .flatpickr-monthDropdown-months{appearance:menulist;background:transparent;border:none;border-radius:0;box-sizing:border-box;color:inherit;cursor:pointer;font-size:inherit;font-family:inherit;font-weight:300;height:auto;line-height:inherit;margin:-1px 0 0 0;outline:none;padding:0 0 0 .5ch;position:relative;vertical-align:initial;-webkit-box-sizing:border-box;-webkit-appearance:menulist;-moz-appearance:menulist;width:auto;}.flatpickr-current-month .flatpickr-monthDropdown-months:focus,.flatpickr-current-month .flatpickr-monthDropdown-months:active{outline:none}.flatpickr-current-month .flatpickr-monthDropdown-months:hover{background:rgba(0,0,0,0.05)}.flatpickr-current-month .flatpickr-monthDropdown-months .flatpickr-monthDropdown-month{background-color:transparent;outline:none;padding:0}.flatpickr-weekdays{background:transparent;text-align:center;overflow:hidden;width:100%;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center;height:28px;}.flatpickr-weekdays .flatpickr-weekdaycontainer{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-flex:1;-webkit-flex:1;-ms-flex:1;flex:1}span.flatpickr-weekday{cursor:default;font-size:90%;background:transparent;color:rgba(0,0,0,0.54);line-height:1;margin:0;text-align:center;display:block;-webkit-box-flex:1;-webkit-flex:1;-ms-flex:1;flex:1;font-weight:bolder}.dayContainer,.flatpickr-weeks{padding:1px 0 0 0}.flatpickr-days{position:relative;overflow:hidden;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-align:start;-webkit-align-items:flex-start;-ms-flex-align:start;align-items:flex-start;width:307.875px;}.flatpickr-days:focus{outline:0}.dayContainer{padding:0;outline:0;text-align:left;width:307.875px;min-width:307.875px;max-width:307.875px;-webkit-box-sizing:border-box;box-sizing:border-box;display:inline-block;display:-ms-flexbox;display:-webkit-box;display:-webkit-flex;display:flex;-webkit-flex-wrap:wrap;flex-wrap:wrap;-ms-flex-wrap:wrap;-ms-flex-pack:justify;-webkit-justify-content:space-around;justify-content:space-around;-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0);opacity:1;}.dayContainer + .dayContainer{-webkit-box-shadow:-1px 0 0 #e6e6e6;box-shadow:-1px 0 0 #e6e6e6}.flatpickr-day{background:none;border:1px solid transparent;border-radius:150px;-webkit-box-sizing:border-box;box-sizing:border-box;color:#393939;cursor:pointer;font-weight:400;width:14.2857143%;-webkit-flex-basis:14.2857143%;-ms-flex-preferred-size:14.2857143%;flex-basis:14.2857143%;max-width:39px;height:39px;line-height:39px;margin:0;display:inline-block;position:relative;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;text-align:center;}.flatpickr-day.inRange,.flatpickr-day.prevMonthDay.inRange,.flatpickr-day.nextMonthDay.inRange,.flatpickr-day.today.inRange,.flatpickr-day.prevMonthDay.today.inRange,.flatpickr-day.nextMonthDay.today.inRange,.flatpickr-day:hover,.flatpickr-day.prevMonthDay:hover,.flatpickr-day.nextMonthDay:hover,.flatpickr-day:focus,.flatpickr-day.prevMonthDay:focus,.flatpickr-day.nextMonthDay:focus{cursor:pointer;outline:0;background:#e6e6e6;border-color:#e6e6e6}.flatpickr-day.today{border-color:#959ea9;}.flatpickr-day.today:hover,.flatpickr-day.today:focus{border-color:#959ea9;background:#959ea9;color:#fff}.flatpickr-day.selected,.flatpickr-day.startRange,.flatpickr-day.endRange,.flatpickr-day.selected.inRange,.flatpickr-day.startRange.inRange,.flatpickr-day.endRange.inRange,.flatpickr-day.selected:focus,.flatpickr-day.startRange:focus,.flatpickr-day.endRange:focus,.flatpickr-day.selected:hover,.flatpickr-day.startRange:hover,.flatpickr-day.endRange:hover,.flatpickr-day.selected.prevMonthDay,.flatpickr-day.startRange.prevMonthDay,.flatpickr-day.endRange.prevMonthDay,.flatpickr-day.selected.nextMonthDay,.flatpickr-day.startRange.nextMonthDay,.flatpickr-day.endRange.nextMonthDay{background:#569ff7;-webkit-box-shadow:none;box-shadow:none;color:#fff;border-color:#569ff7}.flatpickr-day.selected.startRange,.flatpickr-day.startRange.startRange,.flatpickr-day.endRange.startRange{border-radius:50px 0 0 50px}.flatpickr-day.selected.endRange,.flatpickr-day.startRange.endRange,.flatpickr-day.endRange.endRange{border-radius:0 50px 50px 0}.flatpickr-day.selected.startRange + .endRange:not(:nth-child(7n+1)),.flatpickr-day.startRange.startRange + .endRange:not(:nth-child(7n+1)),.flatpickr-day.endRange.startRange + .endRange:not(:nth-child(7n+1)){-webkit-box-shadow:-10px 0 0 #569ff7;box-shadow:-10px 0 0 #569ff7}.flatpickr-day.selected.startRange.endRange,.flatpickr-day.startRange.startRange.endRange,.flatpickr-day.endRange.startRange.endRange{border-radius:50px}.flatpickr-day.inRange{border-radius:0;-webkit-box-shadow:-5px 0 0 #e6e6e6,5px 0 0 #e6e6e6;box-shadow:-5px 0 0 #e6e6e6,5px 0 0 #e6e6e6}.flatpickr-day.flatpickr-disabled,.flatpickr-day.flatpickr-disabled:hover,.flatpickr-day.prevMonthDay,.flatpickr-day.nextMonthDay,.flatpickr-day.notAllowed,.flatpickr-day.notAllowed.prevMonthDay,.flatpickr-day.notAllowed.nextMonthDay{color:rgba(57,57,57,0.3);background:transparent;border-color:transparent;cursor:default}.flatpickr-day.flatpickr-disabled,.flatpickr-day.flatpickr-disabled:hover{cursor:not-allowed;color:rgba(57,57,57,0.1)}.flatpickr-day.week.selected{border-radius:0;-webkit-box-shadow:-5px 0 0 #569ff7,5px 0 0 #569ff7;box-shadow:-5px 0 0 #569ff7,5px 0 0 #569ff7}.flatpickr-day.hidden{visibility:hidden}.rangeMode .flatpickr-day{margin-top:1px}.flatpickr-weekwrapper{float:left;}.flatpickr-weekwrapper .flatpickr-weeks{padding:0 12px;-webkit-box-shadow:1px 0 0 #e6e6e6;box-shadow:1px 0 0 #e6e6e6}.flatpickr-weekwrapper .flatpickr-weekday{float:none;width:100%;line-height:28px}.flatpickr-weekwrapper span.flatpickr-day,.flatpickr-weekwrapper span.flatpickr-day:hover{display:block;width:100%;max-width:none;color:rgba(57,57,57,0.3);background:transparent;cursor:default;border:none}.flatpickr-innerContainer{display:block;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-sizing:border-box;box-sizing:border-box;overflow:hidden;}.flatpickr-rContainer{display:inline-block;padding:0;-webkit-box-sizing:border-box;box-sizing:border-box}.flatpickr-time{text-align:center;outline:0;display:block;height:0;line-height:40px;max-height:40px;-webkit-box-sizing:border-box;box-sizing:border-box;overflow:hidden;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;}.flatpickr-time:after{content:"";display:table;clear:both}.flatpickr-time .numInputWrapper{-webkit-box-flex:1;-webkit-flex:1;-ms-flex:1;flex:1;width:40%;height:40px;float:left;}.flatpickr-time .numInputWrapper span.arrowUp:after{border-bottom-color:#393939}.flatpickr-time .numInputWrapper span.arrowDown:after{border-top-color:#393939}.flatpickr-time.hasSeconds .numInputWrapper{width:26%}.flatpickr-time.time24hr .numInputWrapper{width:49%}.flatpickr-time input{background:transparent;-webkit-box-shadow:none;box-shadow:none;border:0;border-radius:0;text-align:center;margin:0;padding:0;height:inherit;line-height:inherit;color:#393939;font-size:14px;position:relative;-webkit-box-sizing:border-box;box-sizing:border-box;-webkit-appearance:textfield;-moz-appearance:textfield;appearance:textfield;}.flatpickr-time input.flatpickr-hour{font-weight:bold}.flatpickr-time input.flatpickr-minute,.flatpickr-time input.flatpickr-second{font-weight:400}.flatpickr-time input:focus{outline:0;border:0}.flatpickr-time .flatpickr-time-separator,.flatpickr-time .flatpickr-am-pm{height:inherit;float:left;line-height:inherit;color:#393939;font-weight:bold;width:2%;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-align-self:center;-ms-flex-item-align:center;align-self:center}.flatpickr-time .flatpickr-am-pm{outline:0;width:18%;cursor:pointer;text-align:center;font-weight:400}.flatpickr-time input:hover,.flatpickr-time .flatpickr-am-pm:hover,.flatpickr-time input:focus,.flatpickr-time .flatpickr-am-pm:focus{background:#eee}.flatpickr-input[readonly]{cursor:pointer}@-webkit-keyframes fpFadeInDown{from{opacity:0;-webkit-transform:translate3d(0,-20px,0);transform:translate3d(0,-20px,0)}to{opacity:1;-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}}@keyframes fpFadeInDown{from{opacity:0;-webkit-transform:translate3d(0,-20px,0);transform:translate3d(0,-20px,0)}to{opacity:1;-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}}
\ No newline at end of file
+.flatpickr-calendar{background:0 0;opacity:0;display:none;text-align:center;visibility:hidden;padding:0;-webkit-animation:none;animation:none;direction:ltr;border:0;font-size:14px;line-height:24px;border-radius:5px;position:absolute;width:307.875px;-webkit-box-sizing:border-box;box-sizing:border-box;-ms-touch-action:manipulation;touch-action:manipulation;background:#fff;-webkit-box-shadow:1px 0 0 #e6e6e6,-1px 0 0 #e6e6e6,0 1px 0 #e6e6e6,0 -1px 0 #e6e6e6,0 3px 13px rgba(0,0,0,.08);box-shadow:1px 0 0 #e6e6e6,-1px 0 0 #e6e6e6,0 1px 0 #e6e6e6,0 -1px 0 #e6e6e6,0 3px 13px rgba(0,0,0,.08)}.flatpickr-calendar.inline,.flatpickr-calendar.open{opacity:1;max-height:640px;visibility:visible}.flatpickr-calendar.open{display:inline-block;z-index:99999}.flatpickr-calendar.animate.open{-webkit-animation:fpFadeInDown .3s cubic-bezier(.23,1,.32,1);animation:fpFadeInDown .3s cubic-bezier(.23,1,.32,1)}.flatpickr-calendar.inline{display:block;position:relative;top:2px}.flatpickr-calendar.static{position:absolute;top:calc(100% + 2px)}.flatpickr-calendar.static.open{z-index:999;display:block}.flatpickr-calendar.multiMonth .flatpickr-days .dayContainer:nth-child(n+1) .flatpickr-day.inRange:nth-child(7n+7){-webkit-box-shadow:none!important;box-shadow:none!important}.flatpickr-calendar.multiMonth .flatpickr-days .dayContainer:nth-child(n+2) .flatpickr-day.inRange:nth-child(7n+1){-webkit-box-shadow:-2px 0 0 #e6e6e6,5px 0 0 #e6e6e6;box-shadow:-2px 0 0 #e6e6e6,5px 0 0 #e6e6e6}.flatpickr-calendar .hasTime .dayContainer,.flatpickr-calendar .hasWeeks .dayContainer{border-bottom:0;border-bottom-right-radius:0;border-bottom-left-radius:0}.flatpickr-calendar .hasWeeks .dayContainer{border-left:0}.flatpickr-calendar.showTimeInput.hasTime .flatpickr-time{height:40px;border-top:1px solid #e6e6e6}.flatpickr-calendar.noCalendar.hasTime .flatpickr-time{height:auto}.flatpickr-calendar:after,.flatpickr-calendar:before{position:absolute;display:block;pointer-events:none;border:solid transparent;content:'';height:0;width:0;left:22px}.flatpickr-calendar.rightMost:after,.flatpickr-calendar.rightMost:before{left:auto;right:22px}.flatpickr-calendar:before{border-width:5px;margin:0 -5px}.flatpickr-calendar:after{border-width:4px;margin:0 -4px}.flatpickr-calendar.arrowTop:after,.flatpickr-calendar.arrowTop:before{bottom:100%}.flatpickr-calendar.arrowTop:before{border-bottom-color:#e6e6e6}.flatpickr-calendar.arrowTop:after{border-bottom-color:#fff}.flatpickr-calendar.arrowBottom:after,.flatpickr-calendar.arrowBottom:before{top:100%}.flatpickr-calendar.arrowBottom:before{border-top-color:#e6e6e6}.flatpickr-calendar.arrowBottom:after{border-top-color:#fff}.flatpickr-calendar:focus{outline:0}.flatpickr-wrapper{position:relative;display:inline-block}.flatpickr-months{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex}.flatpickr-months .flatpickr-month{background:0 0;color:rgba(0,0,0,.9);fill:rgba(0,0,0,.9);height:34px;line-height:1;text-align:center;position:relative;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;overflow:hidden;-webkit-box-flex:1;-webkit-flex:1;-ms-flex:1;flex:1}.flatpickr-months .flatpickr-next-month,.flatpickr-months .flatpickr-prev-month{text-decoration:none;cursor:pointer;position:absolute;top:0;height:34px;padding:10px;z-index:3;color:rgba(0,0,0,.9);fill:rgba(0,0,0,.9)}.flatpickr-months .flatpickr-next-month.flatpickr-disabled,.flatpickr-months .flatpickr-prev-month.flatpickr-disabled{display:none}.flatpickr-months .flatpickr-next-month i,.flatpickr-months .flatpickr-prev-month i{position:relative}.flatpickr-months .flatpickr-next-month.flatpickr-prev-month,.flatpickr-months .flatpickr-prev-month.flatpickr-prev-month{left:0}.flatpickr-months .flatpickr-next-month.flatpickr-next-month,.flatpickr-months .flatpickr-prev-month.flatpickr-next-month{right:0}.flatpickr-months .flatpickr-next-month:hover,.flatpickr-months .flatpickr-prev-month:hover{color:#959ea9}.flatpickr-months .flatpickr-next-month:hover svg,.flatpickr-months .flatpickr-prev-month:hover svg{fill:#f64747}.flatpickr-months .flatpickr-next-month svg,.flatpickr-months .flatpickr-prev-month svg{width:14px;height:14px}.flatpickr-months .flatpickr-next-month svg path,.flatpickr-months .flatpickr-prev-month svg path{-webkit-transition:fill .1s;transition:fill .1s;fill:inherit}.numInputWrapper{position:relative;height:auto}.numInputWrapper input,.numInputWrapper span{display:inline-block}.numInputWrapper input{width:100%}.numInputWrapper input::-ms-clear{display:none}.numInputWrapper input::-webkit-inner-spin-button,.numInputWrapper input::-webkit-outer-spin-button{margin:0;-webkit-appearance:none}.numInputWrapper span{position:absolute;right:0;width:14px;padding:0 4px 0 2px;height:50%;line-height:50%;opacity:0;cursor:pointer;border:1px solid rgba(57,57,57,.15);-webkit-box-sizing:border-box;box-sizing:border-box}.numInputWrapper span:hover{background:rgba(0,0,0,.1)}.numInputWrapper span:active{background:rgba(0,0,0,.2)}.numInputWrapper span:after{display:block;content:"";position:absolute}.numInputWrapper span.arrowUp{top:0;border-bottom:0}.numInputWrapper span.arrowUp:after{border-left:4px solid transparent;border-right:4px solid transparent;border-bottom:4px solid rgba(57,57,57,.6);top:26%}.numInputWrapper span.arrowDown{top:50%}.numInputWrapper span.arrowDown:after{border-left:4px solid transparent;border-right:4px solid transparent;border-top:4px solid rgba(57,57,57,.6);top:40%}.numInputWrapper span svg{width:inherit;height:auto}.numInputWrapper span svg path{fill:rgba(0,0,0,.5)}.numInputWrapper:hover{background:rgba(0,0,0,.05)}.numInputWrapper:hover span{opacity:1}.flatpickr-current-month{font-size:135%;line-height:inherit;font-weight:300;color:inherit;position:absolute;width:75%;left:12.5%;padding:7.48px 0 0 0;line-height:1;height:34px;display:inline-block;text-align:center;-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}.flatpickr-current-month span.cur-month{font-family:inherit;font-weight:700;color:inherit;display:inline-block;margin-left:.5ch;padding:0}.flatpickr-current-month span.cur-month:hover{background:rgba(0,0,0,.05)}.flatpickr-current-month .numInputWrapper{width:6ch;display:inline-block}.flatpickr-current-month .numInputWrapper span.arrowUp:after{border-bottom-color:rgba(0,0,0,.9)}.flatpickr-current-month .numInputWrapper span.arrowDown:after{border-top-color:rgba(0,0,0,.9)}.flatpickr-current-month input.cur-year{background:0 0;-webkit-box-sizing:border-box;box-sizing:border-box;color:inherit;cursor:text;padding:0 0 0 .5ch;margin:0;display:inline-block;font-size:inherit;font-family:inherit;font-weight:300;line-height:inherit;height:auto;border:0;border-radius:0;vertical-align:initial;-webkit-appearance:textfield;-moz-appearance:textfield;appearance:textfield}.flatpickr-current-month input.cur-year:focus{outline:0}.flatpickr-current-month input.cur-year[disabled],.flatpickr-current-month input.cur-year[disabled]:hover{font-size:100%;color:rgba(0,0,0,.5);background:0 0;pointer-events:none}.flatpickr-current-month .flatpickr-monthDropdown-months{appearance:menulist;background:0 0;border:none;border-radius:0;box-sizing:border-box;color:inherit;cursor:pointer;font-size:inherit;font-family:inherit;font-weight:300;height:auto;line-height:inherit;margin:-1px 0 0 0;outline:0;padding:0 0 0 .5ch;position:relative;vertical-align:initial;-webkit-box-sizing:border-box;-webkit-appearance:menulist;-moz-appearance:menulist;width:auto}.flatpickr-current-month .flatpickr-monthDropdown-months:active,.flatpickr-current-month .flatpickr-monthDropdown-months:focus{outline:0}.flatpickr-current-month .flatpickr-monthDropdown-months:hover{background:rgba(0,0,0,.05)}.flatpickr-current-month .flatpickr-monthDropdown-months .flatpickr-monthDropdown-month{background-color:transparent;outline:0;padding:0}.flatpickr-weekdays{background:0 0;text-align:center;overflow:hidden;width:100%;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center;height:28px}.flatpickr-weekdays .flatpickr-weekdaycontainer{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-flex:1;-webkit-flex:1;-ms-flex:1;flex:1}span.flatpickr-weekday{cursor:default;font-size:90%;background:0 0;color:rgba(0,0,0,.54);line-height:1;margin:0;text-align:center;display:block;-webkit-box-flex:1;-webkit-flex:1;-ms-flex:1;flex:1;font-weight:bolder}.dayContainer,.flatpickr-weeks{padding:1px 0 0 0}.flatpickr-days{position:relative;overflow:hidden;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-align:start;-webkit-align-items:flex-start;-ms-flex-align:start;align-items:flex-start;width:307.875px}.flatpickr-days:focus{outline:0}.dayContainer{padding:0;outline:0;text-align:left;width:307.875px;min-width:307.875px;max-width:307.875px;-webkit-box-sizing:border-box;box-sizing:border-box;display:inline-block;display:-ms-flexbox;display:-webkit-box;display:-webkit-flex;display:flex;-webkit-flex-wrap:wrap;flex-wrap:wrap;-ms-flex-wrap:wrap;-ms-flex-pack:justify;-webkit-justify-content:space-around;justify-content:space-around;-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0);opacity:1}.dayContainer+.dayContainer{-webkit-box-shadow:-1px 0 0 #e6e6e6;box-shadow:-1px 0 0 #e6e6e6}.flatpickr-day{background:0 0;border:1px solid transparent;border-radius:150px;-webkit-box-sizing:border-box;box-sizing:border-box;color:#393939;cursor:pointer;font-weight:400;width:14.2857143%;-webkit-flex-basis:14.2857143%;-ms-flex-preferred-size:14.2857143%;flex-basis:14.2857143%;max-width:39px;height:39px;line-height:39px;margin:0;display:inline-block;position:relative;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;text-align:center}.flatpickr-day.inRange,.flatpickr-day.nextMonthDay.inRange,.flatpickr-day.nextMonthDay.today.inRange,.flatpickr-day.nextMonthDay:focus,.flatpickr-day.nextMonthDay:hover,.flatpickr-day.prevMonthDay.inRange,.flatpickr-day.prevMonthDay.today.inRange,.flatpickr-day.prevMonthDay:focus,.flatpickr-day.prevMonthDay:hover,.flatpickr-day.today.inRange,.flatpickr-day:focus,.flatpickr-day:hover{cursor:pointer;outline:0;background:#e6e6e6;border-color:#e6e6e6}.flatpickr-day.today{border-color:#959ea9}.flatpickr-day.today:focus,.flatpickr-day.today:hover{border-color:#959ea9;background:#959ea9;color:#fff}.flatpickr-day.endRange,.flatpickr-day.endRange.inRange,.flatpickr-day.endRange.nextMonthDay,.flatpickr-day.endRange.prevMonthDay,.flatpickr-day.endRange:focus,.flatpickr-day.endRange:hover,.flatpickr-day.selected,.flatpickr-day.selected.inRange,.flatpickr-day.selected.nextMonthDay,.flatpickr-day.selected.prevMonthDay,.flatpickr-day.selected:focus,.flatpickr-day.selected:hover,.flatpickr-day.startRange,.flatpickr-day.startRange.inRange,.flatpickr-day.startRange.nextMonthDay,.flatpickr-day.startRange.prevMonthDay,.flatpickr-day.startRange:focus,.flatpickr-day.startRange:hover{background:#569ff7;-webkit-box-shadow:none;box-shadow:none;color:#fff;border-color:#569ff7}.flatpickr-day.endRange.startRange,.flatpickr-day.selected.startRange,.flatpickr-day.startRange.startRange{border-radius:50px 0 0 50px}.flatpickr-day.endRange.endRange,.flatpickr-day.selected.endRange,.flatpickr-day.startRange.endRange{border-radius:0 50px 50px 0}.flatpickr-day.endRange.startRange+.endRange:not(:nth-child(7n+1)),.flatpickr-day.selected.startRange+.endRange:not(:nth-child(7n+1)),.flatpickr-day.startRange.startRange+.endRange:not(:nth-child(7n+1)){-webkit-box-shadow:-10px 0 0 #569ff7;box-shadow:-10px 0 0 #569ff7}.flatpickr-day.endRange.startRange.endRange,.flatpickr-day.selected.startRange.endRange,.flatpickr-day.startRange.startRange.endRange{border-radius:50px}.flatpickr-day.inRange{border-radius:0;-webkit-box-shadow:-5px 0 0 #e6e6e6,5px 0 0 #e6e6e6;box-shadow:-5px 0 0 #e6e6e6,5px 0 0 #e6e6e6}.flatpickr-day.flatpickr-disabled,.flatpickr-day.flatpickr-disabled:hover,.flatpickr-day.nextMonthDay,.flatpickr-day.notAllowed,.flatpickr-day.notAllowed.nextMonthDay,.flatpickr-day.notAllowed.prevMonthDay,.flatpickr-day.prevMonthDay{color:rgba(57,57,57,.3);background:0 0;border-color:transparent;cursor:default}.flatpickr-day.flatpickr-disabled,.flatpickr-day.flatpickr-disabled:hover{cursor:not-allowed;color:rgba(57,57,57,.1)}.flatpickr-day.week.selected{border-radius:0;-webkit-box-shadow:-5px 0 0 #569ff7,5px 0 0 #569ff7;box-shadow:-5px 0 0 #569ff7,5px 0 0 #569ff7}.flatpickr-day.hidden{visibility:hidden}.rangeMode .flatpickr-day{margin-top:1px}.flatpickr-weekwrapper{float:left}.flatpickr-weekwrapper .flatpickr-weeks{padding:0 12px;-webkit-box-shadow:1px 0 0 #e6e6e6;box-shadow:1px 0 0 #e6e6e6}.flatpickr-weekwrapper .flatpickr-weekday{float:none;width:100%;line-height:28px}.flatpickr-weekwrapper span.flatpickr-day,.flatpickr-weekwrapper span.flatpickr-day:hover{display:block;width:100%;max-width:none;color:rgba(57,57,57,.3);background:0 0;cursor:default;border:none}.flatpickr-innerContainer{display:block;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-sizing:border-box;box-sizing:border-box;overflow:hidden}.flatpickr-rContainer{display:inline-block;padding:0;-webkit-box-sizing:border-box;box-sizing:border-box}.flatpickr-time{text-align:center;outline:0;display:block;height:0;line-height:40px;max-height:40px;-webkit-box-sizing:border-box;box-sizing:border-box;overflow:hidden;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex}.flatpickr-time:after{content:"";display:table;clear:both}.flatpickr-time .numInputWrapper{-webkit-box-flex:1;-webkit-flex:1;-ms-flex:1;flex:1;width:40%;height:40px;float:left}.flatpickr-time .numInputWrapper span.arrowUp:after{border-bottom-color:#393939}.flatpickr-time .numInputWrapper span.arrowDown:after{border-top-color:#393939}.flatpickr-time.hasSeconds .numInputWrapper{width:26%}.flatpickr-time.time24hr .numInputWrapper{width:49%}.flatpickr-time input{background:0 0;-webkit-box-shadow:none;box-shadow:none;border:0;border-radius:0;text-align:center;margin:0;padding:0;height:inherit;line-height:inherit;color:#393939;font-size:14px;position:relative;-webkit-box-sizing:border-box;box-sizing:border-box;-webkit-appearance:textfield;-moz-appearance:textfield;appearance:textfield}.flatpickr-time input.flatpickr-hour{font-weight:700}.flatpickr-time input.flatpickr-minute,.flatpickr-time input.flatpickr-second{font-weight:400}.flatpickr-time input:focus{outline:0;border:0}.flatpickr-time .flatpickr-am-pm,.flatpickr-time .flatpickr-time-separator{height:inherit;float:left;line-height:inherit;color:#393939;font-weight:700;width:2%;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-align-self:center;-ms-flex-item-align:center;align-self:center}.flatpickr-time .flatpickr-am-pm{outline:0;width:18%;cursor:pointer;text-align:center;font-weight:400}.flatpickr-time .flatpickr-am-pm:focus,.flatpickr-time .flatpickr-am-pm:hover,.flatpickr-time input:focus,.flatpickr-time input:hover{background:#eee}.flatpickr-input[readonly]{cursor:pointer}@-webkit-keyframes fpFadeInDown{from{opacity:0;-webkit-transform:translate3d(0,-20px,0);transform:translate3d(0,-20px,0)}to{opacity:1;-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}}@keyframes fpFadeInDown{from{opacity:0;-webkit-transform:translate3d(0,-20px,0);transform:translate3d(0,-20px,0)}to{opacity:1;-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}}
\ No newline at end of file
--- /dev/null
+.flatpickr-calendar{background:transparent;opacity:0;display:none;text-align:center;visibility:hidden;padding:0;-webkit-animation:none;animation:none;direction:ltr;border:0;font-size:14px;line-height:24px;border-radius:5px;position:absolute;width:307.875px;-webkit-box-sizing:border-box;box-sizing:border-box;-ms-touch-action:manipulation;touch-action:manipulation;background:#fff;-webkit-box-shadow:1px 0 0 #e6e6e6,-1px 0 0 #e6e6e6,0 1px 0 #e6e6e6,0 -1px 0 #e6e6e6,0 3px 13px rgba(0,0,0,0.08);box-shadow:1px 0 0 #e6e6e6,-1px 0 0 #e6e6e6,0 1px 0 #e6e6e6,0 -1px 0 #e6e6e6,0 3px 13px rgba(0,0,0,0.08);}.flatpickr-calendar.open,.flatpickr-calendar.inline{opacity:1;max-height:640px;visibility:visible}.flatpickr-calendar.open{display:inline-block;z-index:99999}.flatpickr-calendar.animate.open{-webkit-animation:fpFadeInDown 300ms cubic-bezier(.23,1,.32,1);animation:fpFadeInDown 300ms cubic-bezier(.23,1,.32,1)}.flatpickr-calendar.inline{display:block;position:relative;top:2px}.flatpickr-calendar.static{position:absolute;top:calc(100% + 2px);}.flatpickr-calendar.static.open{z-index:999;display:block}.flatpickr-calendar.multiMonth .flatpickr-days .dayContainer:nth-child(n+1) .flatpickr-day.inRange:nth-child(7n+7){-webkit-box-shadow:none !important;box-shadow:none !important}.flatpickr-calendar.multiMonth .flatpickr-days .dayContainer:nth-child(n+2) .flatpickr-day.inRange:nth-child(7n+1){-webkit-box-shadow:-2px 0 0 #e6e6e6,5px 0 0 #e6e6e6;box-shadow:-2px 0 0 #e6e6e6,5px 0 0 #e6e6e6}.flatpickr-calendar .hasWeeks .dayContainer,.flatpickr-calendar .hasTime .dayContainer{border-bottom:0;border-bottom-right-radius:0;border-bottom-left-radius:0}.flatpickr-calendar .hasWeeks .dayContainer{border-left:0}.flatpickr-calendar.showTimeInput.hasTime .flatpickr-time{height:40px;border-top:1px solid #e6e6e6}.flatpickr-calendar.noCalendar.hasTime .flatpickr-time{height:auto}.flatpickr-calendar:before,.flatpickr-calendar:after{position:absolute;display:block;pointer-events:none;border:solid transparent;content:'';height:0;width:0;left:22px}.flatpickr-calendar.rightMost:before,.flatpickr-calendar.rightMost:after{left:auto;right:22px}.flatpickr-calendar:before{border-width:5px;margin:0 -5px}.flatpickr-calendar:after{border-width:4px;margin:0 -4px}.flatpickr-calendar.arrowTop:before,.flatpickr-calendar.arrowTop:after{bottom:100%}.flatpickr-calendar.arrowTop:before{border-bottom-color:#e6e6e6}.flatpickr-calendar.arrowTop:after{border-bottom-color:#fff}.flatpickr-calendar.arrowBottom:before,.flatpickr-calendar.arrowBottom:after{top:100%}.flatpickr-calendar.arrowBottom:before{border-top-color:#e6e6e6}.flatpickr-calendar.arrowBottom:after{border-top-color:#fff}.flatpickr-calendar:focus{outline:0}.flatpickr-wrapper{position:relative;display:inline-block}.flatpickr-months{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;}.flatpickr-months .flatpickr-month{background:transparent;color:rgba(0,0,0,0.9);fill:rgba(0,0,0,0.9);height:34px;line-height:1;text-align:center;position:relative;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;overflow:hidden;-webkit-box-flex:1;-webkit-flex:1;-ms-flex:1;flex:1}.flatpickr-months .flatpickr-prev-month,.flatpickr-months .flatpickr-next-month{text-decoration:none;cursor:pointer;position:absolute;top:0;height:34px;padding:10px;z-index:3;color:rgba(0,0,0,0.9);fill:rgba(0,0,0,0.9);}.flatpickr-months .flatpickr-prev-month.flatpickr-disabled,.flatpickr-months .flatpickr-next-month.flatpickr-disabled{display:none}.flatpickr-months .flatpickr-prev-month i,.flatpickr-months .flatpickr-next-month i{position:relative}.flatpickr-months .flatpickr-prev-month.flatpickr-prev-month,.flatpickr-months .flatpickr-next-month.flatpickr-prev-month{/*
+ /*rtl:begin:ignore*/left:0;/*
+ /*rtl:end:ignore*/}/*
+ /*rtl:begin:ignore*/
+/*
+ /*rtl:end:ignore*/
+.flatpickr-months .flatpickr-prev-month.flatpickr-next-month,.flatpickr-months .flatpickr-next-month.flatpickr-next-month{/*
+ /*rtl:begin:ignore*/right:0;/*
+ /*rtl:end:ignore*/}/*
+ /*rtl:begin:ignore*/
+/*
+ /*rtl:end:ignore*/
+.flatpickr-months .flatpickr-prev-month:hover,.flatpickr-months .flatpickr-next-month:hover{color:#959ea9;}.flatpickr-months .flatpickr-prev-month:hover svg,.flatpickr-months .flatpickr-next-month:hover svg{fill:#f64747}.flatpickr-months .flatpickr-prev-month svg,.flatpickr-months .flatpickr-next-month svg{width:14px;height:14px;}.flatpickr-months .flatpickr-prev-month svg path,.flatpickr-months .flatpickr-next-month svg path{-webkit-transition:fill .1s;transition:fill .1s;fill:inherit}.numInputWrapper{position:relative;height:auto;}.numInputWrapper input,.numInputWrapper span{display:inline-block}.numInputWrapper input{width:100%;}.numInputWrapper input::-ms-clear{display:none}.numInputWrapper input::-webkit-outer-spin-button,.numInputWrapper input::-webkit-inner-spin-button{margin:0;-webkit-appearance:none}.numInputWrapper span{position:absolute;right:0;width:14px;padding:0 4px 0 2px;height:50%;line-height:50%;opacity:0;cursor:pointer;border:1px solid rgba(57,57,57,0.15);-webkit-box-sizing:border-box;box-sizing:border-box;}.numInputWrapper span:hover{background:rgba(0,0,0,0.1)}.numInputWrapper span:active{background:rgba(0,0,0,0.2)}.numInputWrapper span:after{display:block;content:"";position:absolute}.numInputWrapper span.arrowUp{top:0;border-bottom:0;}.numInputWrapper span.arrowUp:after{border-left:4px solid transparent;border-right:4px solid transparent;border-bottom:4px solid rgba(57,57,57,0.6);top:26%}.numInputWrapper span.arrowDown{top:50%;}.numInputWrapper span.arrowDown:after{border-left:4px solid transparent;border-right:4px solid transparent;border-top:4px solid rgba(57,57,57,0.6);top:40%}.numInputWrapper span svg{width:inherit;height:auto;}.numInputWrapper span svg path{fill:rgba(0,0,0,0.5)}.numInputWrapper:hover{background:rgba(0,0,0,0.05);}.numInputWrapper:hover span{opacity:1}.flatpickr-current-month{font-size:135%;line-height:inherit;font-weight:300;color:inherit;position:absolute;width:75%;left:12.5%;padding:7.48px 0 0 0;line-height:1;height:34px;display:inline-block;text-align:center;-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0);}.flatpickr-current-month span.cur-month{font-family:inherit;font-weight:700;color:inherit;display:inline-block;margin-left:.5ch;padding:0;}.flatpickr-current-month span.cur-month:hover{background:rgba(0,0,0,0.05)}.flatpickr-current-month .numInputWrapper{width:6ch;width:7ch\0;display:inline-block;}.flatpickr-current-month .numInputWrapper span.arrowUp:after{border-bottom-color:rgba(0,0,0,0.9)}.flatpickr-current-month .numInputWrapper span.arrowDown:after{border-top-color:rgba(0,0,0,0.9)}.flatpickr-current-month input.cur-year{background:transparent;-webkit-box-sizing:border-box;box-sizing:border-box;color:inherit;cursor:text;padding:0 0 0 .5ch;margin:0;display:inline-block;font-size:inherit;font-family:inherit;font-weight:300;line-height:inherit;height:auto;border:0;border-radius:0;vertical-align:initial;-webkit-appearance:textfield;-moz-appearance:textfield;appearance:textfield;}.flatpickr-current-month input.cur-year:focus{outline:0}.flatpickr-current-month input.cur-year[disabled],.flatpickr-current-month input.cur-year[disabled]:hover{font-size:100%;color:rgba(0,0,0,0.5);background:transparent;pointer-events:none}.flatpickr-current-month .flatpickr-monthDropdown-months{appearance:menulist;background:transparent;border:none;border-radius:0;box-sizing:border-box;color:inherit;cursor:pointer;font-size:inherit;font-family:inherit;font-weight:300;height:auto;line-height:inherit;margin:-1px 0 0 0;outline:none;padding:0 0 0 .5ch;position:relative;vertical-align:initial;-webkit-box-sizing:border-box;-webkit-appearance:menulist;-moz-appearance:menulist;width:auto;}.flatpickr-current-month .flatpickr-monthDropdown-months:focus,.flatpickr-current-month .flatpickr-monthDropdown-months:active{outline:none}.flatpickr-current-month .flatpickr-monthDropdown-months:hover{background:rgba(0,0,0,0.05)}.flatpickr-current-month .flatpickr-monthDropdown-months .flatpickr-monthDropdown-month{background-color:transparent;outline:none;padding:0}.flatpickr-weekdays{background:transparent;text-align:center;overflow:hidden;width:100%;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center;height:28px;}.flatpickr-weekdays .flatpickr-weekdaycontainer{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-flex:1;-webkit-flex:1;-ms-flex:1;flex:1}span.flatpickr-weekday{cursor:default;font-size:90%;background:transparent;color:rgba(0,0,0,0.54);line-height:1;margin:0;text-align:center;display:block;-webkit-box-flex:1;-webkit-flex:1;-ms-flex:1;flex:1;font-weight:bolder}.dayContainer,.flatpickr-weeks{padding:1px 0 0 0}.flatpickr-days{position:relative;overflow:hidden;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-align:start;-webkit-align-items:flex-start;-ms-flex-align:start;align-items:flex-start;width:307.875px;}.flatpickr-days:focus{outline:0}.dayContainer{padding:0;outline:0;text-align:left;width:307.875px;min-width:307.875px;max-width:307.875px;-webkit-box-sizing:border-box;box-sizing:border-box;display:inline-block;display:-ms-flexbox;display:-webkit-box;display:-webkit-flex;display:flex;-webkit-flex-wrap:wrap;flex-wrap:wrap;-ms-flex-wrap:wrap;-ms-flex-pack:justify;-webkit-justify-content:space-around;justify-content:space-around;-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0);opacity:1;}.dayContainer + .dayContainer{-webkit-box-shadow:-1px 0 0 #e6e6e6;box-shadow:-1px 0 0 #e6e6e6}.flatpickr-day{background:none;border:1px solid transparent;border-radius:150px;-webkit-box-sizing:border-box;box-sizing:border-box;color:#393939;cursor:pointer;font-weight:400;width:14.2857143%;-webkit-flex-basis:14.2857143%;-ms-flex-preferred-size:14.2857143%;flex-basis:14.2857143%;max-width:39px;height:39px;line-height:39px;margin:0;display:inline-block;position:relative;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;text-align:center;}.flatpickr-day.inRange,.flatpickr-day.prevMonthDay.inRange,.flatpickr-day.nextMonthDay.inRange,.flatpickr-day.today.inRange,.flatpickr-day.prevMonthDay.today.inRange,.flatpickr-day.nextMonthDay.today.inRange,.flatpickr-day:hover,.flatpickr-day.prevMonthDay:hover,.flatpickr-day.nextMonthDay:hover,.flatpickr-day:focus,.flatpickr-day.prevMonthDay:focus,.flatpickr-day.nextMonthDay:focus{cursor:pointer;outline:0;background:#e6e6e6;border-color:#e6e6e6}.flatpickr-day.today{border-color:#959ea9;}.flatpickr-day.today:hover,.flatpickr-day.today:focus{border-color:#959ea9;background:#959ea9;color:#fff}.flatpickr-day.selected,.flatpickr-day.startRange,.flatpickr-day.endRange,.flatpickr-day.selected.inRange,.flatpickr-day.startRange.inRange,.flatpickr-day.endRange.inRange,.flatpickr-day.selected:focus,.flatpickr-day.startRange:focus,.flatpickr-day.endRange:focus,.flatpickr-day.selected:hover,.flatpickr-day.startRange:hover,.flatpickr-day.endRange:hover,.flatpickr-day.selected.prevMonthDay,.flatpickr-day.startRange.prevMonthDay,.flatpickr-day.endRange.prevMonthDay,.flatpickr-day.selected.nextMonthDay,.flatpickr-day.startRange.nextMonthDay,.flatpickr-day.endRange.nextMonthDay{background:#569ff7;-webkit-box-shadow:none;box-shadow:none;color:#fff;border-color:#569ff7}.flatpickr-day.selected.startRange,.flatpickr-day.startRange.startRange,.flatpickr-day.endRange.startRange{border-radius:50px 0 0 50px}.flatpickr-day.selected.endRange,.flatpickr-day.startRange.endRange,.flatpickr-day.endRange.endRange{border-radius:0 50px 50px 0}.flatpickr-day.selected.startRange + .endRange:not(:nth-child(7n+1)),.flatpickr-day.startRange.startRange + .endRange:not(:nth-child(7n+1)),.flatpickr-day.endRange.startRange + .endRange:not(:nth-child(7n+1)){-webkit-box-shadow:-10px 0 0 #569ff7;box-shadow:-10px 0 0 #569ff7}.flatpickr-day.selected.startRange.endRange,.flatpickr-day.startRange.startRange.endRange,.flatpickr-day.endRange.startRange.endRange{border-radius:50px}.flatpickr-day.inRange{border-radius:0;-webkit-box-shadow:-5px 0 0 #e6e6e6,5px 0 0 #e6e6e6;box-shadow:-5px 0 0 #e6e6e6,5px 0 0 #e6e6e6}.flatpickr-day.flatpickr-disabled,.flatpickr-day.flatpickr-disabled:hover,.flatpickr-day.prevMonthDay,.flatpickr-day.nextMonthDay,.flatpickr-day.notAllowed,.flatpickr-day.notAllowed.prevMonthDay,.flatpickr-day.notAllowed.nextMonthDay{color:rgba(57,57,57,0.3);background:transparent;border-color:transparent;cursor:default}.flatpickr-day.flatpickr-disabled,.flatpickr-day.flatpickr-disabled:hover{cursor:not-allowed;color:rgba(57,57,57,0.1)}.flatpickr-day.week.selected{border-radius:0;-webkit-box-shadow:-5px 0 0 #569ff7,5px 0 0 #569ff7;box-shadow:-5px 0 0 #569ff7,5px 0 0 #569ff7}.flatpickr-day.hidden{visibility:hidden}.rangeMode .flatpickr-day{margin-top:1px}.flatpickr-weekwrapper{float:left;}.flatpickr-weekwrapper .flatpickr-weeks{padding:0 12px;-webkit-box-shadow:1px 0 0 #e6e6e6;box-shadow:1px 0 0 #e6e6e6}.flatpickr-weekwrapper .flatpickr-weekday{float:none;width:100%;line-height:28px}.flatpickr-weekwrapper span.flatpickr-day,.flatpickr-weekwrapper span.flatpickr-day:hover{display:block;width:100%;max-width:none;color:rgba(57,57,57,0.3);background:transparent;cursor:default;border:none}.flatpickr-innerContainer{display:block;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-sizing:border-box;box-sizing:border-box;overflow:hidden;}.flatpickr-rContainer{display:inline-block;padding:0;-webkit-box-sizing:border-box;box-sizing:border-box}.flatpickr-time{text-align:center;outline:0;display:block;height:0;line-height:40px;max-height:40px;-webkit-box-sizing:border-box;box-sizing:border-box;overflow:hidden;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;}.flatpickr-time:after{content:"";display:table;clear:both}.flatpickr-time .numInputWrapper{-webkit-box-flex:1;-webkit-flex:1;-ms-flex:1;flex:1;width:40%;height:40px;float:left;}.flatpickr-time .numInputWrapper span.arrowUp:after{border-bottom-color:#393939}.flatpickr-time .numInputWrapper span.arrowDown:after{border-top-color:#393939}.flatpickr-time.hasSeconds .numInputWrapper{width:26%}.flatpickr-time.time24hr .numInputWrapper{width:49%}.flatpickr-time input{background:transparent;-webkit-box-shadow:none;box-shadow:none;border:0;border-radius:0;text-align:center;margin:0;padding:0;height:inherit;line-height:inherit;color:#393939;font-size:14px;position:relative;-webkit-box-sizing:border-box;box-sizing:border-box;-webkit-appearance:textfield;-moz-appearance:textfield;appearance:textfield;}.flatpickr-time input.flatpickr-hour{font-weight:bold}.flatpickr-time input.flatpickr-minute,.flatpickr-time input.flatpickr-second{font-weight:400}.flatpickr-time input:focus{outline:0;border:0}.flatpickr-time .flatpickr-time-separator,.flatpickr-time .flatpickr-am-pm{height:inherit;float:left;line-height:inherit;color:#393939;font-weight:bold;width:2%;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-align-self:center;-ms-flex-item-align:center;align-self:center}.flatpickr-time .flatpickr-am-pm{outline:0;width:18%;cursor:pointer;text-align:center;font-weight:400}.flatpickr-time input:hover,.flatpickr-time .flatpickr-am-pm:hover,.flatpickr-time input:focus,.flatpickr-time .flatpickr-am-pm:focus{background:#eee}.flatpickr-input[readonly]{cursor:pointer}@-webkit-keyframes fpFadeInDown{from{opacity:0;-webkit-transform:translate3d(0,-20px,0);transform:translate3d(0,-20px,0)}to{opacity:1;-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}}@keyframes fpFadeInDown{from{opacity:0;-webkit-transform:translate3d(0,-20px,0);transform:translate3d(0,-20px,0)}to{opacity:1;-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}}
\ No newline at end of file
--- /dev/null
+.flatpickr-calendar{background:0 0;opacity:0;display:none;text-align:center;visibility:hidden;padding:0;-webkit-animation:none;animation:none;direction:ltr;border:0;font-size:14px;line-height:24px;border-radius:5px;position:absolute;width:307.875px;-webkit-box-sizing:border-box;box-sizing:border-box;-ms-touch-action:manipulation;touch-action:manipulation;background:#fff;-webkit-box-shadow:1px 0 0 #eee,-1px 0 0 #eee,0 1px 0 #eee,0 -1px 0 #eee,0 3px 13px rgba(0,0,0,.08);box-shadow:1px 0 0 #eee,-1px 0 0 #eee,0 1px 0 #eee,0 -1px 0 #eee,0 3px 13px rgba(0,0,0,.08)}.flatpickr-calendar.inline,.flatpickr-calendar.open{opacity:1;max-height:640px;visibility:visible}.flatpickr-calendar.open{display:inline-block;z-index:99999}.flatpickr-calendar.animate.open{-webkit-animation:fpFadeInDown .3s cubic-bezier(.23,1,.32,1);animation:fpFadeInDown .3s cubic-bezier(.23,1,.32,1)}.flatpickr-calendar.inline{display:block;position:relative;top:2px}.flatpickr-calendar.static{position:absolute;top:calc(100% + 2px)}.flatpickr-calendar.static.open{z-index:999;display:block}.flatpickr-calendar.multiMonth .flatpickr-days .dayContainer:nth-child(n+1) .flatpickr-day.inRange:nth-child(7n+7){-webkit-box-shadow:none!important;box-shadow:none!important}.flatpickr-calendar.multiMonth .flatpickr-days .dayContainer:nth-child(n+2) .flatpickr-day.inRange:nth-child(7n+1){-webkit-box-shadow:-2px 0 0 #e6e6e6,5px 0 0 #e6e6e6;box-shadow:-2px 0 0 #e6e6e6,5px 0 0 #e6e6e6}.flatpickr-calendar .hasTime .dayContainer,.flatpickr-calendar .hasWeeks .dayContainer{border-bottom:0;border-bottom-right-radius:0;border-bottom-left-radius:0}.flatpickr-calendar .hasWeeks .dayContainer{border-left:0}.flatpickr-calendar.showTimeInput.hasTime .flatpickr-time{height:40px;border-top:1px solid #eee}.flatpickr-calendar.noCalendar.hasTime .flatpickr-time{height:auto}.flatpickr-calendar:after,.flatpickr-calendar:before{position:absolute;display:block;pointer-events:none;border:solid transparent;content:'';height:0;width:0;left:22px}.flatpickr-calendar.rightMost:after,.flatpickr-calendar.rightMost:before{left:auto;right:22px}.flatpickr-calendar:before{border-width:5px;margin:0 -5px}.flatpickr-calendar:after{border-width:4px;margin:0 -4px}.flatpickr-calendar.arrowTop:after,.flatpickr-calendar.arrowTop:before{bottom:100%}.flatpickr-calendar.arrowTop:before{border-bottom-color:#eee}.flatpickr-calendar.arrowTop:after{border-bottom-color:#fff}.flatpickr-calendar.arrowBottom:after,.flatpickr-calendar.arrowBottom:before{top:100%}.flatpickr-calendar.arrowBottom:before{border-top-color:#eee}.flatpickr-calendar.arrowBottom:after{border-top-color:#fff}.flatpickr-calendar:focus{outline:0}.flatpickr-wrapper{position:relative;display:inline-block}.flatpickr-months{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex}.flatpickr-months .flatpickr-month{background:0 0;color:#3c3f40;fill:#3c3f40;height:34px;line-height:1;text-align:center;position:relative;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;overflow:hidden;-webkit-box-flex:1;-webkit-flex:1;-ms-flex:1;flex:1}.flatpickr-months .flatpickr-next-month,.flatpickr-months .flatpickr-prev-month{text-decoration:none;cursor:pointer;position:absolute;top:0;height:34px;padding:10px;z-index:3;color:#3c3f40;fill:#3c3f40}.flatpickr-months .flatpickr-next-month.flatpickr-disabled,.flatpickr-months .flatpickr-prev-month.flatpickr-disabled{display:none}.flatpickr-months .flatpickr-next-month i,.flatpickr-months .flatpickr-prev-month i{position:relative}.flatpickr-months .flatpickr-next-month.flatpickr-prev-month,.flatpickr-months .flatpickr-prev-month.flatpickr-prev-month{left:0}.flatpickr-months .flatpickr-next-month.flatpickr-next-month,.flatpickr-months .flatpickr-prev-month.flatpickr-next-month{right:0}.flatpickr-months .flatpickr-next-month:hover,.flatpickr-months .flatpickr-prev-month:hover{color:#f64747}.flatpickr-months .flatpickr-next-month:hover svg,.flatpickr-months .flatpickr-prev-month:hover svg{fill:#f64747}.flatpickr-months .flatpickr-next-month svg,.flatpickr-months .flatpickr-prev-month svg{width:14px;height:14px}.flatpickr-months .flatpickr-next-month svg path,.flatpickr-months .flatpickr-prev-month svg path{-webkit-transition:fill .1s;transition:fill .1s;fill:inherit}.numInputWrapper{position:relative;height:auto}.numInputWrapper input,.numInputWrapper span{display:inline-block}.numInputWrapper input{width:100%}.numInputWrapper input::-ms-clear{display:none}.numInputWrapper input::-webkit-inner-spin-button,.numInputWrapper input::-webkit-outer-spin-button{margin:0;-webkit-appearance:none}.numInputWrapper span{position:absolute;right:0;width:14px;padding:0 4px 0 2px;height:50%;line-height:50%;opacity:0;cursor:pointer;border:1px solid rgba(64,72,72,.15);-webkit-box-sizing:border-box;box-sizing:border-box}.numInputWrapper span:hover{background:rgba(0,0,0,.1)}.numInputWrapper span:active{background:rgba(0,0,0,.2)}.numInputWrapper span:after{display:block;content:"";position:absolute}.numInputWrapper span.arrowUp{top:0;border-bottom:0}.numInputWrapper span.arrowUp:after{border-left:4px solid transparent;border-right:4px solid transparent;border-bottom:4px solid rgba(64,72,72,.6);top:26%}.numInputWrapper span.arrowDown{top:50%}.numInputWrapper span.arrowDown:after{border-left:4px solid transparent;border-right:4px solid transparent;border-top:4px solid rgba(64,72,72,.6);top:40%}.numInputWrapper span svg{width:inherit;height:auto}.numInputWrapper span svg path{fill:rgba(60,63,64,.5)}.numInputWrapper:hover{background:rgba(0,0,0,.05)}.numInputWrapper:hover span{opacity:1}.flatpickr-current-month{font-size:135%;line-height:inherit;font-weight:300;color:inherit;position:absolute;width:75%;left:12.5%;padding:7.48px 0 0 0;line-height:1;height:34px;display:inline-block;text-align:center;-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}.flatpickr-current-month span.cur-month{font-family:inherit;font-weight:700;color:inherit;display:inline-block;margin-left:.5ch;padding:0}.flatpickr-current-month span.cur-month:hover{background:rgba(0,0,0,.05)}.flatpickr-current-month .numInputWrapper{width:6ch;display:inline-block}.flatpickr-current-month .numInputWrapper span.arrowUp:after{border-bottom-color:#3c3f40}.flatpickr-current-month .numInputWrapper span.arrowDown:after{border-top-color:#3c3f40}.flatpickr-current-month input.cur-year{background:0 0;-webkit-box-sizing:border-box;box-sizing:border-box;color:inherit;cursor:text;padding:0 0 0 .5ch;margin:0;display:inline-block;font-size:inherit;font-family:inherit;font-weight:300;line-height:inherit;height:auto;border:0;border-radius:0;vertical-align:initial;-webkit-appearance:textfield;-moz-appearance:textfield;appearance:textfield}.flatpickr-current-month input.cur-year:focus{outline:0}.flatpickr-current-month input.cur-year[disabled],.flatpickr-current-month input.cur-year[disabled]:hover{font-size:100%;color:rgba(60,63,64,.5);background:0 0;pointer-events:none}.flatpickr-current-month .flatpickr-monthDropdown-months{appearance:menulist;background:0 0;border:none;border-radius:0;box-sizing:border-box;color:inherit;cursor:pointer;font-size:inherit;font-family:inherit;font-weight:300;height:auto;line-height:inherit;margin:-1px 0 0 0;outline:0;padding:0 0 0 .5ch;position:relative;vertical-align:initial;-webkit-box-sizing:border-box;-webkit-appearance:menulist;-moz-appearance:menulist;width:auto}.flatpickr-current-month .flatpickr-monthDropdown-months:active,.flatpickr-current-month .flatpickr-monthDropdown-months:focus{outline:0}.flatpickr-current-month .flatpickr-monthDropdown-months:hover{background:rgba(0,0,0,.05)}.flatpickr-current-month .flatpickr-monthDropdown-months .flatpickr-monthDropdown-month{background-color:transparent;outline:0;padding:0}.flatpickr-weekdays{background:0 0;text-align:center;overflow:hidden;width:100%;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center;height:28px}.flatpickr-weekdays .flatpickr-weekdaycontainer{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-flex:1;-webkit-flex:1;-ms-flex:1;flex:1}span.flatpickr-weekday{cursor:default;font-size:90%;background:0 0;color:rgba(0,0,0,.54);line-height:1;margin:0;text-align:center;display:block;-webkit-box-flex:1;-webkit-flex:1;-ms-flex:1;flex:1;font-weight:bolder}.dayContainer,.flatpickr-weeks{padding:1px 0 0 0}.flatpickr-days{position:relative;overflow:hidden;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-align:start;-webkit-align-items:flex-start;-ms-flex-align:start;align-items:flex-start;width:307.875px}.flatpickr-days:focus{outline:0}.dayContainer{padding:0;outline:0;text-align:left;width:307.875px;min-width:307.875px;max-width:307.875px;-webkit-box-sizing:border-box;box-sizing:border-box;display:inline-block;display:-ms-flexbox;display:-webkit-box;display:-webkit-flex;display:flex;-webkit-flex-wrap:wrap;flex-wrap:wrap;-ms-flex-wrap:wrap;-ms-flex-pack:justify;-webkit-justify-content:space-around;justify-content:space-around;-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0);opacity:1}.dayContainer+.dayContainer{-webkit-box-shadow:-1px 0 0 #eee;box-shadow:-1px 0 0 #eee}.flatpickr-day{background:0 0;border:1px solid transparent;border-radius:150px;-webkit-box-sizing:border-box;box-sizing:border-box;color:#404848;cursor:pointer;font-weight:400;width:14.2857143%;-webkit-flex-basis:14.2857143%;-ms-flex-preferred-size:14.2857143%;flex-basis:14.2857143%;max-width:39px;height:39px;line-height:39px;margin:0;display:inline-block;position:relative;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;text-align:center}.flatpickr-day.inRange,.flatpickr-day.nextMonthDay.inRange,.flatpickr-day.nextMonthDay.today.inRange,.flatpickr-day.nextMonthDay:focus,.flatpickr-day.nextMonthDay:hover,.flatpickr-day.prevMonthDay.inRange,.flatpickr-day.prevMonthDay.today.inRange,.flatpickr-day.prevMonthDay:focus,.flatpickr-day.prevMonthDay:hover,.flatpickr-day.today.inRange,.flatpickr-day:focus,.flatpickr-day:hover{cursor:pointer;outline:0;background:#e9e9e9;border-color:#e9e9e9}.flatpickr-day.today{border-color:#f64747}.flatpickr-day.today:focus,.flatpickr-day.today:hover{border-color:#f64747;background:#f64747;color:#fff}.flatpickr-day.endRange,.flatpickr-day.endRange.inRange,.flatpickr-day.endRange.nextMonthDay,.flatpickr-day.endRange.prevMonthDay,.flatpickr-day.endRange:focus,.flatpickr-day.endRange:hover,.flatpickr-day.selected,.flatpickr-day.selected.inRange,.flatpickr-day.selected.nextMonthDay,.flatpickr-day.selected.prevMonthDay,.flatpickr-day.selected:focus,.flatpickr-day.selected:hover,.flatpickr-day.startRange,.flatpickr-day.startRange.inRange,.flatpickr-day.startRange.nextMonthDay,.flatpickr-day.startRange.prevMonthDay,.flatpickr-day.startRange:focus,.flatpickr-day.startRange:hover{background:#4f99ff;-webkit-box-shadow:none;box-shadow:none;color:#fff;border-color:#4f99ff}.flatpickr-day.endRange.startRange,.flatpickr-day.selected.startRange,.flatpickr-day.startRange.startRange{border-radius:50px 0 0 50px}.flatpickr-day.endRange.endRange,.flatpickr-day.selected.endRange,.flatpickr-day.startRange.endRange{border-radius:0 50px 50px 0}.flatpickr-day.endRange.startRange+.endRange:not(:nth-child(7n+1)),.flatpickr-day.selected.startRange+.endRange:not(:nth-child(7n+1)),.flatpickr-day.startRange.startRange+.endRange:not(:nth-child(7n+1)){-webkit-box-shadow:-10px 0 0 #4f99ff;box-shadow:-10px 0 0 #4f99ff}.flatpickr-day.endRange.startRange.endRange,.flatpickr-day.selected.startRange.endRange,.flatpickr-day.startRange.startRange.endRange{border-radius:50px}.flatpickr-day.inRange{border-radius:0;-webkit-box-shadow:-5px 0 0 #e9e9e9,5px 0 0 #e9e9e9;box-shadow:-5px 0 0 #e9e9e9,5px 0 0 #e9e9e9}.flatpickr-day.flatpickr-disabled,.flatpickr-day.flatpickr-disabled:hover,.flatpickr-day.nextMonthDay,.flatpickr-day.notAllowed,.flatpickr-day.notAllowed.nextMonthDay,.flatpickr-day.notAllowed.prevMonthDay,.flatpickr-day.prevMonthDay{color:rgba(64,72,72,.3);background:0 0;border-color:#e9e9e9;cursor:default}.flatpickr-day.flatpickr-disabled,.flatpickr-day.flatpickr-disabled:hover{cursor:not-allowed;color:rgba(64,72,72,.1)}.flatpickr-day.week.selected{border-radius:0;-webkit-box-shadow:-5px 0 0 #4f99ff,5px 0 0 #4f99ff;box-shadow:-5px 0 0 #4f99ff,5px 0 0 #4f99ff}.flatpickr-day.hidden{visibility:hidden}.rangeMode .flatpickr-day{margin-top:1px}.flatpickr-weekwrapper{float:left}.flatpickr-weekwrapper .flatpickr-weeks{padding:0 12px;-webkit-box-shadow:1px 0 0 #eee;box-shadow:1px 0 0 #eee}.flatpickr-weekwrapper .flatpickr-weekday{float:none;width:100%;line-height:28px}.flatpickr-weekwrapper span.flatpickr-day,.flatpickr-weekwrapper span.flatpickr-day:hover{display:block;width:100%;max-width:none;color:rgba(64,72,72,.3);background:0 0;cursor:default;border:none}.flatpickr-innerContainer{display:block;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-sizing:border-box;box-sizing:border-box;overflow:hidden}.flatpickr-rContainer{display:inline-block;padding:0;-webkit-box-sizing:border-box;box-sizing:border-box}.flatpickr-time{text-align:center;outline:0;display:block;height:0;line-height:40px;max-height:40px;-webkit-box-sizing:border-box;box-sizing:border-box;overflow:hidden;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex}.flatpickr-time:after{content:"";display:table;clear:both}.flatpickr-time .numInputWrapper{-webkit-box-flex:1;-webkit-flex:1;-ms-flex:1;flex:1;width:40%;height:40px;float:left}.flatpickr-time .numInputWrapper span.arrowUp:after{border-bottom-color:#404848}.flatpickr-time .numInputWrapper span.arrowDown:after{border-top-color:#404848}.flatpickr-time.hasSeconds .numInputWrapper{width:26%}.flatpickr-time.time24hr .numInputWrapper{width:49%}.flatpickr-time input{background:0 0;-webkit-box-shadow:none;box-shadow:none;border:0;border-radius:0;text-align:center;margin:0;padding:0;height:inherit;line-height:inherit;color:#404848;font-size:14px;position:relative;-webkit-box-sizing:border-box;box-sizing:border-box;-webkit-appearance:textfield;-moz-appearance:textfield;appearance:textfield}.flatpickr-time input.flatpickr-hour{font-weight:700}.flatpickr-time input.flatpickr-minute,.flatpickr-time input.flatpickr-second{font-weight:400}.flatpickr-time input:focus{outline:0;border:0}.flatpickr-time .flatpickr-am-pm,.flatpickr-time .flatpickr-time-separator{height:inherit;float:left;line-height:inherit;color:#404848;font-weight:700;width:2%;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-align-self:center;-ms-flex-item-align:center;align-self:center}.flatpickr-time .flatpickr-am-pm{outline:0;width:18%;cursor:pointer;text-align:center;font-weight:400}.flatpickr-time .flatpickr-am-pm:focus,.flatpickr-time .flatpickr-am-pm:hover,.flatpickr-time input:focus,.flatpickr-time input:hover{background:#f1f1f1}.flatpickr-input[readonly]{cursor:pointer}@-webkit-keyframes fpFadeInDown{from{opacity:0;-webkit-transform:translate3d(0,-20px,0);transform:translate3d(0,-20px,0)}to{opacity:1;-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}}@keyframes fpFadeInDown{from{opacity:0;-webkit-transform:translate3d(0,-20px,0);transform:translate3d(0,-20px,0)}to{opacity:1;-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}}.flatpickr-calendar{width:307.875px}.dayContainer{padding:0;border-right:0}span.flatpickr-day,span.flatpickr-day.nextMonthDay,span.flatpickr-day.prevMonthDay{border-radius:0!important;border:1px solid #e9e9e9;max-width:none;border-right-color:transparent}span.flatpickr-day.nextMonthDay:nth-child(n+8),span.flatpickr-day.prevMonthDay:nth-child(n+8),span.flatpickr-day:nth-child(n+8){border-top-color:transparent}span.flatpickr-day.nextMonthDay:nth-child(7n-6),span.flatpickr-day.prevMonthDay:nth-child(7n-6),span.flatpickr-day:nth-child(7n-6){border-left:0}span.flatpickr-day.nextMonthDay:nth-child(n+36),span.flatpickr-day.prevMonthDay:nth-child(n+36),span.flatpickr-day:nth-child(n+36){border-bottom:0}span.flatpickr-day.nextMonthDay:nth-child(-n+7),span.flatpickr-day.prevMonthDay:nth-child(-n+7),span.flatpickr-day:nth-child(-n+7){margin-top:0}span.flatpickr-day.nextMonthDay.today:not(.selected),span.flatpickr-day.prevMonthDay.today:not(.selected),span.flatpickr-day.today:not(.selected){border-color:#e9e9e9;border-right-color:transparent;border-top-color:transparent;border-bottom-color:#f64747}span.flatpickr-day.nextMonthDay.today:not(.selected):hover,span.flatpickr-day.prevMonthDay.today:not(.selected):hover,span.flatpickr-day.today:not(.selected):hover{border:1px solid #f64747}span.flatpickr-day.endRange,span.flatpickr-day.nextMonthDay.endRange,span.flatpickr-day.nextMonthDay.startRange,span.flatpickr-day.prevMonthDay.endRange,span.flatpickr-day.prevMonthDay.startRange,span.flatpickr-day.startRange{border-color:#4f99ff}span.flatpickr-day.nextMonthDay.selected,span.flatpickr-day.nextMonthDay.today,span.flatpickr-day.prevMonthDay.selected,span.flatpickr-day.prevMonthDay.today,span.flatpickr-day.selected,span.flatpickr-day.today{z-index:2}.rangeMode .flatpickr-day{margin-top:-1px}.flatpickr-weekwrapper .flatpickr-weeks{-webkit-box-shadow:none;box-shadow:none}.flatpickr-weekwrapper span.flatpickr-day{border:0;margin:-1px 0 0 -1px}.hasWeeks .flatpickr-days{border-right:0}@media screen and (min-width:0\0) and (min-resolution:+72dpi){span.flatpickr-day{display:block;-webkit-box-flex:1;-webkit-flex:1 0 auto;-ms-flex:1 0 auto;flex:1 0 auto}}
\ No newline at end of file