stop inv button
This commit is contained in:
parent
449c023dff
commit
e01a416c76
|
@ -95,6 +95,7 @@ class TgBot:
|
||||||
self.inv,
|
self.inv,
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
|
TgBot.app.add_handler(CallbackQueryHandler(self.stop_inv, "stop_inv"))
|
||||||
TgBot.app.add_handler(CallbackQueryHandler(self.get_inv, r"get_inv@(.*?)"))
|
TgBot.app.add_handler(CallbackQueryHandler(self.get_inv, r"get_inv@(.*?)"))
|
||||||
TgBot.app.add_handler(CallbackQueryHandler(self.add_tmc, r"add_tmc@(.*?)"))
|
TgBot.app.add_handler(CallbackQueryHandler(self.add_tmc, r"add_tmc@(.*?)"))
|
||||||
TgBot.app.add_handler(
|
TgBot.app.add_handler(
|
||||||
|
@ -151,13 +152,26 @@ class TgBot:
|
||||||
return f"Инвентаризация `{inv.name}` от `{inv.created_at.strftime('%x')}`"
|
return f"Инвентаризация `{inv.name}` от `{inv.created_at.strftime('%x')}`"
|
||||||
|
|
||||||
def format_tmc_count(self, tmc_count):
|
def format_tmc_count(self, tmc_count):
|
||||||
return f"Количество ТМЦ {tmc_count}\n"
|
return f"Количество ТМЦ {tmc_count}"
|
||||||
|
|
||||||
def format_tmc_name(self, tmc):
|
def format_tmc_name(self, tmc):
|
||||||
return f"Название ТМЦ `{tmc.name}`\n"
|
return f"Название ТМЦ `{tmc.name}`"
|
||||||
|
|
||||||
def format_element(self, field):
|
def format_element(self, field):
|
||||||
return f"Элемент `{field.name}`\n"
|
return f"Элемент `{field.name}`"
|
||||||
|
|
||||||
|
def stop_inv_button(self):
|
||||||
|
return [
|
||||||
|
InlineKeyboardButton(
|
||||||
|
"❌❌❌ Остановить инвентаризацию", callback_data="stop_inv"
|
||||||
|
)
|
||||||
|
]
|
||||||
|
|
||||||
|
async def stop_inv(self, update: Update, context: CallbackContext):
|
||||||
|
query = update.callback_query
|
||||||
|
await update.effective_message.edit_reply_markup(InlineKeyboardMarkup([]))
|
||||||
|
await query.answer()
|
||||||
|
context.chat_data.clear()
|
||||||
|
|
||||||
async def get_inv(self, update: Update, context: CallbackContext):
|
async def get_inv(self, update: Update, context: CallbackContext):
|
||||||
query = update.callback_query
|
query = update.callback_query
|
||||||
|
@ -244,29 +258,31 @@ class TgBot:
|
||||||
context.chat_data["inv"] = inv.id
|
context.chat_data["inv"] = inv.id
|
||||||
context.chat_data["step"] = "add_tmc"
|
context.chat_data["step"] = "add_tmc"
|
||||||
|
|
||||||
|
text = "\n".join(
|
||||||
|
[
|
||||||
|
self.format_inv(inv),
|
||||||
|
self.format_tmc_count(await inv.tmc.acount()),
|
||||||
|
"Выберите, какую ТМЦ вы осматриваете:",
|
||||||
|
]
|
||||||
|
)
|
||||||
|
keyboard = [
|
||||||
|
[
|
||||||
|
InlineKeyboardButton(
|
||||||
|
i["name"],
|
||||||
|
callback_data=f'{context.chat_data["step"]}@{i["id"]}',
|
||||||
|
)
|
||||||
|
for i in arr
|
||||||
|
]
|
||||||
|
for arr in keys
|
||||||
|
]
|
||||||
|
keyboard.append(self.stop_inv_button())
|
||||||
|
|
||||||
await update.effective_message.reply_markdown_v2(
|
await update.effective_message.reply_markdown_v2(
|
||||||
"\n".join(
|
text,
|
||||||
[
|
|
||||||
self.format_inv(inv),
|
|
||||||
self.format_tmc_count(await inv.tmc.acount()),
|
|
||||||
"Выберите, какую ТМЦ вы осматриваете:",
|
|
||||||
]
|
|
||||||
),
|
|
||||||
reply_parameters=ReplyParameters(
|
reply_parameters=ReplyParameters(
|
||||||
message_id=update.effective_message.message_id
|
message_id=update.effective_message.message_id
|
||||||
),
|
),
|
||||||
reply_markup=InlineKeyboardMarkup(
|
reply_markup=InlineKeyboardMarkup(keyboard),
|
||||||
[
|
|
||||||
[
|
|
||||||
InlineKeyboardButton(
|
|
||||||
i["name"],
|
|
||||||
callback_data=f'{context.chat_data["step"]}@{i["id"]}',
|
|
||||||
)
|
|
||||||
for i in arr
|
|
||||||
]
|
|
||||||
for arr in keys
|
|
||||||
]
|
|
||||||
),
|
|
||||||
)
|
)
|
||||||
|
|
||||||
elif current_step == "add_tmc":
|
elif current_step == "add_tmc":
|
||||||
|
@ -283,30 +299,32 @@ class TgBot:
|
||||||
context.chat_data["tmc"] = tmc_element.id
|
context.chat_data["tmc"] = tmc_element.id
|
||||||
context.chat_data["step"] = "add_element"
|
context.chat_data["step"] = "add_element"
|
||||||
|
|
||||||
|
text = "\n".join(
|
||||||
|
[
|
||||||
|
self.format_inv(inv),
|
||||||
|
self.format_tmc_count(await inv.tmc.acount()),
|
||||||
|
self.format_tmc_name(tmc),
|
||||||
|
f"Что вы загружаете?",
|
||||||
|
]
|
||||||
|
)
|
||||||
|
keyboard = [
|
||||||
|
[
|
||||||
|
InlineKeyboardButton(
|
||||||
|
i["name"],
|
||||||
|
callback_data=f'{context.chat_data["step"]}@{i["id"]}',
|
||||||
|
)
|
||||||
|
for i in arr
|
||||||
|
]
|
||||||
|
for arr in keys
|
||||||
|
]
|
||||||
|
keyboard.append(self.stop_inv_button())
|
||||||
|
|
||||||
await update.effective_message.reply_markdown_v2(
|
await update.effective_message.reply_markdown_v2(
|
||||||
"\n".join(
|
text,
|
||||||
[
|
|
||||||
self.format_inv(inv),
|
|
||||||
self.format_tmc_count(await inv.tmc.acount()),
|
|
||||||
self.format_tmc_name(tmc),
|
|
||||||
f"Что вы загружаете?",
|
|
||||||
]
|
|
||||||
),
|
|
||||||
reply_parameters=ReplyParameters(
|
reply_parameters=ReplyParameters(
|
||||||
message_id=update.effective_message.message_id
|
message_id=update.effective_message.message_id
|
||||||
),
|
),
|
||||||
reply_markup=InlineKeyboardMarkup(
|
reply_markup=InlineKeyboardMarkup(keyboard),
|
||||||
[
|
|
||||||
[
|
|
||||||
InlineKeyboardButton(
|
|
||||||
i["name"],
|
|
||||||
callback_data=f'{context.chat_data["step"]}@{i["id"]}',
|
|
||||||
)
|
|
||||||
for i in arr
|
|
||||||
]
|
|
||||||
for arr in keys
|
|
||||||
]
|
|
||||||
),
|
|
||||||
)
|
)
|
||||||
|
|
||||||
elif current_step == "add_element":
|
elif current_step == "add_element":
|
||||||
|
@ -316,6 +334,7 @@ class TgBot:
|
||||||
field = await BaseCustomField.objects.aget(id=element.field_id)
|
field = await BaseCustomField.objects.aget(id=element.field_id)
|
||||||
|
|
||||||
context.chat_data["step"] = "add_element_data"
|
context.chat_data["step"] = "add_element_data"
|
||||||
|
|
||||||
await update.effective_message.reply_markdown_v2(
|
await update.effective_message.reply_markdown_v2(
|
||||||
"\n".join(
|
"\n".join(
|
||||||
[
|
[
|
||||||
|
|
Loading…
Reference in New Issue