Commit Graph

35 Commits

Author SHA1 Message Date
Jonathan Miller 3f75d06efc Add GrantReportingHelper — spending reports, funder compliance, deadline tracking
Universal: Auto Version Bump / Version Bump (push) Successful in 10s
Universal: Pre-Release / Build Pre-Release (${{ inputs.stability || github.ref_name }}) (push) Successful in 28s
Universal: PR Check / Branch Policy (pull_request) Successful in 1s
Universal: PR Check / Secret Scan (pull_request) Successful in 6s
Generic: Repo Health / Site Health (pull_request) Has been skipped
Generic: Repo Health / Access control (pull_request) Successful in 2s
Universal: PR Check / Validate PR (pull_request) Failing after 5s
Universal: PR Check / Build RC Package (pull_request) Has been cancelled
Universal: PR Check / Report Issues (pull_request) Has been cancelled
Generic: Repo Health / Scripts governance (pull_request) Has been cancelled
Generic: Repo Health / Repository health (pull_request) Has been cancelled
Generic: Repo Health / Report Issues (pull_request) Has been cancelled
2026-06-21 00:49:36 -05:00
gitea-actions[bot] 98a0bd0637 chore(version): pre-release bump to 01.03.04-dev [skip ci] 2026-06-21 04:34:55 +00:00
gitea-actions[bot] 3d443b3092 chore(version): auto-bump patch 01.03.03-dev [skip ci] 2026-06-21 04:34:47 +00:00
Jonathan Miller 032a1f3bdc Add PledgeReminderHelper — unfulfilled pledge tracking, fulfillment summary
Universal: Auto Version Bump / Version Bump (push) Successful in 8s
Universal: Pre-Release / Build Pre-Release (${{ inputs.stability || github.ref_name }}) (push) Successful in 11s
2026-06-20 23:34:33 -05:00
gitea-actions[bot] a4c8488781 chore(version): pre-release bump to 01.03.02-dev [skip ci] 2026-06-21 02:42:44 +00:00
gitea-actions[bot] 0d900b50d3 chore(version): auto-bump patch 01.03.01-dev [skip ci] 2026-06-21 02:42:35 +00:00
Jonathan Miller e95e612a44 Add ThankYou site view — donation confirmation with token verification, receipt display
Universal: Auto Version Bump / Version Bump (push) Successful in 8s
Universal: Pre-Release / Build Pre-Release (${{ inputs.stability || github.ref_name }}) (push) Successful in 11s
2026-06-20 21:42:23 -05:00
gitea-actions[bot] 1bff03696c chore(release): build 01.03.00 [skip ci] 2026-06-20 22:30:34 +00:00
gitea-actions[bot] fbccca11bb chore(version): auto-bump patch 01.02.02-dev [skip ci]
Branch Cleanup / Delete merged branch (pull_request) Has been skipped
RC Revert / Rename rc/ back to dev/ (pull_request) Has been skipped
Universal: Build & Release / Promote to RC (pull_request) Has been skipped
Universal: Build & Release / Build & Release Pipeline (pull_request) Successful in 13s
Universal: Workflow Sync Trigger / Sync workflows to live repos (pull_request) Failing after 2m55s
2026-06-20 22:29:10 +00:00
Jonathan Miller c5c492463e fix: enforce restricted fund balance check before recording expenses (GAAP)
Generic: Repo Health / Site Health (pull_request) Has been skipped
Universal: PR Check / Branch Policy (pull_request) Successful in 2s
Generic: Repo Health / Access control (pull_request) Successful in 2s
Universal: Secret Scanning / Gitleaks Secret Scan (pull_request) Successful in 5s
Generic: Project CI / Lint & Validate (pull_request) Successful in 5s
Universal: PR Check / Validate PR (pull_request) Failing after 4s
Universal: Auto Version Bump / Version Bump (push) Successful in 10s
Universal: Pre-Release / Build Pre-Release (${{ inputs.stability || github.ref_name }}) (push) Failing after 9s
Generic: Project CI / Tests (pull_request) Has been cancelled
Universal: PR Check / Build RC Package (pull_request) Has been cancelled
Universal: PR Check / Report Issues (pull_request) Has been cancelled
Generic: Repo Health / Scripts governance (pull_request) Has been cancelled
Generic: Repo Health / Repository health (pull_request) Has been cancelled
Generic: Repo Health / Report Issues (pull_request) Has been cancelled
2026-06-20 17:28:41 -05:00
gitea-actions[bot] 9af651d2be chore(version): auto-bump patch 01.02.01-dev [skip ci] 2026-06-20 22:19:48 +00:00
Jonathan Miller 502dfa40d9 Add FundAccountingHelper — restricted/unrestricted fund balances, GAAP compliance, expense ratios
Universal: Auto Version Bump / Version Bump (push) Successful in 9s
Universal: Pre-Release / Build Pre-Release (${{ inputs.stability || github.ref_name }}) (push) Failing after 9s
2026-06-20 17:18:54 -05:00
gitea-actions[bot] 5c799e8fb1 chore(release): build 01.02.00 [skip ci] 2026-06-20 20:32:15 +00:00
gitea-actions[bot] 774fee24fd chore(version): auto-bump patch 01.01.01-dev [skip ci]
Branch Cleanup / Delete merged branch (pull_request) Has been skipped
Universal: Build & Release / Promote to RC (pull_request) Has been skipped
Universal: Build & Release / Build & Release Pipeline (pull_request) Successful in 13s
2026-06-20 19:57:16 +00:00
Jonathan Miller 69b554f4a6 fix: cancelRecurring — verify pledge exists and is active before cancelling
Universal: Auto Version Bump / Version Bump (push) Successful in 8s
Universal: Pre-Release / Build Pre-Release (${{ inputs.stability || github.ref_name }}) (push) Failing after 6s
2026-06-20 14:57:03 -05:00
Jonathan Miller 0190947bb7 Add NpoReportsController API — annual impact, donor impact, recurring donations CRUD
Universal: Auto Version Bump / Version Bump (push) Failing after 7s
Universal: Pre-Release / Build Pre-Release (${{ inputs.stability || github.ref_name }}) (push) Failing after 7s
Generic: Repo Health / Site Health (pull_request) Has been skipped
Universal: PR Check / Branch Policy (pull_request) Successful in 1s
Generic: Repo Health / Access control (pull_request) Successful in 2s
Universal: PR Check / Validate PR (pull_request) Failing after 4s
Branch Cleanup / Delete merged branch (pull_request) Has been skipped
Universal: Build & Release / Promote to RC (pull_request) Has been skipped
Universal: Build & Release / Build & Release Pipeline (pull_request) Has been skipped
Universal: PR Check / Build RC Package (pull_request) Has been cancelled
Universal: PR Check / Report Issues (pull_request) Has been cancelled
Generic: Repo Health / Scripts governance (pull_request) Has been cancelled
Generic: Repo Health / Repository health (pull_request) Has been cancelled
Generic: Repo Health / Report Issues (pull_request) Has been cancelled
2026-06-20 14:01:57 -05:00
Jonathan Miller dafa6ba9eb Add ImpactReportHelper — annual impact summary, donor retention, program metrics
Universal: Auto Version Bump / Version Bump (push) Failing after 12s
Universal: Pre-Release / Build Pre-Release (${{ inputs.stability || github.ref_name }}) (push) Failing after 12s
Universal: PR Check / Branch Policy (pull_request) Successful in 1s
Generic: Repo Health / Site Health (pull_request) Has been skipped
Generic: Repo Health / Access control (pull_request) Successful in 2s
Universal: PR Check / Validate PR (pull_request) Failing after 4s
Branch Cleanup / Delete merged branch (pull_request) Has been skipped
Universal: Build & Release / Promote to RC (pull_request) Has been skipped
Universal: Build & Release / Build & Release Pipeline (pull_request) Failing after 7s
Universal: PR Check / Build RC Package (pull_request) Has been cancelled
Universal: PR Check / Report Issues (pull_request) Has been cancelled
Generic: Repo Health / Scripts governance (pull_request) Has been cancelled
Generic: Repo Health / Repository health (pull_request) Has been cancelled
Generic: Repo Health / Report Issues (pull_request) Has been cancelled
2026-06-20 13:28:43 -05:00
Jonathan Miller 6d773e2e04 Add NpoDonorController API — donor CRUD, pledges, recurring revenue summary 2026-06-18 11:59:58 -05:00
Jonathan Miller a704e716bf Add DonorWall site view — public donor recognition by level 2026-06-18 11:12:43 -05:00
Jonathan Miller 42161e3d0f fix: add idempotency guard to recurring donation processing 2026-06-18 10:37:52 -05:00
Jonathan Miller 990aa86682 Add RecurringDonationHelper — pledge creation, autopay processing, recurring revenue 2026-06-18 10:26:54 -05:00
Jonathan Miller 62a18c894b fix: PR review — escape LIKE wildcards in DonorsModel search 2026-06-18 09:52:07 -05:00
Jonathan Miller bab40a0af6 Add NpoCampaignsController API — campaigns with progress, memberships, expiring alerts, dashboard stats 2026-06-18 08:29:46 -05:00
Jonathan Miller 0275564283 Add MemberPortal site view — giving history, membership status, tax receipts, event registrations 2026-06-17 11:41:49 -05:00
Jonathan Miller 29e87cb572 Add 7 admin models — Donors, Donations, Campaigns, Grants, Volunteers, Events, Memberships
All use Joomla 6 BaseDatabaseModel with $this->getDatabase()
2026-06-15 00:49:53 -05:00
Jonathan Miller 33f4da29f9 Add Volunteers/Grants API controllers, EventCalendar and GrantPortal site views
- NpoVolunteersController: list, register, log hours, stats
- NpoGrantsController: grants CRUD, campaigns with progress tracking
- EventCalendar: public monthly view with registration counts
- GrantPortal: public grant listing with summary stats
2026-06-15 00:35:03 -05:00
Jonathan Miller d257afa23e feat: events/volunteers/memberships/grants API controller
NpoEventsController: event listing + registration + check-in, volunteer
hours logging, membership summary, grant pipeline with reports due.
Permission checks on admin-only endpoints (npo.grants, core.manage).
2026-06-13 08:57:23 -05:00
Jonathan Miller 38dabdce76 chore: CI workflow, language files, CSS, JS infrastructure 2026-06-13 08:37:25 -05:00
Jonathan Miller c9c5ff7254 feat: events, volunteers, memberships views + grant/membership/event helpers
GrantHelper: pipeline summary, deadline tracking, report due dates.
MembershipHelper: active members, expiring, revenue summary, renewal.
EventHelper: upcoming events, registration, check-in, capacity tracking.
Admin views: Events list, Volunteers with hours stats, Memberships
with annual dues summary. All with templates.
2026-06-13 08:14:30 -05:00
Jonathan Miller 9f304902f9 feat: public donate page, campaign page with thermometer, volunteer signup
Donate: online donation form with quick-amount buttons, fund/campaign
selection, tribute (in honor/memory), auto tax receipt generation,
contact auto-creation. Campaign page: public thermometer + recent
donors + donate button. Volunteer signup: skills checkboxes, day
availability, auto contact creation + volunteer registration.
2026-06-13 08:01:55 -05:00
Jonathan Miller 7a033da7ed feat: wire ACL permission checks into API controller
NpoDonationsController: requireAuth() checks on listDonations and
createDonation (npo.donations permission). Matches access.xml actions.
2026-06-13 07:33:08 -05:00
Jonathan Miller f97c86bc71 chore: comprehensive config.xml settings + access.xml permissions 2026-06-13 07:20:07 -05:00
Jonathan Miller 2b6d52eeb3 feat: webservices plugin, task scheduler, router, config, access
NpoAutomation task plugin: year-end tax receipts, lapsed donor detection,
grant deadline reminders, pledge follow-up emails.
MokoSuiteNpoApi webservices: 6 CRUD routes (donors, donations, campaigns,
grants, volunteers, events). Router, config.xml, access.xml, updates.xml.
2026-06-13 07:10:16 -05:00
Jonathan Miller 675fff8ca6 feat: donors list, campaigns with thermometers, grants pipeline, donations API
NpoDonationsController API: donations CRUD, campaigns list, thermometer
data, donor list, fundraising summary.
Admin views: Donors list with lifetime giving + level badges, Campaigns
with progress bars + donor counts, Grants pipeline with deadline tracking.
2026-06-13 06:53:08 -05:00
Jonathan Miller 72c6d9a0e6 feat: initial scaffold — MokoSuiteNPO nonprofit management
Layer 2 add-on for MokoSuite CRM. Full nonprofit operations:

