Skip to content
GitLab
Menu
Projects
Groups
Snippets
Help
Projects
Groups
Snippets
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Menu
Open sidebar
仰若水
frappe
Commits
f2bc961e
Commit
f2bc961e
authored
8 years ago
by
Nabin Hait
Browse files
Options
Download
Plain Diff
Fixed merge conflict
parents
4b231108
26507591
develop
v11.1.5
v11.1.4
v11.1.3
v11.1.2
v11.1.1
v11.1.0
v11.0.3
v11.0.3-beta.51
v11.0.3-beta.50
v11.0.3-beta.49
v11.0.3-beta.48
v11.0.3-beta.47
v11.0.3-beta.46
v11.0.3-beta.45
v11.0.3-beta.44
v11.0.3-beta.43
v11.0.3-beta.42
v11.0.3-beta.41
v11.0.3-beta.40
v11.0.3-beta.39
v11.0.3-beta.38
v11.0.3-beta.37
v11.0.3-beta.36
v11.0.3-beta.35
v11.0.3-beta.34
v11.0.3-beta.33
v11.0.3-beta.32
v11.0.3-beta.31
v11.0.3-beta.30
v11.0.3-beta.29
v11.0.3-beta.28
v11.0.3-beta.27
v11.0.3-beta.26
v11.0.3-beta.25
v11.0.3-beta.24
v11.0.3-beta.23
v11.0.3-beta.22
v11.0.3-beta.21
v11.0.3-beta.20
v11.0.3-beta.19
v11.0.3-beta.18
v11.0.3-beta.17
v11.0.3-beta.16
v11.0.3-beta.15
v11.0.3-beta.14
v11.0.3-beta.13
v11.0.3-beta.12
v11.0.3-beta.11
v11.0.3-beta.10
v11.0.3-beta.9
v11.0.3-beta.8
v11.0.3-beta.7
v11.0.3-beta.6
v11.0.3-beta.5
v11.0.3-beta.4
v11.0.3-beta.3
v11.0.3-beta.2
v11.0.3-beta.1
v11.0.2
v11.0.1
v11.0.0-beta
v10.1.71
v10.1.70
v10.1.69
v10.1.68
v10.1.67
v10.1.66
v10.1.65
v10.1.64
v10.1.63
v10.1.62
v10.1.61
v10.1.60
v10.1.59
v10.1.58
v10.1.57
v10.1.56
v10.1.55
v10.1.54
v10.1.53
v10.1.52
v10.1.51
v10.1.50
v10.1.49
v10.1.49-beta.1
v10.1.48
v10.1.47
v10.1.46
v10.1.45
v10.1.44
v10.1.43
v10.1.42
v10.1.41
v10.1.40
v10.1.39
v10.1.38
v10.1.37
v10.1.36
v10.1.35
v10.1.34
v10.1.33
v10.1.32
v10.1.31
v10.1.30
v10.1.29
v10.1.28
v10.1.27
v10.1.26
v10.1.25
v10.1.24
v10.1.23
v10.1.22
v10.1.21
v10.1.20
v10.1.19
v10.1.18
v10.1.17
v10.1.16
v10.1.15
v10.1.14
v10.1.13
v10.1.12
v10.1.11
v10.1.10
v10.1.9
v10.1.8
v10.1.7
v10.1.6
v10.1.5
v10.1.4
v10.1.3
v10.1.2
v10.1.1
v10.1.0
v10.0.25
v10.0.24
v10.0.23
v10.0.22
v10.0.21
v10.0.20
v10.0.19
v10.0.18
v10.0.17
v10.0.16
v10.0.15
v10.0.14
v10.0.13
v10.0.12
v10.0.11
v10.0.10
v10.0.9
v10.0.8
v10.0.7
v10.0.6
v10.0.5
v10.0.4
v10.0.3
v10.0.2
v10.0.1
v10.0.0
v9.2.25
v9.2.24
v9.2.23
v9.2.22
v9.2.21
v9.2.20
v9.2.19
v9.2.18
v9.2.17
v9.2.16
v9.2.15
v9.2.14
v9.2.13
v9.2.12
v9.2.11
v9.2.10
v9.2.9
v9.2.8
v9.2.7
v9.2.6
v9.2.5
v9.2.4
v9.2.3
v9.2.2
v9.2.1
v9.2.0
v9.1.11
v9.1.10
v9.1.9
v9.1.8
v9.1.7
v9.1.6
v9.1.5
v9.1.4
v9.1.3
v9.1.2
v9.1.1
v9.1.0
v9.0.10
v9.0.9
v9.0.8
v9.0.7
v9.0.6
v9.0.5
v9.0.4
v9.0.3
v9.0.2
v9.0.1
v9.0.0
v8.10.9
v8.10.8
v8.10.7
v8.10.6
v8.10.5
v8.10.4
v8.10.3
v8.10.2
v8.10.1
v8.10.0
v8.9.4
v8.9.3
v8.9.2
v8.9.1
v8.9.0
v8.8.5
v8.8.4
v8.8.3
v8.8.2
v8.8.1
v8.8.0
v8.7.11
v8.7.10
v8.7.9
v8.7.8
v8.7.7
v8.7.6
v8.7.5
v8.7.4
v8.7.3
v8.7.2
v8.7.1
v8.7.0
v8.6.8
v8.6.7
v8.6.6
v8.6.5
v8.6.4
v8.6.3
v8.6.2
v8.6.1
v8.6.0
v8.5.8
v8.5.7
v8.5.6
v8.5.5
v8.5.4
v8.5.3
v8.5.2
v8.5.1
v8.5.0
v8.4.1
v8.4.0
v8.3.10
v8.3.9
v8.3.8
v8.3.7
v8.3.6
v8.3.5
v8.3.4
v8.3.3
v8.3.2
v8.3.1
v8.3.0
v8.2.7
v8.2.6
v8.2.5
v8.2.4
v8.2.3
v8.2.2
v8.2.1
v8.2.0
v8.1.4
v8.1.3
v8.1.2
v8.1.1
v8.1.0
v8.0.71
v8.0.70
v8.0.69
v8.0.68
v8.0.67
v8.0.66
v8.0.65
v8.0.64
v8.0.63
v8.0.62
v8.0.61
v8.0.60
v8.0.59
v8.0.58
v8.0.57
v8.0.56
v8.0.55
v8.0.54
v8.0.53
v8.0.52
v8.0.51
v8.0.50
v8.0.49
v8.0.48
v8.0.47
v8.0.46
v8.0.45
v8.0.44
v8.0.43
v8.0.42
v8.0.41
v8.0.40
v8.0.39
v8.0.38
v8.0.37
v8.0.36
v8.0.35
v8.0.34
v8.0.33
v8.0.32
v8.0.31
v8.0.30
v8.0.29
v8.0.28
v8.0.27
v8.0.26
v8.0.25
v8.0.24
v8.0.23
v8.0.22
v8.0.21
v8.0.20
v8.0.19
v8.0.18
v8.0.17
v8.0.16
v8.0.15
v8.0.14
v8.0.13
v8.0.12
v8.0.11
v8.0.10
v8.0.9
v8.0.8
v8.0.7
v8.0.6
v8.0.5
v8.0.4
v8.0.3
v8.0.2
v8.0.1
v8.0.0
v7.2.31
v7.2.30
v7.2.29
v7.2.28
v7.2.27
v7.2.26
v7.2.25
v7.2.24
v7.2.23
v7.2.22
v7.2.21
v7.2.20
v7.2.19
v7.2.18
v7.2.17
v7.2.16
v7.2.15
v7.2.14
v7.2.13
v7.2.12
v7.2.11
v7.2.10
v7.2.9
v7.2.8
v7.2.7
v7.2.6
v7.2.5
v7.2.4
v7.2.3
v7.2.2
v7.2.1
v7.2.0
No related merge requests found
Changes
484
Hide whitespace changes
Inline
Side-by-side
Showing
20 changed files
frappe/__init__.py
+36
-30
frappe/__init__.py
frappe/api.py
+2
-1
frappe/api.py
frappe/async.py
+3
-2
frappe/async.py
frappe/change_log/v7/v7_2_0.md
+18
-0
frappe/change_log/v7/v7_2_0.md
frappe/client.py
+71
-0
frappe/client.py
frappe/commands/scheduler.py
+1
-1
frappe/commands/scheduler.py
frappe/config/docs.py
+11
-3
frappe/config/docs.py
frappe/config/setup.py
+24
-18
frappe/config/setup.py
frappe/config/website.py
+17
-3
frappe/config/website.py
frappe/core/doctype/communication/communication.json
+1153
-983
frappe/core/doctype/communication/communication.json
frappe/core/doctype/communication/communication.py
+1
-0
frappe/core/doctype/communication/communication.py
frappe/core/doctype/communication/email.py
+40
-7
frappe/core/doctype/communication/email.py
frappe/core/doctype/docfield/docfield.json
+68
-2
frappe/core/doctype/docfield/docfield.json
frappe/core/doctype/doctype/boilerplate/controller_list.html
+2
-2
frappe/core/doctype/doctype/boilerplate/controller_list.html
frappe/core/doctype/doctype/doctype.json
+151
-32
frappe/core/doctype/doctype/doctype.json
frappe/core/doctype/doctype/doctype.py
+50
-7
frappe/core/doctype/doctype/doctype.py
frappe/core/doctype/error_log/error_log.json
+1
-1
frappe/core/doctype/error_log/error_log.json
frappe/core/doctype/error_log/error_log.py
+6
-0
frappe/core/doctype/error_log/error_log.py
frappe/core/doctype/error_log/error_log_list.js
+10
-0
frappe/core/doctype/error_log/error_log_list.js
frappe/core/doctype/error_snapshot/error_snapshot.html
+1
-1
frappe/core/doctype/error_snapshot/error_snapshot.html
with
1666 additions
and
1093 deletions
+1666
-1093
frappe/__init__.py
View file @
f2bc961e
...
@@ -41,16 +41,26 @@ class _dict(dict):
...
@@ -41,16 +41,26 @@ class _dict(dict):
def
_
(
msg
,
lang
=
None
):
def
_
(
msg
,
lang
=
None
):
"""Returns translated string in current lang, if exists."""
"""Returns translated string in current lang, if exists."""
from
frappe.translate
import
get_full_dict
from
frappe.translate
import
get_full_dict
from
frappe.utils
import
cstr
if
not
lang
:
if
not
lang
:
lang
=
local
.
lang
lang
=
local
.
lang
# msg should always be unicode
# msg should always be unicode
msg
=
cstr
(
msg
).
strip
()
msg
=
as_unicode
(
msg
).
strip
()
return
get_full_dict
(
local
.
lang
).
get
(
msg
)
or
msg
return
get_full_dict
(
local
.
lang
).
get
(
msg
)
or
msg
def
as_unicode
(
text
,
encoding
=
'utf-8'
):
'''Convert to unicode if required'''
if
isinstance
(
text
,
unicode
):
return
text
elif
text
==
None
:
return
''
elif
isinstance
(
text
,
basestring
):
return
unicode
(
text
,
encoding
)
else
:
return
unicode
(
text
)
def
get_lang_dict
(
fortype
,
name
=
None
):
def
get_lang_dict
(
fortype
,
name
=
None
):
"""Returns the translated language dict for the given type and name.
"""Returns the translated language dict for the given type and name.
...
@@ -225,11 +235,11 @@ def errprint(msg):
...
@@ -225,11 +235,11 @@ def errprint(msg):
"""Log error. This is sent back as `exc` in response.
"""Log error. This is sent back as `exc` in response.
:param msg: Message."""
:param msg: Message."""
from
utils
import
cstr
msg
=
as_unicode
(
msg
)
if
not
request
or
(
not
"cmd"
in
local
.
form_dict
):
if
not
request
or
(
not
"cmd"
in
local
.
form_dict
):
print
cstr
(
msg
)
print
msg
.
encode
(
'utf-8'
)
error_log
.
append
(
cstr
(
msg
)
)
error_log
.
append
(
msg
)
def
log
(
msg
):
def
log
(
msg
):
"""Add to `debug_log`.
"""Add to `debug_log`.
...
@@ -239,8 +249,7 @@ def log(msg):
...
@@ -239,8 +249,7 @@ def log(msg):
if
conf
.
get
(
"logging"
)
or
False
:
if
conf
.
get
(
"logging"
)
or
False
:
print
repr
(
msg
)
print
repr
(
msg
)
from
utils
import
cstr
debug_log
.
append
(
as_unicode
(
msg
))
debug_log
.
append
(
cstr
(
msg
))
def
msgprint
(
msg
,
title
=
None
,
raise_exception
=
0
,
as_table
=
False
,
indicator
=
None
,
alert
=
False
):
def
msgprint
(
msg
,
title
=
None
,
raise_exception
=
0
,
as_table
=
False
,
indicator
=
None
,
alert
=
False
):
"""Print a message to the user (via HTTP response).
"""Print a message to the user (via HTTP response).
...
@@ -355,12 +364,12 @@ def get_request_header(key, default=None):
...
@@ -355,12 +364,12 @@ def get_request_header(key, default=None):
:param default: Default value."""
:param default: Default value."""
return
request
.
headers
.
get
(
key
,
default
)
return
request
.
headers
.
get
(
key
,
default
)
def
sendmail
(
recipients
=
()
,
sender
=
""
,
subject
=
"No Subject"
,
message
=
"No Message"
,
def
sendmail
(
recipients
=
[]
,
sender
=
""
,
subject
=
"No Subject"
,
message
=
"No Message"
,
as_markdown
=
False
,
delayed
=
True
,
reference_doctype
=
None
,
reference_name
=
None
,
as_markdown
=
False
,
delayed
=
True
,
reference_doctype
=
None
,
reference_name
=
None
,
unsubscribe_method
=
None
,
unsubscribe_params
=
None
,
unsubscribe_message
=
None
,
unsubscribe_method
=
None
,
unsubscribe_params
=
None
,
unsubscribe_message
=
None
,
attachments
=
None
,
content
=
None
,
doctype
=
None
,
name
=
None
,
reply_to
=
None
,
attachments
=
None
,
content
=
None
,
doctype
=
None
,
name
=
None
,
reply_to
=
None
,
cc
=
(),
show_as_cc
=
()
,
message_id
=
None
,
in_reply_to
=
None
,
send_after
=
None
,
expose_recipients
=
Fals
e
,
cc
=
[]
,
message_id
=
None
,
in_reply_to
=
None
,
send_after
=
None
,
expose_recipients
=
Non
e
,
send_priority
=
1
,
communication
=
None
,
retry
=
1
):
send_priority
=
1
,
communication
=
None
,
retry
=
1
,
now
=
None
):
"""Send email using user's default **Email Account** or global default **Email Account**.
"""Send email using user's default **Email Account** or global default **Email Account**.
...
@@ -383,25 +392,23 @@ def sendmail(recipients=(), sender="", subject="No Subject", message="No Message
...
@@ -383,25 +392,23 @@ def sendmail(recipients=(), sender="", subject="No Subject", message="No Message
:param expose_recipients: Display all recipients in the footer message - "This email was sent to"
:param expose_recipients: Display all recipients in the footer message - "This email was sent to"
:param communication: Communication link to be set in Email Queue record
:param communication: Communication link to be set in Email Queue record
"""
"""
message
=
content
or
message
if
delayed
:
if
as_markdown
:
import
frappe.email.queue
from
markdown2
import
markdown
frappe
.
email
.
queue
.
send
(
recipients
=
recipients
,
sender
=
sender
,
message
=
markdown
(
message
)
subject
=
subject
,
message
=
content
or
message
,
reference_doctype
=
doctype
or
reference_doctype
,
reference_name
=
name
or
reference_name
,
if
not
delayed
:
unsubscribe_method
=
unsubscribe_method
,
unsubscribe_params
=
unsubscribe_params
,
unsubscribe_message
=
unsubscribe_message
,
now
=
True
attachments
=
attachments
,
reply_to
=
reply_to
,
cc
=
cc
,
show_as_cc
=
show_as_cc
,
message_id
=
message_id
,
in_reply_to
=
in_reply_to
,
send_after
=
send_after
,
expose_recipients
=
expose_recipients
,
send_priority
=
send_priority
,
communication
=
communication
)
import
email.queue
else
:
email
.
queue
.
send
(
recipients
=
recipients
,
sender
=
sender
,
import
frappe.email
subject
=
subject
,
message
=
message
,
if
as_markdown
:
reference_doctype
=
doctype
or
reference_doctype
,
reference_name
=
name
or
reference_name
,
frappe
.
email
.
sendmail_md
(
recipients
,
sender
=
sender
,
unsubscribe_method
=
unsubscribe_method
,
unsubscribe_params
=
unsubscribe_params
,
unsubscribe_message
=
unsubscribe_message
,
subject
=
subject
,
msg
=
content
or
message
,
attachments
=
attachments
,
reply_to
=
reply_to
,
attachments
=
attachments
,
reply_to
=
reply_to
,
cc
=
cc
,
message_id
=
message_id
,
in_reply_to
=
in_reply_to
,
cc
=
cc
,
message_id
=
message_id
,
in_reply_to
=
in_reply_to
,
retry
=
retry
)
send_after
=
send_after
,
expose_recipients
=
expose_recipients
,
send_priority
=
send_priority
,
else
:
communication
=
communication
,
now
=
now
)
frappe
.
email
.
sendmail
(
recipients
,
sender
=
sender
,
subject
=
subject
,
msg
=
content
or
message
,
attachments
=
attachments
,
reply_to
=
reply_to
,
cc
=
cc
,
message_id
=
message_id
,
in_reply_to
=
in_reply_to
,
retry
=
retry
)
whitelisted
=
[]
whitelisted
=
[]
guest_methods
=
[]
guest_methods
=
[]
...
@@ -847,13 +854,12 @@ def get_file_json(path):
...
@@ -847,13 +854,12 @@ def get_file_json(path):
def
read_file
(
path
,
raise_not_found
=
False
):
def
read_file
(
path
,
raise_not_found
=
False
):
"""Open a file and return its content as Unicode."""
"""Open a file and return its content as Unicode."""
from
frappe.utils
import
cstr
if
isinstance
(
path
,
unicode
):
if
isinstance
(
path
,
unicode
):
path
=
path
.
encode
(
"utf-8"
)
path
=
path
.
encode
(
"utf-8"
)
if
os
.
path
.
exists
(
path
):
if
os
.
path
.
exists
(
path
):
with
open
(
path
,
"r"
)
as
f
:
with
open
(
path
,
"r"
)
as
f
:
return
cstr
(
f
.
read
())
return
as_unicode
(
f
.
read
())
elif
raise_not_found
:
elif
raise_not_found
:
raise
IOError
(
"{} Not Found"
.
format
(
path
))
raise
IOError
(
"{} Not Found"
.
format
(
path
))
else
:
else
:
...
...
This diff is collapsed.
Click to expand it.
frappe/api.py
View file @
f2bc961e
...
@@ -129,6 +129,7 @@ def handle():
...
@@ -129,6 +129,7 @@ def handle():
return
build_response
(
"json"
)
return
build_response
(
"json"
)
def
validate_oauth
():
def
validate_oauth
():
from
frappe.oauth
import
get_url_delimiter
form_dict
=
frappe
.
local
.
form_dict
form_dict
=
frappe
.
local
.
form_dict
authorization_header
=
frappe
.
get_request_header
(
"Authorization"
).
split
(
" "
)
if
frappe
.
get_request_header
(
"Authorization"
)
else
None
authorization_header
=
frappe
.
get_request_header
(
"Authorization"
).
split
(
" "
)
if
frappe
.
get_request_header
(
"Authorization"
)
else
None
if
authorization_header
and
authorization_header
[
0
].
lower
()
==
"bearer"
:
if
authorization_header
and
authorization_header
[
0
].
lower
()
==
"bearer"
:
...
@@ -142,7 +143,7 @@ def validate_oauth():
...
@@ -142,7 +143,7 @@ def validate_oauth():
body
=
r
.
get_data
()
body
=
r
.
get_data
()
headers
=
r
.
headers
headers
=
r
.
headers
required_scopes
=
frappe
.
db
.
get_value
(
"OAuth Bearer Token"
,
token
,
"scopes"
).
split
(
";"
)
required_scopes
=
frappe
.
db
.
get_value
(
"OAuth Bearer Token"
,
token
,
"scopes"
).
split
(
get_url_delimiter
()
)
valid
,
oauthlib_request
=
get_oauth_server
().
verify_request
(
uri
,
http_method
,
body
,
headers
,
required_scopes
)
valid
,
oauthlib_request
=
get_oauth_server
().
verify_request
(
uri
,
http_method
,
body
,
headers
,
required_scopes
)
...
...
This diff is collapsed.
Click to expand it.
frappe/async.py
View file @
f2bc961e
...
@@ -9,7 +9,6 @@ import frappe
...
@@ -9,7 +9,6 @@ import frappe
import
os
import
os
import
time
import
time
import
redis
import
redis
from
functools
import
wraps
from
frappe.utils
import
get_site_path
from
frappe.utils
import
get_site_path
from
frappe
import
conf
from
frappe
import
conf
...
@@ -93,7 +92,9 @@ def publish_realtime(event=None, message=None, room=None,
...
@@ -93,7 +92,9 @@ def publish_realtime(event=None, message=None, room=None,
room
=
get_site_room
()
room
=
get_site_room
()
if
after_commit
:
if
after_commit
:
frappe
.
local
.
realtime_log
.
append
([
event
,
message
,
room
])
params
=
[
event
,
message
,
room
]
if
not
params
in
frappe
.
local
.
realtime_log
:
frappe
.
local
.
realtime_log
.
append
(
params
)
else
:
else
:
emit_via_redis
(
event
,
message
,
room
)
emit_via_redis
(
event
,
message
,
room
)
...
...
This diff is collapsed.
Click to expand it.
frappe/change_log/v7/v7_2_0.md
0 → 100644
View file @
f2bc961e
-
Filters Dashboard
-
Dashboard with pre-defined filters in List/Report View
-
Tag Category
-
Show/Group tags based on category
-
Updated Font Awesome version to 4.x.x
-
Checkboxes in grid
-
Delete selected rows
-
Map selected rows from one document to another.
-
Show Totals button in report
-
OpenID Connect for Frappe
-
Threading based on message id in Email Queue
-
New control object daterangepicker for filtering
-
Orientation selection in PDF
-
Expand/Collapse All buttons in tree view reports
-
Add attachment from email and copy attachments to Communication Record
-
Bulk Upload from zip file
-
Tree view decoration
-
Custom menu for report view
This diff is collapsed.
Click to expand it.
frappe/client.py
View file @
f2bc961e
...
@@ -8,14 +8,33 @@ import frappe.model
...
@@ -8,14 +8,33 @@ import frappe.model
import
frappe.utils
import
frappe.utils
import
json
,
os
import
json
,
os
'''
Handle RESTful requests that are mapped to the `/api/resource` route.
Requests via FrappeClient are also handled here.
'''
@
frappe
.
whitelist
()
@
frappe
.
whitelist
()
def
get_list
(
doctype
,
fields
=
None
,
filters
=
None
,
order_by
=
None
,
def
get_list
(
doctype
,
fields
=
None
,
filters
=
None
,
order_by
=
None
,
limit_start
=
None
,
limit_page_length
=
20
):
limit_start
=
None
,
limit_page_length
=
20
):
'''Returns a list of records by filters, fields, ordering and limit
:param doctype: DocType of the data to be queried
:param fields: fields to be returned. Default is `name`
:param filters: filter list by this dict
:param order_by: Order by this fieldname
:param limit_start: Start at this index
:param limit_page_length: Number of records to be returned (default 20)'''
return
frappe
.
get_list
(
doctype
,
fields
=
fields
,
filters
=
filters
,
order_by
=
order_by
,
return
frappe
.
get_list
(
doctype
,
fields
=
fields
,
filters
=
filters
,
order_by
=
order_by
,
limit_start
=
limit_start
,
limit_page_length
=
limit_page_length
,
ignore_permissions
=
False
)
limit_start
=
limit_start
,
limit_page_length
=
limit_page_length
,
ignore_permissions
=
False
)
@
frappe
.
whitelist
()
@
frappe
.
whitelist
()
def
get
(
doctype
,
name
=
None
,
filters
=
None
):
def
get
(
doctype
,
name
=
None
,
filters
=
None
):
'''Returns a document by name or filters
:param doctype: DocType of the document to be returned
:param name: return document of this `name`
:param filters: If name is not set, filter by these values and return the first match'''
if
filters
and
not
name
:
if
filters
and
not
name
:
name
=
frappe
.
db
.
get_value
(
doctype
,
json
.
loads
(
filters
))
name
=
frappe
.
db
.
get_value
(
doctype
,
json
.
loads
(
filters
))
if
not
name
:
if
not
name
:
...
@@ -29,6 +48,12 @@ def get(doctype, name=None, filters=None):
...
@@ -29,6 +48,12 @@ def get(doctype, name=None, filters=None):
@
frappe
.
whitelist
()
@
frappe
.
whitelist
()
def
get_value
(
doctype
,
fieldname
,
filters
=
None
,
as_dict
=
True
,
debug
=
False
):
def
get_value
(
doctype
,
fieldname
,
filters
=
None
,
as_dict
=
True
,
debug
=
False
):
'''Returns a value form a document
:param doctype: DocType to be queried
:param fieldname: Field to be returned (default `name`)
:param filters: dict or string for identifying the record'''
if
not
frappe
.
has_permission
(
doctype
):
if
not
frappe
.
has_permission
(
doctype
):
frappe
.
throw
(
_
(
"Not permitted"
),
frappe
.
PermissionError
)
frappe
.
throw
(
_
(
"Not permitted"
),
frappe
.
PermissionError
)
...
@@ -83,6 +108,9 @@ def set_value(doctype, name, fieldname, value=None):
...
@@ -83,6 +108,9 @@ def set_value(doctype, name, fieldname, value=None):
@
frappe
.
whitelist
()
@
frappe
.
whitelist
()
def
insert
(
doc
=
None
):
def
insert
(
doc
=
None
):
'''Insert a document
:param doc: JSON or dict object to be inserted'''
if
isinstance
(
doc
,
basestring
):
if
isinstance
(
doc
,
basestring
):
doc
=
json
.
loads
(
doc
)
doc
=
json
.
loads
(
doc
)
...
@@ -98,6 +126,9 @@ def insert(doc=None):
...
@@ -98,6 +126,9 @@ def insert(doc=None):
@
frappe
.
whitelist
()
@
frappe
.
whitelist
()
def
insert_many
(
docs
=
None
):
def
insert_many
(
docs
=
None
):
'''Insert multiple documents
:param docs: JSON or list of dict objects to be inserted in one request'''
if
isinstance
(
docs
,
basestring
):
if
isinstance
(
docs
,
basestring
):
docs
=
json
.
loads
(
docs
)
docs
=
json
.
loads
(
docs
)
...
@@ -121,6 +152,9 @@ def insert_many(docs=None):
...
@@ -121,6 +152,9 @@ def insert_many(docs=None):
@
frappe
.
whitelist
()
@
frappe
.
whitelist
()
def
save
(
doc
):
def
save
(
doc
):
'''Update (save) an existing document
:param doc: JSON or dict object with the properties of the document to be updated'''
if
isinstance
(
doc
,
basestring
):
if
isinstance
(
doc
,
basestring
):
doc
=
json
.
loads
(
doc
)
doc
=
json
.
loads
(
doc
)
...
@@ -129,11 +163,19 @@ def save(doc):
...
@@ -129,11 +163,19 @@ def save(doc):
@
frappe
.
whitelist
()
@
frappe
.
whitelist
()
def
rename_doc
(
doctype
,
old_name
,
new_name
,
merge
=
False
):
def
rename_doc
(
doctype
,
old_name
,
new_name
,
merge
=
False
):
'''Rename document
:param doctype: DocType of the document to be renamed
:param old_name: Current `name` of the document to be renamed
:param new_name: New `name` to be set'''
new_name
=
frappe
.
rename_doc
(
doctype
,
old_name
,
new_name
,
merge
=
merge
)
new_name
=
frappe
.
rename_doc
(
doctype
,
old_name
,
new_name
,
merge
=
merge
)
return
new_name
return
new_name
@
frappe
.
whitelist
()
@
frappe
.
whitelist
()
def
submit
(
doc
):
def
submit
(
doc
):
'''Submit a document
:param doc: JSON or dict object to be submitted remotely'''
if
isinstance
(
doc
,
basestring
):
if
isinstance
(
doc
,
basestring
):
doc
=
json
.
loads
(
doc
)
doc
=
json
.
loads
(
doc
)
...
@@ -144,6 +186,10 @@ def submit(doc):
...
@@ -144,6 +186,10 @@ def submit(doc):
@
frappe
.
whitelist
()
@
frappe
.
whitelist
()
def
cancel
(
doctype
,
name
):
def
cancel
(
doctype
,
name
):
'''Cancel a document
:param doctype: DocType of the document to be cancelled
:param name: name of the document to be cancelled'''
wrapper
=
frappe
.
get_doc
(
doctype
,
name
)
wrapper
=
frappe
.
get_doc
(
doctype
,
name
)
wrapper
.
cancel
()
wrapper
.
cancel
()
...
@@ -151,6 +197,10 @@ def cancel(doctype, name):
...
@@ -151,6 +197,10 @@ def cancel(doctype, name):
@
frappe
.
whitelist
()
@
frappe
.
whitelist
()
def
delete
(
doctype
,
name
):
def
delete
(
doctype
,
name
):
'''Delete a remote document
:param doctype: DocType of the document to be deleted
:param name: name of the document to be deleted'''
frappe
.
delete_doc
(
doctype
,
name
)
frappe
.
delete_doc
(
doctype
,
name
)
@
frappe
.
whitelist
()
@
frappe
.
whitelist
()
...
@@ -161,6 +211,9 @@ def set_default(key, value, parent=None):
...
@@ -161,6 +211,9 @@ def set_default(key, value, parent=None):
@
frappe
.
whitelist
()
@
frappe
.
whitelist
()
def
make_width_property_setter
(
doc
):
def
make_width_property_setter
(
doc
):
'''Set width Property Setter
:param doc: Property Setter document with `width` property'''
if
isinstance
(
doc
,
basestring
):
if
isinstance
(
doc
,
basestring
):
doc
=
json
.
loads
(
doc
)
doc
=
json
.
loads
(
doc
)
if
doc
[
"doctype"
]
==
"Property Setter"
and
doc
[
"property"
]
==
"width"
:
if
doc
[
"doctype"
]
==
"Property Setter"
and
doc
[
"property"
]
==
"width"
:
...
@@ -168,6 +221,9 @@ def make_width_property_setter(doc):
...
@@ -168,6 +221,9 @@ def make_width_property_setter(doc):
@
frappe
.
whitelist
()
@
frappe
.
whitelist
()
def
bulk_update
(
docs
):
def
bulk_update
(
docs
):
'''Bulk update documents
:param docs: JSON list of documents to be updated remotely. Each document must have `docname` property'''
docs
=
json
.
loads
(
docs
)
docs
=
json
.
loads
(
docs
)
failed_docs
=
[]
failed_docs
=
[]
for
doc
in
docs
:
for
doc
in
docs
:
...
@@ -187,17 +243,32 @@ def bulk_update(docs):
...
@@ -187,17 +243,32 @@ def bulk_update(docs):
@
frappe
.
whitelist
()
@
frappe
.
whitelist
()
def
has_permission
(
doctype
,
docname
,
perm_type
=
"read"
):
def
has_permission
(
doctype
,
docname
,
perm_type
=
"read"
):
'''Returns a JSON with data whether the document has the requested permission
:param doctype: DocType of the document to be checked
:param docname: `name` of the document to be checked
:param perm_type: one of `read`, `write`, `create`, `submit`, `cancel`, `report`. Default is `read`'''
# perm_type can be one of read, write, create, submit, cancel, report
# perm_type can be one of read, write, create, submit, cancel, report
return
{
"has_permission"
:
frappe
.
has_permission
(
doctype
,
perm_type
.
lower
(),
docname
)}
return
{
"has_permission"
:
frappe
.
has_permission
(
doctype
,
perm_type
.
lower
(),
docname
)}
@
frappe
.
whitelist
()
@
frappe
.
whitelist
()
def
get_password
(
doctype
,
name
,
fieldname
):
def
get_password
(
doctype
,
name
,
fieldname
):
'''Return a password type property. Only applicable for System Managers
:param doctype: DocType of the document that holds the password
:param name: `name` of the document that holds the password
:param fieldname: `fieldname` of the password property
'''
frappe
.
only_for
(
"System Manager"
)
frappe
.
only_for
(
"System Manager"
)
return
frappe
.
get_doc
(
doctype
,
name
).
get_password
(
fieldname
)
return
frappe
.
get_doc
(
doctype
,
name
).
get_password
(
fieldname
)
@
frappe
.
whitelist
()
@
frappe
.
whitelist
()
def
get_js
(
items
):
def
get_js
(
items
):
'''Load JS code files. Will also append translations
and extend `frappe._messages`
:param items: JSON list of paths of the js files to be loaded.'''
items
=
json
.
loads
(
items
)
items
=
json
.
loads
(
items
)
out
=
[]
out
=
[]
for
src
in
items
:
for
src
in
items
:
...
...
This diff is collapsed.
Click to expand it.
frappe/commands/scheduler.py
View file @
f2bc961e
...
@@ -27,7 +27,7 @@ def trigger_scheduler_event(context, event):
...
@@ -27,7 +27,7 @@ def trigger_scheduler_event(context, event):
try
:
try
:
frappe
.
init
(
site
=
site
)
frappe
.
init
(
site
=
site
)
frappe
.
connect
()
frappe
.
connect
()
frappe
.
utils
.
scheduler
.
trigger
(
site
,
event
,
now
=
context
.
forc
e
)
frappe
.
utils
.
scheduler
.
trigger
(
site
,
event
,
now
=
Tru
e
)
finally
:
finally
:
frappe
.
destroy
()
frappe
.
destroy
()
...
...
This diff is collapsed.
Click to expand it.
frappe/config/docs.py
View file @
f2bc961e
# -*- coding: utf-8 -*-
from
__future__
import
unicode_literals
docs_version
=
"7.x.x"
source_link
=
"https://github.com/frappe/frappe"
source_link
=
"https://github.com/frappe/frappe"
docs_base_url
=
"https://frappe.github.io/frappe"
docs_base_url
=
"https://frappe.github.io/frappe"
...
@@ -22,10 +27,13 @@ ERP for managing small and medium sized businesses.
...
@@ -22,10 +27,13 @@ ERP for managing small and medium sized businesses.
[Get started with the Tutorial](https://frappe.github.io/frappe/user/)
[Get started with the Tutorial](https://frappe.github.io/frappe/user/)
"""
"""
docs_version
=
"7.x.x"
google_analytics_id
=
'UA-8911157-23'
def
get_context
(
context
):
def
get_context
(
context
):
context
.
brand_html
=
(
'<img class="brand-logo" src="'
+
context
.
docs_base_url
+
'/assets/img/frappe-bird-white.png"> Frappé Framework</img>'
)
context
.
top_bar_items
=
[
context
.
top_bar_items
=
[
{
"label"
:
"Developer Tutorials"
,
"url"
:
context
.
docs_base_url
+
"/user"
,
"right"
:
1
},
{
"label"
:
"Tutorials"
,
"url"
:
context
.
docs_base_url
+
"/user"
,
"right"
:
1
},
{
"label"
:
"API Documentation"
,
"url"
:
context
.
docs_base_url
+
"/current"
,
"right"
:
1
}
{
"label"
:
"API"
,
"url"
:
context
.
docs_base_url
+
"/current"
,
"right"
:
1
},
{
"label"
:
"Forum"
,
"url"
:
'https://discuss.erpnext.com'
,
"right"
:
1
}
]
]
This diff is collapsed.
Click to expand it.
frappe/config/setup.py
View file @
f2bc961e
...
@@ -6,7 +6,7 @@ def get_data():
...
@@ -6,7 +6,7 @@ def get_data():
data
=
[
data
=
[
{
{
"label"
:
_
(
"Users"
),
"label"
:
_
(
"Users"
),
"icon"
:
"
icon
-group"
,
"icon"
:
"
fa fa
-group"
,
"items"
:
[
"items"
:
[
{
{
"type"
:
"doctype"
,
"type"
:
"doctype"
,
...
@@ -22,41 +22,41 @@ def get_data():
...
@@ -22,41 +22,41 @@ def get_data():
},
},
{
{
"label"
:
_
(
"Permissions"
),
"label"
:
_
(
"Permissions"
),
"icon"
:
"
icon
-lock"
,
"icon"
:
"
fa fa
-lock"
,
"items"
:
[
"items"
:
[
{
{
"type"
:
"page"
,
"type"
:
"page"
,
"name"
:
"permission-manager"
,
"name"
:
"permission-manager"
,
"label"
:
_
(
"Role Permissions Manager"
),
"label"
:
_
(
"Role Permissions Manager"
),
"icon"
:
"
icon
-lock"
,
"icon"
:
"
fa fa
-lock"
,
"description"
:
_
(
"Set Permissions on Document Types and Roles"
)
"description"
:
_
(
"Set Permissions on Document Types and Roles"
)
},
},
{
{
"type"
:
"page"
,
"type"
:
"page"
,
"name"
:
"user-permissions"
,
"name"
:
"user-permissions"
,
"label"
:
_
(
"User Permissions Manager"
),
"label"
:
_
(
"User Permissions Manager"
),
"icon"
:
"
icon
-shield"
,
"icon"
:
"
fa fa
-shield"
,
"description"
:
_
(
"Set Permissions per User"
)
"description"
:
_
(
"Set Permissions per User"
)
},
},
{
{
"type"
:
"page"
,
"type"
:
"page"
,
"name"
:
"modules_setup"
,
"name"
:
"modules_setup"
,
"label"
:
_
(
"Show / Hide Modules"
),
"label"
:
_
(
"Show / Hide Modules"
),
"icon"
:
"
icon
-upload"
,
"icon"
:
"
fa fa
-upload"
,
"description"
:
_
(
"Show or hide modules globally."
)
"description"
:
_
(
"Show or hide modules globally."
)
},
},
{
{
"type"
:
"report"
,
"type"
:
"report"
,
"is_query_report"
:
True
,
"is_query_report"
:
True
,
"doctype"
:
"User"
,
"doctype"
:
"User"
,
"icon"
:
"
icon
-eye-open"
,
"icon"
:
"
fa fa
-eye-open"
,
"name"
:
"Permitted Documents For User"
,
"name"
:
"Permitted Documents For User"
,
"description"
:
_
(
"Check which Documents are readable by a User"
)
"description"
:
_
(
"Check which Documents are readable by a User"
)
},
},
{
{
"type"
:
"report"
,
"type"
:
"report"
,
"doctype"
:
"DocShare"
,
"doctype"
:
"DocShare"
,
"icon"
:
"
icon
-share"
,
"icon"
:
"
fa fa
-share"
,
"name"
:
"Document Share Report"
,
"name"
:
"Document Share Report"
,
"description"
:
_
(
"Report of all document shares"
)
"description"
:
_
(
"Report of all document shares"
)
}
}
...
@@ -64,7 +64,7 @@ def get_data():
...
@@ -64,7 +64,7 @@ def get_data():
},
},
{
{
"label"
:
_
(
"Settings"
),
"label"
:
_
(
"Settings"
),
"icon"
:
"
icon
-wrench"
,
"icon"
:
"
fa fa
-wrench"
,
"items"
:
[
"items"
:
[
{
{
"type"
:
"doctype"
,
"type"
:
"doctype"
,
...
@@ -87,13 +87,13 @@ def get_data():
...
@@ -87,13 +87,13 @@ def get_data():
},
},
{
{
"label"
:
_
(
"Data"
),
"label"
:
_
(
"Data"
),
"icon"
:
"
icon
-th"
,
"icon"
:
"
fa fa
-th"
,
"items"
:
[
"items"
:
[
{
{
"type"
:
"page"
,
"type"
:
"page"
,
"name"
:
"data-import-tool"
,
"name"
:
"data-import-tool"
,
"label"
:
_
(
"Import / Export Data"
),
"label"
:
_
(
"Import / Export Data"
),
"icon"
:
"
icon
-upload"
,
"icon"
:
"
fa fa
-upload"
,
"description"
:
_
(
"Import / Export Data from .csv files."
)
"description"
:
_
(
"Import / Export Data from .csv files."
)
},
},
{
{
...
@@ -121,13 +121,13 @@ def get_data():
...
@@ -121,13 +121,13 @@ def get_data():
"name"
:
"backups"
,
"name"
:
"backups"
,
"label"
:
_
(
"Download Backups"
),
"label"
:
_
(
"Download Backups"
),
"description"
:
_
(
"List of backups available for download"
),
"description"
:
_
(
"List of backups available for download"
),
"icon"
:
"
icon
-download"
"icon"
:
"
fa fa
-download"
},
},
]
]
},
},
{
{
"label"
:
_
(
"Email"
),
"label"
:
_
(
"Email"
),
"icon"
:
"
icon
-envelope"
,
"icon"
:
"
fa fa
-envelope"
,
"items"
:
[
"items"
:
[
{
{
"type"
:
"doctype"
,
"type"
:
"doctype"
,
...
@@ -153,7 +153,7 @@ def get_data():
...
@@ -153,7 +153,7 @@ def get_data():
},
},
{
{
"label"
:
_
(
"Printing"
),
"label"
:
_
(
"Printing"
),
"icon"
:
"
icon
-print"
,
"icon"
:
"
fa fa
-print"
,
"items"
:
[
"items"
:
[
{
{
"type"
:
"page"
,
"type"
:
"page"
,
...
@@ -175,7 +175,7 @@ def get_data():
...
@@ -175,7 +175,7 @@ def get_data():
},
},
{
{
"label"
:
_
(
"Workflow"
),
"label"
:
_
(
"Workflow"
),
"icon"
:
"
icon
-random"
,
"icon"
:
"
fa fa
-random"
,
"items"
:
[
"items"
:
[
{
{
"type"
:
"doctype"
,
"type"
:
"doctype"
,
...
@@ -196,14 +196,14 @@ def get_data():
...
@@ -196,14 +196,14 @@ def get_data():
},
},
{
{
"label"
:
_
(
"Integrations"
),
"label"
:
_
(
"Integrations"
),
"icon"
:
"
icon
-star"
,
"icon"
:
"
fa fa
-star"
,
"items"
:
[
"items"
:
[
{
{
"type"
:
"page"
,
"type"
:
"page"
,
"name"
:
"applications"
,
"name"
:
"applications"
,
"label"
:
_
(
"Application Installer"
),
"label"
:
_
(
"Application Installer"
),
"description"
:
_
(
"Install Applications."
),
"description"
:
_
(
"Install Applications."
),
"icon"
:
"
icon
-download"
"icon"
:
"
fa fa
-download"
},
},
{
{
"type"
:
"doctype"
,
"type"
:
"doctype"
,
...
@@ -229,7 +229,7 @@ def get_data():
...
@@ -229,7 +229,7 @@ def get_data():
},
},
{
{
"label"
:
_
(
"Customize"
),
"label"
:
_
(
"Customize"
),
"icon"
:
"
icon
-glass"
,
"icon"
:
"
fa fa
-glass"
,
"items"
:
[
"items"
:
[
{
{
"type"
:
"doctype"
,
"type"
:
"doctype"
,
...
@@ -257,10 +257,16 @@ def get_data():
...
@@ -257,10 +257,16 @@ def get_data():
"type"
:
"doctype"
,
"type"
:
"doctype"
,
"name"
:
"DocType"
,
"name"
:
"DocType"
,
"description"
:
_
(
"Add custom forms."
)
"description"
:
_
(
"Add custom forms."
)
},
{
"type"
:
"doctype"
,
"label"
:
_
(
"Custom Tags"
),
"name"
:
"Tag Category"
,
"description"
:
_
(
"Add your own Tag Categories"
)
}
}
]
]
},
},
]
]
add_setup_section
(
data
,
"frappe"
,
"website"
,
_
(
"Website"
),
"
icon
-globe"
)
add_setup_section
(
data
,
"frappe"
,
"website"
,
_
(
"Website"
),
"
fa fa
-globe"
)
return
data
return
data
This diff is collapsed.
Click to expand it.
frappe/config/website.py
View file @
f2bc961e
...
@@ -5,7 +5,7 @@ def get_data():
...
@@ -5,7 +5,7 @@ def get_data():
return
[
return
[
{
{
"label"
:
_
(
"Web Site"
),
"label"
:
_
(
"Web Site"
),
"icon"
:
"
icon
-star"
,
"icon"
:
"
fa fa
-star"
,
"items"
:
[
"items"
:
[
{
{
"type"
:
"doctype"
,
"type"
:
"doctype"
,
...
@@ -46,7 +46,7 @@ def get_data():
...
@@ -46,7 +46,7 @@ def get_data():
},
},
{
{
"label"
:
_
(
"Setup"
),
"label"
:
_
(
"Setup"
),
"icon"
:
"
icon
-cog"
,
"icon"
:
"
fa fa
-cog"
,
"items"
:
[
"items"
:
[
{
{
"type"
:
"doctype"
,
"type"
:
"doctype"
,
...
@@ -84,5 +84,19 @@ def get_data():
...
@@ -84,5 +84,19 @@ def get_data():
"label"
:
_
(
"Portal Settings"
),
"label"
:
_
(
"Portal Settings"
),
}
}
]
]
}
},
{
"label"
:
_
(
"Knowledge Base"
),
"items"
:
[
{
"type"
:
"doctype"
,
"name"
:
"Help Category"
,
},
{
"type"
:
"doctype"
,
"name"
:
"Help Article"
,
},
]
},
]
]
This diff is collapsed.
Click to expand it.
frappe/core/doctype/communication/communication.json
View file @
f2bc961e
{
{
"allow_copy"
:
0
,
"allow_copy"
:
0
,
"allow_import"
:
1
,
"allow_import"
:
1
,
"allow_rename"
:
0
,
"allow_rename"
:
0
,
"autoname"
:
""
,
"autoname"
:
""
,
"creation"
:
"2013-01-29 10:47:14"
,
"beta"
:
0
,
"custom"
:
0
,
"creation"
:
"2013-01-29 10:47:14"
,
"description"
:
"Keep a track of all communications"
,
"custom"
:
0
,
"docstatus"
:
0
,
"description"
:
"Keep a track of all communications"
,
"doctype"
:
"DocType"
,
"docstatus"
:
0
,
"document_type"
:
"Setup"
,
"doctype"
:
"DocType"
,
"document_type"
:
"Setup"
,
"editable_grid"
:
0
,
"engine"
:
"InnoDB"
,
"fields"
:
[
"fields"
:
[
{
{
"allow_on_submit"
:
0
,
"allow_on_submit"
:
0
,
"bold"
:
0
,
"bold"
:
0
,
"collapsible"
:
0
,
"collapsible"
:
0
,
"fieldname"
:
"subject"
,
"columns"
:
0
,
"fieldtype"
:
"Small Text"
,
"fieldname"
:
"subject"
,
"hidden"
:
0
,
"fieldtype"
:
"Small Text"
,
"ignore_user_permissions"
:
0
,
"hidden"
:
0
,
"ignore_xss_filter"
:
0
,
"ignore_user_permissions"
:
0
,
"in_filter"
:
0
,
"ignore_xss_filter"
:
0
,
"in_list_view"
:
0
,
"in_filter"
:
0
,
"label"
:
"Subject"
,
"in_list_view"
:
0
,
"length"
:
0
,
"in_standard_filter"
:
0
,
"no_copy"
:
0
,
"label"
:
"Subject"
,
"permlevel"
:
0
,
"length"
:
0
,
"print_hide"
:
0
,
"no_copy"
:
0
,
"print_hide_if_no_value"
:
0
,
"permlevel"
:
0
,
"read_only"
:
0
,
"print_hide"
:
0
,
"report_hide"
:
0
,
"print_hide_if_no_value"
:
0
,
"reqd"
:
1
,
"read_only"
:
0
,
"search_index"
:
0
,
"remember_last_selected_value"
:
0
,
"set_only_once"
:
0
,
"report_hide"
:
0
,
"unique"
:
0
"reqd"
:
1
,
},
"search_index"
:
0
,
{
"set_only_once"
:
0
,
"allow_on_submit"
:
0
,
"unique"
:
0
"bold"
:
0
,
},
"collapsible"
:
0
,
{
"collapsible_depends_on"
:
"eval:doc.communication_type==='Communication'"
,
"allow_on_submit"
:
0
,
"fieldname"
:
"section_break_10"
,
"bold"
:
0
,
"fieldtype"
:
"Section Break"
,
"collapsible"
:
0
,
"hidden"
:
0
,
"collapsible_depends_on"
:
"eval:doc.communication_type==='Communication'"
,
"ignore_user_permissions"
:
0
,
"columns"
:
0
,
"ignore_xss_filter"
:
0
,
"fieldname"
:
"section_break_10"
,
"in_filter"
:
0
,
"fieldtype"
:
"Section Break"
,
"in_list_view"
:
0
,
"hidden"
:
0
,
"length"
:
0
,
"ignore_user_permissions"
:
0
,
"no_copy"
:
0
,
"ignore_xss_filter"
:
0
,
"permlevel"
:
0
,
"in_filter"
:
0
,
"precision"
:
""
,
"in_list_view"
:
0
,
"print_hide"
:
0
,
"in_standard_filter"
:
0
,
"print_hide_if_no_value"
:
0
,
"length"
:
0
,
"read_only"
:
0
,
"no_copy"
:
0
,
"report_hide"
:
0
,
"permlevel"
:
0
,
"reqd"
:
0
,
"precision"
:
""
,
"search_index"
:
0
,
"print_hide"
:
0
,
"set_only_once"
:
0
,
"print_hide_if_no_value"
:
0
,
"unique"
:
0
"read_only"
:
0
,
},
"remember_last_selected_value"
:
0
,
{
"report_hide"
:
0
,
"allow_on_submit"
:
0
,
"reqd"
:
0
,
"bold"
:
0
,
"search_index"
:
0
,
"collapsible"
:
0
,
"set_only_once"
:
0
,
"default"
:
""
,
"unique"
:
0
"depends_on"
:
"eval:doc.communication_type===
\"
Communication
\"
"
,
},
"fieldname"
:
"communication_medium"
,
{
"fieldtype"
:
"Select"
,
"allow_on_submit"
:
0
,
"hidden"
:
0
,
"bold"
:
0
,
"ignore_user_permissions"
:
0
,
"collapsible"
:
0
,
"ignore_xss_filter"
:
0
,
"columns"
:
0
,
"in_filter"
:
0
,
"default"
:
""
,
"in_list_view"
:
0
,
"depends_on"
:
"eval:doc.communication_type===
\"
Communication
\"
"
,
"label"
:
"Type"
,
"fieldname"
:
"communication_medium"
,
"length"
:
0
,
"fieldtype"
:
"Select"
,
"no_copy"
:
0
,
"hidden"
:
0
,
"options"
:
"
\n
Email
\n
Chat
\n
Phone
\n
SMS
\n
Visit
\n
Other"
,
"ignore_user_permissions"
:
0
,
"permlevel"
:
0
,
"ignore_xss_filter"
:
0
,
"print_hide"
:
0
,
"in_filter"
:
0
,
"print_hide_if_no_value"
:
0
,
"in_list_view"
:
0
,
"read_only"
:
0
,
"in_standard_filter"
:
0
,
"report_hide"
:
0
,
"label"
:
"Type"
,
"reqd"
:
0
,
"length"
:
0
,
"search_index"
:
0
,
"no_copy"
:
0
,
"set_only_once"
:
0
,
"options"
:
"
\n
Email
\n
Chat
\n
Phone
\n
SMS
\n
Visit
\n
Other"
,
"unique"
:
0
"permlevel"
:
0
,
},
"print_hide"
:
0
,
{
"print_hide_if_no_value"
:
0
,
"allow_on_submit"
:
0
,
"read_only"
:
0
,
"bold"
:
0
,
"remember_last_selected_value"
:
0
,
"collapsible"
:
0
,
"report_hide"
:
0
,
"depends_on"
:
"eval:doc.communication_medium===
\"
Email
\"
"
,
"reqd"
:
0
,
"fieldname"
:
"sender"
,
"search_index"
:
0
,
"fieldtype"
:
"Data"
,
"set_only_once"
:
0
,
"hidden"
:
0
,
"unique"
:
0
"ignore_user_permissions"
:
0
,
},
"ignore_xss_filter"
:
0
,
{
"in_filter"
:
0
,
"allow_on_submit"
:
0
,
"in_list_view"
:
0
,
"bold"
:
0
,
"label"
:
"From"
,
"collapsible"
:
0
,
"length"
:
0
,
"columns"
:
0
,
"no_copy"
:
0
,
"depends_on"
:
"eval:doc.communication_medium===
\"
Email
\"
"
,
"options"
:
"Email"
,
"fieldname"
:
"sender"
,
"permlevel"
:
0
,
"fieldtype"
:
"Data"
,
"print_hide"
:
0
,
"hidden"
:
0
,
"print_hide_if_no_value"
:
0
,
"ignore_user_permissions"
:
0
,
"read_only"
:
0
,
"ignore_xss_filter"
:
0
,
"report_hide"
:
0
,
"in_filter"
:
0
,
"reqd"
:
0
,
"in_list_view"
:
0
,
"search_index"
:
0
,
"in_standard_filter"
:
0
,
"set_only_once"
:
0
,
"label"
:
"From"
,
"unique"
:
0
"length"
:
0
,
},
"no_copy"
:
0
,
{
"options"
:
"Email"
,
"allow_on_submit"
:
0
,
"permlevel"
:
0
,
"bold"
:
0
,
"print_hide"
:
0
,
"collapsible"
:
0
,
"print_hide_if_no_value"
:
0
,
"fieldname"
:
"column_break_4"
,
"read_only"
:
0
,
"fieldtype"
:
"Column Break"
,
"remember_last_selected_value"
:
0
,
"hidden"
:
0
,
"report_hide"
:
0
,
"ignore_user_permissions"
:
0
,
"reqd"
:
0
,
"ignore_xss_filter"
:
0
,
"search_index"
:
0
,
"in_filter"
:
0
,
"set_only_once"
:
0
,
"in_list_view"
:
0
,
"unique"
:
0
"length"
:
0
,
},
"no_copy"
:
0
,
{
"permlevel"
:
0
,
"allow_on_submit"
:
0
,
"precision"
:
""
,
"bold"
:
0
,
"print_hide"
:
0
,
"collapsible"
:
0
,
"print_hide_if_no_value"
:
0
,
"columns"
:
0
,
"read_only"
:
0
,
"fieldname"
:
"column_break_4"
,
"report_hide"
:
0
,
"fieldtype"
:
"Column Break"
,
"reqd"
:
0
,
"hidden"
:
0
,
"search_index"
:
0
,
"ignore_user_permissions"
:
0
,
"set_only_once"
:
0
,
"ignore_xss_filter"
:
0
,
"unique"
:
0
"in_filter"
:
0
,
},
"in_list_view"
:
0
,
{
"in_standard_filter"
:
0
,
"allow_on_submit"
:
0
,
"length"
:
0
,
"bold"
:
0
,
"no_copy"
:
0
,
"collapsible"
:
0
,
"permlevel"
:
0
,
"depends_on"
:
""
,
"precision"
:
""
,
"fieldname"
:
"recipients"
,
"print_hide"
:
0
,
"fieldtype"
:
"Code"
,
"print_hide_if_no_value"
:
0
,
"hidden"
:
0
,
"read_only"
:
0
,
"ignore_user_permissions"
:
0
,
"remember_last_selected_value"
:
0
,
"ignore_xss_filter"
:
0
,
"report_hide"
:
0
,
"in_filter"
:
0
,
"reqd"
:
0
,
"in_list_view"
:
0
,
"search_index"
:
0
,
"label"
:
"To"
,
"set_only_once"
:
0
,
"length"
:
0
,
"unique"
:
0
"no_copy"
:
0
,
},
"options"
:
"Email"
,
{
"permlevel"
:
0
,
"allow_on_submit"
:
0
,
"print_hide"
:
0
,
"bold"
:
0
,
"print_hide_if_no_value"
:
0
,
"collapsible"
:
0
,
"read_only"
:
0
,
"columns"
:
0
,
"report_hide"
:
0
,
"depends_on"
:
""
,
"reqd"
:
0
,
"fieldname"
:
"recipients"
,
"search_index"
:
0
,
"fieldtype"
:
"Code"
,
"set_only_once"
:
0
,
"hidden"
:
0
,
"unique"
:
0
"ignore_user_permissions"
:
0
,
},
"ignore_xss_filter"
:
0
,
{
"in_filter"
:
0
,
"allow_on_submit"
:
0
,
"in_list_view"
:
0
,
"bold"
:
0
,
"in_standard_filter"
:
0
,
"collapsible"
:
0
,
"label"
:
"To"
,
"depends_on"
:
"eval:doc.communication_medium===
\"
Email
\"
"
,
"length"
:
0
,
"fieldname"
:
"cc"
,
"no_copy"
:
0
,
"fieldtype"
:
"Code"
,
"options"
:
"Email"
,
"hidden"
:
0
,
"permlevel"
:
0
,
"ignore_user_permissions"
:
0
,
"print_hide"
:
0
,
"ignore_xss_filter"
:
0
,
"print_hide_if_no_value"
:
0
,
"in_filter"
:
0
,
"read_only"
:
0
,
"in_list_view"
:
0
,
"remember_last_selected_value"
:
0
,
"label"
:
"CC"
,
"report_hide"
:
0
,
"length"
:
0
,
"reqd"
:
0
,
"no_copy"
:
0
,
"search_index"
:
0
,
"options"
:
"Email"
,
"set_only_once"
:
0
,
"permlevel"
:
0
,
"unique"
:
0
"precision"
:
""
,
},
"print_hide"
:
0
,
{
"print_hide_if_no_value"
:
0
,
"allow_on_submit"
:
0
,
"read_only"
:
0
,
"bold"
:
0
,
"report_hide"
:
0
,
"collapsible"
:
0
,
"reqd"
:
0
,
"columns"
:
0
,
"search_index"
:
0
,
"depends_on"
:
"eval:doc.communication_medium===
\"
Email
\"
"
,
"set_only_once"
:
0
,
"fieldname"
:
"cc"
,
"unique"
:
0
"fieldtype"
:
"Code"
,
},
"hidden"
:
0
,
{
"ignore_user_permissions"
:
0
,
"allow_on_submit"
:
0
,
"ignore_xss_filter"
:
0
,
"bold"
:
0
,
"in_filter"
:
0
,
"collapsible"
:
0
,
"in_list_view"
:
0
,
"depends_on"
:
"eval:in_list([
\"
Phone
\"
,
\"
SMS
\"
], doc.communication_medium)"
,
"in_standard_filter"
:
0
,
"fieldname"
:
"phone_no"
,
"label"
:
"CC"
,
"fieldtype"
:
"Data"
,
"length"
:
0
,
"hidden"
:
0
,
"no_copy"
:
0
,
"ignore_user_permissions"
:
0
,
"options"
:
"Email"
,
"ignore_xss_filter"
:
0
,
"permlevel"
:
0
,
"in_filter"
:
0
,
"precision"
:
""
,
"in_list_view"
:
0
,
"print_hide"
:
0
,
"label"
:
"Phone No."
,
"print_hide_if_no_value"
:
0
,
"length"
:
0
,
"read_only"
:
0
,
"no_copy"
:
0
,
"remember_last_selected_value"
:
0
,
"permlevel"
:
0
,
"report_hide"
:
0
,
"print_hide"
:
0
,
"reqd"
:
0
,
"print_hide_if_no_value"
:
0
,
"search_index"
:
0
,
"read_only"
:
0
,
"set_only_once"
:
0
,
"report_hide"
:
0
,
"unique"
:
0
"reqd"
:
0
,
},
"search_index"
:
0
,
{
"set_only_once"
:
0
,
"allow_on_submit"
:
0
,
"unique"
:
0
"bold"
:
0
,
},
"collapsible"
:
0
,
{
"columns"
:
0
,
"allow_on_submit"
:
0
,
"depends_on"
:
"eval:in_list([
\"
Phone
\"
,
\"
SMS
\"
], doc.communication_medium)"
,
"bold"
:
0
,
"fieldname"
:
"phone_no"
,
"collapsible"
:
0
,
"fieldtype"
:
"Data"
,
"description"
:
"Integrations can use this field to set email delivery status"
,
"hidden"
:
0
,
"fieldname"
:
"delivery_status"
,
"ignore_user_permissions"
:
0
,
"fieldtype"
:
"Select"
,
"ignore_xss_filter"
:
0
,
"hidden"
:
1
,
"in_filter"
:
0
,
"ignore_user_permissions"
:
0
,
"in_list_view"
:
0
,
"ignore_xss_filter"
:
0
,
"in_standard_filter"
:
0
,
"in_filter"
:
0
,
"label"
:
"Phone No."
,
"in_list_view"
:
0
,
"length"
:
0
,
"label"
:
"Delivery Status"
,
"no_copy"
:
0
,
"length"
:
0
,
"permlevel"
:
0
,
"no_copy"
:
0
,
"print_hide"
:
0
,
"options"
:
"
\n
Sent
\n
Bounced
\n
Opened
\n
Marked As Spam
\n
Rejected
\n
Delayed
\n
Soft-Bounced
\n
Clicked
\n
Recipient Unsubscribed
\n
Error
\n
Expired
\n
Sending"
,
"print_hide_if_no_value"
:
0
,
"permlevel"
:
0
,
"read_only"
:
0
,
"precision"
:
""
,
"remember_last_selected_value"
:
0
,
"print_hide"
:
0
,
"report_hide"
:
0
,
"print_hide_if_no_value"
:
0
,
"reqd"
:
0
,
"read_only"
:
0
,
"search_index"
:
0
,
"report_hide"
:
0
,
"set_only_once"
:
0
,
"reqd"
:
0
,
"unique"
:
0
"search_index"
:
0
,
},
"set_only_once"
:
0
,
{
"unique"
:
0
"allow_on_submit"
:
0
,
},
"bold"
:
0
,
{
"collapsible"
:
0
,
"allow_on_submit"
:
0
,
"columns"
:
0
,
"bold"
:
0
,
"description"
:
"Integrations can use this field to set email delivery status"
,
"collapsible"
:
0
,
"fieldname"
:
"delivery_status"
,
"fieldname"
:
"section_break_8"
,
"fieldtype"
:
"Select"
,
"fieldtype"
:
"Section Break"
,
"hidden"
:
1
,
"hidden"
:
0
,
"ignore_user_permissions"
:
0
,
"ignore_user_permissions"
:
0
,
"ignore_xss_filter"
:
0
,
"ignore_xss_filter"
:
0
,
"in_filter"
:
0
,
"in_filter"
:
0
,
"in_list_view"
:
0
,
"in_list_view"
:
0
,
"in_standard_filter"
:
0
,
"length"
:
0
,
"label"
:
"Delivery Status"
,
"no_copy"
:
0
,
"length"
:
0
,
"permlevel"
:
0
,
"no_copy"
:
0
,
"precision"
:
""
,
"options"
:
"
\n
Sent
\n
Bounced
\n
Opened
\n
Marked As Spam
\n
Rejected
\n
Delayed
\n
Soft-Bounced
\n
Clicked
\n
Recipient Unsubscribed
\n
Error
\n
Expired
\n
Sending"
,
"print_hide"
:
0
,
"permlevel"
:
0
,
"print_hide_if_no_value"
:
0
,
"precision"
:
""
,
"read_only"
:
0
,
"print_hide"
:
0
,
"report_hide"
:
0
,
"print_hide_if_no_value"
:
0
,
"reqd"
:
0
,
"read_only"
:
0
,
"search_index"
:
0
,
"remember_last_selected_value"
:
0
,
"set_only_once"
:
0
,
"report_hide"
:
0
,
"unique"
:
0
"reqd"
:
0
,
},
"search_index"
:
0
,
{
"set_only_once"
:
0
,
"allow_on_submit"
:
0
,
"unique"
:
0
"bold"
:
0
,
},
"collapsible"
:
0
,
{
"fieldname"
:
"content"
,
"allow_on_submit"
:
0
,
"fieldtype"
:
"Text Editor"
,
"bold"
:
0
,
"hidden"
:
0
,
"collapsible"
:
0
,
"ignore_user_permissions"
:
0
,
"columns"
:
0
,
"ignore_xss_filter"
:
0
,
"fieldname"
:
"section_break_8"
,
"in_filter"
:
0
,
"fieldtype"
:
"Section Break"
,
"in_list_view"
:
0
,
"hidden"
:
0
,
"label"
:
"Message"
,
"ignore_user_permissions"
:
0
,
"length"
:
0
,
"ignore_xss_filter"
:
0
,
"no_copy"
:
0
,
"in_filter"
:
0
,
"permlevel"
:
0
,
"in_list_view"
:
0
,
"print_hide"
:
0
,
"in_standard_filter"
:
0
,
"print_hide_if_no_value"
:
0
,
"length"
:
0
,
"read_only"
:
0
,
"no_copy"
:
0
,
"report_hide"
:
0
,
"permlevel"
:
0
,
"reqd"
:
0
,
"precision"
:
""
,
"search_index"
:
0
,
"print_hide"
:
0
,
"set_only_once"
:
0
,
"print_hide_if_no_value"
:
0
,
"unique"
:
0
,
"read_only"
:
0
,
"remember_last_selected_value"
:
0
,
"report_hide"
:
0
,
"reqd"
:
0
,
"search_index"
:
0
,
"set_only_once"
:
0
,
"unique"
:
0
},
{
"allow_on_submit"
:
0
,
"bold"
:
0
,
"collapsible"
:
0
,
"columns"
:
0
,
"fieldname"
:
"content"
,
"fieldtype"
:
"Text Editor"
,
"hidden"
:
0
,
"ignore_user_permissions"
:
0
,
"ignore_xss_filter"
:
0
,
"in_filter"
:
0
,
"in_list_view"
:
0
,
"in_standard_filter"
:
0
,
"label"
:
"Message"
,
"length"
:
0
,
"no_copy"
:
0
,
"permlevel"
:
0
,
"print_hide"
:
0
,
"print_hide_if_no_value"
:
0
,
"read_only"
:
0
,
"remember_last_selected_value"
:
0
,
"report_hide"
:
0
,
"reqd"
:
0
,
"search_index"
:
0
,
"set_only_once"
:
0
,
"unique"
:
0
,
"width"
:
"400"
"width"
:
"400"
},
},
{
{
"allow_on_submit"
:
0
,
"allow_on_submit"
:
0
,
"bold"
:
0
,
"bold"
:
0
,
"collapsible"
:
1
,
"collapsible"
:
1
,
"fieldname"
:
"status_section"
,
"columns"
:
0
,
"fieldtype"
:
"Section Break"
,
"fieldname"
:
"status_section"
,
"hidden"
:
0
,
"fieldtype"
:
"Section Break"
,
"ignore_user_permissions"
:
0
,
"hidden"
:
0
,
"ignore_xss_filter"
:
0
,
"ignore_user_permissions"
:
0
,
"in_filter"
:
0
,
"ignore_xss_filter"
:
0
,
"in_list_view"
:
0
,
"in_filter"
:
0
,
"label"
:
"Status"
,
"in_list_view"
:
0
,
"length"
:
0
,
"in_standard_filter"
:
0
,
"no_copy"
:
0
,
"label"
:
"Status"
,
"permlevel"
:
0
,
"length"
:
0
,
"precision"
:
""
,
"no_copy"
:
0
,
"print_hide"
:
0
,
"permlevel"
:
0
,
"print_hide_if_no_value"
:
0
,
"precision"
:
""
,
"read_only"
:
0
,
"print_hide"
:
0
,
"report_hide"
:
0
,
"print_hide_if_no_value"
:
0
,
"reqd"
:
0
,
"read_only"
:
0
,
"search_index"
:
0
,
"remember_last_selected_value"
:
0
,
"set_only_once"
:
0
,
"report_hide"
:
0
,
"unique"
:
0
"reqd"
:
0
,
},
"search_index"
:
0
,
{
"set_only_once"
:
0
,
"allow_on_submit"
:
0
,
"unique"
:
0
"bold"
:
0
,
},
"collapsible"
:
0
,
{
"default"
:
"Communication"
,
"allow_on_submit"
:
0
,
"fieldname"
:
"communication_type"
,
"bold"
:
0
,
"fieldtype"
:
"Select"
,
"collapsible"
:
0
,
"hidden"
:
0
,
"columns"
:
0
,
"ignore_user_permissions"
:
0
,
"fieldname"
:
"text_content"
,
"ignore_xss_filter"
:
0
,
"fieldtype"
:
"Code"
,
"in_filter"
:
0
,
"hidden"
:
1
,
"in_list_view"
:
0
,
"ignore_user_permissions"
:
0
,
"label"
:
"Communication Type"
,
"ignore_xss_filter"
:
0
,
"length"
:
0
,
"in_filter"
:
0
,
"no_copy"
:
0
,
"in_list_view"
:
0
,
"options"
:
"Communication
\n
Comment
\n
Chat
\n
Bot
\n
Notification"
,
"in_standard_filter"
:
0
,
"permlevel"
:
0
,
"label"
:
"Text Content"
,
"precision"
:
""
,
"length"
:
0
,
"print_hide"
:
0
,
"no_copy"
:
0
,
"print_hide_if_no_value"
:
0
,
"permlevel"
:
0
,
"read_only"
:
1
,
"precision"
:
""
,
"report_hide"
:
0
,
"print_hide"
:
0
,
"reqd"
:
1
,
"print_hide_if_no_value"
:
0
,
"search_index"
:
0
,
"read_only"
:
0
,
"set_only_once"
:
0
,
"remember_last_selected_value"
:
0
,
"unique"
:
0
"report_hide"
:
0
,
},
"reqd"
:
0
,
{
"search_index"
:
0
,
"allow_on_submit"
:
0
,
"set_only_once"
:
0
,
"bold"
:
0
,
"unique"
:
0
"collapsible"
:
0
,
},
"fieldname"
:
"comment_type"
,
{
"fieldtype"
:
"Select"
,
"allow_on_submit"
:
0
,
"hidden"
:
1
,
"bold"
:
0
,
"ignore_user_permissions"
:
0
,
"collapsible"
:
0
,
"ignore_xss_filter"
:
0
,
"columns"
:
0
,
"in_filter"
:
0
,
"default"
:
"Communication"
,
"in_list_view"
:
0
,
"fieldname"
:
"communication_type"
,
"label"
:
"Comment Type"
,
"fieldtype"
:
"Select"
,
"length"
:
0
,
"hidden"
:
0
,
"no_copy"
:
0
,
"ignore_user_permissions"
:
0
,
"options"
:
"
\n
Comment
\n
Like
\n
Info
\n
Label
\n
Workflow
\n
Created
\n
Updated
\n
Submitted
\n
Cancelled
\n
Deleted
\n
Assigned
\n
Assignment Completed
\n
Attachment
\n
Attachment Removed
\n
Shared
\n
Unshared
\n
Bot"
,
"ignore_xss_filter"
:
0
,
"permlevel"
:
0
,
"in_filter"
:
0
,
"precision"
:
""
,
"in_list_view"
:
0
,
"print_hide"
:
0
,
"in_standard_filter"
:
0
,
"print_hide_if_no_value"
:
0
,
"label"
:
"Communication Type"
,
"read_only"
:
1
,
"length"
:
0
,
"report_hide"
:
0
,
"no_copy"
:
0
,
"reqd"
:
0
,
"options"
:
"Communication
\n
Comment
\n
Chat
\n
Bot
\n
Notification"
,
"search_index"
:
0
,
"permlevel"
:
0
,
"set_only_once"
:
0
,
"precision"
:
""
,
"unique"
:
0
"print_hide"
:
0
,
},
"print_hide_if_no_value"
:
0
,
{
"read_only"
:
1
,
"allow_on_submit"
:
0
,
"remember_last_selected_value"
:
0
,
"bold"
:
0
,
"report_hide"
:
0
,
"collapsible"
:
0
,
"reqd"
:
1
,
"fieldname"
:
"column_break_5"
,
"search_index"
:
0
,
"fieldtype"
:
"Column Break"
,
"set_only_once"
:
0
,
"hidden"
:
0
,
"unique"
:
0
"ignore_user_permissions"
:
0
,
},
"ignore_xss_filter"
:
0
,
{
"in_filter"
:
0
,
"allow_on_submit"
:
0
,
"in_list_view"
:
0
,
"bold"
:
0
,
"length"
:
0
,
"collapsible"
:
0
,
"no_copy"
:
0
,
"columns"
:
0
,
"permlevel"
:
0
,
"fieldname"
:
"comment_type"
,
"precision"
:
""
,
"fieldtype"
:
"Select"
,
"print_hide"
:
0
,
"hidden"
:
1
,
"print_hide_if_no_value"
:
0
,
"ignore_user_permissions"
:
0
,
"read_only"
:
0
,
"ignore_xss_filter"
:
0
,
"report_hide"
:
0
,
"in_filter"
:
0
,
"reqd"
:
0
,
"in_list_view"
:
0
,
"search_index"
:
0
,
"in_standard_filter"
:
0
,
"set_only_once"
:
0
,
"label"
:
"Comment Type"
,
"unique"
:
0
"length"
:
0
,
},
"no_copy"
:
0
,
{
"options"
:
"
\n
Comment
\n
Like
\n
Info
\n
Label
\n
Workflow
\n
Created
\n
Updated
\n
Submitted
\n
Cancelled
\n
Deleted
\n
Assigned
\n
Assignment Completed
\n
Attachment
\n
Attachment Removed
\n
Shared
\n
Unshared
\n
Bot"
,
"allow_on_submit"
:
0
,
"permlevel"
:
0
,
"bold"
:
0
,
"precision"
:
""
,
"collapsible"
:
0
,
"print_hide"
:
0
,
"depends_on"
:
"eval:doc.communication_type===
\"
Communication
\"
"
,
"print_hide_if_no_value"
:
0
,
"fieldname"
:
"status"
,
"read_only"
:
1
,
"fieldtype"
:
"Select"
,
"remember_last_selected_value"
:
0
,
"hidden"
:
0
,
"report_hide"
:
0
,
"ignore_user_permissions"
:
0
,
"reqd"
:
0
,
"ignore_xss_filter"
:
0
,
"search_index"
:
0
,
"in_filter"
:
0
,
"set_only_once"
:
0
,
"in_list_view"
:
1
,
"unique"
:
0
"label"
:
"Status"
,
},
"length"
:
0
,
{
"no_copy"
:
0
,
"allow_on_submit"
:
0
,
"options"
:
"Open
\n
Replied
\n
Closed
\n
Linked"
,
"bold"
:
0
,
"permlevel"
:
0
,
"collapsible"
:
0
,
"precision"
:
""
,
"columns"
:
0
,
"print_hide"
:
0
,
"fieldname"
:
"column_break_5"
,
"print_hide_if_no_value"
:
0
,
"fieldtype"
:
"Column Break"
,
"read_only"
:
0
,
"hidden"
:
0
,
"report_hide"
:
0
,
"ignore_user_permissions"
:
0
,
"reqd"
:
1
,
"ignore_xss_filter"
:
0
,
"search_index"
:
0
,
"in_filter"
:
0
,
"set_only_once"
:
0
,
"in_list_view"
:
0
,
"unique"
:
0
"in_standard_filter"
:
0
,
},
"length"
:
0
,
{
"no_copy"
:
0
,
"allow_on_submit"
:
0
,
"permlevel"
:
0
,
"bold"
:
0
,
"precision"
:
""
,
"collapsible"
:
0
,
"print_hide"
:
0
,
"depends_on"
:
"eval:doc.communication_type===
\"
Communication
\"
"
,
"print_hide_if_no_value"
:
0
,
"fieldname"
:
"sent_or_received"
,
"read_only"
:
0
,
"fieldtype"
:
"Select"
,
"remember_last_selected_value"
:
0
,
"hidden"
:
0
,
"report_hide"
:
0
,
"ignore_user_permissions"
:
0
,
"reqd"
:
0
,
"ignore_xss_filter"
:
0
,
"search_index"
:
0
,
"in_filter"
:
0
,
"set_only_once"
:
0
,
"in_list_view"
:
1
,
"unique"
:
0
"label"
:
"Sent or Received"
,
},
"length"
:
0
,
{
"no_copy"
:
0
,
"allow_on_submit"
:
0
,
"options"
:
"Sent
\n
Received"
,
"bold"
:
0
,
"permlevel"
:
0
,
"collapsible"
:
0
,
"print_hide"
:
0
,
"columns"
:
0
,
"print_hide_if_no_value"
:
0
,
"depends_on"
:
"eval:doc.communication_type===
\"
Communication
\"
"
,
"read_only"
:
0
,
"fieldname"
:
"status"
,
"report_hide"
:
0
,
"fieldtype"
:
"Select"
,
"reqd"
:
1
,
"hidden"
:
0
,
"search_index"
:
0
,
"ignore_user_permissions"
:
0
,
"set_only_once"
:
0
,
"ignore_xss_filter"
:
0
,
"unique"
:
0
"in_filter"
:
0
,
},
"in_list_view"
:
1
,
{
"in_standard_filter"
:
1
,
"allow_on_submit"
:
0
,
"label"
:
"Status"
,
"bold"
:
0
,
"length"
:
0
,
"collapsible"
:
1
,
"no_copy"
:
0
,
"fieldname"
:
"additional_info"
,
"options"
:
"Open
\n
Replied
\n
Closed
\n
Linked"
,
"fieldtype"
:
"Section Break"
,
"permlevel"
:
0
,
"hidden"
:
0
,
"precision"
:
""
,
"ignore_user_permissions"
:
0
,
"print_hide"
:
0
,
"ignore_xss_filter"
:
0
,
"print_hide_if_no_value"
:
0
,
"in_filter"
:
0
,
"read_only"
:
0
,
"in_list_view"
:
0
,
"remember_last_selected_value"
:
0
,
"label"
:
"More Information"
,
"report_hide"
:
0
,
"length"
:
0
,
"reqd"
:
1
,
"no_copy"
:
0
,
"search_index"
:
0
,
"permlevel"
:
0
,
"set_only_once"
:
0
,
"print_hide"
:
0
,
"unique"
:
0
"print_hide_if_no_value"
:
0
,
},
"read_only"
:
0
,
{
"report_hide"
:
0
,
"allow_on_submit"
:
0
,
"reqd"
:
0
,
"bold"
:
0
,
"search_index"
:
0
,
"collapsible"
:
0
,
"set_only_once"
:
0
,
"columns"
:
0
,
"unique"
:
0
"depends_on"
:
"eval:doc.communication_type===
\"
Communication
\"
"
,
},
"fieldname"
:
"sent_or_received"
,
{
"fieldtype"
:
"Select"
,
"allow_on_submit"
:
0
,
"hidden"
:
0
,
"bold"
:
0
,
"ignore_user_permissions"
:
0
,
"collapsible"
:
0
,
"ignore_xss_filter"
:
0
,
"default"
:
"Today"
,
"in_filter"
:
0
,
"fieldname"
:
"communication_date"
,
"in_list_view"
:
1
,
"fieldtype"
:
"Datetime"
,
"in_standard_filter"
:
1
,
"hidden"
:
0
,
"label"
:
"Sent or Received"
,
"ignore_user_permissions"
:
0
,
"length"
:
0
,
"ignore_xss_filter"
:
0
,
"no_copy"
:
0
,
"in_filter"
:
0
,
"options"
:
"Sent
\n
Received"
,
"in_list_view"
:
0
,
"permlevel"
:
0
,
"label"
:
"Date"
,
"print_hide"
:
0
,
"length"
:
0
,
"print_hide_if_no_value"
:
0
,
"no_copy"
:
0
,
"read_only"
:
0
,
"permlevel"
:
0
,
"remember_last_selected_value"
:
0
,
"print_hide"
:
0
,
"report_hide"
:
0
,
"print_hide_if_no_value"
:
0
,
"reqd"
:
1
,
"read_only"
:
0
,
"search_index"
:
0
,
"report_hide"
:
0
,
"set_only_once"
:
0
,
"reqd"
:
0
,
"unique"
:
0
"search_index"
:
0
,
},
"set_only_once"
:
0
,
{
"unique"
:
0
"allow_on_submit"
:
0
,
},
"bold"
:
0
,
{
"collapsible"
:
1
,
"allow_on_submit"
:
0
,
"columns"
:
0
,
"bold"
:
0
,
"fieldname"
:
"additional_info"
,
"collapsible"
:
0
,
"fieldtype"
:
"Section Break"
,
"fieldname"
:
"column_break_14"
,
"hidden"
:
0
,
"fieldtype"
:
"Column Break"
,
"ignore_user_permissions"
:
0
,
"hidden"
:
0
,
"ignore_xss_filter"
:
0
,
"ignore_user_permissions"
:
0
,
"in_filter"
:
0
,
"ignore_xss_filter"
:
0
,
"in_list_view"
:
0
,
"in_filter"
:
0
,
"in_standard_filter"
:
0
,
"in_list_view"
:
0
,
"label"
:
"More Information"
,
"length"
:
0
,
"length"
:
0
,
"no_copy"
:
0
,
"no_copy"
:
0
,
"permlevel"
:
0
,
"permlevel"
:
0
,
"precision"
:
""
,
"print_hide"
:
0
,
"print_hide"
:
0
,
"print_hide_if_no_value"
:
0
,
"print_hide_if_no_value"
:
0
,
"read_only"
:
0
,
"read_only"
:
0
,
"remember_last_selected_value"
:
0
,
"report_hide"
:
0
,
"report_hide"
:
0
,
"reqd"
:
0
,
"reqd"
:
0
,
"search_index"
:
0
,
"search_index"
:
0
,
"set_only_once"
:
0
,
"set_only_once"
:
0
,
"unique"
:
0
"unique"
:
0
},
},
{
{
"allow_on_submit"
:
0
,
"allow_on_submit"
:
0
,
"bold"
:
0
,
"bold"
:
0
,
"collapsible"
:
0
,
"collapsible"
:
0
,
"fieldname"
:
"sender_full_name"
,
"columns"
:
0
,
"fieldtype"
:
"Data"
,
"default"
:
"Today"
,
"hidden"
:
0
,
"fieldname"
:
"communication_date"
,
"ignore_user_permissions"
:
0
,
"fieldtype"
:
"Datetime"
,
"ignore_xss_filter"
:
0
,
"hidden"
:
0
,
"in_filter"
:
0
,
"ignore_user_permissions"
:
0
,
"in_list_view"
:
0
,
"ignore_xss_filter"
:
0
,
"label"
:
"From Full Name"
,
"in_filter"
:
0
,
"length"
:
0
,
"in_list_view"
:
0
,
"no_copy"
:
0
,
"in_standard_filter"
:
0
,
"permlevel"
:
0
,
"label"
:
"Date"
,
"precision"
:
""
,
"length"
:
0
,
"print_hide"
:
0
,
"no_copy"
:
0
,
"print_hide_if_no_value"
:
0
,
"permlevel"
:
0
,
"read_only"
:
1
,
"print_hide"
:
0
,
"report_hide"
:
0
,
"print_hide_if_no_value"
:
0
,
"reqd"
:
0
,
"read_only"
:
0
,
"search_index"
:
0
,
"remember_last_selected_value"
:
0
,
"set_only_once"
:
0
,
"report_hide"
:
0
,
"unique"
:
0
"reqd"
:
0
,
},
"search_index"
:
0
,
{
"set_only_once"
:
0
,
"allow_on_submit"
:
0
,
"unique"
:
0
"bold"
:
0
,
},
"collapsible"
:
1
,
{
"fieldname"
:
"reference_section"
,
"allow_on_submit"
:
0
,
"fieldtype"
:
"Section Break"
,
"bold"
:
0
,
"hidden"
:
0
,
"collapsible"
:
0
,
"ignore_user_permissions"
:
0
,
"columns"
:
0
,
"ignore_xss_filter"
:
0
,
"fieldname"
:
"column_break_14"
,
"in_filter"
:
0
,
"fieldtype"
:
"Column Break"
,
"in_list_view"
:
0
,
"hidden"
:
0
,
"label"
:
"Reference"
,
"ignore_user_permissions"
:
0
,
"length"
:
0
,
"ignore_xss_filter"
:
0
,
"no_copy"
:
0
,
"in_filter"
:
0
,
"permlevel"
:
0
,
"in_list_view"
:
0
,
"precision"
:
""
,
"in_standard_filter"
:
0
,
"print_hide"
:
0
,
"length"
:
0
,
"print_hide_if_no_value"
:
0
,
"no_copy"
:
0
,
"read_only"
:
0
,
"permlevel"
:
0
,
"report_hide"
:
0
,
"precision"
:
""
,
"reqd"
:
0
,
"print_hide"
:
0
,
"search_index"
:
0
,
"print_hide_if_no_value"
:
0
,
"set_only_once"
:
0
,
"read_only"
:
0
,
"unique"
:
0
"remember_last_selected_value"
:
0
,
},
"report_hide"
:
0
,
{
"reqd"
:
0
,
"allow_on_submit"
:
0
,
"search_index"
:
0
,
"bold"
:
0
,
"set_only_once"
:
0
,
"collapsible"
:
0
,
"unique"
:
0
"fieldname"
:
"reference_doctype"
,
},
"fieldtype"
:
"Link"
,
{
"hidden"
:
0
,
"allow_on_submit"
:
0
,
"ignore_user_permissions"
:
0
,
"bold"
:
0
,
"ignore_xss_filter"
:
0
,
"collapsible"
:
0
,
"in_filter"
:
0
,
"columns"
:
0
,
"in_list_view"
:
0
,
"fieldname"
:
"sender_full_name"
,
"label"
:
"Reference DocType"
,
"fieldtype"
:
"Data"
,
"length"
:
0
,
"hidden"
:
0
,
"no_copy"
:
0
,
"ignore_user_permissions"
:
0
,
"options"
:
"DocType"
,
"ignore_xss_filter"
:
0
,
"permlevel"
:
0
,
"in_filter"
:
0
,
"precision"
:
""
,
"in_list_view"
:
0
,
"print_hide"
:
0
,
"in_standard_filter"
:
0
,
"print_hide_if_no_value"
:
0
,
"label"
:
"From Full Name"
,
"read_only"
:
0
,
"length"
:
0
,
"report_hide"
:
0
,
"no_copy"
:
0
,
"reqd"
:
0
,
"permlevel"
:
0
,
"search_index"
:
0
,
"precision"
:
""
,
"set_only_once"
:
0
,
"print_hide"
:
0
,
"unique"
:
0
"print_hide_if_no_value"
:
0
,
},
"read_only"
:
1
,
{
"remember_last_selected_value"
:
0
,
"allow_on_submit"
:
0
,
"report_hide"
:
0
,
"bold"
:
0
,
"reqd"
:
0
,
"collapsible"
:
0
,
"search_index"
:
0
,
"fieldname"
:
"reference_name"
,
"set_only_once"
:
0
,
"fieldtype"
:
"Dynamic Link"
,
"unique"
:
0
"hidden"
:
0
,
},
"ignore_user_permissions"
:
0
,
{
"ignore_xss_filter"
:
0
,
"allow_on_submit"
:
0
,
"in_filter"
:
0
,
"bold"
:
0
,
"in_list_view"
:
0
,
"collapsible"
:
1
,
"label"
:
"Reference Name"
,
"columns"
:
0
,
"length"
:
0
,
"fieldname"
:
"reference_section"
,
"no_copy"
:
0
,
"fieldtype"
:
"Section Break"
,
"options"
:
"reference_doctype"
,
"hidden"
:
0
,
"permlevel"
:
0
,
"ignore_user_permissions"
:
0
,
"precision"
:
""
,
"ignore_xss_filter"
:
0
,
"print_hide"
:
0
,
"in_filter"
:
0
,
"print_hide_if_no_value"
:
0
,
"in_list_view"
:
0
,
"read_only"
:
0
,
"in_standard_filter"
:
0
,
"report_hide"
:
0
,
"label"
:
"Reference"
,
"reqd"
:
0
,
"length"
:
0
,
"search_index"
:
0
,
"no_copy"
:
0
,
"set_only_once"
:
0
,
"permlevel"
:
0
,
"unique"
:
0
"precision"
:
""
,
},
"print_hide"
:
0
,
{
"print_hide_if_no_value"
:
0
,
"allow_on_submit"
:
0
,
"read_only"
:
0
,
"bold"
:
0
,
"remember_last_selected_value"
:
0
,
"collapsible"
:
0
,
"report_hide"
:
0
,
"fieldname"
:
"reference_owner"
,
"reqd"
:
0
,
"fieldtype"
:
"Read Only"
,
"search_index"
:
0
,
"hidden"
:
0
,
"set_only_once"
:
0
,
"ignore_user_permissions"
:
0
,
"unique"
:
0
"ignore_xss_filter"
:
0
,
},
"in_filter"
:
0
,
{
"in_list_view"
:
0
,
"allow_on_submit"
:
0
,
"label"
:
"Reference Owner"
,
"bold"
:
0
,
"length"
:
0
,
"collapsible"
:
0
,
"no_copy"
:
0
,
"columns"
:
0
,
"options"
:
"reference_name.owner"
,
"fieldname"
:
"reference_doctype"
,
"permlevel"
:
0
,
"fieldtype"
:
"Link"
,
"precision"
:
""
,
"hidden"
:
0
,
"print_hide"
:
0
,
"ignore_user_permissions"
:
0
,
"print_hide_if_no_value"
:
0
,
"ignore_xss_filter"
:
0
,
"read_only"
:
0
,
"in_filter"
:
0
,
"report_hide"
:
0
,
"in_list_view"
:
0
,
"reqd"
:
0
,
"in_standard_filter"
:
0
,
"search_index"
:
1
,
"label"
:
"Reference DocType"
,
"set_only_once"
:
0
,
"length"
:
0
,
"unique"
:
0
"no_copy"
:
0
,
},
"options"
:
"DocType"
,
{
"permlevel"
:
0
,
"allow_on_submit"
:
0
,
"precision"
:
""
,
"bold"
:
0
,
"print_hide"
:
0
,
"collapsible"
:
0
,
"print_hide_if_no_value"
:
0
,
"depends_on"
:
"eval:doc.communication_medium===
\"
Email
\"
"
,
"read_only"
:
0
,
"fieldname"
:
"email_account"
,
"remember_last_selected_value"
:
0
,
"fieldtype"
:
"Link"
,
"report_hide"
:
0
,
"hidden"
:
0
,
"reqd"
:
0
,
"ignore_user_permissions"
:
0
,
"search_index"
:
0
,
"ignore_xss_filter"
:
0
,
"set_only_once"
:
0
,
"in_filter"
:
0
,
"unique"
:
0
"in_list_view"
:
0
,
},
"label"
:
"Email Account"
,
{
"length"
:
0
,
"allow_on_submit"
:
0
,
"no_copy"
:
0
,
"bold"
:
0
,
"options"
:
"Email Account"
,
"collapsible"
:
0
,
"permlevel"
:
0
,
"columns"
:
0
,
"precision"
:
""
,
"fieldname"
:
"reference_name"
,
"print_hide"
:
0
,
"fieldtype"
:
"Dynamic Link"
,
"print_hide_if_no_value"
:
0
,
"hidden"
:
0
,
"read_only"
:
1
,
"ignore_user_permissions"
:
0
,
"report_hide"
:
0
,
"ignore_xss_filter"
:
0
,
"reqd"
:
0
,
"in_filter"
:
0
,
"search_index"
:
0
,
"in_list_view"
:
0
,
"set_only_once"
:
0
,
"in_standard_filter"
:
0
,
"unique"
:
0
"label"
:
"Reference Name"
,
},
"length"
:
0
,
{
"no_copy"
:
0
,
"allow_on_submit"
:
0
,
"options"
:
"reference_doctype"
,
"bold"
:
0
,
"permlevel"
:
0
,
"collapsible"
:
0
,
"precision"
:
""
,
"fieldname"
:
"in_reply_to"
,
"print_hide"
:
0
,
"fieldtype"
:
"Link"
,
"print_hide_if_no_value"
:
0
,
"hidden"
:
0
,
"read_only"
:
0
,
"ignore_user_permissions"
:
0
,
"remember_last_selected_value"
:
0
,
"ignore_xss_filter"
:
0
,
"report_hide"
:
0
,
"in_filter"
:
0
,
"reqd"
:
0
,
"in_list_view"
:
0
,
"search_index"
:
0
,
"label"
:
"In Reply To"
,
"set_only_once"
:
0
,
"length"
:
0
,
"unique"
:
0
"no_copy"
:
0
,
},
"options"
:
"Communication"
,
{
"permlevel"
:
0
,
"allow_on_submit"
:
0
,
"precision"
:
""
,
"bold"
:
0
,
"print_hide"
:
0
,
"collapsible"
:
0
,
"print_hide_if_no_value"
:
0
,
"columns"
:
0
,
"read_only"
:
1
,
"fieldname"
:
"reference_owner"
,
"report_hide"
:
0
,
"fieldtype"
:
"Read Only"
,
"reqd"
:
0
,
"hidden"
:
0
,
"search_index"
:
0
,
"ignore_user_permissions"
:
0
,
"set_only_once"
:
0
,
"ignore_xss_filter"
:
0
,
"unique"
:
0
"in_filter"
:
0
,
},
"in_list_view"
:
0
,
{
"in_standard_filter"
:
0
,
"allow_on_submit"
:
0
,
"label"
:
"Reference Owner"
,
"bold"
:
0
,
"length"
:
0
,
"collapsible"
:
0
,
"no_copy"
:
0
,
"default"
:
"__user"
,
"options"
:
"reference_name.owner"
,
"fieldname"
:
"user"
,
"permlevel"
:
0
,
"fieldtype"
:
"Link"
,
"precision"
:
""
,
"hidden"
:
0
,
"print_hide"
:
0
,
"ignore_user_permissions"
:
1
,
"print_hide_if_no_value"
:
0
,
"ignore_xss_filter"
:
0
,
"read_only"
:
0
,
"in_filter"
:
0
,
"remember_last_selected_value"
:
0
,
"in_list_view"
:
0
,
"report_hide"
:
0
,
"label"
:
"User"
,
"reqd"
:
0
,
"length"
:
0
,
"search_index"
:
1
,
"no_copy"
:
0
,
"set_only_once"
:
0
,
"options"
:
"User"
,
"unique"
:
0
"permlevel"
:
0
,
},
"print_hide"
:
0
,
{
"print_hide_if_no_value"
:
0
,
"allow_on_submit"
:
0
,
"read_only"
:
1
,
"bold"
:
0
,
"report_hide"
:
0
,
"collapsible"
:
0
,
"reqd"
:
0
,
"columns"
:
0
,
"search_index"
:
0
,
"depends_on"
:
"eval:doc.communication_medium===
\"
Email
\"
"
,
"set_only_once"
:
0
,
"fieldname"
:
"email_account"
,
"unique"
:
0
"fieldtype"
:
"Link"
,
},
"hidden"
:
0
,
{
"ignore_user_permissions"
:
0
,
"allow_on_submit"
:
0
,
"ignore_xss_filter"
:
0
,
"bold"
:
0
,
"in_filter"
:
0
,
"collapsible"
:
0
,
"in_list_view"
:
0
,
"fieldname"
:
"column_break_27"
,
"in_standard_filter"
:
0
,
"fieldtype"
:
"Column Break"
,
"label"
:
"Email Account"
,
"hidden"
:
0
,
"length"
:
0
,
"ignore_user_permissions"
:
0
,
"no_copy"
:
0
,
"ignore_xss_filter"
:
0
,
"options"
:
"Email Account"
,
"in_filter"
:
0
,
"permlevel"
:
0
,
"in_list_view"
:
0
,
"precision"
:
""
,
"length"
:
0
,
"print_hide"
:
0
,
"no_copy"
:
0
,
"print_hide_if_no_value"
:
0
,
"permlevel"
:
0
,
"read_only"
:
1
,
"precision"
:
""
,
"remember_last_selected_value"
:
0
,
"print_hide"
:
0
,
"report_hide"
:
0
,
"print_hide_if_no_value"
:
0
,
"reqd"
:
0
,
"read_only"
:
0
,
"search_index"
:
0
,
"report_hide"
:
0
,
"set_only_once"
:
0
,
"reqd"
:
0
,
"unique"
:
0
"search_index"
:
0
,
},
"set_only_once"
:
0
,
{
"unique"
:
0
"allow_on_submit"
:
0
,
},
"bold"
:
0
,
{
"collapsible"
:
0
,
"allow_on_submit"
:
0
,
"columns"
:
0
,
"bold"
:
0
,
"fieldname"
:
"in_reply_to"
,
"collapsible"
:
0
,
"fieldtype"
:
"Link"
,
"fieldname"
:
"link_doctype"
,
"hidden"
:
0
,
"fieldtype"
:
"Link"
,
"ignore_user_permissions"
:
0
,
"hidden"
:
0
,
"ignore_xss_filter"
:
0
,
"ignore_user_permissions"
:
0
,
"in_filter"
:
0
,
"ignore_xss_filter"
:
0
,
"in_list_view"
:
0
,
"in_filter"
:
0
,
"in_standard_filter"
:
0
,
"in_list_view"
:
0
,
"label"
:
"In Reply To"
,
"label"
:
"Link DocType"
,
"length"
:
0
,
"length"
:
0
,
"no_copy"
:
0
,
"no_copy"
:
0
,
"options"
:
"Communication"
,
"options"
:
"DocType"
,
"permlevel"
:
0
,
"permlevel"
:
0
,
"precision"
:
""
,
"precision"
:
""
,
"print_hide"
:
0
,
"print_hide"
:
0
,
"print_hide_if_no_value"
:
0
,
"print_hide_if_no_value"
:
0
,
"read_only"
:
1
,
"read_only"
:
1
,
"remember_last_selected_value"
:
0
,
"report_hide"
:
0
,
"report_hide"
:
0
,
"reqd"
:
0
,
"reqd"
:
0
,
"search_index"
:
0
,
"search_index"
:
0
,
"set_only_once"
:
0
,
"set_only_once"
:
0
,
"unique"
:
0
"unique"
:
0
},
},
{
{
"allow_on_submit"
:
0
,
"allow_on_submit"
:
0
,
"bold"
:
0
,
"bold"
:
0
,
"collapsible"
:
0
,
"collapsible"
:
0
,
"fieldname"
:
"link_name"
,
"columns"
:
0
,
"fieldtype"
:
"Dynamic Link"
,
"default"
:
"__user"
,
"hidden"
:
0
,
"fieldname"
:
"user"
,
"ignore_user_permissions"
:
0
,
"fieldtype"
:
"Link"
,
"ignore_xss_filter"
:
0
,
"hidden"
:
0
,
"in_filter"
:
0
,
"ignore_user_permissions"
:
1
,
"in_list_view"
:
0
,
"ignore_xss_filter"
:
0
,
"label"
:
"Link Name"
,
"in_filter"
:
0
,
"length"
:
0
,
"in_list_view"
:
0
,
"no_copy"
:
0
,
"in_standard_filter"
:
0
,
"options"
:
"link_doctype"
,
"label"
:
"User"
,
"permlevel"
:
0
,
"length"
:
0
,
"precision"
:
""
,
"no_copy"
:
0
,
"print_hide"
:
0
,
"options"
:
"User"
,
"print_hide_if_no_value"
:
0
,
"permlevel"
:
0
,
"read_only"
:
1
,
"print_hide"
:
0
,
"report_hide"
:
0
,
"print_hide_if_no_value"
:
0
,
"reqd"
:
0
,
"read_only"
:
1
,
"search_index"
:
0
,
"remember_last_selected_value"
:
0
,
"set_only_once"
:
0
,
"report_hide"
:
0
,
"unique"
:
0
"reqd"
:
0
,
},
"search_index"
:
0
,
{
"set_only_once"
:
0
,
"allow_on_submit"
:
0
,
"unique"
:
0
"bold"
:
0
,
},
"collapsible"
:
0
,
{
"fieldname"
:
"timeline_doctype"
,
"allow_on_submit"
:
0
,
"fieldtype"
:
"Link"
,
"bold"
:
0
,
"hidden"
:
0
,
"collapsible"
:
0
,
"ignore_user_permissions"
:
0
,
"columns"
:
0
,
"ignore_xss_filter"
:
0
,
"fieldname"
:
"column_break_27"
,
"in_filter"
:
0
,
"fieldtype"
:
"Column Break"
,
"in_list_view"
:
0
,
"hidden"
:
0
,
"label"
:
"Timeline DocType"
,
"ignore_user_permissions"
:
0
,
"length"
:
0
,
"ignore_xss_filter"
:
0
,
"no_copy"
:
0
,
"in_filter"
:
0
,
"options"
:
"DocType"
,
"in_list_view"
:
0
,
"permlevel"
:
0
,
"in_standard_filter"
:
0
,
"precision"
:
""
,
"length"
:
0
,
"print_hide"
:
0
,
"no_copy"
:
0
,
"print_hide_if_no_value"
:
0
,
"permlevel"
:
0
,
"read_only"
:
1
,
"precision"
:
""
,
"report_hide"
:
0
,
"print_hide"
:
0
,
"reqd"
:
0
,
"print_hide_if_no_value"
:
0
,
"search_index"
:
0
,
"read_only"
:
0
,
"set_only_once"
:
0
,
"remember_last_selected_value"
:
0
,
"unique"
:
0
"report_hide"
:
0
,
},
"reqd"
:
0
,
{
"search_index"
:
0
,
"allow_on_submit"
:
0
,
"set_only_once"
:
0
,
"bold"
:
0
,
"unique"
:
0
"collapsible"
:
0
,
},
"fieldname"
:
"timeline_name"
,
{
"fieldtype"
:
"Dynamic Link"
,
"allow_on_submit"
:
0
,
"hidden"
:
0
,
"bold"
:
0
,
"ignore_user_permissions"
:
0
,
"collapsible"
:
0
,
"ignore_xss_filter"
:
0
,
"columns"
:
0
,
"in_filter"
:
0
,
"fieldname"
:
"link_doctype"
,
"in_list_view"
:
0
,
"fieldtype"
:
"Link"
,
"label"
:
"Timeline Name"
,
"hidden"
:
0
,
"length"
:
0
,
"ignore_user_permissions"
:
0
,
"no_copy"
:
0
,
"ignore_xss_filter"
:
0
,
"options"
:
"timeline_doctype"
,
"in_filter"
:
0
,
"permlevel"
:
0
,
"in_list_view"
:
0
,
"precision"
:
""
,
"in_standard_filter"
:
0
,
"print_hide"
:
0
,
"label"
:
"Link DocType"
,
"print_hide_if_no_value"
:
0
,
"length"
:
0
,
"read_only"
:
1
,
"no_copy"
:
0
,
"report_hide"
:
0
,
"options"
:
"DocType"
,
"reqd"
:
0
,
"permlevel"
:
0
,
"search_index"
:
0
,
"precision"
:
""
,
"set_only_once"
:
0
,
"print_hide"
:
0
,
"unique"
:
0
"print_hide_if_no_value"
:
0
,
},
"read_only"
:
1
,
{
"remember_last_selected_value"
:
0
,
"allow_on_submit"
:
0
,
"report_hide"
:
0
,
"bold"
:
0
,
"reqd"
:
0
,
"collapsible"
:
0
,
"search_index"
:
0
,
"default"
:
"0"
,
"set_only_once"
:
0
,
"fieldname"
:
"unread_notification_sent"
,
"unique"
:
0
"fieldtype"
:
"Check"
,
},
"hidden"
:
0
,
{
"ignore_user_permissions"
:
0
,
"allow_on_submit"
:
0
,
"ignore_xss_filter"
:
0
,
"bold"
:
0
,
"in_filter"
:
0
,
"collapsible"
:
0
,
"in_list_view"
:
0
,
"columns"
:
0
,
"label"
:
"Unread Notification Sent"
,
"fieldname"
:
"link_name"
,
"length"
:
0
,
"fieldtype"
:
"Dynamic Link"
,
"no_copy"
:
0
,
"hidden"
:
0
,
"permlevel"
:
0
,
"ignore_user_permissions"
:
0
,
"precision"
:
""
,
"ignore_xss_filter"
:
0
,
"print_hide"
:
0
,
"in_filter"
:
0
,
"print_hide_if_no_value"
:
0
,
"in_list_view"
:
0
,
"read_only"
:
1
,
"in_standard_filter"
:
0
,
"report_hide"
:
0
,
"label"
:
"Link Name"
,
"reqd"
:
0
,
"length"
:
0
,
"search_index"
:
0
,
"no_copy"
:
0
,
"set_only_once"
:
0
,
"options"
:
"link_doctype"
,
"unique"
:
0
"permlevel"
:
0
,
},
"precision"
:
""
,
{
"print_hide"
:
0
,
"allow_on_submit"
:
0
,
"print_hide_if_no_value"
:
0
,
"bold"
:
0
,
"read_only"
:
1
,
"collapsible"
:
0
,
"remember_last_selected_value"
:
0
,
"fieldname"
:
"seen"
,
"report_hide"
:
0
,
"fieldtype"
:
"Check"
,
"reqd"
:
0
,
"hidden"
:
0
,
"search_index"
:
0
,
"ignore_user_permissions"
:
0
,
"set_only_once"
:
0
,
"ignore_xss_filter"
:
0
,
"unique"
:
0
"in_filter"
:
0
,
},
"in_list_view"
:
0
,
{
"label"
:
"Seen"
,
"allow_on_submit"
:
0
,
"length"
:
0
,
"bold"
:
0
,
"no_copy"
:
0
,
"collapsible"
:
0
,
"permlevel"
:
0
,
"columns"
:
0
,
"precision"
:
""
,
"fieldname"
:
"timeline_doctype"
,
"print_hide"
:
0
,
"fieldtype"
:
"Link"
,
"print_hide_if_no_value"
:
0
,
"hidden"
:
0
,
"read_only"
:
1
,
"ignore_user_permissions"
:
0
,
"report_hide"
:
0
,
"ignore_xss_filter"
:
0
,
"reqd"
:
0
,
"in_filter"
:
0
,
"search_index"
:
0
,
"in_list_view"
:
0
,
"set_only_once"
:
0
,
"in_standard_filter"
:
0
,
"unique"
:
0
"label"
:
"Timeline DocType"
,
},
"length"
:
0
,
{
"no_copy"
:
0
,
"allow_on_submit"
:
0
,
"options"
:
"DocType"
,
"bold"
:
0
,
"permlevel"
:
0
,
"collapsible"
:
0
,
"precision"
:
""
,
"fieldname"
:
"_user_tags"
,
"print_hide"
:
0
,
"fieldtype"
:
"Data"
,
"print_hide_if_no_value"
:
0
,
"hidden"
:
1
,
"read_only"
:
1
,
"ignore_user_permissions"
:
0
,
"remember_last_selected_value"
:
0
,
"ignore_xss_filter"
:
0
,
"report_hide"
:
0
,
"in_filter"
:
0
,
"reqd"
:
0
,
"in_list_view"
:
0
,
"search_index"
:
0
,
"label"
:
"User Tags"
,
"set_only_once"
:
0
,
"length"
:
0
,
"unique"
:
0
"no_copy"
:
1
,
},
"permlevel"
:
0
,
{
"print_hide"
:
1
,
"allow_on_submit"
:
0
,
"print_hide_if_no_value"
:
0
,
"bold"
:
0
,
"read_only"
:
0
,
"collapsible"
:
0
,
"report_hide"
:
0
,
"columns"
:
0
,
"reqd"
:
0
,
"fieldname"
:
"timeline_name"
,
"search_index"
:
0
,
"fieldtype"
:
"Dynamic Link"
,
"set_only_once"
:
0
,
"hidden"
:
0
,
"ignore_user_permissions"
:
0
,
"ignore_xss_filter"
:
0
,
"in_filter"
:
0
,
"in_list_view"
:
0
,
"in_standard_filter"
:
0
,
"label"
:
"Timeline Name"
,
"length"
:
0
,
"no_copy"
:
0
,
"options"
:
"timeline_doctype"
,
"permlevel"
:
0
,
"precision"
:
""
,
"print_hide"
:
0
,
"print_hide_if_no_value"
:
0
,
"read_only"
:
1
,
"remember_last_selected_value"
:
0
,
"report_hide"
:
0
,
"reqd"
:
0
,
"search_index"
:
0
,
"set_only_once"
:
0
,
"unique"
:
0
},
{
"allow_on_submit"
:
0
,
"bold"
:
0
,
"collapsible"
:
0
,
"columns"
:
0
,
"default"
:
"0"
,
"fieldname"
:
"unread_notification_sent"
,
"fieldtype"
:
"Check"
,
"hidden"
:
0
,
"ignore_user_permissions"
:
0
,
"ignore_xss_filter"
:
0
,
"in_filter"
:
0
,
"in_list_view"
:
0
,
"in_standard_filter"
:
0
,
"label"
:
"Unread Notification Sent"
,
"length"
:
0
,
"no_copy"
:
0
,
"permlevel"
:
0
,
"precision"
:
""
,
"print_hide"
:
0
,
"print_hide_if_no_value"
:
0
,
"read_only"
:
1
,
"remember_last_selected_value"
:
0
,
"report_hide"
:
0
,
"reqd"
:
0
,
"search_index"
:
0
,
"set_only_once"
:
0
,
"unique"
:
0
},
{
"allow_on_submit"
:
0
,
"bold"
:
0
,
"collapsible"
:
0
,
"columns"
:
0
,
"fieldname"
:
"seen"
,
"fieldtype"
:
"Check"
,
"hidden"
:
0
,
"ignore_user_permissions"
:
0
,
"ignore_xss_filter"
:
0
,
"in_filter"
:
0
,
"in_list_view"
:
0
,
"in_standard_filter"
:
0
,
"label"
:
"Seen"
,
"length"
:
0
,
"no_copy"
:
0
,
"permlevel"
:
0
,
"precision"
:
""
,
"print_hide"
:
0
,
"print_hide_if_no_value"
:
0
,
"read_only"
:
1
,
"remember_last_selected_value"
:
0
,
"report_hide"
:
0
,
"reqd"
:
0
,
"search_index"
:
0
,
"set_only_once"
:
0
,
"unique"
:
0
},
{
"allow_on_submit"
:
0
,
"bold"
:
0
,
"collapsible"
:
0
,
"columns"
:
0
,
"fieldname"
:
"message_id"
,
"fieldtype"
:
"Data"
,
"hidden"
:
0
,
"ignore_user_permissions"
:
0
,
"ignore_xss_filter"
:
1
,
"in_filter"
:
0
,
"in_standard_filter"
:
0
,
"in_list_view"
:
0
,
"label"
:
"Message ID"
,
"length"
:
995
,
"no_copy"
:
0
,
"permlevel"
:
0
,
"precision"
:
""
,
"print_hide"
:
0
,
"print_hide_if_no_value"
:
0
,
"read_only"
:
1
,
"remember_last_selected_value"
:
0
,
"report_hide"
:
0
,
"reqd"
:
0
,
"search_index"
:
0
,
"set_only_once"
:
0
,
"unique"
:
0
},
{
"allow_on_submit"
:
0
,
"bold"
:
0
,
"collapsible"
:
0
,
"columns"
:
0
,
"fieldname"
:
"_user_tags"
,
"fieldtype"
:
"Data"
,
"hidden"
:
1
,
"ignore_user_permissions"
:
0
,
"ignore_xss_filter"
:
0
,
"in_filter"
:
0
,
"in_list_view"
:
0
,
"in_standard_filter"
:
0
,
"label"
:
"User Tags"
,
"length"
:
0
,
"no_copy"
:
1
,
"permlevel"
:
0
,
"print_hide"
:
1
,
"print_hide_if_no_value"
:
0
,
"read_only"
:
0
,
"remember_last_selected_value"
:
0
,
"report_hide"
:
0
,
"reqd"
:
0
,
"search_index"
:
0
,
"set_only_once"
:
0
,
"unique"
:
0
"unique"
:
0
}
}
],
],
"hide_heading"
:
0
,
"hide_heading"
:
0
,
"hide_toolbar"
:
0
,
"hide_toolbar"
:
0
,
"icon"
:
"icon-comment"
,
"icon"
:
"fa fa-comment"
,
"idx"
:
1
,
"idx"
:
1
,
"in_create"
:
0
,
"image_view"
:
0
,
"in_dialog"
:
0
,
"in_create"
:
0
,
"is_submittable"
:
0
,
"in_dialog"
:
0
,
"issingle"
:
0
,
"is_submittable"
:
0
,
"istable"
:
0
,
"issingle"
:
0
,
"max_attachments"
:
0
,
"istable"
:
0
,
"modified"
:
"2016-05-02 11:00:53.679035"
,
"max_attachments"
:
0
,
"modified_by"
:
"Administrator"
,
"modified"
:
"2016-12-14 16:02:10.145975"
,
"module"
:
"Core"
,
"modified_by"
:
"Administrator"
,
"name"
:
"Communication"
,
"module"
:
"Core"
,
"owner"
:
"Administrator"
,
"name"
:
"Communication"
,
"owner"
:
"Administrator"
,
"permissions"
:
[
"permissions"
:
[
{
{
"amend"
:
0
,
"amend"
:
0
,
"apply_user_permissions"
:
0
,
"apply_user_permissions"
:
0
,
"cancel"
:
0
,
"cancel"
:
0
,
"create"
:
1
,
"create"
:
1
,
"delete"
:
1
,
"delete"
:
1
,
"email"
:
0
,
"email"
:
0
,
"export"
:
0
,
"export"
:
0
,
"if_owner"
:
0
,
"if_owner"
:
0
,
"import"
:
0
,
"import"
:
0
,
"permlevel"
:
0
,
"is_custom"
:
0
,
"print"
:
0
,
"permlevel"
:
0
,
"read"
:
1
,
"print"
:
0
,
"report"
:
1
,
"read"
:
1
,
"role"
:
"System Manager"
,
"report"
:
1
,
"set_user_permissions"
:
0
,
"role"
:
"System Manager"
,
"share"
:
1
,
"set_user_permissions"
:
0
,
"submit"
:
0
,
"share"
:
1
,
"submit"
:
0
,
"write"
:
1
"write"
:
1
},
},
{
{
"amend"
:
0
,
"amend"
:
0
,
"apply_user_permissions"
:
0
,
"apply_user_permissions"
:
0
,
"cancel"
:
0
,
"cancel"
:
0
,
"create"
:
1
,
"create"
:
1
,
"delete"
:
1
,
"delete"
:
1
,
"email"
:
0
,
"email"
:
0
,
"export"
:
0
,
"export"
:
0
,
"if_owner"
:
1
,
"if_owner"
:
1
,
"import"
:
0
,
"import"
:
0
,
"permlevel"
:
0
,
"is_custom"
:
0
,
"print"
:
0
,
"permlevel"
:
0
,
"read"
:
1
,
"print"
:
0
,
"report"
:
0
,
"read"
:
1
,
"role"
:
"All"
,
"report"
:
0
,
"set_user_permissions"
:
0
,
"role"
:
"All"
,
"share"
:
0
,
"set_user_permissions"
:
0
,
"submit"
:
0
,
"share"
:
0
,
"submit"
:
0
,
"write"
:
1
"write"
:
1
}
}
],
],
"quick_entry"
:
0
,
"quick_entry"
:
0
,
"read_only"
:
0
,
"read_only"
:
0
,
"read_only_onload"
:
0
,
"read_only_onload"
:
0
,
"search_fields"
:
"subject"
,
"search_fields"
:
"subject"
,
"sort_order"
:
"DESC"
,
"sort_order"
:
"DESC"
,
"title_field"
:
"subject"
,
"title_field"
:
"subject"
,
"track_seen"
:
0
"track_seen"
:
0
}
}
\ No newline at end of file
This diff is collapsed.
Click to expand it.
frappe/core/doctype/communication/communication.py
View file @
f2bc961e
...
@@ -229,6 +229,7 @@ def on_doctype_update():
...
@@ -229,6 +229,7 @@ def on_doctype_update():
frappe
.
db
.
add_index
(
"Communication"
,
[
"status"
,
"communication_type"
])
frappe
.
db
.
add_index
(
"Communication"
,
[
"status"
,
"communication_type"
])
frappe
.
db
.
add_index
(
"Communication"
,
[
"creation"
])
frappe
.
db
.
add_index
(
"Communication"
,
[
"creation"
])
frappe
.
db
.
add_index
(
"Communication"
,
[
"modified"
])
frappe
.
db
.
add_index
(
"Communication"
,
[
"modified"
])
frappe
.
db
.
add_index
(
"Communication"
,
[
"message_id(200)"
])
def
has_permission
(
doc
,
ptype
,
user
):
def
has_permission
(
doc
,
ptype
,
user
):
if
ptype
==
"read"
:
if
ptype
==
"read"
:
...
...
This diff is collapsed.
Click to expand it.
frappe/core/doctype/communication/email.py
View file @
f2bc961e
...
@@ -10,6 +10,7 @@ from frappe.utils import (get_url, get_formatted_email, cint,
...
@@ -10,6 +10,7 @@ from frappe.utils import (get_url, get_formatted_email, cint,
from
frappe.utils.file_manager
import
get_file
from
frappe.utils.file_manager
import
get_file
from
frappe.email.queue
import
check_email_limit
from
frappe.email.queue
import
check_email_limit
from
frappe.utils.scheduler
import
log
from
frappe.utils.scheduler
import
log
from
frappe.email.email_body
import
get_message_id
import
frappe.email.smtp
import
frappe.email.smtp
import
MySQLdb
import
MySQLdb
import
time
import
time
...
@@ -57,11 +58,22 @@ def make(doctype=None, name=None, content=None, subject=None, sent_or_received =
...
@@ -57,11 +58,22 @@ def make(doctype=None, name=None, content=None, subject=None, sent_or_received =
"communication_medium"
:
communication_medium
,
"communication_medium"
:
communication_medium
,
"sent_or_received"
:
sent_or_received
,
"sent_or_received"
:
sent_or_received
,
"reference_doctype"
:
doctype
,
"reference_doctype"
:
doctype
,
"reference_name"
:
name
"reference_name"
:
name
,
"message_id"
:
get_message_id
().
strip
(
" <>"
)
})
})
comm
.
insert
(
ignore_permissions
=
True
)
comm
.
insert
(
ignore_permissions
=
True
)
if
not
doctype
:
# if no reference given, then send it against the communication
comm
.
db_set
(
dict
(
reference_doctype
=
'Communication'
,
reference_name
=
comm
.
name
))
if
isinstance
(
attachments
,
basestring
):
attachments
=
json
.
loads
(
attachments
)
# if not committed, delayed task doesn't find the communication
# if not committed, delayed task doesn't find the communication
if
attachments
:
add_attachments
(
comm
.
name
,
attachments
)
frappe
.
db
.
commit
()
frappe
.
db
.
commit
()
if
cint
(
send_email
):
if
cint
(
send_email
):
...
@@ -120,10 +132,15 @@ def _notify(doc, print_html=None, print_format=None, attachments=None,
...
@@ -120,10 +132,15 @@ def _notify(doc, print_html=None, print_format=None, attachments=None,
prepare_to_notify
(
doc
,
print_html
,
print_format
,
attachments
)
prepare_to_notify
(
doc
,
print_html
,
print_format
,
attachments
)
if
doc
.
outgoing_email_account
.
send_unsubscribe_message
:
unsubscribe_message
=
_
(
"Leave this conversation"
)
else
:
unsubscribe_message
=
""
frappe
.
sendmail
(
frappe
.
sendmail
(
recipients
=
(
recipients
or
[])
+
(
cc
or
[]),
recipients
=
(
recipients
or
[]),
show_as_
cc
=
(
cc
or
[]),
cc
=
(
cc
or
[]),
expose_recipients
=
True
,
expose_recipients
=
"header"
,
sender
=
doc
.
sender
,
sender
=
doc
.
sender
,
reply_to
=
doc
.
incoming_email_account
,
reply_to
=
doc
.
incoming_email_account
,
subject
=
doc
.
subject
,
subject
=
doc
.
subject
,
...
@@ -131,8 +148,8 @@ def _notify(doc, print_html=None, print_format=None, attachments=None,
...
@@ -131,8 +148,8 @@ def _notify(doc, print_html=None, print_format=None, attachments=None,
reference_doctype
=
doc
.
reference_doctype
,
reference_doctype
=
doc
.
reference_doctype
,
reference_name
=
doc
.
reference_name
,
reference_name
=
doc
.
reference_name
,
attachments
=
doc
.
attachments
,
attachments
=
doc
.
attachments
,
message_id
=
doc
.
na
me
,
message_id
=
doc
.
me
ssage_id
,
unsubscribe_message
=
_
(
"Leave this conversation"
)
,
unsubscribe_message
=
unsubscribe_message
,
delayed
=
True
,
delayed
=
True
,
communication
=
doc
.
name
communication
=
doc
.
name
)
)
...
@@ -252,7 +269,7 @@ def set_incoming_outgoing_accounts(doc):
...
@@ -252,7 +269,7 @@ def set_incoming_outgoing_accounts(doc):
if
not
doc
.
outgoing_email_account
:
if
not
doc
.
outgoing_email_account
:
doc
.
outgoing_email_account
=
frappe
.
db
.
get_value
(
"Email Account"
,
doc
.
outgoing_email_account
=
frappe
.
db
.
get_value
(
"Email Account"
,
{
"default_outgoing"
:
1
,
"enable_outgoing"
:
1
},
{
"default_outgoing"
:
1
,
"enable_outgoing"
:
1
},
[
"email_id"
,
"always_use_account_email_id_as_sender"
,
"name"
],
as_dict
=
True
)
or
frappe
.
_dict
()
[
"email_id"
,
"always_use_account_email_id_as_sender"
,
"name"
,
"send_unsubscribe_message"
],
as_dict
=
True
)
or
frappe
.
_dict
()
def
get_recipients
(
doc
,
fetched_from_email_account
=
False
):
def
get_recipients
(
doc
,
fetched_from_email_account
=
False
):
"""Build a list of email addresses for To"""
"""Build a list of email addresses for To"""
...
@@ -312,6 +329,20 @@ def get_cc(doc, recipients=None, fetched_from_email_account=False):
...
@@ -312,6 +329,20 @@ def get_cc(doc, recipients=None, fetched_from_email_account=False):
return
cc
return
cc
def
add_attachments
(
name
,
attachments
):
'''Add attachments to the given Communiction'''
from
frappe.utils.file_manager
import
save_url
# loop through attachments
for
a
in
attachments
:
attach
=
frappe
.
db
.
get_value
(
"File"
,
{
"name"
:
a
},
[
"file_name"
,
"file_url"
,
"is_private"
],
as_dict
=
1
)
# save attachments to new doc
save_url
(
attach
.
file_url
,
attach
.
file_name
,
"Communication"
,
name
,
"Home/Attachments"
,
attach
.
is_private
)
def
filter_email_list
(
doc
,
email_list
,
exclude
,
is_cc
=
False
):
def
filter_email_list
(
doc
,
email_list
,
exclude
,
is_cc
=
False
):
# temp variables
# temp variables
filtered
=
[]
filtered
=
[]
...
@@ -383,6 +414,8 @@ def sendmail(communication_name, print_html=None, print_format=None, attachments
...
@@ -383,6 +414,8 @@ def sendmail(communication_name, print_html=None, print_format=None, attachments
for
i
in
xrange
(
3
):
for
i
in
xrange
(
3
):
try
:
try
:
communication
=
frappe
.
get_doc
(
"Communication"
,
communication_name
)
communication
=
frappe
.
get_doc
(
"Communication"
,
communication_name
)
if
communication
.
sent_or_received
==
"Received"
:
communication
.
message_id
=
None
communication
.
_notify
(
print_html
=
print_html
,
print_format
=
print_format
,
attachments
=
attachments
,
communication
.
_notify
(
print_html
=
print_html
,
print_format
=
print_format
,
attachments
=
attachments
,
recipients
=
recipients
,
cc
=
cc
)
recipients
=
recipients
,
cc
=
cc
)
...
...
This diff is collapsed.
Click to expand it.
frappe/core/doctype/docfield/docfield.json
View file @
f2bc961e
...
@@ -23,6 +23,7 @@
...
@@ -23,6 +23,7 @@
"ignore_xss_filter"
:
0
,
"ignore_xss_filter"
:
0
,
"in_filter"
:
0
,
"in_filter"
:
0
,
"in_list_view"
:
0
,
"in_list_view"
:
0
,
"in_standard_filter"
:
0
,
"label"
:
""
,
"label"
:
""
,
"length"
:
0
,
"length"
:
0
,
"no_copy"
:
0
,
"no_copy"
:
0
,
...
@@ -48,6 +49,7 @@
...
@@ -48,6 +49,7 @@
"ignore_xss_filter"
:
0
,
"ignore_xss_filter"
:
0
,
"in_filter"
:
0
,
"in_filter"
:
0
,
"in_list_view"
:
1
,
"in_list_view"
:
1
,
"in_standard_filter"
:
0
,
"label"
:
"Label"
,
"label"
:
"Label"
,
"length"
:
0
,
"length"
:
0
,
"no_copy"
:
0
,
"no_copy"
:
0
,
...
@@ -78,6 +80,7 @@
...
@@ -78,6 +80,7 @@
"ignore_xss_filter"
:
0
,
"ignore_xss_filter"
:
0
,
"in_filter"
:
0
,
"in_filter"
:
0
,
"in_list_view"
:
1
,
"in_list_view"
:
1
,
"in_standard_filter"
:
0
,
"label"
:
"Type"
,
"label"
:
"Type"
,
"length"
:
0
,
"length"
:
0
,
"no_copy"
:
0
,
"no_copy"
:
0
,
...
@@ -106,6 +109,7 @@
...
@@ -106,6 +109,7 @@
"ignore_xss_filter"
:
0
,
"ignore_xss_filter"
:
0
,
"in_filter"
:
0
,
"in_filter"
:
0
,
"in_list_view"
:
1
,
"in_list_view"
:
1
,
"in_standard_filter"
:
0
,
"label"
:
"Name"
,
"label"
:
"Name"
,
"length"
:
0
,
"length"
:
0
,
"no_copy"
:
0
,
"no_copy"
:
0
,
...
@@ -133,6 +137,7 @@
...
@@ -133,6 +137,7 @@
"ignore_xss_filter"
:
0
,
"ignore_xss_filter"
:
0
,
"in_filter"
:
0
,
"in_filter"
:
0
,
"in_list_view"
:
1
,
"in_list_view"
:
1
,
"in_standard_filter"
:
0
,
"label"
:
"Mandatory"
,
"label"
:
"Mandatory"
,
"length"
:
0
,
"length"
:
0
,
"no_copy"
:
0
,
"no_copy"
:
0
,
...
@@ -164,6 +169,7 @@
...
@@ -164,6 +169,7 @@
"ignore_xss_filter"
:
0
,
"ignore_xss_filter"
:
0
,
"in_filter"
:
0
,
"in_filter"
:
0
,
"in_list_view"
:
0
,
"in_list_view"
:
0
,
"in_standard_filter"
:
0
,
"label"
:
"Precision"
,
"label"
:
"Precision"
,
"length"
:
0
,
"length"
:
0
,
"no_copy"
:
0
,
"no_copy"
:
0
,
...
@@ -191,6 +197,7 @@
...
@@ -191,6 +197,7 @@
"ignore_xss_filter"
:
0
,
"ignore_xss_filter"
:
0
,
"in_filter"
:
0
,
"in_filter"
:
0
,
"in_list_view"
:
0
,
"in_list_view"
:
0
,
"in_standard_filter"
:
0
,
"label"
:
"Length"
,
"label"
:
"Length"
,
"length"
:
0
,
"length"
:
0
,
"no_copy"
:
0
,
"no_copy"
:
0
,
...
@@ -217,6 +224,7 @@
...
@@ -217,6 +224,7 @@
"ignore_xss_filter"
:
0
,
"ignore_xss_filter"
:
0
,
"in_filter"
:
0
,
"in_filter"
:
0
,
"in_list_view"
:
0
,
"in_list_view"
:
0
,
"in_standard_filter"
:
0
,
"label"
:
"Index"
,
"label"
:
"Index"
,
"length"
:
0
,
"length"
:
0
,
"no_copy"
:
0
,
"no_copy"
:
0
,
...
@@ -246,6 +254,7 @@
...
@@ -246,6 +254,7 @@
"ignore_xss_filter"
:
0
,
"ignore_xss_filter"
:
0
,
"in_filter"
:
0
,
"in_filter"
:
0
,
"in_list_view"
:
0
,
"in_list_view"
:
0
,
"in_standard_filter"
:
0
,
"label"
:
"In List View"
,
"label"
:
"In List View"
,
"length"
:
0
,
"length"
:
0
,
"no_copy"
:
0
,
"no_copy"
:
0
,
...
@@ -261,6 +270,33 @@
...
@@ -261,6 +270,33 @@
"unique"
:
0
,
"unique"
:
0
,
"width"
:
"70px"
"width"
:
"70px"
},
},
{
"allow_on_submit"
:
0
,
"bold"
:
0
,
"collapsible"
:
0
,
"columns"
:
0
,
"fieldname"
:
"in_standard_filter"
,
"fieldtype"
:
"Check"
,
"hidden"
:
0
,
"ignore_user_permissions"
:
0
,
"ignore_xss_filter"
:
0
,
"in_filter"
:
0
,
"in_list_view"
:
0
,
"in_standard_filter"
:
0
,
"label"
:
"In Standard Filter"
,
"length"
:
0
,
"no_copy"
:
0
,
"permlevel"
:
0
,
"precision"
:
""
,
"print_hide"
:
0
,
"print_hide_if_no_value"
:
0
,
"read_only"
:
0
,
"report_hide"
:
0
,
"reqd"
:
0
,
"search_index"
:
0
,
"set_only_once"
:
0
,
"unique"
:
0
},
{
{
"allow_on_submit"
:
0
,
"allow_on_submit"
:
0
,
"bold"
:
0
,
"bold"
:
0
,
...
@@ -273,6 +309,7 @@
...
@@ -273,6 +309,7 @@
"ignore_xss_filter"
:
0
,
"ignore_xss_filter"
:
0
,
"in_filter"
:
0
,
"in_filter"
:
0
,
"in_list_view"
:
0
,
"in_list_view"
:
0
,
"in_standard_filter"
:
0
,
"label"
:
"Bold"
,
"label"
:
"Bold"
,
"length"
:
0
,
"length"
:
0
,
"no_copy"
:
0
,
"no_copy"
:
0
,
...
@@ -300,6 +337,7 @@
...
@@ -300,6 +337,7 @@
"ignore_xss_filter"
:
0
,
"ignore_xss_filter"
:
0
,
"in_filter"
:
0
,
"in_filter"
:
0
,
"in_list_view"
:
0
,
"in_list_view"
:
0
,
"in_standard_filter"
:
0
,
"label"
:
"Collapsible"
,
"label"
:
"Collapsible"
,
"length"
:
255
,
"length"
:
255
,
"no_copy"
:
0
,
"no_copy"
:
0
,
...
@@ -327,6 +365,7 @@
...
@@ -327,6 +365,7 @@
"ignore_xss_filter"
:
0
,
"ignore_xss_filter"
:
0
,
"in_filter"
:
0
,
"in_filter"
:
0
,
"in_list_view"
:
0
,
"in_list_view"
:
0
,
"in_standard_filter"
:
0
,
"label"
:
"Collapsible Depends On"
,
"label"
:
"Collapsible Depends On"
,
"length"
:
0
,
"length"
:
0
,
"no_copy"
:
0
,
"no_copy"
:
0
,
...
@@ -353,6 +392,7 @@
...
@@ -353,6 +392,7 @@
"ignore_xss_filter"
:
0
,
"ignore_xss_filter"
:
0
,
"in_filter"
:
0
,
"in_filter"
:
0
,
"in_list_view"
:
0
,
"in_list_view"
:
0
,
"in_standard_filter"
:
0
,
"length"
:
0
,
"length"
:
0
,
"no_copy"
:
0
,
"no_copy"
:
0
,
"permlevel"
:
0
,
"permlevel"
:
0
,
...
@@ -378,6 +418,7 @@
...
@@ -378,6 +418,7 @@
"ignore_xss_filter"
:
0
,
"ignore_xss_filter"
:
0
,
"in_filter"
:
0
,
"in_filter"
:
0
,
"in_list_view"
:
1
,
"in_list_view"
:
1
,
"in_standard_filter"
:
0
,
"label"
:
"Options"
,
"label"
:
"Options"
,
"length"
:
0
,
"length"
:
0
,
"no_copy"
:
0
,
"no_copy"
:
0
,
...
@@ -405,6 +446,7 @@
...
@@ -405,6 +446,7 @@
"ignore_xss_filter"
:
0
,
"ignore_xss_filter"
:
0
,
"in_filter"
:
0
,
"in_filter"
:
0
,
"in_list_view"
:
0
,
"in_list_view"
:
0
,
"in_standard_filter"
:
0
,
"label"
:
"Default"
,
"label"
:
"Default"
,
"length"
:
0
,
"length"
:
0
,
"no_copy"
:
0
,
"no_copy"
:
0
,
...
@@ -432,6 +474,7 @@
...
@@ -432,6 +474,7 @@
"ignore_xss_filter"
:
0
,
"ignore_xss_filter"
:
0
,
"in_filter"
:
0
,
"in_filter"
:
0
,
"in_list_view"
:
0
,
"in_list_view"
:
0
,
"in_standard_filter"
:
0
,
"label"
:
"Permissions"
,
"label"
:
"Permissions"
,
"length"
:
0
,
"length"
:
0
,
"no_copy"
:
0
,
"no_copy"
:
0
,
...
@@ -457,6 +500,7 @@
...
@@ -457,6 +500,7 @@
"ignore_xss_filter"
:
0
,
"ignore_xss_filter"
:
0
,
"in_filter"
:
0
,
"in_filter"
:
0
,
"in_list_view"
:
0
,
"in_list_view"
:
0
,
"in_standard_filter"
:
0
,
"label"
:
"Display Depends On"
,
"label"
:
"Display Depends On"
,
"length"
:
255
,
"length"
:
255
,
"no_copy"
:
0
,
"no_copy"
:
0
,
...
@@ -484,6 +528,7 @@
...
@@ -484,6 +528,7 @@
"ignore_xss_filter"
:
0
,
"ignore_xss_filter"
:
0
,
"in_filter"
:
0
,
"in_filter"
:
0
,
"in_list_view"
:
0
,
"in_list_view"
:
0
,
"in_standard_filter"
:
0
,
"label"
:
"Hidden"
,
"label"
:
"Hidden"
,
"length"
:
0
,
"length"
:
0
,
"no_copy"
:
0
,
"no_copy"
:
0
,
...
@@ -513,6 +558,7 @@
...
@@ -513,6 +558,7 @@
"ignore_xss_filter"
:
0
,
"ignore_xss_filter"
:
0
,
"in_filter"
:
0
,
"in_filter"
:
0
,
"in_list_view"
:
0
,
"in_list_view"
:
0
,
"in_standard_filter"
:
0
,
"label"
:
"Read Only"
,
"label"
:
"Read Only"
,
"length"
:
0
,
"length"
:
0
,
"no_copy"
:
0
,
"no_copy"
:
0
,
...
@@ -540,6 +586,7 @@
...
@@ -540,6 +586,7 @@
"ignore_xss_filter"
:
0
,
"ignore_xss_filter"
:
0
,
"in_filter"
:
0
,
"in_filter"
:
0
,
"in_list_view"
:
0
,
"in_list_view"
:
0
,
"in_standard_filter"
:
0
,
"label"
:
"Unique"
,
"label"
:
"Unique"
,
"length"
:
0
,
"length"
:
0
,
"no_copy"
:
0
,
"no_copy"
:
0
,
...
@@ -567,6 +614,7 @@
...
@@ -567,6 +614,7 @@
"ignore_xss_filter"
:
0
,
"ignore_xss_filter"
:
0
,
"in_filter"
:
0
,
"in_filter"
:
0
,
"in_list_view"
:
0
,
"in_list_view"
:
0
,
"in_standard_filter"
:
0
,
"label"
:
"Set Only Once"
,
"label"
:
"Set Only Once"
,
"length"
:
0
,
"length"
:
0
,
"no_copy"
:
0
,
"no_copy"
:
0
,
...
@@ -592,6 +640,7 @@
...
@@ -592,6 +640,7 @@
"ignore_xss_filter"
:
0
,
"ignore_xss_filter"
:
0
,
"in_filter"
:
0
,
"in_filter"
:
0
,
"in_list_view"
:
0
,
"in_list_view"
:
0
,
"in_standard_filter"
:
0
,
"length"
:
0
,
"length"
:
0
,
"no_copy"
:
0
,
"no_copy"
:
0
,
"permlevel"
:
0
,
"permlevel"
:
0
,
...
@@ -617,6 +666,7 @@
...
@@ -617,6 +666,7 @@
"ignore_xss_filter"
:
0
,
"ignore_xss_filter"
:
0
,
"in_filter"
:
0
,
"in_filter"
:
0
,
"in_list_view"
:
0
,
"in_list_view"
:
0
,
"in_standard_filter"
:
0
,
"label"
:
"Perm Level"
,
"label"
:
"Perm Level"
,
"length"
:
0
,
"length"
:
0
,
"no_copy"
:
0
,
"no_copy"
:
0
,
...
@@ -647,6 +697,7 @@
...
@@ -647,6 +697,7 @@
"ignore_xss_filter"
:
0
,
"ignore_xss_filter"
:
0
,
"in_filter"
:
0
,
"in_filter"
:
0
,
"in_list_view"
:
0
,
"in_list_view"
:
0
,
"in_standard_filter"
:
0
,
"label"
:
"Ignore User Permissions"
,
"label"
:
"Ignore User Permissions"
,
"length"
:
0
,
"length"
:
0
,
"no_copy"
:
0
,
"no_copy"
:
0
,
...
@@ -672,6 +723,7 @@
...
@@ -672,6 +723,7 @@
"ignore_xss_filter"
:
0
,
"ignore_xss_filter"
:
0
,
"in_filter"
:
0
,
"in_filter"
:
0
,
"in_list_view"
:
0
,
"in_list_view"
:
0
,
"in_standard_filter"
:
0
,
"label"
:
"Allow on Submit"
,
"label"
:
"Allow on Submit"
,
"length"
:
0
,
"length"
:
0
,
"no_copy"
:
0
,
"no_copy"
:
0
,
...
@@ -701,6 +753,7 @@
...
@@ -701,6 +753,7 @@
"ignore_xss_filter"
:
0
,
"ignore_xss_filter"
:
0
,
"in_filter"
:
0
,
"in_filter"
:
0
,
"in_list_view"
:
0
,
"in_list_view"
:
0
,
"in_standard_filter"
:
0
,
"label"
:
"Report Hide"
,
"label"
:
"Report Hide"
,
"length"
:
0
,
"length"
:
0
,
"no_copy"
:
0
,
"no_copy"
:
0
,
...
@@ -757,6 +810,7 @@
...
@@ -757,6 +810,7 @@
"ignore_xss_filter"
:
0
,
"ignore_xss_filter"
:
0
,
"in_filter"
:
0
,
"in_filter"
:
0
,
"in_list_view"
:
0
,
"in_list_view"
:
0
,
"in_standard_filter"
:
0
,
"label"
:
"Ignore XSS Filter"
,
"label"
:
"Ignore XSS Filter"
,
"length"
:
0
,
"length"
:
0
,
"no_copy"
:
0
,
"no_copy"
:
0
,
...
@@ -783,6 +837,7 @@
...
@@ -783,6 +837,7 @@
"ignore_xss_filter"
:
0
,
"ignore_xss_filter"
:
0
,
"in_filter"
:
0
,
"in_filter"
:
0
,
"in_list_view"
:
0
,
"in_list_view"
:
0
,
"in_standard_filter"
:
0
,
"label"
:
"Display"
,
"label"
:
"Display"
,
"length"
:
0
,
"length"
:
0
,
"no_copy"
:
0
,
"no_copy"
:
0
,
...
@@ -808,6 +863,7 @@
...
@@ -808,6 +863,7 @@
"ignore_xss_filter"
:
0
,
"ignore_xss_filter"
:
0
,
"in_filter"
:
0
,
"in_filter"
:
0
,
"in_list_view"
:
0
,
"in_list_view"
:
0
,
"in_standard_filter"
:
0
,
"label"
:
"In Filter"
,
"label"
:
"In Filter"
,
"length"
:
0
,
"length"
:
0
,
"no_copy"
:
0
,
"no_copy"
:
0
,
...
@@ -837,6 +893,7 @@
...
@@ -837,6 +893,7 @@
"ignore_xss_filter"
:
0
,
"ignore_xss_filter"
:
0
,
"in_filter"
:
0
,
"in_filter"
:
0
,
"in_list_view"
:
0
,
"in_list_view"
:
0
,
"in_standard_filter"
:
0
,
"label"
:
"No Copy"
,
"label"
:
"No Copy"
,
"length"
:
0
,
"length"
:
0
,
"no_copy"
:
0
,
"no_copy"
:
0
,
...
@@ -866,6 +923,7 @@
...
@@ -866,6 +923,7 @@
"ignore_xss_filter"
:
0
,
"ignore_xss_filter"
:
0
,
"in_filter"
:
0
,
"in_filter"
:
0
,
"in_list_view"
:
0
,
"in_list_view"
:
0
,
"in_standard_filter"
:
0
,
"label"
:
"Print Hide"
,
"label"
:
"Print Hide"
,
"length"
:
0
,
"length"
:
0
,
"no_copy"
:
0
,
"no_copy"
:
0
,
...
@@ -896,6 +954,7 @@
...
@@ -896,6 +954,7 @@
"ignore_xss_filter"
:
0
,
"ignore_xss_filter"
:
0
,
"in_filter"
:
0
,
"in_filter"
:
0
,
"in_list_view"
:
0
,
"in_list_view"
:
0
,
"in_standard_filter"
:
0
,
"label"
:
"Print Hide If No Value"
,
"label"
:
"Print Hide If No Value"
,
"length"
:
0
,
"length"
:
0
,
"no_copy"
:
0
,
"no_copy"
:
0
,
...
@@ -922,6 +981,7 @@
...
@@ -922,6 +981,7 @@
"ignore_xss_filter"
:
0
,
"ignore_xss_filter"
:
0
,
"in_filter"
:
0
,
"in_filter"
:
0
,
"in_list_view"
:
0
,
"in_list_view"
:
0
,
"in_standard_filter"
:
0
,
"label"
:
"Print Width"
,
"label"
:
"Print Width"
,
"length"
:
0
,
"length"
:
0
,
"no_copy"
:
0
,
"no_copy"
:
0
,
...
@@ -947,6 +1007,7 @@
...
@@ -947,6 +1007,7 @@
"ignore_xss_filter"
:
0
,
"ignore_xss_filter"
:
0
,
"in_filter"
:
0
,
"in_filter"
:
0
,
"in_list_view"
:
0
,
"in_list_view"
:
0
,
"in_standard_filter"
:
0
,
"label"
:
"Width"
,
"label"
:
"Width"
,
"length"
:
0
,
"length"
:
0
,
"no_copy"
:
0
,
"no_copy"
:
0
,
...
@@ -978,6 +1039,7 @@
...
@@ -978,6 +1039,7 @@
"ignore_xss_filter"
:
0
,
"ignore_xss_filter"
:
0
,
"in_filter"
:
0
,
"in_filter"
:
0
,
"in_list_view"
:
0
,
"in_list_view"
:
0
,
"in_standard_filter"
:
0
,
"label"
:
"Columns"
,
"label"
:
"Columns"
,
"length"
:
0
,
"length"
:
0
,
"no_copy"
:
0
,
"no_copy"
:
0
,
...
@@ -1004,6 +1066,7 @@
...
@@ -1004,6 +1066,7 @@
"ignore_xss_filter"
:
0
,
"ignore_xss_filter"
:
0
,
"in_filter"
:
0
,
"in_filter"
:
0
,
"in_list_view"
:
0
,
"in_list_view"
:
0
,
"in_standard_filter"
:
0
,
"length"
:
0
,
"length"
:
0
,
"no_copy"
:
0
,
"no_copy"
:
0
,
"permlevel"
:
0
,
"permlevel"
:
0
,
...
@@ -1028,6 +1091,7 @@
...
@@ -1028,6 +1091,7 @@
"ignore_xss_filter"
:
0
,
"ignore_xss_filter"
:
0
,
"in_filter"
:
0
,
"in_filter"
:
0
,
"in_list_view"
:
1
,
"in_list_view"
:
1
,
"in_standard_filter"
:
0
,
"label"
:
"Description"
,
"label"
:
"Description"
,
"length"
:
0
,
"length"
:
0
,
"no_copy"
:
0
,
"no_copy"
:
0
,
...
@@ -1057,6 +1121,7 @@
...
@@ -1057,6 +1121,7 @@
"ignore_xss_filter"
:
0
,
"ignore_xss_filter"
:
0
,
"in_filter"
:
0
,
"in_filter"
:
0
,
"in_list_view"
:
0
,
"in_list_view"
:
0
,
"in_standard_filter"
:
0
,
"length"
:
0
,
"length"
:
0
,
"no_copy"
:
0
,
"no_copy"
:
0
,
"oldfieldname"
:
"oldfieldname"
,
"oldfieldname"
:
"oldfieldname"
,
...
@@ -1083,6 +1148,7 @@
...
@@ -1083,6 +1148,7 @@
"ignore_xss_filter"
:
0
,
"ignore_xss_filter"
:
0
,
"in_filter"
:
0
,
"in_filter"
:
0
,
"in_list_view"
:
0
,
"in_list_view"
:
0
,
"in_standard_filter"
:
0
,
"length"
:
0
,
"length"
:
0
,
"no_copy"
:
0
,
"no_copy"
:
0
,
"oldfieldname"
:
"oldfieldtype"
,
"oldfieldname"
:
"oldfieldtype"
,
...
@@ -1118,5 +1184,5 @@
...
@@ -1118,5 +1184,5 @@
"read_only"
:
0
,
"read_only"
:
0
,
"read_only_onload"
:
0
,
"read_only_onload"
:
0
,
"sort_order"
:
"ASC"
,
"sort_order"
:
"ASC"
,
"track_seen"
:
0
"track_seen"
:
0
}
}
\ No newline at end of file
This diff is collapsed.
Click to expand it.
frappe/core/doctype/doctype/boilerplate/controller_list.html
View file @
f2bc961e
<div
class=
"row"
style=
"max-height: 30px;"
>
<div
class=
"row"
style=
"max-height: 30px;"
>
<div
class=
"col-xs-12"
>
<div
class=
"col-xs-12"
>
<div
class=
"
text-
ellipsis"
>
<div
class=
"ellipsis"
>
{{%= list.get_avatar_and_id(doc) %}}
{{%= list.get_avatar_and_id(doc) %}}
<!-- sample text -->
<!-- sample text -->
...
@@ -13,7 +13,7 @@
...
@@ -13,7 +13,7 @@
<span
style=
"margin-right: 8px;"
<span
style=
"margin-right: 8px;"
title=
"{{%= __("
Title
")
%}}"
class=
"filterable"
title=
"{{%= __("
Title
")
%}}"
class=
"filterable"
data-filter=
"check,=,Yes"
>
data-filter=
"check,=,Yes"
>
<i
class=
"
icon
-icon text-muted"
></i>
<i
class=
"
fa fa
-icon text-muted"
></i>
</span>
</span>
{{% }} %}}
{{% }} %}}
...
...
This diff is collapsed.
Click to expand it.
frappe/core/doctype/doctype/doctype.json
View file @
f2bc961e
...
@@ -25,6 +25,7 @@
...
@@ -25,6 +25,7 @@
"ignore_xss_filter"
:
0
,
"ignore_xss_filter"
:
0
,
"in_filter"
:
0
,
"in_filter"
:
0
,
"in_list_view"
:
0
,
"in_list_view"
:
0
,
"in_standard_filter"
:
0
,
"label"
:
""
,
"label"
:
""
,
"length"
:
0
,
"length"
:
0
,
"no_copy"
:
0
,
"no_copy"
:
0
,
...
@@ -33,6 +34,7 @@
...
@@ -33,6 +34,7 @@
"print_hide"
:
0
,
"print_hide"
:
0
,
"print_hide_if_no_value"
:
0
,
"print_hide_if_no_value"
:
0
,
"read_only"
:
0
,
"read_only"
:
0
,
"remember_last_selected_value"
:
0
,
"report_hide"
:
0
,
"report_hide"
:
0
,
"reqd"
:
0
,
"reqd"
:
0
,
"search_index"
:
0
,
"search_index"
:
0
,
...
@@ -51,6 +53,7 @@
...
@@ -51,6 +53,7 @@
"ignore_xss_filter"
:
0
,
"ignore_xss_filter"
:
0
,
"in_filter"
:
0
,
"in_filter"
:
0
,
"in_list_view"
:
1
,
"in_list_view"
:
1
,
"in_standard_filter"
:
1
,
"label"
:
"Module"
,
"label"
:
"Module"
,
"length"
:
0
,
"length"
:
0
,
"no_copy"
:
0
,
"no_copy"
:
0
,
...
@@ -61,6 +64,7 @@
...
@@ -61,6 +64,7 @@
"print_hide"
:
0
,
"print_hide"
:
0
,
"print_hide_if_no_value"
:
0
,
"print_hide_if_no_value"
:
0
,
"read_only"
:
0
,
"read_only"
:
0
,
"remember_last_selected_value"
:
0
,
"report_hide"
:
0
,
"report_hide"
:
0
,
"reqd"
:
1
,
"reqd"
:
1
,
"search_index"
:
1
,
"search_index"
:
1
,
...
@@ -80,6 +84,7 @@
...
@@ -80,6 +84,7 @@
"ignore_xss_filter"
:
0
,
"ignore_xss_filter"
:
0
,
"in_filter"
:
0
,
"in_filter"
:
0
,
"in_list_view"
:
0
,
"in_list_view"
:
0
,
"in_standard_filter"
:
1
,
"label"
:
"Is Child Table"
,
"label"
:
"Is Child Table"
,
"length"
:
0
,
"length"
:
0
,
"no_copy"
:
0
,
"no_copy"
:
0
,
...
@@ -89,6 +94,7 @@
...
@@ -89,6 +94,7 @@
"print_hide"
:
0
,
"print_hide"
:
0
,
"print_hide_if_no_value"
:
0
,
"print_hide_if_no_value"
:
0
,
"read_only"
:
0
,
"read_only"
:
0
,
"remember_last_selected_value"
:
0
,
"report_hide"
:
0
,
"report_hide"
:
0
,
"reqd"
:
0
,
"reqd"
:
0
,
"search_index"
:
0
,
"search_index"
:
0
,
...
@@ -109,6 +115,7 @@
...
@@ -109,6 +115,7 @@
"ignore_xss_filter"
:
0
,
"ignore_xss_filter"
:
0
,
"in_filter"
:
0
,
"in_filter"
:
0
,
"in_list_view"
:
0
,
"in_list_view"
:
0
,
"in_standard_filter"
:
0
,
"label"
:
"Editable Grid"
,
"label"
:
"Editable Grid"
,
"length"
:
0
,
"length"
:
0
,
"no_copy"
:
0
,
"no_copy"
:
0
,
...
@@ -117,6 +124,7 @@
...
@@ -117,6 +124,7 @@
"print_hide"
:
0
,
"print_hide"
:
0
,
"print_hide_if_no_value"
:
0
,
"print_hide_if_no_value"
:
0
,
"read_only"
:
0
,
"read_only"
:
0
,
"remember_last_selected_value"
:
0
,
"report_hide"
:
0
,
"report_hide"
:
0
,
"reqd"
:
0
,
"reqd"
:
0
,
"search_index"
:
0
,
"search_index"
:
0
,
...
@@ -136,6 +144,7 @@
...
@@ -136,6 +144,7 @@
"ignore_xss_filter"
:
0
,
"ignore_xss_filter"
:
0
,
"in_filter"
:
0
,
"in_filter"
:
0
,
"in_list_view"
:
0
,
"in_list_view"
:
0
,
"in_standard_filter"
:
1
,
"label"
:
"Is Single"
,
"label"
:
"Is Single"
,
"length"
:
0
,
"length"
:
0
,
"no_copy"
:
0
,
"no_copy"
:
0
,
...
@@ -145,6 +154,7 @@
...
@@ -145,6 +154,7 @@
"print_hide"
:
0
,
"print_hide"
:
0
,
"print_hide_if_no_value"
:
0
,
"print_hide_if_no_value"
:
0
,
"read_only"
:
0
,
"read_only"
:
0
,
"remember_last_selected_value"
:
0
,
"report_hide"
:
0
,
"report_hide"
:
0
,
"reqd"
:
0
,
"reqd"
:
0
,
"search_index"
:
0
,
"search_index"
:
0
,
...
@@ -163,12 +173,14 @@
...
@@ -163,12 +173,14 @@
"ignore_xss_filter"
:
0
,
"ignore_xss_filter"
:
0
,
"in_filter"
:
0
,
"in_filter"
:
0
,
"in_list_view"
:
0
,
"in_list_view"
:
0
,
"in_standard_filter"
:
0
,
"length"
:
0
,
"length"
:
0
,
"no_copy"
:
0
,
"no_copy"
:
0
,
"permlevel"
:
0
,
"permlevel"
:
0
,
"print_hide"
:
0
,
"print_hide"
:
0
,
"print_hide_if_no_value"
:
0
,
"print_hide_if_no_value"
:
0
,
"read_only"
:
0
,
"read_only"
:
0
,
"remember_last_selected_value"
:
0
,
"report_hide"
:
0
,
"report_hide"
:
0
,
"reqd"
:
0
,
"reqd"
:
0
,
"search_index"
:
0
,
"search_index"
:
0
,
...
@@ -180,6 +192,7 @@
...
@@ -180,6 +192,7 @@
"bold"
:
0
,
"bold"
:
0
,
"collapsible"
:
0
,
"collapsible"
:
0
,
"columns"
:
0
,
"columns"
:
0
,
"description"
:
""
,
"fieldname"
:
"document_type"
,
"fieldname"
:
"document_type"
,
"fieldtype"
:
"Select"
,
"fieldtype"
:
"Select"
,
"hidden"
:
0
,
"hidden"
:
0
,
...
@@ -187,7 +200,8 @@
...
@@ -187,7 +200,8 @@
"ignore_xss_filter"
:
0
,
"ignore_xss_filter"
:
0
,
"in_filter"
:
0
,
"in_filter"
:
0
,
"in_list_view"
:
0
,
"in_list_view"
:
0
,
"label"
:
"Document Type"
,
"in_standard_filter"
:
0
,
"label"
:
"Show in Module Section"
,
"length"
:
0
,
"length"
:
0
,
"no_copy"
:
0
,
"no_copy"
:
0
,
"oldfieldname"
:
"document_type"
,
"oldfieldname"
:
"document_type"
,
...
@@ -197,35 +211,7 @@
...
@@ -197,35 +211,7 @@
"print_hide"
:
0
,
"print_hide"
:
0
,
"print_hide_if_no_value"
:
0
,
"print_hide_if_no_value"
:
0
,
"read_only"
:
0
,
"read_only"
:
0
,
"report_hide"
:
0
,
"remember_last_selected_value"
:
0
,
"reqd"
:
0
,
"search_index"
:
0
,
"set_only_once"
:
0
,
"unique"
:
0
},
{
"allow_on_submit"
:
0
,
"bold"
:
0
,
"collapsible"
:
0
,
"columns"
:
0
,
"default"
:
"InnoDB"
,
"depends_on"
:
"eval:!doc.issingle"
,
"fieldname"
:
"engine"
,
"fieldtype"
:
"Select"
,
"hidden"
:
0
,
"ignore_user_permissions"
:
0
,
"ignore_xss_filter"
:
0
,
"in_filter"
:
0
,
"in_list_view"
:
0
,
"label"
:
"Database Engine"
,
"length"
:
0
,
"no_copy"
:
0
,
"options"
:
"InnoDB
\n
MyISAM"
,
"permlevel"
:
0
,
"precision"
:
""
,
"print_hide"
:
0
,
"print_hide_if_no_value"
:
0
,
"read_only"
:
0
,
"report_hide"
:
0
,
"report_hide"
:
0
,
"reqd"
:
0
,
"reqd"
:
0
,
"search_index"
:
0
,
"search_index"
:
0
,
...
@@ -244,6 +230,7 @@
...
@@ -244,6 +230,7 @@
"ignore_xss_filter"
:
0
,
"ignore_xss_filter"
:
0
,
"in_filter"
:
0
,
"in_filter"
:
0
,
"in_list_view"
:
0
,
"in_list_view"
:
0
,
"in_standard_filter"
:
0
,
"label"
:
"Icon"
,
"label"
:
"Icon"
,
"length"
:
0
,
"length"
:
0
,
"no_copy"
:
0
,
"no_copy"
:
0
,
...
@@ -251,6 +238,7 @@
...
@@ -251,6 +238,7 @@
"print_hide"
:
0
,
"print_hide"
:
0
,
"print_hide_if_no_value"
:
0
,
"print_hide_if_no_value"
:
0
,
"read_only"
:
0
,
"read_only"
:
0
,
"remember_last_selected_value"
:
0
,
"report_hide"
:
0
,
"report_hide"
:
0
,
"reqd"
:
0
,
"reqd"
:
0
,
"search_index"
:
0
,
"search_index"
:
0
,
...
@@ -269,6 +257,7 @@
...
@@ -269,6 +257,7 @@
"ignore_xss_filter"
:
0
,
"ignore_xss_filter"
:
0
,
"in_filter"
:
0
,
"in_filter"
:
0
,
"in_list_view"
:
0
,
"in_list_view"
:
0
,
"in_standard_filter"
:
0
,
"label"
:
"Custom?"
,
"label"
:
"Custom?"
,
"length"
:
0
,
"length"
:
0
,
"no_copy"
:
0
,
"no_copy"
:
0
,
...
@@ -276,6 +265,7 @@
...
@@ -276,6 +265,7 @@
"print_hide"
:
0
,
"print_hide"
:
0
,
"print_hide_if_no_value"
:
0
,
"print_hide_if_no_value"
:
0
,
"read_only"
:
0
,
"read_only"
:
0
,
"remember_last_selected_value"
:
0
,
"report_hide"
:
0
,
"report_hide"
:
0
,
"reqd"
:
0
,
"reqd"
:
0
,
"search_index"
:
0
,
"search_index"
:
0
,
...
@@ -294,6 +284,7 @@
...
@@ -294,6 +284,7 @@
"ignore_xss_filter"
:
0
,
"ignore_xss_filter"
:
0
,
"in_filter"
:
0
,
"in_filter"
:
0
,
"in_list_view"
:
0
,
"in_list_view"
:
0
,
"in_standard_filter"
:
0
,
"label"
:
"Beta"
,
"label"
:
"Beta"
,
"length"
:
0
,
"length"
:
0
,
"no_copy"
:
0
,
"no_copy"
:
0
,
...
@@ -302,6 +293,7 @@
...
@@ -302,6 +293,7 @@
"print_hide"
:
0
,
"print_hide"
:
0
,
"print_hide_if_no_value"
:
0
,
"print_hide_if_no_value"
:
0
,
"read_only"
:
0
,
"read_only"
:
0
,
"remember_last_selected_value"
:
0
,
"report_hide"
:
0
,
"report_hide"
:
0
,
"reqd"
:
0
,
"reqd"
:
0
,
"search_index"
:
0
,
"search_index"
:
0
,
...
@@ -322,6 +314,7 @@
...
@@ -322,6 +314,7 @@
"ignore_xss_filter"
:
0
,
"ignore_xss_filter"
:
0
,
"in_filter"
:
0
,
"in_filter"
:
0
,
"in_list_view"
:
0
,
"in_list_view"
:
0
,
"in_standard_filter"
:
0
,
"label"
:
"Image View"
,
"label"
:
"Image View"
,
"length"
:
0
,
"length"
:
0
,
"no_copy"
:
0
,
"no_copy"
:
0
,
...
@@ -330,6 +323,7 @@
...
@@ -330,6 +323,7 @@
"print_hide"
:
0
,
"print_hide"
:
0
,
"print_hide_if_no_value"
:
0
,
"print_hide_if_no_value"
:
0
,
"read_only"
:
0
,
"read_only"
:
0
,
"remember_last_selected_value"
:
0
,
"report_hide"
:
0
,
"report_hide"
:
0
,
"reqd"
:
0
,
"reqd"
:
0
,
"search_index"
:
0
,
"search_index"
:
0
,
...
@@ -348,6 +342,7 @@
...
@@ -348,6 +342,7 @@
"ignore_xss_filter"
:
0
,
"ignore_xss_filter"
:
0
,
"in_filter"
:
0
,
"in_filter"
:
0
,
"in_list_view"
:
0
,
"in_list_view"
:
0
,
"in_standard_filter"
:
0
,
"label"
:
"Plugin"
,
"label"
:
"Plugin"
,
"length"
:
0
,
"length"
:
0
,
"no_copy"
:
0
,
"no_copy"
:
0
,
...
@@ -355,6 +350,7 @@
...
@@ -355,6 +350,7 @@
"print_hide"
:
0
,
"print_hide"
:
0
,
"print_hide_if_no_value"
:
0
,
"print_hide_if_no_value"
:
0
,
"read_only"
:
0
,
"read_only"
:
0
,
"remember_last_selected_value"
:
0
,
"report_hide"
:
0
,
"report_hide"
:
0
,
"reqd"
:
0
,
"reqd"
:
0
,
"search_index"
:
0
,
"search_index"
:
0
,
...
@@ -373,6 +369,7 @@
...
@@ -373,6 +369,7 @@
"ignore_xss_filter"
:
0
,
"ignore_xss_filter"
:
0
,
"in_filter"
:
0
,
"in_filter"
:
0
,
"in_list_view"
:
0
,
"in_list_view"
:
0
,
"in_standard_filter"
:
0
,
"label"
:
"Fields"
,
"label"
:
"Fields"
,
"length"
:
0
,
"length"
:
0
,
"no_copy"
:
0
,
"no_copy"
:
0
,
...
@@ -381,6 +378,7 @@
...
@@ -381,6 +378,7 @@
"print_hide"
:
0
,
"print_hide"
:
0
,
"print_hide_if_no_value"
:
0
,
"print_hide_if_no_value"
:
0
,
"read_only"
:
0
,
"read_only"
:
0
,
"remember_last_selected_value"
:
0
,
"report_hide"
:
0
,
"report_hide"
:
0
,
"reqd"
:
0
,
"reqd"
:
0
,
"search_index"
:
0
,
"search_index"
:
0
,
...
@@ -399,6 +397,7 @@
...
@@ -399,6 +397,7 @@
"ignore_xss_filter"
:
0
,
"ignore_xss_filter"
:
0
,
"in_filter"
:
0
,
"in_filter"
:
0
,
"in_list_view"
:
0
,
"in_list_view"
:
0
,
"in_standard_filter"
:
0
,
"label"
:
"Fields"
,
"label"
:
"Fields"
,
"length"
:
0
,
"length"
:
0
,
"no_copy"
:
0
,
"no_copy"
:
0
,
...
@@ -409,6 +408,7 @@
...
@@ -409,6 +408,7 @@
"print_hide"
:
0
,
"print_hide"
:
0
,
"print_hide_if_no_value"
:
0
,
"print_hide_if_no_value"
:
0
,
"read_only"
:
0
,
"read_only"
:
0
,
"remember_last_selected_value"
:
0
,
"report_hide"
:
0
,
"report_hide"
:
0
,
"reqd"
:
1
,
"reqd"
:
1
,
"search_index"
:
0
,
"search_index"
:
0
,
...
@@ -427,6 +427,7 @@
...
@@ -427,6 +427,7 @@
"ignore_xss_filter"
:
0
,
"ignore_xss_filter"
:
0
,
"in_filter"
:
0
,
"in_filter"
:
0
,
"in_list_view"
:
0
,
"in_list_view"
:
0
,
"in_standard_filter"
:
0
,
"label"
:
"Naming"
,
"label"
:
"Naming"
,
"length"
:
0
,
"length"
:
0
,
"no_copy"
:
0
,
"no_copy"
:
0
,
...
@@ -434,6 +435,7 @@
...
@@ -434,6 +435,7 @@
"print_hide"
:
0
,
"print_hide"
:
0
,
"print_hide_if_no_value"
:
0
,
"print_hide_if_no_value"
:
0
,
"read_only"
:
0
,
"read_only"
:
0
,
"remember_last_selected_value"
:
0
,
"report_hide"
:
0
,
"report_hide"
:
0
,
"reqd"
:
0
,
"reqd"
:
0
,
"search_index"
:
0
,
"search_index"
:
0
,
...
@@ -453,6 +455,7 @@
...
@@ -453,6 +455,7 @@
"ignore_xss_filter"
:
0
,
"ignore_xss_filter"
:
0
,
"in_filter"
:
0
,
"in_filter"
:
0
,
"in_list_view"
:
0
,
"in_list_view"
:
0
,
"in_standard_filter"
:
0
,
"label"
:
"Auto Name"
,
"label"
:
"Auto Name"
,
"length"
:
0
,
"length"
:
0
,
"no_copy"
:
0
,
"no_copy"
:
0
,
...
@@ -462,6 +465,7 @@
...
@@ -462,6 +465,7 @@
"print_hide"
:
0
,
"print_hide"
:
0
,
"print_hide_if_no_value"
:
0
,
"print_hide_if_no_value"
:
0
,
"read_only"
:
0
,
"read_only"
:
0
,
"remember_last_selected_value"
:
0
,
"report_hide"
:
0
,
"report_hide"
:
0
,
"reqd"
:
0
,
"reqd"
:
0
,
"search_index"
:
0
,
"search_index"
:
0
,
...
@@ -480,6 +484,7 @@
...
@@ -480,6 +484,7 @@
"ignore_xss_filter"
:
0
,
"ignore_xss_filter"
:
0
,
"in_filter"
:
0
,
"in_filter"
:
0
,
"in_list_view"
:
0
,
"in_list_view"
:
0
,
"in_standard_filter"
:
0
,
"label"
:
"Name Case"
,
"label"
:
"Name Case"
,
"length"
:
0
,
"length"
:
0
,
"no_copy"
:
0
,
"no_copy"
:
0
,
...
@@ -490,6 +495,7 @@
...
@@ -490,6 +495,7 @@
"print_hide"
:
0
,
"print_hide"
:
0
,
"print_hide_if_no_value"
:
0
,
"print_hide_if_no_value"
:
0
,
"read_only"
:
0
,
"read_only"
:
0
,
"remember_last_selected_value"
:
0
,
"report_hide"
:
0
,
"report_hide"
:
0
,
"reqd"
:
0
,
"reqd"
:
0
,
"search_index"
:
0
,
"search_index"
:
0
,
...
@@ -508,6 +514,7 @@
...
@@ -508,6 +514,7 @@
"ignore_xss_filter"
:
0
,
"ignore_xss_filter"
:
0
,
"in_filter"
:
0
,
"in_filter"
:
0
,
"in_list_view"
:
0
,
"in_list_view"
:
0
,
"in_standard_filter"
:
0
,
"label"
:
"Description"
,
"label"
:
"Description"
,
"length"
:
0
,
"length"
:
0
,
"no_copy"
:
0
,
"no_copy"
:
0
,
...
@@ -517,6 +524,7 @@
...
@@ -517,6 +524,7 @@
"print_hide"
:
0
,
"print_hide"
:
0
,
"print_hide_if_no_value"
:
0
,
"print_hide_if_no_value"
:
0
,
"read_only"
:
0
,
"read_only"
:
0
,
"remember_last_selected_value"
:
0
,
"report_hide"
:
0
,
"report_hide"
:
0
,
"reqd"
:
0
,
"reqd"
:
0
,
"search_index"
:
0
,
"search_index"
:
0
,
...
@@ -536,12 +544,14 @@
...
@@ -536,12 +544,14 @@
"ignore_xss_filter"
:
0
,
"ignore_xss_filter"
:
0
,
"in_filter"
:
0
,
"in_filter"
:
0
,
"in_list_view"
:
0
,
"in_list_view"
:
0
,
"in_standard_filter"
:
0
,
"length"
:
0
,
"length"
:
0
,
"no_copy"
:
0
,
"no_copy"
:
0
,
"permlevel"
:
0
,
"permlevel"
:
0
,
"print_hide"
:
0
,
"print_hide"
:
0
,
"print_hide_if_no_value"
:
0
,
"print_hide_if_no_value"
:
0
,
"read_only"
:
0
,
"read_only"
:
0
,
"remember_last_selected_value"
:
0
,
"report_hide"
:
0
,
"report_hide"
:
0
,
"reqd"
:
0
,
"reqd"
:
0
,
"search_index"
:
0
,
"search_index"
:
0
,
...
@@ -562,6 +572,7 @@
...
@@ -562,6 +572,7 @@
"ignore_xss_filter"
:
0
,
"ignore_xss_filter"
:
0
,
"in_filter"
:
0
,
"in_filter"
:
0
,
"in_list_view"
:
0
,
"in_list_view"
:
0
,
"in_standard_filter"
:
0
,
"label"
:
"Title Field"
,
"label"
:
"Title Field"
,
"length"
:
0
,
"length"
:
0
,
"no_copy"
:
0
,
"no_copy"
:
0
,
...
@@ -569,6 +580,7 @@
...
@@ -569,6 +580,7 @@
"print_hide"
:
0
,
"print_hide"
:
0
,
"print_hide_if_no_value"
:
0
,
"print_hide_if_no_value"
:
0
,
"read_only"
:
0
,
"read_only"
:
0
,
"remember_last_selected_value"
:
0
,
"report_hide"
:
0
,
"report_hide"
:
0
,
"reqd"
:
0
,
"reqd"
:
0
,
"search_index"
:
0
,
"search_index"
:
0
,
...
@@ -588,6 +600,7 @@
...
@@ -588,6 +600,7 @@
"ignore_xss_filter"
:
0
,
"ignore_xss_filter"
:
0
,
"in_filter"
:
0
,
"in_filter"
:
0
,
"in_list_view"
:
0
,
"in_list_view"
:
0
,
"in_standard_filter"
:
0
,
"label"
:
"Search Fields"
,
"label"
:
"Search Fields"
,
"length"
:
0
,
"length"
:
0
,
"no_copy"
:
0
,
"no_copy"
:
0
,
...
@@ -597,6 +610,7 @@
...
@@ -597,6 +610,7 @@
"print_hide"
:
0
,
"print_hide"
:
0
,
"print_hide_if_no_value"
:
0
,
"print_hide_if_no_value"
:
0
,
"read_only"
:
0
,
"read_only"
:
0
,
"remember_last_selected_value"
:
0
,
"report_hide"
:
0
,
"report_hide"
:
0
,
"reqd"
:
0
,
"reqd"
:
0
,
"search_index"
:
0
,
"search_index"
:
0
,
...
@@ -616,6 +630,7 @@
...
@@ -616,6 +630,7 @@
"ignore_xss_filter"
:
0
,
"ignore_xss_filter"
:
0
,
"in_filter"
:
0
,
"in_filter"
:
0
,
"in_list_view"
:
0
,
"in_list_view"
:
0
,
"in_standard_filter"
:
0
,
"label"
:
"Image Field"
,
"label"
:
"Image Field"
,
"length"
:
0
,
"length"
:
0
,
"no_copy"
:
0
,
"no_copy"
:
0
,
...
@@ -624,6 +639,7 @@
...
@@ -624,6 +639,7 @@
"print_hide"
:
0
,
"print_hide"
:
0
,
"print_hide_if_no_value"
:
0
,
"print_hide_if_no_value"
:
0
,
"read_only"
:
0
,
"read_only"
:
0
,
"remember_last_selected_value"
:
0
,
"report_hide"
:
0
,
"report_hide"
:
0
,
"reqd"
:
0
,
"reqd"
:
0
,
"search_index"
:
0
,
"search_index"
:
0
,
...
@@ -645,6 +661,7 @@
...
@@ -645,6 +661,7 @@
"ignore_xss_filter"
:
0
,
"ignore_xss_filter"
:
0
,
"in_filter"
:
0
,
"in_filter"
:
0
,
"in_list_view"
:
0
,
"in_list_view"
:
0
,
"in_standard_filter"
:
0
,
"label"
:
"Sort Field"
,
"label"
:
"Sort Field"
,
"length"
:
0
,
"length"
:
0
,
"no_copy"
:
0
,
"no_copy"
:
0
,
...
@@ -652,6 +669,7 @@
...
@@ -652,6 +669,7 @@
"print_hide"
:
0
,
"print_hide"
:
0
,
"print_hide_if_no_value"
:
0
,
"print_hide_if_no_value"
:
0
,
"read_only"
:
0
,
"read_only"
:
0
,
"remember_last_selected_value"
:
0
,
"report_hide"
:
0
,
"report_hide"
:
0
,
"reqd"
:
0
,
"reqd"
:
0
,
"search_index"
:
0
,
"search_index"
:
0
,
...
@@ -672,6 +690,7 @@
...
@@ -672,6 +690,7 @@
"ignore_xss_filter"
:
0
,
"ignore_xss_filter"
:
0
,
"in_filter"
:
0
,
"in_filter"
:
0
,
"in_list_view"
:
0
,
"in_list_view"
:
0
,
"in_standard_filter"
:
0
,
"label"
:
"Sort Order"
,
"label"
:
"Sort Order"
,
"length"
:
0
,
"length"
:
0
,
"no_copy"
:
0
,
"no_copy"
:
0
,
...
@@ -680,6 +699,7 @@
...
@@ -680,6 +699,7 @@
"print_hide"
:
0
,
"print_hide"
:
0
,
"print_hide_if_no_value"
:
0
,
"print_hide_if_no_value"
:
0
,
"read_only"
:
0
,
"read_only"
:
0
,
"remember_last_selected_value"
:
0
,
"report_hide"
:
0
,
"report_hide"
:
0
,
"reqd"
:
0
,
"reqd"
:
0
,
"search_index"
:
0
,
"search_index"
:
0
,
...
@@ -700,6 +720,7 @@
...
@@ -700,6 +720,7 @@
"ignore_xss_filter"
:
0
,
"ignore_xss_filter"
:
0
,
"in_filter"
:
0
,
"in_filter"
:
0
,
"in_list_view"
:
0
,
"in_list_view"
:
0
,
"in_standard_filter"
:
0
,
"label"
:
"Timeline Field"
,
"label"
:
"Timeline Field"
,
"length"
:
0
,
"length"
:
0
,
"no_copy"
:
0
,
"no_copy"
:
0
,
...
@@ -708,6 +729,7 @@
...
@@ -708,6 +729,7 @@
"print_hide"
:
0
,
"print_hide"
:
0
,
"print_hide_if_no_value"
:
0
,
"print_hide_if_no_value"
:
0
,
"read_only"
:
0
,
"read_only"
:
0
,
"remember_last_selected_value"
:
0
,
"report_hide"
:
0
,
"report_hide"
:
0
,
"reqd"
:
0
,
"reqd"
:
0
,
"search_index"
:
0
,
"search_index"
:
0
,
...
@@ -727,6 +749,7 @@
...
@@ -727,6 +749,7 @@
"ignore_xss_filter"
:
0
,
"ignore_xss_filter"
:
0
,
"in_filter"
:
0
,
"in_filter"
:
0
,
"in_list_view"
:
0
,
"in_list_view"
:
0
,
"in_standard_filter"
:
0
,
"label"
:
"Permission Rules"
,
"label"
:
"Permission Rules"
,
"length"
:
0
,
"length"
:
0
,
"no_copy"
:
0
,
"no_copy"
:
0
,
...
@@ -734,6 +757,7 @@
...
@@ -734,6 +757,7 @@
"print_hide"
:
0
,
"print_hide"
:
0
,
"print_hide_if_no_value"
:
0
,
"print_hide_if_no_value"
:
0
,
"read_only"
:
0
,
"read_only"
:
0
,
"remember_last_selected_value"
:
0
,
"report_hide"
:
0
,
"report_hide"
:
0
,
"reqd"
:
0
,
"reqd"
:
0
,
"search_index"
:
0
,
"search_index"
:
0
,
...
@@ -753,6 +777,7 @@
...
@@ -753,6 +777,7 @@
"ignore_xss_filter"
:
0
,
"ignore_xss_filter"
:
0
,
"in_filter"
:
0
,
"in_filter"
:
0
,
"in_list_view"
:
0
,
"in_list_view"
:
0
,
"in_standard_filter"
:
0
,
"label"
:
"Permissions"
,
"label"
:
"Permissions"
,
"length"
:
0
,
"length"
:
0
,
"no_copy"
:
0
,
"no_copy"
:
0
,
...
@@ -763,6 +788,7 @@
...
@@ -763,6 +788,7 @@
"print_hide"
:
0
,
"print_hide"
:
0
,
"print_hide_if_no_value"
:
0
,
"print_hide_if_no_value"
:
0
,
"read_only"
:
0
,
"read_only"
:
0
,
"remember_last_selected_value"
:
0
,
"report_hide"
:
0
,
"report_hide"
:
0
,
"reqd"
:
0
,
"reqd"
:
0
,
"search_index"
:
0
,
"search_index"
:
0
,
...
@@ -782,12 +808,14 @@
...
@@ -782,12 +808,14 @@
"ignore_xss_filter"
:
0
,
"ignore_xss_filter"
:
0
,
"in_filter"
:
0
,
"in_filter"
:
0
,
"in_list_view"
:
0
,
"in_list_view"
:
0
,
"in_standard_filter"
:
0
,
"length"
:
0
,
"length"
:
0
,
"no_copy"
:
0
,
"no_copy"
:
0
,
"permlevel"
:
0
,
"permlevel"
:
0
,
"print_hide"
:
0
,
"print_hide"
:
0
,
"print_hide_if_no_value"
:
0
,
"print_hide_if_no_value"
:
0
,
"read_only"
:
0
,
"read_only"
:
0
,
"remember_last_selected_value"
:
0
,
"report_hide"
:
0
,
"report_hide"
:
0
,
"reqd"
:
0
,
"reqd"
:
0
,
"search_index"
:
0
,
"search_index"
:
0
,
...
@@ -806,6 +834,7 @@
...
@@ -806,6 +834,7 @@
"ignore_xss_filter"
:
0
,
"ignore_xss_filter"
:
0
,
"in_filter"
:
0
,
"in_filter"
:
0
,
"in_list_view"
:
0
,
"in_list_view"
:
0
,
"in_standard_filter"
:
0
,
"label"
:
"Permissions Settings"
,
"label"
:
"Permissions Settings"
,
"length"
:
0
,
"length"
:
0
,
"no_copy"
:
0
,
"no_copy"
:
0
,
...
@@ -813,6 +842,7 @@
...
@@ -813,6 +842,7 @@
"print_hide"
:
0
,
"print_hide"
:
0
,
"print_hide_if_no_value"
:
0
,
"print_hide_if_no_value"
:
0
,
"read_only"
:
0
,
"read_only"
:
0
,
"remember_last_selected_value"
:
0
,
"report_hide"
:
0
,
"report_hide"
:
0
,
"reqd"
:
0
,
"reqd"
:
0
,
"search_index"
:
0
,
"search_index"
:
0
,
...
@@ -831,6 +861,7 @@
...
@@ -831,6 +861,7 @@
"ignore_xss_filter"
:
0
,
"ignore_xss_filter"
:
0
,
"in_filter"
:
0
,
"in_filter"
:
0
,
"in_list_view"
:
0
,
"in_list_view"
:
0
,
"in_standard_filter"
:
0
,
"label"
:
"User Cannot Create"
,
"label"
:
"User Cannot Create"
,
"length"
:
0
,
"length"
:
0
,
"no_copy"
:
0
,
"no_copy"
:
0
,
...
@@ -840,6 +871,7 @@
...
@@ -840,6 +871,7 @@
"print_hide"
:
0
,
"print_hide"
:
0
,
"print_hide_if_no_value"
:
0
,
"print_hide_if_no_value"
:
0
,
"read_only"
:
0
,
"read_only"
:
0
,
"remember_last_selected_value"
:
0
,
"report_hide"
:
0
,
"report_hide"
:
0
,
"reqd"
:
0
,
"reqd"
:
0
,
"search_index"
:
0
,
"search_index"
:
0
,
...
@@ -858,6 +890,7 @@
...
@@ -858,6 +890,7 @@
"ignore_xss_filter"
:
0
,
"ignore_xss_filter"
:
0
,
"in_filter"
:
0
,
"in_filter"
:
0
,
"in_list_view"
:
0
,
"in_list_view"
:
0
,
"in_standard_filter"
:
0
,
"label"
:
"User Cannot Search"
,
"label"
:
"User Cannot Search"
,
"length"
:
0
,
"length"
:
0
,
"no_copy"
:
0
,
"no_copy"
:
0
,
...
@@ -867,6 +900,7 @@
...
@@ -867,6 +900,7 @@
"print_hide"
:
0
,
"print_hide"
:
0
,
"print_hide_if_no_value"
:
0
,
"print_hide_if_no_value"
:
0
,
"read_only"
:
0
,
"read_only"
:
0
,
"remember_last_selected_value"
:
0
,
"report_hide"
:
0
,
"report_hide"
:
0
,
"reqd"
:
0
,
"reqd"
:
0
,
"search_index"
:
0
,
"search_index"
:
0
,
...
@@ -885,6 +919,7 @@
...
@@ -885,6 +919,7 @@
"ignore_xss_filter"
:
0
,
"ignore_xss_filter"
:
0
,
"in_filter"
:
0
,
"in_filter"
:
0
,
"in_list_view"
:
0
,
"in_list_view"
:
0
,
"in_standard_filter"
:
0
,
"label"
:
"Is Submittable"
,
"label"
:
"Is Submittable"
,
"length"
:
0
,
"length"
:
0
,
"no_copy"
:
0
,
"no_copy"
:
0
,
...
@@ -892,6 +927,7 @@
...
@@ -892,6 +927,7 @@
"print_hide"
:
0
,
"print_hide"
:
0
,
"print_hide_if_no_value"
:
0
,
"print_hide_if_no_value"
:
0
,
"read_only"
:
0
,
"read_only"
:
0
,
"remember_last_selected_value"
:
0
,
"report_hide"
:
0
,
"report_hide"
:
0
,
"reqd"
:
0
,
"reqd"
:
0
,
"search_index"
:
0
,
"search_index"
:
0
,
...
@@ -911,6 +947,7 @@
...
@@ -911,6 +947,7 @@
"ignore_xss_filter"
:
0
,
"ignore_xss_filter"
:
0
,
"in_filter"
:
0
,
"in_filter"
:
0
,
"in_list_view"
:
0
,
"in_list_view"
:
0
,
"in_standard_filter"
:
0
,
"label"
:
"Allow Import"
,
"label"
:
"Allow Import"
,
"length"
:
0
,
"length"
:
0
,
"no_copy"
:
0
,
"no_copy"
:
0
,
...
@@ -918,6 +955,7 @@
...
@@ -918,6 +955,7 @@
"print_hide"
:
0
,
"print_hide"
:
0
,
"print_hide_if_no_value"
:
0
,
"print_hide_if_no_value"
:
0
,
"read_only"
:
0
,
"read_only"
:
0
,
"remember_last_selected_value"
:
0
,
"report_hide"
:
0
,
"report_hide"
:
0
,
"reqd"
:
0
,
"reqd"
:
0
,
"search_index"
:
0
,
"search_index"
:
0
,
...
@@ -936,6 +974,7 @@
...
@@ -936,6 +974,7 @@
"ignore_xss_filter"
:
0
,
"ignore_xss_filter"
:
0
,
"in_filter"
:
0
,
"in_filter"
:
0
,
"in_list_view"
:
0
,
"in_list_view"
:
0
,
"in_standard_filter"
:
0
,
"label"
:
"Allow Rename"
,
"label"
:
"Allow Rename"
,
"length"
:
0
,
"length"
:
0
,
"no_copy"
:
0
,
"no_copy"
:
0
,
...
@@ -945,6 +984,7 @@
...
@@ -945,6 +984,7 @@
"print_hide"
:
0
,
"print_hide"
:
0
,
"print_hide_if_no_value"
:
0
,
"print_hide_if_no_value"
:
0
,
"read_only"
:
0
,
"read_only"
:
0
,
"remember_last_selected_value"
:
0
,
"report_hide"
:
0
,
"report_hide"
:
0
,
"reqd"
:
0
,
"reqd"
:
0
,
"search_index"
:
0
,
"search_index"
:
0
,
...
@@ -963,6 +1003,7 @@
...
@@ -963,6 +1003,7 @@
"ignore_xss_filter"
:
0
,
"ignore_xss_filter"
:
0
,
"in_filter"
:
0
,
"in_filter"
:
0
,
"in_list_view"
:
0
,
"in_list_view"
:
0
,
"in_standard_filter"
:
0
,
"label"
:
"In Dialog"
,
"label"
:
"In Dialog"
,
"length"
:
0
,
"length"
:
0
,
"no_copy"
:
0
,
"no_copy"
:
0
,
...
@@ -972,6 +1013,7 @@
...
@@ -972,6 +1013,7 @@
"print_hide"
:
0
,
"print_hide"
:
0
,
"print_hide_if_no_value"
:
0
,
"print_hide_if_no_value"
:
0
,
"read_only"
:
0
,
"read_only"
:
0
,
"remember_last_selected_value"
:
0
,
"report_hide"
:
0
,
"report_hide"
:
0
,
"reqd"
:
0
,
"reqd"
:
0
,
"search_index"
:
0
,
"search_index"
:
0
,
...
@@ -990,6 +1032,7 @@
...
@@ -990,6 +1032,7 @@
"ignore_xss_filter"
:
0
,
"ignore_xss_filter"
:
0
,
"in_filter"
:
0
,
"in_filter"
:
0
,
"in_list_view"
:
0
,
"in_list_view"
:
0
,
"in_standard_filter"
:
0
,
"label"
:
"Show Print First"
,
"label"
:
"Show Print First"
,
"length"
:
0
,
"length"
:
0
,
"no_copy"
:
0
,
"no_copy"
:
0
,
...
@@ -999,6 +1042,7 @@
...
@@ -999,6 +1042,7 @@
"print_hide"
:
0
,
"print_hide"
:
0
,
"print_hide_if_no_value"
:
0
,
"print_hide_if_no_value"
:
0
,
"read_only"
:
0
,
"read_only"
:
0
,
"remember_last_selected_value"
:
0
,
"report_hide"
:
0
,
"report_hide"
:
0
,
"reqd"
:
0
,
"reqd"
:
0
,
"search_index"
:
0
,
"search_index"
:
0
,
...
@@ -1017,6 +1061,7 @@
...
@@ -1017,6 +1061,7 @@
"ignore_xss_filter"
:
0
,
"ignore_xss_filter"
:
0
,
"in_filter"
:
0
,
"in_filter"
:
0
,
"in_list_view"
:
0
,
"in_list_view"
:
0
,
"in_standard_filter"
:
0
,
"label"
:
"Max Attachments"
,
"label"
:
"Max Attachments"
,
"length"
:
0
,
"length"
:
0
,
"no_copy"
:
0
,
"no_copy"
:
0
,
...
@@ -1026,6 +1071,7 @@
...
@@ -1026,6 +1071,7 @@
"print_hide"
:
0
,
"print_hide"
:
0
,
"print_hide_if_no_value"
:
0
,
"print_hide_if_no_value"
:
0
,
"read_only"
:
0
,
"read_only"
:
0
,
"remember_last_selected_value"
:
0
,
"report_hide"
:
0
,
"report_hide"
:
0
,
"reqd"
:
0
,
"reqd"
:
0
,
"search_index"
:
0
,
"search_index"
:
0
,
...
@@ -1044,6 +1090,7 @@
...
@@ -1044,6 +1090,7 @@
"ignore_xss_filter"
:
0
,
"ignore_xss_filter"
:
0
,
"in_filter"
:
0
,
"in_filter"
:
0
,
"in_list_view"
:
0
,
"in_list_view"
:
0
,
"in_standard_filter"
:
0
,
"label"
:
"Other Settings"
,
"label"
:
"Other Settings"
,
"length"
:
0
,
"length"
:
0
,
"no_copy"
:
0
,
"no_copy"
:
0
,
...
@@ -1051,6 +1098,7 @@
...
@@ -1051,6 +1098,7 @@
"print_hide"
:
0
,
"print_hide"
:
0
,
"print_hide_if_no_value"
:
0
,
"print_hide_if_no_value"
:
0
,
"read_only"
:
0
,
"read_only"
:
0
,
"remember_last_selected_value"
:
0
,
"report_hide"
:
0
,
"report_hide"
:
0
,
"reqd"
:
0
,
"reqd"
:
0
,
"search_index"
:
0
,
"search_index"
:
0
,
...
@@ -1069,6 +1117,7 @@
...
@@ -1069,6 +1117,7 @@
"ignore_xss_filter"
:
0
,
"ignore_xss_filter"
:
0
,
"in_filter"
:
0
,
"in_filter"
:
0
,
"in_list_view"
:
0
,
"in_list_view"
:
0
,
"in_standard_filter"
:
0
,
"label"
:
"Hide Heading"
,
"label"
:
"Hide Heading"
,
"length"
:
0
,
"length"
:
0
,
"no_copy"
:
0
,
"no_copy"
:
0
,
...
@@ -1078,6 +1127,7 @@
...
@@ -1078,6 +1127,7 @@
"print_hide"
:
0
,
"print_hide"
:
0
,
"print_hide_if_no_value"
:
0
,
"print_hide_if_no_value"
:
0
,
"read_only"
:
0
,
"read_only"
:
0
,
"remember_last_selected_value"
:
0
,
"report_hide"
:
0
,
"report_hide"
:
0
,
"reqd"
:
0
,
"reqd"
:
0
,
"search_index"
:
0
,
"search_index"
:
0
,
...
@@ -1096,6 +1146,7 @@
...
@@ -1096,6 +1146,7 @@
"ignore_xss_filter"
:
0
,
"ignore_xss_filter"
:
0
,
"in_filter"
:
0
,
"in_filter"
:
0
,
"in_list_view"
:
0
,
"in_list_view"
:
0
,
"in_standard_filter"
:
0
,
"label"
:
"Hide Toolbar"
,
"label"
:
"Hide Toolbar"
,
"length"
:
0
,
"length"
:
0
,
"no_copy"
:
0
,
"no_copy"
:
0
,
...
@@ -1105,6 +1156,7 @@
...
@@ -1105,6 +1156,7 @@
"print_hide"
:
0
,
"print_hide"
:
0
,
"print_hide_if_no_value"
:
0
,
"print_hide_if_no_value"
:
0
,
"read_only"
:
0
,
"read_only"
:
0
,
"remember_last_selected_value"
:
0
,
"report_hide"
:
0
,
"report_hide"
:
0
,
"reqd"
:
0
,
"reqd"
:
0
,
"search_index"
:
0
,
"search_index"
:
0
,
...
@@ -1123,6 +1175,7 @@
...
@@ -1123,6 +1175,7 @@
"ignore_xss_filter"
:
0
,
"ignore_xss_filter"
:
0
,
"in_filter"
:
0
,
"in_filter"
:
0
,
"in_list_view"
:
0
,
"in_list_view"
:
0
,
"in_standard_filter"
:
0
,
"label"
:
"Hide Copy"
,
"label"
:
"Hide Copy"
,
"length"
:
0
,
"length"
:
0
,
"no_copy"
:
0
,
"no_copy"
:
0
,
...
@@ -1132,6 +1185,7 @@
...
@@ -1132,6 +1185,7 @@
"print_hide"
:
0
,
"print_hide"
:
0
,
"print_hide_if_no_value"
:
0
,
"print_hide_if_no_value"
:
0
,
"read_only"
:
0
,
"read_only"
:
0
,
"remember_last_selected_value"
:
0
,
"report_hide"
:
0
,
"report_hide"
:
0
,
"reqd"
:
0
,
"reqd"
:
0
,
"search_index"
:
0
,
"search_index"
:
0
,
...
@@ -1150,6 +1204,7 @@
...
@@ -1150,6 +1204,7 @@
"ignore_xss_filter"
:
0
,
"ignore_xss_filter"
:
0
,
"in_filter"
:
0
,
"in_filter"
:
0
,
"in_list_view"
:
0
,
"in_list_view"
:
0
,
"in_standard_filter"
:
0
,
"label"
:
"Track Seen"
,
"label"
:
"Track Seen"
,
"length"
:
0
,
"length"
:
0
,
"no_copy"
:
0
,
"no_copy"
:
0
,
...
@@ -1158,6 +1213,7 @@
...
@@ -1158,6 +1213,7 @@
"print_hide"
:
0
,
"print_hide"
:
0
,
"print_hide_if_no_value"
:
0
,
"print_hide_if_no_value"
:
0
,
"read_only"
:
0
,
"read_only"
:
0
,
"remember_last_selected_value"
:
0
,
"report_hide"
:
0
,
"report_hide"
:
0
,
"reqd"
:
0
,
"reqd"
:
0
,
"search_index"
:
0
,
"search_index"
:
0
,
...
@@ -1177,6 +1233,7 @@
...
@@ -1177,6 +1233,7 @@
"ignore_xss_filter"
:
0
,
"ignore_xss_filter"
:
0
,
"in_filter"
:
0
,
"in_filter"
:
0
,
"in_list_view"
:
0
,
"in_list_view"
:
0
,
"in_standard_filter"
:
0
,
"label"
:
"Quick Entry"
,
"label"
:
"Quick Entry"
,
"length"
:
0
,
"length"
:
0
,
"no_copy"
:
0
,
"no_copy"
:
0
,
...
@@ -1185,6 +1242,7 @@
...
@@ -1185,6 +1242,7 @@
"print_hide"
:
0
,
"print_hide"
:
0
,
"print_hide_if_no_value"
:
0
,
"print_hide_if_no_value"
:
0
,
"read_only"
:
0
,
"read_only"
:
0
,
"remember_last_selected_value"
:
0
,
"report_hide"
:
0
,
"report_hide"
:
0
,
"reqd"
:
0
,
"reqd"
:
0
,
"search_index"
:
0
,
"search_index"
:
0
,
...
@@ -1203,6 +1261,7 @@
...
@@ -1203,6 +1261,7 @@
"ignore_xss_filter"
:
0
,
"ignore_xss_filter"
:
0
,
"in_filter"
:
0
,
"in_filter"
:
0
,
"in_list_view"
:
0
,
"in_list_view"
:
0
,
"in_standard_filter"
:
0
,
"label"
:
"Default Print Format"
,
"label"
:
"Default Print Format"
,
"length"
:
0
,
"length"
:
0
,
"no_copy"
:
0
,
"no_copy"
:
0
,
...
@@ -1210,6 +1269,66 @@
...
@@ -1210,6 +1269,66 @@
"print_hide"
:
0
,
"print_hide"
:
0
,
"print_hide_if_no_value"
:
0
,
"print_hide_if_no_value"
:
0
,
"read_only"
:
0
,
"read_only"
:
0
,
"remember_last_selected_value"
:
0
,
"report_hide"
:
0
,
"reqd"
:
0
,
"search_index"
:
0
,
"set_only_once"
:
0
,
"unique"
:
0
},
{
"allow_on_submit"
:
0
,
"bold"
:
0
,
"collapsible"
:
0
,
"columns"
:
0
,
"fieldname"
:
"advanced"
,
"fieldtype"
:
"Section Break"
,
"hidden"
:
0
,
"ignore_user_permissions"
:
0
,
"ignore_xss_filter"
:
0
,
"in_filter"
:
0
,
"in_list_view"
:
0
,
"in_standard_filter"
:
0
,
"label"
:
"Advanced"
,
"length"
:
0
,
"no_copy"
:
0
,
"permlevel"
:
0
,
"precision"
:
""
,
"print_hide"
:
0
,
"print_hide_if_no_value"
:
0
,
"read_only"
:
0
,
"remember_last_selected_value"
:
0
,
"report_hide"
:
0
,
"reqd"
:
0
,
"search_index"
:
0
,
"set_only_once"
:
0
,
"unique"
:
0
},
{
"allow_on_submit"
:
0
,
"bold"
:
0
,
"collapsible"
:
0
,
"columns"
:
0
,
"default"
:
"InnoDB"
,
"depends_on"
:
"eval:!doc.issingle"
,
"fieldname"
:
"engine"
,
"fieldtype"
:
"Select"
,
"hidden"
:
0
,
"ignore_user_permissions"
:
0
,
"ignore_xss_filter"
:
0
,
"in_filter"
:
0
,
"in_list_view"
:
0
,
"in_standard_filter"
:
0
,
"label"
:
"Database Engine"
,
"length"
:
0
,
"no_copy"
:
0
,
"options"
:
"InnoDB
\n
MyISAM"
,
"permlevel"
:
0
,
"precision"
:
""
,
"print_hide"
:
0
,
"print_hide_if_no_value"
:
0
,
"read_only"
:
0
,
"remember_last_selected_value"
:
0
,
"report_hide"
:
0
,
"report_hide"
:
0
,
"reqd"
:
0
,
"reqd"
:
0
,
"search_index"
:
0
,
"search_index"
:
0
,
...
@@ -1219,7 +1338,7 @@
...
@@ -1219,7 +1338,7 @@
],
],
"hide_heading"
:
0
,
"hide_heading"
:
0
,
"hide_toolbar"
:
0
,
"hide_toolbar"
:
0
,
"icon"
:
"
icon
-bolt"
,
"icon"
:
"
fa fa
-bolt"
,
"idx"
:
6
,
"idx"
:
6
,
"image_view"
:
0
,
"image_view"
:
0
,
"in_create"
:
0
,
"in_create"
:
0
,
...
@@ -1228,7 +1347,7 @@
...
@@ -1228,7 +1347,7 @@
"issingle"
:
0
,
"issingle"
:
0
,
"istable"
:
0
,
"istable"
:
0
,
"max_attachments"
:
0
,
"max_attachments"
:
0
,
"modified"
:
"2016-1
0-13
01:1
3:58.133080
"
,
"modified"
:
"2016-1
1-08
01:1
7:33.593456
"
,
"modified_by"
:
"Administrator"
,
"modified_by"
:
"Administrator"
,
"module"
:
"Core"
,
"module"
:
"Core"
,
"name"
:
"DocType"
,
"name"
:
"DocType"
,
...
...
This diff is collapsed.
Click to expand it.
frappe/core/doctype/doctype/doctype.py
View file @
f2bc961e
...
@@ -9,7 +9,7 @@ import frappe
...
@@ -9,7 +9,7 @@ import frappe
from
frappe
import
_
from
frappe
import
_
from
frappe.utils
import
now
,
cint
from
frappe.utils
import
now
,
cint
from
frappe.model
import
no_value_fields
from
frappe.model
import
no_value_fields
,
default_fields
from
frappe.model.document
import
Document
from
frappe.model.document
import
Document
from
frappe.custom.doctype.property_setter.property_setter
import
make_property_setter
from
frappe.custom.doctype.property_setter.property_setter
import
make_property_setter
from
frappe.desk.notifications
import
delete_notification_count_for
from
frappe.desk.notifications
import
delete_notification_count_for
...
@@ -59,15 +59,47 @@ class DocType(Document):
...
@@ -59,15 +59,47 @@ class DocType(Document):
self
.
make_amendable
()
self
.
make_amendable
()
self
.
validate_website
()
self
.
validate_website
()
self
.
update_fields_to_fetch
()
def
check_developer_mode
(
self
):
def
check_developer_mode
(
self
):
"""Throw exception if not developer mode or via patch"""
"""Throw exception if not developer mode or via patch"""
if
frappe
.
flags
.
in_patch
:
if
frappe
.
flags
.
in_patch
or
frappe
.
flags
.
in_test
:
return
return
if
not
frappe
.
conf
.
get
(
"developer_mode"
)
and
not
self
.
custom
:
if
not
frappe
.
conf
.
get
(
"developer_mode"
)
and
not
self
.
custom
:
frappe
.
throw
(
_
(
"Not in Developer Mode! Set in site_config.json or make 'Custom' DocType."
))
frappe
.
throw
(
_
(
"Not in Developer Mode! Set in site_config.json or make 'Custom' DocType."
))
def
update_fields_to_fetch
(
self
):
'''Update values for newly set fetch values'''
try
:
old_meta
=
frappe
.
get_meta
(
frappe
.
get_doc
(
'DocType'
,
self
.
name
),
cached
=
False
)
old_fields_to_fetch
=
[
df
.
fieldname
for
df
in
old_meta
.
get_fields_to_fetch
()]
except
frappe
.
DoesNotExistError
:
old_fields_to_fetch
=
[]
new_meta
=
frappe
.
get_meta
(
self
,
cached
=
False
)
if
set
(
old_fields_to_fetch
)
!=
set
([
df
.
fieldname
for
df
in
new_meta
.
get_fields_to_fetch
()]):
for
df
in
new_meta
.
get_fields_to_fetch
():
if
df
.
fieldname
not
in
old_fields_to_fetch
:
link_fieldname
,
source_fieldname
=
df
.
options
.
split
(
'.'
,
1
)
link_df
=
new_meta
.
get_field
(
link_fieldname
)
frappe
.
db
.
sql
(
'''update
`tab{link_doctype}` source,
`tab{doctype}` target
set
target.`{fieldname}` = source.`{source_fieldname}`
where
target.`{link_fieldname}` = source.name
and ifnull(target.`{fieldname}`, '')="" '''
.
format
(
link_doctype
=
link_df
.
options
,
source_fieldname
=
source_fieldname
,
doctype
=
self
.
name
,
fieldname
=
df
.
fieldname
,
link_fieldname
=
link_fieldname
))
def
validate_document_type
(
self
):
def
validate_document_type
(
self
):
if
self
.
document_type
==
"Transaction"
:
if
self
.
document_type
==
"Transaction"
:
self
.
document_type
=
"Document"
self
.
document_type
=
"Document"
...
@@ -387,7 +419,6 @@ def validate_fields(meta):
...
@@ -387,7 +419,6 @@ def validate_fields(meta):
if
not
meta
.
search_fields
:
if
not
meta
.
search_fields
:
return
return
fieldname_list
=
[
d
.
fieldname
for
d
in
fields
]
for
fieldname
in
(
meta
.
search_fields
or
""
).
split
(
","
):
for
fieldname
in
(
meta
.
search_fields
or
""
).
split
(
","
):
fieldname
=
fieldname
.
strip
()
fieldname
=
fieldname
.
strip
()
if
fieldname
not
in
fieldname_list
:
if
fieldname
not
in
fieldname_list
:
...
@@ -398,8 +429,6 @@ def validate_fields(meta):
...
@@ -398,8 +429,6 @@ def validate_fields(meta):
if
not
meta
.
get
(
"title_field"
):
if
not
meta
.
get
(
"title_field"
):
return
return
fieldname_list
=
[
d
.
fieldname
for
d
in
fields
]
if
meta
.
title_field
not
in
fieldname_list
:
if
meta
.
title_field
not
in
fieldname_list
:
frappe
.
throw
(
_
(
"Title field must be a valid fieldname"
),
InvalidFieldNameError
)
frappe
.
throw
(
_
(
"Title field must be a valid fieldname"
),
InvalidFieldNameError
)
...
@@ -437,8 +466,6 @@ def validate_fields(meta):
...
@@ -437,8 +466,6 @@ def validate_fields(meta):
if
not
meta
.
timeline_field
:
if
not
meta
.
timeline_field
:
return
return
fieldname_list
=
[
d
.
fieldname
for
d
in
fields
]
if
meta
.
timeline_field
not
in
fieldname_list
:
if
meta
.
timeline_field
not
in
fieldname_list
:
frappe
.
throw
(
_
(
"Timeline field must be a valid fieldname"
),
InvalidFieldNameError
)
frappe
.
throw
(
_
(
"Timeline field must be a valid fieldname"
),
InvalidFieldNameError
)
...
@@ -446,7 +473,22 @@ def validate_fields(meta):
...
@@ -446,7 +473,22 @@ def validate_fields(meta):
if
df
.
fieldtype
not
in
(
"Link"
,
"Dynamic Link"
):
if
df
.
fieldtype
not
in
(
"Link"
,
"Dynamic Link"
):
frappe
.
throw
(
_
(
"Timeline field must be a Link or Dynamic Link"
),
InvalidFieldNameError
)
frappe
.
throw
(
_
(
"Timeline field must be a Link or Dynamic Link"
),
InvalidFieldNameError
)
def
check_sort_field
(
meta
):
'''Validate that sort_field(s) is a valid field'''
if
meta
.
sort_field
:
sort_fields
=
[
meta
.
sort_field
]
if
','
in
meta
.
sort_field
:
sort_fields
=
[
d
.
split
()[
0
]
for
d
in
meta
.
sort_field
.
split
(
','
)]
for
fieldname
in
sort_fields
:
if
not
fieldname
in
fieldname_list
+
list
(
default_fields
):
frappe
.
throw
(
_
(
"Sort field {0} must be a valid fieldname"
).
format
(
fieldname
),
InvalidFieldNameError
)
fields
=
meta
.
get
(
"fields"
)
fields
=
meta
.
get
(
"fields"
)
fieldname_list
=
[
d
.
fieldname
for
d
in
fields
]
not_allowed_in_list_view
=
list
(
copy
.
copy
(
no_value_fields
))
not_allowed_in_list_view
=
list
(
copy
.
copy
(
no_value_fields
))
if
meta
.
istable
:
if
meta
.
istable
:
not_allowed_in_list_view
.
remove
(
'Button'
)
not_allowed_in_list_view
.
remove
(
'Button'
)
...
@@ -470,6 +512,7 @@ def validate_fields(meta):
...
@@ -470,6 +512,7 @@ def validate_fields(meta):
check_search_fields
(
meta
)
check_search_fields
(
meta
)
check_title_field
(
meta
)
check_title_field
(
meta
)
check_timeline_field
(
meta
)
check_timeline_field
(
meta
)
check_sort_field
(
meta
)
def
validate_permissions_for_doctype
(
doctype
,
for_remove
=
False
):
def
validate_permissions_for_doctype
(
doctype
,
for_remove
=
False
):
"""Validates if permissions are set correctly."""
"""Validates if permissions are set correctly."""
...
...
This diff is collapsed.
Click to expand it.
frappe/core/doctype/error_log/error_log.json
View file @
f2bc961e
...
@@ -93,7 +93,7 @@
...
@@ -93,7 +93,7 @@
],
],
"hide_heading"
:
0
,
"hide_heading"
:
0
,
"hide_toolbar"
:
0
,
"hide_toolbar"
:
0
,
"icon"
:
"
icon
-warning-sign"
,
"icon"
:
"
fa fa
-warning-sign"
,
"idx"
:
1
,
"idx"
:
1
,
"image_view"
:
0
,
"image_view"
:
0
,
"in_create"
:
0
,
"in_create"
:
0
,
...
...
This diff is collapsed.
Click to expand it.
frappe/core/doctype/error_log/error_log.py
View file @
f2bc961e
...
@@ -19,3 +19,9 @@ def set_old_logs_as_seen():
...
@@ -19,3 +19,9 @@ def set_old_logs_as_seen():
# clear old logs
# clear old logs
frappe
.
db
.
sql
(
"""delete from `tabError Log` where datediff(curdate(), creation) > 30"""
)
frappe
.
db
.
sql
(
"""delete from `tabError Log` where datediff(curdate(), creation) > 30"""
)
@
frappe
.
whitelist
()
def
clear_error_logs
():
'''Flush all Error Logs'''
frappe
.
only_for
(
'System Manager'
)
frappe
.
db
.
sql
(
'''delete from `tabError Log`'''
)
\ No newline at end of file
This diff is collapsed.
Click to expand it.
frappe/core/doctype/error_log/error_log_list.js
View file @
f2bc961e
...
@@ -8,4 +8,14 @@ frappe.listview_settings['Error Log'] = {
...
@@ -8,4 +8,14 @@ frappe.listview_settings['Error Log'] = {
}
}
},
},
order_by
:
"
seen asc, modified desc
"
,
order_by
:
"
seen asc, modified desc
"
,
onload
:
function
(
listview
)
{
listview
.
page
.
add_menu_item
(
__
(
"
Clear Error Logs
"
),
function
()
{
frappe
.
call
({
method
:
'
frappe.core.doctype.error_log.error_log.clear_error_logs
'
,
callback
:
function
()
{
listview
.
refresh
();
}
});
});
}
};
};
This diff is collapsed.
Click to expand it.
frappe/core/doctype/error_snapshot/error_snapshot.html
View file @
f2bc961e
...
@@ -62,7 +62,7 @@
...
@@ -62,7 +62,7 @@
</div>
</div>
<div
class=
"col-lg-1"
>
<div
class=
"col-lg-1"
>
<span
class=
"btn btn-xs btn-default"
data-toggle=
"collapse"
data-target=
"#frame-{{ frameid }}-locals"
>
<span
class=
"btn btn-xs btn-default"
data-toggle=
"collapse"
data-target=
"#frame-{{ frameid }}-locals"
>
<i
class=
"
icon
-list-ul"
>
{{ __("Locals") }}
</i>
<i
class=
"
fa fa
-list-ul"
>
{{ __("Locals") }}
</i>
</span>
</span>
</div>
</div>
</div>
</div>
...
...
This diff is collapsed.
Click to expand it.
Prev
1
2
3
4
5
…
25
Next
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment
Menu
Projects
Groups
Snippets
Help