Completed
Push — 1.8 ( 110b8e...31bb9f )
by
unknown
90:40 queued 42:52
created

MailboxManager::findAvailableMailboxes()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 7
Code Lines 4

Duplication

Lines 0
Ratio 0 %

Importance

Changes 1
Bugs 0 Features 0
Metric Value
c 1
b 0
f 0
dl 0
loc 7
rs 9.4286
cc 1
eloc 4
nc 1
nop 2
1
<?php
2
3
namespace Oro\Bundle\EmailBundle\Entity\Manager;
4
5
use Doctrine\Bundle\DoctrineBundle\Registry;
6
use Doctrine\Common\Collections\Collection;
7
use Oro\Bundle\EmailBundle\Entity\EmailOrigin;
8
use Oro\Bundle\EmailBundle\Entity\Mailbox;
9
use Oro\Bundle\OrganizationBundle\Entity\Organization;
10
use Oro\Bundle\UserBundle\Entity\User;
11
12
class MailboxManager
13
{
14
    /** @var Registry */
15
    protected $registry;
16
17
    /**
18
     * @param Registry $registry
19
     */
20
    public function __construct(Registry $registry)
21
    {
22
        $this->registry = $registry;
23
    }
24
25
    /**
26
     * Returns a list of ids of mailboxes available to user logged under organization.
27
     *
28
     * @param User|integer $user User or user id
29
     * @param Organization $organization
30
     *
31
     * @return array Array of ids
32
     */
33 View Code Duplication
    public function findAvailableMailboxIds($user, $organization)
34
    {
35
        $mailboxes = $this->findAvailableMailboxes($user, $organization);
36
37
        $ids = [];
38
        foreach ($mailboxes as $mailbox) {
39
            $ids[] = $mailbox->getId();
40
        }
41
42
        return $ids;
43
    }
44
45
    /**
46
     * Returns a list of mailboxes available to user logged under organization.
47
     *
48
     * @param User|integer $user User or user id
49
     * @param Organization $organization|null
0 ignored issues
show
Documentation introduced by
There is no parameter named $organization|null. Did you maybe mean $organization?

This check looks for PHPDoc comments describing methods or function parameters that do not exist on the corresponding method or function. It has, however, found a similar but not annotated parameter which might be a good fit.

Consider the following example. The parameter $ireland is not defined by the method finale(...).

/**
 * @param array $germany
 * @param array $ireland
 */
function finale($germany, $island) {
    return "2:1";
}

The most likely cause is that the parameter was changed, but the annotation was not.

Loading history...
50
     *
51
     * @return Collection|Mailbox[] Array or collection of Mailboxes
52
     */
53
    public function findAvailableMailboxes($user, Organization $organization = null)
54
    {
55
        $qb = $this->registry->getRepository('OroEmailBundle:Mailbox')
56
            ->createAvailableMailboxesQuery($user, $organization);
57
58
        return $qb->getQuery()->getResult();
59
    }
60
61
    /**
62
     * @param User $user
63
     * @param Organization $organization
64
     *
65
     * @return EmailOrigin
66
     */
67
    public function findAvailableOrigins(User $user, Organization $organization)
68
    {
69
        return $this->registry->getRepository('OroEmailBundle:EmailOrigin')->findBy([
70
            'owner' => $user,
71
            'organization' => $organization,
72
            'isActive' => true,
73
        ]);
74
    }
75
}
76