377 lines
9.1 KiB
Perl
377 lines
9.1 KiB
Perl
package Xxx::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;
|