/** * Add a job to the user history. * * @param Job $job */ protected function addJobToHistory(Job $job) { $session = $this->getRequest()->getSession(); $ids = $session->get('job_history', array()); if (!in_array($job->getId(), $ids)) { array_unshift($ids, $job->getId()); $session->set('job_history', array_slice($ids, 0, 3)); } }
/** * Add addtional Jobs so we can test record limits and pagers. * * @param Doctrine\ORM\EntityManager $manager * @param Job $job */ protected function duplicateLastJob($manager, $job) { for ($i = 100; $i <= 130; $i++) { $jobClone = clone $job; $jobClone->setCompany(sprintf($job->getCompany(), $i)); $jobClone->setHowToApply(sprintf($job->getHowToApply(), $i)); $jobClone->setToken(sprintf($job->getToken(), $i)); $manager->persist($jobClone); $manager->flush(); } }
public function buildForm(FormBuilder $builder, array $options) { $builder->add('category', 'entity', array('class' => 'Jobeet2Bundle:Category', 'required' => true, 'empty_value' => '')); $types = Job::getTypes(); $builder->add('type', 'choice', array('choices' => $types, 'required' => true, 'expanded' => true)); $builder->add('company'); $builder->add('logo', 'file', array('required' => false)); $builder->add('url', 'url'); $builder->add('position'); $builder->add('location'); $builder->add('description', null, array('required' => true)); $builder->add('howToApply', null, array('label' => 'How to apply ?')); $builder->add('isPublic', null, array('label' => 'Is public ?')); $builder->add('email', 'email'); }
/** * Main load function. * * @param Doctrine\Common\Persistence\ObjectManager $manager */ function load(ObjectManager $manager) { $affiliates = $this->getModelFixtures(); // Now iterate thought all fixtures foreach ($jobs['Job'] as $reference => $columns) { // Create our new Job entity $job = new Job(); // Assign category from the fixtures references $category = $this->getReference('Category_' . $columns['Category']); $job->setCategory($category); // Now assign standart values $job->setType(isset($columns['type']) ? $columns['type'] : null); $job->setCompany($columns['company']); $job->setLogo(isset($columns['logo']) ? $columns['logo'] : null); $job->setLocation($columns['location']); $job->setUrl(isset($columns['url']) ? $columns['url'] : null); $job->setPosition($columns['position']); $job->setDescription($columns['description']); $job->setHowToApply($columns['how_to_apply']); $job->setIsPublic($columns['is_public']); $job->setIsActivated($columns['is_activated']); $job->setToken($columns['token']); $job->setEmail($columns['email']); $manager->persist($job); $manager->flush(); // Add a reference to be able to use this object in others loaders $this->addReference('Job_' . $reference, $job); } // Insert additional $this->duplicateLastJob($manager, $job); }