first commit
This commit is contained in:
376
xxx/app/lib/XxxApp/Controller/Api/Jstreetemplate.pm
Normal file
376
xxx/app/lib/XxxApp/Controller/Api/Jstreetemplate.pm
Normal file
@@ -0,0 +1,376 @@
|
||||
package XxxApp::Controller::Api::Jstreetemplate;
|
||||
use Mojo::Base 'Mojolicious::Controller';
|
||||
use Data::Printer;
|
||||
|
||||
my @liste = qw|Anstand
|
||||
Aufmerksamkeit
|
||||
Auftrieb
|
||||
Ausgelassenheit
|
||||
Ausgewogenheit
|
||||
Auszeichnung
|
||||
Bedeutung
|
||||
Begeisterung
|
||||
Beglückung
|
||||
Behaglichkeit
|
||||
Beherztheit
|
||||
Belohnung
|
||||
Bereicherung
|
||||
Bewunderung
|
||||
Chance
|
||||
Charisma
|
||||
Charme
|
||||
Dankbarkeit
|
||||
Daseinsfreude
|
||||
Ehrlichkeit
|
||||
Einfallsreichtum
|
||||
Einigkeit
|
||||
Empfehlung
|
||||
Energie
|
||||
Engagement
|
||||
Entspannung
|
||||
Erfolg
|
||||
Erfüllung
|
||||
Ermutigung
|
||||
Faszination
|
||||
Freiheit
|
||||
Freude
|
||||
Freunde
|
||||
Freundlichkeit
|
||||
Fröhlichkeit
|
||||
Fülle
|
||||
Füreinandereintreten
|
||||
Gabe
|
||||
Geduld
|
||||
Gegenseitigkeit
|
||||
Gemeinschaftsgeist
|
||||
Geschenk
|
||||
Geschlossenheit
|
||||
Gesundheit
|
||||
Glück
|
||||
Glückseligkeit
|
||||
Glückwunsch
|
||||
Großzügigkeit
|
||||
Güte
|
||||
Harmonie
|
||||
Hauptgewinn
|
||||
Heiterkeit
|
||||
Herzenswärme
|
||||
Herzensgüte
|
||||
Herzlichkeit
|
||||
Hilfsbereitschaft
|
||||
Hinwendung
|
||||
Hochgefühl
|
||||
Hoffnung
|
||||
Höflichkeit
|
||||
Idealismus
|
||||
Intuition
|
||||
Ideenreichtum
|
||||
Idylle
|
||||
Inspiration
|
||||
Interesse
|
||||
Jubel
|
||||
Jugendlichkeit
|
||||
Kompliment
|
||||
Köstlichkeit
|
||||
Kraft
|
||||
Kreativität
|
||||
Lächeln
|
||||
Lachen
|
||||
Leben
|
||||
Lebenslust
|
||||
Lebendigkeit
|
||||
Lebensfreude
|
||||
Lebhaftigkeit
|
||||
Leichtigkeit
|
||||
Leidenschaft
|
||||
Liebe
|
||||
Liebenswürdigkeit
|
||||
Luxus
|
||||
Munterkeit
|
||||
Mut
|
||||
Nähe
|
||||
Offenheit
|
||||
Optimismus
|
||||
Originalität
|
||||
Pracht
|
||||
Prestige
|
||||
Problemlösung
|
||||
Pünktlichkeit
|
||||
Reichhaltigkeit
|
||||
Reichtum
|
||||
Respekt
|
||||
Richtigkeit
|
||||
Rücksicht
|
||||
Rücksichtnahme
|
||||
Schönheit
|
||||
Schutz
|
||||
Seelenverwandtschaft
|
||||
Selbstachtung
|
||||
Selbstbestimmung
|
||||
Selbstliebe
|
||||
Selbstlosigkeit
|
||||
Selbstsicherheit
|
||||
Selbstwertgefühl
|
||||
Selbstzufriedenheit
|
||||
Seligkeit
|
||||
Sicherheit
|
||||
Solidarität
|
||||
Sorgfalt
|
||||
Spaß
|
||||
Spontanität
|
||||
Stärke
|
||||
Sympathie
|
||||
Toleranz
|
||||
Treue
|
||||
Überfluss
|
||||
Überraschung
|
||||
Überschwang
|
||||
Überzeugung
|
||||
Überzeugungskraft
|
||||
Unbeschwertheit
|
||||
Unterstützung
|
||||
Verbesserung
|
||||
Verbundenheit
|
||||
Verehrung
|
||||
Verlockung
|
||||
Verspieltheit
|
||||
Verständnis
|
||||
Vertrauen
|
||||
Vertrauenswürdigkeit
|
||||
Vertrautheit
|
||||
Vertraulichkeit
|
||||
Vielfalt
|
||||
Vielseitigkeit
|
||||
Wahrhaftigkeit
|
||||
Wärme
|
||||
Willenskraft
|
||||
Willkommen
|
||||
Wohlbefinden
|
||||
Wohlgefallen
|
||||
Wohlstand
|
||||
Wohltat
|
||||
Wonne
|
||||
Würde
|
||||
Wunder
|
||||
Zauber
|
||||
Zufriedenheit
|
||||
Zuneigung
|
||||
Zusammengehörigkeit
|
||||
Zusammenhalt
|
||||
Zuverlässigkeit
|
||||
Zuwendung|;
|
||||
|
||||
sub jstreedata {
|
||||
my $c = shift->openapi->valid_input or return;
|
||||
|
||||
my ($src, $tab ) = _generatetestdata();
|
||||
|
||||
my @tree;
|
||||
push @tree, @{$src};
|
||||
push @tree, @{$tab};
|
||||
|
||||
return $c->render(json => { rc => 0, msg => 'OK', data => \@tree} );
|
||||
}
|
||||
|
||||
sub _generatetestdata {
|
||||
my ( $liste ) = @_;
|
||||
my $src;
|
||||
my $tab;
|
||||
my $cnt = @liste;
|
||||
|
||||
my $first = int(rand( 10));
|
||||
$first ++;
|
||||
my $second = int(rand( 10));
|
||||
$second ++;
|
||||
my $third = int(rand( 10));
|
||||
$third ++;
|
||||
|
||||
for my $f ( 1..$first ) {
|
||||
my $word = int(rand( $cnt ));
|
||||
push @{$src}, { parent => '#', id => $f, text => $liste[$word] };
|
||||
|
||||
for my $s ( 1..$second ) {
|
||||
my $fs = $f * 10 + $s;
|
||||
my $wordchild = int(rand( $cnt ));
|
||||
push @{$tab}, { parent => $f, id => $fs, text => $liste[$wordchild] };
|
||||
|
||||
for my $t ( 1..$third ) {
|
||||
my $fst = $fs * 10 + $t;
|
||||
my $wordchild2 = int(rand( $cnt ));
|
||||
push @{$tab}, { parent => $fs, id => $fst, text => $liste[$wordchild2] },
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return ($src, $tab );
|
||||
}
|
||||
|
||||
sub datatablesdata {
|
||||
my $c = shift->openapi->valid_input or return;
|
||||
my $cnt = @liste;
|
||||
|
||||
my $rows = int(rand( 1000));
|
||||
$rows ++;
|
||||
my @data;
|
||||
|
||||
for my $d ( 0..$rows ) {
|
||||
my $col1 = int(rand( $cnt ));
|
||||
my $col2 = int(rand( $cnt ));
|
||||
my $col3 = int(rand( $cnt ));
|
||||
my $col4 = int(rand( $cnt ));
|
||||
my $col5 = int(rand( $cnt ));
|
||||
my $col6 = int(rand( $cnt ));
|
||||
my $col7 = int(rand( $cnt ));
|
||||
my $col8 = int(rand( $cnt ));
|
||||
my $col9 = int(rand( $cnt ));
|
||||
|
||||
push @data, { col1 => $liste[$col1], col2 => $liste[$col2], col3 => $liste[$col3], col4 => $liste[$col4], col5 => $liste[$col5], col6 => $liste[$col6], col7 => $liste[$col7], col8 => $liste[$col8], col9 => $liste[$col9] };
|
||||
}
|
||||
|
||||
|
||||
return $c->render(json => { rc => 0, msg => 'OK', data => \@data} );
|
||||
}
|
||||
|
||||
|
||||
###
|
||||
sub listfiles {
|
||||
my $self = shift;
|
||||
|
||||
my $id = $self->stash('todoid');
|
||||
|
||||
my $sql = "SELECT idma,
|
||||
size,
|
||||
created,
|
||||
info,
|
||||
type,
|
||||
name
|
||||
FROM todo_master_files
|
||||
WHERE id = ? and deleted = 0";
|
||||
|
||||
my ( $rc, $msg, $data ) = $self->dbxxx->query_hash_array( $sql, $id );
|
||||
|
||||
return $self->render( json => { rc => $rc, msg => $msg, data => $data} );
|
||||
}
|
||||
|
||||
|
||||
sub blob {
|
||||
my $self = shift;
|
||||
|
||||
my $dbh = $self->dbxxx->get;
|
||||
return (1, "kein DB-Handle bekommen") if !defined $dbh;
|
||||
|
||||
my $cursor = $dbh->prepare("SELECT file, type FROM todo_master_files where idma = ?");
|
||||
$cursor->execute($self->stash('idma'));
|
||||
my @data = $cursor->fetchrow;
|
||||
$cursor->finish;
|
||||
|
||||
my $blob;
|
||||
|
||||
if ( defined $data[0]) {
|
||||
$blob = encode_base64($data[0]);
|
||||
} else {
|
||||
$blob = '';
|
||||
}
|
||||
|
||||
$self->dbxxx->free($dbh);
|
||||
return $self->render( json => { blob => $blob, type => $data[1] });
|
||||
}
|
||||
|
||||
|
||||
sub update {
|
||||
# update eines eintrages der Mastertabelle
|
||||
my $self = shift;
|
||||
|
||||
my $todoid = $self->stash('todoid');
|
||||
return $self->render( json => { rc => 1, msg => "Die todoid fehlt"} ) if ( $todoid eq "" ) ;
|
||||
|
||||
my $daten = $self->req->json;
|
||||
|
||||
return $self->render( json => { rc => 1, msg => 'Programmname fehlt'} ) if ( !defined $daten->{name} or $daten->{name} eq "" );
|
||||
return $self->render( json => { rc => 1, msg => 'Verantwortlichkeit zuweisen'} ) if ( !defined $daten->{who} or $daten->{who} eq "" );
|
||||
return $self->render( json => { rc => 1, msg => 'Prozesszuweisung fehlt'} ) if ( !defined $daten->{prozess} or $daten->{prozess} eq "" );
|
||||
return $self->render( json => { rc => 1, msg => 'Festellung definieren'} ) if ( !defined $daten->{todoinfo} or $daten->{todoinfo} eq "" );
|
||||
return $self->render( json => { rc => 1, msg => 'ext fehlt'} ) if ( !defined $daten->{ext} );
|
||||
|
||||
my $sql = "UPDATE todo_master set
|
||||
name = ?,
|
||||
who = ?,
|
||||
prozess = ?,
|
||||
todoinfo = ?,
|
||||
status = ?,
|
||||
finishdate = ?,
|
||||
closed = ?,
|
||||
notes_master = ?,
|
||||
targetdate_master = ?,
|
||||
ext = ?
|
||||
WHERE id = ?";
|
||||
|
||||
my ($rc, $msg ) = $self->dbxxx->query_res( $sql, $daten->{'name'},
|
||||
$daten->{'who'},
|
||||
$daten->{'prozess'},
|
||||
$daten->{'todoinfo'},
|
||||
$daten->{'status'},
|
||||
$daten->{'finishdate'},
|
||||
$daten->{'closed'},
|
||||
$daten->{'notes_master'},
|
||||
$daten->{'targetdate_master'},
|
||||
$daten->{'ext'},
|
||||
$todoid);
|
||||
return $self->render(json => { rc => $rc, msg => $msg });
|
||||
}
|
||||
|
||||
|
||||
sub insert_file {
|
||||
my $self = shift;
|
||||
|
||||
my $file = $self->param("file");
|
||||
my $todoid = $self->param("id");
|
||||
my $info = $self->param("info");
|
||||
|
||||
return $self->render(json => { rc => 1, msg => "Die todoid fehlt"} ) if ( $todoid eq "" ) ;
|
||||
return $self->render(json => { rc => 1, msg => "Die Info fehlt"} ) if ( $info eq "" ) ;
|
||||
return $self->render(json => { rc => 1, msg => 'file'}) if (!defined $file->asset->slurp or $file->asset->slurp eq "");
|
||||
return $self->render(json => { rc => 1, msg => 'name'}) if (!defined $file->filename or $file->filename eq "");
|
||||
return $self->render(json => { rc => 1, msg => 'type'}) if (!defined $file->headers->content_type or $file->headers->content_type eq "");
|
||||
return $self->render(json => { rc => 1, msg => 'size'}) if (!defined $file->size or $file->size eq "");
|
||||
|
||||
my $sql = "INSERT INTO todo_master_files (id, file, type, name, size, info) VALUES (?,?,?,?,?,?)";
|
||||
|
||||
my ($rc, $msg ) = $self->dbxxx->query_res( $sql, $todoid, $file->asset->slurp, $file->headers->content_type, $file->filename, $file->size, $info );
|
||||
|
||||
return $self->render(template => 'main/todo_main');
|
||||
}
|
||||
|
||||
|
||||
sub insert_datei {
|
||||
my $self = shift;
|
||||
|
||||
my $daten = $self->req->json;
|
||||
my $id = $self->stash("todoid");
|
||||
|
||||
return $self->render(json => { rc => 1, msg => "Die ID fehlt"} ) if ( $id eq "" ) ;
|
||||
my $filebase64 = $daten->{file};
|
||||
$filebase64 =~ s/data:$daten->{type};base64//;
|
||||
|
||||
my $file = decode_base64($filebase64);
|
||||
|
||||
my $sql = "INSERT INTO todo_master_files (id, file, type, name, size, info) VALUES (?,?,?,?,?,?)";
|
||||
|
||||
my ($rc, $msg ) = $self->dbxxx->query_res( $sql, $id, $file, $daten->{type}, $daten->{name}, $daten->{size}, $daten->{info});
|
||||
# oder mit der zurückgegebenen id
|
||||
# my ($rc, $msg, $insid ) = $self->dbkoma->query_inserted_id( $sql, $id, $file, $daten->{type}, $daten->{name}, $daten->{size}, $daten->{info});
|
||||
|
||||
return $self->render(json => { rc => $rc, msg => $msg });
|
||||
}
|
||||
|
||||
|
||||
sub deletefile {
|
||||
my $self = shift;
|
||||
my $id = $self->stash('idma');
|
||||
return $self->render(json => { rc => 1, msg => "Die idma fehlt"}) if ( $id eq "" ) ;
|
||||
|
||||
my ($rc, $msg) = $self->dbxxx->query_res( "DELETE FROM todo_master_files WHERE idma = ?", $id);
|
||||
return $self->render( json => { rc => $rc, msg => $msg });
|
||||
}
|
||||
|
||||
1;
|
||||
10
xxx/app/lib/XxxApp/Controller/Menu.pm
Normal file
10
xxx/app/lib/XxxApp/Controller/Menu.pm
Normal file
@@ -0,0 +1,10 @@
|
||||
package XxxApp::Controller::Menu;
|
||||
use Mojo::Base 'Mojolicious::Controller';
|
||||
|
||||
sub jstreetemplate {
|
||||
my $c = shift;
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
1;
|
||||
30
xxx/app/lib/XxxApp/Helpers.pm
Normal file
30
xxx/app/lib/XxxApp/Helpers.pm
Normal file
@@ -0,0 +1,30 @@
|
||||
package XxxApp::Helpers;
|
||||
use Mojo::Base 'Mojolicious::Plugin';
|
||||
|
||||
sub register {
|
||||
my ($self, $app, $args) = @_;
|
||||
|
||||
$app->helper('trim' => \&_trim);
|
||||
$app->helper('debuglog' => \&_debuglog);
|
||||
|
||||
$app->log->info(sprintf('REGISTERED: %s', __PACKAGE__)) if !!$args->{verbose};
|
||||
return;
|
||||
}
|
||||
|
||||
# Führende und nachfolgende Leerzeichen entfernen
|
||||
sub _trim {
|
||||
my ($c, $str) = @_;
|
||||
$str =~ s/^\s+|\s+$//g;
|
||||
return $str;
|
||||
};
|
||||
|
||||
sub _debuglog {
|
||||
my ($c, $info) = @_;
|
||||
if ( $c->config->{logging}->{level} =~ /trace|debug/ ) {
|
||||
$c->log->debug($info);
|
||||
}
|
||||
|
||||
return 1;
|
||||
}
|
||||
|
||||
1;
|
||||
53
xxx/app/lib/XxxApp/Main.pm
Normal file
53
xxx/app/lib/XxxApp/Main.pm
Normal file
@@ -0,0 +1,53 @@
|
||||
package XxxApp::Main;
|
||||
use Mojo::Base 'Mojolicious::Controller';
|
||||
|
||||
sub main {
|
||||
my $self = shift;
|
||||
return $self->render( template => 'main/main', title => 'Xxx', msg => '' );
|
||||
}
|
||||
|
||||
|
||||
sub login {
|
||||
my $self = shift;
|
||||
|
||||
# Grab the request parameters
|
||||
my $username = $self->param('username');
|
||||
my $password = $self->param('password');
|
||||
|
||||
my $developer = ($username eq 'developer' and $password eq 'wbdfgmnjke834dshf89w7rsdfsdjf' and $self->app->mode =~ /development/xms ) ? 1 : 0;
|
||||
|
||||
if ( $developer or $self->authenticate( $username, $password )) {
|
||||
$self->session->{msg} = 'Login erfolgreich!';
|
||||
push @{$self->session->{privs}}, 'user';
|
||||
} else {
|
||||
$self->logoff();
|
||||
$self->session->{url} = '/login';
|
||||
$self->session->{msg} = 'Fehler, das Login wurde abgewiesen!';
|
||||
}
|
||||
|
||||
return $self->redirect_to( defined $self->session->{url} ? $self->session->{url} : "/" );
|
||||
}
|
||||
|
||||
sub loginform {
|
||||
my $self = shift;
|
||||
return $self->render( title => 'xxx: Main', msg => '', sess => $self->session);
|
||||
}
|
||||
|
||||
|
||||
sub userinfo {
|
||||
my $self = shift;
|
||||
return $self->render( title => 'xxx: Userinfo', sess => $self->session, msg => 'Du besitzt folgende Rechte:');
|
||||
}
|
||||
|
||||
|
||||
sub getoff {
|
||||
my $self = shift;
|
||||
$self->logoff();
|
||||
delete $self->session->{privs};
|
||||
$self->session->{url} = '/';
|
||||
$self->session->{msg} = 'bye, bye ...';
|
||||
return $self->redirect_to( "/");
|
||||
}
|
||||
|
||||
|
||||
1;
|
||||
Reference in New Issue
Block a user