Commit d0bdec32 authored by Stephane Bouvry's avatar Stephane Bouvry
Browse files

DOC + Fix décalage des colonnes en cas d'absence de projet 'Autre'

parent db062ca1
Loading
Loading
Loading
Loading
+39 −8
Changes for doc/timesheet.md: 39 added lines, 8 removed lines.
Original line number Diff line number Diff line
@@ -205,20 +205,51 @@ Ces modèles seront disponibles pour remplir automatiquement la répartition de

Pour configurer les créneaux disponibles hors activité. La clef `horslots` **doit être défini** dans le fichier `config/autoload/local.php`.

**Ajout version 2.10 "Creed"** : Afin de gérer les sous-totaux dans le rendu des feuilles de temps, une clef `group` a été ajoutée et necessite une des valeurs ci-dessous :
                                 
- `research` : Comptabilisé comme recherche (produire un sous-total avec les heures des Projets)
- `abs` : Créneaux non-travaillé (Congès, Arret maladie)
- `education` : Créneaux comptabilisés comme enseignement
- `other` : Autre

```php
<?php
// config/autoload/local.php
return array(
   
    'oscar' => [
        // ...
        // EXEMPLE
        'horslots' => [
            'conges' => [ 'code' => 'conges',  'label' => 'Congés',  'description' => '', 'icon' => true ],
            'training' => [ 'code' => 'training',  'label' => 'Formation',  'description' => '', 'icon' => true ],
            'teaching' => [ 'code' => 'teaching',  'label' => 'Enseignement',  'description' => '', 'icon' => true ],
            'sickleave' => [ 'code' => 'sickleave', 'label' => 'Arrêt maladie',  'description' => '', 'icon' => true ],
            'research' => [ 'code' => 'research', 'label' => 'Autre recherche',  'description' => '', 'icon' => true ],
            'other' => [ 'code' => 'other', 'label' => 'Divers',  'description' => 'Autre activité', 'icon' => true ],
            'conges' => [ 
                'code' => 'conges',
                'group' => 'abs',
                'label' => 'Congés',  
                'description' => '', 
                'icon' => true ],
            'training' => [ 
                'code' => 'training',  
                'label' => 'Formation',  
                'description' => '', 
                'icon' => true ],
            'teaching' => [ 
                'code' => 'teaching',  
                'label' => 'Enseignement',  
                'description' => '', 
                'icon' => true ],
            'sickleave' => [ 
                'code' => 'sickleave', 
                'label' => 'Arrêt maladie',  
                'description' => '', 
                'icon' => true ],
            'research' => [ 
                'code' => 'research', 
                'label' => 'Autre recherche',  
                'description' => '', 
                'icon' => true ],
            'other' => [ 
                'code' => 'other', 
                'label' => 'Divers',  
                'description' => 'Autre activité', 
                'icon' => true ],
        ],
    ]
);
+1 −0
Changes for module/Oscar/Module.php: 1 added line, 0 removed lines.
Original line number Diff line number Diff line
@@ -315,6 +315,7 @@ class Module implements ConsoleBannerProviderInterface, ConsoleUsageProviderInte
            'oscar person:search <expression>' => 'Lance une recherche sur les personnes' ,

            '# ORGANISATIONS',
            'oscar organizations:search:build' => 'Reconstruction de l\'index de recherche (ElasticSearch)',
            'oscar organizations:sync <connectorkey>' => 'Lance la synchronisation des organizations depuis les différents connecteurs.',

            '# NOTIFICATIONS',
+26 −1
Changes for module/Oscar/src/Oscar/Strategy/Search/PersonElasticSearch.php: 26 added lines, 1 removed line.
Original line number Diff line number Diff line
@@ -67,6 +67,17 @@ class PersonElasticSearch implements PersonSearchStrategy

    public function search($search)
    {
        /****
        'firstname' => $person->getFirstname(),
        'lastname' => $person->getLastname(),
        'fullname' => $person->getDisplayName(),
        'email' => $person->getEmail(),
        'affectation' => $person->getLdapAffectation(),
        'location' => $person->getLdapSiteLocation(),
        'organizations' => $organizations,
        'activities' => $activities,
        'connectors' => $connectors
        /******/
        $params = [
            'index' => $this->getIndex(),
            'type' => $this->getType(),
@@ -74,11 +85,25 @@ class PersonElasticSearch implements PersonSearchStrategy
                'size' => 10000,
                'query' => [
                    'query_string' => [
                        'query' => $search
                        'fields' => ['lastname^5', 'fullname^5', 'firstname^2', 'email', 'affectation', 'location', 'organizations', 'activities', 'connectors'],
                        'query' => $search,
                    ]
                ]
            ]
        ];
        /*
        $params = [
            'index' => $this->getIndex(),
            'type' => $this->getType(),
            'body' => [
                'size' => 10000,
                'query' => [
                    'query_string' => [
                        'query' => $search
                    ]
                ]
            ]
        ];/****/

        $response = $this->getClient()->search($params);
        $ids = [];
+2 −0
Changes for module/Oscar/view/oscar/timesheet/synthesis-activity-period.phtml: 2 added lines, 0 removed lines.
Original line number Diff line number Diff line
@@ -96,7 +96,9 @@ $labels = [
            <th>&nbsp;</th>

            <th class="research" colspan="<?= $colWP ?>"><i class="icon-cubes"></i> <?= $activity['label'] ?></th>
            <?php if( count($ces) > 0): ?>
            <th class="research" colspan="<?= $colCE ?>"><i class="icon-cubes"></i> Projets</th>
            <?php endif; ?>
            <th class="research" colspan="<?= $colSEARCH ?>"><i class="icon-cubes"></i> Autres</th>
            <th class="research" rowspan="2">TOTAL</th>

+58 −2
Changes for version-2.10.md: 58 added lines, 2 removed lines.
Original line number Diff line number Diff line
# version 2.10 "Creed"

## Appliquer cette mise à jour depuis Oscar 2.8
## Appliquer cette mise à jour depuis Oscar 2.9

Pour appliquer cette mise à jour, suivre la procédure standard détaillée dans le fichier [Procédure de mise à jour Oscar](./doc/update.md)

En complément, plusieurs options de configuration DOIVENT être complétées :

### Groupe hors-lots


Afin de gérer les sous-totaux dans le rendu des feuilles de temps, une clef `group` qui nécessite une de ces valeurs clef :

 - `research` : Comptabilisé comme recherche (produire un sous-total avec les heures des Projets)
 - `abs` : Créneaux non-travaillé (Congès, Arret maladie)
 - `education` : Créneaux comptabilisés comme enseignement
 - `other` : Autre

```php
<?php
// config/autoload/local.php
return array(
    // Oscar
    'oscar' => [
        // ...
        'horslots' => [
            'conges' => [
                'group' => 'abs',
                'code' => 'conges',
                'label' => 'Congés',
                'description' => 'Congès, RTT, récupération', 'icon' => true ],
            'training' => [
                'group' => 'other',
                'code' => 'training',
                'label' => 'Formation',
                'description' => 'Vous avez suivi un formation, DIFF, etc...', 'icon' => true ],
            'teaching' => [
                'group' => 'education',
                'code' => 'teaching',
                'label' => 'Enseignement',
                'description' => 'Cours, TD, fonction pédagogique', 'icon' => true ],
            'sickleave' => [
                'group' => 'abs',
                'code' => 'sickleave',
                'label' => 'Arrêt maladie',
                'description' => '', 'icon' => true ],
            'research' => [
                'group' => 'research',
                'code' => 'research',
                'label' => 'Autre recherche',
                'description' => 'Autre projet de recherche (sans feuille de temps)', 'icon' => true ],
            'other' => [
                'group' => 'other',
                'code' => 'other',
                'label' => 'Divers',
                'description' => 'Autre activité', 'icon' => true ],
        ],
    ]
);
```

La documentation des feuilles de temps est à jour [Configuration des feuilles de temps](./doc/timesheet.md)

## Système de recherche des Personnes (2019/05)

@@ -20,7 +76,7 @@ En cliquant sur **Détails**, une vue plus précise permet de voir la répartiti

![Synthèse des heures](./doc/images/synthes-2-002.png)

Un export Excel de ces données sera proposé. A noter que pour les interconnexions avec d'autres applications de votre SI, ces informations sont accessibles au format JSON à la même adresse en ajoutant `&format=json` à la requète.
Une version excel de la synthèse est disponible.


## Section des documents publics
+1 −1

File changed.

Contains only whitespace changes.