Class X2DuplicateBehavior
Behavior to provide requisite methods for checking for potential duplicate
records. Currently only implemented in Contacts and Accounts.
-
CComponent
-
CBehavior
implements
IBehavior
-
CModelBehavior
-
CActiveRecordBehavior
-
X2DuplicateBehavior
Methods summary
public
boolean
|
#
checkForDuplicates( )
Returns whether or not any duplicate records exist in the database.
Returns whether or not any duplicate records exist in the database.
Commonly used as a gate in an if statement for other duplicate checking
functionality.
Returns
boolean
|
public
CActiveDataProvider
|
#
getDuplicates( boolean $getAll = false, mixed $strict = false )
Return a list of potential duplicate records.
Return a list of potential duplicate records.
Capts at 5 records unless a special parameter is provided so as to prevent
possible server crashes from attempting to render large numbers of records.
Parameters
- $getAll
boolean $getAll Whether to return all records or just 5
- $strict
Returns
CActiveDataProvider
|
public
integer
|
#
countDuplicates( )
Returns the total number of duplicates found (unrestricted by the limit on
getDuplicates)
Returns the total number of duplicates found (unrestricted by the limit on
getDuplicates)
Returns
integer
|
public
|
#
markAsDuplicate( string $action = 'hide' )
Mark a record as a duplicate.
Mark a record as a duplicate.
Set all relevant fields to the proper values for marking a record as
duplicate. A duplicate record is private and assigned to 'Anyone', and if there
are options for "doNotCall" and "doNotEmail" they need to be turned on.
Alternatively, the "delete" string can be passed to delete the record instead of
hiding it. This functionality exists in case some future code requires more
things to be done on deleting duplicates.
Parameters
|
public
|
#
afterSave( CEvent $event )
Reset dupeCheck field if duplicate defining fields are changed.
Reset dupeCheck field if duplicate defining fields are changed.
Records have a concept of "duplicate-defining fields" which are the fields
that are checked when searching for duplicates (name, email, etc.). If one of
those fields is changed in an update, the dupeCheck parameter needs to be reset
and the record needs to be checked for possible duplicates again.
Parameters
Overrides
CActiveRecordBehavior::afterSave()
|
public
|
#
duplicateChecked( )
Update the dupeCheck field to reflect that a record has been checked.
Update the dupeCheck field to reflect that a record has been checked.
Set the value in the current record and use updateByPk so that no validation
or behaviors from afterSave are called.
|
public
|
#
resetDuplicateField( )
Reset the dupeCheck field to its unchecked state.
Reset the dupeCheck field to its unchecked state.
|
public
|
#
hideDuplicates( )
Hide all potential duplicate records.
Hide all potential duplicate records.
This is equivalent to a mass version of "markAsDuplicate" but it affects
records other than the currenly loaded one.
|
public
|
#
deleteDuplicates( )
Delete all potential duplicate records.
Delete all potential duplicate records.
|
Methods inherited from CActiveRecordBehavior
afterDelete(),
afterFind(),
beforeCount(),
beforeDelete(),
beforeFind(),
beforeSave(),
events()
|
Methods inherited from CModelBehavior
afterConstruct(),
afterValidate(),
beforeValidate()
|
Methods inherited from CBehavior
attach(),
detach(),
getEnabled(),
getOwner(),
setEnabled()
|
Methods inherited from CComponent
__call(),
__get(),
__isset(),
__set(),
__unset(),
asa(),
attachBehavior(),
attachBehaviors(),
attachEventHandler(),
canGetProperty(),
canSetProperty(),
detachBehavior(),
detachBehaviors(),
detachEventHandler(),
disableBehavior(),
disableBehaviors(),
enableBehavior(),
enableBehaviors(),
evaluateExpression(),
getEventHandlers(),
hasEvent(),
hasEventHandler(),
hasProperty(),
raiseEvent()
|
Magic properties inherited from CActiveRecordBehavior
$owner
|
Magic properties inherited from CBehavior
$enabled
|