You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
398 lines
19 KiB
398 lines
19 KiB
1 year ago
|
# -*- coding: utf8 -*-
|
||
|
# Общественное достояние, 2023, Алексей Безбородов (Alexei Bezborodov) <AlexeiBv+mirocod_platform_bot@narod.ru>
|
||
|
|
||
|
# Авторизация или регистрация в кооперативе или другой организации
|
||
|
|
||
|
from bot_sys import bot_bd, keyboard, user_access, bd_table, bot_subscribes, config
|
||
|
from bot_modules import mod_table_operate, mod_simple_message, users_groups_agregator, groups_utils
|
||
|
from template import docs_message, bd_item, bd_item_select
|
||
|
|
||
|
from enum import Enum
|
||
|
from enum import auto
|
||
|
# ---------------------------------------------------------
|
||
|
# БД
|
||
|
module_name = 'authorize'
|
||
|
|
||
|
table_name = module_name
|
||
|
user_id_field = 'userID'
|
||
|
user_name_field = 'userName'
|
||
|
user_family_name_field = 'userFamilyName'
|
||
|
user_middle_name_field = 'userMiddleName'
|
||
|
user_birthday_field = 'userBirthday'
|
||
|
user_address_field = 'userAddress'
|
||
|
user_contacts_field = 'userContacts'
|
||
|
user_confirm_field = 'userConfirm'
|
||
|
user_auth_docs_field = 'authDocs'
|
||
|
user_photo_pay_field = 'photoPay'
|
||
|
access_field = 'authorizeAccess'
|
||
|
create_datetime_field = 'authorizeCreateDateTime'
|
||
|
|
||
|
user_id_table_field = bd_table.TableField(user_id_field, bd_table.TableFieldDestiny.USER_ID, bd_table.TableFieldType.INT)
|
||
|
|
||
|
class ConfirmStatus(Enum):
|
||
|
YES = auto()
|
||
|
NO = auto()
|
||
|
|
||
|
table = bd_table.Table(table_name, [
|
||
|
user_id_table_field,
|
||
|
bd_table.TableField(user_name_field, bd_table.TableFieldDestiny.USER_NAME, bd_table.TableFieldType.STR),
|
||
|
bd_table.TableField(user_family_name_field, bd_table.TableFieldDestiny.USER_FAMILY_NAME, bd_table.TableFieldType.STR),
|
||
|
bd_table.TableField(user_middle_name_field, bd_table.TableFieldDestiny.USER_MIDDLE_NAME, bd_table.TableFieldType.STR),
|
||
|
bd_table.TableField(user_birthday_field, bd_table.TableFieldDestiny.USER_BIRTHDAY, bd_table.TableFieldType.STR),
|
||
|
bd_table.TableField(user_address_field, bd_table.TableFieldDestiny.USER_ADDRESS, bd_table.TableFieldType.STR),
|
||
|
bd_table.TableField(user_contacts_field, bd_table.TableFieldDestiny.USER_CONTACTS, bd_table.TableFieldType.STR),
|
||
|
bd_table.TableField(user_confirm_field, bd_table.TableFieldDestiny.USER_CONFIRM, bd_table.TableFieldType.ENUM, a_Enum = ConfirmStatus),
|
||
|
bd_table.TableField(user_auth_docs_field, bd_table.TableFieldDestiny.AUTH_PHOTO_DOCS, bd_table.TableFieldType.PHOTO),
|
||
|
bd_table.TableField(user_photo_pay_field, bd_table.TableFieldDestiny.PHOTO_PAY, bd_table.TableFieldType.PHOTO),
|
||
|
bd_table.TableField(access_field, bd_table.TableFieldDestiny.ACCESS, bd_table.TableFieldType.STR),
|
||
|
bd_table.TableField(create_datetime_field, bd_table.TableFieldDestiny.CREATE_DATE, bd_table.TableFieldType.STR),
|
||
|
]
|
||
|
,
|
||
|
[
|
||
|
[user_id_table_field],
|
||
|
]
|
||
|
)
|
||
|
|
||
|
init_access = f'{user_access.user_access_group_new}=vea'
|
||
|
def_init_access = f'{user_access.user_access_group_new}=a'
|
||
|
|
||
|
def GetAuthorizeItem(a_Bot, a_UserID):
|
||
|
items = bd_item.GetBDItemsTemplate(a_Bot, table_name, user_id_field)(a_UserID)
|
||
|
if len(items) == 1:
|
||
|
return items[0]
|
||
|
return None
|
||
|
|
||
|
# ---------------------------------------------------------
|
||
|
# Сообщения и кнопки
|
||
|
|
||
|
class ButtonNames(Enum):
|
||
|
LIST_AUTH_DOCS = auto()
|
||
|
|
||
|
button_names = {
|
||
|
mod_simple_message.ButtonNames.START: "🔑 Авторизация",
|
||
|
mod_table_operate.ButtonNames.LIST: "≣ Список авторизаций пользователей",
|
||
|
mod_table_operate.ButtonNames.ADD: "📨 Заявка на вступление",
|
||
|
ButtonNames.LIST_AUTH_DOCS: "📨 Регистрационные документы",
|
||
|
mod_table_operate.ButtonNames.EDIT: "🛠 Редактировать свои данные",
|
||
|
mod_table_operate.EditButton(bd_table.TableFieldDestiny.USER_ID): "☐ Изменить id пользователя",
|
||
|
mod_table_operate.EditButton(bd_table.TableFieldDestiny.USER_NAME): "☐ Изменить имя пользователя",
|
||
|
mod_table_operate.EditButton(bd_table.TableFieldDestiny.USER_FAMILY_NAME): "☐ Изменить фамилию пользователя",
|
||
|
mod_table_operate.EditButton(bd_table.TableFieldDestiny.USER_MIDDLE_NAME): "☐ Изменить отчество пользователя",
|
||
|
mod_table_operate.EditButton(bd_table.TableFieldDestiny.USER_BIRTHDAY): "☐ Изменить дату рождения пользователя",
|
||
|
mod_table_operate.EditButton(bd_table.TableFieldDestiny.USER_ADDRESS): "☐ Изменить адрес пользователя",
|
||
|
mod_table_operate.EditButton(bd_table.TableFieldDestiny.USER_CONTACTS): "☐ Изменить контакты пользователя",
|
||
|
mod_table_operate.EditButton(bd_table.TableFieldDestiny.USER_CONFIRM): "☐ Изменить подтверждение пользователя",
|
||
|
mod_table_operate.EditButton(bd_table.TableFieldDestiny.USER_ID): "☐ Изменить id пользователя",
|
||
|
mod_table_operate.EditButton(bd_table.TableFieldDestiny.ACCESS): "✋ Доступ к авторизации пользователя",
|
||
|
mod_table_operate.EditButton(bd_table.TableFieldDestiny.AUTH_PHOTO_DOCS): "☐ Загрузить подписанные документы",
|
||
|
mod_table_operate.EditButton(bd_table.TableFieldDestiny.PHOTO_PAY): "☐ Оплатить членский взнос",
|
||
|
mod_table_operate.EditButton(bd_table.TableFieldDestiny.ACCESS): "✋ Доступ к авторизации пользователя",
|
||
|
mod_table_operate.ButtonNames.DEL: "❌ Удалить авторизацию пользователя",
|
||
|
mod_table_operate.EnumButton(ConfirmStatus.YES): "Да, все данные верны",
|
||
|
mod_table_operate.EnumButton(ConfirmStatus.NO): "Нет, данные не верны",
|
||
|
}
|
||
|
|
||
|
class Messages(Enum):
|
||
|
LIST_AUTH_DOCS = auto()
|
||
|
LIST_AUTH_DOCS_ERROR = auto()
|
||
|
|
||
|
messages = {
|
||
|
mod_simple_message.Messages.START: f'''
|
||
|
<b>{button_names[mod_simple_message.ButtonNames.START]}</b>
|
||
|
|
||
|
''',
|
||
|
Messages.LIST_AUTH_DOCS: '''
|
||
|
ваши регистрационные документы:
|
||
|
''',
|
||
|
Messages.LIST_AUTH_DOCS_ERROR: '''
|
||
|
Ошибка получения документов. Обратитесь в техподдержку.
|
||
|
''',
|
||
|
mod_table_operate.Messages.SELECT: '''
|
||
|
Пожалуйста, выберите пользователя:
|
||
|
''',
|
||
|
mod_table_operate.Messages.ERROR_FIND: '''
|
||
|
❌ Ошибка, пользователь не найден
|
||
|
''',
|
||
|
mod_table_operate.Messages.OPEN: f'''
|
||
|
<b>Пользователь: #{user_id_field}</b>
|
||
|
|
||
|
Имя: #{user_name_field}
|
||
|
Фамилия: #{user_family_name_field}
|
||
|
Отчество: #{user_middle_name_field}
|
||
|
Дата рождения: #{user_birthday_field}
|
||
|
Адрес: #{user_address_field}
|
||
|
Контакты: #{user_contacts_field}
|
||
|
Подтверждение авторизации: #{user_confirm_field}
|
||
|
|
||
|
Время создания: #{create_datetime_field}
|
||
|
''',
|
||
|
mod_table_operate.CreateMessage(bd_table.TableFieldDestiny.USER_NAME): '''
|
||
|
Авторизация. Шаг №1
|
||
|
|
||
|
Введите своё имя:
|
||
|
''',
|
||
|
mod_table_operate.CreateMessage(bd_table.TableFieldDestiny.USER_FAMILY_NAME): '''
|
||
|
Авторизация. Шаг №2
|
||
|
|
||
|
Введите свою фамилию:
|
||
|
''',
|
||
|
mod_table_operate.CreateMessage(bd_table.TableFieldDestiny.USER_MIDDLE_NAME): '''
|
||
|
Авторизация. Шаг №3
|
||
|
|
||
|
Введите своё отчество:
|
||
|
''',
|
||
|
mod_table_operate.CreateMessage(bd_table.TableFieldDestiny.USER_BIRTHDAY): '''
|
||
|
Авторизация. Шаг №4
|
||
|
|
||
|
Введите свою дату рождения в формате ДД.ММ.ГГГГ:
|
||
|
''',
|
||
|
mod_table_operate.CreateMessage(bd_table.TableFieldDestiny.USER_ADDRESS): '''
|
||
|
Авторизация. Шаг №5
|
||
|
|
||
|
Введите свой домашний адрес:
|
||
|
''',
|
||
|
mod_table_operate.CreateMessage(bd_table.TableFieldDestiny.USER_CONTACTS): '''
|
||
|
Авторизация. Шаг №6
|
||
|
|
||
|
Введите свои контакты:
|
||
|
''',
|
||
|
mod_table_operate.CreateMessage(bd_table.TableFieldDestiny.USER_CONFIRM): f'''
|
||
|
Авторизация. Шаг №7
|
||
|
|
||
|
Имя: #{user_name_field}
|
||
|
Фамилия: #{user_family_name_field}
|
||
|
Отчество: #{user_middle_name_field}
|
||
|
Дата рождения: #{user_birthday_field}
|
||
|
Адрес: #{user_address_field}
|
||
|
Контакты: #{user_contacts_field}
|
||
|
Подтверждение авторизации: #{user_confirm_field}
|
||
|
|
||
|
Подтвердите свои данные:
|
||
|
''',
|
||
|
|
||
|
mod_table_operate.Messages.SUCCESS_CREATE: '''✅ Вы успешно зарегистрированы! Посмотрите документы и отправьте фотографии подписанных документов''',
|
||
|
mod_table_operate.Messages.START_EDIT: '''
|
||
|
Пожалуйста, выберите действие:
|
||
|
''',
|
||
|
mod_table_operate.Messages.SELECT_TO_EDIT: '''
|
||
|
Выберите пользователя, у которого вы хотите отредактировать данные.
|
||
|
''',
|
||
|
mod_table_operate.EditMessage(bd_table.TableFieldDestiny.USER_NAME): f'''
|
||
|
Текущее имя пользователя:
|
||
|
#{user_name_field}
|
||
|
|
||
|
Введите новое имя пользователя:
|
||
|
''',
|
||
|
mod_table_operate.EditMessage(bd_table.TableFieldDestiny.USER_FAMILY_NAME): f'''
|
||
|
Текущая фамилия пользователя:
|
||
|
#{user_family_name_field}
|
||
|
|
||
|
Введите новую фамилию пользователя:
|
||
|
''',
|
||
|
mod_table_operate.EditMessage(bd_table.TableFieldDestiny.USER_MIDDLE_NAME): f'''
|
||
|
Текущее отчество пользователя:
|
||
|
#{user_middle_name_field}
|
||
|
|
||
|
Введите новое отчество пользователя:
|
||
|
''',
|
||
|
mod_table_operate.EditMessage(bd_table.TableFieldDestiny.USER_BIRTHDAY): f'''
|
||
|
Текущая дата рождения пользователя:
|
||
|
#{user_birthday_field}
|
||
|
|
||
|
Введите новую дату рождения пользователя:
|
||
|
''',
|
||
|
mod_table_operate.EditMessage(bd_table.TableFieldDestiny.USER_ADDRESS): f'''
|
||
|
Текущий адрес пользователя:
|
||
|
#{user_address_field}
|
||
|
|
||
|
Введите новый адрес пользователя:
|
||
|
''',
|
||
|
mod_table_operate.EditMessage(bd_table.TableFieldDestiny.USER_CONTACTS): f'''
|
||
|
Текущие контакты пользователя:
|
||
|
#{user_contacts_field}
|
||
|
|
||
|
Введите новые контакты пользователя:
|
||
|
''',
|
||
|
mod_table_operate.EditMessage(bd_table.TableFieldDestiny.USER_CONFIRM): f'''
|
||
|
Текущее подтвержение пользователя:
|
||
|
#{user_confirm_field}
|
||
|
|
||
|
Введите новое подтверждение пользователя:
|
||
|
''',
|
||
|
mod_table_operate.EditMessage(bd_table.TableFieldDestiny.AUTH_PHOTO_DOCS): f'''
|
||
|
Загрузите подписанный документ:
|
||
|
''',
|
||
|
mod_table_operate.EditMessage(bd_table.TableFieldDestiny.PHOTO_PAY): f'''
|
||
|
Загрузите чек по оплате ЧВ:
|
||
|
''',
|
||
|
mod_table_operate.EditMessage(bd_table.TableFieldDestiny.ACCESS): f'''
|
||
|
Текущий доступ к проекту:
|
||
|
#{access_field}
|
||
|
|
||
|
{user_access.user_access_readme}
|
||
|
|
||
|
Введите новую строку доступа:
|
||
|
''',
|
||
|
mod_table_operate.Messages.SUCCESS_EDIT: '''✅ Данные успешно отредактированы!''',
|
||
|
mod_table_operate.Messages.SELECT_TO_DELETE: '''
|
||
|
Выберите пользователя, у которого вы хотите удалить авторизованные данные.
|
||
|
''',
|
||
|
mod_table_operate.Messages.SUCCESS_DELETE: '''✅ Данные пользователя успешно удалены!''',
|
||
|
}
|
||
|
|
||
|
messages_subscribes = {
|
||
|
mod_table_operate.SubscribeMessage(bot_subscribes.SubscribeType.ANY_ITEM_ADD):f'''Данные по авторизации созданы''',
|
||
|
mod_table_operate.SubscribeMessage(bot_subscribes.SubscribeType.ANY_ITEM_EDIT):f'''Данные по авторизации отредактированы''',
|
||
|
mod_table_operate.SubscribeMessage(bot_subscribes.SubscribeType.ANY_ITEM_DEL):f'''Данные по авторизации удалены''',
|
||
|
mod_table_operate.SubscribeMessage(bot_subscribes.SubscribeType.ITEM_EDIT):f'''Данные по авторизации отредактированы #item_id''',
|
||
|
mod_table_operate.SubscribeMessage(bot_subscribes.SubscribeType.ITEM_DEL):f'''Данные по авторизации удалены #item_id''',
|
||
|
mod_table_operate.SubscribeMessage(bot_subscribes.SubscribeType.ANY_ITEM_ADD_WITH_PARENT):f'''Данные по авторизации созданы''',
|
||
|
mod_table_operate.SubscribeMessage(bot_subscribes.SubscribeType.ANY_ITEM_EDIT_WITH_PARENT):f'''Данные по авторизации отредактированы''',
|
||
|
mod_table_operate.SubscribeMessage(bot_subscribes.SubscribeType.ANY_ITEM_DEL_WITH_PARENT):f'''Данные по авторизации удалены''',
|
||
|
}
|
||
|
|
||
|
messages.update(messages_subscribes)
|
||
|
|
||
|
messages_confirm_status = {
|
||
|
mod_table_operate.EnumMessageForView(ConfirmStatus.YES): f'''Да, все данные верны''',
|
||
|
mod_table_operate.EnumMessageForView(ConfirmStatus.NO): f'''Нет, данные не верны''',
|
||
|
}
|
||
|
|
||
|
messages.update(messages_confirm_status)
|
||
|
|
||
|
class ModuleAuthorize(mod_table_operate.TableOperateModule):
|
||
|
def __init__(self, a_ParentModName, a_ChildModName, a_ChildModuleNameList, a_EditModuleNameList, a_Bot, a_ModuleAgregator, a_BotMessages, a_BotButtons, a_BotSubscribes, a_Log):
|
||
|
super().__init__(table, messages, button_names, a_ParentModName, a_ChildModName, init_access, def_init_access, a_ChildModuleNameList, a_EditModuleNameList, a_Bot, a_ModuleAgregator, a_BotMessages, a_BotButtons, a_BotSubscribes, a_Log)
|
||
|
|
||
|
def GetName(self):
|
||
|
return module_name
|
||
|
|
||
|
def GetAccessForEditKeyboardButtons(self, a_Field):
|
||
|
cur_dict = {
|
||
|
bd_table.TableFieldDestiny.USER_ID: user_access.AccessMode.NONE,
|
||
|
bd_table.TableFieldDestiny.USER_NAME: user_access.AccessMode.NONE,
|
||
|
bd_table.TableFieldDestiny.USER_FAMILY_NAME: user_access.AccessMode.NONE,
|
||
|
bd_table.TableFieldDestiny.USER_MIDDLE_NAME: user_access.AccessMode.NONE,
|
||
|
bd_table.TableFieldDestiny.USER_BIRTHDAY: user_access.AccessMode.NONE,
|
||
|
bd_table.TableFieldDestiny.USER_ADDRESS: user_access.AccessMode.NONE,
|
||
|
bd_table.TableFieldDestiny.USER_CONTACTS: user_access.AccessMode.NONE,
|
||
|
bd_table.TableFieldDestiny.USER_CONFIRM: user_access.AccessMode.NONE,
|
||
|
bd_table.TableFieldDestiny.ACCESS: user_access.AccessMode.NONE,
|
||
|
bd_table.TableFieldDestiny.AUTH_PHOTO_DOCS: user_access.AccessMode.ADD,
|
||
|
bd_table.TableFieldDestiny.PHOTO_PAY: user_access.AccessMode.ADD,
|
||
|
}
|
||
|
return cur_dict.get(a_Field.m_Destiny, super().GetAccessForEditKeyboardButtons(a_Field))
|
||
|
|
||
|
def GetButtonNameAndKeyValueAndAccess(self, a_Item):
|
||
|
key_name_id = self.m_Table.GetFieldIDByDestiny(bd_table.TableFieldDestiny.USER_ID)
|
||
|
name_field_id = self.m_Table.GetFieldIDByDestiny(bd_table.TableFieldDestiny.USER_NAME)
|
||
|
fam_name_field_id = self.m_Table.GetFieldIDByDestiny(bd_table.TableFieldDestiny.USER_FAMILY_NAME)
|
||
|
access_field_id = self.m_Table.GetFieldIDByDestiny(bd_table.TableFieldDestiny.ACCESS)
|
||
|
assert key_name_id != None
|
||
|
assert name_field_id != None
|
||
|
assert fam_name_field_id != None
|
||
|
assert access_field_id != None
|
||
|
return \
|
||
|
a_Item[name_field_id] + ' ' + a_Item[fam_name_field_id] + '(' + str(a_Item[key_name_id]) +')',\
|
||
|
a_Item[key_name_id],\
|
||
|
a_Item[access_field_id]
|
||
|
|
||
|
async def OnChangeField(self, a_Field, a_ItemID, a_ItemData, a_EditUserID):
|
||
|
super().OnChangeField(a_Field, a_ItemID, a_ItemData, a_EditUserID)
|
||
|
user_id_field_name = self.m_Table.GetFieldNameByDestiny(bd_table.TableFieldDestiny.USER_ID)
|
||
|
user_id = a_ItemData[user_id_field_name]
|
||
|
user_confirm_field_id = self.m_Table.GetFieldIDByDestiny(bd_table.TableFieldDestiny.USER_CONFIRM)
|
||
|
auth_docs_field_id = self.m_Table.GetFieldIDByDestiny(bd_table.TableFieldDestiny.AUTH_PHOTO_DOCS)
|
||
|
pay_field_id = self.m_Table.GetFieldIDByDestiny(bd_table.TableFieldDestiny.PHOTO_PAY)
|
||
|
item = GetAuthorizeItem(self.m_Bot, user_id)
|
||
|
if item and item[user_confirm_field_id] != '' and item[auth_docs_field_id] != '' and item[pay_field_id] != '':
|
||
|
users_groups_agregator.AddUserInGroup(self.m_Bot, user_id, user_access.user_access_group_auth_users)
|
||
|
|
||
|
def GetStartButtons(self, a_Message, a_UserGroups):
|
||
|
user_id = str(a_Message.from_user.id)
|
||
|
item = GetAuthorizeItem(self.m_Bot, user_id)
|
||
|
user_confirm_field_id = self.m_Table.GetFieldIDByDestiny(bd_table.TableFieldDestiny.USER_CONFIRM)
|
||
|
|
||
|
cur_buttons = []
|
||
|
|
||
|
if item and item[user_confirm_field_id] == self.GetMessage(mod_table_operate.EnumMessageForView(ConfirmStatus.YES)).GetDesc():
|
||
|
cur_buttons += [[ButtonNames.LIST_AUTH_DOCS, user_access.AccessMode.VIEW]]
|
||
|
cur_buttons += [[mod_table_operate.EditButton(bd_table.TableFieldDestiny.AUTH_PHOTO_DOCS), user_access.AccessMode.VIEW]]
|
||
|
cur_buttons += [[mod_table_operate.EditButton(bd_table.TableFieldDestiny.PHOTO_PAY), user_access.AccessMode.VIEW]]
|
||
|
else:
|
||
|
cur_buttons += [[mod_table_operate.ButtonNames.ADD, user_access.AccessMode.ADD]]
|
||
|
|
||
|
return cur_buttons + [
|
||
|
[mod_table_operate.ButtonNames.LIST, user_access.AccessMode.VIEW],
|
||
|
[mod_table_operate.ButtonNames.DEL, user_access.AccessMode.DELETE],
|
||
|
[mod_table_operate.ButtonNames.EDIT, user_access.AccessMode.EDIT],
|
||
|
]
|
||
|
|
||
|
def RegisterHandlers(self):
|
||
|
super().RegisterHandlers()
|
||
|
|
||
|
def GetFilesFunc(a_user_id):
|
||
|
files = GetAuthDocs()
|
||
|
cur_dict = GetReplaceDictFunc(self.m_Bot, a_user_id)
|
||
|
result = {}
|
||
|
for f in files:
|
||
|
result.update({f: cur_dict})
|
||
|
|
||
|
return result
|
||
|
|
||
|
button_name = self.GetButton(ButtonNames.LIST_AUTH_DOCS)
|
||
|
if button_name:
|
||
|
self.m_Bot.RegisterMessageHandler(
|
||
|
docs_message.DocFilesTemplate(
|
||
|
self.m_Bot,
|
||
|
GetFilesFunc,
|
||
|
self.GetMessage(Messages.LIST_AUTH_DOCS),
|
||
|
self.m_GetAccessFunc,
|
||
|
self.m_GetStartKeyboardButtonsFunc,
|
||
|
None,
|
||
|
self.GetMessage(Messages.LIST_AUTH_DOCS_ERROR),
|
||
|
access_mode = user_access.AccessMode.VIEW
|
||
|
),
|
||
|
bd_item.GetCheckForTextFunc(button_name)
|
||
|
)
|
||
|
|
||
|
def AddBDItemFunc(self, a_ItemData, a_UserID):
|
||
|
a_ItemData[user_id_field] = a_UserID
|
||
|
a_ItemData[user_auth_docs_field] = ''
|
||
|
a_ItemData[user_photo_pay_field] = ''
|
||
|
result = super().AddBDItemFunc(a_ItemData, a_UserID)
|
||
|
return result
|
||
|
|
||
|
def GetKeyFieldDestiny(self):
|
||
|
return bd_table.TableFieldDestiny.USER_ID
|
||
|
|
||
|
def GetInitBDCommands(self):
|
||
|
return super(). GetInitBDCommands() + [
|
||
|
groups_utils.CreateGroupRequest(user_access.user_access_group_auth_users)
|
||
|
]
|
||
|
|
||
|
def GetReplaceDictFunc(a_Bot, a_user_id):
|
||
|
item = GetAuthorizeItem(a_Bot, a_user_id)
|
||
|
if not item:
|
||
|
return None
|
||
|
result = {}
|
||
|
i = 0
|
||
|
for f in table.GetFields():
|
||
|
result.update({str(f.m_Destiny): str(item[i])})
|
||
|
i += 1
|
||
|
print(result)
|
||
|
return result
|
||
|
|
||
|
auth_docs_file_name = 'config_auth_docs'
|
||
|
|
||
|
g_auth_docs = []
|
||
|
|
||
|
def GetAuthDocs():
|
||
|
global g_auth_docs
|
||
|
if len(g_auth_docs) == 0:
|
||
|
root_ids = config.GetAllLinesFromFile(auth_docs_file_name)
|
||
|
for i in root_ids:
|
||
|
g_auth_docs += [config.ClearReadLine(i)]
|
||
|
|
||
|
return g_auth_docs
|