FastActions » History » Version 3
tsmr, 12/23/2011 09:26 AM
1 | 1 | tsmr | h1. FastActions |
---|---|---|---|
2 | 1 | tsmr | |
3 | 1 | tsmr | *Goal* : Add a system to display fast actions on GLPI header |
4 | 1 | tsmr | |
5 | 1 | tsmr | *Concerned objects* : All objects which have an interest to be launch quickly |
6 | 1 | tsmr | |
7 | 1 | tsmr | Detail : |
8 | 1 | tsmr | |
9 | 1 | tsmr | Example : for a Call Center which need to generate tickets on the fly : |
10 | 1 | tsmr | |
11 | 1 | tsmr | |Class|Action|Parameter| |
12 | 1 | tsmr | |Ticket|New Ticket|Specify requester| |
13 | 1 | tsmr | |Problem|New Problem|Specify requester| |
14 | 2 | tsmr | |Plugins|Action defined by plugin|Parameters defined by plugin| |
15 | 3 | tsmr | |
16 | 3 | tsmr | Patch envoyé : |
17 | 3 | tsmr | |
18 | 3 | tsmr | - 1 fichier ajax/dropdownHeaderActions.php appelant Html::addDropdownActionsForHeader($_POST['action']); |
19 | 3 | tsmr | |
20 | 3 | tsmr | - Ajout dans define.php d'un tableau : $CFG_GLPI["header_types"] = array('Ticket'); (et modification de plugin.class.php pour la prise en charge des plugins) |
21 | 3 | tsmr | |
22 | 3 | tsmr | - Ajout de 3 fonctions dans html.class.php : |
23 | 3 | tsmr | |
24 | 3 | tsmr | addCriteriaForHeader qui retourne les classes ayant le droit de faire des actions rapides (avec un hook $PLUGIN_HOOKS["header_entry"]) |
25 | 3 | tsmr | |
26 | 3 | tsmr | showActionFromHeader qui liste ces classes dans une liste déroulante |
27 | 3 | tsmr | |
28 | 3 | tsmr | addDropdownActionsForHeader qui liste les actions pour chaque classe. |
29 | 3 | tsmr | |
30 | 3 | tsmr | Coté plugin : |
31 | 3 | tsmr | |
32 | 3 | tsmr | Plugin::registerClass -> 'header_types' => true |
33 | 3 | tsmr | |
34 | 3 | tsmr | $PLUGIN_HOOKS['header_entry']['example'] = array('My fast action' =>'/plugins/example/front/example.form.php'); |
35 | 3 | tsmr | $PLUGIN_HOOKS['header_action']['example'] = 'plugin_example_header_action'; |
36 | 3 | tsmr | |
37 | 3 | tsmr | function plugin_example_header_action() { |
38 | 3 | tsmr | global $LANG; |
39 | 3 | tsmr | |
40 | 3 | tsmr | echo "<div class='center'><input type=\"submit\" class=\"submit\" value=\"" . $LANG['buttons'][2] . "\" ></div>"; |
41 | 3 | tsmr | } |