YetiForceCompany/YetiForceCRM

View on GitHub
modules/HelpDesk/HelpDesk.php

Summary

Maintainability
A
0 mins
Test Coverage
F
0%

The method setRelationTables has a boolean flag argument $secModule, which is a certain sign of a Single Responsibility Principle violation.
Open

    public function setRelationTables($secModule = false)
Severity: Minor
Found in modules/HelpDesk/HelpDesk.php by phpmd

BooleanArgumentFlag

Since: 1.4.0

A boolean flag argument is a reliable indicator for a violation of the Single Responsibility Principle (SRP). You can fix this problem by extracting the logic in the boolean flag into its own class or method.

Example

class Foo {
    public function bar($flag = true) {
    }
}

Source https://phpmd.org/rules/cleancode.html#booleanargumentflag

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

    public $tab_name = ['vtiger_crmentity', 'vtiger_troubletickets', 'vtiger_ticketcf', 'vtiger_entity_stats'];
Severity: Critical
Found in modules/HelpDesk/HelpDesk.php by sonar-php

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 "ticket_title" 3 times.
Open

        'Subject' => 'ticket_title',
Severity: Critical
Found in modules/HelpDesk/HelpDesk.php by sonar-php

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 "vtiger_ticketcf" 3 times.
Open

    public $tab_name = ['vtiger_crmentity', 'vtiger_troubletickets', 'vtiger_ticketcf', 'vtiger_entity_stats'];
Severity: Critical
Found in modules/HelpDesk/HelpDesk.php by sonar-php

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 "crmid" 5 times.
Open

    public $tab_name_index = ['vtiger_crmentity' => 'crmid', 'vtiger_troubletickets' => 'ticketid', 'vtiger_ticketcf' => 'ticketid', 'vtiger_entity_stats' => 'crmid'];
Severity: Critical
Found in modules/HelpDesk/HelpDesk.php by sonar-php

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 "ticketid" 7 times.
Open

    public $table_index = 'ticketid';
Severity: Critical
Found in modules/HelpDesk/HelpDesk.php by sonar-php

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 "vtiger_troubletickets" 6 times.
Open

    public $table_name = 'vtiger_troubletickets';
Severity: Critical
Found in modules/HelpDesk/HelpDesk.php by sonar-php

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 "troubletickets" 7 times.
Open

        'Ticket No' => ['troubletickets' => 'ticket_no'],
Severity: Critical
Found in modules/HelpDesk/HelpDesk.php by sonar-php

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.

Remove this commented out code.
Open

 * Portions created by SugarCRM are Copyright (C) SugarCRM, Inc.;
Severity: Major
Found in modules/HelpDesk/HelpDesk.php by sonar-php

Programmers should not comment out code as it bloats programs and reduces readability.

Unused code should be deleted and can be retrieved from source control history if required.

See

  • MISRA C:2004, 2.4 - Sections of code should not be "commented out".
  • MISRA C++:2008, 2-7-2 - Sections of code shall not be "commented out" using C-style comments.
  • MISRA C++:2008, 2-7-3 - Sections of code should not be "commented out" using C++ comments.
  • MISRA C:2012, Dir. 4.4 - Sections of code should not be "commented out"

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

class HelpDesk extends CRMEntity

The property $search_fields is not named in camelCase.
Open

