{{app.activeOffice.label}} · {{app.activeModule.label}}

{{app.activeModule.description || app.activeOffice.description}}
{{app.notice}}
{{k.label}}
{{k.value}}
{{k.note}}
Independent Office/Department Links
{{m.label}}
{{m.description || m.singular}}
{{app.count(m.key)}} records
Recent Activities Logs
No audit logs yet.
{{a.action}} {{a.module}}
{{a.createdAt | date:'short'}} · {{a.user}}
{{app.mapTitle()}}
{{app.mapSubtitle()}}
{{app.allGeoRecords().length}} points · {{app.allMapPolygons().length}} polygons
How to use: {{app.mapHelpText()}}
Point Geotag
Polygon / Boundary
{{app.currentPolygonText()}}
Mapped Records
{{g.label}}
{{g.recordType}} · {{g.barangay}} · {{g.latitude}}, {{g.longitude}}
No geotagged records yet.
Saved Polygons
{{p.name}}
{{p.type}} · {{p.barangay}} · {{p.coordinates.length}} points · {{p.areaHa || 0}} ha
No polygons saved yet.
Office Independence

This screen confirms that every office is stored and maintained independently. The shared code engine renders forms and tables, but data is saved per office.

Active Office: {{app.activeOffice.label}}
Firebase Path: {{app.firebasePath()}}
Local Key: {{app.localStorageKey()}}
Firebase User Samples
{{app.userSamples()}}
Audit Logs
DateUserActionOfficeModuleRecord
{{a.createdAt | date:'short'}}{{a.user}}{{a.action}}{{a.office}}{{a.module}}{{a.record}}
{{app.editing.id ? 'Update' : 'New'}} {{app.activeModule.singular}}
Your role has read-only access to this module.
{{f.help}}
{{app.activeModule.label}} Records
{{app.filteredRecords().length}} result(s)
{{c.label}}Actions
{{app.displayCell(row,c)}}
No records found. Create the first {{app.activeModule.singular | lowercase}} record.