v20200331
authorkilian@dks-pc1 <ksaffran@dks.lu>
Wed, 1 Apr 2020 05:23:21 +0000 (07:23 +0200)
committerkilian@dks-pc1 <ksaffran@dks.lu>
Wed, 1 Apr 2020 05:23:21 +0000 (07:23 +0200)
94 files changed:
backoffice/api/index.cgi
backoffice/api/lib/dksconfig.pm
backoffice/api/lib/session.pm
backoffice/api/page.cgi [new file with mode: 0644]
backoffice/css/dkstheme.css [new file with mode: 0644]
backoffice/css/w3pro.css
backoffice/css/w3pro.old.css [new file with mode: 0644]
backoffice/data/.htaccess
backoffice/data/auth/.passwd
backoffice/data/auth/kilian.conf
backoffice/data/company/.htaccess [deleted file]
backoffice/data/schemata/.htaccess [deleted file]
backoffice/data/schemata/defaultcompany.schema.sql [deleted file]
backoffice/data/sessions/0erUIUQ0dhEe3zMcK6rFyIcc1nV6VWkdlq4n861Rl.txt [new file with mode: 0644]
backoffice/data/sessions/0gFvARYjV05XPA5yyuvES1vA7MOWvnJdwy5FQewTF.txt [new file with mode: 0644]
backoffice/data/sessions/1RmSxZL3sMvrs1wlCVsve2K4lXr6lZCsCnMyrvqhh.txt [new file with mode: 0644]
backoffice/data/sessions/1kHDTidWOldykPKOvZtTU2yvkGkQ51oRpIhB4zTw0.txt [new file with mode: 0644]
backoffice/data/sessions/3JEoxzyin3vQMAN6bB9BMPt7MdwugUD24gSXLbLju.txt [new file with mode: 0644]
backoffice/data/sessions/4BehUCYKj2HY9VzlmG8CRSjvXYmXrccQQDUCHVmbk.txt [new file with mode: 0644]
backoffice/data/sessions/5TTLSQoljqtU5SYk5UdYFdl1W30ybN9a5vBZtBMWm.txt [new file with mode: 0644]
backoffice/data/sessions/6Nab2xLCsjx6IbOajGJjc0mWDgrsGUXiGK8q7HF9w.txt [new file with mode: 0644]
backoffice/data/sessions/9NGSXxXcd6pqySpExaB66AOV5Ldb16BKQ03b8cGlV.txt [new file with mode: 0644]
backoffice/data/sessions/9jdjY5rHsqU2pRynPgSMRzSpCVbGm16WtC1JyVq7J.txt [new file with mode: 0644]
backoffice/data/sessions/Am7lKMRhWPyaO7mgq857LJy7hdNzbjiPrb76zA2uL.txt [new file with mode: 0644]
backoffice/data/sessions/BJOgO896Ee2Pt7m3J08s9q35kRbLJnWVfGzho8STt.txt [new file with mode: 0644]
backoffice/data/sessions/BeNbq84lOUNqzmw7zuSd2ams2PjJb9rnizOAnt1gP.txt [new file with mode: 0644]
backoffice/data/sessions/D839DAU2ZcKJr6YKdxxLJcku0byvx8trIZYTr8iwp.txt [new file with mode: 0644]
backoffice/data/sessions/I0jJe268UaxEqvRLIBbxXkLmhcWMKGqY09GtMl6lY.txt [new file with mode: 0644]
backoffice/data/sessions/IZnjVBrcMvWZ9zWAKY4SYbS9nBldNSo0ptgoV0f3R.txt [new file with mode: 0644]
backoffice/data/sessions/Jcukvyutromxwc5HnniB2a7W9gGiAAPjrTA0vAV7L.txt [new file with mode: 0644]
backoffice/data/sessions/JdBUkuIQDniseouOSrQH7goBEN6gQsZuPuQHPSwOt.txt [new file with mode: 0644]
backoffice/data/sessions/JeDv978stuRxyG7UJJAJkxX8QaBbLGGZCo1OyC67l.txt [new file with mode: 0644]
backoffice/data/sessions/KIxtRb9S3F1iY4aEwNef4BuePGKMaflWlIPWhoHfQ.txt [new file with mode: 0644]
backoffice/data/sessions/KtrMjHihIMOCJ2RXFBM7z9uuGnBE2WfgcFdPKR0kt.txt [new file with mode: 0644]
backoffice/data/sessions/NZWe56AhYfcrr16Atd4kdZgHzZEphFzxVaRsyg0Jx.txt [new file with mode: 0644]
backoffice/data/sessions/NnR1ANGN9yry21nx6ul4CR9KZOCzhmEcjd22G6kRJ.txt [new file with mode: 0644]
backoffice/data/sessions/Ous9JbFILAQ6Ztn0JVWHwXhPUyn9TvW959y7Vzoli.txt [new file with mode: 0644]
backoffice/data/sessions/PtkZqep1XtaYhLRSTArou6bN6kNARDXG97xGwMXLq.txt [new file with mode: 0644]
backoffice/data/sessions/QL7EqNq5AenMtRKDb76u43UEUrK02Oc4bv7CwGxQ7.txt [new file with mode: 0644]
backoffice/data/sessions/QpPnCcHsSlRbCJGRAmmDCwk5Gz62Qx5rXuYrUdqso.txt [new file with mode: 0644]
backoffice/data/sessions/UX1UoyBwDMGKRJH6zPVW35tU5DRki1qulQd7DvnmW.txt [new file with mode: 0644]
backoffice/data/sessions/UlHXNAU61YMomqPTRL0Zehbp9j1XfftaYM7ymnZud.txt [new file with mode: 0644]
backoffice/data/sessions/VdYOIzlhtrD2lXmMEoHJIZnpixfR0kYKqePOgAmyv.txt [new file with mode: 0644]
backoffice/data/sessions/X9bkiu5m05nCXDRGzXseKmLtadbQL1NSp5Vi1Ufl4.txt [new file with mode: 0644]
backoffice/data/sessions/ZZPtMiFujJSFMCMfk0wBawhQvVTQavtyaUMhhjFzg.txt [new file with mode: 0644]
backoffice/data/sessions/aOwQSc0oes5rJl2Q1J9TUT5GLBCUfad1NmXFwFFrU.txt [new file with mode: 0644]
backoffice/data/sessions/bDnYoOUUGgq1M4R4pF4jnsl3EcqClObSUXQMiaXkQ.txt [new file with mode: 0644]
backoffice/data/sessions/bVe860oFto5OmAz8MoIO0O69WYfTgfmw3NWn7Tp2G.txt [new file with mode: 0644]
backoffice/data/sessions/cvyqIkSuHZaxCWoYgh12DXLiaIw5SNSsSKnRmbzsQ.txt [new file with mode: 0644]
backoffice/data/sessions/eWBVZEY6YGF4RCrcHhADxWggfYltEm1Q93G1NY1zr.txt [new file with mode: 0644]
backoffice/data/sessions/epaoNZTRI0zR1RdCNsahoGSbjNKDGljln4u5SipNw.txt [new file with mode: 0644]
backoffice/data/sessions/f68zG2yIJ5Cc2OhfK5FQVbaDFfkpZ2GruKQV9YGBA.txt [new file with mode: 0644]
backoffice/data/sessions/fNVRKLCezOygBQBfNx8S9wlQeL3mHGKEbJfGdanP2.txt [new file with mode: 0644]
backoffice/data/sessions/fa1sQsOOYzzVd4zcMahREdZMCn4sV6OvAdVqmjv1V.txt [new file with mode: 0644]
backoffice/data/sessions/ffAVZfn1GqkZeM6okith0gvwDJuLw0rlX3ZlQZqks.txt [new file with mode: 0644]
backoffice/data/sessions/g77ZrrvcaNUdM8CZoZKlzpOaP2HC8ym5lqcmqntb8.txt [new file with mode: 0644]
backoffice/data/sessions/gQQOfWbF3fmMhUAEldzmxY215bY2JRc4kcVRj8Mny.txt [new file with mode: 0644]
backoffice/data/sessions/jFFniDmG86IasEJl6avgyaG1easR3ZfB1CxPQz5WP.txt [new file with mode: 0644]
backoffice/data/sessions/m8WhIyRtmJkIkNC3DsUuiP5O9Dbrtym3kyhycbRmU.txt [new file with mode: 0644]
backoffice/data/sessions/oXfsiuQ5HtdwRaUEZgPGSdiMQhj7kkXEwb2HLqHP3.txt [new file with mode: 0644]
backoffice/data/sessions/ps7fGtG6qHiemYwzbUEz7zBlze5hFpcWSMACOTtKY.txt [new file with mode: 0644]
backoffice/data/sessions/sHJs0s43FRC1AO8sQBqS8cHdm1wHHRMGVwAqDQTWx.txt [new file with mode: 0644]
backoffice/data/sessions/t1AZJItsjmq8IRACIyXHn5vMfiztCwxcXC6tP92sI.txt [new file with mode: 0644]
backoffice/data/sessions/tGdHeVdD8ItQ6UmVN8RFLENeKoGuuj4QuWK2Dnrge.txt [new file with mode: 0644]
backoffice/data/sessions/uBw3beGl5xFaRZQRRCyddzyFeyYuL0S0qP1eBbXHa.txt [new file with mode: 0644]
backoffice/data/sessions/v11Xg9WWkjy2cfS5LGAgeCuDDpMRv1mp5Y5G4Hamd.txt [new file with mode: 0644]
backoffice/data/sessions/wCvrpTVhDfzNL6c5znja1pnkY34pYN9g8mFaxMahv.txt [new file with mode: 0644]
backoffice/data/sessions/xvJj1JJizpv5VJ6tnLiDXCNxwJq9EctMg62t0Jheu.txt [new file with mode: 0644]
backoffice/data/sessions/z412hsIVzDUlixNw4lU8WIyfCAkmMOzU4YzEYcV4c.txt [new file with mode: 0644]
backoffice/data/sessions/zzzBwddNL9aYQQTNXWf4tP6DN8NQjjjfyWRp2NcaM.txt [new file with mode: 0644]
backoffice/img/icons/Settings.svg [new file with mode: 0644]
backoffice/img/icons/Settings_white.svg [new file with mode: 0644]
backoffice/img/icons/website.svg [new file with mode: 0644]
backoffice/img/icons/website_white.svg [new file with mode: 0644]
backoffice/index.cgi
backoffice/js/admin.js [deleted file]
backoffice/js/app.js [new file with mode: 0644]
backoffice/js/request.js
backoffice/sessionlog.txt [new file with mode: 0644]
backoffice/tmpl/block/dlgpassword.tt [moved from backoffice/tmpl/module/profile/dlgpassword.tt with 91% similarity]
backoffice/tmpl/block/dlgusername.tt [moved from backoffice/tmpl/module/profile/dlgusername.tt with 100% similarity]
backoffice/tmpl/block/head.tt
backoffice/tmpl/macro/fields.tt
backoffice/tmpl/module/articles.tt [new file with mode: 0644]
backoffice/tmpl/module/calendar.tt [new file with mode: 0644]
backoffice/tmpl/module/index.tt [new file with mode: 0644]
backoffice/tmpl/module/media.tt [new file with mode: 0644]
backoffice/tmpl/module/profile.tt [new file with mode: 0644]
backoffice/tmpl/module/profile/index.tt [deleted file]
backoffice/tmpl/module/settings.tt [new file with mode: 0644]
backoffice/tmpl/module/users.tt [moved from backoffice/tmpl/module/users/index.tt with 100% similarity]
backoffice/tmpl/module/webpages.tt [new file with mode: 0644]
backoffice/tmpl/skeleton/index.tt
backoffice/tmpl/skeleton/module.tt

index 1bea1e5..07276dc 100755 (executable)
@@ -6,7 +6,7 @@ use CGI;
 use CGI::Cookie;
 #use CGI::Carp qw/fatalsToBrowser/;
 use File::Basename;
-use Business::Tax::VAT::Validation; 
+#use Business::Tax::VAT::Validation; 
 use JSON::PP;
 
 use dksconfig qw/$sitecfg/;
