Changing the interface

From ISPWiki

Jump to: navigation, search

Below is an example on how to hide some interface elements on the user access level.

Task

  • We need to remove the Contract management menu item in BILLmanager
  • Remove the "Contract details" tab from a payer' property form.
  • Remove the "Created" and "Delay" fields from the trouble tickets list, because we do not need them or they take too much space on the interface.

Solution

1) Create a /usr/local/ispmgr/etc/billmgr_mod_hidecontractandtunesupport.xml file with the following contents to describe the plug-in

<?xml version="1.0" encoding="UTF-8"?>
<mgrdata>
  <mainmenu level="5">
    <node name="customer">
      <node name="contract" if="myhide"/>
    </node>
  </mainmenu>
  <metadata name="profile.edit">
    <form>
      <page name="contract" if="myhide"/>
    </form>
  </metadata>
  <metadata name="clienttickets">
    <coldata>
      <col name="delay" if="myhide"/>
      <col name="user" if="myhide"/>
    </coldata>
  </metadata>
</mgrdata>

2) Restart BILLmanager

Comments

In this example we used the if attribute to specify when to display the interface elements. Read the article XML for more detail.

We specified an incompletable condition "myhide" to hide the elements. To specify the element to which the if element should be added, you need to know the structure of the interface XML description (you can find it in /usr/local/ispmgr/etc/billmgr.xml), and the rules for merging XML

Then we restarted the control panel to enable our file billmgr_mod_hidecontractandtunesupport.xml.

See also the article Hiding a field.

Was this helpful? Yes | No
Views
Personal tools