API des organigrammes : Différence entre versions

De OviWiki
Aller à : navigation, rechercher
(Nouvelle page : ocapi.php == bab_OCGetChildCount($iIdEntity) == == bab_OCGetChildNodeByPosition($iIdParentEntity, $iPosition) == == bab_OCGetChildsEntities($idroot='', $idoc='') == == bab_OCGetC...)
 
(Développements nécessaires pour le lien avec les groupes et organigrammes)
 
(17 révisions intermédiaires par le même utilisateur non affichées)
Ligne 1 : Ligne 1 :
 +
userincl.php
 +
 +
== bab_orgchartAccess() ==
 +
 +
== bab_getSuperior($iduser, $idoc = '') ==
 +
 +
 +
 +
delincl.php
 +
 +
== bab_deleteOrgChart($id) ==
 +
 +
 +
 +
 +
 
ocapi.php
 
ocapi.php
  
Ligne 6 : Ligne 22 :
  
 
== bab_OCGetChildsEntities($idroot='', $idoc='') ==
 
== bab_OCGetChildsEntities($idroot='', $idoc='') ==
 +
 +
liste des entités d'un organigramme, le idroot est optionnel, si non renseigné, c'est la racine de l'organigramme principal
 +
tout les sous noeuds sont listés dans tout les sous niveaux
  
 
== bab_OCGetCollaborators($identity) ==
 
== bab_OCGetCollaborators($identity) ==
 +
 +
liste des collaborateurs d'une entité
 +
 +
array(
 +
    array(id_user, lastname, firstname, middlename)
 +
)
  
 
== bab_OCGetEntities($idoc = '') ==
 
== bab_OCGetEntities($idoc = '') ==
Ligne 33 : Ligne 58 :
  
 
== bab_OCGetRootEntity($idoc='') ==
 
== bab_OCGetRootEntity($idoc='') ==
 +
 +
Entité racine d'un organigramme
 +
 +
array(id, name, description);
 +
 +
 +
== bab_OCGetSuperior($identity) ==
 +
 +
Le supérieur de l'entité
 +
 +
array(id_user, lastname, firstname, middlename);
 +
 +
 +
== bab_OCGetSuperiors($idoc='') ==
 +
 +
liste des supérieurs de toutes les entités de l'organigramme
 +
 +
== bab_OCGetTemporaryEmployee($identity) ==
 +
 +
search for a temporary employee in the entity
 +
used for approbation
 +
 +
 +
== bab_OCGetTemporaryEmployees($idoc='') ==
 +
 +
les intérimaires de l'organigramme
 +
 +
 +
== bab_OCGetUserEntities($iduser, $idoc='') ==
 +
 +
Liste des entités d'un utilisateur dans un organigramme particulier ou dans l'organigramme principale
 +
 +
 +
 +
== bab_OCIsEntityChildOfRoot($iIdEntity) ==
 +
 +
Checks whether the entity $iIdEntity is a child of the root entity.
 +
 +
 +
== bab_OCIsEntityParentOf($iIdParentEntity, $iIdEntity) ==
 +
 +
 +
== bab_OCSelectEntityCollaborators($entityId) ==
 +
 +
Returns an ordered mysql result set containing the members of the entity $entityId.
 +
 +
Results fetched from the result set have the following structure:
 +
 +
array(
 +
'id_dir_entry' => directory entry id (@see bab_getDirEntry)
 +
'role_type' =>  1 = Superior, 2 = Temporary employee, 3 = Members, 0 = Other collaborators
 +
'role_name' => The role title
 +
'user_disabled' => 1 = disabled, 0 = not disabled
 +
'user_confirmed' => 1 = confirmed, 0 = not confirmed
 +
'sn' => The member's surname (last name)
 +
'givenname' => The member's given name (first name)
 +
)
 +
 +
The result set is ordered by role types (in order 1,2,3,0) and by user name (according to ovidentia name ordering rules).
 +
 +
 +
 +
 +
== class bab_OrgChartUtil ==
 +
 +
=== __construct($iIdOrgChart, $iIdSessUser = null) ===
 +
 +
=== haveAdminRight() ===
 +
 +
=== isAccessValid() ===
 +
 +
=== create($sName, $sDescription, $iIdDelegation, $iIdDirectory) ===
 +
 +
A transformer en static ??? a supprimer ???
 +
 +
 +
=== getRoot() ===
 +
 +
Returns information about a specified organizational chart.
 +