@@ -39,7 +39,9 @@ if (($cgi->request_method() eq "GET") || ($cgi->request_method() eq "POST")){
   foreach my $pp (@params){
          $p->{$pp} = $cgi->param($pp);
   }
-  
+  if (exists($p->{page}){
+
+  }
   if (exists($p->{fn})){
 
     my $db = dksdb->new();
index aad26bf..ca2455f 100644 (file)
@@ -7,7 +7,7 @@ use lib ('./');
 use File::Basename;
 use Exporter 'import';
 our @EXPORT_OK = qw($sitecfg $messages);
-
+my $staticpath ="saffran_lu";
 our $sitecfg ={
   cookiename => 'saffranlu',
   gdpr => 'saffranlu_gdpr',
@@ -18,8 +18,9 @@ our $sitecfg ={
   # dbpassword => 'r2btTTRfuJz4whez',
   page => 'index.tt',
   pagename => 'index',
-  basepath => substr((exists($ENV{"SCRIPT_FILENAME"})?dirname($ENV{"SCRIPT_FILENAME"}):dirname($0)),length($ENV{"DOCUMENT_ROOT"})),
-  datapath => substr((exists($ENV{"SCRIPT_FILENAME"})?dirname($ENV{"SCRIPT_FILENAME"}):dirname($0)),length($ENV{"DOCUMENT_ROOT"})).'/data/',
+  staticpath => $staticpath,
+  basepath => $ENV{"DOCUMENT_ROOT"}.'/'.$staticpath,
+  datapath => $ENV{"DOCUMENT_ROOT"}.'/'.$staticpath.'/backoffice/data/',
   docroot => $ENV{"DOCUMENT_ROOT"},
   registration_enabled => '0',
   default_group => 'users',
index 2eb684b..f679a09 100644 (file)
@@ -1,6 +1,7 @@
 package session;
 
 use strict;
+use lib ('./backoffice/api/lib');
 use lib ('./lib/perl5');
 use lib ('./lib');
 use lib ('./');
@@ -13,7 +14,7 @@ use sendemail;
 sub new {
     my $class = shift;
     my $self = bless {}, $class;
-    $self->{db} = dksdb->new();
+    #$self->{db} = dksdb->new();
     return $self;
 }
 
@@ -29,10 +30,15 @@ sub checklogin(){
   $ret->{message} = "Mot de passe ou Login pas inconnue!";
   $ret->{messagetype} = "w3-red";
   $ret->{sid} = undef;
-  my $cmd = 'htpasswd -v -b -B '.$sitecfg->{datapath}.'/auth/.passwd $login $password';
+  my $cmd = 'htpasswd -v -b -B '.$sitecfg->{datapath}.'/auth/.passwd '.$login.' '.$password.' 2>&1';
   my $pwcheck=`$cmd`;
   chomp($pwcheck);
-  if ($pwcheck =~ /$login.+correct/){
+  open(LOG,'>>sessionlog.txt');
+    print LOG $cmd."\n";
+    print LOG $pwcheck."\n";
+  close(LOG);
+  
+  if ($pwcheck =~ /$login\s+correct/){
     my $rstr = $self->randomstring(40);   
     open(SESS,">".$sitecfg->{datapath}.'/sessions/'.$rstr.'.txt');
     print SESS "$login";
@@ -66,7 +72,7 @@ sub passwordforgotten(){
     $self->savepassword($login,$newpwd);
     my $data->{newpassword} = $newpwd; 
     my $eml = sendemail->new();
-    my $mret = $eml->sendemail('user_forgotpasswd',$ex->{0}->{id},$email,$data,undef);
+    my $mret = $eml->sendemail('user_forgotpasswd',$login,$data);
     if ($mret != 0){
       $ret->{messagetype} ='w3-red';
       $ret->{message} = "Den Moment ass et leider nët méglech d'Passwuert autmatesch zreckzesetzen, <br/> wend dech w.e.g. via E-Mail un <a href=\"mailto:webmaster\@fld.lu\">webmaster\@fld.lu</a>!";
@@ -169,18 +175,30 @@ sub validateaccount(){
 sub getsession($){
   my $self = shift;
   my $sid = shift;
-  my $sql ="select * from public.getsession('".$self->{db}->securetext($sid)."','".$ENV{REMOTE_ADDR}."','".$ENV{HTTP_USER_AGENT}."');";
-  my $res= $self->{db}->dbquerysorted($sql);
-  my $ret = undef;
-  # open FILE,">>tmp/sql.log";
-  # print FILE "GET DB Session\n";
-  # print FILE Dumper($res->{0});
-  # close(FILE);
-  if (keys(%{$res}) > 0){
-    return $res->{0};
+  my $res = undef;
+  
+  if (-e $sitecfg->{datapath}.'/sessions/'.$sid.'.txt'){
+    open(SESS,$sitecfg->{datapath}.'/sessions/'.$sid.'.txt');
+    my $uname = "";
+    while (my $l = <SESS>){
+      chomp($l);
+      $uname .= $l; 
+    }
+    close(SESS);
+    if (-e $sitecfg->{datapath}.'/auth/'.$uname.'.conf'){
+      my $struprefs = "";
+      open (UPREF,$sitecfg->{datapath}.'/auth/'.$uname.'.conf');
+      while (my $l = <UPREF>){
+        chomp($l);
+        $struprefs .= $l;
+      }
+      close(UPREF);
+      $res = JSON::PP::decode_json($struprefs);
+    }
+    $res->{sid} = $sid;
+    return $res; 
   }
-  return $ret;
+  return undef;
 }
 
 sub deletesession(){
diff --git a/backoffice/api/page.cgi b/backoffice/api/page.cgi
new file mode 100644 (file)
index 0000000..efbdf41
--- /dev/null
@@ -0,0 +1,50 @@
+#!/usr/local/bin/perl
+use strict;
+use lib ('./backoffice/api/lib/perl5');
+use lib ('./backoffice/api/lib');
+use lib ('./lib/perl5');
+use lib ('./lib');
+use CGI;
+use CGI::Cookie;
+use CGI::Carp qw/fatalsToBrowser/;
+use File::Basename;
+use Template;
+use session;
+use dksconfig qw/$sitecfg/;
+use JSON::PP;
+use Data::Dumper;
+my $cgi = new CGI();
+my $scriptpath = $cgi->url(-absolute => 1); 
+my $p = ();
+my @params = $cgi->param();
+foreach my $pe (@params){
+  $p->{$pe} = $cgi->param($pe);
+}
+print $cgi->header(-type=>"text/html", -charset => "utf-8");
+my $html->{result} = ();
+$p->{sid} = $cgi->cookie($sitecfg->{cookiename});
+print Dumper($p);
+my $se = session->new();
+my $sess = $se->getsession($p->{sid});
+print Dumper($sess);
+if ($sess == undef){
+  $html->{error} = "No Authorisation";
+  print JSON::PP::encode_json($html);
+  exit(0);
+}
+my $vars = $sitecfg;
+$vars->{session} = $sess;
+$vars->{params} = $p;
+$vars->{filepath} = 'module/'.$p->{page}.'.tt'; 
+$vars->{baseurl} = $cgi->url({-base=>1});
+$vars->{siteurl} = $cgi->url({-base=>1}).'/'.$sitecfg->{staticpath}.'/';
+  
+if ($vars->{filepath} ne ""){
+  $vars->{suffix} = substr($vars->{filepath},rindex($vars->{filepath},'.')); 
+  $vars->{page} = $vars->{filepath};
+  $vars->{page} =~ s/html$/tt/;
+}
+#print '<pre>'.Dumper($vars).'</pre>';
+my $template = Template->new({INCLUDE_PATH => [$sitecfg->{basepath}.'/backoffice/tmpl']});
+
+$template->process($vars->{filepath},$vars) || die "Template process failed: ", $template->error(), "\n";
diff --git a/backoffice/css/dkstheme.css b/backoffice/css/dkstheme.css
new file mode 100644 (file)
index 0000000..427029f
--- /dev/null
@@ -0,0 +1,1868 @@
+html,body {
+       background-color: #52638e;
+}
+button
+{
+       background-image: none;
+       background-color: rgba(95.6863%,95.6863%,95.6863%,1);
+       border-top-color: rgba(80%,80%,80%,1);
+       border-right-color: rgba(80%,80%,80%,1);
+       border-bottom-color: rgba(80%,80%,80%,1);
+       border-left-color: rgba(80%,80%,80%,1);
+       border-top-style: solid;
+       border-right-style: solid;
+       border-bottom-style: solid;
+       border-left-style: solid;
+       border-top-width: 1pt;
+       border-right-width: 1pt;
+       border-bottom-width: 1pt;
+       border-left-width: 1pt;
+       border-image-source: none;
+       font-size: 10pt;
+       color: rgba(0%,0%,0%,1);
+       line-height: 1line;
+       text-align: center;
+       -fm-text-vertical-align: center;
+}
+button:hover
+{
+       background-image: none;
+       background-color: rgba(20.3922%,20.3922%,20.3922%,1);
+       border-image-source: none;
+}
+button:pressed
+{
+       background-image: none;
+       background-color: rgba(20.3922%,20.3922%,20.3922%,1);
+       border-image-source: none;
+}
+button:focus
+{
+       background-image: none;
+       background-color: rgba(20.3922%,20.3922%,20.3922%,1);
+       border-top-color: rgba(80%,80%,80%,1);
+       border-right-color: rgba(80%,80%,80%,1);
+       border-bottom-color: rgba(80%,80%,80%,1);
+       border-left-color: rgba(80%,80%,80%,1);
+       border-image-source: none;
+}
+button .inner_border
+{
+       padding-top: 0pt;
+       padding-right: 0pt;
+       padding-bottom: 0pt;
+       padding-left: 0pt;
+}
+button .text
+{
+       width: 100%;
+       height: 100%;
+       box-sizing: border-box;
+}
+button .icon
+{
+       -fm-icon-color: rgba(0%,0%,0%,1);
+       -fm-icon-padding: 0.33em;
+}
+button:hover .icon
+{
+       -fm-icon-color: rgba(100%,100%,100%,1);
+}
+button:pressed .icon
+{
+       -fm-icon-color: rgba(100%,100%,100%,1);
+}
+button:focus .icon
+{
+       -fm-icon-color: rgba(100%,100%,100%,1);
+}
+
+body
+{
+       background-color: rgba(100%,100%,100%,1);
+       box-sizing: border-box;
+       -fm-body-alt-background: true;
+       -fm-use-body-current-row-style: true;
+}
+body:checked
+{
+       background-image: none;
+       background-color: rgba(57.2549%,61.9608%,75.2941%,1);
+       border-image-source: none;
+}
+
+pop_up
+{
+       background-color: rgba(100%,100%,100%,1);
+       border-top-color: rgba(80%,80%,80%,1);
+       border-right-color: rgba(80%,80%,80%,1);
+       border-bottom-color: rgba(80%,80%,80%,1);
+       border-left-color: rgba(80%,80%,80%,1);
+       border-top-style: solid;
+       border-right-style: solid;
+       border-bottom-style: solid;
+       border-left-style: solid;
+       border-top-width: 1pt;
+       border-right-width: 1pt;
+       border-bottom-width: 1pt;
+       border-left-width: 1pt;
+       font-size: 14pt;
+       color: rgba(0%,0%,0%,1);
+       line-height: 1line;
+       text-align: left;
+}
+pop_up:pressed
+{
+       background-image: none;
+       background-color: rgba(100%,100%,100%,1);
+       border-image-source: none;
+}
+pop_up:focus
+{
+       border-top-color: rgba(80%,80%,80%,1);
+       border-right-color: rgba(80%,80%,80%,1);
+       border-bottom-color: rgba(80%,80%,80%,1);
+       border-left-color: rgba(80%,80%,80%,1);
+}
+pop_up:placeholder
+{
+       color: rgba(80%,80%,80%,1);
+}
+pop_up .text
+{
+       margin-top: 2pt;
+       margin-right: 2pt;
+       margin-bottom: 2pt;
+       margin-left: 2pt;
+       top: 0pt;
+       right: 30pt;
+       bottom: 0pt;
+       left: 0pt;
+       position: absolute;
+       box-sizing: border-box;
+}
+pop_up .icon
+{
+       background-image: none;
+       background-color: rgba(95.6863%,95.6863%,95.6863%,1);
+       border-left-color: rgba(80%,80%,80%,1);
+       border-left-style: solid;
+       border-left-width: 1pt;
+       border-image-source: none;
+       width: 30pt;
+       top: 0pt;
+       right: 0pt;
+       bottom: 0pt;
+       position: absolute;
+       box-sizing: border-box;
+       -fm-icon: down-arrow;
+       -fm-icon-color: rgba(0%,0%,0%,1);
+}
+pop_up .repeat_border
+{
+       border-bottom-color: rgba(80%,80%,80%,1);
+       border-bottom-width: 1pt;
+}
+
+button_bar
+{
+       border-top-color: rgba(80%,80%,80%,1);
+       border-right-color: rgba(80%,80%,80%,1);
+       border-bottom-color: rgba(80%,80%,80%,1);
+       border-left-color: rgba(80%,80%,80%,1);
+       border-top-style: solid;
+       border-right-style: solid;
+       border-bottom-style: solid;
+       border-left-style: solid;
+       border-top-width: 1pt;
+       border-right-width: 1pt;
+       border-bottom-width: 1pt;
+       border-left-width: 1pt;
+}
+button_bar .button_bar_divider
+{
+       border-top-color: rgba(80%,80%,80%,1);
+       border-right-color: rgba(80%,80%,80%,1);
+       border-bottom-color: rgba(80%,80%,80%,1);
+       border-left-color: rgba(80%,80%,80%,1);
+       border-top-style: solid;
+       border-right-style: solid;
+       border-bottom-style: solid;
+       border-left-style: solid;
+       border-top-width: 1pt;
+       border-right-width: 1pt;
+       border-bottom-width: 1pt;
+       border-left-width: 1pt;
+}
+
+button_bar_segment
+{
+       background-image: none;
+       background-color: rgba(0%,0%,0%,0);
+       border-image-source: none;
+       font-weight: bold;
+       font-size: 10pt;
+       color: rgba(100%,100%,100%,1);
+       line-height: 1line;
+       text-align: center;
+       -fm-text-vertical-align: center;
+}
+button_bar_segment:hover
+{
+       background-image: none;
+       background-color: rgba(20.3922%,20.3922%,20.3922%,1);
+       border-image-source: none;
+       color: rgba(100%,100%,100%,1);
+}
+button_bar_segment:pressed
+{
+       background-color: rgba(92.1569%,92.1569%,92.1569%,1);
+       color: rgba(0%,0%,0%,1);
+}
+button_bar_segment:checked
+{
+       background-image: none;
+       background-color: rgba(100%,100%,100%,0);
+       border-image-source: none;
+       color: rgba(100%,100%,100%,1);
+}
+button_bar_segment:focus .inner_border
+{
+       box-shadow: inset 0pt 0pt 2pt 1pt rgba(0%,43.9216%,81.1765%,1);
+}
+button_bar_segment .text
+{
+       width: 100%;
+       height: 100%;
+       box-sizing: border-box;
+}
+button_bar_segment .icon
+{
+       -fm-icon-color: rgba(100%,100%,100%,1);
+       -fm-icon-padding: 0.33em;
+}
+button_bar_segment:hover .icon
+{
+       -fm-icon-color: rgba(100%,100%,100%,1);
+}
+button_bar_segment:pressed .icon
+{
+       -fm-icon-color: rgba(0%,0%,0%,1);
+}
+button_bar_segment:checked .icon
+{
+       -fm-icon-color: rgba(100%,100%,100%,1);
+}
+
+trailing_sub_summary_1
+{
+       background-color: rgba(100%,100%,100%,1);
+       box-sizing: border-box;
+}
+
+header
+{
+       background-color: rgba(100%,100%,100%,1);
+       box-sizing: border-box;
+}
+
+/* chart
+{
+       background-color: rgba(100%,100%,100%,1);
+       border-top-color: rgba(80%,80%,80%,1);
+       border-right-color: rgba(80%,80%,80%,1);
+       border-bottom-color: rgba(80%,80%,80%,1);
+       border-left-color: rgba(80%,80%,80%,1);
+       border-top-style: solid;
+       border-right-style: solid;
+       border-bottom-style: solid;
+       border-left-style: solid;
+       border-top-width: 1pt;
+       border-right-width: 1pt;
+       border-bottom-width: 1pt;
+       border-left-width: 1pt;
+       color: rgba(0%,0%,0%,1);
+       line-height: 1line;
+       text-align: left;
+}
+chart:focus
+{
+       border-top-color: rgba(0%,43.9216%,81.1765%,1);
+       border-right-color: rgba(0%,43.9216%,81.1765%,1);
+       border-bottom-color: rgba(0%,43.9216%,81.1765%,1);
+       border-left-color: rgba(0%,43.9216%,81.1765%,1);
+}
+chart .inner_border
+{
+       padding-top: 0.31em;
+       padding-right: 0.31em;
+       padding-bottom: 0.31em;
+       padding-left: 0.31em;
+} */
+
+ input
+{
+       background-image: none;
+       background-color: rgba(100%,100%,100%,1);
+       border-top-color: rgba(80%,80%,80%,1);
+       border-right-color: rgba(80%,80%,80%,1);
+       border-bottom-color: rgba(80%,80%,80%,1);
+       border-left-color: rgba(80%,80%,80%,1);
+       border-top-style: solid;
+       border-right-style: solid;
+       border-bottom-style: solid;
+       border-left-style: solid;
+       border-top-width: 1pt;
+       border-right-width: 1pt;
+       border-bottom-width: 1pt;
+       border-left-width: 1pt;
+       border-image-source: none;
+       font-family: -fm-font-family(Arial,ArialMT); 
+       font-weight: normal;
+       font-size: 12pt;
+       color: rgba(0%,0%,0%,1);
+       line-height: 1line;
+       text-align: left;
+}
+input:focus
+{
+       border-top-color: rgba(0%,43.9216%,81.1765%,1);
+       border-right-color: rgba(0%,43.9216%,81.1765%,1);
+       border-bottom-color: rgba(0%,43.9216%,81.1765%,1);
+       border-left-color: rgba(0%,43.9216%,81.1765%,1);
+}
+::-webkit-input-placeholder
+{
+       color: rgba(60.3922%,60.3922%,60.3922%,1);
+}
+/* edit_box .text
+{
+       margin-top: 2pt;
+       margin-right: 2pt;
+       margin-bottom: 2pt;
+       margin-left: 2pt;
+       top: 0pt;
+       right: 0pt;
+       bottom: 0pt;
+       left: 0pt;
+       position: absolute;
+       box-sizing: border-box;
+} */
+/* edit_box .icon
+{
+       background-position: center center;
+}  */
+
+title_footer
+{
+       background-color: rgba(100%,100%,100%,1);
+       box-sizing: border-box;
+}
+
+textarea
+{
+       background-color: rgba(100%,100%,100%,1);
+       border-top-color: rgba(80%,80%,80%,1);
+       border-right-color: rgba(80%,80%,80%,1);
+       border-bottom-color: rgba(80%,80%,80%,1);
+       border-left-color: rgba(80%,80%,80%,1);
+       border-top-style: solid;
+       border-right-style: solid;
+       border-bottom-style: solid;
+       border-left-style: solid;
+       border-top-width: 1pt;
+       border-right-width: 1pt;
+       border-bottom-width: 1pt;
+       border-left-width: 1pt;
+       font-size: 16pt;
+       color: rgba(0%,0%,0%,1);
+       line-height: 1line;
+       text-align: left;
+}
+textarea:focus
+{
+       border-top-color: rgba(0%,43.9216%,81.1765%,1);
+       border-right-color: rgba(0%,43.9216%,81.1765%,1);
+       border-bottom-color: rgba(0%,43.9216%,81.1765%,1);
+       border-left-color: rgba(0%,43.9216%,81.1765%,1);
+}
+textarea:placeholder
+{
+       color: rgba(80%,80%,80%,1);
+}
+textarea .text
+{
+       margin-top: 0.88em;
+       margin-right: 0.75em;
+       margin-bottom: 0.63em;
+       margin-left: 0.75em;
+       top: 0pt;
+       right: 30pt;
+       bottom: 0pt;
+       left: 0pt;
+       position: absolute;
+       box-sizing: border-box;
+}
+textarea .scrollbar_track
+{
+       width: 30pt;
+       top: 0pt;
+       right: 0pt;
+       bottom: 0pt;
+       position: absolute;
+       box-sizing: border-box;
+}
+
+drop_down
+{
+       background-color: rgba(100%,100%,100%,1);
+       border-top-color: rgba(80%,80%,80%,1);
+       border-right-color: rgba(80%,80%,80%,1);
+       border-bottom-color: rgba(80%,80%,80%,1);
+       border-left-color: rgba(80%,80%,80%,1);
+       border-top-style: solid;
+       border-right-style: solid;
+       border-bottom-style: solid;
+       border-left-style: solid;
+       border-top-width: 1pt;
+       border-right-width: 1pt;
+       border-bottom-width: 1pt;
+       border-left-width: 1pt;
+       font-size: 14pt;
+       color: rgba(0%,0%,0%,1);
+       line-height: 1line;
+       text-align: left;
+}
+drop_down:focus
+{
+       border-top-color: rgba(0%,43.9216%,81.1765%,1);
+       border-right-color: rgba(0%,43.9216%,81.1765%,1);
+       border-bottom-color: rgba(0%,43.9216%,81.1765%,1);
+       border-left-color: rgba(0%,43.9216%,81.1765%,1);
+}
+drop_down:placeholder
+{
+       color: rgba(80%,80%,80%,1);
+}
+drop_down .text
+{
+       margin-top: 2pt;
+       margin-right: 2pt;
+       margin-bottom: 2pt;
+       margin-left: 2pt;
+       top: 0pt;
+       right: 30pt;
+       bottom: 0pt;
+       left: 0pt;
+       position: absolute;
+       box-sizing: border-box;
+}
+drop_down .icon
+{
+       background-color: rgba(96.0784%,96.0784%,96.0784%,1);
+       border-left-color: rgba(80%,80%,80%,1);
+       border-left-style: solid;
+       border-left-width: 1pt;
+       width: 30pt;
+       top: 0pt;
+       right: 0pt;
+       bottom: 0pt;
+       position: absolute;
+       box-sizing: border-box;
+       -fm-icon: down-arrow;
+       -fm-icon-color: rgba(0%,0%,0%,1);
+}
+drop_down:pressed .icon
+{
+       background-color: rgba(92.1569%,92.1569%,92.1569%,1);
+}
+drop_down:focus .icon
+{
+       border-left-color: rgba(0%,43.9216%,81.1765%,1);
+}
+
+dot_control:focus
+{
+       border-top-color: rgba(0%,43.9216%,81.1765%,1);
+       border-right-color: rgba(0%,43.9216%,81.1765%,1);
+       border-bottom-color: rgba(0%,43.9216%,81.1765%,1);
+       border-left-color: rgba(0%,43.9216%,81.1765%,1);
+}
+dot_control .contents
+{
+       background-color: rgba(100%,100%,100%,1);
+       border-top-color: rgba(80%,80%,80%,1);
+       border-right-color: rgba(80%,80%,80%,1);
+       border-bottom-color: rgba(80%,80%,80%,1);
+       border-left-color: rgba(80%,80%,80%,1);
+       border-top-style: solid;
+       border-right-style: solid;
+       border-bottom-style: solid;
+       border-left-style: solid;
+       border-top-width: 1pt;
+       border-right-width: 1pt;
+       border-bottom-width: 1pt;
+       border-left-width: 1pt;
+       top: 0pt;
+       right: 0pt;
+       bottom: 38pt;
+       left: 0pt;
+       position: absolute;
+       box-sizing: border-box;
+}
+dot_control .dot
+{
+       background-color: rgba(80%,80%,80%,1);
+       border-top-right-radius: 50% 50%;
+       border-bottom-right-radius: 50% 50%;
+       border-bottom-left-radius: 50% 50%;
+       border-top-left-radius: 50% 50%;
+       margin-left: 0.33em;
+       width: 12pt;
+       height: 12pt;
+}
+dot_control:checked .dot
+{
+       background-image: none;
+       background-color: rgba(0%,0%,0%,1);
+}
+dot_control .dot_container
+{
+       height: 18pt;
+       right: 0pt;
+       bottom: 0.63em;
+       left: 0pt;
+       position: absolute;
+       box-sizing: border-box;
+}
+
+footer
+{
+       background-color: rgba(100%,100%,100%,1);
+       box-sizing: border-box;
+}
+
+container
+{
+       background-color: rgba(100%,100%,100%,1);
+       border-top-color: rgba(80%,80%,80%,1);
+       border-right-color: rgba(80%,80%,80%,1);
+       border-bottom-color: rgba(80%,80%,80%,1);
+       border-left-color: rgba(80%,80%,80%,1);
+       border-top-style: solid;
+       border-right-style: solid;
+       border-bottom-style: solid;
+       border-left-style: solid;
+       border-top-width: 1pt;
+       border-right-width: 1pt;
+       border-bottom-width: 1pt;
+       border-left-width: 1pt;
+       color: rgba(0%,0%,0%,1);
+       line-height: 1line;
+       text-align: left;
+}
+container:focus
+{
+       border-top-color: rgba(0%,43.9216%,81.1765%,1);
+       border-right-color: rgba(0%,43.9216%,81.1765%,1);
+       border-bottom-color: rgba(0%,43.9216%,81.1765%,1);
+       border-left-color: rgba(0%,43.9216%,81.1765%,1);
+}
+container:placeholder
+{
+       color: rgba(80%,80%,80%,1);
+}
+container .inner_border
+{
+       padding-top: 0.31em;
+       padding-right: 0.31em;
+       padding-bottom: 0.31em;
+       padding-left: 0.31em;
+}
+
+/* web_viewer
+{
+       background-color: rgba(100%,100%,100%,1);
+       border-top-color: rgba(80%,80%,80%,1);
+       border-right-color: rgba(80%,80%,80%,1);
+       border-bottom-color: rgba(80%,80%,80%,1);
+       border-left-color: rgba(80%,80%,80%,1);
+       border-top-style: solid;
+       border-right-style: solid;
+       border-bottom-style: solid;
+       border-left-style: solid;
+       border-top-width: 1pt;
+       border-right-width: 1pt;
+       border-bottom-width: 1pt;
+       border-left-width: 1pt;
+       color: rgba(0%,0%,0%,1);
+       line-height: 1line;
+       text-align: left;
+}
+web_viewer:focus
+{
+       border-top-color: rgba(0%,43.9216%,81.1765%,1);
+       border-right-color: rgba(0%,43.9216%,81.1765%,1);
+       border-bottom-color: rgba(0%,43.9216%,81.1765%,1);
+       border-left-color: rgba(0%,43.9216%,81.1765%,1);
+}
+web_viewer .inner_border
+{
+       padding-top: 0.31em;
+       padding-right: 0.31em;
+       padding-bottom: 0.31em;
+       padding-left: 0.31em;
+} */
+
+/* leading_grand_summary
+{
+       background-color: rgba(100%,100%,100%,1);
+       box-sizing: border-box;
+}
+
+trailing_sub_summary_2
+{
+       background-color: rgba(100%,100%,100%,1);
+       box-sizing: border-box;
+}
+
+trailing_grand_summary
+{
+       background-color: rgba(100%,100%,100%,1);
+       box-sizing: border-box;
+} */
+
+scrollbar
+{
+       background-color: rgba(96.0784%,96.0784%,96.0784%,1);
+       border-left-color: rgba(80%,80%,80%,1);
+       border-left-style: solid;
+       border-left-width: 1pt;
+       width: 30pt;
+}
+scrollbar:disabled
+{
+       background-color: rgba(96.0784%,96.0784%,96.0784%,1);
+       border-left-color: rgba(80%,80%,80%,1);
+       border-left-style: solid;
+       border-left-width: 1pt;
+}
+scrollbar .scrollbar_top_button
+{
+       background-color: rgba(100%,100%,100%,1);
+       border-bottom-color: rgba(80%,80%,80%,1);
+       border-left-color: rgba(80%,80%,80%,1);
+       border-bottom-style: solid;
+       border-left-style: solid;
+       border-bottom-width: 1pt;
+       border-left-width: 1pt;
+       width: 100%;
+       height: 30pt;
+       -fm-icon: up-arrow;
+       -fm-icon-color: rgba(0%,0%,0%,1);
+}
+scrollbar:hover .scrollbar_top_button
+{
+       border-bottom-color: rgba(80%,80%,80%,1);
+       border-left-color: rgba(80%,80%,80%,1);
+       border-bottom-style: solid;
+       border-left-style: solid;
+       border-bottom-width: 1pt;
+       border-left-width: 1pt;
+       width: 100%;
+       height: 30pt;
+}
+scrollbar:pressed .scrollbar_top_button
+{
+       background-color: rgba(92.1569%,92.1569%,92.1569%,1);
+       border-bottom-color: rgba(80%,80%,80%,1);
+       border-left-color: rgba(80%,80%,80%,1);
+       border-bottom-style: solid;
+       border-left-style: solid;
+       border-bottom-width: 1pt;
+       border-left-width: 1pt;
+       width: 100%;
+       height: 30pt;
+}
+scrollbar .scrollbar_bottom_button
+{
+       background-color: rgba(100%,100%,100%,1);
+       border-top-color: rgba(80%,80%,80%,1);
+       border-left-color: rgba(80%,80%,80%,1);
+       border-top-style: solid;
+       border-left-style: solid;
+       border-top-width: 1pt;
+       border-left-width: 1pt;
+       width: 100%;
+       height: 30pt;
+       -fm-icon: down-arrow;
+       -fm-icon-color: rgba(0%,0%,0%,1);
+}
+scrollbar:hover .scrollbar_bottom_button
+{
+       border-top-color: rgba(80%,80%,80%,1);
+       border-left-color: rgba(80%,80%,80%,1);
+       border-top-style: solid;
+       border-left-style: solid;
+       border-top-width: 1pt;
+       border-left-width: 1pt;
+       width: 100%;
+       height: 30pt;
+}
+scrollbar:pressed .scrollbar_bottom_button
+{
+       background-color: rgba(92.1569%,92.1569%,92.1569%,1);
+       border-top-color: rgba(80%,80%,80%,1);
+       border-left-color: rgba(80%,80%,80%,1);
+       border-top-style: solid;
+       border-left-style: solid;
+       border-top-width: 1pt;
+       border-left-width: 1pt;
+       width: 100%;
+       height: 30pt;
+}
+scrollbar .scrollbar_thumb
+{
+       background-color: rgba(100%,100%,100%,1);
+       border-top-color: rgba(80%,80%,80%,1);
+       border-bottom-color: rgba(80%,80%,80%,1);
+       border-left-color: rgba(80%,80%,80%,1);
+       border-top-style: solid;
+       border-bottom-style: solid;
+       border-left-style: solid;
+       border-top-width: 1pt;
+       border-bottom-width: 1pt;
+       border-left-width: 1pt;
+       width: 100%;
+}
+
+calendar
+{
+       background-color: rgba(100%,100%,100%,1);
+       border-top-color: rgba(80%,80%,80%,1);
+       border-right-color: rgba(80%,80%,80%,1);
+       border-bottom-color: rgba(80%,80%,80%,1);
+       border-left-color: rgba(80%,80%,80%,1);
+       border-top-style: solid;
+       border-right-style: solid;
+       border-bottom-style: solid;
+       border-left-style: solid;
+       border-top-width: 1pt;
+       border-right-width: 1pt;
+       border-bottom-width: 1pt;
+       border-left-width: 1pt;
+       font-size: 14pt;
+       color: rgba(0%,0%,0%,1);
+       line-height: 1line;
+       text-align: left;
+}
+calendar:focus
+{
+       border-top-color: rgba(0%,43.9216%,81.1765%,1);
+       border-right-color: rgba(0%,43.9216%,81.1765%,1);
+       border-bottom-color: rgba(0%,43.9216%,81.1765%,1);
+       border-left-color: rgba(0%,43.9216%,81.1765%,1);
+}
+calendar:placeholder
+{
+       color: rgba(80%,80%,80%,1);
+}
+calendar .text
+{
+       margin-top: 2pt;
+       margin-right: 2pt;
+       margin-bottom: 2pt;
+       margin-left: 2pt;
+       top: 0pt;
+       right: 30pt;
+       bottom: 0pt;
+       left: 0pt;
+       position: absolute;
+       box-sizing: border-box;
+}
+calendar .icon
+{
+       background-color: rgba(96.0784%,96.0784%,96.0784%,1);
+       border-left-color: rgba(80%,80%,80%,1);
+       border-left-style: solid;
+       border-left-width: 1pt;
+       width: 30pt;
+       top: 0pt;
+       right: 0pt;
+       bottom: 0pt;
+       position: absolute;
+       box-sizing: border-box;
+       -fm-icon: calendar;
+       -fm-icon-color: rgba(0%,0%,0%,1);
+}
+calendar:pressed .icon
+{
+       background-color: rgba(92.1569%,92.1569%,92.1569%,1);
+}
+calendar:focus .icon
+{
+       border-left-color: rgba(0%,43.9216%,81.1765%,1);
+}
+
+checkbox_set
+{
+       font-size: 16pt;
+       color: rgba(0%,0%,0%,1);
+       line-height: 1.2line;
+       text-align: left;
+}
+checkbox_set .text
+{
+       margin-left: 0.69em;
+       top: 0pt;
+       right: 0pt;
+       bottom: 0pt;
+       left: 1em;
+       position: absolute;
+       box-sizing: border-box;
+}
+checkbox_set .icon
+{
+       background-color: rgba(100%,100%,100%,1);
+       border-top-color: rgba(80%,80%,80%,1);
+       border-right-color: rgba(80%,80%,80%,1);
+       border-bottom-color: rgba(80%,80%,80%,1);
+       border-left-color: rgba(80%,80%,80%,1);
+       border-top-style: solid;
+       border-right-style: solid;
+       border-bottom-style: solid;
+       border-left-style: solid;
+       border-top-width: 1pt;
+       border-right-width: 1pt;
+       border-bottom-width: 1pt;
+       border-left-width: 1pt;
+       padding-top: 0.13em;
+       padding-right: 0.13em;
+       padding-bottom: 0.13em;
+       padding-left: 0.13em;
+       width: 1em;
+       height: 1em;
+       top: 0.1em;
+       bottom: 0pt;
+       left: 0pt;
+       position: absolute;
+       box-sizing: border-box;
+}
+checkbox_set:focus .icon
+{
+       border-top-color: rgba(0%,43.9216%,81.1765%,1);
+       border-right-color: rgba(0%,43.9216%,81.1765%,1);
+       border-bottom-color: rgba(0%,43.9216%,81.1765%,1);
+       border-left-color: rgba(0%,43.9216%,81.1765%,1);
+}
+checkbox_set:checked .icon
+{
+       -fm-icon: modern-check;
+       -fm-icon-color: rgba(0%,0%,0%,1);
+}
+
+body_alt
+{
+       background-image: none;
+       background-color: rgba(96.0784%,96.0784%,96.0784%,1);
+       border-image-source: none;
+       box-sizing: border-box;
+}
+
+radio_set
+{
+       font-size: 16pt;
+       color: rgba(0%,0%,0%,1);
+       line-height: 1.2line;
+       text-align: left;
+}
+radio_set .text
+{
+       margin-left: 0.69em;
+       top: 0pt;
+       right: 0pt;
+       bottom: 0pt;
+       left: 1em;
+       position: absolute;
+       box-sizing: border-box;
+}
+radio_set .icon
+{
+       background-color: rgba(100%,100%,100%,1);
+       border-top-color: rgba(80%,80%,80%,1);
+       border-right-color: rgba(80%,80%,80%,1);
+       border-bottom-color: rgba(80%,80%,80%,1);
+       border-left-color: rgba(80%,80%,80%,1);
+       border-top-style: solid;
+       border-right-style: solid;
+       border-bottom-style: solid;
+       border-left-style: solid;
+       border-top-width: 1pt;
+       border-right-width: 1pt;
+       border-bottom-width: 1pt;
+       border-left-width: 1pt;
+       border-top-right-radius: 50% 50%;
+       border-bottom-right-radius: 50% 50%;
+       border-bottom-left-radius: 50% 50%;
+       border-top-left-radius: 50% 50%;
+       padding-top: 0.19em;
+       padding-right: 0.19em;
+       padding-bottom: 0.19em;
+       padding-left: 0.19em;
+       width: 1em;
+       height: 1em;
+       top: 0.1em;
+       bottom: 0pt;
+       left: 0pt;
+       position: absolute;
+       box-sizing: border-box;
+}
+radio_set:focus .icon
+{
+       border-top-color: rgba(0%,43.9216%,81.1765%,1);
+       border-right-color: rgba(0%,43.9216%,81.1765%,1);
+       border-bottom-color: rgba(0%,43.9216%,81.1765%,1);
+       border-left-color: rgba(0%,43.9216%,81.1765%,1);
+}
+radio_set:checked .icon
+{
+       -fm-icon: radio;
+       -fm-icon-color: rgba(0%,0%,0%,1);
+}
+
+title_header
+{
+       background-color: rgba(100%,100%,100%,1);
+       box-sizing: border-box;
+}
+
+field .baseline
+{
+       border-bottom-width: 1pt;
+}
+
+popover
+{
+       background-color: rgba(96.0784%,96.0784%,96.0784%,1);
+       border-top-color: rgba(80%,80%,80%,1);
+       border-right-color: rgba(80%,80%,80%,1);
+       border-bottom-color: rgba(80%,80%,80%,1);
+       border-left-color: rgba(80%,80%,80%,1);
+       border-top-style: solid;
+       border-right-style: solid;
+       border-bottom-style: solid;
+       border-left-style: solid;
+       border-top-width: 1pt;
+       border-right-width: 1pt;
+       border-bottom-width: 1pt;
+       border-left-width: 1pt;
+       border-top-right-radius: 0pt 0pt;
+       border-bottom-right-radius: 0pt 0pt;
+       border-bottom-left-radius: 0pt 0pt;
+       border-top-left-radius: 0pt 0pt;
+       font-size: 16pt;
+       color: rgba(0%,0%,0%,1);
+       line-height: 2line;
+       text-align: center;
+}
+popover .text
+{
+       height: 1.88em;
+       top: 0.88em;
+       right: 12pt;
+       left: 12pt;
+       position: absolute;
+       box-sizing: border-box;
+}
+popover .contents
+{
+       top: 2.76em;
+       right: 5pt;
+       bottom: 5pt;
+       left: 5pt;
+       position: absolute;
+       box-sizing: border-box;
+}
+
+text_box
+{
+       font-weight: normal;
+       font-size: 14pt;
+       color: rgba(0%,0%,0%,1);
+       line-height: 1line;
+       text-align: left;
+       -fm-text-vertical-align: center;
+}
+text_box .inner_border
+{
+       padding-top: 2pt;
+       padding-right: 2pt;
+       padding-bottom: 2pt;
+       padding-left: 2pt;
+}
+text_box .text
+{
+       height: 100%;
+       box-sizing: border-box;
+}
+text_box .icon
+{
+       background-position: center center;
+}
+
+trailing_sub_summary
+{
+       background-color: rgba(100%,100%,100%,1);
+       box-sizing: border-box;
+}
+
+bottom_nav_div
+{
+       background-color: rgba(100%,100%,100%,1);
+       box-sizing: border-box;
+}
+
+top_nav_div
+{
+       background-color: rgba(100%,100%,100%,1);
+       box-sizing: border-box;
+}
+
+leading_sub_summary
+{
+       background-color: rgba(100%,100%,100%,1);
+       box-sizing: border-box;
+}
+
+/* div.portal{
+       display: table;
+       width: 100%;
+}
+div.PortalRow {
+       display: table-row;
+}
+.divPortalHeading {
+       background-color: #EEE;
+       display: table-header-group;
+}
+.divPortalCell, .divPortalHead {
+       border: 1px solid #999999;
+       display: table-cell;
+       padding: 3px 10px;
+}
+.divPortalHeading {
+       background-color: #EEE;
+       display: table-header-group;
+       font-weight: bold;
+}
+.divPortalFoot {
+       background-color: #EEE;
+       display: table-footer-group;
+       font-weight: bold;
+}
+.divPortalBody {
+       display: table-row-group;
+} */
+
+
+/* div.portal
+{
+       display: table;
+        border-top-color: rgba(80%,80%,80%,1);
+       border-right-color: rgba(80%,80%,80%,1);
+       border-bottom-color: rgba(80%,80%,80%,1);
+       border-left-color: rgba(80%,80%,80%,1);
+       border-top-style: solid;
+       border-right-style: solid;
+       border-bottom-style: solid;
+       border-left-style: solid;
+       border-top-width: 1pt;
+       border-right-width: 1pt;
+       border-bottom-width: 1pt;
+       border-left-width: 1pt; 
+}
+div.portalhead {
+       display: table-row;
+       font-weight: bold;
+       text-align: center;
+}
+div.portalheadcell {
+       display: table-cell;
+       padding: 4px;
+    border: 1px solid #ccc!important;
+}
+div.portalbody {
+       display: block;
+}
+div.portalrow {
+       display: table-row;
+} */
+/* portal .contents
+{
+       top: 0pt;
+       right: 30pt;
+       bottom: 0pt;
+       left: 0pt;
+       position: absolute;
+       box-sizing: border-box;
+}
+portal .row
+{
+       background-color: rgba(100%,100%,100%,1);
+}
+portal .row_alt
+{
+       background-color: rgba(96.0784%,96.0784%,96.0784%,1);
+}
+portal .scrollbar_track
+{
+       width: 30pt;
+       top: 0pt;
+       right: 0pt;
+       bottom: 0pt;
+       position: absolute;
+       box-sizing: border-box;
+}
+portal .row_active
+{
+       background-color: rgba(90.1961%,93.7255%,97.6471%,1);
+} */
+
+leading_sub_summary_1
+{
+       background-color: rgba(100%,100%,100%,1);
+       box-sizing: border-box;
+}
+
+line
+{
+       border-top-color: rgba(0%,0%,0%,1);
+       border-right-color: rgba(0%,0%,0%,1);
+       border-bottom-color: rgba(0%,0%,0%,1);
+       border-left-color: rgba(0%,0%,0%,1);
+       border-top-style: solid;
+       border-right-style: solid;
+       border-bottom-style: solid;
+       border-left-style: solid;
+       border-top-width: 1pt;
+       border-right-width: 1pt;
+       border-bottom-width: 1pt;
+       border-left-width: 1pt;
+}
+
+leading_sub_summary_2
+{
+       background-color: rgba(100%,100%,100%,1);
+       box-sizing: border-box;
+}
+
+div.group_container
+{
+       background-color: #e3e3e3;
+       border-top-color: rgba(80%,80%,80%,1);
+       border-right-color: rgba(80%,80%,80%,1);
+       border-bottom-color: rgba(80%,80%,80%,1);
+       border-left-color: rgba(80%,80%,80%,1);
+       border-top-style: solid;
+       border-right-style: solid;
+       border-bottom-style: solid;
+       border-left-style: solid;
+       border-top-width: 1pt;
+       border-right-width: 1pt;
+       border-bottom-width: 1pt;
+  border-left-width: 1pt;
+  padding-top: 4px;
+  padding-bottom: 8px;
+}
+
+rounded
+{
+       background-color: rgba(100%,100%,100%,1);
+       border-top-color: rgba(80%,80%,80%,1);
+       border-right-color: rgba(80%,80%,80%,1);
+       border-bottom-color: rgba(80%,80%,80%,1);
+       border-left-color: rgba(80%,80%,80%,1);
+       border-top-style: solid;
+       border-right-style: solid;
+       border-bottom-style: solid;
+       border-left-style: solid;
+       border-top-width: 1pt;
+       border-right-width: 1pt;
+       border-bottom-width: 1pt;
+       border-left-width: 1pt;
+       border-top-right-radius: 5pt 5pt;
+       border-bottom-right-radius: 5pt 5pt;
+       border-bottom-left-radius: 5pt 5pt;
+       border-top-left-radius: 5pt 5pt;
+}
+rounded .inner_border
+{
+       border-top-right-radius: 4pt 4pt;
+       border-bottom-right-radius: 4pt 4pt;
+       border-bottom-left-radius: 4pt 4pt;
+       border-top-left-radius: 4pt 4pt;
+}
+
+tab_control
+{
+       font-size: 14pt;
+       color: rgba(0%,0%,0%,1);
+       line-height: 1line;
+       text-align: left;
+       -fm-tab-spacing: -1;
+}
+
+oval
+{
+       background-color: rgba(100%,100%,100%,1);
+       border-top-color: rgba(80%,80%,80%,1);
+       border-right-color: rgba(80%,80%,80%,1);
+       border-bottom-color: rgba(80%,80%,80%,1);
+       border-left-color: rgba(80%,80%,80%,1);
+       border-top-style: solid;
+       border-right-style: solid;
+       border-bottom-style: solid;
+       border-left-style: solid;
+       border-top-width: 1pt;
+       border-right-width: 1pt;
+       border-bottom-width: 1pt;
+       border-left-width: 1pt;
+}
+
+tab_panel
+{
+       background-color: rgba(96.0784%,96.0784%,96.0784%,1);
+       border-top-color: rgba(80%,80%,80%,1);
+       border-right-color: rgba(80%,80%,80%,1);
+       border-bottom-color: rgba(80%,80%,80%,1);
+       border-left-color: rgba(80%,80%,80%,1);
+       border-top-style: solid;
+       border-right-style: solid;
+       border-bottom-style: solid;
+       border-left-style: solid;
+       border-top-width: 1pt;
+       border-right-width: 1pt;
+       border-bottom-width: 1pt;
+       border-left-width: 1pt;
+}
+tab_panel:focus
+{
+       border-top-color: rgba(0%,43.9216%,81.1765%,1);
+       border-right-color: rgba(0%,43.9216%,81.1765%,1);
+       border-bottom-color: rgba(0%,43.9216%,81.1765%,1);
+       border-left-color: rgba(0%,43.9216%,81.1765%,1);
+}
+tab_panel:checked
+{
+       background-image: none;
+       background-color: rgba(96.0784%,96.0784%,96.0784%,1);
+       border-top-color: rgba(80%,80%,80%,1);
+       border-right-color: rgba(80%,80%,80%,1);
+       border-bottom-color: rgba(80%,80%,80%,1);
+       border-left-color: rgba(80%,80%,80%,1);
+       border-top-style: solid;
+       border-right-style: solid;
+       border-bottom-style: solid;
+       border-left-style: solid;
+       border-top-width: 1pt;
+       border-right-width: 1pt;
+       border-bottom-width: 1pt;
+       border-left-width: 1pt;
+       border-image-source: none;
+       text-align: center;
+       -fm-text-vertical-align: center;
+       -fm-box-shadow-persist: 0pt 0pt 0pt 0pt rgba(0%,0%,0%,1);
+}
+tab_panel:checkedfocus
+{
+       background-image: none;
+       background-color: rgba(85.098%,91.7647%,79.2157%,1);
+       border-top-color: rgba(0%,43.9216%,81.1765%,1);
+       border-right-color: rgba(0%,43.9216%,81.1765%,1);
+       border-bottom-color: rgba(0%,43.9216%,81.1765%,1);
+       border-left-color: rgba(0%,43.9216%,81.1765%,1);
+       border-image-source: none;
+}
+tab_panel .text
+{
+       height: 100%;
+       box-sizing: border-box;
+}
+tab_panel:hover .text
+{
+       height: 100%;
+       box-sizing: border-box;
+}
+tab_panel:focus .text
+{
+       height: 100%;
+       box-sizing: border-box;
+}
+tab_panel:checked .text
+{
+       width: 100%;
+       height: 100%;
+       box-sizing: border-box;
+}
+tab_panel:checkedfocus .text
+{
+       height: 100%;
+       box-sizing: border-box;
+}
+tab_panel .tab
+{
+       background-color: rgba(96.0784%,96.0784%,96.0784%,1);
+}
+tab_panel:checked .tab
+{
+       background-image: none;
+       background-color: rgba(0%,0%,0%,0);
+}
+tab_panel .tab_inner_border
+{
+       padding-top: 0.88em;
+       padding-right: 0.75em;
+       padding-bottom: 0.63em;
+       padding-left: 0.75em;
+}
+tab_panel:checked .tab_inner_border
+{
+       padding-top: 5pt;
+       padding-right: 5pt;
+       padding-bottom: 5pt;
+       padding-left: 5pt;
+}
+
+/* Custom Styles */
+edit_box.ListView_Default
+{
+       background-image: none;
+       background-color: rgba(0%,0%,0%,0);
+       border-top-style: none;
+       border-right-style: none;
+       border-bottom-style: none;
+       border-left-style: none;
+       border-image-source: none;
+       color: rgba(0%,0%,0%,1);
+       text-align: left;
+}
+edit_box.ListView_Default .text
+{
+       margin-top: 2pt;
+       margin-right: 2pt;
+       margin-bottom: 2pt;
+       margin-left: 2pt;
+}
+
+button.btnNavigation
+{
+       background-image: none;
+       background-color: rgba(0%,0%,0%,0);
+       border-image-source: none;
+       font-family: -fm-font-family(Arial,Arial-BoldMT);
+       font-weight: bold;
+       font-size: 10pt;
+       color: rgba(100%,100%,100%,1);
+}
+button.btnNavigation .inner_border
+{
+       padding-top: 0pt;
+       padding-right: 0pt;
+       padding-bottom: 0pt;
+       padding-left: 0pt;
+}
+button.btnNavigation .icon
+{
+       -fm-icon-color: rgba(100%,100%,100%,1);
+}
+
+drop_down.DropDown_Filter
+{
+       background-image: none;
+       background-color: rgba(30.1961%,30.1961%,30.1961%,1);
+       border-image-source: none;
+       color: rgba(100%,100%,100%,1);
+       -fm-text-vertical-align: center;
+}
+drop_down.DropDown_Filter:focus
+{
+       border-top-color: rgba(80%,80%,80%,1);
+       border-right-color: rgba(80%,80%,80%,1);
+       border-bottom-color: rgba(80%,80%,80%,1);
+       border-left-color: rgba(80%,80%,80%,1);
+}
+drop_down.DropDown_Filter .text
+{
+       margin-top: 2pt;
+       margin-right: 2pt;
+       margin-bottom: 2pt;
+       margin-left: 2pt;
+}
+drop_down.DropDown_Filter .icon
+{
+       background-image: none;
+       background-color: rgba(20.3922%,20.3922%,20.3922%,1);
+       border-image-source: none;
+       -fm-icon-color: rgba(100%,100%,100%,1);
+}
+drop_down.DropDown_Filter:pressed .icon
+{
+       background-image: none;
+       background-color: rgba(20.3922%,20.3922%,20.3922%,1);
+       border-image-source: none;
+}
+drop_down.DropDown_Filter:focus .icon
+{
+       border-left-color: rgba(80%,80%,80%,1);
+}
+drop_down.DropDown_Filter:focus .repeat_border
+{
+       border-bottom-color: rgba(80%,80%,80%,1);
+}
+
+div.PageListHeader
+{
+       border-top-color: rgba(80%,80%,80%,1);
+       border-right-color: rgba(80%,80%,80%,1);
+       border-bottom-color: rgba(80%,80%,80%,1);
+       border-left-color: rgba(80%,80%,80%,1);
+       border-top-style: solid;
+       border-right-style: solid;
+       border-bottom-style: solid;
+       border-left-style: solid;
+       border-top-width: 1pt;
+       border-right-width: 1pt;
+       border-bottom-width: 1pt;
+       border-left-width: 1pt;
+       color: rgba(100%,100%,100%,1);
+       -fm-text-vertical-align: center;
+}
+div.PageListHeader .inner_border
+{
+       padding-top: 5pt;
+       padding-right: 5pt;
+       padding-bottom: 5pt;
+       padding-left: 5pt;
+}
+
+div.TopNavigation
+{
+       background-color: rgba(16.0784%,19.2157%,27.451%,1);
+}
+
+div.BodySectionHeader
+{
+       font-family: -fm-font-family(Arial,Arial-BoldMT);
+       font-weight: bold;
+}
+
+button.Button_ImgPlacer
+{
+       background-image: none;
+       background-color: rgba(0%,0%,0%,0);
+       border-top-style: none;
+       border-right-style: none;
+       border-bottom-style: none;
+       border-left-style: none;
+       border-image-source: none;
+       font-family: -fm-font-family(Arial,Arial-BoldMT);
+       font-weight: bold;
+       font-size: 10pt;
+       color: rgba(100%,100%,100%,1);
+}
+button.Button_ImgPlacer .inner_border
+{
+       padding-top: 0pt;
+       padding-right: 0pt;
+       padding-bottom: 0pt;
+       padding-left: 0pt;
+}
+button.Button_ImgPlacer .icon
+{
+       -fm-icon-color: rgba(100%,100%,100%,1);
+}
+
+calendar.Calendar_Header
+{
+       background-image: none;
+       background-color: rgba(30.1961%,30.1961%,30.1961%,1);
+       border-image-source: none;
+       color: rgba(100%,100%,100%,1);
+       text-align: center;
+}
+calendar.Calendar_Header:focus
+{
+       border-top-color: rgba(80%,80%,80%,1);
+       border-right-color: rgba(80%,80%,80%,1);
+       border-bottom-color: rgba(80%,80%,80%,1);
+       border-left-color: rgba(80%,80%,80%,1);
+}
+calendar.Calendar_Header .text
+{
+       margin-top: 2pt;
+       margin-right: 2pt;
+       margin-bottom: 2pt;
+       margin-left: 2pt;
+}
+calendar.Calendar_Header .icon
+{
+       background-image: none;
+       background-color: rgba(30.1961%,30.1961%,30.1961%,1);
+       border-image-source: none;
+       -fm-icon-color: rgba(100%,100%,100%,1);
+}
+calendar.Calendar_Header:pressed .icon
+{
+       background-image: none;
+       background-color: rgba(30.1961%,30.1961%,30.1961%,1);
+       border-image-source: none;
+}
+calendar.Calendar_Header:focus .icon
+{
+       border-left-color: rgba(80%,80%,80%,1);
+}
+calendar.Calendar_Header:focus .repeat_border
+{
+       border-bottom-color: rgba(80%,80%,80%,1);
+}
+
+
+
+drop_down.ListView_Filter
+{
+       background-image: none;
+       background-color: rgba(30.1961%,30.1961%,30.1961%,1);
+       border-image-source: none;
+       color: rgba(100%,100%,100%,1);
+       -fm-text-vertical-align: center;
+}
+drop_down.ListView_Filter .text
+{
+       margin-top: 2pt;
+       margin-right: 2pt;
+       margin-bottom: 2pt;
+       margin-left: 2pt;
+}
+drop_down.ListView_Filter .icon
+{
+       background-image: none;
+       background-color: rgba(20.3922%,20.3922%,20.3922%,1);
+       border-image-source: none;
+       -fm-icon-color: rgba(100%,100%,100%,1);
+}
+
+edit_box.ListViewField-noBorder
+{
+       background-image: none;
+       background-color: rgba(0%,0%,0%,0);
+       border-top-style: none;
+       border-right-style: none;
+       border-bottom-style: none;
+       border-left-style: none;
+       border-image-source: none;
+       font-weight: normal;
+       -fm-text-vertical-align: top;
+}
+edit_box.ListViewField-noBorder .icon
+{
+       background-position: center top;
+}
+
+div.PageHeadTitle
+{
+       font-size: 18pt;
+       color: rgba(100%,100%,100%,1);
+}
+
+div.ListView_SectionHeader
+{
+       background-image: none;
+       background-color: rgba(22.3529%,26.6667%,38.4314%,1);
+       border-image-source: none;
+}
+
+button.Button_Navigation
+{
+  border: 0.5px solid #c6c6c6;
+       background-image: none;
+       background-color: rgba(0%,0%,0%,0);
+       border-image-source: none;
+       color: rgba(100%,100%,100%,1);
+}
+button.Button_Navigation:hover
+{
+       background-image: none;
+       background-color: rgba(20.3922%,20.3922%,20.3922%,1);
+       border-image-source: none;
+}
+button.Button_Navigation:pressed
+{
+       background-image: none;
+       background-color: rgba(20.3922%,20.3922%,20.3922%,1);
+       border-image-source: none;
+}
+button.Button_Navigation:focus
+{
+       border-top-color: rgba(80%,80%,80%,1);
+       border-right-color: rgba(80%,80%,80%,1);
+       border-bottom-color: rgba(80%,80%,80%,1);
+       border-left-color: rgba(80%,80%,80%,1);
+}
+button.Button_Navigation .icon
+{
+       -fm-icon-color: rgba(100%,100%,100%,1);
+}
+
+edit_box.result_moneybox
+{
+       background-image: none;
+       background-color: rgba(30.1961%,30.1961%,30.1961%,1);
+       border-image-source: none;
+       font-weight: normal;
+       color: rgba(100%,100%,100%,1);
+       text-align: right;
+}
+edit_box.result_moneybox .text
+{
+       margin-top: 2pt;
+       margin-right: 2pt;
+       margin-bottom: 2pt;
+       margin-left: 2pt;
+}
+
+div.ListView_Header
+{
+       border-top-color: rgba(80%,80%,80%,1);
+       border-right-color: rgba(80%,80%,80%,1);
+       border-bottom-color: rgba(80%,80%,80%,1);
+       border-left-color: rgba(80%,80%,80%,1);
+       border-top-style: solid;
+       border-right-style: solid;
+       border-bottom-style: solid;
+       border-left-style: solid;
+       border-top-width: 1pt;
+       border-right-width: 1pt;
+       border-bottom-width: 1pt;
+       border-left-width: 1pt;
+       font-weight: normal;
+       color: rgba(100%,100%,100%,1);
+       -fm-text-vertical-align: center;
+}
+div.ListView_Header .inner_border
+{
+       padding-top: 2pt;
+       padding-right: 2pt;
+       padding-bottom: 2pt;
+       padding-left: 2pt;
+}
+
+shape.RectEmpty
+{
+       background-image: none;
+       background-color: rgba(0%,0%,0%,0);
+       border-top-style: none;
+       border-right-style: none;
+       border-bottom-style: none;
+       border-left-style: none;
+       border-image-source: none;
+}
+
+div.DKS
+{
+       background-image: none;
+       background-color: rgba(32.1569%,38.8235%,55.6863%,1);
+       border-image-source: none;
+}
+
+pop_up.popup_header
+{
+       background-image: none;
+       background-color: rgba(30.1961%,30.1961%,30.1961%,1);
+       border-image-source: none;
+       color: rgba(100%,100%,100%,1);
+}
+pop_up.popup_header:pressed
+{
+       background-image: none;
+       background-color: rgba(30.1961%,30.1961%,30.1961%,1);
+       border-image-source: none;
+}
+pop_up.popup_header:focus
+{
+       border-top-color: rgba(80%,80%,80%,1);
+       border-right-color: rgba(80%,80%,80%,1);
+       border-bottom-color: rgba(80%,80%,80%,1);
+       border-left-color: rgba(80%,80%,80%,1);
+}
+pop_up.popup_header .text
+{
+       margin-top: 2pt;
+       margin-right: 2pt;
+       margin-bottom: 2pt;
+       margin-left: 2pt;
+}
+pop_up.popup_header .icon
+{
+       background-image: none;
+       background-color: rgba(20.3922%,20.3922%,20.3922%,1);
+       border-left-color: rgba(80%,80%,80%,1);
+       border-left-style: solid;
+       border-left-width: 1pt;
+       border-image-source: none;
+       -fm-icon-color: rgba(100%,100%,100%,1);
+}
+
+div.FooterLabel
+{
+       color: rgba(100%,100%,100%,1);
+}
+
+edit_box.Navigation_EditBox
+{
+       background-image: none;
+       background-color: rgba(30.1961%,30.1961%,30.1961%,1);
+       border-image-source: none;
+       color: rgba(100%,100%,100%,1);
+}
+edit_box.Navigation_EditBox:focus
+{
+       border-top-color: rgba(80%,80%,80%,1);
+       border-right-color: rgba(80%,80%,80%,1);
+       border-bottom-color: rgba(80%,80%,80%,1);
+       border-left-color: rgba(80%,80%,80%,1);
+}
+edit_box.Navigation_EditBox:focus .repeat_border
+{
+       border-bottom-color: rgba(80%,80%,80%,1);
+}
+
+button.Buttom_BodyNav:hover
+{
+       background-image: none;
+       background-color: rgba(20.3922%,20.3922%,20.3922%,1);
+       border-image-source: none;
+       color: rgba(100%,100%,100%,1);
+}
+button.Buttom_BodyNav:pressed
+{
+       color: rgba(100%,100%,100%,1);
+}
+button.Buttom_BodyNav:focus
+{
+       color: rgba(100%,100%,100%,1);
+}
+button.Buttom_BodyNav:hover .icon
+{
+       -fm-icon-color: rgba(100%,100%,100%,1);
+}
+
+/*
+<layoutbuilder>
+       <kVerticalFieldSpacing>4</kVerticalFieldSpacing>
+       <kTrailingdivPaddingTop>8</kTrailingdivPaddingTop>
+       <kTrailingdivPaddingBottom>5</kTrailingdivPaddingBottom>
+       <kTopNavdivMinSize>19</kTopNavdivMinSize>
+       <kTitleHeaderMinSize>19</kTitleHeaderMinSize>
+       <kTitleFooterMinSize>19</kTitleFooterMinSize>
+       <kSummarydivMinSize>19</kSummarydivMinSize>
+       <kReportBreakFieldIndent>20</kReportBreakFieldIndent>
+       <kdivPaddingRight>20</kdivPaddingRight>
+       <kdivPaddingLeft>20</kdivPaddingLeft>
+       <kLeadingdivPaddingTop>8</kLeadingdivPaddingTop>
+       <kLeadingdivPaddingBottom>5</kLeadingdivPaddingBottom>
+       <kLastdivPaddingBottom>8</kLastdivPaddingBottom>
+       <kHeaderMinSize>19</kHeaderMinSize>
+       <kFooterMinSize>18</kFooterMinSize>
+       <kFirstdivPaddingTop>20</kFirstdivPaddingTop>
+       <kBottomNavdivMinSize>19</kBottomNavdivMinSize>
+       <kBodydivPaddingTop>8</kBodydivPaddingTop>
+       <kBodydivPaddingBottom>5</kBodydivPaddingBottom>
+       <kBodyMinSize>60</kBodyMinSize>
+       <kBaseFontSize>16</kBaseFontSize>
+       <kBackgroundPaddingTop>0</kBackgroundPaddingTop>
+       <kBackgroundPaddingRight>0</kBackgroundPaddingRight>
+       <kBackgroundPaddingLeft>0</kBackgroundPaddingLeft>
+       <kBackgroundPaddingBottom>0</kBackgroundPaddingBottom>
+            </layoutbuilder>
+            */
+
+
+div.portalpanel {
+       display: -webkit-box;
+       width: 100%;
+}
+
+.portal{
+       width: 100%; 
+       table-layout: fixed;
+       border-collapse: collapse;
+}
+
+.portal tbody{
+display:block;
+width: 100%;
+overflow-y: scroll;
+}
+
+.portal thead tr,.portal tfoot tr {
+ display: block;
+ width: 100%;
+}
+
+.portal thead,.portal tfoot {
+background: #384462;
+color:#fff;
+}
+
+.portal th, .portal td {
+padding: 5px;
+text-align: left;
+width: 100%;
+ border: 1px solid #c6c6c6;
+
+}
+
+.portal tbody tr:hover{
+       background-color: #959fb9;
+}
+
+.portal_selected {
+       background-color: #acacac!important;
+}
+
+.portal tr:nth-child(even) { 
+background-color: rgb(247, 247, 247);
+}
+
+
+::-webkit-scrollbar {
+-webkit-appearance: none;
+width: 10px;
+}
+
+::-webkit-scrollbar-track {
+       background-color:  rgba(80%, 80%, 80%, .5);
+}
+
+::-webkit-scrollbar-thumb {
+border-radius: 0px;
+background-color: rgba(0, 0, 0, .5);
+-webkit-box-shadow: 0 0 1px rgba(255, 255, 255, .5);
+}      
+
+div.portaltextheader {
+       padding: 2px;
+       border: 1px solid white;
+}
+
+span.currency {
+       float: right;
+}
+
+span.currency::after {
+       float: right;
+       content: "€";         
+       padding: 3px 4px 3px 3px;
+}
index 66903ea..98d2442 100644 (file)
@@ -2,6 +2,7 @@
 html{box-sizing:border-box}*,*:before,*:after{box-sizing:inherit}
 /* Extract from normalize.css by Nicolas Gallagher and Jonathan Neal git.io/normalize */
 html{-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}body{margin:0}
+html,body {-webkit-user-select: none;-ms-user-select: none;user-select: none;-moz-user-select:none;}
 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}
@@ -24,13 +25,13 @@ legend{color:inherit;display:table;max-width:100%;padding:0;white-space:normal}t
 [type=search]::-webkit-search-decoration{-webkit-appearance:none}
 ::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}
 /* End extract */
-html,body{font-family:Verdana,sans-serif;font-size:15px;line-height:1.5}html{overflow-x:hidden}
+html,body{font-family:Verdana,sans-serif;font-size:9pt;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:0.5px solid #eee;margin:20px 0}
+hr{border:0;border-top:1px solid #eee;margin:20px 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:0.5px solid #ccc}
-.w3-bordered tr,.w3-table-all tr{border-bottom:0.5px solid #ddd}.w3-striped tbody tr:nth-child(even){background-color:#f1f1f1}
+.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 th,.w3-centered tr td{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}
@@ -44,15 +45,15 @@ hr{border:0;border-top:0.5px solid #eee;margin:20px 0}
 .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-tooltip,.w3-display-container{position:relative}.w3-tooltip .w3-text{display:none}.w3-tooltip:hover .w3-text{display:inline-block}
 .w3-ripple:active{opacity:0.5}.w3-ripple{transition:opacity 0s}
-.w3-input{padding:4px;display:block;border:1px solid #ccc;width:100%;background-color: #e8f0fe; }
-.w3-select{padding:4px 0; display:block;width:100%;border:1px solid #ccc;background-color: #e8f0fe;}
+.w3-input{padding:4px;display:block;border: 1px solid #ccc;width:100%;background-color: #fff; }/*#e8f0fe*/
+.w3-select{padding:4px 0; display:block;width:100%;border:1px solid #ccc;background-color: #fff;}
 .w3-dropdown-click,.w3-dropdown-hover{position:relative;display:inline-block;cursor:pointer}
 .w3-dropdown-hover:hover .w3-dropdown-content{display:block; }
 .w3-dropdown-hover:first-child,.w3-dropdown-click:hover{background-color:#ccc;color:#000}
 .w3-dropdown-hover:hover > .w3-button:first-child,.w3-dropdown-click:hover > .w3-button:first-child{background-color:#ccc;color:#000}
 .w3-dropdown-content{cursor:auto;color:#000;background-color:#fff;display:none;position:absolute;min-width:160px;margin:0;padding:0;z-index:1}
 .w3-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-sidebar{height:100%;width:160px;background-color:#fff;position:fixed!important;z-index:1;overflow:auto}
 .w3-bar-block .w3-dropdown-hover,.w3-bar-block .w3-dropdown-click{width:100%}
 .w3-bar-block .w3-dropdown-hover .w3-dropdown-content,.w3-bar-block .w3-dropdown-click .w3-dropdown-content{min-width:100%}
 .w3-bar-block .w3-dropdown-hover .w3-button,.w3-bar-block .w3-dropdown-click .w3-button{width:100%;text-align:left;padding:8px 16px}
@@ -115,10 +116,10 @@ hr{border:0;border-top:0.5px solid #eee;margin:20px 0}
 .w3-spin{animation:w3-spin 2s infinite linear}@keyframes w3-spin{0%{transform:rotate(0deg)}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 0.8s}@keyframes opac{from{opacity:0} to{opacity:1}}
-.w3-animate-top{position:relative;animation:animatetop 2s}@keyframes animatetop{from{top:-300px;opacity:0} to{top:0;opacity:1}}
-.w3-animate-left{position:relative;animation:animateleft 2s}@keyframes animateleft{from{left:-300px;opacity:0} to{left:0;opacity:1}}
-.w3-animate-right{position:relative;animation:animateright 2s}@keyframes animateright{from{right:-300px;opacity:0} to{right:0;opacity:1}}
-.w3-animate-bottom{position:relative;animation:animatebottom 0.4s}@keyframes animatebottom{from{bottom:-300px;opacity:0} to{bottom:0;opacity:1}}
+.w3-animate-top{position:relative;animation:animatetop 1s}@keyframes animatetop{from{top:-300px;opacity:0} to{top:0;opacity:1}}
+.w3-animate-left{position:relative;animation:animateleft 0.4s}@keyframes animateleft{from{left:-300px;opacity:0} to{left:0;opacity:1}}
+.w3-animate-right{position:relative;animation:animateright 0.4s}@keyframes animateright{from{right:-300px;opacity:0} to{right:0;opacity:1}}
+.w3-animate-bottom{position:relative;animation:animatebottom 1s}@keyframes animatebottom{from{bottom:-300px;opacity:0} to{bottom:0;opacity:1}}
 .w3-animate-zoom {animation:animatezoom 0.6s}@keyframes animatezoom{from{transform:scale(0)} to{transform:scale(1)}}
 .w3-animate-input{transition:width 0.4s ease-in-out}.w3-animate-input:focus{width:100%!important}
 .w3-opacity,.w3-hover-opacity:hover{opacity:0.60}.w3-opacity-off,.w3-hover-opacity-off:hover{opacity:1}
@@ -230,30 +231,30 @@ hr{border:0;border-top:0.5px solid #eee;margin:20px 0}
 .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}
 /* DEFAULT THEME */
-.w3-theme-l5 {color:#000 !important; background-color:#f4f4f4 !important}
-.w3-theme-l4 {color:#000 !important; background-color:#d9d9d9 !important}
-.w3-theme-l3 {color:#000 !important; background-color:#b3b3b3 !important}
-.w3-theme-l2 {color:#fff !important; background-color:#8c8c8c !important}
-.w3-theme-l1 {color:#fff !important; background-color:#666666 !important}
-.w3-theme-d1 {color:#fff !important; background-color:#393939 !important}
-.w3-theme-d2 {color:#fff !important; background-color:#333333 !important}
-.w3-theme-d3 {color:#fff !important; background-color:#2d2d2d !important}
-.w3-theme-d4 {color:#fff !important; background-color:#262626 !important}
-.w3-theme-d5 {color:#fff !important; background-color:#202020 !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:#f4f4f4 !important}
-.w3-theme-dark {color:#fff !important; background-color:#202020 !important}
-.w3-theme-action {color:#fff !important; background-color:#202020 !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:#414141 !important}
-.w3-text-theme {color:#414141 !important}
-.w3-border-theme {border-color:#414141 !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:#414141 !important}
-.w3-hover-text-theme:hover {color:#414141 !important}
-.w3-hover-border-theme:hover {border-color:#414141 !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: rgb(153, 150, 150);}
+.w3-label { color: #000; font-size: 9pt; font-weight: bold;}
 /* #main {margin-left: 210px;} */
 @media (max-width:768px){
   #sidebar { display: none;}
@@ -262,10 +263,10 @@ hr{border:0;border-top:0.5px solid #eee;margin:20px 0}
 
 .w3-select {
   display: block;
-  font-size: 16px;
+  font-size: 9pt;
   font-family: sans-serif;
   font-weight: normal;
-  color: #444;
+  color: #000;
   line-height: 1.3;
   padding: .6em 1.4em .5em .8em;
   width: 100%;
@@ -274,17 +275,44 @@ hr{border:0;border-top:0.5px solid #eee;margin:20px 0}
   margin: 0;
   border-bottom: 1px solid #aaa;
   box-shadow: 0 1px 0 1px rgba(0,0,0,.04);
-  /* border-radius: .5em; */
+  border-radius: 0px;
   -moz-appearance: none;
   -webkit-appearance: none;
   appearance: none;
-  background-color: #e8f0fe;
+  background-color: #fff;
   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%);
+    linear-gradient(to bottom, #fff 0%,#fff 100%);
   background-repeat: no-repeat, repeat;
   background-position: right .7em top 50%, 0 0;
   background-size: .65em auto, 100%;
 }
+
+.w3-currency {
+  display: block;
+  font-size: 9pt;
+  font-family: sans-serif;
+  font-weight: normal;
+  color: #000;
+  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);
+  border-radius: 0px;
+  -moz-appearance: none;
+  -webkit-appearance: none;
+  appearance: none;
+  background-color: #fff;
+  background-image: url('data:image/svg+xml;charset=US-ASCII,%3Csvg%20version=%221.2%22%20xmlns=%22http://www.w3.org/2000/svg%22%20xmlns:xlink=%22http://www.w3.org/1999/xlink%22%20x=%220px%22%20y=%220px%22%20width=%2250px%22%20height=%2250px%22%20viewBox=%220%200%20437.98%20459%22%3E%3Cpath%20d=%22M328.817691283742,6.1457322520983E-16C378.432559447804,-8.17324228812773E-08,420.145877318898,8.15223312377927,454.00000329546,24.5277767181396L437.982455688039,80.809341430664C405.478915648976,60.4427146911621%20368.554904418507,50.2454071044922%20327.211123900929,50.2454032897949%20282.428378539601,50.2454071044922%20244.808185058156,58.4395790100097%20214.422122436085,74.7721176147461%20196.287127929249,84.4788589477539%20179.843234496632,98.1649551391601%20165.247439818898,115.940055847168%20150.253055053273,134.318649291992%20141.470080810109,151.800079345703%20138.784015136281,168.328460693359L411.647433715382,168.328460693359%20400.81723352007,208.907897949219%20132.388278441945,208.907897949219C132.118060546437,213.138977050781%20132.018741088429,217.173156738281%20132.018741088429,221.010437011719%20132.018741088429,236.545822143555%20132.118060546437,245.825469970703%20132.388278441945,248.88606262207L389.97314782671,248.88606262207%20378.802127318898,289.445129394531%20140.816028075734,289.445129394531C152.015719848195,335.676818847656%20178.933703856984,368.482727050781%20221.61377282671,387.855377197266%20252.283893065968,401.765197753906%20285.469699340382,408.754516601563%20321.157168822804,408.754516601563%20371.070468383351,408.754516601563%20410.040896850148,398.836975097656%20437.982455688039,379.065124511719L437.982455688039,441.4345703125C404.683474975148,453.144500732422%20367.87305017046,458.999969482422%20327.566806273976,458.999969482422%20207.060046630421,458.999969482422%20125.609118896046,421.066833496094%2083.2274736934096,345.159790039063%2074.686076598683,329.822357177734%2067.3096804194838,311.275970458984%2061.2127832942397,289.445129394531L0,289.445129394531%2011.1853918605239,248.88606262207%2053.2395777278334,248.88606262207C52.3868631892592,240.411087036133%2051.9887041621596,231.222854614258%2051.9887041621596,221.312744140625%2051.9887041621596,217.285034179687%2052.1166529231459,213.138977050781%2052.3868670039565,208.907897949219L0,208.907897949219%2011.1853918605239,168.328460693359%2057.5885576777846,168.328460693359C74.1317781978041,102.521850585937%20117.223864989796,55.301586151123%20186.778964477101,26.628755569458%20229.743121581593,8.88057136535642%20277.084445434132,-8.17324228812773E-08%20328.817691283742,6.1457322520983E-16z%22/%3E%3C/svg%3E'), 
+    linear-gradient(to bottom, #fff 0%,#fff 100%);
+  background-repeat: no-repeat, repeat;
+  background-position: right .2em top 50%, 0 0;
+  background-size: .9em auto, 100%;
+}
+
 .w3-select::-ms-expand {
   display: none;
 }
@@ -293,7 +321,7 @@ hr{border:0;border-top:0.5px solid #eee;margin:20px 0}
 }
 .w3-select:focus {
   border-color: #aaa;
-  box-shadow: 0 0 1px 1px #6a92d3;
+  box-shadow: 0 0 1px 1px #fff;
   box-shadow: 0 0 0 1px -moz-mac-focusring;
   color: #222; 
   outline: none;
@@ -317,7 +345,7 @@ hr{border:0;border-top:0.5px solid #eee;margin:20px 0}
   background-color: #333;
   color: #fff;
   text-align: center;
-  border-radius: 2px;
+  
   padding: 16px;
   position: fixed;
   z-index: 1;
@@ -353,14 +381,18 @@ hr{border:0;border-top:0.5px solid #eee;margin:20px 0}
 }
 
 .tabulator-header-filter > input {
-  background-color: #e8f0fe;
+  background-color: #fff;
   border: 1px solid #ccc;
   font-weight: normal;
 }
 
-.w3-readonly {
+.readonly {
   pointer-events:none;
-  padding:8px;display:block;border:0px;width:100%;background-color: #fff;
+  color: #000!important;
+}
+
+input[readonly=true]{
+  color: #000!important;
 }
 
 .right-side-bg {
@@ -369,11 +401,20 @@ hr{border:0;border-top:0.5px solid #eee;margin:20px 0}
   min-height: 100vh;
 }
 
+input[type=number]::-webkit-inner-spin-button, 
+input[type=number]::-webkit-outer-spin-button { 
+  -webkit-appearance: none; 
+  margin: 0; 
+}
+
+
+  
 /* .mceContentBody { 
-  background: #e8f0fe;
+  background: #fff;
   color:#000;
 } */
 
 /* .tabulator-row-even {
   background-color: #757575;
-} */
\ No newline at end of file
+} */
+
diff --git a/backoffice/css/w3pro.old.css b/backoffice/css/w3pro.old.css
new file mode 100644 (file)
index 0000000..66903ea
--- /dev/null
@@ -0,0 +1,379 @@
+/* W3PRO.CSS 4.13 June 2019 by Jan Egil and Borge Refsnes */
+html{box-sizing:border-box}*,*:before,*:after{box-sizing:inherit}
+/* Extract from normalize.css by Nicolas Gallagher and Jonathan Neal git.io/normalize */
+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:-0.25em}sup{top:-0.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,select,textarea,optgroup{font:inherit;margin:0}optgroup{font-weight:bold}
+button,input{overflow:visible}button,select{text-transform:none}
+button,[type=button],[type=reset],[type=submit]{-webkit-appearance:button}
+button::-moz-focus-inner,[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner{border-style:none;padding:0}
+button:-moz-focusring,[type=button]:-moz-focusring,[type=reset]:-moz-focusring,[type=submit]:-moz-focusring{outline:1px dotted ButtonText}
+fieldset{border:1px solid #c0c0c0;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}
+/* End extract */
+html,body{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:0.5px solid #eee;margin:20px 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:0.5px solid #ccc}
+.w3-bordered tr,.w3-table-all tr{border-bottom:0.5px 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 th,.w3-centered tr td{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 th:first-child,.w3-table td:first-child,.w3-table-all th:first-child,.w3-table-all td: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,0.2),0 6px 20px 0 rgba(0,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-disabled,.w3-btn:disabled,.w3-button:disabled{cursor:not-allowed;opacity:0.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-tooltip,.w3-display-container{position:relative}.w3-tooltip .w3-text{display:none}.w3-tooltip:hover .w3-text{display:inline-block}
+.w3-ripple:active{opacity:0.5}.w3-ripple{transition:opacity 0s}
+.w3-input{padding:4px;display:block;border:1px solid #ccc;width:100%;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-hover:first-child,.w3-dropdown-click:hover{background-color:#ccc;color:#000}
+.w3-dropdown-hover:hover > .w3-button:first-child,.w3-dropdown-click:hover > .w3-button:first-child{background-color:#ccc;color:#000}
+.w3-dropdown-content{cursor:auto;color:#000;background-color:#fff;display:none;position:absolute;min-width:160px;margin:0;padding:0;z-index:1}
+.w3-check,.w3-radio{width:24px;height:24px;position:relative;top:6px}
+.w3-sidebar{height:100%;width:200px;background-color:#fff;position:fixed!important;z-index:1;overflow:auto}
+.w3-bar-block .w3-dropdown-hover,.w3-bar-block .w3-dropdown-click{width:100%}
+.w3-bar-block .w3-dropdown-hover .w3-dropdown-content,.w3-bar-block .w3-dropdown-click .w3-dropdown-content{min-width:100%}
+.w3-bar-block .w3-dropdown-hover .w3-button,.w3-bar-block .w3-dropdown-click .w3-button{width:100%;text-align:left;padding:8px 16px}
+.w3-main,#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:rgb(0,0,0);background-color:rgba(0,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-hover,.w3-bar .w3-dropdown-click{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-container:after,.w3-container:before,.w3-panel:after,.w3-panel:before,.w3-row:after,.w3-row:before,.w3-row-padding:after,.w3-row-padding:before,
+.w3-cell-row:before,.w3-cell-row:after,.w3-clear:after,.w3-clear:before,.w3-bar:before,.w3-bar:after{content:"";display:table;clear:both}
+.w3-col,.w3-half,.w3-third,.w3-twothird,.w3-threequarter,.w3-quarter,.w3-fifth,.w3-twofifth,.w3-threefifth,.w3-fourfifth{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-content,.w3-auto{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-block,.w3-show{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-hover.w3-mobile .w3-dropdown-content,.w3-dropdown-click.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-hover.w3-mobile,.w3-dropdown-click.w3-mobile{text-align:center}
+.w3-dropdown-hover.w3-mobile,.w3-dropdown-hover.w3-mobile .w3-btn,.w3-dropdown-hover.w3-mobile .w3-button,.w3-dropdown-click.w3-mobile,.w3-dropdown-click.w3-mobile .w3-btn,.w3-dropdown-click.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-top,.w3-bottom{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,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-half,.w3-row-padding>.w3-third,.w3-row-padding>.w3-twothird,.w3-row-padding>.w3-threequarter,.w3-row-padding>.w3-quarter,.w3-row-padding>.w3-col{padding:0 8px}
+.w3-container,.w3-panel{padding:0.01em 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:crimson;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,0.16)}
+.w3-card-4,.w3-hover-shadow:hover{box-shadow:0 4px 10px 0 rgba(0,0,0,0.2),0 4px 20px 0 rgba(0,0,0,0.19)}
+.w3-spin{animation:w3-spin 2s infinite linear}@keyframes w3-spin{0%{transform:rotate(0deg)}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 0.8s}@keyframes opac{from{opacity:0} to{opacity:1}}
+.w3-animate-top{position:relative;animation:animatetop 2s}@keyframes animatetop{from{top:-300px;opacity:0} to{top:0;opacity:1}}
+.w3-animate-left{position:relative;animation:animateleft 2s}@keyframes animateleft{from{left:-300px;opacity:0} to{left:0;opacity:1}}
+.w3-animate-right{position:relative;animation:animateright 2s}@keyframes animateright{from{right:-300px;opacity:0} to{right:0;opacity:1}}
+.w3-animate-bottom{position:relative;animation:animatebottom 0.4s}@keyframes animatebottom{from{bottom:-300px;opacity:0} to{bottom:0;opacity:1}}
+.w3-animate-zoom {animation:animatezoom 0.6s}@keyframes animatezoom{from{transform:scale(0)} to{transform:scale(1)}}
+.w3-animate-input{transition:width 0.4s ease-in-out}.w3-animate-input:focus{width:100%!important}
+.w3-opacity,.w3-hover-opacity:hover{opacity:0.60}.w3-opacity-off,.w3-hover-opacity-off:hover{opacity:1}
+.w3-opacity-max{opacity:0.25}.w3-opacity-min{opacity:0.75}
+.w3-greyscale-max,.w3-grayscale-max,.w3-hover-greyscale:hover,.w3-hover-grayscale:hover{filter:grayscale(100%)}
+.w3-greyscale,.w3-grayscale{filter:grayscale(75%)}.w3-greyscale-min,.w3-grayscale-min{filter:grayscale(50%)}
+.w3-sepia{filter:sepia(75%)}.w3-sepia-max,.w3-hover-sepia:hover{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-section,.w3-code{margin-top:16px!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-transparent,.w3-hover-none:hover{background-color:transparent!important}
+.w3-hover-none:hover{box-shadow:none!important}
+/* DEFAULT COLORS */
+.w3-amber,.w3-hover-amber:hover{color:#000!important;background-color:#ffc107!important}
+.w3-aqua,.w3-hover-aqua:hover{color:#000!important;background-color:#00ffff!important}
+.w3-blue,.w3-hover-blue:hover{color:#fff!important;background-color:#2196F3!important}
+.w3-light-blue,.w3-hover-light-blue:hover{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-light-green,.w3-hover-light-green:hover{color:#000!important;background-color:#8bc34a!important}
+.w3-indigo,.w3-hover-indigo:hover{color:#fff!important;background-color:#3f51b5!important}
+.w3-khaki,.w3-hover-khaki:hover{color:#000!important;background-color:#f0e68c!important}
+.w3-lime,.w3-hover-lime:hover{color:#000!important;background-color:#cddc39!important}
+.w3-orange,.w3-hover-orange:hover{color:#000!important;background-color:#ff9800!important}
+.w3-deep-orange,.w3-hover-deep-orange:hover{color:#fff!important;background-color:#ff5722!important}
+.w3-pink,.w3-hover-pink:hover{color:#fff!important;background-color:#e91e63!important}
+.w3-purple,.w3-hover-purple:hover{color:#fff!important;background-color:#9c27b0!important}
+.w3-deep-purple,.w3-hover-deep-purple:hover{color:#fff!important;background-color:#673ab7!important}
+.w3-red,.w3-hover-red:hover{color:#fff!important;background-color:#f44336!important}
+.w3-sand,.w3-hover-sand:hover{color:#000!important;background-color:#fdf5e6!important}
+.w3-teal,.w3-hover-teal:hover{color:#fff!important;background-color:#009688!important}
+.w3-yellow,.w3-hover-yellow:hover{color:#000!important;background-color:#ffeb3b!important}
+.w3-white,.w3-hover-white:hover{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-light-grey,.w3-hover-light-grey:hover{color:#000!important;background-color:#f1f1f1!important}
+.w3-dark-grey,.w3-hover-dark-grey:hover{color:#fff!important;background-color:#616161!important}
+.w3-pale-red,.w3-hover-pale-red:hover{color:#000!important;background-color:#ffe7e7!important}.w3-pale-green,.w3-hover-pale-green:hover{color:#000!important;background-color:#e7ffe7!important}
+.w3-pale-yellow,.w3-hover-pale-yellow:hover{color:#000!important;background-color:#ffffd7!important}.w3-pale-blue,.w3-hover-pale-blue:hover{color:#000!important;background-color:#e7ffff!important}
+.w3-text-align-right { text-align: right;}
+.w3-text-amber,.w3-hover-text-amber:hover{color:#ffc107!important}
+.w3-text-aqua,.w3-hover-text-aqua:hover{color:#00ffff!important}
+.w3-text-blue,.w3-hover-text-blue:hover{color:#2196F3!important}
+.w3-text-light-blue,.w3-hover-text-light-blue:hover{color:#87CEEB!important}
+.w3-text-brown,.w3-hover-text-brown:hover{color:#795548!important}
+.w3-text-cyan,.w3-hover-text-cyan:hover{color:#00bcd4!important}
+.w3-text-blue-grey,.w3-hover-text-blue-grey:hover{color:#607d8b!important}
+.w3-text-green,.w3-hover-text-green:hover{color:#4CAF50!important}
+.w3-text-light-green,.w3-hover-text-light-green:hover{color:#8bc34a!important}
+.w3-text-indigo,.w3-hover-text-indigo:hover{color:#3f51b5!important}
+.w3-text-khaki,.w3-hover-text-khaki:hover{color:#b4aa50!important}
+.w3-text-lime,.w3-hover-text-lime:hover{color:#cddc39!important}
+.w3-text-orange,.w3-hover-text-orange:hover{color:#ff9800!important}
+.w3-text-deep-orange,.w3-hover-text-deep-orange:hover{color:#ff5722!important}
+.w3-text-pink,.w3-hover-text-pink:hover{color:#e91e63!important}
+.w3-text-purple,.w3-hover-text-purple:hover{color:#9c27b0!important}
+.w3-text-deep-purple,.w3-hover-text-deep-purple:hover{color:#673ab7!important}
+.w3-text-red,.w3-hover-text-red:hover{color:#f44336!important}
+.w3-text-sand,.w3-hover-text-sand:hover{color:#fdf5e6!important}
+.w3-text-teal,.w3-hover-text-teal:hover{color:#009688!important}
+.w3-text-yellow,.w3-hover-text-yellow:hover{color:#d2be0e!important}
+.w3-text-white,.w3-hover-text-white:hover{color:#fff!important}
+.w3-text-black,.w3-hover-text-black:hover{color:#000!important}
+.w3-text-grey,.w3-hover-text-grey:hover{color:#757575!important}
+.w3-text-light-grey,.w3-hover-text-light-grey:hover{color:#f1f1f1!important}
+.w3-text-dark-grey,.w3-hover-text-dark-grey:hover{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:#00ffff!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:#f0e68c!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}
+/* DEFAULT THEME */
+.w3-theme-l5 {color:#000 !important; background-color:#f4f4f4 !important}
+.w3-theme-l4 {color:#000 !important; background-color:#d9d9d9 !important}
+.w3-theme-l3 {color:#000 !important; background-color:#b3b3b3 !important}
+.w3-theme-l2 {color:#fff !important; background-color:#8c8c8c !important}
+.w3-theme-l1 {color:#fff !important; background-color:#666666 !important}
+.w3-theme-d1 {color:#fff !important; background-color:#393939 !important}
+.w3-theme-d2 {color:#fff !important; background-color:#333333 !important}
+.w3-theme-d3 {color:#fff !important; background-color:#2d2d2d !important}
+.w3-theme-d4 {color:#fff !important; background-color:#262626 !important}
+.w3-theme-d5 {color:#fff !important; background-color:#202020 !important}
+
+.w3-theme-light {color:#000 !important; background-color:#f4f4f4 !important}
+.w3-theme-dark {color:#fff !important; background-color:#202020 !important}
+.w3-theme-action {color:#fff !important; background-color:#202020 !important}
+
+.w3-theme {color:#fff !important; background-color:#414141 !important}
+.w3-text-theme {color:#414141 !important}
+.w3-border-theme {border-color:#414141 !important}
+
+.w3-hover-theme:hover {color:#fff !important; background-color:#414141 !important}
+.w3-hover-text-theme:hover {color:#414141 !important}
+.w3-hover-border-theme:hover {border-color:#414141 !important}
+
+.w3-label { color: rgb(153, 150, 150);}
+/* #main {margin-left: 210px;} */
+@media (max-width:768px){
+  #sidebar { display: none;}
+  #main { margin-left: 0px;} 
+}
+
+.w3-select {
+  display: block;
+  font-size: 16px;
+  font-family: sans-serif;
+  font-weight: normal;
+  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);
+  /* border-radius: .5em; */
+  -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: none;
+}
+
+
+.w3-select option {
+  font-weight:normal;
+}
+
+.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;
+  border-radius: 2px;
+  padding: 16px;
+  position: fixed;
+  z-index: 1;
+  left: 50%;
+  bottom: 30px;
+  font-size: 17px;
+}
+
+#snackbar.show {
+  visibility: visible;
+  -webkit-animation: fadein 0.5s, fadeout 0.5s 2.5s;
+  animation: fadein 0.5s, fadeout 0.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: normal;
+}
+
+.w3-readonly {
+  pointer-events:none;
+  padding:8px;display:block;border:0px;width:100%;background-color: #fff;
+}
+
+.right-side-bg {
+  background: url("../img/bg1.jpg");
+  background-size: cover;
+  min-height: 100vh;
+}
+
+/* .mceContentBody { 
+  background: #e8f0fe;
+  color:#000;
+} */
+
+/* .tabulator-row-even {
+  background-color: #757575;
+} */
\ No newline at end of file
index b4b826d..820b048 100644 (file)
@@ -1,5 +1,5 @@
 RewriteEngine On
 RewriteBase /
-RewriteCond %{HTTP_COOKIE} !potlu= [NC]
+RewriteCond %{HTTP_COOKIE} !saffranlu= [NC]
 RewriteRule .* "%{REQUEST_SCHEME}://%{HTTP_HOST}/backoffice/login.html" [L]
 # Require all denied
\ No newline at end of file
index b77f434..688dae4 100644 (file)
@@ -1,2 +1,2 @@
-kilian:$2y$05$YXsrbwMHweXfXt1dr5Z0juN35tx7WtcXgg0PR9Co1KwMfb6uVu/fq
+kilian:$2y$05$u1lORi7P9fZQKH5LpxV9wuWdyafZBlbqJucJX7Wcxi8J3RdMyLeuO
 kilian2:$2y$05$a2XKnz9Mc2JWov9cyy7FuuEuphHJEn3pEJCZ1q8jhfmfZiRUCE9p2
index 5b62146..fe216e6 100644 (file)
@@ -1,2 +1,7 @@
-#username|usergroup|prename|surname
-kilian|admin|Kilian|Saffran
\ No newline at end of file
+{
+  "username":"kilian",
+  "usergroup":"admin",
+  "prename":"Kilian",
+  "surname":"Saffran",
+  "email":"kilian@saffran.lu"
+}
\ No newline at end of file
diff --git a/backoffice/data/company/.htaccess b/backoffice/data/company/.htaccess
deleted file mode 100644 (file)
index b4b826d..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-RewriteEngine On
-RewriteBase /
-RewriteCond %{HTTP_COOKIE} !potlu= [NC]
-RewriteRule .* "%{REQUEST_SCHEME}://%{HTTP_HOST}/backoffice/login.html" [L]
-# Require all denied
\ No newline at end of file
diff --git a/backoffice/data/schemata/.htaccess b/backoffice/data/schemata/.htaccess
deleted file mode 100644 (file)
index b4b826d..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-RewriteEngine On
-RewriteBase /
-RewriteCond %{HTTP_COOKIE} !potlu= [NC]
-RewriteRule .* "%{REQUEST_SCHEME}://%{HTTP_HOST}/backoffice/login.html" [L]
-# Require all denied
\ No newline at end of file
diff --git a/backoffice/data/schemata/defaultcompany.schema.sql b/backoffice/data/schemata/defaultcompany.schema.sql
deleted file mode 100644 (file)
index f7db8e9..0000000
+++ /dev/null
@@ -1,1193 +0,0 @@
-
-CREATE SCHEMA %%NEWSCHEMA%%;
-
-CREATE TABLE %%NEWSCHEMA%%.defaultweekworkplan (
-    id integer NOT NULL,
-    id_staff integer,
-    startdate date,
-    mon json,
-    tue json,
-    wed json,
-    thu json,
-    fri json,
-    sat json,
-    sun json
-);
-
-CREATE SEQUENCE %%NEWSCHEMA%%.defaultweekworkplan_id_seq
-    START WITH 1
-    INCREMENT BY 1
-    NO MINVALUE
-    NO MAXVALUE
-    CACHE 1;
-
-ALTER SEQUENCE %%NEWSCHEMA%%.defaultweekworkplan_id_seq OWNED BY %%NEWSCHEMA%%.defaultweekworkplan.id;
-
-CREATE TABLE %%NEWSCHEMA%%.defaultworkplan (
-    id bigint NOT NULL,
-    id_staff integer,
-    daydate date,
-    plannedtimes json,
-    vacancytimes json,
-    presencetimes json
-);
-
-CREATE SEQUENCE %%NEWSCHEMA%%.defaultworkplan_id_seq
-    START WITH 1
-    INCREMENT BY 1
-    NO MINVALUE
-    NO MAXVALUE
-    CACHE 1;
-
-ALTER SEQUENCE %%NEWSCHEMA%%.defaultworkplan_id_seq OWNED BY %%NEWSCHEMA%%.defaultworkplan.id;
-
-CREATE TABLE %%NEWSCHEMA%%.reportperiod (
-    id integer NOT NULL,
-    periodname text,
-    startdate date,
-    enddate date
-);
-
-CREATE SEQUENCE %%NEWSCHEMA%%.reportperiod_id_seq
-    START WITH 1
-    INCREMENT BY 1
-    NO MINVALUE
-    NO MAXVALUE
-    CACHE 1;
-
-ALTER SEQUENCE %%NEWSCHEMA%%.reportperiod_id_seq OWNED BY %%NEWSCHEMA%%.reportperiod.id;
-
-CREATE TABLE %%NEWSCHEMA%%.sites (
-    id integer NOT NULL,
-    sitename text,
-    address text,
-    zip text,
-    city text,
-    country text,
-    id_timetracker integer,
-    created timestamp without time zone DEFAULT now(),
-    modified timestamp without time zone DEFAULT now(),
-    timeclockhost text
-);
-
-CREATE SEQUENCE %%NEWSCHEMA%%.sites_id_seq
-    START WITH 1
-    INCREMENT BY 1
-    NO MINVALUE
-    NO MAXVALUE
-    CACHE 1;
-
-ALTER SEQUENCE %%NEWSCHEMA%%.sites_id_seq OWNED BY %%NEWSCHEMA%%.sites.id;
-
-CREATE TABLE %%NEWSCHEMA%%.staff (
-    id integer NOT NULL,
-    staffnumber text,
-    surname text,
-    prename text,
-    job text,
-    birthdate date,
-    entrydate date,
-    leavedate date
-);
-
-CREATE SEQUENCE %%NEWSCHEMA%%.staff_id_seq
-    START WITH 1
-    INCREMENT BY 1
-    NO MINVALUE
-    NO MAXVALUE
-    CACHE 1;
-
-ALTER SEQUENCE %%NEWSCHEMA%%.staff_id_seq OWNED BY %%NEWSCHEMA%%.staff.id;
-
-CREATE TABLE %%NEWSCHEMA%%.staffgroups (
-    id integer NOT NULL,
-    groupname text,
-    groupcolor text
-);
-
-CREATE SEQUENCE %%NEWSCHEMA%%.staffgroups_id_seq
-    START WITH 1
-    INCREMENT BY 1
-    NO MINVALUE
-    NO MAXVALUE
-    CACHE 1;
-
-ALTER SEQUENCE %%NEWSCHEMA%%.staffgroups_id_seq OWNED BY %%NEWSCHEMA%%.staffgroups.id;
-
-CREATE TABLE %%NEWSCHEMA%%.staffperiodbase (
-    id integer NOT NULL,
-    id_staff integer,
-    startdate date,
-    monthhours numeric,
-    weekhours numeric
-);
-
-CREATE SEQUENCE %%NEWSCHEMA%%.staffperiodbase_id_seq
-    START WITH 1
-    INCREMENT BY 1
-    NO MINVALUE
-    NO MAXVALUE
-    CACHE 1;
-
-ALTER SEQUENCE %%NEWSCHEMA%%.staffperiodbase_id_seq OWNED BY %%NEWSCHEMA%%.staffperiodbase.id;
-
-CREATE TABLE %%NEWSCHEMA%%.stafftimetracks (
-    id bigint NOT NULL,
-    id_staff integer,
-    stamp_in timestamp without time zone,
-    stamp_out timestamp without time zone,
-    tracktype text,
-    created timestamp without time zone DEFAULT now(),
-    modified timestamp without time zone DEFAULT now()
-);
-
-CREATE SEQUENCE %%NEWSCHEMA%%.stafftimetracks_id_seq
-    START WITH 1
-    INCREMENT BY 1
-    NO MINVALUE
-    NO MAXVALUE
-    CACHE 1;
-
-ALTER SEQUENCE %%NEWSCHEMA%%.stafftimetracks_id_seq OWNED BY %%NEWSCHEMA%%.stafftimetracks.id;
-
-CREATE TABLE %%NEWSCHEMA%%.staffvacancy (
-    id integer NOT NULL,
-    id_staff integer,
-    startdate date,
-    enddate date,
-    vacancytype text,
-    dayhours time without time zone,
-    note text,
-    validated boolean
-);
-
-CREATE SEQUENCE %%NEWSCHEMA%%.staffvacancy_id_seq
-    START WITH 1
-    INCREMENT BY 1
-    NO MINVALUE
-    NO MAXVALUE
-    CACHE 1;
-
-ALTER SEQUENCE %%NEWSCHEMA%%.staffvacancy_id_seq OWNED BY %%NEWSCHEMA%%.staffvacancy.id;
-
-CREATE TABLE %%NEWSCHEMA%%.staffvacancyyear (
-    id integer NOT NULL,
-    id_staff integer,
-    vyear integer,
-    hours numeric,
-    days numeric
-);
-
-CREATE SEQUENCE %%NEWSCHEMA%%.staffvacancyyear_id_seq
-    START WITH 1
-    INCREMENT BY 1
-    NO MINVALUE
-    NO MAXVALUE
-    CACHE 1;
-
-ALTER SEQUENCE %%NEWSCHEMA%%.staffvacancyyear_id_seq OWNED BY %%NEWSCHEMA%%.staffvacancyyear.id;
-
-CREATE TABLE %%NEWSCHEMA%%.staffworkplan (
-    id bigint NOT NULL,
-    id_staff integer,
-    daydate date,
-    timestart1 time without time zone,
-    timeend1 time without time zone,
-    timestart2 time without time zone,
-    timeend2 time without time zone,
-    timepause time without time zone,
-    vacancyhours time without time zone,
-    vacancytype text
-);
-
-CREATE SEQUENCE %%NEWSCHEMA%%.staffworkplan_id_seq
-    START WITH 1
-    INCREMENT BY 1
-    NO MINVALUE
-    NO MAXVALUE
-    CACHE 1;
-
-ALTER SEQUENCE %%NEWSCHEMA%%.staffworkplan_id_seq OWNED BY %%NEWSCHEMA%%.staffworkplan.id;
-
-CREATE VIEW %%NEWSCHEMA%%.vw_reportperiodlist AS
- SELECT reportperiod.id,
-    reportperiod.periodname,
-    reportperiod.startdate,
-    reportperiod.enddate
-   FROM %%NEWSCHEMA%%.reportperiod;
-
-CREATE VIEW %%NEWSCHEMA%%.vw_stafflist AS
- SELECT staff.id,
-    staff.staffnumber,
-    staff.surname,
-    staff.prename,
-    staff.job,
-    staff.birthdate,
-    staff.entrydate,
-    staff.leavedate,
-    ((staff.surname || ' '::text) || staff.prename) AS dspname
-   FROM %%NEWSCHEMA%%.staff;
-
-CREATE VIEW %%NEWSCHEMA%%.vw_staffplanned_dayweektotals AS
- SELECT stw2.calweek,
-    stw2.caldate AS dates,
-    stw2.id_staff,
-    max(
-        CASE
-            WHEN (stw2.isodow = (1)::double precision) THEN stw2.id
-            ELSE NULL::bigint
-        END) AS mon_id,
-    max(
-        CASE
-            WHEN (stw2.isodow = (1)::double precision) THEN to_char((stw2.timestart1)::interval, 'HH24:MI'::text)
-            ELSE NULL::text
-        END) AS mon_start1,
-    max(
-        CASE
-            WHEN (stw2.isodow = (1)::double precision) THEN to_char((stw2.timeend1)::interval, 'HH24:MI'::text)
-            ELSE NULL::text
-        END) AS mon_end1,
-    max(
-        CASE
-            WHEN (stw2.isodow = (1)::double precision) THEN to_char((stw2.timestart2)::interval, 'HH24:MI'::text)
-            ELSE NULL::text
-        END) AS mon_start2,
-    max(
-        CASE
-            WHEN (stw2.isodow = (1)::double precision) THEN to_char((stw2.timeend2)::interval, 'HH24:MI'::text)
-            ELSE NULL::text
-        END) AS mon_end2,
-    max(
-        CASE
-            WHEN (stw2.isodow = (1)::double precision) THEN to_char((stw2.timepause)::interval, 'HH24:MI'::text)
-            ELSE NULL::text
-        END) AS mon_pause,
-    to_char(max(
-        CASE
-            WHEN (stw2.isodow = (1)::double precision) THEN ((stw2.time1 + stw2.time2) - (stw2.timepause)::interval)
-            ELSE NULL::interval
-        END), 'HH24:MI'::text) AS mon_timetotal,
-    max(
-        CASE
-            WHEN (stw2.isodow = (2)::double precision) THEN stw2.id
-            ELSE NULL::bigint
-        END) AS tue_id,
-    max(
-        CASE
-            WHEN (stw2.isodow = (2)::double precision) THEN to_char((stw2.timestart1)::interval, 'HH24:MI'::text)
-            ELSE NULL::text
-        END) AS tue_start1,
-    max(
-        CASE
-            WHEN (stw2.isodow = (2)::double precision) THEN to_char((stw2.timeend1)::interval, 'HH24:MI'::text)
-            ELSE NULL::text
-        END) AS tue_end1,
-    max(
-        CASE
-            WHEN (stw2.isodow = (2)::double precision) THEN to_char((stw2.timestart2)::interval, 'HH24:MI'::text)
-            ELSE NULL::text
-        END) AS tue_start2,
-    max(
-        CASE
-            WHEN (stw2.isodow = (2)::double precision) THEN to_char((stw2.timeend2)::interval, 'HH24:MI'::text)
-            ELSE NULL::text
-        END) AS tue_end2,
-    max(
-        CASE
-            WHEN (stw2.isodow = (2)::double precision) THEN to_char((stw2.timepause)::interval, 'HH24:MI'::text)
-            ELSE NULL::text
-        END) AS tue_pause,
-    to_char(max(
-        CASE
-            WHEN (stw2.isodow = (2)::double precision) THEN ((stw2.time1 + stw2.time2) - (stw2.timepause)::interval)
-            ELSE NULL::interval
-        END), 'HH24:MI'::text) AS tue_timetotal,
-    max(
-        CASE
-            WHEN (stw2.isodow = (3)::double precision) THEN stw2.id
-            ELSE NULL::bigint
-        END) AS wed_id,
-    max(
-        CASE
-            WHEN (stw2.isodow = (3)::double precision) THEN to_char((stw2.timestart1)::interval, 'HH24:MI'::text)
-            ELSE NULL::text
-        END) AS wed_start1,
-    max(
-        CASE
-            WHEN (stw2.isodow = (3)::double precision) THEN to_char((stw2.timeend1)::interval, 'HH24:MI'::text)
-            ELSE NULL::text
-        END) AS wed_end1,
-    max(
-        CASE
-            WHEN (stw2.isodow = (3)::double precision) THEN to_char((stw2.timestart2)::interval, 'HH24:MI'::text)
-            ELSE NULL::text
-        END) AS wed_start2,
-    max(
-        CASE
-            WHEN (stw2.isodow = (3)::double precision) THEN to_char((stw2.timeend2)::interval, 'HH24:MI'::text)
-            ELSE NULL::text
-        END) AS wed_end2,
-    max(
-        CASE
-            WHEN (stw2.isodow = (3)::double precision) THEN to_char((stw2.timepause)::interval, 'HH24:MI'::text)
-            ELSE NULL::text
-        END) AS wed_pause,
-    to_char(max(
-        CASE
-            WHEN (stw2.isodow = (3)::double precision) THEN ((stw2.time1 + stw2.time2) - (stw2.timepause)::interval)
-            ELSE NULL::interval
-        END), 'HH24:MI'::text) AS wed_timetotal,
-    max(
-        CASE
-            WHEN (stw2.isodow = (4)::double precision) THEN stw2.id
-            ELSE NULL::bigint
-        END) AS thu_id,
-    max(
-        CASE
-            WHEN (stw2.isodow = (4)::double precision) THEN to_char((stw2.timestart1)::interval, 'HH24:MI'::text)
-            ELSE NULL::text
-        END) AS thu_start1,
-    max(
-        CASE
-            WHEN (stw2.isodow = (4)::double precision) THEN to_char((stw2.timeend1)::interval, 'HH24:MI'::text)
-            ELSE NULL::text
-        END) AS thu_end1,
-    max(
-        CASE
-            WHEN (stw2.isodow = (4)::double precision) THEN to_char((stw2.timestart2)::interval, 'HH24:MI'::text)
-            ELSE NULL::text
-        END) AS thu_start2,
-    max(
-        CASE
-            WHEN (stw2.isodow = (4)::double precision) THEN to_char((stw2.timeend2)::interval, 'HH24:MI'::text)
-            ELSE NULL::text
-        END) AS thu_end2,
-    max(
-        CASE
-            WHEN (stw2.isodow = (4)::double precision) THEN to_char((stw2.timepause)::interval, 'HH24:MI'::text)
-            ELSE NULL::text
-        END) AS thu_pause,
-    to_char(max(
-        CASE
-            WHEN (stw2.isodow = (4)::double precision) THEN ((stw2.time1 + stw2.time2) - (stw2.timepause)::interval)
-            ELSE NULL::interval
-        END), 'HH24:MI'::text) AS thu_timetotal,
-    max(
-        CASE
-            WHEN (stw2.isodow = (5)::double precision) THEN stw2.id
-            ELSE NULL::bigint
-        END) AS fri_id,
-    max(
-        CASE
-            WHEN (stw2.isodow = (5)::double precision) THEN to_char((stw2.timestart1)::interval, 'HH24:MI'::text)
-            ELSE NULL::text
-        END) AS fri_start1,
-    max(
-        CASE
-            WHEN (stw2.isodow = (5)::double precision) THEN to_char((stw2.timeend1)::interval, 'HH24:MI'::text)
-            ELSE NULL::text
-        END) AS fri_end1,
-    max(
-        CASE
-            WHEN (stw2.isodow = (5)::double precision) THEN to_char((stw2.timestart2)::interval, 'HH24:MI'::text)
-            ELSE NULL::text
-        END) AS fri_start2,
-    max(
-        CASE
-            WHEN (stw2.isodow = (5)::double precision) THEN to_char((stw2.timeend2)::interval, 'HH24:MI'::text)
-            ELSE NULL::text
-        END) AS fri_end2,
-    max(
-        CASE
-            WHEN (stw2.isodow = (5)::double precision) THEN to_char((stw2.timepause)::interval, 'HH24:MI'::text)
-            ELSE NULL::text
-        END) AS fri_pause,
-    to_char(max(
-        CASE
-            WHEN (stw2.isodow = (5)::double precision) THEN ((stw2.time1 + stw2.time2) - (stw2.timepause)::interval)
-            ELSE NULL::interval
-        END), 'HH24:MI'::text) AS fri_timetotal,
-    max(
-        CASE
-            WHEN (stw2.isodow = (6)::double precision) THEN stw2.id
-            ELSE NULL::bigint
-        END) AS sat_id,
-    max(
-        CASE
-            WHEN (stw2.isodow = (6)::double precision) THEN to_char((stw2.timestart1)::interval, 'HH24:MI'::text)
-            ELSE NULL::text
-        END) AS sat_start1,
-    max(
-        CASE
-            WHEN (stw2.isodow = (6)::double precision) THEN to_char((stw2.timeend1)::interval, 'HH24:MI'::text)
-            ELSE NULL::text
-        END) AS sat_end1,
-    max(
-        CASE
-            WHEN (stw2.isodow = (6)::double precision) THEN to_char((stw2.timestart2)::interval, 'HH24:MI'::text)
-            ELSE NULL::text
-        END) AS sat_start2,
-    max(
-        CASE
-            WHEN (stw2.isodow = (6)::double precision) THEN to_char((stw2.timeend2)::interval, 'HH24:MI'::text)
-            ELSE NULL::text
-        END) AS sat_end2,
-    max(
-        CASE
-            WHEN (stw2.isodow = (6)::double precision) THEN to_char((stw2.timepause)::interval, 'HH24:MI'::text)
-            ELSE NULL::text
-        END) AS sat_pause,
-    to_char(max(
-        CASE
-            WHEN (stw2.isodow = (6)::double precision) THEN ((stw2.time1 + stw2.time2) - (stw2.timepause)::interval)
-            ELSE NULL::interval
-        END), 'HH24:MI'::text) AS sat_timetotal,
-    max(
-        CASE
-            WHEN (stw2.isodow = (7)::double precision) THEN stw2.id
-            ELSE NULL::bigint
-        END) AS sun_id,
-    max(
-        CASE
-            WHEN (stw2.isodow = (7)::double precision) THEN to_char((stw2.timestart1)::interval, 'HH24:MI'::text)
-            ELSE NULL::text
-        END) AS sun_start1,
-    max(
-        CASE
-            WHEN (stw2.isodow = (7)::double precision) THEN to_char((stw2.timeend1)::interval, 'HH24:MI'::text)
-            ELSE NULL::text
-        END) AS sun_end1,
-    max(
-        CASE
-            WHEN (stw2.isodow = (7)::double precision) THEN to_char((stw2.timestart2)::interval, 'HH24:MI'::text)
-            ELSE NULL::text
-        END) AS sun_start2,
-    max(
-        CASE
-            WHEN (stw2.isodow = (7)::double precision) THEN to_char((stw2.timeend2)::interval, 'HH24:MI'::text)
-            ELSE NULL::text
-        END) AS sun_end2,
-    max(
-        CASE
-            WHEN (stw2.isodow = (7)::double precision) THEN to_char((stw2.timepause)::interval, 'HH24:MI'::text)
-            ELSE NULL::text
-        END) AS sun_pause,
-    to_char(max(
-        CASE
-            WHEN (stw2.isodow = (7)::double precision) THEN ((stw2.time1 + stw2.time2) - (stw2.timepause)::interval)
-            ELSE NULL::interval
-        END), 'HH24:MI'::text) AS sun_timetotal,
-    to_char(sum(((stw2.time1 + stw2.time2) - (stw2.timepause)::interval)), 'HH24:MI'::text) AS week_timetotal
-   FROM ( SELECT staffworkplan.daydate,
-            date_part('week'::text, staffworkplan.daydate) AS calweek,
-            (date_trunc('week'::text, (staffworkplan.daydate)::timestamp with time zone))::date AS caldate,
-            date_part('isodow'::text, staffworkplan.daydate) AS isodow,
-            staffworkplan.id,
-            staffworkplan.id_staff,
-            staffworkplan.timestart1,
-            staffworkplan.timeend1,
-                CASE
-                    WHEN (staffworkplan.timestart1 > staffworkplan.timeend1) THEN ('24:00:00'::time without time zone - ((staffworkplan.timestart1 - staffworkplan.timeend1))::time without time zone)
-                    ELSE (staffworkplan.timeend1 - staffworkplan.timestart1)
-                END AS time1,
-            staffworkplan.timestart2,
-            staffworkplan.timeend2,
-                CASE
-                    WHEN (staffworkplan.timestart2 > staffworkplan.timeend2) THEN ('24:00:00'::time without time zone - ((staffworkplan.timestart2 - staffworkplan.timeend2))::time without time zone)
-                    ELSE (staffworkplan.timeend2 - staffworkplan.timestart2)
-                END AS time2,
-            staffworkplan.timepause
-           FROM %%NEWSCHEMA%%.staffworkplan) stw2
-  GROUP BY stw2.calweek, stw2.caldate, stw2.id_staff;
-
-CREATE VIEW %%NEWSCHEMA%%.vw_staffworkplan_weekly AS
- SELECT stw2.calweek,
-    to_char((stw2.caldate)::timestamp with time zone, 'YYYY'::text) AS calyear,
-    stw2.caldate AS weekbegin,
-    public.getdateslist(stw2.caldate, 7) AS dates,
-    stw2.id_staff,
-    max(
-        CASE
-            WHEN (stw2.isodow = (1)::double precision) THEN stw2.id
-            ELSE NULL::bigint
-        END) AS mon_id,
-    max(
-        CASE
-            WHEN (stw2.isodow = (1)::double precision) THEN to_char((stw2.timestart1)::interval, 'HH24:MI'::text)
-            ELSE NULL::text
-        END) AS mon_start1,
-    max(
-        CASE
-            WHEN (stw2.isodow = (1)::double precision) THEN to_char((stw2.timeend1)::interval, 'HH24:MI'::text)
-            ELSE NULL::text
-        END) AS mon_end1,
-    max(
-        CASE
-            WHEN (stw2.isodow = (1)::double precision) THEN to_char((stw2.timestart2)::interval, 'HH24:MI'::text)
-            ELSE NULL::text
-        END) AS mon_start2,
-    max(
-        CASE
-            WHEN (stw2.isodow = (1)::double precision) THEN to_char((stw2.timeend2)::interval, 'HH24:MI'::text)
-            ELSE NULL::text
-        END) AS mon_end2,
-    max(
-        CASE
-            WHEN (stw2.isodow = (1)::double precision) THEN to_char((stw2.timepause)::interval, 'HH24:MI'::text)
-            ELSE NULL::text
-        END) AS mon_pause,
-    max(
-        CASE
-            WHEN (stw2.isodow = (1)::double precision) THEN to_char((stw2.vacancyhours)::interval, 'HH24:MI'::text)
-            ELSE NULL::text
-        END) AS mon_vacancyhours,
-    max(
-        CASE
-            WHEN (stw2.isodow = (1)::double precision) THEN stw2.vacancytype
-            ELSE NULL::text
-        END) AS mon_vacancytype,
-    to_char(max(
-        CASE
-            WHEN (stw2.isodow = (1)::double precision) THEN ((stw2.time1 + stw2.time2) - (stw2.timepause)::interval)
-            ELSE NULL::interval
-        END), 'HH24:MI'::text) AS mon_timetotal,
-    max(
-        CASE
-            WHEN (stw2.isodow = (2)::double precision) THEN stw2.id
-            ELSE NULL::bigint
-        END) AS tue_id,
-    max(
-        CASE
-            WHEN (stw2.isodow = (2)::double precision) THEN to_char((stw2.timestart1)::interval, 'HH24:MI'::text)
-            ELSE NULL::text
-        END) AS tue_start1,
-    max(
-        CASE
-            WHEN (stw2.isodow = (2)::double precision) THEN to_char((stw2.timeend1)::interval, 'HH24:MI'::text)
-            ELSE NULL::text
-        END) AS tue_end1,
-    max(
-        CASE
-            WHEN (stw2.isodow = (2)::double precision) THEN to_char((stw2.timestart2)::interval, 'HH24:MI'::text)
-            ELSE NULL::text
-        END) AS tue_start2,
-    max(
-        CASE
-            WHEN (stw2.isodow = (2)::double precision) THEN to_char((stw2.timeend2)::interval, 'HH24:MI'::text)
-            ELSE NULL::text
-        END) AS tue_end2,
-    max(
-        CASE
-            WHEN (stw2.isodow = (2)::double precision) THEN to_char((stw2.timepause)::interval, 'HH24:MI'::text)
-            ELSE NULL::text
-        END) AS tue_pause,
-    max(
-        CASE
-            WHEN (stw2.isodow = (2)::double precision) THEN to_char((stw2.vacancyhours)::interval, 'HH24:MI'::text)
-            ELSE NULL::text
-        END) AS tue_vacancyhours,
-    max(
-        CASE
-            WHEN (stw2.isodow = (2)::double precision) THEN stw2.vacancytype
-            ELSE NULL::text
-        END) AS tue_vacancytype,
-    to_char(max(
-        CASE
-            WHEN (stw2.isodow = (2)::double precision) THEN ((stw2.time1 + stw2.time2) - (stw2.timepause)::interval)
-            ELSE NULL::interval
-        END), 'HH24:MI'::text) AS tue_timetotal,
-    max(
-        CASE
-            WHEN (stw2.isodow = (3)::double precision) THEN stw2.id
-            ELSE NULL::bigint
-        END) AS wed_id,
-    max(
-        CASE
-            WHEN (stw2.isodow = (3)::double precision) THEN to_char((stw2.timestart1)::interval, 'HH24:MI'::text)
-            ELSE NULL::text
-        END) AS wed_start1,
-    max(
-        CASE
-            WHEN (stw2.isodow = (3)::double precision) THEN to_char((stw2.timeend1)::interval, 'HH24:MI'::text)
-            ELSE NULL::text
-        END) AS wed_end1,
-    max(
-        CASE
-            WHEN (stw2.isodow = (3)::double precision) THEN to_char((stw2.timestart2)::interval, 'HH24:MI'::text)
-            ELSE NULL::text
-        END) AS wed_start2,
-    max(
-        CASE
-            WHEN (stw2.isodow = (3)::double precision) THEN to_char((stw2.timeend2)::interval, 'HH24:MI'::text)
-            ELSE NULL::text
-        END) AS wed_end2,
-    max(
-        CASE
-            WHEN (stw2.isodow = (3)::double precision) THEN to_char((stw2.timepause)::interval, 'HH24:MI'::text)
-            ELSE NULL::text
-        END) AS wed_pause,
-    max(
-        CASE
-            WHEN (stw2.isodow = (3)::double precision) THEN to_char((stw2.vacancyhours)::interval, 'HH24:MI'::text)
-            ELSE NULL::text
-        END) AS wed_vacancyhours,
-    max(
-        CASE
-            WHEN (stw2.isodow = (3)::double precision) THEN stw2.vacancytype
-            ELSE NULL::text
-        END) AS wed_vacancytype,
-    to_char(max(
-        CASE
-            WHEN (stw2.isodow = (3)::double precision) THEN ((stw2.time1 + stw2.time2) - (stw2.timepause)::interval)
-            ELSE NULL::interval
-        END), 'HH24:MI'::text) AS wed_timetotal,
-    max(
-        CASE
-            WHEN (stw2.isodow = (4)::double precision) THEN stw2.id
-            ELSE NULL::bigint
-        END) AS thu_id,
-    max(
-        CASE
-            WHEN (stw2.isodow = (4)::double precision) THEN to_char((stw2.timestart1)::interval, 'HH24:MI'::text)
-            ELSE NULL::text
-        END) AS thu_start1,
-    max(
-        CASE
-            WHEN (stw2.isodow = (4)::double precision) THEN to_char((stw2.timeend1)::interval, 'HH24:MI'::text)
-            ELSE NULL::text
-        END) AS thu_end1,
-    max(
-        CASE
-            WHEN (stw2.isodow = (4)::double precision) THEN to_char((stw2.timestart2)::interval, 'HH24:MI'::text)
-            ELSE NULL::text
-        END) AS thu_start2,
-    max(
-        CASE
-            WHEN (stw2.isodow = (4)::double precision) THEN to_char((stw2.timeend2)::interval, 'HH24:MI'::text)
-            ELSE NULL::text
-        END) AS thu_end2,
-    max(
-        CASE
-            WHEN (stw2.isodow = (4)::double precision) THEN to_char((stw2.timepause)::interval, 'HH24:MI'::text)
-            ELSE NULL::text
-        END) AS thu_pause,
-    max(
-        CASE
-            WHEN (stw2.isodow = (4)::double precision) THEN to_char((stw2.vacancyhours)::interval, 'HH24:MI'::text)
-            ELSE NULL::text
-        END) AS thu_vacancyhours,
-    max(
-        CASE
-            WHEN (stw2.isodow = (4)::double precision) THEN stw2.vacancytype
-            ELSE NULL::text
-        END) AS thu_vacancytype,
-    to_char(max(
-        CASE
-            WHEN (stw2.isodow = (4)::double precision) THEN ((stw2.time1 + stw2.time2) - (stw2.timepause)::interval)
-            ELSE NULL::interval
-        END), 'HH24:MI'::text) AS thu_timetotal,
-    max(
-        CASE
-            WHEN (stw2.isodow = (5)::double precision) THEN stw2.id
-            ELSE NULL::bigint
-        END) AS fri_id,
-    max(
-        CASE
-            WHEN (stw2.isodow = (5)::double precision) THEN to_char((stw2.timestart1)::interval, 'HH24:MI'::text)
-            ELSE NULL::text
-        END) AS fri_start1,
-    max(
-        CASE
-            WHEN (stw2.isodow = (5)::double precision) THEN to_char((stw2.timeend1)::interval, 'HH24:MI'::text)
-            ELSE NULL::text
-        END) AS fri_end1,
-    max(
-        CASE
-            WHEN (stw2.isodow = (5)::double precision) THEN to_char((stw2.timestart2)::interval, 'HH24:MI'::text)
-            ELSE NULL::text
-        END) AS fri_start2,
-    max(
-        CASE
-            WHEN (stw2.isodow = (5)::double precision) THEN to_char((stw2.timeend2)::interval, 'HH24:MI'::text)
-            ELSE NULL::text
-        END) AS fri_end2,
-    max(
-        CASE
-            WHEN (stw2.isodow = (5)::double precision) THEN to_char((stw2.timepause)::interval, 'HH24:MI'::text)
-            ELSE NULL::text
-        END) AS fri_pause,
-    max(
-        CASE
-            WHEN (stw2.isodow = (5)::double precision) THEN to_char((stw2.vacancyhours)::interval, 'HH24:MI'::text)
-            ELSE NULL::text
-        END) AS fri_vacancyhours,
-    max(
-        CASE
-            WHEN (stw2.isodow = (5)::double precision) THEN stw2.vacancytype
-            ELSE NULL::text
-        END) AS fri_vacancytype,
-    to_char(max(
-        CASE
-            WHEN (stw2.isodow = (5)::double precision) THEN ((stw2.time1 + stw2.time2) - (stw2.timepause)::interval)
-            ELSE NULL::interval
-        END), 'HH24:MI'::text) AS fri_timetotal,
-    max(
-        CASE
-            WHEN (stw2.isodow = (6)::double precision) THEN stw2.id
-            ELSE NULL::bigint
-        END) AS sat_id,
-    max(
-        CASE
-            WHEN (stw2.isodow = (6)::double precision) THEN to_char((stw2.timestart1)::interval, 'HH24:MI'::text)
-            ELSE NULL::text
-        END) AS sat_start1,
-    max(
-        CASE
-            WHEN (stw2.isodow = (6)::double precision) THEN to_char((stw2.timeend1)::interval, 'HH24:MI'::text)
-            ELSE NULL::text
-        END) AS sat_end1,
-    max(
-        CASE
-            WHEN (stw2.isodow = (6)::double precision) THEN to_char((stw2.timestart2)::interval, 'HH24:MI'::text)
-            ELSE NULL::text
-        END) AS sat_start2,
-    max(
-        CASE
-            WHEN (stw2.isodow = (6)::double precision) THEN to_char((stw2.timeend2)::interval, 'HH24:MI'::text)
-            ELSE NULL::text
-        END) AS sat_end2,
-    max(
-        CASE
-            WHEN (stw2.isodow = (6)::double precision) THEN to_char((stw2.timepause)::interval, 'HH24:MI'::text)
-            ELSE NULL::text
-        END) AS sat_pause,
-    max(
-        CASE
-            WHEN (stw2.isodow = (6)::double precision) THEN to_char((stw2.vacancyhours)::interval, 'HH24:MI'::text)
-            ELSE NULL::text
-        END) AS sat_vacancyhours,
-    max(
-        CASE
-            WHEN (stw2.isodow = (6)::double precision) THEN stw2.vacancytype
-            ELSE NULL::text
-        END) AS sat_vacancytype,
-    to_char(max(
-        CASE
-            WHEN (stw2.isodow = (6)::double precision) THEN ((stw2.time1 + stw2.time2) - (stw2.timepause)::interval)
-            ELSE NULL::interval
-        END), 'HH24:MI'::text) AS sat_timetotal,
-    max(
-        CASE
-            WHEN (stw2.isodow = (7)::double precision) THEN stw2.id
-            ELSE NULL::bigint
-        END) AS sun_id,
-    max(
-        CASE
-            WHEN (stw2.isodow = (7)::double precision) THEN to_char((stw2.timestart1)::interval, 'HH24:MI'::text)
-            ELSE NULL::text
-        END) AS sun_start1,
-    max(
-        CASE
-            WHEN (stw2.isodow = (7)::double precision) THEN to_char((stw2.timeend1)::interval, 'HH24:MI'::text)
-            ELSE NULL::text
-        END) AS sun_end1,
-    max(
-        CASE
-            WHEN (stw2.isodow = (7)::double precision) THEN to_char((stw2.timestart2)::interval, 'HH24:MI'::text)
-            ELSE NULL::text
-        END) AS sun_start2,
-    max(
-        CASE
-            WHEN (stw2.isodow = (7)::double precision) THEN to_char((stw2.timeend2)::interval, 'HH24:MI'::text)
-            ELSE NULL::text
-        END) AS sun_end2,
-    max(
-        CASE
-            WHEN (stw2.isodow = (7)::double precision) THEN to_char((stw2.timepause)::interval, 'HH24:MI'::text)
-            ELSE NULL::text
-        END) AS sun_pause,
-    max(
-        CASE
-            WHEN (stw2.isodow = (7)::double precision) THEN to_char((stw2.vacancyhours)::interval, 'HH24:MI'::text)
-            ELSE NULL::text
-        END) AS sun_vacancyhours,
-    max(
-        CASE
-            WHEN (stw2.isodow = (7)::double precision) THEN stw2.vacancytype
-            ELSE NULL::text
-        END) AS sun_vacancytype,
-    to_char(max(
-        CASE
-            WHEN (stw2.isodow = (7)::double precision) THEN ((stw2.time1 + stw2.time2) - (stw2.timepause)::interval)
-            ELSE NULL::interval
-        END), 'HH24:MI'::text) AS sun_timetotal,
-    to_char(sum(((stw2.time1 + stw2.time2) - (stw2.timepause)::interval)), 'HH24:MI'::text) AS week_timetotal
-   FROM ( SELECT staffworkplan.daydate,
-            date_part('week'::text, staffworkplan.daydate) AS calweek,
-            (date_trunc('week'::text, (staffworkplan.daydate)::timestamp with time zone))::date AS caldate,
-            date_part('isodow'::text, staffworkplan.daydate) AS isodow,
-            staffworkplan.id,
-            staffworkplan.id_staff,
-            staffworkplan.timestart1,
-            staffworkplan.timeend1,
-            staffworkplan.vacancyhours,
-            staffworkplan.vacancytype,
-                CASE
-                    WHEN (staffworkplan.timestart1 > staffworkplan.timeend1) THEN ('24:00:00'::time without time zone - ((staffworkplan.timestart1 - staffworkplan.timeend1))::time without time zone)
-                    ELSE (staffworkplan.timeend1 - staffworkplan.timestart1)
-                END AS time1,
-            staffworkplan.timestart2,
-            staffworkplan.timeend2,
-                CASE
-                    WHEN (staffworkplan.timestart2 > staffworkplan.timeend2) THEN ('24:00:00'::time without time zone - ((staffworkplan.timestart2 - staffworkplan.timeend2))::time without time zone)
-                    ELSE (staffworkplan.timeend2 - staffworkplan.timestart2)
-                END AS time2,
-            staffworkplan.timepause
-           FROM %%NEWSCHEMA%%.staffworkplan) stw2
-  GROUP BY stw2.calweek, stw2.caldate, stw2.id_staff;
-
-CREATE VIEW %%NEWSCHEMA%%.vw_staffworkplanlist AS
- SELECT st.id AS id_staff,
-    ((st.surname || ' '::text) || st.prename) AS staffname,
-    (((((('Semaine '::text || sp_dwt.calweek) || '<br/>('::text) || to_char((sp_dwt.weekbegin)::timestamp with time zone, 'DD.MM.YYYY'::text)) || ' - '::text) || to_char((date((sp_dwt.weekbegin + '7 days'::interval)))::timestamp with time zone, 'DD.MM.YYYY'::text)) || ')'::text) AS calweek,
-    sp_dwt.week_timetotal,
-    sp_dwt.weekbegin AS weekstart,
-    date((sp_dwt.weekbegin + '7 days'::interval)) AS weekend,
-    to_char(((((((
-        CASE
-            WHEN (sp_dwt.mon_vacancytype = 'ill'::text) THEN COALESCE((sp_dwt.mon_vacancyhours)::interval, '00:00:00'::interval)
-            ELSE '00:00:00'::interval
-        END +
-        CASE
-            WHEN (sp_dwt.tue_vacancytype = 'ill'::text) THEN COALESCE((sp_dwt.tue_vacancyhours)::interval, '00:00:00'::interval)
-            ELSE '00:00:00'::interval
-        END) +
-        CASE
-            WHEN (sp_dwt.wed_vacancytype = 'ill'::text) THEN COALESCE((sp_dwt.wed_vacancyhours)::interval, '00:00:00'::interval)
-            ELSE '00:00:00'::interval
-        END) +
-        CASE
-            WHEN (sp_dwt.thu_vacancytype = 'ill'::text) THEN COALESCE((sp_dwt.thu_vacancyhours)::interval, '00:00:00'::interval)
-            ELSE '00:00:00'::interval
-        END) +
-        CASE
-            WHEN (sp_dwt.fri_vacancytype = 'ill'::text) THEN COALESCE((sp_dwt.fri_vacancyhours)::interval, '00:00:00'::interval)
-            ELSE '00:00:00'::interval
-        END) +
-        CASE
-            WHEN (sp_dwt.sat_vacancytype = 'ill'::text) THEN COALESCE((sp_dwt.sat_vacancyhours)::interval, '00:00:00'::interval)
-            ELSE '00:00:00'::interval
-        END) +
-        CASE
-            WHEN (sp_dwt.sun_vacancytype = 'ill'::text) THEN COALESCE((sp_dwt.sun_vacancyhours)::interval, '00:00:00'::interval)
-            ELSE '00:00:00'::interval
-        END), 'HH24:MI'::text) AS weekvacancy_times_ill,
-    to_char(((((((
-        CASE
-            WHEN (sp_dwt.mon_vacancytype <> 'ill'::text) THEN COALESCE((sp_dwt.mon_vacancyhours)::interval, '00:00:00'::interval)
-            ELSE '00:00:00'::interval
-        END +
-        CASE
-            WHEN (sp_dwt.tue_vacancytype <> 'ill'::text) THEN COALESCE((sp_dwt.tue_vacancyhours)::interval, '00:00:00'::interval)
-            ELSE '00:00:00'::interval
-        END) +
-        CASE
-            WHEN (sp_dwt.wed_vacancytype <> 'ill'::text) THEN COALESCE((sp_dwt.wed_vacancyhours)::interval, '00:00:00'::interval)
-            ELSE '00:00:00'::interval
-        END) +
-        CASE
-            WHEN (sp_dwt.thu_vacancytype <> 'ill'::text) THEN COALESCE((sp_dwt.thu_vacancyhours)::interval, '00:00:00'::interval)
-            ELSE '00:00:00'::interval
-        END) +
-        CASE
-            WHEN (sp_dwt.fri_vacancytype <> 'ill'::text) THEN COALESCE((sp_dwt.fri_vacancyhours)::interval, '00:00:00'::interval)
-            ELSE '00:00:00'::interval
-        END) +
-        CASE
-            WHEN (sp_dwt.sat_vacancytype <> 'ill'::text) THEN COALESCE((sp_dwt.sat_vacancyhours)::interval, '00:00:00'::interval)
-            ELSE '00:00:00'::interval
-        END) +
-        CASE
-            WHEN (sp_dwt.sun_vacancytype <> 'ill'::text) THEN COALESCE((sp_dwt.sun_vacancyhours)::interval, '00:00:00'::interval)
-            ELSE '00:00:00'::interval
-        END), 'HH24:MI'::text) AS weekvacancy_times,
-    ((((((
-        CASE
-            WHEN (sp_dwt.mon_vacancytype = 'ill'::text) THEN COALESCE(((to_number("left"(sp_dwt.mon_vacancyhours, 2), '99'::text) * (60)::numeric) + to_number("right"(sp_dwt.mon_vacancyhours, 2), '99'::text)), (0)::numeric)
-            ELSE (0)::numeric
-        END +
-        CASE
-            WHEN (sp_dwt.tue_vacancytype = 'ill'::text) THEN COALESCE(((to_number("left"(sp_dwt.tue_vacancyhours, 2), '99'::text) * (60)::numeric) + to_number("right"(sp_dwt.tue_vacancyhours, 2), '99'::text)), (0)::numeric)
-            ELSE (0)::numeric
-        END) +
-        CASE
-            WHEN (sp_dwt.wed_vacancytype = 'ill'::text) THEN COALESCE(((to_number("left"(sp_dwt.wed_vacancyhours, 2), '99'::text) * (60)::numeric) + to_number("right"(sp_dwt.wed_vacancyhours, 2), '99'::text)), (0)::numeric)
-            ELSE (0)::numeric
-        END) +
-        CASE
-            WHEN (sp_dwt.thu_vacancytype = 'ill'::text) THEN COALESCE(((to_number("left"(sp_dwt.thu_vacancyhours, 2), '99'::text) * (60)::numeric) + to_number("right"(sp_dwt.thu_vacancyhours, 2), '99'::text)), (0)::numeric)
-            ELSE (0)::numeric
-        END) +
-        CASE
-            WHEN (sp_dwt.fri_vacancytype = 'ill'::text) THEN COALESCE(((to_number("left"(sp_dwt.fri_vacancyhours, 2), '99'::text) * (60)::numeric) + to_number("right"(sp_dwt.fri_vacancyhours, 2), '99'::text)), (0)::numeric)
-            ELSE (0)::numeric
-        END) +
-        CASE
-            WHEN (sp_dwt.sat_vacancytype = 'ill'::text) THEN COALESCE(((to_number("left"(sp_dwt.sat_vacancyhours, 2), '99'::text) * (60)::numeric) + to_number("right"(sp_dwt.sat_vacancyhours, 2), '99'::text)), (0)::numeric)
-            ELSE (0)::numeric
-        END) +
-        CASE
-            WHEN (sp_dwt.sun_vacancytype = 'ill'::text) THEN COALESCE(((to_number("left"(sp_dwt.sun_vacancyhours, 2), '99'::text) * (60)::numeric) + to_number("right"(sp_dwt.sun_vacancyhours, 2), '99'::text)), (0)::numeric)
-            ELSE (0)::numeric
-        END) AS weekvacancy_minutes_ill,
-    ((((((
-        CASE
-            WHEN (sp_dwt.mon_vacancytype <> 'ill'::text) THEN COALESCE(((to_number("left"(sp_dwt.mon_vacancyhours, 2), '99'::text) * (60)::numeric) + to_number("right"(sp_dwt.mon_vacancyhours, 2), '99'::text)), (0)::numeric)
-            ELSE (0)::numeric
-        END +
-        CASE
-            WHEN (sp_dwt.tue_vacancytype <> 'ill'::text) THEN COALESCE(((to_number("left"(sp_dwt.tue_vacancyhours, 2), '99'::text) * (60)::numeric) + to_number("right"(sp_dwt.tue_vacancyhours, 2), '99'::text)), (0)::numeric)
-            ELSE (0)::numeric
-        END) +
-        CASE
-            WHEN (sp_dwt.wed_vacancytype <> 'ill'::text) THEN COALESCE(((to_number("left"(sp_dwt.wed_vacancyhours, 2), '99'::text) * (60)::numeric) + to_number("right"(sp_dwt.wed_vacancyhours, 2), '99'::text)), (0)::numeric)
-            ELSE (0)::numeric
-        END) +
-        CASE
-            WHEN (sp_dwt.thu_vacancytype <> 'ill'::text) THEN COALESCE(((to_number("left"(sp_dwt.thu_vacancyhours, 2), '99'::text) * (60)::numeric) + to_number("right"(sp_dwt.thu_vacancyhours, 2), '99'::text)), (0)::numeric)
-            ELSE (0)::numeric
-        END) +
-        CASE
-            WHEN (sp_dwt.fri_vacancytype <> 'ill'::text) THEN COALESCE(((to_number("left"(sp_dwt.fri_vacancyhours, 2), '99'::text) * (60)::numeric) + to_number("right"(sp_dwt.fri_vacancyhours, 2), '99'::text)), (0)::numeric)
-            ELSE (0)::numeric
-        END) +
-        CASE
-            WHEN (sp_dwt.sat_vacancytype <> 'ill'::text) THEN COALESCE(((to_number("left"(sp_dwt.sat_vacancyhours, 2), '99'::text) * (60)::numeric) + to_number("right"(sp_dwt.sat_vacancyhours, 2), '99'::text)), (0)::numeric)
-            ELSE (0)::numeric
-        END) +
-        CASE
-            WHEN (sp_dwt.sun_vacancytype <> 'ill'::text) THEN COALESCE(((to_number("left"(sp_dwt.sun_vacancyhours, 2), '99'::text) * (60)::numeric) + to_number("right"(sp_dwt.sun_vacancyhours, 2), '99'::text)), (0)::numeric)
-            ELSE (0)::numeric
-        END) AS weekvacancy_minutes,
-    ((to_number("left"(sp_dwt.week_timetotal, 2), '99'::text) * (60)::numeric) + to_number("right"(sp_dwt.week_timetotal, 2), '99'::text)) AS weekminutes,
-    sp_dwt.mon_id,
-    sp_dwt.weekbegin AS mon_date,
-    ((COALESCE(((to_char((sp_dwt.mon_start1)::interval, 'HH24:MI'::text) || ' - '::text) || to_char((sp_dwt.mon_end1)::interval, 'HH24:MI'::text)), ''::text) || COALESCE(((('<br/>'::text || to_char((sp_dwt.mon_start2)::interval, 'HH24:MI'::text)) || ' - '::text) || to_char((sp_dwt.mon_end2)::interval, 'HH24:MI'::text)), ''::text)) || COALESCE(((('<br/>Congé '::text || sp_dwt.mon_vacancytype) || ': '::text) || to_char((sp_dwt.mon_vacancyhours)::interval, 'HH24:MI'::text)), ''::text)) AS dspmontimes,
-    sp_dwt.mon_timetotal,
-    sp_dwt.tue_id,
-    date((sp_dwt.weekbegin + '1 day'::interval)) AS tue_date,
-    ((COALESCE(((to_char((sp_dwt.tue_start1)::interval, 'HH24:MI'::text) || ' - '::text) || to_char((sp_dwt.tue_end1)::interval, 'HH24:MI'::text)), ''::text) || COALESCE(((('<br/>'::text || to_char((sp_dwt.tue_start2)::interval, 'HH24:MI'::text)) || ' - '::text) || to_char((sp_dwt.tue_end2)::interval, 'HH24:MI'::text)), ''::text)) || COALESCE(((('<br/>Congé '::text || sp_dwt.tue_vacancytype) || ': '::text) || to_char((sp_dwt.tue_vacancyhours)::interval, 'HH24:MI'::text)), ''::text)) AS dsptuetimes,
-    sp_dwt.tue_timetotal,
-    sp_dwt.wed_id,
-    date((sp_dwt.weekbegin + '2 days'::interval)) AS wed_date,
-    ((COALESCE(((to_char((sp_dwt.wed_start1)::interval, 'HH24:MI'::text) || ' - '::text) || to_char((sp_dwt.wed_end1)::interval, 'HH24:MI'::text)), ''::text) || COALESCE(((('<br/>'::text || to_char((sp_dwt.wed_start2)::interval, 'HH24:MI'::text)) || ' - '::text) || to_char((sp_dwt.wed_end2)::interval, 'HH24:MI'::text)), ''::text)) || COALESCE(((('<br/>Congé '::text || sp_dwt.wed_vacancytype) || ': '::text) || to_char((sp_dwt.wed_vacancyhours)::interval, 'HH24:MI'::text)), ''::text)) AS dspwedtimes,
-    sp_dwt.wed_timetotal,
-    sp_dwt.thu_id,
-    date((sp_dwt.weekbegin + '3 days'::interval)) AS thu_date,
-    ((COALESCE(((to_char((sp_dwt.thu_start1)::interval, 'HH24:MI'::text) || ' - '::text) || to_char((sp_dwt.thu_end1)::interval, 'HH24:MI'::text)), ''::text) || COALESCE(((('<br/>'::text || to_char((sp_dwt.thu_start2)::interval, 'HH24:MI'::text)) || ' - '::text) || to_char((sp_dwt.thu_end2)::interval, 'HH24:MI'::text)), ''::text)) || COALESCE(((('<br/>Congé '::text || sp_dwt.thu_vacancytype) || ': '::text) || to_char((sp_dwt.thu_vacancyhours)::interval, 'HH24:MI'::text)), ''::text)) AS dspthutimes,
-    sp_dwt.thu_timetotal,
-    sp_dwt.fri_id,
-    date((sp_dwt.weekbegin + '4 days'::interval)) AS fri_date,
-    ((COALESCE(((to_char((sp_dwt.fri_start1)::interval, 'HH24:MI'::text) || ' -'::text) || to_char((sp_dwt.fri_end1)::interval, 'HH24:MI'::text)), ''::text) || COALESCE(((('<br/>'::text || to_char((sp_dwt.fri_start2)::interval, 'HH24:MI'::text)) || ' - '::text) || to_char((sp_dwt.fri_end2)::interval, 'HH24:MI'::text)), ''::text)) || COALESCE(((('<br/>Congé '::text || sp_dwt.fri_vacancytype) || ': '::text) || to_char((sp_dwt.fri_vacancyhours)::interval, 'HH24:MI'::text)), ''::text)) AS dspfritimes,
-    sp_dwt.fri_timetotal,
-    sp_dwt.sat_id,
-    date((sp_dwt.weekbegin + '5 days'::interval)) AS sat_date,
-    ((COALESCE(((to_char((sp_dwt.sat_start1)::interval, 'HH24:MI'::text) || ' - '::text) || to_char((sp_dwt.sat_end1)::interval, 'HH24:MI'::text)), ''::text) || COALESCE(((('<br/>'::text || to_char((sp_dwt.sat_start2)::interval, 'HH24:MI'::text)) || ' - '::text) || to_char((sp_dwt.sat_end2)::interval, 'HH24:MI'::text)), ''::text)) || COALESCE(((('<br/>Congé '::text || sp_dwt.sat_vacancytype) || ': '::text) || to_char((sp_dwt.sat_vacancyhours)::interval, 'HH24:MI'::text)), ''::text)) AS dspsattimes,
-    sp_dwt.sat_timetotal,
-    sp_dwt.sun_id,
-    date((sp_dwt.weekbegin + '6 days'::interval)) AS sun_date,
-    ((COALESCE(((to_char((sp_dwt.sun_start1)::interval, 'HH24:MI'::text) || ' - '::text) || to_char((sp_dwt.sun_end1)::interval, 'HH24:MI'::text)), ''::text) || COALESCE(((('<br/>'::text || to_char((sp_dwt.sun_start2)::interval, 'HH24:MI'::text)) || ' - '::text) || to_char((sp_dwt.sun_end2)::interval, 'HH24:MI'::text)), ''::text)) || COALESCE(((('<br/>Congé '::text || sp_dwt.sun_vacancytype) || ': '::text) || to_char((sp_dwt.sun_vacancyhours)::interval, 'HH24:MI'::text)), ''::text)) AS dspsuntimes,
-    sp_dwt.sun_timetotal
-   FROM (%%NEWSCHEMA%%.vw_staffworkplan_weekly sp_dwt
-     LEFT JOIN %%NEWSCHEMA%%.staff st ON ((sp_dwt.id_staff = st.id)))
-  ORDER BY sp_dwt.calweek;
-
-CREATE TABLE %%NEWSCHEMA%%.workplans (
-    id integer NOT NULL,
-    workplan text,
-    mon_timestart1 time without time zone,
-    mon_timeend1 time without time zone,
-    mon_timestart2 time without time zone,
-    mon_timeend2 time without time zone,
-    mon_timepause time without time zone,
-    tue_timestart1 time without time zone,
-    tue_timeend1 time without time zone,
-    tue_timestart2 time without time zone,
-    tue_timeend2 time without time zone,
-    tue_timepause time without time zone,
-    wed_timestart1 time without time zone,
-    wed_timeend1 time without time zone,
-    wed_timestart2 time without time zone,
-    wed_timeend2 time without time zone,
-    wed_timepause time without time zone,
-    thu_timestart1 time without time zone,
-    thu_timeend1 time without time zone,
-    thu_timestart2 time without time zone,
-    thu_timeend2 time without time zone,
-    thu_timepause time without time zone,
-    fri_timestart1 time without time zone,
-    fri_timeend1 time without time zone,
-    fri_timestart2 time without time zone,
-    fri_timeend2 time without time zone,
-    fri_timepause time without time zone,
-    sat_timestart1 time without time zone,
-    sat_timeend1 time without time zone,
-    sat_timestart2 time without time zone,
-    sat_timeend2 time without time zone,
-    sat_timepause time without time zone,
-    sun_timestart1 time without time zone,
-    sun_timeend1 time without time zone,
-    sun_timestart2 time without time zone,
-    sun_timeend2 time without time zone,
-    sun_timepause time without time zone
-);
-
-CREATE VIEW %%NEWSCHEMA%%.vw_workplanlist AS
- SELECT workplans.id,
-    workplans.workplan
-   FROM %%NEWSCHEMA%%.workplans;
-
-CREATE VIEW %%NEWSCHEMA%%.vw_workplans AS
- SELECT workplans.id,
-    workplans.workplan,
-    ((COALESCE(((to_char((workplans.mon_timestart1)::interval, 'HH24:MI'::text) || ' - '::text) || to_char((workplans.mon_timeend1)::interval, 'HH24:MI'::text)), ''::text) || COALESCE(((('<br/>'::text || to_char((workplans.mon_timestart2)::interval, 'HH24:MI'::text)) || ' - '::text) || to_char((workplans.mon_timeend2)::interval, 'HH24:MI'::text)), ''::text)) || COALESCE((('<br/>'::text || 'Pause: '::text) || to_char((workplans.mon_timepause)::interval, 'HH24:MI'::text)), ''::text)) AS dspmontimes,
-    ((COALESCE(((to_char((workplans.tue_timestart1)::interval, 'HH24:MI'::text) || ' - '::text) || to_char((workplans.tue_timeend1)::interval, 'HH24:MI'::text)), ''::text) || COALESCE(((('<br/>'::text || to_char((workplans.tue_timestart2)::interval, 'HH24:MI'::text)) || ' - '::text) || to_char((workplans.tue_timeend2)::interval, 'HH24:MI'::text)), ''::text)) || COALESCE((('<br/>'::text || 'Pause: '::text) || to_char((workplans.tue_timepause)::interval, 'HH24:MI'::text)), ''::text)) AS dsptuetimes,
-    ((COALESCE(((to_char((workplans.wed_timestart1)::interval, 'HH24:MI'::text) || ' - '::text) || to_char((workplans.wed_timeend1)::interval, 'HH24:MI'::text)), ''::text) || COALESCE(((('<br/>'::text || to_char((workplans.wed_timestart2)::interval, 'HH24:MI'::text)) || ' - '::text) || to_char((workplans.wed_timeend2)::interval, 'HH24:MI'::text)), ''::text)) || COALESCE((('<br/>'::text || 'Pause: '::text) || to_char((workplans.wed_timepause)::interval, 'HH24:MI'::text)), ''::text)) AS dspwedtimes,
-    ((COALESCE(((to_char((workplans.thu_timestart1)::interval, 'HH24:MI'::text) || ' - '::text) || to_char((workplans.thu_timeend1)::interval, 'HH24:MI'::text)), ''::text) || COALESCE(((('<br/>'::text || to_char((workplans.thu_timestart2)::interval, 'HH24:MI'::text)) || ' - '::text) || to_char((workplans.thu_timeend2)::interval, 'HH24:MI'::text)), ''::text)) || COALESCE((('<br/>'::text || 'Pause: '::text) || to_char((workplans.thu_timepause)::interval, 'HH24:MI'::text)), ''::text)) AS dspthutimes,
-    ((COALESCE(((to_char((workplans.fri_timestart1)::interval, 'HH24:MI'::text) || ' -'::text) || to_char((workplans.fri_timeend1)::interval, 'HH24:MI'::text)), ''::text) || COALESCE(((('<br/>'::text || to_char((workplans.fri_timestart2)::interval, 'HH24:MI'::text)) || ' - '::text) || to_char((workplans.fri_timeend2)::interval, 'HH24:MI'::text)), ''::text)) || COALESCE((('<br/>'::text || 'Pause: '::text) || to_char((workplans.fri_timepause)::interval, 'HH24:MI'::text)), ''::text)) AS dspfritimes,
-    ((COALESCE(((to_char((workplans.sat_timestart1)::interval, 'HH24:MI'::text) || ' - '::text) || to_char((workplans.sat_timeend1)::interval, 'HH24:MI'::text)), ''::text) || COALESCE(((('<br/>'::text || to_char((workplans.sat_timestart2)::interval, 'HH24:MI'::text)) || ' - '::text) || to_char((workplans.sat_timeend2)::interval, 'HH24:MI'::text)), ''::text)) || COALESCE((('<br/>'::text || 'Pause: '::text) || to_char((workplans.sat_timepause)::interval, 'HH24:MI'::text)), ''::text)) AS dspsattimes,
-    ((COALESCE(((to_char((workplans.sun_timestart1)::interval, 'HH24:MI'::text) || ' - '::text) || to_char((workplans.sun_timeend1)::interval, 'HH24:MI'::text)), ''::text) || COALESCE(((('<br/>'::text || to_char((workplans.sun_timestart2)::interval, 'HH24:MI'::text)) || ' - '::text) || to_char((workplans.sun_timeend2)::interval, 'HH24:MI'::text)), ''::text)) || COALESCE((('<br/>'::text || 'Pause: '::text) || to_char((workplans.sun_timepause)::interval, 'HH24:MI'::text)), ''::text)) AS dspsuntimes
-   FROM %%NEWSCHEMA%%.workplans;
-
-CREATE VIEW %%NEWSCHEMA%%.vw_workplansdata AS
- SELECT workplans.id,
-    workplans.workplan,
-    to_char((workplans.mon_timestart1)::interval, 'HH24:MI'::text) AS mon_timestart1,
-    to_char((workplans.mon_timeend1)::interval, 'HH24:MI'::text) AS mon_timeend1,
-    to_char((workplans.mon_timestart2)::interval, 'HH24:MI'::text) AS mon_timestart2,
-    to_char((workplans.mon_timeend2)::interval, 'HH24:MI'::text) AS mon_timeend2,
-    to_char((workplans.mon_timepause)::interval, 'HH24:MI'::text) AS mon_timepause,
-    to_char((workplans.tue_timestart1)::interval, 'HH24:MI'::text) AS tue_timestart1,
-    to_char((workplans.tue_timeend1)::interval, 'HH24:MI'::text) AS tue_timeend1,
-    to_char((workplans.tue_timestart2)::interval, 'HH24:MI'::text) AS tue_timestart2,
-    to_char((workplans.tue_timeend2)::interval, 'HH24:MI'::text) AS tue_timeend2,
-    to_char((workplans.tue_timepause)::interval, 'HH24:MI'::text) AS tue_timepause,
-    to_char((workplans.wed_timestart1)::interval, 'HH24:MI'::text) AS wed_timestart1,
-    to_char((workplans.wed_timeend1)::interval, 'HH24:MI'::text) AS wed_timeend1,
-    to_char((workplans.wed_timestart2)::interval, 'HH24:MI'::text) AS wed_timestart2,
-    to_char((workplans.wed_timeend2)::interval, 'HH24:MI'::text) AS wed_timeend2,
-    to_char((workplans.wed_timepause)::interval, 'HH24:MI'::text) AS wed_timepause,
-    to_char((workplans.thu_timestart1)::interval, 'HH24:MI'::text) AS thu_timestart1,
-    to_char((workplans.thu_timeend1)::interval, 'HH24:MI'::text) AS thu_timeend1,
-    to_char((workplans.thu_timestart2)::interval, 'HH24:MI'::text) AS thu_timestart2,
-    to_char((workplans.thu_timeend2)::interval, 'HH24:MI'::text) AS thu_timeend2,
-    to_char((workplans.thu_timepause)::interval, 'HH24:MI'::text) AS thu_timepause,
-    to_char((workplans.fri_timestart1)::interval, 'HH24:MI'::text) AS fri_timestart1,
-    to_char((workplans.fri_timeend1)::interval, 'HH24:MI'::text) AS fri_timeend1,
-    to_char((workplans.fri_timestart2)::interval, 'HH24:MI'::text) AS fri_timestart2,
-    to_char((workplans.fri_timeend2)::interval, 'HH24:MI'::text) AS fri_timeend2,
-    to_char((workplans.fri_timepause)::interval, 'HH24:MI'::text) AS fri_timepause,
-    to_char((workplans.sat_timestart1)::interval, 'HH24:MI'::text) AS sat_timestart1,
-    to_char((workplans.sat_timeend1)::interval, 'HH24:MI'::text) AS sat_timeend1,
-    to_char((workplans.sat_timestart2)::interval, 'HH24:MI'::text) AS sat_timestart2,
-    to_char((workplans.sat_timeend2)::interval, 'HH24:MI'::text) AS sat_timeend2,
-    to_char((workplans.sat_timepause)::interval, 'HH24:MI'::text) AS sat_timepause,
-    to_char((workplans.sun_timestart1)::interval, 'HH24:MI'::text) AS sun_timestart1,
-    to_char((workplans.sun_timeend1)::interval, 'HH24:MI'::text) AS sun_timeend1,
-    to_char((workplans.sun_timestart2)::interval, 'HH24:MI'::text) AS sun_timestart2,
-    to_char((workplans.sun_timeend2)::interval, 'HH24:MI'::text) AS sun_timeend2,
-    to_char((workplans.sun_timepause)::interval, 'HH24:MI'::text) AS sun_timepause
-   FROM %%NEWSCHEMA%%.workplans;
-
-CREATE SEQUENCE %%NEWSCHEMA%%.workplans_id_seq
-    START WITH 1
-    INCREMENT BY 1
-    NO MINVALUE
-    NO MAXVALUE
-    CACHE 1;
-
-ALTER SEQUENCE %%NEWSCHEMA%%.workplans_id_seq OWNED BY %%NEWSCHEMA%%.workplans.id;
-
-CREATE TABLE %%NEWSCHEMA%%.worktypes (
-    id integer NOT NULL,
-    worktype text,
-    isworktime boolean,
-    isfreetime boolean,
-    typecolor text
-);
-
-CREATE SEQUENCE %%NEWSCHEMA%%.worktypes_id_seq
-    START WITH 1
-    INCREMENT BY 1
-    NO MINVALUE
-    NO MAXVALUE
-    CACHE 1;
-
-ALTER SEQUENCE %%NEWSCHEMA%%.worktypes_id_seq OWNED BY %%NEWSCHEMA%%.worktypes.id;
-
-ALTER TABLE ONLY %%NEWSCHEMA%%.defaultweekworkplan ALTER COLUMN id SET DEFAULT nextval('%%NEWSCHEMA%%.defaultweekworkplan_id_seq'::regclass);
-
-ALTER TABLE ONLY %%NEWSCHEMA%%.defaultworkplan ALTER COLUMN id SET DEFAULT nextval('%%NEWSCHEMA%%.defaultworkplan_id_seq'::regclass);
-
-ALTER TABLE ONLY %%NEWSCHEMA%%.reportperiod ALTER COLUMN id SET DEFAULT nextval('%%NEWSCHEMA%%.reportperiod_id_seq'::regclass);
-
-ALTER TABLE ONLY %%NEWSCHEMA%%.sites ALTER COLUMN id SET DEFAULT nextval('%%NEWSCHEMA%%.sites_id_seq'::regclass);
-
-ALTER TABLE ONLY %%NEWSCHEMA%%.staff ALTER COLUMN id SET DEFAULT nextval('%%NEWSCHEMA%%.staff_id_seq'::regclass);
-
-ALTER TABLE ONLY %%NEWSCHEMA%%.staffgroups ALTER COLUMN id SET DEFAULT nextval('%%NEWSCHEMA%%.staffgroups_id_seq'::regclass);
-
-ALTER TABLE ONLY %%NEWSCHEMA%%.staffperiodbase ALTER COLUMN id SET DEFAULT nextval('%%NEWSCHEMA%%.staffperiodbase_id_seq'::regclass);
-
-ALTER TABLE ONLY %%NEWSCHEMA%%.stafftimetracks ALTER COLUMN id SET DEFAULT nextval('%%NEWSCHEMA%%.stafftimetracks_id_seq'::regclass);
-
-ALTER TABLE ONLY %%NEWSCHEMA%%.staffvacancy ALTER COLUMN id SET DEFAULT nextval('%%NEWSCHEMA%%.staffvacancy_id_seq'::regclass);
-
-ALTER TABLE ONLY %%NEWSCHEMA%%.staffvacancyyear ALTER COLUMN id SET DEFAULT nextval('%%NEWSCHEMA%%.staffvacancyyear_id_seq'::regclass);
-
-ALTER TABLE ONLY %%NEWSCHEMA%%.staffworkplan ALTER COLUMN id SET DEFAULT nextval('%%NEWSCHEMA%%.staffworkplan_id_seq'::regclass);
-
-ALTER TABLE ONLY %%NEWSCHEMA%%.workplans ALTER COLUMN id SET DEFAULT nextval('%%NEWSCHEMA%%.workplans_id_seq'::regclass);
-
-ALTER TABLE ONLY %%NEWSCHEMA%%.worktypes ALTER COLUMN id SET DEFAULT nextval('%%NEWSCHEMA%%.worktypes_id_seq'::regclass);
-
-ALTER TABLE ONLY %%NEWSCHEMA%%.defaultweekworkplan
-    ADD CONSTRAINT defaultweekworkplan_pkey PRIMARY KEY (id);
-
-ALTER TABLE ONLY %%NEWSCHEMA%%.defaultworkplan
-    ADD CONSTRAINT defaultworkplan_pkey PRIMARY KEY (id);
-
-ALTER TABLE ONLY %%NEWSCHEMA%%.reportperiod
-    ADD CONSTRAINT reportperiod_pkey PRIMARY KEY (id);
-
-ALTER TABLE ONLY %%NEWSCHEMA%%.sites
-    ADD CONSTRAINT sites_pkey PRIMARY KEY (id);
-
-ALTER TABLE ONLY %%NEWSCHEMA%%.staff
-    ADD CONSTRAINT staff_pkey PRIMARY KEY (id);
-
-ALTER TABLE ONLY %%NEWSCHEMA%%.staffgroups
-    ADD CONSTRAINT staffgroups_pkey PRIMARY KEY (id);
-
-ALTER TABLE ONLY %%NEWSCHEMA%%.staffperiodbase
-    ADD CONSTRAINT staffperiodbase_pkey PRIMARY KEY (id);
-
-ALTER TABLE ONLY %%NEWSCHEMA%%.stafftimetracks
-    ADD CONSTRAINT stafftimetracks_pkey PRIMARY KEY (id);
-
-ALTER TABLE ONLY %%NEWSCHEMA%%.staffvacancy
-    ADD CONSTRAINT staffvacancy_pkey PRIMARY KEY (id);
-
-ALTER TABLE ONLY %%NEWSCHEMA%%.staffvacancyyear
-    ADD CONSTRAINT staffvacancyyear_pkey PRIMARY KEY (id);
-
-ALTER TABLE ONLY %%NEWSCHEMA%%.staffworkplan
-    ADD CONSTRAINT staffworkplan_pkey PRIMARY KEY (id);
-
-ALTER TABLE ONLY %%NEWSCHEMA%%.workplans
-    ADD CONSTRAINT workplans_pkey PRIMARY KEY (id);
-
-ALTER TABLE ONLY %%NEWSCHEMA%%.worktypes
-    ADD CONSTRAINT worktypes_pkey PRIMARY KEY (id);
-
-CREATE TRIGGER trg_upd_%%NEWSCHEMA%%_weekhours BEFORE UPDATE OF weekhours ON %%NEWSCHEMA%%.staffperiodbase FOR EACH ROW EXECUTE PROCEDURE public.trg_update_monthhours();
diff --git a/backoffice/data/sessions/0erUIUQ0dhEe3zMcK6rFyIcc1nV6VWkdlq4n861Rl.txt b/backoffice/data/sessions/0erUIUQ0dhEe3zMcK6rFyIcc1nV6VWkdlq4n861Rl.txt
new file mode 100644 (file)
index 0000000..7f374f7
--- /dev/null
@@ -0,0 +1 @@
+kilian
\ No newline at end of file
diff --git a/backoffice/data/sessions/0gFvARYjV05XPA5yyuvES1vA7MOWvnJdwy5FQewTF.txt b/backoffice/data/sessions/0gFvARYjV05XPA5yyuvES1vA7MOWvnJdwy5FQewTF.txt
new file mode 100644 (file)
index 0000000..7f374f7
--- /dev/null
@@ -0,0 +1 @@
+kilian
\ No newline at end of file
diff --git a/backoffice/data/sessions/1RmSxZL3sMvrs1wlCVsve2K4lXr6lZCsCnMyrvqhh.txt b/backoffice/data/sessions/1RmSxZL3sMvrs1wlCVsve2K4lXr6lZCsCnMyrvqhh.txt
new file mode 100644 (file)
index 0000000..7f374f7
--- /dev/null
@@ -0,0 +1 @@
+kilian
\ No newline at end of file
diff --git a/backoffice/data/sessions/1kHDTidWOldykPKOvZtTU2yvkGkQ51oRpIhB4zTw0.txt b/backoffice/data/sessions/1kHDTidWOldykPKOvZtTU2yvkGkQ51oRpIhB4zTw0.txt
new file mode 100644 (file)
index 0000000..7f374f7
--- /dev/null
@@ -0,0 +1 @@
+kilian
\ No newline at end of file
diff --git a/backoffice/data/sessions/3JEoxzyin3vQMAN6bB9BMPt7MdwugUD24gSXLbLju.txt b/backoffice/data/sessions/3JEoxzyin3vQMAN6bB9BMPt7MdwugUD24gSXLbLju.txt
new file mode 100644 (file)
index 0000000..7f374f7
--- /dev/null
@@ -0,0 +1 @@
+kilian
\ No newline at end of file
diff --git a/backoffice/data/sessions/4BehUCYKj2HY9VzlmG8CRSjvXYmXrccQQDUCHVmbk.txt b/backoffice/data/sessions/4BehUCYKj2HY9VzlmG8CRSjvXYmXrccQQDUCHVmbk.txt
new file mode 100644 (file)
index 0000000..7f374f7
--- /dev/null
@@ -0,0 +1 @@
+kilian
\ No newline at end of file
diff --git a/backoffice/data/sessions/5TTLSQoljqtU5SYk5UdYFdl1W30ybN9a5vBZtBMWm.txt b/backoffice/data/sessions/5TTLSQoljqtU5SYk5UdYFdl1W30ybN9a5vBZtBMWm.txt
new file mode 100644 (file)
index 0000000..7f374f7
--- /dev/null
@@ -0,0 +1 @@
+kilian
\ No newline at end of file
diff --git a/backoffice/data/sessions/6Nab2xLCsjx6IbOajGJjc0mWDgrsGUXiGK8q7HF9w.txt b/backoffice/data/sessions/6Nab2xLCsjx6IbOajGJjc0mWDgrsGUXiGK8q7HF9w.txt
new file mode 100644 (file)
index 0000000..7f374f7
--- /dev/null
@@ -0,0 +1 @@
+kilian
\ No newline at end of file
diff --git a/backoffice/data/sessions/9NGSXxXcd6pqySpExaB66AOV5Ldb16BKQ03b8cGlV.txt b/backoffice/data/sessions/9NGSXxXcd6pqySpExaB66AOV5Ldb16BKQ03b8cGlV.txt
new file mode 100644 (file)
index 0000000..7f374f7
--- /dev/null
@@ -0,0 +1 @@
+kilian
\ No newline at end of file
diff --git a/backoffice/data/sessions/9jdjY5rHsqU2pRynPgSMRzSpCVbGm16WtC1JyVq7J.txt b/backoffice/data/sessions/9jdjY5rHsqU2pRynPgSMRzSpCVbGm16WtC1JyVq7J.txt
new file mode 100644 (file)
index 0000000..7f374f7
--- /dev/null
@@ -0,0 +1 @@
+kilian
\ No newline at end of file
diff --git a/backoffice/data/sessions/Am7lKMRhWPyaO7mgq857LJy7hdNzbjiPrb76zA2uL.txt b/backoffice/data/sessions/Am7lKMRhWPyaO7mgq857LJy7hdNzbjiPrb76zA2uL.txt
new file mode 100644 (file)
index 0000000..7f374f7
--- /dev/null
@@ -0,0 +1 @@
+kilian
\ No newline at end of file
diff --git a/backoffice/data/sessions/BJOgO896Ee2Pt7m3J08s9q35kRbLJnWVfGzho8STt.txt b/backoffice/data/sessions/BJOgO896Ee2Pt7m3J08s9q35kRbLJnWVfGzho8STt.txt
new file mode 100644 (file)
index 0000000..7f374f7
--- /dev/null
@@ -0,0 +1 @@
+kilian
\ No newline at end of file
diff --git a/backoffice/data/sessions/BeNbq84lOUNqzmw7zuSd2ams2PjJb9rnizOAnt1gP.txt b/backoffice/data/sessions/BeNbq84lOUNqzmw7zuSd2ams2PjJb9rnizOAnt1gP.txt
new file mode 100644 (file)
index 0000000..7f374f7
--- /dev/null
@@ -0,0 +1 @@
+kilian
\ No newline at end of file
diff --git a/backoffice/data/sessions/D839DAU2ZcKJr6YKdxxLJcku0byvx8trIZYTr8iwp.txt b/backoffice/data/sessions/D839DAU2ZcKJr6YKdxxLJcku0byvx8trIZYTr8iwp.txt
new file mode 100644 (file)
index 0000000..7f374f7
--- /dev/null
@@ -0,0 +1 @@
+kilian
\ No newline at end of file
diff --git a/backoffice/data/sessions/I0jJe268UaxEqvRLIBbxXkLmhcWMKGqY09GtMl6lY.txt b/backoffice/data/sessions/I0jJe268UaxEqvRLIBbxXkLmhcWMKGqY09GtMl6lY.txt
new file mode 100644 (file)
index 0000000..7f374f7
--- /dev/null
@@ -0,0 +1 @@
+kilian
\ No newline at end of file
diff --git a/backoffice/data/sessions/IZnjVBrcMvWZ9zWAKY4SYbS9nBldNSo0ptgoV0f3R.txt b/backoffice/data/sessions/IZnjVBrcMvWZ9zWAKY4SYbS9nBldNSo0ptgoV0f3R.txt
new file mode 100644 (file)
index 0000000..7f374f7
--- /dev/null
@@ -0,0 +1 @@
+kilian
\ No newline at end of file
diff --git a/backoffice/data/sessions/Jcukvyutromxwc5HnniB2a7W9gGiAAPjrTA0vAV7L.txt b/backoffice/data/sessions/Jcukvyutromxwc5HnniB2a7W9gGiAAPjrTA0vAV7L.txt
new file mode 100644 (file)
index 0000000..7f374f7
--- /dev/null
@@ -0,0 +1 @@
+kilian
\ No newline at end of file
diff --git a/backoffice/data/sessions/JdBUkuIQDniseouOSrQH7goBEN6gQsZuPuQHPSwOt.txt b/backoffice/data/sessions/JdBUkuIQDniseouOSrQH7goBEN6gQsZuPuQHPSwOt.txt
new file mode 100644 (file)
index 0000000..7f374f7
--- /dev/null
@@ -0,0 +1 @@
+kilian
\ No newline at end of file
diff --git a/backoffice/data/sessions/JeDv978stuRxyG7UJJAJkxX8QaBbLGGZCo1OyC67l.txt b/backoffice/data/sessions/JeDv978stuRxyG7UJJAJkxX8QaBbLGGZCo1OyC67l.txt
new file mode 100644 (file)
index 0000000..7f374f7
--- /dev/null
@@ -0,0 +1 @@
+kilian
\ No newline at end of file
diff --git a/backoffice/data/sessions/KIxtRb9S3F1iY4aEwNef4BuePGKMaflWlIPWhoHfQ.txt b/backoffice/data/sessions/KIxtRb9S3F1iY4aEwNef4BuePGKMaflWlIPWhoHfQ.txt
new file mode 100644 (file)
index 0000000..7f374f7
--- /dev/null
@@ -0,0 +1 @@
+kilian
\ No newline at end of file
diff --git a/backoffice/data/sessions/KtrMjHihIMOCJ2RXFBM7z9uuGnBE2WfgcFdPKR0kt.txt b/backoffice/data/sessions/KtrMjHihIMOCJ2RXFBM7z9uuGnBE2WfgcFdPKR0kt.txt
new file mode 100644 (file)
index 0000000..7f374f7
--- /dev/null
@@ -0,0 +1 @@
+kilian
\ No newline at end of file
diff --git a/backoffice/data/sessions/NZWe56AhYfcrr16Atd4kdZgHzZEphFzxVaRsyg0Jx.txt b/backoffice/data/sessions/NZWe56AhYfcrr16Atd4kdZgHzZEphFzxVaRsyg0Jx.txt
new file mode 100644 (file)
index 0000000..7f374f7
--- /dev/null
@@ -0,0 +1 @@
+kilian
\ No newline at end of file
diff --git a/backoffice/data/sessions/NnR1ANGN9yry21nx6ul4CR9KZOCzhmEcjd22G6kRJ.txt b/backoffice/data/sessions/NnR1ANGN9yry21nx6ul4CR9KZOCzhmEcjd22G6kRJ.txt
new file mode 100644 (file)
index 0000000..7f374f7
--- /dev/null
@@ -0,0 +1 @@
+kilian
\ No newline at end of file
diff --git a/backoffice/data/sessions/Ous9JbFILAQ6Ztn0JVWHwXhPUyn9TvW959y7Vzoli.txt b/backoffice/data/sessions/Ous9JbFILAQ6Ztn0JVWHwXhPUyn9TvW959y7Vzoli.txt
new file mode 100644 (file)
index 0000000..7f374f7
--- /dev/null
@@ -0,0 +1 @@
+kilian
\ No newline at end of file
diff --git a/backoffice/data/sessions/PtkZqep1XtaYhLRSTArou6bN6kNARDXG97xGwMXLq.txt b/backoffice/data/sessions/PtkZqep1XtaYhLRSTArou6bN6kNARDXG97xGwMXLq.txt
new file mode 100644 (file)
index 0000000..7f374f7
--- /dev/null
@@ -0,0 +1 @@
+kilian
\ No newline at end of file
diff --git a/backoffice/data/sessions/QL7EqNq5AenMtRKDb76u43UEUrK02Oc4bv7CwGxQ7.txt b/backoffice/data/sessions/QL7EqNq5AenMtRKDb76u43UEUrK02Oc4bv7CwGxQ7.txt
new file mode 100644 (file)
index 0000000..7f374f7
--- /dev/null
@@ -0,0 +1 @@
+kilian
\ No newline at end of file
diff --git a/backoffice/data/sessions/QpPnCcHsSlRbCJGRAmmDCwk5Gz62Qx5rXuYrUdqso.txt b/backoffice/data/sessions/QpPnCcHsSlRbCJGRAmmDCwk5Gz62Qx5rXuYrUdqso.txt
new file mode 100644 (file)
index 0000000..7f374f7
--- /dev/null
@@ -0,0 +1 @@
+kilian
\ No newline at end of file
diff --git a/backoffice/data/sessions/UX1UoyBwDMGKRJH6zPVW35tU5DRki1qulQd7DvnmW.txt b/backoffice/data/sessions/UX1UoyBwDMGKRJH6zPVW35tU5DRki1qulQd7DvnmW.txt
new file mode 100644 (file)
index 0000000..7f374f7
--- /dev/null
@@ -0,0 +1 @@
+kilian
\ No newline at end of file
diff --git a/backoffice/data/sessions/UlHXNAU61YMomqPTRL0Zehbp9j1XfftaYM7ymnZud.txt b/backoffice/data/sessions/UlHXNAU61YMomqPTRL0Zehbp9j1XfftaYM7ymnZud.txt
new file mode 100644 (file)
index 0000000..7f374f7
--- /dev/null
@@ -0,0 +1 @@
+kilian
\ No newline at end of file
diff --git a/backoffice/data/sessions/VdYOIzlhtrD2lXmMEoHJIZnpixfR0kYKqePOgAmyv.txt b/backoffice/data/sessions/VdYOIzlhtrD2lXmMEoHJIZnpixfR0kYKqePOgAmyv.txt
new file mode 100644 (file)
index 0000000..7f374f7
--- /dev/null
@@ -0,0 +1 @@
+kilian
\ No newline at end of file
diff --git a/backoffice/data/sessions/X9bkiu5m05nCXDRGzXseKmLtadbQL1NSp5Vi1Ufl4.txt b/backoffice/data/sessions/X9bkiu5m05nCXDRGzXseKmLtadbQL1NSp5Vi1Ufl4.txt
new file mode 100644 (file)
index 0000000..7f374f7
--- /dev/null
@@ -0,0 +1 @@
+kilian
\ No newline at end of file
diff --git a/backoffice/data/sessions/ZZPtMiFujJSFMCMfk0wBawhQvVTQavtyaUMhhjFzg.txt b/backoffice/data/sessions/ZZPtMiFujJSFMCMfk0wBawhQvVTQavtyaUMhhjFzg.txt
new file mode 100644 (file)
index 0000000..7f374f7
--- /dev/null
@@ -0,0 +1 @@
+kilian
\ No newline at end of file
diff --git a/backoffice/data/sessions/aOwQSc0oes5rJl2Q1J9TUT5GLBCUfad1NmXFwFFrU.txt b/backoffice/data/sessions/aOwQSc0oes5rJl2Q1J9TUT5GLBCUfad1NmXFwFFrU.txt
new file mode 100644 (file)
index 0000000..7f374f7
--- /dev/null
@@ -0,0 +1 @@
+kilian
\ No newline at end of file
diff --git a/backoffice/data/sessions/bDnYoOUUGgq1M4R4pF4jnsl3EcqClObSUXQMiaXkQ.txt b/backoffice/data/sessions/bDnYoOUUGgq1M4R4pF4jnsl3EcqClObSUXQMiaXkQ.txt
new file mode 100644 (file)
index 0000000..7f374f7
--- /dev/null
@@ -0,0 +1 @@
+kilian
\ No newline at end of file
diff --git a/backoffice/data/sessions/bVe860oFto5OmAz8MoIO0O69WYfTgfmw3NWn7Tp2G.txt b/backoffice/data/sessions/bVe860oFto5OmAz8MoIO0O69WYfTgfmw3NWn7Tp2G.txt
new file mode 100644 (file)
index 0000000..7f374f7
--- /dev/null
@@ -0,0 +1 @@
+kilian
\ No newline at end of file
diff --git a/backoffice/data/sessions/cvyqIkSuHZaxCWoYgh12DXLiaIw5SNSsSKnRmbzsQ.txt b/backoffice/data/sessions/cvyqIkSuHZaxCWoYgh12DXLiaIw5SNSsSKnRmbzsQ.txt
new file mode 100644 (file)
index 0000000..7f374f7
--- /dev/null
@@ -0,0 +1 @@
+kilian
\ No newline at end of file
diff --git a/backoffice/data/sessions/eWBVZEY6YGF4RCrcHhADxWggfYltEm1Q93G1NY1zr.txt b/backoffice/data/sessions/eWBVZEY6YGF4RCrcHhADxWggfYltEm1Q93G1NY1zr.txt
new file mode 100644 (file)
index 0000000..7f374f7
--- /dev/null
@@ -0,0 +1 @@
+kilian
\ No newline at end of file
diff --git a/backoffice/data/sessions/epaoNZTRI0zR1RdCNsahoGSbjNKDGljln4u5SipNw.txt b/backoffice/data/sessions/epaoNZTRI0zR1RdCNsahoGSbjNKDGljln4u5SipNw.txt
new file mode 100644 (file)
index 0000000..7f374f7
--- /dev/null
@@ -0,0 +1 @@
+kilian
\ No newline at end of file
diff --git a/backoffice/data/sessions/f68zG2yIJ5Cc2OhfK5FQVbaDFfkpZ2GruKQV9YGBA.txt b/backoffice/data/sessions/f68zG2yIJ5Cc2OhfK5FQVbaDFfkpZ2GruKQV9YGBA.txt
new file mode 100644 (file)
index 0000000..7f374f7
--- /dev/null
@@ -0,0 +1 @@
+kilian
\ No newline at end of file
diff --git a/backoffice/data/sessions/fNVRKLCezOygBQBfNx8S9wlQeL3mHGKEbJfGdanP2.txt b/backoffice/data/sessions/fNVRKLCezOygBQBfNx8S9wlQeL3mHGKEbJfGdanP2.txt
new file mode 100644 (file)
index 0000000..7f374f7
--- /dev/null
@@ -0,0 +1 @@
+kilian
\ No newline at end of file
diff --git a/backoffice/data/sessions/fa1sQsOOYzzVd4zcMahREdZMCn4sV6OvAdVqmjv1V.txt b/backoffice/data/sessions/fa1sQsOOYzzVd4zcMahREdZMCn4sV6OvAdVqmjv1V.txt
new file mode 100644 (file)
index 0000000..7f374f7
--- /dev/null
@@ -0,0 +1 @@
+kilian
\ No newline at end of file
diff --git a/backoffice/data/sessions/ffAVZfn1GqkZeM6okith0gvwDJuLw0rlX3ZlQZqks.txt b/backoffice/data/sessions/ffAVZfn1GqkZeM6okith0gvwDJuLw0rlX3ZlQZqks.txt
new file mode 100644 (file)
index 0000000..7f374f7
--- /dev/null
@@ -0,0 +1 @@
+kilian
\ No newline at end of file
diff --git a/backoffice/data/sessions/g77ZrrvcaNUdM8CZoZKlzpOaP2HC8ym5lqcmqntb8.txt b/backoffice/data/sessions/g77ZrrvcaNUdM8CZoZKlzpOaP2HC8ym5lqcmqntb8.txt
new file mode 100644 (file)
index 0000000..7f374f7
--- /dev/null
@@ -0,0 +1 @@
+kilian
\ No newline at end of file
diff --git a/backoffice/data/sessions/gQQOfWbF3fmMhUAEldzmxY215bY2JRc4kcVRj8Mny.txt b/backoffice/data/sessions/gQQOfWbF3fmMhUAEldzmxY215bY2JRc4kcVRj8Mny.txt
new file mode 100644 (file)
index 0000000..7f374f7
--- /dev/null
@@ -0,0 +1 @@
+kilian
\ No newline at end of file
diff --git a/backoffice/data/sessions/jFFniDmG86IasEJl6avgyaG1easR3ZfB1CxPQz5WP.txt b/backoffice/data/sessions/jFFniDmG86IasEJl6avgyaG1easR3ZfB1CxPQz5WP.txt
new file mode 100644 (file)
index 0000000..7f374f7
--- /dev/null
@@ -0,0 +1 @@
+kilian
\ No newline at end of file
diff --git a/backoffice/data/sessions/m8WhIyRtmJkIkNC3DsUuiP5O9Dbrtym3kyhycbRmU.txt b/backoffice/data/sessions/m8WhIyRtmJkIkNC3DsUuiP5O9Dbrtym3kyhycbRmU.txt
new file mode 100644 (file)
index 0000000..7f374f7
--- /dev/null
@@ -0,0 +1 @@
+kilian
\ No newline at end of file
diff --git a/backoffice/data/sessions/oXfsiuQ5HtdwRaUEZgPGSdiMQhj7kkXEwb2HLqHP3.txt b/backoffice/data/sessions/oXfsiuQ5HtdwRaUEZgPGSdiMQhj7kkXEwb2HLqHP3.txt
new file mode 100644 (file)
index 0000000..7f374f7
--- /dev/null
@@ -0,0 +1 @@
+kilian
\ No newline at end of file
diff --git a/backoffice/data/sessions/ps7fGtG6qHiemYwzbUEz7zBlze5hFpcWSMACOTtKY.txt b/backoffice/data/sessions/ps7fGtG6qHiemYwzbUEz7zBlze5hFpcWSMACOTtKY.txt
new file mode 100644 (file)
index 0000000..7f374f7
--- /dev/null
@@ -0,0 +1 @@
+kilian
\ No newline at end of file
diff --git a/backoffice/data/sessions/sHJs0s43FRC1AO8sQBqS8cHdm1wHHRMGVwAqDQTWx.txt b/backoffice/data/sessions/sHJs0s43FRC1AO8sQBqS8cHdm1wHHRMGVwAqDQTWx.txt
new file mode 100644 (file)
index 0000000..7f374f7
--- /dev/null
@@ -0,0 +1 @@
+kilian
\ No newline at end of file
diff --git a/backoffice/data/sessions/t1AZJItsjmq8IRACIyXHn5vMfiztCwxcXC6tP92sI.txt b/backoffice/data/sessions/t1AZJItsjmq8IRACIyXHn5vMfiztCwxcXC6tP92sI.txt
new file mode 100644 (file)
index 0000000..7f374f7
--- /dev/null
@@ -0,0 +1 @@
+kilian
\ No newline at end of file
diff --git a/backoffice/data/sessions/tGdHeVdD8ItQ6UmVN8RFLENeKoGuuj4QuWK2Dnrge.txt b/backoffice/data/sessions/tGdHeVdD8ItQ6UmVN8RFLENeKoGuuj4QuWK2Dnrge.txt
new file mode 100644 (file)
index 0000000..7f374f7
--- /dev/null
@@ -0,0 +1 @@
+kilian
\ No newline at end of file
diff --git a/backoffice/data/sessions/uBw3beGl5xFaRZQRRCyddzyFeyYuL0S0qP1eBbXHa.txt b/backoffice/data/sessions/uBw3beGl5xFaRZQRRCyddzyFeyYuL0S0qP1eBbXHa.txt
new file mode 100644 (file)
index 0000000..7f374f7
--- /dev/null
@@ -0,0 +1 @@
+kilian
\ No newline at end of file
diff --git a/backoffice/data/sessions/v11Xg9WWkjy2cfS5LGAgeCuDDpMRv1mp5Y5G4Hamd.txt b/backoffice/data/sessions/v11Xg9WWkjy2cfS5LGAgeCuDDpMRv1mp5Y5G4Hamd.txt
new file mode 100644 (file)
index 0000000..7f374f7
--- /dev/null
@@ -0,0 +1 @@
+kilian
\ No newline at end of file
diff --git a/backoffice/data/sessions/wCvrpTVhDfzNL6c5znja1pnkY34pYN9g8mFaxMahv.txt b/backoffice/data/sessions/wCvrpTVhDfzNL6c5znja1pnkY34pYN9g8mFaxMahv.txt
new file mode 100644 (file)
index 0000000..7f374f7
--- /dev/null
@@ -0,0 +1 @@
+kilian
\ No newline at end of file
diff --git a/backoffice/data/sessions/xvJj1JJizpv5VJ6tnLiDXCNxwJq9EctMg62t0Jheu.txt b/backoffice/data/sessions/xvJj1JJizpv5VJ6tnLiDXCNxwJq9EctMg62t0Jheu.txt
new file mode 100644 (file)
index 0000000..7f374f7
--- /dev/null
@@ -0,0 +1 @@
+kilian
\ No newline at end of file
diff --git a/backoffice/data/sessions/z412hsIVzDUlixNw4lU8WIyfCAkmMOzU4YzEYcV4c.txt b/backoffice/data/sessions/z412hsIVzDUlixNw4lU8WIyfCAkmMOzU4YzEYcV4c.txt
new file mode 100644 (file)
index 0000000..7f374f7
--- /dev/null
@@ -0,0 +1 @@
+kilian
\ No newline at end of file
diff --git a/backoffice/data/sessions/zzzBwddNL9aYQQTNXWf4tP6DN8NQjjjfyWRp2NcaM.txt b/backoffice/data/sessions/zzzBwddNL9aYQQTNXWf4tP6DN8NQjjjfyWRp2NcaM.txt
new file mode 100644 (file)
index 0000000..7f374f7
--- /dev/null
@@ -0,0 +1 @@
+kilian
\ No newline at end of file
diff --git a/backoffice/img/icons/Settings.svg b/backoffice/img/icons/Settings.svg
new file mode 100644 (file)
index 0000000..61bc7ca
--- /dev/null
@@ -0,0 +1 @@
+<?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 41.72 38.96"> \r<path d="M33.732557,32.921222L32.921337,33.733106 32.921337,34.88278 33.732557,35.694761 34.883585,35.694761 35.696106,34.88278 35.696106,33.733106 34.883585,32.921222z M27.232397,20.419L37.08284,30.267683C38.964386,32.150541 38.964386,35.199972 37.08284,37.08143 35.201294,38.96219 32.150417,38.96219 30.268871,37.08143L19.322001,26.134973 22.019967,23.439134 24.447128,25.866779 27.418501,22.893646 27.198496,22.461155C26.862587,21.80307,26.891188,21.042686,27.232397,20.419z M35.50946,1.434L41.723003,7.6463243 30.452124,18.918466C29.376616,18.367763 28.027605,18.540966 27.1266,19.441372 26.226793,20.341076 26.053692,21.690689 26.604496,22.764896L24.44688,24.922411 22.018462,22.494594 11.76699,32.748069 11.866091,32.846367 11.69159,33.886778 7.3087182,36.971998 6.2500003,35.913389 9.2696722,31.464859 10.31118,31.291656 10.408981,31.390659 20.662953,21.138483 18.234536,18.710266 20.390851,16.553249C21.46766,17.103454 22.816669,16.930253 23.716475,16.030447 24.61618,15.130039 24.789284,13.77983 24.238579,12.705022z M9.0453155,7.0333481E-05C11.33821,0.0091023445 13.627788,0.88797247 15.377007,2.6370169 17.641397,4.9013218 18.440928,8.0679628 17.791203,10.977297L22.737999,15.925221C22.421587,16.097119 22.068673,16.200017 21.697558,16.200017 21.349944,16.200017 21.00483,16.115918 20.697518,15.95842L20.263901,15.735824 17.291183,18.710277 19.72098,21.136741 17.021573,23.833999 10.977033,17.790493C8.0681376,18.439481 4.9013221,17.640695 2.6368926,15.37703 0.3047657,13.045066 -0.48042154,9.7515169 0.28132772,6.7716533L6.569358,13.061366 10.996634,10.995698 13.061615,6.569266 6.771206,0.28097141C7.5163507,0.090697169,8.2810173,-0.002940774,9.0453155,7.0333481E-05z"/> \r</svg>
\ No newline at end of file
diff --git a/backoffice/img/icons/Settings_white.svg b/backoffice/img/icons/Settings_white.svg
new file mode 100644 (file)
index 0000000..c67c1eb
--- /dev/null
@@ -0,0 +1,5 @@
+<?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 41.72 38.96"> \r
+<path fill="#fff" d="M33.732557,32.921222L32.921337,33.733106 32.921337,34.88278 33.732557,35.694761 34.883585,35.694761 35.696106,34.88278 35.696106,33.733106 34.883585,32.921222z M27.232397,20.419L37.08284,30.267683C38.964386,32.150541 38.964386,35.199972 37.08284,37.08143 35.201294,38.96219 32.150417,38.96219 30.268871,37.08143L19.322001,26.134973 22.019967,23.439134 24.447128,25.866779 27.418501,22.893646 27.198496,22.461155C26.862587,21.80307,26.891188,21.042686,27.232397,20.419z M35.50946,1.434L41.723003,7.6463243 30.452124,18.918466C29.376616,18.367763 28.027605,18.540966 27.1266,19.441372 26.226793,20.341076 26.053692,21.690689 26.604496,22.764896L24.44688,24.922411 22.018462,22.494594 11.76699,32.748069 11.866091,32.846367 11.69159,33.886778 7.3087182,36.971998 6.2500003,35.913389 9.2696722,31.464859 10.31118,31.291656 10.408981,31.390659 20.662953,21.138483 18.234536,18.710266 20.390851,16.553249C21.46766,17.103454 22.816669,16.930253 23.716475,16.030447 24.61618,15.130039 24.789284,13.77983 24.238579,12.705022z M9.0453155,7.0333481E-05C11.33821,0.0091023445 13.627788,0.88797247 15.377007,2.6370169 17.641397,4.9013218 18.440928,8.0679628 17.791203,10.977297L22.737999,15.925221C22.421587,16.097119 22.068673,16.200017 21.697558,16.200017 21.349944,16.200017 21.00483,16.115918 20.697518,15.95842L20.263901,15.735824 17.291183,18.710277 19.72098,21.136741 17.021573,23.833999 10.977033,17.790493C8.0681376,18.439481 4.9013221,17.640695 2.6368926,15.37703 0.3047657,13.045066 -0.48042154,9.7515169 0.28132772,6.7716533L6.569358,13.061366 10.996634,10.995698 13.061615,6.569266 6.771206,0.28097141C7.5163507,0.090697169,8.2810173,-0.002940774,9.0453155,7.0333481E-05z"/> \r
+</svg>
\ No newline at end of file
diff --git a/backoffice/img/icons/website.svg b/backoffice/img/icons/website.svg
new file mode 100644 (file)
index 0000000..a684987
--- /dev/null
@@ -0,0 +1,13 @@
+<?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="24px" height="24px" viewBox="0 0 24 24">\r
+<path d="M12.001,0C5.375,0,0,5.373,0,12s5.374,12,12,12c6.626,0,12-5.373,12-12S18.627,0,12.001,0z M11.021,13.692\r
+       c0,0-3.719-0.86-4.443-2.311c-1.458-2.923-1.631-2.358-1.81-3.263C4.583,7.212,4.857,5.353,4.857,5.353S4.812,5.716,6.622,3.361\r
+       c1.289-1.671,4.301-1.076,5.348-0.724c0.434,0.143-1.856,0-1.95,1.224c-0.089,1.221,0.185,1.043,1.226,1.313\r
+       c1.045,0.27,0.998-2.132,0.998-2.132l1.585,0.952l0.591,0.591c0,0,0.164,1.468-0.366,2.13c-0.604,0.759-1.416,0.752-1.537,2.083\r
+       c-0.09,0.973,0.089,2.583,0.089,2.583s-0.206,0.267-0.499,0.044c-0.415-0.314-0.858-0.855-1.177-1.494\r
+       c-0.543-1.089-2.13-0.317-2.175-0.182c-0.876,2.631,2.311,3.171,2.311,3.171L11.021,13.692z M12.423,22.756\r
+       c0.183-0.725,1.997-2.358,1.631-3.082c-0.36-0.725-1.085-0.725-1.81-1.27c-0.727-0.543-0.787-2.234,0.361-3.262\r
+       c1.09-0.975,2.358-1.087,2.358-1.087s2.355,0.724,3.079,0.904c0.727,0.183,2.358-0.36,2.358,0.907\r
+       C20.401,20.583,12.244,23.482,12.423,22.756z"/>\r
+</svg>\r
diff --git a/backoffice/img/icons/website_white.svg b/backoffice/img/icons/website_white.svg
new file mode 100644 (file)
index 0000000..8401636
--- /dev/null
@@ -0,0 +1,13 @@
+<?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="24px" height="24px" viewBox="0 0 24 24">\r
+<path fill="#fff" d="M12.001,0C5.375,0,0,5.373,0,12s5.374,12,12,12c6.626,0,12-5.373,12-12S18.627,0,12.001,0z M11.021,13.692\r
+       c0,0-3.719-0.86-4.443-2.311c-1.458-2.923-1.631-2.358-1.81-3.263C4.583,7.212,4.857,5.353,4.857,5.353S4.812,5.716,6.622,3.361\r
+       c1.289-1.671,4.301-1.076,5.348-0.724c0.434,0.143-1.856,0-1.95,1.224c-0.089,1.221,0.185,1.043,1.226,1.313\r
+       c1.045,0.27,0.998-2.132,0.998-2.132l1.585,0.952l0.591,0.591c0,0,0.164,1.468-0.366,2.13c-0.604,0.759-1.416,0.752-1.537,2.083\r
+       c-0.09,0.973,0.089,2.583,0.089,2.583s-0.206,0.267-0.499,0.044c-0.415-0.314-0.858-0.855-1.177-1.494\r
+       c-0.543-1.089-2.13-0.317-2.175-0.182c-0.876,2.631,2.311,3.171,2.311,3.171L11.021,13.692z M12.423,22.756\r
+       c0.183-0.725,1.997-2.358,1.631-3.082c-0.36-0.725-1.085-0.725-1.81-1.27c-0.727-0.543-0.787-2.234,0.361-3.262\r
+       c1.09-0.975,2.358-1.087,2.358-1.087s2.355,0.724,3.079,0.904c0.727,0.183,2.358-0.36,2.358,0.907\r
+       C20.401,20.583,12.244,23.482,12.423,22.756z"/>\r
+</svg>\r
index ecd3994..6d8ae2e 100755 (executable)
@@ -1,8 +1,10 @@
-#!/Users/kilian/perl5/perlbrew/perls/perl-5.24.1/bin/perl
+#!/usr/local/bin/perl
 
 use strict;
-use lib ('api/lib/perl5');
-use lib ('api/lib');
+use lib ('./backoffice/api/lib');
+use lib ('./api/lib/perl5');
+use lib ('./api/lib/perl5');
+use lib ('./api/lib');
 use File::Basename qw/dirname basename/;
 use Template;
 # use Template::Constants qw( :debug );
@@ -13,7 +15,7 @@ use Data::Dumper;
 use JSON::PP;
 
 use dksconfig qw/$sitecfg/;
-use session;
+use session; 
 
 my $skl = "skeleton/index.tt";
 my $cgi = new CGI();
@@ -28,7 +30,7 @@ if ($vars->{basepath} eq "/"){
   $vars->{siteurl} = $cgi->url({-base=>1}); 
 }else {
   $vars->{siteurl} = $cgi->url({-base=>1}).dirname($vars->{basepath});
-  $vars->{docroot} = $vars->{docroot}.dirname($vars->{basepath});
+  #$vars->{docroot} = $vars->{docroot}.dirname($vars->{basepath});
   #$vars->{sitepath} = dirname($vars->{basepath});
 }
   
@@ -121,14 +123,10 @@ if ($cgi->request_method() eq "POST"){
 if ($p->{sid} ne ""){
   $sess = $se->getsession($p->{sid});
 }
-# open FILE,">>tmp/sql.log";
-#       print FILE "Seesion GOT!\n";
-#       print FILE Dumper($sess);
-#       close(FILE);
 
 
 #$vars->{beforex} = $vars->{page};
-if (!exists($sess->{id}) || (!exists($p->{sid})) || $p->{sid} eq ""){
+if ((!exists($p->{sid})) || $p->{sid} eq ""){
   $skl = "skeleton/login.tt";
 }
 # if ($vars->{page} eq "deleteprofile.tt") {
@@ -137,6 +135,7 @@ if (!exists($sess->{id}) || (!exists($p->{sid})) || $p->{sid} eq ""){
 # my ($appname) = $ENV{REQUEST_URI} =~ /.*\/module\/(\w+)\/.*/;
 if ($p->{sid} ne ""){
   $vars->{session} = $sess;
+  $vars->{page} = 'index.tt';
 }
 #SESSION - End
 # #BEGIN - Browser Blocking 
@@ -156,17 +155,27 @@ print $cgi->header(-type=>$ctype, -charset=>"utf-8",-cookie => $cookie);
 my $template = Template->new({INCLUDE_PATH => [dirname($ENV{"SCRIPT_FILENAME"}).'/tmpl']});
 #}
 
+
+
+if ($skl ne "skeleton/login.tt"){
+  #$skl = "skeleton/index.tt";
+  if ($vars->{page} !~ /\.tt$/) {
+     $skl = "skeleton/module_file.tt";
+  }else {
+    $vars->{page} = 'module/'.$vars->{page};
+  }
+  $vars->{params}= $p;
+}
 my @lv = split(/\//,$vars->{filepath});
 my $absnum = scalar(@lv)-1;
-
 for (my $i=0;$i<$absnum;$i++){
   $vars->{abspath} .= "../";
 }
 
 # $vars->{page} = $vars->{page};
-if ($vars->{page} =~ /^module/){
-  $vars->{module} = basename(dirname($vars->{page}));
-}
+if ($vars->{page} =~ /^module/){
+  $vars->{module} = basename(dirname($vars->{page}));
+}
 $vars->{pagename} = basename($vars->{page});
 $vars->{pagename} =~ s/\.tt$//;
 # my ($appname) = $ENV{REQUEST_URI} =~ /.*\/apps\/(\w+)\/.*/;
@@ -174,20 +183,13 @@ $vars->{pagename} =~ s/\.tt$//;
 
 #BEGIN -  iFrame - Modules
 
-if ($skl ne "skeleton/login.tt" && $vars->{page} =~ /^module/){
-  $skl = "skeleton/module.tt";
-  if ($vars->{page} !~ /\.tt$/) {
-    $skl = "skeleton/module_file.tt";
-  }
-  $vars->{params}= $p;
-}
 
 #END - iFrame - Modules
 
 $template->process($skl,$vars) || die "Template process failed: ", $template->error(), "\n";
 
-if ($vars->{page} =~ /\.tt/){
-#    print '<pre  >'.Dumper($p)."<pre>";
-
+if ($vars->{page} =~ /\.tt/){
+    print '<pre  >'.Dumper($vars)."<pre>";
+} 
 
 
diff --git a/backoffice/js/admin.js b/backoffice/js/admin.js
deleted file mode 100644 (file)
index 3cc2511..0000000
+++ /dev/null
@@ -1,106 +0,0 @@
-var choice = {"company":{"schemata":null}};\r
-\r
-var admin = {\r
-    loadpage: function(modulepage, modulename) {\r
-        //console.log(modulename);\r
-        //console.log("Load module:" + modulepage);\r
-        if (modulename) {\r
-            document.getElementById("modulename").innerHTML = modulename;\r
-        }\r
-        document.getElementById("moduleframe").setAttribute('src', modulepage);\r
-    },\r
-    sidebarclick: function(modulepage, modulename) {\r
-        admin.loadpage(modulepage, modulename);\r
-    },\r
-    getcurrentSchemata: function(){\r
-      //console.log("selected schemata: " + document.getElementById("schemata").value);\r
-      return document.getElementById("schemata").value;\r
-    },\r
-    getAllSchemata: function(){\r
-      var x = choice["company"]["schemata"];\r
-      \r
-      console.log(x.getValue(true));//.getValue(true));\r
-      return x.getValue(true);\r
-    },\r
-    logout: function() {\r
-        req.reqdata("POST", location.href, { "logout": "1" }, admin.reloadpage);\r
-\r
-    },\r
-    reloadpage(page) {\r
-        location.href = location.href;\r
-\r
-    }\r
-}\r
-\r
-function reload_page() {\r
-    location.href = location.href;\r
-}\r
-\r
-// function closeSidebar(){\r
-//   document.getElementById("sidebar").style.display = "none";\r
-//   document.getElementById("main").style.margin = "0 0 0 0";\r
-//   document.getElementById("modulename").style.setProperty("margin-left","0px");\r
-// }\r
-\r
-// function openSidebar(){\r
-//   document.getElementById("sidebar").style.display = "block";\r
-//   document.getElementById("main").style.setProperty("margin-left","210px");\r
-//   document.getElementById("modulename").style.setProperty("margin-left","150px");\r
-// }\r
-\r
-var mySidebar = document.getElementById("mySidebar");\r
-\r
-// Get the DIV with overlay effect\r
-var overlayBg = document.getElementById("myOverlay");\r
-\r
-// Toggle between showing and hiding the sidebar, and add overlay effect\r
-function w3_open() {\r
-    if (mySidebar.style.display === 'block') {\r
-        mySidebar.style.display = 'none';\r
-        overlayBg.style.display = "none";\r
-    } else {\r
-        mySidebar.style.display = 'block';\r
-        overlayBg.style.display = "block";\r
-    }\r
-}\r
-\r
-// Close the sidebar with the close button\r
-function w3_close() {\r
-    mySidebar.style.display = "none";\r
-    overlayBg.style.display = "none";\r
-}\r
-\r
-document.addEventListener("DOMContentLoaded", function() {\r
-  \r
-  choice["company"]["schemata"] = new Choices('#schemata',{\r
-    searchEnabled: false,\r
-    itemSelectText: 'x',\r
-    removeItemButton: false,\r
-    choices : []\r
-  });\r
-  getschemata();\r
-});\r
-\r
-function getschemata(){\r
-  req.reqdata("POST","db.cgi",{"get":"companylist"},fillschematalist);\r
-}\r
-\r
-function fillschematalist(data){\r
-  console.log(data);\r
-  fillselectlist(choice["company"]["schemata"],data.sqldata,'schemata','company');\r
-  \r
-  return false;\r
-}\r
-\r
-function fillselectlist(obj,data,vidcol,vvalcol){\r
-  var sellist = [];\r
-  obj.clearStore();\r
-  if (data){\r
-    for (var i in data){\r
-      sellist.push({value:data[i][vidcol],label:data[i][vvalcol]});\r
-    }\r
-  }\r
-  obj.setChoices(sellist, 'value', 'label', true);\r
-  obj.setChoiceByValue(sellist[0].value);\r
-  return false;\r
-}
\ No newline at end of file
diff --git a/backoffice/js/app.js b/backoffice/js/app.js
new file mode 100644 (file)
index 0000000..278638e
--- /dev/null
@@ -0,0 +1,110 @@
+// var choice = {"company":{"schemata":null}};\r
+\r
+var app = {\r
+    getpage: function(modulepage) {\r
+        req.reqdata("POST","page.cgi",{"page":modulepage},app.loadpage);\r
+        //console.log(modulename);\r
+        //console.log("Load module:" + modulepage);\r
+        \r
+        // if (modulename) {\r
+        //     document.getElementById("mainapp").innerHTML = modulename;\r
+        // }\r
+    },\r
+    loadpage: function(data){\r
+        document.getElementById("mainapp").innerHTML = data;  \r
+    },\r
+    // sidebarclick: function(modulepage, modulename) {\r
+    //     admin.loadpage(modulepage, modulename);\r
+    // },\r
+    // getcurrentSchemata: function(){\r
+    //   //console.log("selected schemata: " + document.getElementById("schemata").value);\r
+    //   return document.getElementById("schemata").value;\r
+    // },\r
+    // getAllSchemata: function(){\r
+    //   var x = choice["company"]["schemata"];\r
+      \r
+    //   console.log(x.getValue(true));//.getValue(true));\r
+    //   return x.getValue(true);\r
+    // },\r
+    logout: function() {\r
+        req.reqdata("POST", location.href, { "logout": "1" }, admin.reloadpage);\r
+\r
+    },\r
+    reloadpage(page) {\r
+        location.href = location.href;\r
+\r
+    }\r
+}\r
+\r
+function reload_page() {\r
+    location.href = location.href;\r
+}\r
+\r
+// function closeSidebar(){\r
+//   document.getElementById("sidebar").style.display = "none";\r
+//   document.getElementById("main").style.margin = "0 0 0 0";\r
+//   document.getElementById("modulename").style.setProperty("margin-left","0px");\r
+// }\r
+\r
+// function openSidebar(){\r
+//   document.getElementById("sidebar").style.display = "block";\r
+//   document.getElementById("main").style.setProperty("margin-left","210px");\r
+//   document.getElementById("modulename").style.setProperty("margin-left","150px");\r
+// }\r
+\r
+// var mySidebar = document.getElementById("mySidebar");\r
+\r
+// // Get the DIV with overlay effect\r
+// var overlayBg = document.getElementById("myOverlay");\r
+\r
+// Toggle between showing and hiding the sidebar, and add overlay effect\r
+// function w3_open() {\r
+//     if (mySidebar.style.display === 'block') {\r
+//         mySidebar.style.display = 'none';\r
+//         overlayBg.style.display = "none";\r
+//     } else {\r
+//         mySidebar.style.display = 'block';\r
+//         overlayBg.style.display = "block";\r
+//     }\r
+// }\r
+\r
+// // Close the sidebar with the close button\r
+// function w3_close() {\r
+//     mySidebar.style.display = "none";\r
+//     overlayBg.style.display = "none";\r
+// }\r
+\r
+document.addEventListener("DOMContentLoaded", function() {\r
+  \r
+//   choice["company"]["schemata"] = new Choices('#schemata',{\r
+//     searchEnabled: false,\r
+//     itemSelectText: 'x',\r
+//     removeItemButton: false,\r
+//     choices : []\r
+//   });\r
+//   getschemata();\r
+});\r
+\r
+// function getschemata(){\r
+//   req.reqdata("POST","db.cgi",{"get":"companylist"},fillschematalist);\r
+// }\r
+\r
+// function fillschematalist(data){\r
+//   console.log(data);\r
+//   fillselectlist(choice["company"]["schemata"],data.sqldata,'schemata','company');\r
+  \r
+//   return false;\r
+// }\r
+\r
+// function fillselectlist(obj,data,vidcol,vvalcol){\r
+//   var sellist = [];\r
+//   obj.clearStore();\r
+//   if (data){\r
+//     for (var i in data){\r
+//       sellist.push({value:data[i][vidcol],label:data[i][vvalcol]});\r
+//     }\r
+//   }\r
+//   obj.setChoices(sellist, 'value', 'label', true);\r
+//   obj.setChoiceByValue(sellist[0].value);\r
+//   return false;\r
+// }
\ No newline at end of file
index d63cf1d..e22f6d6 100644 (file)
@@ -74,7 +74,7 @@ var req = {
     if (method.toUpperCase() == 'GET'){
       sendurl = sendurl + '?' + rdata;
     }
-    //console.log("sending URL: " + method + " => " +sendurl + '?' + rdata);
+    console.log("sending URL: " + method + " => " +sendurl + '?' + rdata);
     request.open(method.toUpperCase(), sendurl, true);
     request.onload = function(){
       if (request.status >= 200 && request.status <= 400){
diff --git a/backoffice/sessionlog.txt b/backoffice/sessionlog.txt
new file mode 100644 (file)
index 0000000..6ffad5c
--- /dev/null
@@ -0,0 +1,108 @@
+htpasswd -v -b -B /usr/home/dksalu/public_html/saffran_lu/backoffice/data//auth/.passwd kilian fb1ia1ka 2>&1
+Password for user kilian correct.
+htpasswd -v -b -B /usr/home/dksalu/public_html/saffran_lu/backoffice/data//auth/.passwd kilian fb1ia1ka 2>&1
+Password for user kilian correct.
+htpasswd -v -b -B /usr/home/dksalu/public_html/saffran_lu/backoffice/data//auth/.passwd kilian fb1ia1ka 2>&1
+Password for user kilian correct.
+htpasswd -v -b -B /usr/home/dksalu/public_html/saffran_lu/backoffice/data//auth/.passwd kilian fb1ia1ka 2>&1
+Password for user kilian correct.
+htpasswd -v -b -B /usr/home/dksalu/public_html/saffran_lu/backoffice/data//auth/.passwd kilian fb1ia1ka 2>&1
+Password for user kilian correct.
+htpasswd -v -b -B /usr/home/dksalu/public_html/saffran_lu/backoffice/data//auth/.passwd kilian fb1ia1ka 2>&1
+Password for user kilian correct.
+htpasswd -v -b -B /usr/home/dksalu/public_html/saffran_lu/backoffice/data//auth/.passwd kilian fb1ia1ka 2>&1
+Password for user kilian correct.
+htpasswd -v -b -B /usr/home/dksalu/public_html/saffran_lu/backoffice/data//auth/.passwd kilian fb1ia1ka 2>&1
+Password for user kilian correct.
+htpasswd -v -b -B /usr/home/dksalu/public_html/saffran_lu/backoffice/data//auth/.passwd kilian fb1ia1ka 2>&1
+Password for user kilian correct.
+htpasswd -v -b -B /usr/home/dksalu/public_html/saffran_lu/backoffice/data//auth/.passwd kilian fb1ia1ka 2>&1
+Password for user kilian correct.
+htpasswd -v -b -B /usr/home/dksalu/public_html/saffran_lu/backoffice/data//auth/.passwd kilian fb1ia1ka 2>&1
+Password for user kilian correct.
+htpasswd -v -b -B /usr/home/dksalu/public_html/saffran_lu/backoffice/data//auth/.passwd kilian fb1ia1ka 2>&1
+Password for user kilian correct.
+htpasswd -v -b -B /usr/home/dksalu/public_html/saffran_lu/backoffice/data//auth/.passwd kilian fb1ia1ka 2>&1
+Password for user kilian correct.
+htpasswd -v -b -B /usr/home/dksalu/public_html/saffran_lu/backoffice/data//auth/.passwd kilian fb1ia1ka 2>&1
+Password for user kilian correct.
+htpasswd -v -b -B /usr/home/dksalu/public_html/saffran_lu/backoffice/data//auth/.passwd kilian fb1ia1ka 2>&1
+Password for user kilian correct.
+htpasswd -v -b -B /usr/home/dksalu/public_html/saffran_lu/backoffice/data//auth/.passwd kilian fb1ia1ka 2>&1
+Password for user kilian correct.
+htpasswd -v -b -B /usr/home/dksalu/public_html/saffran_lu/backoffice/data//auth/.passwd kilian fb1ia1ka 2>&1
+Password for user kilian correct.
+htpasswd -v -b -B /usr/home/dksalu/public_html/saffran_lu/backoffice/data//auth/.passwd kilian fb1ia1ka 2>&1
+Password for user kilian correct.
+htpasswd -v -b -B /usr/home/dksalu/public_html/saffran_lu/backoffice/data//auth/.passwd kilian fb1ia1ka 2>&1
+Password for user kilian correct.
+htpasswd -v -b -B /usr/home/dksalu/public_html/saffran_lu/backoffice/data//auth/.passwd kilian fb1ia1ka 2>&1
+Password for user kilian correct.
+htpasswd -v -b -B /usr/home/dksalu/public_html/saffran_lu/backoffice/data//auth/.passwd kilian fb1ia1ka 2>&1
+Password for user kilian correct.
+htpasswd -v -b -B /usr/home/dksalu/public_html/saffran_lu/backoffice/data//auth/.passwd kilian fb1ia1ka 2>&1
+Password for user kilian correct.
+htpasswd -v -b -B /usr/home/dksalu/public_html/saffran_lu/backoffice/data//auth/.passwd kilian fb1ia1ka 2>&1
+Password for user kilian correct.
+htpasswd -v -b -B /usr/home/dksalu/public_html/saffran_lu/backoffice/data//auth/.passwd kilian fb1ia1ka 2>&1
+Password for user kilian correct.
+htpasswd -v -b -B /usr/home/dksalu/public_html/saffran_lu/backoffice/data//auth/.passwd kilian fb1ia1ka 2>&1
+Password for user kilian correct.
+htpasswd -v -b -B /usr/home/dksalu/public_html/saffran_lu/backoffice/data//auth/.passwd kilian fb1ia1ka 2>&1
+Password for user kilian correct.
+htpasswd -v -b -B /usr/home/dksalu/public_html/saffran_lu/backoffice/data//auth/.passwd kilian fb1ia1ka 2>&1
+Password for user kilian correct.
+htpasswd -v -b -B /usr/home/dksalu/public_html/saffran_lu/backoffice/data//auth/.passwd kilian fb1ia1ka 2>&1
+Password for user kilian correct.
+htpasswd -v -b -B /usr/home/dksalu/public_html/saffran_lu/backoffice/data//auth/.passwd kilian fb1ia1ka 2>&1
+Password for user kilian correct.
+htpasswd -v -b -B /usr/home/dksalu/public_html/saffran_lu/backoffice/data//auth/.passwd kilian fb1ia1ka 2>&1
+Password for user kilian correct.
+htpasswd -v -b -B /usr/home/dksalu/public_html/saffran_lu/backoffice/data//auth/.passwd kilian fb1ia1ka 2>&1
+Password for user kilian correct.
+htpasswd -v -b -B /usr/home/dksalu/public_html/saffran_lu/backoffice/data//auth/.passwd kilian fb1ia1ka 2>&1
+Password for user kilian correct.
+htpasswd -v -b -B /usr/home/dksalu/public_html/saffran_lu/backoffice/data//auth/.passwd kilian fb1ia1ka 2>&1
+Password for user kilian correct.
+htpasswd -v -b -B /usr/home/dksalu/public_html/saffran_lu/backoffice/data//auth/.passwd kilian fb1ia1ka 2>&1
+Password for user kilian correct.
+htpasswd -v -b -B /usr/home/dksalu/public_html/saffran_lu/backoffice/data//auth/.passwd kilian fb1ia1ka 2>&1
+Password for user kilian correct.
+htpasswd -v -b -B /usr/home/dksalu/public_html/saffran_lu/backoffice/data//auth/.passwd kilian fb1ia1ka 2>&1
+Password for user kilian correct.
+htpasswd -v -b -B /usr/home/dksalu/public_html/saffran_lu/backoffice/data//auth/.passwd kilian fb1ia1ka 2>&1
+Password for user kilian correct.
+htpasswd -v -b -B /usr/home/dksalu/public_html/saffran_lu/backoffice/data//auth/.passwd kilian fb1ia1ka 2>&1
+Password for user kilian correct.
+htpasswd -v -b -B /usr/home/dksalu/public_html/saffran_lu/backoffice/data//auth/.passwd kilian fb1ia1ka 2>&1
+Password for user kilian correct.
+htpasswd -v -b -B /usr/home/dksalu/public_html/saffran_lu/backoffice/data//auth/.passwd kilian fb1ia1ka 2>&1
+Password for user kilian correct.
+htpasswd -v -b -B /usr/home/dksalu/public_html/saffran_lu/backoffice/data//auth/.passwd kilian fb1ia1ka 2>&1
+Password for user kilian correct.
+htpasswd -v -b -B /usr/home/dksalu/public_html/saffran_lu/backoffice/data//auth/.passwd kilian fb1ia1ka 2>&1
+Password for user kilian correct.
+htpasswd -v -b -B /usr/home/dksalu/public_html/saffran_lu/backoffice/data//auth/.passwd kilian fb1ia1ka 2>&1
+Password for user kilian correct.
+htpasswd -v -b -B /usr/home/dksalu/public_html/saffran_lu/backoffice/data//auth/.passwd kilian fb1ia1ka 2>&1
+Password for user kilian correct.
+htpasswd -v -b -B /usr/home/dksalu/public_html/saffran_lu/backoffice/data//auth/.passwd kilian fb1ia1ka 2>&1
+Password for user kilian correct.
+htpasswd -v -b -B /usr/home/dksalu/public_html/saffran_lu/backoffice/data//auth/.passwd kilian fb1ia1ka 2>&1
+Password for user kilian correct.
+htpasswd -v -b -B /usr/home/dksalu/public_html/saffran_lu/backoffice/data//auth/.passwd kilian fb1ia1ka 2>&1
+Password for user kilian correct.
+htpasswd -v -b -B /usr/home/dksalu/public_html/saffran_lu/backoffice/data//auth/.passwd kilian fb1ia1ka 2>&1
+Password for user kilian correct.
+htpasswd -v -b -B /usr/home/dksalu/public_html/saffran_lu/backoffice/data//auth/.passwd kilian fb1ia1ka 2>&1
+Password for user kilian correct.
+htpasswd -v -b -B /usr/home/dksalu/public_html/saffran_lu/backoffice/data//auth/.passwd kilian fb1ia1ka 2>&1
+Password for user kilian correct.
+htpasswd -v -b -B /usr/home/dksalu/public_html/saffran_lu/backoffice/data//auth/.passwd kilian fb1ia1ka 2>&1
+Password for user kilian correct.
+htpasswd -v -b -B /usr/home/dksalu/public_html/saffran_lu/backoffice/data//auth/.passwd kilian fb1ia1ka 2>&1
+Password for user kilian correct.
+htpasswd -v -b -B /usr/home/dksalu/public_html/usr/home/dksalu/public_html/saffran_lu/backoffice/data//auth/.passwd kilian fb1ia1ka 2>&1
+htpasswd: cannot modify file /usr/home/dksalu/public_html/usr/home/dksalu/public_html/saffran_lu/backoffice/data//auth/.passwd; use '-c' to create it
+htpasswd -v -b -B /usr/home/dksalu/public_html/usr/home/dksalu/public_html/saffran_lu/backoffice/data//auth/.passwd kilian fb1ia1ka 2>&1
+htpasswd: cannot modify file /usr/home/dksalu/public_html/usr/home/dksalu/public_html/saffran_lu/backoffice/data//auth/.passwd; use '-c' to create it
similarity index 91%
rename from backoffice/tmpl/module/profile/dlgpassword.tt
rename to backoffice/tmpl/block/dlgpassword.tt
index 7c3d6e3..ae0d2ef 100644 (file)
       </ul>
       </div>
       </div>
-      <div class="w3-container">
-        <label for="userpassword" class="w3-label">Nouveau mot de passe</label>
-        <input class="w3-input w3-border" type="password" id="userpassword" name="userpassword" value="" />
-      </div>
+     [% inputbox('htpasswd','auth',params.username,'Neues Passwort','password','','','','','') %]
       <div class="w3-container">
           <label for="userpassword" class="w3-label">retaper le nouveau mot de passe</label>
           <input class="w3-input w3-border" type="password" id="userpasswordcheck" name="userpasswordcheck" value="" />
index bdf7408..3e910a8 100644 (file)
@@ -1,29 +1,4 @@
 
   <!-- Required meta tags -->
-  <meta charset="utf-8">
-  <meta name="viewport" content="width=device-width, initial-scale=1.0">
-  <title>[% sitename %] - [% pagename %]</title>
-  <meta name="language" content="fr">
-    <meta name="author" content="DKS sarl">
-    <meta name="publisher" content="DKS sarl">
-    <meta name="copyright" content="DKS sarl">
-    <meta name="robots" content="noindex,nofollow">
-    <meta http-equiv="Cache-Control" content="no-cache, no-store, must-revalidate" />
-  <meta http-equiv="Pragma" content="no-cache" />
-  <meta http-equiv="Expires" content="0" />
-
-    <link rel="apple-touch-icon" sizes="57x57" href="img/favicon/apple-icon-57x57.png">
-<link rel="apple-touch-icon" sizes="60x60" href="img/favicon/apple-icon-60x60.png">
-<link rel="apple-touch-icon" sizes="72x72" href="img/favicon/apple-icon-72x72.png">
-<link rel="apple-touch-icon" sizes="76x76" href="img/favicon/apple-icon-76x76.png">
-<link rel="apple-touch-icon" sizes="114x114" href="img/favicon/apple-icon-114x114.png">
-<link rel="apple-touch-icon" sizes="120x120" href="img/favicon/apple-icon-120x120.png">
-<link rel="apple-touch-icon" sizes="144x144" href="img/favicon/apple-icon-144x144.png">
-<link rel="apple-touch-icon" sizes="152x152" href="img/favicon/apple-icon-152x152.png">
-<link rel="apple-touch-icon" sizes="180x180" href="img/favicon/apple-icon-180x180.png">
-<link rel="icon" type="image/png" sizes="192x192"  href="img/favicon/android-icon-192x192.png">
-<link rel="icon" type="image/png" sizes="32x32" href="img/favicon/favicon-32x32.png">
-<link rel="icon" type="image/png" sizes="96x96" href="img/favicon/favicon-96x96.png">
-<link rel="icon" type="image/png" sizes="16x16" href="img/favicon/favicon-16x16.png">
-<link rel="stylesheet" href="[% abspath %]css/w3pro.css">
+  
   
index 2cdc4d3..27032e9 100644 (file)
@@ -1,3 +1,31 @@
+[% MACRO inputhidden(column,table,ident,value) BLOCK -%]\r
+        <input type="hidden" class="data_[% table %]" id="[% column %]" name="[% IF ident %]ident_[% END %][% table %]_[% column %]" value="[% value %]">\r
+[% END -%]\r
+[% MACRO inputbox(column,table,id,title,type,classes,style,state,ivalue,plhold) BLOCK -%]\r
+  <div class="">\r
+        [% IF title %]<label for="[% table %]_[% column %]" class="w3-label">[% title %]</label>[% END %]\r
+        \r
+        <input type="[% IF type == 'currency' %]number[% ELSE %][% type %][% END %]" data-id="[% id %]" data-column="[% column %]" data-table="[% table %]" class="w3-input w3-border[% IF type == 'currency'%]w3-right-align w3-currency[% END %]  [% IF state %][% state %][% END %]"   id="[% table %]_[% column %][% IF id %]-[% id %][% END %]" name="[% table %]_[% column %]" value="[% ivalue %]" [% IF plhold %]placeholder="[% plhold %]" [% END %] [% IF state %][% state %][% END %]/>\r
+        \r
+      </div>\r
+[% END -%]\r
+[% MACRO selectbox(column,table,id,title,type,classes,style,state,value,plhold,xoptions) BLOCK -%]\r
+  [% IF state == 'readonly' || state == 'disabled'  %]\r
+    [% inputbox(column,table,id,title,'text',classes,style,state,value,plhold) %]\r
+  [% ELSE %]\r
+  <div class="">\r
+        [% IF title %]<label for="[% table %]_[% column %]" class="w3-label">[% title %]</label>[% END %]\r
+        <select class="w3-select w3-border data_[% table %] [% IF state.length > 0 %][% state %][% END %]" [% IF type == 'multiple' %]multiple=1[% END %] data-selected="[% value %]" data-id="[% id %]" data-column="[% column %]" data-table="[% table %]" value="[% value %]" id="[% table %]_[% column %][% IF id %]-[% id %][% END %]" name="[% table %]_[% column %]" [% IF plhold %]placeholder="[% plhold %]" [% END %] [% IF state.length > 0 %][% state %][% END %]>\r
+          [% IF xoptions %]\r
+          [% FOREACH opt IN xoptions %]\r
+            <option value="[% opt.value %]" class="[% opt.class %]">[% opt.text %]</option>\r
+          [% END %]\r
+          [% END %]\r
+        </select>\r
+        \r
+  </div>\r
+  [% END %]\r
+[% END -%]\r
 [% MACRO fieldhidden(column,table,ident,value) BLOCK -%]\r
         <input type="hidden" class="data_[% table %]" id="[% column %]" name="[% IF ident %]ident_[% END %][% table %]_[% column %]" value="[% value %]">\r
 [% END -%]\r
diff --git a/backoffice/tmpl/module/articles.tt b/backoffice/tmpl/module/articles.tt
new file mode 100644 (file)
index 0000000..a67e70e
--- /dev/null
@@ -0,0 +1,3 @@
+<div class="w3-display-container">
+  <h3>Artikel / News</h3>
+</div>
\ No newline at end of file
diff --git a/backoffice/tmpl/module/calendar.tt b/backoffice/tmpl/module/calendar.tt
new file mode 100644 (file)
index 0000000..3e8ffce
--- /dev/null
@@ -0,0 +1,3 @@
+<div class="w3-display-container">
+  <h3>Kalender</h3>
+</div>
\ No newline at end of file
diff --git a/backoffice/tmpl/module/index.tt b/backoffice/tmpl/module/index.tt
new file mode 100644 (file)
index 0000000..81fc0fb
--- /dev/null
@@ -0,0 +1,6 @@
+<div class="w3-display-container w3-margin">
+  <h3>Dashboard</h3>
+</div>
+<div class="w3-container">
+    <div class="w3-panel" id="msg">TEST</div>
+</div>
diff --git a/backoffice/tmpl/module/media.tt b/backoffice/tmpl/module/media.tt
new file mode 100644 (file)
index 0000000..d63310e
--- /dev/null
@@ -0,0 +1,3 @@
+<div class="w3-display-container">
+  <h3>media</h3>
+</div>
\ No newline at end of file
diff --git a/backoffice/tmpl/module/profile.tt b/backoffice/tmpl/module/profile.tt
new file mode 100644 (file)
index 0000000..3ebc127
--- /dev/null
@@ -0,0 +1,47 @@
+\r
+[% PROCESS macro/fields.tt %]\r
+<div class="w3-display-container w3-margin">\r
+    <div class="w3-container"><h3>Profile</h3></div>\r
+    <div class="w3-container w3-cell-row">\r
+    <div class="w3-container w3-cell">\r
+      <fieldset>\r
+        <legend>données d'accès</legend>\r
+        [% fieldeditbox('username','auth','Login','','','') %]\r
+        [% fieldeditbox('email','auth','E-Mail','','','') %]\r
+        <div class="w3-container w3-margin">\r
+          <button class="w3-button w3-right-align w3-light-grey" onclick="">Spaicheren</button>\r
+        </div>\r
+      </fieldset>\r
+    </div>\r
+    <div class="w3-container w3-cell">\r
+      <fieldset>\r
+        <legend>Passwort</legend>\r
+        <div id="msg">\r
+          <div class="panel w3-blue-grey w3-padding">\r
+          Votre mot de passe doit avoir:\r
+          <ul>\r
+            <li>au moins 10 charatères</li>\r
+            <li>des lettres majuscule et minuscules</li>\r
+            <li>au moins 1 nombre</li>\r
+          </ul>\r
+          </div>\r
+          </div>\r
+          [% inputbox('pwd1','auth',params.username,'Neues Passwort','password','','','','','') %]\r
+          [% inputbox('pwd2','auth',params.username,'Passwort wiederholen','password','','','','','') %]\r
+      </fieldset>\r
+    </div>\r
+    <div class="w3-container w3-cell">\r
+      <fieldset>\r
+        <legend>données personnelles</legend>\r
+        [% fieldeditbox('surname','auth','Nom','','') %]\r
+        [% fieldeditbox('prename','auth','Prénom','','') %]\r
+      </fieldset>\r
+    </div> \r
+    </div> \r
+</div>\r
+      \r
\r
+\r
+\r
+  \r
+\r
diff --git a/backoffice/tmpl/module/profile/index.tt b/backoffice/tmpl/module/profile/index.tt
deleted file mode 100644 (file)
index 41f2139..0000000
+++ /dev/null
@@ -1,45 +0,0 @@
-\r
-[% PROCESS macro/fields.tt %]\r
-<div class="w3-display-container w3-margin">\r
-    <div class="w3-container w3-padding-24 w3-card w3-margin-bottom">\r
-    <form id="frm_users">\r
-        <h3>données d'accès</h3>\r
-        <div class="w3-row-padding">\r
-            <div class="w3-container w3-half">\r
-             [% #fieldhidden('users','id','ident') %]\r
-            [% fieldeditbox('username','users','E-Mail (Login)','','readonly','') %]\r
-            <div class="w3-container">\r
-                <button class="w3-button w3-blue-grey w3-margin" onclick="opendlgusername();return false;">Changer E-Mail (Login)</button>\r
-              </div> \r
-            </div>\r
-            <div class="container w3-half w3-margin-top w3-padding">\r
-              \r
-            <button class="w3-button w3-blue-grey" onclick="opendlgpassword();return false;">Changer mot de passe</button>\r
-          </div>\r
-        </div>\r
-    </form>\r
-    </div>\r
-      \r
-      <div class="w3-container w3-padding-24 w3-card  w3-margin-bottom">\r
-        <form id="frm_members">\r
-        <h3>données personelles</h3>\r
-        <div class="w3-row-padding"> \r
-        <div class="w3-container">\r
-          \r
-          [% fieldhidden('id','members','ident') %]\r
-          [% fieldeditbox('surname','members','Nom','w3-half','') %]\r
-          [% fieldeditbox('prename','members','Prénom','w3-half','') %]\r
-          [% fieldeditbox('job','members','Position','w3-half','') %]\r
-          [% fieldeditbox('phone','members','Téléphone','w3-half','') %]\r
-      </div>\r
-        [% formsavebutton('members','sauvegarder') %]\r
-          </div>\r
-        </form> \r
-      </div>\r
-  </div>    \r
-\r
-   [% #INCLUDE block/dlgcropper.tt %]\r
-  [% INCLUDE module/profile/dlgpassword.tt %]\r
-  [% INCLUDE module/profile/dlgusername.tt %]\r
-  \r
-\r
diff --git a/backoffice/tmpl/module/settings.tt b/backoffice/tmpl/module/settings.tt
new file mode 100644 (file)
index 0000000..699aaf4
--- /dev/null
@@ -0,0 +1,3 @@
+<div class="w3-display-container">
+  <h3>Einstellungen</h3>
+</div>
\ No newline at end of file
diff --git a/backoffice/tmpl/module/webpages.tt b/backoffice/tmpl/module/webpages.tt
new file mode 100644 (file)
index 0000000..9464fad
--- /dev/null
@@ -0,0 +1,3 @@
+<div class="w3-display-container">
+  <h3>Webseiten</h3>
+</div>
\ No newline at end of file
index 149fece..ca9891b 100644 (file)
@@ -1,73 +1,57 @@
-[% PROCESS macro/fields.tt %]
-[% USE dksdb = DBI(dsn, dbuser, dbpassword) %] 
-[% appgaccess = dksdb.prepare("select ap.icon,ap.app,ap.name,ug.usergroup from useringroups uig join apps ap on (uig.id_group=ap.id_usergroup) join usergroups ug on (uig.id_group=ug.id) where uig.id_user=? 
-group by ap.id,ug.id order by ap.sort;") %]
-[% appsaccess = dksdb.prepare("select ap.icon,ap.app,ap.name,ug.usergroup from useringroups uig join apps ap on (uig.id_group=ap.id_usergroup) join usergroups ug on (uig.id_group=ug.id) where uig.id_user=? and menutype = 'schema'
-group by ap.id,ug.id order by ap.sort;") %]
+
 <!DOCTYPE html>
 <html lang="en">
 <head>
-[% INCLUDE block/head.tt %]
- <link rel="stylesheet" href="[% abspath %]vendors/choices/choices.css">
+    <meta charset="utf-8">
+    <meta name="viewport" content="width=device-width, initial-scale=1.0">
+    <title>[% sitename %] - [% pagename %]</title>
+    <meta name="language" content="fr">
+      <meta name="author" content="DKS sarl">
+      <meta name="publisher" content="DKS sarl">
+      <meta name="copyright" content="DKS sarl">
+      <meta name="robots" content="noindex,nofollow">
+      <meta http-equiv="Cache-Control" content="no-cache, no-store, must-revalidate" />
+    <meta http-equiv="Pragma" content="no-cache" />
+    <meta http-equiv="Expires" content="0" />
+  
+      <link rel="apple-touch-icon" sizes="57x57" href="[% abspath %]img/favicon/apple-icon-57x57.png">
+  <link rel="apple-touch-icon" sizes="60x60" href="[% abspath %]img/favicon/apple-icon-60x60.png">
+  <link rel="apple-touch-icon" sizes="72x72" href="[% abspath %]img/favicon/apple-icon-72x72.png">
+  <link rel="apple-touch-icon" sizes="76x76" href="[% abspath %]img/favicon/apple-icon-76x76.png">
+  <link rel="apple-touch-icon" sizes="114x114" href="[% abspath %]img/favicon/apple-icon-114x114.png">
+  <link rel="apple-touch-icon" sizes="120x120" href="[% abspath %]img/favicon/apple-icon-120x120.png">
+  <link rel="apple-touch-icon" sizes="144x144" href="[% abspath %]img/favicon/apple-icon-144x144.png">
+  <link rel="apple-touch-icon" sizes="152x152" href="[% abspath %]img/favicon/apple-icon-152x152.png">
+  <link rel="apple-touch-icon" sizes="180x180" href="[% abspath %]img/favicon/apple-icon-180x180.png">
+  <link rel="icon" type="image/png" sizes="192x192"  href="[% abspath %]img/favicon/android-icon-192x192.png">
+  <link rel="icon" type="image/png" sizes="32x32" href="[% abspath %]img/favicon/favicon-32x32.png">
+  <link rel="icon" type="image/png" sizes="96x96" href="[% abspath %]img/favicon/favicon-96x96.png">
+  <link rel="icon" type="image/png" sizes="16x16" href="[% abspath %]img/favicon/favicon-16x16.png">
+  <link rel="stylesheet" href="[% abspath %]css/w3pro.css">
+  <link rel="stylesheet" href="[% abspath %]css/dkstheme.css">
 </head>
 <body>
-
-    <!-- NEW -->
-    <div class="w3-top">
-    <div class="w3-bar w3-theme-light w3-large" style="z-index:4;">
-        <button class="w3-bar-item w3-button w3-hide-large w3-hover-none w3-hover-text-light-grey" onclick="w3_open();" id="btnsidemenu"><img src="[% abspath %][% staticpath %]img/icons/menu.svg" style="height: 33px;"/></button>
-        <span class="w3-bar-item w3-hide-large">POT</span>
-        <!--<div class="w3-third">
-        
-        <div>-->
-        <!--<div class="w3-dropdown-hover w3-right">
-    <button class="w3-button w3-border w3-light-grey"><img src="[% abspath %]img/icons/user.svg" style="width: 24px;"> Profile</button>
-    <div class="w3-dropdown-content w3-bar-block" style="right: 0px;">-->
-    [% #FOREACH ap = appgaccess.execute(session.id) %]
-            <!--<a href="javascript:admin.loadpage('module/[% ap.app %]/index.html','[% ap.name %]');" class="w3-bar-item w3-button w3-border">
-                <img src="[% abspath %]img/icons/[% ap.icon %]" style="width: 24px;">&nbsp;[% ap.name %]
-            </a>-->
-            [% #END %]
-      
-      
-    <!--</div>
-  </div>-->
-        <span class="w3-bar-item w3-right" id="modulename"></span>
+    <div class="w3-display-container w3-display-top">
+    <div class="w3-bar DKS" id="toolbar">
+        <button onclick="app.refesh();" class="Button_Navigation w3-bar-item"><img  src="[% abspath %]img/toplogo.png" style="height: 28px;"/><br/>Home</button>
+       <div class="w3-bar-item PageHeadTitle">Website Admin</div>
+      <button class="w3-bar-item Button_Navigation" onclick="app.getpage('profile');"><img src="[% abspath %]img/icons/user_white.svg" style="width: 28px;"><br/>Profile</button>
+      <button class="w3-bar-item Button_Navigation" onclick="app.getpage('users');"><img src="[% abspath %]img/icons/group_white.svg" style="width: 28px;"><br/>Benutzer</button>
+      <button class="w3-bar-item Button_Navigation" onclick="app.getpage('settings');"><img src="[% abspath %]img/icons/settings_white.svg" style="width: 28px;"><br/>Einstellungen</button>
+      <button class="w3-bar-item Button_Navigation" onclick="app.getpage('webpages');"><img src="[% abspath %]img/icons/website_white.svg" style="width: 28px;"><br/>Webseiten</button>
+      <button class="w3-bar-item Button_Navigation" onclick="app.getpage('articles');"><img src="[% abspath %]img/icons/newspaper_white.svg" style="width: 28px;"><br/>Artikel</button>
+      <button class="w3-bar-item Button_Navigation" onclick="app.getpage('media');"><img src="[% abspath %]img/icons/pictures_white.svg" style="width: 28px;"><br/>Media</button>
+      <button class="w3-bar-item Button_Navigation" onclick="app.getpage('calendar');"><img src="[% abspath %]img/icons/calendar_white.svg" style="width: 28px;"><br/>Events</button>
+       <button onclick="app.logout();" class="w3-bar-item Button_Navigation w3-right"><img src="[% abspath%]img/icons/logout_white.svg" style="height: 28px;"><br/>Logout</button>
     </div>
     </div>
-    <nav class="w3-sidebar w3-collapse w3-theme-light w3-animate-left" id="mySidebar" style="z-index:3;width:200px;margin-top: -10px;">
-        <div class="w3-bar-block">
-            <div class="w3-bar-item w3-large">POT</div>
-            <a class="w3-bar-item w3-button w3-padding-16 w3-hide-large w3-dark-grey w3-hover-black" href="javascript:w3_close();" title="close menu">Close Menu</a>
-            
-            <!--TODO admin selector -->
-            
-            <a href="javascript:admin.loadpage('module/dashboard/index.html','Dashboard');" class="w3-bar-item w3-button w3-padding w3-border">
-                <img src="[% abspath %]img/icons/dashboard.svg" style="width: 24px;">&nbsp;Dashboard
-            </a>
-            [% fieldselectbox('schemata','company','','w3-block','','','') %]
-            [% FOREACH ap = appgaccess.execute(session.id) %]
-            <a href="javascript:admin.loadpage('module/[% ap.app %]/index.html','[% ap.name %]');" class="w3-bar-item w3-button w3-padding w3-border">
-                <img src="[% abspath %]img/icons/[% ap.icon %]" style="width: 24px;">&nbsp;[% ap.name %]
-            </a>
-            [% END %]
-            <a href="javascript:admin.logout();" class="w3-bar-item w3-button w3-dark-grey w3-hover-black">Logout</a>
-        </div>
-    </nav>
-    <div class="w3-overlay w3-hide-large w3-animate-opacity" id="myOverlay" onclick="w3_close()" style="cursor:pointer" title="close side menu"></div>
+    <div class="w3-display-container" id="mainapp" style="height: calc(100vh - 63px);">
+        [% INCLUDE $page %]
     </div>
-    <div class="w3-display-container w3-main" style="margin-left:200px;margin-top:13px;">
-        <div class="w3-display-container" id="main">
-            <iframe id="moduleframe" sandbox="allow-forms allow-pointer-lock allow-same-origin allow-scripts allow-top-navigation allow-modals allow-popups allow-popups-to-escape-sandbox" src="module/dashboard/index.html" style="margin-top: 30px; bottom: 0px;border: 0px;height: 92vh;width: 100%; overflow-y: scroll;"></iframe>
-        </div>
-    </div>
-
-    <!-- END NEW -->
 
 
     <script type="text/javascript" src="js/request.js"></script>
-    <script type="text/javascript" src="js/admin.js"></script>
-    <script type="text/javascript" src="vendors/choices/choices.js"></script>
+    <script type="text/javascript" src="js/app.js"></script>
 </body>
 
 </html>
\ No newline at end of file
index 12f343b..742f22b 100644 (file)
@@ -1,4 +1,4 @@
-[% USE dksdb = DBI(dsn, dbuser, dbpassword) %]\r
+\r
 \r
 <!DOCTYPE html>\r
 <html lang="fr">\r
@@ -29,7 +29,7 @@
 \r
 <body>\r
 <div style="padding: 0px; margin:0px;">\r
-  [% IF session.id %]\r
+  [% IF session.username %]\r
   [% INCLUDE $page %]\r
   </div>\r
   \r