Faites votre premier formulaire de recherche

Découvrez les différentes possibilités de recherche

    Objectifs

    Le but des recherches est de donner aux utilisateurs métiers des outils adaptés à leurs besoins. Les informations essentielles seront à portée de main.


    Dans ce tutoriel, nous allons créer un exemple de Recherche de dossiers clients. Celle-ci permettra simplement de faire remonter les dossiers clients en affichant leurs référence, nom, et prénom.

    Définitions

    Les formulaires de recherche sont des modèles de recherche pré-configurés, qui seront ensuite mis à la disposition des utilisateurs finaux.

    Une recherche comporte deux parties principales, tout d’abord le formulaire de recherche qui permet la création de la requête contenant les critères de recherche, puis les résultats de recherche qui sont affichés à la suite.



    Quand vous aurez terminé ce module de formation, vous pourrez :

    • Configurer un formulaire de recherche,
    • Réaliser des requêtes cachées,
    • Associer un formulaire de recherche à une équipe.


    Assosier la recherche à une équipe d’utilisateurs pour la rendre utilisable.


    Pour ce faire :


    • Allez dans le menu Administration > Sécurité > Equipe,
    • Choisissez l’équipe d’utilisateurs à laquelle associer le formulaire (ici ALL_USERS),
    • Dans l’onglet Propriétés, cliquez sur le bouton + (en haut de la liste des propriétés) pour créer la nouvelle propriété en bas de la page,
    • Choisissez Template de recherche dans la liste déroulante,
    • Renseignez le champ Valeur avec dossierClientSearch(Dossiers Clients),
    • Cliquez sur le bouton Sauvegarder.


    Note : Le champ Valeur respecte un format : <identifiant>(<libellé>). L’identifiant étant l’id et le libellé son nom.


    Maintenant la recherche avancée est accessible et désormais utilisable via le menu Rechercher > Dossiers Clients :


    Rappel : Accédez à l’éditeur via le menu Administration > Configuration > XML :

    • Cliquez sur le + pour créer un nouveau fichier XML,
    • Dans le premier champ, saisissez Recherche de dossiers clients pour nommer le fichier XML
    • Copiez le code XML du Exemple complet ci-dessous,
    • Collez le code dans l’éditeur,
    • Cliquez sur le bouton Sauvegarder.




    Exemple complet

    <?xml version="1.0" encoding="UTF-8"?>
    <beans xmlns="http://www.springframework.org/schema/beans"
    	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:context="http://www.springframework.org/schema/context"
    	xsi:schemaLocation="http://www.springframework.org/schema/beans  
           http://www.springframework.org/schema/beans/spring-beans.xsd    
           http://www.springframework.org/schema/context  
           http://www.springframework.org/schema/context/spring-context.xsd">
    	
      	<bean id="NomAdherentCriterion"
    		class="com.flower.docs.gui.client.search.criterion.SimpleCriterionPresenter">
    		<property name="model">
    			<bean class="com.flower.docs.domain.search.Criterion">
    				<property name="name" value="NomClient" />
    				<property name="type">
    					<value type="com.flower.docs.domain.search.Types">STRING</value>
    				</property>
    				<property name="operator">
    					<value type="com.flower.docs.domain.search.Operators">EQUALS_TO</value>
    				</property>
    			</bean>
    		</property>
    	</bean>
      
        	<bean id="PrenomClientCriterion"
    		class="com.flower.docs.gui.client.search.criterion.SimpleCriterionPresenter">
    		<property name="model">
    			<bean class="com.flower.docs.domain.search.Criterion">
    				<property name="name" value="PrenomClient" />
    				<property name="type">
    					<value type="com.flower.docs.domain.search.Types">STRING</value>
    				</property>
    				<property name="operator">
    					<value type="com.flower.docs.domain.search.Operators">EQUALS_TO</value>
    				</property>
    			</bean>
    		</property>
    	</bean>
    	
    		<bean id="RefClientCriterion"
    		class="com.flower.docs.gui.client.search.criterion.SimpleCriterionPresenter">
    		<property name="model">
    			<bean class="com.flower.docs.domain.search.Criterion">
    				<property name="name" value="RefClient" />
    				<property name="type">
    					<value type="com.flower.docs.domain.search.Types">STRING</value>
    				</property>
    				<property name="operator">
    					<value type="com.flower.docs.domain.search.Operators">EQUALS_TO</value>
    				</property>
    			</bean>
    		</property>
    	</bean>
    	<bean id="dossierClientSearch"
    		class="com.flower.docs.gui.client.search.ComponentSearchPresenter"
    		scope="prototype">
          
    		<property name="title" value="Dossiers Clients" />
    		<property name="description" value="Rechercher un dossier client par sa référence, son nom ou son prénom."/>
    		<property name="categorySelectorPresenter">
    			<bean
    				class="com.flower.docs.gui.client.search.criteria.item.FakeCategorySelectorPresenter">
    				<property name="value">
    					<value type="com.flower.docs.domain.component.Category">VIRTUAL_FOLDER</value>
    				</property>
    			</bean>
    		</property>
          	<property name="keywordCriteriaPresenter">
    			<bean
    				class="com.flower.docs.gui.client.search.criteria.KeywordCriteriaPresenter">
    				<property name="enabled" value="false" />
    			</bean>
    		</property>
    		<property name="advancedCriteriaPresenter">
    			<bean
    				class="com.flower.docs.gui.client.search.criteria.advanced.AdvancedCriteriaPresenter ">
    				<property name="enabled" value="true" />
    				<property name="forceOpen" value="true" />
    				<property name="displayClassSelector" value="false" />
    				<property name="addEmptyCriterion" value="true" />
    				<property name="showSearchButton" value="true" />
    				<property name="fixedCriterionPresenters">
    					<list>
                          	<ref bean="RefClientCriterion" />
    						<ref bean="NomAdherentCriterion" />
                          	<ref bean="PrenomClientCriterion" />
    					</list>
    				</property>
    			</bean>
    		</property>
    		<property name="hiddenColumns">
    			<list>
    				<value>status</value>
    				<value>classid</value>
    			</list>
    		</property>
    		<property name="hiddenRequest">
    			<bean class="com.flower.docs.domain.search.SearchRequest">
    				<property name="selectClause">
    					<bean class="com.flower.docs.domain.search.SelectClause">
    						<property name="fields">
    							<list>
    								<value>name</value>
    								<value>NomClient</value>
    								<value>RefClient</value>
    							</list>
    						</property>
    					</bean>
    				</property>
    				<property name="filterClauses">
    			<list>
    				<bean class="com.flower.docs.domain.search.AndClause">
    					<property name="criteria">
    						<list>
    							<bean class="com.flower.docs.domain.search.Criterion">
    								<property name="name" value="classid" />
    								<property name="type">
    									<value type="com.flower.docs.domain.search.Types">STRING</value>
    								</property>
    								<property name="operator">
    									<value type="com.flower.docs.domain.search.Operators">EQUALS_TO</value>
    								</property>
    								<property name="values">
    									<list>
    										<value>DossierClient</value>
    									</list>
    								</property>
    							</bean>
    						</list>
    					</property>
    				</bean>
    			</list>
    		</property>
            <property name="orderClauses">
    			<list>
    				<bean class="com.flower.docs.domain.search.OrderClause">
    					<property name="name" value="creationDate" />
    					<property name="ascending" value="false" />
    				</bean>
    			</list>
    		</property>
    		<property name="max" value="100" />
    			</bean>
    		</property>
    	</bean>
    </beans>


Créer