Skip to content

Commit

Permalink
Issue #1449: Normal search seems to work
Browse files Browse the repository at this point in the history
  • Loading branch information
stefanhaerter committed Jan 25, 2022
1 parent 279ab23 commit 729c968
Show file tree
Hide file tree
Showing 2 changed files with 16 additions and 3 deletions.
14 changes: 13 additions & 1 deletion Kernel/Modules/CustomerDynamicFieldDBSearch.pm
Original file line number Diff line number Diff line change
Expand Up @@ -46,6 +46,9 @@ sub Run {
my $TicketID = $ParamObject->GetParam( Param => 'TicketID' ) || '';
my $Search = $ParamObject->GetParam( Param => 'Term' ) || '';
my $Identifier = $ParamObject->GetParam( Param => 'Identifier' ) || '';
my $ActivityDialogID = $ParamObject->GetParam( Param => 'ActivityDialogID') || '';

print STDERR "CustomerDynamicFieldDBSearch.pm, L.51: " . $ActivityDialogID . "\n";

# Put all ticket related data in Param, Owner, Responsible are not selectable in
# customer interface, CustomerIserID and CustomerID are fixed.
Expand Down Expand Up @@ -177,6 +180,15 @@ sub Run {
# Get the pure DynamicField name without prefix
$DynamicFieldName = substr( $DynamicFieldName, length 'DynamicField_' );

# In Process Context, ActivityDialogID has to be stripped from DynamicFieldName
my $DynamicFieldNameLong = $DynamicFieldName;
if ( defined $ActivityDialogID && $ActivityDialogID ne '' ) {
$DynamicFieldName = substr( $DynamicFieldName, 0, index( $DynamicFieldName, '_' . $ActivityDialogID ) );
}

print STDERR "CustomerDynamicFieldDBSearch.pm, L.189: " . $DynamicFieldNameLong . "\n";
print STDERR "CustomerDynamicFieldDBSearch.pm, L.190: " . $DynamicFieldName . "\n";

# get the dynamic field value for the current ticket
my $DynamicFieldConfig = $Kernel::OM->Get('Kernel::System::DynamicField')->DynamicFieldGet(
Name => $DynamicFieldName,
Expand Down Expand Up @@ -230,7 +242,7 @@ sub Run {
}

# result caching
my $CacheKey = $DynamicFieldName . $Search;
my $CacheKey = $DynamicFieldNameLong . $Search;
my $CacheTTL = $DynamicFieldConfig->{Config}->{CacheTTL};
my $CacheType = 'DynamicFieldDB';
my $CacheObject = $Kernel::OM->Get('Kernel::System::Cache');
Expand Down
5 changes: 3 additions & 2 deletions var/httpd/htdocs/js/Core.Agent.DynamicFieldDBSearch.js
Original file line number Diff line number Diff line change
Expand Up @@ -199,7 +199,7 @@ Core.Agent.DynamicFieldDBSearch = (function(TargetNS) {
// TODO Think about case when closest ActivityDialogEntityID element doesn't belong to current DynamicField
var ActivityDialogID = '';
var ActivityDialogElem = $('[name="ActivityDialogEntityID"]').closest('input');
if ( DynamicFieldName.indexOf(ActivityDialogElem.val().substr('ActivityDialog-'.length)) != -1 ) {
if ( ActivityDialogElem.length && DynamicFieldName.indexOf(ActivityDialogElem.val().substr('ActivityDialog-'.length)) != -1 ) {

ActivityDialogID = ActivityDialogElem.val().substr('ActivityDialog-'.length);

Expand Down Expand Up @@ -278,6 +278,8 @@ Core.Agent.DynamicFieldDBSearch = (function(TargetNS) {
QueryString += ";ActivityDialogID="+encodeURIComponent(ActivityDialogID);
QueryString += ";TicketID="+encodeURIComponent(TicketID);

console.log(QueryString);

URL = Core.Config.Get('Baselink');

// if an old ajax request is already running, stop the old request and start the new one
Expand Down Expand Up @@ -587,7 +589,6 @@ Core.Agent.DynamicFieldDBSearch = (function(TargetNS) {
Action: FrontendInterface,
Subaction: 'AJAXGetDynamicFieldConfig',
DynamicFieldName: Field,
ActivityDialogID: ActivityDialogID
};

Core.AJAX.FunctionCall(URL, Data, function (Response) {
Expand Down

0 comments on commit 729c968

Please sign in to comment.