API des organigrammes : Différence entre versions

De OviWiki
Aller à : navigation, rechercher
(Développements nécessaires pour le lien avec les groupes et organigrammes)
(Développements nécessaires pour le lien avec les groupes et organigrammes)
 
(5 révisions intermédiaires par le même utilisateur non affichées)
Ligne 266 : Ligne 266 :
 
* un des sous-groupes de ce groupe est déjà lié à un organigramme
 
* 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 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