Browse Source

Автоматическая регистрация на редактирование всех полей

pull/3/head
Alexei 2 years ago
parent
commit
7ab55fb27d
  1. 8
      bot_modules/access.py
  2. 22
      bot_modules/buttons.py
  3. 22
      bot_modules/comments.py
  4. 22
      bot_modules/groups.py
  5. 22
      bot_modules/languages.py
  6. 22
      bot_modules/messages.py
  7. 79
      bot_modules/mod_table_operate.py
  8. 22
      bot_modules/needs.py
  9. 53
      bot_modules/orders.py
  10. 22
      bot_modules/projects.py
  11. 22
      bot_modules/tasks.py
  12. 8
      bot_modules/user_in_groups.py
  13. 22
      bot_modules/users.py
  14. 1
      bot_sys/bd_table.py
  15. 8
      template/bd_item_edit.py

8
bot_modules/access.py

@ -87,8 +87,8 @@ moduleaccess_success_edit_message = '''✅ Доступ к модулю успе
button_names = { button_names = {
mod_simple_message.ButtonNames.START: start_button_name, mod_simple_message.ButtonNames.START: start_button_name,
mod_table_operate.ButtonNames.EDIT: "🛠 Редактировать доступ", mod_table_operate.ButtonNames.EDIT: "🛠 Редактировать доступ",
mod_table_operate.ButtonNames.EDIT_ACCESS: edit_moduleaccess_access_button_name, mod_table_operate.EditButton(bd_table.TableFieldDestiny.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.DEFAULT_ACCESS): edit_moduleaccess_default_access_button_name,
} }
messages = { messages = {
@ -97,8 +97,8 @@ messages = {
Пожалуйста, выберите действие: Пожалуйста, выберите действие:
''', ''',
mod_table_operate.Messages.SELECT_TO_EDIT: moduleaccess_select_to_edit_message, 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.EditMessage(bd_table.TableFieldDestiny.ACCESS): moduleaccess_edit_access_message,
mod_table_operate.Messages.EDIT_DEFAULT_ACCESS: moduleaccess_edit_default_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, mod_table_operate.Messages.SUCCESS_EDIT: moduleaccess_success_edit_message,
} }

22
bot_modules/buttons.py

@ -47,10 +47,10 @@ button_names = {
mod_table_operate.ButtonNames.LIST: "📃 Список названий кнопок", mod_table_operate.ButtonNames.LIST: "📃 Список названий кнопок",
mod_table_operate.ButtonNames.ADD: "☑ Добавить название кнопки", mod_table_operate.ButtonNames.ADD: "☑ Добавить название кнопки",
mod_table_operate.ButtonNames.EDIT: "🛠 Редактировать названия кнопок", mod_table_operate.ButtonNames.EDIT: "🛠 Редактировать названия кнопок",
mod_table_operate.ButtonNames.EDIT_PHOTO: "☐ Изменить изображение у названия кнопок", mod_table_operate.EditButton(bd_table.TableFieldDestiny.PHOTO): "☐ Изменить изображение у названия кнопок",
mod_table_operate.ButtonNames.EDIT_NAME: "≂ Изменить название у названия кнопок", mod_table_operate.EditButton(bd_table.TableFieldDestiny.NAME): "≂ Изменить название у названия кнопок",
mod_table_operate.ButtonNames.EDIT_DESC: "𝌴 Изменить описание у названия кнопок", mod_table_operate.EditButton(bd_table.TableFieldDestiny.DESC): "𝌴 Изменить описание у названия кнопок",
mod_table_operate.ButtonNames.EDIT_ACCESS: "✋ Изменить доступ к названию кнопки", mod_table_operate.EditButton(bd_table.TableFieldDestiny.ACCESS): "✋ Изменить доступ к названию кнопки",
mod_table_operate.ButtonNames.DEL: "❌ Удалить название кнопки", mod_table_operate.ButtonNames.DEL: "❌ Удалить название кнопки",
} }
@ -72,17 +72,17 @@ messages = {
Время создания: #{create_datetime_field} Время создания: #{create_datetime_field}
''', ''',
mod_table_operate.Messages.CREATE_NAME: ''' mod_table_operate.CreateMessage(bd_table.TableFieldDestiny.NAME): '''
Создание названия кнопки Шаг 1 Создание названия кнопки Шаг 1
Введите название название кнопки: Введите название название кнопки:
''', ''',
mod_table_operate.Messages.CREATE_DESC: ''' mod_table_operate.CreateMessage(bd_table.TableFieldDestiny.DESC): '''
Создание названия кнопки. Шаг 2 Создание названия кнопки. Шаг 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.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} #{name_field}
Введите новое название названия кнопки: Введите новое название названия кнопки:
''', ''',
mod_table_operate.Messages.EDIT_DESC: f''' mod_table_operate.EditMessage(bd_table.TableFieldDestiny.DESC): f'''
Текущее описание названия кнопок: Текущее описание названия кнопок:
#{desc_field} #{desc_field}
Введите новое описание названия кнопки: Введите новое описание названия кнопки:
''', ''',
mod_table_operate.Messages.EDIT_ACCESS: f''' mod_table_operate.EditMessage(bd_table.TableFieldDestiny.ACCESS): f'''
Текущий доступ к названию кнопки: Текущий доступ к названию кнопки:
#{access_field} #{access_field}

22
bot_modules/comments.py

@ -39,10 +39,10 @@ button_names = {
mod_table_operate.ButtonNames.LIST: "📃 Список комментариев", mod_table_operate.ButtonNames.LIST: "📃 Список комментариев",
mod_table_operate.ButtonNames.ADD: "☑ Добавить комментарий", mod_table_operate.ButtonNames.ADD: "☑ Добавить комментарий",
mod_table_operate.ButtonNames.EDIT: "🛠 Редактировать комментарий", mod_table_operate.ButtonNames.EDIT: "🛠 Редактировать комментарий",
mod_table_operate.ButtonNames.EDIT_PHOTO: "☐ Изменить изображение у комментария", mod_table_operate.EditButton(bd_table.TableFieldDestiny.PHOTO): "☐ Изменить изображение у комментария",
mod_table_operate.ButtonNames.EDIT_NAME: "≂ Изменить название у комментария", mod_table_operate.EditButton(bd_table.TableFieldDestiny.NAME): "≂ Изменить название у комментария",
mod_table_operate.ButtonNames.EDIT_DESC: "𝌴 Изменить описание у комментария", mod_table_operate.EditButton(bd_table.TableFieldDestiny.DESC): "𝌴 Изменить описание у комментария",
mod_table_operate.ButtonNames.EDIT_ACCESS: "✋ Изменить доступ к комментарию", mod_table_operate.EditButton(bd_table.TableFieldDestiny.ACCESS): "✋ Изменить доступ к комментарию",
mod_table_operate.ButtonNames.DEL: "❌ Удалить комментарий", mod_table_operate.ButtonNames.DEL: "❌ Удалить комментарий",
} }
@ -64,17 +64,17 @@ messages = {
Время создания: #{create_datetime_field} Время создания: #{create_datetime_field}
''', ''',
mod_table_operate.Messages.CREATE_NAME: ''' mod_table_operate.CreateMessage(bd_table.TableFieldDestiny.NAME): '''
Создание комментария. Шаг 1 Создание комментария. Шаг 1
Введите название комментария: Введите название комментария:
''', ''',
mod_table_operate.Messages.CREATE_DESC: ''' mod_table_operate.CreateMessage(bd_table.TableFieldDestiny.DESC): '''
Создание комментария. Шаг 2 Создание комментария. Шаг 2
Введите описание комментария: Введите описание комментария:
''', ''',
mod_table_operate.Messages.CREATE_PHOTO: ''' mod_table_operate.CreateMessage(bd_table.TableFieldDestiny.PHOTO): '''
Создание комментария. Шаг 3 Создание комментария. Шаг 3
Загрузите обложку для комментария (Фото): Загрузите обложку для комментария (Фото):
@ -87,23 +87,23 @@ messages = {
mod_table_operate.Messages.SELECT_TO_EDIT: ''' 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} #{name_field}
Введите новое название комментария: Введите новое название комментария:
''', ''',
mod_table_operate.Messages.EDIT_DESC: f''' mod_table_operate.EditMessage(bd_table.TableFieldDestiny.DESC): f'''
Текущее описание комментария: Текущее описание комментария:
#{desc_field} #{desc_field}
Введите новое описание комментария: Введите новое описание комментария:
''', ''',
mod_table_operate.Messages.EDIT_ACCESS: f''' mod_table_operate.EditMessage(bd_table.TableFieldDestiny.ACCESS): f'''
Текущий доступ к комментарийу: Текущий доступ к комментарийу:
#{access_field} #{access_field}

