Help Desk Software & Beyond
May 21, 2012, 11:56:52 PM *
Welcome, Guest. Please login or register.
To post messages you need to register. We apologize for inconvenience, but this is to prevent spam.
Registration is instant (no email verification) and we do not ask for any personal information.

Login with username, password and session length
News: Welcome to Help Desk Software forum!
 
   Home   Help Search Login Register  
Pages: [1]
  Print  
Author Topic: [REQ] End User Access (Customer Changes Status)  (Read 2715 times)
arvin
Sr. Member
****

Karma: 10
Posts: 400


Yeah thats right !


View Profile
« on: January 02, 2008, 02:11:05 PM »

G'day,

Where or how can I change the End Users access rights ... for instance... I want the customers to post answers and not change the status on the ticket manually .... I guess this is good time to ask ... when the customer the posts the answer .... can the status be changed automatically? ....

Thank you in advance   
« Last Edit: January 16, 2008, 05:12:36 PM by sparky672 » Logged
Sparky
Moderator
Hero Member
*****

Karma: 83
Posts: 2,228


stop pushing all those buttons


View Profile
« Reply #1 on: January 02, 2008, 02:23:51 PM »

Quote
Where or how can I change the End Users access rights ... for instance... I want the customers to post answers and not change the status on the ticket manually

The end user does not have any access rights per se.

Anyone with the access key or link can view and respond to the ticket.

By editing the TTXTicket.pm module you can remove the ability of the customer to manually change ticket status.


Quote
when the customer the posts the answer .... can the status be changed automatically? ....

Not sure what you mean...  ticket status already changes automatically when the customer responds.   This behavior is easily customizable by editing the TTXTicket.pm module.



I suggest reviewing the manual to give a starting point on the basis of operation... then from that point, many modifications and customizations can be more easily requested.

http://www.troubleticketexpress.com/TTXOperMan.pdf
Logged

Did you update the paths in ttxcfg.cgi after moving TTX to your new location?   Undecided
To those seeking help.... please report back when you figure it out.  Cheesy
arvin
Sr. Member
****

Karma: 10
Posts: 400


Yeah thats right !


View Profile
« Reply #2 on: January 02, 2008, 02:58:47 PM »

Sorry ...i should have been more specific ....

I have read the manual..thank you  Smiley

I guess I should have asked ...at which sub routine .... or line .... should i make my change ....in usernotify or opernotify ... gonna take a shot in the dark here and say that I have to remove a line that looks like this.......

 $macros{TICKETSTATE} = TTXDictionary::translate(TTXCommon::status($ticket->{status}));

Still new at this .... please don't shoot me  Smiley
Logged
Sparky
Moderator
Hero Member
*****

Karma: 83
Posts: 2,228


stop pushing all those buttons


View Profile
« Reply #3 on: January 02, 2008, 03:14:23 PM »

Quote
I have read the manual..thank you

Ok, not a problem... I was confused by your first question:    Backing up... you asked if it was possible to change status automatically when the customer responds to a ticket.  I only suggested you look at the manual because, by default, it already does what you seem to be asking about.  Please be more specific.

Quote
I guess I should have asked ...at which sub routine .... or line .... should i make my change ....in usernotify or opernotify ... gonna take a shot in the dark here and say that I have to remove a line that looks like this.......

$macros{TICKETSTATE} = TTXDictionary::translate(TTXCommon::status($ticket->{status}));

That line only translates the three letter status code into full text and outputs it into the email template.  opernotify and usernotify subroutines are just for sending notification emails.

Again, make your change to do what?  Remove customer ability to change status manually?

That would be in the ticket subroutine.


It's ok... I'm not going to shoot you.  Not yet anyway.   Wink

Just state very specifically what you want it to do and I'll happily provide you with very detailed answers.
Logged

Did you update the paths in ttxcfg.cgi after moving TTX to your new location?   Undecided
To those seeking help.... please report back when you figure it out.  Cheesy
arvin
Sr. Member
****

Karma: 10
Posts: 400


Yeah thats right !


View Profile
« Reply #4 on: January 02, 2008, 03:43:48 PM »

Quote
Remove customer ability to change status manually? That would be in the ticket subroutine.

Thats exactly it ...sorry for the confusion .... but at which line ...I notice a few ..... or would it all?

Logged
Sparky
Moderator
Hero Member
*****

Karma: 83
Posts: 2,228


stop pushing all those buttons


View Profile
« Reply #5 on: January 02, 2008, 03:57:09 PM »

This whole section...

... adding the parts in red will restrict those functions to the operator.

