Browse Source

d01 Доработки консольного клиента

SVI 2 years ago
parent
commit
93dde59bd2
1 changed files with 14 additions and 11 deletions
  1. 14 11
      desktop/desktop.go

+ 14 - 11
desktop/desktop.go

@@ -15,10 +15,11 @@ import (
 // Desktop -- консольный клиент для вар-танка
 type Desktop struct {
 	TeaModel
-	p         *tea.Program            // Объект приложения
-	client    *client_serv.ClientServ // Клиент подключния к бото-серверу
-	isConnect bool                    // Признак подключения к бот-серверу
-	isLogin   bool                    // Признак логина на сервер
+	p           *tea.Program            // Объект приложения
+	client      *client_serv.ClientServ // Клиент подключния к бото-серверу
+	isConnect   bool                    // Признак подключения к бот-серверу
+	isLogin     bool                    // Признак логина на сервер
+	isMakeAdmin bool                    // Признак создания админа
 }
 
 var desk *Desktop
@@ -254,7 +255,7 @@ func (sf Desktop) Update(msg tea.Msg) (tea.Model, tea.Cmd) {
 
 func (sf Desktop) View() string {
 	s := time.Now().Local().Format("[ WarTank ] = 2006-01-02 15:04:05.000")
-	s += fmt.Sprintf("\tХост=%q\tЛогин=%q\tПароль=%q\tПодключено=%v\tЛогин=%v\n\n", desk.host, desk.login, desk.pass, desk.isConnect, desk.isLogin)
+	s += fmt.Sprintf("\tХост=%q\tЛогин=%q\tПароль=%q\tПодключено=%v\tЛогин=%v\tЕстьАдмин=%v\n\n", desk.host, desk.login, desk.pass, desk.isConnect, desk.isLogin, desk.isMakeAdmin)
 	switch desk.mode {
 	case ModeDefault: // Исходное содержимое
 		s += desk.winDefault()
@@ -281,14 +282,16 @@ func (sf Desktop) View() string {
 
 func (sf *Desktop) winServerMakeAdmin() string {
 	s := "=Создание админа на бот-сервере вар-танк=\n\n"
-	err := desk.client.MakeAdmin(desk.pass)
-	if err != nil {
-		s += fmt.Sprintf("Desktop.winServerMakeAdmin(): err=\n\t%v", err)
-		s += "\n\n[ctrl+q]-выход [esc]-отмена\n"
-		return s
+	if !desk.isMakeAdmin {
+		err := desk.client.MakeAdmin(desk.pass)
+		if err != nil {
+			s += fmt.Sprintf("Desktop.winServerMakeAdmin(): err=\n\t%v", err)
+			s += "\n\n[ctrl+q]-выход [esc]-отмена\n"
+			return s
+		}
 	}
 	s += "Desktop.winServerMakeAdmin(): ok\n"
-	desk.isLogin = true
+	desk.isMakeAdmin = true
 	s += "\n\n[ctrl+q]-выход [esc]-отмена\n"
 	return s
 }