@salesforce/ui-bundle-template-feature-property-management-metadata 1.117.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (206) hide show
  1. package/LICENSE.txt +82 -0
  2. package/package.json +25 -0
  3. package/src/force-app/main/default/classes/MaintenanceRequestTriggerHandler.cls +69 -0
  4. package/src/force-app/main/default/classes/MaintenanceRequestTriggerHandler.cls-meta.xml +5 -0
  5. package/src/force-app/main/default/classes/MaintenanceRequestTriggerHandler_Test.cls +308 -0
  6. package/src/force-app/main/default/classes/MaintenanceRequestTriggerHandler_Test.cls-meta.xml +5 -0
  7. package/src/force-app/main/default/classes/TenantTriggerHandler.cls +77 -0
  8. package/src/force-app/main/default/classes/TenantTriggerHandler.cls-meta.xml +5 -0
  9. package/src/force-app/main/default/classes/TenantTriggerHandler_Test.cls +100 -0
  10. package/src/force-app/main/default/classes/TenantTriggerHandler_Test.cls-meta.xml +5 -0
  11. package/src/force-app/main/default/cspTrustedSites/GitHub_Avatars.cspTrustedSite-meta.xml +15 -0
  12. package/src/force-app/main/default/cspTrustedSites/Google_Fonts.cspTrustedSite-meta.xml +15 -0
  13. package/src/force-app/main/default/cspTrustedSites/Google_Fonts_Static.cspTrustedSite-meta.xml +15 -0
  14. package/src/force-app/main/default/cspTrustedSites/OpenStreetMap_Nominatim.cspTrustedSite-meta.xml +15 -0
  15. package/src/force-app/main/default/cspTrustedSites/OpenStreetMap_Tiles.cspTrustedSite-meta.xml +15 -0
  16. package/src/force-app/main/default/cspTrustedSites/Open_Meteo_API.cspTrustedSite-meta.xml +15 -0
  17. package/src/force-app/main/default/cspTrustedSites/Pexels_Images.cspTrustedSite-meta.xml +15 -0
  18. package/src/force-app/main/default/cspTrustedSites/Pexels_Videos.cspTrustedSite-meta.xml +15 -0
  19. package/src/force-app/main/default/cspTrustedSites/Unsplash_Images.cspTrustedSite-meta.xml +15 -0
  20. package/src/force-app/main/default/data/Agent__c.json +79 -0
  21. package/src/force-app/main/default/data/Application__c.json +124 -0
  22. package/src/force-app/main/default/data/Contact.json +44 -0
  23. package/src/force-app/main/default/data/KPI_Snapshot__c.json +160 -0
  24. package/src/force-app/main/default/data/Lease__c.json +9442 -0
  25. package/src/force-app/main/default/data/Maintenance_Request__c.json +514 -0
  26. package/src/force-app/main/default/data/Maintenance_Worker__c.json +304 -0
  27. package/src/force-app/main/default/data/Notification__c.json +214 -0
  28. package/src/force-app/main/default/data/Payment__c.json +1024 -0
  29. package/src/force-app/main/default/data/Property_Cost__c.json +484 -0
  30. package/src/force-app/main/default/data/Property_Feature__c.json +169 -0
  31. package/src/force-app/main/default/data/Property_Image__c.json +148 -0
  32. package/src/force-app/main/default/data/Property_Listing__c.json +130 -0
  33. package/src/force-app/main/default/data/Property_Management_Company__c.json +70 -0
  34. package/src/force-app/main/default/data/Property_Owner__c.json +184 -0
  35. package/src/force-app/main/default/data/Property_Sale__c.json +246 -0
  36. package/src/force-app/main/default/data/Property__c.json +704 -0
  37. package/src/force-app/main/default/data/Tenant__c.json +184 -0
  38. package/src/force-app/main/default/data/data-plan.json +110 -0
  39. package/src/force-app/main/default/data/prepare-import-unique-fields.js +85 -0
  40. package/src/force-app/main/default/layouts/Application__c-Application Layout.layout-meta.xml +58 -0
  41. package/src/force-app/main/default/layouts/KPI_Snapshot__c-KPI Snapshot Layout.layout-meta.xml +87 -0
  42. package/src/force-app/main/default/layouts/Lease__c-Lease Layout.layout-meta.xml +83 -0
  43. package/src/force-app/main/default/layouts/Maintenance_Request__c-Maintenance Request Layout.layout-meta.xml +89 -0
  44. package/src/force-app/main/default/layouts/Maintenance_Worker__c-Maintenance Worker Layout.layout-meta.xml +66 -0
  45. package/src/force-app/main/default/layouts/Payment__c-Payment Layout.layout-meta.xml +88 -0
  46. package/src/force-app/main/default/layouts/Property_Cost__c-Property Cost Layout.layout-meta.xml +88 -0
  47. package/src/force-app/main/default/layouts/Property_Feature__c-Property Feature Layout.layout-meta.xml +80 -0
  48. package/src/force-app/main/default/layouts/Property_Image__c-Property Image Layout.layout-meta.xml +75 -0
  49. package/src/force-app/main/default/layouts/Property_Listing__c-Property Listing Layout.layout-meta.xml +92 -0
  50. package/src/force-app/main/default/layouts/Property_Management_Company__c-Property Management Company Layout.layout-meta.xml +75 -0
  51. package/src/force-app/main/default/layouts/Property_Owner__c-Property Owner Layout.layout-meta.xml +67 -0
  52. package/src/force-app/main/default/layouts/Property_Sale__c-Property Sale Layout.layout-meta.xml +87 -0
  53. package/src/force-app/main/default/layouts/Property__c-Property Layout.layout-meta.xml +130 -0
  54. package/src/force-app/main/default/layouts/Tenant__c-Tenant Layout.layout-meta.xml +58 -0
  55. package/src/force-app/main/default/objects/Agent__c/Agent__c.object-meta.xml +66 -0
  56. package/src/force-app/main/default/objects/Agent__c/fields/Agent_Type__c.field-meta.xml +37 -0
  57. package/src/force-app/main/default/objects/Agent__c/fields/Availability__c.field-meta.xml +37 -0
  58. package/src/force-app/main/default/objects/Agent__c/fields/Emergency_Alt__c.field-meta.xml +11 -0
  59. package/src/force-app/main/default/objects/Agent__c/fields/Language__c.field-meta.xml +42 -0
  60. package/src/force-app/main/default/objects/Agent__c/fields/License_Expiry__c.field-meta.xml +11 -0
  61. package/src/force-app/main/default/objects/Agent__c/fields/License_Number__c.field-meta.xml +14 -0
  62. package/src/force-app/main/default/objects/Agent__c/fields/Office_Location__c.field-meta.xml +42 -0
  63. package/src/force-app/main/default/objects/Agent__c/fields/Territory__c.field-meta.xml +42 -0
  64. package/src/force-app/main/default/objects/Application__c/Application__c.object-meta.xml +67 -0
  65. package/src/force-app/main/default/objects/Application__c/fields/Employment__c.field-meta.xml +10 -0
  66. package/src/force-app/main/default/objects/Application__c/fields/Property__c.field-meta.xml +15 -0
  67. package/src/force-app/main/default/objects/Application__c/fields/References__c.field-meta.xml +10 -0
  68. package/src/force-app/main/default/objects/Application__c/fields/Start_Date__c.field-meta.xml +9 -0
  69. package/src/force-app/main/default/objects/Application__c/fields/Status__c.field-meta.xml +47 -0
  70. package/src/force-app/main/default/objects/Application__c/fields/User__c.field-meta.xml +15 -0
  71. package/src/force-app/main/default/objects/KPI_Snapshot__c/KPI_Snapshot__c.object-meta.xml +65 -0
  72. package/src/force-app/main/default/objects/KPI_Snapshot__c/fields/Previous_Month_Sales__c.field-meta.xml +12 -0
  73. package/src/force-app/main/default/objects/KPI_Snapshot__c/fields/Sales_MoM_Change__c.field-meta.xml +18 -0
  74. package/src/force-app/main/default/objects/KPI_Snapshot__c/fields/Snapshot_Date__c.field-meta.xml +10 -0
  75. package/src/force-app/main/default/objects/KPI_Snapshot__c/fields/Total_Properties__c.field-meta.xml +13 -0
  76. package/src/force-app/main/default/objects/KPI_Snapshot__c/fields/Total_Sales_Amount__c.field-meta.xml +12 -0
  77. package/src/force-app/main/default/objects/KPI_Snapshot__c/fields/Total_Sales_Count__c.field-meta.xml +13 -0
  78. package/src/force-app/main/default/objects/KPI_Snapshot__c/fields/Units_Available__c.field-meta.xml +13 -0
  79. package/src/force-app/main/default/objects/KPI_Snapshot__c/fields/Units_Occupied__c.field-meta.xml +13 -0
  80. package/src/force-app/main/default/objects/Lease__c/Lease__c.object-meta.xml +67 -0
  81. package/src/force-app/main/default/objects/Lease__c/fields/End_Date__c.field-meta.xml +10 -0
  82. package/src/force-app/main/default/objects/Lease__c/fields/Lease_Status__c.field-meta.xml +36 -0
  83. package/src/force-app/main/default/objects/Lease__c/fields/Monthly_Rent__c.field-meta.xml +12 -0
  84. package/src/force-app/main/default/objects/Lease__c/fields/Property__c.field-meta.xml +15 -0
  85. package/src/force-app/main/default/objects/Lease__c/fields/Security_Deposit__c.field-meta.xml +12 -0
  86. package/src/force-app/main/default/objects/Lease__c/fields/Start_Date__c.field-meta.xml +10 -0
  87. package/src/force-app/main/default/objects/Lease__c/fields/Tenant__c.field-meta.xml +14 -0
  88. package/src/force-app/main/default/objects/Lease__c/validationRules/End_Date_After_Start_Date.validationRule-meta.xml +10 -0
  89. package/src/force-app/main/default/objects/Maintenance_Request__c/Maintenance_Request__c.object-meta.xml +73 -0
  90. package/src/force-app/main/default/objects/Maintenance_Request__c/fields/Actual_Cost__c.field-meta.xml +13 -0
  91. package/src/force-app/main/default/objects/Maintenance_Request__c/fields/Assigned_Worker__c.field-meta.xml +15 -0
  92. package/src/force-app/main/default/objects/Maintenance_Request__c/fields/Completed__c.field-meta.xml +11 -0
  93. package/src/force-app/main/default/objects/Maintenance_Request__c/fields/Description__c.field-meta.xml +12 -0
  94. package/src/force-app/main/default/objects/Maintenance_Request__c/fields/Est_Cost__c.field-meta.xml +13 -0
  95. package/src/force-app/main/default/objects/Maintenance_Request__c/fields/Priority__c.field-meta.xml +32 -0
  96. package/src/force-app/main/default/objects/Maintenance_Request__c/fields/Property__c.field-meta.xml +15 -0
  97. package/src/force-app/main/default/objects/Maintenance_Request__c/fields/Scheduled__c.field-meta.xml +11 -0
  98. package/src/force-app/main/default/objects/Maintenance_Request__c/fields/Status__c.field-meta.xml +42 -0
  99. package/src/force-app/main/default/objects/Maintenance_Request__c/fields/Tenant_Home__c.field-meta.xml +11 -0
  100. package/src/force-app/main/default/objects/Maintenance_Request__c/fields/Type__c.field-meta.xml +62 -0
  101. package/src/force-app/main/default/objects/Maintenance_Request__c/fields/User__c.field-meta.xml +15 -0
  102. package/src/force-app/main/default/objects/Maintenance_Worker__c/Maintenance_Worker__c.object-meta.xml +71 -0
  103. package/src/force-app/main/default/objects/Maintenance_Worker__c/fields/Certifications__c.field-meta.xml +12 -0
  104. package/src/force-app/main/default/objects/Maintenance_Worker__c/fields/Employment_Type__c.field-meta.xml +32 -0
  105. package/src/force-app/main/default/objects/Maintenance_Worker__c/fields/Hourly_Rate__c.field-meta.xml +13 -0
  106. package/src/force-app/main/default/objects/Maintenance_Worker__c/fields/IsActive__c.field-meta.xml +11 -0
  107. package/src/force-app/main/default/objects/Maintenance_Worker__c/fields/Location__c.field-meta.xml +13 -0
  108. package/src/force-app/main/default/objects/Maintenance_Worker__c/fields/Phone__c.field-meta.xml +11 -0
  109. package/src/force-app/main/default/objects/Maintenance_Worker__c/fields/Rating__c.field-meta.xml +14 -0
  110. package/src/force-app/main/default/objects/Maintenance_Worker__c/fields/Type__c.field-meta.xml +57 -0
  111. package/src/force-app/main/default/objects/Notification__c/Notification__c.object-meta.xml +67 -0
  112. package/src/force-app/main/default/objects/Notification__c/fields/Is_Read__c.field-meta.xml +10 -0
  113. package/src/force-app/main/default/objects/Notification__c/fields/Message__c.field-meta.xml +11 -0
  114. package/src/force-app/main/default/objects/Notification__c/fields/Priority__c.field-meta.xml +36 -0
  115. package/src/force-app/main/default/objects/Notification__c/fields/Related_Object_Type__c.field-meta.xml +12 -0
  116. package/src/force-app/main/default/objects/Notification__c/fields/Related_Record_Id__c.field-meta.xml +12 -0
  117. package/src/force-app/main/default/objects/Notification__c/fields/Title__c.field-meta.xml +12 -0
  118. package/src/force-app/main/default/objects/Notification__c/fields/Type__c.field-meta.xml +36 -0
  119. package/src/force-app/main/default/objects/Notification__c/fields/User__c.field-meta.xml +14 -0
  120. package/src/force-app/main/default/objects/Payment__c/Payment__c.object-meta.xml +67 -0
  121. package/src/force-app/main/default/objects/Payment__c/fields/Amount__c.field-meta.xml +12 -0
  122. package/src/force-app/main/default/objects/Payment__c/fields/Lease__c.field-meta.xml +15 -0
  123. package/src/force-app/main/default/objects/Payment__c/fields/Notes__c.field-meta.xml +11 -0
  124. package/src/force-app/main/default/objects/Payment__c/fields/Payment_Date__c.field-meta.xml +10 -0
  125. package/src/force-app/main/default/objects/Payment__c/fields/Payment_Method__c.field-meta.xml +41 -0
  126. package/src/force-app/main/default/objects/Payment__c/fields/Payment_Status__c.field-meta.xml +36 -0
  127. package/src/force-app/main/default/objects/Property_Cost__c/Property_Cost__c.object-meta.xml +67 -0
  128. package/src/force-app/main/default/objects/Property_Cost__c/fields/Cost_Amount__c.field-meta.xml +12 -0
  129. package/src/force-app/main/default/objects/Property_Cost__c/fields/Cost_Category__c.field-meta.xml +56 -0
  130. package/src/force-app/main/default/objects/Property_Cost__c/fields/Cost_Date__c.field-meta.xml +11 -0
  131. package/src/force-app/main/default/objects/Property_Cost__c/fields/Description__c.field-meta.xml +12 -0
  132. package/src/force-app/main/default/objects/Property_Cost__c/fields/Property__c.field-meta.xml +15 -0
  133. package/src/force-app/main/default/objects/Property_Cost__c/fields/Vendor__c.field-meta.xml +12 -0
  134. package/src/force-app/main/default/objects/Property_Cost__c/validationRules/Cost_Amount_Limit.validationRule-meta.xml +10 -0
  135. package/src/force-app/main/default/objects/Property_Feature__c/Property_Feature__c.object-meta.xml +65 -0
  136. package/src/force-app/main/default/objects/Property_Feature__c/fields/Description__c.field-meta.xml +11 -0
  137. package/src/force-app/main/default/objects/Property_Feature__c/fields/Display_on_Listing__c.field-meta.xml +10 -0
  138. package/src/force-app/main/default/objects/Property_Feature__c/fields/Feature_Category__c.field-meta.xml +51 -0
  139. package/src/force-app/main/default/objects/Property_Feature__c/fields/Property__c.field-meta.xml +15 -0
  140. package/src/force-app/main/default/objects/Property_Image__c/Property_Image__c.object-meta.xml +65 -0
  141. package/src/force-app/main/default/objects/Property_Image__c/fields/Alt_Text__c.field-meta.xml +12 -0
  142. package/src/force-app/main/default/objects/Property_Image__c/fields/Display_Order__c.field-meta.xml +13 -0
  143. package/src/force-app/main/default/objects/Property_Image__c/fields/Image_Type__c.field-meta.xml +41 -0
  144. package/src/force-app/main/default/objects/Property_Image__c/fields/Image_URL__c.field-meta.xml +10 -0
  145. package/src/force-app/main/default/objects/Property_Image__c/fields/Property__c.field-meta.xml +15 -0
  146. package/src/force-app/main/default/objects/Property_Listing__c/Property_Listing__c.object-meta.xml +65 -0
  147. package/src/force-app/main/default/objects/Property_Listing__c/fields/Display_Order__c.field-meta.xml +13 -0
  148. package/src/force-app/main/default/objects/Property_Listing__c/fields/Featured__c.field-meta.xml +10 -0
  149. package/src/force-app/main/default/objects/Property_Listing__c/fields/Listing_Price__c.field-meta.xml +12 -0
  150. package/src/force-app/main/default/objects/Property_Listing__c/fields/Listing_Status__c.field-meta.xml +41 -0
  151. package/src/force-app/main/default/objects/Property_Listing__c/fields/Marketing_Description__c.field-meta.xml +11 -0
  152. package/src/force-app/main/default/objects/Property_Listing__c/fields/Property__c.field-meta.xml +15 -0
  153. package/src/force-app/main/default/objects/Property_Listing__c/fields/Short_Description__c.field-meta.xml +12 -0
  154. package/src/force-app/main/default/objects/Property_Management_Company__c/Property_Management_Company__c.object-meta.xml +65 -0
  155. package/src/force-app/main/default/objects/Property_Management_Company__c/fields/Active__c.field-meta.xml +10 -0
  156. package/src/force-app/main/default/objects/Property_Management_Company__c/fields/Company_Code__c.field-meta.xml +13 -0
  157. package/src/force-app/main/default/objects/Property_Management_Company__c/fields/Email__c.field-meta.xml +10 -0
  158. package/src/force-app/main/default/objects/Property_Management_Company__c/fields/Phone__c.field-meta.xml +10 -0
  159. package/src/force-app/main/default/objects/Property_Management_Company__c/fields/Primary_Contact__c.field-meta.xml +14 -0
  160. package/src/force-app/main/default/objects/Property_Owner__c/Property_Owner__c.object-meta.xml +65 -0
  161. package/src/force-app/main/default/objects/Property_Owner__c/fields/Address__c.field-meta.xml +10 -0
  162. package/src/force-app/main/default/objects/Property_Owner__c/fields/Email__c.field-meta.xml +11 -0
  163. package/src/force-app/main/default/objects/Property_Owner__c/fields/Phone__c.field-meta.xml +10 -0
  164. package/src/force-app/main/default/objects/Property_Sale__c/Property_Sale__c.object-meta.xml +67 -0
  165. package/src/force-app/main/default/objects/Property_Sale__c/fields/Buyer_Tenant__c.field-meta.xml +13 -0
  166. package/src/force-app/main/default/objects/Property_Sale__c/fields/Payment_Method__c.field-meta.xml +41 -0
  167. package/src/force-app/main/default/objects/Property_Sale__c/fields/Property__c.field-meta.xml +15 -0
  168. package/src/force-app/main/default/objects/Property_Sale__c/fields/Reference_Number__c.field-meta.xml +12 -0
  169. package/src/force-app/main/default/objects/Property_Sale__c/fields/Sale_Amount__c.field-meta.xml +12 -0
  170. package/src/force-app/main/default/objects/Property_Sale__c/fields/Sale_Date__c.field-meta.xml +10 -0
  171. package/src/force-app/main/default/objects/Property_Sale__c/fields/Sale_Status__c.field-meta.xml +36 -0
  172. package/src/force-app/main/default/objects/Property_Sale__c/fields/Sale_Type__c.field-meta.xml +51 -0
  173. package/src/force-app/main/default/objects/Property__c/Property__c.object-meta.xml +71 -0
  174. package/src/force-app/main/default/objects/Property__c/fields/Address__c.field-meta.xml +13 -0
  175. package/src/force-app/main/default/objects/Property__c/fields/Agent__c.field-meta.xml +15 -0
  176. package/src/force-app/main/default/objects/Property__c/fields/Available_Date__c.field-meta.xml +11 -0
  177. package/src/force-app/main/default/objects/Property__c/fields/Bathrooms__c.field-meta.xml +14 -0
  178. package/src/force-app/main/default/objects/Property__c/fields/Bedrooms__c.field-meta.xml +14 -0
  179. package/src/force-app/main/default/objects/Property__c/fields/Coordinates__c.field-meta.xml +12 -0
  180. package/src/force-app/main/default/objects/Property__c/fields/Deposit__c.field-meta.xml +13 -0
  181. package/src/force-app/main/default/objects/Property__c/fields/Description__c.field-meta.xml +12 -0
  182. package/src/force-app/main/default/objects/Property__c/fields/Features__c.field-meta.xml +38 -0
  183. package/src/force-app/main/default/objects/Property__c/fields/Hero_Image__c.field-meta.xml +11 -0
  184. package/src/force-app/main/default/objects/Property__c/fields/Lease_Term__c.field-meta.xml +14 -0
  185. package/src/force-app/main/default/objects/Property__c/fields/Monthly_Rent__c.field-meta.xml +13 -0
  186. package/src/force-app/main/default/objects/Property__c/fields/Parking__c.field-meta.xml +14 -0
  187. package/src/force-app/main/default/objects/Property__c/fields/Pet_Friendly__c.field-meta.xml +11 -0
  188. package/src/force-app/main/default/objects/Property__c/fields/Sq_Ft__c.field-meta.xml +14 -0
  189. package/src/force-app/main/default/objects/Property__c/fields/Status__c.field-meta.xml +37 -0
  190. package/src/force-app/main/default/objects/Property__c/fields/Tour_URL__c.field-meta.xml +11 -0
  191. package/src/force-app/main/default/objects/Property__c/fields/Type__c.field-meta.xml +37 -0
  192. package/src/force-app/main/default/objects/Property__c/fields/Utilities__c.field-meta.xml +38 -0
  193. package/src/force-app/main/default/objects/Property__c/fields/Year_Built__c.field-meta.xml +14 -0
  194. package/src/force-app/main/default/objects/Tenant__c/Tenant__c.object-meta.xml +67 -0
  195. package/src/force-app/main/default/objects/Tenant__c/fields/End_Date__c.field-meta.xml +11 -0
  196. package/src/force-app/main/default/objects/Tenant__c/fields/Property__c.field-meta.xml +15 -0
  197. package/src/force-app/main/default/objects/Tenant__c/fields/Start_Date__c.field-meta.xml +11 -0
  198. package/src/force-app/main/default/objects/Tenant__c/fields/Status__c.field-meta.xml +37 -0
  199. package/src/force-app/main/default/objects/Tenant__c/fields/User_Status__c.field-meta.xml +42 -0
  200. package/src/force-app/main/default/objects/Tenant__c/fields/User__c.field-meta.xml +15 -0
  201. package/src/force-app/main/default/permissionsets/Property_Management_Access.permissionset-meta.xml +633 -0
  202. package/src/force-app/main/default/permissionsets/Tenant_Maintenance_Access.permissionset-meta.xml +137 -0
  203. package/src/force-app/main/default/triggers/MaintenanceRequestTrigger.trigger +5 -0
  204. package/src/force-app/main/default/triggers/MaintenanceRequestTrigger.trigger-meta.xml +5 -0
  205. package/src/force-app/main/default/triggers/TenantTrigger.trigger +8 -0
  206. package/src/force-app/main/default/triggers/TenantTrigger.trigger-meta.xml +5 -0
