truster писал(а):
У меня не работает добавление суммы в биллинге.
Выдает
"read error: Connection reset by peer at /usr/local/nawt/lib/Netams.pm line 707"...
Это можно как нить исправить??

Отвечаю сам на своё сообщение спустя полтора года..

Сомневаюсь, что это кому-нибудь понадобится, но всё-таки..
Исправления касаются биллингов, в частности редактирования свойств аккаунта (имя, пароль, описание, блокировка) и управления балансом...
Юзаю Netams 3.4.0 и Nawt 2.0.6...
В модуле nawt/lib/Netams.pm, строки с 404 по 453, функция setAccount:Код:
sub setAccount {
my ($self, %ptrs, %item, $cmd, @out);
$self = shift;
%ptrs = (@_);
%item = $self->getAccount($ptrs{oid});
if ($self->hasService('billing')) {
$self->runCmd("enable");
$self->runCmd("conf t");
$self->runCmd("service billing");
# Check if OID exist
if (not $self->hasAccount($ptrs{oid})) {
$ptrs{name} = "NewAccount" if $ptrs{name} eq "";
$ptrs{password} = "123" if $ptrs{password} eq "";
@out = $self->runCmd("account $ptrs{name} password $ptrs{password}");
$out[0] =~ m/account (\w{6}) created/;
$ptrs{oid} = $1;
}
# NAME
if ($ptrs{name} ne "" && $ptrs{name} ne $item{name}) {
$self->runCmd("account $ptrs{oid} name \"$ptrs{name}\"");
}
# DESCRIPTION
if ($ptrs{description} ne "" && $ptrs{description} ne $item{description}) {
$self->runCmd("account $ptrs{oid} description \"$ptrs{description}\"");
}
# PASSWORD
if ($ptrs{password} ne "" && $ptrs{password} ne $item{password}) {
$self->runCmd("account $ptrs{oid} password $ptrs{password}");
}
# BALANCE
#if ($ptrs{balance} ne "" && $ptrs{balance} != $item{balance}) {
# $self->runCmd("account $ptrs{oid} balance set $ptrs{balance}");
#}
# CREDIT
if ($ptrs{credit} ne "" && $ptrs{credit} != $item{credit}) {
$self->runCmd("account $ptrs{oid} credit-limit $ptrs{credit}");
}
# BLOCK | UNBLOCK
if ($ptrs{block}) {
$self->runCmd("account $ptrs{oid} block");
} else {
$self->runCmd("account $ptrs{oid} unblock");
}
# PLAN
if ($ptrs{plan} ne "" && $ptrs{plan} ne $item{plan}) {
$self->runCmd("account $ptrs{oid} plan $ptrs{plan}");
}
$self->runCmd("exit");
$self->runCmd("exit");
$self->runCmd("disable");
}
return $ptrs{oid};
}
В модуле nawt/lib/Nawt/Operation/Account.pm, строки с 263 по 297, функция www_makeAccountPayment:Код:
sub www_makeAccountPayment {
checkAdmin();
my ($oid,$type,$sum);
$oid = $session{form}{oid};
$type = $session{form}{type};
$sum = $session{form}{sum};
if (canEdit('account') && $session{netams}->hasService('billing') && $session{netams}->hasAccount($oid) && $sum >= 0) {
if ($type eq "add") {
$session{netams}->runCmd("enable");
$session{netams}->runCmd("conf t");
$session{netams}->runCmd("service billing");
$session{netams}->runCmd("account $oid balance add $sum");
$session{netams}->runCmd("exit");
$session{netams}->runCmd("exit");
$session{netams}->runCmd("disable");
} elsif ($type eq "rem") {
$session{netams}->runCmd("enable");
$session{netams}->runCmd("conf t");
$session{netams}->runCmd("service billing");
$session{netams}->runCmd("account $oid balance remove $sum");
$session{netams}->runCmd("exit");
$session{netams}->runCmd("exit");
$session{netams}->runCmd("disable");
} elsif ($type eq "set") {
$session{netams}->runCmd("enable");
$session{netams}->runCmd("conf t");
$session{netams}->runCmd("service billing");
$session{netams}->runCmd("account $oid balance set $sum");
$session{netams}->runCmd("exit");
$session{netams}->runCmd("exit");
$session{netams}->runCmd("disable");
}
}
return Nawt::Theme::getRedirect("?op=editAccount&oid=$oid");
}
p.s. извините что копипастом, а не патчем...

p.p.s. ногами если чо не бить, я в perl - дуб...