diff --git a/bot_modules/access.py b/bot_modules/access.py index d6ecd2d..cebb89b 100644 --- a/bot_modules/access.py +++ b/bot_modules/access.py @@ -87,8 +87,8 @@ moduleaccess_success_edit_message = '''✅ Доступ к модулю успе button_names = { mod_simple_message.ButtonNames.START: start_button_name, mod_table_operate.ButtonNames.EDIT: "🛠 Редактировать доступ", - mod_table_operate.ButtonNames.EDIT_ACCESS: edit_moduleaccess_access_button_name, - mod_table_operate.ButtonNames.EDIT_DEFAULT_ACCESS: edit_moduleaccess_default_access_button_name, + mod_table_operate.EditButton(bd_table.TableFieldDestiny.ACCESS): edit_moduleaccess_access_button_name, + mod_table_operate.EditButton(bd_table.TableFieldDestiny.DEFAULT_ACCESS): edit_moduleaccess_default_access_button_name, } messages = { @@ -97,8 +97,8 @@ messages = { Пожалуйста, выберите действие: ''', mod_table_operate.Messages.SELECT_TO_EDIT: moduleaccess_select_to_edit_message, - mod_table_operate.Messages.EDIT_ACCESS: moduleaccess_edit_access_message, - mod_table_operate.Messages.EDIT_DEFAULT_ACCESS: moduleaccess_edit_default_access_message, + mod_table_operate.EditMessage(bd_table.TableFieldDestiny.ACCESS): moduleaccess_edit_access_message, + mod_table_operate.EditMessage(bd_table.TableFieldDestiny.DEFAULT_ACCESS): moduleaccess_edit_default_access_message, mod_table_operate.Messages.SUCCESS_EDIT: moduleaccess_success_edit_message, } diff --git a/bot_modules/buttons.py b/bot_modules/buttons.py index 991af83..a38cc71 100644 --- a/bot_modules/buttons.py +++ b/bot_modules/buttons.py @@ -47,10 +47,10 @@ button_names = { mod_table_operate.ButtonNames.LIST: "📃 Список названий кнопок", mod_table_operate.ButtonNames.ADD: "☑ Добавить название кнопки", mod_table_operate.ButtonNames.EDIT: "🛠 Редактировать названия кнопок", - mod_table_operate.ButtonNames.EDIT_PHOTO: "☐ Изменить изображение у названия кнопок", - mod_table_operate.ButtonNames.EDIT_NAME: "≂ Изменить название у названия кнопок", - mod_table_operate.ButtonNames.EDIT_DESC: "𝌴 Изменить описание у названия кнопок", - mod_table_operate.ButtonNames.EDIT_ACCESS: "✋ Изменить доступ к названию кнопки", + mod_table_operate.EditButton(bd_table.TableFieldDestiny.PHOTO): "☐ Изменить изображение у названия кнопок", + mod_table_operate.EditButton(bd_table.TableFieldDestiny.NAME): "≂ Изменить название у названия кнопок", + mod_table_operate.EditButton(bd_table.TableFieldDestiny.DESC): "𝌴 Изменить описание у названия кнопок", + mod_table_operate.EditButton(bd_table.TableFieldDestiny.ACCESS): "✋ Изменить доступ к названию кнопки", mod_table_operate.ButtonNames.DEL: "❌ Удалить название кнопки", } @@ -72,17 +72,17 @@ messages = { Время создания: #{create_datetime_field} ''', - mod_table_operate.Messages.CREATE_NAME: ''' + mod_table_operate.CreateMessage(bd_table.TableFieldDestiny.NAME): ''' Создание названия кнопки Шаг №1 Введите название название кнопки: ''', - mod_table_operate.Messages.CREATE_DESC: ''' + mod_table_operate.CreateMessage(bd_table.TableFieldDestiny.DESC): ''' Создание названия кнопки. Шаг №2 Введите описание название кнопки: ''', - mod_table_operate.Messages.CREATE_PHOTO: ''' + mod_table_operate.CreateMessage(bd_table.TableFieldDestiny.PHOTO): ''' Создание названия кнопки Загрузите обложку для названия кнопок (Фото): На данный момент не поддерживается! @@ -95,23 +95,23 @@ messages = { mod_table_operate.Messages.SELECT_TO_EDIT: ''' Выберите название кнопки, который вы хотите отредактировать. ''', - mod_table_operate.Messages.EDIT_PHOTO: ''' + mod_table_operate.EditMessage(bd_table.TableFieldDestiny.PHOTO): ''' Загрузите новую обложку для названия кнопок (Фото): Она будет отображаться в его описании. ''', - mod_table_operate.Messages.EDIT_NAME: f''' + mod_table_operate.EditMessage(bd_table.TableFieldDestiny.NAME): f''' Текущее название названия кнопок: #{name_field} Введите новое название названия кнопки: ''', - mod_table_operate.Messages.EDIT_DESC: f''' + mod_table_operate.EditMessage(bd_table.TableFieldDestiny.DESC): f''' Текущее описание названия кнопок: #{desc_field} Введите новое описание названия кнопки: ''', - mod_table_operate.Messages.EDIT_ACCESS: f''' + mod_table_operate.EditMessage(bd_table.TableFieldDestiny.ACCESS): f''' Текущий доступ к названию кнопки: #{access_field} diff --git a/bot_modules/comments.py b/bot_modules/comments.py index d9c9c42..3359cd6 100644 --- a/bot_modules/comments.py +++ b/bot_modules/comments.py @@ -39,10 +39,10 @@ button_names = { mod_table_operate.ButtonNames.LIST: "📃 Список комментариев", mod_table_operate.ButtonNames.ADD: "☑ Добавить комментарий", mod_table_operate.ButtonNames.EDIT: "🛠 Редактировать комментарий", - mod_table_operate.ButtonNames.EDIT_PHOTO: "☐ Изменить изображение у комментария", - mod_table_operate.ButtonNames.EDIT_NAME: "≂ Изменить название у комментария", - mod_table_operate.ButtonNames.EDIT_DESC: "𝌴 Изменить описание у комментария", - mod_table_operate.ButtonNames.EDIT_ACCESS: "✋ Изменить доступ к комментарию", + mod_table_operate.EditButton(bd_table.TableFieldDestiny.PHOTO): "☐ Изменить изображение у комментария", + mod_table_operate.EditButton(bd_table.TableFieldDestiny.NAME): "≂ Изменить название у комментария", + mod_table_operate.EditButton(bd_table.TableFieldDestiny.DESC): "𝌴 Изменить описание у комментария", + mod_table_operate.EditButton(bd_table.TableFieldDestiny.ACCESS): "✋ Изменить доступ к комментарию", mod_table_operate.ButtonNames.DEL: "❌ Удалить комментарий", } @@ -64,17 +64,17 @@ messages = { Время создания: #{create_datetime_field} ''', - mod_table_operate.Messages.CREATE_NAME: ''' + mod_table_operate.CreateMessage(bd_table.TableFieldDestiny.NAME): ''' Создание комментария. Шаг №1 Введите название комментария: ''', - mod_table_operate.Messages.CREATE_DESC: ''' + mod_table_operate.CreateMessage(bd_table.TableFieldDestiny.DESC): ''' Создание комментария. Шаг №2 Введите описание комментария: ''', - mod_table_operate.Messages.CREATE_PHOTO: ''' + mod_table_operate.CreateMessage(bd_table.TableFieldDestiny.PHOTO): ''' Создание комментария. Шаг №3 Загрузите обложку для комментария (Фото): @@ -87,23 +87,23 @@ messages = { mod_table_operate.Messages.SELECT_TO_EDIT: ''' Выберите комментарий, который вы хотите отредактировать. ''', - mod_table_operate.Messages.EDIT_PHOTO: ''' + mod_table_operate.EditMessage(bd_table.TableFieldDestiny.PHOTO): ''' Загрузите новую обложку для комментария (Фото): Она будет отображаться в его описании. ''', - mod_table_operate.Messages.EDIT_NAME: f''' + mod_table_operate.EditMessage(bd_table.TableFieldDestiny.NAME): f''' Текущее название комментария: #{name_field} Введите новое название комментария: ''', - mod_table_operate.Messages.EDIT_DESC: f''' + mod_table_operate.EditMessage(bd_table.TableFieldDestiny.DESC): f''' Текущее описание комментария: #{desc_field} Введите новое описание комментария: ''', - mod_table_operate.Messages.EDIT_ACCESS: f''' + mod_table_operate.EditMessage(bd_table.TableFieldDestiny.ACCESS): f''' Текущий доступ к комментарийу: #{access_field} diff --git a/bot_modules/groups.py b/bot_modules/groups.py index 1707abe..0a51cc5 100644 --- a/bot_modules/groups.py +++ b/bot_modules/groups.py @@ -44,10 +44,10 @@ button_names = { mod_table_operate.ButtonNames.LIST: "📃 Список групп", mod_table_operate.ButtonNames.ADD: "✅ Добавить группу", mod_table_operate.ButtonNames.EDIT: "🛠 Редактировать группу", - mod_table_operate.ButtonNames.EDIT_PHOTO: "☐ Изменить изображение в группе", - mod_table_operate.ButtonNames.EDIT_NAME: "≂ Изменить название в группе", - mod_table_operate.ButtonNames.EDIT_DESC: "𝌴 Изменить описание в группе", - mod_table_operate.ButtonNames.EDIT_ACCESS: "✋ Изменить доступ к группе", + mod_table_operate.EditButton(bd_table.TableFieldDestiny.PHOTO): "☐ Изменить изображение в группе", + mod_table_operate.EditButton(bd_table.TableFieldDestiny.NAME): "≂ Изменить название в группе", + mod_table_operate.EditButton(bd_table.TableFieldDestiny.DESC): "𝌴 Изменить описание в группе", + mod_table_operate.EditButton(bd_table.TableFieldDestiny.ACCESS): "✋ Изменить доступ к группе", mod_table_operate.ButtonNames.DEL: "❌ Удалить группу", } @@ -69,17 +69,17 @@ messages = { Время создания: #{create_datetime_field} ''', - mod_table_operate.Messages.CREATE_NAME: ''' + mod_table_operate.CreateMessage(bd_table.TableFieldDestiny.NAME): ''' Создание группы. Шаг №1 Введите название группы: ''', - mod_table_operate.Messages.CREATE_DESC: ''' + mod_table_operate.CreateMessage(bd_table.TableFieldDestiny.DESC): ''' Создание группы. Шаг №2 Введите описание группы: ''', - mod_table_operate.Messages.CREATE_PHOTO: ''' + mod_table_operate.CreateMessage(bd_table.TableFieldDestiny.PHOTO): ''' Создание группы. Шаг №3 Загрузите обложку для группы (Фото): @@ -92,23 +92,23 @@ messages = { mod_table_operate.Messages.SELECT_TO_EDIT: ''' Выберите группу, которого вы хотите отредактировать. ''', - mod_table_operate.Messages.EDIT_PHOTO: ''' + mod_table_operate.EditMessage(bd_table.TableFieldDestiny.PHOTO): ''' Загрузите новую обложку для группы (Фото): Она будет отображаться в его описании. ''', - mod_table_operate.Messages.EDIT_NAME: f''' + mod_table_operate.EditMessage(bd_table.TableFieldDestiny.NAME): f''' Текущее название группы: #{name_field} Введите новое название группы: ''', - mod_table_operate.Messages.EDIT_DESC: f''' + mod_table_operate.EditMessage(bd_table.TableFieldDestiny.DESC): f''' Текущее описание группы: #{desc_field} Введите новое описание группы: ''', - mod_table_operate.Messages.EDIT_ACCESS: f''' + mod_table_operate.EditMessage(bd_table.TableFieldDestiny.ACCESS): f''' Текущий доступ к группе: #{access_field} diff --git a/bot_modules/languages.py b/bot_modules/languages.py index 350a433..c6a1b15 100644 --- a/bot_modules/languages.py +++ b/bot_modules/languages.py @@ -44,10 +44,10 @@ button_names = { mod_table_operate.ButtonNames.LIST: "📃 Список языков", mod_table_operate.ButtonNames.ADD: "✅ Добавить язык", mod_table_operate.ButtonNames.EDIT: "🛠 Редактировать язык", - mod_table_operate.ButtonNames.EDIT_PHOTO: "☐ Изменить изображение в языке", - mod_table_operate.ButtonNames.EDIT_NAME: "≂ Изменить название в языке", - mod_table_operate.ButtonNames.EDIT_DESC: "𝌴 Изменить описание в языке", - mod_table_operate.ButtonNames.EDIT_ACCESS: "✋ Изменить доступ к языку", + mod_table_operate.EditButton(bd_table.TableFieldDestiny.PHOTO): "☐ Изменить изображение в языке", + mod_table_operate.EditButton(bd_table.TableFieldDestiny.NAME): "≂ Изменить название в языке", + mod_table_operate.EditButton(bd_table.TableFieldDestiny.DESC): "𝌴 Изменить описание в языке", + mod_table_operate.EditButton(bd_table.TableFieldDestiny.ACCESS): "✋ Изменить доступ к языку", mod_table_operate.ButtonNames.DEL: "❌ Удалить язык", } @@ -69,17 +69,17 @@ messages = { Время создания: #{create_datetime_field} ''', - mod_table_operate.Messages.CREATE_NAME: ''' + mod_table_operate.CreateMessage(bd_table.TableFieldDestiny.NAME): ''' Создание языка. Шаг №1 Введите название языка: ''', - mod_table_operate.Messages.CREATE_DESC: ''' + mod_table_operate.CreateMessage(bd_table.TableFieldDestiny.DESC): ''' Создание языка. Шаг №2 Введите описание языка: ''', - mod_table_operate.Messages.CREATE_PHOTO: ''' + mod_table_operate.CreateMessage(bd_table.TableFieldDestiny.PHOTO): ''' Создание языка. Шаг №3 Загрузите обложку для языка (Фото): @@ -92,23 +92,23 @@ messages = { mod_table_operate.Messages.SELECT_TO_EDIT: ''' Выберите язык, который вы хотите отредактировать. ''', - mod_table_operate.Messages.EDIT_PHOTO: ''' + mod_table_operate.EditMessage(bd_table.TableFieldDestiny.PHOTO): ''' Загрузите новую обложку для языка (Фото): Она будет отображаться в его описании. ''', - mod_table_operate.Messages.EDIT_NAME: f''' + mod_table_operate.EditMessage(bd_table.TableFieldDestiny.NAME): f''' Текущее название языка: #{name_field} Введите новое название языка: ''', - mod_table_operate.Messages.EDIT_DESC: f''' + mod_table_operate.EditMessage(bd_table.TableFieldDestiny.DESC): f''' Текущее описание языка: #{desc_field} Введите новое описание языка: ''', - mod_table_operate.Messages.EDIT_ACCESS: f''' + mod_table_operate.EditMessage(bd_table.TableFieldDestiny.ACCESS): f''' Текущий доступ к языку: #{access_field} diff --git a/bot_modules/messages.py b/bot_modules/messages.py index e87c8dc..b8bae87 100644 --- a/bot_modules/messages.py +++ b/bot_modules/messages.py @@ -47,10 +47,10 @@ button_names = { mod_table_operate.ButtonNames.LIST: "📃 Список сообщений", mod_table_operate.ButtonNames.ADD: "☑ Добавить сообщение", mod_table_operate.ButtonNames.EDIT: "🛠 Редактировать сообщение", - mod_table_operate.ButtonNames.EDIT_PHOTO: "☐ Изменить изображение у сообщения", - mod_table_operate.ButtonNames.EDIT_NAME: "≂ Изменить название у сообщения", - mod_table_operate.ButtonNames.EDIT_DESC: "𝌴 Изменить описание у сообщения", - mod_table_operate.ButtonNames.EDIT_ACCESS: "✋ Изменить доступ к сообщению", + mod_table_operate.EditButton(bd_table.TableFieldDestiny.PHOTO): "☐ Изменить изображение у сообщения", + mod_table_operate.EditButton(bd_table.TableFieldDestiny.NAME): "≂ Изменить название у сообщения", + mod_table_operate.EditButton(bd_table.TableFieldDestiny.DESC): "𝌴 Изменить описание у сообщения", + mod_table_operate.EditButton(bd_table.TableFieldDestiny.ACCESS): "✋ Изменить доступ к сообщению", mod_table_operate.ButtonNames.DEL: "❌ Удалить сообщение", } @@ -72,17 +72,17 @@ messages = { Время создания: #{create_datetime_field} ''', - mod_table_operate.Messages.CREATE_NAME: ''' + mod_table_operate.CreateMessage(bd_table.TableFieldDestiny.NAME): ''' Создание сообщения. Шаг №1 Введите название сообщения: ''', - mod_table_operate.Messages.CREATE_DESC: ''' + mod_table_operate.CreateMessage(bd_table.TableFieldDestiny.DESC): ''' Создание сообщения. Шаг №2 Введите описание сообщения: ''', - mod_table_operate.Messages.CREATE_PHOTO: ''' + mod_table_operate.CreateMessage(bd_table.TableFieldDestiny.PHOTO): ''' Создание сообщения. Шаг №3 Загрузите обложку для сообщения (Фото): @@ -95,23 +95,23 @@ messages = { mod_table_operate.Messages.SELECT_TO_EDIT: ''' Выберите сообщение, который вы хотите отредактировать. ''', - mod_table_operate.Messages.EDIT_PHOTO: ''' + mod_table_operate.EditMessage(bd_table.TableFieldDestiny.PHOTO): ''' Загрузите новую обложку для сообщения (Фото): Она будет отображаться в его описании. ''', - mod_table_operate.Messages.EDIT_NAME: f''' + mod_table_operate.EditMessage(bd_table.TableFieldDestiny.NAME): f''' Текущее название сообщения: #{name_field} Введите новое название сообщения: ''', - mod_table_operate.Messages.EDIT_DESC: f''' + mod_table_operate.EditMessage(bd_table.TableFieldDestiny.DESC): f''' Текущее описание сообщения: #{desc_field} Введите новое описание сообщения: ''', - mod_table_operate.Messages.EDIT_ACCESS: f''' + mod_table_operate.EditMessage(bd_table.TableFieldDestiny.ACCESS): f''' Текущий доступ к сообщениеу: #{access_field} diff --git a/bot_modules/mod_table_operate.py b/bot_modules/mod_table_operate.py index 02ff12e..3a62594 100644 --- a/bot_modules/mod_table_operate.py +++ b/bot_modules/mod_table_operate.py @@ -13,36 +13,28 @@ from aiogram.dispatcher.filters.state import State, StatesGroup from enum import Enum from enum import auto +def EditButton(a_BDTableDestiny): + return 'edit' + str(a_BDTableDestiny) + +def EditMessage(a_BDTableDestiny): + return 'edit' + str(a_BDTableDestiny) + +def CreateMessage(a_BDTableDestiny): + return 'create' + str(a_BDTableDestiny) + class ButtonNames(Enum): LIST = auto() ADD = auto() EDIT = auto() - EDIT_PHOTO = auto() - EDIT_NAME = auto() - EDIT_DESC = auto() - EDIT_ACCESS = auto() - EDIT_DEFAULT_ACCESS = auto() - EDIT_ADDRESS = auto() - EDIT_STATUS = auto() DEL = auto() class Messages(Enum): SELECT = auto() ERROR_FIND = auto() OPEN = auto() - CREATE_NAME = auto() - CREATE_DESC = auto() - CREATE_PHOTO = auto() SUCCESS_CREATE = auto() START_EDIT = auto() SELECT_TO_EDIT = auto() - EDIT_PHOTO = auto() - EDIT_NAME = auto() - EDIT_DESC = auto() - EDIT_ACCESS = auto() - EDIT_DEFAULT_ACCESS = auto() - EDIT_ADDRESS = auto() - EDIT_STATUS = auto() SUCCESS_EDIT = auto() SELECT_TO_DELETE = auto() SUCCESS_DELETE = auto() @@ -134,13 +126,13 @@ class TableOperateModule(mod_simple_message.SimpleMessageModule): def GetEditKeyboardButtons(self, a_Message, a_UserGroups): mod_buttons = keyboard.MakeButtons(self.m_Bot, self.GetButtons(self.m_EditModuleNameList), a_UserGroups) cur_buttons = [ - keyboard.ButtonWithAccess(self.GetButton(ButtonNames.EDIT_PHOTO), user_access.AccessMode.VIEW, self.GetAccess()), - keyboard.ButtonWithAccess(self.GetButton(ButtonNames.EDIT_NAME), user_access.AccessMode.ADD, self.GetAccess()), - keyboard.ButtonWithAccess(self.GetButton(ButtonNames.EDIT_DESC), user_access.AccessMode.DELETE, self.GetAccess()), - keyboard.ButtonWithAccess(self.GetButton(ButtonNames.EDIT_ACCESS), user_access.AccessMode.DELETE, self.GetAccess()), - keyboard.ButtonWithAccess(self.GetButton(ButtonNames.EDIT_DEFAULT_ACCESS), user_access.AccessMode.EDIT, self.GetAccess()), - keyboard.ButtonWithAccess(self.GetButton(ButtonNames.EDIT_ADDRESS), user_access.AccessMode.EDIT, self.GetAccess()), - keyboard.ButtonWithAccess(self.GetButton(ButtonNames.EDIT_STATUS), user_access.AccessMode.EDIT, self.GetAccess()), + keyboard.ButtonWithAccess(self.GetButton(EditButton(bd_table.TableFieldDestiny.PHOTO)), user_access.AccessMode.VIEW, self.GetAccess()), + keyboard.ButtonWithAccess(self.GetButton(EditButton(bd_table.TableFieldDestiny.NAME)), user_access.AccessMode.ADD, self.GetAccess()), + keyboard.ButtonWithAccess(self.GetButton(EditButton(bd_table.TableFieldDestiny.DESC)), user_access.AccessMode.DELETE, self.GetAccess()), + keyboard.ButtonWithAccess(self.GetButton(EditButton(bd_table.TableFieldDestiny.ACCESS)), user_access.AccessMode.DELETE, self.GetAccess()), + keyboard.ButtonWithAccess(self.GetButton(EditButton(bd_table.TableFieldDestiny.DEFAULT_ACCESS)), user_access.AccessMode.EDIT, self.GetAccess()), + keyboard.ButtonWithAccess(self.GetButton(EditButton(bd_table.TableFieldDestiny.ADDRESS)), user_access.AccessMode.EDIT, self.GetAccess()), + keyboard.ButtonWithAccess(self.GetButton(EditButton(bd_table.TableFieldDestiny.STATUS)), user_access.AccessMode.EDIT, self.GetAccess()), ] return mod_buttons + keyboard.MakeButtons(self.m_Bot, cur_buttons, a_UserGroups) @@ -173,6 +165,13 @@ class TableOperateModule(mod_simple_message.SimpleMessageModule): a_Item[key_name_id],\ a_Item[access_field_id] + def UpdateMessage(self, a_Msg, a_Lang, a_Item): + a_Msg.UpdateDesc(self.m_Table.ReplaceAllFieldTags(a_Msg.GetDesc(), a_Item)) + photo_field = self.m_Table.GetFieldIDByDestiny(bd_table.TableFieldDestiny.PHOTO) + if photo_field: + a_Msg.UpdatePhotoID(a_Item[photo_field]) + return a_Msg + def ShowMessageTemplate(self, a_Message, Inline_keyboard_template_func = None): async def ShowMessage(a_CallbackQuery, a_Item): msg = a_Message.StaticCopy() @@ -185,10 +184,7 @@ class TableOperateModule(mod_simple_message.SimpleMessageModule): elif len(a_Item) == self.m_Table.GetFieldsCount(): lang = str(a_CallbackQuery.from_user.language_code) msg = msg.GetMessageForLang(lang).StaticCopy() - msg.UpdateDesc(self.m_Table.ReplaceAllFieldTags(msg.GetDesc(), a_Item)) - photo_field = self.m_Table.GetFieldIDByDestiny(bd_table.TableFieldDestiny.PHOTO) - if photo_field: - msg.UpdatePhotoID(a_Item[photo_field]) + msg = self.UpdateMessage(msg, lang, a_Item) item_access = a_Item[self.m_Table.GetFieldIDByDestiny(bd_table.TableFieldDestiny.ACCESS)] if Inline_keyboard_template_func: Inline_keyboard_func = Inline_keyboard_template_func(a_Item[self.m_Table.GetFieldIDByDestiny(bd_table.TableFieldDestiny.KEY)]) @@ -272,8 +268,16 @@ class TableOperateModule(mod_simple_message.SimpleMessageModule): return a_Prefix - def RegisterEdit(self, a_ButtonName, a_EditMessage, a_FieldName, a_FieldType, a_AccessMode = user_access.AccessMode.EDIT): - if not a_ButtonName: + def RegisterEdit(self, a_Field, a_AccessMode = user_access.AccessMode.EDIT): + a_ButtonName = self.GetButton(EditButton(a_Field.m_Destiny)) + a_EditMessage = self.GetMessage(EditMessage(a_Field.m_Destiny)) + a_FieldName = a_Field.m_Name + + a_FieldType = bd_item.FieldType.text + if a_Field.m_Destiny == bd_table.TableFieldDestiny.PHOTO: + a_FieldType = bd_item.FieldType.photo + + if not a_ButtonName or not a_EditMessage: return def OnChange(): @@ -382,9 +386,9 @@ class TableOperateModule(mod_simple_message.SimpleMessageModule): self.GetFSM(FSMs.CREATE).desc, \ self.GetFSM(FSMs.CREATE).photo,\ self.m_AddBDItemFunc, \ - self.ShowMessageTemplate(self.GetMessage(Messages.CREATE_NAME)), \ - self.ShowMessageTemplate(self.GetMessage(Messages.CREATE_DESC)), \ - self.ShowMessageTemplate(self.GetMessage(Messages.CREATE_PHOTO)), \ + self.ShowMessageTemplate(self.GetMessage(CreateMessage(bd_table.TableFieldDestiny.NAME))), \ + self.ShowMessageTemplate(self.GetMessage(CreateMessage(bd_table.TableFieldDestiny.DESC))), \ + self.ShowMessageTemplate(self.GetMessage(CreateMessage(bd_table.TableFieldDestiny.PHOTO))), \ self.ShowMessageTemplate(self.GetMessage(Messages.SUCCESS_CREATE)), \ a_Prefix,\ parent_table_name, \ @@ -415,13 +419,8 @@ class TableOperateModule(mod_simple_message.SimpleMessageModule): address_field = self.m_Table.GetFieldNameByDestiny(bd_table.TableFieldDestiny.ADDRESS) status_field = self.m_Table.GetFieldNameByDestiny(bd_table.TableFieldDestiny.STATUS) - self.RegisterEdit(self.GetButton(ButtonNames.EDIT_NAME), self.GetMessage(Messages.EDIT_NAME), name_field, bd_item.FieldType.text) - self.RegisterEdit(self.GetButton(ButtonNames.EDIT_DESC), self.GetMessage(Messages.EDIT_DESC), desc_field, bd_item.FieldType.text) - self.RegisterEdit(self.GetButton(ButtonNames.EDIT_PHOTO), self.GetMessage(Messages.EDIT_PHOTO), photo_field, bd_item.FieldType.photo) - self.RegisterEdit(self.GetButton(ButtonNames.EDIT_ACCESS), self.GetMessage(Messages.EDIT_ACCESS), access_field, bd_item.FieldType.text) - self.RegisterEdit(self.GetButton(ButtonNames.EDIT_DEFAULT_ACCESS), self.GetMessage(Messages.EDIT_DEFAULT_ACCESS), def_access_field, bd_item.FieldType.text) - self.RegisterEdit(self.GetButton(ButtonNames.EDIT_ADDRESS), self.GetMessage(Messages.EDIT_ADDRESS), address_field, bd_item.FieldType.text) - self.RegisterEdit(self.GetButton(ButtonNames.EDIT_STATUS), self.GetMessage(Messages.EDIT_STATUS), status_field, bd_item.FieldType.text) + for f in self.m_Table.GetFields(): + self.RegisterEdit(f) def OnChange(self): pass diff --git a/bot_modules/needs.py b/bot_modules/needs.py index 993fe88..d180438 100644 --- a/bot_modules/needs.py +++ b/bot_modules/needs.py @@ -39,10 +39,10 @@ button_names = { mod_table_operate.ButtonNames.LIST: "📃 Список потребностей", mod_table_operate.ButtonNames.ADD: "☑ Добавить потребность", mod_table_operate.ButtonNames.EDIT: "🛠 Редактировать потребность", - mod_table_operate.ButtonNames.EDIT_PHOTO: "☐ Изменить изображение у потребности", - mod_table_operate.ButtonNames.EDIT_NAME: "≂ Изменить название у потребности", - mod_table_operate.ButtonNames.EDIT_DESC: "𝌴 Изменить описание у потребности", - mod_table_operate.ButtonNames.EDIT_ACCESS: "✋ Изменить доступ к потребности", + mod_table_operate.EditButton(bd_table.TableFieldDestiny.PHOTO): "☐ Изменить изображение у потребности", + mod_table_operate.EditButton(bd_table.TableFieldDestiny.NAME): "≂ Изменить название у потребности", + mod_table_operate.EditButton(bd_table.TableFieldDestiny.DESC): "𝌴 Изменить описание у потребности", + mod_table_operate.EditButton(bd_table.TableFieldDestiny.ACCESS): "✋ Изменить доступ к потребности", mod_table_operate.ButtonNames.DEL: "❌ Удалить потребность", } @@ -64,17 +64,17 @@ messages = { Время создания: #{create_datetime_field} ''', - mod_table_operate.Messages.CREATE_NAME: ''' + mod_table_operate.CreateMessage(bd_table.TableFieldDestiny.NAME): ''' Создание потребности. Шаг №1 Введите название потребности: ''', - mod_table_operate.Messages.CREATE_DESC: ''' + mod_table_operate.CreateMessage(bd_table.TableFieldDestiny.DESC): ''' Создание потребности. Шаг №2 Введите описание потребности: ''', - mod_table_operate.Messages.CREATE_PHOTO: ''' + mod_table_operate.CreateMessage(bd_table.TableFieldDestiny.PHOTO): ''' Создание потребности. Шаг №3 Загрузите обложку для потребности (Фото): @@ -87,23 +87,23 @@ messages = { mod_table_operate.Messages.SELECT_TO_EDIT: ''' Выберите потребность, которую вы хотите отредактировать. ''', - mod_table_operate.Messages.EDIT_PHOTO: ''' + mod_table_operate.EditMessage(bd_table.TableFieldDestiny.PHOTO): ''' Загрузите новую обложку для потребности (Фото): Она будет отображаться в её описании. ''', - mod_table_operate.Messages.EDIT_NAME: f''' + mod_table_operate.EditMessage(bd_table.TableFieldDestiny.NAME): f''' Текущее название потребности: #{name_field} Введите новое название потребности: ''', - mod_table_operate.Messages.EDIT_DESC: f''' + mod_table_operate.EditMessage(bd_table.TableFieldDestiny.DESC): f''' Текущее описание потребности: #{desc_field} Введите новое описание потребности: ''', - mod_table_operate.Messages.EDIT_ACCESS: f''' + mod_table_operate.EditMessage(bd_table.TableFieldDestiny.ACCESS): f''' Текущий доступ к потребности: #{access_field} diff --git a/bot_modules/orders.py b/bot_modules/orders.py index cb3d82f..b16421e 100644 --- a/bot_modules/orders.py +++ b/bot_modules/orders.py @@ -57,12 +57,12 @@ button_names = { ButtonNames.LIST_CURRENT: "📃 Список текущих заказов", mod_table_operate.ButtonNames.ADD: "✅ Добавить заказ", mod_table_operate.ButtonNames.EDIT: "🛠 Редактировать заказ", - mod_table_operate.ButtonNames.EDIT_PHOTO: "☐ Изменить изображение в заказе", - mod_table_operate.ButtonNames.EDIT_NAME: "≂ Изменить название в заказе", - mod_table_operate.ButtonNames.EDIT_DESC: "𝌴 Изменить описание в заказе", - mod_table_operate.ButtonNames.EDIT_ADDRESS: "𝌴 Изменить адрес в заказе", - mod_table_operate.ButtonNames.EDIT_STATUS: "𝌴 Изменить статус в заказе", - mod_table_operate.ButtonNames.EDIT_ACCESS: "✋ Изменить доступ к заказу", + mod_table_operate.EditButton(bd_table.TableFieldDestiny.PHOTO): "☐ Изменить изображение в заказе", + mod_table_operate.EditButton(bd_table.TableFieldDestiny.NAME): "≂ Изменить название в заказе", + mod_table_operate.EditButton(bd_table.TableFieldDestiny.DESC): "𝌴 Изменить описание в заказе", + mod_table_operate.EditButton(bd_table.TableFieldDestiny.ADDRESS): "𝌴 Изменить адрес в заказе", + mod_table_operate.EditButton(bd_table.TableFieldDestiny.STATUS): "𝌴 Изменить статус в заказе", + mod_table_operate.EditButton(bd_table.TableFieldDestiny.ACCESS): "✋ Изменить доступ к заказу", mod_table_operate.ButtonNames.DEL: "❌ Удалить заказ", } @@ -78,27 +78,27 @@ messages = { ❌ Ошибка, заказ не найден ''', mod_table_operate.Messages.OPEN: f''' -Заказ: #{name_field} +Заказ: #{name_field} -#{desc_field} +Описание и состав заказа: #{desc_field} -Статус:#{status_field} +Статус: #{status_field} -Адрес доставки:#{address_field} +Адрес доставки: #{address_field} Время создания: #{create_datetime_field} ''', - mod_table_operate.Messages.CREATE_NAME: ''' + mod_table_operate.CreateMessage(bd_table.TableFieldDestiny.NAME): ''' Создание заказа. Шаг №1 Введите название заказа: ''', - mod_table_operate.Messages.CREATE_DESC: ''' + mod_table_operate.CreateMessage(bd_table.TableFieldDestiny.DESC): ''' Создание заказа. Шаг №2 Введите описание заказа: ''', - mod_table_operate.Messages.CREATE_PHOTO: ''' + mod_table_operate.CreateMessage(bd_table.TableFieldDestiny.PHOTO): ''' Создание заказа. Шаг №3 Загрузите обложку для заказа (Фото): @@ -111,35 +111,35 @@ messages = { mod_table_operate.Messages.SELECT_TO_EDIT: ''' Выберите заказ, который вы хотите отредактировать. ''', - mod_table_operate.Messages.EDIT_PHOTO: ''' + mod_table_operate.EditMessage(bd_table.TableFieldDestiny.PHOTO): ''' Загрузите новую обложку для заказа (Фото): Она будет отображаться в его описании. ''', - mod_table_operate.Messages.EDIT_NAME: f''' + mod_table_operate.EditMessage(bd_table.TableFieldDestiny.NAME): f''' Текущее название заказа: #{name_field} Введите новое название заказа: ''', - mod_table_operate.Messages.EDIT_DESC: f''' + mod_table_operate.EditMessage(bd_table.TableFieldDestiny.DESC): f''' Текущее описание заказа: #{desc_field} Введите новое описание заказа: ''', - mod_table_operate.Messages.EDIT_ADDRESS: f''' + mod_table_operate.EditMessage(bd_table.TableFieldDestiny.ADDRESS): f''' Текущий адрес заказа: #{desc_field} Введите новый адрес доставки заказа (укажите, кто, когда и где его сможет забрать): ''', - mod_table_operate.Messages.EDIT_STATUS: f''' + mod_table_operate.EditMessage(bd_table.TableFieldDestiny.STATUS): f''' Текущий статус заказа: #{status_field} Введите новый статус заказа: ''', - mod_table_operate.Messages.EDIT_ACCESS: f''' + mod_table_operate.EditMessage(bd_table.TableFieldDestiny.ACCESS): f''' Текущий доступ к заказу: #{access_field} @@ -155,6 +155,15 @@ messages = { mod_table_operate.Messages.SUCCESS_DELETE: '''✅ Заказ успешно удалён!''', } +messages_order_status = { + OrderStatus.NEW: f'''Заказ создан, ожидает модерации''', + OrderStatus.PAY: f'''Заказ ожидает оплаты''', + OrderStatus.ADDRESS: f'''Заказ ожидает указания адреса доставки''', + OrderStatus.FINISH: f'''Заказ выполнен''', +} + +messages.update(messages_order_status) + def GetCurItemsTemplate(a_Bot, a_TableName, a_UserIDFieldName, a_StatusFieldName): def GetBDItems(a_Message, a_UserGroups, a_ParentID): request = f'SELECT * FROM {a_TableName} WHERE {a_UserIDFieldName} = ? AND {a_StatusFieldName} != ?' @@ -212,6 +221,12 @@ class ModuleOrders(mod_table_operate.TableOperateModule): ] return parent_buttons + keyboard.MakeButtons(self.m_Bot, cur_buttons, a_UserGroups) + def UpdateMessage(self, a_Msg, a_Lang, a_Item): + a_Msg = super().UpdateMessage(a_Msg, a_Lang, a_Item) + for s in OrderStatus: + a_Msg.UpdateDesc(a_Msg.GetDesc().replace(str(s), str(self.GetMessage(s).GetMessageForLang(a_Lang).StaticCopy()))) + return a_Msg + def RegisterHandlers(self): super().RegisterHandlers() table_name = self.m_Table.GetName() diff --git a/bot_modules/projects.py b/bot_modules/projects.py index ef5d54e..315899c 100644 --- a/bot_modules/projects.py +++ b/bot_modules/projects.py @@ -37,10 +37,10 @@ button_names = { mod_table_operate.ButtonNames.LIST: "📃 Список проектов", mod_table_operate.ButtonNames.ADD: "✅ Добавить проект", mod_table_operate.ButtonNames.EDIT: "🛠 Редактировать проект", - mod_table_operate.ButtonNames.EDIT_PHOTO: "☐ Изменить изображение в проекте", - mod_table_operate.ButtonNames.EDIT_NAME: "≂ Изменить название в проекте", - mod_table_operate.ButtonNames.EDIT_DESC: "𝌴 Изменить описание в проекте", - mod_table_operate.ButtonNames.EDIT_ACCESS: "✋ Изменить доступ к проекту", + mod_table_operate.EditButton(bd_table.TableFieldDestiny.PHOTO): "☐ Изменить изображение в проекте", + mod_table_operate.EditButton(bd_table.TableFieldDestiny.NAME): "≂ Изменить название в проекте", + mod_table_operate.EditButton(bd_table.TableFieldDestiny.DESC): "𝌴 Изменить описание в проекте", + mod_table_operate.EditButton(bd_table.TableFieldDestiny.ACCESS): "✋ Изменить доступ к проекту", mod_table_operate.ButtonNames.DEL: "❌ Удалить проект", } @@ -62,17 +62,17 @@ messages = { Время создания: #{create_datetime_field} ''', - mod_table_operate.Messages.CREATE_NAME: ''' + mod_table_operate.CreateMessage(bd_table.TableFieldDestiny.NAME): ''' Создание проекта. Шаг №1 Введите название проекта: ''', - mod_table_operate.Messages.CREATE_DESC: ''' + mod_table_operate.CreateMessage(bd_table.TableFieldDestiny.DESC): ''' Создание проекта. Шаг №2 Введите описание проекта: ''', - mod_table_operate.Messages.CREATE_PHOTO: ''' + mod_table_operate.CreateMessage(bd_table.TableFieldDestiny.PHOTO): ''' Создание проекта. Шаг №3 Загрузите обложку для проекта (Фото): @@ -85,23 +85,23 @@ messages = { mod_table_operate.Messages.SELECT_TO_EDIT: ''' Выберите проект, который вы хотите отредактировать. ''', - mod_table_operate.Messages.EDIT_PHOTO: ''' + mod_table_operate.EditMessage(bd_table.TableFieldDestiny.PHOTO): ''' Загрузите новую обложку для проекта (Фото): Она будет отображаться в его описании. ''', - mod_table_operate.Messages.EDIT_NAME: f''' + mod_table_operate.EditMessage(bd_table.TableFieldDestiny.NAME): f''' Текущее название проекта: #{name_field} Введите новое название проекта: ''', - mod_table_operate.Messages.EDIT_DESC: f''' + mod_table_operate.EditMessage(bd_table.TableFieldDestiny.DESC): f''' Текущее описание проекта: #{desc_field} Введите новое описание проекта: ''', - mod_table_operate.Messages.EDIT_ACCESS: f''' + mod_table_operate.EditMessage(bd_table.TableFieldDestiny.ACCESS): f''' Текущий доступ к проекту: #{access_field} diff --git a/bot_modules/tasks.py b/bot_modules/tasks.py index 56b4c49..39a3dfa 100644 --- a/bot_modules/tasks.py +++ b/bot_modules/tasks.py @@ -39,10 +39,10 @@ button_names = { mod_table_operate.ButtonNames.LIST: "📃 Список задач", mod_table_operate.ButtonNames.ADD: "☑ Добавить задачу", mod_table_operate.ButtonNames.EDIT: "🛠 Редактировать задачу", - mod_table_operate.ButtonNames.EDIT_PHOTO: "☐ Изменить изображение у задачи", - mod_table_operate.ButtonNames.EDIT_NAME: "≂ Изменить название у задачи", - mod_table_operate.ButtonNames.EDIT_DESC: "𝌴 Изменить описание у задачи", - mod_table_operate.ButtonNames.EDIT_ACCESS: "✋ Изменить доступ к задаче", + mod_table_operate.EditButton(bd_table.TableFieldDestiny.PHOTO): "☐ Изменить изображение у задачи", + mod_table_operate.EditButton(bd_table.TableFieldDestiny.NAME): "≂ Изменить название у задачи", + mod_table_operate.EditButton(bd_table.TableFieldDestiny.DESC): "𝌴 Изменить описание у задачи", + mod_table_operate.EditButton(bd_table.TableFieldDestiny.ACCESS): "✋ Изменить доступ к задаче", mod_table_operate.ButtonNames.DEL: "❌ Удалить задачу", } @@ -64,17 +64,17 @@ messages = { Время создания: #{create_datetime_field} ''', - mod_table_operate.Messages.CREATE_NAME: ''' + mod_table_operate.CreateMessage(bd_table.TableFieldDestiny.NAME): ''' Создание задачи. Шаг №1 Введите название задачи: ''', - mod_table_operate.Messages.CREATE_DESC: ''' + mod_table_operate.CreateMessage(bd_table.TableFieldDestiny.DESC): ''' Создание задачи. Шаг №2 Введите описание задачи: ''', - mod_table_operate.Messages.CREATE_PHOTO: ''' + mod_table_operate.CreateMessage(bd_table.TableFieldDestiny.PHOTO): ''' Создание задачи. Шаг №3 Загрузите обложку для задачи (Фото): @@ -87,23 +87,23 @@ messages = { mod_table_operate.Messages.SELECT_TO_EDIT: ''' Выберите задачу, которую вы хотите отредактировать. ''', - mod_table_operate.Messages.EDIT_PHOTO: ''' + mod_table_operate.EditMessage(bd_table.TableFieldDestiny.PHOTO): ''' Загрузите новую обложку для задачи (Фото): Она будет отображаться в её описании. ''', - mod_table_operate.Messages.EDIT_NAME: f''' + mod_table_operate.EditMessage(bd_table.TableFieldDestiny.NAME): f''' Текущее название задачи: #{name_field} Введите новое название задачи: ''', - mod_table_operate.Messages.EDIT_DESC: f''' + mod_table_operate.EditMessage(bd_table.TableFieldDestiny.DESC): f''' Текущее описание задачи: #{desc_field} Введите новое описание задачи: ''', - mod_table_operate.Messages.EDIT_ACCESS: f''' + mod_table_operate.EditMessage(bd_table.TableFieldDestiny.ACCESS): f''' Текущий доступ к задаче: #{access_field} diff --git a/bot_modules/user_in_groups.py b/bot_modules/user_in_groups.py index 9bf9bba..a7bacda 100644 --- a/bot_modules/user_in_groups.py +++ b/bot_modules/user_in_groups.py @@ -55,7 +55,7 @@ button_names = { mod_simple_message.ButtonNames.START: "🗫 Пользователи в группах", mod_table_operate.ButtonNames.LIST: "📃 Список пользователей в группах", ButtonNames.ADD_USER: "✅ Добавить пользователя в группу", - mod_table_operate.ButtonNames.EDIT_ACCESS: "✋ Доступ к пользователю в группе", + mod_table_operate.EditButton(bd_table.TableFieldDestiny.ACCESS): "✋ Доступ к пользователю в группе", mod_table_operate.ButtonNames.DEL: "❌ Удалить пользователя из группы", } @@ -77,7 +77,7 @@ messages = { Время создания: #{create_datetime_field} ''', - mod_table_operate.Messages.CREATE_NAME: ''' + mod_table_operate.CreateMessage(bd_table.TableFieldDestiny.NAME): ''' Создание пользователя в группе. Укажите ID пользователя: @@ -89,7 +89,7 @@ messages = { mod_table_operate.Messages.SELECT_TO_EDIT: ''' Выберите пользователя в группе, которого вы хотите отредактировать. ''', - mod_table_operate.Messages.EDIT_ACCESS: f''' + mod_table_operate.EditMessage(bd_table.TableFieldDestiny.ACCESS): f''' Текущий доступ к пользователю в группе: #{access_field} @@ -145,7 +145,7 @@ class ModuleUserInGroups(mod_table_operate.TableOperateModule): check_func,\ FSMAddUserInGroups,\ self.m_AddBDItemFunc,\ - self.ShowMessageTemplate(self.GetMessage(mod_table_operate.Messages.CREATE_NAME)),\ + self.ShowMessageTemplate(self.GetMessage(mod_table_operate.CreateMessage(bd_table.TableFieldDestiny.NAME))),\ self.ShowMessageTemplate(self.GetMessage(mod_table_operate.Messages.SUCCESS_CREATE)),\ a_Prefix,\ parent_table_name,\ diff --git a/bot_modules/users.py b/bot_modules/users.py index 1fcd569..8b871ab 100644 --- a/bot_modules/users.py +++ b/bot_modules/users.py @@ -44,10 +44,10 @@ button_names = { mod_table_operate.ButtonNames.LIST: "📃 Список пользователей", # mod_table_operate.ButtonNames.ADD: "✅ Добавить пользователя", mod_table_operate.ButtonNames.EDIT: "🛠 Редактировать пользователя", - mod_table_operate.ButtonNames.EDIT_PHOTO: "☐ Изменить изображение в пользователяе", - mod_table_operate.ButtonNames.EDIT_NAME: "≂ Изменить название в пользователяе", - mod_table_operate.ButtonNames.EDIT_DESC: "𝌴 Изменить описание в пользователяе", - mod_table_operate.ButtonNames.EDIT_ACCESS: "✋ Изменить доступ к пользователю", + mod_table_operate.EditButton(bd_table.TableFieldDestiny.PHOTO): "☐ Изменить изображение в пользователяе", + mod_table_operate.EditButton(bd_table.TableFieldDestiny.NAME): "≂ Изменить название в пользователяе", + mod_table_operate.EditButton(bd_table.TableFieldDestiny.DESC): "𝌴 Изменить описание в пользователяе", + mod_table_operate.EditButton(bd_table.TableFieldDestiny.ACCESS): "✋ Изменить доступ к пользователю", mod_table_operate.ButtonNames.DEL: "❌ Удалить пользователя", } @@ -72,17 +72,17 @@ messages = { Код языка: #{language_code_field} Дата добавления: #{create_datetime_field} ''', - mod_table_operate.Messages.CREATE_NAME: ''' + mod_table_operate.CreateMessage(bd_table.TableFieldDestiny.NAME): ''' Создание пользователя. Шаг №1 Введите название пользователя: ''', - mod_table_operate.Messages.CREATE_DESC: ''' + mod_table_operate.CreateMessage(bd_table.TableFieldDestiny.DESC): ''' Создание пользователя. Шаг №2 Введите описание пользователя: ''', - mod_table_operate.Messages.CREATE_PHOTO: ''' + mod_table_operate.CreateMessage(bd_table.TableFieldDestiny.PHOTO): ''' Создание пользователя. Шаг №3 Загрузите обложку для пользователя (Фото): @@ -95,23 +95,23 @@ messages = { mod_table_operate.Messages.SELECT_TO_EDIT: ''' Выберите пользователя, которого вы хотите отредактировать. ''', - mod_table_operate.Messages.EDIT_PHOTO: ''' + mod_table_operate.EditMessage(bd_table.TableFieldDestiny.PHOTO): ''' Загрузите новую обложку для пользователя (Фото): Она будет отображаться в его описании. ''', - mod_table_operate.Messages.EDIT_NAME: f''' + mod_table_operate.EditMessage(bd_table.TableFieldDestiny.NAME): f''' Текущее название пользователя: #{name_field} Введите новое название пользователя: ''', - mod_table_operate.Messages.EDIT_DESC: f''' + mod_table_operate.EditMessage(bd_table.TableFieldDestiny.DESC): f''' Текущее описание пользователя: #{name1_field} Введите новое описание пользователя: ''', - mod_table_operate.Messages.EDIT_ACCESS: f''' + mod_table_operate.EditMessage(bd_table.TableFieldDestiny.ACCESS): f''' Текущий доступ к пользователю: #{access_field} diff --git a/bot_sys/bd_table.py b/bot_sys/bd_table.py index 9cf80d7..e4ed87b 100644 --- a/bot_sys/bd_table.py +++ b/bot_sys/bd_table.py @@ -119,6 +119,7 @@ def Test(): assert table.GetFieldNameByDestiny(TableFieldDestiny.PHOTO) == None assert table.GetFieldsCount() == 3 + assert len(table.GetFields()) == 3 print(table.GetInitTableRequest()) assert table.GetInitTableRequest() == 'CREATE TABLE IF NOT EXISTS tname(f1 INTEGER PRIMARY KEY, f2 TEXT, f3 TEXT, UNIQUE(f1), UNIQUE(f2, f3));' diff --git a/template/bd_item_edit.py b/template/bd_item_edit.py index 01cfafd..972c715 100644 --- a/template/bd_item_edit.py +++ b/template/bd_item_edit.py @@ -33,13 +33,13 @@ def FinishEditBDItemTemplate(a_Bot, a_FSM, a_TableName, a_KeyName, a_FieldName, return bd_item_add.FinishAddBDItemTemplate(a_Bot, a_FSM, EditBDItemFunc, a_TableName, a_KeyName, a_FieldName, a_MessageFunc, a_AccessFunc, a_ButtonFunc, access_mode = access_mode, field_type = field_type) -def EditBDItemRegisterHandlers(a_Bot, a_SelectSource, a_FSM, a_StartMessage, a_EditMessageFunc, a_FinishMessageFunc, a_TableName : str, a_KeyName, a_FieldName, a_GetButtonNameAndKeyValueAndAccessFunc, a_AccessFunc, a_ButtonFunc, a_OnChangeFunc, access_mode = user_access.AccessMode.EDIT, field_type = bd_item.FieldType.text): +def EditBDItemRegisterHandlers(a_Bot, a_SelectSource, a_FSM, a_StartMessage, a_EditMessageFunc, a_FinishMessageFunc, a_TableName : str, a_KeyName, a_FieldName, a_GetButtonNameAndKeyValueAndAccessFunc, a_AccessFunc, a_FinishButtonFunc, a_OnChangeFunc, access_mode = user_access.AccessMode.EDIT, field_type = bd_item.FieldType.text): keyboard_cancel = bd_item.GetCancelKeyboardButtonsTemplate(a_Bot, a_AccessFunc, access_mode) a_Prefix = bd_item_select.SelectRegisterHandlers(a_Bot, a_SelectSource, a_GetButtonNameAndKeyValueAndAccessFunc, a_StartMessage, a_AccessFunc, access_mode = access_mode) - a_Bot.RegisterCallbackHandler(StartEditBDItemTemplate(a_Bot, a_FSM, a_EditMessageFunc, a_TableName, a_KeyName, a_Prefix, a_AccessFunc, keyboard_cancel, a_ButtonFunc, access_mode), bd_item.GetCheckForPrefixFunc(a_Prefix)) + a_Bot.RegisterCallbackHandler(StartEditBDItemTemplate(a_Bot, a_FSM, a_EditMessageFunc, a_TableName, a_KeyName, a_Prefix, a_AccessFunc, keyboard_cancel, a_FinishButtonFunc, access_mode), bd_item.GetCheckForPrefixFunc(a_Prefix)) if field_type == bd_item.FieldType.photo: - a_Bot.RegisterMessageHandler(FinishEditBDItemTemplate(a_Bot, a_FSM, a_TableName, a_KeyName, a_FieldName, a_FinishMessageFunc, a_AccessFunc, a_ButtonFunc, a_OnChangeFunc, access_mode, field_type = field_type), content_types = ['photo', 'text'], state = a_FSM.item_field) + a_Bot.RegisterMessageHandler(FinishEditBDItemTemplate(a_Bot, a_FSM, a_TableName, a_KeyName, a_FieldName, a_FinishMessageFunc, a_AccessFunc, a_FinishButtonFunc, a_OnChangeFunc, access_mode, field_type = field_type), content_types = ['photo', 'text'], state = a_FSM.item_field) else: - a_Bot.RegisterMessageHandler(FinishEditBDItemTemplate(a_Bot, a_FSM, a_TableName, a_KeyName, a_FieldName, a_FinishMessageFunc, a_AccessFunc, a_ButtonFunc, a_OnChangeFunc, access_mode, field_type = field_type), state = a_FSM.item_field) + a_Bot.RegisterMessageHandler(FinishEditBDItemTemplate(a_Bot, a_FSM, a_TableName, a_KeyName, a_FieldName, a_FinishMessageFunc, a_AccessFunc, a_FinishButtonFunc, a_OnChangeFunc, access_mode, field_type = field_type), state = a_FSM.item_field)