Kayako logo
Modifications & Addon Releases Modification guides and addons are posted here to share with the community. Do not post requests in here!

Notices

Reply
 
LinkBack Thread Tools Search this Thread Rating: Thread Rating: 8 votes, 5.00 average. Display Modes
  (#1) Old
Matthew Offline
Member
 
Matthew's Avatar
 
Posts: 195
Join Date: Oct 2007
Location: Jakarta, Indonesia
Client Ticket List Mods (new & revisited) - 01-10-2008, 12:50 PM

Jemrada/themactep's Client Side Ticket Search & Filter mods were great ideas; these features should have been in Kayako from the start. Otherwise, how do you manage a client ticket list that begins to span more than a few pages? I got the ticket search working relatively painlessly, but the status filter didn't work for me at the time and I left it out.

At some point one of our managers asked if it were possible for clients to be able to see the ticket due date in their ticket list. Eventually, while working on this project, I decided to revisit themactep's hacks.

The result is this package, which I am bundling together because 1) I think you'll want them all, and 2) I'm far too busy/lazy to separate them into separate hacks.

Here's what I've done:
  • Added a Due column to the ticket list, which displays the duetime value seen in the Staff CP. I make it perform a few simple formatting tricks for overdue and soon-to-be-overdue tickets. In the process, I rearranged the ticket columns and (IMHO) made the whole ticket list easier to read.
  • Fixed themactep's Ticket Status Filter, integrating it more aesthetically into the page, sorting the list alphabetically, making pagination follow the filter, and making the filter 'stick' between column sorts
  • Integrated themactep's Ticket Search better into the nav bar. I gave these changes in the original thread, but I've included them here.
  • Added language strings for internationalization, rather than hard-coded text.
Caveat 1: this for SupportSuite 3.11.02 stable. I believe the templates can be used up to 3.30.02, but there might be a few changes in the client_tickets.php. Your best bet is to use some kind of comparison app to hilite the changes in the file and templates.

Caveat 2: Don't come crying to me if you break your Kayako installation. Use at your own risk! That being said, if I've released this package with errors, I will do my best to correct them and re-post.

Enjoy, or make it better!
Attached Images
File Type: png Ticket List Screenshot.png (97.1 KB, 164 views)
Attached Files
File Type: zip Client Ticket List Mods 1.12.zip (147.1 KB, 45 views)


Matthew Arciniega
+ Free: Ticket List & Search Mods
| Dept. Display Names
+ Free: (Almost) Perfect Outlook/HTML Tickets
+ Tutorials: SLA System Explained
| Using Template Groups
Kayako v3.20.02 | PHP: 5.2.6 | MySQL: 5.0.58 | CentOS 4

Last edited by Matthew; 22-10-2008 at 04:15 AM. Reason: Fixes: search now restricted to manager's own group
   
