YetiForceCompany/YetiForceCRM

View on GitHub
modules/OSSMailView/relations/GetAttachments.php

Summary

Maintainability
A
0 mins
Test Coverage
F
0%

Call to undeclared method \App\Db::createCommand
Open

        return (bool) \App\Db::getInstance()->createCommand()->update(self::TABLE_NAME,

Call to undeclared method \App\Db::createCommand
Open

        return (bool) App\Db::getInstance()->createCommand()->delete(self::TABLE_NAME, [

Call to method addJoin from undeclared class \App\QueryGenerator (Did you mean class \Tests\App\QueryGenerator)
Open

        $this->relationModel->getQueryGenerator()

Define a constant instead of duplicating this literal "ossmailviewid" 3 times.
Open

            'ossmailviewid' => $sourceRecordId,

Duplicated string literals make the process of refactoring error-prone, since you must be sure to update all occurrences.

On the other hand, constants can be referenced from many places, but only need to be updated in a single place.

Noncompliant Code Example

With the default threshold of 3:

function run() {
  prepare('action1');                              // Non-Compliant - 'action1' is duplicated 3 times
  execute('action1');
  release('action1');
}

Compliant Solution

ACTION_1 = 'action1';

function run() {
  prepare(ACTION_1);
  execute(ACTION_1);
  release(ACTION_1);
}

Exceptions

To prevent generating some false-positives, literals having less than 5 characters are excluded.

Define a constant instead of duplicating this literal "LEFT JOIN" 3 times.
Open

            ->addJoin(['LEFT JOIN', 'vtiger_seattachmentsrel', 'vtiger_seattachmentsrel.crmid = vtiger_notes.notesid'])

Duplicated string literals make the process of refactoring error-prone, since you must be sure to update all occurrences.

On the other hand, constants can be referenced from many places, but only need to be updated in a single place.

Noncompliant Code Example

With the default threshold of 3:

function run() {
  prepare('action1');                              // Non-Compliant - 'action1' is duplicated 3 times
  execute('action1');
  release('action1');
}

Compliant Solution

ACTION_1 = 'action1';

function run() {
  prepare(ACTION_1);
  execute(ACTION_1);
  release(ACTION_1);
}

Exceptions

To prevent generating some false-positives, literals having less than 5 characters are excluded.

Each class must be in a namespace of at least one level (a top-level vendor name)
Open

class OSSMailView_GetAttachments_Relation extends \App\Relation\RelationAbstraction

The class OSSMailView_GetAttachments_Relation is not named in CamelCase.
Open

class OSSMailView_GetAttachments_Relation extends \App\Relation\RelationAbstraction
{
    /**
     * @var string Name of the table that stores relations.
     */

CamelCaseClassName

Since: 0.2

It is considered best practice to use the CamelCase notation to name classes.

Example

class class_name {
}

Source

Only one argument is allowed per line in a multi-line function call
Open

        ['ossmailviewid' => $toRecordId], ['ossmailviewid' => $fromRecordId, 'documentsid' => $relatedRecordId])->execute();

Spaces must be used to indent lines; tabs are not allowed
Open

    /** {@inheritdoc} */

Spaces must be used to indent lines; tabs are not allowed
Open

            'ossmailviewid' => $sourceRecordId,

Spaces must be used to indent lines; tabs are not allowed
Open

    /**

Spaces must be used to indent lines; tabs are not allowed
Open

        return Vtiger_Relation_Model::RELATION_M2M;

Spaces must be used to indent lines; tabs are not allowed
Open

        $this->relationModel->getQueryGenerator()

Spaces must be used to indent lines; tabs are not allowed
Open

    }

Spaces must be used to indent lines; tabs are not allowed
Open

    public const TABLE_NAME = 'vtiger_ossmailview_files';

Spaces must be used to indent lines; tabs are not allowed
Open

    public function getQuery()

Spaces must be used to indent lines; tabs are not allowed
Open

            ->addJoin(['LEFT JOIN', self::TABLE_NAME, self::TABLE_NAME . '.documentsid = vtiger_notes.notesid'])

Spaces must be used to indent lines; tabs are not allowed
Open

    }

Spaces must be used to indent lines; tabs are not allowed
Open

            ->addJoin(['LEFT JOIN', 'vtiger_seattachmentsrel', 'vtiger_seattachmentsrel.crmid = vtiger_notes.notesid'])

Spaces must be used to indent lines; tabs are not allowed
Open

    /** {@inheritdoc} */

Spaces must be used to indent lines; tabs are not allowed
Open

        return false;

Line exceeds 120 characters; contains 126 characters
Open

            ->addNativeCondition([self::TABLE_NAME . '.ossmailviewid' => $this->relationModel->get('parentRecord')->getId()]);

Spaces must be used to indent lines; tabs are not allowed
Open

    {

Spaces must be used to indent lines; tabs are not allowed
Open

    }

Spaces must be used to indent lines; tabs are not allowed
Open

    public function getRelationType(): int

Spaces must be used to indent lines; tabs are not allowed
Open

    }

Spaces must be used to indent lines; tabs are not allowed
Open

    public function create(int $sourceRecordId, int $destinationRecordId): bool

Spaces must be used to indent lines; tabs are not allowed
Open

    /** {@inheritdoc} */

Spaces must be used to indent lines; tabs are not allowed
Open

    public function delete(int $sourceRecordId, int $destinationRecordId): bool

Spaces must be used to indent lines; tabs are not allowed
Open

        ['ossmailviewid' => $toRecordId], ['ossmailviewid' => $fromRecordId, 'documentsid' => $relatedRecordId])->execute();

Spaces must be used to indent lines; tabs are not allowed
Open

     * @var string Name of the table that stores relations.

Spaces must be used to indent lines; tabs are not allowed
Open

    /** {@inheritdoc} */

Spaces must be used to indent lines; tabs are not allowed
Open

            'documentsid' => $destinationRecordId,

Spaces must be used to indent lines; tabs are not allowed
Open

    public function transfer(int $relatedRecordId, int $fromRecordId, int $toRecordId): bool

Spaces must be used to indent lines; tabs are not allowed
Open

            ->addNativeCondition([self::TABLE_NAME . '.ossmailviewid' => $this->relationModel->get('parentRecord')->getId()]);

Spaces must be used to indent lines; tabs are not allowed
Open

    {

Line exceeds 120 characters; contains 124 characters
Open

        ['ossmailviewid' => $toRecordId], ['ossmailviewid' => $fromRecordId, 'documentsid' => $relatedRecordId])->execute();

Spaces must be used to indent lines; tabs are not allowed
Open

    {

Line exceeds 120 characters; contains 134 characters
Open

            ->addJoin(['LEFT JOIN', 'vtiger_attachments', 'vtiger_seattachmentsrel.attachmentsid = vtiger_attachments.attachmentsid'])

Spaces must be used to indent lines; tabs are not allowed
Open

    {

Spaces must be used to indent lines; tabs are not allowed
Open

        return (bool) App\Db::getInstance()->createCommand()->delete(self::TABLE_NAME, [

Spaces must be used to indent lines; tabs are not allowed
Open

    {

Spaces must be used to indent lines; tabs are not allowed
Open

    }

Spaces must be used to indent lines; tabs are not allowed
Open

    /** {@inheritdoc} */

Spaces must be used to indent lines; tabs are not allowed
Open

        return (bool) \App\Db::getInstance()->createCommand()->update(self::TABLE_NAME,

Spaces must be used to indent lines; tabs are not allowed
Open

     */

Spaces must be used to indent lines; tabs are not allowed
Open

        ])->execute();

Spaces must be used to indent lines; tabs are not allowed
Open

            ->addJoin(['LEFT JOIN', 'vtiger_attachments', 'vtiger_seattachmentsrel.attachmentsid = vtiger_attachments.attachmentsid'])

Opening parenthesis of a multi-line function call must be the last content on the line
Open

        return (bool) \App\Db::getInstance()->createCommand()->update(self::TABLE_NAME,

Closing parenthesis of a multi-line function call must be on a line by itself
Open

        ['ossmailviewid' => $toRecordId], ['ossmailviewid' => $fromRecordId, 'documentsid' => $relatedRecordId])->execute();

Class name "OSSMailView_GetAttachments_Relation" is not in camel caps format
Open

class OSSMailView_GetAttachments_Relation extends \App\Relation\RelationAbstraction

There are no issues that match your filters.

Category
Status