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

Merge branch 'macclane' into macclane-recall

parents f1811e42 baa6b801
Loading
Loading
Loading
Loading
Loading
+9 −12
Changes for doc/versions/version-2.11.md: 9 added lines, 12 removed lines.
Original line number Diff line number Diff line
@@ -2,7 +2,7 @@

## Upgrade : Zend Framework 3

La version *MacClane* fait suite à la mise à jour précédente (Passage à PHP 7.3). Oscar est maintenant basé sur la version 3 du framework **Zend**. Malgrès de nombreuses vérifications, pensez à prévoir une phase de test pour vérifier que toutes les fonctionnalités sont bien opérationnelles sur votre système.
La version *MacClane* fait suite à la mise à jour précédente (Passage à PHP 7.3). Oscar est maintenant basé sur la version 3 du framework **Zend**. Malgré de nombreuses vérifications, pensez à prévoir une phase de test pour vérifier que toutes les fonctionnalités sont bien opérationnelles sur votre système.

Cette mise à niveau permet de bénéficier des dernières mises à jour de sécurité des systèmes linux, et rend Oscar compatible avec Postgresql 10.

@@ -39,10 +39,7 @@ Puis récupérer les sources
git fetch

# Réinitialiser la copie local à partir de la source distante
git reset --hard origin/creed

# Basculez sur la branche "Macclane"
git checkout maccclane
git reset --hard origin/master
```


@@ -81,19 +78,19 @@ php bin/oscar.php check:privileges

### Création de Projet/Activité

La fonctionnalité permettant de créer des Activitès/Projet a évolué. Initialement, ces fonctionnalités étaient réservées à des rôles APPLICATIF.
La fonctionnalité permettant de créer des Activités/Projet a évolué. Initialement, ces fonctionnalités étaient réservées à des rôles APPLICATIF.

Désormais, vous pourrez attribuer ces privilèges à des rôles ORGANISATIONNELS pour permettre aux personnes disposant de ce rôle de créer des activités/projets pour leurs structures. 

Au moment de la création d'une activité/projet, l'utilisateur devra affecter un rôle à une de ces structures dans l'activité créé. A noter que l'accès de la personne à cette activité est calculé selon son rôle dans l'organisation renseignée.
Au moment de la création d'une activité/projet, l'utilisateur devra affecter un rôle à une de ces structures dans l'activité créée. A noter que l'accès de la personne à cette activité est calculé selon son rôle dans l'organisation renseignée.

Par exemple, Nadine a le rôle **Directeur** dans la structure **OSCORP**,
Le rôle **Directeur** est autorisé à voir/modifier/créer une activité de recherche
Le rôle de structure **Laboratoire** est un rôle **principale**

Depuis Oscar, Nadine pourra créer une nouvelle activité. Dans la fiche création, elle pourra affecter sa structure (OSCOP) avec un des rôles de structure (principal) configurés dans Oscar, parmis ces rôles figurera le rôle **Laboratoire**.
Depuis Oscar, Nadine pourra créer une nouvelle activité. Dans la fiche création, elle pourra affecter sa structure (OSCOP) avec un des rôles de structure (principal) configurés dans Oscar, parmi ces rôles figurera le rôle **Laboratoire**.

Si la personne ne choisi pas de rôle pour sa structure, l'activité n'est pas créée (un message d'erreur indique qu'il faut choisir un rôle à la structure).
Si la personne ne choisit pas de rôle pour sa structure, l'activité n'est pas créée (un message d'erreur indique qu'il faut choisir un rôle à la structure).

Ce changement permet à Oscar de mieux prendre en charge des fonctionnements plus décentralisés de certains établissements.

@@ -105,7 +102,7 @@ Ce changement permet à Oscar de mieux prendre en charge des fonctionnements plu
php bin/oscar.php
```

Parmis les commandes modifiées, les commandes de synchronisation des PERSONNES et des ORGANISATIONS ont changé.
Parmi les commandes modifiées, les commandes de synchronisation des PERSONNES et des ORGANISATIONS ont changé.


Pour les personnes : 
@@ -123,7 +120,7 @@ php bin/oscar.php organizations:sync rest
```

### SIFAC (Experimental)
La version **Macclane** propose en *experimental* la configuration SIFAC pour chargé depuis une source SIFAC(Oracle) les informations sur les dépenses des activités de recherche basée sur le journal des pièces.
La version **Macclane** propose en *experimental* la configuration SIFAC pour charger depuis une source SIFAC(Oracle) les informations sur les dépenses des activités de recherche basée sur le journal des pièces.

Vous pouvez commencer à tester cette fonctionnalité [Configurer l'accès à SIFAC](../config-sifac.md) 

@@ -140,7 +137,7 @@ Dans la perspective de démo / test rapide (Version préprod par exemple). Oscar

## En cours

 - **Dépense** (expérimental) Les écrans et la connexion SIFAC sont toujours en cours, les accès aux écrans de synchronisation des dépenses basé sur le journal des pièces sont disponibles (Avec les privilèges associés). Propose pour le moment des données brute
 - **Dépense** (expérimental) Les écrans et la connexion SIFAC sont toujours en cours, les accès aux écrans de synchronisation des dépenses basé sur le journal des pièces sont disponibles (Avec les privilèges associés). Propose pour le moment des données brutes
 
 - **Écran de budget** (UI uniquement) Sera à préciser quand la partie dépense sera plus avancée
 
+25 −0
Changes for module/Oscar/src/Oscar/Connector/ConnectorPersonJsonHttpAuthBasic.php: 25 added lines, 0 removed lines.
Original line number Diff line number Diff line
@@ -21,6 +21,8 @@ class ConnectorPersonJsonHttpAuthBasic extends AbstractConnectorOscar
{
    private $personHydrator;

    public function setEditable($foo){}

    function execute($force = true)
    {
        $dataAccessStrategy         = new HttpAuthBasicStrategy($this);
@@ -229,5 +231,28 @@ class ConnectorPersonJsonHttpAuthBasic extends AbstractConnectorOscar
        return $repport;
    }

    function syncPerson(Person $person)
    {
        if ($person->getConnectorID($this->getName())) {

            $personIdRemote = $person->getConnectorID($this->getName());
            $url = sprintf($this->getParameter('url_person'), $personIdRemote);

            //$dataAccessStrategy         = new HttpAuthBasicStrategy($this);
            $access =  new HttpAuthBasicStrategy($this);
            $personData = $access->getData($url);

            // Fix : Nouveau format
            if( property_exists($personData, 'person') ){
                $personData = $personData->person;
            }

            return $this->getPersonHydrator()->hydratePerson($person, $personData, $this->getName());

        } else {
            throw new \Exception('Impossible de synchroniser la personne ' . $person);
        }
    }


}
 No newline at end of file
+1 −0
Changes for module/Oscar/src/Oscar/Connector/DataAccessStrategy/HttpAuthBasicStrategy.php: 1 added line, 0 removed lines.
Original line number Diff line number Diff line
@@ -36,6 +36,7 @@ class HttpAuthBasicStrategy implements IDataAccessStrategy

    public function getData(string $url)
    {
        die($url);
        $additionalHeaders = '';
        $payloadName = '';
        $username = $this->getConnector()->getParameter(self::OPTION_USERNAME);