"""
Template tags для работы с платежами.
"""
from django import template
from orders.services.transaction_service import TransactionService

register = template.Library()


@register.simple_tag
def get_payment_methods_for_pos():
    """
    Получить способы оплаты для POS (исключая legal_entity).
    Используется в шаблонах POS.
    """
    return TransactionService.get_available_payment_methods(
        exclude_codes=['legal_entity'],
        only_active=True
    )


@register.filter
def format_currency(value):
    """
    Форматирование валюты: 1234.50 -> '1 234.50 руб.'
    """
    try:
        return f"{float(value):,.2f}".replace(',', ' ') + " руб."
    except (ValueError, TypeError):
        return "0.00 руб."
