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

Documentation PCRU

parent c4b1eed6
Loading
Loading
Loading
Loading
+13 −1
Original line number Diff line number Diff line
@@ -4,6 +4,14 @@ Le module PCRU de Oscar permet d'automatiser la soumission des contrats de reche

## Chargement des référenciels

La qualification pour PCRU implique de compléter les informations sur la contrat de recherche avec de nouvelles données : 

 - Source de financement
 - Pôle de compétitivité
 - Type de contrat

Ces informations ont été ajoutées au modèle de données (optionnelles) mais implique de charger un référenciel fournit par la CNRS.

Rendez-vous dans **Administration > Configuration et maintenance > Modules > PCRU** puis, cliquer sur *Mettre à jour les référentiels* 

![Configuration PCRU](images/pcru-config.png)
@@ -26,3 +34,7 @@ Pensez à activer les privilèges idoines aux rôles habilités à gérer les do
 - Activer PCRU sur une activité (et autoriser à déclencher les soumission)
 - Voir la liste des données PCRU et leur état
 - Lancer le transfert manuel

## Envoi des données PCRU

La communication des donnèes vers PCRU se fait via FTP, l'accès au serveur PCRU peut être configuré depuis l'interface d'administration.
 No newline at end of file
+61 −6
Original line number Diff line number Diff line
# version 2.12 "Spartan"

## Nouveautès

### Organisations : Nouveau champs

Le modèle des organisations a été enrichi, les champs suivant ont été ajoutés : 
## Nouveautés

### MAJ Authentification

L'une des librairies PHP utilisée par Oscar a évoluée et implique des changements mineurs dans la configuration.

Il faut maintenant spécifier une clef par mode d'authentification proposée : 

 - local/ldap
 - CAS
 - Shiboleth

```php
<?php
// config/autoload/local.php
$settings = array(
    // Authentification via LDAP/BDD
    'local' => [
        'order' => 2,
        'enabled' => true,
        'db' => [
            'enabled' => true,
        ],
        'ldap' => [
            'enabled' => false,
        ],
    ],
    
    // CAS
    'cas' => [
        'order' => 1,
        'enabled' => true,
        'connection' => [
            'default' => [
                'params' => [
                    'hostname' => 'host.domain.fr',
                    'port'     => 443,
                    'version'  => "2.0",
                    'uri'      => "",
                    'debug'    => false,
                ],
            ],
        ]
    ],   

    // Usurpation (DEV/Préprod)
    'usurpation_allowed_usernames' => array('bouvry', 'turbout'),
);

/**
 * You do not need to edit below this line
 */
return array(
    'unicaen-auth' => $settings,
);
```

### Organisations : Nouveaux champs

Le modèle des organisations a été enrichi, les champs suivants ont été ajoutés : 

 - `duns` : Numéro DUNS, 
 - `tvaintra`  : TVA Intacommunautaire,
 - `labintel` : Numéro Labintel (CNRS)
 - `rnsr` : Numéro RNSR (Répertoire National des Structures de Recherche)

> Ces champs restent facultatif dans la majorité des cas, mais (un de ces champs est attendu par le module PCRU)
> Ces champs restent facultatifs dans la majorité des cas, mais un de ces champs est attendu par le module PCRU pour authentifier les partenaires


### Activités : Nouveau champs
+2956 −0

File added.

Preview size limit exceeded, changes collapsed.

+28 −0
Original line number Diff line number Diff line
// Usage : node install/iso-3166.js
// Description : génère un JSON propre avec les codes ISO "pompés" sur le site ISO
var fs = require('fs'),
    xml2js = require('xml2js');

var parser = new xml2js.Parser();
fs.readFile(__dirname + '/iso-3166.xml', function(err, data) {
    let output = [];
    parser.parseString(data, function (err, result) {
        let country = result.table.tbody[0].tr;
        country.forEach(function(tr){
            let en = tr.td[0].button[0]._.replace(/(\r\n|\n|\r)/gm, "").replace(/\s\s+/g, ' ').trim();
            let fr = tr.td[1]._.replace(/(\r\n|\n|\r)/gm, "").replace(/\s\s+/g, ' ').trim();
            let alpha2 = tr.td[2]._.replace(/(\r\n|\n|\r)/gm, "").replace(/\s\s+/g, ' ').trim();
            let alpha3 = tr.td[3]._.replace(/(\r\n|\n|\r)/gm, "").replace(/\s\s+/g, ' ').trim();
            let numeric = tr.td[4]._.replace(/(\r\n|\n|\r)/gm, "").replace(/\s\s+/g, ' ').trim();
            output.push({
                "en" : en,
                "fr" : fr,
                "alpha2" : alpha2,
                "alpha3" : alpha3,
                "numeric" : numeric
            })

        });
        console.log(JSON.stringify(output));
    });
});
 No newline at end of file
+108 −0
Original line number Diff line number Diff line
<?php
/**
 * @author Stéphane Bouvry<stephane.bouvry@unicaen.fr>
 * @date: 03/11/15 14:47
 * @copyright Certic (c) 2015
 */

namespace Oscar\Entity;

use Doctrine\ORM\Mapping\Entity;
use Doctrine\ORM\Mapping as ORM;

/**
 * Class Currency
 * @package Oscar\Entity
 * @Entity
 */
class Currency
{
    use TraitTrackable;

    /**
     * @var string
     * @ORM\Column(type="string", length=20)
     */
    private $label;

    /**
     * @var string
     * @ORM\Column(type="string", length=4)
     */
    private $symbol;

    /**
     * @var double
     * @ORM\Column(type="float")
     */
    private $rate = 1.0;

    public function asArray()
    {
        return [
            'id' => $this->getId(),
            'label' => $this->getLabel(),
            'symbol' => $this->getSymbol(),
            'rate' => $this->getRate(),
        ];
    }

    /**
     * @return string
     */
    public function getLabel()
    {
        return $this->label;
    }

    /**
     * @param string $label
     */
    public function setLabel($label)
    {
        $this->label = $label;

        return $this;
    }

    /**
     * @return string
     */
    public function getSymbol()
    {
        return $this->symbol;
    }

    /**
     * @param string $symbol
     */
    public function setSymbol($symbol)
    {
        $this->symbol = $symbol;

        return $this;
    }

    /**
     * @return float
     */
    public function getRate()
    {
        return $this->rate;
    }

    /**
     * @param float $rate
     */
    public function setRate($rate)
    {
        $this->rate = $rate;

        return $this;
    }

    function __toString()
    {
        return $this->getLabel();
    }
}
 No newline at end of file
Loading