Attacher un document à une tâche via une recherche

01/03/2018

Introduction

Cet article décrit comment attacher un document à une tâche au travers d’une action ouvrant un formulaire de recherche. En effet, par défaut, les documents pouvant être attachés à une tâche ne peuvent provenir que du poste local.

Prérequis :

  • Notion de Javascript
  • Formulaire de recherche
  • Tâche existante dont l’une des pièces jointes peut être modifiée

Place au script !

Commençons par ouvrir la console Javascript de Google Chrome.

Ensuite copier/coller le script ci-dessous dans votre console et ouvrez une tâche.

var cardAPI = JSAPI.get().getCardAPI();
cardAPI.registerForAttachment(function(card, task, definition, component){
	var actionAPI = JSAPI.get().getActionFactoryAPI();
	var action = actionAPI.buildIcon("myCustomAction", "fa-search", function(actionPresenter){
		launchSearch(definition.getId(), actionPresenter);
    });
    card.getActions().add(action);
});

function launchSearch(attachmentId, action){
	JSAPI.get().getPopupAPI().openSearch("DOCUMENT","DefaultSearch" , function(component){ 
			action.setEnabled(false);
			attachToTask(attachmentId, component);		
		} 
	);
}

function attachToTask(attachmentId, component){
	var event = new AddTaskAttachmentEvent(attachmentId, component);
	JSAPI.get().getLastComponentFormAPI().fireEvent(event);
}

Nous pouvons constater, qu’au niveau de la pièce jointe, un icône de recherche est apparu. Cliquez dessus et le formulaire de recherche spécifié (ici DefaultSearch) s’ouvre dans une popup. Effectuez votre recherche et sélectionnez un document.

Pour aller plus loin…

Consultez la documentation de l’API Javascript !