Schema (12 tables):
- Donors (extends CRM contacts with giving levels + lifetime stats)
- Donations (cash/check/card/ACH/stock/crypto/in-kind/pledge/matching)
- Pledges (installment tracking with fulfilment status)
- Funds (unrestricted/temporarily/permanently restricted/endowment)
- Campaigns (fundraising drives with goals and thermometers)
- Grants (prospect > writing > submitted > awarded > reporting lifecycle)
- Volunteers (skills, availability, background checks)
- Volunteer Hours (activity logging with approval)
- Memberships (levels, dues, auto-renew)
- Tax Receipts (IRS-compliant acknowledgment letters)
- Events (galas, auctions, community events with registration)
- Event Registrations (tickets, dietary, table assignment)

Helpers (4):
- DonorHelper: profiles, giving history, level auto-calculation, lapsed detection
- CampaignHelper: active campaigns, thermometer data, fundraising summary
- VolunteerHelper: registration, hours logging, skills matching, reporting
- TaxReceiptHelper: IRS-compliant receipt generation, year-end batch

Infrastructure:
- Joomla 6 architecture (PHP 8.3+, DI container, typed properties)
- Admin dashboard with fundraising thermometers + grant deadlines
- 6 webservice routes (donors, donations, campaigns, grants, volunteers, events)
- Package manifest with DLID update server
- GPL-3.0 license
2026-06-12 00:41:21 -05:00