The current user must have "view" or "update" access to the organizational chart.
 +
The returned array has the following keys :
 +
 +
* id
 +
* name
 +
* description
 +
* edit
 +
* edit_author
 +
* edit_date
 +
* id_dgowner
 +
* id_directory
 +
* type
 +
* id_first_node
 +
* id_closed_nodes
 +
 +
 +
 +
voir aussi bab_OCGetRootEntity()
 +
 +
=== orgChartExist($sName, $iIdDelegation) ===
 +
 +
a rendre static ???
 +
 +
 +
=== lock() ===
 +
 +
 +
=== unlock() ===
 +
 +
=== isLocked() ===
 +
 +
 +
=== isLockedBy($iIdUser) ===
 +
 +
Gets a value that indicates whether an organizational chart is locked by a specific user.
 +
 +
 +
 +
=== getLockInfo() ===
 +
 +
 +
=== createEntity($iIdParentEntity, $sName, $sDescription, $sNote, $iPosition, $mixedGroup = null, $iIdParentGroup = BAB_REGISTERED_GROUP) ===
 +
 +
 +
=== getEntity($iIdEntity) ===
 +
 +
=== getUserEntities($iIdUser, $aRoleType = null) ===
 +
 +
Liste des entités d'un utilisateur éventuellement filtrées par type
 +
 +
problème :
 +
 +
il faut que l’utilisateur qui a été utilisé pour la création de l'objet ai les droits d'accès mais c'est l'utilisateur passé en parmètre qui est utilisé pour la requête.
 +
 +
=== updateEntity($iIdEntity, $sName, $sDescription) ===
 +
 +
Mise a jour du nom et de la description d'une entité
 +
 +
 +
=== deleteEntity($iIdEntity, $iDeleteType) ===
 +
 +
valeurs possible de $iDeleteType :
 +
 +
* BAB_OC_DELETE_CHILDREN_ONLY
 +
* BAB_OC_DELETE_ENTITY_AND_CHILDREN
 +
* BAB_OC_DELETE_ENTITY_ONLY
 +
 +
=== moveEntity($iIdSrcEntity, $iIdTrgEntity, $iMove, $iMoveType) ===
 +
 +
Déplacer
 +
 +
 +
valeurs possibles pour $iMove :
 +
 +
* BAB_OC_MOVE_ENTITY_ONLY
 +
* BAB_OC_MOVE_ENTITY_AND_CHILDREN
 +
 +
=== createRole($iIdEntity, $sName, $sDescription, $iType, $sCardinality) ===
 +
 +
 +
=== getRoleById($iIdRole) ===
 +
 +
 +
=== getRoleByUserId($iIdEntity, $iIdUser, $aRoleType = null) ===
 +
 +
=== getRoleByType($iIdEntity, $iType) ===
 +
 +
 +
=== getRoleByName($iIdEntity, $sName, $iType) ===
 +
 +
 +
=== getRoleByEntityId($iIdEntity, $iType = null) ===
 +
 +
Liste des roles dans une entité
 +
 +
 +
=== deleteRoleByEntityId($iIdEntity, $iType = null) ===
 +
 +
 +
=== createRoleUser($iIdRole, $iIdUser) ===
 +
 +
 +
=== getRoleUserByUserId($iIdEntity, $iIdUser) ===
 +
 +
=== deleteUserRolesByRoleUserIds($aIdRoleUser, $iIdUser) ===
 +
 +
 +
=== deleteRoleUserByRoleUserId($IdRoleUser) ===
 +
 +
=== deleteRoleUserByRoleId($iIdRole) ===
 +
 +
 +
 +
 +
== Développements nécessaires pour le lien avec les groupes et organigrammes ==
 +
 +
ajout d'un événement lors du déplacement d'un groupe et de la suppression d'un groupe pour permettre a un organigramme de bloquer la suppression ou le déplacement si :
 +
 +
* un groupe parent est associé à l'organigramme (via l'annuaire associé) et que l'on cherche a sortir le sous groupe de l'arbre
 +
* si on veut mettre le groupe racine a l'intérieur d'un autre organigramme
 +
 +
 +
lorsqu'un groupe est modifié, déplacé, supprimé : mettre la jour l'entité correspondante.
 +
 +
 +
un groupe ne pourra pas devenir organigramme si :
 +
 +
* un des sous-groupes de ce groupe est déjà lié à un organigramme
 +
