Explorar el Código

chore: Add typing and and style conflicts

version-14
Gavin D'souza hace 3 años
padre
commit
01e101d4b8
Se han modificado 2 ficheros con 44 adiciones y 32 borrados
  1. +29
    -20
      frappe/core/doctype/doctype/test_doctype.py
  2. +15
    -12
      frappe/model/document.py

+ 29
- 20
frappe/core/doctype/doctype/test_doctype.py Ver fichero

@@ -1,6 +1,9 @@
# -*- coding: utf-8 -*- # -*- coding: utf-8 -*-
# Copyright (c) 2015, Frappe Technologies Pvt. Ltd. and Contributors # Copyright (c) 2015, Frappe Technologies Pvt. Ltd. and Contributors
# License: MIT. See LICENSE # License: MIT. See LICENSE
from typing import Dict, List, Optional
import unittest

import frappe import frappe
import unittest import unittest
from frappe.core.doctype.doctype.doctype import (UniqueFieldnameError, from frappe.core.doctype.doctype.doctype import (UniqueFieldnameError,
@@ -507,7 +510,7 @@ class TestDocType(unittest.TestCase):


def test_autoincremented_doctype_transition(self): def test_autoincremented_doctype_transition(self):
frappe.delete_doc("testy_autoinc_dt") frappe.delete_doc("testy_autoinc_dt")
dt = new_doctype("testy_autoinc_dt", autoincremented=True).insert(ignore_permissions=True)
dt = new_doctype("testy_autoinc_dt", autoname="autoincrement").insert(ignore_permissions=True)
dt.autoname = "hash" dt.autoname = "hash"


try: try:
@@ -521,25 +524,31 @@ class TestDocType(unittest.TestCase):
dt.delete(ignore_permissions=True) dt.delete(ignore_permissions=True)




def new_doctype(name, unique=0, depends_on='', fields=None, autoincremented=False):
doc = frappe.get_doc({
"doctype": "DocType",
"module": "Core",
"custom": 1,
"fields": [{
"label": "Some Field",
"fieldname": "some_fieldname",
"fieldtype": "Data",
"unique": unique,
"depends_on": depends_on,
}],
"permissions": [{
"role": "System Manager",
"read": 1,
}],
"name": name,
"autoname": "autoincrement" if autoincremented else ""
})
def new_doctype(name, unique: bool = False, depends_on: str = "", fields: Optional[List[Dict]] = None, **kwargs):
doc = frappe.get_doc(
{
"doctype": "DocType",
"module": "Core",
"custom": 1,
"fields": [
{
"label": "Some Field",
"fieldname": "some_fieldname",
"fieldtype": "Data",
"unique": unique,
"depends_on": depends_on,
}
],
"permissions": [
{
"role": "System Manager",
"read": 1,
}
],
"name": name,
**kwargs,
}
)


if fields: if fields:
for f in fields: for f in fields:


+ 15
- 12
frappe/model/document.py Ver fichero

@@ -3,6 +3,8 @@
import hashlib import hashlib
import json import json
import time import time
from typing import List

from werkzeug.exceptions import NotFound from werkzeug.exceptions import NotFound


import frappe import frappe
@@ -21,8 +23,6 @@ from frappe.core.doctype.server_script.server_script_utils import run_server_scr
from frappe.utils.data import get_absolute_url from frappe.utils.data import get_absolute_url




# once_only validation
# methods


def get_doc(*args, **kwargs): def get_doc(*args, **kwargs):
"""returns a frappe.model.Document object. """returns a frappe.model.Document object.
@@ -179,7 +179,7 @@ class Document(BaseDocument):
if not self.has_permission(permtype): if not self.has_permission(permtype):
self.raise_no_permission_to(permlevel or permtype) self.raise_no_permission_to(permlevel or permtype)


def has_permission(self, permtype="read", verbose=False):
def has_permission(self, permtype="read", verbose=False) -> bool:
"""Call `frappe.has_permission` if `self.flags.ignore_permissions` """Call `frappe.has_permission` if `self.flags.ignore_permissions`
is not set. is not set.


@@ -195,8 +195,15 @@ class Document(BaseDocument):
frappe.flags.error_message = _('Insufficient Permission for {0}').format(self.doctype) frappe.flags.error_message = _('Insufficient Permission for {0}').format(self.doctype)
raise frappe.PermissionError raise frappe.PermissionError


def insert(self, ignore_permissions=None, ignore_links=None, ignore_if_duplicate=False,
ignore_mandatory=None, set_name=None, set_child_names=True):
def insert(
self,
ignore_permissions=None,
ignore_links=None,
ignore_if_duplicate=False,
ignore_mandatory=None,
set_name=None,
set_child_names=True,
) -> "Document":
"""Insert the document in the database (as a new document). """Insert the document in the database (as a new document).
This will check for user permissions and execute `before_insert`, This will check for user permissions and execute `before_insert`,
`validate`, `on_update`, `after_insert` methods if they are written. `validate`, `on_update`, `after_insert` methods if they are written.
@@ -276,7 +283,7 @@ class Document(BaseDocument):
"""Wrapper for _save""" """Wrapper for _save"""
return self._save(*args, **kwargs) return self._save(*args, **kwargs)


def _save(self, ignore_permissions=None, ignore_version=None):
def _save(self, ignore_permissions=None, ignore_version=None) -> "Document":
"""Save the current document in the database in the **DocType**'s table or """Save the current document in the database in the **DocType**'s table or
`tabSingles` (for single types). `tabSingles` (for single types).


@@ -498,8 +505,7 @@ class Document(BaseDocument):
self._save_passwords() self._save_passwords()
self.validate_workflow() self.validate_workflow()


children = self.get_all_children()
for d in children:
for d in self.get_all_children():
d._validate_data_fields() d._validate_data_fields()
d._validate_selects() d._validate_selects()
d._validate_non_negative() d._validate_non_negative()
@@ -840,7 +846,7 @@ class Document(BaseDocument):
frappe.throw(_("Cannot link cancelled document: {0}").format(msg), frappe.throw(_("Cannot link cancelled document: {0}").format(msg),
frappe.CancelledLinkError) frappe.CancelledLinkError)


def get_all_children(self, parenttype=None):
def get_all_children(self, parenttype=None) -> List["Document"]:
"""Returns all children documents from **Table** type fields in a list.""" """Returns all children documents from **Table** type fields in a list."""


children = [] children = []
@@ -1399,6 +1405,3 @@ def execute_action(doctype, name, action, **kwargs):


doc.add_comment('Comment', _('Action Failed') + '<br><br>' + msg) doc.add_comment('Comment', _('Action Failed') + '<br><br>' + msg)
doc.notify_update() doc.notify_update()




Cargando…
Cancelar
Guardar