/**
  * Return array of assigments to available deliveries.
  * Takes into account repeated delivery {@see RepeatedDeliveryService::CLASS_URI}
  * 
  * @see \oat\taoDeliveryRdf\model\GroupAssignment::getAssignments()
  */
 public function getAssignments(User $user)
 {
     $repeatedDeliveryService = $this->getServiceManager()->get(RepeatedDeliveryService::CONFIG_ID);
     $assignments = array();
     foreach (parent::getAssignmentFactories($user) as $factory) {
         $delivery = new \core_kernel_classes_Resource($factory->getDeliveryId());
         if ($repeatedDeliveryService->isRepeated($delivery)) {
             $assignments[] = $this->transform($delivery, $user);
         } else {
             $assignments[] = $factory;
             foreach ($this->getRepeatedAssignments($delivery, $user) as $repeat) {
                 $assignments[] = $repeat;
             }
         }
     }
     // will all be repeat assignments
     usort($assignments, function ($a, $b) {
         return $a->getStartTime() - $b->getStartTime();
     });
     $assignments = \tao_helpers_Array::array_unique($assignments);
     //$assignments = array_unique($assignments);
     $final = array();
     foreach ($assignments as $factory) {
         $final[] = $factory->toAssignment();
     }
     return $final;
 }
예제 #2
0
 /**
  * @dataProvider arrayProvider
  */
 public function testArrayUnique($testArray, $expectedArray)
 {
     $result = \tao_helpers_Array::array_unique($testArray);
     $this->assertEquals($expectedArray, $result);
 }