* si un des groupes parents est déjà lié à un organigramme
 +
* si l'annuaire de groupe n'est pas activé
 +
 +
 +
=== Fonctions nécessaire pour une personne (en lecture) ===
 +
 +
obtenir la liste des organigrammes associés et pour chaque organigramme la liste des entités + fonctions ou l'utilisateur est associé
 +
 +
les donnés nécessaire pour un organigramme sont :
 +
 +
* id
 +
* nom
 +
* description
 +
* id groupe
 +
* id annuaire
 +
 +
les donnés nécessaires pour chaque entités ou l'utilisateur est associé sont :
 +
 +
* id entité
 +
* id_groupe
 +
* nom de l'entité et du groupe
 +
* nom de la fonction (supérieur, intérimaire, membre...)
 +
 +
 +
les donnés nécessaires pour chaque entités disponible sont :
 +
 +
* id entité
 +
* id parent
 +
* id_groupe
 +
* nom de l'entité (et du groupe si un groupe est associé)
 +
 +
=== Fonctions nécessaire pour une personne (en écriture) ===
 +
 +
 +
pouvoir associer un utilisateur a une entité d'organigramme
 +
 +
 +
=== Fonctions nécessaire pour un groupe ===
 +
 +
permettre d'obtenir la l'organigramme et l'annuaire associé au groupe

Version actuelle en date du 19 septembre 2012 à 13:31

userincl.php

Sommaire

bab_orgchartAccess()

bab_getSuperior($iduser, $idoc = )

delincl.php

bab_deleteOrgChart($id)

ocapi.php

bab_OCGetChildCount($iIdEntity)

bab_OCGetChildNodeByPosition($iIdParentEntity, $iPosition)

bab_OCGetChildsEntities($idroot=, $idoc=)

liste des entités d'un organigramme, le idroot est optionnel, si non renseigné, c'est la racine de l'organigramme principal tout les sous noeuds sont listés dans tout les sous niveaux

bab_OCGetCollaborators($identity)

liste des collaborateurs d'une entité

array(
   array(id_user, lastname, firstname, middlename)
)

bab_OCGetEntities($idoc = )

bab_OCGetEntity($ide)

bab_OCGetEntityTypes($entityId)

Returns an ordered mysql result set containing the entity types for the specified entity.


bab_OCGetLastChild($iIdEntity)

Returns the id of the specified entity's last child.

bab_OCGetOrgChartEntityTypes($idoc)

Returns an ordered mysql result set containing the entity types avaiblable for the specified orgchart.

bab_OCgetPrimaryOcId()

Retourne l'ID de l'organigramme principale l'info est stockée dans $babBody->idprimaryoc mais il ne faut pas utiliser cette propriété


bab_OCGetRootEntity($idoc=)

Entité racine d'un organigramme

array(id, name, description);


bab_OCGetSuperior($identity)

Le supérieur de l'entité

array(id_user, lastname, firstname, middlename);


bab_OCGetSuperiors($idoc=)

liste des supérieurs de toutes les entités de l'organigramme

bab_OCGetTemporaryEmployee($identity)

search for a temporary employee in the entity used for approbation


bab_OCGetTemporaryEmployees($idoc=)

les intérimaires de l'organigramme


bab_OCGetUserEntities($iduser, $idoc=)

Liste des entités d'un utilisateur dans un organigramme particulier ou dans l'organigramme principale


bab_OCIsEntityChildOfRoot($iIdEntity)

Checks whether the entity $iIdEntity is a child of the root entity.


bab_OCIsEntityParentOf($iIdParentEntity, $iIdEntity)

bab_OCSelectEntityCollaborators($entityId)

Returns an ordered mysql result set containing the members of the entity $entityId.

Results fetched from the result set have the following structure:

array(
		'id_dir_entry' => directory entry id (@see bab_getDirEntry)
		'role_type' =>  1 = Superior, 2 = Temporary employee, 3 = Members, 0 = Other collaborators
		'role_name' => The role title
		'user_disabled' => 1 = disabled, 0 = not disabled
		'user_confirmed' => 1 = confirmed, 0 = not confirmed
		'sn' =>	The member's surname (last name)
		'givenname' => The member's given name (first name)
)

The result set is ordered by role types (in order 1,2,3,0) and by user name (according to ovidentia name ordering rules).



class bab_OrgChartUtil

__construct($iIdOrgChart, $iIdSessUser = null)

haveAdminRight()

isAccessValid()

