|
@@ -541,13 +541,11 @@ func csTransferHandler(service *ircService, server *Server, client *Client, comm
|
541
|
541
|
chname = regInfo.Name
|
542
|
542
|
account := client.Account()
|
543
|
543
|
isFounder := account != "" && account == regInfo.Founder
|
544
|
|
- var oper *Oper
|
545
|
|
- if !isFounder {
|
546
|
|
- oper = client.Oper()
|
547
|
|
- if !oper.HasRoleCapab("chanreg") {
|
548
|
|
- service.Notice(rb, client.t("Insufficient privileges"))
|
549
|
|
- return
|
550
|
|
- }
|
|
544
|
+ oper := client.Oper()
|
|
545
|
+ hasPrivs := oper.HasRoleCapab("chanreg")
|
|
546
|
+ if !isFounder && !hasPrivs {
|
|
547
|
+ service.Notice(rb, client.t("Insufficient privileges"))
|
|
548
|
+ return
|
551
|
549
|
}
|
552
|
550
|
target := params[1]
|
553
|
551
|
targetAccount, err := server.accounts.LoadAccount(params[1])
|
|
@@ -569,7 +567,7 @@ func csTransferHandler(service *ircService, server *Server, client *Client, comm
|
569
|
567
|
server.snomasks.Send(sno.LocalOpers, message)
|
570
|
568
|
server.logger.Info("opers", message)
|
571
|
569
|
}
|
572
|
|
- status, err := channel.Transfer(client, target, oper != nil)
|
|
570
|
+ status, err := channel.Transfer(client, target, hasPrivs)
|
573
|
571
|
if err == nil {
|
574
|
572
|
switch status {
|
575
|
573
|
case channelTransferComplete:
|