22
bot_modules/groups.py

@ -44,10 +44,10 @@ button_names = {
mod_table_operate.ButtonNames.LIST: "📃 Список групп", mod_table_operate.ButtonNames.LIST: "📃 Список групп",
mod_table_operate.ButtonNames.ADD: "✅ Добавить группу", mod_table_operate.ButtonNames.ADD: "✅ Добавить группу",
mod_table_operate.ButtonNames.EDIT: "🛠 Редактировать группу", mod_table_operate.ButtonNames.EDIT: "🛠 Редактировать группу",
mod_table_operate.ButtonNames.EDIT_PHOTO: "☐ Изменить изображение в группе", mod_table_operate.EditButton(bd_table.TableFieldDestiny.PHOTO): "☐ Изменить изображение в группе",
mod_table_operate.ButtonNames.EDIT_NAME: "≂ Изменить название в группе", mod_table_operate.EditButton(bd_table.TableFieldDestiny.NAME): "≂ Изменить название в группе",
mod_table_operate.ButtonNames.EDIT_DESC: "𝌴 Изменить описание в группе", mod_table_operate.EditButton(bd_table.TableFieldDestiny.DESC): "𝌴 Изменить описание в группе",
mod_table_operate.ButtonNames.EDIT_ACCESS: "✋ Изменить доступ к группе", mod_table_operate.EditButton(bd_table.TableFieldDestiny.ACCESS): "✋ Изменить доступ к группе",
mod_table_operate.ButtonNames.DEL: "❌ Удалить группу", mod_table_operate.ButtonNames.DEL: "❌ Удалить группу",
} }
@ -69,17 +69,17 @@ messages = {
Время создания: #{create_datetime_field} Время создания: #{create_datetime_field}
''', ''',
mod_table_operate.Messages.CREATE_NAME: ''' mod_table_operate.CreateMessage(bd_table.TableFieldDestiny.NAME): '''
Создание группы. Шаг 1 Создание группы. Шаг 1
Введите название группы: Введите название группы:
''', ''',
mod_table_operate.Messages.CREATE_DESC: ''' mod_table_operate.CreateMessage(bd_table.TableFieldDestiny.DESC): '''
Создание группы. Шаг 2 Создание группы. Шаг 2
Введите описание группы: Введите описание группы:
''', ''',
mod_table_operate.Messages.CREATE_PHOTO: ''' mod_table_operate.CreateMessage(bd_table.TableFieldDestiny.PHOTO): '''
Создание группы. Шаг 3 Создание группы. Шаг 3
Загрузите обложку для группы (Фото): Загрузите обложку для группы (Фото):
@ -92,23 +92,23 @@ messages = {
mod_table_operate.Messages.SELECT_TO_EDIT: ''' 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} #{name_field}
Введите новое название группы: Введите новое название группы:
''', ''',
mod_table_operate.Messages.EDIT_DESC: f''' mod_table_operate.EditMessage(bd_table.TableFieldDestiny.DESC): f'''
Текущее описание группы: Текущее описание группы:
#{desc_field} #{desc_field}
Введите новое описание группы: Введите новое описание группы:
''', ''',
mod_table_operate.Messages.EDIT_ACCESS: f''' mod_table_operate.EditMessage(bd_table.TableFieldDestiny.ACCESS): f'''
Текущий доступ к группе: Текущий доступ к группе:
#{access_field} #{access_field}

22
bot_modules/languages.py

@ -44,10 +44,10 @@ button_names = {
mod_table_operate.ButtonNames.LIST: "📃 Список языков", mod_table_operate.ButtonNames.LIST: "📃 Список языков",
mod_table_operate.ButtonNames.ADD: "✅ Добавить язык", mod_table_operate.ButtonNames.ADD: "✅ Добавить язык",
mod_table_operate.ButtonNames.EDIT: "🛠 Редактировать язык", mod_table_operate.ButtonNames.EDIT: "🛠 Редактировать язык",
mod_table_operate.ButtonNames.EDIT_PHOTO: "☐ Изменить изображение в языке", mod_table_operate.EditButton(bd_table.TableFieldDestiny.PHOTO): "☐ Изменить изображение в языке",
mod_table_operate.ButtonNames.EDIT_NAME: "≂ Изменить название в языке", mod_table_operate.EditButton(bd_table.TableFieldDestiny.NAME): "≂ Изменить название в языке",
mod_table_operate.ButtonNames.EDIT_DESC: "𝌴 Изменить описание в языке", mod_table_operate.EditButton(bd_table.TableFieldDestiny.DESC): "𝌴 Изменить описание в языке",
mod_table_operate.ButtonNames.EDIT_ACCESS: "✋ Изменить доступ к языку", mod_table_operate.EditButton(bd_table.TableFieldDestiny.ACCESS): "✋ Изменить доступ к языку",
mod_table_operate.ButtonNames.DEL: "❌ Удалить язык", mod_table_operate.ButtonNames.DEL: "❌ Удалить язык",
} }
@ -69,17 +69,17 @@ messages = {
Время создания: #{create_datetime_field} Время создания: #{create_datetime_field}
''', ''',
mod_table_operate.Messages.CREATE_NAME: ''' mod_table_operate.CreateMessage(bd_table.TableFieldDestiny.NAME): '''
Создание языка. Шаг 1 Создание языка. Шаг 1
Введите название языка: Введите название языка:
''', ''',
mod_table_operate.Messages.CREATE_DESC: ''' mod_table_operate.CreateMessage(bd_table.TableFieldDestiny.DESC): '''
Создание языка. Шаг 2 Создание языка. Шаг 2
Введите описание языка: Введите описание языка:
''', ''',
mod_table_operate.Messages.CREATE_PHOTO: ''' mod_table_operate.CreateMessage(bd_table.TableFieldDestiny.PHOTO): '''
Создание языка. Шаг 3 Создание языка. Шаг 3
Загрузите обложку для языка (Фото): Загрузите обложку для языка (Фото):
@ -92,23 +92,23 @@ messages = {
mod_table_operate.Messages.SELECT_TO_EDIT: ''' 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} #{name_field}
Введите новое название языка: Введите новое название языка:
''', ''',
mod_table_operate.Messages.EDIT_DESC: f''' mod_table_operate.EditMessage(bd_table.TableFieldDestiny.DESC): f'''
Текущее описание языка: Текущее описание языка:
#{desc_field} #{desc_field}
Введите новое описание языка: Введите новое описание языка:
''', ''',
mod_table_operate.Messages.EDIT_ACCESS: f''' mod_table_operate.EditMessage(bd_table.TableFieldDestiny.ACCESS): f'''
Текущий доступ к языку: Текущий доступ к языку:
#{access_field} #{access_field}

22
bot_modules/messages.py

@ -47,10 +47,10 @@ button_names = {
mod_table_operate.ButtonNames.LIST: "📃 Список сообщений", mod_table_operate.ButtonNames.LIST: "📃 Список сообщений",
mod_table_operate.ButtonNames.ADD: "☑ Добавить сообщение", mod_table_operate.ButtonNames.ADD: "☑ Добавить сообщение",
mod_table_operate.ButtonNames.EDIT: "🛠 Редактировать сообщение", mod_table_operate.ButtonNames.EDIT: "🛠 Редактировать сообщение",
mod_table_operate.ButtonNames.EDIT_PHOTO: "☐ Изменить изображение у сообщения", mod_table_operate.EditButton(bd_table.TableFieldDestiny.PHOTO): "☐ Изменить изображение у сообщения",
mod_table_operate.ButtonNames.EDIT_NAME: "≂ Изменить название у сообщения", mod_table_operate.EditButton(bd_table.TableFieldDestiny.NAME): "≂ Изменить название у сообщения",
mod_table_operate.ButtonNames.EDIT_DESC: "𝌴 Изменить описание у сообщения", mod_table_operate.EditButton(bd_table.TableFieldDestiny.DESC): "𝌴 Изменить описание у сообщения",
mod_table_operate.ButtonNames.EDIT_ACCESS: "✋ Изменить доступ к сообщению", mod_table_operate.EditButton(bd_table.TableFieldDestiny.ACCESS): "✋ Изменить доступ к сообщению",
mod_table_operate.ButtonNames.DEL: "❌ Удалить сообщение", mod_table_operate.ButtonNames.DEL: "❌ Удалить сообщение",
} }
@ -72,17 +72,17 @@ messages = {
Время создания: #{create_datetime_field} Время создания: #{create_datetime_field}
''', ''',
mod_table_operate.Messages.CREATE_NAME: ''' mod_table_operate.CreateMessage(bd_table.TableFieldDestiny.NAME): '''
Создание сообщения. Шаг 1 Создание сообщения. Шаг 1
Введите название сообщения: Введите название сообщения:
''', ''',
mod_table_operate.Messages.CREATE_DESC: ''' mod_table_operate.CreateMessage(bd_table.TableFieldDestiny.DESC): '''
Создание сообщения. Шаг 2 Создание сообщения. Шаг 2
Введите описание сообщения: Введите описание сообщения:
''', ''',
mod_table_operate.Messages.CREATE_PHOTO: ''' mod_table_operate.CreateMessage(bd_table.TableFieldDestiny.PHOTO): '''
Создание сообщения. Шаг 3 Создание сообщения. Шаг 3
Загрузите обложку для сообщения (Фото): Загрузите обложку для сообщения (Фото):
@ -95,23 +95,23 @@ messages = {
mod_table_operate.Messages.SELECT_TO_EDIT: ''' 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} #{name_field}
Введите новое название сообщения: Введите новое название сообщения:
''', ''',
mod_table_operate.Messages.EDIT_DESC: f''' mod_table_operate.EditMessage(bd_table.TableFieldDestiny.DESC): f'''
Текущее описание сообщения: Текущее описание сообщения:
#{desc_field} #{desc_field}
Введите новое описание сообщения: Введите новое описание сообщения:
''', ''',
mod_table_operate.Messages.EDIT_ACCESS: f''' mod_table_operate.EditMessage(bd_table.TableFieldDestiny.ACCESS): f'''
Текущий доступ к сообщениеу: Текущий доступ к сообщениеу:
#{access_field} #{access_field}

79
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 Enum
from enum import auto 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): class ButtonNames(Enum):
LIST = auto() LIST = auto()
ADD = auto() ADD = auto()
EDIT = 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() DEL = auto()
class Messages(Enum): class Messages(Enum):
SELECT = auto() SELECT = auto()
ERROR_FIND = auto() ERROR_FIND = auto()
OPEN = auto() OPEN = auto()
CREATE_NAME = auto()
CREATE_DESC = auto()
CREATE_PHOTO = auto()
SUCCESS_CREATE = auto() SUCCESS_CREATE = auto()
START_EDIT = auto() START_EDIT = auto()
SELECT_TO_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() SUCCESS_EDIT = auto()
SELECT_TO_DELETE = auto() SELECT_TO_DELETE = auto()
SUCCESS_DELETE = auto() SUCCESS_DELETE = auto()
@ -134,13 +126,13 @@ class TableOperateModule(mod_simple_message.SimpleMessageModule):
def GetEditKeyboardButtons(self, a_Message, a_UserGroups): def GetEditKeyboardButtons(self, a_Message, a_UserGroups):
mod_buttons = keyboard.MakeButtons(self.m_Bot, self.GetButtons(self.m_EditModuleNameList), a_UserGroups) mod_buttons = keyboard.MakeButtons(self.m_Bot, self.GetButtons(self.m_EditModuleNameList), a_UserGroups)
cur_buttons = [ cur_buttons = [
keyboard.ButtonWithAccess(self.GetButton(ButtonNames.EDIT_PHOTO), user_access.AccessMode.VIEW, self.GetAccess()), keyboard.ButtonWithAccess(self.GetButton(EditButton(bd_table.TableFieldDestiny.PHOTO)), user_access.AccessMode.VIEW, self.GetAccess()),
keyboard.ButtonWithAccess(self.GetButton(ButtonNames.EDIT_NAME), user_access.AccessMode.ADD, self.GetAccess()), keyboard.ButtonWithAccess(self.GetButton(EditButton(bd_table.TableFieldDestiny.NAME)), user_access.AccessMode.ADD, self.GetAccess()),
keyboard.ButtonWithAccess(self.GetButton(ButtonNames.EDIT_DESC), user_access.AccessMode.DELETE, self.GetAccess()), keyboard.ButtonWithAccess(self.GetButton(EditButton(bd_table.TableFieldDestiny.DESC)), user_access.AccessMode.DELETE, self.GetAccess()),
keyboard.ButtonWithAccess(self.GetButton(ButtonNames.EDIT_ACCESS), 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(ButtonNames.EDIT_DEFAULT_ACCESS), user_access.AccessMode.EDIT, self.GetAccess()), keyboard.ButtonWithAccess(self.GetButton(EditButton(bd_table.TableFieldDestiny.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(EditButton(bd_table.TableFieldDestiny.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.STATUS)), user_access.AccessMode.EDIT, self.GetAccess()),
] ]
return mod_buttons + keyboard.MakeButtons(self.m_Bot, cur_buttons, a_UserGroups) 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[key_name_id],\
a_Item[access_field_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): def ShowMessageTemplate(self, a_Message, Inline_keyboard_template_func = None):
async def ShowMessage(a_CallbackQuery, a_Item): async def ShowMessage(a_CallbackQuery, a_Item):
msg = a_Message.StaticCopy() msg = a_Message.StaticCopy()
@ -185,10 +184,7 @@ class TableOperateModule(mod_simple_message.SimpleMessageModule):
elif len(a_Item) == self.m_Table.GetFieldsCount(): elif len(a_Item) == self.m_Table.GetFieldsCount():
lang = str(a_CallbackQuery.from_user.language_code) lang = str(a_CallbackQuery.from_user.language_code)
msg = msg.GetMessageForLang(lang).StaticCopy() msg = msg.GetMessageForLang(lang).StaticCopy()
msg.UpdateDesc(self.m_Table.ReplaceAllFieldTags(msg.GetDesc(), a_Item)) msg = self.UpdateMessage(msg, lang, a_Item)
photo_field = self.m_Table.GetFieldIDByDestiny(bd_table.TableFieldDestiny.PHOTO)
if photo_field:
msg.UpdatePhotoID(a_Item[photo_field])
item_access = a_Item[self.m_Table.GetFieldIDByDestiny(bd_table.TableFieldDestiny.ACCESS)] item_access = a_Item[self.m_Table.GetFieldIDByDestiny(bd_table.TableFieldDestiny.ACCESS)]
if Inline_keyboard_template_func: if Inline_keyboard_template_func:
Inline_keyboard_func = Inline_keyboard_template_func(a_Item[self.m_Table.GetFieldIDByDestiny(bd_table.TableFieldDestiny.KEY)]) 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 return a_Prefix
def RegisterEdit(self, a_ButtonName, a_EditMessage, a_FieldName, a_FieldType, a_AccessMode = user_access.AccessMode.EDIT): def RegisterEdit(self, a_Field, a_AccessMode = user_access.AccessMode.EDIT):
if not a_ButtonName: 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 return
def OnChange(): def OnChange():
@ -382,9 +386,9 @@ class TableOperateModule(mod_simple_message.SimpleMessageModule):
self.GetFSM(FSMs.CREATE).desc, \ self.GetFSM(FSMs.CREATE).desc, \
self.GetFSM(FSMs.CREATE).photo,\ self.GetFSM(FSMs.CREATE).photo,\
self.m_AddBDItemFunc, \ self.m_AddBDItemFunc, \
self.ShowMessageTemplate(self.GetMessage(Messages.CREATE_NAME)), \ self.ShowMessageTemplate(self.GetMessage(CreateMessage(bd_table.TableFieldDestiny.NAME))), \
self.ShowMessageTemplate(self.GetMessage(Messages.CREATE_DESC)), \ self.ShowMessageTemplate(self.GetMessage(CreateMessage(bd_table.TableFieldDestiny.DESC))), \
self.ShowMessageTemplate(self.GetMessage(Messages.CREATE_PHOTO)), \ self.ShowMessageTemplate(self.GetMessage(CreateMessage(bd_table.TableFieldDestiny.PHOTO))), \
self.ShowMessageTemplate(self.GetMessage(Messages.SUCCESS_CREATE)), \ self.ShowMessageTemplate(self.GetMessage(Messages.SUCCESS_CREATE)), \
a_Prefix,\ a_Prefix,\
parent_table_name, \ parent_table_name, \
@ -415,13 +419,8 @@ class TableOperateModule(mod_simple_message.SimpleMessageModule):
address_field = self.m_Table.GetFieldNameByDestiny(bd_table.TableFieldDestiny.ADDRESS) address_field = self.m_Table.GetFieldNameByDestiny(bd_table.TableFieldDestiny.ADDRESS)
status_field = self.m_Table.GetFieldNameByDestiny(bd_table.TableFieldDestiny.STATUS) 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) for f in self.m_Table.GetFields():
self.RegisterEdit(self.GetButton(ButtonNames.EDIT_DESC), self.GetMessage(Messages.EDIT_DESC), desc_field, bd_item.FieldType.text) self.RegisterEdit(f)
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)
def OnChange(self): def OnChange(self):
pass pass

22
bot_modules/needs.py

@ -39,10 +39,10 @@ button_names = {
mod_table_operate.ButtonNames.LIST: "📃 Список потребностей", mod_table_operate.ButtonNames.LIST: "📃 Список потребностей",
mod_table_operate.ButtonNames.ADD: "☑ Добавить потребность", mod_table_operate.ButtonNames.ADD: "☑ Добавить потребность",
mod_table_operate.ButtonNames.EDIT: "🛠 Редактировать потребность", mod_table_operate.ButtonNames.EDIT: "🛠 Редактировать потребность",
mod_table_operate.ButtonNames.EDIT_PHOTO: "☐ Изменить изображение у потребности", mod_table_operate.EditButton(bd_table.TableFieldDestiny.PHOTO): "☐ Изменить изображение у потребности",
mod_table_operate.ButtonNames.EDIT_NAME: "≂ Изменить название у потребности", mod_table_operate.EditButton(bd_table.TableFieldDestiny.NAME): "≂ Изменить название у потребности",
mod_table_operate.ButtonNames.EDIT_DESC: "𝌴 Изменить описание у потребности", mod_table_operate.EditButton(bd_table.TableFieldDestiny.DESC): "𝌴 Изменить описание у потребности",
mod_table_operate.ButtonNames.EDIT_ACCESS: "✋ Изменить доступ к потребности", mod_table_operate.EditButton(bd_table.TableFieldDestiny.ACCESS): "✋ Изменить доступ к потребности",
mod_table_operate.ButtonNames.DEL: "❌ Удалить потребность", mod_table_operate.ButtonNames.DEL: "❌ Удалить потребность",
} }
@ -64,17 +64,17 @@ messages = {
Время создания: #{create_datetime_field} Время создания: #{create_datetime_field}
''', ''',
mod_table_operate.Messages.CREATE_NAME: ''' mod_table_operate.CreateMessage(bd_table.TableFieldDestiny.NAME): '''
Создание потребности. Шаг 1 Создание потребности. Шаг 1
Введите название потребности: Введите название потребности:
''', ''',
mod_table_operate.Messages.CREATE_DESC: ''' mod_table_operate.CreateMessage(bd_table.TableFieldDestiny.DESC): '''
Создание потребности. Шаг 2 Создание потребности. Шаг 2
Введите описание потребности: Введите описание потребности:
''', ''',
mod_table_operate.Messages.CREATE_PHOTO: ''' mod_table_operate.CreateMessage(bd_table.TableFieldDestiny.PHOTO): '''
Создание потребности. Шаг 3 Создание потребности. Шаг 3
Загрузите обложку для потребности (Фото): Загрузите обложку для потребности (Фото):
@ -87,23 +87,23 @@ messages = {
mod_table_operate.Messages.SELECT_TO_EDIT: ''' 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} #{name_field}
Введите новое название потребности: Введите новое название потребности:
''', ''',
mod_table_operate.Messages.EDIT_DESC: f''' mod_table_operate.EditMessage(bd_table.TableFieldDestiny.DESC): f'''
Текущее описание потребности: Текущее описание потребности:
#{desc_field} #{desc_field}
Введите новое описание потребности: Введите новое описание потребности:
''', ''',
mod_table_operate.Messages.EDIT_ACCESS: f''' mod_table_operate.EditMessage(bd_table.TableFieldDestiny.ACCESS): f'''
Текущий доступ к потребности: Текущий доступ к потребности:
#{access_field} #{access_field}

53
bot_modules/orders.py

@ -57,12 +57,12 @@ button_names = {
ButtonNames.LIST_CURRENT: "📃 Список текущих заказов", ButtonNames.LIST_CURRENT: "📃 Список текущих заказов",
mod_table_operate.ButtonNames.ADD: "✅ Добавить заказ", mod_table_operate.ButtonNames.ADD: "✅ Добавить заказ",
mod_table_operate.ButtonNames.EDIT: "🛠 Редактировать заказ", mod_table_operate.ButtonNames.EDIT: "🛠 Редактировать заказ",
mod_table_operate.ButtonNames.EDIT_PHOTO: "☐ Изменить изображение в заказе", mod_table_operate.EditButton(bd_table.TableFieldDestiny.PHOTO): "☐ Изменить изображение в заказе",
mod_table_operate.ButtonNames.EDIT_NAME: "≂ Изменить название в заказе", mod_table_operate.EditButton(bd_table.TableFieldDestiny.NAME): "≂ Изменить название в заказе",
mod_table_operate.ButtonNames.EDIT_DESC: "𝌴 Изменить описание в заказе", mod_table_operate.EditButton(bd_table.TableFieldDestiny.DESC): "𝌴 Изменить описание в заказе",
mod_table_operate.ButtonNames.EDIT_ADDRESS: "𝌴 Изменить адрес в заказе", mod_table_operate.EditButton(bd_table.TableFieldDestiny.ADDRESS): "𝌴 Изменить адрес в заказе",
mod_table_operate.ButtonNames.EDIT_STATUS: "𝌴 Изменить статус в заказе", mod_table_operate.EditButton(bd_table.TableFieldDestiny.STATUS): "𝌴 Изменить статус в заказе",
mod_table_operate.ButtonNames.EDIT_ACCESS: "✋ Изменить доступ к заказу", mod_table_operate.EditButton(bd_table.TableFieldDestiny.ACCESS): "✋ Изменить доступ к заказу",
mod_table_operate.ButtonNames.DEL: "❌ Удалить заказ", mod_table_operate.ButtonNames.DEL: "❌ Удалить заказ",
} }
@ -78,27 +78,27 @@ messages = {
Ошибка, заказ не найден Ошибка, заказ не найден
''', ''',
mod_table_operate.Messages.OPEN: f''' mod_table_operate.Messages.OPEN: f'''
<b>Заказ: #{name_field}</b> <b>Заказ: #{name_field}</b>
#{desc_field} <b>Описание и состав заказа:</b> #{desc_field}
<b>Статус:</b>#{status_field} <b>Статус:</b> #{status_field}
<b>Адрес доставки:</b>#{address_field} <b>Адрес доставки:</b> #{address_field}
<b>Время создания:</b> #{create_datetime_field} <b>Время создания:</b> #{create_datetime_field}
''', ''',
mod_table_operate.Messages.CREATE_NAME: ''' mod_table_operate.CreateMessage(bd_table.TableFieldDestiny.NAME): '''
Создание заказа. Шаг 1 Создание заказа. Шаг 1
Введите название заказа: Введите название заказа:
''', ''',
mod_table_operate.Messages.CREATE_DESC: ''' mod_table_operate.CreateMessage(bd_table.TableFieldDestiny.DESC): '''
Создание заказа. Шаг 2 Создание заказа. Шаг 2
Введите описание заказа: Введите описание заказа:
''', ''',
mod_table_operate.Messages.CREATE_PHOTO: ''' mod_table_operate.CreateMessage(bd_table.TableFieldDestiny.PHOTO): '''
Создание заказа. Шаг 3 Создание заказа. Шаг 3
Загрузите обложку для заказа (Фото): Загрузите обложку для заказа (Фото):
@ -111,35 +111,35 @@ messages = {
mod_table_operate.Messages.SELECT_TO_EDIT: ''' 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} #{name_field}
Введите новое название заказа: Введите новое название заказа:
''', ''',
mod_table_operate.Messages.EDIT_DESC: f''' mod_table_operate.EditMessage(bd_table.TableFieldDestiny.DESC): f'''
Текущее описание заказа: Текущее описание заказа:
#{desc_field} #{desc_field}
Введите новое описание заказа: Введите новое описание заказа:
''', ''',
mod_table_operate.Messages.EDIT_ADDRESS: f''' mod_table_operate.EditMessage(bd_table.TableFieldDestiny.ADDRESS): f'''
Текущий адрес заказа: Текущий адрес заказа:
#{desc_field} #{desc_field}
Введите новый адрес доставки заказа (укажите, кто, когда и где его сможет забрать): Введите новый адрес доставки заказа (укажите, кто, когда и где его сможет забрать):
''', ''',
mod_table_operate.Messages.EDIT_STATUS: f''' mod_table_operate.EditMessage(bd_table.TableFieldDestiny.STATUS): f'''
Текущий статус заказа: Текущий статус заказа:
#{status_field} #{status_field}
Введите новый статус заказа: Введите новый статус заказа:
''', ''',
mod_table_operate.Messages.EDIT_ACCESS: f''' mod_table_operate.EditMessage(bd_table.TableFieldDestiny.ACCESS): f'''
Текущий доступ к заказу: Текущий доступ к заказу:
#{access_field} #{access_field}
@ -155,6 +155,15 @@ messages = {
mod_table_operate.Messages.SUCCESS_DELETE: '''✅ Заказ успешно удалён!''', 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 GetCurItemsTemplate(a_Bot, a_TableName, a_UserIDFieldName, a_StatusFieldName):
def GetBDItems(a_Message, a_UserGroups, a_ParentID): def GetBDItems(a_Message, a_UserGroups, a_ParentID):
request = f'SELECT * FROM {a_TableName} WHERE {a_UserIDFieldName} = ? AND {a_StatusFieldName} != ?' 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) 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): def RegisterHandlers(self):
super().RegisterHandlers() super().RegisterHandlers()
table_name = self.m_Table.GetName() table_name = self.m_Table.GetName()

22
bot_modules/projects.py

@ -37,10 +37,10 @@ button_names = {
mod_table_operate.ButtonNames.LIST: "📃 Список проектов", mod_table_operate.ButtonNames.LIST: "📃 Список проектов",
mod_table_operate.ButtonNames.ADD: "✅ Добавить проект", mod_table_operate.ButtonNames.ADD: "✅ Добавить проект",
mod_table_operate.ButtonNames.EDIT: "🛠 Редактировать проект", mod_table_operate.ButtonNames.EDIT: "🛠 Редактировать проект",
mod_table_operate.ButtonNames.EDIT_PHOTO: "☐ Изменить изображение в проекте", mod_table_operate.EditButton(bd_table.TableFieldDestiny.PHOTO): "☐ Изменить изображение в проекте",
mod_table_operate.ButtonNames.EDIT_NAME: "≂ Изменить название в проекте", mod_table_operate.EditButton(bd_table.TableFieldDestiny.NAME): "≂ Изменить название в проекте",
mod_table_operate.ButtonNames.EDIT_DESC: "𝌴 Изменить описание в проекте", mod_table_operate.EditButton(bd_table.TableFieldDestiny.DESC): "𝌴 Изменить описание в проекте",
mod_table_operate.ButtonNames.EDIT_ACCESS: "✋ Изменить доступ к проекту", mod_table_operate.EditButton(bd_table.TableFieldDestiny.ACCESS): "✋ Изменить доступ к проекту",
mod_table_operate.ButtonNames.DEL: "❌ Удалить проект", mod_table_operate.ButtonNames.DEL: "❌ Удалить проект",
} }
@ -62,17 +62,17 @@ messages = {
Время создания: #{create_datetime_field} Время создания: #{create_datetime_field}
''', ''',
mod_table_operate.Messages.CREATE_NAME: ''' mod_table_operate.CreateMessage(bd_table.TableFieldDestiny.NAME): '''
Создание проекта. Шаг 1 Создание проекта. Шаг 1
Введите название проекта: Введите название проекта:
''', ''',
mod_table_operate.Messages.CREATE_DESC: ''' mod_table_operate.CreateMessage(bd_table.TableFieldDestiny.DESC): '''
Создание проекта. Шаг 2 Создание проекта. Шаг 2
Введите описание проекта: Введите описание проекта:
''', ''',
mod_table_operate.Messages.CREATE_PHOTO: ''' mod_table_operate.CreateMessage(bd_table.TableFieldDestiny.PHOTO): '''
Создание проекта. Шаг 3 Создание проекта. Шаг 3
Загрузите обложку для проекта (Фото): Загрузите обложку для проекта (Фото):
@ -85,23 +85,23 @@ messages = {
mod_table_operate.Messages.SELECT_TO_EDIT: ''' 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} #{name_field}
Введите новое название проекта: Введите новое название проекта:
''', ''',
mod_table_operate.Messages.EDIT_DESC: f''' mod_table_operate.EditMessage(bd_table.TableFieldDestiny.DESC): f'''
Текущее описание проекта: Текущее описание проекта:
#{desc_field} #{desc_field}
Введите новое описание проекта: Введите новое описание проекта:
''', ''',
mod_table_operate.Messages.EDIT_ACCESS: f''' mod_table_operate.EditMessage(bd_table.TableFieldDestiny.ACCESS): f'''
Текущий доступ к проекту: Текущий доступ к проекту:
#{access_field} #{access_field}

22
bot_modules/tasks.py

@ -39,10 +39,10 @@ button_names = {
mod_table_operate.ButtonNames.LIST: "📃 Список задач", mod_table_operate.ButtonNames.LIST: "📃 Список задач",
mod_table_operate.ButtonNames.ADD: "☑ Добавить задачу", mod_table_operate.ButtonNames.ADD: "☑ Добавить задачу",
mod_table_operate.ButtonNames.EDIT: "🛠 Редактировать задачу", mod_table_operate.ButtonNames.EDIT: "🛠 Редактировать задачу",
mod_table_operate.ButtonNames.EDIT_PHOTO: "☐ Изменить изображение у задачи", mod_table_operate.EditButton(bd_table.TableFieldDestiny.PHOTO): "☐ Изменить изображение у задачи",
mod_table_operate.ButtonNames.EDIT_NAME: "≂ Изменить название у задачи", mod_table_operate.EditButton(bd_table.TableFieldDestiny.NAME): "≂ Изменить название у задачи",
mod_table_operate.ButtonNames.EDIT_DESC: "𝌴 Изменить описание у задачи", mod_table_operate.EditButton(bd_table.TableFieldDestiny.DESC): "𝌴 Изменить описание у задачи",
mod_table_operate.ButtonNames.EDIT_ACCESS: "✋ Изменить доступ к задаче", mod_table_operate.EditButton(bd_table.TableFieldDestiny.ACCESS): "✋ Изменить доступ к задаче",
mod_table_operate.ButtonNames.DEL: "❌ Удалить задачу", mod_table_operate.ButtonNames.DEL: "❌ Удалить задачу",
} }
@ -64,17 +64,17 @@ messages = {
Время создания: #{create_datetime_field} Время создания: #{create_datetime_field}
''', ''',
mod_table_operate.Messages.CREATE_NAME: ''' mod_table_operate.CreateMessage(bd_table.TableFieldDestiny.NAME): '''
Создание задачи. Шаг 1 Создание задачи. Шаг 1
Введите название задачи: Введите название задачи:
''', ''',
mod_table_operate.Messages.CREATE_DESC: ''' mod_table_operate.CreateMessage(bd_table.TableFieldDestiny.DESC): '''
Создание задачи. Шаг 2 Создание задачи. Шаг 2
Введите описание задачи: Введите описание задачи:
''', ''',
mod_table_operate.Messages.CREATE_PHOTO: ''' mod_table_operate.CreateMessage(bd_table.TableFieldDestiny.PHOTO): '''
Создание задачи. Шаг 3 Создание задачи. Шаг 3
Загрузите обложку для задачи (Фото): Загрузите обложку для задачи (Фото):
@ -87,23 +87,23 @@ messages = {
mod_table_operate.Messages.SELECT_TO_EDIT: ''' 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} #{name_field}
Введите новое название задачи: Введите новое название задачи:
''', ''',
mod_table_operate.Messages.EDIT_DESC: f''' mod_table_operate.EditMessage(bd_table.TableFieldDestiny.DESC): f'''
Текущее описание задачи: Текущее описание задачи:
#{desc_field} #{desc_field}
Введите новое описание задачи: Введите новое описание задачи:
''', ''',
mod_table_operate.Messages.EDIT_ACCESS: f''' mod_table_operate.EditMessage(bd_table.TableFieldDestiny.ACCESS): f'''
Текущий доступ к задаче: Текущий доступ к задаче:
#{access_field} #{access_field}

8
bot_modules/user_in_groups.py

@ -55,7 +55,7 @@ button_names = {
mod_simple_message.ButtonNames.START: "🗫 Пользователи в группах", mod_simple_message.ButtonNames.START: "🗫 Пользователи в группах",
mod_table_operate.ButtonNames.LIST: "📃 Список пользователей в группах", mod_table_operate.ButtonNames.LIST: "📃 Список пользователей в группах",
ButtonNames.ADD_USER: "✅ Добавить пользователя в группу", ButtonNames.ADD_USER: "✅ Добавить пользователя в группу",
mod_table_operate.ButtonNames.EDIT_ACCESS: "✋ Доступ к пользователю в группе", mod_table_operate.EditButton(bd_table.TableFieldDestiny.ACCESS): "✋ Доступ к пользователю в группе",
mod_table_operate.ButtonNames.DEL: "❌ Удалить пользователя из группы", mod_table_operate.ButtonNames.DEL: "❌ Удалить пользователя из группы",
} }
@ -77,7 +77,7 @@ messages = {
Время создания: #{create_datetime_field} Время создания: #{create_datetime_field}
''', ''',
mod_table_operate.Messages.CREATE_NAME: ''' mod_table_operate.CreateMessage(bd_table.TableFieldDestiny.NAME): '''
Создание пользователя в группе. Создание пользователя в группе.
Укажите ID пользователя: Укажите ID пользователя:
@ -89,7 +89,7 @@ messages = {
mod_table_operate.Messages.SELECT_TO_EDIT: ''' 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} #{access_field}
@ -145,7 +145,7 @@ class ModuleUserInGroups(mod_table_operate.TableOperateModule):
check_func,\ check_func,\
FSMAddUserInGroups,\ FSMAddUserInGroups,\
self.m_AddBDItemFunc,\ 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)),\ self.ShowMessageTemplate(self.GetMessage(mod_table_operate.Messages.SUCCESS_CREATE)),\
a_Prefix,\ a_Prefix,\
parent_table_name,\ parent_table_name,\