create($sName, $sDescription, $iIdDelegation, $iIdDirectory)

A transformer en static ??? a supprimer ???


getRoot()

Returns information about a specified organizational chart. The current user must have "view" or "update" access to the organizational chart. The returned array has the following keys :

  • id
  • name
  • description
  • edit
  • edit_author
  • edit_date
  • id_dgowner
  • id_directory
  • type
  • id_first_node
  • id_closed_nodes


voir aussi bab_OCGetRootEntity()

orgChartExist($sName, $iIdDelegation)

a rendre static ???


lock()

unlock()

isLocked()

isLockedBy($iIdUser)

Gets a value that indicates whether an organizational chart is locked by a specific user.


getLockInfo()

createEntity($iIdParentEntity, $sName, $sDescription, $sNote, $iPosition, $mixedGroup = null, $iIdParentGroup = BAB_REGISTERED_GROUP)

getEntity($iIdEntity)

getUserEntities($iIdUser, $aRoleType = null)

Liste des entités d'un utilisateur éventuellement filtrées par type

problème :

il faut que l’utilisateur qui a été utilisé pour la création de l'objet ai les droits d'accès mais c'est l'utilisateur passé en parmètre qui est utilisé pour la requête.

updateEntity($iIdEntity, $sName, $sDescription)

Mise a jour du nom et de la description d'une entité


deleteEntity($iIdEntity, $iDeleteType)

valeurs possible de $iDeleteType :

  • BAB_OC_DELETE_CHILDREN_ONLY
  • BAB_OC_DELETE_ENTITY_AND_CHILDREN
  • BAB_OC_DELETE_ENTITY_ONLY

moveEntity($iIdSrcEntity, $iIdTrgEntity, $iMove, $iMoveType)

Déplacer


valeurs possibles pour $iMove :

  • BAB_OC_MOVE_ENTITY_ONLY
  • BAB_OC_MOVE_ENTITY_AND_CHILDREN

createRole($iIdEntity, $sName, $sDescription, $iType, $sCardinality)

getRoleById($iIdRole)

getRoleByUserId($iIdEntity, $iIdUser, $aRoleType = null)

getRoleByType($iIdEntity, $iType)

getRoleByName($iIdEntity, $sName, $iType)

getRoleByEntityId($iIdEntity, $iType = null)

Liste des roles dans une entité


deleteRoleByEntityId($iIdEntity, $iType = null)

createRoleUser($iIdRole, $iIdUser)

getRoleUserByUserId($iIdEntity, $iIdUser)

deleteUserRolesByRoleUserIds($aIdRoleUser, $iIdUser)

deleteRoleUserByRoleUserId($IdRoleUser)

deleteRoleUserByRoleId($iIdRole)

Développements nécessaires pour le lien avec les groupes et organigrammes

ajout d'un événement lors du déplacement d'un groupe et de la suppression d'un groupe pour permettre a un organigramme de bloquer la suppression ou le déplacement si :

  • un groupe parent est associé à l'organigramme (via l'annuaire associé) et que l'on cherche a sortir le sous groupe de l'arbre
  • si on veut mettre le groupe racine a l'intérieur d'un autre organigramme


lorsqu'un groupe est modifié, déplacé, supprimé : mettre la jour l'entité correspondante.


un groupe ne pourra pas devenir organigramme si :

  • un des sous-groupes de ce groupe est déjà lié à un organigramme
  • si un des groupes parents est déjà lié à un organigramme
  • si l'annuaire de groupe n'est pas activé


Fonctions nécessaire pour une personne (en lecture)

obtenir la liste des organigrammes associés et pour chaque organigramme la liste des entités + fonctions ou l'utilisateur est associé

les donnés nécessaire pour un organigramme sont :

  • id
  • nom
  • description
  • id groupe
  • id annuaire

les donnés nécessaires pour chaque entités ou l'utilisateur est associé sont :

  • id entité
  • id_groupe
  • nom de l'entité et du groupe
  • nom de la fonction (supérieur, intérimaire, membre...)


les donnés nécessaires pour chaque entités disponible sont :

  • id entité
  • id parent
  • id_groupe
  • nom de l'entité (et du groupe si un groupe est associé)

Fonctions nécessaire pour une personne (en écriture)

pouvoir associer un utilisateur a une entité d'organigramme


Fonctions nécessaire pour un groupe

permettre d'obtenir la l'organigramme et l'annuaire associé au groupe