Skip to content

manuxi/SuluAssociationContactBundle

Repository files navigation

SuluAssociationContactBundle!

php workflow symfony workflow License: MIT GitHub Tag Supports Sulu 3.0 or later

🇩🇪 Deutsche Version

The SuluAssociationContactBundle extends Sulu CMS with association and membership management for contacts.

It adds an extra tab to the contact edit form in the Sulu admin with fields like member status, membership dates, display preferences and more.

Form

Features

Membership Management

  • Member Status - 11 configurable statuses: active, passive, honorary, supporting, founding, youth, board, probationary, external, dormant, guest
  • Display Control - Configure if and how members appear on the website (no display, first name only, full name)
  • Dates - Member-since date, suspended-since date
  • Notes - Rich text notes on membership

Additional Data

  • Name Additions - Prefix and suffix for member names
  • Annotations & Motivation - Rich text fields for personal notes
  • Deceased Tracking - Mark deceased members with date

Settings

  • Toggle Controls - Header, hero and breadcrumb display toggles
  • Page References - Configurable overview pages per member status for breadcrumbs

Integration

  • Sulu Admin Tab - Seamless integration into the contact edit form
  • Admin List Columns - Member status, dates and display type searchable and filterable in the contact list
  • Activity Logging - Contact data changes tracked via Sulu's activity system
  • Twig Extensions - Access member status and settings in templates

Prerequisites

  • PHP 8.2 or higher
  • Sulu CMS 3.0 or higher
  • Symfony 7.0 or higher

Installation

Step 1: Install the package

composer require manuxi/sulu-association-contact-bundle

If you are not using Symfony Flex, add the bundle to config/bundles.php:

return [
    //...
    Manuxi\SuluAssociationContactBundle\SuluAssociationContactBundle::class => ['all' => true],
];

Step 2: Configure routes

Add to config/routes/sulu_association_contact_admin.yaml:

SuluAssociationContactBundle:
    resource: '@SuluAssociationContactBundle/Resources/config/routes_admin.yaml'

Step 3: Update the database

# Check what will be created
php bin/console doctrine:schema:update --dump-sql

# Execute migration
php bin/console doctrine:schema:update --force

Make sure you only process this bundle's schema updates!

Step 4: Grant permissions

  1. Go to Sulu Admin > Settings > User Roles
  2. Find the appropriate role
  3. Enable permissions for "Contacts / settings"
  4. Reload the page

Documentation

Configuration

No additional configuration required. The bundle registers all necessary services, forms and routes automatically.

Contributing

Contributions are welcome! Please create issues or pull requests.

License

This bundle is licensed under the MIT License. See LICENSE.

Credits

Created and maintained by manuxi.

Thanks to the Sulu team for the great CMS and fantastic support!

About

Sulu bundle that adds association-aware contact handling for Sulu CMS: extends contact forms and APIs to manage contacts linked to organizations/associations with additional fields and relations.

Topics

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages