Commit e7646a70 authored by Stéphane Bouvry's avatar Stéphane Bouvry
Browse files

Patch CODE des lot de travail

parent 7cc738f0
Loading
Loading
Loading
Loading
+11 −0
Changes for module/Oscar/src/Oscar/Controller/ConsoleController.php: 11 added lines, 0 removed lines.
Original line number Diff line number Diff line
@@ -39,6 +39,7 @@ use Oscar\Entity\Privilege;
use Oscar\Entity\Role;
use Oscar\Entity\RoleOrganization;
use Oscar\Entity\RoleRepository;
use Oscar\Entity\WorkPackage;
use Oscar\Exception\OscarException;
use Oscar\Formatter\ConnectorRepportToPlainText;
use Oscar\OscarVersion;
@@ -142,6 +143,16 @@ class ConsoleController extends AbstractOscarController
        $this->getEntityManager()->flush();
    }

    public function patch_workpackageCode(){
        $this->consoleHeader("Rapport sur les lots de travail invalides : ");
        $workpackages = $this->getEntityManager()->getRepository(WorkPackage::class)->findAll();
        foreach ($workpackages as $wp) {
            if( !$wp->getCode() ){
                $this->consoleError("Un lot dans l'activité " . $wp->getActivity() . " n'a pas de CODE !");
            }
        }
    }


    /**
     * Maintenance : Recalcule les indices de séquence pour les IDs.
+15 −2
Changes for module/Oscar/src/Oscar/Controller/WorkPackageController.php: 15 added lines, 2 removed lines.
Original line number Diff line number Diff line
@@ -13,6 +13,7 @@ use Oscar\Entity\Activity;
use Oscar\Entity\Person;
use Oscar\Entity\WorkPackage;
use Oscar\Entity\WorkPackagePerson;
use Oscar\Exception\OscarException;
use Oscar\Form\WorkPackageForm;
use Oscar\Hydrator\WorkPackageHydrator;
use Oscar\Provider\Privileges;
@@ -68,6 +69,7 @@ class WorkPackageController extends AbstractOscarController
        $workpackageperson = null;

        // Mise à jour d'un déclarant

        if( $method == 'POST' ) {
            if( !$this->getOscarUserContext()->hasPrivileges(Privileges::ACTIVITY_WORKPACKAGE_MANAGE, $activity) ){
                return $this->getResponseBadRequest("'Vous n'avez pas le droit de faire ça");
@@ -75,6 +77,13 @@ class WorkPackageController extends AbstractOscarController

            $datas = $this->getRequest()->getPost();

            $code = trim($datas['code']);

            // On contrôle les code vide
            if( $code == '' ){
                return $this->getResponseBadRequest("Vous devez renseigner un code");
            }

            if( array_key_exists('workpackageid', $datas) ){
                // Enregistrement du lot de travail
                /** @var WorkPackage $workpackage */
@@ -117,15 +126,19 @@ class WorkPackageController extends AbstractOscarController
        if( $method == 'PUT' ){
            $data = $this->getRequest()->getPost();


            if( $data['workpackageid'] == -1) {
                $code = trim($data['code']);
                try {
                    // On contrôle les code vide
                    if( $code == '' ){
                        throw new OscarException("Vous devez renseigner un code");
                    }
                    $workpackage = new WorkPackage();
                    $this->getEntityManager()->persist($workpackage);
                    $workpackage->setLabel($data['label'])
                        ->setDescription($data['description'])
                        ->setActivity($activity)
                        ->setCode($data['code']);
                        ->setCode($code);
                    $this->getEntityManager()->flush();
                    return $this->getResponseOk();
                } catch( \Exception $e ){
+1 −1
Changes for module/Oscar/src/Oscar/Entity/WorkPackage.php: 1 added line, 1 removed line.
Original line number Diff line number Diff line
@@ -31,7 +31,7 @@ class WorkPackage

    /**
     * @var
     * @ORM\Column(type="string", nullable=true)
     * @ORM\Column(type="string", nullable=false)
     */
    protected $code;

+1 −1
Changes for public/js/oscar-config.js: 1 added line, 1 removed line.
Original line number Diff line number Diff line
@@ -22,7 +22,7 @@ requirejs.config({
        'jquery-serialize': 'vendor/jquery-serialize-object/dist/jquery.serialize-object.min',
        'moment': 'vendor/momentjs/min/moment-with-locales.min',
        'moment-tz': 'vendor/moment-timezone/builds/moment-timezone-with-data.min',
        'moment-timezone': 'vendor/moment-timezone/builds/moment-timezone-with-data',
        'moment-timezone': 'vendorworkpackageperson/moment-timezone/builds/moment-timezone-with-data',
        'underscore': 'vendor/underscore/underscore-min',
        'bt-datepicker': 'vendor/bootstrap-datepicker/dist/js/bootstrap-datepicker.min',
        'timepicker': 'vendor/bootstrap-timepicker/js/bootstrap-timepicker',
+14 −2
Changes for version-2.8.md: 14 added lines, 2 removed lines.
Original line number Diff line number Diff line
# version 2.8 "Callahan" (Janvier 2019)

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)

## ATTENTION
## Code des LOTS de TRAVAIL obligatoire

Renseigner un code pour un lot de travail est maintenant obligatoire. La commande : 

```bash
$ php public/index.php oscar patch workpackageCode
```

Permet de lister les activités identifiées avec des lots de travail dont le code est vide pour permettre de corriger manuellement depuis la fiche activité le code manquant sur le lot.

## Authentification LDAP !

Pour les instances d'oscar utilisant LDAP, cette version profite d'évolutions de la librairie tiers **UnicaenApp** qui permet maintenant de configurer le champ LDAP utilisé pour l'autentification. Voir la documentation ([Configurer l'identifiant de connexion LDAP](./doc/install-prod.md), partie **Authentification LDAP : Non-Supann**).


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)


## Feuille de temps

Refonte complète de l'interface de saisie et de validation des déclarations