1 .. -*- coding: utf-8 -*- |
1 .. -*- coding: utf-8 -*- |
2 |
2 |
3 Paramétrages et extensions spécifiques |
3 Parametrization and specific extensions |
4 -------------------------------------- |
4 --------------------------------------- |
5 |
5 |
6 Valeurs par défaut dynamiques |
6 Dynamic default values |
7 ````````````````````````````` |
7 `````````````````````` |
8 Il est possible de définir dans le schéma des valeurs par défaut *statiques*. |
8 It is possible to define in the schema *static* default values. |
9 Il est également possible de définir des valeurs par défaut *dynamiques* en |
9 It is also possible to define in the schema *dynamic* default values |
10 définissant sur la classe d'entité une méthode `default_<nom attribut>` pour |
10 by defining in the entity class a method `default_<attribut name>` for |
11 un attribut donnée. |
11 a given attribute. |
12 |
12 |
13 |
13 |
14 Contrôle des attributs chargés et du tri par défaut |
14 Control of loaded attributes and default sorting |
15 ``````````````````````````````````````````````````` |
15 ```````````````````````````````````````````````` |
16 * l'attribut de classe `fetch_attrs` permet de définir sur une classe d'entité |
|
17 la liste des noms des attributs ou relations devant être chargés |
|
18 automatiquement lors de la récupération d'entité(s) de ce type. Dans le cas |
|
19 des relations, on est limité aux relations *sujets de cardinalité `?` ou `1`*. |
|
20 |
16 |
21 * la méthode de classe `fetch_order(attr, var)` prend en argument un nom |
17 * The class attribute `fetch_attrs` allows to defined in an entity class |
22 d'attribut (ou de relation) et un nom de variable et doit retourner une chaine |
18 a list of names of attributes or relations that should be automatically |
23 à utiliser dans la close "ORDERBY" d'une requête RQL pour trier |
19 loaded when we recover the entities of this type. In the case of relations, |
24 automatiquement les listes d'entités de ce type selon cet attribut, ou `None` |
20 we are limited to *subject of cardinality `?` or `1`* relations. |
25 si l'on ne veut pas de tri sur l'attribut passé en argument. Par défaut les |
|
26 entités sont triées selon leur date de création |
|
27 |
21 |
28 * la méthode de classe `fetch_unrelated_order(attr, var)` est similaire à la |
22 * The class method `fetch_order(attr, var)` expects an attribute (or relation) |
29 méthode `fetch_order` mais est utilisée essentiellement pour contrôler le tri |
23 name as a parameter and a variable name, and it should return a string |
30 des listes déroulantes permettant de créer des relations dans la vue d'édition |
24 to use in the requirement `ORDER BY` of an RQL query to automatically |
31 d'une entité |
25 sort the list of entities of such type according to this attribute, or |
|
26 `None` if we do not want to sort on the attribute given in the parameter. |
|
27 By default, the entities are sorted according to their creation date. |
32 |
28 |
33 La fonction `fetch_config(fetchattrs, mainattr=None)` permet de simplifier la |
29 * The class method `fetch_unrelated_order(attr, var)` is similar to the |
34 définition des attributs à précharger et du tri en retournant une liste des |
30 method `fetch_order` except that it is essentially used to control |
35 attributs à précharger (en considérant ceux de la classe `AnyEntity` |
31 the sorting of drop-down lists enabling relations creation in |
36 automatiquement) et une fonction de tri sur l'attribut "principal" (le 2eme |
32 the editing view of an entity. |
37 argument si spécifié ou sinon le premier attribut de la liste `fetchattrs`). |
|
38 Cette fonction est définie dans le package `ginco.entities`. |
|
39 |
33 |
40 Par exemple : :: |
34 The function `fetch_config(fetchattrs, mainattr=None)` simplifies the |
|
35 definition of the attributes to load and the sorting by returning a |
|
36 list of attributes to pre-load (considering automatically the attributes |
|
37 of `AnyEntity`) and a sorting function based on the main attribute |
|
38 (the second parameter if specified otherwisethe first attribute from |
|
39 the list `fetchattrs`). |
|
40 This function is defined in `cubicweb.entities`. |
|
41 |
|
42 By example: :: |
41 |
43 |
42 class Transition(AnyEntity): |
44 class Transition(AnyEntity): |
43 """...""" |
45 """...""" |
44 id = 'Transition' |
46 id = 'Transition' |
45 fetch_attrs, fetch_order = fetch_config(['name']) |
47 fetch_attrs, fetch_order = fetch_config(['name']) |