Quote
if (($t->{status} eq 'WFR' || $t->{status} eq 'CLS') && $isoper) {
    $data->{NEWSTATUS} = "<input type=radio name=newstatus value=OPN";
    if ($query->param('newstatus') eq 'OPN') { $data->{NEWSTATUS} .= ' checked'; }
    $data->{NEWSTATUS} .= '> [%Open%]<br>'."\n";
  }

  if (($t->{status} eq 'OPN') && $isoper) {
    $data->{NEWSTATUS} = "<input type=radio name=newstatus value=OPN";
    if ($query->param('newstatus') eq 'OPN') { $data->{NEWSTATUS} .= ' checked'; }
    $data->{NEWSTATUS} .= '> [%Open%]<br>'."\n";
    $data->{NEWSTATUS} .= "<input type=radio name=newstatus value=WFR";
    if ($query->param('newstatus') eq 'WFR') { $data->{NEWSTATUS} .= ' checked'; }
    $data->{NEWSTATUS} .= '> [%Responded%]<br>'."\n";
  }

  if (($t->{status} ne 'CLS') && $isoper) {
    $data->{NEWSTATUS} .= "<input type=radio name=newstatus value=CLS";
    if ($query->param('newstatus') eq 'CLS') { $data->{NEWSTATUS} .= ' checked'; }
    $data->{NEWSTATUS} .= '> [%Closed%]<br>'."\n";
  }

  if ($isoper) {
    if (isrestricted($cfg)) {
      $data->{NEWSTATUS} .= '<input type=hidden name=internal value=1>';
   } else {
      $data->{NEWSTATUS} .= '<br><input type=checkbox name=internal value=1';
      if ($query->param('internal')) {
        $data->{NEWSTATUS} .= ' checked';
      }
      $data->{NEWSTATUS} .= '> <span class=lbl>[%Internal%]</span><br>';
    }
  }
Logged

Did you update the paths in ttxcfg.cgi after moving TTX to your new location?   Undecided
To those seeking help.... please report back when you figure it out.  Cheesy
arvin
Sr. Member
****

Karma: 10
Posts: 400


Yeah thats right !


View Profile
« Reply #6 on: January 09, 2008, 03:47:56 PM »

Hello,

Okay ... I tired this ...but it prevented the operator to select those options as well .... unless I did something wrong ...

Here is the code .... basically I want the On Hold, Rejected, Confirmed options be available only the operators that will be working the app... and would like the customer to see only "updated by customer" option ...is this possible? ...

also .... I did add CUP 'updated by customer" to TTXCommon.pm


