788 lines
No EOL
22 KiB
HTML
788 lines
No EOL
22 KiB
HTML
<!-- title: frappe.model.document --><div class="dev-header">
|
|
|
|
<a class="btn btn-default btn-sm" disabled style="margin-bottom: 10px;">
|
|
Version 6.11.0</a>
|
|
|
|
|
|
<a class="btn btn-default btn-sm" href="https://github.com/frappe/frappe/blob/develop/frappe/model/document.py"
|
|
target="_blank" style="margin-left: 10px; margin-bottom: 10px;"><i class="octicon octicon-mark-github"></i> Source</a>
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<h3 style="font-weight: normal;">Class <b>Document</b></h3>
|
|
|
|
<p style="padding-left: 30px;"><i>Inherits from frappe.model.base_document.BaseDocument</i></h4>
|
|
|
|
<div class="docs-attr-desc"><p>All controllers inherit from <code>Document</code>.</p>
|
|
</div>
|
|
<div style="padding-left: 30px;">
|
|
|
|
|
|
|
|
|
|
<p class="docs-attr-name">
|
|
<a name="__init__" href="#__init__" class="text-muted small">
|
|
<i class="icon-link small" style="color: #ccc;"></i></a>
|
|
<b>__init__</b>
|
|
<i class="text-muted">(self, arg1, arg2=None)</i>
|
|
</p>
|
|
<div class="docs-attr-desc"><p>Constructor.</p>
|
|
|
|
<p><strong>Parameters:</strong></p>
|
|
|
|
<ul>
|
|
<li><strong><code>arg1</code></strong> - DocType name as string or document <strong>dict</strong></li>
|
|
<li><strong><code>arg2</code></strong> - Document name, if <code>arg1</code> is DocType name.</li>
|
|
</ul>
|
|
|
|
<p>If DocType name and document name are passed, the object will load
|
|
all values (including child documents) from the database.</p>
|
|
</div>
|
|
<br>
|
|
|
|
|
|
|
|
|
|
|
|
<p class="docs-attr-name">
|
|
<a name="_set_defaults" href="#_set_defaults" class="text-muted small">
|
|
<i class="icon-link small" style="color: #ccc;"></i></a>
|
|
<b>_set_defaults</b>
|
|
<i class="text-muted">(self)</i>
|
|
</p>
|
|
<div class="docs-attr-desc"><p><span class="text-muted">No docs</span></p>
|
|
</div>
|
|
<br>
|
|
|
|
|
|
|
|
|
|
|
|
<p class="docs-attr-name">
|
|
<a name="_validate" href="#_validate" class="text-muted small">
|
|
<i class="icon-link small" style="color: #ccc;"></i></a>
|
|
<b>_validate</b>
|
|
<i class="text-muted">(self)</i>
|
|
</p>
|
|
<div class="docs-attr-desc"><p><span class="text-muted">No docs</span></p>
|
|
</div>
|
|
<br>
|
|
|
|
|
|
|
|
|
|
|
|
<p class="docs-attr-name">
|
|
<a name="_validate_links" href="#_validate_links" class="text-muted small">
|
|
<i class="icon-link small" style="color: #ccc;"></i></a>
|
|
<b>_validate_links</b>
|
|
<i class="text-muted">(self)</i>
|
|
</p>
|
|
<div class="docs-attr-desc"><p><span class="text-muted">No docs</span></p>
|
|
</div>
|
|
<br>
|
|
|
|
|
|
|
|
|
|
|
|
<p class="docs-attr-name">
|
|
<a name="_validate_mandatory" href="#_validate_mandatory" class="text-muted small">
|
|
<i class="icon-link small" style="color: #ccc;"></i></a>
|
|
<b>_validate_mandatory</b>
|
|
<i class="text-muted">(self)</i>
|
|
</p>
|
|
<div class="docs-attr-desc"><p><span class="text-muted">No docs</span></p>
|
|
</div>
|
|
<br>
|
|
|
|
|
|
|
|
|
|
|
|
<p class="docs-attr-name">
|
|
<a name="add_comment" href="#add_comment" class="text-muted small">
|
|
<i class="icon-link small" style="color: #ccc;"></i></a>
|
|
<b>add_comment</b>
|
|
<i class="text-muted">(self, comment_type, text=None, comment_by=None)</i>
|
|
</p>
|
|
<div class="docs-attr-desc"><p>Add a comment to this document.</p>
|
|
|
|
<p><strong>Parameters:</strong></p>
|
|
|
|
<ul>
|
|
<li><strong><code>comment_type</code></strong> - e.g. <code>Comment</code>. See Comment for more info.</li>
|
|
</ul>
|
|
</div>
|
|
<br>
|
|
|
|
|
|
|
|
|
|
|
|
<p class="docs-attr-name">
|
|
<a name="cancel" href="#cancel" class="text-muted small">
|
|
<i class="icon-link small" style="color: #ccc;"></i></a>
|
|
<b>cancel</b>
|
|
<i class="text-muted">(self)</i>
|
|
</p>
|
|
<div class="docs-attr-desc"><p>Cancel the document. Sets <code>docstatus</code> = 2, then saves.</p>
|
|
</div>
|
|
<br>
|
|
|
|
|
|
|
|
|
|
|
|
<p class="docs-attr-name">
|
|
<a name="check_docstatus_transition" href="#check_docstatus_transition" class="text-muted small">
|
|
<i class="icon-link small" style="color: #ccc;"></i></a>
|
|
<b>check_docstatus_transition</b>
|
|
<i class="text-muted">(self, docstatus)</i>
|
|
</p>
|
|
<div class="docs-attr-desc"><p>Ensures valid <code>docstatus</code> transition.
|
|
Valid transitions are (number in brackets is <code>docstatus</code>):</p>
|
|
|
|
<ul>
|
|
<li>Save (0) > Save (0)</li>
|
|
<li>Save (0) > Submit (1)</li>
|
|
<li>Submit (1) > Submit (1)</li>
|
|
<li>Submit (1) > Cancel (2)</li>
|
|
</ul>
|
|
</div>
|
|
<br>
|
|
|
|
|
|
|
|
|
|
|
|
<p class="docs-attr-name">
|
|
<a name="check_if_latest" href="#check_if_latest" class="text-muted small">
|
|
<i class="icon-link small" style="color: #ccc;"></i></a>
|
|
<b>check_if_latest</b>
|
|
<i class="text-muted">(self)</i>
|
|
</p>
|
|
<div class="docs-attr-desc"><p>Checks if <code>modified</code> timestamp provided by document being updated is same as the
|
|
<code>modified</code> timestamp in the database. If there is a different, the document has been
|
|
updated in the database after the current copy was read. Will throw an error if
|
|
timestamps don't match.</p>
|
|
|
|
<p>Will also validate document transitions (Save > Submit > Cancel) calling
|
|
<code>self.check_docstatus_transition</code>.</p>
|
|
</div>
|
|
<br>
|
|
|
|
|
|
|
|
|
|
|
|
<p class="docs-attr-name">
|
|
<a name="check_no_back_links_exist" href="#check_no_back_links_exist" class="text-muted small">
|
|
<i class="icon-link small" style="color: #ccc;"></i></a>
|
|
<b>check_no_back_links_exist</b>
|
|
<i class="text-muted">(self)</i>
|
|
</p>
|
|
<div class="docs-attr-desc"><p>Check if document links to any active document before Cancel.</p>
|
|
</div>
|
|
<br>
|
|
|
|
|
|
|
|
|
|
|
|
<p class="docs-attr-name">
|
|
<a name="check_permission" href="#check_permission" class="text-muted small">
|
|
<i class="icon-link small" style="color: #ccc;"></i></a>
|
|
<b>check_permission</b>
|
|
<i class="text-muted">(self, permtype, permlabel=None)</i>
|
|
</p>
|
|
<div class="docs-attr-desc"><p>Raise <code>frappe.PermissionError</code> if not permitted</p>
|
|
</div>
|
|
<br>
|
|
|
|
|
|
|
|
|
|
|
|
<p class="docs-attr-name">
|
|
<a name="clear_cache" href="#clear_cache" class="text-muted small">
|
|
<i class="icon-link small" style="color: #ccc;"></i></a>
|
|
<b>clear_cache</b>
|
|
<i class="text-muted">(self)</i>
|
|
</p>
|
|
<div class="docs-attr-desc"><p><span class="text-muted">No docs</span></p>
|
|
</div>
|
|
<br>
|
|
|
|
|
|
|
|
|
|
|
|
<p class="docs-attr-name">
|
|
<a name="clear_linked_with_cache" href="#clear_linked_with_cache" class="text-muted small">
|
|
<i class="icon-link small" style="color: #ccc;"></i></a>
|
|
<b>clear_linked_with_cache</b>
|
|
<i class="text-muted">(self)</i>
|
|
</p>
|
|
<div class="docs-attr-desc"><p><span class="text-muted">No docs</span></p>
|
|
</div>
|
|
<br>
|
|
|
|
|
|
|
|
|
|
|
|
<p class="docs-attr-name">
|
|
<a name="delete" href="#delete" class="text-muted small">
|
|
<i class="icon-link small" style="color: #ccc;"></i></a>
|
|
<b>delete</b>
|
|
<i class="text-muted">(self)</i>
|
|
</p>
|
|
<div class="docs-attr-desc"><p>Delete document.</p>
|
|
</div>
|
|
<br>
|
|
|
|
|
|
|
|
|
|
|
|
<p class="docs-attr-name">
|
|
<a name="get_all_children" href="#get_all_children" class="text-muted small">
|
|
<i class="icon-link small" style="color: #ccc;"></i></a>
|
|
<b>get_all_children</b>
|
|
<i class="text-muted">(self, parenttype=None)</i>
|
|
</p>
|
|
<div class="docs-attr-desc"><p>Returns all children documents from <strong>Table</strong> type field in a list.</p>
|
|
</div>
|
|
<br>
|
|
|
|
|
|
|
|
|
|
|
|
<p class="docs-attr-name">
|
|
<a name="get_latest" href="#get_latest" class="text-muted small">
|
|
<i class="icon-link small" style="color: #ccc;"></i></a>
|
|
<b>get_latest</b>
|
|
<i class="text-muted">(self)</i>
|
|
</p>
|
|
<div class="docs-attr-desc"><p><span class="text-muted">No docs</span></p>
|
|
</div>
|
|
<br>
|
|
|
|
|
|
|
|
|
|
|
|
<p class="docs-attr-name">
|
|
<a name="get_permlevel_access" href="#get_permlevel_access" class="text-muted small">
|
|
<i class="icon-link small" style="color: #ccc;"></i></a>
|
|
<b>get_permlevel_access</b>
|
|
<i class="text-muted">(self)</i>
|
|
</p>
|
|
<div class="docs-attr-desc"><p><span class="text-muted">No docs</span></p>
|
|
</div>
|
|
<br>
|
|
|
|
|
|
|
|
|
|
|
|
<p class="docs-attr-name">
|
|
<a name="get_signature" href="#get_signature" class="text-muted small">
|
|
<i class="icon-link small" style="color: #ccc;"></i></a>
|
|
<b>get_signature</b>
|
|
<i class="text-muted">(self)</i>
|
|
</p>
|
|
<div class="docs-attr-desc"><p>Returns signature (hash) for private URL.</p>
|
|
</div>
|
|
<br>
|
|
|
|
|
|
|
|
|
|
|
|
<p class="docs-attr-name">
|
|
<a name="get_starred_by" href="#get_starred_by" class="text-muted small">
|
|
<i class="icon-link small" style="color: #ccc;"></i></a>
|
|
<b>get_starred_by</b>
|
|
<i class="text-muted">(self)</i>
|
|
</p>
|
|
<div class="docs-attr-desc"><p><span class="text-muted">No docs</span></p>
|
|
</div>
|
|
<br>
|
|
|
|
|
|
|
|
|
|
|
|
<p class="docs-attr-name">
|
|
<a name="get_url" href="#get_url" class="text-muted small">
|
|
<i class="icon-link small" style="color: #ccc;"></i></a>
|
|
<b>get_url</b>
|
|
<i class="text-muted">(self)</i>
|
|
</p>
|
|
<div class="docs-attr-desc"><p>Returns Desk URL for this document. <code>/desk#Form/{doctype}/{name}</code></p>
|
|
</div>
|
|
<br>
|
|
|
|
|
|
|
|
|
|
|
|
<p class="docs-attr-name">
|
|
<a name="has_permission" href="#has_permission" class="text-muted small">
|
|
<i class="icon-link small" style="color: #ccc;"></i></a>
|
|
<b>has_permission</b>
|
|
<i class="text-muted">(self, permtype=read, verbose=False)</i>
|
|
</p>
|
|
<div class="docs-attr-desc"><p>Call <code>frappe.has_permission</code> if <code>self.flags.ignore_permissions</code>
|
|
is not set.</p>
|
|
|
|
<p><strong>Parameters:</strong></p>
|
|
|
|
<ul>
|
|
<li><strong><code>permtype</code></strong> - one of <code>read</code>, <code>write</code>, <code>submit</code>, <code>cancel</code>, <code>delete</code></li>
|
|
</ul>
|
|
</div>
|
|
<br>
|
|
|
|
|
|
|
|
|
|
|
|
<p class="docs-attr-name">
|
|
<a name="has_website_permission" href="#has_website_permission" class="text-muted small">
|
|
<i class="icon-link small" style="color: #ccc;"></i></a>
|
|
<b>has_website_permission</b>
|
|
<i class="text-muted">(self, permtype=read, verbose=False)</i>
|
|
</p>
|
|
<div class="docs-attr-desc"><p>Call <code>frappe.has_website_permission</code> if <code>self.flags.ignore_permissions</code>
|
|
is not set.</p>
|
|
|
|
<p><strong>Parameters:</strong></p>
|
|
|
|
<ul>
|
|
<li><strong><code>permtype</code></strong> - one of <code>read</code>, <code>write</code>, <code>submit</code>, <code>cancel</code>, <code>delete</code></li>
|
|
</ul>
|
|
</div>
|
|
<br>
|
|
|
|
|
|
|
|
|
|
|
|
<p class="docs-attr-name">
|
|
<a name="insert" href="#insert" class="text-muted small">
|
|
<i class="icon-link small" style="color: #ccc;"></i></a>
|
|
<b>insert</b>
|
|
<i class="text-muted">(self, ignore_permissions=None)</i>
|
|
</p>
|
|
<div class="docs-attr-desc"><p>Insert the document in the database (as a new document).
|
|
This will check for user permissions and execute <code>before_insert</code>,
|
|
<code>validate</code>, <code>on_update</code>, <code>after_insert</code> methods if they are written.</p>
|
|
|
|
<p><strong>Parameters:</strong></p>
|
|
|
|
<ul>
|
|
<li><strong><code>ignore_permissions</code></strong> - Do not check permissions if True.</li>
|
|
</ul>
|
|
</div>
|
|
<br>
|
|
|
|
|
|
|
|
|
|
|
|
<p class="docs-attr-name">
|
|
<a name="is_whitelisted" href="#is_whitelisted" class="text-muted small">
|
|
<i class="icon-link small" style="color: #ccc;"></i></a>
|
|
<b>is_whitelisted</b>
|
|
<i class="text-muted">(self, method)</i>
|
|
</p>
|
|
<div class="docs-attr-desc"><p><span class="text-muted">No docs</span></p>
|
|
</div>
|
|
<br>
|
|
|
|
|
|
|
|
|
|
|
|
<p class="docs-attr-name">
|
|
<a name="load_from_db" href="#load_from_db" class="text-muted small">
|
|
<i class="icon-link small" style="color: #ccc;"></i></a>
|
|
<b>load_from_db</b>
|
|
<i class="text-muted">(self)</i>
|
|
</p>
|
|
<div class="docs-attr-desc"><p>Load document and children from database and create properties
|
|
from fields</p>
|
|
</div>
|
|
<br>
|
|
|
|
|
|
|
|
|
|
|
|
<p class="docs-attr-name">
|
|
<a name="notify_update" href="#notify_update" class="text-muted small">
|
|
<i class="icon-link small" style="color: #ccc;"></i></a>
|
|
<b>notify_update</b>
|
|
<i class="text-muted">(self)</i>
|
|
</p>
|
|
<div class="docs-attr-desc"><p>Publish realtime that the current document is modified</p>
|
|
</div>
|
|
<br>
|
|
|
|
|
|
|
|
|
|
|
|
<p class="docs-attr-name">
|
|
<a name="raise_no_permission_to" href="#raise_no_permission_to" class="text-muted small">
|
|
<i class="icon-link small" style="color: #ccc;"></i></a>
|
|
<b>raise_no_permission_to</b>
|
|
<i class="text-muted">(self, perm_type)</i>
|
|
</p>
|
|
<div class="docs-attr-desc"><p>Raise <code>frappe.PermissionError</code>.</p>
|
|
</div>
|
|
<br>
|
|
|
|
|
|
|
|
|
|
|
|
<p class="docs-attr-name">
|
|
<a name="reload" href="#reload" class="text-muted small">
|
|
<i class="icon-link small" style="color: #ccc;"></i></a>
|
|
<b>reload</b>
|
|
<i class="text-muted">(self)</i>
|
|
</p>
|
|
<div class="docs-attr-desc"><p>Reload document from database</p>
|
|
</div>
|
|
<br>
|
|
|
|
|
|
|
|
|
|
|
|
<p class="docs-attr-name">
|
|
<a name="round_floats_in" href="#round_floats_in" class="text-muted small">
|
|
<i class="icon-link small" style="color: #ccc;"></i></a>
|
|
<b>round_floats_in</b>
|
|
<i class="text-muted">(self, doc, fieldnames=None)</i>
|
|
</p>
|
|
<div class="docs-attr-desc"><p>Round floats for all <code>Currency</code>, <code>Float</code>, <code>Percent</code> fields for the given doc.</p>
|
|
|
|
<p><strong>Parameters:</strong></p>
|
|
|
|
<ul>
|
|
<li><strong><code>doc</code></strong> - Document whose numeric properties are to be rounded.</li>
|
|
<li><strong><code>fieldnames</code></strong> - [Optional] List of fields to be rounded.</li>
|
|
</ul>
|
|
</div>
|
|
<br>
|
|
|
|
|
|
|
|
|
|
|
|
<p class="docs-attr-name">
|
|
<a name="run_before_save_methods" href="#run_before_save_methods" class="text-muted small">
|
|
<i class="icon-link small" style="color: #ccc;"></i></a>
|
|
<b>run_before_save_methods</b>
|
|
<i class="text-muted">(self)</i>
|
|
</p>
|
|
<div class="docs-attr-desc"><p>Run standard methods before <code>INSERT</code> or <code>UPDATE</code>. Standard Methods are:</p>
|
|
|
|
<ul>
|
|
<li><code>validate</code>, <code>before_save</code> for <strong>Save</strong>.</li>
|
|
<li><code>validate</code>, <code>before_submit</code> for <strong>Submit</strong>.</li>
|
|
<li><code>before_cancel</code> for <strong>Cancel</strong></li>
|
|
<li><code>before_update_after_submit</code> for <strong>Update after Submit</strong></li>
|
|
</ul>
|
|
|
|
<p>Will also update title_field if set</p>
|
|
</div>
|
|
<br>
|
|
|
|
|
|
|
|
|
|
|
|
<p class="docs-attr-name">
|
|
<a name="run_method" href="#run_method" class="text-muted small">
|
|
<i class="icon-link small" style="color: #ccc;"></i></a>
|
|
<b>run_method</b>
|
|
<i class="text-muted">(self, method)</i>
|
|
</p>
|
|
<div class="docs-attr-desc"><p>run standard triggers, plus those in hooks</p>
|
|
</div>
|
|
<br>
|
|
|
|
|
|
|
|
|
|
|
|
<p class="docs-attr-name">
|
|
<a name="run_post_save_methods" href="#run_post_save_methods" class="text-muted small">
|
|
<i class="icon-link small" style="color: #ccc;"></i></a>
|
|
<b>run_post_save_methods</b>
|
|
<i class="text-muted">(self)</i>
|
|
</p>
|
|
<div class="docs-attr-desc"><p>Run standard methods after <code>INSERT</code> or <code>UPDATE</code>. Standard Methods are:</p>
|
|
|
|
<ul>
|
|
<li><code>on_update</code> for <strong>Save</strong>.</li>
|
|
<li><code>on_update</code>, <code>on_submit</code> for <strong>Submit</strong>.</li>
|
|
<li><code>on_cancel</code> for <strong>Cancel</strong></li>
|
|
<li><code>update_after_submit</code> for <strong>Update after Submit</strong></li>
|
|
</ul>
|
|
</div>
|
|
<br>
|
|
|
|
|
|
|
|
|
|
|
|
<p class="docs-attr-name">
|
|
<a name="save" href="#save" class="text-muted small">
|
|
<i class="icon-link small" style="color: #ccc;"></i></a>
|
|
<b>save</b>
|
|
<i class="text-muted">(self, ignore_permissions=None)</i>
|
|
</p>
|
|
<div class="docs-attr-desc"><p>Save the current document in the database in the <strong>DocType</strong>'s table or
|
|
<code>tabSingles</code> (for single types).</p>
|
|
|
|
<p>This will check for user permissions and execute
|
|
<code>validate</code> before updating, <code>on_update</code> after updating triggers.</p>
|
|
|
|
<p><strong>Parameters:</strong></p>
|
|
|
|
<ul>
|
|
<li><strong><code>ignore_permissions</code></strong> - Do not check permissions if True.</li>
|
|
</ul>
|
|
</div>
|
|
<br>
|
|
|
|
|
|
|
|
|
|
|
|
<p class="docs-attr-name">
|
|
<a name="set_docstatus_user_and_timestamp" href="#set_docstatus_user_and_timestamp" class="text-muted small">
|
|
<i class="icon-link small" style="color: #ccc;"></i></a>
|
|
<b>set_docstatus_user_and_timestamp</b>
|
|
<i class="text-muted">(self)</i>
|
|
</p>
|
|
<div class="docs-attr-desc"><p><span class="text-muted">No docs</span></p>
|
|
</div>
|
|
<br>
|
|
|
|
|
|
|
|
|
|
|
|
<p class="docs-attr-name">
|
|
<a name="set_new_name" href="#set_new_name" class="text-muted small">
|
|
<i class="icon-link small" style="color: #ccc;"></i></a>
|
|
<b>set_new_name</b>
|
|
<i class="text-muted">(self)</i>
|
|
</p>
|
|
<div class="docs-attr-desc"><p>Calls <code>frappe.naming.se_new_name</code> for parent and child docs.</p>
|
|
</div>
|
|
<br>
|
|
|
|
|
|
|
|
|
|
|
|
<p class="docs-attr-name">
|
|
<a name="set_onload" href="#set_onload" class="text-muted small">
|
|
<i class="icon-link small" style="color: #ccc;"></i></a>
|
|
<b>set_onload</b>
|
|
<i class="text-muted">(self, key, value)</i>
|
|
</p>
|
|
<div class="docs-attr-desc"><p><span class="text-muted">No docs</span></p>
|
|
</div>
|
|
<br>
|
|
|
|
|
|
|
|
|
|
|
|
<p class="docs-attr-name">
|
|
<a name="set_parent_in_children" href="#set_parent_in_children" class="text-muted small">
|
|
<i class="icon-link small" style="color: #ccc;"></i></a>
|
|
<b>set_parent_in_children</b>
|
|
<i class="text-muted">(self)</i>
|
|
</p>
|
|
<div class="docs-attr-desc"><p>Updates <code>parent</code> and <code>parenttype</code> property in all children.</p>
|
|
</div>
|
|
<br>
|
|
|
|
|
|
|
|
|
|
|
|
<p class="docs-attr-name">
|
|
<a name="set_title_field" href="#set_title_field" class="text-muted small">
|
|
<i class="icon-link small" style="color: #ccc;"></i></a>
|
|
<b>set_title_field</b>
|
|
<i class="text-muted">(self)</i>
|
|
</p>
|
|
<div class="docs-attr-desc"><p>Set title field based on template</p>
|
|
</div>
|
|
<br>
|
|
|
|
|
|
|
|
|
|
|
|
<p class="docs-attr-name">
|
|
<a name="submit" href="#submit" class="text-muted small">
|
|
<i class="icon-link small" style="color: #ccc;"></i></a>
|
|
<b>submit</b>
|
|
<i class="text-muted">(self)</i>
|
|
</p>
|
|
<div class="docs-attr-desc"><p>Submit the document. Sets <code>docstatus</code> = 1, then saves.</p>
|
|
</div>
|
|
<br>
|
|
|
|
|
|
|
|
|
|
|
|
<p class="docs-attr-name">
|
|
<a name="update_children" href="#update_children" class="text-muted small">
|
|
<i class="icon-link small" style="color: #ccc;"></i></a>
|
|
<b>update_children</b>
|
|
<i class="text-muted">(self)</i>
|
|
</p>
|
|
<div class="docs-attr-desc"><p><span class="text-muted">No docs</span></p>
|
|
</div>
|
|
<br>
|
|
|
|
|
|
|
|
|
|
|
|
<p class="docs-attr-name">
|
|
<a name="update_single" href="#update_single" class="text-muted small">
|
|
<i class="icon-link small" style="color: #ccc;"></i></a>
|
|
<b>update_single</b>
|
|
<i class="text-muted">(self, d)</i>
|
|
</p>
|
|
<div class="docs-attr-desc"><p>Updates values for Single type Document in <code>tabSingles</code>.</p>
|
|
</div>
|
|
<br>
|
|
|
|
|
|
|
|
|
|
|
|
<p class="docs-attr-name">
|
|
<a name="validate_higher_perm_levels" href="#validate_higher_perm_levels" class="text-muted small">
|
|
<i class="icon-link small" style="color: #ccc;"></i></a>
|
|
<b>validate_higher_perm_levels</b>
|
|
<i class="text-muted">(self)</i>
|
|
</p>
|
|
<div class="docs-attr-desc"><p>If the user does not have permissions at permlevel > 0, then reset the values to original / default</p>
|
|
</div>
|
|
<br>
|
|
|
|
|
|
|
|
|
|
|
|
<p class="docs-attr-name">
|
|
<a name="validate_table_has_rows" href="#validate_table_has_rows" class="text-muted small">
|
|
<i class="icon-link small" style="color: #ccc;"></i></a>
|
|
<b>validate_table_has_rows</b>
|
|
<i class="text-muted">(self, parentfield, raise_exception=None)</i>
|
|
</p>
|
|
<div class="docs-attr-desc"><p>Raise exception if Table field is empty.</p>
|
|
</div>
|
|
<br>
|
|
|
|
|
|
|
|
|
|
|
|
<p class="docs-attr-name">
|
|
<a name="validate_update_after_submit" href="#validate_update_after_submit" class="text-muted small">
|
|
<i class="icon-link small" style="color: #ccc;"></i></a>
|
|
<b>validate_update_after_submit</b>
|
|
<i class="text-muted">(self)</i>
|
|
</p>
|
|
<div class="docs-attr-desc"><p><span class="text-muted">No docs</span></p>
|
|
</div>
|
|
<br>
|
|
|
|
|
|
|
|
|
|
|
|
<p class="docs-attr-name">
|
|
<a name="validate_value" href="#validate_value" class="text-muted small">
|
|
<i class="icon-link small" style="color: #ccc;"></i></a>
|
|
<b>validate_value</b>
|
|
<i class="text-muted">(self, fieldname, condition, val2, doc=None, raise_exception=None)</i>
|
|
</p>
|
|
<div class="docs-attr-desc"><p>Check that value of fieldname should be 'condition' val2
|
|
else throw Exception.</p>
|
|
</div>
|
|
<br>
|
|
|
|
|
|
</div>
|
|
<hr>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<p class="docs-attr-name">
|
|
<a name="frappe.model.document.get_doc" href="#frappe.model.document.get_doc" class="text-muted small">
|
|
<i class="icon-link small" style="color: #ccc;"></i></a>
|
|
frappe.model.document.<b>get_doc</b>
|
|
<i class="text-muted">(arg1, arg2=None)</i>
|
|
</p>
|
|
<div class="docs-attr-desc"><p>returns a frappe.model.Document object.</p>
|
|
|
|
<p><strong>Parameters:</strong></p>
|
|
|
|
<ul>
|
|
<li><strong><code>arg1</code></strong> - Document dict or DocType name.</li>
|
|
<li><strong><code>arg2</code></strong> - [optional] document name.</li>
|
|
</ul>
|
|
|
|
<p>There are two ways to call <code>get_doc</code></p>
|
|
|
|
<pre><code># will fetch the latest user object (with child table) from the database
|
|
user = get_doc("User", "test@example.com")
|
|
|
|
# create a new object
|
|
user = get_doc({
|
|
"doctype":"User"
|
|
"email_id": "test@example.com",
|
|
"user_roles: [
|
|
{"role": "System Manager"}
|
|
]
|
|
})
|
|
</code></pre>
|
|
</div>
|
|
<br>
|
|
|
|
|
|
|
|
|
|
|
|
<!-- autodoc --> |