Migrating contact details to standard app. Updated member profile web form instructions

This commit is contained in:
2025-11-17 23:24:11 +00:00
parent 4c255400a7
commit 6429878ece
10 changed files with 454 additions and 3 deletions

View File

@@ -1 +1 @@
__version__ = "0.0.20"
__version__ = "0.0.21"

View File

@@ -0,0 +1,3 @@
frappe.ready(function() {
// bind events here
})

View File

@@ -0,0 +1,256 @@
{
"allow_comments": 0,
"allow_delete": 0,
"allow_edit": 1,
"allow_incomplete": 0,
"allow_multiple": 1,
"allow_print": 0,
"anonymous": 0,
"apply_document_permissions": 0,
"button_label": "Save",
"condition_json": "[]",
"creation": "2025-11-17 17:54:44.884332",
"doc_type": "Address",
"docstatus": 0,
"doctype": "Web Form",
"idx": 0,
"introduction_text": "<div class=\"ql-editor read-mode\"><p>Please ensure your business locations are up-to-date! At a minimum you should list the following address types:</p><p><br></p><ol><li data-list=\"bullet\"><span class=\"ql-ui\" contenteditable=\"false\"></span><strong>Permanent: </strong>Registered corporate business mailing address as found on your business state registration certificate or other corporate documents</li><li data-list=\"bullet\"><span class=\"ql-ui\" contenteditable=\"false\"></span><strong>Personal:</strong> Personal residential mailing address. Please create even if duplicate of corporate.</li></ol><p><br></p><p>You may add any other addresses as necessary under the appropriate location types.</p><p><br></p><p>Please mark which address should be preferred for billing (invoices). Most commonly it's the permanent address.</p><p><br></p></div>",
"is_standard": 1,
"list_columns": [
{
"fieldname": "address_title",
"fieldtype": "Data",
"label": "Address Title"
},
{
"fieldname": "address_type",
"fieldtype": "Select",
"label": "Address Type",
"options": "Billing\nShipping\nOffice\nPersonal\nPlant\nPostal\nShop\nSubsidiary\nWarehouse\nCurrent\nPermanent\nOther"
},
{
"fieldname": "is_primary_address",
"fieldtype": "Check",
"label": "Billing"
}
],
"list_title": "Addresses",
"login_required": 1,
"max_attachment_size": 0,
"modified": "2025-11-17 18:03:46.177623",
"modified_by": "Administrator",
"module": "Member Management",
"name": "business-addresses",
"owner": "Administrator",
"published": 1,
"route": "profile-address",
"show_attachments": 0,
"show_list": 1,
"show_sidebar": 1,
"title": "Business Addresses",
"web_form_fields": [
{
"allow_read_on_all_link_options": 0,
"fieldname": "address_details",
"fieldtype": "Section Break",
"hidden": 0,
"max_length": 0,
"max_value": 0,
"options": "fa fa-map-marker",
"precision": "",
"read_only": 0,
"reqd": 0,
"show_in_filter": 0
},
{
"allow_read_on_all_link_options": 0,
"fieldname": "address_title",
"fieldtype": "Data",
"hidden": 0,
"label": "Legal Business Name",
"max_length": 0,
"max_value": 0,
"precision": "",
"read_only": 0,
"reqd": 0,
"show_in_filter": 0
},
{
"allow_read_on_all_link_options": 0,
"fieldname": "address_type",
"fieldtype": "Select",
"hidden": 0,
"label": "Address Type",
"max_length": 0,
"max_value": 0,
"options": "Billing\nShipping\nOffice\nPersonal\nPlant\nPostal\nShop\nSubsidiary\nWarehouse\nPermanent\nOther",
"precision": "",
"read_only": 0,
"reqd": 1,
"show_in_filter": 0
},
{
"allow_read_on_all_link_options": 0,
"fieldname": "address_line1",
"fieldtype": "Data",
"hidden": 0,
"label": "Address Line 1",
"max_length": 0,
"max_value": 0,
"precision": "",
"read_only": 0,
"reqd": 1,
"show_in_filter": 0
},
{
"allow_read_on_all_link_options": 0,
"fieldname": "address_line2",
"fieldtype": "Data",
"hidden": 0,
"label": "Address Line 2",
"max_length": 0,
"max_value": 0,
"precision": "",
"read_only": 0,
"reqd": 0,
"show_in_filter": 0
},
{
"allow_read_on_all_link_options": 0,
"fieldname": "city",
"fieldtype": "Data",
"hidden": 0,
"label": "City",
"max_length": 0,
"max_value": 0,
"precision": "",
"read_only": 0,
"reqd": 1,
"show_in_filter": 0
},
{
"allow_read_on_all_link_options": 0,
"fieldname": "county",
"fieldtype": "Data",
"hidden": 0,
"label": "County",
"max_length": 0,
"max_value": 0,
"precision": "",
"read_only": 0,
"reqd": 0,
"show_in_filter": 0
},
{
"allow_read_on_all_link_options": 0,
"fieldname": "state",
"fieldtype": "Data",
"hidden": 0,
"label": "State",
"max_length": 0,
"max_value": 0,
"options": "Connecticut\nDelaware\nDistrict of Columbia\nMaryland\nNew Jersey\nNew York\nPennsylvania\nWest Virginia",
"precision": "",
"read_only": 0,
"reqd": 1,
"show_in_filter": 0
},
{
"allow_read_on_all_link_options": 0,
"fieldname": "pincode",
"fieldtype": "Data",
"hidden": 0,
"label": "Postal Code",
"max_length": 0,
"max_value": 0,
"precision": "",
"read_only": 0,
"reqd": 1,
"show_in_filter": 0
},
{
"allow_read_on_all_link_options": 0,
"default": "United States",
"fieldname": "country",
"fieldtype": "Link",
"hidden": 0,
"label": "Country",
"max_length": 0,
"max_value": 0,
"options": "Country",
"precision": "",
"read_only": 0,
"reqd": 1,
"show_in_filter": 0
},
{
"allow_read_on_all_link_options": 0,
"fieldname": "column_break0",
"fieldtype": "Column Break",
"hidden": 0,
"max_length": 0,
"max_value": 0,
"precision": "",
"read_only": 0,
"reqd": 0,
"show_in_filter": 0
},
{
"allow_read_on_all_link_options": 0,
"fieldname": "email_id",
"fieldtype": "Data",
"hidden": 0,
"label": "Email Address",
"max_length": 0,
"max_value": 0,
"options": "Email",
"precision": "",
"read_only": 0,
"reqd": 0,
"show_in_filter": 0
},
{
"allow_read_on_all_link_options": 0,
"fieldname": "phone",
"fieldtype": "Data",
"hidden": 0,
"label": "Phone at Address",
"max_length": 0,
"max_value": 0,
"options": "Phone",
"precision": "",
"read_only": 0,
"reqd": 0,
"show_in_filter": 0
},
{
"allow_read_on_all_link_options": 0,
"default": "0",
"fieldname": "is_primary_address",
"fieldtype": "Check",
"hidden": 0,
"label": "Preferred Billing Address",
"max_length": 0,
"max_value": 0,
"precision": "",
"read_only": 0,
"reqd": 0,
"show_in_filter": 0
},
{
"allow_read_on_all_link_options": 0,
"default": "0",
"fieldname": "is_shipping_address",
"fieldtype": "Check",
"hidden": 0,
"label": "Preferred Shipping Address",
"max_length": 0,
"max_value": 0,
"precision": "",
"read_only": 0,
"reqd": 0,
"show_in_filter": 0
}
],
"website_sidebar": "Member Sidebar"
}