22
bot_modules/users.py

@ -44,10 +44,10 @@ button_names = {
mod_table_operate.ButtonNames.LIST: "📃 Список пользователей", mod_table_operate.ButtonNames.LIST: "📃 Список пользователей",
# mod_table_operate.ButtonNames.ADD: "✅ Добавить пользователя", # mod_table_operate.ButtonNames.ADD: "✅ Добавить пользователя",
mod_table_operate.ButtonNames.EDIT: "🛠 Редактировать пользователя", mod_table_operate.ButtonNames.EDIT: "🛠 Редактировать пользователя",
mod_table_operate.ButtonNames.EDIT_PHOTO: "☐ Изменить изображение в пользователяе", mod_table_operate.EditButton(bd_table.TableFieldDestiny.PHOTO): "☐ Изменить изображение в пользователяе",
mod_table_operate.ButtonNames.EDIT_NAME: "≂ Изменить название в пользователяе", mod_table_operate.EditButton(bd_table.TableFieldDestiny.NAME): "≂ Изменить название в пользователяе",
mod_table_operate.ButtonNames.EDIT_DESC: "𝌴 Изменить описание в пользователяе", mod_table_operate.EditButton(bd_table.TableFieldDestiny.DESC): "𝌴 Изменить описание в пользователяе",
mod_table_operate.ButtonNames.EDIT_ACCESS: "✋ Изменить доступ к пользователю", mod_table_operate.EditButton(bd_table.TableFieldDestiny.ACCESS): "✋ Изменить доступ к пользователю",
mod_table_operate.ButtonNames.DEL: "❌ Удалить пользователя", mod_table_operate.ButtonNames.DEL: "❌ Удалить пользователя",
} }
@ -72,17 +72,17 @@ messages = {
<b>Код языка:</b> #{language_code_field} <b>Код языка:</b> #{language_code_field}
<b>Дата добавления:</b> #{create_datetime_field} <b>Дата добавления:</b> #{create_datetime_field}
''', ''',
mod_table_operate.Messages.CREATE_NAME: ''' mod_table_operate.CreateMessage(bd_table.TableFieldDestiny.NAME): '''
Создание пользователя. Шаг 1 Создание пользователя. Шаг 1
Введите название пользователя: Введите название пользователя:
''', ''',
mod_table_operate.Messages.CREATE_DESC: ''' mod_table_operate.CreateMessage(bd_table.TableFieldDestiny.DESC): '''
Создание пользователя. Шаг 2 Создание пользователя. Шаг 2
Введите описание пользователя: Введите описание пользователя:
''', ''',
mod_table_operate.Messages.CREATE_PHOTO: ''' mod_table_operate.CreateMessage(bd_table.TableFieldDestiny.PHOTO): '''
Создание пользователя. Шаг 3 Создание пользователя. Шаг 3
Загрузите обложку для пользователя (Фото): Загрузите обложку для пользователя (Фото):
@ -95,23 +95,23 @@ messages = {
mod_table_operate.Messages.SELECT_TO_EDIT: ''' 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} #{name_field}
Введите новое название пользователя: Введите новое название пользователя:
''', ''',
mod_table_operate.Messages.EDIT_DESC: f''' mod_table_operate.EditMessage(bd_table.TableFieldDestiny.DESC): f'''
Текущее описание пользователя: Текущее описание пользователя:
#{name1_field} #{name1_field}
Введите новое описание пользователя: Введите новое описание пользователя:
''', ''',
mod_table_operate.Messages.EDIT_ACCESS: f''' mod_table_operate.EditMessage(bd_table.TableFieldDestiny.ACCESS): f'''
Текущий доступ к пользователю: Текущий доступ к пользователю:
#{access_field} #{access_field}

1
bot_sys/bd_table.py

@ -119,6 +119,7 @@ def Test():
assert table.GetFieldNameByDestiny(TableFieldDestiny.PHOTO) == None assert table.GetFieldNameByDestiny(TableFieldDestiny.PHOTO) == None
assert table.GetFieldsCount() == 3 assert table.GetFieldsCount() == 3
assert len(table.GetFields()) == 3
print(table.GetInitTableRequest()) 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));' assert table.GetInitTableRequest() == 'CREATE TABLE IF NOT EXISTS tname(f1 INTEGER PRIMARY KEY, f2 TEXT, f3 TEXT, UNIQUE(f1), UNIQUE(f2, f3));'

8
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) 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) 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_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: 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: 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)

Loading…
Cancel
Save