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

use Loader qw(
	add_jahresurlaub add_resturlaub
	check_perm
	edit_person_monat
	line_in list_stunden list_stunden_summe
  );
use Fehler qw(report_fehler);

sub edit_alle_stunden($) {
	my($kn) = @_;

	unless(check_perm("perso")) {
		list_stunden(undef,undef,$kn);
		return;
	}

	persk: while(1) {
		my $act = line_in "$kn Stunden >",4; last if $act eq "";
		if($act eq "?") {
			print <<'END';
l       auflisten (Summe)
ll      auflisten (ausführlich)
c       auflisten (ausführlich als CSV)
YYYY-MM Sollstunden dieses Monats (für alle) bearbeiten
J       Jahresurlaub-Update triggern
R       Resturlaub killen
END
			next;
		}
		if($act eq "l") { list_stunden_summe(undef,undef,$kn); next; }
		if($act eq "ll") { list_stunden(undef,undef,$kn); next; }
		if($act eq 'c') { list_stunden(undef,undef,$kn,undef,undef,undef,1); next; }
		if($act eq "J") { add_jahresurlaub(); next; }
		if($act eq "R") { add_resturlaub(); next; }
		if($act =~ /^(\d{4})-(\d\d)$/) {
			$act = edit_person_monat($1*100+$2,0,$kn);
			next;
		}
		print "Aktion '$act' kenne ich nicht.\n";
		next; fehler: report_fehler(4);
	}
	undef;
}

1;
