You are viewing an old version of this page. View the current version.
Compare with Current
View Page History
« Previous
Version 13
Next »
This section describes how custom search pages can be created, in order for the system's release functionality, to be overridden or extended.
What does this section cover?
Create Custom Search Pages
All search pages must be created under ../WebContent/pages/search/<module_name> directory.
To override the system's release functionality, the custom page must have the same filename and parent directory name as the release search page. To extend the system's release functionality, the custom page must have a different filename, than any other release search page having the same parent directory name.
If we wanted to search for all users, declared as super user in the system, we could either override the load.xml search file located under ../WebContent/pages/search/users, or create a new loadsystemusers.xml file in the respective custom project directory. The latter is preferred since overriding the load.xml will affect all other pages using this search file.
Creating A Custom Search Page
<dataset xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../../../xsd/search.xsd">
<searchcaption>Search Users</searchcaption>
<sqltype>Select</sqltype>
<tables>
<table><tablename>USERS</tablename></table>
</tables>
<joins/>
<fields>
<fielditem>
<field>USERS.USERID</field>
<expression>VALUE</expression>
<datatype>ftXString</datatype>
<fieldlen>32</fieldlen>
<searchcriteria>0</searchcriteria>
<visible>0</visible>
<executable>1</executable>
<indexorder>1</indexorder>
</fielditem>
<fielditem>
<field>USERS.USERNAME</field>
<label>key_username</label>
<expression>VALUE</expression>
<datatype>ftXString</datatype>
<fieldlen>100</fieldlen>
<searchcriteria>1</searchcriteria>
<visible>1</visible>
<executable>1</executable>
<casesensitive>false</casesensitive>
<indexorder>2</indexorder>
</fielditem>
</fields>
<wheregroups>
<wheregroup>
<wheremembers>
<wheremember>
<lparenth>0</lparenth>
<lfield>USERS.USERDELETED</lfield>
<expression>=</expression>
<rfield>0</rfield>
<rparenth>0</rparenth>
</wheremember>
<wheremember>
<lparenth>0</lparenth>
<lfield>USERS.ISSUPERUSER</lfield>
<expression>=</expression>
<rfield>1</rfield>
<rparenth>0</rparenth>
</wheremember>
</wheremembers>
</wheregroup>
</wheregroups>
<groupby/>
<orderby/>
</dataset>
...
<selectbox>
<id>slbSystemUser</id>
<label>key_user</label>
<lookuptype>dataset</lookuptype>
<lookupname>users.loadsystemusers</lookupname>
<datapath>myUsers</datapath>
<datapathid>id</datapathid>
<classname>com.company.dataobject.COMPANYCRMDOUser</classname>
<datatype>load</datatype>
</selectbox>
...
...
<field>
<fieldname>SystemUsers</fieldname>
<fieldfunction>SYSTEMUSERS.USERID</fieldfunction>
<caption>key_authorisation_received_by</caption>
<filter>true</filter>
<filteronexpand>true</filteronexpand>
<fieldtype>string</fieldtype>
<filterlookupname>dataset;users.loadsystemusers;userid;username</filterlookupname>
</field>
...