コード例 #1
0
 /**
  * Create an activity translation of the specified language
  *
  * @param ActivityModel $activity
  * @param type $language
  * @return \Activity\Model\ActivityTranslation
  */
 protected function createActivityTranslation(ActivityModel $activity, $language)
 {
     $activityTranslation = new ActivityTranslationModel();
     //Populate the common-language parts
     $activityTranslation->setId($activity->getId());
     $activityTranslation->setBeginTime($activity->getBeginTime());
     $activityTranslation->setEndTime($activity->getEndTime());
     $activityTranslation->setCanSignUp($activity->getCanSignUp());
     $activityTranslation->setOnlyGEWIS($activity->getOnlyGEWIS());
     $activityTranslation->setApprover($activity->getApprover());
     $activityTranslation->setCreator($activity->getCreator());
     $activityTranslation->setStatus($activity->getStatus());
     $activityTranslation->setSignUps($activity->getSignUps());
     $activityTranslation->setSubscriptionDeadline($activity->getSubscriptionDeadline());
     //TODO: add organ when relevant.
     if ($language === 'en') {
         $activityTranslation->setName($activity->getNameEn());
         $activityTranslation->setLocation($activity->getLocationEn());
         $activityTranslation->setCosts($activity->getCostsEn());
         $activityTranslation->setDescription($activity->getDescriptionEn());
     }
     if ($language === 'nl') {
         $activityTranslation->setName($activity->getName());
         $activityTranslation->setLocation($activity->getLocation());
         $activityTranslation->setCosts($activity->getCosts());
         $activityTranslation->setDescription($activity->getDescription());
     }
     $fieldTranslations = [];
     foreach ($activity->getFields() as $field) {
         $fieldTranslations[] = $this->createActivityFieldTranslation($field, $language);
     }
     $activityTranslation->setFields($fieldTranslations);
     return $activityTranslation;
 }
コード例 #2
0
ファイル: Signup.php プロジェクト: Mesoptier/gewisweb
 /**
  * Gets an array of the signed up users and the associated data
  *
  * @return array
  */
 public function getSignedUpData(ActivityModel $activity)
 {
     if (!$this->isAllowed('view', 'activitySignup')) {
         $translator = $this->getTranslator();
         throw new \User\Permissions\NotAllowedException($translator->translate('You are not allowed to view the sign up data'));
     }
     $fieldValueMapper = $this->getServiceManager()->get('activity_mapper_activity_field_value');
     $result = [];
     foreach ($activity->getSignUps() as $signup) {
         $entry = [];
         $entry['member'] = $signup->getFullName();
         $entry['values'] = [];
         foreach ($fieldValueMapper->getFieldValuesBySignup($signup) as $fieldValue) {
             //If there is an option type, get the option object as a 'value'.
             $isOption = $fieldValue->getField()->getType() === 3;
             $value = $isOption ? $fieldValue->getOption() : $fieldValue->getValue();
             $entry['values'][$fieldValue->getField()->getId()] = $value;
         }
         $result[] = $entry;
     }
     return $result;
 }