From 89bd7cbfcbd945c651b5b9e07eab5d62d763cad2 Mon Sep 17 00:00:00 2001 From: Andrew nuark G Date: Wed, 17 May 2023 20:58:26 +0700 Subject: [PATCH] =?UTF-8?q?=D0=9F=D0=B5=D1=80=D0=B5=D0=B2=D1=91=D0=BB=20?= =?UTF-8?q?=D0=BF=D0=B0=D0=BD=D0=B5=D0=BB=D1=8C=20=D0=BF=D0=BE=D0=BB=D1=8C?= =?UTF-8?q?=D0=B7=D0=BE=D0=B2=D0=B0=D1=82=D0=B5=D0=BB=D0=B5=D0=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- lib/pages/home_panels/users_list_panel.dart | 166 ++++++++++---------- 1 file changed, 82 insertions(+), 84 deletions(-) diff --git a/lib/pages/home_panels/users_list_panel.dart b/lib/pages/home_panels/users_list_panel.dart index 5624918..7525d7d 100644 --- a/lib/pages/home_panels/users_list_panel.dart +++ b/lib/pages/home_panels/users_list_panel.dart @@ -1,5 +1,3 @@ -import 'package:built_collection/built_collection.dart'; -import 'package:built_value/json_object.dart'; import 'package:dio/dio.dart'; import 'package:flutter/material.dart'; import 'package:get/get.dart'; @@ -68,7 +66,7 @@ class UserListPanelController extends GetxController { final respData = resp.data; if (respData == null) { - throw Exception("No data in response"); + throw Exception("В ответе нет данных"); } _users.clear(); @@ -82,18 +80,18 @@ class UserListPanelController extends GetxController { final respData = e.response?.data; if (respData != null) { Get.snackbar( - "Error trying to get users", + "Ошибка получения пользователей", "${respData['error']}", ); } else { Get.snackbar( - "Error trying to get users", + "Ошибка получения пользователей", "$e", ); } } catch (e) { Get.snackbar( - "Error trying to get users", + "Ошибка получения пользователей", "$e", ); } @@ -110,7 +108,7 @@ class UserListPanelController extends GetxController { final respData = resp.data; if (respData == null) { - throw Exception("No data in response"); + throw Exception("В ответе нет данных"); } _groups.clear(); @@ -123,18 +121,18 @@ class UserListPanelController extends GetxController { final respData = e.response?.data; if (respData != null) { Get.snackbar( - "Error trying to get groups", + "Ошибка получения групп пользователей", "${respData['error']}", ); } else { Get.snackbar( - "Error trying to get groups", + "Ошибка получения групп пользователей", "$e", ); } } catch (e) { Get.snackbar( - "Error trying to get groups", + "Ошибка получения групп пользователей", "$e", ); } @@ -149,8 +147,8 @@ class UserListPanelController extends GetxController { final accept = await Get.dialog( AlertDialog( title: user == null - ? const Text("Create new user") - : const Text("Edit user"), + ? const Text("Создание нового пользователя") + : const Text("Редактирование пользователя"), content: Column( mainAxisSize: MainAxisSize.min, children: [ @@ -159,14 +157,14 @@ class UserListPanelController extends GetxController { ? TextEditingController(text: user.username) : null, decoration: const InputDecoration( - labelText: "Username", + labelText: "Логин", ), readOnly: user != null, onChanged: (value) => username.value = value, ), TextField( decoration: const InputDecoration( - labelText: "Password", + labelText: "Пароль", ), obscureText: true, onChanged: (value) => password.value = value, @@ -176,11 +174,12 @@ class UserListPanelController extends GetxController { actions: [ TextButton( onPressed: () => Get.back(result: false), - child: const Text("Cancel"), + child: const Text("Отменить"), ), TextButton( onPressed: () => Get.back(result: true), - child: user == null ? const Text("Create") : const Text("Save"), + child: + user == null ? const Text("Создать") : const Text("Сохранить"), ), ], ), @@ -210,7 +209,7 @@ class UserListPanelController extends GetxController { } if (respData == null) { - throw Exception("No data in response"); + throw Exception("В ответе нет данных"); } refreshData(); @@ -218,18 +217,18 @@ class UserListPanelController extends GetxController { final respData = e.response?.data; if (respData != null) { Get.snackbar( - "Error trying to create user", + "Ошибка создания пользователя", "${respData['error']}", ); } else { Get.snackbar( - "Error trying to create user", + "Ошибка создания пользователя", "$e", ); } } catch (e) { Get.snackbar( - "Error trying to create user", + "Ошибка создания пользователя", "$e", ); } @@ -240,19 +239,19 @@ class UserListPanelController extends GetxController { final groupDescription = "".obs; final accept = await Get.dialog( AlertDialog( - title: const Text("Create new group"), + title: const Text("Создание группы пользователей"), content: Column( mainAxisSize: MainAxisSize.min, children: [ TextField( decoration: const InputDecoration( - labelText: "Group name", + labelText: "Название", ), onChanged: (value) => groupName.value = value, ), TextField( decoration: const InputDecoration( - labelText: "Group description (optional)", + labelText: "Описание (опционально)", ), onChanged: (value) => groupDescription.value = value, ), @@ -261,11 +260,11 @@ class UserListPanelController extends GetxController { actions: [ TextButton( onPressed: () => Get.back(result: false), - child: const Text("Cancel"), + child: const Text("Отменить"), ), TextButton( onPressed: () => Get.back(result: true), - child: const Text("Create"), + child: const Text("Создать"), ), ], ), @@ -284,12 +283,12 @@ class UserListPanelController extends GetxController { final respData = resp.data; if (respData == null) { - throw Exception("No data in response"); + throw Exception("В ответе нет данных"); } Get.snackbar( - "Group created", - "Group $groupName created", + "Группа создана", + "Группа $groupName создана", ); refreshData(); @@ -297,18 +296,18 @@ class UserListPanelController extends GetxController { final respData = e.response?.data; if (respData != null) { Get.snackbar( - "Error trying to create group", + "Ошибка создания группы пользователей", "${respData['error']}", ); } else { Get.snackbar( - "Error trying to create group", + "Ошибка создания группы пользователей", "$e", ); } } catch (e) { Get.snackbar( - "Error trying to create group", + "Ошибка создания группы пользователей", "$e", ); } @@ -331,7 +330,7 @@ class UserListPanelController extends GetxController { final respData = resp.data; if (respData == null) { - throw Exception("No data in response"); + throw Exception("В ответе нет данных"); } final data = respData @@ -356,7 +355,7 @@ class UserListPanelController extends GetxController { final selectedUser = await Get.dialog( AlertDialog( - title: const Text("Select user to add to group"), + title: const Text("Какого пользователя добавить в группу"), content: SizedBox( width: 400, height: 400, @@ -374,7 +373,7 @@ class UserListPanelController extends GetxController { actions: [ TextButton( onPressed: () => Get.back(result: null), - child: const Text("Cancel"), + child: const Text("Отменить"), ), ], ), @@ -393,12 +392,12 @@ class UserListPanelController extends GetxController { final respData = resp.data; if (respData == null) { - throw Exception("No data in response"); + throw Exception("В ответе нет данных"); } Get.snackbar( - "User added to group", - "User ${selectedUser.username} added to group ${group.name}", + "Пользователь добавлен в группу", + "Пользователь ${selectedUser.username} добавлен в группу ${group.name}", ); refreshData(); @@ -406,18 +405,18 @@ class UserListPanelController extends GetxController { final respData = e.response?.data; if (respData != null) { Get.snackbar( - "Error trying to add user to group", + "Ошибка добавления пользователя в группу", "${respData['error']}", ); } else { Get.snackbar( - "Error trying to add user to group", + "Ошибка добавления пользователя в группу", "$e", ); } } catch (e) { Get.snackbar( - "Error trying to add user to group", + "Ошибка добавления пользователя в группу", "$e", ); } @@ -429,17 +428,17 @@ class UserListPanelController extends GetxController { ) async { final accept = await Get.dialog( AlertDialog( - title: const Text("Remove user from group"), + title: const Text("Удаление пользователя из группы"), content: const Text( - "Are you sure you want to remove this user from the group?"), + "Вы действительно хотите удалить этого пользователя из группы?"), actions: [ TextButton( onPressed: () => Get.back(result: false), - child: const Text("Cancel"), + child: const Text("Отменить"), ), TextButton( onPressed: () => Get.back(result: true), - child: const Text("Remove"), + child: const Text("Удалить"), ), ], ), @@ -466,12 +465,12 @@ class UserListPanelController extends GetxController { final respData = resp.data; if (respData == null) { - throw Exception("No data in response"); + throw Exception("В ответе нет данных"); } Get.snackbar( - "User removed from group", - "User ${user.username} removed from group ${group.name}", + "Пользователь удалён из группы", + "Пользователь ${user.username} удалён из группы ${group.name}", ); refreshData(); @@ -479,18 +478,18 @@ class UserListPanelController extends GetxController { final respData = e.response?.data; if (respData != null) { Get.snackbar( - "Error trying to remove user from group", + "Ошибка удаления пользователя из группы", "${respData['error']}", ); } else { Get.snackbar( - "Error trying to remove user from group", + "Ошибка удаления пользователя из группы", "$e", ); } } catch (e) { Get.snackbar( - "Error trying to remove user from group", + "Ошибка удаления пользователя из группы", "$e", ); } @@ -499,17 +498,16 @@ class UserListPanelController extends GetxController { Future deleteGroup(GroupDefinition group) async { final accept = await Get.dialog( AlertDialog( - title: const Text("Delete group"), - content: const Text( - "Are you sure you want to delete this group? This action cannot be undone."), + title: const Text("Удаление группы"), + content: const Text("Вы действительно хотите удалить эту группу?"), actions: [ TextButton( onPressed: () => Get.back(result: false), - child: const Text("Cancel"), + child: const Text("Отменить"), ), TextButton( onPressed: () => Get.back(result: true), - child: const Text("Delete"), + child: const Text("Удалить"), ), ], ), @@ -530,7 +528,7 @@ class UserListPanelController extends GetxController { ); if (resp1.data == null) { - throw Exception("Could not delete users from group"); + throw Exception("Не удалось удалить пользователей из группы"); } final resp2 = await ApiController.to.apiClient.deleteItemFromTable( @@ -545,12 +543,12 @@ class UserListPanelController extends GetxController { ); if (resp2.data == null) { - throw Exception("Could not delete group"); + throw Exception("Не удалось удалить группу пользователей"); } Get.snackbar( - "Group deleted", - "Group ${group.name} deleted", + "Группа пользователей удалена", + "Группа ${group.name} удалена", ); refreshData(); @@ -558,18 +556,18 @@ class UserListPanelController extends GetxController { final respData = e.response?.data; if (respData != null) { Get.snackbar( - "Error trying to delete group", + "Ошибка удаления группы пользователей", "${respData['error']}", ); } else { Get.snackbar( - "Error trying to delete group", + "Ошибка удаления группы пользователей", "$e", ); } } catch (e) { Get.snackbar( - "Error trying to delete group", + "Ошибка удаления группы пользователей", "$e", ); } @@ -584,17 +582,16 @@ class UserListPanelController extends GetxController { AlertDialog( title: const Text("Delete user"), content: const Text( - "Are you sure you want to delete this user? This action cannot be undone.\n" - "Note: This will not remove references to this user in other tables.", + "Вы уверены, что хотите удалить этого пользователя?", ), actions: [ TextButton( onPressed: () => Get.back(result: false), - child: const Text("Cancel"), + child: const Text("Отменить"), ), TextButton( onPressed: () => Get.back(result: true), - child: const Text("Delete"), + child: const Text("Удалить"), ), ], ), @@ -615,7 +612,7 @@ class UserListPanelController extends GetxController { ); if (resp1.data == null) { - throw Exception("Could not delete users from group"); + throw Exception("Не удалось удалить пользователя из групп"); } final resp2 = await ApiController.to.apiClient.removeUser( @@ -623,12 +620,12 @@ class UserListPanelController extends GetxController { ); if (resp2.data == null) { - throw Exception("Could not delete group"); + throw Exception("Не удалось удалить пользователя"); } Get.snackbar( - "User deleted", - "User ${user.username} deleted", + "Пользователь удалён", + "Пользователь ${user.username} удалён", ); refreshData(); @@ -636,18 +633,18 @@ class UserListPanelController extends GetxController { final respData = e.response?.data; if (respData != null) { Get.snackbar( - "Error trying to delete user", + "Ошибка удаления пользователя", "${respData['error']}", ); } else { Get.snackbar( - "Error trying to delete user", + "Ошибка удаления пользователя", "$e", ); } } catch (e) { Get.snackbar( - "Error trying to delete user", + "Ошибка удаления пользователя", "$e", ); } @@ -674,11 +671,11 @@ class UsersListPanel extends GetView { items: const [ DropdownMenuItem( value: UserListPanelTab.users, - child: Text("Users"), + child: Text("Пользователи"), ), DropdownMenuItem( value: UserListPanelTab.groups, - child: Text("Groups"), + child: Text("Группы"), ), ], value: controller.currentTab, @@ -721,11 +718,12 @@ class UsersListPanel extends GetView { ); } - Widget get usersPanel => Obx(() => - controller.users.isEmpty ? whenNoSomething("No users found") : cardList); + Widget get usersPanel => Obx(() => controller.users.isEmpty + ? whenNoSomething("Пользователи не найдены") + : cardList); Widget get groupsPanel => Obx(() => controller.groups.isEmpty - ? whenNoSomething("No groups found") + ? whenNoSomething("Группы не найдены") : groupsList); Widget whenNoSomething(message) => Center( @@ -785,7 +783,7 @@ class UsersListPanel extends GetView { ElevatedButton.icon( onPressed: () => controller.editUser(user), icon: const Icon(Icons.edit_attributes), - label: const Text("Edit user"), + label: const Text("Редактировать"), ).paddingAll(8).expanded(), Obx( () { @@ -807,7 +805,7 @@ class UsersListPanel extends GetView { final btn = ElevatedButton.icon( onPressed: () => controller.deleteUser(user), icon: const Icon(Icons.delete_forever), - label: const Text("Delete user"), + label: const Text("Удалить"), style: ElevatedButton.styleFrom( backgroundColor: Colors.redAccent, ), @@ -815,7 +813,7 @@ class UsersListPanel extends GetView { if (isAdmin) { return Tooltip( - message: "Please note that this user is an admin", + message: "Данный пользователь является администратором", child: btn, ).paddingAll(8).expanded(); } @@ -876,7 +874,7 @@ class UsersListPanel extends GetView { final groupData = controller.usersInGroups[group]; if (group.id == 1) { return const ListTile( - title: Text("No users can be added to this group"), + title: Text("В эту группу нельзя добавить пользователей"), ); } if (groupData == null) { @@ -886,7 +884,7 @@ class UsersListPanel extends GetView { } if (groupData.isEmpty) { return const ListTile( - title: Text("No users in group"), + title: Text("В группе нет пользователей"), ); } return ListView.builder( @@ -897,7 +895,7 @@ class UsersListPanel extends GetView { final isYou = user.accessToken == ApiController.to.token; return ListTile( title: Text(user.username), - subtitle: isYou ? const Text("You") : null, + subtitle: isYou ? const Text("Вы") : null, trailing: isYou && (group.id == 2 || group.name.toLowerCase() == "admin")