Reply With Quote
  (#2) Old
Dewak Offline
Member
 
Dewak's Avatar
 
Posts: 145
Join Date: Feb 2008
01-10-2008, 09:24 PM

Nice one Matthew, the ticket list looks neat!


Andres Berdugo
Email & MSN: andres[at]dewak.com
Skype: andres.dewak
Dewak: Kayako Development, Consultancy and Support
http://www.dewak.com
   
Reply With Quote
  (#3) Old
craigbrass Offline
Senior Member
 
Posts: 5,762
Join Date: Jun 2005
Location: Cumbria, UK
02-10-2008, 09:38 AM

That looks really nice. I really hope Kayako implements these features out of the box in V4.


Craig Brass - Kayako Forum Squatter (Note: I am NOT a staff member)

Icon Headquarters - Its Elixir - Web2Messenger
   
Reply With Quote
  (#4) Old
mopa Offline
Member
 
mopa's Avatar
 
Posts: 146
Join Date: May 2007
Location: Denmark
02-10-2008, 02:01 PM

This is a "Must have"..!

It actually only shows tickets for the specific user - I've been waiting for this - SUPER

I've "installed" it on my test site however I can't seem to get any results on the search for message details. By message details it is supposed to be the actual contest in a ticket right?

Also the sort tickets still show the options NON-alphabetically - is there no way to fix this minor detail?


Kayako: 3.11.01 | PHP: 5.2.3 | MySQL: 5.0.41 | Windows 2003 Server

Last edited by mopa; 02-10-2008 at 02:03 PM.
   
Reply With Quote
  (#5) Old
Matthew Offline
Member
 
Matthew's Avatar
 
Posts: 195
Join Date: Oct 2007
Location: Jakarta, Indonesia
02-10-2008, 07:33 PM

Quote:
Originally Posted by mopa View Post
This is a "Must have"..!

It actually only shows tickets for the specific user - I've been waiting for this - SUPER

I've "installed" it on my test site however I can't seem to get any results on the search for message details. By message details it is supposed to be the actual contest in a ticket right?

Also the sort tickets still show the options NON-alphabetically - is there no way to fix this minor detail?
Thanks for the kind words, guys.

Mopa, you were right about the search bug. It seems that Jemrada's SQL query did not account for the `userid` column appearing in several different tables, so the query was failing due to an ambiguous reference. This is now fixed.

I also added a "feature" (on by default) to sort the Status drop-down list alphabetically. Hope you like it. This was as easy as having the array built using the status title as a key, and then applying ksort(). If you want the statuses sorted the old way, just comment out that line of code.

I've upload the changes to my original post. Only search.php and client_tickets.php are affected.


Matthew Arciniega
+ Free: Ticket List & Search Mods
| Dept. Display Names
+ Free: (Almost) Perfect Outlook/HTML Tickets
+ Tutorials: SLA System Explained
| Using Template Groups
Kayako v3.20.02 | PHP: 5.2.6 | MySQL: 5.0.58 | CentOS 4
   
Reply With Quote
  (#6) Old
mopa Offline
Member
 
mopa's Avatar
 
Posts: 146
Join Date: May 2007
Location: Denmark
03-10-2008, 09:50 AM

Freakin' Super - I love this mod. Thanks a billion Matthew.


Kayako: 3.11.01 | PHP: 5.2.3 | MySQL: 5.0.41 | Windows 2003 Server
   
Reply With Quote
  (#7) Old
Hawkwing Offline
Member
 
Posts: 97
Join Date: Oct 2005
06-10-2008, 08:46 AM

Hi. testing this at my testserver and I found out that the ticket id search doesnt work properly. I have sequential (1,2,3....) but when I search for 4 i get the random id (OOI-280731 (0 replies) Is there anything I can do in the code to correct this?
   
Reply With Quote
  (#8) Old
Matthew Offline
Member
 
Matthew's Avatar
 
Posts: 195
Join Date: Oct 2007
Location: Jakarta, Indonesia
06-10-2008, 09:00 AM

Quote:
Originally Posted by Hawkwing View Post
Hi. testing this at my testserver and I found out that the ticket id search doesnt work properly. I have sequential (1,2,3....) but when I search for 4 i get the random id (OOI-280731 (0 replies) Is there anything I can do in the code to correct this?
I haven't tested on sequential ticket ID's, but it works like a charm on random ID's. I can enter 1, 2, 3, ... all characters in the ID, and all the results are valid.

Hopefully, someone else using sequential ID's can confirm.

I find it mildly inconvenient to have to select the ticket field for searching; I'm considering modifying this so that is just searches in all fields.


Matthew Arciniega
+ Free: Ticket List & Search Mods
| Dept. Display Names
+ Free: (Almost) Perfect Outlook/HTML Tickets
+ Tutorials: SLA System Explained
| Using Template Groups
Kayako v3.20.02 | PHP: 5.2.6 | MySQL: 5.0.58 | CentOS 4
   
Reply With Quote
  (#9) Old
keithsmith Offline
New Member
 
Posts: 18
Join Date: Sep 2007
Location: Pennsylvania
Set to manager - 09-10-2008, 06:03 PM

I read in your post here that it now restricts the user to only their tickets. While the version I have installed lets them search for tickets not made by them when one goes to click on the link to the ticket not in their department or own by someone else, it will not display and say page not found etc.

When I make them a manager in the user group rather than a user then they can search within the user group of the department that is assigned to a user group. This is valuable if we are using the client side to place tickets in and a customer calls in the user must see all the tickets and be able to find them within the same department and user the user interface rather than staff. If I update to this version, if they are set to a manger will they still be able to see all the tickets in the department

THANKS!
K


Keith Smith
Comcast Cable
Central PA Region
   
Reply With Quote
  (#10) Old
judgepg Offline
New Member
 
Posts: 4
Join Date: Jul 2008
search.php against all groups - 10-10-2008, 03:47 AM

Matthew,

First of all, a great job on this script. A welcome enhancement to the product suite.

I have one concern. When using the searching functionality, it appears that keyword searching finds tickets across all groups, if the user is a manager.

So, if members in GroupA, GroupB, and GroupC have tickets, and I am a manager-user for GroupA. I can search across all tickets in either group. Although if I click-through I will get the permission denied error if the ticket is not in my group, I am thinking that the result set shouldn't appear in the first place.

I am speculating the issue may lie in the search.php specifically:

$limit_to_recent_user = ($_SWIFT["user"]["ismanager"] == 1) ? '' : 'AND `'.TABLE_PREFIX.'tickets`.`userid`='. intval($_SWIFT["user"]["userid"]);

The second condition of this statement will in fact search only in tickets that for which the user is the owner of, provided the user is not a manager. The first condition (i.e., that I am a manager) seems to search against tickets in all groups.

Any thoughts how this query could be modified to show only those tickets in a particular group?

Thanks again for this valuable addon.
   
Reply With Quote
  (#11) Old
lslavick Offline
New Member
 
Posts: 8
Join Date: Apr 2008
17-10-2008, 06:45 PM

Is there any way to use this on the hosted version?
   
Reply With Quote
  (#12) Old
supportskins Offline
Senior Member
 
supportskins's Avatar
 
Posts: 3,858
Join Date: Aug 2006
Location: Mumbai, India
17-10-2008, 10:12 PM

Quote:
Is there any way to use this on the hosted version?
No you cannot use this mod for hosted solution.



Professional and Affordable Kayako Skins - Specialists in Kayako Skinning & Customization - Professional Paid Support
Our Skins and Services - http://www.supportskins.com/store/
SupportSkins.com - http://www.supportskins.com/
   
Reply With Quote
  (#13) Old
cbentkowski Offline
New Member
 
Posts: 1
Join Date: Oct 2008
Location: Norman, OK
21-10-2008, 10:16 PM

Quote:
Originally Posted by judgepg View Post
Matthew,

First of all, a great job on this script. A welcome enhancement to the product suite.

I have one concern. When using the searching functionality, it appears that keyword searching finds tickets across all groups, if the user is a manager.

So, if members in GroupA, GroupB, and GroupC have tickets, and I am a manager-user for GroupA. I can search across all tickets in either group. Although if I click-through I will get the permission denied error if the ticket is not in my group, I am thinking that the result set shouldn't appear in the first place.

I am speculating the issue may lie in the search.php specifically:

$limit_to_recent_user = ($_SWIFT["user"]["ismanager"] == 1) ? '' : 'AND `'.TABLE_PREFIX.'tickets`.`userid`='. intval($_SWIFT["user"]["userid"]);

The second condition of this statement will in fact search only in tickets that for which the user is the owner of, provided the user is not a manager. The first condition (i.e., that I am a manager) seems to search against tickets in all groups.

Any thoughts how this query could be modified to show only those tickets in a particular group?

Thanks again for this valuable addon.
Myself and another at my company have come up with a fix for this issue.

In the search.php file find:

Code:
$limit_to_recent_user = ($_SWIFT["user"]["ismanager"] == 1) ? '' : 'AND `'.TABLE_PREFIX.'tickets`.`userid`='. intval($_SWIFT["user"]["userid"]);
And replace it with:

Code:
$limit_to_recent_user = ($_SWIFT["user"]["ismanager"] == 1) ? 'AND `'.TABLE_PREFIX.'tickets`.`userid` IN (SELECT `'.TABLE_PREFIX.'users`.`userid` FROM `'.TABLE_PREFIX.'users` LEFT JOIN `'.TABLE_PREFIX.'usergroups` ON `'.TABLE_PREFIX.'users`.`usergroupid` = `'.TABLE_PREFIX.'usergroups`.`usergroupid` WHERE `'.TABLE_PREFIX.'users`.`usergroupid` = '. intval($_SWIFT["user"]["usergroupid"]).')' : 'AND `'.TABLE_PREFIX.'tickets`.`userid`='. intval($_SWIFT["user"]["userid"]);
This change will check for all users that belong to one group and then only search for tickets for the users that belong to that group.
   
Reply With Quote
  (#14) Old
Matthew Offline
Member
 
Matthew's Avatar
 
Posts: 195
Join Date: Oct 2007
Location: Jakarta, Indonesia
22-10-2008, 04:16 AM

Thanks cbentkowski, and welcome to the forums!

Original post has been updated with query change.


Matthew Arciniega
+ Free: Ticket List & Search Mods
| Dept. Display Names
+ Free: (Almost) Perfect Outlook/HTML Tickets
+ Tutorials: SLA System Explained
| Using Template Groups
Kayako v3.20.02 | PHP: 5.2.6 | MySQL: 5.0.58 | CentOS 4
   
Reply With Quote
  (#15) Old
judgepg Offline
New Member
 
Posts: 4
Join Date: Jul 2008
22-10-2008, 04:06 PM

Great! Many thanks cbentkowski.


Kayako: 3.2 | PHP: 5 | MySQL: 5 | Windows 2003 Server
   
Reply With Quote
Reply

Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes Rate This Thread
Rate This Thread:

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are On

Similar Threads
Thread Thread Starter Forum Replies Last Post
Ticket update returns to ticket list efisher SupportSuite, eSupport and LiveResponse 2 08-04-2008 05:49 PM
Client team notifcation of ticket interactions richm Think Tank 1 09-08-2007 08:57 PM
Required field validation if client sends ticket via email richm SupportSuite, eSupport and LiveResponse 0 25-05-2007 04:31 AM
New Build: 3.10.02 STABLE Ryan Lederman News and Announcements 0 05-03-2007 09:53 PM



Powered by vBulletin® Version 3.7.2
Copyright ©2000 - 2008, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0


1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47