PageBuilder uses the ControlBase to define support for sentry rights as well as data-binding rights. The
ControlBase class is contained in SuperOfice.Web.UI.Controls namespace and the base class for all controls used by the PageBuilder. This concept allows controls to be disabled automatically when a field is read-only. Sentry rights are calculated at the lowest level of NetServer and transported up through the web service to the GUI layer.
Sentry acts as the watchdog that keeps an eye on all the access to data in the SuperOffice database.
All sub-classes of the
ControlBase support AJAX callbacks and declarative configuration and layout via the PageBuilder.
The following example shows how a sentry right can be used.
<panel id="Contact" type="SplitterPanel" soprotocol="Contact" paneltype="Main" placeholderid="MainPlaceHolder"> <!--Some other code--> <sentry-rights> <sentry-right tableright="HasInsert" type="disable">appointment</sentry-right> </sentry-rights> </panel>
If the logged-in user doesn’t have the required rights to insert data, the field, button, or any other relevant item is disabled. Also, if a menu item such as a button or drop-down list has been blocked by several sentry rights, it is enough that one of them hits.
The following example shows how a function right can be used.
<panel id="Contact" type="SplitterPanel" soprotocol="Contact" paneltype="Main" placeholderid="MainPlaceHolder"> <!--Some other code--> <function-rights> <function-right type="hide">hide-sale</function-right> </function-rights> </panel>
The function rights are applied to user roles. In the above code,
hide-sale means that the users belonging to a role that has the functional right Hidesale enabled will not be able to see the Sale dialog in the GUI.