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(fr=Dossiers Clients,en=Customer folders),
  • Cliquez sur le bouton Sauvegarder.


Note : Le champ Valeur respecte un format : <identifiant>(<langue>=<libellé>,<langue2>=<libellé2>). L’identifiant étant l’id et le libellé son nom dans la langue renseignée.


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">
			<list>
				<bean class="com.flower.docs.domain.i18n.I18NLabel">
					<property name="language" value="EN"/>
					<property name="value" value="Customer folders"/>
				</bean>
				<bean class="com.flower.docs.domain.i18n.I18NLabel">
					<property name="language" value="FR"/>
					<property name="value" value="Dossiers Clients"/>
				</bean>
			</list>
		</property>
		<property name="description">
			<list>
				<bean class="com.flower.docs.domain.i18n.I18NLabel">
					<property name="language" value="EN"/>
					<property name="value" value="Search customer folder by reference, name or first name."/>
				</bean>
				<bean class="com.flower.docs.domain.i18n.I18NLabel">
					<property name="language" value="FR"/>
					<property name="value" value="Rechercher un dossier client par sa référence, son nom ou son prénom."/>
				</bean>
			</list>
		</property>
		<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