use utf8;
use strict;
use warnings; no warnings "redefine";

use Loader qw( add_tarifacct
               edit_tarifacct
               list_tarifaccts line_in log_view
               renumber_tarifaccts
               valid_kunde
             );
use Fehler qw(report_fehler);

sub edit_tarifaccts($;$) {
	my($id,$kn) = @_;

	return if $id and not valid_kunde($id);

	tarift: while(1) {
		my $act = line_in "$kn TarifAcct >",4; last if $act eq "";
		if($act eq "?") {
			print <<'END';
l     auflisten                     L     auflisten (auch nicht mehr gültige)
ll    auch globale/lokale Einträge  LL    dito
a     hinzufügen
R     umnumerieren (step 5)
###   bearbeiten
END
			next;
		}
		if($act eq "a") { add_tarifacct($id,$kn); next; }
		if($act =~ /^\d+$/) { edit_tarifacct($act,$id,$kn); next; }
		if($act eq "l") { list_tarifaccts($id,$kn); next; } 
		if($act eq "L") { list_tarifaccts($id,$kn,1); next; } 
		if($act eq "ll") { list_tarifaccts($id,$kn,2); next; } 
		if($act eq "LL") { list_tarifaccts($id,$kn,3); next; } 
		if($act eq "H") { log_view($kn,"tarifacct","kunde",$id || 0); next; }
		if($act eq "d") {
			print "...noch nicht...\n"; next;
		}
		if($act eq "R") { renumber_tarifaccts(); next; }
		if($act eq "D") {
			print "...noch nicht...\n"; next;
		}
		print "Aktion '$act' kenne ich nicht.\n";
		next; fehler: report_fehler(4);
	}
	undef;
}

1;