View File

@@ -0,0 +1,5 @@
import frappe
def get_context(context):
# do your magic here
pass

View File

@@ -0,0 +1,3 @@
frappe.ready(function() {
// bind events here
})

View File

@@ -0,0 +1,179 @@
{
"allow_comments": 0,
"allow_delete": 0,
"allow_edit": 1,
"allow_incomplete": 0,
"allow_multiple": 1,
"allow_print": 0,
"anonymous": 0,
"apply_document_permissions": 1,
"button_label": "Save",
"condition_json": "[]",
"creation": "2025-11-17 17:47:52.074000",
"doc_type": "Contact",
"docstatus": 0,
"doctype": "Web Form",
"idx": 0,
"introduction_text": "<div class=\"ql-editor read-mode\"><p>Please provide contact information for every owner or employee of your business with access to the facility.</p><p><br></p><ol><li data-list=\"bullet\"><span class=\"ql-ui\" contenteditable=\"false\"></span>Each <strong>person</strong> with access to the facility should have an individual record in this list. Each record may have multiple contact entries for email and phone as necessary.</li><li data-list=\"bullet\"><span class=\"ql-ui\" contenteditable=\"false\"></span>Every person <strong><em>must</em></strong> have an associated photo identification document. Acceptable documents include a Driver's License, Passport, or State-issued ID card.</li><li data-list=\"bullet\"><span class=\"ql-ui\" contenteditable=\"false\"></span>Please mark <em>one</em> contact person as primary billing contact (typically one of the owners).<br></li></ol><p><br></p><p><em>NB: There's an apparent bug in the phone table if adding multiple numbers. If you are adding multiple contact numbers- add one, save, then edit to add alternate contacts and designate which is primary. (Sorry for this- not under my control to fix).</em></p><p><br></p></div>",
"is_standard": 1,
"list_columns": [
{
"fieldname": "full_name",
"fieldtype": "Data",
"label": "Full Name"
},
{
"fieldname": "designation",
"fieldtype": "Data",
"label": "Designation"
},
{
"fieldname": "is_primary_contact",
"fieldtype": "Check",
"label": "Is Primary Contact"
},
{
"fieldname": "is_billing_contact",
"fieldtype": "Check",
"label": "Is Billing Contact"
}
],
"login_required": 1,
"max_attachment_size": 0,
"modified": "2025-11-17 17:53:41.616425",
"modified_by": "Administrator",
"module": "Member Management",
"name": "business-contacts",
"owner": "Administrator",
"published": 1,
"route": "profile-contact",
"show_attachments": 1,
"show_list": 1,
"show_sidebar": 1,
"title": "Business Contacts",
"web_form_fields": [
{
"allow_read_on_all_link_options": 0,
"fieldname": "first_name",
"fieldtype": "Data",
"hidden": 0,
"label": "First Name",
"max_length": 0,
"max_value": 0,
"precision": "",
"read_only": 0,
"reqd": 0,
"show_in_filter": 0
},
{
"allow_read_on_all_link_options": 0,
"fieldname": "last_name",
"fieldtype": "Data",
"hidden": 0,
"label": "Last Name",
"max_length": 0,
"max_value": 0,
"precision": "",
"read_only": 0,
"reqd": 0,
"show_in_filter": 0
},
{
"allow_read_on_all_link_options": 0,
"fieldname": "company_name",
"fieldtype": "Data",
"hidden": 0,
"label": "Company Legal Name",
"max_length": 0,
"max_value": 0,
"precision": "",
"read_only": 0,
"reqd": 0,
"show_in_filter": 0
},
{
"allow_read_on_all_link_options": 0,
"fieldname": "designation",
"fieldtype": "Data",
"hidden": 0,
"label": "Relationship to Business",
"max_length": 0,
"max_value": 0,
"precision": "",
"read_only": 0,
"reqd": 0,
"show_in_filter": 0
},
{
"allow_read_on_all_link_options": 0,
"fieldname": "email_ids",
"fieldtype": "Table",
"hidden": 0,
"label": "Email IDs",
"max_length": 0,
"max_value": 0,
"options": "Contact Email",
"precision": "",
"read_only": 0,
"reqd": 0,
"show_in_filter": 0
},
{
"allow_read_on_all_link_options": 0,
"fieldname": "phone_nos",
"fieldtype": "Table",
"hidden": 0,
"label": "Phone Numbers",
"max_length": 0,
"max_value": 0,
"options": "Contact Phone",
"precision": "",
"read_only": 0,
"reqd": 0,
"show_in_filter": 0
},
{
"allow_read_on_all_link_options": 0,
"description": "Link contact to existing address record",
"fieldname": "address",
"fieldtype": "Link",
"hidden": 0,
"label": "Address Record",
"max_length": 0,
"max_value": 0,
"options": "Address",
"precision": "",
"read_only": 0,
"reqd": 0,
"show_in_filter": 0
},
{
"allow_read_on_all_link_options": 0,
"default": "0",
"fieldname": "is_primary_contact",
"fieldtype": "Check",
"hidden": 0,
"label": "Is Primary Contact",
"max_length": 0,
"max_value": 0,
"precision": "",
"read_only": 0,
"reqd": 0,
"show_in_filter": 0
},
{
"allow_read_on_all_link_options": 0,
"fieldname": "is_billing_contact",
"fieldtype": "Check",
"hidden": 0,
"label": "Is Billing Contact",
"max_length": 0,
"max_value": 0,
"precision": "",
"read_only": 0,
"reqd": 0,
"show_in_filter": 0
}
],
"website_sidebar": "Member Sidebar"
}

View File

@@ -0,0 +1,5 @@
import frappe
def get_context(context):
# do your magic here
pass

File diff suppressed because one or more lines are too long