Quote
  if (($t->{status} eq 'WFR' || $t->{status} eq 'CLS') && $isoper) {
    $data->{NEWSTATUS} = "<input type=radio name=newstatus value=CLS";
    if ($query->param('newstatus') eq 'CLS') { $data->{NEWSTATUS} .= ' checked'; }
    $data->{NEWSTATUS} .= '> [%Confirmed%]<br>'."\n";
  }
  if ($t->{status} ne 'ONH') {
    $data->{NEWSTATUS} = "<input type=radio name=newstatus value=ONH";
    if ($query->param('newstatus') eq 'ONH') { $data->{NEWSTATUS} .= ' checked'; }
    $data->{NEWSTATUS} .= '> [%On Hold%]<br>'."\n";
  }
  if ($t->{status} ne 'WFR') {
    $data->{NEWSTATUS} .= "<input type=radio name=newstatus value=WFR";
    if ($query->param('newstatus') eq 'WFR') { $data->{NEWSTATUS} .= ' checked'; }
    $data->{NEWSTATUS} .= '> [%Rejected%]<br>'."\n";
  }
  if ($t->{status} ne 'CLS') {
    $data->{NEWSTATUS} .= "<input type=radio name=newstatus value=CLS";
    if ($query->param('newstatus') eq 'CLS') { $data->{NEWSTATUS} .= ' checked'; }
    $data->{NEWSTATUS} .= '> [%Confirmed%]<br>'."\n";
  }
  if ($t->{status} ne 'CUP') {
    $data->{NEWSTATUS} .= "<input type=radio name=newstatus value=CUP";
    if ($query->param('newstatus') eq 'CUP') { $data->{NEWSTATUS} .= ' checked'; }
    $data->{NEWSTATUS} .= '> [%Updated by Customer%]<br>'."\n";

  if ($isoper) {
    if (isrestricted($cfg)) {
      $data->{NEWSTATUS} .= '<input type=hidden name=internal value=1>';
   } else {
      $data->{NEWSTATUS} .= '<br><input type=checkbox name=internal value=1';
      if ($query->param('internal')) {
        $data->{NEWSTATUS} .= ' checked';
      }
      $data->{NEWSTATUS} .= '> <span class=lbl>[%Internal%]</span><br>';
    }
« Last Edit: January 22, 2008, 11:35:19 AM by sparky672 » Logged
Sparky
Moderator
Hero Member
*****

Karma: 83
Posts: 2,228


stop pushing all those buttons


View Profile
« Reply #7 on: January 09, 2008, 03:55:52 PM »

Hello,

Okay ... I tired this ...but it prevented the operator to select those options as well .... unless I did something wrong ...

I'm confused.

With the exception of setting CLS on WFR & CLS tickets, your code does not restrict any of your new options to the operator... so the way you have it written should appear for all users.  If it doesn't then something else is wrong.
Logged

Did you update the paths in ttxcfg.cgi after moving TTX to your new location?   Undecided
To those seeking help.... please report back when you figure it out.  Cheesy
arvin
Sr. Member
****

Karma: 10
Posts: 400


Yeah thats right !


View Profile
« Reply #8 on: January 09, 2008, 04:03:24 PM »

Sorry .....

I removed the ( and ) && $isoper before posting this .... i had added ( and ) && $isoper to the following lines

if (($t->{status} ne 'ONH') && $isoper) {

and to

if (($t->{status} ne 'WFR') && $isoper) {

and to

if (($t->{status} ne 'CLS') && $isoper) {
Logged
arvin
Sr. Member
****

Karma: 10
Posts: 400


Yeah thats right !


View Profile
« Reply #9 on: January 09, 2008, 04:06:05 PM »

Interesting .....

I just found this https://forum.unitedwebcoders.com/index.php/topic,356.msg1566.html#msg1566

and this kinda the same thing i'm trying to do ....
Logged
arvin
Sr. Member
****

Karma: 10
Posts: 400


Yeah thats right !


View Profile
« Reply #10 on: January 22, 2008, 11:28:43 AM »

Sorry for the delay ...... But this worked for me .... basically ...the idea here was not to give the customer too many selections ... only one "customer update" ... this change was made bwtn line 1338 and 1363

 
Quote
}
  if (($t->{status} eq 'WFR' || $t->{status} eq 'CLS') && $isoper) {
    $data->{NEWSTATUS} = "<input type=radio name=newstatus value=CLS";
    if ($query->param('newstatus') eq 'CLS') { $data->{NEWSTATUS} .= ' checked'; }
    $data->{NEWSTATUS} .= '> [%Archived%]<br>'."\n";
  }
  if (($t->{status} ne 'WFR') && $isoper) {
    $data->{NEWSTATUS} .= "<input type=radio name=newstatus value=WFR";
    if ($query->param('newstatus') eq 'WFR') { $data->{NEWSTATUS} .= ' checked'; }
    $data->{NEWSTATUS} .= '> [%Cancel Order%]<br>'."\n";
  }
  if (($t->{status} ne 'CLS') && $isoper) {
    $data->{NEWSTATUS} .= "<input type=radio name=newstatus value=CLS";
    if ($query->param('newstatus') eq 'CLS') { $data->{NEWSTATUS} .= ' checked'; }
    $data->{NEWSTATUS} .= '> [%Confirm%]<br>'."\n";
  }
  if (($t->{status} ne 'HLD') && $isoper) {
    $data->{NEWSTATUS} .= "<input type=radio name=newstatus value=HLD";
    if ($query->param('newstatus') eq 'HLD') { $data->{NEWSTATUS} .= ' checked'; }
    $data->{NEWSTATUS} .= '> [%On Hold%]<br>'."\n";
  }
  if ($t->{status} ne 'CUP') {
    $data->{NEWSTATUS} .= "<input type=radio name=newstatus value=CUP";
    if ($query->param('newstatus') eq 'CUP') { $data->{NEWSTATUS} .= ' checked'; }
    $data->{NEWSTATUS} .= '> [%Customer Update%]<br>'."\n";
  }
« Last Edit: January 22, 2008, 11:34:56 AM by sparky672 » Logged
Sparky
Moderator
Hero Member
*****

Karma: 83
Posts: 2,228


stop pushing all those buttons


View Profile
« Reply #11 on: January 22, 2008, 11:34:37 AM »

I'm glad you finally figured it out.


NOTE to the Readers:

There are new custom status' inside the code that Arvin posted above.  Those are his and will not work for everyone without additional modifications.
Logged

Did you update the paths in ttxcfg.cgi after moving TTX to your new location?   Undecided
To those seeking help.... please report back when you figure it out.  Cheesy
Pages: [1]
  Print  
 
Jump to:  

Powered by MySQL Powered by PHP Powered by SMF 1.1 RC3 | SMF © 2001-2006, Lewis Media Valid XHTML 1.0! Valid CSS!
Page created in 0.033 seconds with 18 queries.