summaryrefslogtreecommitdiff
path: root/rt/share
diff options
context:
space:
mode:
authormark <mark>2012-02-17 02:35:27 +0000
committermark <mark>2012-02-17 02:35:27 +0000
commit156b1169a814021cfb5d546fb18218dedba1742d (patch)
treed6734a928e8c9d383114834e420ce8d997b8eccf /rt/share
parent90b57490d16e693d5c179a9a4695af7e9b1c9bff (diff)
search tickets by customer advertising source, #16490
Diffstat (limited to 'rt/share')
-rw-r--r--rt/share/html/Callbacks/SearchCustomerFields/Search/Elements/PickBasics/Default13
-rw-r--r--rt/share/html/Elements/RT__Ticket/ColumnMap13
-rw-r--r--rt/share/html/Elements/SelectCustomerReferral17
-rw-r--r--rt/share/html/Search/Elements/BuildFormatString2
4 files changed, 44 insertions, 1 deletions
diff --git a/rt/share/html/Callbacks/SearchCustomerFields/Search/Elements/PickBasics/Default b/rt/share/html/Callbacks/SearchCustomerFields/Search/Elements/PickBasics/Default
index abbafbcf1..369912b47 100644
--- a/rt/share/html/Callbacks/SearchCustomerFields/Search/Elements/PickBasics/Default
+++ b/rt/share/html/Callbacks/SearchCustomerFields/Search/Elements/PickBasics/Default
@@ -39,6 +39,19 @@ push @$Conditions,
Path => '/Elements/SelectCustomerTag',
},
},
+ {
+ Name => 'Refnum',
+ Field => 'Advertising Source',
+ Op => {
+ Type => 'component',
+ Path => '/Elements/SelectBoolean',
+ Arguments => { TrueVal=> '=', FalseVal => '!=' },
+ },
+ Value => {
+ Type => 'component',
+ Path => '/Elements/SelectCustomerReferral',
+ },
+ },
;
</%init>
<%ARGS>
diff --git a/rt/share/html/Elements/RT__Ticket/ColumnMap b/rt/share/html/Elements/RT__Ticket/ColumnMap
index cd38dcb7b..cd6ca1fe1 100644
--- a/rt/share/html/Elements/RT__Ticket/ColumnMap
+++ b/rt/share/html/Elements/RT__Ticket/ColumnMap
@@ -391,6 +391,19 @@ $COLUMN_MAP = {
@return;
},
},
+ AdvertisingSource => {
+ title => 'Advertising Source',
+ attribute => 'Customer.Referral',
+ value => sub {
+ my $Ticket = shift;
+ my @return = ();
+ foreach my $c (ticket_cust_resolvers($Ticket)) {
+ push @return, $c->Referral, \'<BR>';
+ }
+ pop @return;
+ @return;
+ },
+ },
};
sub ticket_cust_resolvers {
diff --git a/rt/share/html/Elements/SelectCustomerReferral b/rt/share/html/Elements/SelectCustomerReferral
new file mode 100644
index 000000000..84191f82b
--- /dev/null
+++ b/rt/share/html/Elements/SelectCustomerReferral
@@ -0,0 +1,17 @@
+% return if ($RT::URI::freeside::IntegrationType ne 'Internal');
+<select name="<%$Name%>">
+% if ($ShowNullOption) {
+ <option value="">-</option>
+% }
+% for my $referral (qsearch('part_referral', {'disabled' => ''})) {
+ <option value="<%$referral->refnum%>" <%
+ $referral->refnum == $Default||'' ? 'selected' : ''%>
+ ><%$referral->referral%></option>
+% }
+</select>
+<%init></%init>
+<%args>
+$ShowNullOption => 1
+$Name => undef
+$Default => 0
+</%args>
diff --git a/rt/share/html/Search/Elements/BuildFormatString b/rt/share/html/Search/Elements/BuildFormatString
index dc07c683b..f77c8da84 100644
--- a/rt/share/html/Search/Elements/BuildFormatString
+++ b/rt/share/html/Search/Elements/BuildFormatString
@@ -72,7 +72,7 @@ $CurrentDisplayColumns => undef
my @fields = qw(
id QueueName Subject
- Customer Agent CustomerClass CustomerTags
+ Customer Agent CustomerClass CustomerTags AdvertisingSource
Status ExtendedStatus UpdateStatus
Type