use utf8;
use warnings; no warnings "redefine";
use strict;
use Loader qw(line_in list_reseller log_view set_reseller_art
	set_reseller_name set_reseller_email delete_reseller warn_kunde
	strip_kn valid_reseller valid_kunde set_reseller_flags
	set_reseller_pgp);
use Fehler qw(report_fehler);
use Dbase::Help qw(DoFn);

sub edit_reseller($;$$) {
	my($id,$kn,$kunde) = @_;
	return unless valid_reseller($id);

    if($kunde) {
        return unless valid_kunde($kunde,1);
    } else {
        $kunde = DoFn("select kunde from reseller where id = $id");
    }
    warn_kunde("reseller",$id,$kunde);

	$kn = strip_kn($kn)."Reseller";
	# falls irgendwann mehr als ein Datensatz: ID dran!
	
	while(1) {
		my $act = line_in "$kn >",4; last if $act eq "";
		if($act eq "?") {
			print <<'END';
l   auflisten              ?? Erläuterungen

t   Art                    n  Name
m   Mailadresse            p   PGP-Key-ID
f  Flags

del löschen
END
			next;
		}
		if($act eq "??") {
			print <<'END';
Art: Reseller oder Systempartner oder ...

Name: Den muss der Reseller in Mails an unseren Automaten angeben,
damit seine Mails korrekt erkannt werden.

Mailadresse: Person, von der Mails kommen sollen. Das Feld wird bei 
PGP-Autorisierung ignoriert. An diese Adresse gehen auch alle Mails an
den Reseller.

Flags: deren Bedeutung siehe Hilfstext dort.
END
			next;
		}

		if($act eq "l") { list_reseller($id); next; }
		if($act eq "H") { log_view($kn,"reseller","kunde",$id); next; }
		if($act eq "t") { set_reseller_art($id,$kn); next; }
		if($act eq "n") { set_reseller_name($id,$kn); next; }
		if($act eq "m") { set_reseller_email($id,$kn); next; }
		if($act eq "p") { set_reseller_pgp($id,$kn); next; }
		if($act eq "f") { set_reseller_flags($id,$kn); next; }
		if($act eq "del") { delete_reseller($id,$kn); return undef; }

		print "Aktion '$act' kenne ich nicht. Liste mit '?'.\n";
		next; fehler: report_fehler(4);
	}
	undef;
}
1;
