diff options
Diffstat (limited to 'rt/etc/initialdata')
-rw-r--r-- | rt/etc/initialdata | 569 |
1 files changed, 0 insertions, 569 deletions
diff --git a/rt/etc/initialdata b/rt/etc/initialdata deleted file mode 100644 index e360c5d..0000000 --- a/rt/etc/initialdata +++ /dev/null @@ -1,569 +0,0 @@ -# Initial data for a fresh RT3 Installation. - -@Users = ( - { Name => 'Nobody', - RealName => 'Nobody in particular', - Comments => 'Do not delete or modify this user. It is integral ' - . 'to RT\'s internal data structures', - Privileged => '0', }, - - { Name => 'root', - Gecos => 'root', - RealName => 'Enoch Root', - Password => 'password', - EmailAddress => "root\@localhost", - Comments => 'SuperUser', - Privileged => '1', } ); - -@Groups = ( - { Name => '', - Type => 'Everyone', # loc - Domain => 'SystemInternal', - Instance => '', - Description => 'Pseudogroup for internal use', # loc - }, - { Type => 'Privileged', # loc - Domain => 'SystemInternal', - Instance => '', - Name => '', - Description => 'Pseudogroup for internal use', # loc - }, - { Name => '', - Type => 'Unprivileged', # loc - Domain => 'SystemInternal', - Instance => '', - Description => 'Pseudogroup for internal use', # loc - }, - { Name => '', - Type => 'Owner', # loc - Domain => 'RT::System-Role', - Instance => '', - Description => 'SystemRolegroup for internal use', # loc - }, - { Name => '', - Type => 'Requestor', # loc - Domain => 'RT::System-Role', - Instance => '', - Description => 'SystemRolegroup for internal use', # loc - }, - { Name => '', - Type => 'Cc', # loc - Domain => 'RT::System-Role', - Instance => '', - Description => 'SystemRolegroup for internal use', # loc - }, - { Name => '', - Type => 'AdminCc', # loc - Domain => 'RT::System-Role', - Instance => '', - Description => 'Pseudogroup for internal use', # loc - }, ); - -@Queues = ({ Name => 'General', - Description => 'The default queue', - CorrespondAddress => "", - CommentAddress => "", }, - { Name => '___Approvals', - Description => 'A system-internal queue for the approvals system', - Disabled => 2, } ); - -@ScripActions = ( - - { Name => 'Autoreply To Requestors', # loc - Description => -'Always sends a message to the requestors independent of message sender' , # loc - ExecModule => 'Autoreply', - Argument => 'Requestor' }, - { Name => 'Notify Requestors', # loc - Description => 'Sends a message to the requestors', # loc - ExecModule => 'Notify', - Argument => 'Requestor' }, - { Name => 'Notify Owner as Comment', # loc - Description => 'Sends mail to the owner', # loc - ExecModule => 'NotifyAsComment', - Argument => 'Owner' }, - { Name => 'Notify Owner', # loc - Description => 'Sends mail to the owner', # loc - ExecModule => 'Notify', - Argument => 'Owner' }, - { Name => 'Notify AdminCcs as Comment', # loc - Description => 'Sends mail to the administrative Ccs as a comment', # loc - ExecModule => 'NotifyAsComment', - Argument => 'AdminCc' }, - { Name => 'Notify AdminCcs', # loc - Description => 'Sends mail to the administrative Ccs', # loc - ExecModule => 'Notify', - Argument => 'AdminCc' }, - - { Name => 'Notify Requestors and Ccs as Comment', # loc - Description => 'Send mail to requestors and Ccs as a comment', # loc - ExecModule => 'NotifyAsComment', - Argument => 'Requestor,Cc' }, - - { Name => 'Notify Requestors and Ccs', # loc - Description => 'Send mail to requestors and Ccs', # loc - ExecModule => 'Notify', - Argument => 'Requestor,Cc' }, - - { Name => 'Notify Requestors, Ccs and AdminCcs as Comment', # loc - Description => 'Send mail to all watchers as a "comment"', # loc - ExecModule => 'NotifyAsComment', - Argument => 'All' }, - { Name => 'Notify Requestors, Ccs and AdminCcs', # loc - Description => 'Send mail to all watchers', # loc - ExecModule => 'Notify', - Argument => 'All' }, - { Name => 'Notify Other Recipients as Comment', # loc - Description => 'Sends mail to explicitly listed Ccs and Bccs', # loc - ExecModule => 'NotifyAsComment', - Argument => 'OtherRecipients' }, - { Name => 'Notify Other Recipients', # loc - Description => 'Sends mail to explicitly listed Ccs and Bccs', # loc - ExecModule => 'Notify', - Argument => 'OtherRecipients' }, - { Name => 'User Defined', # loc - Description => 'Perform a user-defined action', # loc - ExecModule => 'UserDefined', }, - { Name => 'Create Tickets', # loc - Description => - 'Create new tickets based on this scrip\'s template', # loc - ExecModule => 'CreateTickets', }, - { Name => 'Open Tickets', - Description => 'Open tickets on correspondence', # loc - ExecModule => 'AutoOpen' }, -); - -@ScripConditions = ( - { Name => 'On Create', # loc - Description => 'When a ticket is created', # loc - ApplicableTransTypes => 'Create', - ExecModule => 'AnyTransaction', }, - - { Name => 'On Transaction', # loc - Description => 'When anything happens', # loc - ApplicableTransTypes => 'Any', - ExecModule => 'AnyTransaction', }, - { - - Name => 'On Correspond', # loc - Description => 'Whenever correspondence comes in', # loc - ApplicableTransTypes => 'Correspond', - ExecModule => 'AnyTransaction', }, - - { - - Name => 'On Comment', # loc - Description => 'Whenever comments come in', # loc - ApplicableTransTypes => 'Comment', - ExecModule => 'AnyTransaction' }, - { - - Name => 'On Status Change', # loc - Description => 'Whenever a ticket\'s status changes', # loc - ApplicableTransTypes => 'Status', - ExecModule => 'AnyTransaction', - - }, - { - - Name => 'On Owner Change', # loc - Description => 'Whenever a ticket\'s owner changes', # loc - ApplicableTransTypes => 'Any', - ExecModule => 'OwnerChange', - - }, - { - - Name => 'On Queue Change', # loc - Description => 'Whenever a ticket\'s queue changes', # loc - ApplicableTransTypes => 'Set', - ExecModule => 'QueueChange', - - }, - { Name => 'On Resolve', # loc - Description => 'Whenever a ticket is resolved', # loc - ApplicableTransTypes => 'Status', - ExecModule => 'StatusChange', - Argument => 'resolved' - - }, - - { Name => 'User Defined', # loc - Description => 'Whenever a user-defined condition occurs', # loc - ApplicableTransTypes => 'Any', - ExecModule => 'UserDefined' - - }, - -); - -@Templates = ( - { Queue => '0', - Name => 'Blank', # loc - Description => 'A blank template', # loc - Content => '', }, - { Queue => '0', - Name => 'Autoreply', # loc - Description => 'Default Autoresponse template', # loc - Content => 'Subject: AutoReply: {$Ticket->Subject} - - -Greetings, - -This message has been automatically generated in response to the -creation of a trouble ticket regarding: - "{$Ticket->Subject()}", -a summary of which appears below. - -There is no need to reply to this message right now. Your ticket has been -assigned an ID of [{$rtname} #{$Ticket->id()}]. - -Please include the string: - - [{$rtname} #{$Ticket->id}] - -in the subject line of all future correspondence about this issue. To do so, -you may reply to this message. - - Thank you, - {$Ticket->QueueObj->CorrespondAddress()} - -------------------------------------------------------------------------- -{$Transaction->Content()} -' - }, - - { Queue => '0', - Name => 'Transaction', # loc - Description => 'Default transaction template', # loc - Content => 'RT-Attach-Message: yes - - -{$Transaction->CreatedAsString}: Request {$Ticket->id} was acted upon. -Transaction: {$Transaction->Description} - Queue: {$Ticket->QueueObj->Name} - Subject: {$Transaction->Subject || $Ticket->Subject || "(No subject given)"} - Owner: {$Ticket->OwnerObj->Name} - Requestors: {$Ticket->RequestorAddresses} - Status: {$Ticket->Status} - Ticket <URL: {$RT::WebURL}Ticket/Display.html?id={$Ticket->id} > - - -{$Transaction->Content()} -' - }, - - { - - Queue => '0', - Name => 'Admin Correspondence', # loc - Description => 'Default admin correspondence template', # loc - Content => 'RT-Attach-Message: yes - - -<URL: {$RT::WebURL}Ticket/Display.html?id={$Ticket->id} > - -{$Transaction->Content()} -' - }, - - { Queue => '0', - Name => 'Correspondence', # loc - Description => 'Default correspondence template', # loc - Content => 'RT-Attach-Message: yes - -{$Transaction->Content()} -' - }, - - { Queue => '0', - Name => 'Admin Comment', # loc - Description => 'Default admin comment template', # loc - Content => -'Subject: [Comment] {my $s=($Transaction->Subject||$Ticket->Subject); $s =~ s/\\[Comment\\]//g; $comment =~ s/^Re//i; $s;} - - -{$RT::WebURL}Ticket/Display.html?id={$Ticket->id} -This is a comment. It is not sent to the Requestor(s): - -{$Transaction->Content()} -' - }, - - { Queue => '0', - Name => 'Status Change', # loc - Description => 'Ticket status changed', # loc - Content => 'Subject: Status Changed to: {$Transaction->NewValue} - - -{$RT::WebURL}Ticket/Display.html?id={$Ticket->id} - -{$Transaction->Content()} -' - }, - - { - - Queue => '0', - Name => 'Resolved', # loc - Description => 'Ticket Resolved', # loc - Content => 'Subject: Resolved: {$Ticket->Subject} - -According to our records, your request has been resolved. If you have any -further questions or concerns, please respond to this message. -' - }, - { Queue => '___Approvals', - Name => "New Pending Approval", # loc - Description => - "Notify Owners and AdminCcs of new items pending their approval", # loc - Content => 'Subject: New Pending Approval: {$Ticket->Subject} - -Greetings, - -There is a new item pending your approval: "{$Ticket->Subject()}", -a summary of which appears below. - -Please visit {$RT::WebURL}Approvals/Display.html?id={$Ticket->id} -to approve or reject this ticket, or {$RT::WebURL}Approvals/ to -batch-process all your pending approvals. - -------------------------------------------------------------------------- -{$Transaction->Content()} -' - }, - { Queue => '___Approvals', - Name => "Approval Passed", # loc - Description => - "Notify Owner of their ticket has been approved by some approver", # loc - Content => 'Subject: Ticket Rejected: {$Ticket->Subject} - -Greetings, - -Your ticket has been approved by { eval { $Approval->OwnerObj->Name } }. -Other approvals may be pending. -' - }, - { Queue => '___Approvals', - Name => "All Approvals Passed", # loc - Description => - "Notify Owner of their ticket has been approved by all approvers", # loc - Content => 'Subject: Ticket Rejected: {$Ticket->Subject} - -Greetings, - -Your ticket has been approved. Its Owner may now start to act on it. -' - }, - { Queue => '___Approvals', - Name => "Approval Rejected", # loc - Description => - "Notify Owner of their rejected ticket", # loc - Content => 'Subject: Ticket Rejected: {$Ticket->Subject} - -Greetings, - -Your ticket has been rejected by { eval { $Approval->OwnerObj->Name } }. -' - }, -); -# }}} - -@Scrips = ( - { ScripCondition => 'On Correspond', - ScripAction => 'Open Tickets', - Template => 'Blank' }, - { ScripCondition => 'On Create', - ScripAction => 'AutoReply To Requestors', - Template => 'AutoReply' }, - { ScripCondition => 'On Create', - ScripAction => 'Notify AdminCcs', - Template => 'Transaction' }, - { ScripCondition => 'On Correspond', - ScripAction => 'Notify AdminCcs', - Template => 'Admin Correspondence' }, - { ScripCondition => 'On Correspond', - ScripAction => 'Notify Requestors And Ccs', - Template => 'Correspondence' }, - { ScripCondition => 'On Correspond', - ScripAction => 'Notify Other Recipients', - Template => 'Correspondence' }, - { ScripCondition => 'On Comment', - ScripAction => 'Notify AdminCcs As Comment', - Template => 'Admin Comment' }, - { ScripCondition => 'On Comment', - ScripAction => 'Notify Other Recipients As Comment', - Template => 'Correspondence' }, - { ScripCondition => 'On Resolve', - ScripAction => 'Notify Requestors', - Template => 'Resolved' }, - { Description => "When an approval ticket is created, notify the Owner and AdminCc of the item awaiting their approval", # loc - Queue => '___Approvals', - ScripCondition => 'User Defined', - CustomIsApplicableCode => q[ - $self->TicketObj->Type eq 'approval' and - $self->TransactionObj->Field eq 'Status' and - $self->TransactionObj->NewValue eq 'open' and - eval { $T::Approving = ($self->TicketObj->AllDependedOnBy( Type => 'ticket' ))[0] } - ], - ScripAction => 'Notify Owner', - Template => 'New Pending Approval' }, - { Description => "If an approval is rejected, reject the original and delete pending approvals", # loc - Queue => '___Approvals', - ScripCondition => 'On Status Change', - ScripAction => 'User Defined', - CustomPrepareCode => q[ -# ------------------------------------------------------------------- # -return(0) unless ( lc($self->TransactionObj->NewValue) eq "rejected" or - lc($self->TransactionObj->NewValue) eq "deleted" ); - -my $rejected = 0; -my $links = $self->TicketObj->DependedOnBy; -foreach my $link (@{ $links->ItemsArrayRef }) { - my $obj = $link->BaseObj; - if ($obj->QueueObj->IsActiveStatus($obj->Status)) { - if ($obj->Type eq 'ticket') { - $obj->Comment( - Content => $self->loc("Your request was rejected."), - ); - $obj->SetStatus( - Status => 'rejected', - Force => 1, - ); - - $T::Approval = $self->TicketObj; # so we can access it inside templates - $self->{TicketObj} = $obj; # we want the original id in the token line - $rejected = 1; - } - else { - $obj->SetStatus( - Status => 'deleted', - Force => 1, - ); - } - } -} - -$links = $self->TicketObj->DependsOn; -foreach my $link (@{ $links->ItemsArrayRef }) { - my $obj = $link->TargetObj; - if ($obj->QueueObj->IsActiveStatus($obj->Status)) { - $obj->SetStatus( - Status => 'deleted', - Force => 1, - ); - } -} - -# Now magically turn myself into a Requestor Notify object... -require RT::Action::Notify; bless($self, 'RT::Action::Notify'); -$self->{Argument} = 'Requestor'; $self->Prepare; - -return $rejected; -# ------------------------------------------------------------------- # - ], - CustomCommitCode => '"never needed"', - Template => 'Approval Rejected', }, - { Description => "When a ticket has been approved by any approver, add correspondence to the original ticket", # loc - Queue => '___Approvals', - ScripCondition => 'On Resolve', - ScripAction => 'User Defined', - CustomPrepareCode => q[ -# ------------------------------------------------------------------- # -return(0) unless ($self->TicketObj->Type eq 'approval'); - -my $note; -my $t = $self->TicketObj->Transactions; -while (my $o = $t->Next) { - $note .= $o->Content . "\n" if $o->ContentObj - and $o->Content !~ /Default Approval/; -} - -foreach my $obj ($self->TicketObj->AllDependedOnBy( Type => 'ticket' )) { - $obj->Comment( - Content => $self->loc( "Your request has been approved by [_1]. Other approvals may still be pending.", # loc - $self->TransactionObj->CreatorObj->Name, - ) . "\n" . $self->loc( "Approver's notes: [_1]", # loc - $note - ), - ); - $T::Approval = $self->TicketObj; # so we can access it inside templates - $self->{TicketObj} = $obj; # we want the original id in the token line -} - -# Now magically turn myself into a Requestor Notify object... -require RT::Action::Notify; bless($self, 'RT::Action::Notify'); -$self->{Argument} = 'Requestor'; $self->Prepare; - -return 1; -# ------------------------------------------------------------------- # - ], - CustomCommitCode => '"never needed"', - Template => 'Approval Passed' }, - { Description => "When a ticket has been approved by all approvers, add correspondence to the original ticket", # loc - Queue => '___Approvals', - ScripCondition => 'On Resolve', - ScripAction => 'User Defined', - CustomPrepareCode => q[ -# ------------------------------------------------------------------- # -# Find all the tickets that depend on this (that this is approving) - -my $Ticket = $self->TicketObj; -my @TOP = $Ticket->AllDependedOnBy( Type => 'ticket' ); -my $links = $Ticket->DependedOnBy; -my $passed = 0; - -while (my $link = $links->Next) { - my $obj = $link->BaseObj; - next if ($obj->HasUnresolvedDependencies( Type => 'approval' )); - - if ($obj->Type eq 'ticket') { - $obj->Comment( - Content => $self->loc("Your request has been approved."), - ); - $T::Approval = $Ticket; # so we can access it inside templates - $self->{TicketObj} = $obj; # we want the original id in the token line - $passed = 1; - } - elsif ($obj->Type eq 'approval') { - $obj->SetStatus( Status => 'open', Force => 1 ); - } - elsif ($RT::UseCodeTickets and $obj->Type eq 'code') { - my $code = $obj->Transactions->First->Content; - my $rv; - - foreach my $TOP (@TOP) { - local $@; - $rv++ if eval $code; - $RT::Logger->error("Cannot eval code: $@") if $@; - } - - if ($rv or !@TOP) { - $obj->SetStatus( Status => 'resolved', Force => 1,); - } - else { - $obj->SetStatus( Status => 'rejected', Force => 1,); - } - } -} - -# Now magically turn myself into a Requestor Notify object... -require RT::Action::Notify; bless($self, 'RT::Action::Notify'); -$self->{Argument} = 'Requestor'; $self->Prepare; - -return 0; # ignore $passed; -# ------------------------------------------------------------------- # - ], - CustomCommitCode => '"never needed"', - Template => 'All Approvals Passed', }, - -); - -@ACL = ( - { UserId => 'Nobody', # - principalId - Right => 'OwnTicket', }, - - { UserId => 'root', # - principalid - Right => 'SuperUser', }, - -); |