from odoo import fields
from odoo import models

# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl)


class ResConfigSettings(models.TransientModel):
    _inherit = "res.config.settings"

    aplicoop_pricelist_id = fields.Many2one(
        "product.pricelist",
        config_parameter="website_sale_aplicoop.pricelist_id",
        help="Pricelist to use for Aplicoop group orders. If not set, will use website default.",
    )

    eskaera_lazy_loading_enabled = fields.Boolean(
        string="Enable Lazy Loading",
        config_parameter="website_sale_aplicoop.lazy_loading_enabled",
        default=True,
        help="Enable lazy loading of products in group order shop. Products will be paginated.",
    )

    eskaera_products_per_page = fields.Integer(
        string="Products Per Page",
        config_parameter="website_sale_aplicoop.products_per_page",
        default=20,
        help="Number of products to load per page in group order shop. Minimum 5, Maximum 100.",
    )

    low_stock_threshold = fields.Float(
        string="Low Stock Threshold",
        config_parameter="website_sale_aplicoop.low_stock_threshold",
        default=5.0,
        help="Products with stock below or equal to this value will show 'Low Stock' ribbon. "
        "Products with stock = 0 will show 'Out of Stock' ribbon and cannot be added to cart.",
    )

    @staticmethod
    def _get_products_per_page_selection(records):
        """Return default page sizes."""
        return [
            (5, "5"),
            (10, "10"),
            (15, "15"),
            (20, "20"),
            (30, "30"),
            (50, "50"),
        ]
