Source code for telegram_framework.use.list

from telegram_framework import messages, actions
from .paginations import Pagination, paginate


[docs] def list_action( model, template_name, context_object_name='objects_list', pagination: Pagination = None, ): def list_action_result(bot, message, page=1): queryset = model.objects.all() keyboard = None if pagination: queryset, keyboard = paginate(pagination, queryset, page) context = {context_object_name: queryset} template_message = messages.create_template_message( sender=bot, template=template_name, context=context, ) if keyboard: template_message = messages.add_keyboard(template_message, keyboard) return actions.send_message(message.chat, template_message) return list_action_result