=head1 list_zustand

Listet einen Eintrag einer Zustandstabelle auf.

=head2 Argumente

=over 4

=item $typ

Name der Tabelle (ohne "zustand" hintendran).

=item $id

ID des Eintrags.

=item $kn

Standard-Prompt.

Wird hier ignoriert.

=back

=head2 Ergebnis

Nix.

=cut

use utf8;
use warnings; no warnings "redefine";
use strict;
use Fehler qw(problem);
use Loader qw(line_printer);
use Dbase::Help qw(DoSelect isotime);
use Dbase::Globals qw(get_descr flag_names);

sub list_zustand($$;$$) {
	my($typ,$id,$kn,$tkn) = @_;
	$tkn = ucfirst($typ) unless defined $tkn;

	line_printer;

	my $res = DoSelect {
		my($timestamp,$von,$erkannt,$nach,$aktionen,$ticketstatus,$status,$ai,$rs) = @_;
		print $Db::pr_fh "ID          : $id\n";
		print $Db::pr_fh "Timestamp   : ".isotime($timestamp)."\n";
		print $Db::pr_fh "von Status  : $von:".get_descr("${typ}status",$von)."\n";
		print $Db::pr_fh "    Event   : $erkannt:".get_descr("${typ}status",$erkannt)."\n";
		print $Db::pr_fh "    Reseller: ".get_descr("zsreseller",$rs)."\n";
		if(defined $nach) {
			print $Db::pr_fh "zu Status   : $nach:".get_descr("${typ}status",$nach)."\n";
		} else {
			print $Db::pr_fh "zu Status   : (keine Änderung)\n";
		}
		print $Db::pr_fh "Aktionen    : ".flag_names($aktionen,"${typ}aktion")."\n";
		print $Db::pr_fh "Ticketstatus: $ticketstatus:".get_descr("tickets",$ticketstatus)."\n" if defined $ticketstatus;
		print $Db::pr_fh "Statustext  : $status\n" if defined $status;
		print $Db::pr_fh "Acct-Info   : $ai:".get_descr("acctinfo",$ai)."\n" if defined $ai;
	} "select timestamp,von,erkannt,nach,aktionen,ticketstatus,statusinfo,acctinfo,reseller from ${typ}zustand where id=$id"
		or problem "${tkn}zustand '$id' unbekannt";
	$res;
}
1;
