diff --git a/source/bundles/group.rst b/source/bundles/group.rst new file mode 100644 index 000000000..6258d7a4b --- /dev/null +++ b/source/bundles/group.rst @@ -0,0 +1,47 @@ +.. Copyright (C) 2014 Champs Libres Cooperative SCRLFS + Permission is granted to copy, distribute and/or modify this document + under the terms of the GNU Free Documentation License, Version 1.3 + or any later version published by the Free Software Foundation; + with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. + A copy of the license is included in the section entitled "GNU + Free Documentation License". + +.. _group-bundle: + +Group bundle +############ + +Allow to group people in a group. This group may be a family, an activity group, ... + +.. contents:: Table of content + :local: + +Entities +******** + +.. figure:: /static/bundles/group/group_classes_uml.png + + +Macros +****** + +Group sticker +============== + +Macro file + `ChillGroupBundle:Group:macro.html.twig` +Macro name + :code:`_render` +Macro envelope + :code:`group`, instance of :class:`Chill\GroupBundle\Entity\CGroup` + +When to use this macro ? + When you want to represent group. +Example usage : + .. code-block:: html+jinja + + {% import 'ChillGroupBundle:Group:macro.html.twig' as m %} + + {{ m._render(g) }} + + diff --git a/source/bundles/index.rst b/source/bundles/index.rst index 41b1b5fe5..517af505d 100644 --- a/source/bundles/index.rst +++ b/source/bundles/index.rst @@ -19,6 +19,7 @@ You will find here documentation about bundles working with Chill. Person bundle Report bundle Activity bundle + Group bundle Your bundle here ? ------------------- diff --git a/source/bundles/main.rst b/source/bundles/main.rst index de2b890d7..7c5c2c011 100644 --- a/source/bundles/main.rst +++ b/source/bundles/main.rst @@ -22,3 +22,27 @@ This bundle provide : .. warning:: this section is incomplete. + + +Macros +****** + +Address sticker +=============== + +Macro file + `ChillMainBundle:Address:macro.html.twig` +Macro name + :code:`_render` +Macro envelope + :code:`address`, instance of :class:`Chill\MainBundle\Entity\Address` + +When to use this macro ? + When you want to represent an address. +Example usage : + .. code-block:: html+jinja + + {% import 'ChillMainBundle:Address:macro.html.twig' as m %} + + {{ m._render(address) }} + diff --git a/source/static/bundles/group/group_classes_uml.png b/source/static/bundles/group/group_classes_uml.png new file mode 100644 index 000000000..6fe4db7d8 Binary files /dev/null and b/source/static/bundles/group/group_classes_uml.png differ diff --git a/source/static/bundles/group/group_classes_uml.pu b/source/static/bundles/group/group_classes_uml.pu new file mode 100644 index 000000000..56e53c770 --- /dev/null +++ b/source/static/bundles/group/group_classes_uml.pu @@ -0,0 +1,49 @@ +# diagramme de classe du module "groupe" + +@startuml + +title Diagramme de classe du module "groupe" + +package "PersonBundle" { + class Person + class Center +} + +package "GroupBundle" { + Person "1" <-- Membership + Membership "0..*" <--> "Group" + Type "1" --> "1..*" Role + Membership -right-> "1" Role + Group -right-> "1" Type + Group -left-> "1" Center +} + +class Membership { + - role + - person + - group +} +note left: Membership relie les groupes aux\npersonnes. Chaque membership a un\n role, le rôle est à choisir\nparmi ceux possibles pour le type de groupe + +class Group { + - type + - memberships + - name + - center +} +note left: Un groupe a un type qui est défini à sa création. + +class Type { + - roles +} +note right: Les types de groupe qu'il est possible de créer \nsont définis dans l'interface d'administration.\nExemple de type: "famille", "groupe de parole", "stage", ... + +class Role { + - name +} +note right: Pour chaque Type on définit des rôles\npossibles pour ce type de groupe. Par exemple, pour le\ntype "famille" on peut avoir les rôles parents et enfants. + + + + +@enduml