Completed
Push — develop ( c09155...432462 )
by
unknown
16:18
created

HiringOrganizationSelectFactory::createService()   A

Complexity

Conditions 2
Paths 2

Size

Total Lines 23
Code Lines 11

Duplication

Lines 0
Ratio 0 %

Importance

Changes 2
Bugs 0 Features 1
Metric Value
c 2
b 0
f 1
dl 0
loc 23
rs 9.0857
cc 2
eloc 11
nc 2
nop 1
1
<?php
2
/**
3
 * YAWIK
4
 *
5
 * @filesource
6
 * @license    MIT
7
 * @copyright  2013 - 2015 Cross Solution <http://cross-solution.de>
8
 */
9
10
/** */
11
namespace Jobs\Factory\Form;
12
13
use Jobs\Form\HiringOrganizationSelect;
14
use Zend\ServiceManager\FactoryInterface;
15
use Zend\ServiceManager\ServiceLocatorInterface;
16
17
/**
18
 * Factory for the HiringOrganization select box
19
 *
20
 * @author Mathias Gelhausen <[email protected]>
21
 */
22
class HiringOrganizationSelectFactory implements FactoryInterface
23
{
24
    /**
25
     * Creates the hiring organization select box.
26
     *
27
     */
28
    public function createService(ServiceLocatorInterface $serviceLocator)
29
    {
30
        /* @var $serviceLocator \Zend\ServiceManager\AbstractPluginManager
31
         * @var $headscript     \Zend\View\Helper\HeadScript
32
         * @var $user           \Auth\Entity\User
33
         * @var $organization   \Organizations\Entity\OrganizationInterface | \Organizations\Entity\OrganizationReferenceInterface
34
         */
35
        $services     = $serviceLocator->getServiceLocator();
36
        $user         = $services->get('AuthenticationService')->getUser();
37
        $select       = new HiringOrganizationSelect();
38
        $organization = $user->getOrganization();
39
40
        if ($organization->hasAssociation()) {
41
            $organizations = $organization->getHiringOrganizations()->toArray();
42
            array_unshift($organizations, $organization->getOrganization());
43
            $select->setSelectableOrganizations($organizations, /* addEmptyOption */
44
                                                false
45
            );
46
47
        }
48
49
        return $select;
50
    }
51
}
52