Commit 7de1dbf8 authored by Stephane Bouvry's avatar Stephane Bouvry
Browse files

Espace "Mes jalons" en cours

parent 3dea740e
Loading
Loading
Loading
Loading
+2 −2
Original line number Diff line number Diff line
@@ -2,8 +2,6 @@

## Contenu de cette mise à jour

### En cours

### Fonctionnel
 - **Général**
   - Personnalisation des textes de l'interface
@@ -30,8 +28,10 @@
     - Seul les statuts utilisés sont disponibles dans la recherche avancées
   - Type de document : Désactivation de certains choix possible
   - Disciplines : Désactivation de certains choix possible
    
   **Connecteur/Synchro**
     - Depuis la fiche personne, la synchronisation manuelle d'une personne retirée du SI supprime la personne dans Oscar si c'est possible.
  
 - **Organisation**
   - SIREN API 

+1 −1
Original line number Diff line number Diff line
@@ -227,7 +227,7 @@ return array(
                // --- DATES CLEFS
                [
                    'controller' => 'ActivityDate',
                    'action' => ['index', 'activity'],
                    'action' => ['index', 'activity', 'mine'],
                    'roles' => ['user'],
                ],
                [
+6 −0
Original line number Diff line number Diff line
@@ -1649,6 +1649,12 @@ milestones:
        route: /:idactivity
        defaults:
          action: activity
    mine:
      type: segment
      options:
        route: /mine
        defaults:
          action: mine

activitydate:
  type: segment
+42 −0
Original line number Diff line number Diff line
@@ -16,6 +16,7 @@ use Oscar\Entity\Activity;
use Oscar\Entity\ActivityDate;
use Oscar\Entity\LogActivity;
use Oscar\Form\ActivityDateForm;
use Oscar\Formatter\json\MilestoneToJsonFormatter;
use Oscar\Provider\Privileges;
use Oscar\Service\MilestoneService;
use Oscar\Service\ProjectGrantApiService;
@@ -507,4 +508,45 @@ class ActivityDateController extends AbstractOscarController implements UseServi

        return $view;
    }

    public function mineAction(){

        if( $this->isAjax() || $this->getRequest()->getQuery('f') === 'json' ){
            $currentPerson = $this->getOscarUserContextService()->getCurrentPerson();
            if( $currentPerson ){

                // Récupération des IDS
                $idsActivityDirect = $this->getProjectGrantService()->getActivityRepository()
                    ->getIdsForPersons([$currentPerson->getId()]);
                $organizations = $this->getOscarUserContextService()
                    ->getOrganizationsWithPrivilege(Privileges::ACTIVITY_MILESTONE_SHOW);
                $idsOrganizations = [];
                foreach ($organizations as $organization){
                    $idsOrganizations[] = $organization->getId();
                }

                $idsActivityInOrganization = $this->getProjectGrantService()->getActivityRepository()
                    ->getIdsForOrganizations($idsOrganizations);

                $idsActivities = array_merge($idsActivityDirect, $idsActivityInOrganization);

                $milestones = $this->getProjectGrantService()->getActivityDateRepository()
                    ->getMilestonesByIdsActivity($idsActivities);

                $types = $this->getProjectGrantService()->getActivityDateRepository()
                    ->getMilestonesTypes();


                $formatter = new MilestoneToJsonFormatter($types);
                $formatter->setUrlPlugin($this->url());
                $out = $formatter->formatAllWithTypes($milestones, true);
                return new JsonModel($out);
            }
        }




        return [];
    }
}
 No newline at end of file
+2 −0
Original line number Diff line number Diff line
@@ -13,6 +13,7 @@ use Interop\Container\ContainerInterface;
use Oscar\Service\ActivityLogService;
use Oscar\Service\LoggerService;
use Oscar\Service\MilestoneService;
use Oscar\Service\OscarConfigurationService;
use Oscar\Service\OscarUserContext;
use Oscar\Service\ProjectGrantService;
use Laminas\ServiceManager\Factory\FactoryInterface;
@@ -24,6 +25,7 @@ class ActivityDateControllerFactory extends AbstractOscarController
        $c->setServiceContainer($container);
        $c->setLoggerService($container->get('Logger'));
        $c->setOscarUserContextService($container->get(OscarUserContext::class));
        $c->setOscarConfigurationService($container->get(OscarConfigurationService::class));
        $c->setProjectGrantService($container->get(ProjectGrantService::class));
        $c->setMilestoneService($container->get(MilestoneService::class));
        $c->setActivityLogService($container->get(ActivityLogService::class));
Loading