Merge branch 'develop' into fix-link-selector
This commit is contained in:
commit
86af25a287
4 changed files with 39 additions and 1 deletions
|
|
@ -193,6 +193,16 @@ class CustomizeForm(Document):
|
|||
if prop == "fieldtype":
|
||||
self.validate_fieldtype_change(df, meta_df[0].get(prop), df.get(prop))
|
||||
|
||||
elif prop == "length":
|
||||
old_value_length = cint(meta_df[0].get(prop))
|
||||
new_value_length = cint(df.get(prop))
|
||||
|
||||
if new_value_length and (old_value_length > new_value_length):
|
||||
self.check_length_for_fieldtypes.append({'df': df, 'old_value': meta_df[0].get(prop)})
|
||||
self.validate_fieldtype_length()
|
||||
else:
|
||||
self.flags.update_db = True
|
||||
|
||||
elif prop == "allow_on_submit" and df.get(prop):
|
||||
if not frappe.db.get_value("DocField",
|
||||
{"parent": self.doc_type, "fieldname": df.fieldname}, "allow_on_submit"):
|
||||
|
|
|
|||
|
|
@ -188,6 +188,26 @@ class TestCustomizeForm(unittest.TestCase):
|
|||
def test_core_doctype_customization(self):
|
||||
self.assertRaises(frappe.ValidationError, self.get_customize_form, 'User')
|
||||
|
||||
def test_save_customization_length_field_property(self):
|
||||
# Using Notification Log doctype as it doesn't have any other custom fields
|
||||
d = self.get_customize_form("Notification Log")
|
||||
|
||||
document_name = d.get("fields", {"fieldname": "document_name"})[0]
|
||||
document_name.length = 255
|
||||
d.run_method("save_customization")
|
||||
|
||||
self.assertEqual(frappe.db.get_value("Property Setter",
|
||||
{"doc_type": "Notification Log", "property": "length", "field_name": "document_name"}, "value"), '255')
|
||||
|
||||
self.assertTrue(d.flags.update_db)
|
||||
|
||||
length = frappe.db.sql("""SELECT character_maximum_length
|
||||
FROM information_schema.columns
|
||||
WHERE table_name = 'tabNotification Log'
|
||||
AND column_name = 'document_name'""")[0][0]
|
||||
|
||||
self.assertEqual(length, 255)
|
||||
|
||||
def test_custom_link(self):
|
||||
try:
|
||||
# create a dummy doctype linked to Event
|
||||
|
|
|
|||
|
|
@ -3,12 +3,14 @@ import socket
|
|||
import time
|
||||
from uuid import uuid4
|
||||
from collections import defaultdict
|
||||
from typing import List
|
||||
|
||||
|
||||
import redis
|
||||
from typing import List
|
||||
from redis.exceptions import BusyLoadingError, ConnectionError
|
||||
from rq import Connection, Queue, Worker
|
||||
from rq.logutils import setup_loghandlers
|
||||
from tenacity import retry, retry_if_exception_type, stop_after_attempt, wait_fixed
|
||||
|
||||
import frappe
|
||||
from frappe import _
|
||||
|
|
@ -233,6 +235,11 @@ def validate_queue(queue, default_queue_list=None):
|
|||
if queue not in default_queue_list:
|
||||
frappe.throw(_("Queue should be one of {0}").format(', '.join(default_queue_list)))
|
||||
|
||||
@retry(
|
||||
retry=retry_if_exception_type(BusyLoadingError) | retry_if_exception_type(ConnectionError),
|
||||
stop=stop_after_attempt(10),
|
||||
wait=wait_fixed(1)
|
||||
)
|
||||
def get_redis_conn(username=None, password=None):
|
||||
if not hasattr(frappe.local, 'conf'):
|
||||
raise Exception('You need to call frappe.init')
|
||||
|
|
|
|||
|
|
@ -77,3 +77,4 @@ Whoosh~=2.7.4
|
|||
wrapt~=1.12.1
|
||||
xlrd~=2.0.1
|
||||
zxcvbn-python~=4.4.24
|
||||
tenacity~=8.0.1
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue