cedriclombardot / propel-visibility-behavior
Propel behavior that helps you to set a visibility per fields
Installs: 1 012
Dependents: 0
Suggesters: 0
Security: 0
Stars: 2
Watchers: 2
Forks: 0
Open Issues: 0
Requires
- propel/propel1: ~1.6
This package is auto-updated.
Last update: 2024-09-24 04:20:10 UTC
README
The VisibilityBehavior behavior allows you to add visibility column per field and manage visible datas per user role.
Installation
Cherry-pick the VisibilityBehavior.php
file is src/
, put it somewhere,
then add the following line to your propel.ini
or build.properties
configuration file:
propel.behavior.visibility.class = path.to.VisibilityBehavior
Usage
Just add the following XML tag in your schema.xml
file:
<behavior name="visibility"> <parameter name="visibilities" value="me, friends, all" /> <parameter name="default_visibility" value="me" /> <!-- Hiearchy of visibilities --> <parameter name="hierarchy" value="when it's visible for friends it's visible for me" /> <parameter name="hierarchy" value="when it's visible for all it's visible for friends" /> <parameter name="hierarchy" value="when it's visible for all it's visible for me" /> <!-- Choose columns to apply --> <parameter name="apply_to" value="my_field, my_other_field" /> <!-- Optional parameters --> <parameter name="with_description" value="true" /> </behavior>
The visibility behavior requires four parameters to work:
visibilities
: a finite set of visibilities as comma separated values;default_visibility
: the initial state, part of set of visibilities;hierarchy
: a set of hierarchies. As you can see, you can add as manyhierarchy
parameters as you want.apply_to
: the list of column to apply the visibility behavior
Each hierarchy has to follow this pattern:
when it's visible for VISIBILITY_1 it's visible for VISIBILITY_2