TimeTrex/classes/modules/company/CompanyGenericMapFactory.class.php

692 lines
26 KiB
PHP
Raw Permalink Normal View History

2022-12-13 07:10:06 +01:00
<?php
/*********************************************************************************
*
* TimeTrex is a Workforce Management program developed by
* TimeTrex Software Inc. Copyright (C) 2003 - 2021 TimeTrex Software Inc.
*
* This program is free software; you can redistribute it and/or modify it under
* the terms of the GNU Affero General Public License version 3 as published by
* the Free Software Foundation with the addition of the following permission
* added to Section 15 as permitted in Section 7(a): FOR ANY PART OF THE COVERED
* WORK IN WHICH THE COPYRIGHT IS OWNED BY TIMETREX, TIMETREX DISCLAIMS THE
* WARRANTY OF NON INFRINGEMENT OF THIRD PARTY RIGHTS.
*
* This program is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
* FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more
* details.
*
*
* You should have received a copy of the GNU Affero General Public License along
* with this program; if not, see http://www.gnu.org/licenses or write to the Free
* Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
* 02110-1301 USA.
*
*
* You can contact TimeTrex headquarters at Unit 22 - 2475 Dobbin Rd. Suite
* #292 West Kelowna, BC V4T 2E9, Canada or at email address info@timetrex.com.
*
*
* The interactive user interfaces in modified source and object code versions
* of this program must display Appropriate Legal Notices, as required under
* Section 5 of the GNU Affero General Public License version 3.
*
*
* In accordance with Section 7(b) of the GNU Affero General Public License
* version 3, these Appropriate Legal Notices must retain the display of the
* "Powered by TimeTrex" logo. If the display of the logo is not reasonably
* feasible for technical reasons, the Appropriate Legal Notices must display
* the words "Powered by TimeTrex".
*
********************************************************************************/
/**
* @package Modules\Policy
*/
class CompanyGenericMapFactory extends Factory {
protected $table = 'company_generic_map';
protected $pk_sequence_name = 'company_generic_map_id_seq'; //PK Sequence name
/**
* @param $name
* @param null $parent
* @return array|null
*/
function _getFactoryOptions( $name, $parent = null ) {
$retval = null;
switch ( $name ) {
case 'object_type':
$retval = [
//Policy Group mapping
90 => 'contributing_pay_code_policy',
100 => 'policy_group_regular_time_policy',
105 => 'schedule_policy_include_regular_policy', //Mapping regular policies to schedule policies.
106 => 'schedule_policy_exclude_regular_policy', //Mapping regular policies to schedule policies.
110 => 'policy_group_over_time_policy',
115 => 'schedule_policy_include_over_time_policy', //Mapping regular policies to schedule policies.
116 => 'schedule_policy_exclude_over_time_policy', //Mapping regular policies to schedule policies.
120 => 'policy_group_premium_policy',
125 => 'schedule_policy_include_premium_policy', //Mapping premium policies to schedule policies.
126 => 'schedule_policy_exclude_premium_policy', //Mapping premium policies to schedule policies.
130 => 'policy_group_round_interval_policy',
140 => 'policy_group_accrual_policy',
150 => 'policy_group_meal_policy',
155 => 'schedule_policy_meal_policy', //Mapping meal policies to schedule policies.
160 => 'policy_group_break_policy',
165 => 'schedule_policy_break_policy', //Mapping break policies to schedule policies.
170 => 'policy_group_absence_policy',
180 => 'policy_group_holiday_policy',
190 => 'policy_group_exception_policy',
200 => 'policy_group_expense_policy',
300 => 'expense_policy_expense_policy',
/*
//Station user mapping
310 => 'station_branch',
320 => 'station_department',
330 => 'station_user_group',
340 => 'station_include_user',
350 => 'station_exclude_user',
//Premium Policy mapping
510 => 'premium_policy_branch',
520 => 'premium_policy_department',
530 => 'premium_policy_job_group',
540 => 'premium_policy_job',
550 => 'premium_policy_job_item_group',
560 => 'premium_policy_job_item',
*/
//Premium Policy mapping
561 => 'premium_policy_punch_tag_group',
562 => 'premium_policy_punch_tag',
//Regular Policy mapping
581 => 'regular_time_policy_branch',
582 => 'regular_time_policy_department',
583 => 'regular_time_policy_job_group',
584 => 'regular_time_policy_job',
585 => 'regular_time_policy_job_item_group',
586 => 'regular_time_policy_job_item',
587 => 'regular_time_policy_punch_tag_group',
588 => 'regular_time_policy_punch_tag',
//Overtime Policy mapping
591 => 'over_time_policy_branch',
592 => 'over_time_policy_department',
593 => 'over_time_policy_job_group',
594 => 'over_time_policy_job',
595 => 'over_time_policy_job_item_group',
596 => 'over_time_policy_job_item',
597 => 'over_time_policy_punch_tag_group',
598 => 'over_time_policy_punch_tag',
//Contributing Shift Policy mapping
610 => 'contributing_shift_policy_branch',
620 => 'contributing_shift_policy_department',
630 => 'contributing_shift_policy_job',
640 => 'contributing_shift_policy_job_group',
650 => 'contributing_shift_policy_job_item',
660 => 'contributing_shift_policy_job_item_group',
690 => 'contributing_shift_policy_holiday_policy',
700 => 'contributing_shift_policy_punch_tag_group',
710 => 'contributing_shift_policy_punch_tag',
//Job user mapping
1010 => 'job_user_branch',
1020 => 'job_user_department',
1030 => 'job_user_group',
1040 => 'job_include_user',
1050 => 'job_exclude_user',
1055 => 'job_user_title',
//Job task mapping
1060 => 'job_job_item_group',
1070 => 'job_include_job_item',
1080 => 'job_exclude_job_item',
1090 => 'qualification_group',
//KPI/Reviews
2010 => 'kpi_group',
2020 => 'kpi_kpi_group',
//Invoice Payment Gateway mapping
3010 => 'payment_gateway_credit_card_type',
3020 => 'payment_gateway_bank_account_type',
//GEOFence
4000 => 'geo_fence_branch',
4010 => 'geo_fence_department',
4020 => 'geo_fence_job',
4030 => 'geo_fence_job_item',
4040 => 'geo_fence_punch_tag',
//RemittanceAgencyEvent Recurring Holidays
5000 => 'remittance_agency_recurring_holiday',
5010 => 'remittance_agency_pay_period_schedule',
//Punch Tag Employee Criteria mapping.
6030 => 'punch_tag_user_group',
6040 => 'punch_tag_include_user',
6050 => 'punch_tag_exclude_user',
//Punch Tag Task Criteria mapping.
6060 => 'punch_tag_job_item_group',
//Punch Tag Punch/Job Criteria mapping.
6090 => 'punch_tag_job_branch',
6100 => 'punch_tag_job_department',
6110 => 'punch_tag_job_group',
6120 => 'punch_tag_job',
6130 => 'punch_tag_job_item_group',
6140 => 'punch_tag_job_item',
6150 => 'punch_tag_user_title',
//Branch Criteria Mapping
7000 => 'branch_user_group',
7010 => 'branch_include_user',
7020 => 'branch_exclude_user',
7030 => 'branch_user_title',
7040 => 'branch_user_default_branch',
7050 => 'branch_user_default_department',
//Department Criteria Mapping
8000 => 'department_user_group',
8010 => 'department_include_user',
8020 => 'department_exclude_user',
8030 => 'department_user_title',
8040 => 'department_user_punch_branch',
8050 => 'department_user_default_department',
];
break;
}
return $retval;
}
/**
* @return bool|mixed
*/
function getCompany() {
return $this->getGenericDataValue( 'company_id' );
}
/**
* @param $value
* @return bool
*/
function setCompany( $value ) {
$value = TTUUID::castUUID( $value );
return $this->setGenericDataValue( 'company_id', $value );
}
/**
* @return int
*/
function getObjectType() {
return (int)$this->getGenericDataValue( 'object_type_id' );
}
/**
* @param $value
* @return bool
*/
function setObjectType( $value ) {
$value = trim( $value );
return $this->setGenericDataValue( 'object_type_id', $value );
}
/**
* @return bool|mixed
*/
function getObjectID() {
return $this->getGenericDataValue( 'object_id' );
}
/**
* @param $value
* @return bool
*/
function setObjectID( $value ) {
$value = trim( $value );
return $this->setGenericDataValue( 'object_id', $value );
}
/**
* @return bool|mixed
*/
function getMapID() {
return $this->getGenericDataValue( 'map_id' );
}
/**
* @param $value
* @return bool
*/
function setMapID( $value ) {
$value = TTUUID::castUUID( $value );
return $this->setGenericDataValue( 'map_id', $value );
}
/**
* @param string $company_id UUID
* @param int $object_type_id
* @param string $object_id UUID
* @param string|string[] $ids UUID
* @param bool $is_new
* @param bool $relaxed_range
* @return bool
*/
static function setMapIDs( $company_id, $object_type_id, $object_id, $ids, $is_new = false, $relaxed_range = false ) {
if ( $company_id == '' ) {
return false;
}
if ( $object_type_id == '' ) {
return false;
}
if ( $object_id == '' ) {
return false;
}
//If IDs is defined as a blank value, and not an array, assume its a blank array and remove all mapped IDs.
if ( $ids == '' ) {
$ids = [];
//return FALSE;
}
if ( !is_array( $ids ) && TTUUID::isUUID( $ids ) ) {
$ids = [ $ids ];
}
//Debug::Arr($ids, 'Object Type ID: '. $object_type_id .' Object ID: '. $object_id .' IDs: ', __FILE__, __LINE__, __METHOD__, 10);
if ( is_array( $ids ) ) {
$ids = array_unique( $ids ); //Make sure the IDs are unique to help avoid duplicates.
$tmp_ids = [];
if ( $is_new == false ) {
//If needed, delete mappings first.
$cgmlf = TTnew( 'CompanyGenericMapListFactory' ); /** @var CompanyGenericMapListFactory $cgmlf */
$cgmlf->getByCompanyIDAndObjectTypeAndObjectID( $company_id, $object_type_id, $object_id );
foreach ( $cgmlf as $obj ) {
$id = $obj->getMapID();
//Debug::text('Object Type ID: '. $object_type_id .' Object ID: '. $obj->getObjectID() .' ID: '. $id, __FILE__, __LINE__, __METHOD__, 10);
//Delete objects that are not selected
//Also check for duplicate IDs and delete them too.
if ( !in_array( $id, $ids ) || in_array( $id, $tmp_ids ) ) {
//Debug::text('Deleting: '. $id, __FILE__, __LINE__, __METHOD__, 10);
$obj->setDeleted( true );
$obj->Save();
} else {
//Save ID's that need to be updated.
//Debug::text('NOT Deleting: '. $id, __FILE__, __LINE__, __METHOD__, 10);
$tmp_ids[] = $id;
}
}
unset( $id, $obj );
}
foreach ( $ids as $id ) {
//if ( $id !== FALSE AND ( $relaxed_range == TRUE OR ( $relaxed_range == FALSE AND ( $id == -1 OR $id > 0 ) ) ) AND !in_array($id, $tmp_ids) ) {
if ( $id !== false && ( $relaxed_range == true || ( $relaxed_range == false && ( TTUUID::isUUID( $id ) && ( $id == TTUUID::getNotExistID() || $id != TTUUID::getZeroID() ) ) ) ) && !in_array( $id, $tmp_ids ) ) {
$cgmf = TTnew( 'CompanyGenericMapFactory' ); /** @var CompanyGenericMapFactory $cgmf */
$cgmf->setCompany( $company_id );
$cgmf->setObjectType( $object_type_id );
$cgmf->setObjectID( $object_id );
$cgmf->setMapId( $id );
$cgmf->Save();
}
}
$cgmlf->removeCache( md5( $company_id . serialize( $object_type_id ) . serialize( $object_id ) ) );
return true;
}
Debug::text( 'No objects to map.', __FILE__, __LINE__, __METHOD__, 10 );
return false;
}
/**
* @return bool
*/
function Validate() {
//
// BELOW: Validation code moved from set*() functions.
//
// Company
if ( $this->getCompany() != TTUUID::getZeroID() ) {
$clf = TTnew( 'CompanyListFactory' ); /** @var CompanyListFactory $clf */
$this->Validator->isResultSetWithRows( 'company',
$clf->getByID( $this->getCompany() ),
TTi18n::gettext( 'Company is invalid' )
);
}
// Object Type
$this->Validator->inArrayKey( 'object_type',
$this->getObjectType(),
TTi18n::gettext( 'Object Type is invalid' ),
$this->getOptions( 'object_type' )
);
// Object ID
$this->Validator->isUUID( 'object_id',
$this->getObjectID(),
TTi18n::gettext( 'Object ID is invalid' )
);
// Map ID
$this->Validator->isUUID( 'map_id',
$this->getMapID(),
TTi18n::gettext( 'Map ID is invalid' )
);
//
// ABOVE: Validation code moved from set*() functions.
//
return true;
}
/**
* @return bool
*/
function postSave() {
$this->removeCache( md5( $this->getCompany() . serialize( $this->getObjectType() ) . serialize( $this->getObjectId() ) ) );
return true;
}
/**
* @param $log_action
* @return bool
*/
function addLog( $log_action ) {
$retval = false;
if ( $this->getObjectType() > 0 ) {
$description = TTi18n::getText( 'Generic Object Mapping' );
switch ( $this->getObjectType() ) {
case 100:
case 110:
case 120:
case 130:
case 140:
case 150:
case 160:
case 170:
case 180:
case 190:
case 200:
switch ( $this->getObjectType() ) {
case 100:
$lf = TTnew( 'RegularTimePolicyListFactory' ); /** @var RegularTimePolicyListFactory $lf */
$lf->getById( $this->getMapId() );
if ( $lf->getRecordCount() > 0 ) {
$description = TTi18n::getText( 'Regular Time Policy' ) . ': ' . $lf->getCurrent()->getName();
}
break;
case 110:
$lf = TTnew( 'OverTimePolicyListFactory' ); /** @var OverTimePolicyListFactory $lf */
$lf->getById( $this->getMapId() );
if ( $lf->getRecordCount() > 0 ) {
$description = TTi18n::getText( 'Overtime Policy' ) . ': ' . $lf->getCurrent()->getName();
}
break;
case 120:
$lf = TTnew( 'PremiumPolicyListFactory' ); /** @var PremiumPolicyListFactory $lf */
$lf->getById( $this->getMapId() );
if ( $lf->getRecordCount() > 0 ) {
$description = TTi18n::getText( 'Premium Policy' ) . ': ' . $lf->getCurrent()->getName();
}
break;
case 130:
$lf = TTnew( 'RoundIntervalPolicyListFactory' ); /** @var RoundIntervalPolicyListFactory $lf */
$lf->getById( $this->getMapId() );
if ( $lf->getRecordCount() > 0 ) {
$description = TTi18n::getText( 'Rounding Policy' ) . ': ' . $lf->getCurrent()->getName();
}
break;
case 140:
$lf = TTnew( 'AccrualPolicyListFactory' ); /** @var AccrualPolicyListFactory $lf */
$lf->getById( $this->getMapId() );
if ( $lf->getRecordCount() > 0 ) {
$description = TTi18n::getText( 'Accrual Policy' ) . ': ' . $lf->getCurrent()->getName();
}
break;
case 150:
$lf = TTnew( 'MealPolicyListFactory' ); /** @var MealPolicyListFactory $lf */
$lf->getById( $this->getMapId() );
if ( $lf->getRecordCount() > 0 ) {
$description = TTi18n::getText( 'Meal Policy' ) . ': ' . $lf->getCurrent()->getName();
}
break;
case 160:
$lf = TTnew( 'BreakPolicyListFactory' ); /** @var BreakPolicyListFactory $lf */
$lf->getById( $this->getMapId() );
if ( $lf->getRecordCount() > 0 ) {
$description = TTi18n::getText( 'Break Policy' ) . ': ' . $lf->getCurrent()->getName();
}
break;
case 170:
$lf = TTnew( 'AbsencePolicyListFactory' ); /** @var AbsencePolicyListFactory $lf */
$lf->getById( $this->getMapId() );
if ( $lf->getRecordCount() > 0 ) {
$description = TTi18n::getText( 'Absence Policy' ) . ': ' . $lf->getCurrent()->getName();
}
break;
case 180:
$lf = TTnew( 'HolidayPolicyListFactory' ); /** @var HolidayPolicyListFactory $lf */
$lf->getById( $this->getMapId() );
if ( $lf->getRecordCount() > 0 ) {
$description = TTi18n::getText( 'Holiday Policy' ) . ': ' . $lf->getCurrent()->getName();
}
break;
case 190: //Not handled with generic mapping currently.
$lf = TTnew( 'ExceptionPolicyListFactory' ); /** @var ExceptionPolicyListFactory $lf */
$lf->getById( $this->getMapId() );
if ( $lf->getRecordCount() > 0 ) {
$description = TTi18n::getText( 'Exception Policy' ) . ': ' . $lf->getCurrent()->getName();
}
break;
case 200:
$lf = TTnew( 'ExpensePolicyListFactory' ); /** @var ExpensePolicyListFactory $lf */
$lf->getById( $this->getMapID() );
if ( $lf->getRecordCount() > 0 ) {
$description = TTi18n::getText( 'Expense Policy' ) . ': ' . $lf->getCurrent()->getName();
}
break;
}
Debug::text( 'Action: ' . $log_action . ' MapID: ' . $this->getMapID() . ' ObjectID: ' . $this->getObjectID() . ' Description: ' . $description . ' Record Count: ' . $lf->getRecordCount(), __FILE__, __LINE__, __METHOD__, 10 );
$retval = TTLog::addEntry( $this->getObjectId(), $log_action, $description, null, 'policy_group' );
break;
case 300:
$lf = TTnew( 'ExpensePolicyListFactory' ); /** @var ExpensePolicyListFactory $lf */
$lf->getById( $this->getMapID() );
if ( $lf->getRecordCount() > 0 ) {
$description = TTi18n::getText( 'Expense Policy' ) . ': ' . $lf->getCurrent()->getName();
}
Debug::text( 'Action: ' . $log_action . ' MapID: ' . $this->getMapID() . ' ObjectID: ' . $this->getObjectID() . ' Description: ' . $description . ' Record Count: ' . $lf->getRecordCount(), __FILE__, __LINE__, __METHOD__, 10 );
$retval = TTLog::addEntry( $this->getObjectId(), $log_action, $description, null, 'expense_policy' );
break;
case 165:
$lf = TTnew( 'BreakPolicyListFactory' ); /** @var BreakPolicyListFactory $lf */
$lf->getById( $this->getMapId() );
if ( $lf->getRecordCount() > 0 ) {
$description = TTi18n::getText( 'Break Policy' ) . ': ' . $lf->getCurrent()->getName();
}
Debug::text( 'Action: ' . $log_action . ' MapID: ' . $this->getMapID() . ' ObjectID: ' . $this->getObjectID() . ' Description: ' . $description . ' Record Count: ' . $lf->getRecordCount(), __FILE__, __LINE__, __METHOD__, 10 );
$retval = TTLog::addEntry( $this->getObjectId(), $log_action, $description, null, 'schedule_policy' );
break;
//Job user mapping
case 1010: //'job_user_branch',
$lf = TTnew( 'BranchListFactory' ); /** @var BranchListFactory $lf */
$lf->getById( $this->getMapId() );
if ( $lf->getRecordCount() > 0 ) {
$description = TTi18n::getText( 'Branch' ) . ': ' . $lf->getCurrent()->getName();
}
Debug::text( 'Action: ' . $log_action . ' MapID: ' . $this->getMapID() . ' ObjectID: ' . $this->getObjectID() . ' Description: ' . $description . ' Record Count: ' . $lf->getRecordCount(), __FILE__, __LINE__, __METHOD__, 10 );
$retval = TTLog::addEntry( $this->getObjectId(), $log_action, $description, null, 'job_user_branch' );
break;
case 1020: // => 'job_user_department',
$lf = TTnew( 'DepartmentListFactory' ); /** @var DepartmentListFactory $lf */
$lf->getById( $this->getMapId() );
if ( $lf->getRecordCount() > 0 ) {
$description = TTi18n::getText( 'Department' ) . ': ' . $lf->getCurrent()->getName();
}
Debug::text( 'Action: ' . $log_action . ' MapID: ' . $this->getMapID() . ' ObjectID: ' . $this->getObjectID() . ' Description: ' . $description . ' Record Count: ' . $lf->getRecordCount(), __FILE__, __LINE__, __METHOD__, 10 );
$retval = TTLog::addEntry( $this->getObjectId(), $log_action, $description, null, 'job_user_department' );
break;
case 1030: // => 'job_user_group',
$lf = TTnew( 'UserGroupListFactory' ); /** @var UserGroupListFactory $lf */
$lf->getById( $this->getMapId() );
if ( $lf->getRecordCount() > 0 ) {
$description = TTi18n::getText( 'Employee Group' ) . ': ' . $lf->getCurrent()->getName();
}
Debug::text( 'Action: ' . $log_action . ' MapID: ' . $this->getMapID() . ' ObjectID: ' . $this->getObjectID() . ' Description: ' . $description . ' Record Count: ' . $lf->getRecordCount(), __FILE__, __LINE__, __METHOD__, 10 );
$retval = TTLog::addEntry( $this->getObjectId(), $log_action, $description, null, 'job_user_group' );
break;
case 1090:
$lf = TTnew( 'QualificationGroupListFactory' ); /** @var QualificationGroupListFactory $lf */
$lf->getById( $this->getMapId() );
if ( $lf->getRecordCount() > 0 ) {
$description = TTi18n::getText( 'Qualification Group' ) . ': ' . $lf->getCurrent()->getName();
}
Debug::text( 'Action: ' . $log_action . ' MapID: ' . $this->getMapID() . ' ObjectID: ' . $this->getObjectID() . ' Description: ' . $description . ' Record Count: ' . $lf->getRecordCount(), __FILE__, __LINE__, __METHOD__, 10 );
$retval = TTLog::addEntry( $this->getObjectId(), $log_action, $description, null, 'qualification_group' );
break;
case 2010:
case 2020:
switch ( $this->getObjectType() ) {
case 2010:
$table_name = 'kpi_group';
break;
case 2020:
$table_name = 'kpi';
break;
}
$lf = TTnew( 'KPIGroupListFactory' ); /** @var KPIGroupListFactory $lf */
$lf->getById( $this->getMapId() );
if ( $lf->getRecordCount() > 0 ) {
$description = TTi18n::getText( 'KPI Group' ) . ': ' . $lf->getCurrent()->getName();
}
if ( $this->getMapID() == TTUUID::getNotExistID() ) {
$description = TTi18n::getText( 'KPI Group' ) . ': All';
}
if ( $this->getMapID() == TTUUID::getZeroID() ) {
$description = TTi18n::getText( 'KPI Group' ) . ': Root';
}
Debug::text( 'Action: ' . $log_action . ' MapID: ' . $this->getMapID() . ' ObjectID: ' . $this->getObjectID() . ' Description: ' . $description . ' Record Count: ' . $lf->getRecordCount(), __FILE__, __LINE__, __METHOD__, 10 );
$retval = TTLog::addEntry( $this->getObjectId(), $log_action, $description, null, $table_name );
break;
case 1040: // => 'job_include_user',
case 1050: // => 'job_exclude_user',
switch ( $this->getObjectType() ) {
case 1040:
$table_name = 'job_include_user';
$type = TTi18n::getText( 'Include' );
break;
case 1050:
$table_name = 'job_exclude_user';
$type = TTi18n::getText( 'Exclude' );
break;
}
$lf = TTnew( 'UserListFactory' ); /** @var UserListFactory $lf */
$lf->getById( $this->getMapId() );
if ( $lf->getRecordCount() > 0 ) {
$description = $type . ' ' . TTi18n::getText( 'Employee' ) . ': ' . $lf->getCurrent()->getFullName();
}
Debug::text( 'Action: ' . $log_action . ' MapID: ' . $this->getMapID() . ' ObjectID: ' . $this->getObjectID() . ' Description: ' . $description . ' Record Count: ' . $lf->getRecordCount(), __FILE__, __LINE__, __METHOD__, 10 );
$retval = TTLog::addEntry( $this->getObjectId(), $log_action, $description, null, $table_name );
break;
//Job task mapping
case 1060: // => 'job_job_item_group',
$lf = TTnew( 'JobItemGroupListFactory' ); /** @var JobItemGroupListFactory $lf */
$lf->getById( $this->getMapId() );
if ( $lf->getRecordCount() > 0 ) {
$description = TTi18n::getText( 'Task Group' ) . ': ' . $lf->getCurrent()->getName();
}
Debug::text( 'Action: ' . $log_action . ' MapID: ' . $this->getMapID() . ' ObjectID: ' . $this->getObjectID() . ' Description: ' . $description . ' Record Count: ' . $lf->getRecordCount(), __FILE__, __LINE__, __METHOD__, 10 );
$retval = TTLog::addEntry( $this->getObjectId(), $log_action, $description, null, 'job_job_item_group' );
break;
case 1070: // => 'job_include_job_item',
case 1080: // => 'job_exclude_job_item',
switch ( $this->getObjectType() ) {
case 1070:
$table_name = 'job_include_job_item';
$type = TTi18n::getText( 'Include' );
break;
case 1080:
$table_name = 'job_exclude_job_item';
$type = TTi18n::getText( 'Exclude' );
break;
}
$lf = TTnew( 'JobItemListFactory' ); /** @var JobItemListFactory $lf */
$lf->getById( $this->getMapId() );
if ( $lf->getRecordCount() > 0 ) {
$description = $type . ' ' . TTi18n::getText( 'Task' ) . ': ' . $lf->getCurrent()->getName();
}
Debug::text( 'Action: ' . $log_action . ' MapID: ' . $this->getMapID() . ' ObjectID: ' . $this->getObjectID() . ' Description: ' . $description . ' Record Count: ' . $lf->getRecordCount(), __FILE__, __LINE__, __METHOD__, 10 );
$retval = TTLog::addEntry( $this->getObjectId(), $log_action, $description, null, $table_name );
break;
case 3010: // => 'payment_gateway_credit_card_type',
$table_name = 'payment_gateway_credit_card_type';
$cpf = TTnew( 'ClientPaymentFactory' ); /** @var ClientPaymentFactory $cpf */
$description = TTi18n::getText( 'Credit Card Type' ) . ': ' . Option::getByKey( $this->getMapId(), $cpf->getOptions( 'credit_card_type' ) );
Debug::text( 'Action: ' . $log_action . ' MapID: ' . $this->getMapID() . ' ObjectID: ' . $this->getObjectID() . ' Description: ' . $description, __FILE__, __LINE__, __METHOD__, 10 );
$retval = TTLog::addEntry( $this->getObjectId(), $log_action, $description, null, $table_name );
break;
case 3020: // => 'payment_gateway_bank_account_type',
$table_name = 'payment_gateway_bank_account_type';
$cpf = TTnew( 'ClientPaymentFactory' ); /** @var ClientPaymentFactory $cpf */
$description = TTi18n::getText( 'Bank Account Type' ) . ': ' . Option::getByKey( $this->getMapId(), $cpf->getOptions( 'bank_account_type' ) );
Debug::text( 'Action: ' . $log_action . ' MapID: ' . $this->getMapID() . ' ObjectID: ' . $this->getObjectID() . ' Description: ' . $description, __FILE__, __LINE__, __METHOD__, 10 );
$retval = TTLog::addEntry( $this->getObjectId(), $log_action, $description, null, $table_name );
break;
case 4000:
case 4010:
case 4020:
case 4030:
case 4040:
$lf = TTnew( 'GEOFenceListFactory' ); /** @var GEOFenceListFactory $lf */
$lf->getById( $this->getMapID() );
if ( $lf->getRecordCount() > 0 ) {
$description = TTi18n::getText( 'GEO Fence' ) . ': ' . $lf->getCurrent()->getName();
}
Debug::text( 'Action: ' . $log_action . ' MapID: ' . $this->getMapID() . ' ObjectID: ' . $this->getObjectID() . ' Description: ' . $description . ' Record Count: ' . $lf->getRecordCount(), __FILE__, __LINE__, __METHOD__, 10 );
$retval = TTLog::addEntry( $this->getObjectId(), $log_action, $description, null, 'GEO Fence' );
break;
}
}
return $retval;
}
}
?>