Commit Graph

37 Commits

Author SHA1 Message Date
gitea-actions[bot] bfe66d8ab0 chore(release): build 01.02.00-rc [skip ci] release-candidate 2026-06-20 19:05:49 +00: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
jmiller c03e07845d Merge pull request 'feat: ImpactReportHelper' (#16) from dev into main 2026-06-20 18:52:19 +00: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
jmiller 8b2dc7a575 fix: rename moko-platform to mokocli + changelog promotion in workflows 2026-06-20 17:17:33 +00:00
jmiller fe40d20eca fix: rename moko-platform to mokocli + changelog promotion in workflows 2026-06-20 17:17:33 +00:00
jmiller f7bd7325b7 fix: rename moko-platform to mokocli + changelog promotion in workflows 2026-06-20 17:17:32 +00:00
jmiller 7aa0af69b4 fix: rename moko-platform to mokocli + changelog promotion in workflows 2026-06-20 17:17:32 +00:00
jmiller dc4b9d61f4 fix: rename moko-platform to mokocli + changelog promotion in workflows 2026-06-20 17:17:31 +00:00
jmiller 1966f8446a fix: rename moko-platform to mokocli + changelog promotion in workflows 2026-06-20 17:17:30 +00:00
jmiller 3b29206744 Merge pull request 'feat: NpoDonorController API' (#15) from dev into main 2026-06-18 17:47:35 +00:00
Jonathan Miller 6d773e2e04 Add NpoDonorController API — donor CRUD, pledges, recurring revenue summary 2026-06-18 11:59:58 -05:00
jmiller 630485be81 Merge pull request 'feat: DonorWall view + block-stable CI' (#14) from dev into main 2026-06-18 16:24:03 +00:00
Jonathan Miller a704e716bf Add DonorWall site view — public donor recognition by level 2026-06-18 11:12:43 -05:00
Jonathan Miller c5058cf99d ci: add block-stable workflow 2026-06-18 10:55:58 -05:00
jmiller af2897bb57 Merge pull request 'feat: RecurringDonationHelper + review fixes' (#13) from dev into main 2026-06-18 15:42:16 +00: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
jmiller 5d7fdc530d feat: Full nonprofit platform build — 17 commits 2026-06-18 14:54:56 +00: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 88cb3a2fe5 Update MokoSuite → MokoSuiteClient submodule reference
Updated .gitmodules URL and path for the MokoSuite → MokoSuiteClient rename.
2026-06-15 16:49:10 -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 aee7bd071d chore: add MokoSuite base as direct submodule for packaging 2026-06-12 02:26:17 -05:00
Jonathan Miller 63e7e8a922 chore: add MokoSuiteCRM as git submodule for layer packaging 2026-06-12 02:20:31 -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
jmiller 195d317644 Initial commit 2026-06-12 04:33:43 +00:00