from __future__ import unicode_literals
import frappe
from frappe.model.document import Document

class AsanLogin(Document):
    def before_save(self):
        # Если установлен флаг is_default, сбрасываем его у других документов
        if self.is_default:
            existing_defaults = frappe.get_all(
                "Asan Login",
                filters={
                    "is_default": 1,
                    "name": ["!=", self.name]
                }
            )
            
            for default in existing_defaults:
                doc = frappe.get_doc("Asan Login", default.name)
                doc.is_default = 0
                doc.flags.ignore_permissions = True
                doc.save()
                
    def validate(self):
        # Проверяем обязательные поля
        if not self.phone:
            frappe.throw("Phone is required")
            
        if not self.user_id:
            frappe.throw("User ID is required")