johnnyxlemonade / admin-cms-rental
Reusable localized CMS rental module for Lemonade Admin.
Package info
github.com/johnnyxlemonade/admin-cms-rental
pkg:composer/johnnyxlemonade/admin-cms-rental
Requires
- php: >=8.3 <8.6
- johnnyxlemonade/admin-platform: dev-main
- johnnyxlemonade/cms-core: dev-main
- johnnyxlemonade/framework: dev-main
- psr/http-message: ^2.0
Requires (Dev)
- friendsofphp/php-cs-fixer: ^3.94
- phpstan/phpstan: 2.3.0
- phpstan/phpstan-strict-rules: 2.1.0
- phpunit/phpunit: ^10.5
Suggests
None
Provides
None
Conflicts
None
Replaces
None
This package is auto-updated.
Last update: 2026-11-04 18:03:17 UTC
README
johnnyxlemonade/admin-cms-rental is an optional CMS module with the
cms.rental code. When present in the Composer installation, it provides
rental management at <admin-base>/content/rental (for the standard /admin
base path, /admin/content/rental).
A rental root stores its author name, owner, monthly rent in CZK, availability date, offer state, external URL, and shared display settings. The author name is text metadata; the owner is a separate audit identity. Each localized translation stores its location, title, summary, content, SEO metadata, tags, and publication state and time. Display settings are root metadata shared across translations: recommendation, author, sharing, publication date, main image, reading time, and tags.
The module uses the shared CMS content lifecycle for drafts, audited saves, soft deletion, restoration, and canonical URL reservations. Images, galleries, and attachments use Admin Platform file collections. The package does not provide public routes, templates, or rental rendering; the host application decides how to use the stored display metadata.
Installation
The package requires PHP >=8.3 <8.6, johnnyxlemonade/framework,
johnnyxlemonade/admin-platform, and johnnyxlemonade/cms-core.
composer require johnnyxlemonade/admin-cms-rental:dev-main
Composer package metadata discovers and activates the module; there is no separate installed or enabled state. Run the host application's controlled migration and permission-sync deployment flow before serving requests. Permissions are not granted to roles automatically.
Package boundaries
- CMS Rental owns the rental aggregate, Admin module contribution, publication workflow, and rental-specific permissions.
- Admin Platform owns shared editor components, file collections, upload
transport, and
system_filemetadata. - CMS Core owns the shared content lifecycle and canonical route reservations.
- The host owns public routes, rendering, and publication checks.
Local Portal integration
For a local Portal checkout, add a Composer path repository pointing to
../admin-cms-rental and require
johnnyxlemonade/admin-cms-rental:dev-main in the local Composer manifest.
The distribution manifest and lock file remain unchanged.
Development and QA
From the package root, run:
composer cs:check
composer stan
composer test
composer qa