class HelpDesk extends CRMEntity
{
    public $table_name = 'vtiger_troubletickets';
    public $table_index = 'ticketid';
    public $tab_name = ['vtiger_crmentity', 'vtiger_troubletickets', 'vtiger_ticketcf', 'vtiger_entity_stats'];
Severity: Minor
Found in modules/HelpDesk/HelpDesk.php by phpmd

CamelCasePropertyName

Since: 0.2

It is considered best practice to use the camelCase notation to name attributes.

Example

class ClassName {
    protected $property_name;
}

Source

The property $def_basicsearch_col is not named in camelCase.
Open

class HelpDesk extends CRMEntity
{
    public $table_name = 'vtiger_troubletickets';
    public $table_index = 'ticketid';
    public $tab_name = ['vtiger_crmentity', 'vtiger_troubletickets', 'vtiger_ticketcf', 'vtiger_entity_stats'];
Severity: Minor
Found in modules/HelpDesk/HelpDesk.php by phpmd

CamelCasePropertyName

Since: 0.2

It is considered best practice to use the camelCase notation to name attributes.

Example

class ClassName {
    protected $property_name;
}

Source

The property $list_fields_name is not named in camelCase.
Open

class HelpDesk extends CRMEntity
{
    public $table_name = 'vtiger_troubletickets';
    public $table_index = 'ticketid';
    public $tab_name = ['vtiger_crmentity', 'vtiger_troubletickets', 'vtiger_ticketcf', 'vtiger_entity_stats'];
Severity: Minor
Found in modules/HelpDesk/HelpDesk.php by phpmd

CamelCasePropertyName

Since: 0.2

It is considered best practice to use the camelCase notation to name attributes.

Example

class ClassName {
    protected $property_name;
}

Source

The property $default_sort_order is not named in camelCase.
Open

class HelpDesk extends CRMEntity
{
    public $table_name = 'vtiger_troubletickets';
    public $table_index = 'ticketid';
    public $tab_name = ['vtiger_crmentity', 'vtiger_troubletickets', 'vtiger_ticketcf', 'vtiger_entity_stats'];
Severity: Minor
Found in modules/HelpDesk/HelpDesk.php by phpmd

CamelCasePropertyName

Since: 0.2

It is considered best practice to use the camelCase notation to name attributes.

Example

class ClassName {
    protected $property_name;
}

Source

The property $table_index is not named in camelCase.
Open

class HelpDesk extends CRMEntity
{
    public $table_name = 'vtiger_troubletickets';
    public $table_index = 'ticketid';
    public $tab_name = ['vtiger_crmentity', 'vtiger_troubletickets', 'vtiger_ticketcf', 'vtiger_entity_stats'];
Severity: Minor
Found in modules/HelpDesk/HelpDesk.php by phpmd

CamelCasePropertyName

Since: 0.2

It is considered best practice to use the camelCase notation to name attributes.

Example

class ClassName {
    protected $property_name;
}

Source

The property $mandatory_fields is not named in camelCase.
Open

class HelpDesk extends CRMEntity
{
    public $table_name = 'vtiger_troubletickets';
    public $table_index = 'ticketid';
    public $tab_name = ['vtiger_crmentity', 'vtiger_troubletickets', 'vtiger_ticketcf', 'vtiger_entity_stats'];
Severity: Minor
Found in modules/HelpDesk/HelpDesk.php by phpmd

CamelCasePropertyName

Since: 0.2

It is considered best practice to use the camelCase notation to name attributes.

Example

class ClassName {
    protected $property_name;
}

Source

The property $column_fields is not named in camelCase.
Open

class HelpDesk extends CRMEntity
{
    public $table_name = 'vtiger_troubletickets';
    public $table_index = 'ticketid';
    public $tab_name = ['vtiger_crmentity', 'vtiger_troubletickets', 'vtiger_ticketcf', 'vtiger_entity_stats'];
Severity: Minor
Found in modules/HelpDesk/HelpDesk.php by phpmd

CamelCasePropertyName

Since: 0.2

It is considered best practice to use the camelCase notation to name attributes.

Example

class ClassName {
    protected $property_name;
}

Source

The property $default_order_by is not named in camelCase.
Open

class HelpDesk extends CRMEntity
{
    public $table_name = 'vtiger_troubletickets';
    public $table_index = 'ticketid';
    public $tab_name = ['vtiger_crmentity', 'vtiger_troubletickets', 'vtiger_ticketcf', 'vtiger_entity_stats'];
Severity: Minor
Found in modules/HelpDesk/HelpDesk.php by phpmd

CamelCasePropertyName

Since: 0.2

It is considered best practice to use the camelCase notation to name attributes.

Example

class ClassName {
    protected $property_name;
}

Source

The property $entity_table is not named in camelCase.
Open

class HelpDesk extends CRMEntity
{
    public $table_name = 'vtiger_troubletickets';
    public $table_index = 'ticketid';
    public $tab_name = ['vtiger_crmentity', 'vtiger_troubletickets', 'vtiger_ticketcf', 'vtiger_entity_stats'];
Severity: Minor
Found in modules/HelpDesk/HelpDesk.php by phpmd

CamelCasePropertyName

Since: 0.2

It is considered best practice to use the camelCase notation to name attributes.

Example

class ClassName {
    protected $property_name;
}

Source

The property $tab_name is not named in camelCase.
Open

class HelpDesk extends CRMEntity
{
    public $table_name = 'vtiger_troubletickets';
    public $table_index = 'ticketid';
    public $tab_name = ['vtiger_crmentity', 'vtiger_troubletickets', 'vtiger_ticketcf', 'vtiger_entity_stats'];
Severity: Minor
Found in modules/HelpDesk/HelpDesk.php by phpmd

CamelCasePropertyName

Since: 0.2

It is considered best practice to use the camelCase notation to name attributes.

Example

class ClassName {
    protected $property_name;
}

Source

The property $search_fields_name is not named in camelCase.
Open

class HelpDesk extends CRMEntity
{
    public $table_name = 'vtiger_troubletickets';
    public $table_index = 'ticketid';
    public $tab_name = ['vtiger_crmentity', 'vtiger_troubletickets', 'vtiger_ticketcf', 'vtiger_entity_stats'];
Severity: Minor
Found in modules/HelpDesk/HelpDesk.php by phpmd

CamelCasePropertyName

Since: 0.2

It is considered best practice to use the camelCase notation to name attributes.

Example

class ClassName {
    protected $property_name;
}

Source

The property $table_name is not named in camelCase.
Open

class HelpDesk extends CRMEntity
{
    public $table_name = 'vtiger_troubletickets';
    public $table_index = 'ticketid';
    public $tab_name = ['vtiger_crmentity', 'vtiger_troubletickets', 'vtiger_ticketcf', 'vtiger_entity_stats'];
Severity: Minor
Found in modules/HelpDesk/HelpDesk.php by phpmd

CamelCasePropertyName

Since: 0.2

It is considered best practice to use the camelCase notation to name attributes.

Example

class ClassName {
    protected $property_name;
}

Source

The property $tab_name_index is not named in camelCase.
Open

class HelpDesk extends CRMEntity
{
    public $table_name = 'vtiger_troubletickets';
    public $table_index = 'ticketid';
    public $tab_name = ['vtiger_crmentity', 'vtiger_troubletickets', 'vtiger_ticketcf', 'vtiger_entity_stats'];
Severity: Minor
Found in modules/HelpDesk/HelpDesk.php by phpmd

CamelCasePropertyName

Since: 0.2

It is considered best practice to use the camelCase notation to name attributes.

Example

class ClassName {
    protected $property_name;
}

Source

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 $column_fields = [];

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

