Skip to end of banner
Go to start of banner

Customise Search Pages

Skip to end of metadata
Go to start of metadata

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

 

loadSystemUsers.xml
<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>
Data Entry Page Call
...
 
	<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>
 
...
Summary Page Call
...
 
	<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>
 
...
  • No labels