@@ -0,0 +1,137 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <PermissionSet xmlns="http://soap.sforce.com/2006/04/metadata">
3
+ <description>Tenant access: create and manage only their own maintenance requests. No View All / Modify All — tenants see only records they own. Assign to tenant users; do not assign Property Management Access.</description>
4
+ <hasActivationRequired>false</hasActivationRequired>
5
+ <label>Tenant Maintenance Access</label>
6
+
7
+ <!-- Object: Maintenance_Request__c — CRUD only (no viewAllRecords/modifyAllRecords); with OWD Private, tenants see only records they own -->
8
+ <objectPermissions>
9
+ <allowCreate>true</allowCreate>
10
+ <allowDelete>false</allowDelete>
11
+ <allowEdit>true</allowEdit>
12
+ <allowRead>true</allowRead>
13
+ <object>Maintenance_Request__c</object>
14
+ </objectPermissions>
15
+ <!-- Property__c — read-only for address display on maintenance list -->
16
+ <objectPermissions>
17
+ <allowCreate>false</allowCreate>
18
+ <allowDelete>false</allowDelete>
19
+ <allowEdit>false</allowEdit>
20
+ <allowRead>true</allowRead>
21
+ <object>Property__c</object>
22
+ </objectPermissions>
23
+ <!-- Tenant__c — read-only so tenant can resolve their own record -->
24
+ <objectPermissions>
25
+ <allowCreate>false</allowCreate>
26
+ <allowDelete>false</allowDelete>
27
+ <allowEdit>false</allowEdit>
28
+ <allowRead>true</allowRead>
29
+ <object>Tenant__c</object>
30
+ </objectPermissions>
31
+
32
+ <!-- Field Permissions: Maintenance_Request__c -->
33
+ <fieldPermissions>
34
+ <editable>true</editable>
35
+ <field>Maintenance_Request__c.User__c</field>
36
+ <readable>true</readable>
37
+ </fieldPermissions>
38
+ <fieldPermissions>
39
+ <editable>false</editable>
40
+ <field>Maintenance_Request__c.Property__c</field>
41
+ <readable>true</readable>
42
+ </fieldPermissions>
43
+ <fieldPermissions>
44
+ <editable>true</editable>
45
+ <field>Maintenance_Request__c.Type__c</field>
46
+ <readable>true</readable>
47
+ </fieldPermissions>
48
+ <fieldPermissions>
49
+ <editable>true</editable>
50
+ <field>Maintenance_Request__c.Priority__c</field>
51
+ <readable>true</readable>
52
+ </fieldPermissions>
53
+ <fieldPermissions>
54
+ <editable>true</editable>
55
+ <field>Maintenance_Request__c.Status__c</field>
56
+ <readable>true</readable>
57
+ </fieldPermissions>
58
+ <fieldPermissions>
59
+ <editable>true</editable>
60
+ <field>Maintenance_Request__c.Description__c</field>
61
+ <readable>true</readable>
62
+ </fieldPermissions>
63
+ <fieldPermissions>
64
+ <editable>true</editable>
65
+ <field>Maintenance_Request__c.Scheduled__c</field>
66
+ <readable>true</readable>
67
+ </fieldPermissions>
68
+ <fieldPermissions>
69
+ <editable>false</editable>
70
+ <field>Maintenance_Request__c.Completed__c</field>
71
+ <readable>true</readable>
72
+ </fieldPermissions>
73
+ <fieldPermissions>
74
+ <editable>false</editable>
75
+ <field>Maintenance_Request__c.Est_Cost__c</field>
76
+ <readable>true</readable>
77
+ </fieldPermissions>
78
+ <fieldPermissions>
79
+ <editable>false</editable>
80
+ <field>Maintenance_Request__c.Actual_Cost__c</field>
81
+ <readable>true</readable>
82
+ </fieldPermissions>
83
+ <fieldPermissions>
84
+ <editable>false</editable>
85
+ <field>Maintenance_Request__c.Tenant_Home__c</field>
86
+ <readable>true</readable>
87
+ </fieldPermissions>
88
+ <fieldPermissions>
89
+ <editable>false</editable>
90
+ <field>Maintenance_Request__c.Assigned_Worker__c</field>
91
+ <readable>true</readable>
92
+ </fieldPermissions>
93
+
94
+ <!-- Field Permissions: Property__c (for list/detail) -->
95
+ <fieldPermissions>
96
+ <editable>false</editable>
97
+ <field>Property__c.Address__c</field>
98
+ <readable>true</readable>
99
+ </fieldPermissions>
100
+ <fieldPermissions>
101
+ <editable>false</editable>
102
+ <field>Property__c.Coordinates__c</field>
103
+ <readable>true</readable>
104
+ </fieldPermissions>
105
+
106
+ <!-- Field Permissions: Tenant__c -->
107
+ <fieldPermissions>
108
+ <editable>false</editable>
109
+ <field>Tenant__c.User__c</field>
110
+ <readable>true</readable>
111
+ </fieldPermissions>
112
+ <fieldPermissions>
113
+ <editable>false</editable>
114
+ <field>Tenant__c.User_Status__c</field>
115
+ <readable>true</readable>
116
+ </fieldPermissions>
117
+ <fieldPermissions>
118
+ <editable>false</editable>
119
+ <field>Tenant__c.Property__c</field>
120
+ <readable>true</readable>
121
+ </fieldPermissions>
122
+ <fieldPermissions>
123
+ <editable>false</editable>
124
+ <field>Tenant__c.Start_Date__c</field>
125
+ <readable>true</readable>
126
+ </fieldPermissions>
127
+ <fieldPermissions>
128
+ <editable>false</editable>
129
+ <field>Tenant__c.End_Date__c</field>
130
+ <readable>true</readable>
131
+ </fieldPermissions>
132
+ <fieldPermissions>
133
+ <editable>false</editable>
134
+ <field>Tenant__c.Status__c</field>
135
+ <readable>true</readable>
136
+ </fieldPermissions>
137
+ </PermissionSet>
@@ -0,0 +1,5 @@
1
+ trigger MaintenanceRequestTrigger on Maintenance_Request__c (before insert) {
2
+ if (Trigger.isBefore && Trigger.isInsert) {
3
+ MaintenanceRequestTriggerHandler.handleBeforeInsert(Trigger.new);
4
+ }
5
+ }
@@ -0,0 +1,5 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <ApexTrigger xmlns="http://soap.sforce.com/2006/04/metadata">
3
+ <apiVersion>66.0</apiVersion>
4
+ <status>Active</status>
5
+ </ApexTrigger>
@@ -0,0 +1,8 @@
1
+ trigger TenantTrigger on Tenant__c (after insert, after update) {
2
+ if (Trigger.isAfter && Trigger.isInsert) {
3
+ TenantTriggerHandler.assignTenantMaintenanceAccess(Trigger.new, null);
4
+ }
5
+ if (Trigger.isAfter && Trigger.isUpdate) {
6
+ TenantTriggerHandler.assignTenantMaintenanceAccess(Trigger.new, Trigger.oldMap);
7
+ }
8
+ }
@@ -0,0 +1,5 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <ApexTrigger xmlns="http://soap.sforce.com/2006/04/metadata">
3
+ <apiVersion>66.0</apiVersion>
4
+ <status>Active</status>
5
+ </ApexTrigger>