    public $default_order_by = '';

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

        $relTables = [

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

    public $tab_name = ['vtiger_crmentity', 'vtiger_troubletickets', 'vtiger_ticketcf', 'vtiger_entity_stats'];

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

    public $list_fields_name = [

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

        'Subject' => 'ticket_title',

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

    /**

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

        'Assigned To' => ['crmentity', 'smownerid'],

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

    // For Alphabetical search

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

    public $table_index = 'ticketid';

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

        'Assigned To' => 'assigned_user_id',

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

        'FL_TOTAL_TIME_H' => 'sum_time',

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

        'FL_TOTAL_TIME_H' => ['troubletickets', 'sum_time'],

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

     */

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

        'Priority' => ['troubletickets' => 'priority'],

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

    ];

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

        'Priority' => 'ticketpriorities',

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

     * @var string[] List of fields in the RelationListView

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

    public $relationFields = [];

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

        'Subject' => ['troubletickets' => 'title'],

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

        'Contact Name' => ['troubletickets' => 'contact_id'],

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

            'OSSMailView' => ['vtiger_ossmailview_relation' => ['crmid', 'ossmailviewid'], 'vtiger_troubletickets' => 'ticketid'],

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

        'Ticket No' => ['troubletickets' => 'ticket_no'],

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

        'Related To' => ['troubletickets' => 'parent_id'],

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

    /**

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

    //Pavani: Assign value to entity_table

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

    public $default_sort_order = 'ASC';

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

    {

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

            'Documents' => ['vtiger_senotesrel' => ['crmid', 'notesid'], 'vtiger_troubletickets' => 'ticketid'],

Line exceeds 120 characters; contains 167 characters
Open

    public $tab_name_index = ['vtiger_crmentity' => 'crmid', 'vtiger_troubletickets' => 'ticketid', 'vtiger_ticketcf' => 'ticketid', 'vtiger_entity_stats' => 'crmid'];

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 $search_fields = [

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

     *

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

     * @param bool|string $secModule secondary module 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

    public $tab_name_index = ['vtiger_crmentity' => 'crmid', 'vtiger_troubletickets' => 'ticketid', 'vtiger_ticketcf' => 'ticketid', 'vtiger_entity_stats' => 'crmid'];

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

    public $customFieldTable = ['vtiger_ticketcf', 'ticketid'];

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

    public $mandatory_fields = ['assigned_user_id', 'createdtime', 'modifiedtime', 'ticket_title', 'update_log'];

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

     * Function to get the relation tables for related modules.

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

     *

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

        'Related To' => 'parent_id',

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

        // END

Line exceeds 120 characters; contains 130 characters
Open

            'OSSMailView' => ['vtiger_ossmailview_relation' => ['crmid', 'ossmailviewid'], 'vtiger_troubletickets' => 'ticketid'],

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

        'Status' => ['troubletickets' => 'status'],

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

    // Used when enabling/disabling the mandatory fields for the module.

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

     * Mandatory table for supporting custom fields.

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

        'Ticket No' => 'ticket_no',

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

        'Status' => 'ticketstatus',

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

    //Added these variables which are used as default order by and sortorder in ListView

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

    public $table_name = 'vtiger_troubletickets';

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

        'Contact Name' => 'contact_id',

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

    // Refers to vtiger_field.fieldname values.

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

    public $def_basicsearch_col = 'ticket_title';

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 array with table names and fieldnames storing relations between module and this module

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

    public function setRelationTables($secModule = false)

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

            'Services' => ['vtiger_crmentityrel' => ['crmid', 'relcrmid'], 'vtiger_troubletickets' => 'ticketid'],

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 $entity_table = 'vtiger_crmentity';

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

        //'Ticket ID' => Array('vtiger_crmentity'=>'crmid'),

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

    public $search_fields_name = [];

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

        if (false === $secModule) {

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

        return $relTables[$secModule];

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

            return $relTables;

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

    }

There are no issues that match your filters.

Category
Status