summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorcvs2git <cvs2git>2008-03-02 04:06:07 +0000
committercvs2git <cvs2git>2008-03-02 04:06:07 +0000
commitcb85021ab897deb9402ace394e1b8a867e55de2c (patch)
treea8eabed19867e124f29e08d55bba84a2ffb68b17
parent9c68254528b6f2c7d8c1921b452fa56064783782 (diff)
This commit was manufactured by cvs2svn to create tag 'RT_3_4_6'.RT_3_4_6
-rw-r--r--rt/HOWTO/README14
-rw-r--r--rt/HOWTO/change.txt67
-rw-r--r--rt/HOWTO/release.txt124
-rw-r--r--rt/HOWTO/version-control.txt41
-rw-r--r--rt/Makefile490
-rw-r--r--rt/autom4te.cache/output.02771
-rw-r--r--rt/autom4te.cache/requests94
-rw-r--r--rt/autom4te.cache/traces.0158
-rwxr-xr-xrt/bin/mason_handler.fcgi68
-rwxr-xr-xrt/bin/mason_handler.scgi43
-rw-r--r--rt/bin/mason_handler.svc234
-rwxr-xr-xrt/bin/rt1816
-rw-r--r--rt/bin/rt-commit-handler846
-rw-r--r--rt/bin/rt-commit-handler.in846
-rw-r--r--rt/bin/rt-crontool220
-rwxr-xr-xrt/bin/rt-mailgate648
-rwxr-xr-xrt/bin/webmux.pl148
-rw-r--r--rt/config256
-rw-r--r--rt/config.log118
-rw-r--r--rt/config.pld19
-rwxr-xr-xrt/config.status713
-rw-r--r--rt/docs/design_docs/ruleset-workflow.txt158
-rw-r--r--rt/etc/RT_Config.pm374
-rw-r--r--rt/etc/upgrade/2.1.71211
-rw-r--r--rt/etc/upgrade/3.5.1/content36
-rw-r--r--rt/html/Admin/Elements/ConfigureMyRT80
-rw-r--r--rt/html/Admin/Elements/ModifyQueue78
-rw-r--r--rt/html/Admin/Elements/ModifyUser99
-rw-r--r--rt/html/Admin/Global/CustomField.html86
-rw-r--r--rt/html/Admin/Global/CustomFields.html69
-rw-r--r--rt/html/Admin/Global/MyRT.html104
-rw-r--r--rt/html/Admin/Users/MyRT.html132
-rw-r--r--rt/html/Admin/Users/Prefs.html122
-rw-r--r--rt/html/Elements/EditCustomFieldCombobox68
-rw-r--r--rt/html/Elements/Logo56
-rw-r--r--rt/html/Elements/MyAdminQueues54
-rw-r--r--rt/html/Elements/MyRT100
-rwxr-xr-xrt/html/Elements/MyReminders73
-rw-r--r--rt/html/Elements/MySupportQueues54
-rw-r--r--rt/html/Elements/QueueSummary92
-rw-r--r--rt/html/Elements/RefreshHomepage51
-rwxr-xr-xrt/html/Elements/SelectTimeUnits57
-rw-r--r--rt/html/Elements/ShadedBox33
-rw-r--r--rt/html/Elements/ShadedInputRow35
-rw-r--r--rt/html/Elements/ShadedRow31
-rw-r--r--rt/html/Elements/ShowSearch126
-rw-r--r--rt/html/Elements/ValidateCustomFields81
-rw-r--r--rt/html/Elements/ViewUser51
-rw-r--r--rt/html/Helpers/CalPopup.html129
-rw-r--r--rt/html/NoAuth/css/3.4-compat/body.css75
-rw-r--r--rt/html/NoAuth/css/3.4-compat/footer.css61
-rw-r--r--rt/html/NoAuth/css/3.4-compat/forms.css104
-rw-r--r--rt/html/NoAuth/css/3.4-compat/header.css88
-rw-r--r--rt/html/NoAuth/css/3.4-compat/login.css54
-rw-r--r--rt/html/NoAuth/css/3.4-compat/main.css69
-rw-r--r--rt/html/NoAuth/css/3.4-compat/misc.css49
-rw-r--r--rt/html/NoAuth/css/3.4-compat/nav.css106
-rw-r--r--rt/html/NoAuth/css/3.4-compat/quickbar.css82
-rw-r--r--rt/html/NoAuth/css/3.4-compat/ticket.css50
-rw-r--r--rt/html/NoAuth/css/3.4-compat/titlebox.css103
-rw-r--r--rt/html/NoAuth/css/3.4-compat/transactions.css83
-rw-r--r--rt/html/NoAuth/css/3.5-default/approvals.css97
-rwxr-xr-xrt/html/NoAuth/css/3.5-default/body.css81
-rw-r--r--rt/html/NoAuth/css/3.5-default/footer.css91
-rwxr-xr-xrt/html/NoAuth/css/3.5-default/forms.css136
-rw-r--r--rt/html/NoAuth/css/3.5-default/header.css152
-rw-r--r--rt/html/NoAuth/css/3.5-default/login.css85
-rw-r--r--rt/html/NoAuth/css/3.5-default/logo.css60
-rw-r--r--rt/html/NoAuth/css/3.5-default/main.css61
-rwxr-xr-xrt/html/NoAuth/css/3.5-default/misc.css91
-rw-r--r--rt/html/NoAuth/css/3.5-default/nav.css163
-rw-r--r--rt/html/NoAuth/css/3.5-default/quickbar.css98
-rw-r--r--rt/html/NoAuth/css/3.5-default/ticket.css57
-rw-r--r--rt/html/NoAuth/css/3.5-default/titlebox.css189
-rwxr-xr-xrt/html/NoAuth/css/3.5-default/transactions.css146
-rw-r--r--rt/html/NoAuth/css/autohandler53
-rw-r--r--rt/html/NoAuth/css/print.css85
-rw-r--r--rt/html/NoAuth/images/back_home.gifbin330 -> 0 bytes
-rw-r--r--rt/html/NoAuth/images/css/cb-light.gifbin186 -> 0 bytes
-rw-r--r--rt/html/NoAuth/images/css/cb.gifbin163 -> 0 bytes
-rw-r--r--rt/html/NoAuth/images/css/cbr-b2g.gifbin135 -> 0 bytes
-rw-r--r--rt/html/NoAuth/images/css/cbr-b2lb.gifbin137 -> 0 bytes
-rw-r--r--rt/html/NoAuth/images/css/cbr-gray.gifbin137 -> 0 bytes
-rw-r--r--rt/html/NoAuth/images/css/cbr-trans.gifbin183 -> 0 bytes
-rw-r--r--rt/html/NoAuth/images/css/cbr.gifbin188 -> 0 bytes
-rw-r--r--rt/html/NoAuth/images/css/ct-light.gifbin162 -> 0 bytes
-rw-r--r--rt/html/NoAuth/images/css/ct.gifbin162 -> 0 bytes
-rw-r--r--rt/html/NoAuth/images/css/ctr-b2g.gifbin136 -> 0 bytes
-rw-r--r--rt/html/NoAuth/images/css/ctr-b2lb.gifbin114 -> 0 bytes
-rw-r--r--rt/html/NoAuth/images/css/ctr-gray.gifbin138 -> 0 bytes
-rw-r--r--rt/html/NoAuth/images/css/ctr-trans.gifbin182 -> 0 bytes
-rw-r--r--rt/html/NoAuth/images/css/ctr.gifbin188 -> 0 bytes
-rw-r--r--rt/html/NoAuth/images/css/dark-arrow-up.pngbin346 -> 0 bytes
-rw-r--r--rt/html/NoAuth/images/css/dark-arrow.pngbin337 -> 0 bytes
-rw-r--r--rt/html/NoAuth/images/css/light-arrow-up.pngbin348 -> 0 bytes
-rw-r--r--rt/html/NoAuth/images/css/light-arrow.pngbin340 -> 0 bytes
-rw-r--r--rt/html/NoAuth/images/css/rolldown-arrow.gifbin83 -> 0 bytes
-rw-r--r--rt/html/NoAuth/images/css/rolldown-arrow.pngbin259 -> 0 bytes
-rw-r--r--rt/html/NoAuth/images/css/rollup-arrow.gifbin82 -> 0 bytes
-rw-r--r--rt/html/NoAuth/images/head_requestracker.gifbin1233 -> 0 bytes
-rw-r--r--rt/html/NoAuth/images/rt.jpgbin917 -> 0 bytes
-rw-r--r--rt/html/NoAuth/images/spacer.gifbin43 -> 0 bytes
-rw-r--r--rt/html/NoAuth/images/squares_blue.gifbin219 -> 0 bytes
-rw-r--r--rt/html/NoAuth/js/ahah.js80
-rw-r--r--rt/html/NoAuth/js/autohandler53
-rw-r--r--rt/html/NoAuth/js/cascaded.js66
-rw-r--r--rt/html/NoAuth/js/class.js62
-rw-r--r--rt/html/NoAuth/js/combobox.js265
-rw-r--r--rt/html/NoAuth/js/list.js159
-rw-r--r--rt/html/NoAuth/js/titlebox-state.js83
-rw-r--r--rt/html/NoAuth/js/util.js250
-rw-r--r--rt/html/Prefs/Elements/Tabs72
-rw-r--r--rt/html/Prefs/MyRT.html151
-rw-r--r--rt/html/Prefs/Quicksearch.html96
-rw-r--r--rt/html/Prefs/Search.html108
-rw-r--r--rt/html/Prefs/SearchOptions.html114
-rwxr-xr-xrt/html/REST/1.0/Forms/ticket/comment152
-rwxr-xr-xrt/html/REST/1.0/Forms/ticket/merge96
-rwxr-xr-xrt/html/REST/1.0/Forms/ticket/take135
-rw-r--r--rt/html/REST/1.0/Forms/transaction/default143
-rw-r--r--rt/html/Search/Chart148
-rw-r--r--rt/html/Search/Chart.html73
-rw-r--r--rt/html/Search/Elements/Chart139
-rw-r--r--rt/html/Search/Elements/PickRestriction142
-rw-r--r--rt/html/Search/Elements/SearchesForObject65
-rw-r--r--rt/html/Search/Elements/SelectChartType56
-rw-r--r--rt/html/Search/Elements/SelectGroupBy63
-rw-r--r--rt/html/Search/Elements/TicketHeader40
-rw-r--r--rt/html/Search/Elements/TicketHeaderCell55
-rw-r--r--rt/html/Search/Elements/TicketRow55
-rw-r--r--rt/html/Search/Listing.html113
-rw-r--r--rt/html/Search/Simple.html93
-rw-r--r--rt/html/Ticket/Elements/EditLinks133
-rw-r--r--rt/html/Ticket/Elements/Reminders168
-rw-r--r--rt/html/Ticket/Elements/ShowLink40
-rw-r--r--rt/html/Ticket/Elements/ShowLinks87
-rw-r--r--rt/html/Ticket/Elements/ShowTime55
-rwxr-xr-xrt/html/Ticket/Reminders.html71
-rw-r--r--rt/html/Tools/Reports/CreatedByDates.html94
-rw-r--r--rt/html/Tools/Reports/Elements/Tabs89
-rw-r--r--rt/html/Tools/Reports/ResolvedByDates.html95
-rw-r--r--rt/html/Tools/Reports/ResolvedByOwner.html70
-rw-r--r--rt/html/Tools/Reports/index.html50
-rw-r--r--rt/html/Tools/index.html52
-rw-r--r--rt/html/Widgets/ComboBox69
-rw-r--r--rt/html/Widgets/SavedSearch150
-rw-r--r--rt/html/Widgets/SelectionBox234
-rw-r--r--rt/html/Widgets/TitleBox54
-rwxr-xr-xrt/html/Widgets/TitleBoxEnd59
-rwxr-xr-xrt/html/Widgets/TitleBoxStart88
-rw-r--r--rt/lib/RT.pm323
-rw-r--r--rt/lib/RT/I18N/en_malkovich.po3973
-rw-r--r--rt/lib/RT/I18N/sv.po5840
-rw-r--r--rt/lib/RT/I18N/tr.po5079
-rw-r--r--rt/lib/RT/Interface/Web/Menu.pm68
-rw-r--r--rt/lib/RT/Interface/Web/Menu/Item.pm86
-rw-r--r--rt/lib/RT/Reminders.pm167
-rw-r--r--rt/lib/RT/Report/Tickets.pm451
-rw-r--r--rt/lib/RT/Report/Tickets/Entry.pm55
-rw-r--r--rt/lib/RT/Search/Googleish.pm171
-rw-r--r--rt/lib/RT/TicketCustomFieldValue.pm308
-rw-r--r--rt/lib/RT/TicketCustomFieldValue_Overlay.pm74
-rw-r--r--rt/lib/RT/TicketCustomFieldValues.pm137
-rw-r--r--rt/lib/RT/TicketCustomFieldValues_Overlay.pm108
-rw-r--r--rt/lib/t/00smoke.t.in14
-rw-r--r--rt/lib/t/01harness.t12
-rw-r--r--rt/lib/t/01harness.t.in12
-rw-r--r--rt/lib/t/02regression.t44
-rw-r--r--rt/lib/t/02regression.t.in47
-rw-r--r--rt/lib/t/03web.pl94
-rw-r--r--rt/lib/t/03web.pl.in170
-rw-r--r--rt/lib/t/04_send_email.pl481
-rw-r--r--rt/lib/t/04_send_email.pl.in506
-rw-r--r--rt/lib/t/05cronsupport.pl.in84
-rw-r--r--rt/lib/t/data/lorem-ipsum5
-rw-r--r--rt/lib/t/data/subject-with-folding-ws10
-rw-r--r--rt/lib/t/data/very-long-subject12
-rw-r--r--rt/lib/t/regression/00-mason-syntax.t42
-rw-r--r--rt/lib/t/regression/00placeholder1
-rw-r--r--rt/lib/t/regression/15cf_combo_cascade.t49
-rw-r--r--rt/lib/t/regression/15cf_pattern.t54
-rw-r--r--rt/lib/t/regression/17custom_search.t88
-rw-r--r--rt/lib/t/regression/18custom_frontpage.t75
-rw-r--r--rt/lib/t/regression/19quicksearch.t39
-rw-r--r--rt/lib/t/regression/20-sort-by-requestor.t143
-rw-r--r--rt/lib/t/regression/23-batch-upload-csv.t47
-rw-r--r--rt/lib/t/regression/23cfsort.t143
-rw-r--r--rt/lib/t/regression/24pawsort.t104
-rw-r--r--rt/lib/t/regression/25scrip_order.t57
-rw-r--r--rt/lib/t/regression/26command_line.t415
-rw-r--r--rt/lib/t/regression/27verp.t9
-rw-r--r--rt/sbin/rt-setup-database619
-rw-r--r--rt/sbin/rt-test-dependencies278
193 files changed, 0 insertions, 40222 deletions
diff --git a/rt/HOWTO/README b/rt/HOWTO/README
deleted file mode 100644
index 942096b0a..000000000
--- a/rt/HOWTO/README
+++ /dev/null
@@ -1,14 +0,0 @@
-Here you'll find plain text documentation of how to handle various
-project procedures. Files contained herein:
-
-change.txt
- How changes are integrated, including generating and
- distributing aedist change sets, and updating the CVS repository.
-
-release.txt
- Steps to go through when releasing a new version of RT.
-
-
-These procedures are based on documentation from the scons project
-as http://www.scons.org/
-
diff --git a/rt/HOWTO/change.txt b/rt/HOWTO/change.txt
deleted file mode 100644
index de316450c..000000000
--- a/rt/HOWTO/change.txt
+++ /dev/null
@@ -1,67 +0,0 @@
-Handling a change set:
-
- -- Start the change:
-
- aedist -r [if it's a remote submission]
-
- -or-
-
- aedb {cnum} [if it's initiated locally]
-
- -- Normal development cycle:
-
- aecd -c {cnum}
- aecp . # Copy the baseline to your working dir
- # work on your change
- aenf {new file names}
-
- aecpu -unch # Remove unchanged files, for faster diffs
- aeb # Currently does nothing
- aet # Currently does nothing
- aed # Diff your change
- aede # End the change
-
- -- As the reviewer:
-
- aerpass {cnum}
-
- -- As the integrator:
-
- aeib {cnum}
- aeb
- aet
- aed
- cd ~ # Get out of the current working directory
- aeipass
-
-
-
-
- -- Update the aedist baseline on the web site:
-
- aedist -s -bl -p rt.2.1 > rt.2.1.ae
- scp rt.2.1.ae jesse@fsck.com:/home/ftp/pub/rt/devel/rt.2.1.ae
- rm rt.2.1.ae
-
- [This will eventually be automated.]
-
- -- Distribute the change to CVS:
-
- WARNING. DOES NOT YET WORK
-
- export CVS_RSH=ssh
- ae2cvs -n -aegis -p rt.2.1 -c {cnum} -u ~/SCons/scons
- ae2cvs -X -aegis -p rt.2.1 -c {cnum} -u ~/SCons/scons
-
- If you need the "ae2cvs" Perl script, you can find a copy
- checked in to the bin/subdirectory.
-
- [This may eventually be automated.]
-
-
-
- -- Grabbing the latest dev sources over ssh
-
- ssh fsck.com "aedist -s -p rt.2.1 -naa -bl -entire-source" | aedist -r
-
-
diff --git a/rt/HOWTO/release.txt b/rt/HOWTO/release.txt
deleted file mode 100644
index 285041c5b..000000000
--- a/rt/HOWTO/release.txt
+++ /dev/null
@@ -1,124 +0,0 @@
-Things to do to release a new version of rt:
-
- Build and test candidate packages
-
- Read through the README and src/README.txt files for any updates
-
- Prepare ChangeLog
-
- date -R the latest release
-
- should be current if this has been updated as each
- change went in.
-
- [ Should be automated ]
-
-
- TODO: nothing below this line is accurate for RT
-
- END THE BRANCH
-
- ae_p rt.2
- aede {5}
- aerpass {5}
- aeib {5}
- aeb
- aet
- aet -reg
- aed
- aeipass
-
- START THE NEW BRANCH
-
- aenbr -p rt.2 {6}
- aenc -p rt.2.{6}
-
- Call it something like, "Initialize the new
- branch." Cause = internal_enhancement. Exempt
- it from all tests (*_exempt = true).
-
- ae_p rt.2.{6}
-
- aedb 100
-
- aecd
-
- # Change the hard-coded package version numbers
- # in the following files.
- aecp rttruct debian/changelog rpm/rt.spec
-
- vi rttruct debian/changelog rpm/rt.spec
-
- # Optionally, do the same in the following:
- [optional] aecp HOWTO/change.txt
- [optional] aecp HOWTO/release.txt
- [optional] aecp debian/rt.postinst
-
- [optional] vi HOWTO/change.txt
- [optional] vi HOWTO/release.txt
- [optional] vi debian/rt.postinst
-
- aeb
-
- aet -reg
-
- aed
-
- aede
-
- etc.
-
-
- Read through the FAQ for any updates
-
- Test downloading from the web site download page
-
-
- In the Bugs Tracker, add a Group for the new release (0.05)
-
- Announce to the following mailing lists (template below):
-
- rt-announce@lists.fsck.com
-
-
- Notify www.cmtoday.com/contribute.html
-
- [This guy wants an announcement no more frequently than
- once a month, so save it for a future release if it's
- been too soon since the previous one.]
-
- Notify freshmeat.net
-
- [Wait until the morning so the announcement hits the
- main freshmeat.net page while people in the U.S. are
- awake and working]
-
-
-
-
-=======================
-
-Template release announcement:
-
-
-
-Version 2.1.XXX of rt has been released and is available for download
-from the rt web site:
-
- http://bestpractical.com/rt/
-
-
-
-WHAT'S NEW IN THIS RELEASE?
-
-Version 2.1.XXX of rt contains the following important changes:
-
- - XXX
-
-For a complete list of changes in version 2.1.XXX, see the CHANGES.txt
-file in the release itself.
-
-
-WHAT IS RT?
-
- FILL THIS IN
diff --git a/rt/HOWTO/version-control.txt b/rt/HOWTO/version-control.txt
deleted file mode 100644
index 06babfdf1..000000000
--- a/rt/HOWTO/version-control.txt
+++ /dev/null
@@ -1,41 +0,0 @@
-Using Aegis for RT development
-
- 1. The main line of RT development will be under the control
- of the Aegis change management system, as administered by
- Best Practical Solutions, LLC
-
- 2. We will use aedist to generate change sets for each change
- checked in to the main Aegis repository. These change sets will be
- either distributed by a mailing list or made available via the web,
- or both.
-
- 3. Remote developers using Aegis will send aedist output for
- their changes to rt-patches@bestpractical.com for review and
- integration.
-
- 4. The aedist output should be sent to rt-patches@bestpractical.com
- after the change has completed its local aede, but before aerpass.
-
- 5. If the change is rejected, the developer can aedeu to reopen
- the change and fix whatever problems caused the review to not pass.
-
- 6. A baseline snapshot (aedist -bl) of the main Aegis repository
- will be generated at least daily and made available via http
- to provide a central location for synchronizing remote Aegis
- repositories.
-
- 7. Changes to the main Aegis repository will also be propagated
- automatically to the tracking CVS repository.
-
-Using CVS for RT development
-
- 1. CVS is accessed via anonymous cvs with the following CVSROOT:
-
- :pserver:anoncvs@cvs.fsck.com:/raid/cvsroot/rt-2-1
-
- 2. Remote developers using CVS will send patches (cvs -diff
- output) to rt-patches@bestpractical.com for integration into the
- main Aegis repository. This allows anonymous CVS access to be used
- for RT development by developers who are unable to use Aegis.
-
-
diff --git a/rt/Makefile b/rt/Makefile
deleted file mode 100644
index 0895874fb..000000000
--- a/rt/Makefile
+++ /dev/null
@@ -1,490 +0,0 @@
-# BEGIN LICENSE BLOCK
-#
-# Copyright (c) 1996-2003 Jesse Vincent <jesse@bestpractical.com>
-#
-# (Except where explictly superceded by other copyright notices)
-#
-# This work is made available to you under the terms of Version 2 of
-# the GNU General Public License. A copy of that license should have
-# been provided with this software, but in any event can be snarfed
-# from www.gnu.org.
-#
-# This work is distributed in the hope that it will be useful, but
-# WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-# General Public License for more details.
-#
-# Unless otherwise specified, all modifications, corrections or
-# extensions to this work which alter its source code become the
-# property of Best Practical Solutions, LLC when submitted for
-# inclusion in the work.
-#
-#
-# END LICENSE BLOCK
-#
-# DO NOT HAND-EDIT the file named 'Makefile'. This file is autogenerated.
-# Have a look at "configure" and "Makefile.in" instead
-#
-
-
-PERL = /usr/bin/perl
-
-CONFIG_FILE_PATH = /opt/rt3/etc
-CONFIG_FILE = $(CONFIG_FILE_PATH)/RT_Config.pm
-SITE_CONFIG_FILE = $(CONFIG_FILE_PATH)/RT_SiteConfig.pm
-
-
-RT_VERSION_MAJOR = 3
-RT_VERSION_MINOR = 0
-RT_VERSION_PATCH = 9
-
-RT_VERSION = $(RT_VERSION_MAJOR).$(RT_VERSION_MINOR).$(RT_VERSION_PATCH)
-TAG = rt-$(RT_VERSION_MAJOR)-$(RT_VERSION_MINOR)-$(RT_VERSION_PATCH)
-
-
-# This is the group that all of the installed files will be chgrp'ed to.
-RTGROUP = rt
-
-
-# User which should own rt binaries.
-BIN_OWNER = root
-
-# User that should own all of RT's libraries, generally root.
-LIBS_OWNER = root
-
-# Group that should own all of RT's libraries, generally root.
-LIBS_GROUP = bin
-
-WEB_USER = www
-WEB_GROUP = www
-
-# {{{ Files and directories
-
-# DESTDIR allows you to specify that RT be installed somewhere other than
-# where it will eventually reside
-
-DESTDIR =
-
-
-RT_PATH = /opt/rt3
-RT_ETC_PATH = /opt/rt3/etc
-RT_BIN_PATH = /opt/rt3/bin
-RT_SBIN_PATH = /opt/rt3/sbin
-RT_LIB_PATH = /opt/rt3/lib
-RT_MAN_PATH = /opt/rt3/man
-RT_VAR_PATH = /opt/rt3/var
-RT_DOC_PATH = /opt/rt3/share/doc
-RT_LOCAL_PATH = /opt/rt3/local
-LOCAL_ETC_PATH = /opt/rt3/local/etc
-LOCAL_LEXICON_PATH = /opt/rt3/local/po
-MASON_HTML_PATH = /opt/rt3/share/html
-MASON_LOCAL_HTML_PATH = /opt/rt3/local/html
-MASON_DATA_PATH = /opt/rt3/var/mason_data
-MASON_SESSION_PATH = /opt/rt3/var/session_data
-RT_LOG_PATH = /opt/rt3/var/log
-
-# RT_READABLE_DIR_MODE is the mode of directories that are generally meant
-# to be accessable
-RT_READABLE_DIR_MODE = 0755
-
-
-
-
-# {{{ all these define the places that RT's binaries should get installed
-
-# RT_MODPERL_HANDLER is the mason handler script for mod_perl
-RT_MODPERL_HANDLER = $(RT_BIN_PATH)/webmux.pl
-# RT_FASTCGI_HANDLER is the mason handler script for FastCGI
-RT_FASTCGI_HANDLER = $(RT_BIN_PATH)/mason_handler.fcgi
-# RT_WIN32_FASTCGI_HANDLER is the mason handler script for FastCGI
-RT_WIN32_FASTCGI_HANDLER = $(RT_BIN_PATH)/mason_handler.svc
-# RT's CLI
-RT_CLI_BIN = $(RT_BIN_PATH)/rt
-# RT's mail gateway
-RT_MAILGATE_BIN = $(RT_BIN_PATH)/rt-mailgate
-# RT's cron tool
-RT_CRON_BIN = $(RT_BIN_PATH)/rt-crontool
-
-# }}}
-
-SETGID_BINARIES = $(DESTDIR)/$(RT_FASTCGI_HANDLER) \
- $(DESTDIR)/$(RT_WIN32_FASTCGI_HANDLER)
-
-BINARIES = $(DESTDIR)/$(RT_MODPERL_HANDLER) \
- $(DESTDIR)/$(RT_MAILGATE_BIN) \
- $(DESTDIR)/$(RT_CLI_BIN) \
- $(DESTDIR)/$(RT_CRON_BIN) \
- $(SETGID_BINARIES)
-SYSTEM_BINARIES = $(DESTDIR)/$(RT_SBIN_PATH)/
-
-
-# }}}
-
-# {{{ Database setup
-
-#
-# DB_TYPE defines what sort of database RT trys to talk to
-# "mysql" is known to work.
-# "Pg" is known to work
-# "Informix" is known to work
-
-DB_TYPE = mysql
-
-# Set DBA to the name of a unix account with the proper permissions and
-# environment to run your commandline SQL sbin
-
-# Set DB_DBA to the name of a DB user with permission to create new databases
-
-# For mysql, you probably want 'root'
-# For Pg, you probably want 'postgres'
-# For Oracle, you want 'system'
-# For Informix, you want 'informix'
-
-DB_DBA = root
-
-DB_HOST = localhost
-
-# If you're not running your database server on its default port,
-# specifiy the port the database server is running on below.
-# It's generally safe to leave this blank
-
-DB_PORT =
-
-
-
-
-#
-# Set this to the canonical name of the interface RT will be talking to the
-# database on. If you said that the RT_DB_HOST above was "localhost," this
-# should be too. This value will be used to grant rt access to the database.
-# If you want to access the RT database from multiple hosts, you'll need
-# to grant those database rights by hand.
-#
-
-DB_RT_HOST = localhost
-
-# set this to the name you want to give to the RT database in
-# your database server. For Oracle, this should be the name of your sid
-
-DB_DATABASE = rt3
-DB_RT_USER = rt_user
-DB_RT_PASS = rt_pass
-
-# }}}
-
-
-####################################################################
-
-all: default
-
-default:
- @echo "Please read RT's readme before installing. Not doing so could"
- @echo "be dangerous."
-
-
-
-instruct:
- @echo "Congratulations. RT has been installed. "
- @echo ""
- @echo ""
- @echo "You must now configure RT by editing $(SITE_CONFIG_FILE)."
- @echo ""
- @echo "(You will definitely need to set RT's database password before continuing."
- @echo " Not doing so could be very dangerous)"
- @echo ""
- @echo "After that, you need to initialize RT's database by running"
- @echo " 'make initialize-database'"
-
-# @echo " or by executing "
-# @echo " '$(RT_SBIN_PATH)/rt-setup-database --action init \ "
-# @echo " --dba $(DB_DBA) --prompt-for-dba-password'"
-
-
-
-upgrade-instruct:
- @echo "Congratulations. RT has been upgraded. You should now check-over"
- @echo "$(CONFIG_FILE) for any necessary site customization. Additionally,"
- @echo "you should update RT's system database objects by running "
- @echo " ls etc/upgrade"
- @echo "For each file in that directory whose name is greater than"
- @echo "your previously installed RT version, run:"
- @echo " $(RT_SBIN_PATH)/rt-setup-database --action insert --datafile etc/upgrade/<version>"
-
-
-upgrade: config-install dirs files-install fixperms upgrade-instruct
-
-upgrade-noclobber: config-install libs-install html-install bin-install local-install doc-install fixperms
-
-
-# {{{ dependencies
-testdeps:
- $(PERL) ./sbin/rt-test-dependencies --with-$(DB_TYPE)
-
-fixdeps:
- $(PERL) ./sbin/rt-test-dependencies --install --with-$(DB_TYPE)
-
-#}}}
-
-# {{{ fixperms
-fixperms:
- # Make the libraries readable
- chmod $(RT_READABLE_DIR_MODE) $(DESTDIR)/$(RT_PATH)
- chown -R $(LIBS_OWNER) $(DESTDIR)/$(RT_LIB_PATH)
- chgrp -R $(LIBS_GROUP) $(DESTDIR)/$(RT_LIB_PATH)
- chmod -R u+rwX,go-w,go+rX $(DESTDIR)/$(RT_LIB_PATH)
-
-
- chmod $(RT_READABLE_DIR_MODE) $(DESTDIR)/$(RT_BIN_PATH)
- chmod $(RT_READABLE_DIR_MODE) $(DESTDIR)/$(RT_BIN_PATH)
-
- chmod 0755 $(DESTDIR)/$(RT_ETC_PATH)
- chmod 0500 $(DESTDIR)/$(RT_ETC_PATH)/*
-
- #TODO: the config file should probably be able to have its
- # owner set seperately from the binaries.
- chown -R $(BIN_OWNER) $(DESTDIR)/$(RT_ETC_PATH)
- chgrp -R $(RTGROUP) $(DESTDIR)/$(RT_ETC_PATH)
-
- chmod 0550 $(DESTDIR)/$(CONFIG_FILE)
- chmod 0550 $(DESTDIR)/$(SITE_CONFIG_FILE)
-
- # Make the interfaces executable and setgid rt
- chown $(BIN_OWNER) $(BINARIES)
- chgrp $(RTGROUP) $(BINARIES)
- chmod 0755 $(BINARIES)
- chmod g+s $(SETGID_BINARIES)
-
- # Make the web ui readable by all.
- chmod -R u+rwX,go-w,go+rX $(DESTDIR)/$(MASON_HTML_PATH) \
- $(DESTDIR)/$(MASON_LOCAL_HTML_PATH) \
- $(DESTDIR)/$(LOCAL_LEXICON_PATH)
- chown -R $(LIBS_OWNER) $(DESTDIR)/$(MASON_HTML_PATH) \
- $(DESTDIR)/$(MASON_LOCAL_HTML_PATH)
- chgrp -R $(LIBS_GROUP) $(DESTDIR)/$(MASON_HTML_PATH) \
- $(DESTDIR)/$(MASON_LOCAL_HTML_PATH)
-
- # Make the web ui's data dir writable
- chmod 0770 $(DESTDIR)/$(MASON_DATA_PATH) \
- $(DESTDIR)/$(MASON_SESSION_PATH)
- chown -R $(WEB_USER) $(DESTDIR)/$(MASON_DATA_PATH) \
- $(DESTDIR)/$(MASON_SESSION_PATH)
- chgrp -R $(WEB_GROUP) $(DESTDIR)/$(MASON_DATA_PATH) \
- $(DESTDIR)/$(MASON_SESSION_PATH)
-# }}}
-
-fixperms-nosetgid: fixperms
- @echo "You should never be running RT this way. it's unsafe"
- chmod 0555 $(SETGID_BINARIES)
- chmod 0555 $(DESTDIR)/$(CONFIG_FILE)
- chmod 0555 $(DESTDIR)/$(SITE_CONFIG_FILE)
-
-# {{{ dirs
-dirs:
- mkdir -p $(DESTDIR)/$(RT_LOG_PATH)
- mkdir -p $(DESTDIR)/$(MASON_DATA_PATH)
- mkdir -p $(DESTDIR)/$(MASON_DATA_PATH)/cache
- mkdir -p $(DESTDIR)/$(MASON_DATA_PATH)/etc
- mkdir -p $(DESTDIR)/$(MASON_DATA_PATH)/obj
- mkdir -p $(DESTDIR)/$(MASON_SESSION_PATH)
- mkdir -p $(DESTDIR)/$(MASON_HTML_PATH)
- mkdir -p $(DESTDIR)/$(MASON_LOCAL_HTML_PATH)
- mkdir -p $(DESTDIR)/$(LOCAL_ETC_PATH)
- mkdir -p $(DESTDIR)/$(LOCAL_LEXICON_PATH)
-# }}}
-
-install: config-install dirs files-install fixperms instruct
-
-files-install: libs-install etc-install bin-install sbin-install html-install local-install doc-install
-
-config-install:
- mkdir -p $(DESTDIR)/$(CONFIG_FILE_PATH)
- cp etc/RT_Config.pm $(DESTDIR)/$(CONFIG_FILE)
- [ -f $(DESTDIR)/$(SITE_CONFIG_FILE) ] || cp etc/RT_SiteConfig.pm $(DESTDIR)/$(SITE_CONFIG_FILE)
-
- chgrp $(RTGROUP) $(DESTDIR)/$(CONFIG_FILE)
- chown $(BIN_OWNER) $(DESTDIR)/$(CONFIG_FILE)
-
- chgrp $(RTGROUP) $(DESTDIR)/$(SITE_CONFIG_FILE)
- chown $(BIN_OWNER) $(DESTDIR)/$(SITE_CONFIG_FILE)
-
- @echo "Installed configuration. about to install rt in $(RT_PATH)"
-
-test:
- $(PERL) -Ilib lib/t/00smoke.t
-
-regression-install: config-install
- $(PERL) -pi -e 's/Set\(\$$DatabaseName.*\);/Set\(\$$DatabaseName, "rt3regression"\);/' $(DESTDIR)/$(CONFIG_FILE)
-
-regression-nosetgid-quiet: regression-install dirs files-install libs-install sbin-install bin-install regression-instruct regression-reset-db testify-pods fixperms-nosetgid apachectl
- $(PERL) sbin/regression_harness
-
-regression-nosetgid: regression-install dirs files-install libs-install sbin-install bin-install regression-instruct regression-reset-db testify-pods fixperms-nosetgid apachectl
- $(PERL) lib/t/02regression.t
-
-regression: regression-install dirs files-install libs-install sbin-install bin-install regression-instruct regression-reset-db testify-pods fixperms apachectl
- $(PERL) lib/t/02regression.t
-
-regression-quiet:
- $(PERL) sbin/regression_harness
-
-regression-instruct:
- @echo "About to wipe your database for a regression test. ABORT NOW with Control-C"
-
-
-# {{{ database-installation
-
-regression-reset-db:
- $(PERL) $(DESTDIR)/$(RT_SBIN_PATH)/rt-setup-database --action drop --dba $(DB_DBA) --dba-password ''
- $(PERL) $(DESTDIR)/$(RT_SBIN_PATH)/rt-setup-database --action init --dba $(DB_DBA) --dba-password ''
-
-initialize-database:
- $(PERL) $(DESTDIR)/$(RT_SBIN_PATH)/rt-setup-database --action init --dba $(DB_DBA) --prompt-for-dba-password
-
-dropdb:
- $(PERL) $(DESTDIR)/$(RT_SBIN_PATH)/rt-setup-database --action drop --dba $(DB_DBA) --prompt-for-dba-password
-
-insert-approval-data:
- $(PERL) $(DESTDIR)/$(RT_SBIN_PATH)/insert_approval_scrips
-# }}}
-
-# {{{ libs-install
-libs-install:
- [ -d $(DESTDIR)/$(RT_LIB_PATH) ] || mkdir $(DESTDIR)/$(RT_LIB_PATH)
- -cp -rp lib/* $(DESTDIR)/$(RT_LIB_PATH)
-# }}}
-
-# {{{ html-install
-html-install:
- [ -d $(DESTDIR)/$(MASON_HTML_PATH) ] || mkdir $(DESTDIR)/$(MASON_HTML_PATH)
- -cp -rp ./html/* $(DESTDIR)/$(MASON_HTML_PATH)
-# }}}
-
-# {{{ doc-install
-doc-install:
- # RT 3.0.0 - RT 3.0.2 would accidentally create a file instead of a dir
- -[ -f $(DESTDIR)/$(RT_DOC_PATH) ] && rm $(DESTDIR)/$(RT_DOC_PATH)
- [ -d $(DESTDIR)/$(RT_DOC_PATH) ] || mkdir $(DESTDIR)/$(RT_DOC_PATH)
- -cp -rp ./README $(DESTDIR)/$(RT_DOC_PATH)
-# }}}
-
-# {{{ etc-install
-
-etc-install:
- mkdir -p $(DESTDIR)/$(RT_ETC_PATH)
- -cp -rp \
- etc/acl.* \
- etc/initialdata \
- etc/schema.* \
- $(DESTDIR)/$(RT_ETC_PATH)
-# }}}
-
-# {{{ sbin-install
-
-sbin-install:
- mkdir -p $(DESTDIR)/$(RT_SBIN_PATH)
- chmod +x sbin/rt-setup-database \
- sbin/rt-test-dependencies
- -cp -rp \
- sbin/rt-setup-database \
- sbin/rt-test-dependencies \
- $(DESTDIR)/$(RT_SBIN_PATH)
-
-# }}}
-
-# {{{ bin-install
-
-bin-install:
- mkdir -p $(DESTDIR)/$(RT_BIN_PATH)
- chmod +x bin/rt-mailgate \
- bin/rt-crontool
- -cp -rp \
- bin/rt-mailgate \
- bin/mason_handler.fcgi \
- bin/mason_handler.scgi \
- bin/mason_handler.svc \
- bin/rt \
- bin/webmux.pl \
- bin/rt-crontool \
- $(DESTDIR)/$(RT_BIN_PATH)
-# }}}
-
-# {{{ local-install
-local-install:
- -cp -rp ./local/html/* $(DESTDIR)/$(MASON_LOCAL_HTML_PATH)
- -cp -rp ./local/po/* $(DESTDIR)/$(LOCAL_LEXICON_PATH)
- -cp -rp ./local/etc/* $(DESTDIR)/$(LOCAL_ETC_PATH)
-# }}}
-
-# {{{ Best Practical Build targets -- no user servicable parts inside
-
-
-POD2TEST_EXE = sbin/extract_pod_tests
-
-testify-pods:
- [ -d lib/t/autogen ] || mkdir lib/t/autogen
- find lib -name \*pm |grep -v \*.in |xargs -n 1 $(PERL) $(POD2TEST_EXE)
- find bin -type f |grep -v \~ | grep -v "\.in" | xargs -n 1 $(PERL) $(POD2TEST_EXE)
-
-
-
-regenerate-catalogs:
- $(PERL) sbin/extract-message-catalog
-
-license-tag:
- $(PERL) sbin/license_tag
-
-factory: initialize-database
- cd lib; $(PERL) ../sbin/factory $(DB_DATABASE) RT
-
-commit:
- aegis -build ; aegis -diff ; aegis -test; aegis -develop_end
-
-integrate:
- aegis -integrate_begin; aegis -build; aegis -diff; aegis -test ; aegis -integrate_pass
-
-predist: commit tag-and-tar
-
-tag-and-release-baseline:
- aegis -cp -ind Makefile -output /tmp/Makefile.tagandrelease; \
- $(MAKE) -f /tmp/Makefile.tagandrelease tag-and-release-never-by-hand
-
-
-# Running this target in a working directory is
-# WRONG WRONG WRONG.
-# it will tag the current baseline with the version of RT defined
-# in the currently-being-worked-on makefile. which is wrong.
-# you want tag-and-release-baseline
-
-tag-and-release-never-by-hand:
- aegis --delta-name $(TAG)
- rm -rf /tmp/$(TAG)
- mkdir /tmp/$(TAG)
- cd /tmp/$(TAG); \
- aegis -cp -ind -delta $(TAG) . ;\
- make reconfigure;\
- chmod 600 Makefile;\
- aegis --report --project rt.$(RT_VERSION_MAJOR) \
- --page_width 80 \
- --page_length 9999 \
- --change $(RT_VERSION_MINOR) --output Changelog Change_Log
-
- cd /tmp; tar czvf /home/ftp/pub/rt/devel/$(TAG).tar.gz $(TAG)/
- chmod 644 /home/ftp/pub/rt/devel/$(TAG).tar.gz
-
-
-reconfigure:
- aclocal -I m4
- autoconf
- chmod 755 ./configure
- ./configure
-
-rpm:
- (cd ..; tar czvf /usr/src/redhat/SOURCES/rt.tar.gz rt)
- rpm -ba etc/rt.spec
-
-
-apachectl:
- apachectl stop
- sleep 3
- apachectl start
-# }}}
diff --git a/rt/autom4te.cache/output.0 b/rt/autom4te.cache/output.0
deleted file mode 100644
index 3d27db94f..000000000
--- a/rt/autom4te.cache/output.0
+++ /dev/null
@@ -1,2771 +0,0 @@
-@%:@! /bin/sh
-@%:@ From configure.ac Revision: 1.1 .
-@%:@ Guess values for system-dependent variables and create Makefiles.
-@%:@ Generated by GNU Autoconf 2.53 for RT 3.0.9.
-@%:@
-@%:@ Report bugs to <rt-3.0-bugs@fsck.com>.
-@%:@
-@%:@ Copyright 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001, 2002
-@%:@ Free Software Foundation, Inc.
-@%:@ This configure script is free software; the Free Software Foundation
-@%:@ gives unlimited permission to copy, distribute and modify it.
-
-if expr a : '\(a\)' >/dev/null 2>&1; then
- as_expr=expr
-else
- as_expr=false
-fi
-
-
-## --------------------- ##
-## M4sh Initialization. ##
-## --------------------- ##
-
-# Be Bourne compatible
-if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then
- emulate sh
- NULLCMD=:
-elif test -n "${BASH_VERSION+set}" && (set -o posix) >/dev/null 2>&1; then
- set -o posix
-fi
-
-# NLS nuisances.
-# Support unset when possible.
-if (FOO=FOO; unset FOO) >/dev/null 2>&1; then
- as_unset=unset
-else
- as_unset=false
-fi
-
-(set +x; test -n "`(LANG=C; export LANG) 2>&1`") &&
- { $as_unset LANG || test "${LANG+set}" != set; } ||
- { LANG=C; export LANG; }
-(set +x; test -n "`(LC_ALL=C; export LC_ALL) 2>&1`") &&
- { $as_unset LC_ALL || test "${LC_ALL+set}" != set; } ||
- { LC_ALL=C; export LC_ALL; }
-(set +x; test -n "`(LC_TIME=C; export LC_TIME) 2>&1`") &&
- { $as_unset LC_TIME || test "${LC_TIME+set}" != set; } ||
- { LC_TIME=C; export LC_TIME; }
-(set +x; test -n "`(LC_CTYPE=C; export LC_CTYPE) 2>&1`") &&
- { $as_unset LC_CTYPE || test "${LC_CTYPE+set}" != set; } ||
- { LC_CTYPE=C; export LC_CTYPE; }
-(set +x; test -n "`(LANGUAGE=C; export LANGUAGE) 2>&1`") &&
- { $as_unset LANGUAGE || test "${LANGUAGE+set}" != set; } ||
- { LANGUAGE=C; export LANGUAGE; }
-(set +x; test -n "`(LC_COLLATE=C; export LC_COLLATE) 2>&1`") &&
- { $as_unset LC_COLLATE || test "${LC_COLLATE+set}" != set; } ||
- { LC_COLLATE=C; export LC_COLLATE; }
-(set +x; test -n "`(LC_NUMERIC=C; export LC_NUMERIC) 2>&1`") &&
- { $as_unset LC_NUMERIC || test "${LC_NUMERIC+set}" != set; } ||
- { LC_NUMERIC=C; export LC_NUMERIC; }
-(set +x; test -n "`(LC_MESSAGES=C; export LC_MESSAGES) 2>&1`") &&
- { $as_unset LC_MESSAGES || test "${LC_MESSAGES+set}" != set; } ||
- { LC_MESSAGES=C; export LC_MESSAGES; }
-
-
-# Name of the executable.
-as_me=`(basename "$0") 2>/dev/null ||
-$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \
- X"$0" : 'X\(//\)$' \| \
- X"$0" : 'X\(/\)$' \| \
- . : '\(.\)' 2>/dev/null ||
-echo X/"$0" |
- sed '/^.*\/\([^/][^/]*\)\/*$/{ s//\1/; q; }
- /^X\/\(\/\/\)$/{ s//\1/; q; }
- /^X\/\(\/\).*/{ s//\1/; q; }
- s/.*/./; q'`
-
-# PATH needs CR, and LINENO needs CR and PATH.
-# Avoid depending upon Character Ranges.
-as_cr_letters='abcdefghijklmnopqrstuvwxyz'
-as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ'
-as_cr_Letters=$as_cr_letters$as_cr_LETTERS
-as_cr_digits='0123456789'
-as_cr_alnum=$as_cr_Letters$as_cr_digits
-
-# The user is always right.
-if test "${PATH_SEPARATOR+set}" != set; then
- echo "#! /bin/sh" >conftest.sh
- echo "exit 0" >>conftest.sh
- chmod +x conftest.sh
- if (PATH=".;."; conftest.sh) >/dev/null 2>&1; then
- PATH_SEPARATOR=';'
- else
- PATH_SEPARATOR=:
- fi
- rm -f conftest.sh
-fi
-
-
- as_lineno_1=$LINENO
- as_lineno_2=$LINENO
- as_lineno_3=`(expr $as_lineno_1 + 1) 2>/dev/null`
- test "x$as_lineno_1" != "x$as_lineno_2" &&
- test "x$as_lineno_3" = "x$as_lineno_2" || {
- # Find who we are. Look in the path if we contain no path at all
- # relative or not.
- case $0 in
- *[\\/]* ) as_myself=$0 ;;
- *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break
-done
-
- ;;
- esac
- # We did not find ourselves, most probably we were run as `sh COMMAND'
- # in which case we are not to be found in the path.
- if test "x$as_myself" = x; then
- as_myself=$0
- fi
- if test ! -f "$as_myself"; then
- { echo "$as_me: error: cannot find myself; rerun with an absolute path" >&2
- { (exit 1); exit 1; }; }
- fi
- case $CONFIG_SHELL in
- '')
- as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for as_base in sh bash ksh sh5; do
- case $as_dir in
- /*)
- if ("$as_dir/$as_base" -c '
- as_lineno_1=$LINENO
- as_lineno_2=$LINENO
- as_lineno_3=`(expr $as_lineno_1 + 1) 2>/dev/null`
- test "x$as_lineno_1" != "x$as_lineno_2" &&
- test "x$as_lineno_3" = "x$as_lineno_2" ') 2>/dev/null; then
- CONFIG_SHELL=$as_dir/$as_base
- export CONFIG_SHELL
- exec "$CONFIG_SHELL" "$0" ${1+"$@"}
- fi;;
- esac
- done
-done
-;;
- esac
-
- # Create $as_me.lineno as a copy of $as_myself, but with $LINENO
- # uniformly replaced by the line number. The first 'sed' inserts a
- # line-number line before each line; the second 'sed' does the real
- # work. The second script uses 'N' to pair each line-number line
- # with the numbered line, and appends trailing '-' during
- # substitution so that $LINENO is not a special case at line end.
- # (Raja R Harinath suggested sed '=', and Paul Eggert wrote the
- # second 'sed' script. Blame Lee E. McMahon for sed's syntax. :-)
- sed '=' <$as_myself |
- sed '
- N
- s,$,-,
- : loop
- s,^\(['$as_cr_digits']*\)\(.*\)[$]LINENO\([^'$as_cr_alnum'_]\),\1\2\1\3,
- t loop
- s,-$,,
- s,^['$as_cr_digits']*\n,,
- ' >$as_me.lineno &&
- chmod +x $as_me.lineno ||
- { echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2
- { (exit 1); exit 1; }; }
-
- # Don't try to exec as it changes $[0], causing all sort of problems
- # (the dirname of $[0] is not the place where we might find the
- # original and so on. Autoconf is especially sensible to this).
- . ./$as_me.lineno
- # Exit status is that of the last command.
- exit
-}
-
-
-case `echo "testing\c"; echo 1,2,3`,`echo -n testing; echo 1,2,3` in
- *c*,-n*) ECHO_N= ECHO_C='
-' ECHO_T=' ' ;;
- *c*,* ) ECHO_N=-n ECHO_C= ECHO_T= ;;
- *) ECHO_N= ECHO_C='\c' ECHO_T= ;;
-esac
-
-if expr a : '\(a\)' >/dev/null 2>&1; then
- as_expr=expr
-else
- as_expr=false
-fi
-
-rm -f conf$$ conf$$.exe conf$$.file
-echo >conf$$.file
-if ln -s conf$$.file conf$$ 2>/dev/null; then
- # We could just check for DJGPP; but this test a) works b) is more generic
- # and c) will remain valid once DJGPP supports symlinks (DJGPP 2.04).
- if test -f conf$$.exe; then
- # Don't use ln at all; we don't have any links
- as_ln_s='cp -p'
- else
- as_ln_s='ln -s'
- fi
-elif ln conf$$.file conf$$ 2>/dev/null; then
- as_ln_s=ln
-else
- as_ln_s='cp -p'
-fi
-rm -f conf$$ conf$$.exe conf$$.file
-
-as_executable_p="test -f"
-
-# Sed expression to map a string onto a valid CPP name.
-as_tr_cpp="sed y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g"
-
-# Sed expression to map a string onto a valid variable name.
-as_tr_sh="sed y%*+%pp%;s%[^_$as_cr_alnum]%_%g"
-
-
-# IFS
-# We need space, tab and new line, in precisely that order.
-as_nl='
-'
-IFS=" $as_nl"
-
-# CDPATH.
-$as_unset CDPATH || test "${CDPATH+set}" != set || { CDPATH=$PATH_SEPARATOR; export CDPATH; }
-
-
-# Name of the host.
-# hostname on some systems (SVR3.2, Linux) returns a bogus exit status,
-# so uname gets run too.
-ac_hostname=`(hostname || uname -n) 2>/dev/null | sed 1q`
-
-exec 6>&1
-
-#
-# Initializations.
-#
-ac_default_prefix=/usr/local
-cross_compiling=no
-subdirs=
-MFLAGS=
-MAKEFLAGS=
-SHELL=${CONFIG_SHELL-/bin/sh}
-
-# Maximum number of lines to put in a shell here document.
-# This variable seems obsolete. It should probably be removed, and
-# only ac_max_sed_lines should be used.
-: ${ac_max_here_lines=38}
-
-# Identity of this package.
-PACKAGE_NAME='RT'
-PACKAGE_TARNAME='rt'
-PACKAGE_VERSION='3.0.9'
-PACKAGE_STRING='RT 3.0.9'
-PACKAGE_BUGREPORT='rt-3.0-bugs@fsck.com'
-
-ac_unique_file="lib/RT.pm.in"
-ac_default_prefix=/opt/rt3
-
-# Initialize some variables set by options.
-ac_init_help=
-ac_init_version=false
-# The variables have the same names as the options, with
-# dashes changed to underlines.
-cache_file=/dev/null
-exec_prefix=NONE
-no_create=
-no_recursion=
-prefix=NONE
-program_prefix=NONE
-program_suffix=NONE
-program_transform_name=s,x,x,
-silent=
-site=
-srcdir=
-verbose=
-x_includes=NONE
-x_libraries=NONE
-
-# Installation directory options.
-# These are left unexpanded so users can "make install exec_prefix=/foo"
-# and all the variables that are supposed to be based on exec_prefix
-# by default will actually change.
-# Use braces instead of parens because sh, perl, etc. also accept them.
-bindir='${exec_prefix}/bin'
-sbindir='${exec_prefix}/sbin'
-libexecdir='${exec_prefix}/libexec'
-datadir='${prefix}/share'
-sysconfdir='${prefix}/etc'
-sharedstatedir='${prefix}/com'
-localstatedir='${prefix}/var'
-libdir='${exec_prefix}/lib'
-includedir='${prefix}/include'
-oldincludedir='/usr/include'
-infodir='${prefix}/info'
-mandir='${prefix}/man'
-
-ac_prev=
-for ac_option
-do
- # If the previous option needs an argument, assign it.
- if test -n "$ac_prev"; then
- eval "$ac_prev=\$ac_option"
- ac_prev=
- continue
- fi
-
- ac_optarg=`expr "x$ac_option" : 'x[^=]*=\(.*\)'`
-
- # Accept the important Cygnus configure options, so we can diagnose typos.
-
- case $ac_option in
-
- -bindir | --bindir | --bindi | --bind | --bin | --bi)
- ac_prev=bindir ;;
- -bindir=* | --bindir=* | --bindi=* | --bind=* | --bin=* | --bi=*)
- bindir=$ac_optarg ;;
-
- -build | --build | --buil | --bui | --bu)
- ac_prev=build_alias ;;
- -build=* | --build=* | --buil=* | --bui=* | --bu=*)
- build_alias=$ac_optarg ;;
-
- -cache-file | --cache-file | --cache-fil | --cache-fi \
- | --cache-f | --cache- | --cache | --cach | --cac | --ca | --c)
- ac_prev=cache_file ;;
- -cache-file=* | --cache-file=* | --cache-fil=* | --cache-fi=* \
- | --cache-f=* | --cache-=* | --cache=* | --cach=* | --cac=* | --ca=* | --c=*)
- cache_file=$ac_optarg ;;
-
- --config-cache | -C)
- cache_file=config.cache ;;
-
- -datadir | --datadir | --datadi | --datad | --data | --dat | --da)
- ac_prev=datadir ;;
- -datadir=* | --datadir=* | --datadi=* | --datad=* | --data=* | --dat=* \
- | --da=*)
- datadir=$ac_optarg ;;
-
- -disable-* | --disable-*)
- ac_feature=`expr "x$ac_option" : 'x-*disable-\(.*\)'`
- # Reject names that are not valid shell variable names.
- expr "x$ac_feature" : ".*[^-_$as_cr_alnum]" >/dev/null &&
- { echo "$as_me: error: invalid feature name: $ac_feature" >&2
- { (exit 1); exit 1; }; }
- ac_feature=`echo $ac_feature | sed 's/-/_/g'`
- eval "enable_$ac_feature=no" ;;
-
- -enable-* | --enable-*)
- ac_feature=`expr "x$ac_option" : 'x-*enable-\([^=]*\)'`
- # Reject names that are not valid shell variable names.
- expr "x$ac_feature" : ".*[^-_$as_cr_alnum]" >/dev/null &&
- { echo "$as_me: error: invalid feature name: $ac_feature" >&2
- { (exit 1); exit 1; }; }
- ac_feature=`echo $ac_feature | sed 's/-/_/g'`
- case $ac_option in
- *=*) ac_optarg=`echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"`;;
- *) ac_optarg=yes ;;
- esac
- eval "enable_$ac_feature='$ac_optarg'" ;;
-
- -exec-prefix | --exec_prefix | --exec-prefix | --exec-prefi \
- | --exec-pref | --exec-pre | --exec-pr | --exec-p | --exec- \
- | --exec | --exe | --ex)
- ac_prev=exec_prefix ;;
- -exec-prefix=* | --exec_prefix=* | --exec-prefix=* | --exec-prefi=* \
- | --exec-pref=* | --exec-pre=* | --exec-pr=* | --exec-p=* | --exec-=* \
- | --exec=* | --exe=* | --ex=*)
- exec_prefix=$ac_optarg ;;
-
- -gas | --gas | --ga | --g)
- # Obsolete; use --with-gas.
- with_gas=yes ;;
-
- -help | --help | --hel | --he | -h)
- ac_init_help=long ;;
- -help=r* | --help=r* | --hel=r* | --he=r* | -hr*)
- ac_init_help=recursive ;;
- -help=s* | --help=s* | --hel=s* | --he=s* | -hs*)
- ac_init_help=short ;;
-
- -host | --host | --hos | --ho)
- ac_prev=host_alias ;;
- -host=* | --host=* | --hos=* | --ho=*)
- host_alias=$ac_optarg ;;
-
- -includedir | --includedir | --includedi | --included | --include \
- | --includ | --inclu | --incl | --inc)
- ac_prev=includedir ;;
- -includedir=* | --includedir=* | --includedi=* | --included=* | --include=* \
- | --includ=* | --inclu=* | --incl=* | --inc=*)
- includedir=$ac_optarg ;;
-
- -infodir | --infodir | --infodi | --infod | --info | --inf)
- ac_prev=infodir ;;
- -infodir=* | --infodir=* | --infodi=* | --infod=* | --info=* | --inf=*)
- infodir=$ac_optarg ;;
-
- -libdir | --libdir | --libdi | --libd)
- ac_prev=libdir ;;
- -libdir=* | --libdir=* | --libdi=* | --libd=*)
- libdir=$ac_optarg ;;
-
- -libexecdir | --libexecdir | --libexecdi | --libexecd | --libexec \
- | --libexe | --libex | --libe)
- ac_prev=libexecdir ;;
- -libexecdir=* | --libexecdir=* | --libexecdi=* | --libexecd=* | --libexec=* \
- | --libexe=* | --libex=* | --libe=*)
- libexecdir=$ac_optarg ;;
-
- -localstatedir | --localstatedir | --localstatedi | --localstated \
- | --localstate | --localstat | --localsta | --localst \
- | --locals | --local | --loca | --loc | --lo)
- ac_prev=localstatedir ;;
- -localstatedir=* | --localstatedir=* | --localstatedi=* | --localstated=* \
- | --localstate=* | --localstat=* | --localsta=* | --localst=* \
- | --locals=* | --local=* | --loca=* | --loc=* | --lo=*)
- localstatedir=$ac_optarg ;;
-
- -mandir | --mandir | --mandi | --mand | --man | --ma | --m)
- ac_prev=mandir ;;
- -mandir=* | --mandir=* | --mandi=* | --mand=* | --man=* | --ma=* | --m=*)
- mandir=$ac_optarg ;;
-
- -nfp | --nfp | --nf)
- # Obsolete; use --without-fp.
- with_fp=no ;;
-
- -no-create | --no-create | --no-creat | --no-crea | --no-cre \
- | --no-cr | --no-c | -n)
- no_create=yes ;;
-
- -no-recursion | --no-recursion | --no-recursio | --no-recursi \
- | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r)
- no_recursion=yes ;;
-
- -oldincludedir | --oldincludedir | --oldincludedi | --oldincluded \
- | --oldinclude | --oldinclud | --oldinclu | --oldincl | --oldinc \
- | --oldin | --oldi | --old | --ol | --o)
- ac_prev=oldincludedir ;;
- -oldincludedir=* | --oldincludedir=* | --oldincludedi=* | --oldincluded=* \
- | --oldinclude=* | --oldinclud=* | --oldinclu=* | --oldincl=* | --oldinc=* \
- | --oldin=* | --oldi=* | --old=* | --ol=* | --o=*)
- oldincludedir=$ac_optarg ;;
-
- -prefix | --prefix | --prefi | --pref | --pre | --pr | --p)
- ac_prev=prefix ;;
- -prefix=* | --prefix=* | --prefi=* | --pref=* | --pre=* | --pr=* | --p=*)
- prefix=$ac_optarg ;;
-
- -program-prefix | --program-prefix | --program-prefi | --program-pref \
- | --program-pre | --program-pr | --program-p)
- ac_prev=program_prefix ;;
- -program-prefix=* | --program-prefix=* | --program-prefi=* \
- | --program-pref=* | --program-pre=* | --program-pr=* | --program-p=*)
- program_prefix=$ac_optarg ;;
-
- -program-suffix | --program-suffix | --program-suffi | --program-suff \
- | --program-suf | --program-su | --program-s)
- ac_prev=program_suffix ;;
- -program-suffix=* | --program-suffix=* | --program-suffi=* \
- | --program-suff=* | --program-suf=* | --program-su=* | --program-s=*)
- program_suffix=$ac_optarg ;;
-
- -program-transform-name | --program-transform-name \
- | --program-transform-nam | --program-transform-na \
- | --program-transform-n | --program-transform- \
- | --program-transform | --program-transfor \
- | --program-transfo | --program-transf \
- | --program-trans | --program-tran \
- | --progr-tra | --program-tr | --program-t)
- ac_prev=program_transform_name ;;
- -program-transform-name=* | --program-transform-name=* \
- | --program-transform-nam=* | --program-transform-na=* \
- | --program-transform-n=* | --program-transform-=* \
- | --program-transform=* | --program-transfor=* \
- | --program-transfo=* | --program-transf=* \
- | --program-trans=* | --program-tran=* \
- | --progr-tra=* | --program-tr=* | --program-t=*)
- program_transform_name=$ac_optarg ;;
-
- -q | -quiet | --quiet | --quie | --qui | --qu | --q \
- | -silent | --silent | --silen | --sile | --sil)
- silent=yes ;;
-
- -sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb)
- ac_prev=sbindir ;;
- -sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \
- | --sbi=* | --sb=*)
- sbindir=$ac_optarg ;;
-
- -sharedstatedir | --sharedstatedir | --sharedstatedi \
- | --sharedstated | --sharedstate | --sharedstat | --sharedsta \
- | --sharedst | --shareds | --shared | --share | --shar \
- | --sha | --sh)
- ac_prev=sharedstatedir ;;
- -sharedstatedir=* | --sharedstatedir=* | --sharedstatedi=* \
- | --sharedstated=* | --sharedstate=* | --sharedstat=* | --sharedsta=* \
- | --sharedst=* | --shareds=* | --shared=* | --share=* | --shar=* \
- | --sha=* | --sh=*)
- sharedstatedir=$ac_optarg ;;
-
- -site | --site | --sit)
- ac_prev=site ;;
- -site=* | --site=* | --sit=*)
- site=$ac_optarg ;;
-
- -srcdir | --srcdir | --srcdi | --srcd | --src | --sr)
- ac_prev=srcdir ;;
- -srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*)
- srcdir=$ac_optarg ;;
-
- -sysconfdir | --sysconfdir | --sysconfdi | --sysconfd | --sysconf \
- | --syscon | --sysco | --sysc | --sys | --sy)
- ac_prev=sysconfdir ;;
- -sysconfdir=* | --sysconfdir=* | --sysconfdi=* | --sysconfd=* | --sysconf=* \
- | --syscon=* | --sysco=* | --sysc=* | --sys=* | --sy=*)
- sysconfdir=$ac_optarg ;;
-
- -target | --target | --targe | --targ | --tar | --ta | --t)
- ac_prev=target_alias ;;
- -target=* | --target=* | --targe=* | --targ=* | --tar=* | --ta=* | --t=*)
- target_alias=$ac_optarg ;;
-
- -v | -verbose | --verbose | --verbos | --verbo | --verb)
- verbose=yes ;;
-
- -version | --version | --versio | --versi | --vers | -V)
- ac_init_version=: ;;
-
- -with-* | --with-*)
- ac_package=`expr "x$ac_option" : 'x-*with-\([^=]*\)'`
- # Reject names that are not valid shell variable names.
- expr "x$ac_package" : ".*[^-_$as_cr_alnum]" >/dev/null &&
- { echo "$as_me: error: invalid package name: $ac_package" >&2
- { (exit 1); exit 1; }; }
- ac_package=`echo $ac_package| sed 's/-/_/g'`
- case $ac_option in
- *=*) ac_optarg=`echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"`;;
- *) ac_optarg=yes ;;
- esac
- eval "with_$ac_package='$ac_optarg'" ;;
-
- -without-* | --without-*)
- ac_package=`expr "x$ac_option" : 'x-*without-\(.*\)'`
- # Reject names that are not valid shell variable names.
- expr "x$ac_package" : ".*[^-_$as_cr_alnum]" >/dev/null &&
- { echo "$as_me: error: invalid package name: $ac_package" >&2
- { (exit 1); exit 1; }; }
- ac_package=`echo $ac_package | sed 's/-/_/g'`
- eval "with_$ac_package=no" ;;
-
- --x)
- # Obsolete; use --with-x.
- with_x=yes ;;
-
- -x-includes | --x-includes | --x-include | --x-includ | --x-inclu \
- | --x-incl | --x-inc | --x-in | --x-i)
- ac_prev=x_includes ;;
- -x-includes=* | --x-includes=* | --x-include=* | --x-includ=* | --x-inclu=* \
- | --x-incl=* | --x-inc=* | --x-in=* | --x-i=*)
- x_includes=$ac_optarg ;;
-
- -x-libraries | --x-libraries | --x-librarie | --x-librari \
- | --x-librar | --x-libra | --x-libr | --x-lib | --x-li | --x-l)
- ac_prev=x_libraries ;;
- -x-libraries=* | --x-libraries=* | --x-librarie=* | --x-librari=* \
- | --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*)
- x_libraries=$ac_optarg ;;
-
- -*) { echo "$as_me: error: unrecognized option: $ac_option
-Try \`$0 --help' for more information." >&2
- { (exit 1); exit 1; }; }
- ;;
-
- *=*)
- ac_envvar=`expr "x$ac_option" : 'x\([^=]*\)='`
- # Reject names that are not valid shell variable names.
- expr "x$ac_envvar" : ".*[^_$as_cr_alnum]" >/dev/null &&
- { echo "$as_me: error: invalid variable name: $ac_envvar" >&2
- { (exit 1); exit 1; }; }
- ac_optarg=`echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"`
- eval "$ac_envvar='$ac_optarg'"
- export $ac_envvar ;;
-
- *)
- # FIXME: should be removed in autoconf 3.0.
- echo "$as_me: WARNING: you should use --build, --host, --target" >&2
- expr "x$ac_option" : ".*[^-._$as_cr_alnum]" >/dev/null &&
- echo "$as_me: WARNING: invalid host type: $ac_option" >&2
- : ${build_alias=$ac_option} ${host_alias=$ac_option} ${target_alias=$ac_option}
- ;;
-
- esac
-done
-
-if test -n "$ac_prev"; then
- ac_option=--`echo $ac_prev | sed 's/_/-/g'`
- { echo "$as_me: error: missing argument to $ac_option" >&2
- { (exit 1); exit 1; }; }
-fi
-
-# Be sure to have absolute paths.
-for ac_var in exec_prefix prefix
-do
- eval ac_val=$`echo $ac_var`
- case $ac_val in
- [\\/$]* | ?:[\\/]* | NONE | '' ) ;;
- *) { echo "$as_me: error: expected an absolute directory name for --$ac_var: $ac_val" >&2
- { (exit 1); exit 1; }; };;
- esac
-done
-
-# Be sure to have absolute paths.
-for ac_var in bindir sbindir libexecdir datadir sysconfdir sharedstatedir \
- localstatedir libdir includedir oldincludedir infodir mandir
-do
- eval ac_val=$`echo $ac_var`
- case $ac_val in
- [\\/$]* | ?:[\\/]* ) ;;
- *) { echo "$as_me: error: expected an absolute directory name for --$ac_var: $ac_val" >&2
- { (exit 1); exit 1; }; };;
- esac
-done
-
-# There might be people who depend on the old broken behavior: `$host'
-# used to hold the argument of --host etc.
-# FIXME: To remove some day.
-build=$build_alias
-host=$host_alias
-target=$target_alias
-
-# FIXME: To remove some day.
-if test "x$host_alias" != x; then
- if test "x$build_alias" = x; then
- cross_compiling=maybe
- echo "$as_me: WARNING: If you wanted to set the --build type, don't use --host.
- If a cross compiler is detected then cross compile mode will be used." >&2
- elif test "x$build_alias" != "x$host_alias"; then
- cross_compiling=yes
- fi
-fi
-
-ac_tool_prefix=
-test -n "$host_alias" && ac_tool_prefix=$host_alias-
-
-test "$silent" = yes && exec 6>/dev/null
-
-
-# Find the source files, if location was not specified.
-if test -z "$srcdir"; then
- ac_srcdir_defaulted=yes
- # Try the directory containing this script, then its parent.
- ac_confdir=`(dirname "$0") 2>/dev/null ||
-$as_expr X"$0" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
- X"$0" : 'X\(//\)[^/]' \| \
- X"$0" : 'X\(//\)$' \| \
- X"$0" : 'X\(/\)' \| \
- . : '\(.\)' 2>/dev/null ||
-echo X"$0" |
- sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; }
- /^X\(\/\/\)[^/].*/{ s//\1/; q; }
- /^X\(\/\/\)$/{ s//\1/; q; }
- /^X\(\/\).*/{ s//\1/; q; }
- s/.*/./; q'`
- srcdir=$ac_confdir
- if test ! -r $srcdir/$ac_unique_file; then
- srcdir=..
- fi
-else
- ac_srcdir_defaulted=no
-fi
-if test ! -r $srcdir/$ac_unique_file; then
- if test "$ac_srcdir_defaulted" = yes; then
- { echo "$as_me: error: cannot find sources ($ac_unique_file) in $ac_confdir or .." >&2
- { (exit 1); exit 1; }; }
- else
- { echo "$as_me: error: cannot find sources ($ac_unique_file) in $srcdir" >&2
- { (exit 1); exit 1; }; }
- fi
-fi
-srcdir=`echo "$srcdir" | sed 's%\([^\\/]\)[\\/]*$%\1%'`
-ac_env_build_alias_set=${build_alias+set}
-ac_env_build_alias_value=$build_alias
-ac_cv_env_build_alias_set=${build_alias+set}
-ac_cv_env_build_alias_value=$build_alias
-ac_env_host_alias_set=${host_alias+set}
-ac_env_host_alias_value=$host_alias
-ac_cv_env_host_alias_set=${host_alias+set}
-ac_cv_env_host_alias_value=$host_alias
-ac_env_target_alias_set=${target_alias+set}
-ac_env_target_alias_value=$target_alias
-ac_cv_env_target_alias_set=${target_alias+set}
-ac_cv_env_target_alias_value=$target_alias
-ac_env_PERL_set=${PERL+set}
-ac_env_PERL_value=$PERL
-ac_cv_env_PERL_set=${PERL+set}
-ac_cv_env_PERL_value=$PERL
-
-#
-# Report the --help message.
-#
-if test "$ac_init_help" = "long"; then
- # Omit some internal or obsolete options to make the list less imposing.
- # This message is too long to be a string in the A/UX 3.1 sh.
- cat <<_ACEOF
-\`configure' configures RT 3.0.9 to adapt to many kinds of systems.
-
-Usage: $0 [OPTION]... [VAR=VALUE]...
-
-To assign environment variables (e.g., CC, CFLAGS...), specify them as
-VAR=VALUE. See below for descriptions of some of the useful variables.
-
-Defaults for the options are specified in brackets.
-
-Configuration:
- -h, --help display this help and exit
- --help=short display options specific to this package
- --help=recursive display the short help of all the included packages
- -V, --version display version information and exit
- -q, --quiet, --silent do not print \`checking...' messages
- --cache-file=FILE cache test results in FILE [disabled]
- -C, --config-cache alias for \`--cache-file=config.cache'
- -n, --no-create do not create output files
- --srcdir=DIR find the sources in DIR [configure dir or \`..']
-
-_ACEOF
-
- cat <<_ACEOF
-Installation directories:
- --prefix=PREFIX install architecture-independent files in PREFIX
- [$ac_default_prefix]
- --exec-prefix=EPREFIX install architecture-dependent files in EPREFIX
- [PREFIX]
-
-By default, \`make install' will install all the files in
-\`$ac_default_prefix/bin', \`$ac_default_prefix/lib' etc. You can specify
-an installation prefix other than \`$ac_default_prefix' using \`--prefix',
-for instance \`--prefix=\$HOME'.
-
-For better control, use the options below.
-
-Fine tuning of the installation directories:
- --bindir=DIR user executables [EPREFIX/bin]
- --sbindir=DIR system admin executables [EPREFIX/sbin]
- --libexecdir=DIR program executables [EPREFIX/libexec]
- --datadir=DIR read-only architecture-independent data [PREFIX/share]
- --sysconfdir=DIR read-only single-machine data [PREFIX/etc]
- --sharedstatedir=DIR modifiable architecture-independent data [PREFIX/com]
- --localstatedir=DIR modifiable single-machine data [PREFIX/var]
- --libdir=DIR object code libraries [EPREFIX/lib]
- --includedir=DIR C header files [PREFIX/include]
- --oldincludedir=DIR C header files for non-gcc [/usr/include]
- --infodir=DIR info documentation [PREFIX/info]
- --mandir=DIR man documentation [PREFIX/man]
-_ACEOF
-
- cat <<\_ACEOF
-_ACEOF
-fi
-
-if test -n "$ac_init_help"; then
- case $ac_init_help in
- short | recursive ) echo "Configuration of RT 3.0.9:";;
- esac
- cat <<\_ACEOF
-
-Optional Features:
- --disable-FEATURE do not include FEATURE (same as --enable-FEATURE=no)
- --enable-FEATURE[=ARG] include FEATURE [ARG=yes]
- --enable-layout=LAYOUT Use a specific directory layout (Default: RT3)
-
-Optional Packages:
- --with-PACKAGE[=ARG] use PACKAGE [ARG=yes]
- --without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no)
- --with-speedycgi=/path/to/speedy
- path to your speedycgi binary, if it exists
- --with-rt-group=GROUP group to own all files (default: rt)
- --with-bin-owner=OWNER user that will own rt binaries (default root)
- --with-libs-owner=OWNER user that will own RT libraries (default root)
- --with-libs-group=GROUP group that will own rt binaries (default bin)
- --with-db-type=TYPE sort of database RT will use (default: mysql)
- (mysql, Pg, Oracle and Informix are valid)
- --with-db-host=HOSTNAME FQDN of database server (default: localhost)
- --with-db-port=PORT port on which the database listens on
- --with-db-rt-host=HOSTNAME
- FQDN of RT server which talks to the database server
- (default: localhost)
- --with-db-dba=DBA name of database administrator (default: root)
- --with-db-database=DBNAME
- name of the database to use (default: rt3)
- --with-db-rt-user=DBUSER
- name of database user (default: rt_user)
- --with-db-rt-pass=PASSWORD
- password for database user (default: rt_pass)
- --with-web-user=USER user the web server runs as (default: www)
- --with-web-group=GROUP group the web server runs as (default: www)
- --with-my-user-group set all users and groups to current user/group
-
-Some influential environment variables:
- PERL Perl interpreter command
-
-Use these variables to override the choices made by `configure' or to help
-it to find libraries and programs with nonstandard names/locations.
-
-Report bugs to <rt-3.0-bugs@fsck.com>.
-_ACEOF
-fi
-
-if test "$ac_init_help" = "recursive"; then
- # If there are subdirs, report their specific --help.
- ac_popdir=`pwd`
- for ac_dir in : $ac_subdirs_all; do test "x$ac_dir" = x: && continue
- test -d $ac_dir || continue
- ac_builddir=.
-
-if test "$ac_dir" != .; then
- ac_dir_suffix=/`echo "$ac_dir" | sed 's,^\.[\\/],,'`
- # A "../" for each directory in $ac_dir_suffix.
- ac_top_builddir=`echo "$ac_dir_suffix" | sed 's,/[^\\/]*,../,g'`
-else
- ac_dir_suffix= ac_top_builddir=
-fi
-
-case $srcdir in
- .) # No --srcdir option. We are building in place.
- ac_srcdir=.
- if test -z "$ac_top_builddir"; then
- ac_top_srcdir=.
- else
- ac_top_srcdir=`echo $ac_top_builddir | sed 's,/$,,'`
- fi ;;
- [\\/]* | ?:[\\/]* ) # Absolute path.
- ac_srcdir=$srcdir$ac_dir_suffix;
- ac_top_srcdir=$srcdir ;;
- *) # Relative path.
- ac_srcdir=$ac_top_builddir$srcdir$ac_dir_suffix
- ac_top_srcdir=$ac_top_builddir$srcdir ;;
-esac
-# Don't blindly perform a `cd "$ac_dir"/$ac_foo && pwd` since $ac_foo can be
-# absolute.
-ac_abs_builddir=`cd "$ac_dir" && cd $ac_builddir && pwd`
-ac_abs_top_builddir=`cd "$ac_dir" && cd $ac_top_builddir && pwd`
-ac_abs_srcdir=`cd "$ac_dir" && cd $ac_srcdir && pwd`
-ac_abs_top_srcdir=`cd "$ac_dir" && cd $ac_top_srcdir && pwd`
-
- cd $ac_dir
- # Check for guested configure; otherwise get Cygnus style configure.
- if test -f $ac_srcdir/configure.gnu; then
- echo
- $SHELL $ac_srcdir/configure.gnu --help=recursive
- elif test -f $ac_srcdir/configure; then
- echo
- $SHELL $ac_srcdir/configure --help=recursive
- elif test -f $ac_srcdir/configure.ac ||
- test -f $ac_srcdir/configure.in; then
- echo
- $ac_configure --help
- else
- echo "$as_me: WARNING: no configuration information is in $ac_dir" >&2
- fi
- cd $ac_popdir
- done
-fi
-
-test -n "$ac_init_help" && exit 0
-if $ac_init_version; then
- cat <<\_ACEOF
-RT configure 3.0.9
-generated by GNU Autoconf 2.53
-
-Copyright 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001, 2002
-Free Software Foundation, Inc.
-This configure script is free software; the Free Software Foundation
-gives unlimited permission to copy, distribute and modify it.
-_ACEOF
- exit 0
-fi
-exec 5>config.log
-cat >&5 <<_ACEOF
-This file contains any messages produced by compilers while
-running configure, to aid debugging if configure makes a mistake.
-
-It was created by RT $as_me 3.0.9, which was
-generated by GNU Autoconf 2.53. Invocation command line was
-
- $ $0 $@
-
-_ACEOF
-{
-cat <<_ASUNAME
-@%:@@%:@ --------- @%:@@%:@
-@%:@@%:@ Platform. @%:@@%:@
-@%:@@%:@ --------- @%:@@%:@
-
-hostname = `(hostname || uname -n) 2>/dev/null | sed 1q`
-uname -m = `(uname -m) 2>/dev/null || echo unknown`
-uname -r = `(uname -r) 2>/dev/null || echo unknown`
-uname -s = `(uname -s) 2>/dev/null || echo unknown`
-uname -v = `(uname -v) 2>/dev/null || echo unknown`
-
-/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null || echo unknown`
-/bin/uname -X = `(/bin/uname -X) 2>/dev/null || echo unknown`
-
-/bin/arch = `(/bin/arch) 2>/dev/null || echo unknown`
-/usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null || echo unknown`
-/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null || echo unknown`
-hostinfo = `(hostinfo) 2>/dev/null || echo unknown`
-/bin/machine = `(/bin/machine) 2>/dev/null || echo unknown`
-/usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null || echo unknown`
-/bin/universe = `(/bin/universe) 2>/dev/null || echo unknown`
-
-_ASUNAME
-
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- echo "PATH: $as_dir"
-done
-
-} >&5
-
-cat >&5 <<_ACEOF
-
-
-@%:@@%:@ ----------- @%:@@%:@
-@%:@@%:@ Core tests. @%:@@%:@
-@%:@@%:@ ----------- @%:@@%:@
-
-_ACEOF
-
-
-# Keep a trace of the command line.
-# Strip out --no-create and --no-recursion so they do not pile up.
-# Also quote any args containing shell meta-characters.
-ac_configure_args=
-ac_sep=
-for ac_arg
-do
- case $ac_arg in
- -no-create | --no-create | --no-creat | --no-crea | --no-cre \
- | --no-cr | --no-c | -n ) continue ;;
- -no-recursion | --no-recursion | --no-recursio | --no-recursi \
- | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r)
- continue ;;
- *" "*|*" "*|*[\[\]\~\#\$\^\&\*\(\)\{\}\\\|\;\<\>\?\"\']*)
- ac_arg=`echo "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;;
- esac
- case " $ac_configure_args " in
- *" '$ac_arg' "*) ;; # Avoid dups. Use of quotes ensures accuracy.
- *) ac_configure_args="$ac_configure_args$ac_sep'$ac_arg'"
- ac_sep=" " ;;
- esac
- # Get rid of the leading space.
-done
-
-# When interrupted or exit'd, cleanup temporary files, and complete
-# config.log. We remove comments because anyway the quotes in there
-# would cause problems or look ugly.
-# WARNING: Be sure not to use single quotes in there, as some shells,
-# such as our DU 5.0 friend, will then `close' the trap.
-trap 'exit_status=$?
- # Save into config.log some information that might help in debugging.
- {
- echo
- cat <<\_ASBOX
-@%:@@%:@ ---------------- @%:@@%:@
-@%:@@%:@ Cache variables. @%:@@%:@
-@%:@@%:@ ---------------- @%:@@%:@
-_ASBOX
- echo
- # The following way of writing the cache mishandles newlines in values,
-{
- (set) 2>&1 |
- case `(ac_space='"'"' '"'"'; set | grep ac_space) 2>&1` in
- *ac_space=\ *)
- sed -n \
- "s/'"'"'/'"'"'\\\\'"'"''"'"'/g;
- s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='"'"'\\2'"'"'/p"
- ;;
- *)
- sed -n \
- "s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1=\\2/p"
- ;;
- esac;
-}
- echo
- if test -s confdefs.h; then
- cat <<\_ASBOX
-@%:@@%:@ ----------- @%:@@%:@
-@%:@@%:@ confdefs.h. @%:@@%:@
-@%:@@%:@ ----------- @%:@@%:@
-_ASBOX
- echo
- sed "/^$/d" confdefs.h
- echo
- fi
- test "$ac_signal" != 0 &&
- echo "$as_me: caught signal $ac_signal"
- echo "$as_me: exit $exit_status"
- } >&5
- rm -f core core.* *.core &&
- rm -rf conftest* confdefs* conf$$* $ac_clean_files &&
- exit $exit_status
- ' 0
-for ac_signal in 1 2 13 15; do
- trap 'ac_signal='$ac_signal'; { (exit 1); exit 1; }' $ac_signal
-done
-ac_signal=0
-
-# confdefs.h avoids OS command line length limits that DEFS can exceed.
-rm -rf conftest* confdefs.h
-# AIX cpp loses on an empty file, so make sure it contains at least a newline.
-echo >confdefs.h
-
-# Predefined preprocessor variables.
-
-cat >>confdefs.h <<_ACEOF
-@%:@define PACKAGE_NAME "$PACKAGE_NAME"
-_ACEOF
-
-
-cat >>confdefs.h <<_ACEOF
-@%:@define PACKAGE_TARNAME "$PACKAGE_TARNAME"
-_ACEOF
-
-
-cat >>confdefs.h <<_ACEOF
-@%:@define PACKAGE_VERSION "$PACKAGE_VERSION"
-_ACEOF
-
-
-cat >>confdefs.h <<_ACEOF
-@%:@define PACKAGE_STRING "$PACKAGE_STRING"
-_ACEOF
-
-
-cat >>confdefs.h <<_ACEOF
-@%:@define PACKAGE_BUGREPORT "$PACKAGE_BUGREPORT"
-_ACEOF
-
-
-# Let the site file select an alternate cache file if it wants to.
-# Prefer explicitly selected file to automatically selected ones.
-if test -z "$CONFIG_SITE"; then
- if test "x$prefix" != xNONE; then
- CONFIG_SITE="$prefix/share/config.site $prefix/etc/config.site"
- else
- CONFIG_SITE="$ac_default_prefix/share/config.site $ac_default_prefix/etc/config.site"
- fi
-fi
-for ac_site_file in $CONFIG_SITE; do
- if test -r "$ac_site_file"; then
- { echo "$as_me:$LINENO: loading site script $ac_site_file" >&5
-echo "$as_me: loading site script $ac_site_file" >&6;}
- sed 's/^/| /' "$ac_site_file" >&5
- . "$ac_site_file"
- fi
-done
-
-if test -r "$cache_file"; then
- # Some versions of bash will fail to source /dev/null (special
- # files actually), so we avoid doing that.
- if test -f "$cache_file"; then
- { echo "$as_me:$LINENO: loading cache $cache_file" >&5
-echo "$as_me: loading cache $cache_file" >&6;}
- case $cache_file in
- [\\/]* | ?:[\\/]* ) . $cache_file;;
- *) . ./$cache_file;;
- esac
- fi
-else
- { echo "$as_me:$LINENO: creating cache $cache_file" >&5
-echo "$as_me: creating cache $cache_file" >&6;}
- >$cache_file
-fi
-
-# Check that the precious variables saved in the cache have kept the same
-# value.
-ac_cache_corrupted=false
-for ac_var in `(set) 2>&1 |
- sed -n 's/^ac_env_\([a-zA-Z_0-9]*\)_set=.*/\1/p'`; do
- eval ac_old_set=\$ac_cv_env_${ac_var}_set
- eval ac_new_set=\$ac_env_${ac_var}_set
- eval ac_old_val="\$ac_cv_env_${ac_var}_value"
- eval ac_new_val="\$ac_env_${ac_var}_value"
- case $ac_old_set,$ac_new_set in
- set,)
- { echo "$as_me:$LINENO: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5
-echo "$as_me: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&2;}
- ac_cache_corrupted=: ;;
- ,set)
- { echo "$as_me:$LINENO: error: \`$ac_var' was not set in the previous run" >&5
-echo "$as_me: error: \`$ac_var' was not set in the previous run" >&2;}
- ac_cache_corrupted=: ;;
- ,);;
- *)
- if test "x$ac_old_val" != "x$ac_new_val"; then
- { echo "$as_me:$LINENO: error: \`$ac_var' has changed since the previous run:" >&5
-echo "$as_me: error: \`$ac_var' has changed since the previous run:" >&2;}
- { echo "$as_me:$LINENO: former value: $ac_old_val" >&5
-echo "$as_me: former value: $ac_old_val" >&2;}
- { echo "$as_me:$LINENO: current value: $ac_new_val" >&5
-echo "$as_me: current value: $ac_new_val" >&2;}
- ac_cache_corrupted=:
- fi;;
- esac
- # Pass precious variables to config.status.
- if test "$ac_new_set" = set; then
- case $ac_new_val in
- *" "*|*" "*|*[\[\]\~\#\$\^\&\*\(\)\{\}\\\|\;\<\>\?\"\']*)
- ac_arg=$ac_var=`echo "$ac_new_val" | sed "s/'/'\\\\\\\\''/g"` ;;
- *) ac_arg=$ac_var=$ac_new_val ;;
- esac
- case " $ac_configure_args " in
- *" '$ac_arg' "*) ;; # Avoid dups. Use of quotes ensures accuracy.
- *) ac_configure_args="$ac_configure_args '$ac_arg'" ;;
- esac
- fi
-done
-if $ac_cache_corrupted; then
- { echo "$as_me:$LINENO: error: changes in the environment can compromise the build" >&5
-echo "$as_me: error: changes in the environment can compromise the build" >&2;}
- { { echo "$as_me:$LINENO: error: run \`make distclean' and/or \`rm $cache_file' and start over" >&5
-echo "$as_me: error: run \`make distclean' and/or \`rm $cache_file' and start over" >&2;}
- { (exit 1); exit 1; }; }
-fi
-
-ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-rt_version_major=3
-
-rt_version_minor=0
-
-rt_version_patch=9
-
-test "x$rt_version_major" = 'x' && rt_version_major=0
-test "x$rt_version_minor" = 'x' && rt_version_minor=0
-test "x$rt_version_patch" = 'x' && rt_version_patch=0
-
-ac_aux_dir=
-for ac_dir in $srcdir $srcdir/.. $srcdir/../..; do
- if test -f $ac_dir/install-sh; then
- ac_aux_dir=$ac_dir
- ac_install_sh="$ac_aux_dir/install-sh -c"
- break
- elif test -f $ac_dir/install.sh; then
- ac_aux_dir=$ac_dir
- ac_install_sh="$ac_aux_dir/install.sh -c"
- break
- elif test -f $ac_dir/shtool; then
- ac_aux_dir=$ac_dir
- ac_install_sh="$ac_aux_dir/shtool install -c"
- break
- fi
-done
-if test -z "$ac_aux_dir"; then
- { { echo "$as_me:$LINENO: error: cannot find install-sh or install.sh in $srcdir $srcdir/.. $srcdir/../.." >&5
-echo "$as_me: error: cannot find install-sh or install.sh in $srcdir $srcdir/.. $srcdir/../.." >&2;}
- { (exit 1); exit 1; }; }
-fi
-ac_config_guess="$SHELL $ac_aux_dir/config.guess"
-ac_config_sub="$SHELL $ac_aux_dir/config.sub"
-ac_configure="$SHELL $ac_aux_dir/configure" # This should be Cygnus configure.
-
-# Find a good install program. We prefer a C program (faster),
-# so one script is as good as another. But avoid the broken or
-# incompatible versions:
-# SysV /etc/install, /usr/sbin/install
-# SunOS /usr/etc/install
-# IRIX /sbin/install
-# AIX /bin/install
-# AmigaOS /C/install, which installs bootblocks on floppy discs
-# AIX 4 /usr/bin/installbsd, which doesn't work without a -g flag
-# AFS /usr/afsws/bin/install, which mishandles nonexistent args
-# SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff"
-# ./install, which can be erroneously created by make from ./install.sh.
-echo "$as_me:$LINENO: checking for a BSD-compatible install" >&5
-echo $ECHO_N "checking for a BSD-compatible install... $ECHO_C" >&6
-if test -z "$INSTALL"; then
-if test "${ac_cv_path_install+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- # Account for people who put trailing slashes in PATH elements.
-case $as_dir/ in
- ./ | .// | /cC/* | \
- /etc/* | /usr/sbin/* | /usr/etc/* | /sbin/* | /usr/afsws/bin/* | \
- /usr/ucb/* ) ;;
- *)
- # OSF1 and SCO ODT 3.0 have their own names for install.
- # Don't use installbsd from OSF since it installs stuff as root
- # by default.
- for ac_prog in ginstall scoinst install; do
- for ac_exec_ext in '' $ac_executable_extensions; do
- if $as_executable_p "$as_dir/$ac_prog$ac_exec_ext"; then
- if test $ac_prog = install &&
- grep dspmsg "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then
- # AIX install. It has an incompatible calling convention.
- :
- elif test $ac_prog = install &&
- grep pwplus "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then
- # program-specific install script used by HP pwplus--don't use.
- :
- else
- ac_cv_path_install="$as_dir/$ac_prog$ac_exec_ext -c"
- break 3
- fi
- fi
- done
- done
- ;;
-esac
-done
-
-
-fi
- if test "${ac_cv_path_install+set}" = set; then
- INSTALL=$ac_cv_path_install
- else
- # As a last resort, use the slow shell script. We don't cache a
- # path for INSTALL within a source directory, because that will
- # break other packages using the cache if that directory is
- # removed, or if the path is relative.
- INSTALL=$ac_install_sh
- fi
-fi
-echo "$as_me:$LINENO: result: $INSTALL" >&5
-echo "${ECHO_T}$INSTALL" >&6
-
-# Use test -z because SunOS4 sh mishandles braces in ${var-val}.
-# It thinks the first close brace ends the variable substitution.
-test -z "$INSTALL_PROGRAM" && INSTALL_PROGRAM='${INSTALL}'
-
-test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL}'
-
-test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644'
-
-
-# Extract the first word of "perl", so it can be a program name with args.
-set dummy perl; ac_word=$2
-echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
-if test "${ac_cv_path_PERL+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- case $PERL in
- [\\/]* | ?:[\\/]*)
- ac_cv_path_PERL="$PERL" # Let the user override the test with a path.
- ;;
- *)
- as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
- ac_cv_path_PERL="$as_dir/$ac_word$ac_exec_ext"
- echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
-done
-
- test -z "$ac_cv_path_PERL" && ac_cv_path_PERL="not found"
- ;;
-esac
-fi
-PERL=$ac_cv_path_PERL
-
-if test -n "$PERL"; then
- echo "$as_me:$LINENO: result: $PERL" >&5
-echo "${ECHO_T}$PERL" >&6
-else
- echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
-fi
-
-if test "$PERL" = 'not found'; then
- { { echo "$as_me:$LINENO: error: cannot use $PACKAGE_NAME without perl" >&5
-echo "$as_me: error: cannot use $PACKAGE_NAME without perl" >&2;}
- { (exit 1); exit 1; }; }
-fi
-
-# Check whether --with-speedycgi or --without-speedycgi was given.
-if test "${with_speedycgi+set}" = set; then
- withval="$with_speedycgi"
- SPEEDY_BIN=$withval
-else
- SPEEDY_BIN=/usr/local/bin/speedy
-fi;
-
-
-
-
-
-# Check whether --enable-layout or --disable-layout was given.
-if test "${enable_layout+set}" = set; then
- enableval="$enable_layout"
- LAYOUT=$enableval
-fi;
-
-if test "x$LAYOUT" = "x"; then
- LAYOUT="RT3"
-fi
-
- if test ! -f $srcdir/config.layout; then
- { echo "$as_me:$LINENO: WARNING: Layout file $srcdir/config.layout not found" >&5
-echo "$as_me: WARNING: Layout file $srcdir/config.layout not found" >&2;}
- rt_layout_name=no
- else
- pldconf=./config.pld
- $PERL -0777 -p -e "\$layout = '$LAYOUT';" -e '
- s/.*<Layout\s+$layout>//gims;
- s/\<\/Layout\>.*//s;
- s/^#.*$//m;
- s/^\s+//gim;
- s/\s+$/\n/gim;
- s/\+$/\/rt3/gim;
- # m4 will not let us just use $srcdir/config.layout, we need @S|@1
- s/^\s*((?:bin|sbin|libexec|data|sysconf|sharedstate|localstate|lib|include|oldinclude|info|man)dir)\s*:\s*(.*)$/@S|@1=@S|@2/gim;
- s/^\s*(.*?)\s*:\s*(.*)$/\(test "x\@S|@@S|@1" = "xNONE" || test "x\@S|@@S|@1" = "x") && @S|@1=@S|@2/gim;
- ' < $srcdir/config.layout > $pldconf
-
- if test -s $pldconf; then
- rt_layout_name=$LAYOUT
- . $pldconf
-
- for var in prefix exec_prefix bindir sbindir \
- sysconfdir mandir libdir datadir htmldir \
- localstatedir logfiledir masonstatedir \
- sessionstatedir customdir custometcdir customhtmldir \
- customlexdir customlibdir manualdir; do
- eval "val=\"\$$var\""
- val=`echo $val | sed -e 's:\(.\)/*$:\1:'`
- val=`echo $val |
- sed -e 's:[\$]\([a-z_]*\):$\1:g'`
- eval "$var='$val'"
- done
-
- else
- rt_layout_name=no
- fi
- #rm $pldconf
- fi
-
-
- ap_last=''
- ap_cur='$prefix'
- while test "x${ap_cur}" != "x${ap_last}"; do
- ap_last="${ap_cur}"
- ap_cur=`eval "echo ${ap_cur}"`
- done
- exp_prefix="${ap_cur}"
-
-
-
-
-
-
- ap_last=''
- ap_cur='$exec_prefix'
- while test "x${ap_cur}" != "x${ap_last}"; do
- ap_last="${ap_cur}"
- ap_cur=`eval "echo ${ap_cur}"`
- done
- exp_exec_prefix="${ap_cur}"
-
-
-
-
-
-
- ap_last=''
- ap_cur='$bindir'
- while test "x${ap_cur}" != "x${ap_last}"; do
- ap_last="${ap_cur}"
- ap_cur=`eval "echo ${ap_cur}"`
- done
- exp_bindir="${ap_cur}"
-
-
-
-
-
-
- ap_last=''
- ap_cur='$sbindir'
- while test "x${ap_cur}" != "x${ap_last}"; do
- ap_last="${ap_cur}"
- ap_cur=`eval "echo ${ap_cur}"`
- done
- exp_sbindir="${ap_cur}"
-
-
-
-
-
-
- ap_last=''
- ap_cur='$sysconfdir'
- while test "x${ap_cur}" != "x${ap_last}"; do
- ap_last="${ap_cur}"
- ap_cur=`eval "echo ${ap_cur}"`
- done
- exp_sysconfdir="${ap_cur}"
-
-
-
-
-
-
- ap_last=''
- ap_cur='$mandir'
- while test "x${ap_cur}" != "x${ap_last}"; do
- ap_last="${ap_cur}"
- ap_cur=`eval "echo ${ap_cur}"`
- done
- exp_mandir="${ap_cur}"
-
-
-
-
-
-
- ap_last=''
- ap_cur='$libdir'
- while test "x${ap_cur}" != "x${ap_last}"; do
- ap_last="${ap_cur}"
- ap_cur=`eval "echo ${ap_cur}"`
- done
- exp_libdir="${ap_cur}"
-
-
-
-
-
-
- ap_last=''
- ap_cur='$datadir'
- while test "x${ap_cur}" != "x${ap_last}"; do
- ap_last="${ap_cur}"
- ap_cur=`eval "echo ${ap_cur}"`
- done
- exp_datadir="${ap_cur}"
-
-
-
-
-
-
- ap_last=''
- ap_cur='$htmldir'
- while test "x${ap_cur}" != "x${ap_last}"; do
- ap_last="${ap_cur}"
- ap_cur=`eval "echo ${ap_cur}"`
- done
- exp_htmldir="${ap_cur}"
-
-
-
-
-
-
- ap_last=''
- ap_cur='$manualdir'
- while test "x${ap_cur}" != "x${ap_last}"; do
- ap_last="${ap_cur}"
- ap_cur=`eval "echo ${ap_cur}"`
- done
- exp_manualdir="${ap_cur}"
-
-
-
-
-
-
- ap_last=''
- ap_cur='$localstatedir'
- while test "x${ap_cur}" != "x${ap_last}"; do
- ap_last="${ap_cur}"
- ap_cur=`eval "echo ${ap_cur}"`
- done
- exp_localstatedir="${ap_cur}"
-
-
-
-
-
-
- ap_last=''
- ap_cur='$logfiledir'
- while test "x${ap_cur}" != "x${ap_last}"; do
- ap_last="${ap_cur}"
- ap_cur=`eval "echo ${ap_cur}"`
- done
- exp_logfiledir="${ap_cur}"
-
-
-
-
-
-
- ap_last=''
- ap_cur='$masonstatedir'
- while test "x${ap_cur}" != "x${ap_last}"; do
- ap_last="${ap_cur}"
- ap_cur=`eval "echo ${ap_cur}"`
- done
- exp_masonstatedir="${ap_cur}"
-
-
-
-
-
-
- ap_last=''
- ap_cur='$sessionstatedir'
- while test "x${ap_cur}" != "x${ap_last}"; do
- ap_last="${ap_cur}"
- ap_cur=`eval "echo ${ap_cur}"`
- done
- exp_sessionstatedir="${ap_cur}"
-
-
-
-
-
-
- ap_last=''
- ap_cur='$customdir'
- while test "x${ap_cur}" != "x${ap_last}"; do
- ap_last="${ap_cur}"
- ap_cur=`eval "echo ${ap_cur}"`
- done
- exp_customdir="${ap_cur}"
-
-
-
-
-
-
- ap_last=''
- ap_cur='$custometcdir'
- while test "x${ap_cur}" != "x${ap_last}"; do
- ap_last="${ap_cur}"
- ap_cur=`eval "echo ${ap_cur}"`
- done
- exp_custometcdir="${ap_cur}"
-
-
-
-
-
-
- ap_last=''
- ap_cur='$customhtmldir'
- while test "x${ap_cur}" != "x${ap_last}"; do
- ap_last="${ap_cur}"
- ap_cur=`eval "echo ${ap_cur}"`
- done
- exp_customhtmldir="${ap_cur}"
-
-
-
-
-
-
- ap_last=''
- ap_cur='$customlexdir'
- while test "x${ap_cur}" != "x${ap_last}"; do
- ap_last="${ap_cur}"
- ap_cur=`eval "echo ${ap_cur}"`
- done
- exp_customlexdir="${ap_cur}"
-
-
-
-
-
-
- ap_last=''
- ap_cur='$customlibdir'
- while test "x${ap_cur}" != "x${ap_last}"; do
- ap_last="${ap_cur}"
- ap_cur=`eval "echo ${ap_cur}"`
- done
- exp_customlibdir="${ap_cur}"
-
-
-
-
-
-echo "$as_me:$LINENO: checking for chosen layout" >&5
-echo $ECHO_N "checking for chosen layout... $ECHO_C" >&6
-if test "x$rt_layout_name" = "xno"; then
- if test "x$LAYOUT" = "xno"; then
- echo "$as_me:$LINENO: result: none" >&5
-echo "${ECHO_T}none" >&6
- else
- echo "$as_me:$LINENO: result: $LAYOUT" >&5
-echo "${ECHO_T}$LAYOUT" >&6
- fi
- { { echo "$as_me:$LINENO: error: a valid layout must be specified (or the default used)" >&5
-echo "$as_me: error: a valid layout must be specified (or the default used)" >&2;}
- { (exit 1); exit 1; }; }
-else
-
- echo "$as_me:$LINENO: result: $rt_layout_name" >&5
-echo "${ECHO_T}$rt_layout_name" >&6
-fi
-
-
-
-# Check whether --with-rt-group or --without-rt-group was given.
-if test "${with_rt_group+set}" = set; then
- withval="$with_rt_group"
- RTGROUP=$withval
-else
- RTGROUP=rt
-fi;
-
-
-
-# Check whether --with-bin-owner or --without-bin-owner was given.
-if test "${with_bin_owner+set}" = set; then
- withval="$with_bin_owner"
- BIN_OWNER=$withval
-else
- BIN_OWNER=root
-fi;
-
-
-
-# Check whether --with-libs-owner or --without-libs-owner was given.
-if test "${with_libs_owner+set}" = set; then
- withval="$with_libs_owner"
- LIBS_OWNER=$withval
-else
- LIBS_OWNER=root
-fi;
-
-
-
-# Check whether --with-libs-group or --without-libs-group was given.
-if test "${with_libs_group+set}" = set; then
- withval="$with_libs_group"
- LIBS_GROUP=$withval
-else
- LIBS_GROUP=bin
-fi;
-
-
-
-# Check whether --with-db-type or --without-db-type was given.
-if test "${with_db_type+set}" = set; then
- withval="$with_db_type"
- DB_TYPE=$withval
-else
- DB_TYPE=mysql
-fi;
-if test "$DB_TYPE" != 'mysql' -a "$DB_TYPE" != 'Pg' -a "$DB_TYPE" != 'SQLite' -a "$DB_TYPE" != 'Oracle' -a "$DB_TYPE" != 'Informix' ; then
- { { echo "$as_me:$LINENO: error: Only Oracle, Informix, Pg and mysql are valid db types" >&5
-echo "$as_me: error: Only Oracle, Informix, Pg and mysql are valid db types" >&2;}
- { (exit 1); exit 1; }; }
-fi
-
-
-if test "$DB_TYPE" = 'Oracle'; then
- test "x$ORACLE_HOME" = 'x' && { { echo "$as_me:$LINENO: error: Please declare the ORACLE_HOME environment variable" >&5
-echo "$as_me: error: Please declare the ORACLE_HOME environment variable" >&2;}
- { (exit 1); exit 1; }; }
- ORACLE_ENV_PREF="\$ENV{'ORACLE_HOME'} = '$ORACLE_HOME';"
-fi
-
-
-
-# Check whether --with-db-host or --without-db-host was given.
-if test "${with_db_host+set}" = set; then
- withval="$with_db_host"
- DB_HOST=$withval
-else
- DB_HOST=localhost
-fi;
-
-
-
-# Check whether --with-db-port or --without-db-port was given.
-if test "${with_db_port+set}" = set; then
- withval="$with_db_port"
- DB_PORT=$withval
-else
- DB_PORT=
-fi;
-
-
-
-# Check whether --with-db-rt-host or --without-db-rt-host was given.
-if test "${with_db_rt_host+set}" = set; then
- withval="$with_db_rt_host"
- DB_RT_HOST=$withval
-else
- DB_RT_HOST=localhost
-fi;
-
-
-
-# Check whether --with-db-dba or --without-db-dba was given.
-if test "${with_db_dba+set}" = set; then
- withval="$with_db_dba"
- DB_DBA=$withval
-else
- DB_DBA=root
-fi;
-
-
-
-# Check whether --with-db-database or --without-db-database was given.
-if test "${with_db_database+set}" = set; then
- withval="$with_db_database"
- DB_DATABASE=$withval
-else
- DB_DATABASE=rt3
-fi;
-
-
-
-# Check whether --with-db-rt-user or --without-db-rt-user was given.
-if test "${with_db_rt_user+set}" = set; then
- withval="$with_db_rt_user"
- DB_RT_USER=$withval
-else
- DB_RT_USER=rt_user
-fi;
-
-
-
-# Check whether --with-db-rt-pass or --without-db-rt-pass was given.
-if test "${with_db_rt_pass+set}" = set; then
- withval="$with_db_rt_pass"
- DB_RT_PASS=$withval
-else
- DB_RT_PASS=rt_pass
-fi;
-
-
-
-# Check whether --with-web-user or --without-web-user was given.
-if test "${with_web_user+set}" = set; then
- withval="$with_web_user"
- WEB_USER=$withval
-else
- WEB_USER=www
-fi;
-
-
-
-# Check whether --with-web-group or --without-web-group was given.
-if test "${with_web_group+set}" = set; then
- withval="$with_web_group"
- WEB_GROUP=$withval
-else
- WEB_GROUP=www
-fi;
-
-
-my_group=$(groups|cut -f1 -d' ')
-
-# Check whether --with-my-user-group or --without-my-user-group was given.
-if test "${with_my_user_group+set}" = set; then
- withval="$with_my_user_group"
- RTGROUP=$my_group
- BIN_OWNER=$USER
- LIBS_OWNER=$USER
- LIBS_GROUP=$my_group
- WEB_USER=$USER
- WEB_GROUP=$my_group
-fi;
-
-
-RT_VERSION_MAJOR=${rt_version_major}
-
-RT_VERSION_MINOR=${rt_version_minor}
-
-RT_VERSION_PATCH=${rt_version_patch}
-
-
-RT_PATH=${exp_prefix}
-
-RT_DOC_PATH=${exp_manualdir}
-
-RT_LOCAL_PATH=${exp_customdir}
-
-RT_LIB_PATH=${exp_libdir}
-
-RT_ETC_PATH=${exp_sysconfdir}
-
-CONFIG_FILE_PATH=${exp_sysconfdir}
-
-RT_BIN_PATH=${exp_bindir}
-
-RT_SBIN_PATH=${exp_sbindir}
-
-RT_VAR_PATH=${exp_localstatedir}
-
-RT_MAN_PATH=${exp_mandir}
-
-MASON_DATA_PATH=${exp_masonstatedir}
-
-MASON_SESSION_PATH=${exp_sessionstatedir}
-
-MASON_HTML_PATH=${exp_htmldir}
-
-LOCAL_ETC_PATH=${exp_custometcdir}
-
-MASON_LOCAL_HTML_PATH=${exp_customhtmldir}
-
-LOCAL_LEXICON_PATH=${exp_customlexdir}
-
-LOCAL_LIB_PATH=${exp_customlibdir}
-
-DESTDIR=${exp_prefix}
-
-RT_LOG_PATH=${exp_logfiledir}
-
-
-
-ac_config_files="$ac_config_files sbin/rt-setup-database sbin/rt-test-dependencies Makefile etc/RT_Config.pm lib/RT.pm lib/t/00smoke.t lib/t/01harness.t lib/t/02regression.t lib/t/03web.pl lib/t/04_send_email.pl bin/mason_handler.fcgi bin/mason_handler.scgi bin/mason_handler.svc bin/rt-commit-handler bin/rt-crontool bin/rt-mailgate bin/rt bin/webmux.pl"
-
-cat >confcache <<\_ACEOF
-# This file is a shell script that caches the results of configure
-# tests run on this system so they can be shared between configure
-# scripts and configure runs, see configure's option --config-cache.
-# It is not useful on other systems. If it contains results you don't
-# want to keep, you may remove or edit it.
-#
-# config.status only pays attention to the cache file if you give it
-# the --recheck option to rerun configure.
-#
-# `ac_cv_env_foo' variables (set or unset) will be overriden when
-# loading this file, other *unset* `ac_cv_foo' will be assigned the
-# following values.
-
-_ACEOF
-
-# The following way of writing the cache mishandles newlines in values,
-# but we know of no workaround that is simple, portable, and efficient.
-# So, don't put newlines in cache variables' values.
-# Ultrix sh set writes to stderr and can't be redirected directly,
-# and sets the high bit in the cache file unless we assign to the vars.
-{
- (set) 2>&1 |
- case `(ac_space=' '; set | grep ac_space) 2>&1` in
- *ac_space=\ *)
- # `set' does not quote correctly, so add quotes (double-quote
- # substitution turns \\\\ into \\, and sed turns \\ into \).
- sed -n \
- "s/'/'\\\\''/g;
- s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\\2'/p"
- ;;
- *)
- # `set' quotes correctly as required by POSIX, so do not add quotes.
- sed -n \
- "s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1=\\2/p"
- ;;
- esac;
-} |
- sed '
- t clear
- : clear
- s/^\([^=]*\)=\(.*[{}].*\)$/test "${\1+set}" = set || &/
- t end
- /^ac_cv_env/!s/^\([^=]*\)=\(.*\)$/\1=${\1=\2}/
- : end' >>confcache
-if cmp -s $cache_file confcache; then :; else
- if test -w $cache_file; then
- test "x$cache_file" != "x/dev/null" && echo "updating cache $cache_file"
- cat confcache >$cache_file
- else
- echo "not updating unwritable cache $cache_file"
- fi
-fi
-rm -f confcache
-
-test "x$prefix" = xNONE && prefix=$ac_default_prefix
-# Let make expand exec_prefix.
-test "x$exec_prefix" = xNONE && exec_prefix='${prefix}'
-
-# VPATH may cause trouble with some makes, so we remove $(srcdir),
-# ${srcdir} and @srcdir@ from VPATH if srcdir is ".", strip leading and
-# trailing colons and then remove the whole line if VPATH becomes empty
-# (actually we leave an empty line to preserve line numbers).
-if test "x$srcdir" = x.; then
- ac_vpsub='/^[ ]*VPATH[ ]*=/{
-s/:*\$(srcdir):*/:/;
-s/:*\${srcdir}:*/:/;
-s/:*@srcdir@:*/:/;
-s/^\([^=]*=[ ]*\):*/\1/;
-s/:*$//;
-s/^[^=]*=[ ]*$//;
-}'
-fi
-
-# Transform confdefs.h into DEFS.
-# Protect against shell expansion while executing Makefile rules.
-# Protect against Makefile macro expansion.
-#
-# If the first sed substitution is executed (which looks for macros that
-# take arguments), then we branch to the quote section. Otherwise,
-# look for a macro that doesn't take arguments.
-cat >confdef2opt.sed <<\_ACEOF
-t clear
-: clear
-s,^[ ]*#[ ]*define[ ][ ]*\([^ (][^ (]*([^)]*)\)[ ]*\(.*\),-D\1=\2,g
-t quote
-s,^[ ]*#[ ]*define[ ][ ]*\([^ ][^ ]*\)[ ]*\(.*\),-D\1=\2,g
-t quote
-d
-: quote
-s,[ `~#$^&*(){}\\|;'"<>?],\\&,g
-s,\[,\\&,g
-s,\],\\&,g
-s,\$,$$,g
-p
-_ACEOF
-# We use echo to avoid assuming a particular line-breaking character.
-# The extra dot is to prevent the shell from consuming trailing
-# line-breaks from the sub-command output. A line-break within
-# single-quotes doesn't work because, if this script is created in a
-# platform that uses two characters for line-breaks (e.g., DOS), tr
-# would break.
-ac_LF_and_DOT=`echo; echo .`
-DEFS=`sed -n -f confdef2opt.sed confdefs.h | tr "$ac_LF_and_DOT" ' .'`
-rm -f confdef2opt.sed
-
-
-
-: ${CONFIG_STATUS=./config.status}
-ac_clean_files_save=$ac_clean_files
-ac_clean_files="$ac_clean_files $CONFIG_STATUS"
-{ echo "$as_me:$LINENO: creating $CONFIG_STATUS" >&5
-echo "$as_me: creating $CONFIG_STATUS" >&6;}
-cat >$CONFIG_STATUS <<_ACEOF
-#! $SHELL
-# Generated by $as_me.
-# Run this file to recreate the current configuration.
-# Compiler output produced by configure, useful for debugging
-# configure, is in config.log if it exists.
-
-debug=false
-SHELL=\${CONFIG_SHELL-$SHELL}
-_ACEOF
-
-cat >>$CONFIG_STATUS <<\_ACEOF
-
-## --------------------- ##
-## M4sh Initialization. ##
-## --------------------- ##
-
-# Be Bourne compatible
-if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then
- emulate sh
- NULLCMD=:
-elif test -n "${BASH_VERSION+set}" && (set -o posix) >/dev/null 2>&1; then
- set -o posix
-fi
-
-# NLS nuisances.
-# Support unset when possible.
-if (FOO=FOO; unset FOO) >/dev/null 2>&1; then
- as_unset=unset
-else
- as_unset=false
-fi
-
-(set +x; test -n "`(LANG=C; export LANG) 2>&1`") &&
- { $as_unset LANG || test "${LANG+set}" != set; } ||
- { LANG=C; export LANG; }
-(set +x; test -n "`(LC_ALL=C; export LC_ALL) 2>&1`") &&
- { $as_unset LC_ALL || test "${LC_ALL+set}" != set; } ||
- { LC_ALL=C; export LC_ALL; }
-(set +x; test -n "`(LC_TIME=C; export LC_TIME) 2>&1`") &&
- { $as_unset LC_TIME || test "${LC_TIME+set}" != set; } ||
- { LC_TIME=C; export LC_TIME; }
-(set +x; test -n "`(LC_CTYPE=C; export LC_CTYPE) 2>&1`") &&
- { $as_unset LC_CTYPE || test "${LC_CTYPE+set}" != set; } ||
- { LC_CTYPE=C; export LC_CTYPE; }
-(set +x; test -n "`(LANGUAGE=C; export LANGUAGE) 2>&1`") &&
- { $as_unset LANGUAGE || test "${LANGUAGE+set}" != set; } ||
- { LANGUAGE=C; export LANGUAGE; }
-(set +x; test -n "`(LC_COLLATE=C; export LC_COLLATE) 2>&1`") &&
- { $as_unset LC_COLLATE || test "${LC_COLLATE+set}" != set; } ||
- { LC_COLLATE=C; export LC_COLLATE; }
-(set +x; test -n "`(LC_NUMERIC=C; export LC_NUMERIC) 2>&1`") &&
- { $as_unset LC_NUMERIC || test "${LC_NUMERIC+set}" != set; } ||
- { LC_NUMERIC=C; export LC_NUMERIC; }
-(set +x; test -n "`(LC_MESSAGES=C; export LC_MESSAGES) 2>&1`") &&
- { $as_unset LC_MESSAGES || test "${LC_MESSAGES+set}" != set; } ||
- { LC_MESSAGES=C; export LC_MESSAGES; }
-
-
-# Name of the executable.
-as_me=`(basename "$0") 2>/dev/null ||
-$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \
- X"$0" : 'X\(//\)$' \| \
- X"$0" : 'X\(/\)$' \| \
- . : '\(.\)' 2>/dev/null ||
-echo X/"$0" |
- sed '/^.*\/\([^/][^/]*\)\/*$/{ s//\1/; q; }
- /^X\/\(\/\/\)$/{ s//\1/; q; }
- /^X\/\(\/\).*/{ s//\1/; q; }
- s/.*/./; q'`
-
-# PATH needs CR, and LINENO needs CR and PATH.
-# Avoid depending upon Character Ranges.
-as_cr_letters='abcdefghijklmnopqrstuvwxyz'
-as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ'
-as_cr_Letters=$as_cr_letters$as_cr_LETTERS
-as_cr_digits='0123456789'
-as_cr_alnum=$as_cr_Letters$as_cr_digits
-
-# The user is always right.
-if test "${PATH_SEPARATOR+set}" != set; then
- echo "#! /bin/sh" >conftest.sh
- echo "exit 0" >>conftest.sh
- chmod +x conftest.sh
- if (PATH=".;."; conftest.sh) >/dev/null 2>&1; then
- PATH_SEPARATOR=';'
- else
- PATH_SEPARATOR=:
- fi
- rm -f conftest.sh
-fi
-
-
- as_lineno_1=$LINENO
- as_lineno_2=$LINENO
- as_lineno_3=`(expr $as_lineno_1 + 1) 2>/dev/null`
- test "x$as_lineno_1" != "x$as_lineno_2" &&
- test "x$as_lineno_3" = "x$as_lineno_2" || {
- # Find who we are. Look in the path if we contain no path at all
- # relative or not.
- case $0 in
- *[\\/]* ) as_myself=$0 ;;
- *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break
-done
-
- ;;
- esac
- # We did not find ourselves, most probably we were run as `sh COMMAND'
- # in which case we are not to be found in the path.
- if test "x$as_myself" = x; then
- as_myself=$0
- fi
- if test ! -f "$as_myself"; then
- { { echo "$as_me:$LINENO: error: cannot find myself; rerun with an absolute path" >&5
-echo "$as_me: error: cannot find myself; rerun with an absolute path" >&2;}
- { (exit 1); exit 1; }; }
- fi
- case $CONFIG_SHELL in
- '')
- as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for as_base in sh bash ksh sh5; do
- case $as_dir in
- /*)
- if ("$as_dir/$as_base" -c '
- as_lineno_1=$LINENO
- as_lineno_2=$LINENO
- as_lineno_3=`(expr $as_lineno_1 + 1) 2>/dev/null`
- test "x$as_lineno_1" != "x$as_lineno_2" &&
- test "x$as_lineno_3" = "x$as_lineno_2" ') 2>/dev/null; then
- CONFIG_SHELL=$as_dir/$as_base
- export CONFIG_SHELL
- exec "$CONFIG_SHELL" "$0" ${1+"$@"}
- fi;;
- esac
- done
-done
-;;
- esac
-
- # Create $as_me.lineno as a copy of $as_myself, but with $LINENO
- # uniformly replaced by the line number. The first 'sed' inserts a
- # line-number line before each line; the second 'sed' does the real
- # work. The second script uses 'N' to pair each line-number line
- # with the numbered line, and appends trailing '-' during
- # substitution so that $LINENO is not a special case at line end.
- # (Raja R Harinath suggested sed '=', and Paul Eggert wrote the
- # second 'sed' script. Blame Lee E. McMahon for sed's syntax. :-)
- sed '=' <$as_myself |
- sed '
- N
- s,$,-,
- : loop
- s,^\(['$as_cr_digits']*\)\(.*\)[$]LINENO\([^'$as_cr_alnum'_]\),\1\2\1\3,
- t loop
- s,-$,,
- s,^['$as_cr_digits']*\n,,
- ' >$as_me.lineno &&
- chmod +x $as_me.lineno ||
- { { echo "$as_me:$LINENO: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&5
-echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2;}
- { (exit 1); exit 1; }; }
-
- # Don't try to exec as it changes $[0], causing all sort of problems
- # (the dirname of $[0] is not the place where we might find the
- # original and so on. Autoconf is especially sensible to this).
- . ./$as_me.lineno
- # Exit status is that of the last command.
- exit
-}
-
-
-case `echo "testing\c"; echo 1,2,3`,`echo -n testing; echo 1,2,3` in
- *c*,-n*) ECHO_N= ECHO_C='
-' ECHO_T=' ' ;;
- *c*,* ) ECHO_N=-n ECHO_C= ECHO_T= ;;
- *) ECHO_N= ECHO_C='\c' ECHO_T= ;;
-esac
-
-if expr a : '\(a\)' >/dev/null 2>&1; then
- as_expr=expr
-else
- as_expr=false
-fi
-
-rm -f conf$$ conf$$.exe conf$$.file
-echo >conf$$.file
-if ln -s conf$$.file conf$$ 2>/dev/null; then
- # We could just check for DJGPP; but this test a) works b) is more generic
- # and c) will remain valid once DJGPP supports symlinks (DJGPP 2.04).
- if test -f conf$$.exe; then
- # Don't use ln at all; we don't have any links
- as_ln_s='cp -p'
- else
- as_ln_s='ln -s'
- fi
-elif ln conf$$.file conf$$ 2>/dev/null; then
- as_ln_s=ln
-else
- as_ln_s='cp -p'
-fi
-rm -f conf$$ conf$$.exe conf$$.file
-
-as_executable_p="test -f"
-
-# Sed expression to map a string onto a valid CPP name.
-as_tr_cpp="sed y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g"
-
-# Sed expression to map a string onto a valid variable name.
-as_tr_sh="sed y%*+%pp%;s%[^_$as_cr_alnum]%_%g"
-
-
-# IFS
-# We need space, tab and new line, in precisely that order.
-as_nl='
-'
-IFS=" $as_nl"
-
-# CDPATH.
-$as_unset CDPATH || test "${CDPATH+set}" != set || { CDPATH=$PATH_SEPARATOR; export CDPATH; }
-
-exec 6>&1
-
-# Open the log real soon, to keep \$[0] and so on meaningful, and to
-# report actual input values of CONFIG_FILES etc. instead of their
-# values after options handling. Logging --version etc. is OK.
-exec 5>>config.log
-{
- echo
- sed 'h;s/./-/g;s/^.../@%:@@%:@ /;s/...$/ @%:@@%:@/;p;x;p;x' <<_ASBOX
-@%:@@%:@ Running $as_me. @%:@@%:@
-_ASBOX
-} >&5
-cat >&5 <<_CSEOF
-
-This file was extended by RT $as_me 3.0.9, which was
-generated by GNU Autoconf 2.53. Invocation command line was
-
- CONFIG_FILES = $CONFIG_FILES
- CONFIG_HEADERS = $CONFIG_HEADERS
- CONFIG_LINKS = $CONFIG_LINKS
- CONFIG_COMMANDS = $CONFIG_COMMANDS
- $ $0 $@
-
-_CSEOF
-echo "on `(hostname || uname -n) 2>/dev/null | sed 1q`" >&5
-echo >&5
-_ACEOF
-
-# Files that config.status was made for.
-if test -n "$ac_config_files"; then
- echo "config_files=\"$ac_config_files\"" >>$CONFIG_STATUS
-fi
-
-if test -n "$ac_config_headers"; then
- echo "config_headers=\"$ac_config_headers\"" >>$CONFIG_STATUS
-fi
-
-if test -n "$ac_config_links"; then
- echo "config_links=\"$ac_config_links\"" >>$CONFIG_STATUS
-fi
-
-if test -n "$ac_config_commands"; then
- echo "config_commands=\"$ac_config_commands\"" >>$CONFIG_STATUS
-fi
-
-cat >>$CONFIG_STATUS <<\_ACEOF
-
-ac_cs_usage="\
-\`$as_me' instantiates files from templates according to the
-current configuration.
-
-Usage: $0 [OPTIONS] [FILE]...
-
- -h, --help print this help, then exit
- -V, --version print version number, then exit
- -d, --debug don't remove temporary files
- --recheck update $as_me by reconfiguring in the same conditions
- --file=FILE[:TEMPLATE]
- instantiate the configuration file FILE
-
-Configuration files:
-$config_files
-
-Report bugs to <bug-autoconf@gnu.org>."
-_ACEOF
-
-cat >>$CONFIG_STATUS <<_ACEOF
-ac_cs_version="\\
-RT config.status 3.0.9
-configured by $0, generated by GNU Autoconf 2.53,
- with options \\"`echo "$ac_configure_args" | sed 's/[\\""\`\$]/\\\\&/g'`\\"
-
-Copyright 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001
-Free Software Foundation, Inc.
-This config.status script is free software; the Free Software Foundation
-gives unlimited permission to copy, distribute and modify it."
-srcdir=$srcdir
-INSTALL="$INSTALL"
-_ACEOF
-
-cat >>$CONFIG_STATUS <<\_ACEOF
-# If no file are specified by the user, then we need to provide default
-# value. By we need to know if files were specified by the user.
-ac_need_defaults=:
-while test $# != 0
-do
- case $1 in
- --*=*)
- ac_option=`expr "x$1" : 'x\([^=]*\)='`
- ac_optarg=`expr "x$1" : 'x[^=]*=\(.*\)'`
- shift
- set dummy "$ac_option" "$ac_optarg" ${1+"$@"}
- shift
- ;;
- -*);;
- *) # This is not an option, so the user has probably given explicit
- # arguments.
- ac_need_defaults=false;;
- esac
-
- case $1 in
- # Handling of the options.
-_ACEOF
-cat >>$CONFIG_STATUS <<_ACEOF
- -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r)
- echo "running $SHELL $0 " $ac_configure_args " --no-create --no-recursion"
- exec $SHELL $0 $ac_configure_args --no-create --no-recursion ;;
-_ACEOF
-cat >>$CONFIG_STATUS <<\_ACEOF
- --version | --vers* | -V )
- echo "$ac_cs_version"; exit 0 ;;
- --he | --h)
- # Conflict between --help and --header
- { { echo "$as_me:$LINENO: error: ambiguous option: $1
-Try \`$0 --help' for more information." >&5
-echo "$as_me: error: ambiguous option: $1
-Try \`$0 --help' for more information." >&2;}
- { (exit 1); exit 1; }; };;
- --help | --hel | -h )
- echo "$ac_cs_usage"; exit 0 ;;
- --debug | --d* | -d )
- debug=: ;;
- --file | --fil | --fi | --f )
- shift
- CONFIG_FILES="$CONFIG_FILES $1"
- ac_need_defaults=false;;
- --header | --heade | --head | --hea )
- shift
- CONFIG_HEADERS="$CONFIG_HEADERS $1"
- ac_need_defaults=false;;
-
- # This is an error.
- -*) { { echo "$as_me:$LINENO: error: unrecognized option: $1
-Try \`$0 --help' for more information." >&5
-echo "$as_me: error: unrecognized option: $1
-Try \`$0 --help' for more information." >&2;}
- { (exit 1); exit 1; }; } ;;
-
- *) ac_config_targets="$ac_config_targets $1" ;;
-
- esac
- shift
-done
-
-_ACEOF
-
-
-
-
-
-cat >>$CONFIG_STATUS <<\_ACEOF
-for ac_config_target in $ac_config_targets
-do
- case "$ac_config_target" in
- # Handling of arguments.
- "sbin/rt-setup-database" ) CONFIG_FILES="$CONFIG_FILES sbin/rt-setup-database" ;;
- "sbin/rt-test-dependencies" ) CONFIG_FILES="$CONFIG_FILES sbin/rt-test-dependencies" ;;
- "Makefile" ) CONFIG_FILES="$CONFIG_FILES Makefile" ;;
- "etc/RT_Config.pm" ) CONFIG_FILES="$CONFIG_FILES etc/RT_Config.pm" ;;
- "lib/RT.pm" ) CONFIG_FILES="$CONFIG_FILES lib/RT.pm" ;;
- "lib/t/00smoke.t" ) CONFIG_FILES="$CONFIG_FILES lib/t/00smoke.t" ;;
- "lib/t/01harness.t" ) CONFIG_FILES="$CONFIG_FILES lib/t/01harness.t" ;;
- "lib/t/02regression.t" ) CONFIG_FILES="$CONFIG_FILES lib/t/02regression.t" ;;
- "lib/t/03web.pl" ) CONFIG_FILES="$CONFIG_FILES lib/t/03web.pl" ;;
- "lib/t/04_send_email.pl" ) CONFIG_FILES="$CONFIG_FILES lib/t/04_send_email.pl" ;;
- "bin/mason_handler.fcgi" ) CONFIG_FILES="$CONFIG_FILES bin/mason_handler.fcgi" ;;
- "bin/mason_handler.scgi" ) CONFIG_FILES="$CONFIG_FILES bin/mason_handler.scgi" ;;
- "bin/mason_handler.svc" ) CONFIG_FILES="$CONFIG_FILES bin/mason_handler.svc" ;;
- "bin/rt-commit-handler" ) CONFIG_FILES="$CONFIG_FILES bin/rt-commit-handler" ;;
- "bin/rt-crontool" ) CONFIG_FILES="$CONFIG_FILES bin/rt-crontool" ;;
- "bin/rt-mailgate" ) CONFIG_FILES="$CONFIG_FILES bin/rt-mailgate" ;;
- "bin/rt" ) CONFIG_FILES="$CONFIG_FILES bin/rt" ;;
- "bin/webmux.pl" ) CONFIG_FILES="$CONFIG_FILES bin/webmux.pl" ;;
- *) { { echo "$as_me:$LINENO: error: invalid argument: $ac_config_target" >&5
-echo "$as_me: error: invalid argument: $ac_config_target" >&2;}
- { (exit 1); exit 1; }; };;
- esac
-done
-
-# If the user did not use the arguments to specify the items to instantiate,
-# then the envvar interface is used. Set only those that are not.
-# We use the long form for the default assignment because of an extremely
-# bizarre bug on SunOS 4.1.3.
-if $ac_need_defaults; then
- test "${CONFIG_FILES+set}" = set || CONFIG_FILES=$config_files
-fi
-
-# Create a temporary directory, and hook for its removal unless debugging.
-$debug ||
-{
- trap 'exit_status=$?; rm -rf $tmp && exit $exit_status' 0
- trap '{ (exit 1); exit 1; }' 1 2 13 15
-}
-
-# Create a (secure) tmp directory for tmp files.
-: ${TMPDIR=/tmp}
-{
- tmp=`(umask 077 && mktemp -d -q "$TMPDIR/csXXXXXX") 2>/dev/null` &&
- test -n "$tmp" && test -d "$tmp"
-} ||
-{
- tmp=$TMPDIR/cs$$-$RANDOM
- (umask 077 && mkdir $tmp)
-} ||
-{
- echo "$me: cannot create a temporary directory in $TMPDIR" >&2
- { (exit 1); exit 1; }
-}
-
-_ACEOF
-
-cat >>$CONFIG_STATUS <<_ACEOF
-
-#
-# CONFIG_FILES section.
-#
-
-# No need to generate the scripts if there are no CONFIG_FILES.
-# This happens for instance when ./config.status config.h
-if test -n "\$CONFIG_FILES"; then
- # Protect against being on the right side of a sed subst in config.status.
- sed 's/,@/@@/; s/@,/@@/; s/,;t t\$/@;t t/; /@;t t\$/s/[\\\\&,]/\\\\&/g;
- s/@@/,@/; s/@@/@,/; s/@;t t\$/,;t t/' >\$tmp/subs.sed <<\\CEOF
-s,@SHELL@,$SHELL,;t t
-s,@PATH_SEPARATOR@,$PATH_SEPARATOR,;t t
-s,@PACKAGE_NAME@,$PACKAGE_NAME,;t t
-s,@PACKAGE_TARNAME@,$PACKAGE_TARNAME,;t t
-s,@PACKAGE_VERSION@,$PACKAGE_VERSION,;t t
-s,@PACKAGE_STRING@,$PACKAGE_STRING,;t t
-s,@PACKAGE_BUGREPORT@,$PACKAGE_BUGREPORT,;t t
-s,@exec_prefix@,$exec_prefix,;t t
-s,@prefix@,$prefix,;t t
-s,@program_transform_name@,$program_transform_name,;t t
-s,@bindir@,$bindir,;t t
-s,@sbindir@,$sbindir,;t t
-s,@libexecdir@,$libexecdir,;t t
-s,@datadir@,$datadir,;t t
-s,@sysconfdir@,$sysconfdir,;t t
-s,@sharedstatedir@,$sharedstatedir,;t t
-s,@localstatedir@,$localstatedir,;t t
-s,@libdir@,$libdir,;t t
-s,@includedir@,$includedir,;t t
-s,@oldincludedir@,$oldincludedir,;t t
-s,@infodir@,$infodir,;t t
-s,@mandir@,$mandir,;t t
-s,@build_alias@,$build_alias,;t t
-s,@host_alias@,$host_alias,;t t
-s,@target_alias@,$target_alias,;t t
-s,@DEFS@,$DEFS,;t t
-s,@ECHO_C@,$ECHO_C,;t t
-s,@ECHO_N@,$ECHO_N,;t t
-s,@ECHO_T@,$ECHO_T,;t t
-s,@LIBS@,$LIBS,;t t
-s,@rt_version_major@,$rt_version_major,;t t
-s,@rt_version_minor@,$rt_version_minor,;t t
-s,@rt_version_patch@,$rt_version_patch,;t t
-s,@INSTALL_PROGRAM@,$INSTALL_PROGRAM,;t t
-s,@INSTALL_SCRIPT@,$INSTALL_SCRIPT,;t t
-s,@INSTALL_DATA@,$INSTALL_DATA,;t t
-s,@PERL@,$PERL,;t t
-s,@SPEEDY_BIN@,$SPEEDY_BIN,;t t
-s,@exp_prefix@,$exp_prefix,;t t
-s,@exp_exec_prefix@,$exp_exec_prefix,;t t
-s,@exp_bindir@,$exp_bindir,;t t
-s,@exp_sbindir@,$exp_sbindir,;t t
-s,@exp_sysconfdir@,$exp_sysconfdir,;t t
-s,@exp_mandir@,$exp_mandir,;t t
-s,@exp_libdir@,$exp_libdir,;t t
-s,@exp_datadir@,$exp_datadir,;t t
-s,@htmldir@,$htmldir,;t t
-s,@exp_htmldir@,$exp_htmldir,;t t
-s,@manualdir@,$manualdir,;t t
-s,@exp_manualdir@,$exp_manualdir,;t t
-s,@exp_localstatedir@,$exp_localstatedir,;t t
-s,@logfiledir@,$logfiledir,;t t
-s,@exp_logfiledir@,$exp_logfiledir,;t t
-s,@masonstatedir@,$masonstatedir,;t t
-s,@exp_masonstatedir@,$exp_masonstatedir,;t t
-s,@sessionstatedir@,$sessionstatedir,;t t
-s,@exp_sessionstatedir@,$exp_sessionstatedir,;t t
-s,@customdir@,$customdir,;t t
-s,@exp_customdir@,$exp_customdir,;t t
-s,@custometcdir@,$custometcdir,;t t
-s,@exp_custometcdir@,$exp_custometcdir,;t t
-s,@customhtmldir@,$customhtmldir,;t t
-s,@exp_customhtmldir@,$exp_customhtmldir,;t t
-s,@customlexdir@,$customlexdir,;t t
-s,@exp_customlexdir@,$exp_customlexdir,;t t
-s,@customlibdir@,$customlibdir,;t t
-s,@exp_customlibdir@,$exp_customlibdir,;t t
-s,@rt_layout_name@,$rt_layout_name,;t t
-s,@RTGROUP@,$RTGROUP,;t t
-s,@BIN_OWNER@,$BIN_OWNER,;t t
-s,@LIBS_OWNER@,$LIBS_OWNER,;t t
-s,@LIBS_GROUP@,$LIBS_GROUP,;t t
-s,@DB_TYPE@,$DB_TYPE,;t t
-s,@ORACLE_ENV_PREF@,$ORACLE_ENV_PREF,;t t
-s,@DB_HOST@,$DB_HOST,;t t
-s,@DB_PORT@,$DB_PORT,;t t
-s,@DB_RT_HOST@,$DB_RT_HOST,;t t
-s,@DB_DBA@,$DB_DBA,;t t
-s,@DB_DATABASE@,$DB_DATABASE,;t t
-s,@DB_RT_USER@,$DB_RT_USER,;t t
-s,@DB_RT_PASS@,$DB_RT_PASS,;t t
-s,@WEB_USER@,$WEB_USER,;t t
-s,@WEB_GROUP@,$WEB_GROUP,;t t
-s,@RT_VERSION_MAJOR@,$RT_VERSION_MAJOR,;t t
-s,@RT_VERSION_MINOR@,$RT_VERSION_MINOR,;t t
-s,@RT_VERSION_PATCH@,$RT_VERSION_PATCH,;t t
-s,@RT_PATH@,$RT_PATH,;t t
-s,@RT_DOC_PATH@,$RT_DOC_PATH,;t t
-s,@RT_LOCAL_PATH@,$RT_LOCAL_PATH,;t t
-s,@RT_LIB_PATH@,$RT_LIB_PATH,;t t
-s,@RT_ETC_PATH@,$RT_ETC_PATH,;t t
-s,@CONFIG_FILE_PATH@,$CONFIG_FILE_PATH,;t t
-s,@RT_BIN_PATH@,$RT_BIN_PATH,;t t
-s,@RT_SBIN_PATH@,$RT_SBIN_PATH,;t t
-s,@RT_VAR_PATH@,$RT_VAR_PATH,;t t
-s,@RT_MAN_PATH@,$RT_MAN_PATH,;t t
-s,@MASON_DATA_PATH@,$MASON_DATA_PATH,;t t
-s,@MASON_SESSION_PATH@,$MASON_SESSION_PATH,;t t
-s,@MASON_HTML_PATH@,$MASON_HTML_PATH,;t t
-s,@LOCAL_ETC_PATH@,$LOCAL_ETC_PATH,;t t
-s,@MASON_LOCAL_HTML_PATH@,$MASON_LOCAL_HTML_PATH,;t t
-s,@LOCAL_LEXICON_PATH@,$LOCAL_LEXICON_PATH,;t t
-s,@LOCAL_LIB_PATH@,$LOCAL_LIB_PATH,;t t
-s,@DESTDIR@,$DESTDIR,;t t
-s,@RT_LOG_PATH@,$RT_LOG_PATH,;t t
-CEOF
-
-_ACEOF
-
- cat >>$CONFIG_STATUS <<\_ACEOF
- # Split the substitutions into bite-sized pieces for seds with
- # small command number limits, like on Digital OSF/1 and HP-UX.
- ac_max_sed_lines=48
- ac_sed_frag=1 # Number of current file.
- ac_beg=1 # First line for current file.
- ac_end=$ac_max_sed_lines # Line after last line for current file.
- ac_more_lines=:
- ac_sed_cmds=
- while $ac_more_lines; do
- if test $ac_beg -gt 1; then
- sed "1,${ac_beg}d; ${ac_end}q" $tmp/subs.sed >$tmp/subs.frag
- else
- sed "${ac_end}q" $tmp/subs.sed >$tmp/subs.frag
- fi
- if test ! -s $tmp/subs.frag; then
- ac_more_lines=false
- else
- # The purpose of the label and of the branching condition is to
- # speed up the sed processing (if there are no `@' at all, there
- # is no need to browse any of the substitutions).
- # These are the two extra sed commands mentioned above.
- (echo ':t
- /@[a-zA-Z_][a-zA-Z_0-9]*@/!b' && cat $tmp/subs.frag) >$tmp/subs-$ac_sed_frag.sed
- if test -z "$ac_sed_cmds"; then
- ac_sed_cmds="sed -f $tmp/subs-$ac_sed_frag.sed"
- else
- ac_sed_cmds="$ac_sed_cmds | sed -f $tmp/subs-$ac_sed_frag.sed"
- fi
- ac_sed_frag=`expr $ac_sed_frag + 1`
- ac_beg=$ac_end
- ac_end=`expr $ac_end + $ac_max_sed_lines`
- fi
- done
- if test -z "$ac_sed_cmds"; then
- ac_sed_cmds=cat
- fi
-fi # test -n "$CONFIG_FILES"
-
-_ACEOF
-cat >>$CONFIG_STATUS <<\_ACEOF
-for ac_file in : $CONFIG_FILES; do test "x$ac_file" = x: && continue
- # Support "outfile[:infile[:infile...]]", defaulting infile="outfile.in".
- case $ac_file in
- - | *:- | *:-:* ) # input from stdin
- cat >$tmp/stdin
- ac_file_in=`echo "$ac_file" | sed 's,[^:]*:,,'`
- ac_file=`echo "$ac_file" | sed 's,:.*,,'` ;;
- *:* ) ac_file_in=`echo "$ac_file" | sed 's,[^:]*:,,'`
- ac_file=`echo "$ac_file" | sed 's,:.*,,'` ;;
- * ) ac_file_in=$ac_file.in ;;
- esac
-
- # Compute @srcdir@, @top_srcdir@, and @INSTALL@ for subdirectories.
- ac_dir=`(dirname "$ac_file") 2>/dev/null ||
-$as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
- X"$ac_file" : 'X\(//\)[^/]' \| \
- X"$ac_file" : 'X\(//\)$' \| \
- X"$ac_file" : 'X\(/\)' \| \
- . : '\(.\)' 2>/dev/null ||
-echo X"$ac_file" |
- sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; }
- /^X\(\/\/\)[^/].*/{ s//\1/; q; }
- /^X\(\/\/\)$/{ s//\1/; q; }
- /^X\(\/\).*/{ s//\1/; q; }
- s/.*/./; q'`
- { case "$ac_dir" in
- [\\/]* | ?:[\\/]* ) as_incr_dir=;;
- *) as_incr_dir=.;;
-esac
-as_dummy="$ac_dir"
-for as_mkdir_dir in `IFS='/\\'; set X $as_dummy; shift; echo "$@"`; do
- case $as_mkdir_dir in
- # Skip DOS drivespec
- ?:) as_incr_dir=$as_mkdir_dir ;;
- *)
- as_incr_dir=$as_incr_dir/$as_mkdir_dir
- test -d "$as_incr_dir" ||
- mkdir "$as_incr_dir" ||
- { { echo "$as_me:$LINENO: error: cannot create \"$ac_dir\"" >&5
-echo "$as_me: error: cannot create \"$ac_dir\"" >&2;}
- { (exit 1); exit 1; }; }
- ;;
- esac
-done; }
-
- ac_builddir=.
-
-if test "$ac_dir" != .; then
- ac_dir_suffix=/`echo "$ac_dir" | sed 's,^\.[\\/],,'`
- # A "../" for each directory in $ac_dir_suffix.
- ac_top_builddir=`echo "$ac_dir_suffix" | sed 's,/[^\\/]*,../,g'`
-else
- ac_dir_suffix= ac_top_builddir=
-fi
-
-case $srcdir in
- .) # No --srcdir option. We are building in place.
- ac_srcdir=.
- if test -z "$ac_top_builddir"; then
- ac_top_srcdir=.
- else
- ac_top_srcdir=`echo $ac_top_builddir | sed 's,/$,,'`
- fi ;;
- [\\/]* | ?:[\\/]* ) # Absolute path.
- ac_srcdir=$srcdir$ac_dir_suffix;
- ac_top_srcdir=$srcdir ;;
- *) # Relative path.
- ac_srcdir=$ac_top_builddir$srcdir$ac_dir_suffix
- ac_top_srcdir=$ac_top_builddir$srcdir ;;
-esac
-# Don't blindly perform a `cd "$ac_dir"/$ac_foo && pwd` since $ac_foo can be
-# absolute.
-ac_abs_builddir=`cd "$ac_dir" && cd $ac_builddir && pwd`
-ac_abs_top_builddir=`cd "$ac_dir" && cd $ac_top_builddir && pwd`
-ac_abs_srcdir=`cd "$ac_dir" && cd $ac_srcdir && pwd`
-ac_abs_top_srcdir=`cd "$ac_dir" && cd $ac_top_srcdir && pwd`
-
-
- case $INSTALL in
- [\\/$]* | ?:[\\/]* ) ac_INSTALL=$INSTALL ;;
- *) ac_INSTALL=$ac_top_builddir$INSTALL ;;
- esac
-
- if test x"$ac_file" != x-; then
- { echo "$as_me:$LINENO: creating $ac_file" >&5
-echo "$as_me: creating $ac_file" >&6;}
- rm -f "$ac_file"
- fi
- # Let's still pretend it is `configure' which instantiates (i.e., don't
- # use $as_me), people would be surprised to read:
- # /* config.h. Generated by config.status. */
- if test x"$ac_file" = x-; then
- configure_input=
- else
- configure_input="$ac_file. "
- fi
- configure_input=$configure_input"Generated from `echo $ac_file_in |
- sed 's,.*/,,'` by configure."
-
- # First look for the input files in the build tree, otherwise in the
- # src tree.
- ac_file_inputs=`IFS=:
- for f in $ac_file_in; do
- case $f in
- -) echo $tmp/stdin ;;
- [\\/$]*)
- # Absolute (can't be DOS-style, as IFS=:)
- test -f "$f" || { { echo "$as_me:$LINENO: error: cannot find input file: $f" >&5
-echo "$as_me: error: cannot find input file: $f" >&2;}
- { (exit 1); exit 1; }; }
- echo $f;;
- *) # Relative
- if test -f "$f"; then
- # Build tree
- echo $f
- elif test -f "$srcdir/$f"; then
- # Source tree
- echo $srcdir/$f
- else
- # /dev/null tree
- { { echo "$as_me:$LINENO: error: cannot find input file: $f" >&5
-echo "$as_me: error: cannot find input file: $f" >&2;}
- { (exit 1); exit 1; }; }
- fi;;
- esac
- done` || { (exit 1); exit 1; }
-_ACEOF
-cat >>$CONFIG_STATUS <<_ACEOF
- sed "$ac_vpsub
-$extrasub
-_ACEOF
-cat >>$CONFIG_STATUS <<\_ACEOF
-:t
-/@[a-zA-Z_][a-zA-Z_0-9]*@/!b
-s,@configure_input@,$configure_input,;t t
-s,@srcdir@,$ac_srcdir,;t t
-s,@abs_srcdir@,$ac_abs_srcdir,;t t
-s,@top_srcdir@,$ac_top_srcdir,;t t
-s,@abs_top_srcdir@,$ac_abs_top_srcdir,;t t
-s,@builddir@,$ac_builddir,;t t
-s,@abs_builddir@,$ac_abs_builddir,;t t
-s,@top_builddir@,$ac_top_builddir,;t t
-s,@abs_top_builddir@,$ac_abs_top_builddir,;t t
-s,@INSTALL@,$ac_INSTALL,;t t
-" $ac_file_inputs | (eval "$ac_sed_cmds") >$tmp/out
- rm -f $tmp/stdin
- if test x"$ac_file" != x-; then
- mv $tmp/out $ac_file
- else
- cat $tmp/out
- rm -f $tmp/out
- fi
-
-done
-_ACEOF
-
-cat >>$CONFIG_STATUS <<\_ACEOF
-
-{ (exit 0); exit 0; }
-_ACEOF
-chmod +x $CONFIG_STATUS
-ac_clean_files=$ac_clean_files_save
-
-
-# configure is writing to config.log, and then calls config.status.
-# config.status does its own redirection, appending to config.log.
-# Unfortunately, on DOS this fails, as config.log is still kept open
-# by configure, so config.status won't be able to write to it; its
-# output is simply discarded. So we exec the FD to /dev/null,
-# effectively closing config.log, so it can be properly (re)opened and
-# appended to by config.status. When coming back to configure, we
-# need to make the FD available again.
-if test "$no_create" != yes; then
- ac_cs_success=:
- exec 5>/dev/null
- $SHELL $CONFIG_STATUS || ac_cs_success=false
- exec 5>>config.log
- # Use ||, not &&, to avoid exiting from the if with $? = 1, which
- # would make configure fail if this is the last instruction.
- $ac_cs_success || { (exit 1); exit 1; }
-fi
-
diff --git a/rt/autom4te.cache/requests b/rt/autom4te.cache/requests
deleted file mode 100644
index fad7b54f5..000000000
--- a/rt/autom4te.cache/requests
+++ /dev/null
@@ -1,94 +0,0 @@
-# This file was created by autom4te.
-# It contains the lists of macros which have been traced.
-# It can be safely removed.
-
-@request = (
- bless( [
- '0',
- 1,
- [
- '/usr/share/autoconf'
- ],
- [
- '--reload-state=/usr/share/autoconf/autoconf/autoconf.m4f',
- 'aclocal.m4',
- 'configure.ac'
- ],
- {
- 'AC_HEADER_STAT' => 1,
- 'AC_FUNC_STRFTIME' => 1,
- 'AC_PROG_RANLIB' => 1,
- 'AC_FUNC_WAIT3' => 1,
- 'AC_FUNC_SETPGRP' => 1,
- 'AC_HEADER_TIME' => 1,
- 'AC_FUNC_SETVBUF_REVERSED' => 1,
- 'AC_HEADER_SYS_WAIT' => 1,
- 'AC_TYPE_UID_T' => 1,
- 'AM_CONDITIONAL' => 1,
- 'AC_CHECK_LIB' => 1,
- 'AC_PROG_LN_S' => 1,
- 'AC_FUNC_MEMCMP' => 1,
- 'AC_FUNC_FORK' => 1,
- 'AC_FUNC_GETGROUPS' => 1,
- 'AC_HEADER_MAJOR' => 1,
- 'AC_FUNC_STRTOD' => 1,
- 'AC_HEADER_DIRENT' => 1,
- 'AC_FUNC_UTIME_NULL' => 1,
- 'AC_CONFIG_FILES' => 1,
- 'AC_FUNC_ALLOCA' => 1,
- 'AC_C_CONST' => 1,
- 'include' => 1,
- 'AC_FUNC_OBSTACK' => 1,
- 'AC_FUNC_LSTAT' => 1,
- 'AC_STRUCT_TIMEZONE' => 1,
- 'AC_FUNC_GETPGRP' => 1,
- 'AC_DEFINE_TRACE_LITERAL' => 1,
- 'AC_CHECK_HEADERS' => 1,
- 'AC_TYPE_MODE_T' => 1,
- 'AC_CHECK_TYPES' => 1,
- 'AC_PROG_YACC' => 1,
- 'AC_TYPE_PID_T' => 1,
- 'AC_FUNC_STRERROR_R' => 1,
- 'AC_STRUCT_ST_BLOCKS' => 1,
- 'AC_PROG_GCC_TRADITIONAL' => 1,
- 'AC_TYPE_SIGNAL' => 1,
- 'AC_FUNC_FNMATCH' => 1,
- 'AC_PROG_CPP' => 1,
- 'AM_PROG_LIBTOOL' => 1,
- 'AC_FUNC_STAT' => 1,
- 'AC_PROG_INSTALL' => 1,
- 'AM_GNU_GETTEXT' => 1,
- 'AC_FUNC_STRCOLL' => 1,
- 'AC_LIBSOURCE' => 1,
- 'AC_C_INLINE' => 1,
- 'AC_FUNC_CHOWN' => 1,
- 'AC_PROG_LEX' => 1,
- 'AH_OUTPUT' => 1,
- 'AC_HEADER_STDC' => 1,
- 'AC_FUNC_GETLOADAVG' => 1,
- 'AC_CHECK_FUNCS' => 1,
- 'AC_TYPE_SIZE_T' => 1,
- 'AC_DECL_SYS_SIGLIST' => 1,
- 'AC_FUNC_MKTIME' => 1,
- 'AC_PROG_MAKE_SET' => 1,
- 'AC_PROG_CXX' => 1,
- 'm4_pattern_allow' => 1,
- 'm4_include' => 1,
- 'm4_pattern_forbid' => 1,
- 'AC_PROG_AWK' => 1,
- 'AC_FUNC_VPRINTF' => 1,
- 'AC_CONFIG_HEADERS' => 1,
- 'AC_PATH_X' => 1,
- 'AC_TYPE_OFF_T' => 1,
- 'AC_FUNC_MALLOC' => 1,
- 'AC_FUNC_ERROR_AT_LINE' => 1,
- 'AC_FUNC_FSEEKO' => 1,
- 'AC_FUNC_MMAP' => 1,
- 'AC_STRUCT_TM' => 1,
- 'AC_SUBST' => 1,
- 'AC_PROG_CC' => 1,
- 'AC_PROG_LIBTOOL' => 1
- }
- ], 'Request' )
- );
-
diff --git a/rt/autom4te.cache/traces.0 b/rt/autom4te.cache/traces.0
deleted file mode 100644
index f13276211..000000000
--- a/rt/autom4te.cache/traces.0
+++ /dev/null
@@ -1,158 +0,0 @@
-m4trace:configure.ac:9: -1- m4_pattern_forbid([^_?A[CHUM]_])
-m4trace:configure.ac:9: -1- m4_pattern_forbid([_AC_])
-m4trace:configure.ac:9: -1- m4_pattern_forbid([^LIBOBJS$], [do not use LIBOBJS directly, use AC_LIBOBJ (see section `AC_LIBOBJ vs. LIBOBJS'])
-m4trace:configure.ac:9: -1- m4_pattern_allow([^AS_FLAGS$])
-m4trace:configure.ac:9: -1- m4_pattern_forbid([^_?m4_])
-m4trace:configure.ac:9: -1- m4_pattern_forbid([^dnl$])
-m4trace:configure.ac:9: -1- m4_pattern_forbid([^_?AS_])
-m4trace:configure.ac:9: -1- AC_SUBST([SHELL], [${CONFIG_SHELL-/bin/sh}])
-m4trace:configure.ac:9: -1- AC_SUBST([PATH_SEPARATOR])
-m4trace:configure.ac:9: -1- AC_SUBST([PACKAGE_NAME], [m4_ifdef([AC_PACKAGE_NAME], ['AC_PACKAGE_NAME'])])
-m4trace:configure.ac:9: -1- AC_SUBST([PACKAGE_TARNAME], [m4_ifdef([AC_PACKAGE_TARNAME], ['AC_PACKAGE_TARNAME'])])
-m4trace:configure.ac:9: -1- AC_SUBST([PACKAGE_VERSION], [m4_ifdef([AC_PACKAGE_VERSION], ['AC_PACKAGE_VERSION'])])
-m4trace:configure.ac:9: -1- AC_SUBST([PACKAGE_STRING], [m4_ifdef([AC_PACKAGE_STRING], ['AC_PACKAGE_STRING'])])
-m4trace:configure.ac:9: -1- AC_SUBST([PACKAGE_BUGREPORT], [m4_ifdef([AC_PACKAGE_BUGREPORT], ['AC_PACKAGE_BUGREPORT'])])
-m4trace:configure.ac:9: -1- AC_SUBST([exec_prefix], [NONE])
-m4trace:configure.ac:9: -1- AC_SUBST([prefix], [NONE])
-m4trace:configure.ac:9: -1- AC_SUBST([program_transform_name], [s,x,x,])
-m4trace:configure.ac:9: -1- AC_SUBST([bindir], ['${exec_prefix}/bin'])
-m4trace:configure.ac:9: -1- AC_SUBST([sbindir], ['${exec_prefix}/sbin'])
-m4trace:configure.ac:9: -1- AC_SUBST([libexecdir], ['${exec_prefix}/libexec'])
-m4trace:configure.ac:9: -1- AC_SUBST([datadir], ['${prefix}/share'])
-m4trace:configure.ac:9: -1- AC_SUBST([sysconfdir], ['${prefix}/etc'])
-m4trace:configure.ac:9: -1- AC_SUBST([sharedstatedir], ['${prefix}/com'])
-m4trace:configure.ac:9: -1- AC_SUBST([localstatedir], ['${prefix}/var'])
-m4trace:configure.ac:9: -1- AC_SUBST([libdir], ['${exec_prefix}/lib'])
-m4trace:configure.ac:9: -1- AC_SUBST([includedir], ['${prefix}/include'])
-m4trace:configure.ac:9: -1- AC_SUBST([oldincludedir], ['/usr/include'])
-m4trace:configure.ac:9: -1- AC_SUBST([infodir], ['${prefix}/info'])
-m4trace:configure.ac:9: -1- AC_SUBST([mandir], ['${prefix}/man'])
-m4trace:configure.ac:9: -1- AC_DEFINE_TRACE_LITERAL([PACKAGE_NAME])
-m4trace:configure.ac:9: -1- AH_OUTPUT([PACKAGE_NAME], [/* Define to the full name of this package. */
-#undef PACKAGE_NAME])
-m4trace:configure.ac:9: -1- AC_DEFINE_TRACE_LITERAL([PACKAGE_TARNAME])
-m4trace:configure.ac:9: -1- AH_OUTPUT([PACKAGE_TARNAME], [/* Define to the one symbol short name of this package. */
-#undef PACKAGE_TARNAME])
-m4trace:configure.ac:9: -1- AC_DEFINE_TRACE_LITERAL([PACKAGE_VERSION])
-m4trace:configure.ac:9: -1- AH_OUTPUT([PACKAGE_VERSION], [/* Define to the version of this package. */
-#undef PACKAGE_VERSION])
-m4trace:configure.ac:9: -1- AC_DEFINE_TRACE_LITERAL([PACKAGE_STRING])
-m4trace:configure.ac:9: -1- AH_OUTPUT([PACKAGE_STRING], [/* Define to the full name and version of this package. */
-#undef PACKAGE_STRING])
-m4trace:configure.ac:9: -1- AC_DEFINE_TRACE_LITERAL([PACKAGE_BUGREPORT])
-m4trace:configure.ac:9: -1- AH_OUTPUT([PACKAGE_BUGREPORT], [/* Define to the address where bug reports for this package should be sent. */
-#undef PACKAGE_BUGREPORT])
-m4trace:configure.ac:9: -1- AC_SUBST([build_alias])
-m4trace:configure.ac:9: -1- AC_SUBST([host_alias])
-m4trace:configure.ac:9: -1- AC_SUBST([target_alias])
-m4trace:configure.ac:9: -1- AC_SUBST([DEFS])
-m4trace:configure.ac:9: -1- AC_SUBST([ECHO_C])
-m4trace:configure.ac:9: -1- AC_SUBST([ECHO_N])
-m4trace:configure.ac:9: -1- AC_SUBST([ECHO_T])
-m4trace:configure.ac:9: -1- AC_SUBST([LIBS])
-m4trace:configure.ac:14: -1- AC_SUBST([rt_version_major], [3])
-m4trace:configure.ac:16: -1- AC_SUBST([rt_version_minor], [0])
-m4trace:configure.ac:18: -1- AC_SUBST([rt_version_patch], [9])
-m4trace:configure.ac:24: -1- AC_PROG_INSTALL
-m4trace:configure.ac:24: -1- AC_SUBST([INSTALL_PROGRAM])
-m4trace:configure.ac:24: -1- AC_SUBST([INSTALL_SCRIPT])
-m4trace:configure.ac:24: -1- AC_SUBST([INSTALL_DATA])
-m4trace:configure.ac:25: -1- AC_SUBST([PERL])
-m4trace:configure.ac:26: -1- AC_SUBST([PERL], [$ac_cv_path_PERL])
-m4trace:configure.ac:36: -1- AC_SUBST([SPEEDY_BIN])
-m4trace:configure.ac:41: -1- AC_SUBST([prefix])
-m4trace:configure.ac:41: -1- AC_SUBST([exp_prefix])
-m4trace:configure.ac:41: -1- AC_SUBST([exec_prefix])
-m4trace:configure.ac:41: -1- AC_SUBST([exp_exec_prefix])
-m4trace:configure.ac:41: -1- AC_SUBST([bindir])
-m4trace:configure.ac:41: -1- AC_SUBST([exp_bindir])
-m4trace:configure.ac:41: -1- AC_SUBST([sbindir])
-m4trace:configure.ac:41: -1- AC_SUBST([exp_sbindir])
-m4trace:configure.ac:41: -1- AC_SUBST([sysconfdir])
-m4trace:configure.ac:41: -1- AC_SUBST([exp_sysconfdir])
-m4trace:configure.ac:41: -1- AC_SUBST([mandir])
-m4trace:configure.ac:41: -1- AC_SUBST([exp_mandir])
-m4trace:configure.ac:41: -1- AC_SUBST([libdir])
-m4trace:configure.ac:41: -1- AC_SUBST([exp_libdir])
-m4trace:configure.ac:41: -1- AC_SUBST([datadir])
-m4trace:configure.ac:41: -1- AC_SUBST([exp_datadir])
-m4trace:configure.ac:41: -1- AC_SUBST([htmldir])
-m4trace:configure.ac:41: -1- AC_SUBST([exp_htmldir])
-m4trace:configure.ac:41: -1- AC_SUBST([manualdir])
-m4trace:configure.ac:41: -1- AC_SUBST([exp_manualdir])
-m4trace:configure.ac:41: -1- AC_SUBST([localstatedir])
-m4trace:configure.ac:41: -1- AC_SUBST([exp_localstatedir])
-m4trace:configure.ac:41: -1- AC_SUBST([logfiledir])
-m4trace:configure.ac:41: -1- AC_SUBST([exp_logfiledir])
-m4trace:configure.ac:41: -1- AC_SUBST([masonstatedir])
-m4trace:configure.ac:41: -1- AC_SUBST([exp_masonstatedir])
-m4trace:configure.ac:41: -1- AC_SUBST([sessionstatedir])
-m4trace:configure.ac:41: -1- AC_SUBST([exp_sessionstatedir])
-m4trace:configure.ac:41: -1- AC_SUBST([customdir])
-m4trace:configure.ac:41: -1- AC_SUBST([exp_customdir])
-m4trace:configure.ac:41: -1- AC_SUBST([custometcdir])
-m4trace:configure.ac:41: -1- AC_SUBST([exp_custometcdir])
-m4trace:configure.ac:41: -1- AC_SUBST([customhtmldir])
-m4trace:configure.ac:41: -1- AC_SUBST([exp_customhtmldir])
-m4trace:configure.ac:41: -1- AC_SUBST([customlexdir])
-m4trace:configure.ac:41: -1- AC_SUBST([exp_customlexdir])
-m4trace:configure.ac:41: -1- AC_SUBST([customlibdir])
-m4trace:configure.ac:41: -1- AC_SUBST([exp_customlibdir])
-m4trace:configure.ac:41: -1- AC_SUBST([rt_layout_name])
-m4trace:configure.ac:49: -1- AC_SUBST([RTGROUP])
-m4trace:configure.ac:57: -1- AC_SUBST([BIN_OWNER])
-m4trace:configure.ac:65: -1- AC_SUBST([LIBS_OWNER])
-m4trace:configure.ac:73: -1- AC_SUBST([LIBS_GROUP])
-m4trace:configure.ac:84: -1- AC_SUBST([DB_TYPE])
-m4trace:configure.ac:91: -1- AC_SUBST([ORACLE_ENV_PREF])
-m4trace:configure.ac:99: -1- AC_SUBST([DB_HOST])
-m4trace:configure.ac:107: -1- AC_SUBST([DB_PORT])
-m4trace:configure.ac:115: -1- AC_SUBST([DB_RT_HOST])
-m4trace:configure.ac:123: -1- AC_SUBST([DB_DBA])
-m4trace:configure.ac:131: -1- AC_SUBST([DB_DATABASE])
-m4trace:configure.ac:139: -1- AC_SUBST([DB_RT_USER])
-m4trace:configure.ac:147: -1- AC_SUBST([DB_RT_PASS])
-m4trace:configure.ac:155: -1- AC_SUBST([WEB_USER])
-m4trace:configure.ac:163: -1- AC_SUBST([WEB_GROUP])
-m4trace:configure.ac:182: -1- AC_SUBST([RT_VERSION_MAJOR], [${rt_version_major}])
-m4trace:configure.ac:183: -1- AC_SUBST([RT_VERSION_MINOR], [${rt_version_minor}])
-m4trace:configure.ac:184: -1- AC_SUBST([RT_VERSION_PATCH], [${rt_version_patch}])
-m4trace:configure.ac:187: -1- AC_SUBST([RT_PATH], [${exp_prefix}])
-m4trace:configure.ac:188: -1- AC_SUBST([RT_DOC_PATH], [${exp_manualdir}])
-m4trace:configure.ac:189: -1- AC_SUBST([RT_LOCAL_PATH], [${exp_customdir}])
-m4trace:configure.ac:190: -1- AC_SUBST([RT_LIB_PATH], [${exp_libdir}])
-m4trace:configure.ac:191: -1- AC_SUBST([RT_ETC_PATH], [${exp_sysconfdir}])
-m4trace:configure.ac:192: -1- AC_SUBST([CONFIG_FILE_PATH], [${exp_sysconfdir}])
-m4trace:configure.ac:193: -1- AC_SUBST([RT_BIN_PATH], [${exp_bindir}])
-m4trace:configure.ac:194: -1- AC_SUBST([RT_SBIN_PATH], [${exp_sbindir}])
-m4trace:configure.ac:195: -1- AC_SUBST([RT_VAR_PATH], [${exp_localstatedir}])
-m4trace:configure.ac:196: -1- AC_SUBST([RT_MAN_PATH], [${exp_mandir}])
-m4trace:configure.ac:197: -1- AC_SUBST([MASON_DATA_PATH], [${exp_masonstatedir}])
-m4trace:configure.ac:198: -1- AC_SUBST([MASON_SESSION_PATH], [${exp_sessionstatedir}])
-m4trace:configure.ac:199: -1- AC_SUBST([MASON_HTML_PATH], [${exp_htmldir}])
-m4trace:configure.ac:200: -1- AC_SUBST([LOCAL_ETC_PATH], [${exp_custometcdir}])
-m4trace:configure.ac:201: -1- AC_SUBST([MASON_LOCAL_HTML_PATH], [${exp_customhtmldir}])
-m4trace:configure.ac:202: -1- AC_SUBST([LOCAL_LEXICON_PATH], [${exp_customlexdir}])
-m4trace:configure.ac:203: -1- AC_SUBST([LOCAL_LIB_PATH], [${exp_customlibdir}])
-m4trace:configure.ac:204: -1- AC_SUBST([DESTDIR], [${exp_prefix}])
-m4trace:configure.ac:205: -1- AC_SUBST([RT_LOG_PATH], [${exp_logfiledir}])
-m4trace:configure.ac:228: -1- AC_CONFIG_FILES([
- sbin/rt-setup-database
- sbin/rt-test-dependencies
- Makefile
- etc/RT_Config.pm
- lib/RT.pm
- lib/t/00smoke.t
- lib/t/01harness.t
- lib/t/02regression.t
- lib/t/03web.pl
- lib/t/04_send_email.pl
- bin/mason_handler.fcgi
- bin/mason_handler.scgi
- bin/mason_handler.svc
- bin/rt-commit-handler
- bin/rt-crontool
- bin/rt-mailgate
- bin/rt
- bin/webmux.pl
- ])
diff --git a/rt/bin/mason_handler.fcgi b/rt/bin/mason_handler.fcgi
deleted file mode 100755
index 93d1f8855..000000000
--- a/rt/bin/mason_handler.fcgi
+++ /dev/null
@@ -1,68 +0,0 @@
-#!/usr/bin/perl
-# BEGIN LICENSE BLOCK
-#
-# Copyright (c) 1996-2003 Jesse Vincent <jesse@bestpractical.com>
-#
-# (Except where explictly superceded by other copyright notices)
-#
-# This work is made available to you under the terms of Version 2 of
-# the GNU General Public License. A copy of that license should have
-# been provided with this software, but in any event can be snarfed
-# from www.gnu.org.
-#
-# This work is distributed in the hope that it will be useful, but
-# WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-# General Public License for more details.
-#
-# Unless otherwise specified, all modifications, corrections or
-# extensions to this work which alter its source code become the
-# property of Best Practical Solutions, LLC when submitted for
-# inclusion in the work.
-#
-#
-# END LICENSE BLOCK
-
-use strict;
-use File::Basename;
-require ('/opt/rt3/bin/webmux.pl');
-
-my $h = &RT::Interface::Web::NewCGIHandler(@RT::MasonParameters);
-
-# Enter CGI::Fast mode, which should also work as a vanilla CGI script.
-require CGI::Fast;
-
-RT::Init();
-
-# Response loop
-while ( my $cgi = CGI::Fast->new ) {
- # the whole point of fastcgi requires the env to get reset here..
- # So we must squash it again
- $ENV{'PATH'} = '/bin:/usr/bin';
- $ENV{'CDPATH'} = '' if defined $ENV{'CDPATH'};
- $ENV{'SHELL'} = '/bin/sh' if defined $ENV{'SHELL'};
- $ENV{'ENV'} = '' if defined $ENV{'ENV'};
- $ENV{'IFS'} = '' if defined $ENV{'IFS'};
-
- RT::ConnectToDatabase();
-
- if ( ( !$h->interp->comp_exists( $cgi->path_info ) )
- && ( $h->interp->comp_exists( $cgi->path_info . "/index.html" ) ) ) {
- $cgi->path_info( $cgi->path_info . "/index.html" );
- }
-
- eval { $h->handle_cgi_object($cgi); };
- if ($@) {
- $RT::Logger->crit($@);
- }
-
-
- if ($RT::Handle->TransactionDepth) {
- $RT::Handle->ForceRollback;
- $RT::Logger->crit("Transaction not committed. Usually indicates a software fault. Data loss may have occurred") ;
- }
-
-
-}
-
-1;
diff --git a/rt/bin/mason_handler.scgi b/rt/bin/mason_handler.scgi
deleted file mode 100755
index 7774189ee..000000000
--- a/rt/bin/mason_handler.scgi
+++ /dev/null
@@ -1,43 +0,0 @@
-#!/usr/local/bin/speedy
-# BEGIN LICENSE BLOCK
-#
-# Copyright (c) 1996-2003 Jesse Vincent <jesse@bestpractical.com>
-#
-# (Except where explictly superceded by other copyright notices)
-#
-# This work is made available to you under the terms of Version 2 of
-# the GNU General Public License. A copy of that license should have
-# been provided with this software, but in any event can be snarfed
-# from www.gnu.org.
-#
-# This work is distributed in the hope that it will be useful, but
-# WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-# General Public License for more details.
-#
-# Unless otherwise specified, all modifications, corrections or
-# extensions to this work which alter its source code become the
-# property of Best Practical Solutions, LLC when submitted for
-# inclusion in the work.
-#
-#
-# END LICENSE BLOCK
-
-use strict;
-require ('/opt/rt3/bin/webmux.pl');
-
-my $h = &RT::Interface::Web::NewCGIHandler(@RT::MasonParameters);
-
-require CGI;
-
-RT::Init();
-
-my $cgi = CGI->new;
-if ( ( !$h->interp->comp_exists( $cgi->path_info ) )
- && ( $h->interp->comp_exists( $cgi->path_info . "/index.html" ) ) ) {
- $cgi->path_info( $cgi->path_info . "/index.html" );
-}
-
-$h->handle_cgi_object($cgi);
-
-1;
diff --git a/rt/bin/mason_handler.svc b/rt/bin/mason_handler.svc
deleted file mode 100644
index c05d21e69..000000000
--- a/rt/bin/mason_handler.svc
+++ /dev/null
@@ -1,234 +0,0 @@
-#!/usr/bin/perl
-# BEGIN LICENSE BLOCK
-#
-# Copyright (c) 1996-2003 Jesse Vincent <jesse@bestpractical.com>
-#
-# (Except where explictly superceded by other copyright notices)
-#
-# This work is made available to you under the terms of Version 2 of
-# the GNU General Public License. A copy of that license should have
-# been provided with this software, but in any event can be snarfed
-# from www.gnu.org.
-#
-# This work is distributed in the hope that it will be useful, but
-# WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-# General Public License for more details.
-#
-# Unless otherwise specified, all modifications, corrections or
-# extensions to this work which alter its source code become the
-# property of Best Practical Solutions, LLC when submitted for
-# inclusion in the work.
-#
-#
-# END LICENSE BLOCK
-
-=head1 NAME
-
-mason_handler.svc - Win32 IIS Service handler for RT
-
-=head1 SYNOPSIS
-
- perl mason_handler.svc --install # install as service
- perl mason_handler.svc --deinstall # deinstall this service
- perl mason_handler.svc --help # show this help
- perl mason_handler.svc # launch handler from command line
-
-=head1 DESCRIPTION
-
-This script manages a stand-alone FastCGI server, and populates the necessary
-registry settings to run it with Microsoft IIS Server 4.0 or above.
-
-Before running it, you need to install the B<FCGI> module from CPAN, as well as
-B<Win32::Daemon> from L<http://www.roth.net/perl/Daemon/> if you want to install
-itself as a service.
-
-This script will automatically create a virtual directory under the IIS root;
-its name is taken from C<$WebPath> in the F<RT_Config.pm> file. Additionally,
-please install the ISAPI binary from L<http://www.caraveo.com/fastcgi/> and set
-up an ISAPI Script Map that maps F<.html> files to F<isapi_fcgi.dll>.
-
-Once the service is launched (either via C<net start RTFastCGI> or by running
-C<perl mason_handler.svc>), a FCGI server will start and bind to port C<8284>
-(mnemonics: the ASCII value of C<R> and C<T>); the ISAPI handler's C<BindPath>
-registry setting will also be automatically populated.
-
-=cut
-
-use strict;
-use File::Basename;
-require (dirname(__FILE__) . '/webmux.pl');
-
-use Cwd;
-use File::Spec;
-
-use Win32;
-use Win32::Process;
-use Win32::Service;
-use Win32::TieRegistry;
-
-my $ProcessObj;
-
-BEGIN {
- my $runsvc = sub {
- Win32::Process::Create(
- $ProcessObj, $^X, "$^X $0 --run", 0, NORMAL_PRIORITY_CLASS, "."
- ) or do {
- die Win32::FormatMessage( Win32::GetLastError() );
- };
-
- chdir File::Basename::dirname($0);
- my $path = Cwd::cwd();
- $path =~ s|/|\\|g;
- $path =~ s|bin$|share\\html|;
-
- $Win32::TieRegistry::Registry->{
- 'HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\\'.
- 'W3SVC\Parameters\Virtual Roots\\'
- }->{$RT::WebPath || '/'} = "$path,,205";
-
- $Win32::TieRegistry::Registry->{
- 'HKEY_LOCAL_MACHINE\Software\FASTCGI\.html\\'
- }->{'BindPath'} = $ENV{'FCGI_SOCKET_PATH'};
-
- Win32::Service::StartService(Win32::NodeName, 'W3SVC');
- };
-
- if ($ARGV[0] eq '--deinstall') {
- chdir File::Basename::dirname($0);
- my $path = Cwd::cwd();
- $path =~ s|/|\\|g;
-
- require Win32::Daemon;
- Win32::Daemon::DeleteService('RTFastCGI');
- warn "Service 'RTFastCGI' successfully deleted.\n";
- exit;
- }
- elsif ($ARGV[0] eq '--install') {
- chdir File::Basename::dirname($0);
- my $path = Cwd::cwd();
- $path =~ s|/|\\|g;
-
- require Win32::Daemon;
- Win32::Daemon::DeleteService('RTFastCGI');
-
- my $rv = Win32::Daemon::CreateService( {
- machine => '',
- name => 'RTFastCGI',
- display => 'RT FastCGI Handler',
- path => $^X,
- user => '',
- pwd => $path,
- description => 'Enables port 8284 as the RT FastCGI handler.',
- parameters => File::Spec->catfile(
- $path, File::Basename::basename($0)
- ) . ' --service',
- } );
-
- if ($rv) {
- warn "Service 'RTFastCGI' successfully created.\n";
- }
- else {
- warn "Failed to add service: " . Win32::FormatMessage(
- Win32::Daemon::GetLastError()
- ) . "\n";
- }
- exit;
- }
- elsif ($ARGV[0] eq '--service') {
- require Win32::Daemon;
-
- my $PrevState = Win32::Daemon::SERVICE_START_PENDING();
- Win32::Daemon::StartService() or die $^E;
-
- while ( 1 ) {
- my $State = Win32::Daemon::State();
- last if $State == Win32::Daemon::SERVICE_STOPPED();
-
- if ( $State == Win32::Daemon::SERVICE_START_PENDING() ) {
- $runsvc->();
- Win32::Daemon::State( Win32::Daemon::SERVICE_RUNNING() );
- $PrevState = Win32::Daemon::SERVICE_RUNNING();
- }
- elsif ( $State == Win32::Daemon::SERVICE_CONTINUE_PENDING() ) {
- $ProcessObj->Resume;
- Win32::Daemon::State( Win32::Daemon::SERVICE_RUNNING() );
- $PrevState = Win32::Daemon::SERVICE_RUNNING();
- }
- elsif ( $State == Win32::Daemon::SERVICE_STOP_PENDING() ) {
- $ProcessObj->Kill(0);
- Win32::Daemon::State( Win32::Daemon::SERVICE_STOPPED() );
- $PrevState = Win32::Daemon::SERVICE_STOPPED();
- }
- elsif ( $State == Win32::Daemon::SERVICE_RUNNING() ) {
- my $Message = Win32::Daemon::QueryLastMessage(1);
- if ( $Message == Win32::Daemon::SERVICE_CONTROL_INTERROGATE() ) {
- Win32::Daemon::State( $PrevState );
- }
- elsif ( $Message == Win32::Daemon::SERVICE_CONTROL_SHUTDOWN() ) {
- Win32::Daemon::State( Win32::Daemon::SERVICE_STOP_PENDING(), 15000 );
- }
- elsif ( $Message != Win32::Daemon::SERVICE_CONTROL_NONE() ) {
- Win32::Daemon::State( $PrevState );
- }
- }
-
- Win32::Sleep( 1000 );
- }
-
- Win32::Daemon::StopService();
- exit;
- }
- elsif ($ARGV[0] eq '--help') {
- system("perldoc $0");
- exit;
- }
- elsif ($ARGV[0] ne '--run') {
- $SIG{__DIE__} = sub { $ProcessObj->Kill(0) if $ProcessObj };
- $runsvc->();
- warn "RT FastCGI Handler launched. Press [Enter] to terminate...\n";
- <STDIN>;
- exit;
- }
-}
-
-###############################################################################
-
-warn "Begin listening on $ENV{'FCGI_SOCKET_PATH'}\n";
-
-require CGI::Fast;
-my $h = &RT::Interface::Web::NewCGIHandler(@RT::MasonParameters);
-
-RT::Init();
-
-# Response loop
-while( my $cgi = CGI::Fast->new ) {
- my $comp = $ENV{'PATH_INFO'};
-
- $comp = $1 if ($comp =~ /^(.*)$/);
- $comp =~ s|^$RT::WebPath\b||i;
- $comp .= "index.html" if ($comp =~ /\/$/);
- $comp =~ s/.pl$/.html/g;
-
- warn "Serving $comp\n";
-
- $h->handle_cgi($comp);
- # _should_ always be tied
-}
-
-1;
-
-=head1 AUTHORS
-
-Autrijus Tang E<lt>autrijus@autrijus.orgE<gt>
-
-=head1 COPYRIGHT
-
-Copyright 2002 by Autrijus Tang E<lt>autrijus@autrijus.orgE<gt>.
-
-This program is free software; you can redistribute it and/or
-modify it under the same terms as Perl itself.
-
-See L<http://www.perl.com/perl/misc/Artistic.html>
-
-=cut
diff --git a/rt/bin/rt b/rt/bin/rt
deleted file mode 100755
index d9f8a3f05..000000000
--- a/rt/bin/rt
+++ /dev/null
@@ -1,1816 +0,0 @@
-#!/usr/bin/perl -w
-# BEGIN LICENSE BLOCK
-#
-# Copyright (c) 1996-2003 Jesse Vincent <jesse@bestpractical.com>
-#
-# (Except where explictly superceded by other copyright notices)
-#
-# This work is made available to you under the terms of Version 2 of
-# the GNU General Public License. A copy of that license should have
-# been provided with this software, but in any event can be snarfed
-# from www.gnu.org.
-#
-# This work is distributed in the hope that it will be useful, but
-# WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-# General Public License for more details.
-#
-# Unless otherwise specified, all modifications, corrections or
-# extensions to this work which alter its source code become the
-# property of Best Practical Solutions, LLC when submitted for
-# inclusion in the work.
-#
-#
-# END LICENSE BLOCK
-
-use strict;
-
-# This program is intentionally written to have as few non-core module
-# dependencies as possible. It should stay that way.
-
-use Cwd;
-use LWP;
-use HTTP::Request::Common;
-
-# We derive configuration information from hardwired defaults, dotfiles,
-# and the RT* environment variables (in increasing order of precedence).
-# Session information is stored in ~/.rt_sessions.
-
-my $VERSION = 0.02;
-my $HOME = eval{(getpwuid($<))[7]}
- || $ENV{HOME} || $ENV{LOGDIR} || $ENV{HOMEPATH}
- || ".";
-my %config = (
- (
- debug => 0,
- user => eval{(getpwuid($<))[0]} || $ENV{USER} || $ENV{USERNAME},
- passwd => undef,
- server => 'http://localhost/rt/',
- ),
- config_from_file($ENV{RTCONFIG} || ".rtrc"),
- config_from_env()
-);
-my $session = new Session("$HOME/.rt_sessions");
-my $REST = "$config{server}/REST/1.0";
-
-sub whine;
-sub DEBUG { warn @_ if $config{debug} >= shift }
-
-# These regexes are used by command handlers to parse arguments.
-# (XXX: Ask Autrijus how i18n changes these definitions.)
-
-my $name = '[\w.-]+';
-my $field = '[a-zA-Z][a-zA-Z0-9_-]*';
-my $label = '[a-zA-Z0-9@_.+-]+';
-my $labels = "(?:$label,)*$label";
-my $idlist = '(?:(?:\d+-)?\d+,)*(?:\d+-)?\d+';
-
-# Our command line looks like this:
-#
-# rt <action> [options] [arguments]
-#
-# We'll parse just enough of it to decide upon an action to perform, and
-# leave the rest to per-action handlers to interpret appropriately.
-
-my %handlers = (
-# handler => [ ...aliases... ],
- version => ["version", "ver"],
- logout => ["logout"],
- help => ["help", "man"],
- show => ["show", "cat"],
- edit => ["create", "edit", "new", "ed"],
- list => ["search", "list", "ls"],
- comment => ["comment", "correspond"],
- link => ["link", "ln"],
- merge => ["merge"],
- grant => ["grant", "revoke"],
-);
-
-# Once we find and call an appropriate handler, we're done.
-
-my (%actions, $action);
-foreach my $fn (keys %handlers) {
- foreach my $alias (@{ $handlers{$fn} }) {
- $actions{$alias} = \&{"$fn"};
- }
-}
-if (@ARGV && exists $actions{$ARGV[0]}) {
- $action = shift @ARGV;
-}
-$actions{$action || "help"}->($action || ());
-exit;
-
-# Handler functions.
-# ------------------
-#
-# The following subs are handlers for each entry in %actions.
-
-sub version {
- print "rt $VERSION\n";
-}
-
-sub logout {
- submit("$REST/logout") if defined $session->cookie;
-}
-
-sub help {
- my ($action, $type) = @_;
- my (%help, $key);
-
- # What help topics do we know about?
- local $/ = undef;
- foreach my $item (@{ Form::parse(<DATA>) }) {
- my $title = $item->[2]{Title};
- my @titles = ref $title eq 'ARRAY' ? @$title : $title;
-
- foreach $title (grep $_, @titles) {
- $help{$title} = $item->[2]{Text};
- }
- }
-
- # What does the user want help with?
- undef $action if ($action && $actions{$action} eq \&help);
- unless ($action || $type) {
- # If we don't know, we'll look for clues in @ARGV.
- foreach (@ARGV) {
- if (exists $help{$_}) { $key = $_; last; }
- }
- unless ($key) {
- # Tolerate possibly plural words.
- foreach (@ARGV) {
- if ($_ =~ s/s$// && exists $help{$_}) { $key = $_; last; }
- }
- }
- }
-
- if ($type && $action) {
- $key = "$type.$action";
- }
- $key ||= $type || $action || "introduction";
-
- # Find a suitable topic to display.
- while (!exists $help{$key}) {
- if ($type && $action) {
- if ($key eq "$type.$action") { $key = $action; }
- elsif ($key eq $action) { $key = $type; }
- else { $key = "introduction"; }
- }
- else {
- $key = "introduction";
- }
- }
-
- print STDERR $help{$key}, "\n\n";
-}
-
-# Displays a list of objects that match some specified condition.
-
-sub list {
- my ($q, $type, %data, $orderby);
- my $bad = 0;
-
- while (@ARGV) {
- $_ = shift @ARGV;
-
- if (/^-t$/) {
- $bad = 1, last unless defined($type = get_type_argument());
- }
- elsif (/^-S$/) {
- $bad = 1, last unless get_var_argument(\%data);
- }
- elsif (/^-o$/) {
- $orderby = shift @ARGV;
- }
- elsif (/^-([isl])$/) {
- $data{format} = $1;
- }
- elsif (/^-f$/) {
- if ($ARGV[0] !~ /^(?:(?:$field,)*$field)$/) {
- whine "No valid field list in '-f $ARGV[0]'.";
- $bad = 1; last;
- }
- $data{fields} = shift @ARGV;
- }
- elsif (!defined $q && !/^-/) {
- $q = $_;
- }
- else {
- my $datum = /^-/ ? "option" : "argument";
- whine "Unrecognised $datum '$_'.";
- $bad = 1; last;
- }
- }
-
- $type ||= "ticket";
- unless ($type && defined $q) {
- my $item = $type ? "query string" : "object type";
- whine "No $item specified.";
- $bad = 1;
- }
- return help("list", $type) if $bad;
-
- my $r = submit("$REST/search/$type", { query => $q, %data, orderby => $orderby || "" });
- print $r->content;
-}
-
-# Displays selected information about a single object.
-
-sub show {
- my ($type, @objects, %data);
- my $slurped = 0;
- my $bad = 0;
-
- while (@ARGV) {
- $_ = shift @ARGV;
-
- if (/^-t$/) {
- $bad = 1, last unless defined($type = get_type_argument());
- }
- elsif (/^-S$/) {
- $bad = 1, last unless get_var_argument(\%data);
- }
- elsif (/^-([isl])$/) {
- $data{format} = $1;
- }
- elsif (/^-$/ && !$slurped) {
- chomp(my @lines = <STDIN>);
- foreach (@lines) {
- unless (is_object_spec($_, $type)) {
- whine "Invalid object on STDIN: '$_'.";
- $bad = 1; last;
- }
- push @objects, $_;
- }
- $slurped = 1;
- }
- elsif (/^-f$/) {
- if ($ARGV[0] !~ /^(?:(?:$field,)*$field)$/) {
- whine "No valid field list in '-f $ARGV[0]'.";
- $bad = 1; last;
- }
- $data{fields} = shift @ARGV;
- }
- elsif (my $spec = is_object_spec($_, $type)) {
- push @objects, $spec;
- }
- else {
- my $datum = /^-/ ? "option" : "argument";
- whine "Unrecognised $datum '$_'.";
- $bad = 1; last;
- }
- }
-
- unless (@objects) {
- whine "No objects specified.";
- $bad = 1;
- }
- return help("show", $type) if $bad;
-
- my $r = submit("$REST/show", { id => \@objects, %data });
- print $r->content;
-}
-
-# To create a new object, we ask the server for a form with the defaults
-# filled in, allow the user to edit it, and send the form back.
-#
-# To edit an object, we must ask the server for a form representing that
-# object, make changes requested by the user (either on the command line
-# or interactively via $EDITOR), and send the form back.
-
-sub edit {
- my ($action) = @_;
- my (%data, $type, @objects);
- my ($cl, $text, $edit, $input, $output);
-
- use vars qw(%set %add %del);
- %set = %add = %del = ();
- my $slurped = 0;
- my $bad = 0;
-
- while (@ARGV) {
- $_ = shift @ARGV;
-
- if (/^-e$/) { $edit = 1 }
- elsif (/^-i$/) { $input = 1 }
- elsif (/^-o$/) { $output = 1 }
- elsif (/^-t$/) {
- $bad = 1, last unless defined($type = get_type_argument());
- }
- elsif (/^-S$/) {
- $bad = 1, last unless get_var_argument(\%data);
- }
- elsif (/^-$/ && !($slurped || $input)) {
- chomp(my @lines = <STDIN>);
- foreach (@lines) {
- unless (is_object_spec($_, $type)) {
- whine "Invalid object on STDIN: '$_'.";
- $bad = 1; last;
- }
- push @objects, $_;
- }
- $slurped = 1;
- }
- elsif (/^set$/i) {
- my $vars = 0;
-
- while (@ARGV && $ARGV[0] =~ /^($field)([+-]?=)(.*)$/) {
- my ($key, $op, $val) = ($1, $2, $3);
- my $hash = ($op eq '=') ? \%set : ($op =~ /^\+/) ? \%add : \%del;
-
- vpush($hash, lc $key, $val);
- shift @ARGV;
- $vars++;
- }
- unless ($vars) {
- whine "No variables to set.";
- $bad = 1; last;
- }
- $cl = $vars;
- }
- elsif (/^(?:add|del)$/i) {
- my $vars = 0;
- my $hash = ($_ eq "add") ? \%add : \%del;
-
- while (@ARGV && $ARGV[0] =~ /^($field)=(.*)$/) {
- my ($key, $val) = ($1, $2);
-
- vpush($hash, lc $key, $val);
- shift @ARGV;
- $vars++;
- }
- unless ($vars) {
- whine "No variables to set.";
- $bad = 1; last;
- }
- $cl = $vars;
- }
- elsif (my $spec = is_object_spec($_, $type)) {
- push @objects, $spec;
- }
- else {
- my $datum = /^-/ ? "option" : "argument";
- whine "Unrecognised $datum '$_'.";
- $bad = 1; last;
- }
- }
-
- if ($action =~ /^ed(?:it)?$/) {
- unless (@objects) {
- whine "No objects specified.";
- $bad = 1;
- }
- }
- else {
- if (@objects) {
- whine "You shouldn't specify objects as arguments to $action.";
- $bad = 1;
- }
- unless ($type) {
- whine "What type of object do you want to create?";
- $bad = 1;
- }
- @objects = ("$type/new");
- }
- return help($action, $type) if $bad;
-
- # We need a form to make changes to. We usually ask the server for
- # one, but we can avoid that if we are fed one on STDIN, or if the
- # user doesn't want to edit the form by hand, and the command line
- # specifies only simple variable assignments.
-
- if ($input) {
- local $/ = undef;
- $text = <STDIN>;
- }
- elsif ($edit || %add || %del || !$cl) {
- my $r = submit("$REST/show", { id => \@objects, format => 'l' });
- $text = $r->content;
- }
-
- # If any changes were specified on the command line, apply them.
- if ($cl) {
- if ($text) {
- # We're updating forms from the server.
- my $forms = Form::parse($text);
-
- foreach my $form (@$forms) {
- my ($c, $o, $k, $e) = @$form;
- my ($key, $val);
-
- next if ($e || !@$o);
-
- local %add = %add;
- local %del = %del;
- local %set = %set;
-
- # Make changes to existing fields.
- foreach $key (@$o) {
- if (exists $add{lc $key}) {
- $val = delete $add{lc $key};
- vpush($k, $key, $val);
- $k->{$key} = vsplit($k->{$key}) if $val =~ /[,\n]/;
- }
- if (exists $del{lc $key}) {
- $val = delete $del{lc $key};
- my %val = map {$_=>1} @{ vsplit($val) };
- $k->{$key} = vsplit($k->{$key});
- @{$k->{$key}} = grep {!exists $val{$_}} @{$k->{$key}};
- }
- if (exists $set{lc $key}) {
- $k->{$key} = delete $set{lc $key};
- }
- }
-
- # Then update the others.
- foreach $key (keys %set) { vpush($k, $key, $set{$key}) }
- foreach $key (keys %add) {
- vpush($k, $key, $add{$key});
- $k->{$key} = vsplit($k->{$key});
- }
- push @$o, (keys %add, keys %set);
- }
-
- $text = Form::compose($forms);
- }
- else {
- # We're rolling our own set of forms.
- my @forms;
- foreach (@objects) {
- my ($type, $ids, $args) =
- m{^($name)/($idlist|$labels)(?:(/.*))?$}o;
-
- $args ||= "";
- foreach my $obj (expand_list($ids)) {
- my %set = (%set, id => "$type/$obj$args");
- push @forms, ["", [keys %set], \%set];
- }
- }
- $text = Form::compose(\@forms);
- }
- }
-
- if ($output) {
- print $text;
- exit;
- }
-
- my $synerr = 0;
-
-EDIT:
- # We'll let the user edit the form before sending it to the server,
- # unless we have enough information to submit it non-interactively.
- if ($edit || (!$input && !$cl)) {
- my $newtext = vi($text);
- # We won't resubmit a bad form unless it was changed.
- $text = ($synerr && $newtext eq $text) ? undef : $newtext;
- }
-
- if ($text) {
- my $r = submit("$REST/edit", {content => $text, %data});
- if ($r->code == 409) {
- # If we submitted a bad form, we'll give the user a chance
- # to correct it and resubmit.
- if ($edit || (!$input && !$cl)) {
- $text = $r->content;
- $synerr = 1;
- goto EDIT;
- }
- else {
- print $r->content;
- exit -1;
- }
- }
- print $r->content;
- }
-}
-
-# We roll "comment" and "correspond" into the same handler.
-
-sub comment {
- my ($action) = @_;
- my (%data, $id, @files, @bcc, @cc, $msg, $wtime, $edit);
- my $bad = 0;
-
- while (@ARGV) {
- $_ = shift @ARGV;
-
- if (/^-e$/) {
- $edit = 1;
- }
- elsif (/^-[abcmw]$/) {
- unless (@ARGV) {
- whine "No argument specified with $_.";
- $bad = 1; last;
- }
-
- if (/-a/) {
- unless (-f $ARGV[0] && -r $ARGV[0]) {
- whine "Cannot read attachment: '$ARGV[0]'.";
- exit -1;
- }
- push @files, shift @ARGV;
- }
- elsif (/-([bc])/) {
- my $a = $_ eq "-b" ? \@bcc : \@cc;
- @$a = split /\s*,\s*/, shift @ARGV;
- }
- elsif (/-m/) { $msg = shift @ARGV }
- elsif (/-w/) { $wtime = shift @ARGV }
- }
- elsif (!$id && m|^(?:ticket/)?($idlist)$|) {
- $id = $1;
- }
- else {
- my $datum = /^-/ ? "option" : "argument";
- whine "Unrecognised $datum '$_'.";
- $bad = 1; last;
- }
- }
-
- unless ($id) {
- whine "No object specified.";
- $bad = 1;
- }
- return help($action, "ticket") if $bad;
-
- my $form = [
- "",
- [ "Ticket", "Action", "Cc", "Bcc", "Attachment", "TimeWorked", "Text" ],
- {
- Ticket => $id,
- Action => $action,
- Cc => [ @cc ],
- Bcc => [ @bcc ],
- Attachment => [ @files ],
- TimeWorked => $wtime || '',
- Text => $msg || '',
- }
- ];
-
- my $text = Form::compose([ $form ]);
-
- if ($edit || !$msg) {
- my $error = 0;
- my ($c, $o, $k, $e);
-
- do {
- my $ntext = vi($text);
- exit if ($error && $ntext eq $text);
- $text = $ntext;
- $form = Form::parse($text);
- $error = 0;
-
- ($c, $o, $k, $e) = @{ $form->[0] };
- if ($e) {
- $error = 1;
- $c = "# Syntax error.";
- goto NEXT;
- }
- elsif (!@$o) {
- exit;
- }
- @files = @{ vsplit($k->{Attachment}) };
-
- NEXT:
- $text = Form::compose([[$c, $o, $k, $e]]);
- } while ($error);
- }
-
- my $i = 1;
- foreach my $file (@files) {
- $data{"attachment_$i"} = bless([ $file ], "Attachment");
- $i++;
- }
- $data{content} = $text;
-
- my $r = submit("$REST/ticket/comment/$id", \%data);
- print $r->content;
-}
-
-# Merge one ticket into another.
-
-sub merge {
- my @id;
- my $bad = 0;
-
- while (@ARGV) {
- $_ = shift @ARGV;
-
- if (/^\d+$/) {
- push @id, $_;
- }
- else {
- whine "Unrecognised argument: '$_'.";
- $bad = 1; last;
- }
- }
-
- unless (@id == 2) {
- my $evil = @id > 2 ? "many" : "few";
- whine "Too $evil arguments specified.";
- $bad = 1;
- }
- return help("merge", "ticket") if $bad;
-
- my $r = submit("$REST/ticket/merge/$id[0]", {into => $id[1]});
- print $r->content;
-}
-
-# Link one ticket to another.
-
-sub link {
- my ($bad, $del, %data) = (0, 0, ());
- my %ltypes = map { lc $_ => $_ } qw(DependsOn DependedOnBy RefersTo
- ReferredToBy HasMember MemberOf);
-
- while (@ARGV && $ARGV[0] =~ /^-/) {
- $_ = shift @ARGV;
-
- if (/^-d$/) {
- $del = 1;
- }
- else {
- whine "Unrecognised option: '$_'.";
- $bad = 1; last;
- }
- }
-
- if (@ARGV == 3) {
- my ($from, $rel, $to) = @ARGV;
- if ($from !~ /^\d+$/ || $to !~ /^\d+$/) {
- my $bad = $from =~ /^\d+$/ ? $to : $from;
- whine "Invalid ticket ID '$bad' specified.";
- $bad = 1;
- }
- unless (exists $ltypes{lc $rel}) {
- whine "Invalid relationship '$rel' specified.";
- $bad = 1;
- }
- %data = (id => $from, rel => $rel, to => $to, del => $del);
- }
- else {
- my $bad = @ARGV < 3 ? "few" : "many";
- whine "Too $bad arguments specified.";
- $bad = 1;
- }
- return help("link", "ticket") if $bad;
-
- my $r = submit("$REST/ticket/link", \%data);
- print $r->content;
-}
-
-# Grant/revoke a user's rights.
-
-sub grant {
- my ($cmd) = @_;
-
- my $revoke = 0;
- while (@ARGV) {
- }
-
- $revoke = 1 if $cmd->{action} eq 'revoke';
-}
-
-# Client <-> Server communication.
-# --------------------------------
-#
-# This function composes and sends an HTTP request to the RT server, and
-# interprets the response. It takes a request URI, and optional request
-# data (a string, or a reference to a set of key-value pairs).
-
-sub submit {
- my ($uri, $content) = @_;
- my ($req, $data);
- my $ua = new LWP::UserAgent(agent => "RT/3.0b", env_proxy => 1);
-
- # Did the caller specify any data to send with the request?
- $data = [];
- if (defined $content) {
- unless (ref $content) {
- # If it's just a string, make sure LWP handles it properly.
- # (By pretending that it's a file!)
- $content = [ content => [undef, "", Content => $content] ];
- }
- elsif (ref $content eq 'HASH') {
- my @data;
- foreach my $k (keys %$content) {
- if (ref $content->{$k} eq 'ARRAY') {
- foreach my $v (@{ $content->{$k} }) {
- push @data, $k, $v;
- }
- }
- else { push @data, $k, $content->{$k} }
- }
- $content = \@data;
- }
- $data = $content;
- }
-
- # Should we send authentication information to start a new session?
- if (!defined $session->cookie) {
- push @$data, ( user => $config{user} );
- push @$data, ( pass => $config{passwd} || read_passwd() );
- }
-
- # Now, we construct the request.
- if (@$data) {
- $req = POST($uri, $data, Content_Type => 'form-data');
- }
- else {
- $req = GET($uri);
- }
- $session->add_cookie_header($req);
-
- # Then we send the request and parse the response.
- DEBUG(3, $req->as_string);
- my $res = $ua->request($req);
- DEBUG(3, $res->as_string);
-
- if ($res->is_success) {
- # The content of the response we get from the RT server consists
- # of an HTTP-like status line followed by optional header lines,
- # a blank line, and arbitrary text.
-
- my ($head, $text) = split /\n\n/, $res->content, 2;
- my ($status, @headers) = split /\n/, $head;
- $text =~ s/\n*$/\n/;
-
- # "RT/3.0.1 401 Credentials required"
- if ($status !~ m#^RT/\d+(?:\.\d+)+(?:-?\w+)? (\d+) ([\w\s]+)$#) {
- warn "rt: Malformed RT response from $config{server}.\n";
- warn "(Rerun with RTDEBUG=3 for details.)\n" if $config{debug} < 3;
- exit -1;
- }
-
- # Our caller can pretend that the server returned a custom HTTP
- # response code and message. (Doing that directly is apparently
- # not sufficiently portable and uncomplicated.)
- $res->code($1);
- $res->message($2);
- $res->content($text);
- $session->update($res) if ($res->is_success || $res->code != 401);
-
- if (!$res->is_success) {
- # We can deal with authentication failures ourselves. Either
- # we sent invalid credentials, or our session has expired.
- if ($res->code == 401) {
- my %d = @$data;
- if (exists $d{user}) {
- warn "rt: Incorrect username or password.\n";
- exit -1;
- }
- elsif ($req->header("Cookie")) {
- # We'll retry the request with credentials, unless
- # we only wanted to logout in the first place.
- $session->delete;
- return submit(@_) unless $uri eq "$REST/logout";
- }
- }
- # Conflicts should be dealt with by the handler and user.
- # For anything else, we just die.
- elsif ($res->code != 409) {
- warn "rt: ", $res->content;
- exit;
- }
- }
- }
- else {
- warn "rt: Server error: ", $res->message, " (", $res->code, ")\n";
- exit -1;
- }
-
- return $res;
-}
-
-# Session management.
-# -------------------
-#
-# Maintains a list of active sessions in the ~/.rt_sessions file.
-{
- package Session;
- my ($s, $u);
-
- # Initialises the session cache.
- sub new {
- my ($class, $file) = @_;
- my $self = {
- file => $file || "$HOME/.rt_sessions",
- sids => { }
- };
-
- # The current session is identified by the currently configured
- # server and user.
- ($s, $u) = @config{"server", "user"};
-
- bless $self, $class;
- $self->load();
-
- return $self;
- }
-
- # Returns the current session cookie.
- sub cookie {
- my ($self) = @_;
- my $cookie = $self->{sids}{$s}{$u};
- return defined $cookie ? "RT_SID=$cookie" : undef;
- }
-
- # Deletes the current session cookie.
- sub delete {
- my ($self) = @_;
- delete $self->{sids}{$s}{$u};
- }
-
- # Adds a Cookie header to an outgoing HTTP request.
- sub add_cookie_header {
- my ($self, $request) = @_;
- my $cookie = $self->cookie();
-
- $request->header(Cookie => $cookie) if defined $cookie;
- }
-
- # Extracts the Set-Cookie header from an HTTP response, and updates
- # session information accordingly.
- sub update {
- my ($self, $response) = @_;
- my $cookie = $response->header("Set-Cookie");
-
- if (defined $cookie && $cookie =~ /^RT_SID=([0-9A-Fa-f]+);/) {
- $self->{sids}{$s}{$u} = $1;
- }
- }
-
- # Loads the session cache from the specified file.
- sub load {
- my ($self, $file) = @_;
- $file ||= $self->{file};
- local *F;
-
- open(F, $file) && do {
- $self->{file} = $file;
- my $sids = $self->{sids} = {};
- while (<F>) {
- chomp;
- next if /^$/ || /^#/;
- next unless m#^https?://[^ ]+ \w+ [0-9A-Fa-f]+$#;
- my ($server, $user, $cookie) = split / /, $_;
- $sids->{$server}{$user} = $cookie;
- }
- return 1;
- };
- return 0;
- }
-
- # Writes the current session cache to the specified file.
- sub save {
- my ($self, $file) = shift;
- $file ||= $self->{file};
- local *F;
-
- open(F, ">$file") && do {
- my $sids = $self->{sids};
- foreach my $server (keys %$sids) {
- foreach my $user (keys %{ $sids->{$server} }) {
- my $sid = $sids->{$server}{$user};
- if (defined $sid) {
- print F "$server $user $sid\n";
- }
- }
- }
- close(F);
- chmod 0600, $file;
- return 1;
- };
- return 0;
- }
-
- sub DESTROY {
- my $self = shift;
- $self->save;
- }
-}
-
-# Form handling.
-# --------------
-#
-# Forms are RFC822-style sets of (field, value) specifications with some
-# initial comments and interspersed blank lines allowed for convenience.
-# Sets of forms are separated by --\n (in a cheap parody of MIME).
-#
-# Each form is parsed into an array with four elements: commented text
-# at the start of the form, an array with the order of keys, a hash with
-# key/value pairs, and optional error text if the form syntax was wrong.
-
-# Returns a reference to an array of parsed forms.
-sub Form::parse {
- my $state = 0;
- my @forms = ();
- my @lines = split /\n/, $_[0];
- my ($c, $o, $k, $e) = ("", [], {}, "");
-
- LINE:
- while (@lines) {
- my $line = shift @lines;
-
- next LINE if $line eq '';
-
- if ($line eq '--') {
- # We reached the end of one form. We'll ignore it if it was
- # empty, and store it otherwise, errors and all.
- if ($e || $c || @$o) {
- push @forms, [ $c, $o, $k, $e ];
- $c = ""; $o = []; $k = {}; $e = "";
- }
- $state = 0;
- }
- elsif ($state != -1) {
- if ($state == 0 && $line =~ /^#/) {
- # Read an optional block of comments (only) at the start
- # of the form.
- $state = 1;
- $c = $line;
- while (@lines && $lines[0] =~ /^#/) {
- $c .= "\n".shift @lines;
- }
- $c .= "\n";
- }
- elsif ($state <= 1 && $line =~ /^($field):(?:\s+(.*))?$/) {
- # Read a field: value specification.
- my $f = $1;
- my @v = ($2 || ());
-
- # Read continuation lines, if any.
- while (@lines && ($lines[0] eq '' || $lines[0] =~ /^\s+/)) {
- push @v, shift @lines;
- }
- pop @v while (@v && $v[-1] eq '');
-
- # Strip longest common leading indent from text.
- my $ws = "";
- foreach my $ls (map {/^(\s+)/} @v[1..$#v]) {
- $ws = $ls if (!$ws || length($ls) < length($ws));
- }
- s/^$ws// foreach @v;
-
- push(@$o, $f) unless exists $k->{$f};
- vpush($k, $f, join("\n", @v));
-
- $state = 1;
- }
- elsif ($line !~ /^#/) {
- # We've found a syntax error, so we'll reconstruct the
- # form parsed thus far, and add an error marker. (>>)
- $state = -1;
- $e = Form::compose([[ "", $o, $k, "" ]]);
- $e.= $line =~ /^>>/ ? "$line\n" : ">> $line\n";
- }
- }
- else {
- # We saw a syntax error earlier, so we'll accumulate the
- # contents of this form until the end.
- $e .= "$line\n";
- }
- }
- push(@forms, [ $c, $o, $k, $e ]) if ($e || $c || @$o);
-
- foreach my $l (keys %$k) {
- $k->{$l} = vsplit($k->{$l}) if (ref $k->{$l} eq 'ARRAY');
- }
-
- return \@forms;
-}
-
-# Returns text representing a set of forms.
-sub Form::compose {
- my ($forms) = @_;
- my @text;
-
- foreach my $form (@$forms) {
- my ($c, $o, $k, $e) = @$form;
- my $text = "";
-
- if ($c) {
- $c =~ s/\n*$/\n/;
- $text = "$c\n";
- }
- if ($e) {
- $text .= $e;
- }
- elsif ($o) {
- my @lines;
-
- foreach my $key (@$o) {
- my ($line, $sp);
- my $v = $k->{$key};
- my @values = ref $v eq 'ARRAY' ? @$v : $v;
-
- $sp = " "x(length("$key: "));
- $sp = " "x4 if length($sp) > 16;
-
- foreach $v (@values) {
- if ($v =~ /\n/) {
- $v =~ s/^/$sp/gm;
- $v =~ s/^$sp//;
-
- if ($line) {
- push @lines, "$line\n\n";
- $line = "";
- }
- elsif (@lines && $lines[-1] !~ /\n\n$/) {
- $lines[-1] .= "\n";
- }
- push @lines, "$key: $v\n\n";
- }
- elsif ($line &&
- length($line)+length($v)-rindex($line, "\n") >= 70)
- {
- $line .= ",\n$sp$v";
- }
- else {
- $line = $line ? "$line, $v" : "$key: $v";
- }
- }
-
- $line = "$key:" unless @values;
- if ($line) {
- if ($line =~ /\n/) {
- if (@lines && $lines[-1] !~ /\n\n$/) {
- $lines[-1] .= "\n";
- }
- $line .= "\n";
- }
- push @lines, "$line\n";
- }
- }
-
- $text .= join "", @lines;
- }
- else {
- chomp $text;
- }
- push @text, $text;
- }
-
- return join "\n--\n\n", @text;
-}
-
-# Configuration.
-# --------------
-
-# Returns configuration information from the environment.
-sub config_from_env {
- my %env;
-
- foreach my $k ("DEBUG", "USER", "PASSWD", "SERVER") {
- if (exists $ENV{"RT$k"}) {
- $env{lc $k} = $ENV{"RT$k"};
- }
- }
-
- return %env;
-}
-
-# Finds a suitable configuration file and returns information from it.
-sub config_from_file {
- my ($rc) = @_;
-
- if ($rc =~ m#^/#) {
- # We'll use an absolute path if we were given one.
- return parse_config_file($rc);
- }
- else {
- # Otherwise we'll use the first file we can find in the current
- # directory, or in one of its (increasingly distant) ancestors.
-
- my @dirs = split /\//, cwd;
- while (@dirs) {
- my $file = join('/', @dirs, $rc);
- if (-r $file) {
- return parse_config_file($file);
- }
-
- # Remove the last directory component each time.
- pop @dirs;
- }
-
- # Still nothing? We'll fall back to some likely defaults.
- for ("$HOME/$rc", "/etc/rt.conf") {
- return parse_config_file($_) if (-r $_);
- }
- }
-
- return ();
-}
-
-# Makes a hash of the specified configuration file.
-sub parse_config_file {
- my %cfg;
- my ($file) = @_;
-
- open(CFG, $file) && do {
- while (<CFG>) {
- chomp;
- next if (/^#/ || /^\s*$/);
-
- if (/^(user|passwd|server)\s+([^ ]+)$/) {
- $cfg{$1} = $2;
- }
- else {
- die "rt: $file:$.: unknown configuration directive.\n";
- }
- }
- };
-
- return %cfg;
-}
-
-# Helper functions.
-# -----------------
-
-sub whine {
- my $sub = (caller(1))[3];
- $sub =~ s/^main:://;
- warn "rt: $sub: @_\n";
- return;
-}
-
-sub read_passwd {
- eval 'require Term::ReadKey';
- if ($@) {
- die "No password specified (and Term::ReadKey not installed).\n";
- }
-
- print "Password: ";
- Term::ReadKey::ReadMode('noecho');
- chomp(my $passwd = Term::ReadKey::ReadLine(0));
- Term::ReadKey::ReadMode('restore');
- print "\n";
-
- return $passwd;
-}
-
-sub vi {
- my ($text) = @_;
- my $file = "/tmp/rt.form.$$";
- my $editor = $ENV{EDITOR} || $ENV{VISUAL} || "vi";
-
- local *F;
- local $/ = undef;
-
- open(F, ">$file") || die "$file: $!\n"; print F $text; close(F);
- system($editor, $file) && die "Couldn't run $editor.\n";
- open(F, $file) || die "$file: $!\n"; $text = <F>; close(F);
- unlink($file);
-
- return $text;
-}
-
-# Add a value to a (possibly multi-valued) hash key.
-sub vpush {
- my ($hash, $key, $val) = @_;
- my @val = ref $val eq 'ARRAY' ? @$val : $val;
-
- if (exists $hash->{$key}) {
- unless (ref $hash->{$key} eq 'ARRAY') {
- my @v = $hash->{$key} ne '' ? $hash->{$key} : ();
- $hash->{$key} = \@v;
- }
- push @{ $hash->{$key} }, @val;
- }
- else {
- $hash->{$key} = $val;
- }
-}
-
-# "Normalise" a hash key that's known to be multi-valued.
-sub vsplit {
- my ($val) = @_;
- my ($word, @words);
- my @values = ref $val eq 'ARRAY' ? @$val : $val;
-
- foreach my $line (map {split /\n/} @values) {
- # XXX: This should become a real parser, à la Text::ParseWords.
- $line =~ s/^\s+//;
- $line =~ s/\s+$//;
- push @words, split /\s*,\s*/, $line;
- }
-
- return \@words;
-}
-
-sub expand_list {
- my ($list) = @_;
- my ($elt, @elts, %elts);
-
- foreach $elt (split /,/, $list) {
- if ($elt =~ /^(\d+)-(\d+)$/) { push @elts, ($1..$2) }
- else { push @elts, $elt }
- }
-
- @elts{@elts}=();
- return sort {$a<=>$b} keys %elts;
-}
-
-sub get_type_argument {
- my $type;
-
- if (@ARGV) {
- $type = shift @ARGV;
- unless ($type =~ /^[A-Za-z0-9_.-]+$/) {
- # We want whine to mention our caller, not us.
- @_ = ("Invalid type '$type' specified.");
- goto &whine;
- }
- }
- else {
- @_ = ("No type argument specified with -t.");
- goto &whine;
- }
-
- $type =~ s/s$//; # "Plural". Ugh.
- return $type;
-}
-
-sub get_var_argument {
- my ($data) = @_;
-
- if (@ARGV) {
- my $kv = shift @ARGV;
- if (my ($k, $v) = $kv =~ /^($field)=(.*)$/) {
- push @{ $data->{$k} }, $v;
- }
- else {
- @_ = ("Invalid variable specification: '$kv'.");
- goto &whine;
- }
- }
- else {
- @_ = ("No variable argument specified with -S.");
- goto &whine;
- }
-}
-
-sub is_object_spec {
- my ($spec, $type) = @_;
-
- $spec =~ s|^(?:$type/)?|$type/| if defined $type;
- return $spec if ($spec =~ m{^$name/(?:$idlist|$labels)(?:/.*)?$}o);
- return;
-}
-
-__DATA__
-
-Title: intro
-Title: introduction
-Text:
-
- ** THIS IS AN UNSUPPORTED PREVIEW RELEASE **
- ** PLEASE REPORT BUGS TO rt-bugs@fsck.com **
-
- This is a command-line interface to RT 3.
-
- It allows you to interact with an RT server over HTTP, and offers an
- interface to RT's functionality that is better-suited to automation
- and integration with other tools.
-
- In general, each invocation of this program should specify an action
- to perform on one or more objects, and any other arguments required
- to complete the desired action.
-
- For more information:
-
- - rt help actions (a list of possible actions)
- - rt help objects (how to specify objects)
- - rt help usage (syntax information)
-
- - rt help config (configuration details)
- - rt help examples (a few useful examples)
- - rt help topics (a list of help topics)
-
---
-
-Title: usage
-Title: syntax
-Text:
-
- Syntax:
-
- rt <action> [options] [arguments]
-
- Each invocation of this program must specify an action (e.g. "edit",
- "create"), options to modify behaviour, and other arguments required
- by the specified action. (For example, most actions expect a list of
- numeric object IDs to act upon.)
-
- The details of the syntax and arguments for each action are given by
- "rt help <action>". Some actions may be referred to by more than one
- name ("create" is the same as "new", for example).
-
- Objects are identified by a type and an ID (which can be a name or a
- number, depending on the type). For some actions, the object type is
- implied (you can only comment on tickets); for others, the user must
- specify it explicitly. See "rt help objects" for details.
-
- In syntax descriptions, mandatory arguments that must be replaced by
- appropriate value are enclosed in <>, and optional arguments are
- indicated by [] (for example, <action> and [options] above).
-
- For more information:
-
- - rt help objects (how to specify objects)
- - rt help actions (a list of actions)
- - rt help types (a list of object types)
-
---
-
-Title: conf
-Title: config
-Title: configuration
-Text:
-
- This program has two major sources of configuration information: its
- configuration files, and the environment.
-
- The program looks for configuration directives in a file named .rtrc
- (or $RTCONFIG; see below) in the current directory, and then in more
- distant ancestors, until it reaches /. If no suitable configuration
- files are found, it will also check for ~/.rtrc and /etc/rt.conf.
-
- Configuration directives:
-
- The following directives may occur, one per line:
-
- - server <URL> URL to RT server.
- - user <username> RT username.
- - passwd <passwd> RT user's password.
-
- Blank and #-commented lines are ignored.
-
- Environment variables:
-
- The following environment variables override any corresponding
- values defined in configuration files:
-
- - RTUSER
- - RTPASSWD
- - RTSERVER
- - RTDEBUG Numeric debug level. (Set to 3 for full logs.)
- - RTCONFIG Specifies a name other than ".rtrc" for the
- configuration file.
-
---
-
-Title: objects
-Text:
-
- Syntax:
-
- <type>/<id>[/<attributes>]
-
- Every object in RT has a type (e.g. "ticket", "queue") and a numeric
- ID. Some types of objects can also be identified by name (like users
- and queues). Furthermore, objects may have named attributes (such as
- "ticket/1/history").
-
- An object specification is like a path in a virtual filesystem, with
- object types as top-level directories, object IDs as subdirectories,
- and named attributes as further subdirectories.
-
- A comma-separated list of names, numeric IDs, or numeric ranges can
- be used to specify more than one object of the same type. Note that
- the list must be a single argument (i.e., no spaces). For example,
- "user/root,1-3,5,7-10,ams" is a list of ten users; the same list
- can also be written as "user/ams,root,1,2,3,5,7,8-20".
-
- Examples:
-
- ticket/1
- ticket/1/attachments
- ticket/1/attachments/3
- ticket/1/attachments/3/content
- ticket/1-3/links
- ticket/1-3,5-7/history
-
- user/ams
- user/ams/rights
- user/ams,rai,1/rights
-
- For more information:
-
- - rt help <action> (action-specific details)
- - rt help <type> (type-specific details)
-
---
-
-Title: actions
-Title: commands
-Text:
-
- You can currently perform the following actions on all objects:
-
- - list (list objects matching some condition)
- - show (display object details)
- - edit (edit object details)
- - create (create a new object)
-
- Each type may define actions specific to itself; these are listed in
- the help item about that type.
-
- For more information:
-
- - rt help <action> (action-specific details)
- - rt help types (a list of possible types)
-
---
-
-Title: types
-Text:
-
- You can currently operate on the following types of objects:
-
- - tickets
- - users
- - groups
- - queues
-
- For more information:
-
- - rt help <type> (type-specific details)
- - rt help objects (how to specify objects)
- - rt help actions (a list of possible actions)
-
---
-
-Title: ticket
-Text:
-
- Tickets are identified by a numeric ID.
-
- The following generic operations may be performed upon tickets:
-
- - list
- - show
- - edit
- - create
-
- In addition, the following ticket-specific actions exist:
-
- - link
- - merge
- - comment
- - correspond
-
- Attributes:
-
- The following attributes can be used with "rt show" or "rt edit"
- to retrieve or edit other information associated with tickets:
-
- links A ticket's relationships with others.
- history All of a ticket's transactions.
- history/type/<type> Only a particular type of transaction.
- history/id/<id> Only the transaction of the specified id.
- attachments A list of attachments.
- attachments/<id> The metadata for an individual attachment.
- attachments/<id>/content The content of an individual attachment.
-
---
-
-Title: user
-Title: group
-Text:
-
- Users and groups are identified by name or numeric ID.
-
- The following generic operations may be performed upon them:
-
- - list
- - show
- - edit
- - create
-
- In addition, the following type-specific actions exist:
-
- - grant
- - revoke
-
- Attributes:
-
- The following attributes can be used with "rt show" or "rt edit"
- to retrieve or edit other information associated with users and
- groups:
-
- rights Global rights granted to this user.
- rights/<queue> Queue rights for this user.
-
---
-
-Title: queue
-Text:
-
- Queues are identified by name or numeric ID.
-
- Currently, they can be subjected to the following actions:
-
- - show
- - edit
- - create
-
---
-
-Title: logout
-Text:
-
- Syntax:
-
- rt logout
-
- Terminates the currently established login session. You will need to
- provide authentication credentials before you can continue using the
- server. (See "rt help config" for details about authentication.)
-
---
-
-Title: ls
-Title: list
-Title: search
-Text:
-
- Syntax:
-
- rt <ls|list|search> [options] "query string"
-
- Displays a list of objects matching the specified conditions.
- ("ls", "list", and "search" are synonyms.)
-
- Conditions are expressed in the SQL-like syntax used internally by
- RT3. (For more information, see "rt help query".) The query string
- must be supplied as one argument.
-
- (Right now, the server doesn't support listing anything but tickets.
- Other types will be supported in future; this client will be able to
- take advantage of that support without any changes.)
-
- Options:
-
- The following options control how much information is displayed
- about each matching object:
-
- -i Numeric IDs only. (Useful for |rt edit -; see examples.)
- -s Short description.
- -l Longer description.
-
- In addition,
-
- -o +/-<field> Orders the returned list by the specified field.
- -S var=val Submits the specified variable with the request.
- -t type Specifies the type of object to look for. (The
- default is "ticket".)
-
- Examples:
-
- rt ls "Priority > 5 and Status='new'"
- rt ls -o +Subject "Priority > 5 and Status='new'"
- rt ls -o -Created "Priority > 5 and Status='new'"
- rt ls -i "Priority > 5"|rt edit - set status=resolved
- rt ls -t ticket "Subject like '[PATCH]%'"
-
---
-
-Title: show
-Text:
-
- Syntax:
-
- rt show [options] <object-ids>
-
- Displays details of the specified objects.
-
- For some types, object information is further classified into named
- attributes (for example, "1-3/links" is a valid ticket specification
- that refers to the links for tickets 1-3). Consult "rt help <type>"
- and "rt help objects" for further details.
-
- This command writes a set of forms representing the requested object
- data to STDOUT.
-
- Options:
-
- - Read IDs from STDIN instead of the command-line.
- -t type Specifies object type.
- -f a,b,c Restrict the display to the specified fields.
- -S var=val Submits the specified variable with the request.
-
- Examples:
-
- rt show -t ticket -f id,subject,status 1-3
- rt show ticket/3/attachments/29
- rt show ticket/3/attachments/29/content
- rt show ticket/1-3/links
- rt show -t user 2
-
---
-
-Title: new
-Title: edit
-Title: create
-Text:
-
- Syntax:
-
- rt edit [options] <object-ids> set field=value [field=value] ...
- add field=value [field=value] ...
- del field=value [field=value] ...
-
- Edits information corresponding to the specified objects.
-
- If, instead of "edit", an action of "new" or "create" is specified,
- then a new object is created. In this case, no numeric object IDs
- may be specified, but the syntax and behaviour remain otherwise
- unchanged.
-
- This command typically starts an editor to allow you to edit object
- data in a form for submission. If you specified enough information
- on the command-line, however, it will make the submission directly.
-
- The command line may specify field-values in three different ways.
- "set" sets the named field to the given value, "add" adds a value
- to a multi-valued field, and "del" deletes the corresponding value.
- Each "field=value" specification must be given as a single argument.
-
- For some types, object information is further classified into named
- attributes (for example, "1-3/links" is a valid ticket specification
- that refers to the links for tickets 1-3). These attributes may also
- be edited. Consult "rt help <type>" and "rt help object" for further
- details.
-
- Options:
-
- - Read numeric IDs from STDIN instead of the command-line.
- (Useful with rt ls ... | rt edit -; see examples below.)
- -i Read a completed form from STDIN before submitting.
- -o Dump the completed form to STDOUT instead of submitting.
- -e Allows you to edit the form even if the command-line has
- enough information to make a submission directly.
- -S var=val
- Submits the specified variable with the request.
- -t type Specifies object type.
-
- Examples:
-
- # Interactive (starts $EDITOR with a form).
- rt edit ticket/3
- rt create -t ticket
-
- # Non-interactive.
- rt edit ticket/1-3 add cc=foo@example.com set priority=3
- rt ls -t tickets -i 'Priority > 5' | rt edit - set status=resolved
- rt edit ticket/4 set priority=3 owner=bar@example.com \
- add cc=foo@example.com bcc=quux@example.net
- rt create -t ticket subject='new ticket' priority=10 \
- add cc=foo@example.com
-
---
-
-Title: comment
-Title: correspond
-Text:
-
- Syntax:
-
- rt <comment|correspond> [options] <ticket-id>
-
- Adds a comment (or correspondence) to the specified ticket (the only
- difference being that comments aren't sent to the requestors.)
-
- This command will typically start an editor and allow you to type a
- comment into a form. If, however, you specified all the necessary
- information on the command line, it submits the comment directly.
-
- (See "rt help forms" for more information about forms.)
-
- Options:
-
- -m <text> Specify comment text.
- -a <file> Attach a file to the comment. (May be used more
- than once to attach multiple files.)
- -c <addrs> A comma-separated list of Cc addresses.
- -b <addrs> A comma-separated list of Bcc addresses.
- -w <time> Specify the time spent working on this ticket.
- -e Starts an editor before the submission, even if
- arguments from the command line were sufficient.
-
- Examples:
-
- rt comment -t 'Not worth fixing.' -a stddisclaimer.h 23
-
---
-
-Title: merge
-Text:
-
- Syntax:
-
- rt merge <from-id> <to-id>
-
- Merges the two specified tickets.
-
---
-
-Title: link
-Text:
-
- Syntax:
-
- rt link [-d] <id-A> <relationship> <id-B>
-
- Creates (or, with -d, deletes) a link between the specified tickets.
- The relationship can (irrespective of case) be any of:
-
- DependsOn/DependedOnBy: A depends upon B (or vice versa).
- RefersTo/ReferredToBy: A refers to B (or vice versa).
- MemberOf/HasMember: A is a member of B (or vice versa).
-
- To view a ticket's relationships, use "rt show ticket/3/links". (See
- "rt help ticket" and "rt help show".)
-
- Options:
-
- -d Deletes the specified link.
-
- Examples:
-
- rt link 2 dependson 3
- rt link -d 4 referredtoby 6 # 6 no longer refers to 4
-
---
-
-Title: grant
-Title: revoke
-Text:
-
---
-
-Title: query
-Text:
-
- RT3 uses an SQL-like syntax to specify object selection constraints.
- See the <RT:...> documentation for details.
-
- (XXX: I'm going to have to write it, aren't I?)
-
---
-
-Title: form
-Title: forms
-Text:
-
- This program uses RFC822 header-style forms to represent object data
- in a form that's suitable for processing both by humans and scripts.
-
- A form is a set of (field, value) specifications, with some initial
- commented text and interspersed blank lines allowed for convenience.
- Field names may appear more than once in a form; a comma-separated
- list of multiple field values may also be specified directly.
-
- Field values can be wrapped as in RFC822, with leading whitespace.
- The longest sequence of leading whitespace common to all the lines
- is removed (preserving further indentation). There is no limit on
- the length of a value.
-
- Multiple forms are separated by a line containing only "--\n".
-
- (XXX: A more detailed specification will be provided soon. For now,
- the server-side syntax checking will suffice.)
-
---
-
-Title: topics
-Text:
-
- Use "rt help <topic>" for help on any of the following subjects:
-
- - tickets, users, groups, queues.
- - show, edit, ls/list/search, new/create.
-
- - query (search query syntax)
- - forms (form specification)
-
- - objects (how to specify objects)
- - types (a list of object types)
- - actions/commands (a list of actions)
- - usage/syntax (syntax details)
- - conf/config/configuration (configuration details)
- - examples (a few useful examples)
-
---
-
-Title: example
-Title: examples
-Text:
-
- This section will be filled in with useful examples, once it becomes
- more clear what examples may be useful.
-
- For the moment, please consult examples provided with each action.
-
---
diff --git a/rt/bin/rt-commit-handler b/rt/bin/rt-commit-handler
deleted file mode 100644
index 29e443ebd..000000000
--- a/rt/bin/rt-commit-handler
+++ /dev/null
@@ -1,846 +0,0 @@
-#!/usr/bin/perl -w
-# BEGIN LICENSE BLOCK
-#
-# Copyright (c) 1996-2003 Jesse Vincent <jesse@bestpractical.com>
-#
-# (Except where explictly superceded by other copyright notices)
-#
-# This work is made available to you under the terms of Version 2 of
-# the GNU General Public License. A copy of that license should have
-# been provided with this software, but in any event can be snarfed
-# from www.gnu.org.
-#
-# This work is distributed in the hope that it will be useful, but
-# WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-# General Public License for more details.
-#
-# Unless otherwise specified, all modifications, corrections or
-# extensions to this work which alter its source code become the
-# property of Best Practical Solutions, LLC when submitted for
-# inclusion in the work.
-#
-#
-# END LICENSE BLOCK
-
-# {{{ Docs
-# -*-Perl-*-
-#
-#ident "@(#)ccvs/contrib:$Name: $:$Id: rt-commit-handler,v 1.1 2003-07-15 13:16:15 ivan Exp $"
-#
-# Perl filter to handle the log messages from the checkin of files in multiple
-# directories. This script will group the lists of files by log message, and
-# send one piece of mail per unique message, no matter how many files are
-# committed.
-
-=head1 NAME rt-commit-handler
-
-=head1 USAGE
-
-
-
-=head2 Regular use
-
-Stick the following in in CVSROOT/commitinfo
-
- ALL /opt/rt3/bin/rt-commit-handler --record-last-dir
-
-Stick the following in CVSROOT/loginfo
-
- ALL /opt/rt3/bin/rt-commit-handler --cvs-root /pathtocvs/root --rt %{Vvts}
-
-=head2 Invocation (advanced use)
-
-rt-commit-handler --cvs-root /path/to/cvs/root [-d] [-D] [-r] [-M module] \
- [[-m mailto] ...] [[-R replyto] ...] [-f logfile]
-
-
- -d - turn on debugging
- -m mailto - send mail to "mailto" (multiple)
- -R replyto - set the "Reply-To:" to "replyto" (multiple)
- -M modulename - set module name to "modulename"
- -f logfile - write commit messages to logfile too
- -D - generate diff commands
- --rt - invoke RT commit handler
- --cvs-root - specify your CVS root
-
- --record-last-dir - Record the last directory with changes in
- pre-commit (commitinfo) mode
-
-
-=cut
-
-# }}}
-
-use strict;
-use Carp;
-use Getopt::Long;
-use Text::Wrap;
-use Digest::MD5;
-use MIME::Entity;
-
-use lib ("/opt/rt3/lib", "/opt/rt3/local/lib");
-
-use RT::Interface::CLI qw(CleanEnv GetCurrentUser GetMessageContent loc);
-
-use vars
- qw(@MAILER $TMPDIR $FILE_PREFIX $LASTDIR_FILE $HASH_FILE $VERSION_FILE $MESSAGE_FILE $MAIL_FILE $DEBUG $MAILTO $REPLYTO $id $MODULE_NAME
- $LOGIN $COMMITLOG $CVS_ROOT $RT_HANDLER);
-
-#Clean out all the nasties from the environment
-CleanEnv();
-
-#Load etc/config.pm and drop privs
-RT::LoadConfig();
-
-#Drop setgid permissions
-RT::DropSetGIDPermissions();
-
-# {{{ Variable setup
-$TMPDIR = '/tmp';
-$FILE_PREFIX = $TMPDIR . '/#cvs.';
-
-# The root of your CVS install. we should get this from some smarter place.
-# It needs a trailing /
-
-$LASTDIR_FILE = $FILE_PREFIX . "lastdir";
-$HASH_FILE = $FILE_PREFIX . "hash";
-$VERSION_FILE = $FILE_PREFIX . "version";
-$MESSAGE_FILE = $FILE_PREFIX . "message";
-$MAIL_FILE = $FILE_PREFIX . "mail";
-
-$DEBUG = 0;
-$RT_HANDLER = 1;
-
-$MAILTO = '';
-
-my @files = ();
-my (@log_lines);
-my $do_diff = 0;
-my $id = getpgrp(); # note, you *must* use a shell which does setpgrp()
-$LOGIN = getpwuid($<);
-
-# }}}
-
-die "User could not be found" unless ($LOGIN);
-
-# {{{ parse command line arguments (file list is seen as one arg)
-#
-while ( my $arg = shift @ARGV ) {
-
- if ( $arg eq '-d' ) {
- $DEBUG = 1;
- warn "Debug turned on...\n";
- }
- elsif ( $arg =~ /^--record-last-dir$/i ) {
- record_last_dir( $id, $ARGV[0] );
- exit(0);
- }
- elsif ( $arg eq '-m' ) {
- $MAILTO .= ", " if $MAILTO;
- $MAILTO .= shift @ARGV;
- }
- elsif ( $arg eq '--rt' ) {
- $RT_HANDLER = 1;
- }
- elsif ( $arg eq '-R' ) {
- $REPLYTO .= ", " if $REPLYTO;
- $REPLYTO .= shift @ARGV;
- }
- elsif ( $arg eq '-M' ) {
- die ("too many '-M' args\n") if $MODULE_NAME;
- $MODULE_NAME = shift @ARGV;
- }
- elsif ( $arg eq '--cvs-root' ) {
- $CVS_ROOT = shift @ARGV;
- $CVS_ROOT .= "/" unless ( $CVS_ROOT =~ /\/$/ );
- }
- elsif ( $arg eq '-f' ) {
- die ("too many '-f' args\n") if $COMMITLOG;
- $COMMITLOG = shift @ARGV;
-
- # This is a disgusting hack to untaint $COMMITLOG if we're running from
- # setgid cvs.
- $COMMITLOG = untaint($COMMITLOG);
- }
- elsif ( $arg eq '-D' ) {
- $do_diff = 1;
- }
- else {
- @files = split ( ' ', $arg );
- last;
- }
-}
-
-# }}}
-
-$REPLYTO = $LOGIN unless ($REPLYTO);
-
-# for now, the first "file" is the repository directory being committed,
-# relative to the $CVSROOT location
-#
-my $dir = shift @files;
-
-# XXX there are some ugly assumptions in here about module names and
-# XXX directories relative to the $CVSROOT location -- really should
-# XXX read $CVSROOT/CVSROOT/modules, but that's not so easy to do, since
-# XXX we have to parse it backwards.
-#
-# XXX For now we set the `module' name to the top-level directory name.
-#
-unless ($MODULE_NAME) {
- ($MODULE_NAME) = split ( '/', $dir, 2 );
-}
-
-if ($DEBUG) {
- warn "module - ", $MODULE_NAME, "\n";
- warn "dir - ", $dir, "\n";
- warn "files - ", join ( " ", @files ), "\n";
- warn "id - ", $id, "\n";
-}
-
-# {{{ Check for a new directory or an import command.
-
-#
-# files[0] - "-"
-# files[1] - "New"
-# files[2] - "directory"
-#
-# files[0] - "-"
-# files[1] - "Imported"
-# files[2] - "sources"
-#
-if ( $files[0] eq "-" ) {
-
- #we just don't care about New Directory notes
- unless ( $files[1] eq "New" && $files[2] eq "directory" ) {
-
- my @text = ();
-
- push @text, build_header();
- push @text, "";
-
- while ( my $line = <STDIN> ) {
- chop $line; # Drop the newline
- push @text, $line;
- }
-
- append_logfile( $COMMITLOG, @text ) if ($COMMITLOG);
-
- mail_notification( $id, @text );
- }
-
- exit 0;
-}
-
-# }}}
-
-# {{{ Collect just the log message from stdin.
-#
-
-while ( my $line = <STDIN> ) {
- chop $line; # strip the newline
- last if ( $line =~ /^Log Message:$/ );
-}
-while ( my $line = <STDIN> ) {
- chop $line; # strip the newline
- $line =~ s/\s+$//; # strip trailing white space
- push @log_lines, $line;
-}
-
-my $md5 = Digest::MD5->new();
-foreach my $line (@log_lines) {
- $md5->add( $line . "\n" );
-}
-my $hash = $md5->hexdigest();
-
-warn "hash = $hash\n" if ($DEBUG);
-
-if ( !-e "$MESSAGE_FILE.$id.$hash" ) {
- append_logfile( "$HASH_FILE.$id", $hash );
- write_file( "$MESSAGE_FILE.$id.$hash", @log_lines );
-}
-
-# }}}
-
-# Spit out the information gathered in this pass.
-
-append_logfile( "$VERSION_FILE.$id.$hash", $dir . '/', @files );
-
-# {{{ Check whether this is the last directory. If not, quit.
-
-warn "Checking current dir against last dir $LASTDIR_FILE.$id\n" if ($DEBUG);
-
-my @last_dir = read_file("$LASTDIR_FILE.$id");
-
-unless ($CVS_ROOT) {
- die "No cvs root specified with --cvs-root. Can't continue.";
-}
-
-if ( $last_dir[0] ne $CVS_ROOT . $dir ) {
- warn "Current directory $CVS_ROOT$dir is not last directory $last_dir[0].\n"
- if ($DEBUG);
- exit 0;
-}
-
-# }}}
-
-# {{{ End Of Commits!
-#
-
-# This is it. The commits are all finished. Lump everything together
-# into a single message, fire a copy off to the mailing list, and drop
-# it on the end of the Changes file.
-#
-
-#
-# Produce the final compilation of the log messages
-#
-
-my @hashes = read_file("$HASH_FILE.$id");
-my (@text);
-
-push @text, build_header();
-push @text, "";
-
-my ( @added_files, @modified_files, @removed_files );
-
-foreach my $hash (@hashes) {
-
- # In case we're running setgid, make sure the hash file hasn't been hacked.
- $hash =~ m/([a-z0-9]*)/ || die "*** Hacking attempt detected\n";
- $hash = $1;
-
- my @files = read_file("$VERSION_FILE.$id.$hash");
- my @log_lines = read_file("$MESSAGE_FILE.$id.$hash");
-
- my $working_on_dir; # gets set as we iterate through the files.
- foreach my $file (@files) {
-
- #If we've entered a new directory, make a note of that and remove the trailing /
-
- if ( $file =~ s'\/$'' ) {
- $working_on_dir = $file;
- next;
- }
-
- my @file_entry = ( split ( ',', $file, 4 ), $working_on_dir );
-
- # file_entry looks like ths:
-
- # 0 1 2 3 4
- # Old rev : new rev : tag: file :directory
- my $entry = {};
- $entry->{'old'} = $file_entry[0];
- $entry->{'new'} = $file_entry[1];
- $entry->{'tag'} = $file_entry[2];
- $entry->{'file'} = $file_entry[3];
- $entry->{'dir'} = $file_entry[4];
-
- if ( $file_entry[0] eq 'NONE' ) {
- $entry->{'old'} = '0';
- push @added_files, $entry;
- }
- elsif ( $file_entry[1] eq 'NONE' ) {
- $entry->{'new'} = '0';
- push @removed_files, $entry;
- }
- else {
- push @modified_files, $entry;
- }
- }
-}
-
-# }}}
-
-# {{{ start building up the body
-
-# Strip leading and trailing blank lines from the log message. Also
-# compress multiple blank lines in the body of the message down to a
-# single blank line.
-#
-
-my $blank = 1;
-@log_lines = map {
- my $wasblank = $blank;
- $blank = $_ eq '';
- $blank && $wasblank ? () : $_;
-} @log_lines;
-
-pop @log_lines if $blank;
-
-@modified_files = order_and_summarize_diffs(@modified_files);
-@added_files = order_and_summarize_diffs(@added_files);
-@removed_files = order_and_summarize_diffs(@removed_files);
-
-push @text, "Modified Files:", format_lists(@modified_files)
- if (@modified_files);
-
-push @text, "Added Files:", format_lists(@added_files) if (@added_files);
-
-push @text, "Removed Files:", format_lists(@removed_files) if (@removed_files);
-
-push @text, "", "Log Message", @log_lines if (@log_lines);
-
-push @text, "";
-
-if ($RT_HANDLER) {
- rt_handler(
- @log_lines, "\n",
- loc("To generate a diff of this commit:\n"), "\n",
- format_diffs( @modified_files, @added_files, @removed_files )
- );
-}
-
-if ($COMMITLOG) {
- append_logfile( $COMMITLOG, @text );
-}
-
-if ($do_diff) {
- push @text, "";
- push @text, loc("To generate a diff of this commit:");
- push @text, format_diffs( @modified_files, @added_files, @removed_files );
- push @text, "";
-}
-
-# }}}
-
-# {{{ Mail out the notification.
-
-mail_notification( $id, @text );
-
-# }}}
-
-# {{{ clean up
-
-unless ($DEBUG) {
- $hash = untaint($hash);
- $id = untaint($id);
- unlink "$VERSION_FILE.$id.$hash";
- unlink "$MESSAGE_FILE.$id.$hash";
- unlink "$MAIL_FILE.$id";
- unlink "$LASTDIR_FILE.$id";
- unlink "$HASH_FILE.$id";
-}
-
-# }}}
-
-exit 0;
-
-# {{{ Subroutines
-#
-
-# {{{ append_logfile
-sub append_logfile {
- my $filename = shift;
- my (@lines) = @_;
-
- $filename = untaint($filename);
-
- open( FILE, ">>$filename" )
- || die ("Cannot open file $filename for append.\n");
- foreach my $line (@lines) {
- print FILE $line . "\n";
- }
- close(FILE);
-}
-
-# }}}
-
-# {{{ write_file
-sub write_file {
- my $filename = shift;
- my (@lines) = @_;
-
- $filename = untaint($filename);
-
- open( FILE, ">$filename" )
- || die ("Cannot open file $filename for write.\n");
- foreach my $line (@lines) {
- print FILE $line . "\n";
- }
- close(FILE);
-}
-
-# }}}
-
-# {{{ read_file
-sub read_file {
- my $filename = shift;
- my (@lines);
-
- open( FILE, "<$filename" )
- || die ("Cannot open file $filename for read.\n");
- while ( my $line = <FILE> ) {
- chop $line;
- push @lines, $line;
- }
- close(FILE);
-
- return (@lines);
-}
-
-# }}}
-
-# {{{ sub format_lists
-
-sub format_lists {
- my @items = (@_);
-
- my $files = "";
- map {
- $_->{'files'} && ( $files .= ' ' . join ( ' ', @{ $_->{'files'} } ) );
- } @items;
-
- my @lines = wrap( "\t", "\t\t", $files );
- return (@lines);
-
-}
-
-# }}}
-
-# {{{ sub format_diffs
-
-sub format_diffs {
- my @items = (@_);
-
- my @lines;
- foreach my $item (@items) {
- next unless ( $item->{'files'} );
- push ( @lines,
- "cvs diff -r"
- . $item->{'old'} . " -r"
- . $item->{'new'} . " "
- . join ( " ", @{ $item->{'files'} } ) . "\n" );
-
- }
-
- @lines = fill( "\t", "\t\t", @lines );
-
- return (@lines);
-}
-
-# }}}
-
-# {{{ sub order_and_summarize_diffs {
-
-# takes an array of file items
-# returns a sorted array of fileset items, which are like file items, except they can have an array of files, rather than
-# a singleton file.
-
-sub order_and_summarize_diffs {
-
- my @files = (@_);
-
- # Sort by tag, dir, file.
- @files = sort {
- $a->{'tag'} cmp $b->{'tag'}
- || $a->{'dir'} cmp $b->{'dir'}
- || $a->{'file'} cmp $b->{'file'};
- } @files;
-
- # Combine adjacent rows that are the same modulo the file name.
-
- my @items = (undef);
-
- foreach my $file (@files) {
- if ( $#items == -1 #if it's empty
- || ( !defined $items[-1]->{'old'}
- || $items[-1]->{'old'} ne $file->{'old'} )
- || ( !defined $items[-1]->{'new'}
- || $items[-1]->{'new'} ne $file->{'new'} )
- || ( !defined $items[-1]->{'tag'}
- || $items[-1]->{'tag'} ne $file->{'tag'} ) )
- {
-
- push ( @items, $file );
- }
- push ( @{ $items[-1]->{'files'} },
- $file->{'dir'} . "/" . $file->{'file'} );
- }
-
- return (@items);
-}
-
-# }}}
-
-# {{{ build_header
-
-sub build_header {
- my $now = gmtime;
- my $header =
- sprintf( "Module Name:\t%s\nCommitted By:\t%s\nDate:\t\t%s %s %s",
- $MODULE_NAME, $LOGIN, substr( $now, 0, 19 ), "UTC",
- substr( $now, 20, 4 ) );
- return ($header);
-}
-
-# }}}
-
-# {{{ mail_notification
-sub mail_notification {
- my $id = shift;
- my (@text) = @_;
- write_file( "$MAIL_FILE.$id", "From: " . $LOGIN,
- "Subject: CVS commit: " . $MODULE_NAME, "To: " . $MAILTO,
- "Reply-To: " . $REPLYTO, "", "", @text );
-
- my $entity = MIME::Entity->build(
- From => $LOGIN,
- To => $MAILTO,
- Subject => "CVS commit: " . $MODULE_NAME,
- 'Reply-To' => $REPLYTO,
- Data => join ( "\n", @text )
- );
- if ( $RT::MailCommand eq 'sendmailpipe' ) {
- open( MAIL, "|$RT::SendmailPath $RT::SendmailArguments" )
- || die "Couldn't send mail: " . $@ . "\n";
- print MAIL $entity->as_string;
- close(MAIL);
- }
- else {
- $entity->send( $RT::MailCommand, $RT::MailParams );
- }
-
-}
-
-# }}}
-
-# {{{ sub record_last_dir
-
-sub record_last_dir {
- my $id = shift;
- my $dir = shift;
-
- # make a note of this directory. later, we'll use this to
- # figure out if we've gone through the whole commit,
- # for something that is a bad mockery of attomic commits.
-
- warn "about to write $dir to $LASTDIR_FILE.$id" if ($DEBUG);
-
- write_file( "$LASTDIR_FILE.$id", $dir );
-}
-
-# }}}
-
-# {{{ Get the RT stuff set up
-
-# {{{ sub rt_handler
-
-sub rt_handler {
- my (@LogMessage) = (@_);
-
- #Connect to the database and get RT::SystemUser and RT::Nobody loaded
- RT::Init;
-
- require RT::Ticket;
-
- #Get the current user all loaded
- my $CurrentUser = GetCurrentUser();
-
- if ( !$CurrentUser->Id ) {
- print
-loc("No valid RT user found. RT cvs handler disengaged. Please consult your RT administrator.\n");
- return;
- }
-
- my (@commands) = find_commands( \@LogMessage );
-
- my ( @tickets, @errors );
-
- # Get the list of tickets we're working with out of commands
- grep { $_ =~ /^RT-Ticket:\s*(.*?)$/i && push ( @tickets, $1 ) } @commands;
-
- my $message = new MIME::Entity;
- $message->build(
- From => $CurrentUser->EmailAddress,
- Subject => 'CVS Commit',
- Data => \@LogMessage
- );
-
- # {{{ comment or correspond, as needed
-
- foreach my $ticket (@tickets) {
- my $TicketObj = RT::Ticket->new($CurrentUser);
- $TicketObj->Load($ticket);
- my ( $id, $msg );
- unless ( $TicketObj->Id ) {
- push ( @errors,
-"Couldn't load ticket #$ticket. Not adding commit log to ticket history.\n"
- );
- }
-
- if ( $LogMessage[0] =~ /^(comment|private)$/ ) {
- ( $id, $msg ) = $TicketObj->Comment( MIMEObj => $message );
-
- }
- else {
- ( $id, $msg ) = $TicketObj->Correspond( MIMEObj => $message );
- }
-
- push ( @errors, ">> Log message",
- "Ticket #" . $TicketObj->Id . ": " . $msg );
-
- }
-
- # }}}
-
- my ($reply) = ActOnPseudoHeaders( $CurrentUser, @commands );
- print "$reply\n" if ($reply);
- print join ( "\n", @errors );
- print "\n";
-
-}
-
-# }}}
-
-# {{{ sub find_commands
-
-sub find_commands {
- my $lines = shift;
- my (@pseudoheaders);
-
- while ( my $line = shift @{$lines} ) {
- next if $line =~ /^\s*?$/;
- if ( $line =~ /^RT-/i ) {
-
- push ( @pseudoheaders, $line );
- }
-
- #If we find a line that's not a command, get out.
- else {
- unshift ( @{$lines}, $line );
- last;
- }
- }
-
- return (@pseudoheaders);
-
-}
-
-# }}}
-
-# {{{ sub ActOnPseudoHeaders
-
-=item ActOnPseudoHeaders $PseudoHeaders
-
-Takes a string of pseudo-headers, iterates through them and does what they tell it to.
-
-=cut
-
-sub ActOnPseudoHeaders {
- my $CurrentUser = shift;
- my (@actions) = (@_);
-
- my $ResultsMessage = '';
- my $Ticket = RT::Ticket->new($CurrentUser);
-
- foreach my $action (@actions) {
- my ($val);
- my $msg = '';
-
- $ResultsMessage .= ">>> $action\n";
-
- if ( $action =~ /^RT-(.*?):\s*(.*)$/i ) {
- my $command = $1;
- my $args = $2;
-
- if ( $command =~ /^ticket$/i ) {
-
- $val = $Ticket->Load($args);
- unless ($val) {
- $ResultsMessage .=
- loc("ERROR: Couldn't load ticket '[_1]': [_2].\n", $1, $msg);
- . loc("Aborting to avoid unintended ticket modifications.\n")
- . loc("The following commands were not proccessed:\n\n")
- . join ( "\n", @actions );
- return ($ResultsMessage);
- }
- $ResultsMessage .= loc("Ticket [_1] loaded\n", $Ticket->Id);
- }
- else {
- unless ( $Ticket->Id ) {
- $ResultsMessage .= loc("No Ticket specified. Aborting ticket ")
- . loc("modifications\n\n")
- . loc("The following commands were not proccessed:\n\n")
- . join ( "\n", @actions );
- return ($ResultsMessage);
- }
-
- # Deal with the basics
- if ( $command =~ /^(Subject|Owner|Status|Queue)$/i ) {
- my $method = 'Set' . ucfirst( lc($1) );
- ( $val, $msg ) = $Ticket->$method($args);
- }
-
- # Deal with the dates
- elsif ( $command =~ /^(due|starts|started|resolved)$/i ) {
- my $method = 'Set' . ucfirst( lc($1) );
- my $date = new RT::Date($CurrentUser);
- $date->Set( Format => 'unknown', Value => $args );
- ( $val, $msg ) = $Ticket->$method( $date->ISO );
- }
-
- # Deal with the watchers
- elsif ( $command =~ /^(requestor|requestors|cc|admincc)$/i ) {
- my $operator = "+";
- my ($type);
- if ( $args =~ /^(\+|\-)(.*)$/ ) {
- $operator = $1;
- $args = $2;
- }
- $type = 'Requestor' if ( $command =~ /^requestor/i );
- $type = 'Cc' if ( $command =~ /^cc/i );
- $type = 'AdminCc' if ( $command =~ /^admincc/i );
-
- my $user = RT::User->new($CurrentUser);
- $user->Load($args);
-
- if ($operator eq '+') {
- ($val, $msg) = $Ticket->AddWatcher( Type => $type,
- PrincipalId => $user->PrincipalId);
- } elsif ($operator eq '-') {
- ($val, $msg) = $Ticket->DeleteWatcher( Type => $type,
- PrincipalId => $user->PrincipalId);
- }
-
- }
- $ResultsMessage .= $msg . "\n";
- }
-
- }
- return ($ResultsMessage);
-
-}
-
-# }}}
-
-# {{{ sub untaint
-sub untaint {
- my $val = shift;
-
- if ( $val =~ /^([-\#\/\w.]+)$/ ) {
- $val = $1; # $data now untainted
- }
- else {
- die loc("Bad data in [_1]", $val); # log this somewhere
- }
- return ($val);
-}
-
-# }}}
-
-=head1 AUTHOR
-
-
-
- rt-commit-handler is a rewritten version of the NetBSD commit handler,
- which was placed in the public domain by Charles Hannum. It bore the following
- authors statement:
-
- Contributed by David Hampton <hampton@cisco.com>
- Hacked greatly by Greg A. Woods <woods@planix.com>
- Rewritten by Charles M. Hannum <mycroft@netbsd.org>
-
-=cut
-
diff --git a/rt/bin/rt-commit-handler.in b/rt/bin/rt-commit-handler.in
deleted file mode 100644
index 02b01abff..000000000
--- a/rt/bin/rt-commit-handler.in
+++ /dev/null
@@ -1,846 +0,0 @@
-#!@PERL@ -w
-# BEGIN LICENSE BLOCK
-#
-# Copyright (c) 1996-2003 Jesse Vincent <jesse@bestpractical.com>
-#
-# (Except where explictly superceded by other copyright notices)
-#
-# This work is made available to you under the terms of Version 2 of
-# the GNU General Public License. A copy of that license should have
-# been provided with this software, but in any event can be snarfed
-# from www.gnu.org.
-#
-# This work is distributed in the hope that it will be useful, but
-# WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-# General Public License for more details.
-#
-# Unless otherwise specified, all modifications, corrections or
-# extensions to this work which alter its source code become the
-# property of Best Practical Solutions, LLC when submitted for
-# inclusion in the work.
-#
-#
-# END LICENSE BLOCK
-
-# {{{ Docs
-# -*-Perl-*-
-#
-#ident "@(#)ccvs/contrib:$Name: $:$Id: rt-commit-handler.in,v 1.1 2003-07-15 13:16:15 ivan Exp $"
-#
-# Perl filter to handle the log messages from the checkin of files in multiple
-# directories. This script will group the lists of files by log message, and
-# send one piece of mail per unique message, no matter how many files are
-# committed.
-
-=head1 NAME rt-commit-handler
-
-=head1 USAGE
-
-
-
-=head2 Regular use
-
-Stick the following in in CVSROOT/commitinfo
-
- ALL @RT_BIN_PATH@/rt-commit-handler --record-last-dir
-
-Stick the following in CVSROOT/loginfo
-
- ALL @RT_BIN_PATH@/rt-commit-handler --cvs-root /pathtocvs/root --rt %{Vvts}
-
-=head2 Invocation (advanced use)
-
-rt-commit-handler --cvs-root /path/to/cvs/root [-d] [-D] [-r] [-M module] \
- [[-m mailto] ...] [[-R replyto] ...] [-f logfile]
-
-
- -d - turn on debugging
- -m mailto - send mail to "mailto" (multiple)
- -R replyto - set the "Reply-To:" to "replyto" (multiple)
- -M modulename - set module name to "modulename"
- -f logfile - write commit messages to logfile too
- -D - generate diff commands
- --rt - invoke RT commit handler
- --cvs-root - specify your CVS root
-
- --record-last-dir - Record the last directory with changes in
- pre-commit (commitinfo) mode
-
-
-=cut
-
-# }}}
-
-use strict;
-use Carp;
-use Getopt::Long;
-use Text::Wrap;
-use Digest::MD5;
-use MIME::Entity;
-
-use lib ("@RT_LIB_PATH@", "@LOCAL_LIB_PATH@");
-
-use RT::Interface::CLI qw(CleanEnv GetCurrentUser GetMessageContent loc);
-
-use vars
- qw(@MAILER $TMPDIR $FILE_PREFIX $LASTDIR_FILE $HASH_FILE $VERSION_FILE $MESSAGE_FILE $MAIL_FILE $DEBUG $MAILTO $REPLYTO $id $MODULE_NAME
- $LOGIN $COMMITLOG $CVS_ROOT $RT_HANDLER);
-
-#Clean out all the nasties from the environment
-CleanEnv();
-
-#Load etc/config.pm and drop privs
-RT::LoadConfig();
-
-#Drop setgid permissions
-RT::DropSetGIDPermissions();
-
-# {{{ Variable setup
-$TMPDIR = '/tmp';
-$FILE_PREFIX = $TMPDIR . '/#cvs.';
-
-# The root of your CVS install. we should get this from some smarter place.
-# It needs a trailing /
-
-$LASTDIR_FILE = $FILE_PREFIX . "lastdir";
-$HASH_FILE = $FILE_PREFIX . "hash";
-$VERSION_FILE = $FILE_PREFIX . "version";
-$MESSAGE_FILE = $FILE_PREFIX . "message";
-$MAIL_FILE = $FILE_PREFIX . "mail";
-
-$DEBUG = 0;
-$RT_HANDLER = 1;
-
-$MAILTO = '';
-
-my @files = ();
-my (@log_lines);
-my $do_diff = 0;
-my $id = getpgrp(); # note, you *must* use a shell which does setpgrp()
-$LOGIN = getpwuid($<);
-
-# }}}
-
-die "User could not be found" unless ($LOGIN);
-
-# {{{ parse command line arguments (file list is seen as one arg)
-#
-while ( my $arg = shift @ARGV ) {
-
- if ( $arg eq '-d' ) {
- $DEBUG = 1;
- warn "Debug turned on...\n";
- }
- elsif ( $arg =~ /^--record-last-dir$/i ) {
- record_last_dir( $id, $ARGV[0] );
- exit(0);
- }
- elsif ( $arg eq '-m' ) {
- $MAILTO .= ", " if $MAILTO;
- $MAILTO .= shift @ARGV;
- }
- elsif ( $arg eq '--rt' ) {
- $RT_HANDLER = 1;
- }
- elsif ( $arg eq '-R' ) {
- $REPLYTO .= ", " if $REPLYTO;
- $REPLYTO .= shift @ARGV;
- }
- elsif ( $arg eq '-M' ) {
- die ("too many '-M' args\n") if $MODULE_NAME;
- $MODULE_NAME = shift @ARGV;
- }
- elsif ( $arg eq '--cvs-root' ) {
- $CVS_ROOT = shift @ARGV;
- $CVS_ROOT .= "/" unless ( $CVS_ROOT =~ /\/$/ );
- }
- elsif ( $arg eq '-f' ) {
- die ("too many '-f' args\n") if $COMMITLOG;
- $COMMITLOG = shift @ARGV;
-
- # This is a disgusting hack to untaint $COMMITLOG if we're running from
- # setgid cvs.
- $COMMITLOG = untaint($COMMITLOG);
- }
- elsif ( $arg eq '-D' ) {
- $do_diff = 1;
- }
- else {
- @files = split ( ' ', $arg );
- last;
- }
-}
-
-# }}}
-
-$REPLYTO = $LOGIN unless ($REPLYTO);
-
-# for now, the first "file" is the repository directory being committed,
-# relative to the $CVSROOT location
-#
-my $dir = shift @files;
-
-# XXX there are some ugly assumptions in here about module names and
-# XXX directories relative to the $CVSROOT location -- really should
-# XXX read $CVSROOT/CVSROOT/modules, but that's not so easy to do, since
-# XXX we have to parse it backwards.
-#
-# XXX For now we set the `module' name to the top-level directory name.
-#
-unless ($MODULE_NAME) {
- ($MODULE_NAME) = split ( '/', $dir, 2 );
-}
-
-if ($DEBUG) {
- warn "module - ", $MODULE_NAME, "\n";
- warn "dir - ", $dir, "\n";
- warn "files - ", join ( " ", @files ), "\n";
- warn "id - ", $id, "\n";
-}
-
-# {{{ Check for a new directory or an import command.
-
-#
-# files[0] - "-"
-# files[1] - "New"
-# files[2] - "directory"
-#
-# files[0] - "-"
-# files[1] - "Imported"
-# files[2] - "sources"
-#
-if ( $files[0] eq "-" ) {
-
- #we just don't care about New Directory notes
- unless ( $files[1] eq "New" && $files[2] eq "directory" ) {
-
- my @text = ();
-
- push @text, build_header();
- push @text, "";
-
- while ( my $line = <STDIN> ) {
- chop $line; # Drop the newline
- push @text, $line;
- }
-
- append_logfile( $COMMITLOG, @text ) if ($COMMITLOG);
-
- mail_notification( $id, @text );
- }
-
- exit 0;
-}
-
-# }}}
-
-# {{{ Collect just the log message from stdin.
-#
-
-while ( my $line = <STDIN> ) {
- chop $line; # strip the newline
- last if ( $line =~ /^Log Message:$/ );
-}
-while ( my $line = <STDIN> ) {
- chop $line; # strip the newline
- $line =~ s/\s+$//; # strip trailing white space
- push @log_lines, $line;
-}
-
-my $md5 = Digest::MD5->new();
-foreach my $line (@log_lines) {
- $md5->add( $line . "\n" );
-}
-my $hash = $md5->hexdigest();
-
-warn "hash = $hash\n" if ($DEBUG);
-
-if ( !-e "$MESSAGE_FILE.$id.$hash" ) {
- append_logfile( "$HASH_FILE.$id", $hash );
- write_file( "$MESSAGE_FILE.$id.$hash", @log_lines );
-}
-
-# }}}
-
-# Spit out the information gathered in this pass.
-
-append_logfile( "$VERSION_FILE.$id.$hash", $dir . '/', @files );
-
-# {{{ Check whether this is the last directory. If not, quit.
-
-warn "Checking current dir against last dir $LASTDIR_FILE.$id\n" if ($DEBUG);
-
-my @last_dir = read_file("$LASTDIR_FILE.$id");
-
-unless ($CVS_ROOT) {
- die "No cvs root specified with --cvs-root. Can't continue.";
-}
-
-if ( $last_dir[0] ne $CVS_ROOT . $dir ) {
- warn "Current directory $CVS_ROOT$dir is not last directory $last_dir[0].\n"
- if ($DEBUG);
- exit 0;
-}
-
-# }}}
-
-# {{{ End Of Commits!
-#
-
-# This is it. The commits are all finished. Lump everything together
-# into a single message, fire a copy off to the mailing list, and drop
-# it on the end of the Changes file.
-#
-
-#
-# Produce the final compilation of the log messages
-#
-
-my @hashes = read_file("$HASH_FILE.$id");
-my (@text);
-
-push @text, build_header();
-push @text, "";
-
-my ( @added_files, @modified_files, @removed_files );
-
-foreach my $hash (@hashes) {
-
- # In case we're running setgid, make sure the hash file hasn't been hacked.
- $hash =~ m/([a-z0-9]*)/ || die "*** Hacking attempt detected\n";
- $hash = $1;
-
- my @files = read_file("$VERSION_FILE.$id.$hash");
- my @log_lines = read_file("$MESSAGE_FILE.$id.$hash");
-
- my $working_on_dir; # gets set as we iterate through the files.
- foreach my $file (@files) {
-
- #If we've entered a new directory, make a note of that and remove the trailing /
-
- if ( $file =~ s'\/$'' ) {
- $working_on_dir = $file;
- next;
- }
-
- my @file_entry = ( split ( ',', $file, 4 ), $working_on_dir );
-
- # file_entry looks like ths:
-
- # 0 1 2 3 4
- # Old rev : new rev : tag: file :directory
- my $entry = {};
- $entry->{'old'} = $file_entry[0];
- $entry->{'new'} = $file_entry[1];
- $entry->{'tag'} = $file_entry[2];
- $entry->{'file'} = $file_entry[3];
- $entry->{'dir'} = $file_entry[4];
-
- if ( $file_entry[0] eq 'NONE' ) {
- $entry->{'old'} = '0';
- push @added_files, $entry;
- }
- elsif ( $file_entry[1] eq 'NONE' ) {
- $entry->{'new'} = '0';
- push @removed_files, $entry;
- }
- else {
- push @modified_files, $entry;
- }
- }
-}
-
-# }}}
-
-# {{{ start building up the body
-
-# Strip leading and trailing blank lines from the log message. Also
-# compress multiple blank lines in the body of the message down to a
-# single blank line.
-#
-
-my $blank = 1;
-@log_lines = map {
- my $wasblank = $blank;
- $blank = $_ eq '';
- $blank && $wasblank ? () : $_;
-} @log_lines;
-
-pop @log_lines if $blank;
-
-@modified_files = order_and_summarize_diffs(@modified_files);
-@added_files = order_and_summarize_diffs(@added_files);
-@removed_files = order_and_summarize_diffs(@removed_files);
-
-push @text, "Modified Files:", format_lists(@modified_files)
- if (@modified_files);
-
-push @text, "Added Files:", format_lists(@added_files) if (@added_files);
-
-push @text, "Removed Files:", format_lists(@removed_files) if (@removed_files);
-
-push @text, "", "Log Message", @log_lines if (@log_lines);
-
-push @text, "";
-
-if ($RT_HANDLER) {
- rt_handler(
- @log_lines, "\n",
- loc("To generate a diff of this commit:\n"), "\n",
- format_diffs( @modified_files, @added_files, @removed_files )
- );
-}
-
-if ($COMMITLOG) {
- append_logfile( $COMMITLOG, @text );
-}
-
-if ($do_diff) {
- push @text, "";
- push @text, loc("To generate a diff of this commit:");
- push @text, format_diffs( @modified_files, @added_files, @removed_files );
- push @text, "";
-}
-
-# }}}
-
-# {{{ Mail out the notification.
-
-mail_notification( $id, @text );
-
-# }}}
-
-# {{{ clean up
-
-unless ($DEBUG) {
- $hash = untaint($hash);
- $id = untaint($id);
- unlink "$VERSION_FILE.$id.$hash";
- unlink "$MESSAGE_FILE.$id.$hash";
- unlink "$MAIL_FILE.$id";
- unlink "$LASTDIR_FILE.$id";
- unlink "$HASH_FILE.$id";
-}
-
-# }}}
-
-exit 0;
-
-# {{{ Subroutines
-#
-
-# {{{ append_logfile
-sub append_logfile {
- my $filename = shift;
- my (@lines) = @_;
-
- $filename = untaint($filename);
-
- open( FILE, ">>$filename" )
- || die ("Cannot open file $filename for append.\n");
- foreach my $line (@lines) {
- print FILE $line . "\n";
- }
- close(FILE);
-}
-
-# }}}
-
-# {{{ write_file
-sub write_file {
- my $filename = shift;
- my (@lines) = @_;
-
- $filename = untaint($filename);
-
- open( FILE, ">$filename" )
- || die ("Cannot open file $filename for write.\n");
- foreach my $line (@lines) {
- print FILE $line . "\n";
- }
- close(FILE);
-}
-
-# }}}
-
-# {{{ read_file
-sub read_file {
- my $filename = shift;
- my (@lines);
-
- open( FILE, "<$filename" )
- || die ("Cannot open file $filename for read.\n");
- while ( my $line = <FILE> ) {
- chop $line;
- push @lines, $line;
- }
- close(FILE);
-
- return (@lines);
-}
-
-# }}}
-
-# {{{ sub format_lists
-
-sub format_lists {
- my @items = (@_);
-
- my $files = "";
- map {
- $_->{'files'} && ( $files .= ' ' . join ( ' ', @{ $_->{'files'} } ) );
- } @items;
-
- my @lines = wrap( "\t", "\t\t", $files );
- return (@lines);
-
-}
-
-# }}}
-
-# {{{ sub format_diffs
-
-sub format_diffs {
- my @items = (@_);
-
- my @lines;
- foreach my $item (@items) {
- next unless ( $item->{'files'} );
- push ( @lines,
- "cvs diff -r"
- . $item->{'old'} . " -r"
- . $item->{'new'} . " "
- . join ( " ", @{ $item->{'files'} } ) . "\n" );
-
- }
-
- @lines = fill( "\t", "\t\t", @lines );
-
- return (@lines);
-}
-
-# }}}
-
-# {{{ sub order_and_summarize_diffs {
-
-# takes an array of file items
-# returns a sorted array of fileset items, which are like file items, except they can have an array of files, rather than
-# a singleton file.
-
-sub order_and_summarize_diffs {
-
- my @files = (@_);
-
- # Sort by tag, dir, file.
- @files = sort {
- $a->{'tag'} cmp $b->{'tag'}
- || $a->{'dir'} cmp $b->{'dir'}
- || $a->{'file'} cmp $b->{'file'};
- } @files;
-
- # Combine adjacent rows that are the same modulo the file name.
-
- my @items = (undef);
-
- foreach my $file (@files) {
- if ( $#items == -1 #if it's empty
- || ( !defined $items[-1]->{'old'}
- || $items[-1]->{'old'} ne $file->{'old'} )
- || ( !defined $items[-1]->{'new'}
- || $items[-1]->{'new'} ne $file->{'new'} )
- || ( !defined $items[-1]->{'tag'}
- || $items[-1]->{'tag'} ne $file->{'tag'} ) )
- {
-
- push ( @items, $file );
- }
- push ( @{ $items[-1]->{'files'} },
- $file->{'dir'} . "/" . $file->{'file'} );
- }
-
- return (@items);
-}
-
-# }}}
-
-# {{{ build_header
-
-sub build_header {
- my $now = gmtime;
- my $header =
- sprintf( "Module Name:\t%s\nCommitted By:\t%s\nDate:\t\t%s %s %s",
- $MODULE_NAME, $LOGIN, substr( $now, 0, 19 ), "UTC",
- substr( $now, 20, 4 ) );
- return ($header);
-}
-
-# }}}
-
-# {{{ mail_notification
-sub mail_notification {
- my $id = shift;
- my (@text) = @_;
- write_file( "$MAIL_FILE.$id", "From: " . $LOGIN,
- "Subject: CVS commit: " . $MODULE_NAME, "To: " . $MAILTO,
- "Reply-To: " . $REPLYTO, "", "", @text );
-
- my $entity = MIME::Entity->build(
- From => $LOGIN,
- To => $MAILTO,
- Subject => "CVS commit: " . $MODULE_NAME,
- 'Reply-To' => $REPLYTO,
- Data => join ( "\n", @text )
- );
- if ( $RT::MailCommand eq 'sendmailpipe' ) {
- open( MAIL, "|$RT::SendmailPath $RT::SendmailArguments" )
- || die "Couldn't send mail: " . $@ . "\n";
- print MAIL $entity->as_string;
- close(MAIL);
- }
- else {
- $entity->send( $RT::MailCommand, $RT::MailParams );
- }
-
-}
-
-# }}}
-
-# {{{ sub record_last_dir
-
-sub record_last_dir {
- my $id = shift;
- my $dir = shift;
-
- # make a note of this directory. later, we'll use this to
- # figure out if we've gone through the whole commit,
- # for something that is a bad mockery of attomic commits.
-
- warn "about to write $dir to $LASTDIR_FILE.$id" if ($DEBUG);
-
- write_file( "$LASTDIR_FILE.$id", $dir );
-}
-
-# }}}
-
-# {{{ Get the RT stuff set up
-
-# {{{ sub rt_handler
-
-sub rt_handler {
- my (@LogMessage) = (@_);
-
- #Connect to the database and get RT::SystemUser and RT::Nobody loaded
- RT::Init;
-
- require RT::Ticket;
-
- #Get the current user all loaded
- my $CurrentUser = GetCurrentUser();
-
- if ( !$CurrentUser->Id ) {
- print
-loc("No valid RT user found. RT cvs handler disengaged. Please consult your RT administrator.\n");
- return;
- }
-
- my (@commands) = find_commands( \@LogMessage );
-
- my ( @tickets, @errors );
-
- # Get the list of tickets we're working with out of commands
- grep { $_ =~ /^RT-Ticket:\s*(.*?)$/i && push ( @tickets, $1 ) } @commands;
-
- my $message = new MIME::Entity;
- $message->build(
- From => $CurrentUser->EmailAddress,
- Subject => 'CVS Commit',
- Data => \@LogMessage
- );
-
- # {{{ comment or correspond, as needed
-
- foreach my $ticket (@tickets) {
- my $TicketObj = RT::Ticket->new($CurrentUser);
- $TicketObj->Load($ticket);
- my ( $id, $msg );
- unless ( $TicketObj->Id ) {
- push ( @errors,
-"Couldn't load ticket #$ticket. Not adding commit log to ticket history.\n"
- );
- }
-
- if ( $LogMessage[0] =~ /^(comment|private)$/ ) {
- ( $id, $msg ) = $TicketObj->Comment( MIMEObj => $message );
-
- }
- else {
- ( $id, $msg ) = $TicketObj->Correspond( MIMEObj => $message );
- }
-
- push ( @errors, ">> Log message",
- "Ticket #" . $TicketObj->Id . ": " . $msg );
-
- }
-
- # }}}
-
- my ($reply) = ActOnPseudoHeaders( $CurrentUser, @commands );
- print "$reply\n" if ($reply);
- print join ( "\n", @errors );
- print "\n";
-
-}
-
-# }}}
-
-# {{{ sub find_commands
-
-sub find_commands {
- my $lines = shift;
- my (@pseudoheaders);
-
- while ( my $line = shift @{$lines} ) {
- next if $line =~ /^\s*?$/;
- if ( $line =~ /^RT-/i ) {
-
- push ( @pseudoheaders, $line );
- }
-
- #If we find a line that's not a command, get out.
- else {
- unshift ( @{$lines}, $line );
- last;
- }
- }
-
- return (@pseudoheaders);
-
-}
-
-# }}}
-
-# {{{ sub ActOnPseudoHeaders
-
-=item ActOnPseudoHeaders $PseudoHeaders
-
-Takes a string of pseudo-headers, iterates through them and does what they tell it to.
-
-=cut
-
-sub ActOnPseudoHeaders {
- my $CurrentUser = shift;
- my (@actions) = (@_);
-
- my $ResultsMessage = '';
- my $Ticket = RT::Ticket->new($CurrentUser);
-
- foreach my $action (@actions) {
- my ($val);
- my $msg = '';
-
- $ResultsMessage .= ">>> $action\n";
-
- if ( $action =~ /^RT-(.*?):\s*(.*)$/i ) {
- my $command = $1;
- my $args = $2;
-
- if ( $command =~ /^ticket$/i ) {
-
- $val = $Ticket->Load($args);
- unless ($val) {
- $ResultsMessage .=
- loc("ERROR: Couldn't load ticket '[_1]': [_2].\n", $1, $msg);
- . loc("Aborting to avoid unintended ticket modifications.\n")
- . loc("The following commands were not proccessed:\n\n")
- . join ( "\n", @actions );
- return ($ResultsMessage);
- }
- $ResultsMessage .= loc("Ticket [_1] loaded\n", $Ticket->Id);
- }
- else {
- unless ( $Ticket->Id ) {
- $ResultsMessage .= loc("No Ticket specified. Aborting ticket ")
- . loc("modifications\n\n")
- . loc("The following commands were not proccessed:\n\n")
- . join ( "\n", @actions );
- return ($ResultsMessage);
- }
-
- # Deal with the basics
- if ( $command =~ /^(Subject|Owner|Status|Queue)$/i ) {
- my $method = 'Set' . ucfirst( lc($1) );
- ( $val, $msg ) = $Ticket->$method($args);
- }
-
- # Deal with the dates
- elsif ( $command =~ /^(due|starts|started|resolved)$/i ) {
- my $method = 'Set' . ucfirst( lc($1) );
- my $date = new RT::Date($CurrentUser);
- $date->Set( Format => 'unknown', Value => $args );
- ( $val, $msg ) = $Ticket->$method( $date->ISO );
- }
-
- # Deal with the watchers
- elsif ( $command =~ /^(requestor|requestors|cc|admincc)$/i ) {
- my $operator = "+";
- my ($type);
- if ( $args =~ /^(\+|\-)(.*)$/ ) {
- $operator = $1;
- $args = $2;
- }
- $type = 'Requestor' if ( $command =~ /^requestor/i );
- $type = 'Cc' if ( $command =~ /^cc/i );
- $type = 'AdminCc' if ( $command =~ /^admincc/i );
-
- my $user = RT::User->new($CurrentUser);
- $user->Load($args);
-
- if ($operator eq '+') {
- ($val, $msg) = $Ticket->AddWatcher( Type => $type,
- PrincipalId => $user->PrincipalId);
- } elsif ($operator eq '-') {
- ($val, $msg) = $Ticket->DeleteWatcher( Type => $type,
- PrincipalId => $user->PrincipalId);
- }
-
- }
- $ResultsMessage .= $msg . "\n";
- }
-
- }
- return ($ResultsMessage);
-
-}
-
-# }}}
-
-# {{{ sub untaint
-sub untaint {
- my $val = shift;
-
- if ( $val =~ /^([-\#\/\w.]+)$/ ) {
- $val = $1; # $data now untainted
- }
- else {
- die loc("Bad data in [_1]", $val); # log this somewhere
- }
- return ($val);
-}
-
-# }}}
-
-=head1 AUTHOR
-
-
-
- rt-commit-handler is a rewritten version of the NetBSD commit handler,
- which was placed in the public domain by Charles Hannum. It bore the following
- authors statement:
-
- Contributed by David Hampton <hampton@cisco.com>
- Hacked greatly by Greg A. Woods <woods@planix.com>
- Rewritten by Charles M. Hannum <mycroft@netbsd.org>
-
-=cut
-
diff --git a/rt/bin/rt-crontool b/rt/bin/rt-crontool
deleted file mode 100644
index cdbc3cbc9..000000000
--- a/rt/bin/rt-crontool
+++ /dev/null
@@ -1,220 +0,0 @@
-#!/usr/bin/perl
-# BEGIN LICENSE BLOCK
-#
-# Copyright (c) 1996-2003 Jesse Vincent <jesse@bestpractical.com>
-#
-# (Except where explictly superceded by other copyright notices)
-#
-# This work is made available to you under the terms of Version 2 of
-# the GNU General Public License. A copy of that license should have
-# been provided with this software, but in any event can be snarfed
-# from www.gnu.org.
-#
-# This work is distributed in the hope that it will be useful, but
-# WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-# General Public License for more details.
-#
-# Unless otherwise specified, all modifications, corrections or
-# extensions to this work which alter its source code become the
-# property of Best Practical Solutions, LLC when submitted for
-# inclusion in the work.
-#
-#
-# END LICENSE BLOCK
-
-use strict;
-use Carp;
-
-use lib ("/opt/rt3/lib", "/opt/rt3/local/lib");
-
-package RT;
-
-use Getopt::Long;
-
-use RT::Interface::CLI qw(CleanEnv GetCurrentUser GetMessageContent loc);
-use RT::Tickets;
-use RT::Template;
-
-#Clean out all the nasties from the environment
-CleanEnv();
-
-# Load the config file
-RT::LoadConfig();
-
-#Connect to the database and get RT::SystemUser and RT::Nobody loaded
-RT::Init();
-
-#Drop setgid permissions
-RT::DropSetGIDPermissions();
-
-#Get the current user all loaded
-my $CurrentUser = GetCurrentUser();
-
-unless ( $CurrentUser->Id ) {
- print loc("No RT user found. Please consult your RT administrator.\n");
- exit(1);
-}
-
-my ( $search, $condition, $action, $search_arg, $condition_arg, $action_arg,
- $template_id, $help, $verbose );
-GetOptions( "search=s" => \$search,
- "search-arg=s" => \$search_arg,
- "condition=s" => \$condition,
- "condition-arg=s" => \$condition_arg,
- "action-arg=s" => \$action_arg,
- "action=s" => \$action,
- "template-id=s" => \$template_id,
- "help" => \$help,
- "verbose|v" => \$verbose );
-
-help() if $help;
-
-# We _must_ have a search object
-load_module($search);
-load_module($action) if ($action);
-load_module($condition) if ($condition);
-
-# load template if specified
-my $template_obj;
-if ($template_id) {
- $template_obj = RT::Template->new($RT::Nobody);
- $template_obj->LoadById($template_id);
-}
-
-#At the appointed time:
-
-#find a bunch of tickets
-my $tickets = RT::Tickets->new($CurrentUser);
-my $search = $search->new( TicketsObj => $tickets, Argument => $search_arg );
-
-$search->Prepare();
-
-# TicketsFound is an RT::Tickets object
-my $tickets = $search->TicketsObj;
-
-#for each ticket we've found
-while ( my $ticket = $tickets->Next() ) {
- print "\n" . $ticket->Id() . ": " if ($verbose);
-
- # perform some more advanced check
- if ($condition) {
- my $condition_obj = $condition->new( TicketObj => $ticket,
- Argument => $condition_arg );
-
- # if the condition doesn't apply, get out of here
-
- next unless ( $condition_obj->IsApplicable );
- print loc("Condition matches...") if ($verbose);
- }
-
- #prepare our action
- my $action_obj = $action->new( TicketObj => $ticket,
- TemplateObj => $template_obj,
- Argument => $action_arg );
-
- #if our preparation, move onto the next ticket
- next unless ( $action_obj->Prepare );
- print loc("Action prepared...") if ($verbose);
-
- #commit our action.
- next unless ( $action_obj->Commit );
- print loc("Action committed.") if ($verbose);
-}
-
-# {{{ load_module
-
-=head2 load_module
-
-Loads a perl module, dying nicely if it can't find it.
-
-=cut
-
-sub load_module {
- my $modname = shift;
- eval "require $modname";
- if ($@) {
- die loc( "Failed to load module [_1]. ([_2])", $modname, $@ );
- }
-
-}
-
-# }}}
-
-# {{{ loc
-
-=head2 loc LIST
-
-Localize this string, with the current user's currentuser object
-
-=cut
-
-sub loc {
- $CurrentUser->loc(@_);
-}
-
-# }}}
-
-sub help {
-
- print loc( "[_1] is a tool to act on tickets from an external scheduling tool, such as cron.", $0 )
- . "\n";
- print loc("It takes several arguments:") . "\n\n";
-
- print " "
- . loc( "[_1] - Specify the search module you want to use", "--search" )
- . "\n";
- print " "
- . loc( "[_1] - An argument to pass to [_2]", "--search-argument", "--search" )
- . "\n";
-
- print " "
- . loc( "[_1] - Specify the condition module you want to use", "--condition" )
- . "\n";
- print " "
- . loc( "[_1] - An argument to pass to [_2]", "--condition-argument", "--condition" )
- . "\n";
- print " "
- . loc( "[_1] - Specify the action module you want to use", "--action" )
- . "\n";
- print " "
- . loc( "[_1] - An argument to pass to [_2]", "--action-argument", "--action" )
- . "\n";
- print " "
- . loc( "[_1] - Output status updates to STDOUT", "--verbose" ) . "\n";
- print "\n";
- print "\n";
- print loc("Security:")."\n";
- print loc("This tool allows the user to run arbitrary perl modules from within RT.")." ".
- loc("If this tool were setgid, a hostile local user could use this tool to gain administrative access to RT.")." ".
- loc("It is incredibly important that nonprivileged users not be allowed to run this tool."). " " .
- loc("It is suggested that you create a non-privileged unix user with the correct group membership and RT access to run this tool.")."\n";
- print "\n";
- print loc("Example:");
- print "\n";
- print " "
- . loc( "The following command will find all active tickets in the queue 'general' and set their priority to 99 if they haven't been touched in 4 hours:"
- )
- . "\n\n";
-
- print " bin/rt-cron-tool \\\n";
- print
- " --search RT::Search::ActiveTicketsInQueue --search-arg general \\\n";
- print
- " --condition RT::Condition::UntouchedInHours --condition-arg 4 \\\n";
- print " --action RT::Action::SetPriority --action-arg 99 \\\n";
- print " --verbose\n";
-
- print "\n";
- print loc("Escalate tickets");
- print "rt-crontool \\\n";
- print " --search RT::Search::ActiveTicketsInQueue --search-arg thequeuename \\\n";
- print " --action RT::Action::EscalatePriority \\\n";
-
-
-
-
-
-
- exit(0);
-}
diff --git a/rt/bin/rt-mailgate b/rt/bin/rt-mailgate
deleted file mode 100755
index 8af800227..000000000
--- a/rt/bin/rt-mailgate
+++ /dev/null
@@ -1,648 +0,0 @@
-#!/usr/bin/perl -w
-# BEGIN LICENSE BLOCK
-#
-# Copyright (c) 1996-2003 Jesse Vincent <jesse@bestpractical.com>
-#
-# (Except where explictly superceded by other copyright notices)
-#
-# This work is made available to you under the terms of Version 2 of
-# the GNU General Public License. A copy of that license should have
-# been provided with this software, but in any event can be snarfed
-# from www.gnu.org.
-#
-# This work is distributed in the hope that it will be useful, but
-# WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-# General Public License for more details.
-#
-# Unless otherwise specified, all modifications, corrections or
-# extensions to this work which alter its source code become the
-# property of Best Practical Solutions, LLC when submitted for
-# inclusion in the work.
-#
-#
-# END LICENSE BLOCK
-
-=head1 NAME
-
-rt-mailgate - Mail interface to RT3.
-
-=begin testing
-
-use RT::I18N;
-
-# Make sure that when we call the mailgate wrong, it tempfails
-
-ok(open(MAIL, "|/opt/rt3/bin/rt-mailgate --url http://bad.address"), "Opened the mailgate - The error below is expected - $@");
-print MAIL <<EOF;
-From: root\@localhost
-To: rt\@example.com
-Subject: This is a test of new ticket creation
-
-Foob!
-EOF
-close (MAIL);
-
-# Check the return value
-is ( $? >> 8, 75, "The error message above is expected The mail gateway exited with a failure. yay");
-
-
-# {{{ Test new ticket creation by root who is privileged and superuser
-
-ok(open(MAIL, "|/opt/rt3/bin/rt-mailgate --url http://localhost".$RT::WebPath."/ --queue general --action correspond"), "Opened the mailgate - $@");
-print MAIL <<EOF;
-From: root\@localhost
-To: rt\@example.com
-Subject: This is a test of new ticket creation
-
-Blah!
-Foob!
-EOF
-close (MAIL);
-
-#Check the return value
-is ($? >> 8, 0, "The mail gateway exited normally. yay");
-
-use RT::Tickets;
-my $tickets = RT::Tickets->new($RT::SystemUser);
-$tickets->OrderBy(FIELD => 'id', ORDER => 'DESC');
-$tickets->Limit(FIELD => 'id', OPERATOR => '>', VALUE => '0');
-my $tick = $tickets->First();
-ok (UNIVERSAL::isa($tick,'RT::Ticket'));
-ok ($tick->Id, "found ticket ".$tick->Id);
-ok ($tick->Subject eq 'This is a test of new ticket creation', "Created the ticket");
-
-# }}}
-
-
-# {{{This is a test of new ticket creation as an unknown user
-
-ok(open(MAIL, "|/opt/rt3/bin/rt-mailgate --url http://localhost".$RT::WebPath."/ --queue general --action correspond"), "Opened the mailgate - $@");
-print MAIL <<EOF;
-From: doesnotexist\@example.com
-To: rt\@example.com
-Subject: This is a test of new ticket creation as an unknown user
-
-Blah!
-Foob!
-EOF
-close (MAIL);
-#Check the return value
-is ($? >> 8, 0, "The mail gateway exited normally. yay");
-
-$tickets = RT::Tickets->new($RT::SystemUser);
-$tickets->OrderBy(FIELD => 'id', ORDER => 'DESC');
-$tickets->Limit(FIELD => 'id' ,OPERATOR => '>', VALUE => '0');
-$tick = $tickets->First();
-ok ($tick->Id, "found ticket ".$tick->Id);
-ok ($tick->Subject ne 'This is a test of new ticket creation as an unknown user', "failed to create the new ticket from an unprivileged account");
-my $u = RT::User->new($RT::SystemUser);
-$u->Load('doesnotexist@example.com');
-ok( $u->Id == 0, " user does not exist and was not created by failed ticket submission");
-
-
-# }}}
-
-# {{{ now everybody can create tickets. can a random unkown user create tickets?
-
-my $g = RT::Group->new($RT::SystemUser);
-$g->LoadSystemInternalGroup('Everyone');
-ok( $g->Id, "Found 'everybody'");
-
-my ($val,$msg) = $g->PrincipalObj->GrantRight(Right => 'CreateTicket');
-ok ($val, "Granted everybody the right to create tickets - $msg");
-
-sleep(60); # gotta sleep so the remote process' ACL cache times out
-
-ok(open(MAIL, "|/opt/rt3/bin/rt-mailgate --url http://localhost".$RT::WebPath."/ --queue general --action correspond"), "Opened the mailgate - $@");
-print MAIL <<EOF;
-From: doesnotexist\@example.com
-To: rt\@example.com
-Subject: This is a test of new ticket creation as an unknown user
-
-Blah!
-Foob!
-EOF
-close (MAIL);
-#Check the return value
-is ($? >> 8, 0, "The mail gateway exited normally. yay");
-
-
-$tickets = RT::Tickets->new($RT::SystemUser);
-$tickets->OrderBy(FIELD => 'id', ORDER => 'DESC');
-$tickets->Limit(FIELD => 'id' ,OPERATOR => '>', VALUE => '0');
-$tick = $tickets->First();
-ok ($tick->Id, "found ticket ".$tick->Id);
-ok ($tick->Subject eq 'This is a test of new ticket creation as an unknown user', "failed to create the new ticket from an unprivileged account");
-my $u = RT::User->new($RT::SystemUser);
-$u->Load('doesnotexist@example.com');
-ok( $u->Id != 0, " user does not exist and was created by ticket submission");
-
-# }}}
-
-
-# {{{ can another random reply to a ticket without being granted privs? answer should be no.
-
-
-#($val,$msg) = $g->PrincipalObj->GrantRight(Right => 'CreateTicket');
-#ok ($val, "Granted everybody the right to create tickets - $msg");
-#sleep(60); # gotta sleep so the remote process' ACL cache times out
-
-ok(open(MAIL, "|/opt/rt3/bin/rt-mailgate --url http://localhost".$RT::WebPath."/ --queue general --action correspond"), "Opened the mailgate - $@");
-print MAIL <<EOF;
-From: doesnotexist-2\@example.com
-To: rt\@example.com
-Subject: [example.com #@{[$tick->Id]}] This is a test of a reply as an unknown user
-
-Blah!
-Foob!
-EOF
-close (MAIL);
-#Check the return value
-is ($? >> 8, 0, "The mail gateway exited normally. yay");
-
-$u = RT::User->new($RT::SystemUser);
-$u->Load('doesnotexist-2@example.com');
-ok( $u->Id == 0, " user does not exist and was not created by ticket correspondence submission");
-# }}}
-# {{{ can another random reply to a ticket after being granted privs? answer should be yes
-
-
-($val,$msg) = $g->PrincipalObj->GrantRight(Right => 'ReplyToTicket');
-ok ($val, "Granted everybody the right to reply to tickets - $msg");
-sleep(60); # gotta sleep so the remote process' ACL cache times out
-
-ok(open(MAIL, "|/opt/rt3/bin/rt-mailgate --url http://localhost".$RT::WebPath."/ --queue general --action correspond"), "Opened the mailgate - $@");
-print MAIL <<EOF;
-From: doesnotexist-2\@example.com
-To: rt\@example.com
-Subject: [example.com #@{[$tick->Id]}] This is a test of a reply as an unknown user
-
-Blah!
-Foob!
-EOF
-close (MAIL);
-#Check the return value
-is ($? >> 8, 0, "The mail gateway exited normally. yay");
-
-
-$u = RT::User->new($RT::SystemUser);
-$u->Load('doesnotexist-2@example.com');
-ok( $u->Id != 0, " user exists and was created by ticket correspondence submission");
-
-# }}}
-
-# {{{ can another random comment on a ticket without being granted privs? answer should be no.
-
-
-#($val,$msg) = $g->PrincipalObj->GrantRight(Right => 'CreateTicket');
-#ok ($val, "Granted everybody the right to create tickets - $msg");
-#sleep(60); # gotta sleep so the remote process' ACL cache times out
-
-ok(open(MAIL, "|/opt/rt3/bin/rt-mailgate --url http://localhost".$RT::WebPath."/ --queue general --action comment"), "Opened the mailgate - $@");
-print MAIL <<EOF;
-From: doesnotexist-3\@example.com
-To: rt\@example.com
-Subject: [example.com #@{[$tick->Id]}] This is a test of a comment as an unknown user
-
-Blah!
-Foob!
-EOF
-close (MAIL);
-
-#Check the return value
-is ($? >> 8, 0, "The mail gateway exited normally. yay");
-
-$u = RT::User->new($RT::SystemUser);
-$u->Load('doesnotexist-3@example.com');
-ok( $u->Id == 0, " user does not exist and was not created by ticket comment submission");
-
-# }}}
-# {{{ can another random reply to a ticket after being granted privs? answer should be yes
-
-
-($val,$msg) = $g->PrincipalObj->GrantRight(Right => 'CommentOnTicket');
-ok ($val, "Granted everybody the right to reply to tickets - $msg");
-sleep(60); # gotta sleep so the remote process' ACL cache times out
-
-ok(open(MAIL, "|/opt/rt3/bin/rt-mailgate --url http://localhost".$RT::WebPath."/ --queue general --action comment"), "Opened the mailgate - $@");
-print MAIL <<EOF;
-From: doesnotexist-3\@example.com
-To: rt\@example.com
-Subject: [example.com #@{[$tick->Id]}] This is a test of a comment as an unknown user
-
-Blah!
-Foob!
-EOF
-close (MAIL);
-
-#Check the return value
-is ($? >> 8, 0, "The mail gateway exited normally. yay");
-
-$u = RT::User->new($RT::SystemUser);
-$u->Load('doesnotexist-3@example.com');
-ok( $u->Id != 0, " user exists and was created by ticket comment submission");
-
-# }}}
-
-# {{{ Testing preservation of binary attachments
-
-# Get a binary blob (Best Practical logo)
-
-# Create a mime entity with an attachment
-
-use MIME::Entity;
-my $entity = MIME::Entity->build( From => 'root@localhost',
- To => 'rt@localhost',
- Subject => 'binary attachment test',
- Data => ['This is a test of a binary attachment']);
-
-# currently in lib/t/autogen
-$entity->attach(Path => '/opt/rt3/share/html/NoAuth/images/spacer.gif',
- Type => 'image/gif',
- Encoding => 'base64');
-
-# Create a ticket with a binary attachment
-ok(open(MAIL, "|/opt/rt3/bin/rt-mailgate --url http://localhost".$RT::WebPath."/ --queue general --action correspond"), "Opened the mailgate - $@");
-
-$entity->print(\*MAIL);
-
-close (MAIL);
-
-#Check the return value
-is ($? >> 8, 0, "The mail gateway exited normally. yay");
-
-my $tickets = RT::Tickets->new($RT::SystemUser);
-$tickets->OrderBy(FIELD => 'id', ORDER => 'DESC');
-$tickets->Limit(FIELD => 'id', OPERATOR => '>', VALUE => '0');
- $tick = $tickets->First();
-ok (UNIVERSAL::isa($tick,'RT::Ticket'));
-ok ($tick->Id, "found ticket ".$tick->Id);
-ok ($tick->Subject eq 'binary attachment test', "Created the ticket - ".$tick->Id);
-
-my $file = `cat ../../../html/NoAuth/images/spacer.gif`;
-ok ($file, "Read in the logo image");
-
-
- use Digest::MD5;
-warn "for the raw file the content is ".Digest::MD5::md5_base64($file);
-
-
-
-# Verify that the binary attachment is valid in the database
-my $attachments = RT::Attachments->new($RT::SystemUser);
-$attachments->Limit(FIELD => 'ContentType', VALUE => 'image/gif');
-ok ($attachments->Count == 1, 'Found only one gif in the database');
-my $attachment = $attachments->First;
-my $acontent = $attachment->Content;
-
- warn "coming from the database, the content is ".Digest::MD5::md5_base64($acontent);
-
-is( $acontent, $file, 'The attachment isn\'t screwed up in the database.');
-# Log in as root
-use Getopt::Long;
-use LWP::UserAgent;
-
-
-# Grab the binary attachment via the web ui
-my $ua = LWP::UserAgent->new();
-
-my $full_url = "http://localhost".$RT::WebPath."/Ticket/Attachment/".$attachment->TransactionId."/".$attachment->id."/spacer.gif?&user=root&pass=password";
-my $r = $ua->get( $full_url);
-
-
-# Verify that the downloaded attachment is the same as what we uploaded.
-is($file, $r->content, 'The attachment isn\'t screwed up in download');
-
-
-
-# }}}
-
-# {{{ Simple I18N testing
-
-ok(open(MAIL, "|/opt/rt3/bin/rt-mailgate --url http://localhost".$RT::WebPath."/ --queue general --action correspond"), "Opened the mailgate - $@");
-
-print MAIL <<EOF;
-From: root\@localhost
-To: rtemail\@example.com
-Subject: This is a test of I18N ticket creation
-Content-Type: text/plain; charset="utf-8"
-
-2 accented lines
-\303\242\303\252\303\256\303\264\303\273
-\303\241\303\251\303\255\303\263\303\272
-bye
-EOF
-close (MAIL);
-
-#Check the return value
-is ($? >> 8, 0, "The mail gateway exited normally. yay");
-
-my $unitickets = RT::Tickets->new($RT::SystemUser);
-$unitickets->OrderBy(FIELD => 'id', ORDER => 'DESC');
-$unitickets->Limit(FIELD => 'id', OPERATOR => '>', VALUE => '0');
-my $unitick = $unitickets->First();
-ok (UNIVERSAL::isa($unitick,'RT::Ticket'));
-ok ($unitick->Id, "found ticket ".$unitick->Id);
-ok ($unitick->Subject eq 'This is a test of I18N ticket creation', "Created the ticket - ". $unitick->Subject);
-
-
-
-my $unistring = "\303\241\303\251\303\255\303\263\303\272";
-Encode::_utf8_on($unistring);
-is ($unitick->Transactions->First->Content, $unitick->Transactions->First->Attachments->First->Content, "Content is ". $unitick->Transactions->First->Attachments->First->Content);
-ok($unitick->Transactions->First->Attachments->First->Content =~ /$unistring/i, $unitick->Id." appears to be unicode ". $unitick->Transactions->First->Attachments->First->Id);
-# supposedly I18N fails on the second message sent in.
-
-ok(open(MAIL, "|/opt/rt3/bin/rt-mailgate --url http://localhost".$RT::WebPath."/ --queue general --action correspond"), "Opened the mailgate - $@");
-
-print MAIL <<EOF;
-From: root\@localhost
-To: rtemail\@example.com
-Subject: This is a test of I18N ticket creation
-Content-Type: text/plain; charset="utf-8"
-
-2 accented lines
-\303\242\303\252\303\256\303\264\303\273
-\303\241\303\251\303\255\303\263\303\272
-bye
-EOF
-close (MAIL);
-
-#Check the return value
-is ($? >> 8, 0, "The mail gateway exited normally. yay");
-
-my $tickets2 = RT::Tickets->new($RT::SystemUser);
-$tickets2->OrderBy(FIELD => 'id', ORDER => 'DESC');
-$tickets2->Limit(FIELD => 'id', OPERATOR => '>', VALUE => '0');
-my $tick2 = $tickets2->First();
-ok (UNIVERSAL::isa($tick2,'RT::Ticket'));
-ok ($tick2->Id, "found ticket ".$tick2->Id);
-ok ($tick2->Subject eq 'This is a test of I18N ticket creation', "Created the ticket");
-
-
-
-my $unistring = "\303\241\303\251\303\255\303\263\303\272";
-Encode::_utf8_on($unistring);
-
-ok ($tick2->Transactions->First->Content =~ $unistring, "It appears to be unicode - ".$tick2->Transactions->First->Content);
-
-# }}}
-
-
-($val,$msg) = $g->PrincipalObj->RevokeRight(Right => 'CreateTicket');
-ok ($val, $msg);
-
-
-
-=end testing
-
-=cut
-
-
-use strict;
-use Getopt::Long;
-use LWP::UserAgent;
-
-use constant EX_TEMPFAIL => 75;
-
-my %opts;
-GetOptions( \%opts, "queue=s", "action=s", "url=s", "jar=s", "help", "debug", "extension=s", "timeout=i" );
-
-if ( $opts{help} ) {
- require Pod::Usage;
- import Pod::Usage;
- pod2usage("RT Mail Gateway\n");
- exit 1; # Don't want to succeed if this is really an email!
-}
-
-for (qw(url)) {
- die "$0 invoked improperly\n\nNo $_ provided to mail gateway!\n" unless $opts{$_};
-}
-
-undef $/;
-my $ua = LWP::UserAgent->new();
-$ua->cookie_jar( { file => $opts{jar} } );
-
-my %args = (
- queue => $opts{queue},
- action => $opts{action},
- SessionType => 'REST', # Surpress login box
-);
-
-# Read the message in from STDIN
-$args{'message'} = <>;
-
-
-if ($opts{'extension'}) {
- $args{$opts{'extension'}} = $ENV{'EXTENSION'};
-}
-
-# Set up cookie here.
-
-my $full_url = $opts{'url'}. "/REST/1.0/NoAuth/mail-gateway";
-warn "Connecting to $full_url" if $opts{'debug'};
-
-
-
-$ua->timeout(exists($opts{'timeout'}) ? $opts{'timeout'} : 180);
-my $r = $ua->post( $full_url, {%args} );
-check_failure($r);
-
-my $content = $r->content;
-warn $content if ($opts{debug});
-
-if ( $content !~ /^(ok|not ok)/ ) {
-
- # It's not the server's fault if the mail is bogus. We just want to know that
- # *something* came out of the server.
- warn <<EOF;
-RT server error.
-
-The RT server which handled your email did not behave as expected. It
-said:
-
-$content
-EOF
-
-exit EX_TEMPFAIL;
-
-}
-
-exit;
-
-
-sub check_failure {
- my $r = shift;
- return if $r->is_success();
-
- # This ordinarily oughtn't to be able to happen, suggests a bug in RT.
- # So only load these heavy modules when they're needed.
- require HTML::TreeBuilder;
- require HTML::FormatText;
-
- my $error = $r->error_as_HTML;
- my $tree = HTML::TreeBuilder->new->parse($error);
- $tree->eof;
-
- # It'll be a cold day in hell before RT sends out bounces in HTML
- my $formatter = HTML::FormatText->new( leftmargin => 0,
- rightmargin => 50 );
- warn $formatter->format($tree);
- warn "This is $0 exiting because of an undefined server error" if ($opts{debug});
- exit EX_TEMPFAIL;
-}
-
-
-=head1 SYNOPSIS
-
- rt-mailgate --help : this text
-
-Usual invocation (from MTA):
-
- rt-mailgate --action (correspond|comment) --queue queuename
- --url http://your.rt.server/
- [ --debug ]
- [ --extension (queue|action|ticket) ]
- [ --timeout seconds ]
-
-
-
-See C<man rt-mailgate> for more.
-
-=head1 OPTIONS
-
-=over 3
-
-=item C<--action>
-
-Specifies whether this is a correspondence or comment address.
-
-=item C<--queue>
-
-Reflects which queue this address handles.
-
-=item C<--url>
-
-The location of the web server for your RT instance.
-
-
-=item C<--extension> OPTIONAL
-
-Some MTAs will route mail sent to user-foo@host or user+foo@host to user@host
-and present "foo" in the environment variable $EXTENSION. By specifying
-the value "queue" for this parameter, the queue this message should be
-submitted to will be set to the value of $EXTENSION. By specifying
-"ticket", $EXTENSION will be interpreted as the id of the ticket this message
-is related to. "action" will allow the user to specify either "comment" or
-"correspond" in the address extension.
-
-=item C<--debug> OPTIONAL
-
-Print debugging output to standard error
-
-
-=item C<--timeout> OPTIONAL
-
-Configure the timeout for posting the message to the web server. The
-default timeout is 3 minutes (180 seconds).
-
-
-=head1 DESCRIPTION
-
-The RT mail gateway is the primary mechanism for communicating with RT
-via email. This program simply directs the email to the RT web server,
-which handles filing correspondence and sending out any required mail.
-It is designed to be run as part of the mail delivery process, either
-called directly by the MTA or C<procmail>, or in a F<.forward> or
-equivalent.
-
-=head1 SETUP
-
-Much of the set up of the mail gateway depends on your MTA and mail
-routing configuration. However, you will need first of all to create an
-RT user for the mail gateway and assign it a password; this helps to
-ensure that mail coming into the web server did originate from the
-gateway.
-
-Next, you need to route mail to C<rt-mailgate> for the queues you're
-monitoring. For instance, if you're using F</etc/aliases> and you have a
-"bugs" queue, you will want something like this:
-
- bugs: "|/opt/rt3/bin/rt-mailgate --queue bugs --action correspond
- --url http://rt.mycorp.com/"
-
- bugs-comment: "|/opt/rt3/bin/rt-mailgate --queue bugs --action comment
- --url http://rt.mycorp.com/"
-
-Note that you don't have to run your RT server on your mail server, as
-the mail gateway will happily relay to a different machine.
-
-=head1 CUSTOMIZATION
-
-By default, the mail gateway will accept mail from anyone. However,
-there are situations in which you will want to authenticate users
-before allowing them to communicate with the system. You can do this
-via a plug-in mechanism in the RT configuration.
-
-You can set the array C<@RT::MailPlugins> to be a list of plugins. The
-default plugin, if this is not given, is C<Auth::MailFrom> - that is,
-authentication of the person is done based on the C<From> header of the
-email. If you have additional filters or authentication mechanisms, you
-can list them here and they will be called in order:
-
- @RT::MailPlugins = (
- "Filter::SpamAssassin",
- "Auth::LDAP",
- # ...
- );
-
-See the documentation for any additional plugins you have.
-
-You may also put Perl subroutines into the C<@RT::MailPlugins> array, if
-they behave as described below.
-
-=head1 WRITING PLUGINS
-
-What's actually going on in the above is that C<@RT::MailPlugins> is a
-list of Perl modules; RT prepends C<RT::Interface::Email::> to the name,
-to form a package name, and then C<use>'s this module. The module is
-expected to provide a C<GetCurrentUser> subroutine, which takes a hash of
-several parameters:
-
-=over 4
-
-=item Message
-
-A C<MIME::Entity> object representing the email
-=item CurrentUser
-
-An C<RT::CurrentUser> object
-
-=item AuthStat
-
-The authentication level returned from the previous plugin.
-
-=item Ticket [OPTIONAL]
-
-The ticket under discussion
-
-=item Queue [OPTIONAL]
-
-If we don't already have a ticket id, we need to know which queue we're talking about
-
-=item Action
-
-The action being performed. At the moment, it's one of "comment" or "correspond"
-
-=back 4
-
-It returns two values, the new C<RT::CurrentUser> object, and the new
-authentication level. The authentication level can be zero, not allowed
-to communicate with RT at all, (a "permission denied" error is mailed to
-the correspondent) or one, which is the normal mode of operation.
-Additionally, if C<-1> is returned, then the processing of the plug-ins
-stops immediately and the message is ignored.
-
-=cut
-
diff --git a/rt/bin/webmux.pl b/rt/bin/webmux.pl
deleted file mode 100755
index 96e7ebf8d..000000000
--- a/rt/bin/webmux.pl
+++ /dev/null
@@ -1,148 +0,0 @@
-#!/usr/bin/perl
-# BEGIN LICENSE BLOCK
-#
-# Copyright (c) 1996-2003 Jesse Vincent <jesse@bestpractical.com>
-#
-# (Except where explictly superceded by other copyright notices)
-#
-# This work is made available to you under the terms of Version 2 of
-# the GNU General Public License. A copy of that license should have
-# been provided with this software, but in any event can be snarfed
-# from www.gnu.org.
-#
-# This work is distributed in the hope that it will be useful, but
-# WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-# General Public License for more details.
-#
-# Unless otherwise specified, all modifications, corrections or
-# extensions to this work which alter its source code become the
-# property of Best Practical Solutions, LLC when submitted for
-# inclusion in the work.
-#
-#
-# END LICENSE BLOCK
-
-use strict;
-
-BEGIN {
- $ENV{'PATH'} = '/bin:/usr/bin'; # or whatever you need
- $ENV{'CDPATH'} = '' if defined $ENV{'CDPATH'};
- $ENV{'SHELL'} = '/bin/sh' if defined $ENV{'SHELL'};
- $ENV{'ENV'} = '' if defined $ENV{'ENV'};
- $ENV{'IFS'} = '' if defined $ENV{'IFS'};
-
-}
-
-use lib ("/opt/rt3/local/lib", "/opt/rt3/lib");
-use RT;
-
-package RT::Mason;
-
-use CGI qw(-private_tempfiles); #bring this in before mason, to make sure we
- #set private_tempfiles
-
-BEGIN {
- if ($mod_perl::VERSION >= 1.9908) {
- require Apache::RequestUtil;
- no warnings 'redefine';
- my $sub = *Apache::request{CODE};
- *Apache::request = sub {
- my $r;
- eval { $r = $sub->('Apache'); };
- # warn $@ if $@;
- return $r;
- };
- }
- if ($CGI::MOD_PERL) {
- require HTML::Mason::ApacheHandler;
- }
- else {
- require HTML::Mason::CGIHandler;
- }
-}
-
-use HTML::Mason; # brings in subpackages: Parser, Interp, etc.
-
-use vars qw($Nobody $SystemUser $r);
-
-#This drags in RT's config.pm
-RT::LoadConfig();
-
-use Carp;
-
-{
- package HTML::Mason::Commands;
- use vars qw(%session);
-
- use RT::Tickets;
- use RT::Transactions;
- use RT::Users;
- use RT::CurrentUser;
- use RT::Templates;
- use RT::Queues;
- use RT::ScripActions;
- use RT::ScripConditions;
- use RT::Scrips;
- use RT::Groups;
- use RT::GroupMembers;
- use RT::CustomFields;
- use RT::CustomFieldValues;
- use RT::TicketCustomFieldValues;
-
- use RT::Interface::Web;
- use MIME::Entity;
- use Text::Wrapper;
- use CGI::Cookie;
- use Time::ParseDate;
- use HTML::Entities;
-}
-
-
-# Activate the following if running httpd as root (the normal case).
-# Resets ownership of all files created by Mason at startup.
-# Note that mysql uses DB for sessions, so there's no need to do this.
-unless ($RT::DatabaseType =~ /(mysql|Pg)/) {
- # Clean up our umask to protect session files
- umask(0077);
-
-if ( $CGI::MOD_PERL) {
- chown( Apache->server->uid, Apache->server->gid, [$RT::MasonSessionDir] )
- if Apache->server->can('uid');
- }
- # Die if WebSessionDir doesn't exist or we can't write to it
- stat($RT::MasonSessionDir);
- die "Can't read and write $RT::MasonSessionDir"
- unless ( ( -d _ ) and ( -r _ ) and ( -w _ ) );
-}
-
-my $ah = &RT::Interface::Web::NewApacheHandler(@RT::MasonParameters) if $CGI::MOD_PERL;
-
-sub handler {
- ($r) = @_;
-
- local $SIG{__WARN__};
- local $SIG{__DIE__};
-
- RT::Init();
-
- # We don't need to handle non-text items
- return -1 if defined( $r->content_type ) && $r->content_type !~ m|^text/|io;
-
- my %session;
- my $status;
- eval { $status = $ah->handle_request($r) };
- if ($@) {
- $RT::Logger->crit($@);
- }
-
- undef (%session);
-
- if ($RT::Handle->TransactionDepth) {
- $RT::Handle->ForceRollback;
- $RT::Logger->crit("Transaction not committed. Usually indicates a software fault. Data loss may have occurred") ;
- }
- return $status;
-}
-
-1;
diff --git a/rt/config b/rt/config
deleted file mode 100644
index b9418a66d..000000000
--- a/rt/config
+++ /dev/null
@@ -1,256 +0,0 @@
-/*
- * This is the project ``config'' file. It controls many aspects of
- * how Aegis interacts with your project.
- *
- * There are several sections of this file, each dealing with a different
- * aspect of the interaction between Aegis and the tools used to manage
- * yout project.
- */
-
-/*
- * -------------------------------------------------------------------------
- *
- * The build tool is delegated.
- */
-
-/*
- * The build_command field of the config file is used to invoke the relevant
- * build command. The following command tells cook where to find the recipes.
- * The ${s Howto.cook} expands to a path into the baseline during development
- * if the file is not in the change. Look in aesub(5) for more information
- * about command substitutions.
- */
-build_command =
- "";
-
-/* cook -book ${s Howto.cook} search_path=$search_path \
-project=$p change=$c version=$v -star -no-log -action -notouch";
-
-/*
- * The recipes in the User Guide will all remove their targets before
- * constructing them, which qualifies them to use the following entry in the
- * config file. The targets MUST be removed first if this field is true,
- * otherwise the baseline would cease to be self-consistent.
- *
- * Fortunately, Cook has a nifty ``set unlink;'' statement which is
- * placed at the top of the cookbook.
- */
-link_integration_directory = true;
-
-
-/*
- * -------------------------------------------------------------------------
- *
- * The history tool is delegated.
- *
- * The fhist program was written by David I. Bell and is admirably
- * suited to providing a history mechanism with out the "cruft" that
- * SCCS and RCS impose. The fhist program also comes with two other
- * utilities, fcomp and fmerge, which use the same minimal difference
- * algorithm.
- *
- * Please note that the [# edit #] feature needs to be avoided, or the
- * -Fored_Update (-fu) flag needs to be used in addition to the
- * -Conditional_Update (-cu) flag, otherwise updates will complain that
- * ``Input file "XXX" contains edit A instead of B for module "YYY"''
- *
- * The history_create_command and the history_put_command are
- * intentionally identical. This minimizes problems when using
- * branches.
- *
- * The ${quote ...} construct is used to quote filesnames whicg contain
- * shell special characters. A minimum of quoting is performed, so if
- * the filenames do not contail shell special characters, no quotes will
- * be used.
- */
-
-/*
- * This command is used to create a new project history. The command is
- * always executed as the project owner. Note he the source is left in
- * the baseline. The following substitutions are available:
- *
- * ${Input}
- * absolute path of the source file
- * ${History}
- * absolute path of the history file
- *
- * The history_create_command and the history_put_command are
- * intentionally identical. This minimizes problems when using
- * branches.
- */
-history_create_command =
- "fhist ${quote ${basename $input}} -cr -cu -i ${quote $input} \
--p ${quote ${dirname $history}} -r";
-
-/*
- * This command is used to get a specific edit back from history. The
- * command may be executed by developers. The following substitutions
- * are available:
- *
- * ${History}
- * absolute path of the history file
- * ${Edit}
- * edit number, as given by history_query_command
- * ${Output}
- * absolute path of the destination file
- *
- * Note that the destination filename will never look anything like the
- * history source filename, so the -p is essential.
- */
-history_get_command =
- "fhist ${quote ${basename $history}} -e ${quote $e} \
--o ${quote $output} -p ${quote ${dirname $history}}";
-
-/*
- * This command is used to add a new "top-most" entry to the history
- * file. This command is always executed as the project owner. Note
- * that the source file is left in the baseline. The following
- * substitutions are available:
- *
- * ${Input}
- * absolute path of source file
- * ${History}
- * absolute path of history file
- *
- * The history_create_command and the history_put_command are
- * intentionally identical. This minimizes problems when using
- * branches.
- */
-history_put_command =
- "fhist ${quote ${basename $input}} -cr -cu -i ${quote $input} \
--p ${quote ${dirname $history}} -r";
-
-/*
- * This command is used to query what the history mechanism calls the
- * "top-most" edit of a history file. The result may be any arbitrary
- * string, it need not be anything like a number, just so long as it
- * uniquely identifies the edit for use by the history_get_command at a
- * later date. The edit number is to be printed on the standard output.
- * This command may be executed by developers. The following
- * substitutions are available:
- *
- * ${History}
- * absolute path of the history file
- */
-history_query_command =
- "fhist ${quote ${basename $history}} -l 0 \
--p ${quote ${dirname $history}} -q";
-
-/*
- * -------------------------------------------------------------------------
- *
- * The difference and merge tools are delegated.
- */
-
-/*
- * Compare two files using fcomp. The -w option produces an output of
- * the entire file, with insertions an deletions marked by "change bars"
- * in the left margin. This is superior to context difference, as it
- * shows the entire file as context. The -s option could be added to
- * compare runs of white space as equal.
- *
- * This command is used by aed(1) to produce a difference listing when
- * file in the development directory was originally copied from the
- * current version in the baseline.
- *
- * All of the command substitutions described in aesub(5) are available.
- * In addition, the following substitutions are also available:
- *
- * ${ORiginal}
- * The absolute path name of a file containing the version
- * originally copied. Usually in the baseline.
- * ${Input}
- * The absolute path name of the edited version of the file.
- * Usually in the development directory.
- * ${Output}
- * The absolute path name of the file in which to write the
- * difference listing. Usually in the development directory.
- *
- * An exit status of 0 means successful, even of the files differ (and
- * they usually do). An exit status which is non-zero means something
- * is wrong.
- *
- * The non-zero exit status may be used to overload this command with
- * extra tests, such as line length limits. The difference files must
- * be produced in addition to these extra tests.
- */
-diff_command =
- "fcomp -w ${quote $original} ${quote $input} -o ${quote $output}";
-
-/*
- * Compare three files using fmerge. Conflicts are marked in the
- * output.
- *
- * This command is used by aed(1) to produce a difference listing when a
- * file in the development directory is out of date compared to the
- * current version in the baseline.
- *
- * All of the command substitutions described in aesub(5) are available.
- * In addition, the following substitutions are also available:
- *
- * ${ORiginal}
- * The absolute path name of a file containing the common ancestor
- * version of ${MostRecent} and {$Input}. Usually the version
- * originally copied into the change. Usually in a temporary file.
- * ${Most_Recent}
- * The absolute path name of a file containing the most recent
- * version. Usually in the baseline.
- * ${Input}
- * The absolute path name of the edited version of the file.
- * Usually in the development directory.
- * ${Output}
- * The absolute path name of the file in which to write the
- * difference listing. Usually in the development directory.
- *
- * An exit status of 0 means successful, even of the files differ (and
- * they usually do). An exit status which is non-zero means something
- * is wrong.
- */
-merge_command =
- "fmerge ${quote $original} ${quote $MostRecent} ${quote $input} \
--o ${quote $output} -c /dev/null";
-
-/*
- * -------------------------------------------------------------------------
- *
- * The new file templates are very handy. They allow all sorts of things
- * to be se automatically. You need to edit them to add your own name,
- * and copyright conditions.
- */
-
-file_template =
-[
- {
- pattern = [ "*" ];
- body = "${read_file ${source etc/template/generic abs}}";
-
- }
-];
-
-/* -------------------------------------------------------------------------
- *
- * The integrate_begin_exceptions are files which are not hard linked
- * from the baseline to the integration directory. In this case, this
- * is done to ensure the version stmp is updated appropriately.
- */
-
-integrate_begin_exceptions = [ ];
-
-
-
-
-/* -------------------------------------------------------------------------
- *
- * The trojan_horse_suspect field is a list of filename patterns which
- * indicate files which *could* host a Trojan horse attack. It makes
- * aedist --receive more cautions. It is NOT a silver bullet: just
- * about ANY file can host a Trojan, one way or the other.
- */
-
-trojan_horse_suspect = [ ];
-
-build_covers_all_architectures = true;
-
-test_command = "make test";
-
-build_time_adjust=dont_adjust;
diff --git a/rt/config.log b/rt/config.log
deleted file mode 100644
index 24e15e3cf..000000000
--- a/rt/config.log
+++ /dev/null
@@ -1,118 +0,0 @@
-This file contains any messages produced by compilers while
-running configure, to aid debugging if configure makes a mistake.
-
-It was created by RT configure 3.0.9, which was
-generated by GNU Autoconf 2.53. Invocation command line was
-
- $ ./configure
-
-## --------- ##
-## Platform. ##
-## --------- ##
-
-hostname = pallas
-uname -m = i686
-uname -r = 2.4.18-686
-uname -s = Linux
-uname -v = #1 Sun Apr 14 11:32:47 EST 2002
-
-/usr/bin/uname -p = unknown
-/bin/uname -X = unknown
-
-/bin/arch = i686
-/usr/bin/arch -k = unknown
-/usr/convex/getsysinfo = unknown
-hostinfo = unknown
-/bin/machine = unknown
-/usr/bin/oslevel = unknown
-/bin/universe = unknown
-
-PATH: /usr/X11R6/bin/
-PATH: /opt/rt/bin
-PATH: /usr/athena/bin
-PATH: /usr/local/bin
-PATH: /bin
-PATH: /usr/bin
-PATH: /usr/sbin
-PATH: /usr/bin
-PATH: /usr/games
-PATH: $HOME/bin
-PATH: /opt/kerberos/bin
-PATH: /opt/StarOffice-4.0/bin
-PATH: /opt/mysql/bin/
-PATH: .
-
-
-## ----------- ##
-## Core tests. ##
-## ----------- ##
-
-configure:1218: checking for a BSD-compatible install
-configure:1272: result: /usr/bin/install -c
-configure:1286: checking for perl
-configure:1304: found /usr/bin/perl
-configure:1317: result: /usr/bin/perl
-configure:1639: checking for chosen layout
-configure:1654: result: RT3
-configure:1986: creating ./config.status
-
-## ---------------------- ##
-## Running config.status. ##
-## ---------------------- ##
-
-This file was extended by RT config.status 3.0.9, which was
-generated by GNU Autoconf 2.53. Invocation command line was
-
- CONFIG_FILES =
- CONFIG_HEADERS =
- CONFIG_LINKS =
- CONFIG_COMMANDS =
- $ ./config.status
-
-on pallas
-
-config.status:639: creating sbin/rt-setup-database
-config.status:639: creating sbin/rt-test-dependencies
-config.status:639: creating Makefile
-config.status:639: creating etc/RT_Config.pm
-config.status:639: creating lib/RT.pm
-config.status:639: creating lib/t/00smoke.t
-config.status:639: creating lib/t/01harness.t
-config.status:639: creating lib/t/02regression.t
-config.status:639: creating lib/t/03web.pl
-config.status:639: creating lib/t/04_send_email.pl
-config.status:639: creating bin/mason_handler.fcgi
-config.status:639: creating bin/mason_handler.scgi
-config.status:639: creating bin/mason_handler.svc
-config.status:639: creating bin/rt-commit-handler
-config.status:639: creating bin/rt-crontool
-config.status:639: creating bin/rt-mailgate
-config.status:639: creating bin/rt
-config.status:639: creating bin/webmux.pl
-
-## ---------------- ##
-## Cache variables. ##
-## ---------------- ##
-
-ac_cv_env_PERL_set=
-ac_cv_env_PERL_value=
-ac_cv_env_build_alias_set=
-ac_cv_env_build_alias_value=
-ac_cv_env_host_alias_set=
-ac_cv_env_host_alias_value=
-ac_cv_env_target_alias_set=
-ac_cv_env_target_alias_value=
-ac_cv_path_PERL=/usr/bin/perl
-ac_cv_path_install='/usr/bin/install -c'
-
-## ----------- ##
-## confdefs.h. ##
-## ----------- ##
-
-#define PACKAGE_NAME "RT"
-#define PACKAGE_TARNAME "rt"
-#define PACKAGE_VERSION "3.0.9"
-#define PACKAGE_STRING "RT 3.0.9"
-#define PACKAGE_BUGREPORT "rt-3.0-bugs@fsck.com"
-
-configure: exit 0
diff --git a/rt/config.pld b/rt/config.pld
deleted file mode 100644
index c71c7bbdd..000000000
--- a/rt/config.pld
+++ /dev/null
@@ -1,19 +0,0 @@
-(test "x$prefix" = "xNONE" || test "x$prefix" = "x") && prefix=/opt/rt3
-(test "x$exec_prefix" = "xNONE" || test "x$exec_prefix" = "x") && exec_prefix=${prefix}
-bindir=${exec_prefix}/bin
-sbindir=${exec_prefix}/sbin
-sysconfdir=${prefix}/etc
-mandir=${prefix}/man
-libdir=${prefix}/lib
-datadir=${prefix}/share
-(test "x$htmldir" = "xNONE" || test "x$htmldir" = "x") && htmldir=${datadir}/html
-(test "x$manualdir" = "xNONE" || test "x$manualdir" = "x") && manualdir=${datadir}/doc
-localstatedir=${prefix}/var
-(test "x$logfiledir" = "xNONE" || test "x$logfiledir" = "x") && logfiledir=${localstatedir}/log
-(test "x$masonstatedir" = "xNONE" || test "x$masonstatedir" = "x") && masonstatedir=${localstatedir}/mason_data
-(test "x$sessionstatedir" = "xNONE" || test "x$sessionstatedir" = "x") && sessionstatedir=${localstatedir}/session_data
-(test "x$customdir" = "xNONE" || test "x$customdir" = "x") && customdir=${prefix}/local
-(test "x$custometcdir" = "xNONE" || test "x$custometcdir" = "x") && custometcdir=${customdir}/etc
-(test "x$customhtmldir" = "xNONE" || test "x$customhtmldir" = "x") && customhtmldir=${customdir}/html
-(test "x$customlexdir" = "xNONE" || test "x$customlexdir" = "x") && customlexdir=${customdir}/po
-(test "x$customlibdir" = "xNONE" || test "x$customlibdir" = "x") && customlibdir=${customdir}/lib
diff --git a/rt/config.status b/rt/config.status
deleted file mode 100755
index e7d81b358..000000000
--- a/rt/config.status
+++ /dev/null
@@ -1,713 +0,0 @@
-#! /bin/sh
-# Generated by configure.
-# Run this file to recreate the current configuration.
-# Compiler output produced by configure, useful for debugging
-# configure, is in config.log if it exists.
-
-debug=false
-SHELL=${CONFIG_SHELL-/bin/sh}
-
-## --------------------- ##
-## M4sh Initialization. ##
-## --------------------- ##
-
-# Be Bourne compatible
-if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then
- emulate sh
- NULLCMD=:
-elif test -n "${BASH_VERSION+set}" && (set -o posix) >/dev/null 2>&1; then
- set -o posix
-fi
-
-# NLS nuisances.
-# Support unset when possible.
-if (FOO=FOO; unset FOO) >/dev/null 2>&1; then
- as_unset=unset
-else
- as_unset=false
-fi
-
-(set +x; test -n "`(LANG=C; export LANG) 2>&1`") &&
- { $as_unset LANG || test "${LANG+set}" != set; } ||
- { LANG=C; export LANG; }
-(set +x; test -n "`(LC_ALL=C; export LC_ALL) 2>&1`") &&
- { $as_unset LC_ALL || test "${LC_ALL+set}" != set; } ||
- { LC_ALL=C; export LC_ALL; }
-(set +x; test -n "`(LC_TIME=C; export LC_TIME) 2>&1`") &&
- { $as_unset LC_TIME || test "${LC_TIME+set}" != set; } ||
- { LC_TIME=C; export LC_TIME; }
-(set +x; test -n "`(LC_CTYPE=C; export LC_CTYPE) 2>&1`") &&
- { $as_unset LC_CTYPE || test "${LC_CTYPE+set}" != set; } ||
- { LC_CTYPE=C; export LC_CTYPE; }
-(set +x; test -n "`(LANGUAGE=C; export LANGUAGE) 2>&1`") &&
- { $as_unset LANGUAGE || test "${LANGUAGE+set}" != set; } ||
- { LANGUAGE=C; export LANGUAGE; }
-(set +x; test -n "`(LC_COLLATE=C; export LC_COLLATE) 2>&1`") &&
- { $as_unset LC_COLLATE || test "${LC_COLLATE+set}" != set; } ||
- { LC_COLLATE=C; export LC_COLLATE; }
-(set +x; test -n "`(LC_NUMERIC=C; export LC_NUMERIC) 2>&1`") &&
- { $as_unset LC_NUMERIC || test "${LC_NUMERIC+set}" != set; } ||
- { LC_NUMERIC=C; export LC_NUMERIC; }
-(set +x; test -n "`(LC_MESSAGES=C; export LC_MESSAGES) 2>&1`") &&
- { $as_unset LC_MESSAGES || test "${LC_MESSAGES+set}" != set; } ||
- { LC_MESSAGES=C; export LC_MESSAGES; }
-
-
-# Name of the executable.
-as_me=`(basename "$0") 2>/dev/null ||
-$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \
- X"$0" : 'X\(//\)$' \| \
- X"$0" : 'X\(/\)$' \| \
- . : '\(.\)' 2>/dev/null ||
-echo X/"$0" |
- sed '/^.*\/\([^/][^/]*\)\/*$/{ s//\1/; q; }
- /^X\/\(\/\/\)$/{ s//\1/; q; }
- /^X\/\(\/\).*/{ s//\1/; q; }
- s/.*/./; q'`
-
-# PATH needs CR, and LINENO needs CR and PATH.
-# Avoid depending upon Character Ranges.
-as_cr_letters='abcdefghijklmnopqrstuvwxyz'
-as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ'
-as_cr_Letters=$as_cr_letters$as_cr_LETTERS
-as_cr_digits='0123456789'
-as_cr_alnum=$as_cr_Letters$as_cr_digits
-
-# The user is always right.
-if test "${PATH_SEPARATOR+set}" != set; then
- echo "#! /bin/sh" >conftest.sh
- echo "exit 0" >>conftest.sh
- chmod +x conftest.sh
- if (PATH=".;."; conftest.sh) >/dev/null 2>&1; then
- PATH_SEPARATOR=';'
- else
- PATH_SEPARATOR=:
- fi
- rm -f conftest.sh
-fi
-
-
- as_lineno_1=$LINENO
- as_lineno_2=$LINENO
- as_lineno_3=`(expr $as_lineno_1 + 1) 2>/dev/null`
- test "x$as_lineno_1" != "x$as_lineno_2" &&
- test "x$as_lineno_3" = "x$as_lineno_2" || {
- # Find who we are. Look in the path if we contain no path at all
- # relative or not.
- case $0 in
- *[\\/]* ) as_myself=$0 ;;
- *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break
-done
-
- ;;
- esac
- # We did not find ourselves, most probably we were run as `sh COMMAND'
- # in which case we are not to be found in the path.
- if test "x$as_myself" = x; then
- as_myself=$0
- fi
- if test ! -f "$as_myself"; then
- { { echo "$as_me:$LINENO: error: cannot find myself; rerun with an absolute path" >&5
-echo "$as_me: error: cannot find myself; rerun with an absolute path" >&2;}
- { (exit 1); exit 1; }; }
- fi
- case $CONFIG_SHELL in
- '')
- as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for as_base in sh bash ksh sh5; do
- case $as_dir in
- /*)
- if ("$as_dir/$as_base" -c '
- as_lineno_1=$LINENO
- as_lineno_2=$LINENO
- as_lineno_3=`(expr $as_lineno_1 + 1) 2>/dev/null`
- test "x$as_lineno_1" != "x$as_lineno_2" &&
- test "x$as_lineno_3" = "x$as_lineno_2" ') 2>/dev/null; then
- CONFIG_SHELL=$as_dir/$as_base
- export CONFIG_SHELL
- exec "$CONFIG_SHELL" "$0" ${1+"$@"}
- fi;;
- esac
- done
-done
-;;
- esac
-
- # Create $as_me.lineno as a copy of $as_myself, but with $LINENO
- # uniformly replaced by the line number. The first 'sed' inserts a
- # line-number line before each line; the second 'sed' does the real
- # work. The second script uses 'N' to pair each line-number line
- # with the numbered line, and appends trailing '-' during
- # substitution so that $LINENO is not a special case at line end.
- # (Raja R Harinath suggested sed '=', and Paul Eggert wrote the
- # second 'sed' script. Blame Lee E. McMahon for sed's syntax. :-)
- sed '=' <$as_myself |
- sed '
- N
- s,$,-,
- : loop
- s,^\(['$as_cr_digits']*\)\(.*\)[$]LINENO\([^'$as_cr_alnum'_]\),\1\2\1\3,
- t loop
- s,-$,,
- s,^['$as_cr_digits']*\n,,
- ' >$as_me.lineno &&
- chmod +x $as_me.lineno ||
- { { echo "$as_me:$LINENO: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&5
-echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2;}
- { (exit 1); exit 1; }; }
-
- # Don't try to exec as it changes $[0], causing all sort of problems
- # (the dirname of $[0] is not the place where we might find the
- # original and so on. Autoconf is especially sensible to this).
- . ./$as_me.lineno
- # Exit status is that of the last command.
- exit
-}
-
-
-case `echo "testing\c"; echo 1,2,3`,`echo -n testing; echo 1,2,3` in
- *c*,-n*) ECHO_N= ECHO_C='
-' ECHO_T=' ' ;;
- *c*,* ) ECHO_N=-n ECHO_C= ECHO_T= ;;
- *) ECHO_N= ECHO_C='\c' ECHO_T= ;;
-esac
-
-if expr a : '\(a\)' >/dev/null 2>&1; then
- as_expr=expr
-else
- as_expr=false
-fi
-
-rm -f conf$$ conf$$.exe conf$$.file
-echo >conf$$.file
-if ln -s conf$$.file conf$$ 2>/dev/null; then
- # We could just check for DJGPP; but this test a) works b) is more generic
- # and c) will remain valid once DJGPP supports symlinks (DJGPP 2.04).
- if test -f conf$$.exe; then
- # Don't use ln at all; we don't have any links
- as_ln_s='cp -p'
- else
- as_ln_s='ln -s'
- fi
-elif ln conf$$.file conf$$ 2>/dev/null; then
- as_ln_s=ln
-else
- as_ln_s='cp -p'
-fi
-rm -f conf$$ conf$$.exe conf$$.file
-
-as_executable_p="test -f"
-
-# Sed expression to map a string onto a valid CPP name.
-as_tr_cpp="sed y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g"
-
-# Sed expression to map a string onto a valid variable name.
-as_tr_sh="sed y%*+%pp%;s%[^_$as_cr_alnum]%_%g"
-
-
-# IFS
-# We need space, tab and new line, in precisely that order.
-as_nl='
-'
-IFS=" $as_nl"
-
-# CDPATH.
-$as_unset CDPATH || test "${CDPATH+set}" != set || { CDPATH=$PATH_SEPARATOR; export CDPATH; }
-
-exec 6>&1
-
-# Open the log real soon, to keep \$[0] and so on meaningful, and to
-# report actual input values of CONFIG_FILES etc. instead of their
-# values after options handling. Logging --version etc. is OK.
-exec 5>>config.log
-{
- echo
- sed 'h;s/./-/g;s/^.../## /;s/...$/ ##/;p;x;p;x' <<_ASBOX
-## Running $as_me. ##
-_ASBOX
-} >&5
-cat >&5 <<_CSEOF
-
-This file was extended by RT $as_me 3.0.9, which was
-generated by GNU Autoconf 2.53. Invocation command line was
-
- CONFIG_FILES = $CONFIG_FILES
- CONFIG_HEADERS = $CONFIG_HEADERS
- CONFIG_LINKS = $CONFIG_LINKS
- CONFIG_COMMANDS = $CONFIG_COMMANDS
- $ $0 $@
-
-_CSEOF
-echo "on `(hostname || uname -n) 2>/dev/null | sed 1q`" >&5
-echo >&5
-config_files=" sbin/rt-setup-database sbin/rt-test-dependencies Makefile etc/RT_Config.pm lib/RT.pm lib/t/00smoke.t lib/t/01harness.t lib/t/02regression.t lib/t/03web.pl lib/t/04_send_email.pl bin/mason_handler.fcgi bin/mason_handler.scgi bin/mason_handler.svc bin/rt-commit-handler bin/rt-crontool bin/rt-mailgate bin/rt bin/webmux.pl"
-
-ac_cs_usage="\
-\`$as_me' instantiates files from templates according to the
-current configuration.
-
-Usage: $0 [OPTIONS] [FILE]...
-
- -h, --help print this help, then exit
- -V, --version print version number, then exit
- -d, --debug don't remove temporary files
- --recheck update $as_me by reconfiguring in the same conditions
- --file=FILE[:TEMPLATE]
- instantiate the configuration file FILE
-
-Configuration files:
-$config_files
-
-Report bugs to <bug-autoconf@gnu.org>."
-ac_cs_version="\
-RT config.status 3.0.9
-configured by ./configure, generated by GNU Autoconf 2.53,
- with options \"\"
-
-Copyright 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001
-Free Software Foundation, Inc.
-This config.status script is free software; the Free Software Foundation
-gives unlimited permission to copy, distribute and modify it."
-srcdir=.
-INSTALL="/usr/bin/install -c"
-# If no file are specified by the user, then we need to provide default
-# value. By we need to know if files were specified by the user.
-ac_need_defaults=:
-while test $# != 0
-do
- case $1 in
- --*=*)
- ac_option=`expr "x$1" : 'x\([^=]*\)='`
- ac_optarg=`expr "x$1" : 'x[^=]*=\(.*\)'`
- shift
- set dummy "$ac_option" "$ac_optarg" ${1+"$@"}
- shift
- ;;
- -*);;
- *) # This is not an option, so the user has probably given explicit
- # arguments.
- ac_need_defaults=false;;
- esac
-
- case $1 in
- # Handling of the options.
- -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r)
- echo "running /bin/sh ./configure " " --no-create --no-recursion"
- exec /bin/sh ./configure --no-create --no-recursion ;;
- --version | --vers* | -V )
- echo "$ac_cs_version"; exit 0 ;;
- --he | --h)
- # Conflict between --help and --header
- { { echo "$as_me:$LINENO: error: ambiguous option: $1
-Try \`$0 --help' for more information." >&5
-echo "$as_me: error: ambiguous option: $1
-Try \`$0 --help' for more information." >&2;}
- { (exit 1); exit 1; }; };;
- --help | --hel | -h )
- echo "$ac_cs_usage"; exit 0 ;;
- --debug | --d* | -d )
- debug=: ;;
- --file | --fil | --fi | --f )
- shift
- CONFIG_FILES="$CONFIG_FILES $1"
- ac_need_defaults=false;;
- --header | --heade | --head | --hea )
- shift
- CONFIG_HEADERS="$CONFIG_HEADERS $1"
- ac_need_defaults=false;;
-
- # This is an error.
- -*) { { echo "$as_me:$LINENO: error: unrecognized option: $1
-Try \`$0 --help' for more information." >&5
-echo "$as_me: error: unrecognized option: $1
-Try \`$0 --help' for more information." >&2;}
- { (exit 1); exit 1; }; } ;;
-
- *) ac_config_targets="$ac_config_targets $1" ;;
-
- esac
- shift
-done
-
-for ac_config_target in $ac_config_targets
-do
- case "$ac_config_target" in
- # Handling of arguments.
- "sbin/rt-setup-database" ) CONFIG_FILES="$CONFIG_FILES sbin/rt-setup-database" ;;
- "sbin/rt-test-dependencies" ) CONFIG_FILES="$CONFIG_FILES sbin/rt-test-dependencies" ;;
- "Makefile" ) CONFIG_FILES="$CONFIG_FILES Makefile" ;;
- "etc/RT_Config.pm" ) CONFIG_FILES="$CONFIG_FILES etc/RT_Config.pm" ;;
- "lib/RT.pm" ) CONFIG_FILES="$CONFIG_FILES lib/RT.pm" ;;
- "lib/t/00smoke.t" ) CONFIG_FILES="$CONFIG_FILES lib/t/00smoke.t" ;;
- "lib/t/01harness.t" ) CONFIG_FILES="$CONFIG_FILES lib/t/01harness.t" ;;
- "lib/t/02regression.t" ) CONFIG_FILES="$CONFIG_FILES lib/t/02regression.t" ;;
- "lib/t/03web.pl" ) CONFIG_FILES="$CONFIG_FILES lib/t/03web.pl" ;;
- "lib/t/04_send_email.pl" ) CONFIG_FILES="$CONFIG_FILES lib/t/04_send_email.pl" ;;
- "bin/mason_handler.fcgi" ) CONFIG_FILES="$CONFIG_FILES bin/mason_handler.fcgi" ;;
- "bin/mason_handler.scgi" ) CONFIG_FILES="$CONFIG_FILES bin/mason_handler.scgi" ;;
- "bin/mason_handler.svc" ) CONFIG_FILES="$CONFIG_FILES bin/mason_handler.svc" ;;
- "bin/rt-commit-handler" ) CONFIG_FILES="$CONFIG_FILES bin/rt-commit-handler" ;;
- "bin/rt-crontool" ) CONFIG_FILES="$CONFIG_FILES bin/rt-crontool" ;;
- "bin/rt-mailgate" ) CONFIG_FILES="$CONFIG_FILES bin/rt-mailgate" ;;
- "bin/rt" ) CONFIG_FILES="$CONFIG_FILES bin/rt" ;;
- "bin/webmux.pl" ) CONFIG_FILES="$CONFIG_FILES bin/webmux.pl" ;;
- *) { { echo "$as_me:$LINENO: error: invalid argument: $ac_config_target" >&5
-echo "$as_me: error: invalid argument: $ac_config_target" >&2;}
- { (exit 1); exit 1; }; };;
- esac
-done
-
-# If the user did not use the arguments to specify the items to instantiate,
-# then the envvar interface is used. Set only those that are not.
-# We use the long form for the default assignment because of an extremely
-# bizarre bug on SunOS 4.1.3.
-if $ac_need_defaults; then
- test "${CONFIG_FILES+set}" = set || CONFIG_FILES=$config_files
-fi
-
-# Create a temporary directory, and hook for its removal unless debugging.
-$debug ||
-{
- trap 'exit_status=$?; rm -rf $tmp && exit $exit_status' 0
- trap '{ (exit 1); exit 1; }' 1 2 13 15
-}
-
-# Create a (secure) tmp directory for tmp files.
-: ${TMPDIR=/tmp}
-{
- tmp=`(umask 077 && mktemp -d -q "$TMPDIR/csXXXXXX") 2>/dev/null` &&
- test -n "$tmp" && test -d "$tmp"
-} ||
-{
- tmp=$TMPDIR/cs$$-$RANDOM
- (umask 077 && mkdir $tmp)
-} ||
-{
- echo "$me: cannot create a temporary directory in $TMPDIR" >&2
- { (exit 1); exit 1; }
-}
-
-
-#
-# CONFIG_FILES section.
-#
-
-# No need to generate the scripts if there are no CONFIG_FILES.
-# This happens for instance when ./config.status config.h
-if test -n "$CONFIG_FILES"; then
- # Protect against being on the right side of a sed subst in config.status.
- sed 's/,@/@@/; s/@,/@@/; s/,;t t$/@;t t/; /@;t t$/s/[\\&,]/\\&/g;
- s/@@/,@/; s/@@/@,/; s/@;t t$/,;t t/' >$tmp/subs.sed <<\CEOF
-s,@SHELL@,/bin/sh,;t t
-s,@PATH_SEPARATOR@,:,;t t
-s,@PACKAGE_NAME@,RT,;t t
-s,@PACKAGE_TARNAME@,rt,;t t
-s,@PACKAGE_VERSION@,3.0.9,;t t
-s,@PACKAGE_STRING@,RT 3.0.9,;t t
-s,@PACKAGE_BUGREPORT@,rt-3.0-bugs@fsck.com,;t t
-s,@exec_prefix@,/opt/rt3,;t t
-s,@prefix@,/opt/rt3,;t t
-s,@program_transform_name@,s,x,x,,;t t
-s,@bindir@,/opt/rt3/bin,;t t
-s,@sbindir@,/opt/rt3/sbin,;t t
-s,@libexecdir@,${exec_prefix}/libexec,;t t
-s,@datadir@,/opt/rt3/share,;t t
-s,@sysconfdir@,/opt/rt3/etc,;t t
-s,@sharedstatedir@,${prefix}/com,;t t
-s,@localstatedir@,/opt/rt3/var,;t t
-s,@libdir@,/opt/rt3/lib,;t t
-s,@includedir@,${prefix}/include,;t t
-s,@oldincludedir@,/usr/include,;t t
-s,@infodir@,${prefix}/info,;t t
-s,@mandir@,/opt/rt3/man,;t t
-s,@build_alias@,,;t t
-s,@host_alias@,,;t t
-s,@target_alias@,,;t t
-s,@DEFS@,-DPACKAGE_NAME=\"RT\" -DPACKAGE_TARNAME=\"rt\" -DPACKAGE_VERSION=\"3.0.9\" -DPACKAGE_STRING=\"RT\ 3.0.9\" -DPACKAGE_BUGREPORT=\"rt-3.0-bugs@fsck.com\" ,;t t
-s,@ECHO_C@,,;t t
-s,@ECHO_N@,-n,;t t
-s,@ECHO_T@,,;t t
-s,@LIBS@,,;t t
-s,@rt_version_major@,3,;t t
-s,@rt_version_minor@,0,;t t
-s,@rt_version_patch@,9,;t t
-s,@INSTALL_PROGRAM@,${INSTALL},;t t
-s,@INSTALL_SCRIPT@,${INSTALL},;t t
-s,@INSTALL_DATA@,${INSTALL} -m 644,;t t
-s,@PERL@,/usr/bin/perl,;t t
-s,@SPEEDY_BIN@,/usr/local/bin/speedy,;t t
-s,@exp_prefix@,/opt/rt3,;t t
-s,@exp_exec_prefix@,/opt/rt3,;t t
-s,@exp_bindir@,/opt/rt3/bin,;t t
-s,@exp_sbindir@,/opt/rt3/sbin,;t t
-s,@exp_sysconfdir@,/opt/rt3/etc,;t t
-s,@exp_mandir@,/opt/rt3/man,;t t
-s,@exp_libdir@,/opt/rt3/lib,;t t
-s,@exp_datadir@,/opt/rt3/share,;t t
-s,@htmldir@,/opt/rt3/share/html,;t t
-s,@exp_htmldir@,/opt/rt3/share/html,;t t
-s,@manualdir@,/opt/rt3/share/doc,;t t
-s,@exp_manualdir@,/opt/rt3/share/doc,;t t
-s,@exp_localstatedir@,/opt/rt3/var,;t t
-s,@logfiledir@,/opt/rt3/var/log,;t t
-s,@exp_logfiledir@,/opt/rt3/var/log,;t t
-s,@masonstatedir@,/opt/rt3/var/mason_data,;t t
-s,@exp_masonstatedir@,/opt/rt3/var/mason_data,;t t
-s,@sessionstatedir@,/opt/rt3/var/session_data,;t t
-s,@exp_sessionstatedir@,/opt/rt3/var/session_data,;t t
-s,@customdir@,/opt/rt3/local,;t t
-s,@exp_customdir@,/opt/rt3/local,;t t
-s,@custometcdir@,/opt/rt3/local/etc,;t t
-s,@exp_custometcdir@,/opt/rt3/local/etc,;t t
-s,@customhtmldir@,/opt/rt3/local/html,;t t
-s,@exp_customhtmldir@,/opt/rt3/local/html,;t t
-s,@customlexdir@,/opt/rt3/local/po,;t t
-s,@exp_customlexdir@,/opt/rt3/local/po,;t t
-s,@customlibdir@,/opt/rt3/local/lib,;t t
-s,@exp_customlibdir@,/opt/rt3/local/lib,;t t
-s,@rt_layout_name@,RT3,;t t
-s,@RTGROUP@,rt,;t t
-s,@BIN_OWNER@,root,;t t
-s,@LIBS_OWNER@,root,;t t
-s,@LIBS_GROUP@,bin,;t t
-s,@DB_TYPE@,mysql,;t t
-s,@ORACLE_ENV_PREF@,,;t t
-s,@DB_HOST@,localhost,;t t
-s,@DB_PORT@,,;t t
-s,@DB_RT_HOST@,localhost,;t t
-s,@DB_DBA@,root,;t t
-s,@DB_DATABASE@,rt3,;t t
-s,@DB_RT_USER@,rt_user,;t t
-s,@DB_RT_PASS@,rt_pass,;t t
-s,@WEB_USER@,www,;t t
-s,@WEB_GROUP@,www,;t t
-s,@RT_VERSION_MAJOR@,3,;t t
-s,@RT_VERSION_MINOR@,0,;t t
-s,@RT_VERSION_PATCH@,9,;t t
-s,@RT_PATH@,/opt/rt3,;t t
-s,@RT_DOC_PATH@,/opt/rt3/share/doc,;t t
-s,@RT_LOCAL_PATH@,/opt/rt3/local,;t t
-s,@RT_LIB_PATH@,/opt/rt3/lib,;t t
-s,@RT_ETC_PATH@,/opt/rt3/etc,;t t
-s,@CONFIG_FILE_PATH@,/opt/rt3/etc,;t t
-s,@RT_BIN_PATH@,/opt/rt3/bin,;t t
-s,@RT_SBIN_PATH@,/opt/rt3/sbin,;t t
-s,@RT_VAR_PATH@,/opt/rt3/var,;t t
-s,@RT_MAN_PATH@,/opt/rt3/man,;t t
-s,@MASON_DATA_PATH@,/opt/rt3/var/mason_data,;t t
-s,@MASON_SESSION_PATH@,/opt/rt3/var/session_data,;t t
-s,@MASON_HTML_PATH@,/opt/rt3/share/html,;t t
-s,@LOCAL_ETC_PATH@,/opt/rt3/local/etc,;t t
-s,@MASON_LOCAL_HTML_PATH@,/opt/rt3/local/html,;t t
-s,@LOCAL_LEXICON_PATH@,/opt/rt3/local/po,;t t
-s,@LOCAL_LIB_PATH@,/opt/rt3/local/lib,;t t
-s,@DESTDIR@,/opt/rt3,;t t
-s,@RT_LOG_PATH@,/opt/rt3/var/log,;t t
-CEOF
-
- # Split the substitutions into bite-sized pieces for seds with
- # small command number limits, like on Digital OSF/1 and HP-UX.
- ac_max_sed_lines=48
- ac_sed_frag=1 # Number of current file.
- ac_beg=1 # First line for current file.
- ac_end=$ac_max_sed_lines # Line after last line for current file.
- ac_more_lines=:
- ac_sed_cmds=
- while $ac_more_lines; do
- if test $ac_beg -gt 1; then
- sed "1,${ac_beg}d; ${ac_end}q" $tmp/subs.sed >$tmp/subs.frag
- else
- sed "${ac_end}q" $tmp/subs.sed >$tmp/subs.frag
- fi
- if test ! -s $tmp/subs.frag; then
- ac_more_lines=false
- else
- # The purpose of the label and of the branching condition is to
- # speed up the sed processing (if there are no `@' at all, there
- # is no need to browse any of the substitutions).
- # These are the two extra sed commands mentioned above.
- (echo ':t
- /@[a-zA-Z_][a-zA-Z_0-9]*@/!b' && cat $tmp/subs.frag) >$tmp/subs-$ac_sed_frag.sed
- if test -z "$ac_sed_cmds"; then
- ac_sed_cmds="sed -f $tmp/subs-$ac_sed_frag.sed"
- else
- ac_sed_cmds="$ac_sed_cmds | sed -f $tmp/subs-$ac_sed_frag.sed"
- fi
- ac_sed_frag=`expr $ac_sed_frag + 1`
- ac_beg=$ac_end
- ac_end=`expr $ac_end + $ac_max_sed_lines`
- fi
- done
- if test -z "$ac_sed_cmds"; then
- ac_sed_cmds=cat
- fi
-fi # test -n "$CONFIG_FILES"
-
-for ac_file in : $CONFIG_FILES; do test "x$ac_file" = x: && continue
- # Support "outfile[:infile[:infile...]]", defaulting infile="outfile.in".
- case $ac_file in
- - | *:- | *:-:* ) # input from stdin
- cat >$tmp/stdin
- ac_file_in=`echo "$ac_file" | sed 's,[^:]*:,,'`
- ac_file=`echo "$ac_file" | sed 's,:.*,,'` ;;
- *:* ) ac_file_in=`echo "$ac_file" | sed 's,[^:]*:,,'`
- ac_file=`echo "$ac_file" | sed 's,:.*,,'` ;;
- * ) ac_file_in=$ac_file.in ;;
- esac
-
- # Compute @srcdir@, @top_srcdir@, and @INSTALL@ for subdirectories.
- ac_dir=`(dirname "$ac_file") 2>/dev/null ||
-$as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
- X"$ac_file" : 'X\(//\)[^/]' \| \
- X"$ac_file" : 'X\(//\)$' \| \
- X"$ac_file" : 'X\(/\)' \| \
- . : '\(.\)' 2>/dev/null ||
-echo X"$ac_file" |
- sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; }
- /^X\(\/\/\)[^/].*/{ s//\1/; q; }
- /^X\(\/\/\)$/{ s//\1/; q; }
- /^X\(\/\).*/{ s//\1/; q; }
- s/.*/./; q'`
- { case "$ac_dir" in
- [\\/]* | ?:[\\/]* ) as_incr_dir=;;
- *) as_incr_dir=.;;
-esac
-as_dummy="$ac_dir"
-for as_mkdir_dir in `IFS='/\\'; set X $as_dummy; shift; echo "$@"`; do
- case $as_mkdir_dir in
- # Skip DOS drivespec
- ?:) as_incr_dir=$as_mkdir_dir ;;
- *)
- as_incr_dir=$as_incr_dir/$as_mkdir_dir
- test -d "$as_incr_dir" ||
- mkdir "$as_incr_dir" ||
- { { echo "$as_me:$LINENO: error: cannot create \"$ac_dir\"" >&5
-echo "$as_me: error: cannot create \"$ac_dir\"" >&2;}
- { (exit 1); exit 1; }; }
- ;;
- esac
-done; }
-
- ac_builddir=.
-
-if test "$ac_dir" != .; then
- ac_dir_suffix=/`echo "$ac_dir" | sed 's,^\.[\\/],,'`
- # A "../" for each directory in $ac_dir_suffix.
- ac_top_builddir=`echo "$ac_dir_suffix" | sed 's,/[^\\/]*,../,g'`
-else
- ac_dir_suffix= ac_top_builddir=
-fi
-
-case $srcdir in
- .) # No --srcdir option. We are building in place.
- ac_srcdir=.
- if test -z "$ac_top_builddir"; then
- ac_top_srcdir=.
- else
- ac_top_srcdir=`echo $ac_top_builddir | sed 's,/$,,'`
- fi ;;
- [\\/]* | ?:[\\/]* ) # Absolute path.
- ac_srcdir=$srcdir$ac_dir_suffix;
- ac_top_srcdir=$srcdir ;;
- *) # Relative path.
- ac_srcdir=$ac_top_builddir$srcdir$ac_dir_suffix
- ac_top_srcdir=$ac_top_builddir$srcdir ;;
-esac
-# Don't blindly perform a `cd "$ac_dir"/$ac_foo && pwd` since $ac_foo can be
-# absolute.
-ac_abs_builddir=`cd "$ac_dir" && cd $ac_builddir && pwd`
-ac_abs_top_builddir=`cd "$ac_dir" && cd $ac_top_builddir && pwd`
-ac_abs_srcdir=`cd "$ac_dir" && cd $ac_srcdir && pwd`
-ac_abs_top_srcdir=`cd "$ac_dir" && cd $ac_top_srcdir && pwd`
-
-
- case $INSTALL in
- [\\/$]* | ?:[\\/]* ) ac_INSTALL=$INSTALL ;;
- *) ac_INSTALL=$ac_top_builddir$INSTALL ;;
- esac
-
- if test x"$ac_file" != x-; then
- { echo "$as_me:$LINENO: creating $ac_file" >&5
-echo "$as_me: creating $ac_file" >&6;}
- rm -f "$ac_file"
- fi
- # Let's still pretend it is `configure' which instantiates (i.e., don't
- # use $as_me), people would be surprised to read:
- # /* config.h. Generated by config.status. */
- if test x"$ac_file" = x-; then
- configure_input=
- else
- configure_input="$ac_file. "
- fi
- configure_input=$configure_input"Generated from `echo $ac_file_in |
- sed 's,.*/,,'` by configure."
-
- # First look for the input files in the build tree, otherwise in the
- # src tree.
- ac_file_inputs=`IFS=:
- for f in $ac_file_in; do
- case $f in
- -) echo $tmp/stdin ;;
- [\\/$]*)
- # Absolute (can't be DOS-style, as IFS=:)
- test -f "$f" || { { echo "$as_me:$LINENO: error: cannot find input file: $f" >&5
-echo "$as_me: error: cannot find input file: $f" >&2;}
- { (exit 1); exit 1; }; }
- echo $f;;
- *) # Relative
- if test -f "$f"; then
- # Build tree
- echo $f
- elif test -f "$srcdir/$f"; then
- # Source tree
- echo $srcdir/$f
- else
- # /dev/null tree
- { { echo "$as_me:$LINENO: error: cannot find input file: $f" >&5
-echo "$as_me: error: cannot find input file: $f" >&2;}
- { (exit 1); exit 1; }; }
- fi;;
- esac
- done` || { (exit 1); exit 1; }
- sed "/^[ ]*VPATH[ ]*=/{
-s/:*\$(srcdir):*/:/;
-s/:*\${srcdir}:*/:/;
-s/:*@srcdir@:*/:/;
-s/^\([^=]*=[ ]*\):*/\1/;
-s/:*$//;
-s/^[^=]*=[ ]*$//;
-}
-
-:t
-/@[a-zA-Z_][a-zA-Z_0-9]*@/!b
-s,@configure_input@,$configure_input,;t t
-s,@srcdir@,$ac_srcdir,;t t
-s,@abs_srcdir@,$ac_abs_srcdir,;t t
-s,@top_srcdir@,$ac_top_srcdir,;t t
-s,@abs_top_srcdir@,$ac_abs_top_srcdir,;t t
-s,@builddir@,$ac_builddir,;t t
-s,@abs_builddir@,$ac_abs_builddir,;t t
-s,@top_builddir@,$ac_top_builddir,;t t
-s,@abs_top_builddir@,$ac_abs_top_builddir,;t t
-s,@INSTALL@,$ac_INSTALL,;t t
-" $ac_file_inputs | (eval "$ac_sed_cmds") >$tmp/out
- rm -f $tmp/stdin
- if test x"$ac_file" != x-; then
- mv $tmp/out $ac_file
- else
- cat $tmp/out
- rm -f $tmp/out
- fi
-
-done
-
-{ (exit 0); exit 0; }
diff --git a/rt/docs/design_docs/ruleset-workflow.txt b/rt/docs/design_docs/ruleset-workflow.txt
deleted file mode 100644
index f19dbd765..000000000
--- a/rt/docs/design_docs/ruleset-workflow.txt
+++ /dev/null
@@ -1,158 +0,0 @@
-# For an online version, see http://wiki.bestpractical.com/?RulesetWorkflow
-
-_*This is a design document for a work in progress.
-It describes features that do not exist today and may never exist*_
-
-== Text Description
-
-* The user of PurchaseOrder queue fill in a numeric "CF", called "Price".
-* On creation, it needs to create following approvals:
-** "ManagerApproval" if CF.Price is > 1000
-** "PresidentApproval" if CF.Price is > 2000
-* When all of "M", "P" are resolved (or if there were none to begin with), Create "FinanceApproval".
-* If any approvals above is rejected, reject the original ticket.
-* If "FinanceApproval" is resolved, resolve original ticket.
-* If "FinanceApproval" is rejected, create an approval for "CEOApproval".
-* If "CEOApproval" is resolved, resolve the original ticket.
-* If "CEOApproval" is rejected, reject the original ticket.
-
-== ASCII Diagram
-
- ,----------. ,---------------------->[DONE]
- | \ / ^
- [TOP]-+-?---->[M]---->[F] |
- | | / \ |
- `-?->[P]-+-' `-(!)->[C]-----------------'
- | | |
- | | `-(!)---------->[FAIL]
- | | ^
- `-(!)----------------------------------'
-
-== Objects
-
-Note that "Scrips" are now called "Rules".
-
-=== RuleAction "AquireMyLocks"
-
- FOREACH $Scrip IN $TicketObj->Scrips
- WHERE $Scrip.Action.Type == "TryCreateTicketWithRuleset"
- DO LockRuleset $Scrip.Action.Argument
-
-=== RuleAction "TryCreateTicketWithRuleset"
-
- DO ReleaseMyLockOnRuleset $Argument
- UNLESS RulesetLocked $Argument
- DO CreateTicketWithRuleset $Argument
-
-=== RuleAction "CreateTicketWithRuleset"
-
- GIVEN $Ticket AS CreateTicket(@OtherArguments)
- DO SetTicketRuleSet $Argument
- DO RunTicketRuleSet $Argument
-
-=== GlobalRule "AquireLocks"
-
-* AppliesTo: All Objects
-* Condition: OnCreate
-* Action: AquireMyLocks
-
-=== Queue "PurchaseOrder"
-
-* Rule:
-** Condition: OnCreate
-** Action: SetTicketRuleSet "PurchaseFlow"
-** Action: RunTicketRuleSet "PurchaseFlow"
-
-=== RuleSet "PurchaseFlow"
-
-* Rule (implicitly run by AcquireMyLocks):
-** Condition: OnCreate
-** Action: LockRuleSet "ManagerApproval"
-** Action: LockRuleSet "PresidentApproval"
-** Action: LockRuleSet "FinanceApproval"
-
-* Rule:
-** Condition: OnCreate
-** Condition: CF.Price > 1000
-** Action: TryCreateTicketWithRuleset "ManagerApproval"
-
-* Rule:
-** Condition: OnCreate
-** Condition: CF.Price > 2000
-** Action: TryCreateTicketWithRuleset "PresidentApproval"
-
-* Rule:
-** Condition: OnCreate
-** Condition: "Finance" is not blocked
-** Action: TryCreateTicketWithRuleset "FinanceApproval"
-
-* Rule:
-** Condition: OnReject
-** Action: DeleteTree
-
-=== RuleSet: "ManagerApproval"
-
-* Rule (implicitly run by AcquireMyLocks):
-** Condition: OnCreate
-** Action: LockRuleSet "FinanceApproval"
-
-* Rule:
-** Condition: OnResolve
-** Action: TryCreateTicketWithRuleset "FinanceApproval"
-
-* Rule:
-** Condition: OnReject
-** Action: RejectTicket "PurchaseFlow"
-
-=== RuleSet: "PresidentApproval"
-
-* Rule (implicitly run by AcquireMyLocks):
-** Condition: OnCreate
-** Action: LockRuleSet "FinanceApproval"
-
-* Rule:
-** Condition: OnResolve
-** Action: TryCreateTicketWithRuleset "FinanceApproval"
-
-* Rule:
-** Condition: OnReject
-** Action: RejectTicket "PurchaseFlow"
-
-=== RuleSet: "FinanceApproval"
-
-* Rule:
-** Condition: OnResolve
-** Action: ResolveTicket "PurchaseFlow"
-
-* Rule:
-** Condition: OnReject
-** Action: ForceCreateTicketWithRuleset "CEOApproval"
-
-=== RuleSet: "CEOApproval"
-
-* Rule:
-** Condition: OnResolve
-** Action: ResolveTicket "PurchaseFlow"
-
-* Rule:
-** Condition: OnReject
-** Action: RejectTicket "PurchaseFlow"
-
-### FNORD FNORD FNORD FNORD FNORD FNORD FNORD FNORD FNORD ###
-
-== Another Text Description
-
-* I have a MonitoredQueue that sets tickets to "Monitored" if its subject matches /monitored/.
-* I want to have a kind of Ticket that are 'Monitored'.
-* I want all monitored tickets, when they are overdue for 14 days, to:
-** Send notification to manager
-** Mark as stalled
-* I want all monitored tickets, when they are overdue for 28 days, to:
-** Mark as rejected
-* I want to query all tickets that are monitored as such
-* I want to modify 14 => 15 and have it affect all existing tickets that are monitored
-* I want to add a new "overdue for 27 days, add a 'ultimatum' correspondence to it" rule
-** For all monitored tickets.
-* I want to add a new "overdue for 27 days, add a 'ultimatum' correspondence to it" rule
-** For all _new_ monitored tickets.
-** Without affecting existing ones.
diff --git a/rt/etc/RT_Config.pm b/rt/etc/RT_Config.pm
deleted file mode 100644
index 5386a8e05..000000000
--- a/rt/etc/RT_Config.pm
+++ /dev/null
@@ -1,374 +0,0 @@
-#
-# WARNING: NEVER EDIT RT_Config.pm. Instead, copy any sections you want to change to RT_SiteConfig.pm
-# and edit them there.
-#
-
-package RT;
-
-=head1 NAME
-
-RT::Config
-
-=for testing
-
-use RT::Config;
-
-=cut
-
-# {{{ Base Configuration
-
-# $rtname the string that RT will look for in mail messages to
-# figure out what ticket a new piece of mail belongs to
-
-# Your domain name is recommended, so as not to pollute the namespace.
-# once you start using a given tag, you should probably never change it.
-# (otherwise, mail for existing tickets won't get put in the right place
-
-Set($rtname , "example.com");
-
-# You should set this to your organization's DNS domain. For example,
-# fsck.com or asylum.arkham.ma.us. It's used by the linking interface to
-# guarantee that ticket URIs are unique and easy to construct.
-
-Set($Organization , "example.com");
-
-# $user_passwd_min defines the minimum length for user passwords. Setting
-# it to 0 disables this check
-Set($MinimumPasswordLength , "5");
-
-# $Timezone is used to convert times entered by users into GMT and back again
-# It should be set to a timezone recognized by your local unix box.
-Set($Timezone , 'US/Eastern');
-
-# }}}
-
-# }}}
-
-# {{{ Database Configuration
-
-# Database driver beeing used. Case matters
-# Valid types are "mysql", "Oracle" and "Pg"
-
-Set($DatabaseType , 'mysql');
-
-# The domain name of your database server
-# If you're running mysql and it's on localhost,
-# leave it blank for enhanced performance
-Set($DatabaseHost , 'localhost');
-Set($DatabaseRTHost , 'localhost');
-
-# The port that your database server is running on. Ignored unless it's
-# a positive integer. It's usually safe to leave this blank
-Set($DatabasePort , '');
-
-#The name of the database user (inside the database)
-Set($DatabaseUser , 'rt_user');
-
-# Password the DatabaseUser should use to access the database
-Set($DatabasePassword , 'rt_pass');
-
-# The name of the RT's database on your database server
-Set($DatabaseName , 'rt3');
-
-# If you're using Postgres and have compiled in SSL support,
-# set DatabaseRequireSSL to 1 to turn on SSL communication
-Set($DatabaseRequireSSL , undef);
-
-# }}}
-
-# {{{ Incoming mail gateway configuration
-
-# OwnerEmail is the address of a human who manages RT. RT will send
-# errors generated by the mail gateway to this address. This address
-# should _not_ be an address that's managed by your RT instance.
-
-Set($OwnerEmail , 'root');
-
-# If $LoopsToRTOwner is defined, RT will send mail that it believes
-# might be a loop to $RT::OwnerEmail
-
-Set($LoopsToRTOwner , 1);
-
-# If $StoreLoopss is defined, RT will record messages that it believes
-# to be part of mail loops.
-# As it does this, it will try to be careful not to send mail to the
-# sender of these messages
-
-Set($StoreLoops , undef);
-
-# $MaxAttachmentSize sets the maximum size (in bytes) of attachments stored
-# in the database.
-
-# For mysql and oracle, we set this size at 10 megabytes.
-# If you're running a postgres version earlier than 7.1, you will need
-# to drop this to 8192. (8k)
-
-Set($MaxAttachmentSize , 10000000);
-
-# $TruncateLongAttachments: if this is set to a non-undef value,
-# RT will truncate attachments longer than MaxAttachmentLength.
-
-Set($TruncateLongAttachments , undef);
-
-# $DropLongAttachments: if this is set to a non-undef value,
-# RT will silently drop attachments longer than MaxAttachmentLength.
-
-Set($DropLongAttachments , undef);
-
-# If $ParseNewMessageForTicketCcs is true, RT will attempt to divine
-# Ticket 'Cc' watchers from the To and Cc lines of incoming messages
-# Be forewarned that if you have _any_ addresses which forward mail to
-# RT automatically and you enable this option without modifying
-# "RTAddressRegexp" below, you will get yourself into a heap of trouble.
-
-Set($ParseNewMessageForTicketCcs , undef);
-
-# RTAddressRegexp is used to make sure RT doesn't add itself as a ticket CC if
-# the setting above is enabled.
-
-Set($RTAddressRegexp , '^rt\@example.com$');
-
-# RT provides functionality which allows the system to rewrite
-# incoming email addresses. In its simplest form,
-# you can substitute the value in CanonicalizeEmailAddressReplace
-# for the value in CanonicalizeEmailAddressMatch
-# (These values are passed to the CanonicalizeEmailAddress subroutine in RT/User.pm)
-# By default, that routine performs a s/$Match/$Replace/gi on any address passed to it
-
-Set($CanonicalizeEmailAddressMatch , 'subdomain.example.com$');
-Set($CanonicalizeEmailAddressReplace , 'example.com');
-
-# If $SenderMustExistInExternalDatabase is true, RT will refuse to
-# create non-privileged accounts for unknown users if you are using
-# the "LookupSenderInExternalDatabase" option.
-# Instead, an error message will be mailed and RT will forward the
-# message to $RTOwner.
-#
-# If you are not using $LookupSenderInExternalDatabase, this option
-# has no effect.
-#
-# If you define an AutoRejectRequest template, RT will use this
-# template for the rejection message.
-
-Set($SenderMustExistInExternalDatabase , undef);
-
-# }}}
-
-# {{{ Outgoing mail configuration
-
-# RT is designed such that any mail which already has a ticket-id associated
-# with it will get to the right place automatically.
-
-# $CorrespondAddress and $CommentAddress are the default addresses
-# that will be listed in From: and Reply-To: headers of correspondence
-# and comment mail tracked by RT, unless overridden by a queue-specific
-# address.
-
-Set($CorrespondAddress , 'RT_CorrespondAddressNotSet');
-
-Set($CommentAddress , 'RT_CommentAddressNotSet');
-
-#Sendmail Configuration
-
-# $MailCommand defines which method RT will use to try to send mail
-# We know that 'sendmailpipe' works fairly well.
-# If 'sendmailpipe' doesn't work well for you, try 'sendmail'
-#
-# Note that you should remove the '-t' from $SendmailArguments
-# if you use 'sendmail rather than 'sendmailpipe'
-
-Set($MailCommand , 'sendmailpipe');
-
-# $SendmailArguments defines what flags to pass to $Sendmail
-# assuming you picked 'sendmail' or 'sendmailpipe' as the $MailCommand above.
-# If you picked 'sendmailpipe', you MUST add a -t flag to $SendmailArguments
-
-# These options are good for most sendmail wrappers and workalikes
-Set($SendmailArguments , "-oi -t");
-
-# These arguments are good for sendmail brand sendmail 8 and newer
-#Set($SendmailArguments,"-oi -t -ODeliveryMode=b -OErrorMode=m");
-
-# If you selected 'sendmailpipe' above, you MUST specify the path
-# to your sendmail binary in $SendmailPath.
-# !! If you did not # select 'sendmailpipe' above, this has no effect!!
-Set($SendmailPath , "/usr/sbin/sendmail");
-
-# By default, RT sets the outgoing mail's "From:" header to
-# "SenderName via RT". Setting this option to 0 disables it.
-
-Set($UseFriendlyFromLine , 1);
-
-# sprintf() format of the friendly 'From:' header; its arguments
-# are SenderName and SenderEmailAddress.
-Set($FriendlyFromLineFormat , "\"%s via RT\" <%s>");
-
-# RT can optionally set a "Friendly" 'To:' header when sending messages to
-# Ccs or AdminCcs (rather than having a blank 'To:' header.
-
-# This feature DOES NOT WORK WITH SENDMAIL[tm] BRAND SENDMAIL
-# If you are using sendmail, rather than postfix, qmail, exim or some other MTA,
-# you _must_ disable this option.
-
-Set($UseFriendlyToLine , 0);
-
-# sprintf() format of the friendly 'From:' header; its arguments
-# are WatcherType and TicketId.
-Set($FriendlyToLineFormat, "\"%s of $RT::rtname Ticket #%s\":;");
-
-# By default RT doesn't notify the person who performs an update, as they
-# already know what they've done. If you'd like to change this behaviour,
-# Set $NotifyActor to 1
-
-Set($NotifyActor, 0);
-
-
-# }}}
-
-# {{{ Logging
-
-# Logging. The default is to log anything except debugging
-# information to syslog. Check the Log::Dispatch POD for
-# information about how to get things by syslog, mail or anything
-# else, get debugging info in the log, etc.
-
-# It might generally make
-# sense to send error and higher by email to some administrator.
-# If you do this, be careful that this email isn't sent to this RT instance.
-
-# the minimum level error that will be logged to the specific device.
-# levels from lowest to highest:
-# debug info notice warning error critical alert emergency
-
-# Mail loops will generate a critical log message.
-Set($LogToSyslog , 'debug');
-Set($LogToScreen , 'error');
-Set($LogToFile , undef);
-Set($LogDir, '/opt/rt3/var/log');
-Set($LogToFileNamed , "rt.log"); #log to rt.log
-
-# }}}
-
-# {{{ Web interface configuration
-
-# Define the directory name to be used for images in rt web
-# documents.
-
-# If you're putting the web ui somewhere other than at the root of
-# your server
-# $WebPath requires a leading / but no trailing /
-
-Set($WebPath , "");
-
-# This is the Scheme, server and port for constructing urls to webrt
-# $WebBaseURL doesn't need a trailing /
-
-Set($WebBaseURL , "http://RT::WebBaseURL.not.configured:80");
-
-Set($WebURL , $WebBaseURL . $WebPath . "/");
-
-# $WebImagesURL points to the base URL where RT can find its images.
-
-Set($WebImagesURL , $WebURL . "NoAuth/images/");
-
-# $RTLogoURL points to the URL of the RT logo displayed in the web UI
-
-Set($LogoURL , $WebImagesURL . "rt.jpg");
-
-# For message boxes, set the entry box width and what type of wrapping
-# to use.
-#
-# Default width: 72
-Set($MessageBoxWidth , 72);
-
-# Default wrapping: "HARD" (choices "SOFT", "HARD")
-Set($MessageBoxWrap, "HARD");
-
-# if TrustHTMLAttachments is not defined, we will display them
-# as text. This prevents malicious HTML and javascript from being
-# sent in a request (although there is probably more to it than that)
-Set($TrustHTMLAttachments , undef);
-
-# If $WebExternalAuth is defined, RT will defer to the environment's
-# REMOTE_USER variable.
-
-Set($WebExternalAuth , undef);
-
-# If $WebFallbackToInternalAuth is undefined, the user is allowed a chance
-# of fallback to the login screen, even if REMOTE_USER failed.
-
-Set($WebFallbackToInternalAuth , undef);
-
-# $WebExternalGecos means to match 'gecos' field as the user identity);
-# useful with mod_auth_pwcheck and IIS Integrated Windows logon.
-
-Set($WebExternalGecos , undef);
-
-# $WebExternalAuto will create users under the same name as REMOTE_USER
-# upon login, if it's missing in the Users table.
-
-Set($WebExternalAuto , undef);
-
-# $WebSessionClass is the class you wish to use for managing Sessions.
-# It defaults to use your SQL database, but if you are using MySQL 3.x and
-# plans to use non-ascii Queue names, uncomment and add this line to
-# RT_SiteConfig.pm will prevent session corruption.
-
-# Set($WebSessionClass , 'Apache::Session::File');
-
-# $MaxInlineBody is the maximum attachment size that we want to see
-# inline when viewing a transaction. 13456 is a random sane-sounding
-# default.
-
-Set($MaxInlineBody, 13456);
-
-# $MyTicketsLength is the length of the table on the front page.
-# For some people, the default of 10 isn't big enough to get a feel for
-# how much work needs to be done before you get some time off.
-
-Set($MyTicketsLength, 10);
-
-# @MasonParameters is the list of parameters for the constructor of
-# HTML::Mason's Apache or CGI Handler. This is normally only useful
-# for debugging, eg. profiling individual components with
-# (preamble => 'my $p = MasonX::Profiler->new($m, $r);');
-
-@MasonParameters = () unless (@MasonParameters);
-
-# }}}
-
-# {{{ RT UTF-8 Settings
-
-# An array that contains languages supported by RT's internationalization
-# interface. Defaults to all *.po lexicons; set it to qw(en ja) will make
-# RT bilingual instead of multilingual, but will save same memory.
-
-@LexiconLanguages = qw(*) unless (@LexiconLanguages);
-
-# An array that contains default encodings used to guess which charset
-# an attachment uses if not specified. Must be recognized by
-# Encode::Guess.
-
-@EmailInputEncodings = qw(utf-8 iso-8859-1 us-ascii) unless (@EmailInputEncodings);
-
-# The charset for localized email. Must be recognized by Encode.
-
-Set($EmailOutputEncoding , 'utf-8');
-
-# }}}
-
-# {{{ RT Date Handling Options (for Time::ParseDate)
-
-# Set this to 1 if your local date convention looks like "dd/mm/yy"
-# instead of "mm/dd/yy".
-
-Set($DateDayBeforeMonth , 1);
-
-# Should "Tuesday" default to meaning "Next Tuesday" or "Last Tuesday"?
-# Set to 0 for "Next" or 1 for "Last".
-
-Set($AmbiguousDayInPast , 1);
-
-# }}}
-
-1;
diff --git a/rt/etc/upgrade/2.1.71 b/rt/etc/upgrade/2.1.71
deleted file mode 100644
index cb89a3ac3..000000000
--- a/rt/etc/upgrade/2.1.71
+++ /dev/null
@@ -1,211 +0,0 @@
-@Queues = ( {
- Name => '___Approvals',
- Description => 'A system-internal queue for the approvals system',
- Disabled => 2,
- }
-);
-
-
-
-
-
-# {{{ Templates
-@Templates = (
- {
- 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()}
-'
- },
-);
-
-# }}}
-
-1;
-
-@ScripActions = (
- { Name => 'Open Tickets',
- Description => 'Open tickets on correspondence',
- ExecModule => 'AutoOpen' },
-
-);
-
- @Scrips = (
- { ScripCondition => 'On Correspond',
- ScripAction => 'Open Tickets',
- Template => 'Blank',
- Queue => '0'
- },
- { 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 => 'On Create',
- ScripAction => 'Notify AdminCcs',
- 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',
- CustomCommitCode => q[
-# ------------------------------------------------------------------- #
-return(1) unless ( lc($self->TransactionObj->NewValue) eq "rejected" or
- lc($self->TransactionObj->NewValue) eq "deleted" );
-
-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->Correspond(
- Content => $self->loc("Your request was rejected."),
- );
- $obj->SetStatus(
- Status => 'rejected',
- Force => 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,
- );
- }
-}
-
-return 1;
-# ------------------------------------------------------------------- #
- ],
- CustomPrepareCode => '1',
- Template => 'Admin Comment',
- },
- {
- 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 => 'return(1);',
- CustomCommitCode => q[
-# ------------------------------------------------------------------- #
-return(1) unless ($self->TicketObj->Type eq 'approval');
-
-foreach my $obj ($self->TicketObj->AllDependedOnBy( Type => 'ticket' )) {
- $obj->Correspond(
- 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
- $self->TicketObj->Transactions->Last->Content,
- ),
- _reopen => 0,
- );
-}
-
-return 1;
-# ------------------------------------------------------------------- #
- ],
- Template => 'Admin Comment'
- },
- {
- 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 => 'return(1);',
- CustomCommitCode => 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;
-
-while (my $link = $links->Next) {
- my $obj = $link->BaseObj;
- next if ($obj->HasUnresolvedDependencies( Type => 'approval' ));
-
- if ($obj->Type eq 'ticket') {
- $obj->Correspond(
- Content => $self->loc("Your request has been approved."),
- _reopen => 0,
- );
- }
- elsif ($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,);
- }
- }
-}
-
-return 1;
-# ------------------------------------------------------------------- #
- ],
- Template => 'Admin Comment',
- },
-);
-
-# }}}
-
diff --git a/rt/etc/upgrade/3.5.1/content b/rt/etc/upgrade/3.5.1/content
deleted file mode 100644
index e3898a7cc..000000000
--- a/rt/etc/upgrade/3.5.1/content
+++ /dev/null
@@ -1,36 +0,0 @@
-@Attributes = (
- { Name => 'Search - My Tickets',
- Description => '[_1] highest priority tickets I own',
- Content =>
- { Format => "'<a href=\"__WebPath__/Ticket/Display.html?id=__id__\">__id__</a>/TITLE:#', '<a href=\"__WebPath__/Ticket/Display.html?id=__id__\">__Subject__</a>/TITLE:Subject', Priority, QueueName, ExtendedStatus",
- Query => " Owner = '__CurrentUser__' AND ( Status = 'new' OR Status = 'open')",
- OrderBy => 'Priority',
- Order => 'DESC' },
- },
- { Name => 'Search - Unowned Tickets',
- Description => '[_1] newest unowned tickets',
- Content =>
- { Format => "'<a href=\"__WebPath__/Ticket/Display.html?id=__id__\">__id__</a>/TITLE:#', '<a href=\"__WebPath__/Ticket/Display.html?id=__id__\">__Subject__</a>/TITLE:Subject', QueueName, ExtendedStatus, CreatedRelative, '<A HREF=\"__WebPath__/Ticket/Display.html?Action=Take&id=__id__\">__loc(Take)__</a>/TITLE:&nbsp;' ",
- Query => " Owner = 'Nobody' AND ( Status = 'new' OR Status = 'open')",
- OrderBy => 'Created',
- Order => 'DESC' },
- },
- { Name => 'HomepageSettings',
- Description => 'HomepageSettings',
- Content =>
- { 'body' =>
- [ { type => 'system', name => 'My Tickets' },
- { type => 'system', name => 'Unowned Tickets' },
- { type => 'component', name => 'QuickCreate'},
- ],
- 'summary' =>
- [
- { type => 'component', name => 'MyReminders' },
- { type => 'component', name => 'Quicksearch' },
- { type => 'component', name => 'RefreshHomepage' },
- ]
- },
-}
-);
-
-1;
diff --git a/rt/html/Admin/Elements/ConfigureMyRT b/rt/html/Admin/Elements/ConfigureMyRT
deleted file mode 100644
index 363a3b6db..000000000
--- a/rt/html/Admin/Elements/ConfigureMyRT
+++ /dev/null
@@ -1,80 +0,0 @@
-%# BEGIN BPS TAGGED BLOCK {{{
-%#
-%# COPYRIGHT:
-%#
-%# This software is Copyright (c) 1996-2007 Best Practical Solutions, LLC
-%# <jesse@bestpractical.com>
-%#
-%# (Except where explicitly superseded by other copyright notices)
-%#
-%#
-%# LICENSE:
-%#
-%# This work is made available to you under the terms of Version 2 of
-%# the GNU General Public License. A copy of that license should have
-%# been provided with this software, but in any event can be snarfed
-%# from www.gnu.org.
-%#
-%# This work is distributed in the hope that it will be useful, but
-%# WITHOUT ANY WARRANTY; without even the implied warranty of
-%# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-%# General Public License for more details.
-%#
-%# You should have received a copy of the GNU General Public License
-%# along with this program; if not, write to the Free Software
-%# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
-%# 02110-1301 or visit their web page on the internet at
-%# http://www.gnu.org/copyleft/gpl.html.
-%#
-%#
-%# CONTRIBUTION SUBMISSION POLICY:
-%#
-%# (The following paragraph is not intended to limit the rights granted
-%# to you to modify and distribute this software under the terms of
-%# the GNU General Public License and is only of importance to you if
-%# you choose to contribute your changes and enhancements to the
-%# community by submitting them to Best Practical Solutions, LLC.)
-%#
-%# By intentionally submitting any modifications, corrections or
-%# derivatives to this work, or any other work intended for use with
-%# Request Tracker, to Best Practical Solutions, LLC, you confirm that
-%# you are the copyright holder for those contributions and you grant
-%# Best Practical Solutions, LLC a nonexclusive, worldwide, irrevocable,
-%# royalty-free, perpetual, license to use, copy, create derivative
-%# works based on those contributions, and sublicense and distribute
-%# those contributions and any derivatives thereof.
-%#
-%# END BPS TAGGED BLOCK }}}
-<%args>
-$Action
-$OnSave
-$items
-$panes
-$current_portlets
-</%args>
-<%init>
-my $portlets = $current_portlets;
-my @panes;
-for my $pane (@$panes) {
- push @panes, $m->comp(
- '/Widgets/SelectionBox:new',
- Action => $Action,
- Name => $pane,
- Available => $items,
- AutoSave => 1,
- OnSubmit => sub {
- my $sel = shift;
- $portlets->{$pane} = [
- map { m/(\w+)-(.*)$}/;
- { type => $1,
- name => $2 } } @{ $sel->{Current} }
- ];
- $OnSave->( $portlets, $pane );
- },
- Selected => [ map { join( '-', @{$_}{qw/type name/} ) }
- @{ $portlets->{$pane} } ]
- );
-}
-
-return @panes;
-</%init>
diff --git a/rt/html/Admin/Elements/ModifyQueue b/rt/html/Admin/Elements/ModifyQueue
deleted file mode 100644
index 36f9ce17f..000000000
--- a/rt/html/Admin/Elements/ModifyQueue
+++ /dev/null
@@ -1,78 +0,0 @@
-%# BEGIN LICENSE BLOCK
-%#
-%# Copyright (c) 1996-2003 Jesse Vincent <jesse@bestpractical.com>
-%#
-%# (Except where explictly superceded by other copyright notices)
-%#
-%# This work is made available to you under the terms of Version 2 of
-%# the GNU General Public License. A copy of that license should have
-%# been provided with this software, but in any event can be snarfed
-%# from www.gnu.org.
-%#
-%# This work is distributed in the hope that it will be useful, but
-%# WITHOUT ANY WARRANTY; without even the implied warranty of
-%# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-%# General Public License for more details.
-%#
-%# Unless otherwise specified, all modifications, corrections or
-%# extensions to this work which alter its source code become the
-%# property of Best Practical Solutions, LLC when submitted for
-%# inclusion in the work.
-%#
-%#
-%# END LICENSE BLOCK
-<& /Elements/TitleBoxStart, title => loc('Editing Configuration for queue [_1]', $QueueObj->Id) &>
-
-<FORM ACTION="<%$RT::WebPath%>/Admin/Queues/Modify.html" METHOD=POST>
-<INPUT TYPE=HIDDEN NAME=id VALUE="<%$QueueObj->Id%>">
-<TABLE>
-<TR><TD ALIGN=RIGHT>
-<&|/l&>Queue Name</&>:
-</TD>
-<TD><INPUT name="Name" value="<%$QueueObj->Name%>"></TD>
-</TR><TR>
-<TD ALIGN=RIGHT>
-<&|/l&>Description</&>:</TD><TD COLSPAN=3><INPUT name="Description" value="<%$QueueObj->Description%>" size=60></TD></TR>
-<TR>
-<TD ALIGN=RIGHT>
-<&|/l&>Correspondence Address</&>:
-</TD><TD>
-<INPUT name="CorrespondAddress" value="<%$QueueObj->CorrespondAddress%>">
-</TD>
-<TD ALIGN=RIGHT>
-
-<&|/l&>Comment Address</&>: </TD><TD>
-<INPUT NAME="CommentAddress" value="<%$QueueObj->CommentAddress%>">
-</TD>
-</TR><TR>
-
-<TD ALIGN=RIGHT>
-<&|/l&>Priority starts at</&>:
-</TD><TD><INPUT NAME="InitialPriority" value="<%$QueueObj->InitialPriority %>">
-</TD>
-<TD ALIGN=RIGHT>
-<&|/l&>Over time, priority moves toward</&>:
-</TD><TD><INPUT NAME="FinalPriority" value="<%$QueueObj->FinalPriority %>">
-</TD>
-</TR>
-<TR>
-<TD ALIGN=RIGHT>
-<&|/l&>Requests should be due in</&>:
-</TD><TD>
-<INPUT NAME="DefaultDueIn" VALUE="<%$QueueObj->DefaultDueIn%>"> <&|/l&>days</&>.
-</TD>
-</TR>
-</TABLE>
-<& /Elements/Submit, Label => loc('Save Changes') &>
-</form>
-<& /Elements/TitleBoxEnd &>
-
-<%INIT>
-
-</%INIT>
-
-<%ARGS>
-
-
-$QueueObj => undef
-</%ARGS>
diff --git a/rt/html/Admin/Elements/ModifyUser b/rt/html/Admin/Elements/ModifyUser
deleted file mode 100644
index 2faefefaa..000000000
--- a/rt/html/Admin/Elements/ModifyUser
+++ /dev/null
@@ -1,99 +0,0 @@
-%# BEGIN LICENSE BLOCK
-%#
-%# Copyright (c) 1996-2003 Jesse Vincent <jesse@bestpractical.com>
-%#
-%# (Except where explictly superceded by other copyright notices)
-%#
-%# This work is made available to you under the terms of Version 2 of
-%# the GNU General Public License. A copy of that license should have
-%# been provided with this software, but in any event can be snarfed
-%# from www.gnu.org.
-%#
-%# This work is distributed in the hope that it will be useful, but
-%# WITHOUT ANY WARRANTY; without even the implied warranty of
-%# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-%# General Public License for more details.
-%#
-%# Unless otherwise specified, all modifications, corrections or
-%# extensions to this work which alter its source code become the
-%# property of Best Practical Solutions, LLC when submitted for
-%# inclusion in the work.
-%#
-%#
-%# END LICENSE BLOCK
-<& /Elements/TitleBoxStart, title => loc('Editing Configuration for user [_1]', $UserObj->Name) &>
-
-<FORM ACTION="<%$RT::WebPath%>/Admin/Users/Modify.html" METHOD=POST>
-<INPUT TYPE=HIDDEN NAME=id VALUE="<%$UserObj->Id%>">
-
-<&|/l&>Name</&>: <input name="Name" value="<%$UserObj->Name%>">
-<BR>
-<&|/l&>New Password</&>: <input type=password name="Pass1"><BR>
-<&|/l&>Retype Password</&>: <input type=password name="Pass2"><BR>
-
-<&|/l&>Comments</&>: <TEXTAREA name="Comments" COLS=80 ROWS=5 WRAP=VIRTUAL>
-<%$UserObj->Comments%></TEXTAREA>
-
-<BR>
-<&|/l&>Signature</&>: <TEXTAREA COLS=80 ROWS=5 name="Signature" WRAP=HARD>
-<%$UserObj->Signature%></TEXTAREA>
-<BR>
-<&|/l&>EmailAddress</&>: <input name="EmailAddress" value="<%$UserObj->EmailAddress%>">
-<BR>
-<&|/l&>FreeformContactInfo</&>: <input name="FreeformContactInfo" value="<%$UserObj->FreeformContactInfo%>">
-<BR>
-<&|/l&>Organization</&>: <input name="Organization" value="<%$UserObj->Organization%>">
-<BR>
-<&|/l&>RealName</&>: <input name="RealName" value="<%$UserObj->RealName%>">
-<BR>
-<&|/l&>NickName</&>: <input name="NickName" value="<%$UserObj->NickName%>">
-<BR>
-<&|/l&>Lang</&>: <input name="Lang" value="<%$UserObj->Lang%>">
-<BR>
-<&|/l&>EmailEncoding</&>: <input name="EmailEncoding" value="<%$UserObj->EmailEncoding%>">
-<BR>
-<&|/l&>WebEncoding</&>: <input name="WebEncoding" value="<%$UserObj->WebEncoding%>">
-<BR>
-<&|/l&>ExternalContactInfoId</&>: <input name="ExternalContactInfoId" value="<%$UserObj->ExternalContactInfoId%>">
-<BR>
-<&|/l&>ContactInfoSystem</&>: <input name="ContactInfoSystem" value="<%$UserObj->ContactInfoSystem%>">
-<BR>
-<&|/l&>UnixUsername</&>: <input name="Gecos" value="<%$UserObj->Gecos%>">
-<BR>
-<&|/l&>ExternalAuthId</&>: <input name="ExternalAuthId" value="<%$UserObj->ExternalAuthId%>">
-<BR>
-<&|/l&>AuthSystem</&>: <input name="AuthSystem" value="<%$UserObj->AuthSystem%>">
-<BR>
-<&|/l&>HomePhone</&>: <input name="HomePhone" value="<%$UserObj->HomePhone%>">
-<BR>
-<&|/l&>WorkPhone</&>: <input name="WorkPhone" value="<%$UserObj->WorkPhone%>">
-<BR>
-<&|/l&>MobilePhone</&>: <input name="MobilePhone" value="<%$UserObj->MobilePhone%>">
-<BR>
-<&|/l&>PagerPhone</&>: <input name="PagerPhone" value="<%$UserObj->PagerPhone%>">
-<BR>
-<&|/l&>Address1</&>: <input name="Address1" value="<%$UserObj->Address1%>">
-<BR>
-<&|/l&>Address2</&>: <input name="Address2" value="<%$UserObj->Address2%>">
-<BR>
-<&|/l&>City</&>: <input name="City" value="<%$UserObj->City%>">
-<BR>
-<&|/l&>State</&>: <input name="State" value="<%$UserObj->State%>">
-<BR>
-<&|/l&>Zip</&>: <input name="Zip" value="<%$UserObj->Zip%>">
-<BR>
-<&|/l&>Country</&>: <input name="Country" value="<%$UserObj->Country%>">
-<BR>
-<& /Elements/Submit, Label => loc('Save Changes') &>
-</form>
-<& /Elements/TitleBoxEnd &>
-
-<%INIT>
-
-</%INIT>
-
-<%ARGS>
-
-
-$UserObj => undef
-</%ARGS>
diff --git a/rt/html/Admin/Global/CustomField.html b/rt/html/Admin/Global/CustomField.html
deleted file mode 100644
index 3871d8998..000000000
--- a/rt/html/Admin/Global/CustomField.html
+++ /dev/null
@@ -1,86 +0,0 @@
-%# {{{ BEGIN BPS TAGGED BLOCK
-%#
-%# COPYRIGHT:
-%#
-%# This software is Copyright (c) 1996-2004 Best Practical Solutions, LLC
-%# <jesse@bestpractical.com>
-%#
-%# (Except where explicitly superseded by other copyright notices)
-%#
-%#
-%# LICENSE:
-%#
-%# This work is made available to you under the terms of Version 2 of
-%# the GNU General Public License. A copy of that license should have
-%# been provided with this software, but in any event can be snarfed
-%# from www.gnu.org.
-%#
-%# This work is distributed in the hope that it will be useful, but
-%# WITHOUT ANY WARRANTY; without even the implied warranty of
-%# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-%# General Public License for more details.
-%#
-%# You should have received a copy of the GNU General Public License
-%# along with this program; if not, write to the Free Software
-%# Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
-%#
-%#
-%# CONTRIBUTION SUBMISSION POLICY:
-%#
-%# (The following paragraph is not intended to limit the rights granted
-%# to you to modify and distribute this software under the terms of
-%# the GNU General Public License and is only of importance to you if
-%# you choose to contribute your changes and enhancements to the
-%# community by submitting them to Best Practical Solutions, LLC.)
-%#
-%# By intentionally submitting any modifications, corrections or
-%# derivatives to this work, or any other work intended for use with
-%# Request Tracker, to Best Practical Solutions, LLC, you confirm that
-%# you are the copyright holder for those contributions and you grant
-%# Best Practical Solutions, LLC a nonexclusive, worldwide, irrevocable,
-%# royalty-free, perpetual, license to use, copy, create derivative
-%# works based on those contributions, and sublicense and distribute
-%# those contributions and any derivatives thereof.
-%#
-%# }}} END BPS TAGGED BLOCK
-<& /Admin/Elements/Header, Title => $title &>
-<& /Admin/Elements/SystemTabs,
- current_tab => 'Admin/Global/CustomFields.html',
- current_subtab => $current_subtab,
- subtabs => $subtabs,
- Title => $title &>
-
-<& /Admin/Elements/EditCustomField, title => $title, %ARGS &>
-
-<%INIT>
-my ($title, $current_subtab);
-
-my $subtabs = {
- A => { title => loc('Select custom field'),
- path => "Admin/Global/CustomFields.html"
- },
- B => { title => loc('New custom field'),
- path => "Admin/Global/CustomField.html?create=1&Queue=0",
- separator => 1,
- }
- };
-if ( $ARGS{'create'} ) {
- $current_subtab = "Admin/Global/CustomField.html?create=1&Queue=0";
- $title = loc('Create a CustomField which applies to all queues');
-}
-else {
- $current_subtab =
- "Admin/Global/CustomField.html?CustomField=" . $CustomField . "&Queue=0";
- $title = loc('Modify a CustomField which applies to all queues');
- $subtabs->{"C"} = {
- title => loc( 'Custom Field #[_1]', $CustomField ),
- path => "Admin/Global/CustomField.html?CustomField=" . $CustomField . "&Queue=0"
- };
-}
-</%INIT>
-<%ARGS>
-$CustomField => undef
-</%ARGS>
-<%ATTR>
-AutoFlush => 0
-</%ATTR>
diff --git a/rt/html/Admin/Global/CustomFields.html b/rt/html/Admin/Global/CustomFields.html
deleted file mode 100644
index 593040218..000000000
--- a/rt/html/Admin/Global/CustomFields.html
+++ /dev/null
@@ -1,69 +0,0 @@
-%# {{{ BEGIN BPS TAGGED BLOCK
-%#
-%# COPYRIGHT:
-%#
-%# This software is Copyright (c) 1996-2004 Best Practical Solutions, LLC
-%# <jesse@bestpractical.com>
-%#
-%# (Except where explicitly superseded by other copyright notices)
-%#
-%#
-%# LICENSE:
-%#
-%# This work is made available to you under the terms of Version 2 of
-%# the GNU General Public License. A copy of that license should have
-%# been provided with this software, but in any event can be snarfed
-%# from www.gnu.org.
-%#
-%# This work is distributed in the hope that it will be useful, but
-%# WITHOUT ANY WARRANTY; without even the implied warranty of
-%# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-%# General Public License for more details.
-%#
-%# You should have received a copy of the GNU General Public License
-%# along with this program; if not, write to the Free Software
-%# Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
-%#
-%#
-%# CONTRIBUTION SUBMISSION POLICY:
-%#
-%# (The following paragraph is not intended to limit the rights granted
-%# to you to modify and distribute this software under the terms of
-%# the GNU General Public License and is only of importance to you if
-%# you choose to contribute your changes and enhancements to the
-%# community by submitting them to Best Practical Solutions, LLC.)
-%#
-%# By intentionally submitting any modifications, corrections or
-%# derivatives to this work, or any other work intended for use with
-%# Request Tracker, to Best Practical Solutions, LLC, you confirm that
-%# you are the copyright holder for those contributions and you grant
-%# Best Practical Solutions, LLC a nonexclusive, worldwide, irrevocable,
-%# royalty-free, perpetual, license to use, copy, create derivative
-%# works based on those contributions, and sublicense and distribute
-%# those contributions and any derivatives thereof.
-%#
-%# }}} END BPS TAGGED BLOCK
-<& /Admin/Elements/Header, Title => $title &>
-<& /Admin/Elements/SystemTabs,
- current_tab => 'Admin/Global/CustomFields.html',
- current_subtab => 'Admin/Global/CustomFields.html',
- subtabs => $subtabs,
- Title => $title &>
-
-<& /Admin/Elements/EditCustomFields, title => $title, %ARGS &>
-
-<%INIT>
-my $subtabs = {
- A => { title => loc('Select custom field'),
- path => "Admin/Global/CustomFields.html"
- },
- B => { title => loc('New custom field'),
- path => "Admin/Global/CustomField.html?create=1&Queue=0",
- separator => 1,
- }
- };
-my $title = loc("Modify Custom Fields which apply to all queues");
-</%INIT>
-<%ARGS>
-$id => undef
-</%ARGS>
diff --git a/rt/html/Admin/Global/MyRT.html b/rt/html/Admin/Global/MyRT.html
deleted file mode 100644
index 8bbcb5d34..000000000
--- a/rt/html/Admin/Global/MyRT.html
+++ /dev/null
@@ -1,104 +0,0 @@
-%# BEGIN BPS TAGGED BLOCK {{{
-%#
-%# COPYRIGHT:
-%#
-%# This software is Copyright (c) 1996-2007 Best Practical Solutions, LLC
-%# <jesse@bestpractical.com>
-%#
-%# (Except where explicitly superseded by other copyright notices)
-%#
-%#
-%# LICENSE:
-%#
-%# This work is made available to you under the terms of Version 2 of
-%# the GNU General Public License. A copy of that license should have
-%# been provided with this software, but in any event can be snarfed
-%# from www.gnu.org.
-%#
-%# This work is distributed in the hope that it will be useful, but
-%# WITHOUT ANY WARRANTY; without even the implied warranty of
-%# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-%# General Public License for more details.
-%#
-%# You should have received a copy of the GNU General Public License
-%# along with this program; if not, write to the Free Software
-%# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
-%# 02110-1301 or visit their web page on the internet at
-%# http://www.gnu.org/copyleft/gpl.html.
-%#
-%#
-%# CONTRIBUTION SUBMISSION POLICY:
-%#
-%# (The following paragraph is not intended to limit the rights granted
-%# to you to modify and distribute this software under the terms of
-%# the GNU General Public License and is only of importance to you if
-%# you choose to contribute your changes and enhancements to the
-%# community by submitting them to Best Practical Solutions, LLC.)
-%#
-%# By intentionally submitting any modifications, corrections or
-%# derivatives to this work, or any other work intended for use with
-%# Request Tracker, to Best Practical Solutions, LLC, you confirm that
-%# you are the copyright holder for those contributions and you grant
-%# Best Practical Solutions, LLC a nonexclusive, worldwide, irrevocable,
-%# royalty-free, perpetual, license to use, copy, create derivative
-%# works based on those contributions, and sublicense and distribute
-%# those contributions and any derivatives thereof.
-%#
-%# END BPS TAGGED BLOCK }}}
-<& /Admin/Elements/Header, Title => loc("RT at a glance") &>
-<& /Admin/Elements/SystemTabs,
- current_tab => 'Admin/Global/MyRT.html',
- Title => loc("RT at a glance"),
-&>
-
-<& /Widgets/SelectionBox:header, nojs => 1 &>
-
-<& /Elements/ListActions, actions => \@actions &>
-<br />
-% for my $pane (@panes) {
-<&|/Widgets/TitleBox, title => loc('RT at a glance').': '.loc($pane->{Name}), bodyclass => "" &>
-<& /Widgets/SelectionBox:show, self => $pane, nojs => 1 &></&>
-<br />
-% }
-<%init>
-my @actions;
-
-my @items = map { [ "component-$_", $_ ] } sort @{$RT::HomepageComponents};
-my $sys = RT::System->new( $session{'CurrentUser'} );
-# XXX: put this in savedsearches_to_portlet_items
-for ( $m->comp( "/Search/Elements/SearchesForObject",
- Object => $sys )) {
- my ( $desc, $search ) = @$_;
- my $SearchType = $search->Content->{'SearchType'} || 'Ticket';
- if ( $SearchType eq 'Ticket' ) {
- push @items, [ "system-$desc", $desc ];
- } else {
- my $oid = ref($sys) . '-' . $sys->Id . '-SavedSearch-' . $search->Id;
- my $type =
- ( $SearchType eq 'Ticket' )
- ? 'Saved Search' : $SearchType; # loc
- push @items, [ "saved-$oid", loc($type) . ": $desc" ];
- }
-}
-
-my ($default_portlets) = $sys->Attributes->Named('HomepageSettings');
-
-my @panes = $m->comp(
- '/Admin/Elements/ConfigureMyRT',
- panes => ['body', 'summary'],
- Action => 'MyRT.html',
- items => \@items,
- current_portlets => $default_portlets->Content,
- OnSave => sub {
- my ( $conf, $pane ) = @_;
- $default_portlets->SetContent( $conf );
- push @actions, loc( 'Global portlet [_1] saved.', $pane );
- }
-);
-
-$m->comp( '/Widgets/SelectionBox:process', %ARGS, self => $_, nojs => 1 )
- for @panes;
-
-
-</%init>
-
diff --git a/rt/html/Admin/Users/MyRT.html b/rt/html/Admin/Users/MyRT.html
deleted file mode 100644
index 6eed0ab68..000000000
--- a/rt/html/Admin/Users/MyRT.html
+++ /dev/null
@@ -1,132 +0,0 @@
-%# BEGIN BPS TAGGED BLOCK {{{
-%#
-%# COPYRIGHT:
-%#
-%# This software is Copyright (c) 1996-2007 Best Practical Solutions, LLC
-%# <jesse@bestpractical.com>
-%#
-%# (Except where explicitly superseded by other copyright notices)
-%#
-%#
-%# LICENSE:
-%#
-%# This work is made available to you under the terms of Version 2 of
-%# the GNU General Public License. A copy of that license should have
-%# been provided with this software, but in any event can be snarfed
-%# from www.gnu.org.
-%#
-%# This work is distributed in the hope that it will be useful, but
-%# WITHOUT ANY WARRANTY; without even the implied warranty of
-%# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-%# General Public License for more details.
-%#
-%# You should have received a copy of the GNU General Public License
-%# along with this program; if not, write to the Free Software
-%# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
-%# 02110-1301 or visit their web page on the internet at
-%# http://www.gnu.org/copyleft/gpl.html.
-%#
-%#
-%# CONTRIBUTION SUBMISSION POLICY:
-%#
-%# (The following paragraph is not intended to limit the rights granted
-%# to you to modify and distribute this software under the terms of
-%# the GNU General Public License and is only of importance to you if
-%# you choose to contribute your changes and enhancements to the
-%# community by submitting them to Best Practical Solutions, LLC.)
-%#
-%# By intentionally submitting any modifications, corrections or
-%# derivatives to this work, or any other work intended for use with
-%# Request Tracker, to Best Practical Solutions, LLC, you confirm that
-%# you are the copyright holder for those contributions and you grant
-%# Best Practical Solutions, LLC a nonexclusive, worldwide, irrevocable,
-%# royalty-free, perpetual, license to use, copy, create derivative
-%# works based on those contributions, and sublicense and distribute
-%# those contributions and any derivatives thereof.
-%#
-%# END BPS TAGGED BLOCK }}}
-<& /Admin/Elements/Header, Title => $title &>
-<& /Admin/Elements/UserTabs,
- id => $id,
- UserObj => $UserObj,
- current_tab => $current_tab,
- Title => $title &>
-
-<& /Widgets/SelectionBox:header, nojs => 1 &>
-
-<& /Elements/ListActions, actions => \@actions &>
-
-<form method="post" action="MyRT.html">
-<input type="hidden" name="id" value="<% $id %>" />
-<input type="hidden" name="Reset" value="1" />
-<input type="submit" class="button" value="<%loc('Reset to default')%>">
-</form>
-
-<br />
-
-% for my $pane (@panes) {
-<&|/Widgets/TitleBox, title => loc('RT at a glance').': '.loc($pane->{Name}), bodyclass => "" &>
-<& /Widgets/SelectionBox:show, self => $pane, nojs => 1 &></&>
-<br />
-% }
-
-<%init>
-my $current_tab = 'Admin/Users/MyRT.html?id='.$id;
-my $UserObj = new RT::User($session{'CurrentUser'});
-$UserObj->Load($id) || Abort("Couldn't load user '$id'");
-my $title = loc("RT at a glance for the user [_1]", $UserObj->Name);
-
-if ($ARGS{Reset}) {
- $UserObj->SetPreferences('HomepageSettings', {});
-}
-
-my ($default_portlets) = RT::System->new($session{'CurrentUser'})->Attributes->Named('HomepageSettings');
-my $portlets = $UserObj->Preferences('HomepageSettings', $default_portlets ? $default_portlets->Content : {});
-
-my %allowed_components = map {$_ => 1} @{$RT::HomepageComponents};
-my @items;
-
-push @items, map {["component-$_", $_]} sort keys %allowed_components;
-
-my $sys = RT::System->new( RT::CurrentUser->new($UserObj) );
-my @objs = ($sys);
-
-push @objs, RT::SavedSearches->new( RT::CurrentUser->new( $UserObj ) )->_PrivacyObjects;
-my @actions;
-
-for my $object (@objs) {
- for ($m->comp("/Search/Elements/SearchesForObject", Object => $object)) {
- my ($desc, $search) = @$_;
- my $SearchType = $search->Content->{'SearchType'} || 'Ticket';
- if ($object eq $sys && $SearchType eq 'Ticket') {
- push @items, ["system-$desc", $desc];
- }
- else {
- my $oid = ref($object).'-'.$object->Id.'-SavedSearch-'.$search->Id;
- my $type = ($SearchType eq 'Ticket')
- ? 'Saved Search' : $SearchType; # loc
- push @items, ["saved-$oid", loc($type).": $desc"];
- }
- }
-}
-
-my @panes = $m->comp(
- '/Admin/Elements/ConfigureMyRT',
- panes => ['body', 'summary'],
- Action => "MyRT.html?id=$id",
- items => \@items,
- current_portlets => $portlets,
- OnSave => sub {
- my ( $conf, $pane ) = @_;
- $UserObj->SetPreferences( 'HomepageSettings', $conf );
- push @actions, loc( 'Preferences [_1] for user [_2] .', $pane, $UserObj->Name );
- }
-);
-
-$m->comp( '/Widgets/SelectionBox:process', %ARGS, self => $_, nojs => 1 )
- for @panes;
-
-</%init>
-<%ARGS>
-$id => undef
-</%ARGS>
diff --git a/rt/html/Admin/Users/Prefs.html b/rt/html/Admin/Users/Prefs.html
deleted file mode 100644
index 0bba9fadd..000000000
--- a/rt/html/Admin/Users/Prefs.html
+++ /dev/null
@@ -1,122 +0,0 @@
-%# BEGIN LICENSE BLOCK
-%#
-%# Copyright (c) 1996-2003 Jesse Vincent <jesse@bestpractical.com>
-%#
-%# (Except where explictly superceded by other copyright notices)
-%#
-%# This work is made available to you under the terms of Version 2 of
-%# the GNU General Public License. A copy of that license should have
-%# been provided with this software, but in any event can be snarfed
-%# from www.gnu.org.
-%#
-%# This work is distributed in the hope that it will be useful, but
-%# WITHOUT ANY WARRANTY; without even the implied warranty of
-%# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-%# General Public License for more details.
-%#
-%# Unless otherwise specified, all modifications, corrections or
-%# extensions to this work which alter its source code become the
-%# property of Best Practical Solutions, LLC when submitted for
-%# inclusion in the work.
-%#
-%#
-%# END LICENSE BLOCK
-<& /Elements/Header, Title => loc("User view") &>
-
-<& /Elements/ViewUser, User=>$u &>
-
-<h2 class="title"><%loc("User view")%></h2>
-
-%if ($session{CurrentUser} && ($session{CurrentUser}->Id == $id)) {
- <& /Elements/TitleBoxStart, title => loc('Signature') &>
-<form method=post>
-<input type="hidden" name="id" value=<%$id%>>
-<TEXTAREA COLS=72 ROWS=4 WRAP=HARD NAME="Signature"><% $u->Signature %></TEXTAREA><br><br>
-<input type="submit" value="<&|/l&>Update signature</&>">
-</form>
- <& /Elements/TitleBoxEnd &>
- <form method=post>
- <&|/l&>Open tickets (from listing) in another window</&>: <input type="checkbox" name="NewWindowOption" <%exists $session{NewWindowOption} && "CHECKED"%>><br>
- <&|/l&>Open tickets (from listing) in a new window</&>: <input type="checkbox" name="AlwaysNewWindowOption" <%exists $session{AlwaysNewWindowOption} && "CHECKED"%>><br>
- <input type="submit" name="NewWindowSetting" value="<&|/l&>New window setting</&>">
- </form>
-%}
-
- <& /Elements/TitleBoxStart, title => loc('Email') &>
-<form method=post>
-<input type="hidden" name="id" value="<%$id%>">
-<input name="Email" value="<% $u->EmailAddress %>"><input type="submit" value="<&|/l&>Update email</&>">
-</form>
- <& /Elements/TitleBoxEnd &>
- <& /Elements/TitleBoxStart, title => loc('Real Name') &>
-<form method=post>
-<input type="hidden" name="id" value="<%$id%>">
-<input name="RealName" value="<% $u->RealName %>"><input type="submit" value="<&|/l&>Update name</&>">
-</form>
- <& /Elements/TitleBoxEnd &>
-
- <& /Elements/TitleBoxStart, title => loc('User ID') &>
-<form method=post>
-<input type="hidden" name="id" value="<%$id%>">
-<input name="Name" value="<% $u->Name %>"><input type="submit" value="<&|/l&>Update ID</&>">
-</form>
- <& /Elements/TitleBoxEnd &>
-
-%# TODO: alternative email addresses + merging users
-
-<%ARGS>
-$id => $session{CurrentUser} ? $session{CurrentUser}->Id : 0
-$Signature => undef
-$Email => undef
-$RealName => undef
-$Name => undef
-</%ARGS>
-
-<%INIT>
-require RT::User;
-my $u=RT::User->new($session{CurrentUser});
-$u->Load($id) || die loc("Couldn't load that user ([_1])", $id);
-if ($Signature) {
-my ($val, $msg)=$u->SetSignature($Signature);
-$RT::Logger->log(level=>($val ? 'info' : 'error'), message=>$msg);
-}
-
-if ($Email) {
-my ($val, $msg)=$u->SetEmailAddress($Email);
-$RT::Logger->log(level=>($val ? 'info' : 'error'), message=>$msg);
-}
-
-if ($RealName) {
-my ($val, $msg)=$u->SetRealName($RealName);
-$RT::Logger->log(level=>($val ? 'info' : 'error'), message=>$msg);
-}
-
-if ($Name) {
-my ($val, $msg)=$u->SetName($Name);
-$RT::Logger->log(level=>($val ? 'info' : 'error'), message=>$msg);
-}
-
-if ($ARGS{NewWindowSetting}) {
-if ($ARGS{NewWindowOption}) {
-$session{NewWindowOption}=1;
-} else {
-delete $session{NewWindowOption};
-}
-if ($ARGS{AlwaysNewWindowOption}) {
-$session{NewWindowOption}=1;
-$session{AlwaysNewWindowOption}=1;
-} else {
-delete $session{AlwaysNewWindowOption};
-}
-}
-
-</%INIT>
-
-
-
-
-
-
-
-
-
diff --git a/rt/html/Elements/EditCustomFieldCombobox b/rt/html/Elements/EditCustomFieldCombobox
deleted file mode 100644
index 071ef0772..000000000
--- a/rt/html/Elements/EditCustomFieldCombobox
+++ /dev/null
@@ -1,68 +0,0 @@
-%# BEGIN BPS TAGGED BLOCK {{{
-%#
-%# COPYRIGHT:
-%#
-%# This software is Copyright (c) 1996-2007 Best Practical Solutions, LLC
-%# <jesse@bestpractical.com>
-%#
-%# (Except where explicitly superseded by other copyright notices)
-%#
-%#
-%# LICENSE:
-%#
-%# This work is made available to you under the terms of Version 2 of
-%# the GNU General Public License. A copy of that license should have
-%# been provided with this software, but in any event can be snarfed
-%# from www.gnu.org.
-%#
-%# This work is distributed in the hope that it will be useful, but
-%# WITHOUT ANY WARRANTY; without even the implied warranty of
-%# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-%# General Public License for more details.
-%#
-%# You should have received a copy of the GNU General Public License
-%# along with this program; if not, write to the Free Software
-%# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
-%# 02110-1301 or visit their web page on the internet at
-%# http://www.gnu.org/copyleft/gpl.html.
-%#
-%#
-%# CONTRIBUTION SUBMISSION POLICY:
-%#
-%# (The following paragraph is not intended to limit the rights granted
-%# to you to modify and distribute this software under the terms of
-%# the GNU General Public License and is only of importance to you if
-%# you choose to contribute your changes and enhancements to the
-%# community by submitting them to Best Practical Solutions, LLC.)
-%#
-%# By intentionally submitting any modifications, corrections or
-%# derivatives to this work, or any other work intended for use with
-%# Request Tracker, to Best Practical Solutions, LLC, you confirm that
-%# you are the copyright holder for those contributions and you grant
-%# Best Practical Solutions, LLC a nonexclusive, worldwide, irrevocable,
-%# royalty-free, perpetual, license to use, copy, create derivative
-%# works based on those contributions, and sublicense and distribute
-%# those contributions and any derivatives thereof.
-%#
-%# END BPS TAGGED BLOCK }}}
-% while ($Values and my $value = $Values->Next and $Multiple) {
-<input type="checkbox" class="checkbox" name="<%$NamePrefix%><%$CustomField->Id%>-DeleteValueIds" value="<% $value->Id %>" /><% $value->Content %>
-<br />
-% }
-% (!$Multiple or !$MaxValues or !$Values or $Values->Count < $MaxValues) or return;
-<& /Widgets/ComboBox,
- Name => $NamePrefix . $CustomField->Id . "-Value",
- Default => $Default,
- Rows => $Rows,
- Values => [map {$_->Name} @{$CustomField->Values->ItemsArrayRef}],
-&>
-<%ARGS>
-$Object => undef
-$CustomField => undef
-$NamePrefix => undef
-$Default => undef
-$Values => undef
-$Multiple => 0
-$Rows => undef
-$MaxValues => undef
-</%ARGS>
diff --git a/rt/html/Elements/Logo b/rt/html/Elements/Logo
deleted file mode 100644
index 157f7bece..000000000
--- a/rt/html/Elements/Logo
+++ /dev/null
@@ -1,56 +0,0 @@
-%# BEGIN BPS TAGGED BLOCK {{{
-%#
-%# COPYRIGHT:
-%#
-%# This software is Copyright (c) 1996-2007 Best Practical Solutions, LLC
-%# <jesse@bestpractical.com>
-%#
-%# (Except where explicitly superseded by other copyright notices)
-%#
-%#
-%# LICENSE:
-%#
-%# This work is made available to you under the terms of Version 2 of
-%# the GNU General Public License. A copy of that license should have
-%# been provided with this software, but in any event can be snarfed
-%# from www.gnu.org.
-%#
-%# This work is distributed in the hope that it will be useful, but
-%# WITHOUT ANY WARRANTY; without even the implied warranty of
-%# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-%# General Public License for more details.
-%#
-%# You should have received a copy of the GNU General Public License
-%# along with this program; if not, write to the Free Software
-%# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
-%# 02110-1301 or visit their web page on the internet at
-%# http://www.gnu.org/copyleft/gpl.html.
-%#
-%#
-%# CONTRIBUTION SUBMISSION POLICY:
-%#
-%# (The following paragraph is not intended to limit the rights granted
-%# to you to modify and distribute this software under the terms of
-%# the GNU General Public License and is only of importance to you if
-%# you choose to contribute your changes and enhancements to the
-%# community by submitting them to Best Practical Solutions, LLC.)
-%#
-%# By intentionally submitting any modifications, corrections or
-%# derivatives to this work, or any other work intended for use with
-%# Request Tracker, to Best Practical Solutions, LLC, you confirm that
-%# you are the copyright holder for those contributions and you grant
-%# Best Practical Solutions, LLC a nonexclusive, worldwide, irrevocable,
-%# royalty-free, perpetual, license to use, copy, create derivative
-%# works based on those contributions, and sublicense and distribute
-%# those contributions and any derivatives thereof.
-%#
-%# END BPS TAGGED BLOCK }}}
- <div id="logo">
- <a href="http://bestpractical.com"><img src="<%$RT::WebImagesURL%>/bplogo.gif" alt="<%loc("Best Practical Solutions, LLC corporate logo")%>" width="177" height="33" /></a>
-% if ($show_name) {
- <div class="rtname"><% loc("RT for [_1]", $RT::rtname) %></div>
-% }
- </div>
-<%args>
- $show_name => 1
-</%args>
diff --git a/rt/html/Elements/MyAdminQueues b/rt/html/Elements/MyAdminQueues
deleted file mode 100644
index 7e720ad71..000000000
--- a/rt/html/Elements/MyAdminQueues
+++ /dev/null
@@ -1,54 +0,0 @@
-%# BEGIN BPS TAGGED BLOCK {{{
-%#
-%# COPYRIGHT:
-%#
-%# This software is Copyright (c) 1996-2007 Best Practical Solutions, LLC
-%# <jesse@bestpractical.com>
-%#
-%# (Except where explicitly superseded by other copyright notices)
-%#
-%#
-%# LICENSE:
-%#
-%# This work is made available to you under the terms of Version 2 of
-%# the GNU General Public License. A copy of that license should have
-%# been provided with this software, but in any event can be snarfed
-%# from www.gnu.org.
-%#
-%# This work is distributed in the hope that it will be useful, but
-%# WITHOUT ANY WARRANTY; without even the implied warranty of
-%# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-%# General Public License for more details.
-%#
-%# You should have received a copy of the GNU General Public License
-%# along with this program; if not, write to the Free Software
-%# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
-%# 02110-1301 or visit their web page on the internet at
-%# http://www.gnu.org/copyleft/gpl.html.
-%#
-%#
-%# CONTRIBUTION SUBMISSION POLICY:
-%#
-%# (The following paragraph is not intended to limit the rights granted
-%# to you to modify and distribute this software under the terms of
-%# the GNU General Public License and is only of importance to you if
-%# you choose to contribute your changes and enhancements to the
-%# community by submitting them to Best Practical Solutions, LLC.)
-%#
-%# By intentionally submitting any modifications, corrections or
-%# derivatives to this work, or any other work intended for use with
-%# Request Tracker, to Best Practical Solutions, LLC, you confirm that
-%# you are the copyright holder for those contributions and you grant
-%# Best Practical Solutions, LLC a nonexclusive, worldwide, irrevocable,
-%# royalty-free, perpetual, license to use, copy, create derivative
-%# works based on those contributions, and sublicense and distribute
-%# those contributions and any derivatives thereof.
-%#
-%# END BPS TAGGED BLOCK }}}
-<&|/Widgets/TitleBox, title => loc("Queues I administer"), bodyclass => "" &>
-<& /Elements/QueueSummary,
- cache => 'my_admin_queues',
- queue_filter => sub { $_->CurrentUserHasRight('AdminQueue') },
- conditions => [ {cond => "Status = 'new'", name => loc ('new') },
- {cond => "Status = 'open'", name => loc ('open') }] &>
-</&>
diff --git a/rt/html/Elements/MyRT b/rt/html/Elements/MyRT
deleted file mode 100644
index be487a433..000000000
--- a/rt/html/Elements/MyRT
+++ /dev/null
@@ -1,100 +0,0 @@
-%# BEGIN BPS TAGGED BLOCK {{{
-%#
-%# COPYRIGHT:
-%#
-%# This software is Copyright (c) 1996-2007 Best Practical Solutions, LLC
-%# <jesse@bestpractical.com>
-%#
-%# (Except where explicitly superseded by other copyright notices)
-%#
-%#
-%# LICENSE:
-%#
-%# This work is made available to you under the terms of Version 2 of
-%# the GNU General Public License. A copy of that license should have
-%# been provided with this software, but in any event can be snarfed
-%# from www.gnu.org.
-%#
-%# This work is distributed in the hope that it will be useful, but
-%# WITHOUT ANY WARRANTY; without even the implied warranty of
-%# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-%# General Public License for more details.
-%#
-%# You should have received a copy of the GNU General Public License
-%# along with this program; if not, write to the Free Software
-%# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
-%# 02110-1301 or visit their web page on the internet at
-%# http://www.gnu.org/copyleft/gpl.html.
-%#
-%#
-%# CONTRIBUTION SUBMISSION POLICY:
-%#
-%# (The following paragraph is not intended to limit the rights granted
-%# to you to modify and distribute this software under the terms of
-%# the GNU General Public License and is only of importance to you if
-%# you choose to contribute your changes and enhancements to the
-%# community by submitting them to Best Practical Solutions, LLC.)
-%#
-%# By intentionally submitting any modifications, corrections or
-%# derivatives to this work, or any other work intended for use with
-%# Request Tracker, to Best Practical Solutions, LLC, you confirm that
-%# you are the copyright holder for those contributions and you grant
-%# Best Practical Solutions, LLC a nonexclusive, worldwide, irrevocable,
-%# royalty-free, perpetual, license to use, copy, create derivative
-%# works based on those contributions, and sublicense and distribute
-%# those contributions and any derivatives thereof.
-%#
-%# END BPS TAGGED BLOCK }}}
-<table border="0" width="100%">
-<tr valign="top">
-
-<td class="boxcontainer" width="70%" <% $summary? 'width="70%"': '' %>>
-% $show_cb->($_) foreach @$body;
-</td>
-
-% if ( $summary ) {
-<td class="boxcontainer">
-% $show_cb->($_) foreach @$summary;
-</td>
-% }
-
-</tr>
-</table>
-
-<%INIT>
-
-my $user = $session{'CurrentUser'}->UserObj;
-unless (exists $session{'my_rt_portlets'}) {
- my ($default_portlets) = RT::System->new($session{'CurrentUser'})->Attributes->Named('HomepageSettings');
- $session{'my_rt_portlets'} = $user->Preferences(
- HomepageSettings => $default_portlets? $default_portlets->Content: {},
- );
-}
-
-my ($body, $summary) = @{$session{'my_rt_portlets'}}{qw(body summary)};
-unless( $body && @$body ) {
- $body = $summary || [];
- $summary = undef;
-}
-$summary = undef unless $summary && @$summary;
-
-my $Rows = $user->Preferences( 'SummaryRows', ( $RT::DefaultSummaryRows || 10 ) );
-
-my $show_cb = sub {
- my $entry = shift;
- my $type = $entry->{type};
- if ( $type eq 'component' ) {
- my $name = $entry->{name};
-
- # security check etc.
- $m->comp( $name, %{ $entry->{arguments} || {} } );
- } elsif ( $type eq 'system' ) {
- $m->comp( '/Elements/ShowSearch', Name => $entry->{name}, Override => { Rows => $Rows } );
- } elsif ( $type eq 'saved' ) {
- $m->comp( '/Elements/ShowSearch', SavedSearch => $entry->{name}, Override => { Rows => $Rows } );
- } else {
- $RT::Logger->error("unknown portlet type $type");
- }
-};
-
-</%INIT>
diff --git a/rt/html/Elements/MyReminders b/rt/html/Elements/MyReminders
deleted file mode 100755
index 1e962bd61..000000000
--- a/rt/html/Elements/MyReminders
+++ /dev/null
@@ -1,73 +0,0 @@
-%# BEGIN BPS TAGGED BLOCK {{{
-%#
-%# COPYRIGHT:
-%#
-%# This software is Copyright (c) 1996-2007 Best Practical Solutions, LLC
-%# <jesse@bestpractical.com>
-%#
-%# (Except where explicitly superseded by other copyright notices)
-%#
-%#
-%# LICENSE:
-%#
-%# This work is made available to you under the terms of Version 2 of
-%# the GNU General Public License. A copy of that license should have
-%# been provided with this software, but in any event can be snarfed
-%# from www.gnu.org.
-%#
-%# This work is distributed in the hope that it will be useful, but
-%# WITHOUT ANY WARRANTY; without even the implied warranty of
-%# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-%# General Public License for more details.
-%#
-%# You should have received a copy of the GNU General Public License
-%# along with this program; if not, write to the Free Software
-%# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
-%# 02110-1301 or visit their web page on the internet at
-%# http://www.gnu.org/copyleft/gpl.html.
-%#
-%#
-%# CONTRIBUTION SUBMISSION POLICY:
-%#
-%# (The following paragraph is not intended to limit the rights granted
-%# to you to modify and distribute this software under the terms of
-%# the GNU General Public License and is only of importance to you if
-%# you choose to contribute your changes and enhancements to the
-%# community by submitting them to Best Practical Solutions, LLC.)
-%#
-%# By intentionally submitting any modifications, corrections or
-%# derivatives to this work, or any other work intended for use with
-%# Request Tracker, to Best Practical Solutions, LLC, you confirm that
-%# you are the copyright holder for those contributions and you grant
-%# Best Practical Solutions, LLC a nonexclusive, worldwide, irrevocable,
-%# royalty-free, perpetual, license to use, copy, create derivative
-%# works based on those contributions, and sublicense and distribute
-%# those contributions and any derivatives thereof.
-%#
-%# END BPS TAGGED BLOCK }}}
-%# DEPRECATED
-<&|/Widgets/TitleBox,
- title => loc("Reminders") &>
-<table width="100%">
-% my $i =0;
-% while (my $reminder = $reminders->Next) {
-% $i++;
-% if ($reminder->RefersTo->First) {
-% my $ticket= $reminder->RefersTo->First->TargetObj;
-<tr class="<%$i%2 ? 'evenline' : 'oddline'%>"><td><a href="<%$RT::WebPath%>/Ticket/Display.html?id=<%$ticket->id%>"><%$reminder->Subject%></a><br />
-<blockquote>
-#<%$ticket->id%>: <%$ticket->Subject%><br />
-<%$reminder->OwnerObj->Name %> <%$reminder->DueObj->Unix >0 ? '&bull; '.$reminder->DueObj->AgeAsString : '' |n %>
-</blockquote>
-</td>
-</tr>
-% }}
-</table>
-</&>
-
-<%init>
-my $reminders = RT::Tickets->new($session{'CurrentUser'});
-$reminders->FromSQL('(Owner = "Nobody" OR Owner = "'.$session{'CurrentUser'}->Name.'")' .
- ' AND Type = "reminder" AND (Status = "new" OR Status = "open") AND Due > "1970-01-01"');
-$reminders->OrderBy(FIELD => 'Due', ORDER => 'DESC');
-</%init>
diff --git a/rt/html/Elements/MySupportQueues b/rt/html/Elements/MySupportQueues
deleted file mode 100644
index f9e18a09a..000000000
--- a/rt/html/Elements/MySupportQueues
+++ /dev/null
@@ -1,54 +0,0 @@
-%# BEGIN BPS TAGGED BLOCK {{{
-%#
-%# COPYRIGHT:
-%#
-%# This software is Copyright (c) 1996-2007 Best Practical Solutions, LLC
-%# <jesse@bestpractical.com>
-%#
-%# (Except where explicitly superseded by other copyright notices)
-%#
-%#
-%# LICENSE:
-%#
-%# This work is made available to you under the terms of Version 2 of
-%# the GNU General Public License. A copy of that license should have
-%# been provided with this software, but in any event can be snarfed
-%# from www.gnu.org.
-%#
-%# This work is distributed in the hope that it will be useful, but
-%# WITHOUT ANY WARRANTY; without even the implied warranty of
-%# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-%# General Public License for more details.
-%#
-%# You should have received a copy of the GNU General Public License
-%# along with this program; if not, write to the Free Software
-%# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
-%# 02110-1301 or visit their web page on the internet at
-%# http://www.gnu.org/copyleft/gpl.html.
-%#
-%#
-%# CONTRIBUTION SUBMISSION POLICY:
-%#
-%# (The following paragraph is not intended to limit the rights granted
-%# to you to modify and distribute this software under the terms of
-%# the GNU General Public License and is only of importance to you if
-%# you choose to contribute your changes and enhancements to the
-%# community by submitting them to Best Practical Solutions, LLC.)
-%#
-%# By intentionally submitting any modifications, corrections or
-%# derivatives to this work, or any other work intended for use with
-%# Request Tracker, to Best Practical Solutions, LLC, you confirm that
-%# you are the copyright holder for those contributions and you grant
-%# Best Practical Solutions, LLC a nonexclusive, worldwide, irrevocable,
-%# royalty-free, perpetual, license to use, copy, create derivative
-%# works based on those contributions, and sublicense and distribute
-%# those contributions and any derivatives thereof.
-%#
-%# END BPS TAGGED BLOCK }}}
-<&|/Widgets/TitleBox, title => loc("Queues I'm an AdminCc for"), bodyclass => "" &>
-<& /Elements/QueueSummary,
- cache => 'my_support_queues',
- queue_filter => sub { $_->IsAdminCc($session{'CurrentUser'}->Id) },
- conditions => [ {cond => "Status = 'new'", name => loc ('new') },
- {cond => "Status = 'open'", name => loc ('open') }] &>
-</&>
diff --git a/rt/html/Elements/QueueSummary b/rt/html/Elements/QueueSummary
deleted file mode 100644
index 133539cc0..000000000
--- a/rt/html/Elements/QueueSummary
+++ /dev/null
@@ -1,92 +0,0 @@
-%# BEGIN BPS TAGGED BLOCK {{{
-%#
-%# COPYRIGHT:
-%#
-%# This software is Copyright (c) 1996-2007 Best Practical Solutions, LLC
-%# <jesse@bestpractical.com>
-%#
-%# (Except where explicitly superseded by other copyright notices)
-%#
-%#
-%# LICENSE:
-%#
-%# This work is made available to you under the terms of Version 2 of
-%# the GNU General Public License. A copy of that license should have
-%# been provided with this software, but in any event can be snarfed
-%# from www.gnu.org.
-%#
-%# This work is distributed in the hope that it will be useful, but
-%# WITHOUT ANY WARRANTY; without even the implied warranty of
-%# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-%# General Public License for more details.
-%#
-%# You should have received a copy of the GNU General Public License
-%# along with this program; if not, write to the Free Software
-%# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
-%# 02110-1301 or visit their web page on the internet at
-%# http://www.gnu.org/copyleft/gpl.html.
-%#
-%#
-%# CONTRIBUTION SUBMISSION POLICY:
-%#
-%# (The following paragraph is not intended to limit the rights granted
-%# to you to modify and distribute this software under the terms of
-%# the GNU General Public License and is only of importance to you if
-%# you choose to contribute your changes and enhancements to the
-%# community by submitting them to Best Practical Solutions, LLC.)
-%#
-%# By intentionally submitting any modifications, corrections or
-%# derivatives to this work, or any other work intended for use with
-%# Request Tracker, to Best Practical Solutions, LLC, you confirm that
-%# you are the copyright holder for those contributions and you grant
-%# Best Practical Solutions, LLC a nonexclusive, worldwide, irrevocable,
-%# royalty-free, perpetual, license to use, copy, create derivative
-%# works based on those contributions, and sublicense and distribute
-%# those contributions and any derivatives thereof.
-%#
-%# END BPS TAGGED BLOCK }}}
-<table border="0" cellspacing="0" cellpadding="1" width="100%">
-<tr>
- <th class="collection-as-table"><&|/l&>Queue</&></th>
-% for my $condition (@$conditions) {
- <th class="collection-as-table"><% $condition->{name} %></th>
-% }
-</tr>
-% my $i;
-% for my $queue (@queues) {
-% $i++;
-% my $queue_cond = "Queue = '$queue->{Name}' AND ";
-% my $all_q = $queue_cond . "(Status = 'open' OR Status = 'new' OR Status = 'stalled')";
-<tr class="<% $i%2 ? 'oddline' : 'evenline'%>" >
-<td><a href="<% $RT::WebPath%>/Search/Results.html?Query=<% $all_q |u,n %>" title="<% $queue->{Description} %>"><% $queue->{Name} %></a></td>
-% for my $condition (@$conditions) {
-% $Tickets->FromSQL( "Queue = $queue->{id} AND ". $condition->{cond} );
-<td align="right"><a href="<% $RT::WebPath%>/Search/Results.html?Query=<% $queue_cond.$condition->{cond} |u,n %>"><% $Tickets->Count %></a></td>
-% }
-</tr>
-% }
-</table>
-<%INIT>
-my @queues;
-
-if ($cache && exists $session{$cache}) {
- @queues = @{$session{$cache}};
-}
-else {
- my $Queues = RT::Queues->new($session{'CurrentUser'});
- $Queues->UnLimit();
- @queues = map {
- { Name => $_->Name, Description => $_->Description,
- id => $_->Id } }
- grep $queue_filter->($_), @{$Queues->ItemsArrayRef};
-
- $session{$cache} = \@queues if $cache;
-}
-
-my $Tickets = RT::Tickets->new($session{'CurrentUser'});
-</%INIT>
-<%ARGS>
-$cache => undef
-$queue_filter => undef
-$conditions => ()
-</%ARGS>
diff --git a/rt/html/Elements/RefreshHomepage b/rt/html/Elements/RefreshHomepage
deleted file mode 100644
index 167a48cab..000000000
--- a/rt/html/Elements/RefreshHomepage
+++ /dev/null
@@ -1,51 +0,0 @@
-%# BEGIN BPS TAGGED BLOCK {{{
-%#
-%# COPYRIGHT:
-%#
-%# This software is Copyright (c) 1996-2007 Best Practical Solutions, LLC
-%# <jesse@bestpractical.com>
-%#
-%# (Except where explicitly superseded by other copyright notices)
-%#
-%#
-%# LICENSE:
-%#
-%# This work is made available to you under the terms of Version 2 of
-%# the GNU General Public License. A copy of that license should have
-%# been provided with this software, but in any event can be snarfed
-%# from www.gnu.org.
-%#
-%# This work is distributed in the hope that it will be useful, but
-%# WITHOUT ANY WARRANTY; without even the implied warranty of
-%# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-%# General Public License for more details.
-%#
-%# You should have received a copy of the GNU General Public License
-%# along with this program; if not, write to the Free Software
-%# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
-%# 02110-1301 or visit their web page on the internet at
-%# http://www.gnu.org/copyleft/gpl.html.
-%#
-%#
-%# CONTRIBUTION SUBMISSION POLICY:
-%#
-%# (The following paragraph is not intended to limit the rights granted
-%# to you to modify and distribute this software under the terms of
-%# the GNU General Public License and is only of importance to you if
-%# you choose to contribute your changes and enhancements to the
-%# community by submitting them to Best Practical Solutions, LLC.)
-%#
-%# By intentionally submitting any modifications, corrections or
-%# derivatives to this work, or any other work intended for use with
-%# Request Tracker, to Best Practical Solutions, LLC, you confirm that
-%# you are the copyright holder for those contributions and you grant
-%# Best Practical Solutions, LLC a nonexclusive, worldwide, irrevocable,
-%# royalty-free, perpetual, license to use, copy, create derivative
-%# works based on those contributions, and sublicense and distribute
-%# those contributions and any derivatives thereof.
-%#
-%# END BPS TAGGED BLOCK }}}
-<form method="get" action="<%$RT::WebPath%>/index.html">
-<& /Elements/Refresh, Name => 'HomeRefreshInterval', Default => $session {'home_refresh_interval'} &>
-<div align="right"><input type="submit" class="button" value="<&|/l&>Go!</&>" /></div>
-</form>
diff --git a/rt/html/Elements/SelectTimeUnits b/rt/html/Elements/SelectTimeUnits
deleted file mode 100755
index e1656f113..000000000
--- a/rt/html/Elements/SelectTimeUnits
+++ /dev/null
@@ -1,57 +0,0 @@
-%# BEGIN BPS TAGGED BLOCK {{{
-%#
-%# COPYRIGHT:
-%#
-%# This software is Copyright (c) 1996-2007 Best Practical Solutions, LLC
-%# <jesse@bestpractical.com>
-%#
-%# (Except where explicitly superseded by other copyright notices)
-%#
-%#
-%# LICENSE:
-%#
-%# This work is made available to you under the terms of Version 2 of
-%# the GNU General Public License. A copy of that license should have
-%# been provided with this software, but in any event can be snarfed
-%# from www.gnu.org.
-%#
-%# This work is distributed in the hope that it will be useful, but
-%# WITHOUT ANY WARRANTY; without even the implied warranty of
-%# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-%# General Public License for more details.
-%#
-%# You should have received a copy of the GNU General Public License
-%# along with this program; if not, write to the Free Software
-%# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
-%# 02110-1301 or visit their web page on the internet at
-%# http://www.gnu.org/copyleft/gpl.html.
-%#
-%#
-%# CONTRIBUTION SUBMISSION POLICY:
-%#
-%# (The following paragraph is not intended to limit the rights granted
-%# to you to modify and distribute this software under the terms of
-%# the GNU General Public License and is only of importance to you if
-%# you choose to contribute your changes and enhancements to the
-%# community by submitting them to Best Practical Solutions, LLC.)
-%#
-%# By intentionally submitting any modifications, corrections or
-%# derivatives to this work, or any other work intended for use with
-%# Request Tracker, to Best Practical Solutions, LLC, you confirm that
-%# you are the copyright holder for those contributions and you grant
-%# Best Practical Solutions, LLC a nonexclusive, worldwide, irrevocable,
-%# royalty-free, perpetual, license to use, copy, create derivative
-%# works based on those contributions, and sublicense and distribute
-%# those contributions and any derivatives thereof.
-%#
-%# END BPS TAGGED BLOCK }}}
-<select name="<% $Name %>">
-<option value="minutes" selected><% loc('Minutes') %></option>
-<option value="hours"><% loc('Hours') %></option>
-</select>
-<%INIT>
-$Name .= '-TimeUnits' unless $Name =~ /-TimeUnits$/io;
-</%INIT>
-<%ARGS>
-$Name => ''
-</%ARGS>
diff --git a/rt/html/Elements/ShadedBox b/rt/html/Elements/ShadedBox
deleted file mode 100644
index 36b9cae7c..000000000
--- a/rt/html/Elements/ShadedBox
+++ /dev/null
@@ -1,33 +0,0 @@
-%# BEGIN LICENSE BLOCK
-%#
-%# Copyright (c) 1996-2003 Jesse Vincent <jesse@bestpractical.com>
-%#
-%# (Except where explictly superceded by other copyright notices)
-%#
-%# This work is made available to you under the terms of Version 2 of
-%# the GNU General Public License. A copy of that license should have
-%# been provided with this software, but in any event can be snarfed
-%# from www.gnu.org.
-%#
-%# This work is distributed in the hope that it will be useful, but
-%# WITHOUT ANY WARRANTY; without even the implied warranty of
-%# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-%# General Public License for more details.
-%#
-%# Unless otherwise specified, all modifications, corrections or
-%# extensions to this work which alter its source code become the
-%# property of Best Practical Solutions, LLC when submitted for
-%# inclusion in the work.
-%#
-%#
-%# END LICENSE BLOCK
-<table>
- <tr>
- <td class="label"><%$title |n %>:</td>
- <td class="value"><%$content |n %></td>
- </tr>
-</table>
-<%ARGS>
-$title => undef
-$content => "&nbsp;"
-</%ARGS>
diff --git a/rt/html/Elements/ShadedInputRow b/rt/html/Elements/ShadedInputRow
deleted file mode 100644
index e9fb69e5f..000000000
--- a/rt/html/Elements/ShadedInputRow
+++ /dev/null
@@ -1,35 +0,0 @@
-%# BEGIN LICENSE BLOCK
-%#
-%# Copyright (c) 1996-2003 Jesse Vincent <jesse@bestpractical.com>
-%#
-%# (Except where explictly superceded by other copyright notices)
-%#
-%# This work is made available to you under the terms of Version 2 of
-%# the GNU General Public License. A copy of that license should have
-%# been provided with this software, but in any event can be snarfed
-%# from www.gnu.org.
-%#
-%# This work is distributed in the hope that it will be useful, but
-%# WITHOUT ANY WARRANTY; without even the implied warranty of
-%# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-%# General Public License for more details.
-%#
-%# Unless otherwise specified, all modifications, corrections or
-%# extensions to this work which alter its source code become the
-%# property of Best Practical Solutions, LLC when submitted for
-%# inclusion in the work.
-%#
-%#
-%# END LICENSE BLOCK
-<tr>
- <td class="label"><%$title |n %>:</td>
- <td class="value">
- <input name=<%$name%> value="<%$content|h%>" SIZE=<%$size%>>
- </td>
-</tr>
-<%ARGS>
-$title => undef
-$content => "&nbsp;"
-$name => undef
-$size => undef
-</%ARGS>
diff --git a/rt/html/Elements/ShadedRow b/rt/html/Elements/ShadedRow
deleted file mode 100644
index 8947fcd82..000000000
--- a/rt/html/Elements/ShadedRow
+++ /dev/null
@@ -1,31 +0,0 @@
-%# BEGIN LICENSE BLOCK
-%#
-%# Copyright (c) 1996-2003 Jesse Vincent <jesse@bestpractical.com>
-%#
-%# (Except where explictly superceded by other copyright notices)
-%#
-%# This work is made available to you under the terms of Version 2 of
-%# the GNU General Public License. A copy of that license should have
-%# been provided with this software, but in any event can be snarfed
-%# from www.gnu.org.
-%#
-%# This work is distributed in the hope that it will be useful, but
-%# WITHOUT ANY WARRANTY; without even the implied warranty of
-%# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-%# General Public License for more details.
-%#
-%# Unless otherwise specified, all modifications, corrections or
-%# extensions to this work which alter its source code become the
-%# property of Best Practical Solutions, LLC when submitted for
-%# inclusion in the work.
-%#
-%#
-%# END LICENSE BLOCK
-<tr>
- <td class="label"><%$title |n %>:</td>
- <td class="value"><%$content |n %></td>
-</tr>
-<%ARGS>
-$title => undef
-$content => "&nbsp;"
-</%ARGS>
diff --git a/rt/html/Elements/ShowSearch b/rt/html/Elements/ShowSearch
deleted file mode 100644
index ded865b82..000000000
--- a/rt/html/Elements/ShowSearch
+++ /dev/null
@@ -1,126 +0,0 @@
-%# BEGIN BPS TAGGED BLOCK {{{
-%#
-%# COPYRIGHT:
-%#
-%# This software is Copyright (c) 1996-2007 Best Practical Solutions, LLC
-%# <jesse@bestpractical.com>
-%#
-%# (Except where explicitly superseded by other copyright notices)
-%#
-%#
-%# LICENSE:
-%#
-%# This work is made available to you under the terms of Version 2 of
-%# the GNU General Public License. A copy of that license should have
-%# been provided with this software, but in any event can be snarfed
-%# from www.gnu.org.
-%#
-%# This work is distributed in the hope that it will be useful, but
-%# WITHOUT ANY WARRANTY; without even the implied warranty of
-%# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-%# General Public License for more details.
-%#
-%# You should have received a copy of the GNU General Public License
-%# along with this program; if not, write to the Free Software
-%# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
-%# 02110-1301 or visit their web page on the internet at
-%# http://www.gnu.org/copyleft/gpl.html.
-%#
-%#
-%# CONTRIBUTION SUBMISSION POLICY:
-%#
-%# (The following paragraph is not intended to limit the rights granted
-%# to you to modify and distribute this software under the terms of
-%# the GNU General Public License and is only of importance to you if
-%# you choose to contribute your changes and enhancements to the
-%# community by submitting them to Best Practical Solutions, LLC.)
-%#
-%# By intentionally submitting any modifications, corrections or
-%# derivatives to this work, or any other work intended for use with
-%# Request Tracker, to Best Practical Solutions, LLC, you confirm that
-%# you are the copyright holder for those contributions and you grant
-%# Best Practical Solutions, LLC a nonexclusive, worldwide, irrevocable,
-%# royalty-free, perpetual, license to use, copy, create derivative
-%# works based on those contributions, and sublicense and distribute
-%# those contributions and any derivatives thereof.
-%#
-%# END BPS TAGGED BLOCK }}}
-<&|/Widgets/TitleBox,
- title => loc($search->Description, $ProcessedSearchArg->{'Rows'}),
- title_href => $query_link_url.$QueryString,
- titleright => $customize ? loc('Edit') : '',
- titleright_href => $customize &>
-<& $query_display_component, %$ProcessedSearchArg, ShowNavigation => 0 &>
-</&>
-<%init>
-my $search;
-my $user = $session{'CurrentUser'}->UserObj;
-my $SearchArg;
-my $customize;
-my $query_display_component = '/Elements/TicketList';
-my $query_link_url = 'Search/Results.html';
-
-if ($SavedSearch) {
- my ( $container_object, $search_id ) = _parse_saved_search($SavedSearch);
- $search = $container_object->Attributes->WithId($search_id);
- unless ( $search->Id && ref( $SearchArg = $search->Content ) eq 'HASH' ) {
- $m->out("Saved Search $SavedSearch not found");
- return;
- }
- $SearchArg->{'SearchType'} ||= 'Ticket';
- if ( $SearchArg->{SearchType} ne 'Ticket' ) {
-
- # XXX: dispatch to different handler here
- $query_display_component
- = '/Search/Elements/' . $SearchArg->{SearchType};
- $query_link_url = "Search/$SearchArg->{SearchType}.html";
- } else {
- $customize = $RT::WebPath . '/Search/Build.html?'
- . $m->comp( '/Elements/QueryString',
- LoadSavedSearch => $SavedSearch );
- }
-} else {
- ($search) = RT::System->new( $session{'CurrentUser'} ) ->Attributes->Named( 'Search - ' . $Name );
- unless ( $search && $search->Id ) {
- my (@custom_searches) = RT::System->new( $session{'CurrentUser'} )->Attributes->Named('SavedSearch');
- foreach my $custom (@custom_searches) {
- if ($custom->Description eq $Name) { $search = $custom; last }
- }
- unless ($search && $search->id) {
- $m->out("Predefined search $Name not found");
- return;
- }
- }
-
- $SearchArg = $user->Preferences( $search, $search->Content );
- $customize = $RT::WebPath . '/Prefs/Search.html?'
- . $m->comp( '/Elements/QueryString',
- name => ref($search) . '-' . $search->Id );
-}
-
-# ProcessedSearchArg is a search with overridings, but for link we use
-# orginal search's poperties
-my $ProcessedSearchArg = $SearchArg;
-$ProcessedSearchArg = { %$SearchArg, %Override } if keys %Override;
-
-$m->comp(
- '/Elements/Callback', %ARGS,
- _CallbackName => 'ModifySearch',
- OriginalSearch => $SearchArg,
- Search => $ProcessedSearchArg,
-);
-
-foreach ( $SearchArg, $ProcessedSearchArg ) {
- $_->{'Query'} =~ s/__CurrentUser__/$session{'CurrentUser'}->Id/ge;
- $_->{'Format'} =~ s/__WebPath__/$RT::WebPath/g;
- $_->{'Format'} =~ s/__loc\(["']?(\w+)["']?\)__/loc("$1")/ge;
-}
-
-my $QueryString = '?' . $m->comp( '/Elements/QueryString', %$SearchArg );
-
-</%init>
-<%ARGS>
-$Name => undef
-$SavedSearch => undef
-%Override => ()
-</%ARGS>
diff --git a/rt/html/Elements/ValidateCustomFields b/rt/html/Elements/ValidateCustomFields
deleted file mode 100644
index 483021952..000000000
--- a/rt/html/Elements/ValidateCustomFields
+++ /dev/null
@@ -1,81 +0,0 @@
-%# BEGIN BPS TAGGED BLOCK {{{
-%#
-%# COPYRIGHT:
-%#
-%# This software is Copyright (c) 1996-2007 Best Practical Solutions, LLC
-%# <jesse@bestpractical.com>
-%#
-%# (Except where explicitly superseded by other copyright notices)
-%#
-%#
-%# LICENSE:
-%#
-%# This work is made available to you under the terms of Version 2 of
-%# the GNU General Public License. A copy of that license should have
-%# been provided with this software, but in any event can be snarfed
-%# from www.gnu.org.
-%#
-%# This work is distributed in the hope that it will be useful, but
-%# WITHOUT ANY WARRANTY; without even the implied warranty of
-%# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-%# General Public License for more details.
-%#
-%# You should have received a copy of the GNU General Public License
-%# along with this program; if not, write to the Free Software
-%# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
-%# 02110-1301 or visit their web page on the internet at
-%# http://www.gnu.org/copyleft/gpl.html.
-%#
-%#
-%# CONTRIBUTION SUBMISSION POLICY:
-%#
-%# (The following paragraph is not intended to limit the rights granted
-%# to you to modify and distribute this software under the terms of
-%# the GNU General Public License and is only of importance to you if
-%# you choose to contribute your changes and enhancements to the
-%# community by submitting them to Best Practical Solutions, LLC.)
-%#
-%# By intentionally submitting any modifications, corrections or
-%# derivatives to this work, or any other work intended for use with
-%# Request Tracker, to Best Practical Solutions, LLC, you confirm that
-%# you are the copyright holder for those contributions and you grant
-%# Best Practical Solutions, LLC a nonexclusive, worldwide, irrevocable,
-%# royalty-free, perpetual, license to use, copy, create derivative
-%# works based on those contributions, and sublicense and distribute
-%# those contributions and any derivatives thereof.
-%#
-%# END BPS TAGGED BLOCK }}}
-<%INIT>
-my $valid = 1;
-$CustomFields->GotoFirstItem;
-while (my $CF = $CustomFields->Next) {
- my $pattern = $CF->Pattern;
- my $field = $NamePrefix . $CF->Id . "-Value";
- my $value;
-
- if ($ARGSRef->{"${field}s-Magic"} and exists $ARGSRef->{"${field}s"}) {
- $value = $ARGSRef->{"${field}s"};
-
- # We only validate Single Combos -- multis can never be user input
- next if ref $value;
- }
- else {
- $value = $ARGSRef->{$field};
- }
-
- $m->notes(('Field-' . $CF->Id) => $value);
- next if $CF->MatchPattern($value);
- $m->notes(
- ('InvalidField-' . $CF->Id)
- => (loc("Input must match [_1]", $CF->FriendlyPattern))
- );
- $valid = 0;
-}
-$m->notes('ValidFields', $valid);
-return $valid;
-</%INIT>
-<%ARGS>
-$CustomFields
-$ARGSRef
-$NamePrefix => "Object-RT::Ticket--CustomField-"
-</%ARGS>
diff --git a/rt/html/Elements/ViewUser b/rt/html/Elements/ViewUser
deleted file mode 100644
index 657272496..000000000
--- a/rt/html/Elements/ViewUser
+++ /dev/null
@@ -1,51 +0,0 @@
-%# BEGIN LICENSE BLOCK
-%#
-%# Copyright (c) 1996-2003 Jesse Vincent <jesse@bestpractical.com>
-%#
-%# (Except where explictly superceded by other copyright notices)
-%#
-%# This work is made available to you under the terms of Version 2 of
-%# the GNU General Public License. A copy of that license should have
-%# been provided with this software, but in any event can be snarfed
-%# from www.gnu.org.
-%#
-%# This work is distributed in the hope that it will be useful, but
-%# WITHOUT ANY WARRANTY; without even the implied warranty of
-%# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-%# General Public License for more details.
-%#
-%# Unless otherwise specified, all modifications, corrections or
-%# extensions to this work which alter its source code become the
-%# property of Best Practical Solutions, LLC when submitted for
-%# inclusion in the work.
-%#
-%#
-%# END LICENSE BLOCK
-<& /Elements/TitleBoxStart,
- title => "<a class='inverse' href=\"$RT::WebPath/Search/Listing.html?LimitRequestorById=1&IdOfRequestor=".$User->id."\">".loc("Tickets from [_1]", $name)."</a>",
- titleright=> "<a class='inverse' href=\"$RT::WebPath/EditUserComments.html?id=".$User->id."\">".loc("Comments about [_1]", $name)."</a>" &>
-<TABLE WIDTH="100%">
-<tr>
-<td halign=left valign=top>
-%while (my $w=$tickets->Next) {
-<%$w->Id%>: <a href="<%$RT::WebPath%>/Ticket/Display.html?id=<%$w->id%>"><%$w->Subject%></a> (<%$w->Status%>)<BR>
-%}
-</td>
-<td align=right valign=top>
- <% ($User->Comments || loc("No comment entered about this user")) %>
-</tr>
-</table>
-<& /Elements/TitleBoxEnd &>
-
-<%ARGS>
-$User=>undef
-</%ARGS>
-
-<%INIT>
-my $name=$User->RealName || $User->EmailAddress;
-
-my $tickets = new RT::Tickets($session{'CurrentUser'});
-$tickets->LimitWatcher(TYPE => 'Requestor', VALUE => $User->EmailAddress);
-
-
-</%INIT>
diff --git a/rt/html/Helpers/CalPopup.html b/rt/html/Helpers/CalPopup.html
deleted file mode 100644
index 9509d13f4..000000000
--- a/rt/html/Helpers/CalPopup.html
+++ /dev/null
@@ -1,129 +0,0 @@
-%# BEGIN BPS TAGGED BLOCK {{{
-%#
-%# COPYRIGHT:
-%#
-%# This software is Copyright (c) 1996-2007 Best Practical Solutions, LLC
-%# <jesse@bestpractical.com>
-%#
-%# (Except where explicitly superseded by other copyright notices)
-%#
-%#
-%# LICENSE:
-%#
-%# This work is made available to you under the terms of Version 2 of
-%# the GNU General Public License. A copy of that license should have
-%# been provided with this software, but in any event can be snarfed
-%# from www.gnu.org.
-%#
-%# This work is distributed in the hope that it will be useful, but
-%# WITHOUT ANY WARRANTY; without even the implied warranty of
-%# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-%# General Public License for more details.
-%#
-%# You should have received a copy of the GNU General Public License
-%# along with this program; if not, write to the Free Software
-%# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
-%# 02110-1301 or visit their web page on the internet at
-%# http://www.gnu.org/copyleft/gpl.html.
-%#
-%#
-%# CONTRIBUTION SUBMISSION POLICY:
-%#
-%# (The following paragraph is not intended to limit the rights granted
-%# to you to modify and distribute this software under the terms of
-%# the GNU General Public License and is only of importance to you if
-%# you choose to contribute your changes and enhancements to the
-%# community by submitting them to Best Practical Solutions, LLC.)
-%#
-%# By intentionally submitting any modifications, corrections or
-%# derivatives to this work, or any other work intended for use with
-%# Request Tracker, to Best Practical Solutions, LLC, you confirm that
-%# you are the copyright holder for those contributions and you grant
-%# Best Practical Solutions, LLC a nonexclusive, worldwide, irrevocable,
-%# royalty-free, perpetual, license to use, copy, create derivative
-%# works based on those contributions, and sublicense and distribute
-%# those contributions and any derivatives thereof.
-%#
-%# END BPS TAGGED BLOCK }}}
-<& /Elements/Header, ShowBar => 0 &>
-%# From /Elements/Header
-</div>
-<div id="body" class="calpopup">
-
-<a href="#" onclick="window.close(); return false;"><&|/l&>Close window</&></a>
-
-<div class="calendar">
- <table>
- <caption>
- <a class="prev" href="CalPopup.html?DisplayedMonth=<%$prev_month%>&DisplayedYear=<%$prev_year%>&field=<%$field%>"><&|/l&>Prev</&></a>
- <span class="month"><% $months[$DisplayedMonth-1] %> <% $DisplayedYear %></span>
- <a class="next" href="CalPopup.html?DisplayedMonth=<%$next_month%>&DisplayedYear=<%$next_year%>&field=<%$field%>"><&|/l&>Next</&></a>
- </caption>
- <tr>
-% foreach my $wday (@weekdays) {
- <th><%$wday%></th>
-% }
- </tr>
-% foreach my $week (@cal) {
- <tr>
-% foreach my $day (@{$week}) {
- <td>
-% if ($day) {
-% my $datestr = sprintf('%04d-%02d-%02d', $DisplayedYear, $DisplayedMonth, $day);
- <a href="#" onclick="updateParentField('<% $field %>','<% $datestr %>'); return false;"><% $day %></a>
-% } else {
- &nbsp;
-% }
- </td>
-% } #foreach $day
- </tr>
-% } # foreach $week
- </table>
-</div>
-</div>
-</body>
-</html>
-% $m->abort();
-
-<%init>
-use Calendar::Simple;
-my @today = localtime(time());
-
-my @weekdays;
-push @weekdays, loc($_)
- for qw(Sun Mon Tue Wed Thu Fri Sat);
-
-my @months;
-push @months, loc($_)
- for qw(January February March April May June July August
- September October November December);
-
-unless ($DisplayedYear) {
- $DisplayedMonth = $today[4] + 1;
- $DisplayedYear = ($today[5] + 1900);
-}
-
-my ($prev_year, $next_year, $prev_month, $next_month);
-$prev_month = $next_month = $DisplayedMonth;
-$prev_year = $next_year = $DisplayedYear;
-
-$next_month++;
-$prev_month--;
-
-if ($DisplayedMonth == 12) {
- $next_year++;
- $next_month = 1;
-}
-elsif ($DisplayedMonth == 1) {
- $prev_month = 12;
- $prev_year--;
-}
-
-my @cal = calendar($DisplayedMonth, $DisplayedYear);
-</%init>
-
-<%args>
-$field => 'none'
-$DisplayedMonth => undef
-$DisplayedYear => undef
-</%args>
diff --git a/rt/html/NoAuth/css/3.4-compat/body.css b/rt/html/NoAuth/css/3.4-compat/body.css
deleted file mode 100644
index 6188951a4..000000000
--- a/rt/html/NoAuth/css/3.4-compat/body.css
+++ /dev/null
@@ -1,75 +0,0 @@
-%# BEGIN BPS TAGGED BLOCK {{{
-%#
-%# COPYRIGHT:
-%#
-%# This software is Copyright (c) 1996-2007 Best Practical Solutions, LLC
-%# <jesse@bestpractical.com>
-%#
-%# (Except where explicitly superseded by other copyright notices)
-%#
-%#
-%# LICENSE:
-%#
-%# This work is made available to you under the terms of Version 2 of
-%# the GNU General Public License. A copy of that license should have
-%# been provided with this software, but in any event can be snarfed
-%# from www.gnu.org.
-%#
-%# This work is distributed in the hope that it will be useful, but
-%# WITHOUT ANY WARRANTY; without even the implied warranty of
-%# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-%# General Public License for more details.
-%#
-%# You should have received a copy of the GNU General Public License
-%# along with this program; if not, write to the Free Software
-%# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
-%# 02110-1301 or visit their web page on the internet at
-%# http://www.gnu.org/copyleft/gpl.html.
-%#
-%#
-%# CONTRIBUTION SUBMISSION POLICY:
-%#
-%# (The following paragraph is not intended to limit the rights granted
-%# to you to modify and distribute this software under the terms of
-%# the GNU General Public License and is only of importance to you if
-%# you choose to contribute your changes and enhancements to the
-%# community by submitting them to Best Practical Solutions, LLC.)
-%#
-%# By intentionally submitting any modifications, corrections or
-%# derivatives to this work, or any other work intended for use with
-%# Request Tracker, to Best Practical Solutions, LLC, you confirm that
-%# you are the copyright holder for those contributions and you grant
-%# Best Practical Solutions, LLC a nonexclusive, worldwide, irrevocable,
-%# royalty-free, perpetual, license to use, copy, create derivative
-%# works based on those contributions, and sublicense and distribute
-%# those contributions and any derivatives thereof.
-%#
-%# END BPS TAGGED BLOCK }}}
-#body {
- margin: 0.5em 0.5em 0 0.5em;
- float: left;
- width: 80%;
-}
-
-#body h1 { font-size: 1.5em; }
-#body h2 { font-size: 1.3em; }
-#body h3 { font-size: 1.1em; }
-#body h4 { font-size: 1em; }
-#body h5 { font-size: 0.9em; }
-#body h6 { font-size: 0.8em; }
-
-#body h1, #body h2, #body h3, #body h4, #body h5, #body h6 {
- font-weight: bold;
-}
-
-#body :link { color: black; }
-
-#body :link, #body :visited {
- font-weight: bold;
- text-decoration: none;
-}
-
-#body :link:hover, #body :visited:hover {
- text-decoration: underline;
-}
-
diff --git a/rt/html/NoAuth/css/3.4-compat/footer.css b/rt/html/NoAuth/css/3.4-compat/footer.css
deleted file mode 100644
index 4e90c507c..000000000
--- a/rt/html/NoAuth/css/3.4-compat/footer.css
+++ /dev/null
@@ -1,61 +0,0 @@
-%# BEGIN BPS TAGGED BLOCK {{{
-%#
-%# COPYRIGHT:
-%#
-%# This software is Copyright (c) 1996-2007 Best Practical Solutions, LLC
-%# <jesse@bestpractical.com>
-%#
-%# (Except where explicitly superseded by other copyright notices)
-%#
-%#
-%# LICENSE:
-%#
-%# This work is made available to you under the terms of Version 2 of
-%# the GNU General Public License. A copy of that license should have
-%# been provided with this software, but in any event can be snarfed
-%# from www.gnu.org.
-%#
-%# This work is distributed in the hope that it will be useful, but
-%# WITHOUT ANY WARRANTY; without even the implied warranty of
-%# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-%# General Public License for more details.
-%#
-%# You should have received a copy of the GNU General Public License
-%# along with this program; if not, write to the Free Software
-%# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
-%# 02110-1301 or visit their web page on the internet at
-%# http://www.gnu.org/copyleft/gpl.html.
-%#
-%#
-%# CONTRIBUTION SUBMISSION POLICY:
-%#
-%# (The following paragraph is not intended to limit the rights granted
-%# to you to modify and distribute this software under the terms of
-%# the GNU General Public License and is only of importance to you if
-%# you choose to contribute your changes and enhancements to the
-%# community by submitting them to Best Practical Solutions, LLC.)
-%#
-%# By intentionally submitting any modifications, corrections or
-%# derivatives to this work, or any other work intended for use with
-%# Request Tracker, to Best Practical Solutions, LLC, you confirm that
-%# you are the copyright holder for those contributions and you grant
-%# Best Practical Solutions, LLC a nonexclusive, worldwide, irrevocable,
-%# royalty-free, perpetual, license to use, copy, create derivative
-%# works based on those contributions, and sublicense and distribute
-%# those contributions and any derivatives thereof.
-%#
-%# END BPS TAGGED BLOCK }}}
-#footer {
- clear: both;
- font-size: 0.8em;
- margin-top: 5em;
- padding-bottom: 2em;
- color: #888;
-}
-
-#footer p {
- text-align: right;
- padding: 0 0.5em 0 0;
- margin: 0;
-}
-
diff --git a/rt/html/NoAuth/css/3.4-compat/forms.css b/rt/html/NoAuth/css/3.4-compat/forms.css
deleted file mode 100644
index 301f8f3e4..000000000
--- a/rt/html/NoAuth/css/3.4-compat/forms.css
+++ /dev/null
@@ -1,104 +0,0 @@
-%# BEGIN BPS TAGGED BLOCK {{{
-%#
-%# COPYRIGHT:
-%#
-%# This software is Copyright (c) 1996-2007 Best Practical Solutions, LLC
-%# <jesse@bestpractical.com>
-%#
-%# (Except where explicitly superseded by other copyright notices)
-%#
-%#
-%# LICENSE:
-%#
-%# This work is made available to you under the terms of Version 2 of
-%# the GNU General Public License. A copy of that license should have
-%# been provided with this software, but in any event can be snarfed
-%# from www.gnu.org.
-%#
-%# This work is distributed in the hope that it will be useful, but
-%# WITHOUT ANY WARRANTY; without even the implied warranty of
-%# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-%# General Public License for more details.
-%#
-%# You should have received a copy of the GNU General Public License
-%# along with this program; if not, write to the Free Software
-%# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
-%# 02110-1301 or visit their web page on the internet at
-%# http://www.gnu.org/copyleft/gpl.html.
-%#
-%#
-%# CONTRIBUTION SUBMISSION POLICY:
-%#
-%# (The following paragraph is not intended to limit the rights granted
-%# to you to modify and distribute this software under the terms of
-%# the GNU General Public License and is only of importance to you if
-%# you choose to contribute your changes and enhancements to the
-%# community by submitting them to Best Practical Solutions, LLC.)
-%#
-%# By intentionally submitting any modifications, corrections or
-%# derivatives to this work, or any other work intended for use with
-%# Request Tracker, to Best Practical Solutions, LLC, you confirm that
-%# you are the copyright holder for those contributions and you grant
-%# Best Practical Solutions, LLC a nonexclusive, worldwide, irrevocable,
-%# royalty-free, perpetual, license to use, copy, create derivative
-%# works based on those contributions, and sublicense and distribute
-%# those contributions and any derivatives thereof.
-%#
-%# END BPS TAGGED BLOCK }}}
-form .label, form label {
- font-weight: bold;
-}
-
-.submit {
- background: #069;
-%# These borders are needed so the container actually surrounds the floats inside it
- border-top: 1px solid white;
- border-bottom: 1px solid white;
- color: #ffdb00;
- font-weight: bold;
-}
-
-.submit .buttons { float: right; }
-.submit .extra-buttons { float: left; }
-.submit .button { font-size: 0.9em; }
-
-.submit .submit-clear { clear: right; }
-
-.input-row {
- clear: both;
- padding: 0.25em;
-}
-
-%# ComboBox styles... some properties like height and width must be dynamically
-%# set in the JS (at least for now).
-.combobox {
- border: 2px inset ButtonHighlight;
- padding-left: 0.5em;
- padding-bottom: 0.1em;
-}
-
-.combobox .combo-button {
- padding: 0 2px 0 2px;
- margin: 0;
- background: ButtonFace;
- color: ButtonText;
- border: 2px outset ButtonHighlight;
- cursor: default;
- font-size: 8pt;
-}
-
-.combobox .combo-text {
- border: none;
- margin: 0;
- padding: 0;
-}
-
-.combobox .combo-list {
- z-index: 200;
-}
-
-#quickbar #topactions form {
- display: inline;
- margin-left: 2em;
-}
-
diff --git a/rt/html/NoAuth/css/3.4-compat/header.css b/rt/html/NoAuth/css/3.4-compat/header.css
deleted file mode 100644
index a8e3184ce..000000000
--- a/rt/html/NoAuth/css/3.4-compat/header.css
+++ /dev/null
@@ -1,88 +0,0 @@
-%# BEGIN BPS TAGGED BLOCK {{{
-%#
-%# COPYRIGHT:
-%#
-%# This software is Copyright (c) 1996-2007 Best Practical Solutions, LLC
-%# <jesse@bestpractical.com>
-%#
-%# (Except where explicitly superseded by other copyright notices)
-%#
-%#
-%# LICENSE:
-%#
-%# This work is made available to you under the terms of Version 2 of
-%# the GNU General Public License. A copy of that license should have
-%# been provided with this software, but in any event can be snarfed
-%# from www.gnu.org.
-%#
-%# This work is distributed in the hope that it will be useful, but
-%# WITHOUT ANY WARRANTY; without even the implied warranty of
-%# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-%# General Public License for more details.
-%#
-%# You should have received a copy of the GNU General Public License
-%# along with this program; if not, write to the Free Software
-%# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
-%# 02110-1301 or visit their web page on the internet at
-%# http://www.gnu.org/copyleft/gpl.html.
-%#
-%#
-%# CONTRIBUTION SUBMISSION POLICY:
-%#
-%# (The following paragraph is not intended to limit the rights granted
-%# to you to modify and distribute this software under the terms of
-%# the GNU General Public License and is only of importance to you if
-%# you choose to contribute your changes and enhancements to the
-%# community by submitting them to Best Practical Solutions, LLC.)
-%#
-%# By intentionally submitting any modifications, corrections or
-%# derivatives to this work, or any other work intended for use with
-%# Request Tracker, to Best Practical Solutions, LLC, you confirm that
-%# you are the copyright holder for those contributions and you grant
-%# Best Practical Solutions, LLC a nonexclusive, worldwide, irrevocable,
-%# royalty-free, perpetual, license to use, copy, create derivative
-%# works based on those contributions, and sublicense and distribute
-%# those contributions and any derivatives thereof.
-%#
-%# END BPS TAGGED BLOCK }}}
-#header #page-menu {
- display: none;
-}
-
-#header {
- background: #4282b5;
- margin-top: 0;
- padding-bottom: 0.2em;
- float: left;
- width: 82%;
-}
-
-#header h1 {
- background: #4282b5;
- color: white;
- font-size: 1.7em;
- margin: 0;
- padding: 0;
-}
-
-#header #actions-menu {
- display: block;
- margin: 0 1em 0 0;
- padding: 0;
- color: white;
- text-align: right;
- font-size: 1.2em;
-}
-
-#header #actions-menu li {
- display: inline;
-}
-
-#header #actions-menu :link, #header #actions-menu :visited {
- color: white;
- text-decoration: none;
-}
-
-#header #actions-menu :link:hover, #header #actions-menu :visited:hover {
- text-decoration: underline;
-}
diff --git a/rt/html/NoAuth/css/3.4-compat/login.css b/rt/html/NoAuth/css/3.4-compat/login.css
deleted file mode 100644
index 2b967e0f1..000000000
--- a/rt/html/NoAuth/css/3.4-compat/login.css
+++ /dev/null
@@ -1,54 +0,0 @@
-%# BEGIN BPS TAGGED BLOCK {{{
-%#
-%# COPYRIGHT:
-%#
-%# This software is Copyright (c) 1996-2007 Best Practical Solutions, LLC
-%# <jesse@bestpractical.com>
-%#
-%# (Except where explicitly superseded by other copyright notices)
-%#
-%#
-%# LICENSE:
-%#
-%# This work is made available to you under the terms of Version 2 of
-%# the GNU General Public License. A copy of that license should have
-%# been provided with this software, but in any event can be snarfed
-%# from www.gnu.org.
-%#
-%# This work is distributed in the hope that it will be useful, but
-%# WITHOUT ANY WARRANTY; without even the implied warranty of
-%# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-%# General Public License for more details.
-%#
-%# You should have received a copy of the GNU General Public License
-%# along with this program; if not, write to the Free Software
-%# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
-%# 02110-1301 or visit their web page on the internet at
-%# http://www.gnu.org/copyleft/gpl.html.
-%#
-%#
-%# CONTRIBUTION SUBMISSION POLICY:
-%#
-%# (The following paragraph is not intended to limit the rights granted
-%# to you to modify and distribute this software under the terms of
-%# the GNU General Public License and is only of importance to you if
-%# you choose to contribute your changes and enhancements to the
-%# community by submitting them to Best Practical Solutions, LLC.)
-%#
-%# By intentionally submitting any modifications, corrections or
-%# derivatives to this work, or any other work intended for use with
-%# Request Tracker, to Best Practical Solutions, LLC, you confirm that
-%# you are the copyright holder for those contributions and you grant
-%# Best Practical Solutions, LLC a nonexclusive, worldwide, irrevocable,
-%# royalty-free, perpetual, license to use, copy, create derivative
-%# works based on those contributions, and sublicense and distribute
-%# those contributions and any derivatives thereof.
-%#
-%# END BPS TAGGED BLOCK }}}
-#body.login-body {
- width: 98%;
-}
-
-#login-box {
- width: 30em;
-}
diff --git a/rt/html/NoAuth/css/3.4-compat/main.css b/rt/html/NoAuth/css/3.4-compat/main.css
deleted file mode 100644
index f2c9ad321..000000000
--- a/rt/html/NoAuth/css/3.4-compat/main.css
+++ /dev/null
@@ -1,69 +0,0 @@
-%# BEGIN BPS TAGGED BLOCK {{{
-%#
-%# COPYRIGHT:
-%#
-%# This software is Copyright (c) 1996-2007 Best Practical Solutions, LLC
-%# <jesse@bestpractical.com>
-%#
-%# (Except where explicitly superseded by other copyright notices)
-%#
-%#
-%# LICENSE:
-%#
-%# This work is made available to you under the terms of Version 2 of
-%# the GNU General Public License. A copy of that license should have
-%# been provided with this software, but in any event can be snarfed
-%# from www.gnu.org.
-%#
-%# This work is distributed in the hope that it will be useful, but
-%# WITHOUT ANY WARRANTY; without even the implied warranty of
-%# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-%# General Public License for more details.
-%#
-%# You should have received a copy of the GNU General Public License
-%# along with this program; if not, write to the Free Software
-%# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
-%# 02110-1301 or visit their web page on the internet at
-%# http://www.gnu.org/copyleft/gpl.html.
-%#
-%#
-%# CONTRIBUTION SUBMISSION POLICY:
-%#
-%# (The following paragraph is not intended to limit the rights granted
-%# to you to modify and distribute this software under the terms of
-%# the GNU General Public License and is only of importance to you if
-%# you choose to contribute your changes and enhancements to the
-%# community by submitting them to Best Practical Solutions, LLC.)
-%#
-%# By intentionally submitting any modifications, corrections or
-%# derivatives to this work, or any other work intended for use with
-%# Request Tracker, to Best Practical Solutions, LLC, you confirm that
-%# you are the copyright holder for those contributions and you grant
-%# Best Practical Solutions, LLC a nonexclusive, worldwide, irrevocable,
-%# royalty-free, perpetual, license to use, copy, create derivative
-%# works based on those contributions, and sublicense and distribute
-%# those contributions and any derivatives thereof.
-%#
-%# END BPS TAGGED BLOCK }}}
-%# Import the 3.5 styles we want to build off of...
-@import "../3.5-default/logo.css";
-@import "../3.5-default/misc.css";
-@import "../3.5-default/transactions.css";
-@import "../3.5-default/approvals.css";
-@import "../3.5-default/login.css";
-@import "../3.5-default/quickbar.css";
-@import "../3.5-default/ticket.css";
-
-%# ...and then import the 3.4 compat styles afterwards so they can cascade
-@import "nav.css";
-@import "footer.css";
-@import "body.css";
-@import "titlebox.css";
-@import "header.css";
-@import "forms.css";
-@import "transactions.css";
-@import "ticket.css";
-@import "login.css";
-@import "quickbar.css";
-@import "misc.css";
-
diff --git a/rt/html/NoAuth/css/3.4-compat/misc.css b/rt/html/NoAuth/css/3.4-compat/misc.css
deleted file mode 100644
index 09be77a51..000000000
--- a/rt/html/NoAuth/css/3.4-compat/misc.css
+++ /dev/null
@@ -1,49 +0,0 @@
-%# BEGIN BPS TAGGED BLOCK {{{
-%#
-%# COPYRIGHT:
-%#
-%# This software is Copyright (c) 1996-2007 Best Practical Solutions, LLC
-%# <jesse@bestpractical.com>
-%#
-%# (Except where explicitly superseded by other copyright notices)
-%#
-%#
-%# LICENSE:
-%#
-%# This work is made available to you under the terms of Version 2 of
-%# the GNU General Public License. A copy of that license should have
-%# been provided with this software, but in any event can be snarfed
-%# from www.gnu.org.
-%#
-%# This work is distributed in the hope that it will be useful, but
-%# WITHOUT ANY WARRANTY; without even the implied warranty of
-%# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-%# General Public License for more details.
-%#
-%# You should have received a copy of the GNU General Public License
-%# along with this program; if not, write to the Free Software
-%# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
-%# 02110-1301 or visit their web page on the internet at
-%# http://www.gnu.org/copyleft/gpl.html.
-%#
-%#
-%# CONTRIBUTION SUBMISSION POLICY:
-%#
-%# (The following paragraph is not intended to limit the rights granted
-%# to you to modify and distribute this software under the terms of
-%# the GNU General Public License and is only of importance to you if
-%# you choose to contribute your changes and enhancements to the
-%# community by submitting them to Best Practical Solutions, LLC.)
-%#
-%# By intentionally submitting any modifications, corrections or
-%# derivatives to this work, or any other work intended for use with
-%# Request Tracker, to Best Practical Solutions, LLC, you confirm that
-%# you are the copyright holder for those contributions and you grant
-%# Best Practical Solutions, LLC a nonexclusive, worldwide, irrevocable,
-%# royalty-free, perpetual, license to use, copy, create derivative
-%# works based on those contributions, and sublicense and distribute
-%# those contributions and any derivatives thereof.
-%#
-%# END BPS TAGGED BLOCK }}}
-.oddline { background: white; }
-.evenline { background: #cecfef; }
diff --git a/rt/html/NoAuth/css/3.4-compat/nav.css b/rt/html/NoAuth/css/3.4-compat/nav.css
deleted file mode 100644
index f83c0fd2c..000000000
--- a/rt/html/NoAuth/css/3.4-compat/nav.css
+++ /dev/null
@@ -1,106 +0,0 @@
-%# BEGIN BPS TAGGED BLOCK {{{
-%#
-%# COPYRIGHT:
-%#
-%# This software is Copyright (c) 1996-2007 Best Practical Solutions, LLC
-%# <jesse@bestpractical.com>
-%#
-%# (Except where explicitly superseded by other copyright notices)
-%#
-%#
-%# LICENSE:
-%#
-%# This work is made available to you under the terms of Version 2 of
-%# the GNU General Public License. A copy of that license should have
-%# been provided with this software, but in any event can be snarfed
-%# from www.gnu.org.
-%#
-%# This work is distributed in the hope that it will be useful, but
-%# WITHOUT ANY WARRANTY; without even the implied warranty of
-%# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-%# General Public License for more details.
-%#
-%# You should have received a copy of the GNU General Public License
-%# along with this program; if not, write to the Free Software
-%# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
-%# 02110-1301 or visit their web page on the internet at
-%# http://www.gnu.org/copyleft/gpl.html.
-%#
-%#
-%# CONTRIBUTION SUBMISSION POLICY:
-%#
-%# (The following paragraph is not intended to limit the rights granted
-%# to you to modify and distribute this software under the terms of
-%# the GNU General Public License and is only of importance to you if
-%# you choose to contribute your changes and enhancements to the
-%# community by submitting them to Best Practical Solutions, LLC.)
-%#
-%# By intentionally submitting any modifications, corrections or
-%# derivatives to this work, or any other work intended for use with
-%# Request Tracker, to Best Practical Solutions, LLC, you confirm that
-%# you are the copyright holder for those contributions and you grant
-%# Best Practical Solutions, LLC a nonexclusive, worldwide, irrevocable,
-%# royalty-free, perpetual, license to use, copy, create derivative
-%# works based on those contributions, and sublicense and distribute
-%# those contributions and any derivatives thereof.
-%#
-%# END BPS TAGGED BLOCK }}}
-#nav {
- clear: left;
- float: left;
- width: 18%;
- font-size: 1.4em;
- color: #eee;
- margin: 0;
- background: #4282b5 url(<%$RT::WebImagesURL%>/css/cbr.gif) no-repeat bottom right;
-}
-
-#nav #system-menu {
- padding: 0 0.2em 0.2em 0.2em;
- margin-top: 0;
-/* background: transparent url(<%$RT::WebImagesURL%>/css/ctr.gif) no-repeat top right; */
-}
-
-#nav ul {
- list-style: none;
- padding-left: 0.5em;
- margin-left: 0;
-}
-
-#nav ul .bullet, #nav ul .separator {
- display: none;
-}
-
-#nav ul li {
- padding: 0.4em 0 0.4em 0.2em;
- border-bottom: 1px solid white;
-}
-
-#nav li ul {
- font-size: 0.9em;
-}
-
-#nav li ul li {
- border-bottom: none;
- padding: 0.2em 0 0 0;
-}
-
-#nav :link, #nav :visited {
- text-decoration: none;
- color: #eee;
-}
-
-#nav :link:hover,
-#nav :visited:hover,
-#nav :link.selected,
-#nav :visited.selected
-{
- color: #ff6;
-}
-
-#nav :link.selected,
-#nav :visited.selected
-{
- text-decoration: underline;
- font-weight: bold;
-}
diff --git a/rt/html/NoAuth/css/3.4-compat/quickbar.css b/rt/html/NoAuth/css/3.4-compat/quickbar.css
deleted file mode 100644
index d7aac5d51..000000000
--- a/rt/html/NoAuth/css/3.4-compat/quickbar.css
+++ /dev/null
@@ -1,82 +0,0 @@
-%# BEGIN BPS TAGGED BLOCK {{{
-%#
-%# COPYRIGHT:
-%#
-%# This software is Copyright (c) 1996-2007 Best Practical Solutions, LLC
-%# <jesse@bestpractical.com>
-%#
-%# (Except where explicitly superseded by other copyright notices)
-%#
-%#
-%# LICENSE:
-%#
-%# This work is made available to you under the terms of Version 2 of
-%# the GNU General Public License. A copy of that license should have
-%# been provided with this software, but in any event can be snarfed
-%# from www.gnu.org.
-%#
-%# This work is distributed in the hope that it will be useful, but
-%# WITHOUT ANY WARRANTY; without even the implied warranty of
-%# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-%# General Public License for more details.
-%#
-%# You should have received a copy of the GNU General Public License
-%# along with this program; if not, write to the Free Software
-%# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
-%# 02110-1301 or visit their web page on the internet at
-%# http://www.gnu.org/copyleft/gpl.html.
-%#
-%#
-%# CONTRIBUTION SUBMISSION POLICY:
-%#
-%# (The following paragraph is not intended to limit the rights granted
-%# to you to modify and distribute this software under the terms of
-%# the GNU General Public License and is only of importance to you if
-%# you choose to contribute your changes and enhancements to the
-%# community by submitting them to Best Practical Solutions, LLC.)
-%#
-%# By intentionally submitting any modifications, corrections or
-%# derivatives to this work, or any other work intended for use with
-%# Request Tracker, to Best Practical Solutions, LLC, you confirm that
-%# you are the copyright holder for those contributions and you grant
-%# Best Practical Solutions, LLC a nonexclusive, worldwide, irrevocable,
-%# royalty-free, perpetual, license to use, copy, create derivative
-%# works based on those contributions, and sublicense and distribute
-%# those contributions and any derivatives thereof.
-%#
-%# END BPS TAGGED BLOCK }}}
-#quickbar {
- border: 1px solid transparent;
-}
-
-#quickbar #quick-personal {
- display: inline;
- color: #888;
- padding: 0.5em 1em 0 0;
- float: right;
-}
-
-#quickbar #quick-personal span {
- font-weight: bold;
-}
-
-#quickbar #quick-personal :link,
-#quickbar #quick-personal :visited
-{
- color: #888;
- font-weight: bold;
-}
-
-#quickbar #quick-personal :link:hover,
-#quickbar #quick-personal :visited:hover
-{
- color: black;
-}
-
-#quickbar #topactions {
- color: white;
- font-size: 0.9em;
- position: relative;
- right: 1em;
- float: right;
-}
diff --git a/rt/html/NoAuth/css/3.4-compat/ticket.css b/rt/html/NoAuth/css/3.4-compat/ticket.css
deleted file mode 100644
index 2c808929d..000000000
--- a/rt/html/NoAuth/css/3.4-compat/ticket.css
+++ /dev/null
@@ -1,50 +0,0 @@
-%# BEGIN BPS TAGGED BLOCK {{{
-%#
-%# COPYRIGHT:
-%#
-%# This software is Copyright (c) 1996-2007 Best Practical Solutions, LLC
-%# <jesse@bestpractical.com>
-%#
-%# (Except where explicitly superseded by other copyright notices)
-%#
-%#
-%# LICENSE:
-%#
-%# This work is made available to you under the terms of Version 2 of
-%# the GNU General Public License. A copy of that license should have
-%# been provided with this software, but in any event can be snarfed
-%# from www.gnu.org.
-%#
-%# This work is distributed in the hope that it will be useful, but
-%# WITHOUT ANY WARRANTY; without even the implied warranty of
-%# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-%# General Public License for more details.
-%#
-%# You should have received a copy of the GNU General Public License
-%# along with this program; if not, write to the Free Software
-%# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
-%# 02110-1301 or visit their web page on the internet at
-%# http://www.gnu.org/copyleft/gpl.html.
-%#
-%#
-%# CONTRIBUTION SUBMISSION POLICY:
-%#
-%# (The following paragraph is not intended to limit the rights granted
-%# to you to modify and distribute this software under the terms of
-%# the GNU General Public License and is only of importance to you if
-%# you choose to contribute your changes and enhancements to the
-%# community by submitting them to Best Practical Solutions, LLC.)
-%#
-%# By intentionally submitting any modifications, corrections or
-%# derivatives to this work, or any other work intended for use with
-%# Request Tracker, to Best Practical Solutions, LLC, you confirm that
-%# you are the copyright holder for those contributions and you grant
-%# Best Practical Solutions, LLC a nonexclusive, worldwide, irrevocable,
-%# royalty-free, perpetual, license to use, copy, create derivative
-%# works based on those contributions, and sublicense and distribute
-%# those contributions and any derivatives thereof.
-%#
-%# END BPS TAGGED BLOCK }}}
-.value {
- font-weight: bold;
-}
diff --git a/rt/html/NoAuth/css/3.4-compat/titlebox.css b/rt/html/NoAuth/css/3.4-compat/titlebox.css
deleted file mode 100644
index 363da69d3..000000000
--- a/rt/html/NoAuth/css/3.4-compat/titlebox.css
+++ /dev/null
@@ -1,103 +0,0 @@
-%# BEGIN BPS TAGGED BLOCK {{{
-%#
-%# COPYRIGHT:
-%#
-%# This software is Copyright (c) 1996-2007 Best Practical Solutions, LLC
-%# <jesse@bestpractical.com>
-%#
-%# (Except where explicitly superseded by other copyright notices)
-%#
-%#
-%# LICENSE:
-%#
-%# This work is made available to you under the terms of Version 2 of
-%# the GNU General Public License. A copy of that license should have
-%# been provided with this software, but in any event can be snarfed
-%# from www.gnu.org.
-%#
-%# This work is distributed in the hope that it will be useful, but
-%# WITHOUT ANY WARRANTY; without even the implied warranty of
-%# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-%# General Public License for more details.
-%#
-%# You should have received a copy of the GNU General Public License
-%# along with this program; if not, write to the Free Software
-%# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
-%# 02110-1301 or visit their web page on the internet at
-%# http://www.gnu.org/copyleft/gpl.html.
-%#
-%#
-%# CONTRIBUTION SUBMISSION POLICY:
-%#
-%# (The following paragraph is not intended to limit the rights granted
-%# to you to modify and distribute this software under the terms of
-%# the GNU General Public License and is only of importance to you if
-%# you choose to contribute your changes and enhancements to the
-%# community by submitting them to Best Practical Solutions, LLC.)
-%#
-%# By intentionally submitting any modifications, corrections or
-%# derivatives to this work, or any other work intended for use with
-%# Request Tracker, to Best Practical Solutions, LLC, you confirm that
-%# you are the copyright holder for those contributions and you grant
-%# Best Practical Solutions, LLC a nonexclusive, worldwide, irrevocable,
-%# royalty-free, perpetual, license to use, copy, create derivative
-%# works based on those contributions, and sublicense and distribute
-%# those contributions and any derivatives thereof.
-%#
-%# END BPS TAGGED BLOCK }}}
-.titlebox {
- margin: 0.5em 0;
-}
-
-.titlebox .titlebox-content {
- padding: 0.05em;
-}
-
-.titlebox .titlebox-title {
- background: #069;
- padding: 0.2em 0.5em;
- color: white;
- border-top: 1px solid black;
- border-bottom: 1px solid black;
- font-weight: bold;
- position: relative;
-}
-
-.titlebox .titlebox-title .right {
- position: absolute;
- right: 1.5em;
- font-size: 0.9em;
-}
-
-#body .titlebox .titlebox-title :link, #body .titlebox .titlebox-title :visited {
- color: white;
-}
-
-#body .titlebox .titlebox-title .widget :link, #body .titlebox .titlebox-title .widget :visited {
- color: black;
-}
-
-.titlebox .titlebox-content hr.clear {
- visibility: hidden;
-}
-
-%# TRS: I wish there was a more elegant way to do this... I essentially need to
-%# select all elements X that do NOT have element Y as a descendant... which I can
-%# fake with the child selector of CSS2, but IE is stupid and does not support that.
-
-% for (qw(index
-% Search-Build
-% User-Prefs
-% Approvals
-% Admin-Users-Modify
-% SelfService
-% SelfService-Closed
-% Ticket-ModifyAll
-% ))
-% {
-#comp-<%$_%> .titlebox .titlebox-content,
-% }
-.titlebox .titlebox .titlebox-content
-{
- background: #cecfce;
-}
diff --git a/rt/html/NoAuth/css/3.4-compat/transactions.css b/rt/html/NoAuth/css/3.4-compat/transactions.css
deleted file mode 100644
index 2078a3147..000000000
--- a/rt/html/NoAuth/css/3.4-compat/transactions.css
+++ /dev/null
@@ -1,83 +0,0 @@
-%# BEGIN BPS TAGGED BLOCK {{{
-%#
-%# COPYRIGHT:
-%#
-%# This software is Copyright (c) 1996-2007 Best Practical Solutions, LLC
-%# <jesse@bestpractical.com>
-%#
-%# (Except where explicitly superseded by other copyright notices)
-%#
-%#
-%# LICENSE:
-%#
-%# This work is made available to you under the terms of Version 2 of
-%# the GNU General Public License. A copy of that license should have
-%# been provided with this software, but in any event can be snarfed
-%# from www.gnu.org.
-%#
-%# This work is distributed in the hope that it will be useful, but
-%# WITHOUT ANY WARRANTY; without even the implied warranty of
-%# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-%# General Public License for more details.
-%#
-%# You should have received a copy of the GNU General Public License
-%# along with this program; if not, write to the Free Software
-%# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
-%# 02110-1301 or visit their web page on the internet at
-%# http://www.gnu.org/copyleft/gpl.html.
-%#
-%#
-%# CONTRIBUTION SUBMISSION POLICY:
-%#
-%# (The following paragraph is not intended to limit the rights granted
-%# to you to modify and distribute this software under the terms of
-%# the GNU General Public License and is only of importance to you if
-%# you choose to contribute your changes and enhancements to the
-%# community by submitting them to Best Practical Solutions, LLC.)
-%#
-%# By intentionally submitting any modifications, corrections or
-%# derivatives to this work, or any other work intended for use with
-%# Request Tracker, to Best Practical Solutions, LLC, you confirm that
-%# you are the copyright holder for those contributions and you grant
-%# Best Practical Solutions, LLC a nonexclusive, worldwide, irrevocable,
-%# royalty-free, perpetual, license to use, copy, create derivative
-%# works based on those contributions, and sublicense and distribute
-%# those contributions and any derivatives thereof.
-%#
-%# END BPS TAGGED BLOCK }}}
-.ticket-transaction {
- margin: 0;
- border: none;
-}
-
-.ticket-transaction .type {
- width: 1em;
-}
-
-.ticket-transaction.even {
- background: #cecfef;
-}
-
-.ticket-transaction.basics { border-color: #9c3031; }
-.ticket-transaction.basics .type { background: #9c3031; }
-.ticket-summary .ticket-info-basics .titlebox-content { border-left: none; }
-.ticket-summary .ticket-info-basics .titlebox-title { background: #9c3031; }
-
-.ticket-transaction.people { border-color: #31309c; }
-.ticket-transaction.people .type { background: #31309c; }
-.ticket-summary .ticket-info-people .titlebox-content { border-left: none; }
-.ticket-summary .ticket-info-people .titlebox-title { background: #31309c; }
-
-.ticket-transaction.links { border-color: #316531; }
-.ticket-transaction.links .type { background: #316531; }
-.ticket-summary .ticket-info-links .titlebox-content { border-left: none; }
-.ticket-summary .ticket-info-links .titlebox-title { background: #316531; }
-
-.ticket-transaction.dates { border-color: #633063; }
-.ticket-transaction.dates .type { background: #633063; }
-.ticket-summary .ticket-info-dates .titlebox-content { border-left: none; }
-.ticket-summary .ticket-info-dates .titlebox-title { background: #633063; }
-
-.ticket-transaction.message { border-color: #069; }
-.ticket-transaction.message .type { background: #069; }
-
diff --git a/rt/html/NoAuth/css/3.5-default/approvals.css b/rt/html/NoAuth/css/3.5-default/approvals.css
deleted file mode 100644
index 5bc836aa9..000000000
--- a/rt/html/NoAuth/css/3.5-default/approvals.css
+++ /dev/null
@@ -1,97 +0,0 @@
-%# BEGIN BPS TAGGED BLOCK {{{
-%#
-%# COPYRIGHT:
-%#
-%# This software is Copyright (c) 1996-2007 Best Practical Solutions, LLC
-%# <jesse@bestpractical.com>
-%#
-%# (Except where explicitly superseded by other copyright notices)
-%#
-%#
-%# LICENSE:
-%#
-%# This work is made available to you under the terms of Version 2 of
-%# the GNU General Public License. A copy of that license should have
-%# been provided with this software, but in any event can be snarfed
-%# from www.gnu.org.
-%#
-%# This work is distributed in the hope that it will be useful, but
-%# WITHOUT ANY WARRANTY; without even the implied warranty of
-%# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-%# General Public License for more details.
-%#
-%# You should have received a copy of the GNU General Public License
-%# along with this program; if not, write to the Free Software
-%# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
-%# 02110-1301 or visit their web page on the internet at
-%# http://www.gnu.org/copyleft/gpl.html.
-%#
-%#
-%# CONTRIBUTION SUBMISSION POLICY:
-%#
-%# (The following paragraph is not intended to limit the rights granted
-%# to you to modify and distribute this software under the terms of
-%# the GNU General Public License and is only of importance to you if
-%# you choose to contribute your changes and enhancements to the
-%# community by submitting them to Best Practical Solutions, LLC.)
-%#
-%# By intentionally submitting any modifications, corrections or
-%# derivatives to this work, or any other work intended for use with
-%# Request Tracker, to Best Practical Solutions, LLC, you confirm that
-%# you are the copyright holder for those contributions and you grant
-%# Best Practical Solutions, LLC a nonexclusive, worldwide, irrevocable,
-%# royalty-free, perpetual, license to use, copy, create derivative
-%# works based on those contributions, and sublicense and distribute
-%# those contributions and any derivatives thereof.
-%#
-%# END BPS TAGGED BLOCK }}}
-.approval {
- margin-bottom: 3em;
- padding: 0 0 1em 0;
- border: 1px solid #069;
-}
-
-.approval .name {
- background: #069;
- color: white;
- font-size: 1.1em;
- padding: 0.2em 0 0.4em 0.2em;
-}
-
-#body .approval .name :link, #body .approval .name :visited {
- color: white;
-}
-
-.approval .originating-ticket {
- margin: 0.5em;
- border: 1px solid #aaa;
-}
-
-.approval .originating-ticket .link {
- display: block;
- background: #aaa;
- padding: 0.2em 0 0.4em 0.2em;
-}
-
-.approval .originating-ticket .info {
- padding: 0.5em;
-}
-
-#body .approval .originating-ticket .link :link,
-#body .approval .originating-ticket .link :visited {
- color: black;
-}
-
-.approval .form {
- margin: 1em 0.5em 0.5em 0.5em;
-}
-
-.approval .form .action, .approval .form .notes {
- float: left;
- margin-left: 1em;
-}
-
-.approval .form .action { padding-top: 1em; }
-
-.approval .form .action label { font-weight: normal; }
-.approval .form .notes label { display: block; }
diff --git a/rt/html/NoAuth/css/3.5-default/body.css b/rt/html/NoAuth/css/3.5-default/body.css
deleted file mode 100755
index d4470343c..000000000
--- a/rt/html/NoAuth/css/3.5-default/body.css
+++ /dev/null
@@ -1,81 +0,0 @@
-%# BEGIN BPS TAGGED BLOCK {{{
-%#
-%# COPYRIGHT:
-%#
-%# This software is Copyright (c) 1996-2007 Best Practical Solutions, LLC
-%# <jesse@bestpractical.com>
-%#
-%# (Except where explicitly superseded by other copyright notices)
-%#
-%#
-%# LICENSE:
-%#
-%# This work is made available to you under the terms of Version 2 of
-%# the GNU General Public License. A copy of that license should have
-%# been provided with this software, but in any event can be snarfed
-%# from www.gnu.org.
-%#
-%# This work is distributed in the hope that it will be useful, but
-%# WITHOUT ANY WARRANTY; without even the implied warranty of
-%# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-%# General Public License for more details.
-%#
-%# You should have received a copy of the GNU General Public License
-%# along with this program; if not, write to the Free Software
-%# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
-%# 02110-1301 or visit their web page on the internet at
-%# http://www.gnu.org/copyleft/gpl.html.
-%#
-%#
-%# CONTRIBUTION SUBMISSION POLICY:
-%#
-%# (The following paragraph is not intended to limit the rights granted
-%# to you to modify and distribute this software under the terms of
-%# the GNU General Public License and is only of importance to you if
-%# you choose to contribute your changes and enhancements to the
-%# community by submitting them to Best Practical Solutions, LLC.)
-%#
-%# By intentionally submitting any modifications, corrections or
-%# derivatives to this work, or any other work intended for use with
-%# Request Tracker, to Best Practical Solutions, LLC, you confirm that
-%# you are the copyright holder for those contributions and you grant
-%# Best Practical Solutions, LLC a nonexclusive, worldwide, irrevocable,
-%# royalty-free, perpetual, license to use, copy, create derivative
-%# works based on those contributions, and sublicense and distribute
-%# those contributions and any derivatives thereof.
-%#
-%# END BPS TAGGED BLOCK }}}
-#body {
- clear: both;
- margin: 0 0.75em 0 2em;
- padding-top: 0.5em;
-}
-
-#body h1 {
- border-bottom: 1px dotted #069;
- padding-left: 0.5em;
-}
-
-#body h1 { font-size: 1.5em; }
-#body h2 { font-size: 1.3em; }
-#body h3 { font-size: 1.1em; }
-#body h4 { font-size: 1em; }
-#body h5 { font-size: 0.9em; }
-#body h6 { font-size: 0.8em; }
-
-#body h1, #body h2, #body h3, #body h4, #body h5, #body h6 {
- color: #930;
- font-weight: bold;
-}
-
-#body :link { color: #069; }
-
-#body :link, #body :visited {
- font-weight: bold;
- text-decoration: none;
-}
-
-#body :link:hover, #body :visited:hover {
- text-decoration: underline;
-}
-
diff --git a/rt/html/NoAuth/css/3.5-default/footer.css b/rt/html/NoAuth/css/3.5-default/footer.css
deleted file mode 100644
index c46998293..000000000
--- a/rt/html/NoAuth/css/3.5-default/footer.css
+++ /dev/null
@@ -1,91 +0,0 @@
-%# BEGIN BPS TAGGED BLOCK {{{
-%#
-%# COPYRIGHT:
-%#
-%# This software is Copyright (c) 1996-2007 Best Practical Solutions, LLC
-%# <jesse@bestpractical.com>
-%#
-%# (Except where explicitly superseded by other copyright notices)
-%#
-%#
-%# LICENSE:
-%#
-%# This work is made available to you under the terms of Version 2 of
-%# the GNU General Public License. A copy of that license should have
-%# been provided with this software, but in any event can be snarfed
-%# from www.gnu.org.
-%#
-%# This work is distributed in the hope that it will be useful, but
-%# WITHOUT ANY WARRANTY; without even the implied warranty of
-%# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-%# General Public License for more details.
-%#
-%# You should have received a copy of the GNU General Public License
-%# along with this program; if not, write to the Free Software
-%# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
-%# 02110-1301 or visit their web page on the internet at
-%# http://www.gnu.org/copyleft/gpl.html.
-%#
-%#
-%# CONTRIBUTION SUBMISSION POLICY:
-%#
-%# (The following paragraph is not intended to limit the rights granted
-%# to you to modify and distribute this software under the terms of
-%# the GNU General Public License and is only of importance to you if
-%# you choose to contribute your changes and enhancements to the
-%# community by submitting them to Best Practical Solutions, LLC.)
-%#
-%# By intentionally submitting any modifications, corrections or
-%# derivatives to this work, or any other work intended for use with
-%# Request Tracker, to Best Practical Solutions, LLC, you confirm that
-%# you are the copyright holder for those contributions and you grant
-%# Best Practical Solutions, LLC a nonexclusive, worldwide, irrevocable,
-%# royalty-free, perpetual, license to use, copy, create derivative
-%# works based on those contributions, and sublicense and distribute
-%# those contributions and any derivatives thereof.
-%#
-%# END BPS TAGGED BLOCK }}}
-#footer {
- clear: both;
- font-size: 0.8em;
- margin-top: 5em;
- padding-bottom: 3em;
-}
-
-#footer p { float: left; }
-
-#footer #time {
- color: white;
- background: #069 url(<%$RT::WebImagesURL%>/css/ctr-b2g.gif) no-repeat top right;
- padding: 0.2em 0 0.3em 0;
- margin: 0;
- position: relative;
- z-index: 2;
-}
-
-#footer #time span {
- padding: 0.2em 2em 0.3em 3em;
- background: url(<%$RT::WebImagesURL%>/css/cbr-b2g.gif) no-repeat bottom right;
-}
-
-#footer #bpscredits {
- background: #ccc url(<%$RT::WebImagesURL%>/css/ctr-gray.gif) no-repeat top right;
- padding: 0.2em 0 0.3em 0;
- margin: 0;
- position: relative;
- left: -10px;
- z-index: 1;
-}
-
-#footer #bpscredits span {
- padding: 0.2em 2em 0.3em 3em;
- background: url(<%$RT::WebImagesURL%>/css/cbr-gray.gif) no-repeat bottom right;
-}
-
-#footer #legal {
- float: none;
- color: #888;
- padding: 1em 0 0 2em;
- clear: both;
-}
-
diff --git a/rt/html/NoAuth/css/3.5-default/forms.css b/rt/html/NoAuth/css/3.5-default/forms.css
deleted file mode 100755
index e49c45f3a..000000000
--- a/rt/html/NoAuth/css/3.5-default/forms.css
+++ /dev/null
@@ -1,136 +0,0 @@
-%# BEGIN BPS TAGGED BLOCK {{{
-%#
-%# COPYRIGHT:
-%#
-%# This software is Copyright (c) 1996-2007 Best Practical Solutions, LLC
-%# <jesse@bestpractical.com>
-%#
-%# (Except where explicitly superseded by other copyright notices)
-%#
-%#
-%# LICENSE:
-%#
-%# This work is made available to you under the terms of Version 2 of
-%# the GNU General Public License. A copy of that license should have
-%# been provided with this software, but in any event can be snarfed
-%# from www.gnu.org.
-%#
-%# This work is distributed in the hope that it will be useful, but
-%# WITHOUT ANY WARRANTY; without even the implied warranty of
-%# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-%# General Public License for more details.
-%#
-%# You should have received a copy of the GNU General Public License
-%# along with this program; if not, write to the Free Software
-%# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
-%# 02110-1301 or visit their web page on the internet at
-%# http://www.gnu.org/copyleft/gpl.html.
-%#
-%#
-%# CONTRIBUTION SUBMISSION POLICY:
-%#
-%# (The following paragraph is not intended to limit the rights granted
-%# to you to modify and distribute this software under the terms of
-%# the GNU General Public License and is only of importance to you if
-%# you choose to contribute your changes and enhancements to the
-%# community by submitting them to Best Practical Solutions, LLC.)
-%#
-%# By intentionally submitting any modifications, corrections or
-%# derivatives to this work, or any other work intended for use with
-%# Request Tracker, to Best Practical Solutions, LLC, you confirm that
-%# you are the copyright holder for those contributions and you grant
-%# Best Practical Solutions, LLC a nonexclusive, worldwide, irrevocable,
-%# royalty-free, perpetual, license to use, copy, create derivative
-%# works based on those contributions, and sublicense and distribute
-%# those contributions and any derivatives thereof.
-%#
-%# END BPS TAGGED BLOCK }}}
-form input.button {
- border: 3px double #069;
- border-top-color: #08c;
- border-left-color: #08c;
- padding: 0.25em;
- background: white;
- font-weight: bold;
- font-size: 1em;
- margin: 0.5em 0.5em 0 0.5em;
-}
-
-form input.button:active {
- border: 3px double #08c;
- border-top-color: #069;
- border-left-color: #069;
-}
-
-form select {
- border: 1px solid #069;
- padding: 1px;
-}
-
-form input.field, form input, form textarea {
- border: 1px solid #069;
- padding: 3px;
-}
-
-form input.checkbox, form input.radio {
- border: none;
- padding: 0;
-}
-
-/* form .entry input, form .value input */
-
-.label, form label, .labeltop {
- font-weight: bold;
-}
-
-.labeltop {
- vertical-align: top;
-}
-
-.submit {
- font-weight: bold;
- color: #a00;
- font-size: 1.1em;
- padding: 0.3em 1.5em 0 1.5em;
- border-top: 1px solid #930;
- margin: 1.5em 0 2.5em 0;
-}
-
-.submit .buttons { float: right; }
-.submit .extra-buttons { float: left; }
-.submit .button { font-size: 0.9em; }
-.submit .submit-clear { display: none; }
-
-.input-row {
- clear: both;
- padding: 0.25em;
-}
-
-%# ComboBox styles... some properties like height and width must be dynamically
-%# set in the JS (at least for now).
-.combobox {
- border: 2px inset #069;
- padding-left: 0.5em;
- padding-bottom: 0.1em;
-}
-
-.combobox .combo-button {
- padding: 0 2px 0 2px;
- margin: 0;
- background: ButtonFace;
- color: ButtonText;
- border: 2px outset ButtonHighlight;
- cursor: default;
- font-size: 8pt;
-}
-
-.combobox .combo-text {
- border: none;
- margin: 0;
- padding: 0;
-}
-
-.combobox .combo-list {
- z-index: 200;
-}
-
diff --git a/rt/html/NoAuth/css/3.5-default/header.css b/rt/html/NoAuth/css/3.5-default/header.css
deleted file mode 100644
index cc5c9e4b1..000000000
--- a/rt/html/NoAuth/css/3.5-default/header.css
+++ /dev/null
@@ -1,152 +0,0 @@
-%# BEGIN BPS TAGGED BLOCK {{{
-%#
-%# COPYRIGHT:
-%#
-%# This software is Copyright (c) 1996-2007 Best Practical Solutions, LLC
-%# <jesse@bestpractical.com>
-%#
-%# (Except where explicitly superseded by other copyright notices)
-%#
-%#
-%# LICENSE:
-%#
-%# This work is made available to you under the terms of Version 2 of
-%# the GNU General Public License. A copy of that license should have
-%# been provided with this software, but in any event can be snarfed
-%# from www.gnu.org.
-%#
-%# This work is distributed in the hope that it will be useful, but
-%# WITHOUT ANY WARRANTY; without even the implied warranty of
-%# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-%# General Public License for more details.
-%#
-%# You should have received a copy of the GNU General Public License
-%# along with this program; if not, write to the Free Software
-%# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
-%# 02110-1301 or visit their web page on the internet at
-%# http://www.gnu.org/copyleft/gpl.html.
-%#
-%#
-%# CONTRIBUTION SUBMISSION POLICY:
-%#
-%# (The following paragraph is not intended to limit the rights granted
-%# to you to modify and distribute this software under the terms of
-%# the GNU General Public License and is only of importance to you if
-%# you choose to contribute your changes and enhancements to the
-%# community by submitting them to Best Practical Solutions, LLC.)
-%#
-%# By intentionally submitting any modifications, corrections or
-%# derivatives to this work, or any other work intended for use with
-%# Request Tracker, to Best Practical Solutions, LLC, you confirm that
-%# you are the copyright holder for those contributions and you grant
-%# Best Practical Solutions, LLC a nonexclusive, worldwide, irrevocable,
-%# royalty-free, perpetual, license to use, copy, create derivative
-%# works based on those contributions, and sublicense and distribute
-%# those contributions and any derivatives thereof.
-%#
-%# END BPS TAGGED BLOCK }}}
-#header {
- clear: both;
- margin: 0 0.75em 0 0.75em;
- padding-top: 1em;
-}
-
-#header h1 {
- margin: 0;
- padding: 0;
- color: #930;
- position: relative;
- font-size: 2em;
- font-weight: bold;
- left: 1.3em;
- top: 0.15em;
- z-index: 3;
- width: 95%;
-}
-
-#header ul {
- margin: 0;
- padding: 0;
- color: #eee;
- float: left;
-}
-
-#header #page-menu {
- position: relative;
- z-index: 2;
- background: #069 url(<%$RT::WebImagesURL%>/css/ct.gif) no-repeat top left;
- min-width: 65%;
-}
-
-%# This is an interesting bit of CSS. expression() is an IE-only extension to
-%# it's CSS implementation. Just in case other browsers might choke on it,
-%# the rule is enclosed in a selector only IE will (wrongly) match to an element.
-%#
-%# The expression() function takes Javascript, and basically what it's doing here
-%# is checking to see if the width of the menu would be greater than 65% of the body
-%# width. If it is, great, leave it alone to automatically resize. If it is not, set
-%# it to 65% of the body width. This amounts to emulating the min-width rule that
-%# compliant browsers understand above.
-* html #header ul#page-menu {
- width: expression(document.body.clientWidth*0.65 < document.getElementById('page-menu').clientWidth ? "auto" : "65%");
- overflow: visible;
-}
-
-#page-menu div {
- position: relative;
- z-index: 3;
-}
-
-#page-menu div { background: url(<%$RT::WebImagesURL%>/css/cb.gif) no-repeat bottom left; }
-#page-menu div div { background: url(<%$RT::WebImagesURL%>/css/cbr.gif) no-repeat bottom right; }
-#page-menu div div div {
- background: url(<%$RT::WebImagesURL%>/css/ctr.gif) no-repeat top right;
- padding: 0.2em 1em 0.4em 1em;
-}
-
-#page-menu.actions-present div div { background: url(<%$RT::WebImagesURL%>/css/cbr-b2lb.gif) no-repeat bottom right; }
-#page-menu.actions-present div div div { background: url(<%$RT::WebImagesURL%>/css/ctr-b2lb.gif) no-repeat top right; }
-
-#header ul li {
- display: inline;
-}
-
-#header #actions-menu {
- position: relative;
- background: #08c;
-}
-
-#actions-menu div {
- position: relative;
- z-index: 2;
-}
-
-/*#actions-menu div { background: url(<%$RT::WebImagesURL%>/css/cb.gif) no-repeat bottom left; }*/
-#actions-menu div div { background: url(<%$RT::WebImagesURL%>/css/cbr.gif) no-repeat bottom right; }
-#actions-menu div div div {
- background: url(<%$RT::WebImagesURL%>/css/ctr.gif) no-repeat top right;
- padding: 0.2em 1em 0.4em 1em;
-}
-
-#header :link,
-#header :visited
-{
- color: white;
- text-decoration: none;
-}
-
-#header :link.selected,
-#header :visited.selected,
-#header :link:hover,
-#header :visited:hover
-{
- color: #fc6; /*#ff6;*/
-}
-
-#header :link.selected,
-#header :visited.selected
-{
- font-weight: bold;
- text-decoration: underline;
-}
-
diff --git a/rt/html/NoAuth/css/3.5-default/login.css b/rt/html/NoAuth/css/3.5-default/login.css
deleted file mode 100644
index b9e7aeb41..000000000
--- a/rt/html/NoAuth/css/3.5-default/login.css
+++ /dev/null
@@ -1,85 +0,0 @@
-%# BEGIN BPS TAGGED BLOCK {{{
-%#
-%# COPYRIGHT:
-%#
-%# This software is Copyright (c) 1996-2007 Best Practical Solutions, LLC
-%# <jesse@bestpractical.com>
-%#
-%# (Except where explicitly superseded by other copyright notices)
-%#
-%#
-%# LICENSE:
-%#
-%# This work is made available to you under the terms of Version 2 of
-%# the GNU General Public License. A copy of that license should have
-%# been provided with this software, but in any event can be snarfed
-%# from www.gnu.org.
-%#
-%# This work is distributed in the hope that it will be useful, but
-%# WITHOUT ANY WARRANTY; without even the implied warranty of
-%# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-%# General Public License for more details.
-%#
-%# You should have received a copy of the GNU General Public License
-%# along with this program; if not, write to the Free Software
-%# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
-%# 02110-1301 or visit their web page on the internet at
-%# http://www.gnu.org/copyleft/gpl.html.
-%#
-%#
-%# CONTRIBUTION SUBMISSION POLICY:
-%#
-%# (The following paragraph is not intended to limit the rights granted
-%# to you to modify and distribute this software under the terms of
-%# the GNU General Public License and is only of importance to you if
-%# you choose to contribute your changes and enhancements to the
-%# community by submitting them to Best Practical Solutions, LLC.)
-%#
-%# By intentionally submitting any modifications, corrections or
-%# derivatives to this work, or any other work intended for use with
-%# Request Tracker, to Best Practical Solutions, LLC, you confirm that
-%# you are the copyright holder for those contributions and you grant
-%# Best Practical Solutions, LLC a nonexclusive, worldwide, irrevocable,
-%# royalty-free, perpetual, license to use, copy, create derivative
-%# works based on those contributions, and sublicense and distribute
-%# those contributions and any derivatives thereof.
-%#
-%# END BPS TAGGED BLOCK }}}
-#login-box {
- width: 50%;
- margin: 0 auto 4em auto;
-}
-
-%# More rules only IE will recognize (but are still valid!) to correct for
-%# IE's incorrect handling of auto margins and the W3C defined behavior.
-%# text-align will affect a block element in IE, therefore centering it, like
-%# left and right auto margins *should*
-* html #login-box {
- text-align: center;
-}
-
-%# ... and align the text back the way it should be
-* html #login-box .titlebox {
- text-align: left;
-}
-
-#login-box .input-row {
- padding: 0.5em;
-}
-
-#login-box .input-row .label {
- width: 8em;
- float: left;
- text-align: right;
- padding: 0.2em 1em 0 0;
-}
-
-#login-box .input-row .input {
- float: left;
-}
-
-#login-box .button-row {
- clear: both;
- padding: 0.5em;
- float: right;
-}
diff --git a/rt/html/NoAuth/css/3.5-default/logo.css b/rt/html/NoAuth/css/3.5-default/logo.css
deleted file mode 100644
index e9c079cc0..000000000
--- a/rt/html/NoAuth/css/3.5-default/logo.css
+++ /dev/null
@@ -1,60 +0,0 @@
-%# BEGIN BPS TAGGED BLOCK {{{
-%#
-%# COPYRIGHT:
-%#
-%# This software is Copyright (c) 1996-2007 Best Practical Solutions, LLC
-%# <jesse@bestpractical.com>
-%#
-%# (Except where explicitly superseded by other copyright notices)
-%#
-%#
-%# LICENSE:
-%#
-%# This work is made available to you under the terms of Version 2 of
-%# the GNU General Public License. A copy of that license should have
-%# been provided with this software, but in any event can be snarfed
-%# from www.gnu.org.
-%#
-%# This work is distributed in the hope that it will be useful, but
-%# WITHOUT ANY WARRANTY; without even the implied warranty of
-%# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-%# General Public License for more details.
-%#
-%# You should have received a copy of the GNU General Public License
-%# along with this program; if not, write to the Free Software
-%# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
-%# 02110-1301 or visit their web page on the internet at
-%# http://www.gnu.org/copyleft/gpl.html.
-%#
-%#
-%# CONTRIBUTION SUBMISSION POLICY:
-%#
-%# (The following paragraph is not intended to limit the rights granted
-%# to you to modify and distribute this software under the terms of
-%# the GNU General Public License and is only of importance to you if
-%# you choose to contribute your changes and enhancements to the
-%# community by submitting them to Best Practical Solutions, LLC.)
-%#
-%# By intentionally submitting any modifications, corrections or
-%# derivatives to this work, or any other work intended for use with
-%# Request Tracker, to Best Practical Solutions, LLC, you confirm that
-%# you are the copyright holder for those contributions and you grant
-%# Best Practical Solutions, LLC a nonexclusive, worldwide, irrevocable,
-%# royalty-free, perpetual, license to use, copy, create derivative
-%# works based on those contributions, and sublicense and distribute
-%# those contributions and any derivatives thereof.
-%#
-%# END BPS TAGGED BLOCK }}}
-#logo {
- float: left;
- clear: left;
-
- margin: 0.5em 0 0.5em 10px;
-}
-
-#logo img { border: none; }
-#logo div.rtname {
- text-align: center;
- font-weight: bold;
-}
-
diff --git a/rt/html/NoAuth/css/3.5-default/main.css b/rt/html/NoAuth/css/3.5-default/main.css
deleted file mode 100644
index 13f1ba621..000000000
--- a/rt/html/NoAuth/css/3.5-default/main.css
+++ /dev/null
@@ -1,61 +0,0 @@
-%# BEGIN BPS TAGGED BLOCK {{{
-%#
-%# COPYRIGHT:
-%#
-%# This software is Copyright (c) 1996-2007 Best Practical Solutions, LLC
-%# <jesse@bestpractical.com>
-%#
-%# (Except where explicitly superseded by other copyright notices)
-%#
-%#
-%# LICENSE:
-%#
-%# This work is made available to you under the terms of Version 2 of
-%# the GNU General Public License. A copy of that license should have
-%# been provided with this software, but in any event can be snarfed
-%# from www.gnu.org.
-%#
-%# This work is distributed in the hope that it will be useful, but
-%# WITHOUT ANY WARRANTY; without even the implied warranty of
-%# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-%# General Public License for more details.
-%#
-%# You should have received a copy of the GNU General Public License
-%# along with this program; if not, write to the Free Software
-%# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
-%# 02110-1301 or visit their web page on the internet at
-%# http://www.gnu.org/copyleft/gpl.html.
-%#
-%#
-%# CONTRIBUTION SUBMISSION POLICY:
-%#
-%# (The following paragraph is not intended to limit the rights granted
-%# to you to modify and distribute this software under the terms of
-%# the GNU General Public License and is only of importance to you if
-%# you choose to contribute your changes and enhancements to the
-%# community by submitting them to Best Practical Solutions, LLC.)
-%#
-%# By intentionally submitting any modifications, corrections or
-%# derivatives to this work, or any other work intended for use with
-%# Request Tracker, to Best Practical Solutions, LLC, you confirm that
-%# you are the copyright holder for those contributions and you grant
-%# Best Practical Solutions, LLC a nonexclusive, worldwide, irrevocable,
-%# royalty-free, perpetual, license to use, copy, create derivative
-%# works based on those contributions, and sublicense and distribute
-%# those contributions and any derivatives thereof.
-%#
-%# END BPS TAGGED BLOCK }}}
-@import "misc.css";
-@import "login.css";
-@import "logo.css";
-@import "quickbar.css";
-@import "body.css";
-@import "approvals.css";
-@import "titlebox.css";
-@import "forms.css";
-@import "ticket.css";
-@import "transactions.css";
-@import "nav.css";
-@import "header.css";
-@import "footer.css";
-
diff --git a/rt/html/NoAuth/css/3.5-default/misc.css b/rt/html/NoAuth/css/3.5-default/misc.css
deleted file mode 100755
index 9e83ef448..000000000
--- a/rt/html/NoAuth/css/3.5-default/misc.css
+++ /dev/null
@@ -1,91 +0,0 @@
-%# BEGIN BPS TAGGED BLOCK {{{
-%#
-%# COPYRIGHT:
-%#
-%# This software is Copyright (c) 1996-2007 Best Practical Solutions, LLC
-%# <jesse@bestpractical.com>
-%#
-%# (Except where explicitly superseded by other copyright notices)
-%#
-%#
-%# LICENSE:
-%#
-%# This work is made available to you under the terms of Version 2 of
-%# the GNU General Public License. A copy of that license should have
-%# been provided with this software, but in any event can be snarfed
-%# from www.gnu.org.
-%#
-%# This work is distributed in the hope that it will be useful, but
-%# WITHOUT ANY WARRANTY; without even the implied warranty of
-%# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-%# General Public License for more details.
-%#
-%# You should have received a copy of the GNU General Public License
-%# along with this program; if not, write to the Free Software
-%# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
-%# 02110-1301 or visit their web page on the internet at
-%# http://www.gnu.org/copyleft/gpl.html.
-%#
-%#
-%# CONTRIBUTION SUBMISSION POLICY:
-%#
-%# (The following paragraph is not intended to limit the rights granted
-%# to you to modify and distribute this software under the terms of
-%# the GNU General Public License and is only of importance to you if
-%# you choose to contribute your changes and enhancements to the
-%# community by submitting them to Best Practical Solutions, LLC.)
-%#
-%# By intentionally submitting any modifications, corrections or
-%# derivatives to this work, or any other work intended for use with
-%# Request Tracker, to Best Practical Solutions, LLC, you confirm that
-%# you are the copyright holder for those contributions and you grant
-%# Best Practical Solutions, LLC a nonexclusive, worldwide, irrevocable,
-%# royalty-free, perpetual, license to use, copy, create derivative
-%# works based on those contributions, and sublicense and distribute
-%# those contributions and any derivatives thereof.
-%#
-%# END BPS TAGGED BLOCK }}}
-body {
- font-family: Verdana, sans-serif;
- font-size: 76%;
- margin: 0;
- background-color: white;
-}
-
-.hide, .hidden { display: none !important; }
-
-#body.calpopup {
- margin-left: 2em;
-}
-
-.calendar {
- text-align: center;
- margin: 2em 0 0 0;
-}
-
-.calendar td, .calendar th { padding: 0.1em 0.25em 0.1em 0.25em; }
-
-.calendar caption .month {
- padding: 0 1em 0 1em;
- font-size: 1.5em;
-}
-
-.evenline { background-color: white; }
-.oddline { background-color: #ddd; }
-
-td {
- padding: 0.1em 0.5em 0.1em 0.5em;
-}
-
-.clear { clear: both; }
-
-ul.action-results {
- margin-top: 0;
- margin-bottom: 0;
-}
-
-#comp-Search-Build .titlebox-content {
- padding-left: 0.7em;
- padding-right: 0.3em;
-}
-
diff --git a/rt/html/NoAuth/css/3.5-default/nav.css b/rt/html/NoAuth/css/3.5-default/nav.css
deleted file mode 100644
index 78323aa91..000000000
--- a/rt/html/NoAuth/css/3.5-default/nav.css
+++ /dev/null
@@ -1,163 +0,0 @@
-%# BEGIN BPS TAGGED BLOCK {{{
-%#
-%# COPYRIGHT:
-%#
-%# This software is Copyright (c) 1996-2007 Best Practical Solutions, LLC
-%# <jesse@bestpractical.com>
-%#
-%# (Except where explicitly superseded by other copyright notices)
-%#
-%#
-%# LICENSE:
-%#
-%# This work is made available to you under the terms of Version 2 of
-%# the GNU General Public License. A copy of that license should have
-%# been provided with this software, but in any event can be snarfed
-%# from www.gnu.org.
-%#
-%# This work is distributed in the hope that it will be useful, but
-%# WITHOUT ANY WARRANTY; without even the implied warranty of
-%# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-%# General Public License for more details.
-%#
-%# You should have received a copy of the GNU General Public License
-%# along with this program; if not, write to the Free Software
-%# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
-%# 02110-1301 or visit their web page on the internet at
-%# http://www.gnu.org/copyleft/gpl.html.
-%#
-%#
-%# CONTRIBUTION SUBMISSION POLICY:
-%#
-%# (The following paragraph is not intended to limit the rights granted
-%# to you to modify and distribute this software under the terms of
-%# the GNU General Public License and is only of importance to you if
-%# you choose to contribute your changes and enhancements to the
-%# community by submitting them to Best Practical Solutions, LLC.)
-%#
-%# By intentionally submitting any modifications, corrections or
-%# derivatives to this work, or any other work intended for use with
-%# Request Tracker, to Best Practical Solutions, LLC, you confirm that
-%# you are the copyright holder for those contributions and you grant
-%# Best Practical Solutions, LLC a nonexclusive, worldwide, irrevocable,
-%# royalty-free, perpetual, license to use, copy, create derivative
-%# works based on those contributions, and sublicense and distribute
-%# those contributions and any derivatives thereof.
-%#
-%# END BPS TAGGED BLOCK }}}
-#nav {
- clear: both;
- font-size: 1.1em;
-}
-
-#nav #system-menu,
-#nav ul
-{
- min-width: 85%;
-}
-
-%# This is an interesting bit of CSS. expression() is an IE-only extension to
-%# it's CSS implementation. Just in case other browsers might choke on it,
-%# the rule is enclosed in a selector only IE will (wrongly) match to an element.
-%#
-%# The expression() function takes Javascript, and basically what it's doing here
-%# is checking to see if the width of the menu would be greater than 85% of the body
-%# width. If it is, great, leave it alone to automatically resize. If it is not, set
-%# it to 85% of the body width. This amounts to emulating the min-width rule that
-%# compliant browsers understand above.
-* html #nav #system-menu {
- width: expression(document.body.clientWidth*0.85 < document.getElementById('page-menu').clientWidth ? "auto" : "85%");
- overflow: visible;
-}
-
-#nav ul {
- float: left;
- clear: left;
-
- color: #eee;
- font-weight: bold;
-
- margin: 0;
- padding: 0;
-
- list-style: none;
-}
-
-#nav li ul {
- margin-top: 0.75em;
-}
-
-/*
-%# We need the extra padding above for browsers where we display the arrows
-%# but those don't work in IE so we don't want as much spacing
-%#
-%# IE wrongly matches the selector below even though there isn't an element
-%# above <html> in the doc tree
-*/
-* html #nav li ul {
- margin-top: 0.25em;
-}
-
-#nav li {
- display: inline;
- margin-bottom: 1em;
- padding: 0.2em 0 0.4em 0;
-}
-
-#nav li.first { padding-left: 1em; }
-
-#nav ul div div.wrapper {
- text-align: left;
- padding: 0.2em 1em 0.4em 0;
-}
-
-/****/
-
-#nav :link,
-#nav :visited
-{
- color: #ececec;
- text-decoration: none;
-}
-
-#nav :link.selected,
-#nav :visited.selected,
-#nav :link:hover,
-#nav :visited:hover
-{
- color: #fc6; /*#ff6;*/
-}
-
-#nav :link.selected,
-#nav :visited.selected
-{
- text-decoration: underline;
-}
-
-html>body #nav :link.selected,
-html>body #nav :visited.selected
-{
- padding-bottom: 0.8em;
- background: transparent url(<%$RT::WebImagesURL%>/css/dark-arrow.png) no-repeat bottom center;
-}
-
-html>body #nav :link.selected.odd,
-html>body #nav :visited.selected.odd
-{
- padding-bottom: 0.8em;
- background: transparent url(<%$RT::WebImagesURL%>/css/light-arrow.png) no-repeat bottom center;
-}
-
-/*
-#nav ul { background: #069 url(<%$RT::WebImagesURL%>/css/ctr.gif) no-repeat top right; }
-#nav ul div { background: transparent url(<%$RT::WebImagesURL%>/css/cbr.gif) no-repeat bottom right; }
-#nav ul.odd { background: #08c url(<%$RT::WebImagesURL%>/css/ctr.gif) no-repeat top right; }
-#nav ul.odd div { background: transparent url(<%$RT::WebImagesURL%>/css/cbr.gif) no-repeat bottom right; }
-*/
-
-
-#nav ul div.wrapper { background: transparent url(<%$RT::WebImagesURL%>/css/ctr.gif) no-repeat top right; }
-#nav ul div { background: #069 url(<%$RT::WebImagesURL%>/css/cbr.gif) no-repeat bottom right; }
-#nav ul.odd div.wrapper { background: transparent url(<%$RT::WebImagesURL%>/css/ctr.gif) no-repeat top right; }
-#nav ul div.odd { background: #08c url(<%$RT::WebImagesURL%>/css/cbr.gif) no-repeat bottom right; }
-
diff --git a/rt/html/NoAuth/css/3.5-default/quickbar.css b/rt/html/NoAuth/css/3.5-default/quickbar.css
deleted file mode 100644
index 16f83f789..000000000
--- a/rt/html/NoAuth/css/3.5-default/quickbar.css
+++ /dev/null
@@ -1,98 +0,0 @@
-%# BEGIN BPS TAGGED BLOCK {{{
-%#
-%# COPYRIGHT:
-%#
-%# This software is Copyright (c) 1996-2007 Best Practical Solutions, LLC
-%# <jesse@bestpractical.com>
-%#
-%# (Except where explicitly superseded by other copyright notices)
-%#
-%#
-%# LICENSE:
-%#
-%# This work is made available to you under the terms of Version 2 of
-%# the GNU General Public License. A copy of that license should have
-%# been provided with this software, but in any event can be snarfed
-%# from www.gnu.org.
-%#
-%# This work is distributed in the hope that it will be useful, but
-%# WITHOUT ANY WARRANTY; without even the implied warranty of
-%# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-%# General Public License for more details.
-%#
-%# You should have received a copy of the GNU General Public License
-%# along with this program; if not, write to the Free Software
-%# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
-%# 02110-1301 or visit their web page on the internet at
-%# http://www.gnu.org/copyleft/gpl.html.
-%#
-%#
-%# CONTRIBUTION SUBMISSION POLICY:
-%#
-%# (The following paragraph is not intended to limit the rights granted
-%# to you to modify and distribute this software under the terms of
-%# the GNU General Public License and is only of importance to you if
-%# you choose to contribute your changes and enhancements to the
-%# community by submitting them to Best Practical Solutions, LLC.)
-%#
-%# By intentionally submitting any modifications, corrections or
-%# derivatives to this work, or any other work intended for use with
-%# Request Tracker, to Best Practical Solutions, LLC, you confirm that
-%# you are the copyright holder for those contributions and you grant
-%# Best Practical Solutions, LLC a nonexclusive, worldwide, irrevocable,
-%# royalty-free, perpetual, license to use, copy, create derivative
-%# works based on those contributions, and sublicense and distribute
-%# those contributions and any derivatives thereof.
-%#
-%# END BPS TAGGED BLOCK }}}
-#quickbar #quick-personal {
- display: inline;
- color: #888;
- padding: 0.5em 1em 0 0;
- float: right;
-}
-
-#quickbar #quick-personal span {
- font-weight: bold;
-}
-
-#quickbar #quick-personal :link,
-#quickbar #quick-personal :visited
-{
- color: #888;
- font-weight: bold;
-}
-
-#quickbar #quick-personal :link:hover,
-#quickbar #quick-personal :visited:hover
-{
- color: black;
-}
-
-#quickbar #topactions {
- float: right;
- clear: right;
-
- font-size: 0.9em;
- padding: 1em;
-}
-
-#quickbar #topactions form {
- display: inline;
- margin-left: 1em;
-}
-
-#quickbar #topactions form .button {
- padding: 0 2px 0 2px;
- font-size: 1em;
- margin: 0;
-}
-
-#quickbar #topactions form .field {
- padding: 1px;
- font-size: 0.9em;
-}
-
-#quickbar #topactions form input.field {
- padding: 3px;
-}
diff --git a/rt/html/NoAuth/css/3.5-default/ticket.css b/rt/html/NoAuth/css/3.5-default/ticket.css
deleted file mode 100644
index 5e8eeb78a..000000000
--- a/rt/html/NoAuth/css/3.5-default/ticket.css
+++ /dev/null
@@ -1,57 +0,0 @@
-%# BEGIN BPS TAGGED BLOCK {{{
-%#
-%# COPYRIGHT:
-%#
-%# This software is Copyright (c) 1996-2007 Best Practical Solutions, LLC
-%# <jesse@bestpractical.com>
-%#
-%# (Except where explicitly superseded by other copyright notices)
-%#
-%#
-%# LICENSE:
-%#
-%# This work is made available to you under the terms of Version 2 of
-%# the GNU General Public License. A copy of that license should have
-%# been provided with this software, but in any event can be snarfed
-%# from www.gnu.org.
-%#
-%# This work is distributed in the hope that it will be useful, but
-%# WITHOUT ANY WARRANTY; without even the implied warranty of
-%# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-%# General Public License for more details.
-%#
-%# You should have received a copy of the GNU General Public License
-%# along with this program; if not, write to the Free Software
-%# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
-%# 02110-1301 or visit their web page on the internet at
-%# http://www.gnu.org/copyleft/gpl.html.
-%#
-%#
-%# CONTRIBUTION SUBMISSION POLICY:
-%#
-%# (The following paragraph is not intended to limit the rights granted
-%# to you to modify and distribute this software under the terms of
-%# the GNU General Public License and is only of importance to you if
-%# you choose to contribute your changes and enhancements to the
-%# community by submitting them to Best Practical Solutions, LLC.)
-%#
-%# By intentionally submitting any modifications, corrections or
-%# derivatives to this work, or any other work intended for use with
-%# Request Tracker, to Best Practical Solutions, LLC, you confirm that
-%# you are the copyright holder for those contributions and you grant
-%# Best Practical Solutions, LLC a nonexclusive, worldwide, irrevocable,
-%# royalty-free, perpetual, license to use, copy, create derivative
-%# works based on those contributions, and sublicense and distribute
-%# those contributions and any derivatives thereof.
-%#
-%# END BPS TAGGED BLOCK }}}
-.ticket-info-cfs .label {
- vertical-align: top;
-}
-
-.ticket-info-cfs ul {
- margin: 0;
- padding: 0;
- margin-left: 0.5em;
- list-style: none;
-}
diff --git a/rt/html/NoAuth/css/3.5-default/titlebox.css b/rt/html/NoAuth/css/3.5-default/titlebox.css
deleted file mode 100644
index d4320c090..000000000
--- a/rt/html/NoAuth/css/3.5-default/titlebox.css
+++ /dev/null
@@ -1,189 +0,0 @@
-%# BEGIN BPS TAGGED BLOCK {{{
-%#
-%# COPYRIGHT:
-%#
-%# This software is Copyright (c) 1996-2007 Best Practical Solutions, LLC
-%# <jesse@bestpractical.com>
-%#
-%# (Except where explicitly superseded by other copyright notices)
-%#
-%#
-%# LICENSE:
-%#
-%# This work is made available to you under the terms of Version 2 of
-%# the GNU General Public License. A copy of that license should have
-%# been provided with this software, but in any event can be snarfed
-%# from www.gnu.org.
-%#
-%# This work is distributed in the hope that it will be useful, but
-%# WITHOUT ANY WARRANTY; without even the implied warranty of
-%# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-%# General Public License for more details.
-%#
-%# You should have received a copy of the GNU General Public License
-%# along with this program; if not, write to the Free Software
-%# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
-%# 02110-1301 or visit their web page on the internet at
-%# http://www.gnu.org/copyleft/gpl.html.
-%#
-%#
-%# CONTRIBUTION SUBMISSION POLICY:
-%#
-%# (The following paragraph is not intended to limit the rights granted
-%# to you to modify and distribute this software under the terms of
-%# the GNU General Public License and is only of importance to you if
-%# you choose to contribute your changes and enhancements to the
-%# community by submitting them to Best Practical Solutions, LLC.)
-%#
-%# By intentionally submitting any modifications, corrections or
-%# derivatives to this work, or any other work intended for use with
-%# Request Tracker, to Best Practical Solutions, LLC, you confirm that
-%# you are the copyright holder for those contributions and you grant
-%# Best Practical Solutions, LLC a nonexclusive, worldwide, irrevocable,
-%# royalty-free, perpetual, license to use, copy, create derivative
-%# works based on those contributions, and sublicense and distribute
-%# those contributions and any derivatives thereof.
-%#
-%# END BPS TAGGED BLOCK }}}
-.titlebox {
- margin-bottom: 1em;
-}
-
-.titlebox .titlebox-content {
- margin-top: -1px;
- margin: 0;
- /*margin: 1em 2em 0.5em 2em;*/
-}
-
-.titlebox .titlebox-content .titlebox-content table {
- margin: 1em 2em 0.5em 2em;
-}
-.titlebox th {
- font-size: 0.8em;
-
-}
-
-.titlebox .titlebox-content table {
-
-}
-
-
-%# TRS: I wish there was a more elegant way to do this... I essentially need to
-%# select all elements X that do NOT have element Y as a descendant... which I can
-%# fake with the child selector of CSS2, but IE is stupid and does not support that.
-
-% for (qw(index
-% Search-Build
-% User-Prefs
-% Approvals
-% Admin-Users-Modify
-% SelfService
-% SelfService-Closed
-% ))
-% {
-#comp-<%$_%> .titlebox .titlebox-content,
-% }
-.titlebox .titlebox .titlebox-content
-{
- background: #eee;
- border-bottom: 1px solid #ccc;
- border-right: 1px solid #ccc;
- border-left: 0.5em solid #069;
-}
-
-#login-box .titlebox .titlebox-content
-{
- background: none;
- border: none;
-}
-
-.titlebox .titlebox-title {
- position: relative;
- font-weight: bold;
- color: #930;
- font-size: 1.2em;
- padding: 0.2em 0 0.2em 4em;
- border-bottom: 1px solid #069;
-}
-
-.titlebox .titlebox-title .right {
- position: absolute;
- top: 0.5em;
- right: 1.5em;
- font-size: 0.9em;
- color: #888;
-}
-
-.titlebox .titlebox-title .right .selected { color: #930; }
-
-#body .titlebox .titlebox-title .right :link,
-#body .titlebox .titlebox-title .right :visited {
- color: #888;
-}
-
-#body .titlebox .titlebox-title .right :link:hover,
-#body .titlebox .titlebox-title .right :visited:hover {
- color: #930;
-}
-
-.titlebox .titlebox-title .widget a {
- display: block;
- padding-top: 1em;
- width: 20px;
-
- background: url(<%$RT::WebImagesURL%>/css/rollup-arrow.gif) no-repeat center center;
-
- margin: 0;
- text-indent: -9999px;
-
- position: absolute;
- top: 0.4em;
- left: 0.75em;
- float: left;
-
-%# Basically IE5 will see those crazy backslashes and prematurely end the rule.
-%# This allows values for IE 5's broken box model to be set before the hack and
-%# the real values to be set after. We also set voice-family back to whatever it
-%# would have been on the off chance it's actually used.
- /* WIN IE5 hack */
- height: 7px;
- voice-family: "\"}\"";
- voice-family: inherit;
- height: 0;
- overflow: hidden;
-}
-
-%# IE also doesn't support the child selector ">", so we can use it to set values
-%# that only other browsers will see (in this case, playing nice with Opera, which
-%# also suffers from the backslash hack above.)
-html>body .titlebox .titlebox-title .widget a {
- height: 0;
- overflow: hidden;
-}
-
-%# Compensates for IE's bad box model by hiding this rule from other browsers
-* html .titlebox .titlebox-title .widget a {
- background-position: center 0.3em;
- left: -3.5em;
-}
-
-.titlebox.rolled-up .titlebox-title .widget a {
- background-image: url(<%$RT::WebImagesURL%>/css/rolldown-arrow.gif);
-}
-
-#body .titlebox .titlebox-title :link,
-#body .titlebox .titlebox-title :visited
-{
- color: #930;
- text-decoration: none;
-}
-
-#body .titlebox .titlebox-title :link:hover,
-#body .titlebox .titlebox-title :visited:hover
-{
- text-decoration: underline;
-}
-
-.titlebox .titlebox-content hr.clear {
- visibility: hidden;
-}
diff --git a/rt/html/NoAuth/css/3.5-default/transactions.css b/rt/html/NoAuth/css/3.5-default/transactions.css
deleted file mode 100755
index dfc4cb9d3..000000000
--- a/rt/html/NoAuth/css/3.5-default/transactions.css
+++ /dev/null
@@ -1,146 +0,0 @@
-%# BEGIN BPS TAGGED BLOCK {{{
-%#
-%# COPYRIGHT:
-%#
-%# This software is Copyright (c) 1996-2007 Best Practical Solutions, LLC
-%# <jesse@bestpractical.com>
-%#
-%# (Except where explicitly superseded by other copyright notices)
-%#
-%#
-%# LICENSE:
-%#
-%# This work is made available to you under the terms of Version 2 of
-%# the GNU General Public License. A copy of that license should have
-%# been provided with this software, but in any event can be snarfed
-%# from www.gnu.org.
-%#
-%# This work is distributed in the hope that it will be useful, but
-%# WITHOUT ANY WARRANTY; without even the implied warranty of
-%# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-%# General Public License for more details.
-%#
-%# You should have received a copy of the GNU General Public License
-%# along with this program; if not, write to the Free Software
-%# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
-%# 02110-1301 or visit their web page on the internet at
-%# http://www.gnu.org/copyleft/gpl.html.
-%#
-%#
-%# CONTRIBUTION SUBMISSION POLICY:
-%#
-%# (The following paragraph is not intended to limit the rights granted
-%# to you to modify and distribute this software under the terms of
-%# the GNU General Public License and is only of importance to you if
-%# you choose to contribute your changes and enhancements to the
-%# community by submitting them to Best Practical Solutions, LLC.)
-%#
-%# By intentionally submitting any modifications, corrections or
-%# derivatives to this work, or any other work intended for use with
-%# Request Tracker, to Best Practical Solutions, LLC, you confirm that
-%# you are the copyright holder for those contributions and you grant
-%# Best Practical Solutions, LLC a nonexclusive, worldwide, irrevocable,
-%# royalty-free, perpetual, license to use, copy, create derivative
-%# works based on those contributions, and sublicense and distribute
-%# those contributions and any derivatives thereof.
-%#
-%# END BPS TAGGED BLOCK }}}
-.ticket-transaction {
- border-bottom: 1px solid #ddd;
- border-right: 3px solid #069;
-}
-
-#ticket-history .ticket-transaction {
- border-bottom-color: #ccc;
-}
-
-.ticket-transaction.even {
- background: #eee;
-}
-
-.ticket-transaction .date {
- font-size: 0.9em;
- width: 10em;
-}
-
-.ticket-transaction .description {
- font-weight: bold;
- font-size: 0.9em;
- text-align: left;
-}
-
-.ticket-transaction .actions {
- text-align: right;
- font-weight: bold;
-}
-
-.ticket-transaction .type {
- background: #888;
- width: 1.2em;
- color: white;
- text-align: center;
- font-size: 1em;
-}
-
-#body .ticket-transaction .type :link,
-#body .ticket-transaction .type :visited
-{
- color: white;
- font-weight: normal;
-}
-
-.ticket-transaction.basics { border-color: #b32; }
-.ticket-transaction.basics .type { background: #b32; }
-.ticket-summary .ticket-info-basics .titlebox-content { border-left: 0.5em solid #b32; }
-
-.ticket-transaction.people { border-color: #48c; }
-.ticket-transaction.people .type { background: #48c; }
-.ticket-summary .ticket-info-people .titlebox-content { border-left: 0.5em solid #48c; }
-
-%# light green - #ad8
-.ticket-transaction.links { border-color: #316531; }
-.ticket-transaction.links .type { background: #316531; }
-.ticket-summary .ticket-info-links .titlebox-content { border-left: 0.5em solid #316531; }
-
-%# orange - #d71
-.ticket-transaction.dates { border-color: #633063; }
-.ticket-transaction.dates .type { background: #633063; }
-.ticket-summary .ticket-info-dates .titlebox-content { border-left: 0.5em solid #633063; }
-
-.ticket-transaction.message { border-color: #069; }
-.ticket-transaction.message .type { background: #069; }
-
-.ticket-transaction.other { border-color: #888; }
-
-.ticket-transaction td .message-header-value {
- padding: 0;
-}
-
-.ticket-transaction td .message-header-key {
- padding: 0 1em 0 1.5em;
- font-weight: bold;
-}
-
-.ticket-transaction .downloadattachment {
- float: right;
- font-size: 0.9em;
- text-align: right;
-}
-
-.ticket-transaction .messagebody {
- clear: both;
- padding-left: 3em;
- padding-bottom: 1em;
-}
-
-%# Message stanza colors
-.message-stanza-depth-0 { color: #000; }
-.message-stanza-depth-1 { color: #600; }
-.message-stanza-depth-2 { color: #060; }
-.message-stanza-depth-3 { color: #006; }
-.message-stanza-depth-4 { color: #c00; }
-.message-stanza-depth-5 { color: #0c0; }
-.message-stanza-depth-6 { color: #00c; }
-.message-stanza-depth-7 { color: #f00; }
-.message-stanza-depth-8 { color: #0f0; }
-.message-stanza-depth-9 { color: #00f; }
diff --git a/rt/html/NoAuth/css/autohandler b/rt/html/NoAuth/css/autohandler
deleted file mode 100644
index 980e5f09d..000000000
--- a/rt/html/NoAuth/css/autohandler
+++ /dev/null
@@ -1,53 +0,0 @@
-%# BEGIN BPS TAGGED BLOCK {{{
-%#
-%# COPYRIGHT:
-%#
-%# This software is Copyright (c) 1996-2007 Best Practical Solutions, LLC
-%# <jesse@bestpractical.com>
-%#
-%# (Except where explicitly superseded by other copyright notices)
-%#
-%#
-%# LICENSE:
-%#
-%# This work is made available to you under the terms of Version 2 of
-%# the GNU General Public License. A copy of that license should have
-%# been provided with this software, but in any event can be snarfed
-%# from www.gnu.org.
-%#
-%# This work is distributed in the hope that it will be useful, but
-%# WITHOUT ANY WARRANTY; without even the implied warranty of
-%# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-%# General Public License for more details.
-%#
-%# You should have received a copy of the GNU General Public License
-%# along with this program; if not, write to the Free Software
-%# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
-%# 02110-1301 or visit their web page on the internet at
-%# http://www.gnu.org/copyleft/gpl.html.
-%#
-%#
-%# CONTRIBUTION SUBMISSION POLICY:
-%#
-%# (The following paragraph is not intended to limit the rights granted
-%# to you to modify and distribute this software under the terms of
-%# the GNU General Public License and is only of importance to you if
-%# you choose to contribute your changes and enhancements to the
-%# community by submitting them to Best Practical Solutions, LLC.)
-%#
-%# By intentionally submitting any modifications, corrections or
-%# derivatives to this work, or any other work intended for use with
-%# Request Tracker, to Best Practical Solutions, LLC, you confirm that
-%# you are the copyright holder for those contributions and you grant
-%# Best Practical Solutions, LLC a nonexclusive, worldwide, irrevocable,
-%# royalty-free, perpetual, license to use, copy, create derivative
-%# works based on those contributions, and sublicense and distribute
-%# those contributions and any derivatives thereof.
-%#
-%# END BPS TAGGED BLOCK }}}
-<%init>
-RT::Interface::Web::StaticFileHeaders();
-$r->content_type('text/css');
-$m->call_next();
-return();
-</%init>
diff --git a/rt/html/NoAuth/css/print.css b/rt/html/NoAuth/css/print.css
deleted file mode 100644
index 40d23d0d6..000000000
--- a/rt/html/NoAuth/css/print.css
+++ /dev/null
@@ -1,85 +0,0 @@
-%# BEGIN BPS TAGGED BLOCK {{{
-%#
-%# COPYRIGHT:
-%#
-%# This software is Copyright (c) 1996-2007 Best Practical Solutions, LLC
-%# <jesse@bestpractical.com>
-%#
-%# (Except where explicitly superseded by other copyright notices)
-%#
-%#
-%# LICENSE:
-%#
-%# This work is made available to you under the terms of Version 2 of
-%# the GNU General Public License. A copy of that license should have
-%# been provided with this software, but in any event can be snarfed
-%# from www.gnu.org.
-%#
-%# This work is distributed in the hope that it will be useful, but
-%# WITHOUT ANY WARRANTY; without even the implied warranty of
-%# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-%# General Public License for more details.
-%#
-%# You should have received a copy of the GNU General Public License
-%# along with this program; if not, write to the Free Software
-%# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
-%# 02110-1301 or visit their web page on the internet at
-%# http://www.gnu.org/copyleft/gpl.html.
-%#
-%#
-%# CONTRIBUTION SUBMISSION POLICY:
-%#
-%# (The following paragraph is not intended to limit the rights granted
-%# to you to modify and distribute this software under the terms of
-%# the GNU General Public License and is only of importance to you if
-%# you choose to contribute your changes and enhancements to the
-%# community by submitting them to Best Practical Solutions, LLC.)
-%#
-%# By intentionally submitting any modifications, corrections or
-%# derivatives to this work, or any other work intended for use with
-%# Request Tracker, to Best Practical Solutions, LLC, you confirm that
-%# you are the copyright holder for those contributions and you grant
-%# Best Practical Solutions, LLC a nonexclusive, worldwide, irrevocable,
-%# royalty-free, perpetual, license to use, copy, create derivative
-%# works based on those contributions, and sublicense and distribute
-%# those contributions and any derivatives thereof.
-%#
-%# END BPS TAGGED BLOCK }}}
-* {
- float: none;
- position: static;
-}
-
-body {
- margin: 1em;
- font-size: 10pt;
-}
-
-#body {
- margin: 0;
-}
-
-#header h1 {
- margin-bottom: 2em;
-}
-
-#header {
- padding: 0 !important;
-}
-
-#quickbar,
-#nav,
-#header #page-menu,
-#header #actions-menu,
-.titlebox .title .widget,
-#footer
-{
-display: none;
-}
-
-a:link, a:visited {
- background: transparent;
- font-weight: bold !important;
- text-decoration: underline !important;
-}
-
diff --git a/rt/html/NoAuth/images/back_home.gif b/rt/html/NoAuth/images/back_home.gif
deleted file mode 100644
index 40b19c153..000000000
--- a/rt/html/NoAuth/images/back_home.gif
+++ /dev/null
Binary files differ
diff --git a/rt/html/NoAuth/images/css/cb-light.gif b/rt/html/NoAuth/images/css/cb-light.gif
deleted file mode 100644
index d5e3059b0..000000000
--- a/rt/html/NoAuth/images/css/cb-light.gif
+++ /dev/null
Binary files differ
diff --git a/rt/html/NoAuth/images/css/cb.gif b/rt/html/NoAuth/images/css/cb.gif
deleted file mode 100644
index 53bb2aec2..000000000
--- a/rt/html/NoAuth/images/css/cb.gif
+++ /dev/null
Binary files differ
diff --git a/rt/html/NoAuth/images/css/cbr-b2g.gif b/rt/html/NoAuth/images/css/cbr-b2g.gif
deleted file mode 100644
index 6bca03d10..000000000
--- a/rt/html/NoAuth/images/css/cbr-b2g.gif
+++ /dev/null
Binary files differ
diff --git a/rt/html/NoAuth/images/css/cbr-b2lb.gif b/rt/html/NoAuth/images/css/cbr-b2lb.gif
deleted file mode 100644
index d207f846b..000000000
--- a/rt/html/NoAuth/images/css/cbr-b2lb.gif
+++ /dev/null
Binary files differ
diff --git a/rt/html/NoAuth/images/css/cbr-gray.gif b/rt/html/NoAuth/images/css/cbr-gray.gif
deleted file mode 100644
index d7327103a..000000000
--- a/rt/html/NoAuth/images/css/cbr-gray.gif
+++ /dev/null
Binary files differ
diff --git a/rt/html/NoAuth/images/css/cbr-trans.gif b/rt/html/NoAuth/images/css/cbr-trans.gif
deleted file mode 100644
index dc272ee5d..000000000
--- a/rt/html/NoAuth/images/css/cbr-trans.gif
+++ /dev/null
Binary files differ
diff --git a/rt/html/NoAuth/images/css/cbr.gif b/rt/html/NoAuth/images/css/cbr.gif
deleted file mode 100644
index 754cee19b..000000000
--- a/rt/html/NoAuth/images/css/cbr.gif
+++ /dev/null
Binary files differ
diff --git a/rt/html/NoAuth/images/css/ct-light.gif b/rt/html/NoAuth/images/css/ct-light.gif
deleted file mode 100644
index 55125b0fa..000000000
--- a/rt/html/NoAuth/images/css/ct-light.gif
+++ /dev/null
Binary files differ
diff --git a/rt/html/NoAuth/images/css/ct.gif b/rt/html/NoAuth/images/css/ct.gif
deleted file mode 100644
index d16a5c57f..000000000
--- a/rt/html/NoAuth/images/css/ct.gif
+++ /dev/null
Binary files differ
diff --git a/rt/html/NoAuth/images/css/ctr-b2g.gif b/rt/html/NoAuth/images/css/ctr-b2g.gif
deleted file mode 100644
index 540e6d0ef..000000000
--- a/rt/html/NoAuth/images/css/ctr-b2g.gif
+++ /dev/null
Binary files differ
diff --git a/rt/html/NoAuth/images/css/ctr-b2lb.gif b/rt/html/NoAuth/images/css/ctr-b2lb.gif
deleted file mode 100644
index c98b18c9d..000000000
--- a/rt/html/NoAuth/images/css/ctr-b2lb.gif
+++ /dev/null
Binary files differ
diff --git a/rt/html/NoAuth/images/css/ctr-gray.gif b/rt/html/NoAuth/images/css/ctr-gray.gif
deleted file mode 100644
index 8d5e5dd32..000000000
--- a/rt/html/NoAuth/images/css/ctr-gray.gif
+++ /dev/null
Binary files differ
diff --git a/rt/html/NoAuth/images/css/ctr-trans.gif b/rt/html/NoAuth/images/css/ctr-trans.gif
deleted file mode 100644
index bb316cf04..000000000
--- a/rt/html/NoAuth/images/css/ctr-trans.gif
+++ /dev/null
Binary files differ
diff --git a/rt/html/NoAuth/images/css/ctr.gif b/rt/html/NoAuth/images/css/ctr.gif
deleted file mode 100644
index 9754e1567..000000000
--- a/rt/html/NoAuth/images/css/ctr.gif
+++ /dev/null
Binary files differ
diff --git a/rt/html/NoAuth/images/css/dark-arrow-up.png b/rt/html/NoAuth/images/css/dark-arrow-up.png
deleted file mode 100644
index 443096aa5..000000000
--- a/rt/html/NoAuth/images/css/dark-arrow-up.png
+++ /dev/null
Binary files differ
diff --git a/rt/html/NoAuth/images/css/dark-arrow.png b/rt/html/NoAuth/images/css/dark-arrow.png
deleted file mode 100644
index a83500aad..000000000
--- a/rt/html/NoAuth/images/css/dark-arrow.png
+++ /dev/null
Binary files differ
diff --git a/rt/html/NoAuth/images/css/light-arrow-up.png b/rt/html/NoAuth/images/css/light-arrow-up.png
deleted file mode 100644
index c209d4335..000000000
--- a/rt/html/NoAuth/images/css/light-arrow-up.png
+++ /dev/null
Binary files differ
diff --git a/rt/html/NoAuth/images/css/light-arrow.png b/rt/html/NoAuth/images/css/light-arrow.png
deleted file mode 100644
index 575d4e5ec..000000000
--- a/rt/html/NoAuth/images/css/light-arrow.png
+++ /dev/null
Binary files differ
diff --git a/rt/html/NoAuth/images/css/rolldown-arrow.gif b/rt/html/NoAuth/images/css/rolldown-arrow.gif
deleted file mode 100644
index 3c296dcae..000000000
--- a/rt/html/NoAuth/images/css/rolldown-arrow.gif
+++ /dev/null
Binary files differ
diff --git a/rt/html/NoAuth/images/css/rolldown-arrow.png b/rt/html/NoAuth/images/css/rolldown-arrow.png
deleted file mode 100644
index 33d8ab1e2..000000000
--- a/rt/html/NoAuth/images/css/rolldown-arrow.png
+++ /dev/null
Binary files differ
diff --git a/rt/html/NoAuth/images/css/rollup-arrow.gif b/rt/html/NoAuth/images/css/rollup-arrow.gif
deleted file mode 100644
index f009ff4c6..000000000
--- a/rt/html/NoAuth/images/css/rollup-arrow.gif
+++ /dev/null
Binary files differ
diff --git a/rt/html/NoAuth/images/head_requestracker.gif b/rt/html/NoAuth/images/head_requestracker.gif
deleted file mode 100644
index 73315e918..000000000
--- a/rt/html/NoAuth/images/head_requestracker.gif
+++ /dev/null
Binary files differ
diff --git a/rt/html/NoAuth/images/rt.jpg b/rt/html/NoAuth/images/rt.jpg
deleted file mode 100644
index a137a932b..000000000
--- a/rt/html/NoAuth/images/rt.jpg
+++ /dev/null
Binary files differ
diff --git a/rt/html/NoAuth/images/spacer.gif b/rt/html/NoAuth/images/spacer.gif
deleted file mode 100644
index 5bfd67a2d..000000000
--- a/rt/html/NoAuth/images/spacer.gif
+++ /dev/null
Binary files differ
diff --git a/rt/html/NoAuth/images/squares_blue.gif b/rt/html/NoAuth/images/squares_blue.gif
deleted file mode 100644
index a28da5ce1..000000000
--- a/rt/html/NoAuth/images/squares_blue.gif
+++ /dev/null
Binary files differ
diff --git a/rt/html/NoAuth/js/ahah.js b/rt/html/NoAuth/js/ahah.js
deleted file mode 100644
index 03ed12a97..000000000
--- a/rt/html/NoAuth/js/ahah.js
+++ /dev/null
@@ -1,80 +0,0 @@
-%# BEGIN BPS TAGGED BLOCK {{{
-%#
-%# COPYRIGHT:
-%#
-%# This software is Copyright (c) 1996-2007 Best Practical Solutions, LLC
-%# <jesse@bestpractical.com>
-%#
-%# (Except where explicitly superseded by other copyright notices)
-%#
-%#
-%# LICENSE:
-%#
-%# This work is made available to you under the terms of Version 2 of
-%# the GNU General Public License. A copy of that license should have
-%# been provided with this software, but in any event can be snarfed
-%# from www.gnu.org.
-%#
-%# This work is distributed in the hope that it will be useful, but
-%# WITHOUT ANY WARRANTY; without even the implied warranty of
-%# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-%# General Public License for more details.
-%#
-%# You should have received a copy of the GNU General Public License
-%# along with this program; if not, write to the Free Software
-%# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
-%# 02110-1301 or visit their web page on the internet at
-%# http://www.gnu.org/copyleft/gpl.html.
-%#
-%#
-%# CONTRIBUTION SUBMISSION POLICY:
-%#
-%# (The following paragraph is not intended to limit the rights granted
-%# to you to modify and distribute this software under the terms of
-%# the GNU General Public License and is only of importance to you if
-%# you choose to contribute your changes and enhancements to the
-%# community by submitting them to Best Practical Solutions, LLC.)
-%#
-%# By intentionally submitting any modifications, corrections or
-%# derivatives to this work, or any other work intended for use with
-%# Request Tracker, to Best Practical Solutions, LLC, you confirm that
-%# you are the copyright holder for those contributions and you grant
-%# Best Practical Solutions, LLC a nonexclusive, worldwide, irrevocable,
-%# royalty-free, perpetual, license to use, copy, create derivative
-%# works based on those contributions, and sublicense and distribute
-%# those contributions and any derivatives thereof.
-%#
-%# END BPS TAGGED BLOCK }}}
-/*
-% $r->content_type('application/x-javascript');
-*/
-// Fetched from http://www.opendarwin.org/~drernie/src/ahah.js
-function ahah(url, target, delay) {
- // document.getElementById(target).innerHTML = 'Loading <a href="'+url+'">'+url +'</a>...';
- if (window.XMLHttpRequest) {
- req = new XMLHttpRequest();
- } else if (window.ActiveXObject) {
- req = new ActiveXObject("Microsoft.XMLHTTP");
- }
- if (req != undefined) {
- req.onreadystatechange = function() {ahahDone(url, target, delay);};
- req.open("GET", url, true);
- req.send("");
- }
-}
-
-function ahahDone(url, target, delay) {
- if (req.readyState == 4) { // only if req is "loaded"
- if (req.status == 200) { // only if "OK"
- document.getElementById(target).innerHTML = req.responseText;
- } else {
- document.getElementById(target).innerHTML="Error loading '"+url+"':\n"+req.statusText;
- }
- if (delay != undefined) {
- setTimeout("ahah(url,target,delay)", delay); // resubmit after delay
- //server should ALSO delay before responding
- }
- }
-}
-
-% $m->abort();
diff --git a/rt/html/NoAuth/js/autohandler b/rt/html/NoAuth/js/autohandler
deleted file mode 100644
index fd1b90075..000000000
--- a/rt/html/NoAuth/js/autohandler
+++ /dev/null
@@ -1,53 +0,0 @@
-%# BEGIN BPS TAGGED BLOCK {{{
-%#
-%# COPYRIGHT:
-%#
-%# This software is Copyright (c) 1996-2007 Best Practical Solutions, LLC
-%# <jesse@bestpractical.com>
-%#
-%# (Except where explicitly superseded by other copyright notices)
-%#
-%#
-%# LICENSE:
-%#
-%# This work is made available to you under the terms of Version 2 of
-%# the GNU General Public License. A copy of that license should have
-%# been provided with this software, but in any event can be snarfed
-%# from www.gnu.org.
-%#
-%# This work is distributed in the hope that it will be useful, but
-%# WITHOUT ANY WARRANTY; without even the implied warranty of
-%# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-%# General Public License for more details.
-%#
-%# You should have received a copy of the GNU General Public License
-%# along with this program; if not, write to the Free Software
-%# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
-%# 02110-1301 or visit their web page on the internet at
-%# http://www.gnu.org/copyleft/gpl.html.
-%#
-%#
-%# CONTRIBUTION SUBMISSION POLICY:
-%#
-%# (The following paragraph is not intended to limit the rights granted
-%# to you to modify and distribute this software under the terms of
-%# the GNU General Public License and is only of importance to you if
-%# you choose to contribute your changes and enhancements to the
-%# community by submitting them to Best Practical Solutions, LLC.)
-%#
-%# By intentionally submitting any modifications, corrections or
-%# derivatives to this work, or any other work intended for use with
-%# Request Tracker, to Best Practical Solutions, LLC, you confirm that
-%# you are the copyright holder for those contributions and you grant
-%# Best Practical Solutions, LLC a nonexclusive, worldwide, irrevocable,
-%# royalty-free, perpetual, license to use, copy, create derivative
-%# works based on those contributions, and sublicense and distribute
-%# those contributions and any derivatives thereof.
-%#
-%# END BPS TAGGED BLOCK }}}
-<%init>
-&RT::Interface::Web::StaticFileHeaders();
-$r->content_type('application/x-javascript');
-$m->call_next();
-return();
-</%init>
diff --git a/rt/html/NoAuth/js/cascaded.js b/rt/html/NoAuth/js/cascaded.js
deleted file mode 100644
index 79da4167f..000000000
--- a/rt/html/NoAuth/js/cascaded.js
+++ /dev/null
@@ -1,66 +0,0 @@
-%# BEGIN BPS TAGGED BLOCK {{{
-%#
-%# COPYRIGHT:
-%#
-%# This software is Copyright (c) 1996-2007 Best Practical Solutions, LLC
-%# <jesse@bestpractical.com>
-%#
-%# (Except where explicitly superseded by other copyright notices)
-%#
-%#
-%# LICENSE:
-%#
-%# This work is made available to you under the terms of Version 2 of
-%# the GNU General Public License. A copy of that license should have
-%# been provided with this software, but in any event can be snarfed
-%# from www.gnu.org.
-%#
-%# This work is distributed in the hope that it will be useful, but
-%# WITHOUT ANY WARRANTY; without even the implied warranty of
-%# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-%# General Public License for more details.
-%#
-%# You should have received a copy of the GNU General Public License
-%# along with this program; if not, write to the Free Software
-%# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
-%# 02110-1301 or visit their web page on the internet at
-%# http://www.gnu.org/copyleft/gpl.html.
-%#
-%#
-%# CONTRIBUTION SUBMISSION POLICY:
-%#
-%# (The following paragraph is not intended to limit the rights granted
-%# to you to modify and distribute this software under the terms of
-%# the GNU General Public License and is only of importance to you if
-%# you choose to contribute your changes and enhancements to the
-%# community by submitting them to Best Practical Solutions, LLC.)
-%#
-%# By intentionally submitting any modifications, corrections or
-%# derivatives to this work, or any other work intended for use with
-%# Request Tracker, to Best Practical Solutions, LLC, you confirm that
-%# you are the copyright holder for those contributions and you grant
-%# Best Practical Solutions, LLC a nonexclusive, worldwide, irrevocable,
-%# royalty-free, perpetual, license to use, copy, create derivative
-%# works based on those contributions, and sublicense and distribute
-%# those contributions and any derivatives thereof.
-%#
-%# END BPS TAGGED BLOCK }}}
-function filter_cascade (id, val) {
- var select = document.getElementById(id);
- if (!select) { return };
- var i;
- var children = select.childNodes;
- for (i in children) {
- var style = children[i].style;
- if (!style) { continue };
- if (val == '') {
- style.display = 'block';
- continue;
- }
- if (children[i].label.substr(0, val.length) == val) {
- style.display = 'block';
- continue;
- }
- style.display = 'none';
- }
-}
diff --git a/rt/html/NoAuth/js/class.js b/rt/html/NoAuth/js/class.js
deleted file mode 100644
index 9e4c70ea5..000000000
--- a/rt/html/NoAuth/js/class.js
+++ /dev/null
@@ -1,62 +0,0 @@
-%# BEGIN BPS TAGGED BLOCK {{{
-%#
-%# COPYRIGHT:
-%#
-%# This software is Copyright (c) 1996-2007 Best Practical Solutions, LLC
-%# <jesse@bestpractical.com>
-%#
-%# (Except where explicitly superseded by other copyright notices)
-%#
-%#
-%# LICENSE:
-%#
-%# This work is made available to you under the terms of Version 2 of
-%# the GNU General Public License. A copy of that license should have
-%# been provided with this software, but in any event can be snarfed
-%# from www.gnu.org.
-%#
-%# This work is distributed in the hope that it will be useful, but
-%# WITHOUT ANY WARRANTY; without even the implied warranty of
-%# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-%# General Public License for more details.
-%#
-%# You should have received a copy of the GNU General Public License
-%# along with this program; if not, write to the Free Software
-%# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
-%# 02110-1301 or visit their web page on the internet at
-%# http://www.gnu.org/copyleft/gpl.html.
-%#
-%#
-%# CONTRIBUTION SUBMISSION POLICY:
-%#
-%# (The following paragraph is not intended to limit the rights granted
-%# to you to modify and distribute this software under the terms of
-%# the GNU General Public License and is only of importance to you if
-%# you choose to contribute your changes and enhancements to the
-%# community by submitting them to Best Practical Solutions, LLC.)
-%#
-%# By intentionally submitting any modifications, corrections or
-%# derivatives to this work, or any other work intended for use with
-%# Request Tracker, to Best Practical Solutions, LLC, you confirm that
-%# you are the copyright holder for those contributions and you grant
-%# Best Practical Solutions, LLC a nonexclusive, worldwide, irrevocable,
-%# royalty-free, perpetual, license to use, copy, create derivative
-%# works based on those contributions, and sublicense and distribute
-%# those contributions and any derivatives thereof.
-%#
-%# END BPS TAGGED BLOCK }}}
-/* by TKirby, released under GPL */
-
- function _ClassSetup(Object) {
- this.prototype = Object;
- return this;
- }
-
- function Class(name) {
- var _newclass_;
- eval("window."+name+" = new Function('this."+name+".apply(this,arguments);');");
- eval("window."+name+".define = _ClassSetup;");
- eval("_newclass_ = window."+name+";");
- return _newclass_;
- }
-
diff --git a/rt/html/NoAuth/js/combobox.js b/rt/html/NoAuth/js/combobox.js
deleted file mode 100644
index 9225870b6..000000000
--- a/rt/html/NoAuth/js/combobox.js
+++ /dev/null
@@ -1,265 +0,0 @@
-%# BEGIN BPS TAGGED BLOCK {{{
-%#
-%# COPYRIGHT:
-%#
-%# This software is Copyright (c) 1996-2007 Best Practical Solutions, LLC
-%# <jesse@bestpractical.com>
-%#
-%# (Except where explicitly superseded by other copyright notices)
-%#
-%#
-%# LICENSE:
-%#
-%# This work is made available to you under the terms of Version 2 of
-%# the GNU General Public License. A copy of that license should have
-%# been provided with this software, but in any event can be snarfed
-%# from www.gnu.org.
-%#
-%# This work is distributed in the hope that it will be useful, but
-%# WITHOUT ANY WARRANTY; without even the implied warranty of
-%# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-%# General Public License for more details.
-%#
-%# You should have received a copy of the GNU General Public License
-%# along with this program; if not, write to the Free Software
-%# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
-%# 02110-1301 or visit their web page on the internet at
-%# http://www.gnu.org/copyleft/gpl.html.
-%#
-%#
-%# CONTRIBUTION SUBMISSION POLICY:
-%#
-%# (The following paragraph is not intended to limit the rights granted
-%# to you to modify and distribute this software under the terms of
-%# the GNU General Public License and is only of importance to you if
-%# you choose to contribute your changes and enhancements to the
-%# community by submitting them to Best Practical Solutions, LLC.)
-%#
-%# By intentionally submitting any modifications, corrections or
-%# derivatives to this work, or any other work intended for use with
-%# Request Tracker, to Best Practical Solutions, LLC, you confirm that
-%# you are the copyright holder for those contributions and you grant
-%# Best Practical Solutions, LLC a nonexclusive, worldwide, irrevocable,
-%# royalty-free, perpetual, license to use, copy, create derivative
-%# works based on those contributions, and sublicense and distribute
-%# those contributions and any derivatives thereof.
-%#
-%# END BPS TAGGED BLOCK }}}
-function ComboBox_InitWith(n) {
- if ( typeof( window.addEventListener ) != "undefined" ) {
- window.addEventListener("load", ComboBox_Init(n), false);
- } else if ( typeof( window.attachEvent ) != "undefined" ) {
- window.attachEvent("onload", ComboBox_Init(n));
- } else {
- ComboBox_Init(n)();
- }
-}
-function ComboBox_Init(n) {
- return function () {
- if ( ComboBox_UplevelBrowser( n ) ) {
- ComboBox_Load( n );
- }
- }
-}
-function ComboBox_UplevelBrowser( n ) {
- if( typeof( document.getElementById ) == "undefined" ) return false;
- var combo = document.getElementById( n + "_Container" );
- if( combo == null || typeof( combo ) == "undefined" ) return false;
- if( typeof( combo.style ) == "undefined" ) return false;
- if( typeof( combo.innerHTML ) == "undefined" ) return false;
- return true;
-}
-function ComboBox_Load( comboId ) {
- var combo = document.getElementById( comboId + "_Container" );
- var button = document.getElementById( comboId + "_Button" );
- var list = document.getElementById( comboId + "_List" );
- var text = document.getElementById( comboId );
-
-
- combo.List = list;
- combo.Button = button;
- combo.Text = text;
-
- button.Container = combo;
- button.Toggle = ComboBox_ToggleList;
- button.onclick = button.Toggle;
- button.onmouseover = function(e) { this.Container.List.DisableBlur(e); };
- button.onmouseout = function(e) { this.Container.List.EnableBlur(e); };
- button.innerHTML = "\u25BC";
- button.onselectstart = function(e){ return false; };
- button.style.height = ( list.offsetHeight - 4 ) + "px";
-
- text.Container = combo;
- text.TypeDown = ComboBox_TextTypeDown;
- text.KeyAccess = ComboBox_TextKeyAccess;
- text.onkeyup = function(e) { this.KeyAccess(e); this.TypeDown(e); };
- text.style.width = ( list.offsetWidth ) + "px";
-
- list.Container = combo;
- list.Show = ComboBox_ShowList;
- list.Hide = ComboBox_HideList;
- list.EnableBlur = ComboBox_ListEnableBlur;
- list.DisableBlur = ComboBox_ListDisableBlur;
- list.Select = ComboBox_ListItemSelect;
- list.ClearSelection = ComboBox_ListClearSelection;
- list.KeyAccess = ComboBox_ListKeyAccess;
- list.FireTextChange = ComboBox_ListFireTextChange;
- list.onchange = null;
- list.onclick = function(e){ this.Select(e); this.ClearSelection(); this.FireTextChange(); };
- list.onkeyup = function(e) { this.KeyAccess(e); };
- list.EnableBlur(null);
- list.style.position = "absolute";
- list.size = ComboBox_GetListSize( list );
- list.IsShowing = true;
- list.Hide();
-
-}
-function ComboBox_InitEvent( e ) {
- if( typeof( e ) == "undefined" && typeof( window.event ) != "undefined" ) e = window.event;
- if( e == null ) e = new Object();
- return e;
-}
-function ComboBox_ListClearSelection() {
- if ( typeof( this.Container.Text.createTextRange ) == "undefined" ) return;
- var rNew = this.Container.Text.createTextRange();
- rNew.moveStart('character', this.Container.Text.value.length) ;
- rNew.select();
-}
-function ComboBox_GetListSize( theList ) {
- ComboBox_EnsureListSize( theList );
- return theList.listSize;
-}
-function ComboBox_EnsureListSize( theList ) {
- if ( typeof( theList.listSize ) == "undefined" ) {
- if( typeof( theList.getAttribute ) != "undefined" ) {
- if( theList.getAttribute( "listSize" ) != null && theList.getAttribute( "listSize" ) != "" ) {
- theList.listSize = theList.getAttribute( "listSize" );
- return;
- }
- }
- if( theList.options.length > 0 ) {
- theList.listSize = theList.options.length;
- return;
- }
- theList.listSize = 4;
- }
-}
-function ComboBox_ListKeyAccess(e) { //Make enter/space and escape do the right thing :)
- e = ComboBox_InitEvent( e );
- if( e.keyCode == 13 || e.keyCode == 32 ) {
- this.Select();
- return;
- }
- if( e.keyCode == 27 ) {
- this.Hide();
- this.Container.Text.focus();
- return;
- }
-}
-function ComboBox_TextKeyAccess(e) { //Make alt+arrow expand the list
- e = ComboBox_InitEvent( e );
- if( e.altKey && (e.keyCode == 38 || e.keyCode == 40) ) {
- this.Container.List.Show();
- }
-}
-function ComboBox_TextTypeDown(e) { //Make the textbox do a type-down on the list
- e = ComboBox_InitEvent( e );
- var items = this.Container.List.options;
- if( this.value == "" ) return;
- var ctrlKeys = Array( 8, 46, 37, 38, 39, 40, 33, 34, 35, 36, 45, 16, 20 );
- for( var i = 0; i < ctrlKeys.length; i++ ) {
- if( e.keyCode == ctrlKeys[i] ) return;
- }
- for( var i = 0; i < items.length; i++ ) {
- var item = items[i];
- if( item.text.toLowerCase().indexOf( this.value.toLowerCase() ) == 0 ) {
- this.Container.List.selectedIndex = i;
- if ( typeof( this.Container.Text.createTextRange ) != "undefined" ) {
- this.Container.List.Select();
- }
- break;
- }
- }
-}
-function ComboBox_ListFireTextChange() {
- var textOnChange = this.Container.Text.onchange;
- if ( textOnChange != null && typeof(textOnChange) == "function" ) {
- textOnChange();
- }
-}
-function ComboBox_ListEnableBlur(e) {
- this.onblur = this.Hide;
-}
-function ComboBox_ListDisableBlur(e) {
- this.onblur = null;
-}
-function ComboBox_ListItemSelect(e) {
- if( this.options.length > 0 ) {
- var text = this.Container.Text;
- var oldValue = text.value;
- var newValue = this.options[ this.selectedIndex ].text;
- text.value = newValue;
- if ( typeof( text.createTextRange ) != "undefined" ) {
- if (newValue != oldValue) {
- var rNew = text.createTextRange();
- rNew.moveStart('character', oldValue.length) ;
- rNew.select();
- }
- }
- }
- this.Hide();
- this.Container.Text.focus();
-}
-function ComboBox_ToggleList(e) {
- if( this.Container.List.IsShowing == true ) {
- this.Container.List.Hide();
- } else {
- this.Container.List.Show();
- }
-}
-function ComboBox_ShowList(e) {
- if ( !this.IsShowing && !this.disabled ) {
- this.style.width = ( this.Container.offsetWidth ) + "px";
- this.style.top = ( this.Container.offsetHeight + ComboBox_RecursiveOffsetTop(this.Container,true) ) + "px";
- this.style.left = ( ComboBox_RecursiveOffsetLeft(this.Container,true) + 1 ) + "px";
- ComboBox_SetVisibility(this,true);
- this.focus();
- this.IsShowing = true;
- }
-}
-function ComboBox_HideList(e) {
- if( this.IsShowing ) {
- ComboBox_SetVisibility(this,false);
- this.IsShowing = false;
- }
-}
-function ComboBox_SetVisibility(theList, isVisible) {
- setVisibility(theList, isVisible);
-}
-function ComboBox_RecursiveOffsetTop(thisObject,isFirst) {
- if(thisObject.offsetParent) {
- if ( thisObject.style.position == "absolute" && !isFirst && typeof(document.designMode) != "undefined" ) {
- return 0;
- }
- return (thisObject.offsetTop + ComboBox_RecursiveOffsetTop(thisObject.offsetParent,false));
- } else {
- return thisObject.offsetTop;
- }
-}
-function ComboBox_RecursiveOffsetLeft(thisObject,isFirst) {
- if(thisObject.offsetParent) {
- if ( thisObject.style.position == "absolute" && !isFirst && typeof(document.designMode) != "undefined" ) {
- return 0;
- }
- return (thisObject.offsetLeft + ComboBox_RecursiveOffsetLeft(thisObject.offsetParent,false));
- } else {
- return thisObject.offsetLeft;
- }
-}
-function ComboBox_SimpleAttach(selectElement,textElement) {
- textElement.value = selectElement.options[ selectElement.options.selectedIndex ].text;
- var textOnChange = textElement.onchange;
- if ( textOnChange != null && typeof( textOnChange ) == "function" ) {
- textOnChange();
- }
-}
diff --git a/rt/html/NoAuth/js/list.js b/rt/html/NoAuth/js/list.js
deleted file mode 100644
index 9753b9771..000000000
--- a/rt/html/NoAuth/js/list.js
+++ /dev/null
@@ -1,159 +0,0 @@
-%# BEGIN BPS TAGGED BLOCK {{{
-%#
-%# COPYRIGHT:
-%#
-%# This software is Copyright (c) 1996-2007 Best Practical Solutions, LLC
-%# <jesse@bestpractical.com>
-%#
-%# (Except where explicitly superseded by other copyright notices)
-%#
-%#
-%# LICENSE:
-%#
-%# This work is made available to you under the terms of Version 2 of
-%# the GNU General Public License. A copy of that license should have
-%# been provided with this software, but in any event can be snarfed
-%# from www.gnu.org.
-%#
-%# This work is distributed in the hope that it will be useful, but
-%# WITHOUT ANY WARRANTY; without even the implied warranty of
-%# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-%# General Public License for more details.
-%#
-%# You should have received a copy of the GNU General Public License
-%# along with this program; if not, write to the Free Software
-%# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
-%# 02110-1301 or visit their web page on the internet at
-%# http://www.gnu.org/copyleft/gpl.html.
-%#
-%#
-%# CONTRIBUTION SUBMISSION POLICY:
-%#
-%# (The following paragraph is not intended to limit the rights granted
-%# to you to modify and distribute this software under the terms of
-%# the GNU General Public License and is only of importance to you if
-%# you choose to contribute your changes and enhancements to the
-%# community by submitting them to Best Practical Solutions, LLC.)
-%#
-%# By intentionally submitting any modifications, corrections or
-%# derivatives to this work, or any other work intended for use with
-%# Request Tracker, to Best Practical Solutions, LLC, you confirm that
-%# you are the copyright holder for those contributions and you grant
-%# Best Practical Solutions, LLC a nonexclusive, worldwide, irrevocable,
-%# royalty-free, perpetual, license to use, copy, create derivative
-%# works based on those contributions, and sublicense and distribute
-%# those contributions and any derivatives thereof.
-%#
-%# END BPS TAGGED BLOCK }}}
-/* by TKirby, released under GPL */
-/* Define the "list" Class */
-Class("list").define({
- name : null,
- xml : null,
- sels : null,
- list : function (src, esrc, name) { this.init(src, esrc, name); },
- read : function () {
- var i = 0;
- if(this.xml.readyState!=4) { setTimeout(this.name+".read()", 100); }
- else if(this.xml.status!=200) alert("Document not available.");
- else {
- var doc = this.xml.responseXML;
- var nNode = null;
- if(doc.childNodes[0].nodeName=="parseerror") alert("Parse Error.");
- doc = doc.getElementsByTagName("list")[0];
- for(i=0;i<doc.childNodes.length;i++) {
- if(doc.childNodes[i].childNodes.length>0) {
- nNode = document.createElement("option");
- nNode.appendChild(document.createTextNode(doc.childNodes[i].childNodes[0].nodeValue));
- this.sels[0].appendChild(nNode);
- }
- }
- }
- },
-
- init : function (src,esrc,name) {
- if(!src) return;
- this.name = name;
- this.sels = new Array();
- var i = 0;
- for(i=0;i<src.childNodes.length;i++) {
- if(src.childNodes[i].nodeName=="select" || src.childNodes[i].nodeName=="SELECT") {
- this.sels.push(src.childNodes[i]);
- }
-
- if((src.childNodes[i].nodeName=="input" || src.childNodes[i].nodeName=="INPUT")
- && (src.childNodes[i].name=="fromjs")) {
- src.childNodes[i].value = 1;
- }
-
- if((src.childNodes[i].nodeName=="input" || src.childNodes[i].nodeName=="INPUT")
- && (src.childNodes[i].type=="submit" || src.childNodes[i].type=="SUBMIT")) {
-
- if (src.childNodes[i].name.indexOf("Save") < 0) {
- var tmp = document.createElement("input");
- tmp.type = "button";
- tmp.name = src.childNodes[i].name;
- tmp.value = src.childNodes[i].value;
- src.replaceChild(tmp,src.childNodes[i]);
- }
-
- if(src.childNodes[i].name=="add")
- src.childNodes[i].onclick = new Function(this.name+".add();");
- if(src.childNodes[i].name=="remove")
- src.childNodes[i].onclick = new Function(this.name+".remove();");
- if(src.childNodes[i].name=="moveup")
- src.childNodes[i].onclick = new Function(this.name+".moveup();");
- if(src.childNodes[i].name=="movedown")
- src.childNodes[i].onclick = new Function(this.name+".movedown();");
- }
- }
- if (esrc) {
- this.xml = (window.navigator.appName!="Microsoft Internet Explorer"
- ?new XMLHttpRequest():new ActiveXObject("Microsoft.XMLHTTP"));
- this.xml.open("GET", esrc);
- this.xml.send("");
- setTimeout(this.name+".read()", 100);
- }
- },
-
- add : function() {
- var i, j = 0;
- var dNode = null;
- for(i=0;i<this.sels[0].length;i++) if(this.sels[0][i].selected) {
- for(j=0;j<this.sels[1].length;j++) if(this.sels[1][j].value==this.sels[0][i].value) break;
- if(j==this.sels[1].length) dNode = this.sels[0][i].cloneNode(true),
- this.sels[1].appendChild(dNode);
- }
- },
-
- moveup : function() { this.move(-1); },
- movedown : function() { this.move(1); },
- move : function(v) {
- var i = 0;
- if(v<0) for(i=0;i<this.sels[1].length;i++) this.moveOne(v, i);
- else if(v>0) for(i=this.sels[1].length-1;i>=0;i--)this.moveOne(v, i);
- },
-
- moveOne : function(v, i) {
- var ins = v + i;
- if(ins<0 || ins>=this.sels[1].length) return;
- if(this.sels[1][ins].selected) return;
- if(this.sels[1][i].selected) {
- Node = this.sels[1][i];
- this.sels[1].removeChild(Node);
- this.sels[1].insertBefore(Node, this.sels[1][ins]);
- }
- },
-
- remove : function() {
- var i = 0;
- for(i=this.sels[1].length-1;i>=0;i--) if(this.sels[1][i].selected)
- this.sels[1].removeChild(this.sels[1][i]);
- },
-
- selectAll: function() {
- var i = 0;
- for(i=0;i<this.sels[0].length;i++) this.sels[0][i].selected = false;
- for(i=0;i<this.sels[1].length;i++) this.sels[1][i].selected = true;
- }
-});
diff --git a/rt/html/NoAuth/js/titlebox-state.js b/rt/html/NoAuth/js/titlebox-state.js
deleted file mode 100644
index 8950f9e62..000000000
--- a/rt/html/NoAuth/js/titlebox-state.js
+++ /dev/null
@@ -1,83 +0,0 @@
-%# BEGIN BPS TAGGED BLOCK {{{
-%#
-%# COPYRIGHT:
-%#
-%# This software is Copyright (c) 1996-2007 Best Practical Solutions, LLC
-%# <jesse@bestpractical.com>
-%#
-%# (Except where explicitly superseded by other copyright notices)
-%#
-%#
-%# LICENSE:
-%#
-%# This work is made available to you under the terms of Version 2 of
-%# the GNU General Public License. A copy of that license should have
-%# been provided with this software, but in any event can be snarfed
-%# from www.gnu.org.
-%#
-%# This work is distributed in the hope that it will be useful, but
-%# WITHOUT ANY WARRANTY; without even the implied warranty of
-%# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-%# General Public License for more details.
-%#
-%# You should have received a copy of the GNU General Public License
-%# along with this program; if not, write to the Free Software
-%# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
-%# 02110-1301 or visit their web page on the internet at
-%# http://www.gnu.org/copyleft/gpl.html.
-%#
-%#
-%# CONTRIBUTION SUBMISSION POLICY:
-%#
-%# (The following paragraph is not intended to limit the rights granted
-%# to you to modify and distribute this software under the terms of
-%# the GNU General Public License and is only of importance to you if
-%# you choose to contribute your changes and enhancements to the
-%# community by submitting them to Best Practical Solutions, LLC.)
-%#
-%# By intentionally submitting any modifications, corrections or
-%# derivatives to this work, or any other work intended for use with
-%# Request Tracker, to Best Practical Solutions, LLC, you confirm that
-%# you are the copyright holder for those contributions and you grant
-%# Best Practical Solutions, LLC a nonexclusive, worldwide, irrevocable,
-%# royalty-free, perpetual, license to use, copy, create derivative
-%# works based on those contributions, and sublicense and distribute
-%# those contributions and any derivatives thereof.
-%#
-%# END BPS TAGGED BLOCK }}}
-function createCookie(name,value,days) {
- var path = "<%$RT::WebPath%>" ? "<%$RT::WebPath%>" : "/";
-
- if (days) {
- var date = new Date();
- date.setTime(date.getTime()+(days*24*60*60*1000));
- var expires = "; expires="+date.toGMTString();
- }
- else
- expires = "";
-
- document.cookie = name+"="+value+expires+"; path="+path;
-}
-
-function loadTitleBoxStates() {
- var cookies = document.cookie.split(/;\s*/);
- var len = cookies.length;
-
- for (var i = 0; i < len; i++) {
- var c = cookies[i].split('=');
-
- if (c[0].match(/^TitleBox--/)) {
- var e = document.getElementById(c[0]);
- if (e) {
- var e2 = e.parentNode;
-
- if (c[1] != 0) {
- set_rollup_state(e,e2,'shown');
- }
- else {
- set_rollup_state(e,e2,'hidden');
- }
- }
- }
- }
-}
diff --git a/rt/html/NoAuth/js/util.js b/rt/html/NoAuth/js/util.js
deleted file mode 100644
index 0de071ad3..000000000
--- a/rt/html/NoAuth/js/util.js
+++ /dev/null
@@ -1,250 +0,0 @@
-%# BEGIN BPS TAGGED BLOCK {{{
-%#
-%# COPYRIGHT:
-%#
-%# This software is Copyright (c) 1996-2007 Best Practical Solutions, LLC
-%# <jesse@bestpractical.com>
-%#
-%# (Except where explicitly superseded by other copyright notices)
-%#
-%#
-%# LICENSE:
-%#
-%# This work is made available to you under the terms of Version 2 of
-%# the GNU General Public License. A copy of that license should have
-%# been provided with this software, but in any event can be snarfed
-%# from www.gnu.org.
-%#
-%# This work is distributed in the hope that it will be useful, but
-%# WITHOUT ANY WARRANTY; without even the implied warranty of
-%# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-%# General Public License for more details.
-%#
-%# You should have received a copy of the GNU General Public License
-%# along with this program; if not, write to the Free Software
-%# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
-%# 02110-1301 or visit their web page on the internet at
-%# http://www.gnu.org/copyleft/gpl.html.
-%#
-%#
-%# CONTRIBUTION SUBMISSION POLICY:
-%#
-%# (The following paragraph is not intended to limit the rights granted
-%# to you to modify and distribute this software under the terms of
-%# the GNU General Public License and is only of importance to you if
-%# you choose to contribute your changes and enhancements to the
-%# community by submitting them to Best Practical Solutions, LLC.)
-%#
-%# By intentionally submitting any modifications, corrections or
-%# derivatives to this work, or any other work intended for use with
-%# Request Tracker, to Best Practical Solutions, LLC, you confirm that
-%# you are the copyright holder for those contributions and you grant
-%# Best Practical Solutions, LLC a nonexclusive, worldwide, irrevocable,
-%# royalty-free, perpetual, license to use, copy, create derivative
-%# works based on those contributions, and sublicense and distribute
-%# those contributions and any derivatives thereof.
-%#
-%# END BPS TAGGED BLOCK }}}
-/* $(...)
- Returns DOM node or array of nodes (if more then one argument passed).
- If argument is node object allready then do nothing.
- // Stolen from Prototype
-*/
-function $() {
- var elements = new Array();
-
- for (var i = 0; i < arguments.length; i++) {
- var element = arguments[i];
- if (typeof element == 'string')
- element = document.getElementById(element);
-
- if (arguments.length == 1)
- return element;
-
- elements.push(element);
- }
-
- return elements;
-}
-
-/* Visibility */
-
-function show(id) { delClass( id, 'hidden' ) }
-function hide(id) { addClass( id, 'hidden' ) }
-
-function hideshow(id) { return toggleVisibility( id ) }
-function toggleVisibility(id) {
- var e = $(id);
-
- if ( e.className.match( /\bhidden\b/ ) )
- show(e);
- else
- hide(e);
-
- return false;
-}
-
-function setVisibility(id, visibility) {
- if ( visibility ) show(id);
- else hide(id);
-}
-
-function switchVisibility(id1, id2) {
- // Show both and then hide the one we want
- show(id1);
- show(id2);
- hide(id2);
- return false;
-}
-
-/* Classes */
-
-function addClass(id, value) {
- var e = $(id);
- if ( e.className.match( new RegExp('\b'+ value +'\b') ) )
- return;
- e.className += e.className? ' '+value : value;
-}
-
-function delClass(id, value) {
- var e = $(id);
- e.className = e.className.replace( new RegExp('\\s?\\b'+ value +'\\b', 'g'), '' );
-}
-
-/* Rollups */
-
-function rollup(id) {
- var e = $(id);
- var e2 = e.parentNode;
-
- if (e.className.match(/\bhidden\b/)) {
- set_rollup_state(e,e2,'shown');
- createCookie(id,1,365);
- }
- else {
- set_rollup_state(e,e2,'hidden');
- createCookie(id,0,365);
- }
- return false;
-}
-
-function set_rollup_state(e,e2,state) {
- if (e && e2) {
- if (state == 'shown') {
- show(e);
- delClass( e2, 'rolled-up' );
- }
- else if (state == 'hidden') {
- hide(e);
- addClass( e2, 'rolled-up' );
- }
- }
-}
-
-
-/* onload handlers */
-
-var onLoadStack = new Array();
-var onLoadLastStack = new Array();
-var onLoadExecuted = 0;
-
-function onLoadHook(commandStr) {
- if(typeof(commandStr) == "string") {
- onLoadStack[ onLoadStack.length ] = commandStr;
- return true;
- }
- return false;
-}
-
-// some things *really* need to be done after everything else
-function onLoadLastHook(commandStr) {
- if(typeof(commandStr) == "string"){
- onLoadLastStack[onLoadLastStack.length] = commandStr;
- return true;
- }
- return false;
-}
-
-function doOnLoadHooks() {
- if(onLoadExecuted) return;
-
- var i;
- for ( i in onLoadStack ) {
- eval( onLoadStack[i] );
- }
- for ( i in onLoadLastStack ) {
- eval( onLoadLastStack[i] );
- }
- onLoadExecuted = 1;
-}
-
-window.onload = doOnLoadHooks;
-
-/* calendar functions */
-
-function openCalWindow(field) {
- var objWindow = window.open('<%$RT::WebPath%>/Helpers/CalPopup.html?field='+field,
- 'RT_Calendar',
- 'height=235,width=285,scrollbars=1');
- objWindow.focus();
-}
-
-function createCalendarLink(input) {
- var e = $(input);
- if (e) {
- var link = document.createElement('a');
- link.setAttribute('href', '#');
-
- clickevent = function clickevent(e) { openCalWindow(input); return false; };
- if (! addEvent(link, "click", clickevent)) {
- return false;
- }
-
- var text = document.createTextNode('<% loc("Choose a date") %>');
- link.appendChild(text);
-
- var space = document.createTextNode(' ');
-
- e.parentNode.insertBefore(link, e.nextSibling);
- e.parentNode.insertBefore(space, e.nextSibling);
-
- return true;
- }
- return false;
-}
-
-/* other utils */
-
-function focusElementById(id) {
- var e = $(id);
- if (e) e.focus();
-}
-
-function updateParentField(field, value) {
- if (window.opener) {
- window.opener.$(field).value = value;
- window.close();
- }
-}
-
-function addEvent(obj, sType, fn) {
- if (obj.addEventListener) {
- obj.addEventListener(sType, fn, false);
- } else if (obj.attachEvent) {
- var r = obj.attachEvent("on"+sType, fn);
- } else {
- return false;
- }
- return true;
-}
-
-function setCheckbox(form, name, val) {
- var myfield = form.getElementsByTagName('input');
- for ( var i = 0; i < myfield.length; i++ ) {
- if ( name && myfield[i].name != name ) continue;
- if ( myfield[i].type != 'checkbox' ) continue;
-
- myfield[i].checked = val;
- }
-}
-
diff --git a/rt/html/Prefs/Elements/Tabs b/rt/html/Prefs/Elements/Tabs
deleted file mode 100644
index e706d9a73..000000000
--- a/rt/html/Prefs/Elements/Tabs
+++ /dev/null
@@ -1,72 +0,0 @@
-%# BEGIN BPS TAGGED BLOCK {{{
-%#
-%# COPYRIGHT:
-%#
-%# This software is Copyright (c) 1996-2007 Best Practical Solutions, LLC
-%# <jesse@bestpractical.com>
-%#
-%# (Except where explicitly superseded by other copyright notices)
-%#
-%#
-%# LICENSE:
-%#
-%# This work is made available to you under the terms of Version 2 of
-%# the GNU General Public License. A copy of that license should have
-%# been provided with this software, but in any event can be snarfed
-%# from www.gnu.org.
-%#
-%# This work is distributed in the hope that it will be useful, but
-%# WITHOUT ANY WARRANTY; without even the implied warranty of
-%# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-%# General Public License for more details.
-%#
-%# You should have received a copy of the GNU General Public License
-%# along with this program; if not, write to the Free Software
-%# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
-%# 02110-1301 or visit their web page on the internet at
-%# http://www.gnu.org/copyleft/gpl.html.
-%#
-%#
-%# CONTRIBUTION SUBMISSION POLICY:
-%#
-%# (The following paragraph is not intended to limit the rights granted
-%# to you to modify and distribute this software under the terms of
-%# the GNU General Public License and is only of importance to you if
-%# you choose to contribute your changes and enhancements to the
-%# community by submitting them to Best Practical Solutions, LLC.)
-%#
-%# By intentionally submitting any modifications, corrections or
-%# derivatives to this work, or any other work intended for use with
-%# Request Tracker, to Best Practical Solutions, LLC, you confirm that
-%# you are the copyright holder for those contributions and you grant
-%# Best Practical Solutions, LLC a nonexclusive, worldwide, irrevocable,
-%# royalty-free, perpetual, license to use, copy, create derivative
-%# works based on those contributions, and sublicense and distribute
-%# those contributions and any derivatives thereof.
-%#
-%# END BPS TAGGED BLOCK }}}
-<& /User/Elements/Tabs,
- subtabs => $tabs,
- current_tab => 'Prefs/MyRT.html',
- current_subtab => $current_subtab,
- Title => $Title &>
-
-<%INIT>
-my $tabs;
-unless ($Searches) {
- $Searches = [$m->comp("/Search/Elements/SearchesForObject", Object => RT::System->new($session{'CurrentUser'}))];
-}
-
-$tabs->{a} = { title => loc('Quick search'),
- path => 'Prefs/Quicksearch.html' };
-for my $search (@$Searches) {
- $tabs->{$search->[0]} = { title => $search->[0],
- path => "Prefs/Search.html?".$m->comp('/Elements/QueryString', name => ref($search->[1]).'-'.$search->[1]->Id) };
-}
-</%INIT>
-<%ARGS>
-$GroupObj => undef
-$current_subtab => undef
-$Title => undef
-$Searches => undef
-</%ARGS>
diff --git a/rt/html/Prefs/MyRT.html b/rt/html/Prefs/MyRT.html
deleted file mode 100644
index ba35fd214..000000000
--- a/rt/html/Prefs/MyRT.html
+++ /dev/null
@@ -1,151 +0,0 @@
-%# BEGIN BPS TAGGED BLOCK {{{
-%#
-%# COPYRIGHT:
-%#
-%# This software is Copyright (c) 1996-2007 Best Practical Solutions, LLC
-%# <jesse@bestpractical.com>
-%#
-%# (Except where explicitly superseded by other copyright notices)
-%#
-%#
-%# LICENSE:
-%#
-%# This work is made available to you under the terms of Version 2 of
-%# the GNU General Public License. A copy of that license should have
-%# been provided with this software, but in any event can be snarfed
-%# from www.gnu.org.
-%#
-%# This work is distributed in the hope that it will be useful, but
-%# WITHOUT ANY WARRANTY; without even the implied warranty of
-%# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-%# General Public License for more details.
-%#
-%# You should have received a copy of the GNU General Public License
-%# along with this program; if not, write to the Free Software
-%# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
-%# 02110-1301 or visit their web page on the internet at
-%# http://www.gnu.org/copyleft/gpl.html.
-%#
-%#
-%# CONTRIBUTION SUBMISSION POLICY:
-%#
-%# (The following paragraph is not intended to limit the rights granted
-%# to you to modify and distribute this software under the terms of
-%# the GNU General Public License and is only of importance to you if
-%# you choose to contribute your changes and enhancements to the
-%# community by submitting them to Best Practical Solutions, LLC.)
-%#
-%# By intentionally submitting any modifications, corrections or
-%# derivatives to this work, or any other work intended for use with
-%# Request Tracker, to Best Practical Solutions, LLC, you confirm that
-%# you are the copyright holder for those contributions and you grant
-%# Best Practical Solutions, LLC a nonexclusive, worldwide, irrevocable,
-%# royalty-free, perpetual, license to use, copy, create derivative
-%# works based on those contributions, and sublicense and distribute
-%# those contributions and any derivatives thereof.
-%#
-%# END BPS TAGGED BLOCK }}}
-<& /Elements/Header, Title => $title &>
-<& /Prefs/Elements/Tabs,
- current_tab => 'Prefs/MyRT.html',
- Title => $title,
- Searches => \@sys_searches
-&>
-
-<& /Widgets/SelectionBox:header, nojs => 1 &>
-
-<& /Elements/ListActions, actions => \@actions &>
-<br />
-
-<form method="post" action="MyRT.html">
-<input type="hidden" name="Reset" value="1" />
-<input type="submit" class="button" value="<%loc('Reset to default')%>">
-</form>
-
-<br />
-
-% for my $pane (@panes) {
-<&|/Widgets/TitleBox, title => loc('RT at a glance').': '.loc($pane->{Name}), bodyclass => "" &>
-<& /Widgets/SelectionBox:show, self => $pane, nojs => 1 &></&>
-<br />
-% }
-<&|/Widgets/TitleBox, title => loc('Options'), bodyclass => "" &>
-<form method="post" action="MyRT.html">
- <&|/l&>Rows per box</&>:<input name="SummaryRows" value="<% $ARGS{SummaryRows} %>" /> <input type="submit" class="button" value="<%loc('Save')%>" />
-</form>
-</&>
-<%INIT>
-my @actions;
-
-my $title = loc("Customize").' '.loc("RT at a glance");
-my $user = $session{'CurrentUser'}->UserObj;
-
-if ($ARGS{Reset}) {
- $user->SetPreferences('HomepageSettings', {});
- delete $session{'my_rt_portlets'};
-}
-
-unless (exists $session{'my_rt_portlets'}) {
- my ($default_portlets) = RT::System->new($session{'CurrentUser'})->Attributes->Named('HomepageSettings');
- my $portlets = $default_portlets ? $default_portlets->Content : {};
- $session{'my_rt_portlets'} = $user->Preferences('HomepageSettings', $portlets);
-}
-if ($ARGS{SummaryRows}) {
- $user->SetPreferences('SummaryRows', $ARGS{SummaryRows});
- push @actions, loc ('Preferences saved for [_1].', loc('summary rows'));
-}
-else {
- $ARGS{SummaryRows} = $user->Preferences('SummaryRows', $RT::DefaultSummaryRows);
-}
-
-
-my $portlets = $session{'my_rt_portlets'};
-
-my %allowed_components = map {$_ => 1} @{$RT::HomepageComponents};
-my @items;
-
-push @items, map {["component-$_", $_]} sort keys %allowed_components;
-
-my $sys = RT::System->new($session{'CurrentUser'});
-my @objs = ($sys);
-
-push @objs, RT::SavedSearches->new( $session{CurrentUser} )->_PrivacyObjects
- if $session{'CurrentUser'}->HasRight( Right => 'LoadSavedSearch',
- Object => $RT::System );
-
-my @sys_searches;
-for my $object (@objs) {
- for ($m->comp("/Search/Elements/SearchesForObject", Object => $object)) {
- my ($desc, $search) = @$_;
- my $SearchType = $search->Content->{'SearchType'} || 'Ticket';
- if ($object eq $sys && $SearchType eq 'Ticket') {
- push @items, ["system-$desc", $desc];
- push @sys_searches, [$desc, $search];
- }
- else {
- my $oid = ref($object).'-'.$object->Id.'-SavedSearch-'.$search->Id;
- my $type = ($SearchType eq 'Ticket')
- ? 'Saved Search' : $SearchType; # loc
- push @items, ["saved-$oid", loc($type).": $desc"];
- }
- }
-}
-
-my @panes = $m->comp(
- '/Admin/Elements/ConfigureMyRT',
- panes => ['body', 'summary'],
- Action => 'MyRT.html',
- items => \@items,
- current_portlets => $portlets,
- OnSave => sub {
- my ( $conf, $pane ) = @_;
- $user->SetPreferences( 'HomepageSettings', $conf );
- push @actions, loc( 'Preferences saved for [_1].', $pane );
- delete $session{'my_rt_portlets'};
- }
-);
-
-$m->comp( '/Widgets/SelectionBox:process', %ARGS, self => $_, nojs => 1 )
- for @panes;
-
-</%INIT>
diff --git a/rt/html/Prefs/Quicksearch.html b/rt/html/Prefs/Quicksearch.html
deleted file mode 100644
index f4becc74a..000000000
--- a/rt/html/Prefs/Quicksearch.html
+++ /dev/null
@@ -1,96 +0,0 @@
-%# BEGIN BPS TAGGED BLOCK {{{
-%#
-%# COPYRIGHT:
-%#
-%# This software is Copyright (c) 1996-2007 Best Practical Solutions, LLC
-%# <jesse@bestpractical.com>
-%#
-%# (Except where explicitly superseded by other copyright notices)
-%#
-%#
-%# LICENSE:
-%#
-%# This work is made available to you under the terms of Version 2 of
-%# the GNU General Public License. A copy of that license should have
-%# been provided with this software, but in any event can be snarfed
-%# from www.gnu.org.
-%#
-%# This work is distributed in the hope that it will be useful, but
-%# WITHOUT ANY WARRANTY; without even the implied warranty of
-%# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-%# General Public License for more details.
-%#
-%# You should have received a copy of the GNU General Public License
-%# along with this program; if not, write to the Free Software
-%# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
-%# 02110-1301 or visit their web page on the internet at
-%# http://www.gnu.org/copyleft/gpl.html.
-%#
-%#
-%# CONTRIBUTION SUBMISSION POLICY:
-%#
-%# (The following paragraph is not intended to limit the rights granted
-%# to you to modify and distribute this software under the terms of
-%# the GNU General Public License and is only of importance to you if
-%# you choose to contribute your changes and enhancements to the
-%# community by submitting them to Best Practical Solutions, LLC.)
-%#
-%# By intentionally submitting any modifications, corrections or
-%# derivatives to this work, or any other work intended for use with
-%# Request Tracker, to Best Practical Solutions, LLC, you confirm that
-%# you are the copyright holder for those contributions and you grant
-%# Best Practical Solutions, LLC a nonexclusive, worldwide, irrevocable,
-%# royalty-free, perpetual, license to use, copy, create derivative
-%# works based on those contributions, and sublicense and distribute
-%# those contributions and any derivatives thereof.
-%#
-%# END BPS TAGGED BLOCK }}}
-<& /Elements/Header, Title => $title &>
-<& /Prefs/Elements/Tabs,
- current_tab => 'Prefs/MyRT.html',
- current_subtab => 'Prefs/Quicksearch.html',
- Title => $title
-&>
-<& /Elements/ListActions, actions => \@actions &>
-<h1><&|/l&>Select queues to be displayed on the "RT at a glance" page</&></h1>
-<form method="post" action="Quicksearch.html" name="Preferences">
-<ul>
-% for my $queue (@queues) {
-<li><input type="checkbox" class="checkbox" name="Want-<%$queue->Name%>" value="1"
-% unless ($unwanted->{$queue->Name}) {
-checked
-% }
-/><%$queue->Name%>: <%$queue->Description%></li>
-% }
-</ul>
-<& /Elements/Submit, Caption => loc("Save Changes"), Label => loc('Save'), Name => 'Save'&>
-
-</form>
-
-<%INIT>
-my @actions;
-my $title = loc("Customize").' '.loc("Quick search");
-# The queue list is not loaded from cache, so it might be a bit inconsistent
-my $user = $session{'CurrentUser'}->UserObj;
-my $unwanted = $user->Preferences('QuickSearch', {});
-my $Queues = RT::Queues->new($session{'CurrentUser'});
-$Queues->UnLimit;
-my @queues = grep {$_->CurrentUserHasRight('ShowTicket')} @{$Queues->ItemsArrayRef};
-
-if ($ARGS{'Save'}) {
- for my $queue (@queues) {
- if ($ARGS{"Want-".$queue->Name}) {
- delete $unwanted->{$queue->Name};
- }
- else {
- ++$unwanted->{$queue->Name};
- }
- }
-
- $user->SetPreferences('QuickSearch', $unwanted);
- push @actions, loc ('Preferences saved.');
- # Let QueueSummary rebuild the cache
- delete $session{'quick_search_queues'};
-}
-
-</%INIT>
diff --git a/rt/html/Prefs/Search.html b/rt/html/Prefs/Search.html
deleted file mode 100644
index 8754d535d..000000000
--- a/rt/html/Prefs/Search.html
+++ /dev/null
@@ -1,108 +0,0 @@
-%# BEGIN BPS TAGGED BLOCK {{{
-%#
-%# COPYRIGHT:
-%#
-%# This software is Copyright (c) 1996-2007 Best Practical Solutions, LLC
-%# <jesse@bestpractical.com>
-%#
-%# (Except where explicitly superseded by other copyright notices)
-%#
-%#
-%# LICENSE:
-%#
-%# This work is made available to you under the terms of Version 2 of
-%# the GNU General Public License. A copy of that license should have
-%# been provided with this software, but in any event can be snarfed
-%# from www.gnu.org.
-%#
-%# This work is distributed in the hope that it will be useful, but
-%# WITHOUT ANY WARRANTY; without even the implied warranty of
-%# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-%# General Public License for more details.
-%#
-%# You should have received a copy of the GNU General Public License
-%# along with this program; if not, write to the Free Software
-%# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
-%# 02110-1301 or visit their web page on the internet at
-%# http://www.gnu.org/copyleft/gpl.html.
-%#
-%#
-%# CONTRIBUTION SUBMISSION POLICY:
-%#
-%# (The following paragraph is not intended to limit the rights granted
-%# to you to modify and distribute this software under the terms of
-%# the GNU General Public License and is only of importance to you if
-%# you choose to contribute your changes and enhancements to the
-%# community by submitting them to Best Practical Solutions, LLC.)
-%#
-%# By intentionally submitting any modifications, corrections or
-%# derivatives to this work, or any other work intended for use with
-%# Request Tracker, to Best Practical Solutions, LLC, you confirm that
-%# you are the copyright holder for those contributions and you grant
-%# Best Practical Solutions, LLC a nonexclusive, worldwide, irrevocable,
-%# royalty-free, perpetual, license to use, copy, create derivative
-%# works based on those contributions, and sublicense and distribute
-%# those contributions and any derivatives thereof.
-%#
-%# END BPS TAGGED BLOCK }}}
-<& /Elements/Header, Title => $title &>
-<& /Prefs/Elements/Tabs,
- current_tab => 'Prefs/MyRT.html',
-# current_subtab => 'Prefs/Search.html?name='.$m->comp('/Elements/QueryString', name => $ARGS{name}),
- current_subtab => 'Prefs/Search.html?name='.$ARGS{name},
- Title => $title
-&>
-<& /Elements/ListActions, actions => \@actions &>
-% if ($session{'CurrentUser'}->HasRight( Object=> $RT::System, Right => 'SuperUser')) {
-<p>
- <&|/l&>You can also edit the predefined search itself</&>:
- <a href="<% $RT::WebPath.'/Search/Build.html?'.
- $m->comp('/Elements/QueryString',
- LoadSavedSearch => 'RT::System-1-SavedSearch-'.$id) %>"><% $search->Name %></a>
-</p>
-% }
-
-<form method="post" action="Search.html" name="BuildQuery">
-<input type="hidden" name="name" value="<%$ARGS{name}%>" class="hidden" />
-<input type="hidden" name="Format" value="<%$ARGS{Format}%>" class="hidden" />
-
-<& /Search/Elements/DisplayOptions, %$SearchArg, %ARGS,
- AvailableColumns => $AvailableColumns, CurrentFormat => $CurrentFormat &>
-<& /Elements/Submit, Caption => loc("Save"), Label => loc('Save'), Name => 'Save'&>
-
-</form>
-
-<%INIT>
-my @actions;
-my $title = loc("Customize").' ';
-
-my @fields = qw(Format Order OrderBy RowsPerPage);
-my ($class, $id) = ( $ARGS{name} =~ m/^(.*)-(\d+)$/ );
-
-Abort('No search specified')
- unless $class eq 'RT::Attribute';
-
-my $search = $class->new ($session{'CurrentUser'});
-$search->LoadById ($id);
-$title .= loc ($search->Description, loc ('"N"'));
-my $user = $session{'CurrentUser'}->UserObj;
-my $SearchArg = $user->Preferences($search, $search->Content);
-for (@fields) {
- $ARGS{$_} = $SearchArg->{$_} unless defined $ARGS{$_};
-}
-$ARGS{'Order'} = join '|', grep defined && /\S/, (ref $ARGS{'Order'})? @{$ARGS{'Order'}}: $ARGS{'Order'};
-$ARGS{'OrderBy'} = join '|', grep defined && /\S/, (ref $ARGS{'OrderBy'})? @{$ARGS{'OrderBy'}}: $ARGS{'OrderBy'};
-
-my ( $AvailableColumns, $CurrentFormat );
-( $ARGS{Format}, $AvailableColumns, $CurrentFormat ) = $m->comp(
- '/Search/Elements/BuildFormatString',
- cfqueues => {}, %ARGS
-);
-
-if ($ARGS{'Save'}) {
- my $hash = {map { $_ => $ARGS{$_}} @fields};
- my $pref = $user->SetPreferences ($search, $hash);
- push @actions, loc ('Preferences saved.');
-}
-
-</%INIT>
diff --git a/rt/html/Prefs/SearchOptions.html b/rt/html/Prefs/SearchOptions.html
deleted file mode 100644
index 7cc71b0cd..000000000
--- a/rt/html/Prefs/SearchOptions.html
+++ /dev/null
@@ -1,114 +0,0 @@
-
-%# BEGIN BPS TAGGED BLOCK {{{
-%#
-%# COPYRIGHT:
-%#
-%# This software is Copyright (c) 1996-2007 Best Practical Solutions, LLC
-%# <jesse@bestpractical.com>
-%#
-%# (Except where explicitly superseded by other copyright notices)
-%#
-%#
-%# LICENSE:
-%#
-%# This work is made available to you under the terms of Version 2 of
-%# the GNU General Public License. A copy of that license should have
-%# been provided with this software, but in any event can be snarfed
-%# from www.gnu.org.
-%#
-%# This work is distributed in the hope that it will be useful, but
-%# WITHOUT ANY WARRANTY; without even the implied warranty of
-%# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-%# General Public License for more details.
-%#
-%# You should have received a copy of the GNU General Public License
-%# along with this program; if not, write to the Free Software
-%# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
-%# 02110-1301 or visit their web page on the internet at
-%# http://www.gnu.org/copyleft/gpl.html.
-%#
-%#
-%# CONTRIBUTION SUBMISSION POLICY:
-%#
-%# (The following paragraph is not intended to limit the rights granted
-%# to you to modify and distribute this software under the terms of
-%# the GNU General Public License and is only of importance to you if
-%# you choose to contribute your changes and enhancements to the
-%# community by submitting them to Best Practical Solutions, LLC.)
-%#
-%# By intentionally submitting any modifications, corrections or
-%# derivatives to this work, or any other work intended for use with
-%# Request Tracker, to Best Practical Solutions, LLC, you confirm that
-%# you are the copyright holder for those contributions and you grant
-%# Best Practical Solutions, LLC a nonexclusive, worldwide, irrevocable,
-%# royalty-free, perpetual, license to use, copy, create derivative
-%# works based on those contributions, and sublicense and distribute
-%# those contributions and any derivatives thereof.
-%#
-%# END BPS TAGGED BLOCK }}}
-<& /Elements/Header, Title => loc("Search Preferences") &>
-<& /User/Elements/Tabs,
- current_tab => "Prefs/SearchOptions.html",
- Title => loc("Search Preferences")
-&>
-
-<form method="post" action="SearchOptions.html">
-<input type="hidden" class="hidden" name="Format" value="<%$Format%>" />
- <& /Search/Elements/DisplayOptions, %ARGS,
- Format=> $Format,
- AvailableColumns => $AvailableColumns,
- CurrentFormat => $CurrentFormat,
- RowsPerPage => $RowsPerPage,
- OrderBy => $OrderBy,
- Order => $Order &>
-
-<& /Elements/Submit, Name => 'SavePreferences', Label => loc('Save Changes') &>
-</form>
-
-<%INIT>
-
-# {{{ If we're saving search preferences, do that now
-$Order = join '|', grep defined && /\S/, (ref $Order)? @{$Order}: $Order;
-$OrderBy = join '|', grep defined && /\S/, (ref $OrderBy)? @{$OrderBy}: $OrderBy;
-
-if ($ARGS{'SavePreferences'}) {
- $session{'CurrentUser'}->UserObj->SetPreferences("SearchDisplay",
- {
- Format => $Format,
- Order => $Order,
- OrderBy => $OrderBy,
- RowsPerPage => $RowsPerPage,
- });
-}
-
-# }}}
-
-
-
-
-
-
-
-# Read from user preferences
-my $prefs = $session{'CurrentUser'}->UserObj->Preferences("SearchDisplay") || {};
-
-$Format ||= $prefs->{'Format'};
-$Order ||= $prefs->{'Order'} || 'ASC';
-$OrderBy ||= $prefs->{'OrderBy'} || 'id';
-($RowsPerPage = defined( $prefs->{'RowsPerPage'} ) ? $prefs->{'RowsPerPage'} : 50) unless defined ($RowsPerPage);
-
-my ( $AvailableColumns, $CurrentFormat );
-( $Format, $AvailableColumns, $CurrentFormat ) = $m->comp(
- '/Search/Elements/BuildFormatString',
- %ARGS, Format => $Format
-);
-</%INIT>
-
-<%ARGS>
-$Format => undef
-$Description => undef
-$Order => undef
-$OrderBy => undef
-$RowsPerPage => undef
-</%ARGS>
-
diff --git a/rt/html/REST/1.0/Forms/ticket/comment b/rt/html/REST/1.0/Forms/ticket/comment
deleted file mode 100755
index 4ed2da8af..000000000
--- a/rt/html/REST/1.0/Forms/ticket/comment
+++ /dev/null
@@ -1,152 +0,0 @@
-%# BEGIN BPS TAGGED BLOCK {{{
-%#
-%# COPYRIGHT:
-%#
-%# This software is Copyright (c) 1996-2007 Best Practical Solutions, LLC
-%# <jesse@bestpractical.com>
-%#
-%# (Except where explicitly superseded by other copyright notices)
-%#
-%#
-%# LICENSE:
-%#
-%# This work is made available to you under the terms of Version 2 of
-%# the GNU General Public License. A copy of that license should have
-%# been provided with this software, but in any event can be snarfed
-%# from www.gnu.org.
-%#
-%# This work is distributed in the hope that it will be useful, but
-%# WITHOUT ANY WARRANTY; without even the implied warranty of
-%# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-%# General Public License for more details.
-%#
-%# You should have received a copy of the GNU General Public License
-%# along with this program; if not, write to the Free Software
-%# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
-%# 02110-1301 or visit their web page on the internet at
-%# http://www.gnu.org/copyleft/gpl.html.
-%#
-%#
-%# CONTRIBUTION SUBMISSION POLICY:
-%#
-%# (The following paragraph is not intended to limit the rights granted
-%# to you to modify and distribute this software under the terms of
-%# the GNU General Public License and is only of importance to you if
-%# you choose to contribute your changes and enhancements to the
-%# community by submitting them to Best Practical Solutions, LLC.)
-%#
-%# By intentionally submitting any modifications, corrections or
-%# derivatives to this work, or any other work intended for use with
-%# Request Tracker, to Best Practical Solutions, LLC, you confirm that
-%# you are the copyright holder for those contributions and you grant
-%# Best Practical Solutions, LLC a nonexclusive, worldwide, irrevocable,
-%# royalty-free, perpetual, license to use, copy, create derivative
-%# works based on those contributions, and sublicense and distribute
-%# those contributions and any derivatives thereof.
-%#
-%# END BPS TAGGED BLOCK }}}
-%# REST/1.0/Forms/ticket/comment
-%#
-<%ARGS>
-$id
-%changes
-</%ARGS>
-<%INIT>
-use MIME::Entity;
-use LWP::MediaTypes;
-use RT::Interface::REST;
-use File::Temp qw(tempfile);
-
-$RT::Logger->debug("Got ticket id=$id for comment");
-$RT::Logger->debug("Got args @{[keys(%changes)]}.");
-
-my $ticket = new RT::Ticket $session{CurrentUser};
-my ($c, $o, $k, $e) = ("", [], {}, 0);
-
-# http://.../REST/1.0/ticket/1/comment
-$ticket->Load($id);
-if (!$ticket->Id) {
- $e = 1;
- $c = "# Ticket $id does not exist.";
- goto OUTPUT;
-}
-
-my $action;
-($action = $changes{Action}) =~ s/^(.)(.*)$/\U$1\L$2\E/;
-unless ($action =~ /^(?:Comment|Correspond)$/) {
- $e = 1;
- $c = "# Invalid action: `$action'.";
- goto OUTPUT;
-}
-
-my $text = $changes{Text};
-my @atts = @{ vsplit($changes{Attachment}) };
-
-if (!$changes{Text} && @atts == 0) {
- $e = 1;
- $c = "# Empty comment with no attachments submitted.";
- goto OUTPUT;
-}
-
-my $cgi = $m->cgi_object;
-my $ent = MIME::Entity->build(Type => "multipart/mixed");
-$ent->attach(Data => $changes{Text}) if $changes{Text};
-
-my $i = 1;
-foreach my $att (@atts) {
- local $/=undef;
- my $file = $att;
- $file =~ s#^.*[\\/]##;
-
- my $fh = $cgi->upload("attachment_$i");
- if ($fh) {
- my $buf;
- my ($w, $tmp) = tempfile();
- my $info = $cgi->uploadInfo();
-
- while (sysread($fh, $buf, 8192)) {
- syswrite($w, $buf);
- }
-
- $ent->attach(
- Path => $tmp,
- Type => $info->{'Content-Type'} || guess_media_type($tmp),
- Filename => $file,
- Disposition => "attachment"
- );
- }
- else {
- $e = 1;
- $c = "# No attachment for $att.";
- goto OUTPUT;
- }
-
- $i++;
-}
-
-unless ($ticket->CurrentUserHasRight('ModifyTicket') ||
- ($action eq "Comment" &&
- $ticket->CurrentUserHasRight("CommentOnTicket")) ||
- ($action eq "Correspond" &&
- $ticket->CurrentUserHasRight("ReplyToTicket")))
-{
- $e = 1;
- $c = "# You are not allowed to $action on ticket $id.";
- goto OUTPUT;
-}
-
-my $cc = join ", ", @{ vsplit($changes{Cc}) };
-my $bcc = join ", ", @{ vsplit($changes{Bcc}) };
-my ($n, $s) = $ticket->$action(MIMEObj => $ent,
- CcMessageTo => $cc,
- BccMessageTo => $bcc,
- TimeTaken => $changes{TimeWorked} || 0);
-$c = "# ".$s;
-if ($changes{Status}) {
- my ($status_n, $status_s) = $ticket->SetStatus($changes{'Status'} );
- $c .= "\n# ".$status_s;
-}
-
-OUTPUT:
-return [ $c, $o, $k, $e ];
-</%INIT>
diff --git a/rt/html/REST/1.0/Forms/ticket/merge b/rt/html/REST/1.0/Forms/ticket/merge
deleted file mode 100755
index 69af6c8e1..000000000
--- a/rt/html/REST/1.0/Forms/ticket/merge
+++ /dev/null
@@ -1,96 +0,0 @@
-%# BEGIN BPS TAGGED BLOCK {{{
-%#
-%# COPYRIGHT:
-%#
-%# This software is Copyright (c) 1996-2007 Best Practical Solutions, LLC
-%# <jesse@bestpractical.com>
-%#
-%# (Except where explicitly superseded by other copyright notices)
-%#
-%#
-%# LICENSE:
-%#
-%# This work is made available to you under the terms of Version 2 of
-%# the GNU General Public License. A copy of that license should have
-%# been provided with this software, but in any event can be snarfed
-%# from www.gnu.org.
-%#
-%# This work is distributed in the hope that it will be useful, but
-%# WITHOUT ANY WARRANTY; without even the implied warranty of
-%# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-%# General Public License for more details.
-%#
-%# You should have received a copy of the GNU General Public License
-%# along with this program; if not, write to the Free Software
-%# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
-%# 02110-1301 or visit their web page on the internet at
-%# http://www.gnu.org/copyleft/gpl.html.
-%#
-%#
-%# CONTRIBUTION SUBMISSION POLICY:
-%#
-%# (The following paragraph is not intended to limit the rights granted
-%# to you to modify and distribute this software under the terms of
-%# the GNU General Public License and is only of importance to you if
-%# you choose to contribute your changes and enhancements to the
-%# community by submitting them to Best Practical Solutions, LLC.)
-%#
-%# By intentionally submitting any modifications, corrections or
-%# derivatives to this work, or any other work intended for use with
-%# Request Tracker, to Best Practical Solutions, LLC, you confirm that
-%# you are the copyright holder for those contributions and you grant
-%# Best Practical Solutions, LLC a nonexclusive, worldwide, irrevocable,
-%# royalty-free, perpetual, license to use, copy, create derivative
-%# works based on those contributions, and sublicense and distribute
-%# those contributions and any derivatives thereof.
-%#
-%# END BPS TAGGED BLOCK }}}
-%# REST/1.0/Forms/ticket/merge
-%#
-<%ARGS>
-$id
-$args
-</%ARGS>
-<%INIT>
-use RT::Interface::REST;
-
-my $into = $args;
-
-my $ticket = new RT::Ticket $session{CurrentUser};
-my $ticket_into = new RT::Ticket $session{CurrentUser};
-my ($c, $o, $k, $e) = ("", [], {}, 0);
-
-# http://.../REST/1.0/ticket/1/merge/6 (merges ticket 1 into ticket 6)
-
-$ticket->Load($id);
-if (!$ticket->Id) {
- $e = 1;
- $c = "# Ticket $id does not exist.";
- goto OUTPUT;
-}
-$ticket_into->Load($into);
-if (!$ticket_into->Id) {
- $e = 1;
- $c = "# Ticket $into does not exist.";
- goto OUTPUT;
-}
-
-if (!$ticket->CurrentUserHasRight('ModifyTicket')) {
- $e = 1;
- $c = "# You are not allowed to modify ticket $id.";
- goto OUTPUT;
-}
-
-my ($n, $s) = $ticket->MergeInto($into);
-
-if ($n == 0) {
- $e = 1;
- $c = "# Could not complete the merge.";
-}
-else {
- $c = "# Merge completed.";
-}
-
-OUTPUT:
-return [ $c, $o, $k, $e ];
-</%INIT>
diff --git a/rt/html/REST/1.0/Forms/ticket/take b/rt/html/REST/1.0/Forms/ticket/take
deleted file mode 100755
index 35ee11fa7..000000000
--- a/rt/html/REST/1.0/Forms/ticket/take
+++ /dev/null
@@ -1,135 +0,0 @@
-%# BEGIN BPS TAGGED BLOCK {{{
-%#
-%# COPYRIGHT:
-%#
-%# This software is Copyright (c) 1996-2007 Best Practical Solutions, LLC
-%# <jesse@bestpractical.com>
-%#
-%# (Except where explicitly superseded by other copyright notices)
-%#
-%#
-%# LICENSE:
-%#
-%# This work is made available to you under the terms of Version 2 of
-%# the GNU General Public License. A copy of that license should have
-%# been provided with this software, but in any event can be snarfed
-%# from www.gnu.org.
-%#
-%# This work is distributed in the hope that it will be useful, but
-%# WITHOUT ANY WARRANTY; without even the implied warranty of
-%# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-%# General Public License for more details.
-%#
-%# You should have received a copy of the GNU General Public License
-%# along with this program; if not, write to the Free Software
-%# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
-%# 02110-1301 or visit their web page on the internet at
-%# http://www.gnu.org/copyleft/gpl.html.
-%#
-%#
-%# CONTRIBUTION SUBMISSION POLICY:
-%#
-%# (The following paragraph is not intended to limit the rights granted
-%# to you to modify and distribute this software under the terms of
-%# the GNU General Public License and is only of importance to you if
-%# you choose to contribute your changes and enhancements to the
-%# community by submitting them to Best Practical Solutions, LLC.)
-%#
-%# By intentionally submitting any modifications, corrections or
-%# derivatives to this work, or any other work intended for use with
-%# Request Tracker, to Best Practical Solutions, LLC, you confirm that
-%# you are the copyright holder for those contributions and you grant
-%# Best Practical Solutions, LLC a nonexclusive, worldwide, irrevocable,
-%# royalty-free, perpetual, license to use, copy, create derivative
-%# works based on those contributions, and sublicense and distribute
-%# those contributions and any derivatives thereof.
-%#
-%# END BPS TAGGED BLOCK }}}
-%# REST/1.0/Forms/ticket/take
-%#
-<%ARGS>
-$id
-%changes
-</%ARGS>
-<%INIT>
-use RT::Interface::REST;
-
-my $ticket = new RT::Ticket $session{CurrentUser};
-my ($c, $o, $k, $e) = ("", [], {}, 0);
-
-# http://.../REST/1.0/ticket/1/take
-$ticket->Load( $id );
-unless ( $ticket->Id ) {
- $e = 1;
- $c = "# Ticket $id does not exist.";
- goto OUTPUT;
-}
-
-my $action;
-
-my @comments;
-
-($action = $changes{Action}) =~ s/^(.)(.*)$/\U$1\L$2\E/;
-unless ($action =~ /^(?:Take|Steal|Untake)$/) {
- $e = 1;
- $c = "# Invalid action: `$action'.";
- goto OUTPUT;
-}
-
-my ($status, $msg) = $ticket->$action();
-$c = "# $msg";
-$e = 1 unless $status;
-goto OUTPUT;
-
-#unless ($ticket->CurrentUserHasRight('ModifyTicket') ||
-# ( ($action eq "Take" || $action eq 'Untake') &&
-# $ticket->CurrentUserHasRight("TakeTicket")) ||
-# ($action eq "Steal" &&
-# $ticket->CurrentUserHasRight("StealTicket")))
-#{
-# $e = 1;
-# $c = "# You are not allowed to $action ticket $id.";
-# goto OUTPUT;
-#}
-
-#if ( keys %changes ) {
-#}
-#else {
-# # process the form data structure
-# my ($key, $val);
-#
-# foreach $key (keys %data) {
-# $val = $data{$key};
-#
-# if ($key =~ /^force$/i) {
-# if ($val !~ /^(?:0|1)$/) {
-# push(@comments, "# invalid value for 'force': $val");
-# goto DONE;
-# }
-# my ($ret_id, $msg);
-#
-# ### take
-# if ($val == 0) {
-# ($ret_id, $msg) = $ticket->Take;
-# if (!$ret_id) {
-# push(@comments, "# Couldn't take ticket $id: $msg");
-# goto DONE;
-# }
-# push(@comments, "# Ticket $id taken.");
-# }
-# ### steal
-# else {
-# ($ret_id, $msg) = $ticket->Steal;
-# if (!$ret_id) {
-# push(@comments, "# Couldn't steal ticket $id: $msg");
-# goto DONE;
-# }
-# push(@comments, "# Ticket $id stolen.");
-# }
-# }
-# }
-#}
-
-OUTPUT:
-return [ $c, $o, $k, $e ];
-</%INIT>
diff --git a/rt/html/REST/1.0/Forms/transaction/default b/rt/html/REST/1.0/Forms/transaction/default
deleted file mode 100644
index e23098a66..000000000
--- a/rt/html/REST/1.0/Forms/transaction/default
+++ /dev/null
@@ -1,143 +0,0 @@
-%# BEGIN BPS TAGGED BLOCK {{{
-%#
-%# COPYRIGHT:
-%#
-%# This software is Copyright (c) 1996-2007 Best Practical Solutions, LLC
-%# <jesse@bestpractical.com>
-%#
-%# (Except where explicitly superseded by other copyright notices)
-%#
-%#
-%# LICENSE:
-%#
-%# This work is made available to you under the terms of Version 2 of
-%# the GNU General Public License. A copy of that license should have
-%# been provided with this software, but in any event can be snarfed
-%# from www.gnu.org.
-%#
-%# This work is distributed in the hope that it will be useful, but
-%# WITHOUT ANY WARRANTY; without even the implied warranty of
-%# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-%# General Public License for more details.
-%#
-%# You should have received a copy of the GNU General Public License
-%# along with this program; if not, write to the Free Software
-%# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
-%# 02110-1301 or visit their web page on the internet at
-%# http://www.gnu.org/copyleft/gpl.html.
-%#
-%#
-%# CONTRIBUTION SUBMISSION POLICY:
-%#
-%# (The following paragraph is not intended to limit the rights granted
-%# to you to modify and distribute this software under the terms of
-%# the GNU General Public License and is only of importance to you if
-%# you choose to contribute your changes and enhancements to the
-%# community by submitting them to Best Practical Solutions, LLC.)
-%#
-%# By intentionally submitting any modifications, corrections or
-%# derivatives to this work, or any other work intended for use with
-%# Request Tracker, to Best Practical Solutions, LLC, you confirm that
-%# you are the copyright holder for those contributions and you grant
-%# Best Practical Solutions, LLC a nonexclusive, worldwide, irrevocable,
-%# royalty-free, perpetual, license to use, copy, create derivative
-%# works based on those contributions, and sublicense and distribute
-%# those contributions and any derivatives thereof.
-%#
-%# END BPS TAGGED BLOCK }}}
-%# REST/1.0/Forms/transaction
-%#
-<%ARGS>
-$id
-$args => undef
-$format => undef
-$fields => undef
-</%ARGS>
-<%INIT>
-my $trans = new RT::Transactions $session{CurrentUser};
-my ($c, $o, $k, $e) = ("", [], {} , "");
-
-chomp $args;
-my @arglist = split('/', $args);
-my $tid = $id;
-
-$trans->Limit(FIELD => 'Id', OPERATOR => '=', VALUE => $tid);
-
-if ($tid) {
- my @data;
- my $t = new RT::Transaction $session{CurrentUser};
- $t->Load($tid);
- if ($format eq "l") {
- push @data, [ id => $t->Id ];
- push @data, [ Ticket => $t->Ticket ]
- if (!%$fields || exists $fields->{lc 'Ticket'});
- push @data, [ TimeTaken => $t->TimeTaken ]
- if (!%$fields || exists $fields->{lc 'TimeTaken'});
- push @data, [ Type => $t->Type ]
- if (!%$fields || exists $fields->{lc 'Type'});
- push @data, [ Field => $t->Field ]
- if (!%$fields || exists $fields->{lc 'Field'});
- push @data, [ OldValue => $t->OldValue ]
- if (!%$fields || exists $fields->{lc 'OldValue'});
- push @data, [ NewValue => $t->NewValue ]
- if (!%$fields || exists $fields->{lc 'NewValue'});
- push @data, [ Data => $t->Data ]
- if (!%$fields || exists $fields->{lc 'Data'});
- push @data, [ Description => $t->Description ]
- if (!%$fields || exists $fields->{lc 'Description'});
- push @data, [ Content => $t->Content ]
- if (!%$fields || exists $fields->{lc 'Content'});
-
- if (!%$fields || exists $fields->{lc 'Content'}) {
- my $creator = new RT::User $session{CurrentUser};
- $creator->Load($t->Creator);
- push @data, [ Creator => $creator->Name ];
- }
- push @data, [ Created => $t->Created ]
- if (!%$fields || exists $fields->{lc 'Created'});
-
- if (!%$fields || exists $fields->{lc 'Attachments'}) {
- my $attachlist;
- my $attachments = $t->Attachments;
- while (my $a = $attachments->Next) {
- my $size = length($a->Content);
- if ($size > 1024) {
- $size = int($size/102.4)/10 . "k";
- }
- else {
- $size .= "b";
- }
- $attachlist .= "\n" . $a->Id.": ".($a->Filename || "untitled")." (".$size.")";
- }
- push @data, [Attachments => $attachlist];
- }
-
- } else {
- push @data, [ id => $t->Id ];
- push @data, [ Description => $t->Description ];
- }
-
- my %k = map {@$_} @data;
- $o = [ map {$_->[0]} @data ];
- $k = \%k;
-}
-#else {
-# my (@data, $tids);
-# $format ||= "s";
-# $format = "l" if (%$fields);
-#
-# while (my $t = $trans->Next) {
-# my $tid = $t->Id;
-# if ($format eq "l") {
-# $tids .= "," if $tids;
-# $tids .= $tid;
-# } else {
-# push @$o, $tid;
-# $k->{$tid} = $t->Description;
-# }
-# }
-#}
-
-return [ $c, $o, $k, $e ];
-
-</%INIT>
diff --git a/rt/html/Search/Chart b/rt/html/Search/Chart
deleted file mode 100644
index ea52bb1f9..000000000
--- a/rt/html/Search/Chart
+++ /dev/null
@@ -1,148 +0,0 @@
-%# BEGIN BPS TAGGED BLOCK {{{
-%#
-%# COPYRIGHT:
-%#
-%# This software is Copyright (c) 1996-2007 Best Practical Solutions, LLC
-%# <jesse@bestpractical.com>
-%#
-%# (Except where explicitly superseded by other copyright notices)
-%#
-%#
-%# LICENSE:
-%#
-%# This work is made available to you under the terms of Version 2 of
-%# the GNU General Public License. A copy of that license should have
-%# been provided with this software, but in any event can be snarfed
-%# from www.gnu.org.
-%#
-%# This work is distributed in the hope that it will be useful, but
-%# WITHOUT ANY WARRANTY; without even the implied warranty of
-%# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-%# General Public License for more details.
-%#
-%# You should have received a copy of the GNU General Public License
-%# along with this program; if not, write to the Free Software
-%# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
-%# 02110-1301 or visit their web page on the internet at
-%# http://www.gnu.org/copyleft/gpl.html.
-%#
-%#
-%# CONTRIBUTION SUBMISSION POLICY:
-%#
-%# (The following paragraph is not intended to limit the rights granted
-%# to you to modify and distribute this software under the terms of
-%# the GNU General Public License and is only of importance to you if
-%# you choose to contribute your changes and enhancements to the
-%# community by submitting them to Best Practical Solutions, LLC.)
-%#
-%# By intentionally submitting any modifications, corrections or
-%# derivatives to this work, or any other work intended for use with
-%# Request Tracker, to Best Practical Solutions, LLC, you confirm that
-%# you are the copyright holder for those contributions and you grant
-%# Best Practical Solutions, LLC a nonexclusive, worldwide, irrevocable,
-%# royalty-free, perpetual, license to use, copy, create derivative
-%# works based on those contributions, and sublicense and distribute
-%# those contributions and any derivatives thereof.
-%#
-%# END BPS TAGGED BLOCK }}}
-<%args>
-$Query => "id > 0"
-$PrimaryGroupBy => 'Queue'
-$SecondaryGroupBy => undef
-$ChartStyle => 'bars'
-</%args>
-<%init>
-my @keys;
-my @values;
-my $chart_class;
-use GD;
-use GD::Text;
-
-if ($ChartStyle eq 'pie') {
- require GD::Graph::pie;
- $chart_class = "GD::Graph::pie";
-} else {
- require GD::Graph::bars;
- $chart_class = "GD::Graph::bars";
-}
-
-use RT::Report::Tickets;
-my $tix = RT::Report::Tickets->new( $session{'CurrentUser'} );
-$tix->FromSQL( $Query );
-my $count_name = $tix->Column( FUNCTION => 'COUNT', FIELD => 'id' );
-$tix->GroupBy( FIELD => $PrimaryGroupBy );
-my $value_name = $tix->Column( FIELD => $PrimaryGroupBy );
-
-my $chart = $chart_class->new( 600 => 400 );
-if ($chart_class eq "GD::Graph::bars") {
- $chart->set(
- x_label => $tix->Label( $PrimaryGroupBy ),
- x_labels_vertical => 1,
- y_label => 'Tickets',
- show_values => 1
- );
- $chart->set_legend_font( ['verdana', 'arial', gdMediumBoldFont], 12);
-}
-
-my %class = (
- Queue => 'RT::Queue',
- Owner => 'RT::User',
-);
-my $class = $class{ $PrimaryGroupBy };
-
-while ( my $entry = $tix->Next ) {
- if ( $class ) {
- my $q = $class->new( $session{'CurrentUser'} );
- $q->Load( $entry->__Value( $value_name ) );
- push @keys, $q->Name;
- }
- else {
- push @keys, $entry->__Value($value_name);
- }
-
- $keys[-1] ||= loc('(no value)');
- if ($chart_class eq 'GD::Graph::pie') {
- $keys[-1] .= " - ". $entry->__Value( $count_name );
- }
- push @values, $entry->__Value($count_name);
-}
-
-# XXX: Convert 1970-01-01 date to the 'Not Set'
-# this code should be generalized!!!
-if ( $PrimaryGroupBy =~ /(Daily|Monthly|Annually)$/ ) {
- my $re;
- $re = qr{1970-01-01} if $PrimaryGroupBy =~ /Daily$/;
- $re = qr{1970-01} if $PrimaryGroupBy =~ /Monthly$/;
- $re = qr{1970} if $PrimaryGroupBy =~ /Annually$/;
- foreach (@keys) {
- s/^$re/loc('Not Set')/e;
- }
-}
-
-unless (@keys && @values) {
- @keys = ('');
- @values = (0);
-}
-
-my %data;
-foreach my $key (@keys) { $data{$key} = shift @values; }
-my @sorted_keys = sort @keys;
-my @sorted_values = map { $data{$_}} @sorted_keys;
-
-
-
-my $plot = $chart->plot( [ [@sorted_keys], [@sorted_values] ] ) or die $chart->error;
-
-if ( $plot->can('png') ) {
- $r->content_type('image/png');
- $m->out( $plot->png );
-}
-elsif ( $plot->can('gif') ) {
- $r->content_type('image/gif');
- $m->out( $plot->gif );
-}
-else {
- die "Your GD library appears to support neither PNG nor GIF";
-}
-$m->abort();
-</%init>
diff --git a/rt/html/Search/Chart.html b/rt/html/Search/Chart.html
deleted file mode 100644
index a07d89502..000000000
--- a/rt/html/Search/Chart.html
+++ /dev/null
@@ -1,73 +0,0 @@
-%# BEGIN BPS TAGGED BLOCK {{{
-%#
-%# COPYRIGHT:
-%#
-%# This software is Copyright (c) 1996-2007 Best Practical Solutions, LLC
-%# <jesse@bestpractical.com>
-%#
-%# (Except where explicitly superseded by other copyright notices)
-%#
-%#
-%# LICENSE:
-%#
-%# This work is made available to you under the terms of Version 2 of
-%# the GNU General Public License. A copy of that license should have
-%# been provided with this software, but in any event can be snarfed
-%# from www.gnu.org.
-%#
-%# This work is distributed in the hope that it will be useful, but
-%# WITHOUT ANY WARRANTY; without even the implied warranty of
-%# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-%# General Public License for more details.
-%#
-%# You should have received a copy of the GNU General Public License
-%# along with this program; if not, write to the Free Software
-%# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
-%# 02110-1301 or visit their web page on the internet at
-%# http://www.gnu.org/copyleft/gpl.html.
-%#
-%#
-%# CONTRIBUTION SUBMISSION POLICY:
-%#
-%# (The following paragraph is not intended to limit the rights granted
-%# to you to modify and distribute this software under the terms of
-%# the GNU General Public License and is only of importance to you if
-%# you choose to contribute your changes and enhancements to the
-%# community by submitting them to Best Practical Solutions, LLC.)
-%#
-%# By intentionally submitting any modifications, corrections or
-%# derivatives to this work, or any other work intended for use with
-%# Request Tracker, to Best Practical Solutions, LLC, you confirm that
-%# you are the copyright holder for those contributions and you grant
-%# Best Practical Solutions, LLC a nonexclusive, worldwide, irrevocable,
-%# royalty-free, perpetual, license to use, copy, create derivative
-%# works based on those contributions, and sublicense and distribute
-%# those contributions and any derivatives thereof.
-%#
-%# END BPS TAGGED BLOCK }}}
-<%args>
-$Query => "id > 0"
-$PrimaryGroupBy => 'Queue'
-$SecondaryGroupBy => ''
-$ChartStyle => 'bars'
-$Description => undef
-</%args>
-<%init>
-$ARGS{SecondaryGroupBy} ||= '';
-
-my $title = loc( "Search results grouped by [_1]", $PrimaryGroupBy );
-
-my $saved_search = $m->comp( '/Widgets/SavedSearch:new',
- SearchType => 'Chart',
- SearchFields => [qw(Query PrimaryGroupBy SecondaryGroupBy ChartStyle)] );
-
-my @actions = $m->comp( '/Widgets/SavedSearch:process', args => \%ARGS, self => $saved_search );
-
-</%init>
-<& /Elements/Header, Title => $title &>
-<& /Ticket/Elements/Tabs, Title => $title &>
-<& /Elements/ListActions, actions => \@actions &>
-<& /Search/Elements/Chart, %ARGS &>
-
-
-<& /Widgets/SavedSearch:show, %ARGS, Action => 'Chart.html', self => $saved_search, Title => 'Saved charts' &>
diff --git a/rt/html/Search/Elements/Chart b/rt/html/Search/Elements/Chart
deleted file mode 100644
index 2eca6afda..000000000
--- a/rt/html/Search/Elements/Chart
+++ /dev/null
@@ -1,139 +0,0 @@
-%# BEGIN BPS TAGGED BLOCK {{{
-%#
-%# COPYRIGHT:
-%#
-%# This software is Copyright (c) 1996-2007 Best Practical Solutions, LLC
-%# <jesse@bestpractical.com>
-%#
-%# (Except where explicitly superseded by other copyright notices)
-%#
-%#
-%# LICENSE:
-%#
-%# This work is made available to you under the terms of Version 2 of
-%# the GNU General Public License. A copy of that license should have
-%# been provided with this software, but in any event can be snarfed
-%# from www.gnu.org.
-%#
-%# This work is distributed in the hope that it will be useful, but
-%# WITHOUT ANY WARRANTY; without even the implied warranty of
-%# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-%# General Public License for more details.
-%#
-%# You should have received a copy of the GNU General Public License
-%# along with this program; if not, write to the Free Software
-%# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
-%# 02110-1301 or visit their web page on the internet at
-%# http://www.gnu.org/copyleft/gpl.html.
-%#
-%#
-%# CONTRIBUTION SUBMISSION POLICY:
-%#
-%# (The following paragraph is not intended to limit the rights granted
-%# to you to modify and distribute this software under the terms of
-%# the GNU General Public License and is only of importance to you if
-%# you choose to contribute your changes and enhancements to the
-%# community by submitting them to Best Practical Solutions, LLC.)
-%#
-%# By intentionally submitting any modifications, corrections or
-%# derivatives to this work, or any other work intended for use with
-%# Request Tracker, to Best Practical Solutions, LLC, you confirm that
-%# you are the copyright holder for those contributions and you grant
-%# Best Practical Solutions, LLC a nonexclusive, worldwide, irrevocable,
-%# royalty-free, perpetual, license to use, copy, create derivative
-%# works based on those contributions, and sublicense and distribute
-%# those contributions and any derivatives thereof.
-%#
-%# END BPS TAGGED BLOCK }}}
-<%args>
-$Query => "id > 0"
-$PrimaryGroupBy => 'Queue'
-$SecondaryGroupBy => undef
-$ChartStyle => 'bars'
-</%args>
-<%init>
-use RT::Report::Tickets;
-my $tix = RT::Report::Tickets->new( $session{'CurrentUser'} );
-$tix->FromSQL( $Query );
-my $count_name = $tix->Column( FUNCTION => 'COUNT', FIELD => 'id' );
-$tix->GroupBy( FIELD => $PrimaryGroupBy );
-my $value_name = $tix->Column( FIELD => $PrimaryGroupBy );
-
-my %class = (
- Queue => 'RT::Queue',
- Owner => 'RT::User',
-);
-my $class = $class{ $PrimaryGroupBy };
-
-my (@keys, @values);
-while ( my $entry = $tix->Next ) {
- if ($class) {
- my $q = $class->new( $session{'CurrentUser'} );
- $q->Load( $entry->__Value( $value_name ) );
- push @keys, $q->Name;
- }
- else {
- push @keys, $entry->__Value( $value_name );
- }
- $keys[-1] ||= loc('(no value)');
- push @values, $entry->__Value( $count_name );
-}
-
-# XXX: Convert 1970-01-01 date to the 'Not Set'
-# this code should be generalized!!!
-if ( $PrimaryGroupBy =~ /(Daily|Monthly|Annually)$/ ) {
- my $re;
- $re = qr{1970-01-01} if $PrimaryGroupBy =~ /Daily$/;
- $re = qr{1970-01} if $PrimaryGroupBy =~ /Monthly$/;
- $re = qr{1970} if $PrimaryGroupBy =~ /Annually$/;
- foreach (@keys) {
- s/^$re/loc('Not Set')/e;
- }
-}
-
-my %data;
-foreach my $key (@keys) { $data{$key} = shift @values; }
-my @sorted_keys = sort @keys;
-my @sorted_values = map { $data{$_}} @sorted_keys;
-
-
-my $query_string = $m->comp('/Elements/QueryString', %ARGS);
-</%init>
-
-<% loc('Query:') %>&nbsp;<% $Query %><br />
-
-<img src="<%$RT::WebPath%>/Search/Chart?<%$query_string|n%>" /><br />
-
-<table class="collection-as-table">
-<tr>
-<th class="collection-as-table"><% $tix->Label($PrimaryGroupBy) %>
-</th>
-<th class="collection-as-table"><&|/l&>Tickets</&>
-</th>
-</tr>
-% my ($i,$total);
-% while (my $key = shift @sorted_keys) {
-% $i++;
-% my $value = shift @sorted_values;
-% $total += $value;
-<tr class="<%$i%2 ? 'evenline' : 'oddline' %>">
-<td class="label collection-as-table">
-<%$key%>
-</td>
-<td class="value collection-as-table">
-<%$value%>
-</td>
-</tr>
-% }
-
-%$i++;
-<tr class="<%$i%2 ? 'evenline' : 'oddline' %>">
-<td class="label collection-as-table">
-<%loc('Total')%>
-</td>
-<td class="value collection-as-table">
-<%$total%>
-</td>
-</tr>
-
-</table>
diff --git a/rt/html/Search/Elements/PickRestriction b/rt/html/Search/Elements/PickRestriction
deleted file mode 100644
index ff9b86ba5..000000000
--- a/rt/html/Search/Elements/PickRestriction
+++ /dev/null
@@ -1,142 +0,0 @@
-%# BEGIN LICENSE BLOCK
-%#
-%# Copyright (c) 1996-2003 Jesse Vincent <jesse@bestpractical.com>
-%#
-%# (Except where explictly superceded by other copyright notices)
-%#
-%# This work is made available to you under the terms of Version 2 of
-%# the GNU General Public License. A copy of that license should have
-%# been provided with this software, but in any event can be snarfed
-%# from www.gnu.org.
-%#
-%# This work is distributed in the hope that it will be useful, but
-%# WITHOUT ANY WARRANTY; without even the implied warranty of
-%# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-%# General Public License for more details.
-%#
-%# Unless otherwise specified, all modifications, corrections or
-%# extensions to this work which alter its source code become the
-%# property of Best Practical Solutions, LLC when submitted for
-%# inclusion in the work.
-%#
-%#
-%# END LICENSE BLOCK
-<FORM ACTION="<%$RT::WebPath%>/Search/Listing.html" METHOD="GET">
-<INPUT TYPE=HIDDEN NAME="Bookmark" VALUE="<% $session{'tickets'}->FreezeLimits()%>">
-<& /Elements/TitleBoxStart, title => loc('Refine search')&>
-<INPUT TYPE=HIDDEN NAME="CompileRestriction" VALUE=1>
-
-<ul>
-<li><&|/l&>Owner is</&> <& /Elements/SelectBoolean, Name => "OwnerOp",
- TrueVal=> '=',
- FalseVal => '!='
-&>
-<& /Elements/SelectOwner, Name => "ValueOfOwner" &>
-
-<li>
-<& /Elements/SelectWatcherType, Name => "WatcherRole", AllowNull => 0 &>
-<&|/l&>email address</&>
-<& /Elements/SelectMatch, Name => "WatcherRoleOp" &>
-<INPUT Name="ValueOfWatcherRole" SIZE=20>
-
-<li>
-<&|/l&>Subject</&> <& /Elements/SelectMatch, Name => "SubjectOp" &>
-<INPUT Name="ValueOfSubject" SIZE=20>
-
-<li><&|/l&>Queue</&> <& /Elements/SelectBoolean, Name => "QueueOp" ,
- True => loc("is"),
- False => loc("isn't"),
- TrueVal=> '=',
- FalseVal => '!=' &>
-<& /Elements/SelectQueue, Name => "ValueOfQueue" &>
-
-
-<li><&|/l&>Priority</&> <& /Elements/SelectEqualityOperator, Name => "PriorityOp" &>
-
-<INPUT Name="ValueOfPriority" SIZE=5>
-
-<li>
-<& /Elements/SelectDateType, Name => 'DateType' &>
-<& /Elements/SelectDateRelation, Name=>"DateOp" &>
-<& /Elements/SelectDate, Name => "ValueOfDate", ShowTime => 0, Default => '' &>
-
-<li><&|/l&>Ticket attachment</&>
-
-<& /Elements/SelectAttachmentField, Name => 'AttachmentField' &>
-<& /Elements/SelectBoolean, Name => "AttachmentFieldOp",
- True => loc("matches"),
- False => loc("does not match"),
- TrueVal => 'LIKE',
- FalseVal => 'NOT LIKE'
-&>
-<Input Name="ValueOfAttachmentField" Size=20>
-
-<li><&|/l&>Status</&>
-<& /Elements/SelectBoolean, Name => "StatusOp",
- True => loc("is"),
- False => loc("isn't"),
- TrueVal=> '=',
- FalseVal => '!='
-&>
-<& /Elements/SelectStatus, Name => "ValueOfStatus", SkipDeleted => 1 &>
-
-
-% while ( my $CustomField = $CustomFields->Next ) {
-
-<li><% $CustomField->Name %>
- <& /Elements/SelectCustomFieldOperator, Name => "CustomFieldOp". $CustomField->id,
- True => loc("is"),
- False => loc("isn't"),
- TrueVal=> '=', FalseVal => '!=' &>
-
-<& /Elements/SelectCustomFieldValue, Name => "CustomField".$CustomField->id,
- CustomField => $CustomField,
- &>
-% }
-
-</UL>
-
-<& /Elements/TitleBoxEnd &>
-
-<& /Elements/TitleBoxStart, title => loc('Ordering and sorting')&>
-
-<UL>
-
-<li><&|/l&>Results per page</&> <& /Elements/SelectResultsPerPage, Name => "RowsPerPage",
- Default => $session{'tickets_rows_per_page'} || '50'
-&>
-
-<li><&|/l&>Sort results by</&> <& /Elements/SelectTicketSortBy, Name => "TicketsSortBy",
- Default => $session{'tickets_sort_by'}
-&>
-<& /Elements/SelectSortOrder, Name => 'TicketsSortOrder', Default => $session{'tickets_sort_order'} &>
-
-<li><input type="checkbox" name="HideResults" <%$ARGS{'HideResults'} && 'CHECKED'%>> <&|/l&>Don't show search results</&>
-<li><& /Elements/Refresh, Name => 'RefreshSearchInterval' , Default => $session{'tickets_refresh_interval'} &>
-
-</UL>
-
-
-</DIV>
-
-
-
-<& /Elements/TitleBoxEnd &>
-
-<& /Elements/Submit, Label => loc('Search'), Name => 'Action'&>
-
-</FORM>
-
-
- <%INIT>
-my $CustomFields = RT::CustomFields->new( $session{'CurrentUser'});
- foreach ( $session{'tickets'}->RestrictionValues('Queue') ) {
- # Gotta load up the $queue object, since queues get stored by name now.
- my $queue = RT::Queue->new($session{'CurrentUser'});
- $queue->Load($_);
- $CustomFields->LimitToQueue($queue->Id);
- }
-
- $CustomFields->LimitToGlobal();
-
-</%INIT>
diff --git a/rt/html/Search/Elements/SearchesForObject b/rt/html/Search/Elements/SearchesForObject
deleted file mode 100644
index 45aa4535e..000000000
--- a/rt/html/Search/Elements/SearchesForObject
+++ /dev/null
@@ -1,65 +0,0 @@
-%# BEGIN BPS TAGGED BLOCK {{{
-%#
-%# COPYRIGHT:
-%#
-%# This software is Copyright (c) 1996-2007 Best Practical Solutions, LLC
-%# <jesse@bestpractical.com>
-%#
-%# (Except where explicitly superseded by other copyright notices)
-%#
-%#
-%# LICENSE:
-%#
-%# This work is made available to you under the terms of Version 2 of
-%# the GNU General Public License. A copy of that license should have
-%# been provided with this software, but in any event can be snarfed
-%# from www.gnu.org.
-%#
-%# This work is distributed in the hope that it will be useful, but
-%# WITHOUT ANY WARRANTY; without even the implied warranty of
-%# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-%# General Public License for more details.
-%#
-%# You should have received a copy of the GNU General Public License
-%# along with this program; if not, write to the Free Software
-%# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
-%# 02110-1301 or visit their web page on the internet at
-%# http://www.gnu.org/copyleft/gpl.html.
-%#
-%#
-%# CONTRIBUTION SUBMISSION POLICY:
-%#
-%# (The following paragraph is not intended to limit the rights granted
-%# to you to modify and distribute this software under the terms of
-%# the GNU General Public License and is only of importance to you if
-%# you choose to contribute your changes and enhancements to the
-%# community by submitting them to Best Practical Solutions, LLC.)
-%#
-%# By intentionally submitting any modifications, corrections or
-%# derivatives to this work, or any other work intended for use with
-%# Request Tracker, to Best Practical Solutions, LLC, you confirm that
-%# you are the copyright holder for those contributions and you grant
-%# Best Practical Solutions, LLC a nonexclusive, worldwide, irrevocable,
-%# royalty-free, perpetual, license to use, copy, create derivative
-%# works based on those contributions, and sublicense and distribute
-%# those contributions and any derivatives thereof.
-%#
-%# END BPS TAGGED BLOCK }}}
-<%args>
-$Object => undef
-</%args>
-<%init>
-# Returns an array of search objects associated on $Object,
-# in the form of [Description, searchObj]
-my @result;
-while (my $search = $Object->Attributes->Next) {
- my $desc;
- if ($search->Name eq 'SavedSearch') {
- push @result, [$search->Description, $search];
- }
- elsif ($search->Name =~ m/^Search - (.*)/) {
- push @result, [$1, $search];
- }
-}
-return @result;
-</%init>
diff --git a/rt/html/Search/Elements/SelectChartType b/rt/html/Search/Elements/SelectChartType
deleted file mode 100644
index 43a6182bf..000000000
--- a/rt/html/Search/Elements/SelectChartType
+++ /dev/null
@@ -1,56 +0,0 @@
-%# BEGIN BPS TAGGED BLOCK {{{
-%#
-%# COPYRIGHT:
-%#
-%# This software is Copyright (c) 1996-2007 Best Practical Solutions, LLC
-%# <jesse@bestpractical.com>
-%#
-%# (Except where explicitly superseded by other copyright notices)
-%#
-%#
-%# LICENSE:
-%#
-%# This work is made available to you under the terms of Version 2 of
-%# the GNU General Public License. A copy of that license should have
-%# been provided with this software, but in any event can be snarfed
-%# from www.gnu.org.
-%#
-%# This work is distributed in the hope that it will be useful, but
-%# WITHOUT ANY WARRANTY; without even the implied warranty of
-%# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-%# General Public License for more details.
-%#
-%# You should have received a copy of the GNU General Public License
-%# along with this program; if not, write to the Free Software
-%# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
-%# 02110-1301 or visit their web page on the internet at
-%# http://www.gnu.org/copyleft/gpl.html.
-%#
-%#
-%# CONTRIBUTION SUBMISSION POLICY:
-%#
-%# (The following paragraph is not intended to limit the rights granted
-%# to you to modify and distribute this software under the terms of
-%# the GNU General Public License and is only of importance to you if
-%# you choose to contribute your changes and enhancements to the
-%# community by submitting them to Best Practical Solutions, LLC.)
-%#
-%# By intentionally submitting any modifications, corrections or
-%# derivatives to this work, or any other work intended for use with
-%# Request Tracker, to Best Practical Solutions, LLC, you confirm that
-%# you are the copyright holder for those contributions and you grant
-%# Best Practical Solutions, LLC a nonexclusive, worldwide, irrevocable,
-%# royalty-free, perpetual, license to use, copy, create derivative
-%# works based on those contributions, and sublicense and distribute
-%# those contributions and any derivatives thereof.
-%#
-%# END BPS TAGGED BLOCK }}}
-<%args>
-$Name => 'ChartType'
-$Default => 'bar'
-</%args>
-<select name="<%$Name%>">
-% foreach my $option qw(bar pie) {
-<option value="<%$option%>" <% $option eq $Default ? 'SELECTED' : '' %>><%loc($option)%></option>
-% }
-</select>
diff --git a/rt/html/Search/Elements/SelectGroupBy b/rt/html/Search/Elements/SelectGroupBy
deleted file mode 100644
index 0ffb5e453..000000000
--- a/rt/html/Search/Elements/SelectGroupBy
+++ /dev/null
@@ -1,63 +0,0 @@
-%# BEGIN BPS TAGGED BLOCK {{{
-%#
-%# COPYRIGHT:
-%#
-%# This software is Copyright (c) 1996-2007 Best Practical Solutions, LLC
-%# <jesse@bestpractical.com>
-%#
-%# (Except where explicitly superseded by other copyright notices)
-%#
-%#
-%# LICENSE:
-%#
-%# This work is made available to you under the terms of Version 2 of
-%# the GNU General Public License. A copy of that license should have
-%# been provided with this software, but in any event can be snarfed
-%# from www.gnu.org.
-%#
-%# This work is distributed in the hope that it will be useful, but
-%# WITHOUT ANY WARRANTY; without even the implied warranty of
-%# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-%# General Public License for more details.
-%#
-%# You should have received a copy of the GNU General Public License
-%# along with this program; if not, write to the Free Software
-%# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
-%# 02110-1301 or visit their web page on the internet at
-%# http://www.gnu.org/copyleft/gpl.html.
-%#
-%#
-%# CONTRIBUTION SUBMISSION POLICY:
-%#
-%# (The following paragraph is not intended to limit the rights granted
-%# to you to modify and distribute this software under the terms of
-%# the GNU General Public License and is only of importance to you if
-%# you choose to contribute your changes and enhancements to the
-%# community by submitting them to Best Practical Solutions, LLC.)
-%#
-%# By intentionally submitting any modifications, corrections or
-%# derivatives to this work, or any other work intended for use with
-%# Request Tracker, to Best Practical Solutions, LLC, you confirm that
-%# you are the copyright holder for those contributions and you grant
-%# Best Practical Solutions, LLC a nonexclusive, worldwide, irrevocable,
-%# royalty-free, perpetual, license to use, copy, create derivative
-%# works based on those contributions, and sublicense and distribute
-%# those contributions and any derivatives thereof.
-%#
-%# END BPS TAGGED BLOCK }}}
-<%args>
-$Name => 'GroupBy'
-$Default => 'Status'
-$Query => ''
-</%args>
-<select name="<% $Name %>">
-% while (@options) {
-% my ($text, $value) = (shift @options, shift @options);
-<option value="<% $value %>" <% $value eq $Default ? 'selected' : '' %>><% loc($text) %></option>
-% }
-</select>
-<%init>
-use RT::Report::Tickets;
-my $report = RT::Report::Tickets->new( $session{'CurrentUser'} );
-my @options = $report->Groupings( Query => $Query );
-</%init>
diff --git a/rt/html/Search/Elements/TicketHeader b/rt/html/Search/Elements/TicketHeader
deleted file mode 100644
index ed2f60e4e..000000000
--- a/rt/html/Search/Elements/TicketHeader
+++ /dev/null
@@ -1,40 +0,0 @@
-%# BEGIN LICENSE BLOCK
-%#
-%# Copyright (c) 1996-2003 Jesse Vincent <jesse@bestpractical.com>
-%#
-%# (Except where explictly superceded by other copyright notices)
-%#
-%# This work is made available to you under the terms of Version 2 of
-%# the GNU General Public License. A copy of that license should have
-%# been provided with this software, but in any event can be snarfed
-%# from www.gnu.org.
-%#
-%# This work is distributed in the hope that it will be useful, but
-%# WITHOUT ANY WARRANTY; without even the implied warranty of
-%# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-%# General Public License for more details.
-%#
-%# Unless otherwise specified, all modifications, corrections or
-%# extensions to this work which alter its source code become the
-%# property of Best Practical Solutions, LLC when submitted for
-%# inclusion in the work.
-%#
-%#
-%# END LICENSE BLOCK
-<TR>
-<& TicketHeaderCell , Attribute => 'id', Header => '#'&>
-<& TicketHeaderCell , Attribute => 'Subject'&>
-<& TicketHeaderCell , Attribute => 'Status'&>
-<& TicketHeaderCell , Attribute => 'Queue'&>
-<& TicketHeaderCell , Attribute => 'Owner'&>
-<& TicketHeaderCell , Attribute => 'Priority'&>
-</TR>
-<TR>
-<TH class="ticketheader">&nbsp;</TH>
-<& TicketHeaderCell , Attribute => 'Requestor(s)'&>
-<& TicketHeaderCell , Attribute => 'Created'&>
-<& TicketHeaderCell , Attribute => 'Told', Header => 'Last Contact'&>
-<& TicketHeaderCell , Attribute => 'LastUpdated', Header => 'Last Updated'&>
-<& TicketHeaderCell , Attribute => 'TimeLeft', Header => 'Left'&>
-</TR>
-%# loc('Last Notified');
diff --git a/rt/html/Search/Elements/TicketHeaderCell b/rt/html/Search/Elements/TicketHeaderCell
deleted file mode 100644
index 5def9ea37..000000000
--- a/rt/html/Search/Elements/TicketHeaderCell
+++ /dev/null
@@ -1,55 +0,0 @@
-%# BEGIN LICENSE BLOCK
-%#
-%# Copyright (c) 1996-2003 Jesse Vincent <jesse@bestpractical.com>
-%#
-%# (Except where explictly superceded by other copyright notices)
-%#
-%# This work is made available to you under the terms of Version 2 of
-%# the GNU General Public License. A copy of that license should have
-%# been provided with this software, but in any event can be snarfed
-%# from www.gnu.org.
-%#
-%# This work is distributed in the hope that it will be useful, but
-%# WITHOUT ANY WARRANTY; without even the implied warranty of
-%# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-%# General Public License for more details.
-%#
-%# Unless otherwise specified, all modifications, corrections or
-%# extensions to this work which alter its source code become the
-%# property of Best Practical Solutions, LLC when submitted for
-%# inclusion in the work.
-%#
-%#
-%# END LICENSE BLOCK
-<%INIT>
-my ($order,$curorder);
- $Attribute =~ s/Obj->(Name|AsString|AgeAsString)//g;
- if ($session{'tickets_sort_order'} =~ /^asc$/i) {
- $order = 'DESC';
- $curorder = 'ASC';
- } else {
- $order = 'ASC';
- $curorder = 'DESC';
- }
-$Header = $Attribute unless ($Header);
-
-</%INIT>
-<th class="ticketheader">
-% if (grep (/^$Attribute$/i, $session{'tickets'}->SortFields)) {
-<A
-% if ($Attribute eq $session{'tickets_sort_by'}) {
-class="currenttab"
-HREF="<% $RT::WebPath%>/Search/Listing.html?Bookmark=<%$session{'tickets'}->FreezeLimits()|u%>&TicketsSortBy=<%$Attribute%>&TicketsSortOrder=<%$order%>&RowsPerPage=<%$session{'tickets_rows_per_page'}%>">
-% } else {
-HREF="<% $RT::WebPath%>/Search/Listing.html?Bookmark=<%$session{'tickets'}->FreezeLimits()|u%>&TicketsSortBy=<%$Attribute%>&TicketsSortOrder=<%$curorder%>&RowsPerPage=<%$session{'tickets_rows_per_page'}%>">
-% }
-<% loc($Header) %>
-</A>
-% } else {
-<% loc($Header) %>
-% }
-</th>
-<%ARGS>
-$Header => undef
-$Attribute => undef
-</%ARGS>
diff --git a/rt/html/Search/Elements/TicketRow b/rt/html/Search/Elements/TicketRow
deleted file mode 100644
index 5d1ad209a..000000000
--- a/rt/html/Search/Elements/TicketRow
+++ /dev/null
@@ -1,55 +0,0 @@
-%# BEGIN LICENSE BLOCK
-%#
-%# Copyright (c) 1996-2003 Jesse Vincent <jesse@bestpractical.com>
-%#
-%# (Except where explictly superceded by other copyright notices)
-%#
-%# This work is made available to you under the terms of Version 2 of
-%# the GNU General Public License. A copy of that license should have
-%# been provided with this software, but in any event can be snarfed
-%# from www.gnu.org.
-%#
-%# This work is distributed in the hope that it will be useful, but
-%# WITHOUT ANY WARRANTY; without even the implied warranty of
-%# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-%# General Public License for more details.
-%#
-%# Unless otherwise specified, all modifications, corrections or
-%# extensions to this work which alter its source code become the
-%# property of Best Practical Solutions, LLC when submitted for
-%# inclusion in the work.
-%#
-%#
-%# END LICENSE BLOCK
-<SPAN class="search">
-<TR
-% if ($i%2) {
-CLASS="oddline"
-% } else {
-CLASS="evenline"
-% }
->
-<TD ROWSPAN="2"><B><A HREF="<%$RT::WebPath%>/Ticket/Display.html?id=<%$Ticket->Id%>"><%$Ticket->id%></a></B></TD>
-<TD><B><A HREF="<%$RT::WebPath%>/Ticket/Display.html?id=<%$Ticket->Id%>"><%$Ticket->Subject%></a></B></TD>
-<TD><%loc($Ticket->Status)%></TD>
-<TD><%$Ticket->QueueObj->Name%></TD>
-<TD><%$Ticket->Owner == $RT::Nobody->Id ? loc('Nobody') : $Ticket->OwnerObj->Name%></TD>
-<TD><%$Ticket->Priority%></TD>
-</TR>
-<TR
-% if ($i%2) {
-CLASS="oddline"
-% } else {
-CLASS="evenline"
-% }
-><TD><small><%$Ticket->Requestors->MemberEmailAddressesAsString%></small></TD>
-<TD><SMALL><%$Ticket->CreatedObj->AgeAsString || '-'%></SMALL></TD>
-<TD><SMALL><%$Ticket->ToldObj->AgeAsString || '-'%></SMALL></TD>
-<TD><SMALL><%$Ticket->LastUpdatedObj->AgeAsString || '-'%></SMALL></TD>
-<TD><SMALL><%$Ticket->TimeLeft%></SMALL></TD>
-</TR>
-</SPAN>
-<%ARGS>
-$Ticket => undef
-$i => undef
-</%ARGS>
diff --git a/rt/html/Search/Listing.html b/rt/html/Search/Listing.html
deleted file mode 100644
index 68b1fd75c..000000000
--- a/rt/html/Search/Listing.html
+++ /dev/null
@@ -1,113 +0,0 @@
-%# BEGIN LICENSE BLOCK
-%#
-%# Copyright (c) 1996-2003 Jesse Vincent <jesse@bestpractical.com>
-%#
-%# (Except where explictly superceded by other copyright notices)
-%#
-%# This work is made available to you under the terms of Version 2 of
-%# the GNU General Public License. A copy of that license should have
-%# been provided with this software, but in any event can be snarfed
-%# from www.gnu.org.
-%#
-%# This work is distributed in the hope that it will be useful, but
-%# WITHOUT ANY WARRANTY; without even the implied warranty of
-%# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-%# General Public License for more details.
-%#
-%# Unless otherwise specified, all modifications, corrections or
-%# extensions to this work which alter its source code become the
-%# property of Best Practical Solutions, LLC when submitted for
-%# inclusion in the work.
-%#
-%#
-%# END LICENSE BLOCK
-<& /Elements/Header, Title => $title, Refresh => $session{'tickets_refresh_interval'} &>
-<& /Ticket/Elements/Tabs,
- current_tab => 'Search/Listing.html',
- Title => $title &>
-
-%if ($ticketcount && ! $ARGS{'HideResults'}) {
-<TABLE WIDTH=100% border=0 cellpadding=2 CELLSPACING=0>
-<& Elements/TicketHeader, %ARGS &>
-% my $i;
-%while (my $Ticket = $session{'tickets'}->Next) {
-% $i++;
-<& Elements/TicketRow, Ticket => $Ticket, i=> $i, %ARGS &>
-%}
-</TABLE>
-<div align=center>
-<font size=2>
-<a href="<%$RT::WebPath%>/Search/Listing.html?GotoPage=1"><&|/l&>First page</&></a>
-&nbsp;&nbsp;
-% if ( $session{'tickets'}->FirstRow >= $session{'tickets_rows_per_page'}-1 ) {
-<a href="<%$RT::WebPath%>/Search/Listing.html?GotoPage=Prev">&lt;<&|/l&>Previous page</&></a>
-&nbsp;&nbsp;
-% }
-% if ( $session{'tickets'}->FirstRow + $session{'tickets_rows_per_page'} < $ticketcount ) {
-<a href="<%$RT::WebPath%>/Search/Listing.html?GotoPage=Next"><&|/l&>Next page</&>&gt;</a>
-% }
-%#&nbsp;&nbsp;<form method=get action="<%$RT::WebPath%>/Search/Listing.html"><&|/l&>Goto page</&> <input name=GotoPage size=2></form>
-</font>
-</div>
-<!--<div align=right>-->
-<table width="100%" border=0 cellpadding=3 CELLSPACING=1>
-<tr>
-<td align=left>
-(<&|/l, ($session{'tickets'}->FirstRow+1), ($session{'tickets'}->FirstRow() + $session{'tickets'}->RowsPerPage() ) &>[_1] - [_2] shown</&>)
-</td>
-<td align=right>
-
-<a href="<%$RT::WebPath%>/Search/Bulk.html"><&|/l&>Update all these tickets at once</&></a>
-<!--</div>-->
-</td>
-</tr>
-</table>
-
-% }
-<TABLE WIDTH="100%">
-<TR>
-<TD VALIGN="TOP">
-<& /Elements/TitleBoxStart, title => loc('Current search criteria')&>
-
-%my %restrictions=$session{'tickets'}->DescribeRestrictions();
-%foreach my $row (keys %restrictions){
-<%$restrictions{"$row"}%> <A HREF="<% $RT::WebPath %>/Search/Listing.html?DeleteRestriction=<%$row%>">[<&|/l&>delete</&>]</a><br>
-%}
-<BR>
-<BR>
-<A HREF="<% $RT::WebPath%>/Search/Listing.html?Bookmark=<%$session{'tickets'}->FreezeLimits()|nu%>&TicketsSortBy=<%$session{'tickets_sort_by'}%>&TicketsSortOrder=<%$session{'tickets_sort_order'}%>&RowsPerPage=<%$session{'tickets_rows_per_page'}%>"><&|/l&>Bookmarkable URL for this search</&></a>
-<& /Elements/TitleBoxEnd&>
-</TD>
-<TD>
-
-<& Elements/PickRestriction, %ARGS &>
-
-</TD>
-</TR>
-</TABLE>
-
-<%INIT>
-
-my ($title, $ticketcount);
-$session{'i'}++;
-if ($session{'tickets'}) {
- if ($ARGS{'DeleteRestriction'}) {
- $session{'tickets'}->DeleteRestriction($ARGS{'DeleteRestriction'});
- }
- if ( ($ARGS{'ClearRestrictions'}) || ($ARGS{'NewSearch'}) ) {
- $session{'tickets'}->ClearRestrictions;
- $session{'tickets'}->CleanSlate;
- }
-}
- ProcessSearchQuery(ARGS=>\%ARGS);
- $session{'tickets'}->RedoSearch();
- if ( $session{'tickets'}->DescribeRestrictions()) {
- $ticketcount = $session{tickets}->CountAll();
- $title = loc('Found [quant,_1,ticket]', $ticketcount);
- } else {
- $title = loc("Find tickets");
- }
-</%INIT>
-<%CLEANUP>
-$session{'tickets'}->PrepForSerialization();
-</%CLEANUP>
diff --git a/rt/html/Search/Simple.html b/rt/html/Search/Simple.html
deleted file mode 100644
index cdffc4c46..000000000
--- a/rt/html/Search/Simple.html
+++ /dev/null
@@ -1,93 +0,0 @@
-%# BEGIN BPS TAGGED BLOCK {{{
-%#
-%# COPYRIGHT:
-%#
-%# This software is Copyright (c) 1996-2007 Best Practical Solutions, LLC
-%# <jesse@bestpractical.com>
-%#
-%# (Except where explicitly superseded by other copyright notices)
-%#
-%#
-%# LICENSE:
-%#
-%# This work is made available to you under the terms of Version 2 of
-%# the GNU General Public License. A copy of that license should have
-%# been provided with this software, but in any event can be snarfed
-%# from www.gnu.org.
-%#
-%# This work is distributed in the hope that it will be useful, but
-%# WITHOUT ANY WARRANTY; without even the implied warranty of
-%# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-%# General Public License for more details.
-%#
-%# You should have received a copy of the GNU General Public License
-%# along with this program; if not, write to the Free Software
-%# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
-%# 02110-1301 or visit their web page on the internet at
-%# http://www.gnu.org/copyleft/gpl.html.
-%#
-%#
-%# CONTRIBUTION SUBMISSION POLICY:
-%#
-%# (The following paragraph is not intended to limit the rights granted
-%# to you to modify and distribute this software under the terms of
-%# the GNU General Public License and is only of importance to you if
-%# you choose to contribute your changes and enhancements to the
-%# community by submitting them to Best Practical Solutions, LLC.)
-%#
-%# By intentionally submitting any modifications, corrections or
-%# derivatives to this work, or any other work intended for use with
-%# Request Tracker, to Best Practical Solutions, LLC, you confirm that
-%# you are the copyright holder for those contributions and you grant
-%# Best Practical Solutions, LLC a nonexclusive, worldwide, irrevocable,
-%# royalty-free, perpetual, license to use, copy, create derivative
-%# works based on those contributions, and sublicense and distribute
-%# those contributions and any derivatives thereof.
-%#
-%# END BPS TAGGED BLOCK }}}
-<& /Elements/Header, Title => $title &>
-<& /Elements/Tabs,
- current_toptab => "Search/Simple.html",
- Title => $title
-&>
-
-<div id="SimpleSearchForm">
-<form action="Simple.html" method="get">
-
-<p><&|/l&>Search for tickets. Enter <strong>id</strong> numbers, <strong>queues</strong> by name, Owners by <strong>username</strong> and Requestors by <strong>email address</strong>. RT will look for anything else you enter in ticket bodies and attachments.</&></p>
-
-<p><&|/l&>Searching the full text of every ticket can take a long time, but if you need to do it, you can search for any word in full ticket history for any word by typing <b>fulltext:<i>word</i></b>.</&></p>
-<p><&|/l&>RT will look for anything else you enter in ticket subjects.</&></p>
-
-<br />
-<br />
-<div align="center">
-<input name="q" size="60" /><input type="submit" class="button" value="<&|/l&>Search</&>" />
-</div>
-</div>
-
-<%INIT>
-my $title = loc("Search for tickets");
-use RT::Search::Googleish;
-
-if ($q) {
- my $tickets = new RT::Tickets( $session{'CurrentUser'} );
-
- $m->comp('/Elements/Callback', %ARGS, _CallbackName => 'ModifyQuery', query => \$q);
-
- if ($q =~ /^(\d+)$/) {
- RT::Interface::Web::Redirect($RT::WebURL."/Ticket/Display.html?id=".$q);
- }
- my $search = RT::Search::Googleish->new(Argument => $q,
- TicketsObj => $tickets);
-
- $m->comp( "Results.html", Query => $search->QueryToSQL() );
- $m->comp( "/Elements/Footer" );
- $m->abort();
-}
-</%INIT>
-
-<%ARGS>
-$q => undef
-</%ARGS>
-
diff --git a/rt/html/Ticket/Elements/EditLinks b/rt/html/Ticket/Elements/EditLinks
deleted file mode 100644
index bdb8a6b7d..000000000
--- a/rt/html/Ticket/Elements/EditLinks
+++ /dev/null
@@ -1,133 +0,0 @@
-%# BEGIN LICENSE BLOCK
-%#
-%# Copyright (c) 1996-2003 Jesse Vincent <jesse@bestpractical.com>
-%#
-%# (Except where explictly superceded by other copyright notices)
-%#
-%# This work is made available to you under the terms of Version 2 of
-%# the GNU General Public License. A copy of that license should have
-%# been provided with this software, but in any event can be snarfed
-%# from www.gnu.org.
-%#
-%# This work is distributed in the hope that it will be useful, but
-%# WITHOUT ANY WARRANTY; without even the implied warranty of
-%# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-%# General Public License for more details.
-%#
-%# Unless otherwise specified, all modifications, corrections or
-%# extensions to this work which alter its source code become the
-%# property of Best Practical Solutions, LLC when submitted for
-%# inclusion in the work.
-%#
-%#
-%# END LICENSE BLOCK
-<TABLE width=100%>
- <TR>
- <TD VALIGN=TOP WIDTH=50%>
- <h3><&|/l&>Current Relationships</&></h3>
-
-<table>
- <tr>
- <td></td>
- <td><i><&|/l&>(Check box to delete)</&></i></td>
- </tr>
- <tr>
- <td class="labeltop"><&|/l&>Depends on</&>:</td>
- <td class="value">
-% while (my $link = $Ticket->DependsOn->Next) {
- <INPUT TYPE=CHECKBOX NAME="DeleteLink--<%$link->Type%>-<%$link->Target%>">
- <& ShowLink, URI => $link->TargetURI &><br>
-% }
- </td>
- </tr>
- <tr>
- <td class="labeltop"><&|/l&>Depended on by</&>:</td>
- <td class="value">
-% while (my $link = $Ticket->DependedOnBy->Next) {
-% my $member = $link->BaseObj;
- <INPUT TYPE=CHECKBOX NAME="DeleteLink-<%$link->Base%>-<%$link->Type%>-">
- <& ShowLink, URI => $link->BaseURI &><br>
-% }
- </td>
- </tr>
- <tr>
- <td class="labeltop"><&|/l&>Parents</&>:</td>
- <td class="value">
-% while (my $link = $Ticket->MemberOf->Next) {
- <INPUT TYPE=CHECKBOX NAME="DeleteLink--<%$link->Type%>-<%$link->Target%>">
- <& ShowLink, URI => $link->TargetURI &><br>
-% }
- </td>
- </tr>
- <tr>
- <td class="labeltop"><&|/l&>Children</&>:</td>
- <td class="value">
-% while (my $link = $Ticket->Members->Next) {
- <INPUT TYPE=CHECKBOX NAME="DeleteLink-<%$link->Base%>-<%$link->Type%>-">
- <& ShowLink, URI => $link->BaseURI &><br>
-% }
- </td>
- </tr>
- <tr>
- <td class="labeltop"><&|/l&>Refers to</&>:</td>
- <td class="value">
-% while (my $link = $Ticket->RefersTo->Next) {
- <INPUT TYPE=CHECKBOX NAME="DeleteLink--<%$link->Type%>-<%$link->Target%>">
- <& ShowLink, URI => $link->TargetURI &><br>
-%}
- </td>
- </tr>
- <tr>
- <td class="labeltop"><&|/l&>Referred to by</&>:</td>
- <td class="value">
-% while (my $link = $Ticket->ReferredToBy->Next) {
- <INPUT TYPE=CHECKBOX NAME="DeleteLink-<%$link->Base%>-<%$link->Type%>-">
- <& ShowLink, URI => $link->BaseURI &><br>
-% }
- </td>
- </tr>
-</table>
-
-</TD>
-<TD VALIGN=TOP>
-<h3><&|/l&>New Relationships</&></h3>
-<i><&|/l&>Enter tickets or URIs to link tickets to. Seperate multiple entries with spaces.</&></i><br>
-<TABLE>
- <TR>
- <TD class="label"><&|/l&>Merge into</&>:</TD>
- <TD class="entry"><input name="<%$Ticket->Id%>-MergeInto"> <i><&|/l&>(only one ticket)</&></i></TD>
- </TR>
- <TR>
- <TD class="label"><&|/l&>Depends on</&>:</TD>
- <TD class="entry"><input name="<%$Ticket->Id%>-DependsOn"></TD>
- </TR>
- <TR>
- <TD class="label"><&|/l&>Depended on by</&>:</TD>
- <TD class="entry"><input name="DependsOn-<%$Ticket->Id%>"></TD>
- </TR>
- <TR>
- <TD class="label"><&|/l&>Parents</&>:</TD>
- <TD class="entry"><input name="<%$Ticket->Id%>-MemberOf"></TD>
- </TR>
- <TR>
- <TD class="label"><&|/l&>Children</&>:</TD>
- <TD class="entry"> <input name="MemberOf-<%$Ticket->Id%>"></TD>
- </TR>
- <TR>
- <TD class="label"><&|/l&>Refers to</&>:</TD>
- <TD class="entry"><input name="<%$Ticket->Id%>-RefersTo"></TD>
- </TR>
- <TR>
- <TD class="label"><&|/l&>Referred to by</&>:</TD>
- <TD class="entry"> <input name="RefersTo-<%$Ticket->Id%>"></TD>
- </TR>
-</TABLE>
-</TD>
-</TR>
-</TABLE>
-
-
-
-<%ARGS>
-$Ticket => undef
-</%ARGS>
diff --git a/rt/html/Ticket/Elements/Reminders b/rt/html/Ticket/Elements/Reminders
deleted file mode 100644
index 63d68c7b1..000000000
--- a/rt/html/Ticket/Elements/Reminders
+++ /dev/null
@@ -1,168 +0,0 @@
-%# BEGIN BPS TAGGED BLOCK {{{
-%#
-%# COPYRIGHT:
-%#
-%# This software is Copyright (c) 1996-2007 Best Practical Solutions, LLC
-%# <jesse@bestpractical.com>
-%#
-%# (Except where explicitly superseded by other copyright notices)
-%#
-%#
-%# LICENSE:
-%#
-%# This work is made available to you under the terms of Version 2 of
-%# the GNU General Public License. A copy of that license should have
-%# been provided with this software, but in any event can be snarfed
-%# from www.gnu.org.
-%#
-%# This work is distributed in the hope that it will be useful, but
-%# WITHOUT ANY WARRANTY; without even the implied warranty of
-%# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-%# General Public License for more details.
-%#
-%# You should have received a copy of the GNU General Public License
-%# along with this program; if not, write to the Free Software
-%# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
-%# 02110-1301 or visit their web page on the internet at
-%# http://www.gnu.org/copyleft/gpl.html.
-%#
-%#
-%# CONTRIBUTION SUBMISSION POLICY:
-%#
-%# (The following paragraph is not intended to limit the rights granted
-%# to you to modify and distribute this software under the terms of
-%# the GNU General Public License and is only of importance to you if
-%# you choose to contribute your changes and enhancements to the
-%# community by submitting them to Best Practical Solutions, LLC.)
-%#
-%# By intentionally submitting any modifications, corrections or
-%# derivatives to this work, or any other work intended for use with
-%# Request Tracker, to Best Practical Solutions, LLC, you confirm that
-%# you are the copyright holder for those contributions and you grant
-%# Best Practical Solutions, LLC a nonexclusive, worldwide, irrevocable,
-%# royalty-free, perpetual, license to use, copy, create derivative
-%# works based on those contributions, and sublicense and distribute
-%# those contributions and any derivatives thereof.
-%#
-%# END BPS TAGGED BLOCK }}}
-<%args>
-$Ticket => undef
-$id => undef
-$ShowCompleted => 0
-$Edit => 0
-</%args>
-<%init>
-
-$Ticket = LoadTicket($id) if ($id);
-
-my $request_args = $m->request_args();
-
-my $reminder_collection = $Ticket->Reminders->Collection;
-
-if ( $request_args->{'update-reminders'} ) {
- while ( my $reminder = $reminder_collection->Next ) {
- if ( $reminder->Status ne 'resolved' && $request_args->{ 'Complete-Reminder-' . $reminder->id } ) {
- $Ticket->Reminders->Resolve($reminder);
- }
- elsif ( $reminder->Status eq 'resolved' && !$request_args->{ 'Complete-Reminder-' . $reminder->id } ) {
- $Ticket->Reminders->Open($reminder);
- }
-
- if ( exists( $request_args->{ 'Reminder-Subject-' . $reminder->id } ) && ( $reminder->Subject ne $request_args->{ 'Reminder-Subject-' . $reminder->id } )) {
- $reminder->SetSubject( $request_args->{ 'Reminder-Subject-' . $reminder->id } ) ;
- }
-
- if ( exists( $request_args->{ 'Reminder-Owner-' . $reminder->id } ) && ( $reminder->Owner != $request_args->{ 'Reminder-Owner-' . $reminder->id } )) {
- $reminder->SetOwner( $request_args->{ 'Reminder-Owner-' . $reminder->id } , "Force" ) ;
- }
-
- if ( exists( $request_args->{ 'Reminder-Due-' . $reminder->id } ) && ( $reminder->DueObj->Date ne $request_args->{ 'Reminder-Due-' . $reminder->id } )) {
- $reminder->SetDue( $request_args->{ 'Reminder-Due-' . $reminder->id } ) ;
- }
- }
-}
-
-if ( $request_args->{'NewReminder-Subject'} ) {
- my $due_obj = RT::Date->new( $session{'CurrentUser'} );
- my $date = Time::ParseDate::parsedate(
- $request_args->{'NewReminder-Due'},
- UK => $RT::DateDayBeforeMonth,
- PREFER_PAST => 0,
- PREFER_FUTURE => 1
- );
- $due_obj->Set( Value => $date, Format => 'unix' );
- my ( $add_id, $msg, $txnid ) = $Ticket->Reminders->Add(
-
- Subject => $request_args->{'NewReminder-Subject'},
- Owner => $request_args->{'NewReminder-Owner'},
- Due => $due_obj->ISO
- );
-}
-
-# We've made changes, let's reload our search
-
-$reminder_collection = $Ticket->Reminders->Collection;
-</%init>
-<input type="hidden" class="hidden" name="id" value="<% $Ticket->id %>" />
-<input type="hidden" class="hidden" name="update-reminders" value="1" />
-<div>
-% while (my $reminder = $reminder_collection->Next) {
-% if ($reminder->Status eq 'resolved' && !$ShowCompleted) {
-<input type="hidden" class="hidden" name="Complete-Reminder-<% $reminder->id %>" value="1" />
-% } elsif ($Edit) {
-<& SELF:EditEntry, Reminder => $reminder, Ticket => $Ticket &>
-% } else {
-<& SELF:ShowEntry, Reminder => $reminder, Ticket => $Ticket &>
-% }
-% }
-</div>
-<div>
-<h3><&|/l&>New reminder:</&></h3>
-<& SELF:NewReminder, Ticket => $Ticket &>
-<%method NewReminder>
-<%args>
-$Ticket
-</%args>
-<div class="input-row">
-<label class="horizontal" for="NewReminder-Subject" ><&|/l&>Subject</&>:</label>
-<input type="text" size="15" name="NewReminder-Subject" />
-</div>
-<div class="input-row">
-<label class="horizontal" for="NewReminder-Owner" ><&|/l&>Owner</&>:</label>
-<& /Elements/SelectOwner, Name => 'NewReminder-Owner', QueueObj => $Ticket->QueueObj, DefaultValue => 0 &>
-</div>
-<div class="input-row">
-<label class="horizontal" for="NewReminder-Due" ><&|/l&>Due</&> <&|/l&>(yyyy/mm/dd)</&>:</label>
-<& /Elements/SelectDate, Name => "NewReminder-Due", Default => "" &>
-</div>
-</div>
-</%method>
-<%method EditEntry>
-<%args>
-$Reminder
-$Ticket
-</%args>
-<input
- type="checkbox"
- name="Complete-Reminder-<%$Reminder->id%>"
- <% $Reminder->Status eq 'resolved' ? 'CHECKED' : '' %>
-/>
- <input type="text" size="15" name="Reminder-Subject-<% $Reminder->id %>" value="<%$Reminder->Subject%>" /> &bull;
- <& /Elements/SelectOwner, Name => 'Reminder-Owner-'.$Reminder->id, Queue => $Ticket->QueueObj, Default => $Reminder->Owner, DefaultValue => 0 &>
- <& /Elements/SelectDate, Name => 'Reminder-Due-'.$Reminder->id, Default => $Reminder->DueObj->Date &>
- (<%$Reminder->DueObj->Unix>0 ? $Reminder->DueObj->AgeAsString : '' %>)<br />
-</%method>
-<%method ShowEntry>
-<%args>
-$Reminder
-$Ticket
-</%args>
-<input
- type="checkbox"
- name="Complete-Reminder-<%$Reminder->id%>"
- <% $Reminder->Status eq 'resolved' ? 'CHECKED' : '' %>
-/>
- <%$Reminder->Subject%> &bull;
- <%$Reminder->OwnerObj->Name%>
- <%$Reminder->DueObj->Unix>0 ? "&bull; ". $Reminder->DueObj->AgeAsString : '' |n%><br />
-</%method>
diff --git a/rt/html/Ticket/Elements/ShowLink b/rt/html/Ticket/Elements/ShowLink
deleted file mode 100644
index 493fd95a5..000000000
--- a/rt/html/Ticket/Elements/ShowLink
+++ /dev/null
@@ -1,40 +0,0 @@
-%# BEGIN LICENSE BLOCK
-%#
-%# Copyright (c) 1996-2003 Jesse Vincent <jesse@bestpractical.com>
-%#
-%# (Except where explictly superceded by other copyright notices)
-%#
-%# This work is made available to you under the terms of Version 2 of
-%# the GNU General Public License. A copy of that license should have
-%# been provided with this software, but in any event can be snarfed
-%# from www.gnu.org.
-%#
-%# This work is distributed in the hope that it will be useful, but
-%# WITHOUT ANY WARRANTY; without even the implied warranty of
-%# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-%# General Public License for more details.
-%#
-%# Unless otherwise specified, all modifications, corrections or
-%# extensions to this work which alter its source code become the
-%# property of Best Practical Solutions, LLC when submitted for
-%# inclusion in the work.
-%#
-%#
-%# END LICENSE BLOCK
-<A href="<%$URI->Resolver->HREF%>">
-% if ($URI->IsLocal) {
-% my $member = $URI->Object;
-% if (UNIVERSAL::isa($member, "RT::Ticket")) {
-<%$member->Id%>: (<%$member->OwnerObj->Name%>) <%$member->Subject%> [<% loc($member->Status) %>]
-% } elsif ( UNIVERSAL::can($member, 'Name')) {
-<%$URI->Resolver->AsString%>: <%$member->Name%>
-% } else {
-<%$URI->Resolver->AsString%>
-% }
-% } else {
-<%$URI->Resolver->AsString%>
-% }
-</a>
-<%ARGS>
-$URI => undef
-</%ARGS>
diff --git a/rt/html/Ticket/Elements/ShowLinks b/rt/html/Ticket/Elements/ShowLinks
deleted file mode 100644
index f88a6008d..000000000
--- a/rt/html/Ticket/Elements/ShowLinks
+++ /dev/null
@@ -1,87 +0,0 @@
-%# BEGIN LICENSE BLOCK
-%#
-%# Copyright (c) 1996-2003 Jesse Vincent <jesse@bestpractical.com>
-%#
-%# (Except where explictly superceded by other copyright notices)
-%#
-%# This work is made available to you under the terms of Version 2 of
-%# the GNU General Public License. A copy of that license should have
-%# been provided with this software, but in any event can be snarfed
-%# from www.gnu.org.
-%#
-%# This work is distributed in the hope that it will be useful, but
-%# WITHOUT ANY WARRANTY; without even the implied warranty of
-%# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-%# General Public License for more details.
-%#
-%# Unless otherwise specified, all modifications, corrections or
-%# extensions to this work which alter its source code become the
-%# property of Best Practical Solutions, LLC when submitted for
-%# inclusion in the work.
-%#
-%#
-%# END LICENSE BLOCK
-<table>
- <tr>
- <td class="labeltop"><&|/l&>Depends on</&>:</td>
- <td class="value">
-<ul>
-% while (my $Link = $Ticket->DependsOn->Next) {
-<li><& ShowLink, URI => $Link->TargetURI &>
-% }
-</ul>
- </td>
- </tr>
- <tr>
- <td class="labeltop"><&|/l&>Depended on by</&>:</td>
- <td class="value">
-<ul>
-% while (my $Link = $Ticket->DependedOnBy->Next) {
-<li><& ShowLink, URI => $Link->BaseURI &>
-% }
-</ul>
- </td>
- </tr>
- <tr>
- <td class="labeltop"><&|/l&>Parents</&>:</td>
- <td class="value">
-<ul>
-% while (my $Link = $Ticket->MemberOf->Next) {
-<li><& ShowLink, URI => $Link->TargetURI &>
-% }
-</ul>
- </td>
- </tr>
- <tr>
- <td class="labeltop"><&|/l&>Children</&>:</td>
- <td class="value"><& /Ticket/Elements/ShowMembers, Ticket => $Ticket &></td>
- </tr>
- <tr>
- <td class="labeltop"><&|/l&>Refers to</&>:</td>
- <td class="value">
-<ul>
-% while (my $Link = $Ticket->RefersTo->Next) {
-<li><& ShowLink, URI => $Link->TargetURI &>
-% }
-</ul>
- </td>
- </tr>
- <tr>
- <td class="labeltop"><&|/l&>Referred to by</&>:</td>
- <td class="value">
- <ul>
-% while (my $Link = $Ticket->ReferredToBy->Next) {
-<li><& ShowLink, URI => $Link->BaseURI &>
-% }
-</ul>
- </td>
- </tr>
-
-% # Allow people to add more rows to the table
-% $m->comp('/Elements/Callback', %ARGS );
-
-</table>
-
-<%ARGS>
-$Ticket => undef
-</%ARGS>
diff --git a/rt/html/Ticket/Elements/ShowTime b/rt/html/Ticket/Elements/ShowTime
deleted file mode 100644
index 92e84f681..000000000
--- a/rt/html/Ticket/Elements/ShowTime
+++ /dev/null
@@ -1,55 +0,0 @@
-%# BEGIN BPS TAGGED BLOCK {{{
-%#
-%# COPYRIGHT:
-%#
-%# This software is Copyright (c) 1996-2007 Best Practical Solutions, LLC
-%# <jesse@bestpractical.com>
-%#
-%# (Except where explicitly superseded by other copyright notices)
-%#
-%#
-%# LICENSE:
-%#
-%# This work is made available to you under the terms of Version 2 of
-%# the GNU General Public License. A copy of that license should have
-%# been provided with this software, but in any event can be snarfed
-%# from www.gnu.org.
-%#
-%# This work is distributed in the hope that it will be useful, but
-%# WITHOUT ANY WARRANTY; without even the implied warranty of
-%# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-%# General Public License for more details.
-%#
-%# You should have received a copy of the GNU General Public License
-%# along with this program; if not, write to the Free Software
-%# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
-%# 02110-1301 or visit their web page on the internet at
-%# http://www.gnu.org/copyleft/gpl.html.
-%#
-%#
-%# CONTRIBUTION SUBMISSION POLICY:
-%#
-%# (The following paragraph is not intended to limit the rights granted
-%# to you to modify and distribute this software under the terms of
-%# the GNU General Public License and is only of importance to you if
-%# you choose to contribute your changes and enhancements to the
-%# community by submitting them to Best Practical Solutions, LLC.)
-%#
-%# By intentionally submitting any modifications, corrections or
-%# derivatives to this work, or any other work intended for use with
-%# Request Tracker, to Best Practical Solutions, LLC, you confirm that
-%# you are the copyright holder for those contributions and you grant
-%# Best Practical Solutions, LLC a nonexclusive, worldwide, irrevocable,
-%# royalty-free, perpetual, license to use, copy, create derivative
-%# works based on those contributions, and sublicense and distribute
-%# those contributions and any derivatives thereof.
-%#
-%# END BPS TAGGED BLOCK }}}
-% if ($minutes < 60) {
-<&|/l, $minutes &>[_1] min</&>
-% } else {
-<&|/l, sprintf("%.1f",$minutes / 60) &>[quant,_1,hour]</&> (<&|/l, $minutes &>[_1] min</&>)
-% }
-<%ARGS>
-$minutes
-</%ARGS>
diff --git a/rt/html/Ticket/Reminders.html b/rt/html/Ticket/Reminders.html
deleted file mode 100755
index 2a3ba4c08..000000000
--- a/rt/html/Ticket/Reminders.html
+++ /dev/null
@@ -1,71 +0,0 @@
-%# BEGIN BPS TAGGED BLOCK {{{
-%#
-%# COPYRIGHT:
-%#
-%# This software is Copyright (c) 1996-2007 Best Practical Solutions, LLC
-%# <jesse@bestpractical.com>
-%#
-%# (Except where explicitly superseded by other copyright notices)
-%#
-%#
-%# LICENSE:
-%#
-%# This work is made available to you under the terms of Version 2 of
-%# the GNU General Public License. A copy of that license should have
-%# been provided with this software, but in any event can be snarfed
-%# from www.gnu.org.
-%#
-%# This work is distributed in the hope that it will be useful, but
-%# WITHOUT ANY WARRANTY; without even the implied warranty of
-%# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-%# General Public License for more details.
-%#
-%# You should have received a copy of the GNU General Public License
-%# along with this program; if not, write to the Free Software
-%# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
-%# 02110-1301 or visit their web page on the internet at
-%# http://www.gnu.org/copyleft/gpl.html.
-%#
-%#
-%# CONTRIBUTION SUBMISSION POLICY:
-%#
-%# (The following paragraph is not intended to limit the rights granted
-%# to you to modify and distribute this software under the terms of
-%# the GNU General Public License and is only of importance to you if
-%# you choose to contribute your changes and enhancements to the
-%# community by submitting them to Best Practical Solutions, LLC.)
-%#
-%# By intentionally submitting any modifications, corrections or
-%# derivatives to this work, or any other work intended for use with
-%# Request Tracker, to Best Practical Solutions, LLC, you confirm that
-%# you are the copyright holder for those contributions and you grant
-%# Best Practical Solutions, LLC a nonexclusive, worldwide, irrevocable,
-%# royalty-free, perpetual, license to use, copy, create derivative
-%# works based on those contributions, and sublicense and distribute
-%# those contributions and any derivatives thereof.
-%#
-%# END BPS TAGGED BLOCK }}}
-<& /Elements/Header, Title => loc("Reminder ticket #[_1]", $Ticket->Id) &>
-<& /Ticket/Elements/Tabs,
- Ticket => $Ticket,
- current_tab => "Ticket/Reminders.html?id=".$Ticket->Id,
- Title => loc("Reminders for ticket #[_1]", $Ticket->Id) &>
-<form action="<%$RT::WebPath%>/Ticket/Reminders.html" method="post">
-<&|/Widgets/TitleBox, title => loc("Reminders"),
- title_class=> 'inverse',
- color => "#666699" &>
-
-<& /Ticket/Elements/Reminders, Ticket => $Ticket, ShowCompleted => 1, Edit => 1 &>
-</&>
-<& /Elements/Submit, Label => 'Save'&>
-</form>
-
-
-<%INIT>
-
-my $Ticket = LoadTicket($id);
-
-</%INIT>
-<%ARGS>
-$id => undef
-</%ARGS>
diff --git a/rt/html/Tools/Reports/CreatedByDates.html b/rt/html/Tools/Reports/CreatedByDates.html
deleted file mode 100644
index b6d6f940a..000000000
--- a/rt/html/Tools/Reports/CreatedByDates.html
+++ /dev/null
@@ -1,94 +0,0 @@
-%# BEGIN BPS TAGGED BLOCK {{{
-%#
-%# COPYRIGHT:
-%#
-%# This software is Copyright (c) 1996-2007 Best Practical Solutions, LLC
-%# <jesse@bestpractical.com>
-%#
-%# (Except where explicitly superseded by other copyright notices)
-%#
-%#
-%# LICENSE:
-%#
-%# This work is made available to you under the terms of Version 2 of
-%# the GNU General Public License. A copy of that license should have
-%# been provided with this software, but in any event can be snarfed
-%# from www.gnu.org.
-%#
-%# This work is distributed in the hope that it will be useful, but
-%# WITHOUT ANY WARRANTY; without even the implied warranty of
-%# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-%# General Public License for more details.
-%#
-%# You should have received a copy of the GNU General Public License
-%# along with this program; if not, write to the Free Software
-%# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
-%# 02110-1301 or visit their web page on the internet at
-%# http://www.gnu.org/copyleft/gpl.html.
-%#
-%#
-%# CONTRIBUTION SUBMISSION POLICY:
-%#
-%# (The following paragraph is not intended to limit the rights granted
-%# to you to modify and distribute this software under the terms of
-%# the GNU General Public License and is only of importance to you if
-%# you choose to contribute your changes and enhancements to the
-%# community by submitting them to Best Practical Solutions, LLC.)
-%#
-%# By intentionally submitting any modifications, corrections or
-%# derivatives to this work, or any other work intended for use with
-%# Request Tracker, to Best Practical Solutions, LLC, you confirm that
-%# you are the copyright holder for those contributions and you grant
-%# Best Practical Solutions, LLC a nonexclusive, worldwide, irrevocable,
-%# royalty-free, perpetual, license to use, copy, create derivative
-%# works based on those contributions, and sublicense and distribute
-%# those contributions and any derivatives thereof.
-%#
-%# END BPS TAGGED BLOCK }}}
-<%args>
-$Queue => undef
-$CreatedBefore => undef
-$CreatedAfter => undef
-</%args>
-<%init>
-my $title = loc("Created tickets in period, grouped by status");
-my $q = RT::Queue->new($session{'CurrentUser'});
-my $before = RT::Date->new($session{'CurrentUser'});
-my $after = RT::Date->new($session{'CurrentUser'});
-my $query = 'Status != "deleted" ';
-
-
-if ($CreatedAfter) {
- $after->Set(Format => 'unknown', Value => $CreatedAfter);
- $CreatedAfter = $after->AsString;
-}
-if ($CreatedBefore) {
- $before->Set(Format => 'unknown', Value => $CreatedBefore);
- $CreatedBefore = $before->AsString;
-}
-
-
-$q->LoadByCols(Name => $Queue);
-</%init>
-<& /Elements/Header, Title => $title &>
-<& /Tools/Reports/Elements/Tabs, current_tab => 'Tools/Reports/CreatedByDates.html', Title => $title &>
-<form method="post" action="CreatedByDates.html">
-% if ($Queue|| $CreatedBefore ||$CreatedAfter) {
-% # if we have a queue, do the search
-% if ($Queue) { $query .= " AND Queue = '$Queue'"}
-% if ($CreatedBefore) { $query .= " AND Created < '".$before->ISO."'"; }
-% if ($CreatedAfter) { $query .= " AND Created > '".$after->ISO."'"}
-% my $groupby = 'Status';
-<& /Search/Elements/Chart, Query => $query, PrimaryGroupBy => $groupby &>
-% }
-
-<hr>
-
-<br /><&|/l&>Queue</&>: <& /Elements/SelectQueue, Name => 'Queue', NamedValues => 1, Default => $q->id &>
-<br /><&|/l&>Tickets created after</&>:
-<input size="20" name="CreatedAfter" value="<%$CreatedAfter%>" />
-<br /><&|/l&>Tickets created before</&>:
-<input size="20" name="CreatedBefore" value="<%$CreatedBefore%>" />
-
-<& /Elements/Submit&>
-</form>
diff --git a/rt/html/Tools/Reports/Elements/Tabs b/rt/html/Tools/Reports/Elements/Tabs
deleted file mode 100644
index 18829f085..000000000
--- a/rt/html/Tools/Reports/Elements/Tabs
+++ /dev/null
@@ -1,89 +0,0 @@
-%# BEGIN BPS TAGGED BLOCK {{{
-%#
-%# COPYRIGHT:
-%#
-%# This software is Copyright (c) 1996-2007 Best Practical Solutions, LLC
-%# <jesse@bestpractical.com>
-%#
-%# (Except where explicitly superseded by other copyright notices)
-%#
-%#
-%# LICENSE:
-%#
-%# This work is made available to you under the terms of Version 2 of
-%# the GNU General Public License. A copy of that license should have
-%# been provided with this software, but in any event can be snarfed
-%# from www.gnu.org.
-%#
-%# This work is distributed in the hope that it will be useful, but
-%# WITHOUT ANY WARRANTY; without even the implied warranty of
-%# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-%# General Public License for more details.
-%#
-%# You should have received a copy of the GNU General Public License
-%# along with this program; if not, write to the Free Software
-%# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
-%# 02110-1301 or visit their web page on the internet at
-%# http://www.gnu.org/copyleft/gpl.html.
-%#
-%#
-%# CONTRIBUTION SUBMISSION POLICY:
-%#
-%# (The following paragraph is not intended to limit the rights granted
-%# to you to modify and distribute this software under the terms of
-%# the GNU General Public License and is only of importance to you if
-%# you choose to contribute your changes and enhancements to the
-%# community by submitting them to Best Practical Solutions, LLC.)
-%#
-%# By intentionally submitting any modifications, corrections or
-%# derivatives to this work, or any other work intended for use with
-%# Request Tracker, to Best Practical Solutions, LLC, you confirm that
-%# you are the copyright holder for those contributions and you grant
-%# Best Practical Solutions, LLC a nonexclusive, worldwide, irrevocable,
-%# royalty-free, perpetual, license to use, copy, create derivative
-%# works based on those contributions, and sublicense and distribute
-%# those contributions and any derivatives thereof.
-%#
-%# END BPS TAGGED BLOCK }}}
-<& /Tools/Elements/Tabs,
- subtabs => $tabs,
- current_tab => 'Tools/Reports/index.html',
- current_subtab => $current_tab,
- Title => $Title &>
-
-<%INIT>
-my $tabs = {
- a => {
- title => loc('Resolved by owner'),
- path => 'Tools/Reports/ResolvedByOwner.html',
- },
- b => {
- title => loc('Resolved in date range'),
- path => 'Tools/Reports/ResolvedByDates.html',
- },
- c => {
- title => loc('Created in a date range'),
- path => 'Tools/Reports/CreatedByDates.html',
- },
-};
-
-
-
-
-$m->comp('/Elements/Callback', tabs => $tabs, %ARGS);
-
-foreach my $tab ( sort keys %{$tabs} ) {
- if ( $tabs->{$tab}->{'path'} eq $current_tab ) {
- $tabs->{$tab}->{"subtabs"} = $subtabs;
- $tabs->{$tab}->{"current_subtab"} = $current_subtab;
- }
-}
-</%INIT>
-
-
-<%ARGS>
-$subtabs => undef
-$current_tab => undef
-$current_subtab => undef
-$Title => undef
-</%ARGS>
diff --git a/rt/html/Tools/Reports/ResolvedByDates.html b/rt/html/Tools/Reports/ResolvedByDates.html
deleted file mode 100644
index 265a1caa4..000000000
--- a/rt/html/Tools/Reports/ResolvedByDates.html
+++ /dev/null
@@ -1,95 +0,0 @@
-%# BEGIN BPS TAGGED BLOCK {{{
-%#
-%# COPYRIGHT:
-%#
-%# This software is Copyright (c) 1996-2007 Best Practical Solutions, LLC
-%# <jesse@bestpractical.com>
-%#
-%# (Except where explicitly superseded by other copyright notices)
-%#
-%#
-%# LICENSE:
-%#
-%# This work is made available to you under the terms of Version 2 of
-%# the GNU General Public License. A copy of that license should have
-%# been provided with this software, but in any event can be snarfed
-%# from www.gnu.org.
-%#
-%# This work is distributed in the hope that it will be useful, but
-%# WITHOUT ANY WARRANTY; without even the implied warranty of
-%# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-%# General Public License for more details.
-%#
-%# You should have received a copy of the GNU General Public License
-%# along with this program; if not, write to the Free Software
-%# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
-%# 02110-1301 or visit their web page on the internet at
-%# http://www.gnu.org/copyleft/gpl.html.
-%#
-%#
-%# CONTRIBUTION SUBMISSION POLICY:
-%#
-%# (The following paragraph is not intended to limit the rights granted
-%# to you to modify and distribute this software under the terms of
-%# the GNU General Public License and is only of importance to you if
-%# you choose to contribute your changes and enhancements to the
-%# community by submitting them to Best Practical Solutions, LLC.)
-%#
-%# By intentionally submitting any modifications, corrections or
-%# derivatives to this work, or any other work intended for use with
-%# Request Tracker, to Best Practical Solutions, LLC, you confirm that
-%# you are the copyright holder for those contributions and you grant
-%# Best Practical Solutions, LLC a nonexclusive, worldwide, irrevocable,
-%# royalty-free, perpetual, license to use, copy, create derivative
-%# works based on those contributions, and sublicense and distribute
-%# those contributions and any derivatives thereof.
-%#
-%# END BPS TAGGED BLOCK }}}
-<%args>
-$Queue => undef
-$ResolvedBefore => undef
-$ResolvedAfter => undef
-</%args>
-<%init>
-my $title = loc("Resolved tickets in period, grouped by owner");
-my $q = RT::Queue->new($session{'CurrentUser'});
-my $before = RT::Date->new($session{'CurrentUser'});
-my $after = RT::Date->new($session{'CurrentUser'});
-my $query = '';
-
-
-if ($ResolvedAfter) {
- $after->Set(Format => 'unknown', Value => $ResolvedAfter);
- $ResolvedAfter = $after->AsString;
-}
-if ($ResolvedBefore) {
- $before->Set(Format => 'unknown', Value => $ResolvedBefore);
- $ResolvedBefore = $before->AsString;
-}
-
-
-$q->LoadByCols(Name => $Queue);
-</%init>
-<& /Elements/Header, Title => $title &>
-<& /Tools/Reports/Elements/Tabs, current_tab => 'Tools/Reports/ResolvedByDates.html', Title => $title &>
-<form method="post" action="ResolvedByDates.html">
-% if ($Queue|| $ResolvedBefore ||$ResolvedAfter) {
-% # if we have a queue, do the search
-% $query = "Status = 'resolved'";
-% if ($Queue) { $query .= " AND Queue = '$Queue'"}
-% if ($ResolvedBefore) { $query .= " AND Resolved < '".$before->ISO."'"; }
-% if ($ResolvedAfter) { $query .= " AND Resolved > '".$after->ISO."'"}
-% my $groupby = 'Owner';
-<& /Search/Elements/Chart, Query => $query, PrimaryGroupBy => $groupby &>
-% }
-
-<hr>
-
-<br /><&|/l&>Queue</&>: <& /Elements/SelectQueue, Name => 'Queue', NamedValues => 1, Default => $q->id &>
-<br /><&|/l&>Tickets resolved after</&>:
-<input size="20" name="ResolvedAfter" value="<%$ResolvedAfter%>" />
-<br /><&|/l&>Tickets resolved before</&>:
-<input size="20" name="ResolvedBefore" value="<%$ResolvedBefore%>" />
-
-<& /Elements/Submit&>
-</form>
diff --git a/rt/html/Tools/Reports/ResolvedByOwner.html b/rt/html/Tools/Reports/ResolvedByOwner.html
deleted file mode 100644
index 142af6475..000000000
--- a/rt/html/Tools/Reports/ResolvedByOwner.html
+++ /dev/null
@@ -1,70 +0,0 @@
-%# BEGIN BPS TAGGED BLOCK {{{
-%#
-%# COPYRIGHT:
-%#
-%# This software is Copyright (c) 1996-2007 Best Practical Solutions, LLC
-%# <jesse@bestpractical.com>
-%#
-%# (Except where explicitly superseded by other copyright notices)
-%#
-%#
-%# LICENSE:
-%#
-%# This work is made available to you under the terms of Version 2 of
-%# the GNU General Public License. A copy of that license should have
-%# been provided with this software, but in any event can be snarfed
-%# from www.gnu.org.
-%#
-%# This work is distributed in the hope that it will be useful, but
-%# WITHOUT ANY WARRANTY; without even the implied warranty of
-%# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-%# General Public License for more details.
-%#
-%# You should have received a copy of the GNU General Public License
-%# along with this program; if not, write to the Free Software
-%# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
-%# 02110-1301 or visit their web page on the internet at
-%# http://www.gnu.org/copyleft/gpl.html.
-%#
-%#
-%# CONTRIBUTION SUBMISSION POLICY:
-%#
-%# (The following paragraph is not intended to limit the rights granted
-%# to you to modify and distribute this software under the terms of
-%# the GNU General Public License and is only of importance to you if
-%# you choose to contribute your changes and enhancements to the
-%# community by submitting them to Best Practical Solutions, LLC.)
-%#
-%# By intentionally submitting any modifications, corrections or
-%# derivatives to this work, or any other work intended for use with
-%# Request Tracker, to Best Practical Solutions, LLC, you confirm that
-%# you are the copyright holder for those contributions and you grant
-%# Best Practical Solutions, LLC a nonexclusive, worldwide, irrevocable,
-%# royalty-free, perpetual, license to use, copy, create derivative
-%# works based on those contributions, and sublicense and distribute
-%# those contributions and any derivatives thereof.
-%#
-%# END BPS TAGGED BLOCK }}}
-<%args>
-$Queue => undef
-</%args>
-<%init>
-my $title = loc("Resolved tickets, grouped by owner");
-my $q = RT::Queue->new($session{'CurrentUser'});
-$q->LoadByCols(Name => $Queue);
-</%init>
-<& /Elements/Header, Title => $title &>
-<& /Tools/Reports/Elements/Tabs, current_tab => '/Tools/Reports/ResolvedByOwner.html', Title => $title &>
-<form method="post" action="ResolvedByOwner.html">
-% if ($Queue) {
-% # if we have a queue, do the search
-% my $query = "Status = 'resolved' AND Queue = '$Queue'";
-% my $groupby = 'Owner';
-<& /Search/Elements/Chart, Query => $query, PrimaryGroupBy => $groupby &>
-% }
-
-<hr>
-
-<&|/l&>Queue</&>: <& /Elements/SelectQueue, Name => 'Queue', NamedValues => 1, Default => $q->id &>
-<& /Elements/Submit&>
-</form>
diff --git a/rt/html/Tools/Reports/index.html b/rt/html/Tools/Reports/index.html
deleted file mode 100644
index 149dc7619..000000000
--- a/rt/html/Tools/Reports/index.html
+++ /dev/null
@@ -1,50 +0,0 @@
-%# BEGIN BPS TAGGED BLOCK {{{
-%#
-%# COPYRIGHT:
-%#
-%# This software is Copyright (c) 1996-2007 Best Practical Solutions, LLC
-%# <jesse@bestpractical.com>
-%#
-%# (Except where explicitly superseded by other copyright notices)
-%#
-%#
-%# LICENSE:
-%#
-%# This work is made available to you under the terms of Version 2 of
-%# the GNU General Public License. A copy of that license should have
-%# been provided with this software, but in any event can be snarfed
-%# from www.gnu.org.
-%#
-%# This work is distributed in the hope that it will be useful, but
-%# WITHOUT ANY WARRANTY; without even the implied warranty of
-%# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-%# General Public License for more details.
-%#
-%# You should have received a copy of the GNU General Public License
-%# along with this program; if not, write to the Free Software
-%# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
-%# 02110-1301 or visit their web page on the internet at
-%# http://www.gnu.org/copyleft/gpl.html.
-%#
-%#
-%# CONTRIBUTION SUBMISSION POLICY:
-%#
-%# (The following paragraph is not intended to limit the rights granted
-%# to you to modify and distribute this software under the terms of
-%# the GNU General Public License and is only of importance to you if
-%# you choose to contribute your changes and enhancements to the
-%# community by submitting them to Best Practical Solutions, LLC.)
-%#
-%# By intentionally submitting any modifications, corrections or
-%# derivatives to this work, or any other work intended for use with
-%# Request Tracker, to Best Practical Solutions, LLC, you confirm that
-%# you are the copyright holder for those contributions and you grant
-%# Best Practical Solutions, LLC a nonexclusive, worldwide, irrevocable,
-%# royalty-free, perpetual, license to use, copy, create derivative
-%# works based on those contributions, and sublicense and distribute
-%# those contributions and any derivatives thereof.
-%#
-%# END BPS TAGGED BLOCK }}}
-<& /Elements/Header, Title => loc('Reports') &>
-<& /Tools/Reports/Elements/Tabs, Title => loc('Reports') &>
-<& /Elements/Callback &>
diff --git a/rt/html/Tools/index.html b/rt/html/Tools/index.html
deleted file mode 100644
index 8d2efdbed..000000000
--- a/rt/html/Tools/index.html
+++ /dev/null
@@ -1,52 +0,0 @@
-%# BEGIN BPS TAGGED BLOCK {{{
-%#
-%# COPYRIGHT:
-%#
-%# This software is Copyright (c) 1996-2007 Best Practical Solutions, LLC
-%# <jesse@bestpractical.com>
-%#
-%# (Except where explicitly superseded by other copyright notices)
-%#
-%#
-%# LICENSE:
-%#
-%# This work is made available to you under the terms of Version 2 of
-%# the GNU General Public License. A copy of that license should have
-%# been provided with this software, but in any event can be snarfed
-%# from www.gnu.org.
-%#
-%# This work is distributed in the hope that it will be useful, but
-%# WITHOUT ANY WARRANTY; without even the implied warranty of
-%# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-%# General Public License for more details.
-%#
-%# You should have received a copy of the GNU General Public License
-%# along with this program; if not, write to the Free Software
-%# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
-%# 02110-1301 or visit their web page on the internet at
-%# http://www.gnu.org/copyleft/gpl.html.
-%#
-%#
-%# CONTRIBUTION SUBMISSION POLICY:
-%#
-%# (The following paragraph is not intended to limit the rights granted
-%# to you to modify and distribute this software under the terms of
-%# the GNU General Public License and is only of importance to you if
-%# you choose to contribute your changes and enhancements to the
-%# community by submitting them to Best Practical Solutions, LLC.)
-%#
-%# By intentionally submitting any modifications, corrections or
-%# derivatives to this work, or any other work intended for use with
-%# Request Tracker, to Best Practical Solutions, LLC, you confirm that
-%# you are the copyright holder for those contributions and you grant
-%# Best Practical Solutions, LLC a nonexclusive, worldwide, irrevocable,
-%# royalty-free, perpetual, license to use, copy, create derivative
-%# works based on those contributions, and sublicense and distribute
-%# those contributions and any derivatives thereof.
-%#
-%# END BPS TAGGED BLOCK }}}
-<& /Elements/Header, Title => loc("Tools") &>
-<& Elements/Tabs,
- current_tab => "Tools/index.html",
- Title => loc("Tools") &>
-
diff --git a/rt/html/Widgets/ComboBox b/rt/html/Widgets/ComboBox
deleted file mode 100644
index 8fb5682d9..000000000
--- a/rt/html/Widgets/ComboBox
+++ /dev/null
@@ -1,69 +0,0 @@
-%# BEGIN BPS TAGGED BLOCK {{{
-%#
-%# COPYRIGHT:
-%#
-%# This software is Copyright (c) 1996-2007 Best Practical Solutions, LLC
-%# <jesse@bestpractical.com>
-%#
-%# (Except where explicitly superseded by other copyright notices)
-%#
-%#
-%# LICENSE:
-%#
-%# This work is made available to you under the terms of Version 2 of
-%# the GNU General Public License. A copy of that license should have
-%# been provided with this software, but in any event can be snarfed
-%# from www.gnu.org.
-%#
-%# This work is distributed in the hope that it will be useful, but
-%# WITHOUT ANY WARRANTY; without even the implied warranty of
-%# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-%# General Public License for more details.
-%#
-%# You should have received a copy of the GNU General Public License
-%# along with this program; if not, write to the Free Software
-%# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
-%# 02110-1301 or visit their web page on the internet at
-%# http://www.gnu.org/copyleft/gpl.html.
-%#
-%#
-%# CONTRIBUTION SUBMISSION POLICY:
-%#
-%# (The following paragraph is not intended to limit the rights granted
-%# to you to modify and distribute this software under the terms of
-%# the GNU General Public License and is only of importance to you if
-%# you choose to contribute your changes and enhancements to the
-%# community by submitting them to Best Practical Solutions, LLC.)
-%#
-%# By intentionally submitting any modifications, corrections or
-%# derivatives to this work, or any other work intended for use with
-%# Request Tracker, to Best Practical Solutions, LLC, you confirm that
-%# you are the copyright holder for those contributions and you grant
-%# Best Practical Solutions, LLC a nonexclusive, worldwide, irrevocable,
-%# royalty-free, perpetual, license to use, copy, create derivative
-%# works based on those contributions, and sublicense and distribute
-%# those contributions and any derivatives thereof.
-%#
-%# END BPS TAGGED BLOCK }}}
-<nobr>
-<script type="text/javascript" src="<%$RT::WebPath%>/NoAuth/js/combobox.js"></script>
-
-<span id="<% $Name %>_Container" class="combobox">
-<input name="<% $Name %>" id="<% $Name %>" class="combo-text" value="<% $Default %>" type="text" <% $Size ? "size='$Size'" : '' |n %> autocomplete="off" />
-<br style="display: none" /><span id="<% $Name %>_Button" class="combo-button"></span></span><select name="List-<% $Name %>" id="<% $Name %>_List" class="combo-list" onchange="ComboBox_SimpleAttach(this, this.form['<% $Name %>']); " rows="<% $Rows %>">
-<option style="display: none" value="">-</option>
-% foreach my $value (@Values) {
- <option value="<%$value%>"><% $value%></option>
-% }
-</select>
-<script language="javascript"><!--
-ComboBox_InitWith('<% $Name %>');
-//--></script>
-</nobr>
-<%ARGS>
-$Name
-$Size => undef
-$Rows => 5
-$Default => ''
-@Values => ()
-</%ARGS>
diff --git a/rt/html/Widgets/SavedSearch b/rt/html/Widgets/SavedSearch
deleted file mode 100644
index b8313daf8..000000000
--- a/rt/html/Widgets/SavedSearch
+++ /dev/null
@@ -1,150 +0,0 @@
-%# BEGIN BPS TAGGED BLOCK {{{
-%#
-%# COPYRIGHT:
-%#
-%# This software is Copyright (c) 1996-2007 Best Practical Solutions, LLC
-%# <jesse@bestpractical.com>
-%#
-%# (Except where explicitly superseded by other copyright notices)
-%#
-%#
-%# LICENSE:
-%#
-%# This work is made available to you under the terms of Version 2 of
-%# the GNU General Public License. A copy of that license should have
-%# been provided with this software, but in any event can be snarfed
-%# from www.gnu.org.
-%#
-%# This work is distributed in the hope that it will be useful, but
-%# WITHOUT ANY WARRANTY; without even the implied warranty of
-%# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-%# General Public License for more details.
-%#
-%# You should have received a copy of the GNU General Public License
-%# along with this program; if not, write to the Free Software
-%# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
-%# 02110-1301 or visit their web page on the internet at
-%# http://www.gnu.org/copyleft/gpl.html.
-%#
-%#
-%# CONTRIBUTION SUBMISSION POLICY:
-%#
-%# (The following paragraph is not intended to limit the rights granted
-%# to you to modify and distribute this software under the terms of
-%# the GNU General Public License and is only of importance to you if
-%# you choose to contribute your changes and enhancements to the
-%# community by submitting them to Best Practical Solutions, LLC.)
-%#
-%# By intentionally submitting any modifications, corrections or
-%# derivatives to this work, or any other work intended for use with
-%# Request Tracker, to Best Practical Solutions, LLC, you confirm that
-%# you are the copyright holder for those contributions and you grant
-%# Best Practical Solutions, LLC a nonexclusive, worldwide, irrevocable,
-%# royalty-free, perpetual, license to use, copy, create derivative
-%# works based on those contributions, and sublicense and distribute
-%# those contributions and any derivatives thereof.
-%#
-%# END BPS TAGGED BLOCK }}}
-<%method new>
-<%init>
-return \%ARGS;
-</%init>
-</%method>
-
-<%method process>
-
-<%init>
-my @actions;
-my @Objects = RT::SavedSearches->new( $session{CurrentUser} )->_PrivacyObjects;
-push @Objects, RT::System->new($session{'CurrentUser'})
- if $session{'CurrentUser'}->HasRight( Object=> $RT::System,
- Right => 'SuperUser');
-$self->{SearchId} ||= 'new';
-my $SearchParams = { map { $_ => $args->{$_} } @{$self->{SearchFields}} };
-
-if ( my ( $container_object, $search_id ) = _parse_saved_search( $args->{'LoadSavedSearch'} ) ) {
- my $search = $container_object->Attributes->WithId($search_id);
- # We have a $search and now; import the others
- $self->{SearchId} = $args->{'LoadSavedSearch'};
- $self->{CurrentSearch}{Object} = $search;
- $args->{$_} = $search->SubValue($_) for @{ $self->{SearchFields} };
-}
-
-# look for the current one in the available saved searches
-if ($self->{SearchId} eq 'new') {
- for my $obj (@Objects) {
- for ( $m->comp( "/Search/Elements/SearchesForObject", Object => $obj ) ) {
- my ( $desc, $search ) = @$_;
- use Data::Dumper;
- # FFS
- local $Data::Dumper::Sortkeys = 1;
- if ( Dumper( $search->Content ) eq
- Dumper( { %$SearchParams, SearchType => $self->{SearchType} } ) ) {
- $self->{CurrentSearch}{Object} = $search;
- $self->{SearchId} = $search->Id;
- }
- }
- }
-}
-
-if ( $args->{Save} ) {
- if ( my $search = $self->{CurrentSearch}{Object} ) {
- # rename
- $search->SetDescription( $args->{Description} );
- push @actions, loc($self->{SearchType}).loc( ' [_1] renamed to [_2].', $self->{CurrentSearch}{Description}, $args->{Description} );
- }
- else {
- # new saved search
- my $saved_search = RT::SavedSearch->new( $session{'CurrentUser'} );
- my ( $ok, $search_msg ) = $saved_search->Save(
- Privacy => $args->{'Owner'},
- Name => $args->{'Description'},
- Type => $self->{'SearchType'},
- SearchParams => $SearchParams
- );
- if ($ok) {
- $self->{CurrentSearch}{Object} = $saved_search->{Attribute};
- push @actions, loc($self->{SearchType}).loc( ' [_1] saved.', $args->{Description} );
- } else {
- push @actions,
- [ loc("Can't save [_1]", loc($self->{SearchType})) . ': ' . loc($search_msg), 0 ];
- }
- }
-}
-
-if ( $args->{Delete} && $self->{CurrentSearch}{Object} ) {
- my ($ok, $msg) = $self->{CurrentSearch}{Object}->Delete;
- push @actions, $ok ? loc($self->{SearchType}).loc( ' [_1] deleted.', $self->{CurrentSearch}{Object}->Description ) : $msg;
- delete $self->{CurrentSearch}{Object};
- delete $self->{SearchId};
-
-}
-
-$self->{CurrentSearch}{Description} = $self->{CurrentSearch}{Object}->Description
- if $self->{CurrentSearch}{Object};
-
-return @actions;
-</%init>
-<%ARGS>
-$self
-$args
-</%ARGS>
-
-</%method>
-
-<%method show>
-<form method="post" action="<% $Action %>" name="SaveSearch">
-<& /Search/Elements/EditSearches, Name => 'Owner', SearchType => $self->{SearchType}, AllowCopy => 0,
- CurrentSearch => $self->{CurrentSearch}, SearchId => $self->{SearchId}, Title => $Title &><br />
-% for my $field (@{$self->{SearchFields}}) {
-<input type="hidden" class="hidden" name="<%$field%>" value="<%$ARGS{$field} || ''%>" />
-% }
-</form>
-<%ARGS>
-$self => undef
-$Action => ''
-$Title => 'Saved searches'
-</%ARGS>
-<%init>
-</%init>
-</%method>
diff --git a/rt/html/Widgets/SelectionBox b/rt/html/Widgets/SelectionBox
deleted file mode 100644
index 910b20b25..000000000
--- a/rt/html/Widgets/SelectionBox
+++ /dev/null
@@ -1,234 +0,0 @@
-%# BEGIN BPS TAGGED BLOCK {{{
-%#
-%# COPYRIGHT:
-%#
-%# This software is Copyright (c) 1996-2007 Best Practical Solutions, LLC
-%# <jesse@bestpractical.com>
-%#
-%# (Except where explicitly superseded by other copyright notices)
-%#
-%#
-%# LICENSE:
-%#
-%# This work is made available to you under the terms of Version 2 of
-%# the GNU General Public License. A copy of that license should have
-%# been provided with this software, but in any event can be snarfed
-%# from www.gnu.org.
-%#
-%# This work is distributed in the hope that it will be useful, but
-%# WITHOUT ANY WARRANTY; without even the implied warranty of
-%# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-%# General Public License for more details.
-%#
-%# You should have received a copy of the GNU General Public License
-%# along with this program; if not, write to the Free Software
-%# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
-%# 02110-1301 or visit their web page on the internet at
-%# http://www.gnu.org/copyleft/gpl.html.
-%#
-%#
-%# CONTRIBUTION SUBMISSION POLICY:
-%#
-%# (The following paragraph is not intended to limit the rights granted
-%# to you to modify and distribute this software under the terms of
-%# the GNU General Public License and is only of importance to you if
-%# you choose to contribute your changes and enhancements to the
-%# community by submitting them to Best Practical Solutions, LLC.)
-%#
-%# By intentionally submitting any modifications, corrections or
-%# derivatives to this work, or any other work intended for use with
-%# Request Tracker, to Best Practical Solutions, LLC, you confirm that
-%# you are the copyright holder for those contributions and you grant
-%# Best Practical Solutions, LLC a nonexclusive, worldwide, irrevocable,
-%# royalty-free, perpetual, license to use, copy, create derivative
-%# works based on those contributions, and sublicense and distribute
-%# those contributions and any derivatives thereof.
-%#
-%# END BPS TAGGED BLOCK }}}
-%# The SelectionBox Widget
-%#
-%# SYNOPSIS
-%#
-%# include javascript:
-%# <& /Widgets/SelectionBox:header &>
-%#
-%# <%init>:
-%# my $sel = $m->comp ('/Widgets/SelectionBox:new',
-%# Action => me.html',
-%# Name => 'my-selection',
-%# Available => \@items,
-%# # you can do things with @{$sel->{Current}} in the
-%# # OnSubmit callback
-%# OnSubmit => sub { my $sel = shift; },
-%# Selected => \@selected);
-%#
-%# $m->comp ('/Widgets/SelectionBox:process', %ARGS, self => $sel)
-%#
-%# where @items is an arrayref, each element is [value, label],
-%# and @selected is an arrayref of selected values from @items.
-%#
-%# and in html:
-%# <& /Widgets/SelectionBox:sow, self => $sel &>
-%#
-%# if the SelectionBox is created with AutoSave option, OnSubmit will be called
-%# on every button clicked in non-js mode.
-<%method header>
-% unless ($nojs) {
-<script type="text/javascript" src="<%$RT::WebPath%>/NoAuth/js/class.js"></script>
-<script type="text/javascript" src="<%$RT::WebPath%>/NoAuth/js/list.js"></script>
-% }
-<%ARGS>
-$nojs => 0
-</%ARGS>
-</%method>
-
-<%method new>
-<%init>
-$ARGS{_item_map} = {map {$_->[0] => $_->[1]} @{$ARGS{Available}}};
-return \%ARGS;
-</%init>
-</%method>
-
-<%method process>
-<%init>
-unless ($ARGS{$self->{Name}.'-Submit'}) {
- # init
- $self->{Current} = $self->{Selected};
- $self->{Selected} = [];
- return;
-}
-
-$self->{Selected} = $ARGS{$self->{Name}.'-Selected'};
-if ($self->{Selected} && !ref($self->{Selected})) {
- $self->{Selected} = [$self->{Selected}];
-}
-
-if ($ARGS{fromjs}) {
- $self->{Current} = $self->{Selected};
-}
-else {
- my $current = $self->{Current} = $ARGS{$self->{Name}.'-Current'};
- ++$self->{Modified};
- if ($current && !ref ($current)) {
- $current = [$current];
- }
-
- if ($ARGS{add}) {
- my $choosed = $ARGS{$self->{Name}.'-Available'};
- for my $add (ref($choosed) ? @$choosed : $choosed) {
- next if grep { $_ eq $add } @$current;
- push @$current, $add;
- }
- }
-
- if ($ARGS{remove}) {
- my $choosed = $ARGS{$self->{Name}.'-Selected'};
- for my $del (ref($choosed) ? @$choosed : $choosed) {
- @$current = map { $_ eq $del ? () : $_ } @$current;
- }
- }
-
- if ($ARGS{moveup} or $ARGS{movedown}) {
- my $offset = $ARGS{moveup} ? 1 : 0;
- my $choosed = $ARGS{$self->{Name}.'-Selected'};
- $choosed = [$choosed] unless ref ($choosed);
- my $canmove = 0; # not in the cornor
- for my $i ($ARGS{moveup} ? 0..$#{$current} : reverse 0..$#{$current}) {
- if (grep {$_ eq $current->[$i]} @$choosed) {
- if ($canmove) {
- splice (@$current, $i-$offset, 2,
- @{$current}[$i+1-$offset,$i-$offset]);
- }
- }
- else {
- ++$canmove;
- }
- }
- }
-
- $self->{Current} = $current;
-}
-
-@{$self->{Current}} = grep { exists $self->{_item_map}{$_} } @{$self->{Current}};
-
-if ($self->{AutoSave} or $ARGS{$self->{Name}.'-Save'}) {
- $self->{OnSubmit}->($self);
- delete $self->{Modified};
-}
-
-</%init>
-<%ARGS>
-$self => undef
-</%ARGS>
-
-</%method>
-
-<%method current>
-% for (@{$self->{Current}}) {
-<input type="hidden" class="hidden" name="<% $self->{Name} %>-Current" value="<%$_%>" />
-% }
-<%INIT>
-</%INIT>
-<%ARGS>
-$self => undef
-</%ARGS>
-
-</%method>
-
-<%method show>
-<form method="post" action="<%$self->{Action}%>" name="SelectionBox-<% $name %>" id="SelectionBox-<% $name %>"
-% unless ($nojs) {
-onsubmit="list_<% $name %>.selectAll();"
-% }
->
-<input type="hidden" class="hidden" name="<% $self->{Name} %>-Submit" value="1" />
-<& SelectionBox:current, self => $self &>
-<input type="hidden" class="hidden" name="fromjs" value="0" />
-<&|/l&>Available</&>:
-<br />
-<select name="<%$name%>-Available" id="<%$name%>-Available" size="<%$size%>" multiple="multiple">
-% for (@{$self->{Available}}) {
-<option value="<% $_->[0] %>"><% $_->[1] %></option>
-% }
-</select>
-<input name="add" type="submit" class="button" value=" &rarr; " />
-<select name="<%$name%>-Selected" id="<%$name%>-Selected" size="<%$size%>" multiple="multiple">
-% for (@{$self->{Current}}) {
-<option value="<% $_ %>"
-% if (exists $selected{$_}) {
-selected="selected"
-% }
-><% $self->{_item_map}{$_} %></option>
-% }
-</select>
- <input name="moveup" type="submit" class="button" value=" &uarr; " />
- <input name="movedown" type="submit" class="button" value=" &darr; " />
- <input name="remove" type="submit" class="button" value="<&|/l&>Delete</&>" />
-
-% my $caption = "";
-% unless ($self->{'AutoSave'}) {
-% if ($self->{Modified}) {
-% $caption = loc('Selections modified. Please save your changes');
-% }
-<& /Elements/Submit, Caption => loc($caption), Label => loc('Save'), Name => $name.'-Save' &>
-% }
-</form>
-
-% unless ($nojs) {
-<script type="text/javascript">
-//<![CDATA[
-var list_<%$name%> = new list(document.getElementById("SelectionBox-<% $name %>"), 0, "list_<%$name%>");
-//]]>
-</script>
-% }
-<%ARGS>
-$self => undef
-$size => 10
-$nojs => 0
-</%ARGS>
-<%INIT>
-my $name = $self->{Name};
-my %selected = map {$_ => 1} @{$self->{Selected}};
-</%INIT>
-
-</%method>
diff --git a/rt/html/Widgets/TitleBox b/rt/html/Widgets/TitleBox
deleted file mode 100644
index 00d9e4c63..000000000
--- a/rt/html/Widgets/TitleBox
+++ /dev/null
@@ -1,54 +0,0 @@
-%# BEGIN BPS TAGGED BLOCK {{{
-%#
-%# COPYRIGHT:
-%#
-%# This software is Copyright (c) 1996-2007 Best Practical Solutions, LLC
-%# <jesse@bestpractical.com>
-%#
-%# (Except where explicitly superseded by other copyright notices)
-%#
-%#
-%# LICENSE:
-%#
-%# This work is made available to you under the terms of Version 2 of
-%# the GNU General Public License. A copy of that license should have
-%# been provided with this software, but in any event can be snarfed
-%# from www.gnu.org.
-%#
-%# This work is distributed in the hope that it will be useful, but
-%# WITHOUT ANY WARRANTY; without even the implied warranty of
-%# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-%# General Public License for more details.
-%#
-%# You should have received a copy of the GNU General Public License
-%# along with this program; if not, write to the Free Software
-%# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
-%# 02110-1301 or visit their web page on the internet at
-%# http://www.gnu.org/copyleft/gpl.html.
-%#
-%#
-%# CONTRIBUTION SUBMISSION POLICY:
-%#
-%# (The following paragraph is not intended to limit the rights granted
-%# to you to modify and distribute this software under the terms of
-%# the GNU General Public License and is only of importance to you if
-%# you choose to contribute your changes and enhancements to the
-%# community by submitting them to Best Practical Solutions, LLC.)
-%#
-%# By intentionally submitting any modifications, corrections or
-%# derivatives to this work, or any other work intended for use with
-%# Request Tracker, to Best Practical Solutions, LLC, you confirm that
-%# you are the copyright holder for those contributions and you grant
-%# Best Practical Solutions, LLC a nonexclusive, worldwide, irrevocable,
-%# royalty-free, perpetual, license to use, copy, create derivative
-%# works based on those contributions, and sublicense and distribute
-%# those contributions and any derivatives thereof.
-%#
-%# END BPS TAGGED BLOCK }}}
-<div class="<% $class %>">
- <& TitleBoxStart, %ARGS &><% $m->content | n %><& TitleBoxEnd &>
-</div>
-<%ARGS>
-$class => ''
-</%ARGS>
-
diff --git a/rt/html/Widgets/TitleBoxEnd b/rt/html/Widgets/TitleBoxEnd
deleted file mode 100755
index b12b58f4d..000000000
--- a/rt/html/Widgets/TitleBoxEnd
+++ /dev/null
@@ -1,59 +0,0 @@
-%# BEGIN BPS TAGGED BLOCK {{{
-%#
-%# COPYRIGHT:
-%#
-%# This software is Copyright (c) 1996-2007 Best Practical Solutions, LLC
-%# <jesse@bestpractical.com>
-%#
-%# (Except where explicitly superseded by other copyright notices)
-%#
-%#
-%# LICENSE:
-%#
-%# This work is made available to you under the terms of Version 2 of
-%# the GNU General Public License. A copy of that license should have
-%# been provided with this software, but in any event can be snarfed
-%# from www.gnu.org.
-%#
-%# This work is distributed in the hope that it will be useful, but
-%# WITHOUT ANY WARRANTY; without even the implied warranty of
-%# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-%# General Public License for more details.
-%#
-%# You should have received a copy of the GNU General Public License
-%# along with this program; if not, write to the Free Software
-%# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
-%# 02110-1301 or visit their web page on the internet at
-%# http://www.gnu.org/copyleft/gpl.html.
-%#
-%#
-%# CONTRIBUTION SUBMISSION POLICY:
-%#
-%# (The following paragraph is not intended to limit the rights granted
-%# to you to modify and distribute this software under the terms of
-%# the GNU General Public License and is only of importance to you if
-%# you choose to contribute your changes and enhancements to the
-%# community by submitting them to Best Practical Solutions, LLC.)
-%#
-%# By intentionally submitting any modifications, corrections or
-%# derivatives to this work, or any other work intended for use with
-%# Request Tracker, to Best Practical Solutions, LLC, you confirm that
-%# you are the copyright holder for those contributions and you grant
-%# Best Practical Solutions, LLC a nonexclusive, worldwide, irrevocable,
-%# royalty-free, perpetual, license to use, copy, create derivative
-%# works based on those contributions, and sublicense and distribute
-%# those contributions and any derivatives thereof.
-%#
-%# END BPS TAGGED BLOCK }}}
- <hr class="clear" />
- </div>
-</div>
-
-% #Manually flush the content buffer after each titlebox is displayed
-% $m->flush_buffer();
-
-<%ARGS>
-$title => undef
-$content => undef
-</%ARGS>
-
diff --git a/rt/html/Widgets/TitleBoxStart b/rt/html/Widgets/TitleBoxStart
deleted file mode 100755
index 7edc8a154..000000000
--- a/rt/html/Widgets/TitleBoxStart
+++ /dev/null
@@ -1,88 +0,0 @@
-%# BEGIN BPS TAGGED BLOCK {{{
-%#
-%# COPYRIGHT:
-%#
-%# This software is Copyright (c) 1996-2007 Best Practical Solutions, LLC
-%# <jesse@bestpractical.com>
-%#
-%# (Except where explicitly superseded by other copyright notices)
-%#
-%#
-%# LICENSE:
-%#
-%# This work is made available to you under the terms of Version 2 of
-%# the GNU General Public License. A copy of that license should have
-%# been provided with this software, but in any event can be snarfed
-%# from www.gnu.org.
-%#
-%# This work is distributed in the hope that it will be useful, but
-%# WITHOUT ANY WARRANTY; without even the implied warranty of
-%# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-%# General Public License for more details.
-%#
-%# You should have received a copy of the GNU General Public License
-%# along with this program; if not, write to the Free Software
-%# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
-%# 02110-1301 or visit their web page on the internet at
-%# http://www.gnu.org/copyleft/gpl.html.
-%#
-%#
-%# CONTRIBUTION SUBMISSION POLICY:
-%#
-%# (The following paragraph is not intended to limit the rights granted
-%# to you to modify and distribute this software under the terms of
-%# the GNU General Public License and is only of importance to you if
-%# you choose to contribute your changes and enhancements to the
-%# community by submitting them to Best Practical Solutions, LLC.)
-%#
-%# By intentionally submitting any modifications, corrections or
-%# derivatives to this work, or any other work intended for use with
-%# Request Tracker, to Best Practical Solutions, LLC, you confirm that
-%# you are the copyright holder for those contributions and you grant
-%# Best Practical Solutions, LLC a nonexclusive, worldwide, irrevocable,
-%# royalty-free, perpetual, license to use, copy, create derivative
-%# works based on those contributions, and sublicense and distribute
-%# those contributions and any derivatives thereof.
-%#
-%# END BPS TAGGED BLOCK }}}
-<div class="titlebox <% $class %>" id="<% $id %>">
- <div class="titlebox-title<% $title_class && " $title_class" %>">
-% if ($hideable) {
- <span class="widget"><a href="#" onclick="return rollup('<%$tid%>');" onfocus="this.blur(); return false;" title="Toggle visibility">X</a></span>
-% }
- <span class="left"><% $title_href && qq[<a href="$title_href">] | n %><% $title |n %><% $title_href && "</a>" |n%></span>
- <span class="right"><% $titleright_href && qq[<a href="$titleright_href">] | n %><% $titleright |n %><% $titleright_href && "</a>" |n%></span>
- </div>
- <div class="titlebox-content <% $bodyclass %>" id="<%$tid%>">
-
-<%ARGS>
-$width => undef
-$class => ''
-$bodyclass => ''
-$title_href => undef
-$title => ''
-$title_class => ''
-$titleright_href => undef
-$titleright => undef
-$contentbg => "#dddddd"
-$color => "#336699"
-$id => ''
-$hideable => 1
-</%ARGS>
-
-<%init>
-#
-# This should be pretty bulletproof
-#
-my $page = $m->request_comp->path;
-
-my $tid = "TitleBox--$page--" .
- join '--', ($class, $bodyclass, $title, $id);
-
-$tid =~ s{/}{_}g;
-
-my $i = 0;
-$i++ while $m->notes("$tid-$i");
-$m->notes("$tid-$i" => 1);
-$tid = "$tid-$i";
-</%init>
diff --git a/rt/lib/RT.pm b/rt/lib/RT.pm
deleted file mode 100644
index 7e941a2b2..000000000
--- a/rt/lib/RT.pm
+++ /dev/null
@@ -1,323 +0,0 @@
-# BEGIN LICENSE BLOCK
-#
-# Copyright (c) 1996-2002 Jesse Vincent <jesse@bestpractical.com>
-#
-# (Except where explictly superceded by other copyright notices)
-#
-# This work is made available to you under the terms of Version 2 of
-# the GNU General Public License. A copy of that license should have
-# been provided with this software, but in any event can be snarfed
-# from www.gnu.org
-#
-# This work is distributed in the hope that it will be useful, but
-# WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-# General Public License for more details.
-#
-#
-# Unless otherwise specified, all modifications, corrections or
-# extensions to this work which alter its source code become the
-# property of Best Practical Solutions, LLC when submitted for
-# inclusion in the work.
-#
-#
-# END LICENSE BLOCK
-
-
-package RT;
-use strict;
-use RT::I18N;
-use RT::CurrentUser;
-use RT::System;
-
-use vars qw($VERSION $System $SystemUser $Nobody $Handle $Logger
- $CORE_CONFIG_FILE
- $SITE_CONFIG_FILE
- $VENDOR_CONFIG_FILE
- $BasePath
- $EtcPath
- $VarPath
- $LocalPath
- $LocalEtcPath
- $LocalLexiconPath
- $LogDir
- $MasonComponentRoot
- $MasonLocalComponentRoot
- $MasonDataDir
- $MasonSessionDir
-);
-
-$VERSION = '3.0.9';
-$CORE_CONFIG_FILE = "/opt/rt3/etc/RT_Config.pm";
-$SITE_CONFIG_FILE = "/opt/rt3/etc/RT_SiteConfig.pm";
-
-$BasePath = '/opt/rt3';
-
-$EtcPath = '/opt/rt3/etc';
-$VarPath = '/opt/rt3/var';
-$LocalPath = '/opt/rt3/local';
-$LocalEtcPath = '/opt/rt3/local/etc';
-$LocalLexiconPath = '/opt/rt3/local/po';
-
-# $MasonComponentRoot is where your rt instance keeps its mason html files
-
-$MasonComponentRoot = '/opt/rt3/share/html';
-
-# $MasonLocalComponentRoot is where your rt instance keeps its site-local
-# mason html files.
-
-$MasonLocalComponentRoot = '/opt/rt3/local/html';
-
-# $MasonDataDir Where mason keeps its datafiles
-
-$MasonDataDir = '/opt/rt3/var/mason_data';
-
-# RT needs to put session data (for preserving state between connections
-# via the web interface)
-$MasonSessionDir = '/opt/rt3/var/session_data';
-
-
-
-=head1 NAME
-
- RT - Request Tracker
-
-=head1 SYNOPSIS
-
- A fully featured request tracker package
-
-=head1 DESCRIPTION
-
-
-=cut
-
-=item LoadConfig
-
-Load RT's config file. First, go after the core config file.
-After that, try to load the vendor config.
-After that, go after the site config.
-
-=cut
-
-sub LoadConfig {
- local *Set = sub { $_[0] = $_[1] unless defined $_[0] };
- if ( -f "$SITE_CONFIG_FILE" ) {
- require $SITE_CONFIG_FILE
- || die ("Couldn't load RT config file '$SITE_CONFIG_FILE'\n$@");
- }
- require $CORE_CONFIG_FILE
- || die ("Couldn't load RT config file '$CORE_CONFIG_FILE'\n$@");
- RT::I18N->Init;
-}
-
-=item Init
-
- Conenct to the database, set up logging.
-
-=cut
-
-sub Init {
-
- #Get a database connection
- ConnectToDatabase();
-
- #RT's system user is a genuine database user. its id lives here
- $SystemUser = new RT::CurrentUser();
- $SystemUser->LoadByName('RT_System');
-
- #RT's "nobody user" is a genuine database user. its ID lives here.
- $Nobody = new RT::CurrentUser();
- $Nobody->LoadByName('Nobody');
-
- $System = RT::System->new();
-
- InitLogging();
-}
-
-
-=head2 ConnectToDatabase
-
-Get a database connection
-
-=cut
-
-sub ConnectToDatabase {
- require RT::Handle;
- unless ($Handle && $Handle->dbh && $Handle->dbh->ping) {
- $Handle = RT::Handle->new();
- }
- $Handle->Connect();
-}
-
-=head2 InitLogging
-
-Create the RT::Logger object.
-
-=cut
-sub InitLogging {
-
- # We have to set the record seperator ($, man perlvar)
- # or Log::Dispatch starts getting
- # really pissy, as some other module we use unsets it.
-
- $, = '';
- use Log::Dispatch 1.6;
-
- unless ($RT::Logger) {
-
- $RT::Logger=Log::Dispatch->new();
-
- if ($RT::LogToFile) {
-
- unless (-d $RT::LogDir && -w $RT::LogDir) {
- # localizing here would be hard when we don't have a current user yet
- # die $self->loc("Log directory [_1] not found or couldn't be written.\n RT can't run.", $RT::LogDir);
- die ("Log directory $RT::LogDir not found or couldn't be written.\n RT can't run.");
- }
-
- my $filename;
- if ($RT::LogToFileNamed =~ m![/\\]!) {
- # looks like an absolute path.
- $filename = $RT::LogToFileNamed;
- }
- else {
- $filename = "$RT::LogDir/$RT::LogToFileNamed";
- }
- require Log::Dispatch::File;
-
-
- $RT::Logger->add(Log::Dispatch::File->new
- ( name=>'rtlog',
- min_level=> $RT::LogToFile,
- filename=> $filename,
- mode=>'append',
- callbacks => sub { my %p = @_;
- my ($package, $filename, $line) = caller(5);
- return "[".gmtime(time)."] [".$p{level}."]: $p{message} ($filename:$line)\n"}
-
-
-
- ));
- }
- if ($RT::LogToScreen) {
- require Log::Dispatch::Screen;
- $RT::Logger->add(Log::Dispatch::Screen->new
- ( name => 'screen',
- min_level => $RT::LogToScreen,
- callbacks => sub { my %p = @_;
- my ($package, $filename, $line) = caller(5);
- return "[".gmtime(time)."] [".$p{level}."]: $p{message} ($filename:$line)\n"
- },
-
- stderr => 1
- ));
- }
- if ($RT::LogToSyslog) {
- require Log::Dispatch::Syslog;
- $RT::Logger->add(Log::Dispatch::Syslog->new
- ( name => 'syslog',
- ident => 'RT',
- min_level => $RT::LogToSyslog,
- callbacks => sub { my %p = @_;
- my ($package, $filename, $line) = caller(5);
-
- # syswrite() cannot take utf8; turn it off here.
- Encode::_utf8_off($p{message});
-
- if ($p{level} eq 'debug') {
-
- return "$p{message}\n" }
- else {
- return "$p{message} ($filename:$line)\n"}
- },
-
- stderr => 1
- ));
- }
-
- }
-
-# {{{ Signal handlers
-
-## This is the default handling of warnings and die'ings in the code
-## (including other used modules - maybe except for errors catched by
-## Mason). It will log all problems through the standard logging
-## mechanism (see above).
-
-$SIG{__WARN__} = sub {$RT::Logger->warning($_[0])};
-
-#When we call die, trap it and log->crit with the value of the die.
-
-$SIG{__DIE__} = sub {
- unless ($^S || !defined $^S ) {
- $RT::Handle->Rollback();
- $RT::Logger->crit("$_[0]");
- exit(-1);
- }
- else {
- #Get out of here if we're in an eval
- die $_[0];
- }
-};
-
-# }}}
-
-}
-
-# }}}
-
-
-sub SystemUser {
- return($SystemUser);
-}
-
-sub Nobody {
- return ($Nobody);
-}
-
-
-=head2 DropSetGIDPermissions
-
-Drops setgid permissions.
-
-=cut
-
-sub DropSetGIDPermissions {
- # Now that we got the config read in, we have the database
- # password and don't need to be setgid
- # make the effective group the real group
- $) = $(;
-}
-
-
-=head1 SYNOPSIS
-
-=head1 BUGS
-
-Please report them to rt-3.0-bugs@fsck.com, if you know what's broken and have at least some idea of what needs to be fixed.
-If you're not sure what's going on, report them rt-devel@lists.fsck.com.
-
-=head1 SEE ALSO
-
-L<RT::StyleGuide>
-L<DBIx::SearchBuilder>
-
-
-
-=begin testing
-
-
-ok ($RT::Nobody->Name() eq 'Nobody', "Nobody is nobody");
-ok ($RT::Nobody->Name() ne 'root', "Nobody isn't named root");
-ok ($RT::SystemUser->Name() eq 'RT_System', "The system user is RT_System");
-ok ($RT::SystemUser->Name() ne 'noname', "The system user isn't noname");
-
-
-=end testing
-
-=cut
-
-eval "require RT_Local";
-die $@ if ($@ && $@ !~ qr{^Can't locate RT_Local.pm});
-
-1;
diff --git a/rt/lib/RT/I18N/en_malkovich.po b/rt/lib/RT/I18N/en_malkovich.po
deleted file mode 100644
index 74769f1a3..000000000
--- a/rt/lib/RT/I18N/en_malkovich.po
+++ /dev/null
@@ -1,3973 +0,0 @@
-msgid ""
-msgstr ""
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=utf-8\n"
-"Content-Transfer-Encoding: 8bit\n"
-
-#: html/Approvals/Elements/Approve:26 html/Approvals/Elements/ShowDependency:49 html/SelfService/Display.html:24 html/Ticket/Display.html:25 html/Ticket/Display.html:29
-#. ($TicketObj->Id, $TicketObj->Subject)
-#. ($Ticket->id, $Ticket->Subject)
-#. ($ticket->Id, $ticket->Subject)
-#. ($link->BaseObj->Id, $link->BaseObj->Subject)
-msgid "#%1: %2"
-msgstr "#%1: %2"
-
-#: html/Search/Elements/SelectPersonType:30 lib/RT/Date.pm:337
-#. ($s, $time_unit)
-#. ($option, $subtype)
-msgid "%1 %2"
-msgstr "%1 %2"
-
-#: lib/RT/Tickets_Overlay.pm:828
-#. ($args{'FIELD'}, $args{'OPERATOR'}, $args{'VALUE'})
-msgid "%1 %2 %3"
-msgstr "%1 %2 %3"
-
-#: lib/RT/Date.pm:373
-#. ($self->GetWeekday($wday), $self->GetMonth($mon), map {sprintf "%02d", $_} ($mday, $hour, $min, $sec), ($year+1900))
-msgid "%1 %2 %3 %4:%5:%6 %7"
-msgstr "%1 %2 %3 %4:%5:%6 %7"
-
-#: lib/RT/Ticket_Overlay.pm:3451 lib/RT/Transaction_Overlay.pm:550 lib/RT/Transaction_Overlay.pm:593
-#. ($cf->Name, $new_value->Content)
-#. ($field, $self->NewValue)
-#. ($self->Field, $principal->Object->Name)
-msgid "%1 %2 added"
-msgstr "%1 %2 Malkovich"
-
-#: lib/RT/Date.pm:334
-#. ($s, $time_unit)
-msgid "%1 %2 ago"
-msgstr "%1 %2 ago"
-
-#: lib/RT/Ticket_Overlay.pm:3457 lib/RT/Transaction_Overlay.pm:557
-#. ($cf->Name, $old_value, $new_value->Content)
-#. ($field, $self->OldValue, $self->NewValue)
-msgid "%1 %2 changed to %3"
-msgstr "%1 %2 Malkovich to %3"
-
-#: lib/RT/Ticket_Overlay.pm:3454 lib/RT/Transaction_Overlay.pm:553 lib/RT/Transaction_Overlay.pm:599
-#. ($cf->Name, $old_value)
-#. ($field, $self->OldValue)
-#. ($self->Field, $principal->Object->Name)
-msgid "%1 %2 deleted"
-msgstr "%1 %2 Malkovich"
-
-#: html/Admin/Elements/EditScrips:43 html/Admin/Elements/ListGlobalScrips:27 html/Ticket/Elements/PreviewScrips:53
-#. ($scrip->ConditionObj->Name, $scrip->ActionObj->Name, $scrip->TemplateObj->Name)
-#. (loc($scrip->ConditionObj->Name), loc($scrip->ActionObj->Name), loc($scrip->TemplateObj->Name))
-msgid "%1 %2 with template %3"
-msgstr "%1 %2 Malkovich %3"
-
-#: bin/rt-crontool:165 bin/rt-crontool:172 bin/rt-crontool:178
-#. ("--search-argument", "--search")
-#. ("--condition-argument", "--condition")
-#. ("--action-argument", "--action")
-msgid "%1 - An argument to pass to %2"
-msgstr "%1 - A Malkovich to pass to %2"
-
-#: bin/rt-crontool:181
-#. ("--verbose")
-msgid "%1 - Output status updates to STDOUT"
-msgstr "%1 - Malkovich Malkovich to MALKOVICH"
-
-#: bin/rt-crontool:175
-#. ("--action")
-msgid "%1 - Specify the action module you want to use"
-msgstr "%1 - Malkovich the Malkovich Malkovich to use"
-
-#: bin/rt-crontool:169
-#. ("--condition")
-msgid "%1 - Specify the condition module you want to use"
-msgstr "%1 - Malkovich the Malkovich Malkovich to use"
-
-#: bin/rt-crontool:162
-#. ("--search")
-msgid "%1 - Specify the search module you want to use"
-msgstr "%1 - Malkovich the Malkovich Malkovich to use"
-
-#: lib/RT/ScripAction_Overlay.pm:114
-#. ($self->Id)
-msgid "%1 ScripAction loaded"
-msgstr "%1 Malkovich Malkovich"
-
-#: lib/RT/Ticket_Overlay.pm:3484
-#. ($args{'Value'}, $cf->Name)
-msgid "%1 added as a value for %2"
-msgstr "%1 Malkovich as a Malkovich %2"
-
-#: lib/RT/Link_Overlay.pm:111 lib/RT/Link_Overlay.pm:118
-#. ($args{'Base'})
-#. ($args{'Target'})
-msgid "%1 appears to be a local object, but can't be found in the database"
-msgstr "%1 Malkovich to be a Malkovich, but can't be Malkovich in the Malkovich"
-
-#: html/Ticket/Elements/ShowDates:52 lib/RT/Transaction_Overlay.pm:458
-#. ($self->BriefDescription , $self->CreatorObj->Name)
-#. ($Ticket->LastUpdatedAsString, $Ticket->LastUpdatedByObj->Name)
-msgid "%1 by %2"
-msgstr "%1 by %2"
-
-#: lib/RT/Transaction_Overlay.pm:512 lib/RT/Transaction_Overlay.pm:688 lib/RT/Transaction_Overlay.pm:697 lib/RT/Transaction_Overlay.pm:700
-#. ($self->Field , ( $self->OldValue || $no_value ) , $self->NewValue)
-#. ($self->Field , $q1->Name , $q2->Name)
-#. ($self->Field, $t2->AsString, $t1->AsString)
-#. ($self->Field, $self->OldValue, $self->NewValue)
-msgid "%1 changed from %2 to %3"
-msgstr "%1 Malkovich %2 to %3"
-
-#: lib/RT/Record.pm:739
-msgid "%1 could not be set to %2."
-msgstr "%1 Malkovich be set to %2."
-
-#: lib/RT/Ticket_Overlay.pm:2739
-#. ($self)
-msgid "%1 couldn't set status to resolved. RT's Database may be inconsistent."
-msgstr "%1 couldn't Malkovich to Malkovich. RT's Malkovich be Malkovich."
-
-#: NOT FOUND IN SOURCE
-msgid "%1 highest priority tickets I own..."
-msgstr "%1 Malkovich Malkovich I Malkovich..."
-
-#: html/Elements/MyTickets:26
-#. ($rows)
-msgid "%1 highest priority tickets I requested..."
-msgstr "%1 Malkovich Malkovich I Malkovich..."
-
-#: bin/rt-crontool:157
-#. ($0)
-msgid "%1 is a tool to act on tickets from an external scheduling tool, such as cron."
-msgstr "%1 is a tool to act on Malkovich a Malkovich Malkovich, such as cron."
-
-#: lib/RT/Queue_Overlay.pm:784
-#. ($principal->Object->Name, $args{'Type'})
-msgid "%1 is no longer a %2 for this queue."
-msgstr "%1 is no Malkovich a %2 Malkovich."
-
-#: lib/RT/Ticket_Overlay.pm:3540
-#. ($args{'Value'}, $cf->Name)
-msgid "%1 is no longer a value for custom field %2"
-msgstr "%1 is no Malkovich a Malkovich Malkovich %2"
-
-#: html/Ticket/Create.html:155 html/Ticket/Create.html:156 html/Ticket/Elements/ShowBasics:36 html/Ticket/Elements/ShowBasics:42 html/Ticket/Elements/ShowBasics:47
-#. ('<input size=3 name="TimeWorked" value="'.$ARGS{TimeWorked}.'">')
-#. ('<input size=3 name="TimeLeft" value="'.$ARGS{TimeLeft}.'">')
-#. ($Ticket->TimeEstimated)
-#. ($Ticket->TimeWorked)
-#. ($Ticket->TimeLeft)
-msgid "%1 min"
-msgstr "%1 min"
-
-#: html/User/Elements/DelegateRights:75
-#. (loc($ObjectType =~ /^RT::(.*)$/))
-msgid "%1 rights"
-msgstr "%1 Malkovich"
-
-#: lib/RT/Action/ResolveMembers.pm:41
-#. (ref $self)
-msgid "%1 will resolve all members of a resolved group ticket."
-msgstr "%1 Malkovich Malkovich of a Malkovich Malkovich."
-
-#: lib/RT/Transaction_Overlay.pm:408
-#. ($self)
-msgid "%1: no attachment specified"
-msgstr "%1: no Malkovich Malkovich"
-
-#: html/Ticket/Elements/ShowTransactionAttachments:56
-#. ($size)
-msgid "%1b"
-msgstr "%1b"
-
-#: html/Ticket/Elements/ShowTransactionAttachments:53
-#. (int( $size / 102.4 ) / 10)
-msgid "%1k"
-msgstr "%1k"
-
-#: lib/RT/Ticket_Overlay.pm:1252
-#. ($args{'Status'})
-msgid "'%1' is an invalid value for status"
-msgstr "'%1' is a Malkovich Malkovich"
-
-#: html/Admin/Elements/EditCustomFieldValues:24 html/Admin/Elements/EditQueueWatchers:28 html/Admin/Elements/EditScrips:34 html/Admin/Elements/EditTemplates:35 html/Admin/Groups/Members.html:51 html/Elements/EditLinks:32 html/Ticket/Elements/EditPeople:45 html/User/Groups/Members.html:54
-msgid "(Check box to delete)"
-msgstr "(Malkovich to Malkovich)"
-
-#: html/Ticket/Elements/PreviewScrips:49
-msgid "(Check boxes to disable notifications to the listed recipients)"
-msgstr "(Malkovich to Malkovich Malkovich to the Malkovich Malkovich)"
-
-#: html/Ticket/Elements/PreviewScrips:71
-msgid "(Check boxes to enable notifications to the listed recipients)"
-msgstr "(Malkovich to Malkovich Malkovich to the Malkovich Malkovich)"
-
-#: NOT FOUND IN SOURCE
-msgid "(Enter ticket ids or URLs, seperated with spaces)"
-msgstr "(Malkovich Malkovich or URLs, Malkovich Malkovich)"
-
-#: html/Admin/Queues/Modify.html:53 html/Admin/Queues/Modify.html:59
-#. ($RT::CorrespondAddress)
-#. ($RT::CommentAddress)
-msgid "(If left blank, will default to %1"
-msgstr "(If Malkovich, Malkovich to %1"
-
-#: html/Admin/Elements/EditCustomFields:32 html/Admin/Elements/ListGlobalCustomFields:31
-msgid "(No custom fields)"
-msgstr "(No Malkovich)"
-
-#: html/Admin/Groups/Members.html:49 html/User/Groups/Members.html:52
-msgid "(No members)"
-msgstr "(No Malkovich)"
-
-#: html/Admin/Elements/EditScrips:31 html/Admin/Elements/ListGlobalScrips:31
-msgid "(No scrips)"
-msgstr "(No Malkovich)"
-
-#: html/Admin/Elements/EditTemplates:30
-msgid "(No templates)"
-msgstr "(No Malkovich)"
-
-#: html/Ticket/Update.html:66
-msgid "(Sends a blind carbon-copy of this update to a comma-delimited list of email addresses. Does <b>not</b> change who will receive future updates.)"
-msgstr "(Malkovich a Malkovich-copy of Malkovich to a Malkovich-Malkovich of Malkovich. Does <b>not</b> Malkovich Malkovich Malkovich Malkovich.)"
-
-#: html/Ticket/Create.html:78
-msgid "(Sends a carbon-copy of this update to a comma-delimited list of administrative email addresses. These people <b>will</b> receive future updates.)"
-msgstr "(Malkovich a Malkovich-copy of Malkovich to a Malkovich-Malkovich of Malkovich Malkovich Malkovich. Malkovich <b>will</b> Malkovich Malkovich.)"
-
-#: html/Ticket/Update.html:62
-msgid "(Sends a carbon-copy of this update to a comma-delimited list of email addresses. Does <b>not</b> change who will receive future updates.)"
-msgstr "(Malkovich a Malkovich-copy of Malkovich to a Malkovich-Malkovich of Malkovich. Does <b>not</b> Malkovich Malkovich Malkovich Malkovich.)"
-
-#: html/Ticket/Create.html:68
-msgid "(Sends a carbon-copy of this update to a comma-delimited list of email addresses. These people <b>will</b> receive future updates.)"
-msgstr "(Malkovich a Malkovich-copy of Malkovich to a Malkovich-Malkovich of Malkovich. Malkovich <b>will</b> Malkovich Malkovich.)"
-
-#: html/Admin/Groups/index.html:32 html/User/Groups/index.html:32
-msgid "(empty)"
-msgstr "(Malkovich)"
-
-#: html/Admin/Users/index.html:38
-msgid "(no name listed)"
-msgstr "(no Malkovich)"
-
-#: html/Admin/Elements/SelectRights:47 html/Elements/SelectCustomFieldValue:29 html/Ticket/Elements/EditCustomField:64 html/Ticket/Elements/ShowCustomFields:35 lib/RT/Transaction_Overlay.pm:511
-msgid "(no value)"
-msgstr "(no Malkovich)"
-
-#: html/Elements/EditLinks:105 html/Ticket/Elements/BulkLinks:27
-msgid "(only one ticket)"
-msgstr "(Malkovich)"
-
-#: html/Elements/TicketList:167
-msgid "(pending approval)"
-msgstr "(Malkovich Malkovich)"
-
-#: html/Elements/TicketList:170
-msgid "(pending other Collection)"
-msgstr "(Malkovich Malkovich)"
-
-#: NOT FOUND IN SOURCE
-msgid "(pending other tickets)"
-msgstr "(Malkovich Malkovich)"
-
-#: html/Admin/Users/Modify.html:49
-msgid "(required)"
-msgstr "(Malkovich)"
-
-#: html/Ticket/Elements/ShowTransactionAttachments:60
-msgid "(untitled)"
-msgstr "(Malkovich)"
-
-#: NOT FOUND IN SOURCE
-msgid "..."
-msgstr "..."
-
-#: html/Ticket/Elements/ShowBasics:31
-msgid "<% $Ticket->Status%>"
-msgstr "<% $Ticket->Status %>"
-
-#: html/Elements/SelectTicketTypes:26
-msgid "<% $_ %>"
-msgstr "<% $_ %>"
-
-#: docs/design_docs/string-extraction-guide.txt:54 html/Elements/CreateTicket:25 lib/RT/StyleGuide.pod:767
-#. ($m->scomp('/Elements/SelectNewTicketQueue'))
-msgid "<input type=\"submit\" value=\"New ticket in\">&nbsp;%1"
-msgstr "<input type=\"submit\" value=\"Malkovich in\">&nbsp;%1"
-
-#: etc/initialdata:218
-msgid "A blank template"
-msgstr "A Malkovich"
-
-#: lib/RT/ACE_Overlay.pm:156 lib/RT/Principal_Overlay.pm:180
-msgid "ACE not found"
-msgstr "Malkovich"
-
-#: lib/RT/ACE_Overlay.pm:830
-msgid "ACEs can only be created and deleted."
-msgstr "Malkovich be Malkovich and Malkovich."
-
-#: NOT FOUND IN SOURCE
-msgid "Aborting to avoid unintended ticket modifications.\\n"
-msgstr "Malkovich to Malkovich Malkovich Malkovich Malkovich.\\n"
-
-#: html/User/Elements/Tabs:31
-msgid "About me"
-msgstr "Malkovich me"
-
-#: html/Admin/Users/Modify.html:79
-msgid "Access control"
-msgstr "Malkovich"
-
-#: html/Admin/Elements/EditScrip:49
-msgid "Action"
-msgstr "Malkovich"
-
-#: lib/RT/Scrip_Overlay.pm:148
-#. ($args{'ScripAction'})
-msgid "Action %1 not found"
-msgstr "Malkovich %1 Malkovich"
-
-#: bin/rt-crontool:119
-msgid "Action committed."
-msgstr "Malkovich Malkovich."
-
-#: bin/rt-crontool:115
-msgid "Action prepared..."
-msgstr "Malkovich..."
-
-#: html/Search/Bulk.html:93
-msgid "Add AdminCc"
-msgstr "Malkovich"
-
-#: html/Search/Bulk.html:89
-msgid "Add Cc"
-msgstr "Add Cc"
-
-#: html/Ticket/Create.html:113 html/Ticket/Update.html:81
-msgid "Add More Files"
-msgstr "Malkovich"
-
-#: html/Search/Bulk.html:85
-msgid "Add Requestor"
-msgstr "Malkovich"
-
-#: html/Admin/Elements/AddCustomFieldValue:24
-msgid "Add Value"
-msgstr "Malkovich"
-
-#: html/Admin/Global/Scrip.html:54
-msgid "Add a scrip which will apply to all queues"
-msgstr "Add a Malkovich Malkovich to Malkovich"
-
-#: html/Search/Bulk.html:125
-msgid "Add comments or replies to selected tickets"
-msgstr "Malkovich or Malkovich to Malkovich Malkovich"
-
-#: html/Admin/Groups/Members.html:41 html/User/Groups/Members.html:38
-msgid "Add members"
-msgstr "Malkovich"
-
-#: html/Admin/Queues/People.html:65 html/Ticket/Elements/AddWatchers:27
-msgid "Add new watchers"
-msgstr "Malkovich Malkovich"
-
-#: lib/RT/Queue_Overlay.pm:684
-#. ($args{'Type'})
-msgid "Added principal as a %1 for this queue"
-msgstr "Malkovich as a %1 Malkovich"
-
-#: lib/RT/Ticket_Overlay.pm:1547
-#. ($self->loc($args{'Type'}))
-msgid "Added principal as a %1 for this ticket"
-msgstr "Malkovich as a %1 Malkovich"
-
-#: html/Admin/Users/Modify.html:119 html/User/Prefs.html:111
-msgid "Address1"
-msgstr "Malkovich1"
-
-#: html/Admin/Users/Modify.html:124 html/User/Prefs.html:115
-msgid "Address2"
-msgstr "Malkovich2"
-
-#: html/Ticket/Create.html:73
-msgid "Admin Cc"
-msgstr "Malkovich Cc"
-
-#: etc/initialdata:295
-msgid "Admin Comment"
-msgstr "Malkovich"
-
-#: etc/initialdata:274
-msgid "Admin Correspondence"
-msgstr "Malkovich Malkovich"
-
-#: html/Admin/Queues/index.html:24 html/Admin/Queues/index.html:27
-msgid "Admin queues"
-msgstr "Malkovich"
-
-#: html/Admin/Global/index.html:25 html/Admin/Global/index.html:27
-msgid "Admin/Global configuration"
-msgstr "Malkovich/Malkovich Malkovich"
-
-#: NOT FOUND IN SOURCE
-msgid "Admin/Queue/Basics"
-msgstr "Malkovich/Malkovich/Malkovich"
-
-#: etc/initialdata:56 html/Ticket/Elements/ShowPeople:38 lib/RT/ACE_Overlay.pm:88
-msgid "AdminCc"
-msgstr "Malkovich"
-
-#: lib/RT/Queue_Overlay.pm:73
-msgid "AdminCustomFields"
-msgstr "Malkovich Malkovich"
-
-#: lib/RT/Group_Overlay.pm:146
-msgid "AdminGroup"
-msgstr "Malkovich"
-
-#: lib/RT/Group_Overlay.pm:148
-msgid "AdminGroupMembership"
-msgstr "Malkovich Malkovich"
-
-#: lib/RT/System.pm:58
-msgid "AdminOwnPersonalGroups"
-msgstr "Malkovich Malkovich"
-
-#: lib/RT/Queue_Overlay.pm:69
-msgid "AdminQueue"
-msgstr "Malkovich"
-
-#: lib/RT/System.pm:59
-msgid "AdminUsers"
-msgstr "Malkovich"
-
-#: html/Admin/Queues/People.html:47 html/Ticket/Elements/EditPeople:53
-msgid "Administrative Cc"
-msgstr "Malkovich Cc"
-
-#: html/Elements/SelectDateRelation:35
-msgid "After"
-msgstr "Malkovich"
-
-#: etc/initialdata:363
-msgid "All Approvals Passed"
-msgstr "Malkovich Malkovich"
-
-#: html/Admin/Elements/EditCustomFields:94
-msgid "All Custom Fields"
-msgstr "Malkovich Malkovich"
-
-#: html/Admin/Queues/index.html:52
-msgid "All Queues"
-msgstr "Malkovich"
-
-#: html/Elements/Tabs:58
-msgid "Approval"
-msgstr "Malkovich"
-
-#: html/Approvals/Display.html:45 html/Approvals/Elements/ShowDependency:41 html/Approvals/index.html:64
-#. ($Ticket->Id, $Ticket->Subject)
-#. ($ticket->id, $msg)
-#. ($link->BaseObj->Id, $link->BaseObj->Subject)
-msgid "Approval #%1: %2"
-msgstr "Malkovich #%1: %2"
-
-#: html/Approvals/index.html:53
-#. ($ticket->Id)
-msgid "Approval #%1: Notes not recorded due to a system error"
-msgstr "Malkovich #%1: Malkovich Malkovich to a Malkovich"
-
-#: html/Approvals/index.html:51
-#. ($ticket->Id)
-msgid "Approval #%1: Notes recorded"
-msgstr "Malkovich #%1: Malkovich"
-
-#: etc/initialdata:351
-msgid "Approval Passed"
-msgstr "Malkovich"
-
-#: etc/initialdata:374
-msgid "Approval Rejected"
-msgstr "Malkovich Malkovich"
-
-#: html/Approvals/Elements/Approve:43
-msgid "Approve"
-msgstr "Malkovich"
-
-#: etc/initialdata:504
-msgid "Approver's notes: %1"
-msgstr "Malkovich's Malkovich: %1"
-
-#: lib/RT/Date.pm:414
-msgid "Apr."
-msgstr "Apr."
-
-#: html/Elements/SelectSortOrder:34 html/Search/Elements/DisplayOptions:52
-msgid "Ascending"
-msgstr "Malkovich"
-
-#: html/Search/Bulk.html:134 html/SelfService/Update.html:47 html/Ticket/ModifyAll.html:82 html/Ticket/Update.html:81
-msgid "Attach"
-msgstr "Malkovich"
-
-#: html/SelfService/Create.html:64 html/Ticket/Create.html:109
-msgid "Attach file"
-msgstr "Malkovich"
-
-#: html/SelfService/Update.html:36 html/Ticket/Create.html:97 html/Ticket/Update.html:70
-msgid "Attached file"
-msgstr "Malkovich"
-
-#: lib/RT/Transaction_Overlay.pm:416
-msgid "Attachment created"
-msgstr "Malkovich Malkovich"
-
-#: lib/RT/Tickets_Overlay.pm:1251
-msgid "Attachment filename"
-msgstr "Malkovich Malkovich"
-
-#: html/Ticket/Elements/ShowAttachments:25
-msgid "Attachments"
-msgstr "Malkovich"
-
-#: lib/RT/Attributes_Overlay.pm:158
-msgid "Attribute Deleted"
-msgstr "Malkovich Malkovich"
-
-#: lib/RT/Date.pm:418
-msgid "Aug."
-msgstr "Aug."
-
-#: NOT FOUND IN SOURCE
-msgid "AuthSystem"
-msgstr "Malkovich"
-
-#: etc/initialdata:221
-msgid "Autoreply"
-msgstr "Malkovich"
-
-#: etc/initialdata:72
-msgid "Autoreply To Requestors"
-msgstr "Malkovich To Malkovich"
-
-#: NOT FOUND IN SOURCE
-msgid "Bad data in %1"
-msgstr "Malkovich in %1"
-
-#: html/Admin/Elements/GroupTabs:38 html/Admin/Elements/QueueTabs:38 html/Admin/Elements/UserTabs:37 html/Ticket/Elements/Tabs:91 html/User/Elements/GroupTabs:37
-msgid "Basics"
-msgstr "Malkovich"
-
-#: html/Ticket/Update.html:64
-msgid "Bcc"
-msgstr "Bcc"
-
-#: html/Admin/Elements/EditScrip:73
-msgid "Be sure to save your changes"
-msgstr "Be sure to Malkovich Malkovich"
-
-#: html/Elements/SelectDateRelation:33 lib/RT/CurrentUser.pm:336
-msgid "Before"
-msgstr "Malkovich"
-
-#: etc/initialdata:217
-msgid "Blank"
-msgstr "Malkovich"
-
-#: html/Ticket/Elements/ShowHistory:38 html/Ticket/Elements/ShowHistory:44
-msgid "Brief headers"
-msgstr "Malkovich"
-
-#: html/Search/Bulk.html:24 html/Search/Bulk.html:25
-msgid "Bulk ticket update"
-msgstr "Malkovich Malkovich"
-
-#: lib/RT/User_Overlay.pm:1533
-msgid "Can not modify system users"
-msgstr "Malkovich Malkovich Malkovich"
-
-#: lib/RT/Queue_Overlay.pm:68
-msgid "Can this principal see this queue"
-msgstr "Malkovich Malkovich Malkovich"
-
-#: lib/RT/CustomField_Overlay.pm:211
-msgid "Can't add a custom field value without a name"
-msgstr "Can't add a Malkovich Malkovich Malkovich a name"
-
-#: lib/RT/Link_Overlay.pm:126
-msgid "Can't link a ticket to itself"
-msgstr "Can't link a Malkovich to Malkovich"
-
-#: lib/RT/Ticket_Overlay.pm:2716
-msgid "Can't merge into a merged ticket. You should never get this error"
-msgstr "Can't Malkovich a Malkovich. Malkovich Malkovich Malkovich"
-
-#: lib/RT/Record.pm:1060 lib/RT/Record.pm:1138
-msgid "Can't specifiy both base and target"
-msgstr "Can't Malkovich Malkovich and Malkovich"
-
-#: html/autohandler:132
-#. ($msg)
-msgid "Cannot create user: %1"
-msgstr "Malkovich Malkovich: %1"
-
-#: etc/initialdata:50 html/Admin/Queues/People.html:43 html/SelfService/Create.html:48 html/Ticket/Create.html:63 html/Ticket/Elements/EditPeople:50 html/Ticket/Elements/ShowPeople:34 html/Ticket/Update.html:59 lib/RT/ACE_Overlay.pm:87
-msgid "Cc"
-msgstr "Cc"
-
-#: html/SelfService/Prefs.html:30
-msgid "Change password"
-msgstr "Malkovich"
-
-#: html/SelfService/Update.html:39 html/Ticket/Create.html:100 html/Ticket/Update.html:73
-msgid "Check box to delete"
-msgstr "Malkovich to Malkovich"
-
-#: html/Admin/Elements/SelectRights:30
-msgid "Check box to revoke right"
-msgstr "Malkovich to Malkovich"
-
-#: html/Elements/EditLinks:121 html/Elements/EditLinks:63 html/Elements/ShowLinks:56 html/Ticket/Create.html:183 html/Ticket/Elements/BulkLinks:42
-msgid "Children"
-msgstr "Malkovich"
-
-#: html/Admin/Users/Modify.html:129 html/User/Prefs.html:119
-msgid "City"
-msgstr "City"
-
-#: html/Ticket/Elements/ShowDates:47
-msgid "Closed"
-msgstr "Malkovich"
-
-#: html/SelfService/Closed.html:24
-msgid "Closed Tickets"
-msgstr "Malkovich"
-
-#: html/SelfService/Elements/Tabs:44
-msgid "Closed tickets"
-msgstr "Malkovich"
-
-#: html/Ticket/Elements/ShowTransaction:152 html/Ticket/Elements/Tabs:154
-msgid "Comment"
-msgstr "Malkovich"
-
-#: html/Admin/Queues/Modify.html:57
-msgid "Comment Address"
-msgstr "Malkovich"
-
-#: lib/RT/Queue_Overlay.pm:88
-msgid "Comment on tickets"
-msgstr "Malkovich on Malkovich"
-
-#: lib/RT/Queue_Overlay.pm:88
-msgid "CommentOnTicket"
-msgstr "Malkovich"
-
-#: NOT FOUND IN SOURCE
-msgid "Comments"
-msgstr "Malkovich"
-
-#: html/Ticket/ModifyAll.html:69 html/Ticket/Update.html:51
-msgid "Comments (Not sent to requestors)"
-msgstr "Malkovich (Malkovich to Malkovich)"
-
-#: html/Search/Bulk.html:129
-msgid "Comments (not sent to requestors)"
-msgstr "Malkovich (Malkovich to Malkovich)"
-
-#: NOT FOUND IN SOURCE
-msgid "Comments about %1"
-msgstr "Malkovich %1"
-
-#: html/Admin/Users/Modify.html:182 html/Ticket/Elements/ShowRequestor:45
-msgid "Comments about this user"
-msgstr "Malkovich Malkovich"
-
-#: lib/RT/Transaction_Overlay.pm:537
-msgid "Comments added"
-msgstr "Malkovich"
-
-#: lib/RT/Action/Generic.pm:149
-msgid "Commit Stubbed"
-msgstr "Malkovich"
-
-#: html/Admin/Elements/EditScrip:41
-msgid "Condition"
-msgstr "Malkovich"
-
-#: bin/rt-crontool:105
-msgid "Condition matches..."
-msgstr "Malkovich Malkovich..."
-
-#: lib/RT/Scrip_Overlay.pm:164
-msgid "Condition not found"
-msgstr "Malkovich Malkovich"
-
-#: html/Elements/Tabs:52
-msgid "Configuration"
-msgstr "Malkovich"
-
-#: html/SelfService/Prefs.html:32
-msgid "Confirm"
-msgstr "Malkovich"
-
-#: NOT FOUND IN SOURCE
-msgid "ContactInfoSystem"
-msgstr "Malkovich Malkovich"
-
-#: html/Admin/Elements/ModifyTemplate:43 html/Elements/SelectAttachmentField:26 html/Ticket/ModifyAll.html:86
-msgid "Content"
-msgstr "Malkovich"
-
-#: etc/initialdata:286
-msgid "Correspondence"
-msgstr "Malkovich"
-
-#: NOT FOUND IN SOURCE
-msgid "Correspondence Address"
-msgstr "Malkovich Malkovich"
-
-#: lib/RT/Transaction_Overlay.pm:533
-msgid "Correspondence added"
-msgstr "Malkovich Malkovich"
-
-#: lib/RT/Ticket_Overlay.pm:3471
-msgid "Could not add new custom field value for ticket. "
-msgstr "Malkovich Malkovich Malkovich Malkovich Malkovich. "
-
-#: lib/RT/Ticket_Overlay.pm:2967 lib/RT/Ticket_Overlay.pm:2975 lib/RT/Ticket_Overlay.pm:2992
-msgid "Could not change owner. "
-msgstr "Malkovich Malkovich. "
-
-#: html/Admin/Elements/EditCustomField:84 html/Admin/Elements/EditCustomFields:164
-#. ($msg)
-msgid "Could not create CustomField"
-msgstr "Malkovich Malkovich Malkovich"
-
-#: html/User/Groups/Modify.html:76 lib/RT/Group_Overlay.pm:474 lib/RT/Group_Overlay.pm:481
-msgid "Could not create group"
-msgstr "Malkovich Malkovich"
-
-#: html/Admin/Global/Template.html:74 html/Admin/Queues/Template.html:71
-#. ($msg)
-msgid "Could not create template: %1"
-msgstr "Malkovich Malkovich: %1"
-
-#: lib/RT/Ticket_Overlay.pm:1185 lib/RT/Ticket_Overlay.pm:364
-msgid "Could not create ticket. Queue not set"
-msgstr "Malkovich Malkovich. Malkovich"
-
-#: lib/RT/User_Overlay.pm:226 lib/RT/User_Overlay.pm:240 lib/RT/User_Overlay.pm:249 lib/RT/User_Overlay.pm:258 lib/RT/User_Overlay.pm:267 lib/RT/User_Overlay.pm:281 lib/RT/User_Overlay.pm:291 lib/RT/User_Overlay.pm:462
-msgid "Could not create user"
-msgstr "Malkovich Malkovich"
-
-#: lib/RT/Queue_Overlay.pm:662 lib/RT/Ticket_Overlay.pm:1515
-msgid "Could not find or create that user"
-msgstr "Malkovich or Malkovich Malkovich"
-
-#: lib/RT/Queue_Overlay.pm:723 lib/RT/Ticket_Overlay.pm:1596
-msgid "Could not find that principal"
-msgstr "Malkovich Malkovich Malkovich"
-
-#: html/Admin/Groups/Members.html:87 html/User/Groups/Members.html:89 html/User/Groups/Modify.html:81
-msgid "Could not load group"
-msgstr "Malkovich Malkovich"
-
-#: lib/RT/Queue_Overlay.pm:682
-#. ($args{'Type'})
-msgid "Could not make that principal a %1 for this queue"
-msgstr "Malkovich Malkovich Malkovich a %1 Malkovich"
-
-#: lib/RT/Ticket_Overlay.pm:1536
-#. ($self->loc($args{'Type'}))
-msgid "Could not make that principal a %1 for this ticket"
-msgstr "Malkovich Malkovich Malkovich a %1 Malkovich"
-
-#: lib/RT/Queue_Overlay.pm:781
-#. ($args{'Type'})
-msgid "Could not remove that principal as a %1 for this queue"
-msgstr "Malkovich Malkovich Malkovich as a %1 Malkovich"
-
-#: lib/RT/Group_Overlay.pm:977
-msgid "Couldn't add member to group"
-msgstr "Couldn't Malkovich to Malkovich"
-
-#: lib/RT/Ticket_Overlay.pm:3481 lib/RT/Ticket_Overlay.pm:3537
-#. ($Msg)
-msgid "Couldn't create a transaction: %1"
-msgstr "Couldn't Malkovich a Malkovich: %1"
-
-#: lib/RT/Record.pm:748
-msgid "Couldn't find row"
-msgstr "Couldn't Malkovich"
-
-#: lib/RT/Group_Overlay.pm:951
-msgid "Couldn't find that principal"
-msgstr "Couldn't Malkovich Malkovich"
-
-#: lib/RT/CustomField_Overlay.pm:245
-msgid "Couldn't find that value"
-msgstr "Couldn't Malkovich"
-
-#: lib/RT/CurrentUser.pm:123
-#. ($self->Id)
-msgid "Couldn't load %1 from the users database.\\n"
-msgstr "Couldn't load %1 from the Malkovich.\\n"
-
-#: html/Admin/Groups/GroupRights.html:87 html/Admin/Groups/UserRights.html:74
-#. ($id)
-msgid "Couldn't load group %1"
-msgstr "Couldn't Malkovich %1"
-
-#: lib/RT/Link_Overlay.pm:169 lib/RT/Link_Overlay.pm:178 lib/RT/Link_Overlay.pm:205
-msgid "Couldn't load link"
-msgstr "Couldn't Malkovich"
-
-#: html/Admin/Elements/EditCustomFields:145 html/Admin/Queues/CustomFields.html:35 html/Admin/Queues/People.html:120
-#. ($id)
-msgid "Couldn't load queue"
-msgstr "Couldn't Malkovich"
-
-#: html/Admin/Queues/GroupRights.html:100 html/Admin/Queues/UserRights.html:71
-#. ($id)
-msgid "Couldn't load queue %1"
-msgstr "Couldn't Malkovich %1"
-
-#: NOT FOUND IN SOURCE
-msgid "Couldn't load that user (%1)"
-msgstr "Couldn't Malkovich (%1)"
-
-#: html/SelfService/Display.html:116
-#. ($id)
-msgid "Couldn't load ticket '%1'"
-msgstr "Couldn't Malkovich '%1'"
-
-#: html/Admin/Users/Modify.html:146 html/User/Prefs.html:131
-msgid "Country"
-msgstr "Malkovich"
-
-#: html/Admin/Elements/CreateUserCalled:25 html/Admin/Elements/EditCustomField:62 html/Admin/Elements/EditScrip:110 html/Admin/Groups/Modify.html:55 html/Admin/Queues/Template.html:44 html/Elements/QuickCreate:23 html/Ticket/Create.html:134 html/Ticket/Create.html:195 html/User/Groups/Modify.html:55
-msgid "Create"
-msgstr "Malkovich"
-
-#: etc/initialdata:135
-msgid "Create Tickets"
-msgstr "Malkovich"
-
-#: html/Admin/Elements/EditCustomField:74
-msgid "Create a CustomField"
-msgstr "Malkovich a Malkovich"
-
-#: html/Admin/Queues/CustomField.html:47
-#. ($QueueObj->Name())
-msgid "Create a CustomField for queue %1"
-msgstr "Malkovich a Malkovich Malkovich %1"
-
-#: html/Admin/Global/CustomField.html:47
-msgid "Create a CustomField which applies to all queues"
-msgstr "Malkovich a Malkovich Malkovich to Malkovich"
-
-#: html/Admin/Groups/Modify.html:66 html/Admin/Groups/Modify.html:92
-msgid "Create a new group"
-msgstr "Malkovich a Malkovich"
-
-#: html/User/Groups/Modify.html:66 html/User/Groups/Modify.html:91
-msgid "Create a new personal group"
-msgstr "Malkovich a Malkovich Malkovich"
-
-#: html/Ticket/Create.html:24 html/Ticket/Create.html:27 html/Ticket/Create.html:35
-msgid "Create a new ticket"
-msgstr "Malkovich a Malkovich"
-
-#: html/Admin/Users/Modify.html:211 html/Admin/Users/Modify.html:268
-msgid "Create a new user"
-msgstr "Malkovich a Malkovich"
-
-#: html/Admin/Queues/Modify.html:103
-msgid "Create a queue"
-msgstr "Malkovich a Malkovich"
-
-#: html/Admin/Queues/Scrip.html:58
-#. ($QueueObj->Name)
-msgid "Create a scrip for queue %1"
-msgstr "Malkovich a Malkovich %1"
-
-#: html/Admin/Global/Template.html:68 html/Admin/Queues/Template.html:64
-msgid "Create a template"
-msgstr "Malkovich a Malkovich"
-
-#: html/SelfService/Create.html:24
-msgid "Create a ticket"
-msgstr "Malkovich a Malkovich"
-
-#: etc/initialdata:137
-msgid "Create new tickets based on this scrip's template"
-msgstr "Malkovich Malkovich on Malkovich's Malkovich"
-
-#: html/SelfService/Create.html:77
-msgid "Create ticket"
-msgstr "Malkovich"
-
-#: lib/RT/Queue_Overlay.pm:86
-msgid "Create tickets in this queue"
-msgstr "Malkovich in Malkovich"
-
-#: lib/RT/Queue_Overlay.pm:73
-msgid "Create, delete and modify custom fields"
-msgstr "Malkovich, Malkovich and Malkovich Malkovich"
-
-#: lib/RT/Queue_Overlay.pm:69
-msgid "Create, delete and modify queues"
-msgstr "Malkovich, Malkovich and Malkovich"
-
-#: lib/RT/System.pm:58
-msgid "Create, delete and modify the members of personal groups"
-msgstr "Malkovich, Malkovich and Malkovich the Malkovich of Malkovich"
-
-#: lib/RT/System.pm:59
-msgid "Create, delete and modify users"
-msgstr "Malkovich, Malkovich and Malkovich"
-
-#: lib/RT/Queue_Overlay.pm:86
-msgid "CreateTicket"
-msgstr "Malkovich"
-
-#: html/Elements/SelectDateType:25 html/Ticket/Elements/ShowDates:27 lib/RT/Ticket_Overlay.pm:1279
-msgid "Created"
-msgstr "Malkovich"
-
-#: html/Admin/Elements/EditCustomField:87
-#. ($CustomFieldObj->Name())
-msgid "Created CustomField %1"
-msgstr "Malkovich Malkovich %1"
-
-#: html/Elements/EditLinks:27
-msgid "Current Links"
-msgstr "Malkovich Malkovich"
-
-#: html/Admin/Elements/EditScrips:29
-msgid "Current Scrips"
-msgstr "Malkovich"
-
-#: html/Admin/Groups/Members.html:38 html/User/Groups/Members.html:41
-msgid "Current members"
-msgstr "Malkovich"
-
-#: html/Admin/Elements/SelectRights:28
-msgid "Current rights"
-msgstr "Malkovich"
-
-#: NOT FOUND IN SOURCE
-msgid "Current search criteria"
-msgstr "Malkovich Malkovich"
-
-#: html/Admin/Queues/People.html:40 html/Ticket/Elements/EditPeople:44
-msgid "Current watchers"
-msgstr "Malkovich Malkovich"
-
-#: html/Admin/Global/CustomField.html:54
-#. ($CustomField)
-msgid "Custom Field #%1"
-msgstr "Malkovich #%1"
-
-#: html/Admin/Elements/QueueTabs:52 html/Admin/Elements/SystemTabs:39 html/Admin/Global/index.html:49 html/Ticket/Elements/ShowSummary:35
-msgid "Custom Fields"
-msgstr "Malkovich"
-
-#: html/Admin/Elements/EditScrip:101
-msgid "Custom action cleanup code"
-msgstr "Malkovich Malkovich Malkovich"
-
-#: html/Admin/Elements/EditScrip:93
-msgid "Custom action preparation code"
-msgstr "Malkovich Malkovich Malkovich"
-
-#: html/Admin/Elements/EditScrip:85
-msgid "Custom condition"
-msgstr "Malkovich Malkovich"
-
-#: lib/RT/Tickets_Overlay.pm:1693
-#. ($CF->Name , $args{OPERATOR} , $args{VALUE})
-msgid "Custom field %1 %2 %3"
-msgstr "Malkovich %1 %2 %3"
-
-#: lib/RT/Tickets_Overlay.pm:1688
-#. ($CF->Name)
-msgid "Custom field %1 has a value."
-msgstr "Malkovich %1 has a Malkovich."
-
-#: lib/RT/Tickets_Overlay.pm:1685
-#. ($CF->Name)
-msgid "Custom field %1 has no value."
-msgstr "Malkovich %1 has no Malkovich."
-
-#: lib/RT/Ticket_Overlay.pm:3373
-#. ($args{'Field'})
-msgid "Custom field %1 not found"
-msgstr "Malkovich %1 Malkovich"
-
-#: html/Admin/Elements/EditCustomFields:195
-msgid "Custom field deleted"
-msgstr "Malkovich Malkovich"
-
-#: lib/RT/Ticket_Overlay.pm:3523
-msgid "Custom field not found"
-msgstr "Malkovich Malkovich"
-
-#: lib/RT/CustomField_Overlay.pm:355
-#. ($args{'Content'}, $self->Name)
-msgid "Custom field value %1 could not be found for custom field %2"
-msgstr "Malkovich Malkovich %1 Malkovich be Malkovich Malkovich %2"
-
-#: lib/RT/CustomField_Overlay.pm:255
-msgid "Custom field value could not be deleted"
-msgstr "Malkovich Malkovich Malkovich be Malkovich"
-
-#: lib/RT/CustomField_Overlay.pm:361
-msgid "Custom field value could not be found"
-msgstr "Malkovich Malkovich Malkovich be Malkovich"
-
-#: lib/RT/CustomField_Overlay.pm:253 lib/RT/CustomField_Overlay.pm:363
-msgid "Custom field value deleted"
-msgstr "Malkovich Malkovich Malkovich"
-
-#: lib/RT/Transaction_Overlay.pm:541
-msgid "CustomField"
-msgstr "Malkovich"
-
-#: html/SelfService/Display.html:38 html/Ticket/Create.html:160 html/Ticket/Elements/ShowSummary:54 html/Ticket/Elements/Tabs:94 html/Ticket/ModifyAll.html:43
-msgid "Dates"
-msgstr "Malkovich"
-
-#: lib/RT/Date.pm:422
-msgid "Dec."
-msgstr "Dec."
-
-#: etc/initialdata:222
-msgid "Default Autoresponse template"
-msgstr "Malkovich Malkovich Malkovich"
-
-#: etc/initialdata:296
-msgid "Default admin comment template"
-msgstr "Malkovich Malkovich Malkovich"
-
-#: etc/initialdata:287
-msgid "Default correspondence template"
-msgstr "Malkovich Malkovich Malkovich"
-
-#: etc/initialdata:253
-msgid "Default transaction template"
-msgstr "Malkovich Malkovich Malkovich"
-
-#: lib/RT/Transaction_Overlay.pm:519
-#. ($type, $self->Field, $self->OldValue, $self->NewValue)
-msgid "Default: %1/%2 changed from %3 to %4"
-msgstr "Malkovich: %1/%2 Malkovich %3 to %4"
-
-#: html/User/Delegation.html:24 html/User/Delegation.html:27
-msgid "Delegate rights"
-msgstr "Malkovich"
-
-#: lib/RT/System.pm:62
-msgid "Delegate specific rights which have been granted to you."
-msgstr "Malkovich Malkovich Malkovich Malkovich Malkovich to you."
-
-#: lib/RT/System.pm:62
-msgid "DelegateRights"
-msgstr "Malkovich"
-
-#: html/User/Elements/Tabs:37
-msgid "Delegation"
-msgstr "Malkovich"
-
-#: html/Admin/Elements/EditScrips:53 html/Search/Elements/EditFormat:66 html/Search/Elements/EditSearches:15
-msgid "Delete"
-msgstr "Malkovich"
-
-#: html/Admin/Elements/EditScrips:52
-msgid "Delete selected scrips"
-msgstr "Malkovich Malkovich"
-
-#: lib/RT/Queue_Overlay.pm:91
-msgid "Delete tickets"
-msgstr "Malkovich"
-
-#: lib/RT/Queue_Overlay.pm:91
-msgid "DeleteTicket"
-msgstr "Malkovich"
-
-#: lib/RT/Transaction_Overlay.pm:162
-msgid "Deleting this object could break referential integrity"
-msgstr "Malkovich Malkovich Malkovich Malkovich Malkovich"
-
-#: lib/RT/Queue_Overlay.pm:329
-msgid "Deleting this object would break referential integrity"
-msgstr "Malkovich Malkovich Malkovich Malkovich Malkovich"
-
-#: lib/RT/User_Overlay.pm:478
-msgid "Deleting this object would violate referential integrity"
-msgstr "Malkovich Malkovich Malkovich Malkovich Malkovich Malkovich"
-
-#: html/Approvals/Elements/Approve:44
-msgid "Deny"
-msgstr "Deny"
-
-#: html/Elements/EditLinks:113 html/Elements/EditLinks:44 html/Elements/ShowLinks:36 html/Ticket/Create.html:181 html/Ticket/Elements/BulkLinks:34 html/Ticket/Elements/ShowDependencies:31
-msgid "Depended on by"
-msgstr "Malkovich on by"
-
-#: lib/RT/Transaction_Overlay.pm:621
-#. ($value)
-msgid "Dependency by %1 added"
-msgstr "Malkovich by %1 Malkovich"
-
-#: lib/RT/Transaction_Overlay.pm:661
-#. ($value)
-msgid "Dependency by %1 deleted"
-msgstr "Malkovich by %1 Malkovich"
-
-#: lib/RT/Transaction_Overlay.pm:618
-#. ($value)
-msgid "Dependency on %1 added"
-msgstr "Malkovich on %1 Malkovich"
-
-#: lib/RT/Transaction_Overlay.pm:658
-#. ($value)
-msgid "Dependency on %1 deleted"
-msgstr "Malkovich on %1 Malkovich"
-
-#: html/Elements/EditLinks:109 html/Elements/EditLinks:35 html/Elements/SelectLinkType:26 html/Elements/ShowLinks:26 html/Ticket/Create.html:180 html/Ticket/Elements/BulkLinks:30 html/Ticket/Elements/ShowDependencies:24
-msgid "Depends on"
-msgstr "Malkovich on"
-
-#: html/Elements/SelectSortOrder:34 html/Search/Elements/DisplayOptions:57
-msgid "Descending"
-msgstr "Malkovich"
-
-#: html/SelfService/Create.html:72 html/Ticket/Create.html:118
-msgid "Describe the issue below"
-msgstr "Malkovich the Malkovich"
-
-#: html/Admin/Elements/AddCustomFieldValue:35 html/Admin/Elements/EditCustomField:38 html/Admin/Elements/EditScrip:34 html/Admin/Elements/ModifyTemplate:35 html/Admin/Groups/Modify.html:48 html/Admin/Queues/Modify.html:47 html/Elements/SelectGroups:26 html/Search/Elements/EditSearches:8 html/User/Groups/Modify.html:48
-msgid "Description"
-msgstr "Malkovich"
-
-#: html/Ticket/Elements/Tabs:86
-msgid "Display"
-msgstr "Malkovich"
-
-#: lib/RT/Queue_Overlay.pm:70
-msgid "Display Access Control List"
-msgstr "Malkovich Malkovich Malkovich"
-
-#: lib/RT/Queue_Overlay.pm:76
-msgid "Display Scrip templates for this queue"
-msgstr "Malkovich Malkovich Malkovich Malkovich"
-
-#: lib/RT/Queue_Overlay.pm:79
-msgid "Display Scrips for this queue"
-msgstr "Malkovich Malkovich Malkovich"
-
-#: html/Ticket/Elements/ShowHistory:34
-msgid "Display mode"
-msgstr "Malkovich"
-
-#: lib/RT/System.pm:53
-msgid "Do anything and everything"
-msgstr "Do Malkovich and Malkovich"
-
-#: html/Elements/Refresh:29
-msgid "Don't refresh this page."
-msgstr "Don't Malkovich Malkovich."
-
-#: NOT FOUND IN SOURCE
-msgid "Don't show search results"
-msgstr "Don't Malkovich Malkovich"
-
-#: html/Ticket/Elements/ShowTransactionAttachments:60
-msgid "Download"
-msgstr "Malkovich"
-
-#: NOT FOUND IN SOURCE
-msgid "Download all the tickets as a tab delimited file"
-msgstr "Malkovich the Malkovich as a Malkovich Malkovich"
-
-#: html/Elements/SelectDateType:31 html/Ticket/Create.html:166 html/Ticket/Elements/EditDates:44 html/Ticket/Elements/ShowDates:43 lib/RT/Ticket_Overlay.pm:1283
-msgid "Due"
-msgstr "Due"
-
-#: NOT FOUND IN SOURCE
-msgid "ERROR: Couldn't load ticket '%1': %2.\\n"
-msgstr "MALKOVICH: Couldn't Malkovich '%1': %2.\\n"
-
-#: html/Admin/Queues/CustomFields.html:45
-#. ($Queue->Name)
-msgid "Edit Custom Fields for %1"
-msgstr "Malkovich Malkovich %1"
-
-#: html/Search/Bulk.html:141 html/Ticket/ModifyLinks.html:35
-msgid "Edit Links"
-msgstr "Malkovich Malkovich"
-
-#: html/Admin/Queues/Templates.html:41
-#. ($QueueObj->Name)
-msgid "Edit Templates for queue %1"
-msgstr "Malkovich Malkovich %1"
-
-#: html/Admin/Global/index.html:45
-msgid "Edit system templates"
-msgstr "Malkovich Malkovich"
-
-#: html/Admin/Queues/Modify.html:118
-#. ($QueueObj->Name)
-msgid "Editing Configuration for queue %1"
-msgstr "Malkovich Malkovich Malkovich %1"
-
-#: NOT FOUND IN SOURCE
-msgid "Editing Configuration for user %1"
-msgstr "Malkovich Malkovich Malkovich %1"
-
-#: html/Admin/Elements/EditCustomField:90
-#. ($CustomFieldObj->Name())
-msgid "Editing CustomField %1"
-msgstr "Malkovich Malkovich %1"
-
-#: html/Admin/Groups/Members.html:31
-#. ($Group->Name)
-msgid "Editing membership for group %1"
-msgstr "Malkovich Malkovich Malkovich %1"
-
-#: html/User/Groups/Members.html:128
-#. ($Group->Name)
-msgid "Editing membership for personal group %1"
-msgstr "Malkovich Malkovich Malkovich Malkovich %1"
-
-#: lib/RT/Record.pm:1075 lib/RT/Record.pm:1152
-msgid "Either base or target must be specified"
-msgstr "Malkovich or Malkovich be Malkovich"
-
-#: html/Admin/Users/Modify.html:52 html/Elements/SelectUsers:26 html/Ticket/Elements/AddWatchers:55 html/User/Prefs.html:43
-msgid "Email"
-msgstr "Malkovich"
-
-#: lib/RT/User_Overlay.pm:206
-msgid "Email address in use"
-msgstr "Malkovich in use"
-
-#: NOT FOUND IN SOURCE
-msgid "EmailAddress"
-msgstr "Malkovich"
-
-#: NOT FOUND IN SOURCE
-msgid "EmailEncoding"
-msgstr "Malkovich"
-
-#: html/Admin/Elements/EditCustomField:50
-msgid "Enabled (Unchecking this box disables this custom field)"
-msgstr "Malkovich (Malkovich Malkovich Malkovich Malkovich Malkovich)"
-
-#: html/Admin/Groups/Modify.html:52 html/User/Groups/Modify.html:52
-msgid "Enabled (Unchecking this box disables this group)"
-msgstr "Malkovich (Malkovich Malkovich Malkovich Malkovich)"
-
-#: html/Admin/Queues/Modify.html:83
-msgid "Enabled (Unchecking this box disables this queue)"
-msgstr "Malkovich (Malkovich Malkovich Malkovich Malkovich)"
-
-#: html/Admin/Elements/EditCustomFields:97
-msgid "Enabled Custom Fields"
-msgstr "Malkovich Malkovich"
-
-#: html/Admin/Queues/index.html:55
-msgid "Enabled Queues"
-msgstr "Malkovich"
-
-#: html/Admin/Elements/EditCustomField:106 html/Admin/Groups/Modify.html:116 html/Admin/Queues/Modify.html:140 html/Admin/Users/Modify.html:308 html/User/Groups/Modify.html:116
-#. (loc_fuzzy($msg))
-msgid "Enabled status %1"
-msgstr "Malkovich %1"
-
-#: lib/RT/CustomField_Overlay.pm:433
-msgid "Enter multiple values"
-msgstr "Malkovich Malkovich"
-
-#: lib/RT/CustomField_Overlay.pm:430
-msgid "Enter one value"
-msgstr "Malkovich"
-
-#: html/Search/Bulk.html:142
-msgid "Enter tickets or URIs to link tickets to. Seperate multiple entries with spaces."
-msgstr "Malkovich or URIs to Malkovich to. Malkovich Malkovich Malkovich Malkovich."
-
-#: html/Elements/Login:39 html/SelfService/Error.html:24 html/SelfService/Error.html:25
-msgid "Error"
-msgstr "Error"
-
-#: lib/RT/Queue_Overlay.pm:593
-msgid "Error in parameters to Queue->AddWatcher"
-msgstr "Malkovich in Malkovich to Malkovich->Malkovich"
-
-#: NOT FOUND IN SOURCE
-msgid "Error in parameters to Queue->DelWatcher"
-msgstr "Malkovich in Malkovich to Malkovich->Malkovich"
-
-#: lib/RT/Ticket_Overlay.pm:1468
-msgid "Error in parameters to Ticket->AddWatcher"
-msgstr "Malkovich in Malkovich to Malkovich->Malkovich"
-
-#: NOT FOUND IN SOURCE
-msgid "Error in parameters to Ticket->DelWatcher"
-msgstr "Malkovich in Malkovich to Malkovich->Malkovich"
-
-#: etc/initialdata:20
-msgid "Everyone"
-msgstr "Malkovich"
-
-#: bin/rt-crontool:190
-msgid "Example:"
-msgstr "Malkovich:"
-
-#: NOT FOUND IN SOURCE
-msgid "ExternalAuthId"
-msgstr "Malkovich"
-
-#: NOT FOUND IN SOURCE
-msgid "ExternalContactInfoId"
-msgstr "Malkovich Malkovich"
-
-#: html/Admin/Users/Modify.html:72
-msgid "Extra info"
-msgstr "Malkovich"
-
-#: lib/RT/User_Overlay.pm:342
-msgid "Failed to find 'Privileged' users pseudogroup."
-msgstr "Malkovich to find 'Malkovich' Malkovich Malkovich."
-
-#: lib/RT/User_Overlay.pm:349
-msgid "Failed to find 'Unprivileged' users pseudogroup"
-msgstr "Malkovich to find 'Malkovich' Malkovich Malkovich"
-
-#: bin/rt-crontool:134
-#. ($modname, $@)
-msgid "Failed to load module %1. (%2)"
-msgstr "Malkovich to Malkovich %1. (%2)"
-
-#: lib/RT/Date.pm:412
-msgid "Feb."
-msgstr "Feb."
-
-#: html/Search/Elements/PickBasics:60 html/Ticket/Create.html:154 html/Ticket/Elements/EditBasics:57 lib/RT/Tickets_Overlay.pm:1153
-msgid "Final Priority"
-msgstr "Malkovich"
-
-#: lib/RT/Ticket_Overlay.pm:1274
-msgid "FinalPriority"
-msgstr "Malkovich"
-
-#: html/Admin/Queues/People.html:60 html/Ticket/Elements/EditPeople:33
-msgid "Find group whose"
-msgstr "Malkovich Malkovich"
-
-#: html/Admin/Queues/People.html:56 html/Admin/Users/index.html:45 html/Ticket/Elements/EditPeople:29
-msgid "Find people whose"
-msgstr "Malkovich Malkovich"
-
-#: html/Search/Results.html:72
-msgid "Find tickets"
-msgstr "Malkovich"
-
-#: html/Ticket/Elements/Tabs:59
-msgid "First"
-msgstr "Malkovich"
-
-#: docs/design_docs/string-extraction-guide.txt:33 lib/RT/StyleGuide.pod:746
-msgid "Foo Bar Baz"
-msgstr "Malkovich"
-
-#: docs/design_docs/string-extraction-guide.txt:24 lib/RT/StyleGuide.pod:737
-msgid "Foo!"
-msgstr "Foo!"
-
-#: html/Search/Bulk.html:84
-msgid "Force change"
-msgstr "Malkovich"
-
-#: html/Search/Results.html:70
-#. ($ticketcount)
-msgid "Found %quant(%1,ticket)"
-msgstr "Malkovich %quant(%1,Malkovich)"
-
-#: lib/RT/Record.pm:750
-msgid "Found Object"
-msgstr "Malkovich"
-
-#: NOT FOUND IN SOURCE
-msgid "FreeformContactInfo"
-msgstr "Malkovich Malkovich"
-
-#: lib/RT/CustomField_Overlay.pm:37
-msgid "FreeformMultiple"
-msgstr "Malkovich Malkovich"
-
-#: lib/RT/CustomField_Overlay.pm:36
-msgid "FreeformSingle"
-msgstr "Malkovich"
-
-#: lib/RT/Date.pm:392
-msgid "Fri."
-msgstr "Fri."
-
-#: html/Ticket/Elements/ShowHistory:40 html/Ticket/Elements/ShowHistory:50
-msgid "Full headers"
-msgstr "Malkovich"
-
-#: lib/RT/Transaction_Overlay.pm:587
-#. ($New->Name)
-msgid "Given to %1"
-msgstr "Malkovich to %1"
-
-#: html/Admin/Elements/Tabs:40 html/Admin/index.html:37
-msgid "Global"
-msgstr "Malkovich"
-
-#: html/Admin/Elements/SelectTemplate:37
-#. (loc($Template->Name))
-msgid "Global template: %1"
-msgstr "Malkovich: %1"
-
-#: html/Tools/Offline.html:69
-msgid "Go"
-msgstr "Go"
-
-#: html/Admin/Elements/EditCustomFields:73 html/Admin/Groups/index.html:39 html/Admin/Queues/People.html:58 html/Admin/Queues/People.html:62 html/Admin/Queues/index.html:43 html/Admin/Users/index.html:48 html/Ticket/Elements/EditPeople:31 html/Ticket/Elements/EditPeople:35 html/index.html:69
-msgid "Go!"
-msgstr "Go!"
-
-#: html/Elements/GotoTicket:24 html/SelfService/Elements/GotoTicket:24
-msgid "Goto ticket"
-msgstr "Malkovich"
-
-#: html/Ticket/Elements/AddWatchers:45 html/Ticket/Elements/ShowGroupMembers:33 html/User/Elements/DelegateRights:77
-msgid "Group"
-msgstr "Malkovich"
-
-#: html/Admin/Elements/GroupTabs:44 html/Admin/Elements/QueueTabs:56 html/Admin/Elements/SystemTabs:43 html/Admin/Global/index.html:54
-msgid "Group Rights"
-msgstr "Malkovich"
-
-#: lib/RT/Group_Overlay.pm:957
-msgid "Group already has member"
-msgstr "Malkovich Malkovich"
-
-#: html/Admin/Groups/Modify.html:76
-#. ($create_msg)
-msgid "Group could not be created: %1"
-msgstr "Malkovich be Malkovich: %1"
-
-#: lib/RT/Group_Overlay.pm:497
-msgid "Group created"
-msgstr "Malkovich"
-
-#: lib/RT/Group_Overlay.pm:1129
-msgid "Group has no such member"
-msgstr "Malkovich no Malkovich"
-
-#: lib/RT/Group_Overlay.pm:937 lib/RT/Queue_Overlay.pm:669 lib/RT/Queue_Overlay.pm:729 lib/RT/Ticket_Overlay.pm:1522 lib/RT/Ticket_Overlay.pm:1602
-msgid "Group not found"
-msgstr "Malkovich"
-
-#: html/Admin/Elements/SelectNewGroupMembers:34 html/Admin/Elements/Tabs:34 html/Admin/Groups/Members.html:63 html/Admin/Queues/People.html:82 html/Admin/index.html:31 html/User/Groups/Members.html:66
-msgid "Groups"
-msgstr "Malkovich"
-
-#: lib/RT/Group_Overlay.pm:963
-msgid "Groups can't be members of their members"
-msgstr "Malkovich can't be Malkovich of Malkovich"
-
-#: lib/RT/Interface/CLI.pm:72 lib/RT/Interface/CLI.pm:72
-msgid "Hello!"
-msgstr "Malkovich!"
-
-#: docs/design_docs/string-extraction-guide.txt:40 lib/RT/StyleGuide.pod:753
-#. ($name)
-msgid "Hello, %1"
-msgstr "Malkovich, %1"
-
-#: html/Ticket/Elements/ShowHistory:29 html/Ticket/Elements/Tabs:89
-msgid "History"
-msgstr "Malkovich"
-
-#: NOT FOUND IN SOURCE
-msgid "HomePhone"
-msgstr "Malkovich"
-
-#: html/Elements/Tabs:43
-msgid "Homepage"
-msgstr "Malkovich"
-
-#: lib/RT/Base.pm:86
-#. (6)
-msgid "I have %quant(%1,concrete mixer)."
-msgstr "I have %quant(%1,Malkovich)."
-
-#: html/Search/Elements/PickBasics:104 html/Ticket/Elements/ShowBasics:26 lib/RT/Tickets_Overlay.pm:1080
-msgid "Id"
-msgstr "Id"
-
-#: html/Admin/Users/Modify.html:43 html/User/Prefs.html:38
-msgid "Identity"
-msgstr "Malkovich"
-
-#: etc/initialdata:429
-msgid "If an approval is rejected, reject the original and delete pending approvals"
-msgstr "If a Malkovich is Malkovich, Malkovich the Malkovich and Malkovich Malkovich"
-
-#: bin/rt-crontool:186
-msgid "If this tool were setgid, a hostile local user could use this tool to gain administrative access to RT."
-msgstr "If Malkovich Malkovich, a Malkovich Malkovich Malkovich Malkovich to Malkovich Malkovich Malkovich to RT."
-
-#: html/Admin/Queues/People.html:104 html/Ticket/Modify.html:38 html/Ticket/ModifyAll.html:93 html/Ticket/ModifyPeople.html:37
-msgid "If you've updated anything above, be sure to"
-msgstr "If you've Malkovich Malkovich, be sure to"
-
-#: lib/RT/Record.pm:742
-msgid "Illegal value for %1"
-msgstr "Malkovich Malkovich %1"
-
-#: lib/RT/Record.pm:745
-msgid "Immutable field"
-msgstr "Malkovich"
-
-#: html/Admin/Elements/EditCustomFields:72
-msgid "Include disabled custom fields in listing."
-msgstr "Malkovich Malkovich Malkovich in Malkovich."
-
-#: html/Admin/Queues/index.html:42
-msgid "Include disabled queues in listing."
-msgstr "Malkovich Malkovich in Malkovich."
-
-#: html/Admin/Users/index.html:46
-msgid "Include disabled users in search."
-msgstr "Malkovich Malkovich in Malkovich."
-
-#: html/Search/Elements/PickBasics:59 lib/RT/Tickets_Overlay.pm:1129
-msgid "Initial Priority"
-msgstr "Malkovich Malkovich"
-
-#: lib/RT/Ticket_Overlay.pm:1273 lib/RT/Ticket_Overlay.pm:1275
-msgid "InitialPriority"
-msgstr "Malkovich"
-
-#: lib/RT/ScripAction_Overlay.pm:97
-msgid "Input error"
-msgstr "Malkovich"
-
-#: lib/RT/Ticket_Overlay.pm:3797
-msgid "Internal Error"
-msgstr "Malkovich"
-
-#: lib/RT/Record.pm:186
-#. ($id->{error_message})
-msgid "Internal Error: %1"
-msgstr "Malkovich: %1"
-
-#: lib/RT/Group_Overlay.pm:644
-msgid "Invalid Group Type"
-msgstr "Malkovich Malkovich"
-
-#: lib/RT/Principal_Overlay.pm:127
-msgid "Invalid Right"
-msgstr "Malkovich"
-
-#: lib/RT/Record.pm:747
-msgid "Invalid data"
-msgstr "Malkovich"
-
-#: NOT FOUND IN SOURCE
-msgid "Invalid owner. Defaulting to 'nobody'."
-msgstr "Malkovich. Malkovich to 'Malkovich'."
-
-#: lib/RT/Scrip_Overlay.pm:133 lib/RT/Template_Overlay.pm:251
-msgid "Invalid queue"
-msgstr "Malkovich"
-
-#: lib/RT/ACE_Overlay.pm:243 lib/RT/ACE_Overlay.pm:252 lib/RT/ACE_Overlay.pm:258 lib/RT/ACE_Overlay.pm:269 lib/RT/ACE_Overlay.pm:274
-msgid "Invalid right"
-msgstr "Malkovich"
-
-#: lib/RT/Record.pm:161
-#. ($key)
-msgid "Invalid value for %1"
-msgstr "Malkovich Malkovich %1"
-
-#: lib/RT/Ticket_Overlay.pm:3380
-msgid "Invalid value for custom field"
-msgstr "Malkovich Malkovich Malkovich"
-
-#: lib/RT/Ticket_Overlay.pm:385
-msgid "Invalid value for status"
-msgstr "Malkovich Malkovich"
-
-#: bin/rt-crontool:187
-msgid "It is incredibly important that nonprivileged users not be allowed to run this tool."
-msgstr "It is Malkovich Malkovich Malkovich Malkovich Malkovich be Malkovich to Malkovich."
-
-#: bin/rt-crontool:188
-msgid "It is suggested that you create a non-privileged unix user with the correct group membership and RT access to run this tool."
-msgstr "It is Malkovich Malkovich a non-Malkovich Malkovich the Malkovich Malkovich and RT Malkovich to Malkovich."
-
-#: bin/rt-crontool:159
-msgid "It takes several arguments:"
-msgstr "It Malkovich Malkovich:"
-
-#: lib/RT/Date.pm:411
-msgid "Jan."
-msgstr "Jan."
-
-#: lib/RT/Group_Overlay.pm:149
-msgid "Join or leave this group"
-msgstr "Join or Malkovich Malkovich"
-
-#: lib/RT/Date.pm:417
-msgid "Jul."
-msgstr "Jul."
-
-#: html/Ticket/Elements/Tabs:100
-msgid "Jumbo"
-msgstr "Malkovich"
-
-#: lib/RT/Date.pm:416
-msgid "Jun."
-msgstr "Jun."
-
-#: NOT FOUND IN SOURCE
-msgid "Lang"
-msgstr "Lang"
-
-#: html/User/Prefs.html:54
-msgid "Language"
-msgstr "Malkovich"
-
-#: html/Ticket/Elements/Tabs:74
-msgid "Last"
-msgstr "Last"
-
-#: html/Ticket/Elements/EditDates:37 html/Ticket/Elements/ShowDates:39
-msgid "Last Contact"
-msgstr "Malkovich"
-
-#: NOT FOUND IN SOURCE
-msgid "Last Contact</a>"
-msgstr "Malkovich</a>"
-
-#: html/Elements/SelectDateType:28
-msgid "Last Contacted"
-msgstr "Malkovich"
-
-#: NOT FOUND IN SOURCE
-msgid "Last Notified"
-msgstr "Malkovich"
-
-#: html/Elements/SelectDateType:29
-msgid "Last Updated"
-msgstr "Malkovich"
-
-#: html/Admin/Users/Modify.html:82
-msgid "Let this user access RT"
-msgstr "Malkovich Malkovich RT"
-
-#: html/Admin/Users/Modify.html:86
-msgid "Let this user be granted rights"
-msgstr "Malkovich be Malkovich"
-
-#: lib/RT/Record.pm:1086
-msgid "Link already exists"
-msgstr "Malkovich Malkovich"
-
-#: lib/RT/Record.pm:1100
-msgid "Link could not be created"
-msgstr "Malkovich be Malkovich"
-
-#: lib/RT/Record.pm:1106
-#. ($TransString)
-msgid "Link created (%1)"
-msgstr "Malkovich (%1)"
-
-#: lib/RT/Record.pm:1167
-#. ($TransString)
-msgid "Link deleted (%1)"
-msgstr "Malkovich (%1)"
-
-#: lib/RT/Record.pm:1173
-msgid "Link not found"
-msgstr "Malkovich"
-
-#: html/Ticket/ModifyLinks.html:24 html/Ticket/ModifyLinks.html:28
-#. ($Ticket->Id)
-msgid "Link ticket #%1"
-msgstr "Malkovich #%1"
-
-#: html/Ticket/Create.html:174 html/Ticket/Elements/ShowSummary:61 html/Ticket/Elements/Tabs:98 html/Ticket/ModifyAll.html:56
-msgid "Links"
-msgstr "Malkovich"
-
-#: html/Admin/Users/Modify.html:111 html/User/Prefs.html:104
-msgid "Location"
-msgstr "Malkovich"
-
-#: lib/RT.pm:184
-#. ($RT::LogDir)
-msgid "Log directory %1 not found or couldn't be written.\\n RT can't run."
-msgstr "Malkovich %1 Malkovich or couldn't be Malkovich.\\n RT can't run."
-
-#: html/Elements/Header:69
-#. ("<b>".$session{'CurrentUser'}->Name."</b>")
-msgid "Logged in as %1"
-msgstr "Malkovich in as %1"
-
-#: docs/design_docs/string-extraction-guide.txt:71 html/Elements/Login:35 html/Elements/Login:44 html/Elements/Login:54 lib/RT/StyleGuide.pod:777
-msgid "Login"
-msgstr "Malkovich"
-
-#: html/Elements/Header:66
-msgid "Logout"
-msgstr "Malkovich"
-
-#: html/Search/Bulk.html:83
-msgid "Make Owner"
-msgstr "Malkovich"
-
-#: html/Search/Bulk.html:107
-msgid "Make Status"
-msgstr "Malkovich"
-
-#: html/Search/Bulk.html:115
-msgid "Make date Due"
-msgstr "Malkovich"
-
-#: html/Search/Bulk.html:117
-msgid "Make date Resolved"
-msgstr "Malkovich Malkovich"
-
-#: html/Search/Bulk.html:111
-msgid "Make date Started"
-msgstr "Malkovich Malkovich"
-
-#: html/Search/Bulk.html:109
-msgid "Make date Starts"
-msgstr "Malkovich Malkovich"
-
-#: html/Search/Bulk.html:113
-msgid "Make date Told"
-msgstr "Malkovich"
-
-#: html/Search/Bulk.html:103
-msgid "Make priority"
-msgstr "Malkovich"
-
-#: html/Search/Bulk.html:105
-msgid "Make queue"
-msgstr "Malkovich"
-
-#: html/Search/Bulk.html:101
-msgid "Make subject"
-msgstr "Malkovich"
-
-#: html/Admin/index.html:32
-msgid "Manage groups and group membership"
-msgstr "Malkovich and Malkovich Malkovich"
-
-#: html/Admin/index.html:38
-msgid "Manage properties and configuration which apply to all queues"
-msgstr "Malkovich Malkovich and Malkovich Malkovich to Malkovich"
-
-#: html/Admin/index.html:35
-msgid "Manage queues and queue-specific properties"
-msgstr "Malkovich and Malkovich-Malkovich Malkovich"
-
-#: html/Admin/index.html:29
-msgid "Manage users and passwords"
-msgstr "Malkovich and Malkovich"
-
-#: lib/RT/Date.pm:413
-msgid "Mar."
-msgstr "Mar."
-
-#: lib/RT/Date.pm:415
-msgid "May."
-msgstr "May."
-
-#: lib/RT/Transaction_Overlay.pm:634
-#. ($value)
-msgid "Member %1 added"
-msgstr "Malkovich %1 Malkovich"
-
-#: lib/RT/Transaction_Overlay.pm:674
-#. ($value)
-msgid "Member %1 deleted"
-msgstr "Malkovich %1 Malkovich"
-
-#: lib/RT/Group_Overlay.pm:974
-msgid "Member added"
-msgstr "Malkovich"
-
-#: lib/RT/Group_Overlay.pm:1136
-msgid "Member deleted"
-msgstr "Malkovich"
-
-#: lib/RT/Group_Overlay.pm:1140
-msgid "Member not deleted"
-msgstr "Malkovich Malkovich"
-
-#: html/Elements/SelectLinkType:25
-msgid "Member of"
-msgstr "Malkovich of"
-
-#: html/Admin/Elements/GroupTabs:41 html/User/Elements/GroupTabs:41
-msgid "Members"
-msgstr "Malkovich"
-
-#: lib/RT/Transaction_Overlay.pm:631
-#. ($value)
-msgid "Membership in %1 added"
-msgstr "Malkovich in %1 Malkovich"
-
-#: lib/RT/Transaction_Overlay.pm:671
-#. ($value)
-msgid "Membership in %1 deleted"
-msgstr "Malkovich in %1 Malkovich"
-
-#: lib/RT/Ticket_Overlay.pm:2813
-msgid "Merge Successful"
-msgstr "Malkovich Malkovich"
-
-#: lib/RT/Ticket_Overlay.pm:2733
-msgid "Merge failed. Couldn't set EffectiveId"
-msgstr "Malkovich. Couldn't Malkovich"
-
-#: html/Elements/EditLinks:104 html/Ticket/Elements/BulkLinks:26
-msgid "Merge into"
-msgstr "Malkovich"
-
-#: html/Search/Bulk.html:135 html/Ticket/Update.html:83
-msgid "Message"
-msgstr "Malkovich"
-
-#: NOT FOUND IN SOURCE
-msgid "Message body not shown because it is too large or is not plain text."
-msgstr "Malkovich Malkovich Malkovich it is Malkovich or is Malkovich."
-
-#: lib/RT/Ticket_Overlay.pm:2514
-msgid "Message could not be recorded"
-msgstr "Malkovich Malkovich be Malkovich"
-
-#: NOT FOUND IN SOURCE
-msgid "Message recipients"
-msgstr "Malkovich Malkovich"
-
-#: lib/RT/Ticket_Overlay.pm:2517
-msgid "Message recorded"
-msgstr "Malkovich Malkovich"
-
-#: lib/RT/Record.pm:749
-msgid "Missing a primary key?: %1"
-msgstr "Malkovich a Malkovich?: %1"
-
-#: html/Admin/Users/Modify.html:166 html/User/Prefs.html:71
-msgid "Mobile"
-msgstr "Malkovich"
-
-#: NOT FOUND IN SOURCE
-msgid "MobilePhone"
-msgstr "Malkovich"
-
-#: lib/RT/Queue_Overlay.pm:71
-msgid "Modify Access Control List"
-msgstr "Malkovich Malkovich Malkovich"
-
-#: html/Admin/Global/CustomFields.html:43 html/Admin/Global/index.html:50
-msgid "Modify Custom Fields which apply to all queues"
-msgstr "Malkovich Malkovich Malkovich to Malkovich"
-
-#: lib/RT/Queue_Overlay.pm:74
-msgid "Modify Scrip templates for this queue"
-msgstr "Malkovich Malkovich Malkovich Malkovich"
-
-#: lib/RT/Queue_Overlay.pm:77
-msgid "Modify Scrips for this queue"
-msgstr "Malkovich Malkovich Malkovich"
-
-#: html/Admin/Queues/CustomField.html:44
-#. ($QueueObj->Name())
-msgid "Modify a CustomField for queue %1"
-msgstr "Malkovich a Malkovich Malkovich %1"
-
-#: html/Admin/Global/CustomField.html:52
-msgid "Modify a CustomField which applies to all queues"
-msgstr "Malkovich a Malkovich Malkovich to Malkovich"
-
-#: html/Admin/Queues/Scrip.html:53
-#. ($QueueObj->Name)
-msgid "Modify a scrip for queue %1"
-msgstr "Malkovich a Malkovich %1"
-
-#: html/Admin/Global/Scrip.html:47
-msgid "Modify a scrip which applies to all queues"
-msgstr "Malkovich a Malkovich Malkovich to Malkovich"
-
-#: html/Ticket/ModifyDates.html:24 html/Ticket/ModifyDates.html:28
-#. ($TicketObj->Id)
-msgid "Modify dates for #%1"
-msgstr "Malkovich Malkovich #%1"
-
-#: html/Ticket/ModifyDates.html:34
-#. ($TicketObj->Id)
-msgid "Modify dates for ticket # %1"
-msgstr "Malkovich Malkovich # %1"
-
-#: html/Admin/Global/GroupRights.html:24 html/Admin/Global/GroupRights.html:27 html/Admin/Global/index.html:55
-msgid "Modify global group rights"
-msgstr "Malkovich Malkovich Malkovich"
-
-#: html/Admin/Global/GroupRights.html:32
-msgid "Modify global group rights."
-msgstr "Malkovich Malkovich Malkovich."
-
-#: html/Admin/Global/UserRights.html:24 html/Admin/Global/UserRights.html:27 html/Admin/Global/index.html:59
-msgid "Modify global user rights"
-msgstr "Malkovich Malkovich"
-
-#: html/Admin/Global/UserRights.html:32
-msgid "Modify global user rights."
-msgstr "Malkovich Malkovich."
-
-#: lib/RT/Group_Overlay.pm:146
-msgid "Modify group metadata or delete group"
-msgstr "Malkovich Malkovich or Malkovich"
-
-#: html/Admin/Groups/GroupRights.html:24 html/Admin/Groups/GroupRights.html:28 html/Admin/Groups/GroupRights.html:34
-#. ($GroupObj->Name)
-msgid "Modify group rights for group %1"
-msgstr "Malkovich Malkovich Malkovich %1"
-
-#: html/Admin/Queues/GroupRights.html:24 html/Admin/Queues/GroupRights.html:28
-#. ($QueueObj->Name)
-msgid "Modify group rights for queue %1"
-msgstr "Malkovich Malkovich Malkovich %1"
-
-#: lib/RT/Group_Overlay.pm:148
-msgid "Modify membership roster for this group"
-msgstr "Malkovich Malkovich Malkovich Malkovich"
-
-#: lib/RT/System.pm:60
-msgid "Modify one's own RT account"
-msgstr "Malkovich's own RT Malkovich"
-
-#: html/Admin/Queues/People.html:24 html/Admin/Queues/People.html:28
-#. ($QueueObj->Name)
-msgid "Modify people related to queue %1"
-msgstr "Malkovich Malkovich to Malkovich %1"
-
-#: html/Ticket/ModifyPeople.html:24 html/Ticket/ModifyPeople.html:28 html/Ticket/ModifyPeople.html:34
-#. ($Ticket->id)
-#. ($Ticket->Id)
-msgid "Modify people related to ticket #%1"
-msgstr "Malkovich Malkovich to Malkovich #%1"
-
-#: html/Admin/Queues/Scrips.html:45
-#. ($QueueObj->Name)
-msgid "Modify scrips for queue %1"
-msgstr "Malkovich Malkovich %1"
-
-#: html/Admin/Global/Scrips.html:43 html/Admin/Global/index.html:41
-msgid "Modify scrips which apply to all queues"
-msgstr "Malkovich Malkovich to Malkovich"
-
-#: html/Admin/Global/Template.html:24 html/Admin/Global/Template.html:29 html/Admin/Global/Template.html:80 html/Admin/Queues/Template.html:77
-#. (loc($TemplateObj->Name()))
-#. ($TemplateObj->id)
-msgid "Modify template %1"
-msgstr "Malkovich %1"
-
-#: html/Admin/Global/Templates.html:43
-msgid "Modify templates which apply to all queues"
-msgstr "Malkovich Malkovich Malkovich to Malkovich"
-
-#: html/Admin/Groups/Modify.html:86 html/User/Groups/Modify.html:85
-#. ($Group->Name)
-msgid "Modify the group %1"
-msgstr "Malkovich the Malkovich %1"
-
-#: lib/RT/Queue_Overlay.pm:72
-msgid "Modify the queue watchers"
-msgstr "Malkovich the Malkovich"
-
-#: html/Admin/Users/Modify.html:263
-#. ($UserObj->Name)
-msgid "Modify the user %1"
-msgstr "Malkovich the user %1"
-
-#: html/Ticket/ModifyAll.html:36
-#. ($Ticket->Id)
-msgid "Modify ticket # %1"
-msgstr "Malkovich # %1"
-
-#: html/Ticket/Modify.html:24 html/Ticket/Modify.html:27 html/Ticket/Modify.html:33
-#. ($TicketObj->Id)
-msgid "Modify ticket #%1"
-msgstr "Malkovich #%1"
-
-#: lib/RT/Queue_Overlay.pm:90
-msgid "Modify tickets"
-msgstr "Malkovich"
-
-#: html/Admin/Groups/UserRights.html:24 html/Admin/Groups/UserRights.html:28 html/Admin/Groups/UserRights.html:34
-#. ($GroupObj->Name)
-msgid "Modify user rights for group %1"
-msgstr "Malkovich Malkovich Malkovich %1"
-
-#: html/Admin/Queues/UserRights.html:24 html/Admin/Queues/UserRights.html:28
-#. ($QueueObj->Name)
-msgid "Modify user rights for queue %1"
-msgstr "Malkovich Malkovich Malkovich %1"
-
-#: lib/RT/Queue_Overlay.pm:71
-msgid "ModifyACL"
-msgstr "Malkovich"
-
-#: lib/RT/Group_Overlay.pm:149
-msgid "ModifyOwnMembership"
-msgstr "Malkovich Malkovich"
-
-#: lib/RT/Queue_Overlay.pm:72
-msgid "ModifyQueueWatchers"
-msgstr "Malkovich Malkovich"
-
-#: lib/RT/Queue_Overlay.pm:77
-msgid "ModifyScrips"
-msgstr "Malkovich"
-
-#: lib/RT/System.pm:60
-msgid "ModifySelf"
-msgstr "Malkovich"
-
-#: lib/RT/Queue_Overlay.pm:74
-msgid "ModifyTemplate"
-msgstr "Malkovich"
-
-#: lib/RT/Queue_Overlay.pm:90
-msgid "ModifyTicket"
-msgstr "Malkovich"
-
-#: lib/RT/Date.pm:388
-msgid "Mon."
-msgstr "Mon."
-
-#: html/Ticket/Elements/ShowRequestor:40
-#. ($name)
-msgid "More about %1"
-msgstr "Malkovich %1"
-
-#: html/Admin/Elements/EditCustomFields:60
-msgid "Move down"
-msgstr "Malkovich"
-
-#: html/Admin/Elements/SelectSingleOrMultiple:26
-msgid "Multiple"
-msgstr "Malkovich"
-
-#: lib/RT/User_Overlay.pm:197
-msgid "Must specify 'Name' attribute"
-msgstr "Malkovich 'Name' Malkovich"
-
-#: html/SelfService/Elements/MyRequests:48
-#. ($friendly_status)
-msgid "My %1 tickets"
-msgstr "My %1 Malkovich"
-
-#: html/Approvals/index.html:24 html/Approvals/index.html:25
-msgid "My approvals"
-msgstr "My Malkovich"
-
-#: html/Admin/Elements/AddCustomFieldValue:31 html/Admin/Elements/EditCustomField:33 html/Admin/Elements/ModifyTemplate:27 html/Admin/Groups/Modify.html:43 html/Elements/SelectGroups:25 html/Elements/SelectUsers:27 html/User/Groups/Modify.html:43
-msgid "Name"
-msgstr "Name"
-
-#: lib/RT/User_Overlay.pm:204
-msgid "Name in use"
-msgstr "Name in use"
-
-#: html/Ticket/Elements/ShowDates:52
-msgid "Never"
-msgstr "Malkovich"
-
-#: html/Elements/Quicksearch:29
-msgid "New"
-msgstr "New"
-
-#: html/Elements/EditLinks:93
-msgid "New Links"
-msgstr "Malkovich Malkovich"
-
-#: html/Admin/Users/Modify.html:92 html/User/Prefs.html:87
-msgid "New Password"
-msgstr "Malkovich"
-
-#: etc/initialdata:332
-msgid "New Pending Approval"
-msgstr "Malkovich Malkovich"
-
-#: NOT FOUND IN SOURCE
-msgid "New Search"
-msgstr "Malkovich"
-
-#: html/Admin/Global/CustomField.html:40 html/Admin/Global/CustomFields.html:38 html/Admin/Queues/CustomField.html:51 html/Admin/Queues/CustomFields.html:40
-msgid "New custom field"
-msgstr "Malkovich Malkovich"
-
-#: html/Admin/Elements/GroupTabs:53 html/User/Elements/GroupTabs:51
-msgid "New group"
-msgstr "Malkovich"
-
-#: html/SelfService/Prefs.html:31
-msgid "New password"
-msgstr "Malkovich"
-
-#: lib/RT/User_Overlay.pm:773
-msgid "New password notification sent"
-msgstr "Malkovich Malkovich Malkovich"
-
-#: html/Admin/Elements/QueueTabs:69
-msgid "New queue"
-msgstr "Malkovich"
-
-#: html/Admin/Elements/SelectRights:41
-msgid "New rights"
-msgstr "Malkovich"
-
-#: html/Admin/Global/Scrip.html:39 html/Admin/Global/Scrips.html:38 html/Admin/Queues/Scrip.html:42 html/Admin/Queues/Scrips.html:54
-msgid "New scrip"
-msgstr "Malkovich"
-
-#: html/Admin/Global/Template.html:59 html/Admin/Global/Templates.html:38 html/Admin/Queues/Template.html:57 html/Admin/Queues/Templates.html:49
-msgid "New template"
-msgstr "Malkovich"
-
-#: html/SelfService/Elements/Tabs:47
-msgid "New ticket"
-msgstr "Malkovich"
-
-#: lib/RT/Ticket_Overlay.pm:2700
-msgid "New ticket doesn't exist"
-msgstr "Malkovich doesn't Malkovich"
-
-#: html/Admin/Elements/UserTabs:50
-msgid "New user"
-msgstr "Malkovich"
-
-#: html/Admin/Elements/CreateUserCalled:25
-msgid "New user called"
-msgstr "Malkovich"
-
-#: html/Admin/Queues/People.html:54 html/Ticket/Elements/EditPeople:28
-msgid "New watchers"
-msgstr "Malkovich"
-
-#: NOT FOUND IN SOURCE
-msgid "New window setting"
-msgstr "Malkovich Malkovich"
-
-#: html/Ticket/Elements/Tabs:70
-msgid "Next"
-msgstr "Next"
-
-#: NOT FOUND IN SOURCE
-msgid "NickName"
-msgstr "Malkovich"
-
-#: html/Admin/Users/Modify.html:62 html/User/Prefs.html:50
-msgid "Nickname"
-msgstr "Malkovich"
-
-#: html/Admin/Elements/EditCustomField:89 html/Admin/Elements/EditCustomFields:103
-msgid "No CustomField"
-msgstr "No Malkovich"
-
-#: html/Admin/Groups/GroupRights.html:83 html/Admin/Groups/UserRights.html:70
-msgid "No Group defined"
-msgstr "No Malkovich"
-
-#: lib/RT/Tickets_Overlay_SQL.pm:452
-msgid "No Query"
-msgstr "No Malkovich"
-
-#: html/Admin/Queues/GroupRights.html:96 html/Admin/Queues/UserRights.html:67
-msgid "No Queue defined"
-msgstr "No Malkovich"
-
-#: bin/rt-crontool:52
-msgid "No RT user found. Please consult your RT administrator.\\n"
-msgstr "No RT Malkovich. Malkovich Malkovich RT Malkovich.\\n"
-
-#: html/Admin/Global/Template.html:78 html/Admin/Queues/Template.html:75
-msgid "No Template"
-msgstr "No Malkovich"
-
-#: NOT FOUND IN SOURCE
-msgid "No Ticket specified. Aborting ticket "
-msgstr "No Malkovich Malkovich. Malkovich "
-
-#: html/Approvals/Elements/Approve:45
-msgid "No action"
-msgstr "No Malkovich"
-
-#: lib/RT/Record.pm:744
-msgid "No column specified"
-msgstr "No Malkovich Malkovich"
-
-#: html/Ticket/Elements/ShowRequestor:46
-msgid "No comment entered about this user"
-msgstr "No Malkovich Malkovich Malkovich"
-
-#: lib/RT/Action/Generic.pm:159 lib/RT/Condition/Generic.pm:175 lib/RT/Search/ActiveTicketsInQueue.pm:55 lib/RT/Search/Generic.pm:112
-#. (ref $self)
-msgid "No description for %1"
-msgstr "No Malkovich %1"
-
-#: lib/RT/Users_Overlay.pm:159
-msgid "No group specified"
-msgstr "No Malkovich"
-
-#: lib/RT/Ticket_Overlay.pm:2475
-msgid "No message attached"
-msgstr "No Malkovich Malkovich"
-
-#: lib/RT/User_Overlay.pm:991
-msgid "No password set"
-msgstr "No Malkovich"
-
-#: lib/RT/Queue_Overlay.pm:296
-msgid "No permission to create queues"
-msgstr "No Malkovich to Malkovich"
-
-#: NOT FOUND IN SOURCE
-msgid "No permission to create tickets in the queue '%1'"
-msgstr "No Malkovich to Malkovich in the Malkovich '%1'"
-
-#: lib/RT/User_Overlay.pm:157
-msgid "No permission to create users"
-msgstr "No Malkovich to Malkovich"
-
-#: html/SelfService/Display.html:125
-msgid "No permission to display that ticket"
-msgstr "No Malkovich to Malkovich Malkovich"
-
-#: html/SelfService/Update.html:68
-msgid "No permission to view update ticket"
-msgstr "No Malkovich to Malkovich Malkovich"
-
-#: lib/RT/Queue_Overlay.pm:716 lib/RT/Ticket_Overlay.pm:1581
-msgid "No principal specified"
-msgstr "No Malkovich Malkovich"
-
-#: html/Admin/Queues/People.html:153 html/Admin/Queues/People.html:163
-msgid "No principals selected."
-msgstr "No Malkovich Malkovich."
-
-#: html/Admin/Queues/index.html:34
-msgid "No queues matching search criteria found."
-msgstr "No Malkovich Malkovich Malkovich Malkovich."
-
-#: html/Admin/Elements/SelectRights:81
-msgid "No rights found"
-msgstr "No Malkovich"
-
-#: html/Admin/Elements/SelectRights:32
-msgid "No rights granted."
-msgstr "No Malkovich."
-
-#: html/Search/Bulk.html:162
-msgid "No search to operate on."
-msgstr "No Malkovich to Malkovich on."
-
-#: lib/RT/Transaction_Overlay.pm:455 lib/RT/Transaction_Overlay.pm:493
-msgid "No transaction type specified"
-msgstr "No Malkovich Malkovich Malkovich"
-
-#: html/Admin/Users/index.html:35
-msgid "No users matching search criteria found."
-msgstr "No Malkovich Malkovich Malkovich Malkovich."
-
-#: NOT FOUND IN SOURCE
-msgid "No valid RT user found. RT cvs handler disengaged. Please consult your RT administrator.\\n"
-msgstr "No Malkovich RT Malkovich. RT Malkovich Malkovich. Malkovich Malkovich RT Malkovich.\\n"
-
-#: lib/RT/Record.pm:741
-msgid "No value sent to _Set!\\n"
-msgstr "No Malkovich to _Set!\\n"
-
-#: lib/RT/Record.pm:746
-msgid "Nonexistant field?"
-msgstr "Malkovich Malkovich?"
-
-#: html/Elements/Header:71
-msgid "Not logged in."
-msgstr "Malkovich in."
-
-#: lib/RT/Date.pm:369
-msgid "Not set"
-msgstr "Malkovich"
-
-#: html/NoAuth/Reminder.html:26
-msgid "Not yet implemented."
-msgstr "Malkovich Malkovich."
-
-#: html/Approvals/Elements/Approve:48
-msgid "Notes"
-msgstr "Malkovich"
-
-#: lib/RT/User_Overlay.pm:776
-msgid "Notification could not be sent"
-msgstr "Malkovich Malkovich be sent"
-
-#: etc/initialdata:101
-msgid "Notify AdminCcs"
-msgstr "Malkovich"
-
-#: etc/initialdata:97
-msgid "Notify AdminCcs as Comment"
-msgstr "Malkovich as Malkovich"
-
-#: etc/initialdata:128
-msgid "Notify Other Recipients"
-msgstr "Malkovich Malkovich"
-
-#: etc/initialdata:124
-msgid "Notify Other Recipients as Comment"
-msgstr "Malkovich Malkovich as Malkovich"
-
-#: etc/initialdata:85
-msgid "Notify Owner"
-msgstr "Malkovich"
-
-#: etc/initialdata:81
-msgid "Notify Owner as Comment"
-msgstr "Malkovich as Malkovich"
-
-#: etc/initialdata:376
-msgid "Notify Owner of their rejected ticket"
-msgstr "Malkovich of Malkovich Malkovich"
-
-#: etc/initialdata:365
-msgid "Notify Owner of their ticket has been approved by all approvers"
-msgstr "Malkovich of Malkovich Malkovich Malkovich by Malkovich"
-
-#: etc/initialdata:353
-msgid "Notify Owner of their ticket has been approved by some approver"
-msgstr "Malkovich of Malkovich Malkovich Malkovich by Malkovich"
-
-#: etc/initialdata:334
-msgid "Notify Owners and AdminCcs of new items pending their approval"
-msgstr "Malkovich and Malkovich of Malkovich Malkovich Malkovich"
-
-#: etc/initialdata:77
-msgid "Notify Requestors"
-msgstr "Malkovich Malkovich"
-
-#: etc/initialdata:111
-msgid "Notify Requestors and Ccs"
-msgstr "Malkovich Malkovich and Ccs"
-
-#: etc/initialdata:106
-msgid "Notify Requestors and Ccs as Comment"
-msgstr "Malkovich Malkovich and Ccs as Malkovich"
-
-#: etc/initialdata:120
-msgid "Notify Requestors, Ccs and AdminCcs"
-msgstr "Malkovich Malkovich, Ccs and Malkovich"
-
-#: etc/initialdata:116
-msgid "Notify Requestors, Ccs and AdminCcs as Comment"
-msgstr "Malkovich Malkovich, Ccs and Malkovich as Malkovich"
-
-#: lib/RT/Date.pm:421
-msgid "Nov."
-msgstr "Nov."
-
-#: lib/RT/Record.pm:200
-msgid "Object could not be created"
-msgstr "Malkovich Malkovich be Malkovich"
-
-#: lib/RT/Record.pm:219
-msgid "Object created"
-msgstr "Malkovich"
-
-#: lib/RT/Date.pm:420
-msgid "Oct."
-msgstr "Oct."
-
-#: html/Elements/SelectDateRelation:34
-msgid "On"
-msgstr "On"
-
-#: etc/initialdata:163
-msgid "On Comment"
-msgstr "On Malkovich"
-
-#: etc/initialdata:156
-msgid "On Correspond"
-msgstr "On Malkovich"
-
-#: etc/initialdata:145
-msgid "On Create"
-msgstr "On Malkovich"
-
-#: etc/initialdata:184
-msgid "On Owner Change"
-msgstr "On Malkovich"
-
-#: etc/initialdata:192
-msgid "On Queue Change"
-msgstr "On Malkovich"
-
-#: etc/initialdata:198
-msgid "On Resolve"
-msgstr "On Malkovich"
-
-#: etc/initialdata:169
-msgid "On Status Change"
-msgstr "On Malkovich"
-
-#: etc/initialdata:150
-msgid "On Transaction"
-msgstr "On Malkovich"
-
-#: html/Approvals/Elements/PendingMyApproval:49
-#. ("<input size='15' value='".( $created_after->Unix >0 && $created_after->ISO)."' name='CreatedAfter'>")
-msgid "Only show approvals for requests created after %1"
-msgstr "Malkovich Malkovich Malkovich Malkovich Malkovich %1"
-
-#: html/Approvals/Elements/PendingMyApproval:47
-#. ("<input size='15' value='".($created_before->Unix > 0 &&$created_before->ISO)."' name='CreatedBefore'>")
-msgid "Only show approvals for requests created before %1"
-msgstr "Malkovich Malkovich Malkovich Malkovich Malkovich %1"
-
-#: html/Elements/Quicksearch:30
-msgid "Open"
-msgstr "Open"
-
-#: html/Ticket/Elements/Tabs:137
-msgid "Open it"
-msgstr "Open it"
-
-#: html/SelfService/Elements/Tabs:41
-msgid "Open tickets"
-msgstr "Malkovich"
-
-#: NOT FOUND IN SOURCE
-msgid "Open tickets (from listing) in a new window"
-msgstr "Malkovich (Malkovich) in a Malkovich"
-
-#: NOT FOUND IN SOURCE
-msgid "Open tickets (from listing) in another window"
-msgstr "Malkovich (Malkovich) in Malkovich"
-
-#: etc/initialdata:140
-msgid "Open tickets on correspondence"
-msgstr "Malkovich on Malkovich"
-
-#: NOT FOUND IN SOURCE
-msgid "Ordering and sorting"
-msgstr "Malkovich and Malkovich"
-
-#: html/Admin/Users/Modify.html:114 html/Elements/SelectUsers:28 html/User/Prefs.html:107
-msgid "Organization"
-msgstr "Malkovich"
-
-#: html/Approvals/Elements/Approve:32
-#. ($approving->Id, $approving->Subject)
-msgid "Originating ticket: #%1"
-msgstr "Malkovich Malkovich: #%1"
-
-#: html/Admin/Queues/Modify.html:68
-msgid "Over time, priority moves toward"
-msgstr "Malkovich, Malkovich Malkovich"
-
-#: lib/RT/Queue_Overlay.pm:89
-msgid "Own tickets"
-msgstr "Malkovich"
-
-#: lib/RT/Queue_Overlay.pm:89
-msgid "OwnTicket"
-msgstr "Malkovich"
-
-#: etc/initialdata:38 html/Elements/QuickCreate:13 html/Search/Elements/PickBasics:114 html/SelfService/Elements/MyRequests:29 html/Ticket/Create.html:47 html/Ticket/Elements/EditPeople:42 html/Ticket/Elements/EditPeople:43 html/Ticket/Elements/ShowPeople:26 html/Ticket/Update.html:40 lib/RT/ACE_Overlay.pm:85 lib/RT/Tickets_Overlay.pm:1306
-msgid "Owner"
-msgstr "Malkovich"
-
-#: lib/RT/Transaction_Overlay.pm:575
-#. ($Old->Name , $New->Name)
-msgid "Owner forcibly changed from %1 to %2"
-msgstr "Malkovich Malkovich Malkovich %1 to %2"
-
-#: NOT FOUND IN SOURCE
-msgid "Owner is"
-msgstr "Malkovich is"
-
-#: html/Admin/Users/Modify.html:171 html/User/Prefs.html:75
-msgid "Pager"
-msgstr "Malkovich"
-
-#: NOT FOUND IN SOURCE
-msgid "PagerPhone"
-msgstr "Malkovich"
-
-#: html/Elements/EditLinks:117 html/Elements/EditLinks:54 html/Elements/ShowLinks:46 html/Ticket/Create.html:182 html/Ticket/Elements/BulkLinks:38
-msgid "Parents"
-msgstr "Malkovich"
-
-#: html/Elements/Login:52 html/User/Prefs.html:83
-msgid "Password"
-msgstr "Malkovich"
-
-#: html/NoAuth/Reminder.html:24
-msgid "Password Reminder"
-msgstr "Malkovich Malkovich"
-
-#: lib/RT/User_Overlay.pm:185 lib/RT/User_Overlay.pm:994
-msgid "Password too short"
-msgstr "Malkovich Malkovich"
-
-#: html/Admin/Users/Modify.html:316 html/User/Prefs.html:209
-#. (loc_fuzzy($msg))
-msgid "Password: %1"
-msgstr "Malkovich: %1"
-
-#: html/Admin/Users/Modify.html:318
-msgid "Passwords do not match."
-msgstr "Malkovich do Malkovich."
-
-#: html/User/Prefs.html:211
-msgid "Passwords do not match. Your password has not been changed"
-msgstr "Malkovich do Malkovich. Malkovich Malkovich Malkovich"
-
-#: html/Ticket/Elements/ShowSummary:44 html/Ticket/Elements/Tabs:97 html/Ticket/ModifyAll.html:50
-msgid "People"
-msgstr "Malkovich"
-
-#: etc/initialdata:133
-msgid "Perform a user-defined action"
-msgstr "Malkovich a user-Malkovich"
-
-#: lib/RT/ACE_Overlay.pm:230 lib/RT/ACE_Overlay.pm:236 lib/RT/ACE_Overlay.pm:562 lib/RT/ACE_Overlay.pm:572 lib/RT/ACE_Overlay.pm:582 lib/RT/ACE_Overlay.pm:647 lib/RT/Attribute_Overlay.pm:135 lib/RT/Attribute_Overlay.pm:141 lib/RT/Attribute_Overlay.pm:379 lib/RT/Attribute_Overlay.pm:388 lib/RT/Attribute_Overlay.pm:401 lib/RT/CurrentUser.pm:103 lib/RT/CurrentUser.pm:94 lib/RT/CustomField_Overlay.pm:100 lib/RT/CustomField_Overlay.pm:207 lib/RT/CustomField_Overlay.pm:239 lib/RT/CustomField_Overlay.pm:517 lib/RT/CustomField_Overlay.pm:90 lib/RT/Group_Overlay.pm:1091 lib/RT/Group_Overlay.pm:1095 lib/RT/Group_Overlay.pm:1104 lib/RT/Group_Overlay.pm:1155 lib/RT/Group_Overlay.pm:1159 lib/RT/Group_Overlay.pm:1165 lib/RT/Group_Overlay.pm:426 lib/RT/Group_Overlay.pm:518 lib/RT/Group_Overlay.pm:596 lib/RT/Group_Overlay.pm:604 lib/RT/Group_Overlay.pm:701 lib/RT/Group_Overlay.pm:705 lib/RT/Group_Overlay.pm:711 lib/RT/Group_Overlay.pm:896 lib/RT/Group_Overlay.pm:900 lib/RT/Group_Overlay.pm:913 lib/RT/Queue_Overlay.pm:117 lib/RT/Queue_Overlay.pm:135 lib/RT/Queue_Overlay.pm:578 lib/RT/Queue_Overlay.pm:588 lib/RT/Queue_Overlay.pm:602 lib/RT/Queue_Overlay.pm:740 lib/RT/Queue_Overlay.pm:749 lib/RT/Queue_Overlay.pm:762 lib/RT/Queue_Overlay.pm:975 lib/RT/Scrip_Overlay.pm:125 lib/RT/Scrip_Overlay.pm:136 lib/RT/Scrip_Overlay.pm:201 lib/RT/Scrip_Overlay.pm:473 lib/RT/Template_Overlay.pm:284 lib/RT/Template_Overlay.pm:87 lib/RT/Template_Overlay.pm:93 lib/RT/Ticket_Overlay.pm:1453 lib/RT/Ticket_Overlay.pm:1463 lib/RT/Ticket_Overlay.pm:1477 lib/RT/Ticket_Overlay.pm:1614 lib/RT/Ticket_Overlay.pm:1624 lib/RT/Ticket_Overlay.pm:1638 lib/RT/Ticket_Overlay.pm:1755 lib/RT/Ticket_Overlay.pm:2075 lib/RT/Ticket_Overlay.pm:2213 lib/RT/Ticket_Overlay.pm:2381 lib/RT/Ticket_Overlay.pm:2428 lib/RT/Ticket_Overlay.pm:2582 lib/RT/Ticket_Overlay.pm:2640 lib/RT/Ticket_Overlay.pm:2691 lib/RT/Ticket_Overlay.pm:2706 lib/RT/Ticket_Overlay.pm:2905 lib/RT/Ticket_Overlay.pm:2915 lib/RT/Ticket_Overlay.pm:2920 lib/RT/Ticket_Overlay.pm:3143 lib/RT/Ticket_Overlay.pm:3147 lib/RT/Ticket_Overlay.pm:3350 lib/RT/Ticket_Overlay.pm:3512 lib/RT/Ticket_Overlay.pm:3564 lib/RT/Ticket_Overlay.pm:3791 lib/RT/Transaction_Overlay.pm:443 lib/RT/Transaction_Overlay.pm:450 lib/RT/Transaction_Overlay.pm:479 lib/RT/Transaction_Overlay.pm:486 lib/RT/User_Overlay.pm:1088 lib/RT/User_Overlay.pm:1536 lib/RT/User_Overlay.pm:335 lib/RT/User_Overlay.pm:696 lib/RT/User_Overlay.pm:731 lib/RT/User_Overlay.pm:987
-msgid "Permission Denied"
-msgstr "Malkovich Malkovich"
-
-#: html/User/Elements/Tabs:34
-msgid "Personal Groups"
-msgstr "Malkovich"
-
-#: html/User/Groups/index.html:29 html/User/Groups/index.html:39
-msgid "Personal groups"
-msgstr "Malkovich"
-
-#: html/User/Elements/DelegateRights:36
-msgid "Personal groups:"
-msgstr "Malkovich:"
-
-#: html/Admin/Users/Modify.html:153 html/User/Prefs.html:60
-msgid "Phone numbers"
-msgstr "Malkovich"
-
-#: html/Elements/Header:63 html/Elements/Tabs:55 html/SelfService/Elements/Tabs:50 html/SelfService/Prefs.html:24 html/User/Prefs.html:24 html/User/Prefs.html:27
-msgid "Preferences"
-msgstr "Malkovich"
-
-#: lib/RT/Action/Generic.pm:169
-msgid "Prepare Stubbed"
-msgstr "Malkovich"
-
-#: html/Ticket/Elements/Tabs:62
-msgid "Prev"
-msgstr "Prev"
-
-#: lib/RT/ACE_Overlay.pm:132 lib/RT/ACE_Overlay.pm:207 lib/RT/ACE_Overlay.pm:551
-#. ($args{'PrincipalId'})
-msgid "Principal %1 not found."
-msgstr "Malkovich %1 Malkovich."
-
-#: html/Search/Elements/PickBasics:58 html/Ticket/Create.html:153 html/Ticket/Elements/EditBasics:52 html/Ticket/Elements/ShowBasics:50 lib/RT/Tickets_Overlay.pm:1104
-msgid "Priority"
-msgstr "Malkovich"
-
-#: html/Admin/Queues/Modify.html:64
-msgid "Priority starts at"
-msgstr "Malkovich at"
-
-#: etc/initialdata:25
-msgid "Privileged"
-msgstr "Malkovich"
-
-#: html/Admin/Users/Modify.html:296 html/User/Prefs.html:200
-#. (loc_fuzzy($msg))
-msgid "Privileged status: %1"
-msgstr "Malkovich Malkovich: %1"
-
-#: html/Admin/Users/index.html:61
-msgid "Privileged users"
-msgstr "Malkovich Malkovich"
-
-#: NOT FOUND IN SOURCE
-msgid "Projects"
-msgstr "Malkovich"
-
-#: etc/initialdata:23 etc/initialdata:29 etc/initialdata:35 etc/initialdata:59
-msgid "Pseudogroup for internal use"
-msgstr "Malkovich Malkovich Malkovich"
-
-#: html/Elements/QuickCreate:10 html/Elements/Quicksearch:28 html/Search/Elements/PickBasics:94 html/SelfService/Create.html:32 html/Ticket/Create.html:37 html/Ticket/Elements/EditBasics:35 html/Ticket/Elements/ShowBasics:54 html/User/Elements/DelegateRights:79 lib/RT/Tickets_Overlay.pm:945
-msgid "Queue"
-msgstr "Malkovich"
-
-#: html/Admin/Queues/CustomField.html:41 html/Admin/Queues/Scrip.html:49 html/Admin/Queues/Scrips.html:47 html/Admin/Queues/Templates.html:43
-#. ($Queue)
-#. ($id)
-msgid "Queue %1 not found"
-msgstr "Malkovich %1 Malkovich"
-
-#: html/Admin/Queues/Modify.html:42
-msgid "Queue Name"
-msgstr "Malkovich"
-
-#: lib/RT/Queue_Overlay.pm:300
-msgid "Queue already exists"
-msgstr "Malkovich Malkovich"
-
-#: lib/RT/Queue_Overlay.pm:309 lib/RT/Queue_Overlay.pm:315
-msgid "Queue could not be created"
-msgstr "Malkovich not be Malkovich"
-
-#: html/Ticket/Create.html:208
-msgid "Queue could not be loaded."
-msgstr "Malkovich be Malkovich."
-
-#: docs/design_docs/string-extraction-guide.txt:83 lib/RT/Queue_Overlay.pm:319 lib/RT/StyleGuide.pod:789
-msgid "Queue created"
-msgstr "Malkovich"
-
-#: html/SelfService/Display.html:72 lib/RT/CustomField_Overlay.pm:97
-msgid "Queue not found"
-msgstr "Malkovich"
-
-#: html/Admin/Elements/Tabs:37 html/Admin/index.html:34
-msgid "Queues"
-msgstr "Malkovich"
-
-#: html/Elements/Quicksearch:24
-msgid "Quick search"
-msgstr "Malkovich"
-
-#: html/Elements/Login:44
-#. ($RT::VERSION)
-msgid "RT %1"
-msgstr "RT %1"
-
-#: docs/design_docs/string-extraction-guide.txt:70 lib/RT/StyleGuide.pod:776
-#. ($RT::VERSION, $RT::rtname)
-msgid "RT %1 for %2"
-msgstr "RT %1 for %2"
-
-#: NOT FOUND IN SOURCE
-msgid "RT %1 from <a href=\"http://bestpractical.com\">Best Practical Solutions, LLC</a>."
-msgstr "RT %1 from <a href=\"http://Malkovich.com\">Malkovich Malkovich, LLC</a>."
-
-#: html/Admin/index.html:24 html/Admin/index.html:25
-msgid "RT Administration"
-msgstr "RT Malkovich"
-
-#: html/Elements/Error:41 html/SelfService/Error.html:40
-msgid "RT Error"
-msgstr "RT Malkovich"
-
-#: html/index.html:50 html/index.html:53
-msgid "RT at a glance"
-msgstr "RT at a Malkovich"
-
-#: html/Elements/PageLayout:85
-#. ($RT::rtname)
-msgid "RT for %1"
-msgstr "RT for %1"
-
-#: NOT FOUND IN SOURCE
-msgid "RT is &copy; Copyright 1996-%1 Jesse Vincent <jesse@bestpractical.com>. It is distributed under <a href=\"http://www.gnu.org/copyleft/gpl.html\">Version 2 of the GNU General Public License.</a>"
-msgstr "RT is &copy; Malkovich 1996-%1 Malkovich <Malkovich@Malkovich.com>. It is Malkovich Malkovich <a href=\"http://www.gnu.org/copyleft/gpl.html\">Malkovich 2 of the Malkovich Malkovich Malkovich.</a>"
-
-#: html/Admin/Users/Modify.html:57 html/User/Prefs.html:47
-msgid "Real Name"
-msgstr "Malkovich"
-
-#: NOT FOUND IN SOURCE
-msgid "RealName"
-msgstr "Malkovich"
-
-#: lib/RT/Transaction_Overlay.pm:628
-#. ($value)
-msgid "Reference by %1 added"
-msgstr "Malkovich by %1 Malkovich"
-
-#: lib/RT/Transaction_Overlay.pm:668
-#. ($value)
-msgid "Reference by %1 deleted"
-msgstr "Malkovich by %1 Malkovich"
-
-#: lib/RT/Transaction_Overlay.pm:625
-#. ($value)
-msgid "Reference to %1 added"
-msgstr "Malkovich to %1 Malkovich"
-
-#: lib/RT/Transaction_Overlay.pm:665
-#. ($value)
-msgid "Reference to %1 deleted"
-msgstr "Malkovich to %1 Malkovich"
-
-#: html/Elements/EditLinks:129 html/Elements/EditLinks:81 html/Elements/ShowLinks:70 html/Ticket/Create.html:185 html/Ticket/Elements/BulkLinks:50
-msgid "Referred to by"
-msgstr "Malkovich to by"
-
-#: html/Elements/EditLinks:125 html/Elements/EditLinks:72 html/Elements/SelectLinkType:27 html/Elements/ShowLinks:60 html/Ticket/Create.html:184 html/Ticket/Elements/BulkLinks:46
-msgid "Refers to"
-msgstr "Malkovich to"
-
-#: NOT FOUND IN SOURCE
-msgid "Refine search"
-msgstr "Malkovich"
-
-#: html/Elements/Refresh:35
-#. ($value/60)
-msgid "Refresh this page every %1 minutes."
-msgstr "Malkovich Malkovich %1 Malkovich."
-
-#: html/Search/Bulk.html:95
-msgid "Remove AdminCc"
-msgstr "Malkovich"
-
-#: html/Search/Bulk.html:91
-msgid "Remove Cc"
-msgstr "Malkovich Cc"
-
-#: html/Search/Bulk.html:87
-msgid "Remove Requestor"
-msgstr "Malkovich Malkovich"
-
-#: html/Ticket/Elements/ShowTransaction:142 html/Ticket/Elements/Tabs:123
-msgid "Reply"
-msgstr "Malkovich"
-
-#: lib/RT/Queue_Overlay.pm:87
-msgid "Reply to tickets"
-msgstr "Malkovich to Malkovich"
-
-#: lib/RT/Queue_Overlay.pm:87
-msgid "ReplyToTicket"
-msgstr "Malkovich"
-
-#: etc/initialdata:44 lib/RT/ACE_Overlay.pm:86
-msgid "Requestor"
-msgstr "Malkovich"
-
-#: NOT FOUND IN SOURCE
-msgid "Requestor email address"
-msgstr "Malkovich Malkovich"
-
-#: html/SelfService/Create.html:40 html/Ticket/Create.html:55 html/Ticket/Elements/EditPeople:47 html/Ticket/Elements/ShowPeople:30
-msgid "Requestors"
-msgstr "Malkovich"
-
-#: html/Admin/Queues/Modify.html:74
-msgid "Requests should be due in"
-msgstr "Malkovich be due in"
-
-#: html/Elements/Submit:61
-msgid "Reset"
-msgstr "Malkovich"
-
-#: html/Admin/Users/Modify.html:156 html/User/Prefs.html:63
-msgid "Residence"
-msgstr "Malkovich"
-
-#: html/Ticket/Elements/Tabs:133
-msgid "Resolve"
-msgstr "Malkovich"
-
-#: html/Ticket/Update.html:119
-#. ($TicketObj->id, $TicketObj->Subject)
-msgid "Resolve ticket #%1 (%2)"
-msgstr "Malkovich #%1 (%2)"
-
-#: etc/initialdata:323 html/Elements/SelectDateType:27 lib/RT/Ticket_Overlay.pm:1282
-msgid "Resolved"
-msgstr "Malkovich"
-
-#: NOT FOUND IN SOURCE
-msgid "Response to requestors"
-msgstr "Malkovich to Malkovich"
-
-#: html/Elements/ListActions:25 html/Search/Elements/NewListActions:25
-msgid "Results"
-msgstr "Malkovich"
-
-#: NOT FOUND IN SOURCE
-msgid "Results per page"
-msgstr "Malkovich Malkovich"
-
-#: html/Admin/Users/Modify.html:99 html/User/Prefs.html:94
-msgid "Retype Password"
-msgstr "Malkovich"
-
-#: lib/RT/ACE_Overlay.pm:612
-msgid "Right Delegated"
-msgstr "Malkovich"
-
-#: lib/RT/ACE_Overlay.pm:302
-msgid "Right Granted"
-msgstr "Malkovich"
-
-#: lib/RT/ACE_Overlay.pm:160
-msgid "Right Loaded"
-msgstr "Malkovich"
-
-#: lib/RT/ACE_Overlay.pm:677 lib/RT/ACE_Overlay.pm:692
-msgid "Right could not be revoked"
-msgstr "Malkovich be Malkovich"
-
-#: html/User/Delegation.html:63
-msgid "Right not found"
-msgstr "Malkovich"
-
-#: lib/RT/ACE_Overlay.pm:542 lib/RT/ACE_Overlay.pm:637
-msgid "Right not loaded."
-msgstr "Malkovich Malkovich."
-
-#: lib/RT/ACE_Overlay.pm:688
-msgid "Right revoked"
-msgstr "Malkovich"
-
-#: NOT FOUND IN SOURCE
-msgid "Rights"
-msgstr "Malkovich"
-
-#: lib/RT/Interface/Web.pm:869
-#. ($object_type)
-msgid "Rights could not be granted for %1"
-msgstr "Malkovich Malkovich be Malkovich %1"
-
-#: lib/RT/Interface/Web.pm:899
-#. ($object_type)
-msgid "Rights could not be revoked for %1"
-msgstr "Malkovich Malkovich be Malkovich %1"
-
-#: html/Admin/Global/GroupRights.html:50 html/Admin/Queues/GroupRights.html:52
-msgid "Roles"
-msgstr "Malkovich"
-
-#: lib/RT/Date.pm:393
-msgid "Sat."
-msgstr "Sat."
-
-#: html/Admin/Global/Template.html:45 html/Admin/Queues/Modify.html:89 html/Admin/Queues/People.html:104 html/Admin/Users/Modify.html:198 html/SelfService/Prefs.html:36 html/Ticket/Modify.html:38 html/Ticket/ModifyAll.html:93 html/Ticket/ModifyDates.html:38 html/Ticket/ModifyLinks.html:38 html/Ticket/ModifyPeople.html:37
-msgid "Save Changes"
-msgstr "Malkovich"
-
-#: html/Ticket/Elements/PreviewScrips:79
-msgid "Save changes"
-msgstr "Malkovich"
-
-#: html/Admin/Global/Scrip.html:48 html/Admin/Queues/Scrip.html:54
-#. ($id)
-#. ($ARGS{'id'})
-msgid "Scrip #%1"
-msgstr "Malkovich #%1"
-
-#: lib/RT/Scrip_Overlay.pm:180
-msgid "Scrip Created"
-msgstr "Malkovich"
-
-#: html/Admin/Elements/EditScrips:85
-msgid "Scrip deleted"
-msgstr "Malkovich"
-
-#: html/Admin/Elements/QueueTabs:45 html/Admin/Elements/SystemTabs:32 html/Admin/Global/index.html:40
-msgid "Scrips"
-msgstr "Malkovich"
-
-#: html/Admin/Queues/Scrips.html:33
-msgid "Scrips which apply to all queues"
-msgstr "Malkovich Malkovich to Malkovich"
-
-#: html/Elements/SimpleSearch:26 html/Search/Elements/DisplayOptions:73
-msgid "Search"
-msgstr "Malkovich"
-
-#: html/Approvals/Elements/PendingMyApproval:38
-msgid "Search for approvals"
-msgstr "Malkovich Malkovich"
-
-#: bin/rt-crontool:184
-msgid "Security:"
-msgstr "Malkovich:"
-
-#: lib/RT/Queue_Overlay.pm:68
-msgid "SeeQueue"
-msgstr "Malkovich"
-
-#: html/Admin/Groups/index.html:50
-msgid "Select a group"
-msgstr "Malkovich a Malkovich"
-
-#: html/Admin/Users/index.html:24 html/Admin/Users/index.html:27
-msgid "Select a user"
-msgstr "Malkovich a user"
-
-#: html/Admin/Global/CustomField.html:37 html/Admin/Global/CustomFields.html:35
-msgid "Select custom field"
-msgstr "Malkovich Malkovich"
-
-#: html/Admin/Elements/GroupTabs:51 html/User/Elements/GroupTabs:49
-msgid "Select group"
-msgstr "Malkovich"
-
-#: lib/RT/CustomField_Overlay.pm:427
-msgid "Select multiple values"
-msgstr "Malkovich Malkovich"
-
-#: lib/RT/CustomField_Overlay.pm:424
-msgid "Select one value"
-msgstr "Malkovich Malkovich"
-
-#: html/Admin/Elements/QueueTabs:66
-msgid "Select queue"
-msgstr "Malkovich"
-
-#: html/Admin/Global/Scrip.html:36 html/Admin/Global/Scrips.html:35 html/Admin/Queues/Scrip.html:39 html/Admin/Queues/Scrips.html:51
-msgid "Select scrip"
-msgstr "Malkovich"
-
-#: html/Admin/Global/Template.html:56 html/Admin/Global/Templates.html:35 html/Admin/Queues/Template.html:54 html/Admin/Queues/Templates.html:46
-msgid "Select template"
-msgstr "Malkovich"
-
-#: html/Admin/Elements/UserTabs:46
-msgid "Select user"
-msgstr "Malkovich"
-
-#: lib/RT/CustomField_Overlay.pm:35
-msgid "SelectMultiple"
-msgstr "Malkovich"
-
-#: lib/RT/CustomField_Overlay.pm:34
-msgid "SelectSingle"
-msgstr "Malkovich"
-
-#: etc/initialdata:121
-msgid "Send mail to all watchers"
-msgstr "Malkovich to Malkovich"
-
-#: etc/initialdata:117
-msgid "Send mail to all watchers as a \"comment\""
-msgstr "Malkovich to Malkovich as a \"Malkovich\""
-
-#: etc/initialdata:112
-msgid "Send mail to requestors and Ccs"
-msgstr "Malkovich to Malkovich and Ccs"
-
-#: etc/initialdata:107
-msgid "Send mail to requestors and Ccs as a comment"
-msgstr "Malkovich to Malkovich and Ccs as a Malkovich"
-
-#: etc/initialdata:78
-msgid "Sends a message to the requestors"
-msgstr "Malkovich a Malkovich to the Malkovich"
-
-#: etc/initialdata:125 etc/initialdata:129
-msgid "Sends mail to explicitly listed Ccs and Bccs"
-msgstr "Malkovich to Malkovich Malkovich and Bccs"
-
-#: etc/initialdata:102
-msgid "Sends mail to the administrative Ccs"
-msgstr "Malkovich to the Malkovich Malkovich"
-
-#: etc/initialdata:98
-msgid "Sends mail to the administrative Ccs as a comment"
-msgstr "Malkovich to the Malkovich Malkovich as a Malkovich"
-
-#: etc/initialdata:82 etc/initialdata:86
-msgid "Sends mail to the owner"
-msgstr "Malkovich to the Malkovich"
-
-#: lib/RT/Date.pm:419
-msgid "Sep."
-msgstr "Sep."
-
-#: html/Approvals/Elements/PendingMyApproval:43
-msgid "Show approved requests"
-msgstr "Malkovich Malkovich"
-
-#: html/Ticket/Create.html:143 html/Ticket/Create.html:33
-msgid "Show basics"
-msgstr "Malkovich"
-
-#: html/Approvals/Elements/PendingMyApproval:44
-msgid "Show denied requests"
-msgstr "Malkovich Malkovich"
-
-#: html/Ticket/Create.html:143 html/Ticket/Create.html:33
-msgid "Show details"
-msgstr "Malkovich"
-
-#: html/Approvals/Elements/PendingMyApproval:42
-msgid "Show pending requests"
-msgstr "Malkovich Malkovich"
-
-#: html/Approvals/Elements/PendingMyApproval:45
-msgid "Show requests awaiting other approvals"
-msgstr "Malkovich Malkovich Malkovich Malkovich"
-
-#: NOT FOUND IN SOURCE
-msgid "Show ticket private commentary"
-msgstr "Malkovich Malkovich Malkovich"
-
-#: NOT FOUND IN SOURCE
-msgid "Show ticket summaries"
-msgstr "Malkovich Malkovich"
-
-#: lib/RT/Queue_Overlay.pm:70
-msgid "ShowACL"
-msgstr "Malkovich"
-
-#: lib/RT/Queue_Overlay.pm:79
-msgid "ShowScrips"
-msgstr "Malkovich"
-
-#: lib/RT/Queue_Overlay.pm:76
-msgid "ShowTemplate"
-msgstr "Malkovich"
-
-#: lib/RT/Queue_Overlay.pm:80
-msgid "ShowTicket"
-msgstr "Malkovich"
-
-#: lib/RT/Queue_Overlay.pm:81
-msgid "ShowTicketComments"
-msgstr "Malkovich Malkovich"
-
-#: lib/RT/Queue_Overlay.pm:84
-msgid "Sign up as a ticket Requestor or ticket or queue Cc"
-msgstr "Sign up as a Malkovich Malkovich or Malkovich or Malkovich Cc"
-
-#: lib/RT/Queue_Overlay.pm:85
-msgid "Sign up as a ticket or queue AdminCc"
-msgstr "Sign up as a Malkovich or Malkovich"
-
-#: html/Admin/Users/Modify.html:188 html/User/Prefs.html:145
-msgid "Signature"
-msgstr "Malkovich"
-
-#: html/Admin/Elements/SelectSingleOrMultiple:25
-msgid "Single"
-msgstr "Malkovich"
-
-#: html/Elements/Header:62
-msgid "Skip Menu"
-msgstr "Malkovich"
-
-#: html/Admin/Elements/AddCustomFieldValue:27
-msgid "Sort"
-msgstr "Sort"
-
-#: NOT FOUND IN SOURCE
-msgid "Sort results by"
-msgstr "Malkovich by"
-
-#: NOT FOUND IN SOURCE
-msgid "Squelched message recipients"
-msgstr "Malkovich Malkovich Malkovich"
-
-#: html/Admin/Elements/EditScrip:65
-msgid "Stage"
-msgstr "Malkovich"
-
-#: html/Elements/SelectDateType:26 html/Ticket/Elements/EditDates:31 html/Ticket/Elements/ShowDates:35
-msgid "Started"
-msgstr "Malkovich"
-
-#: html/Elements/SelectDateType:30 html/Ticket/Create.html:165 html/Ticket/Elements/EditDates:26 html/Ticket/Elements/ShowDates:31
-msgid "Starts"
-msgstr "Malkovich"
-
-#: html/Admin/Users/Modify.html:135 html/User/Prefs.html:123
-msgid "State"
-msgstr "Malkovich"
-
-#: html/Search/Elements/PickBasics:77 html/SelfService/Elements/MyRequests:28 html/SelfService/Update.html:30 html/Ticket/Create.html:41 html/Ticket/Elements/EditBasics:31 html/Ticket/Elements/ShowBasics:30 html/Ticket/Update.html:37 lib/RT/Ticket_Overlay.pm:1276 lib/RT/Tickets_Overlay.pm:970
-msgid "Status"
-msgstr "Malkovich"
-
-#: etc/initialdata:309
-msgid "Status Change"
-msgstr "Malkovich"
-
-#: lib/RT/Transaction_Overlay.pm:505
-#. ($self->loc($self->OldValue), $self->loc($self->NewValue))
-msgid "Status changed from %1 to %2"
-msgstr "Malkovich Malkovich %1 to %2"
-
-#: html/Ticket/Elements/Tabs:148
-msgid "Steal"
-msgstr "Malkovich"
-
-#: lib/RT/Queue_Overlay.pm:94
-msgid "Steal tickets"
-msgstr "Malkovich"
-
-#: lib/RT/Queue_Overlay.pm:94
-msgid "StealTicket"
-msgstr "Malkovich"
-
-#: lib/RT/Transaction_Overlay.pm:581
-#. ($Old->Name)
-msgid "Stolen from %1 "
-msgstr "Malkovich %1 "
-
-#: html/Elements/QuickCreate:7 html/Elements/SelectAttachmentField:25 html/Search/Bulk.html:133 html/SelfService/Create.html:56 html/SelfService/Elements/MyRequests:27 html/SelfService/Update.html:31 html/Ticket/Create.html:83 html/Ticket/Elements/EditBasics:26 html/Ticket/ModifyAll.html:78 html/Ticket/Update.html:58 lib/RT/Ticket_Overlay.pm:1272 lib/RT/Tickets_Overlay.pm:1049
-msgid "Subject"
-msgstr "Malkovich"
-
-#: docs/design_docs/string-extraction-guide.txt:89 lib/RT/StyleGuide.pod:795 lib/RT/Transaction_Overlay.pm:603
-#. ($self->Data)
-msgid "Subject changed to %1"
-msgstr "Malkovich to %1"
-
-#: html/Elements/Submit:58
-msgid "Submit"
-msgstr "Malkovich"
-
-#: lib/RT/Group_Overlay.pm:749
-msgid "Succeeded"
-msgstr "Malkovich"
-
-#: lib/RT/Date.pm:394
-msgid "Sun."
-msgstr "Sun."
-
-#: lib/RT/System.pm:53
-msgid "SuperUser"
-msgstr "Malkovich"
-
-#: html/User/Elements/DelegateRights:76
-msgid "System"
-msgstr "Malkovich"
-
-#: html/Admin/Elements/SelectRights:81 lib/RT/ACE_Overlay.pm:566 lib/RT/Interface/Web.pm:868 lib/RT/Interface/Web.pm:898
-msgid "System Error"
-msgstr "Malkovich"
-
-#: lib/RT/ACE_Overlay.pm:615
-msgid "System error. Right not delegated."
-msgstr "Malkovich. Malkovich Malkovich."
-
-#: lib/RT/ACE_Overlay.pm:145 lib/RT/ACE_Overlay.pm:222 lib/RT/ACE_Overlay.pm:305 lib/RT/ACE_Overlay.pm:897
-msgid "System error. Right not granted."
-msgstr "Malkovich. Malkovich Malkovich."
-
-#: html/Admin/Global/GroupRights.html:34 html/Admin/Groups/GroupRights.html:36 html/Admin/Queues/GroupRights.html:35
-msgid "System groups"
-msgstr "Malkovich"
-
-#: etc/initialdata:41 etc/initialdata:47 etc/initialdata:53
-msgid "SystemRolegroup for internal use"
-msgstr "Malkovich Malkovich Malkovich"
-
-#: lib/RT/CurrentUser.pm:334
-msgid "TEST_STRING"
-msgstr "TEST_MALKOVICH"
-
-#: html/Elements/MyRequests:27 html/Ticket/Elements/Tabs:144
-msgid "Take"
-msgstr "Take"
-
-#: lib/RT/Queue_Overlay.pm:92
-msgid "Take tickets"
-msgstr "Malkovich"
-
-#: lib/RT/Queue_Overlay.pm:92
-msgid "TakeTicket"
-msgstr "Malkovich"
-
-#: lib/RT/Transaction_Overlay.pm:566
-msgid "Taken"
-msgstr "Malkovich"
-
-#: html/Admin/Elements/EditScrip:57 html/Tools/Offline.html:56
-msgid "Template"
-msgstr "Malkovich"
-
-#: html/Admin/Global/Template.html:90 html/Admin/Queues/Template.html:89
-#. ($TemplateObj->Id())
-msgid "Template #%1"
-msgstr "Malkovich #%1"
-
-#: html/Admin/Elements/EditTemplates:88
-msgid "Template deleted"
-msgstr "Malkovich Malkovich"
-
-#: lib/RT/Scrip_Overlay.pm:156
-msgid "Template not found"
-msgstr "Malkovich Malkovich"
-
-#: lib/RT/Template_Overlay.pm:348
-msgid "Template parsed"
-msgstr "Malkovich"
-
-#: html/Admin/Elements/QueueTabs:48 html/Admin/Elements/SystemTabs:35 html/Admin/Global/index.html:44
-msgid "Templates"
-msgstr "Malkovich"
-
-#: lib/RT/Record.pm:740
-msgid "That is already the current value"
-msgstr "That is Malkovich the Malkovich"
-
-#: lib/RT/CustomField_Overlay.pm:248
-msgid "That is not a value for this custom field"
-msgstr "That is not a Malkovich Malkovich Malkovich"
-
-#: lib/RT/Ticket_Overlay.pm:2086
-msgid "That is the same value"
-msgstr "That is the Malkovich"
-
-#: lib/RT/ACE_Overlay.pm:287 lib/RT/ACE_Overlay.pm:596
-msgid "That principal already has that right"
-msgstr "Malkovich Malkovich Malkovich Malkovich"
-
-#: lib/RT/Queue_Overlay.pm:674
-#. ($args{'Type'})
-msgid "That principal is already a %1 for this queue"
-msgstr "Malkovich is Malkovich a %1 Malkovich"
-
-#: lib/RT/Ticket_Overlay.pm:1527
-#. ($self->loc($args{'Type'}))
-msgid "That principal is already a %1 for this ticket"
-msgstr "Malkovich is Malkovich a %1 Malkovich"
-
-#: lib/RT/Queue_Overlay.pm:773
-#. ($args{'Type'})
-msgid "That principal is not a %1 for this queue"
-msgstr "That Malkovich is not a %1 Malkovich"
-
-#: lib/RT/Ticket_Overlay.pm:2082
-msgid "That queue does not exist"
-msgstr "Malkovich Malkovich"
-
-#: lib/RT/Ticket_Overlay.pm:3152
-msgid "That ticket has unresolved dependencies"
-msgstr "Malkovich Malkovich Malkovich Malkovich"
-
-#: lib/RT/Ticket_Overlay.pm:2956
-msgid "That user already owns that ticket"
-msgstr "Malkovich Malkovich Malkovich"
-
-#: lib/RT/Ticket_Overlay.pm:2928
-msgid "That user does not exist"
-msgstr "Malkovich Malkovich"
-
-#: lib/RT/User_Overlay.pm:355
-msgid "That user is already privileged"
-msgstr "Malkovich is Malkovich Malkovich"
-
-#: lib/RT/User_Overlay.pm:376
-msgid "That user is already unprivileged"
-msgstr "Malkovich is Malkovich Malkovich"
-
-#: lib/RT/User_Overlay.pm:368
-msgid "That user is now privileged"
-msgstr "Malkovich is Malkovich"
-
-#: lib/RT/User_Overlay.pm:389
-msgid "That user is now unprivileged"
-msgstr "Malkovich is Malkovich Malkovich"
-
-#: lib/RT/Ticket_Overlay.pm:2949
-msgid "That user may not own tickets in that queue"
-msgstr "Malkovich Malkovich Malkovich in Malkovich"
-
-#: lib/RT/Link_Overlay.pm:200
-msgid "That's not a numerical id"
-msgstr "That's not a Malkovich id"
-
-#: html/SelfService/Display.html:31 html/Ticket/Create.html:149 html/Ticket/Elements/ShowSummary:27
-msgid "The Basics"
-msgstr "The Malkovich"
-
-#: lib/RT/ACE_Overlay.pm:87
-msgid "The CC of a ticket"
-msgstr "The CC of a Malkovich"
-
-#: lib/RT/ACE_Overlay.pm:88
-msgid "The administrative CC of a ticket"
-msgstr "The Malkovich CC of a Malkovich"
-
-#: bin/rt-crontool:194
-msgid "The following command will find all active tickets in the queue 'general' and set their priority to 99 if they haven't been touched in 4 hours:"
-msgstr "The Malkovich Malkovich Malkovich Malkovich Malkovich in the Malkovich 'Malkovich' and Malkovich Malkovich to 99 if they haven't Malkovich in 4 Malkovich:"
-
-#: NOT FOUND IN SOURCE
-msgid "The following commands were not proccessed:\\n\\n"
-msgstr "The Malkovich Malkovich Malkovich Malkovich:\\n\\n"
-
-#: lib/RT/Record.pm:743
-msgid "The new value has been set."
-msgstr "The Malkovich Malkovich."
-
-#: lib/RT/ACE_Overlay.pm:85
-msgid "The owner of a ticket"
-msgstr "The Malkovich of a Malkovich"
-
-#: lib/RT/ACE_Overlay.pm:86
-msgid "The requestor of a ticket"
-msgstr "The Malkovich of a Malkovich"
-
-#: html/Admin/Elements/EditUserComments:25
-msgid "These comments aren't generally visible to the user"
-msgstr "Malkovich aren't Malkovich Malkovich to the user"
-
-#: bin/rt-crontool:185
-msgid "This tool allows the user to run arbitrary perl modules from within RT."
-msgstr "Malkovich Malkovich the user to Malkovich Malkovich Malkovich Malkovich RT."
-
-#: lib/RT/Transaction_Overlay.pm:226
-msgid "This transaction appears to have no content"
-msgstr "Malkovich Malkovich to have no Malkovich"
-
-#: html/Ticket/Elements/ShowRequestor:48
-#. ($rows)
-msgid "This user's %1 highest priority tickets"
-msgstr "Malkovich's %1 Malkovich Malkovich"
-
-#: lib/RT/Date.pm:391
-msgid "Thu."
-msgstr "Thu."
-
-#: html/Ticket/ModifyAll.html:24 html/Ticket/ModifyAll.html:28
-#. ($Ticket->Id, $Ticket->Subject)
-msgid "Ticket #%1 Jumbo update: %2"
-msgstr "Malkovich #%1 Malkovich: %2"
-
-#: html/Approvals/Elements/ShowDependency:45
-#. ($link->BaseObj->Id, $link->BaseObj->Subject)
-msgid "Ticket #%1: %2"
-msgstr "Malkovich #%1: %2"
-
-#: lib/RT/Ticket_Overlay.pm:696 lib/RT/Ticket_Overlay.pm:720
-#. ($self->Id, $QueueObj->Name)
-msgid "Ticket %1 created in queue '%2'"
-msgstr "Malkovich %1 Malkovich in Malkovich '%2'"
-
-#: NOT FOUND IN SOURCE
-msgid "Ticket %1 loaded\\n"
-msgstr "Malkovich %1 Malkovich\\n"
-
-#: html/Search/Bulk.html:216
-#. ($Ticket->Id,$_)
-msgid "Ticket %1: %2"
-msgstr "Malkovich %1: %2"
-
-#: html/Ticket/History.html:24 html/Ticket/History.html:27
-#. ($Ticket->Id, $Ticket->Subject)
-msgid "Ticket History # %1 %2"
-msgstr "Malkovich # %1 %2"
-
-#: etc/initialdata:324
-msgid "Ticket Resolved"
-msgstr "Malkovich"
-
-#: NOT FOUND IN SOURCE
-msgid "Ticket attachment"
-msgstr "Malkovich Malkovich"
-
-#: lib/RT/Tickets_Overlay.pm:1228
-msgid "Ticket content"
-msgstr "Malkovich"
-
-#: lib/RT/Tickets_Overlay.pm:1274
-msgid "Ticket content type"
-msgstr "Malkovich Malkovich"
-
-#: lib/RT/Ticket_Overlay.pm:565 lib/RT/Ticket_Overlay.pm:579 lib/RT/Ticket_Overlay.pm:590 lib/RT/Ticket_Overlay.pm:707
-msgid "Ticket could not be created due to an internal error"
-msgstr "Malkovich Malkovich be Malkovich to a Malkovich"
-
-#: lib/RT/Transaction_Overlay.pm:497
-msgid "Ticket created"
-msgstr "Malkovich"
-
-#: lib/RT/Transaction_Overlay.pm:502
-msgid "Ticket deleted"
-msgstr "Malkovich"
-
-#: etc/initialdata:310
-msgid "Ticket status changed"
-msgstr "Malkovich Malkovich"
-
-#: html/Elements/Tabs:46
-msgid "Tickets"
-msgstr "Malkovich"
-
-#: lib/RT/Tickets_Overlay.pm:1452
-#. ($self->loc($args{'TYPE'}), ($args{'BASE'} || $args{'TICKET'}))
-msgid "Tickets %1 %2"
-msgstr "Malkovich %1 %2"
-
-#: lib/RT/Tickets_Overlay.pm:1410
-#. ($self->loc($args{'TYPE'}), ($args{'TARGET'} || $args{'TICKET'}))
-msgid "Tickets %1 by %2"
-msgstr "Malkovich %1 by %2"
-
-#: NOT FOUND IN SOURCE
-msgid "Tickets from %1"
-msgstr "Malkovich %1"
-
-#: html/Approvals/Elements/ShowDependency:26
-msgid "Tickets which depend on this approval:"
-msgstr "Malkovich Malkovich on Malkovich:"
-
-#: html/Search/Elements/PickBasics:70 html/Ticket/Create.html:156 html/Ticket/Elements/EditBasics:47
-msgid "Time Left"
-msgstr "Malkovich"
-
-#: html/Search/Elements/PickBasics:68 html/Ticket/Create.html:155 html/Ticket/Elements/EditBasics:43
-msgid "Time Worked"
-msgstr "Malkovich"
-
-#: lib/RT/Tickets_Overlay.pm:1201
-msgid "Time left"
-msgstr "Malkovich"
-
-#: html/Elements/Footer:44
-msgid "Time to display"
-msgstr "Time to Malkovich"
-
-#: lib/RT/Tickets_Overlay.pm:1177
-msgid "Time worked"
-msgstr "Malkovich"
-
-#: lib/RT/Ticket_Overlay.pm:1277
-msgid "TimeWorked"
-msgstr "Malkovich"
-
-#: NOT FOUND IN SOURCE
-msgid "To generate a diff of this commit:"
-msgstr "To Malkovich a diff of Malkovich:"
-
-#: NOT FOUND IN SOURCE
-msgid "To generate a diff of this commit:\\n"
-msgstr "To Malkovich a diff of Malkovich:\\n"
-
-#: lib/RT/Ticket_Overlay.pm:1280
-msgid "Told"
-msgstr "Told"
-
-#: etc/initialdata:252
-msgid "Transaction"
-msgstr "Malkovich"
-
-#: lib/RT/Transaction_Overlay.pm:705
-#. ($self->Data)
-msgid "Transaction %1 purged"
-msgstr "Malkovich %1 Malkovich"
-
-#: lib/RT/Transaction_Overlay.pm:136
-msgid "Transaction Created"
-msgstr "Malkovich Malkovich"
-
-#: lib/RT/Transaction_Overlay.pm:92
-msgid "Transaction->Create couldn't, as you didn't specify a ticket id"
-msgstr "Malkovich->Malkovich couldn't, as you didn't Malkovich a Malkovich id"
-
-#: lib/RT/Transaction_Overlay.pm:760
-msgid "Transactions are immutable"
-msgstr "Malkovich Malkovich Malkovich"
-
-#: lib/RT/Date.pm:389
-msgid "Tue."
-msgstr "Tue."
-
-#: html/Admin/Elements/EditCustomField:43 html/Ticket/Elements/AddWatchers:32 html/Ticket/Elements/AddWatchers:43 html/Ticket/Elements/AddWatchers:53 lib/RT/Ticket_Overlay.pm:1278 lib/RT/Tickets_Overlay.pm:1021
-msgid "Type"
-msgstr "Type"
-
-#: lib/RT/ScripCondition_Overlay.pm:103
-msgid "Unimplemented"
-msgstr "Malkovich"
-
-#: html/Admin/Users/Modify.html:67
-msgid "Unix login"
-msgstr "Malkovich"
-
-#: NOT FOUND IN SOURCE
-msgid "UnixUsername"
-msgstr "Malkovich"
-
-#: lib/RT/Attachment_Overlay.pm:233 lib/RT/Attachment_Overlay.pm:265
-#. ($self->ContentEncoding)
-msgid "Unknown ContentEncoding %1"
-msgstr "Malkovich Malkovich %1"
-
-#: html/Elements/SelectResultsPerPage:36
-msgid "Unlimited"
-msgstr "Malkovich"
-
-#: etc/initialdata:32
-msgid "Unprivileged"
-msgstr "Malkovich"
-
-#: lib/RT/Transaction_Overlay.pm:562
-msgid "Untaken"
-msgstr "Malkovich"
-
-#: html/Search/Bulk.html:32
-msgid "Update"
-msgstr "Malkovich"
-
-#: NOT FOUND IN SOURCE
-msgid "Update ID"
-msgstr "Malkovich ID"
-
-#: html/Search/Bulk.html:127 html/Ticket/ModifyAll.html:65 html/Ticket/Update.html:48
-msgid "Update Type"
-msgstr "Malkovich"
-
-#: NOT FOUND IN SOURCE
-msgid "Update all these tickets at once"
-msgstr "Malkovich Malkovich at once"
-
-#: NOT FOUND IN SOURCE
-msgid "Update email"
-msgstr "Malkovich"
-
-#: NOT FOUND IN SOURCE
-msgid "Update name"
-msgstr "Malkovich"
-
-#: lib/RT/Action/CreateTickets.pm:655 lib/RT/Interface/Web.pm:479
-msgid "Update not recorded."
-msgstr "Malkovich Malkovich."
-
-#: html/Search/Bulk.html:78
-msgid "Update selected tickets"
-msgstr "Malkovich Malkovich"
-
-#: NOT FOUND IN SOURCE
-msgid "Update signature"
-msgstr "Malkovich Malkovich"
-
-#: html/Ticket/ModifyAll.html:62
-msgid "Update ticket"
-msgstr "Malkovich"
-
-#: html/SelfService/Update.html:24 html/SelfService/Update.html:63
-#. ($Ticket->id)
-msgid "Update ticket #%1"
-msgstr "Malkovich #%1"
-
-#: html/Ticket/Update.html:121
-#. ($TicketObj->id, $TicketObj->Subject)
-msgid "Update ticket #%1 (%2)"
-msgstr "Malkovich #%1 (%2)"
-
-#: lib/RT/Action/CreateTickets.pm:653 lib/RT/Interface/Web.pm:477
-msgid "Update type was neither correspondence nor comment."
-msgstr "Malkovich Malkovich Malkovich Malkovich Malkovich."
-
-#: html/Elements/SelectDateType:32 html/Ticket/Elements/ShowDates:51 lib/RT/Ticket_Overlay.pm:1281
-msgid "Updated"
-msgstr "Malkovich"
-
-#: etc/initialdata:132 etc/initialdata:206
-msgid "User Defined"
-msgstr "Malkovich"
-
-#: NOT FOUND IN SOURCE
-msgid "User ID"
-msgstr "User ID"
-
-#: html/Elements/SelectUsers:25
-msgid "User Id"
-msgstr "User Id"
-
-#: html/Admin/Elements/GroupTabs:46 html/Admin/Elements/QueueTabs:59 html/Admin/Elements/SystemTabs:46 html/Admin/Global/index.html:58
-msgid "User Rights"
-msgstr "Malkovich"
-
-#: html/Admin/Users/Modify.html:252
-#. ($msg)
-msgid "User could not be created: %1"
-msgstr "Malkovich be Malkovich: %1"
-
-#: lib/RT/User_Overlay.pm:296
-msgid "User created"
-msgstr "Malkovich"
-
-#: html/Admin/Global/GroupRights.html:66 html/Admin/Groups/GroupRights.html:53 html/Admin/Queues/GroupRights.html:68
-msgid "User defined groups"
-msgstr "Malkovich Malkovich"
-
-#: lib/RT/User_Overlay.pm:558 lib/RT/User_Overlay.pm:575
-msgid "User loaded"
-msgstr "Malkovich"
-
-#: NOT FOUND IN SOURCE
-msgid "User view"
-msgstr "Malkovich"
-
-#: html/Admin/Users/Modify.html:47 html/Elements/Login:51 html/Ticket/Elements/AddWatchers:34
-msgid "Username"
-msgstr "Malkovich"
-
-#: html/Admin/Elements/SelectNewGroupMembers:25 html/Admin/Elements/Tabs:31 html/Admin/Groups/Members.html:54 html/Admin/Queues/People.html:67 html/Admin/index.html:28 html/User/Groups/Members.html:57
-msgid "Users"
-msgstr "Malkovich"
-
-#: html/Admin/Users/index.html:64
-msgid "Users matching search criteria"
-msgstr "Malkovich Malkovich Malkovich"
-
-#: lib/RT/Tickets_Overlay_SQL.pm:494
-msgid "Valid Query"
-msgstr "Malkovich"
-
-#: html/Admin/Elements/EditCustomField:56
-msgid "Values"
-msgstr "Malkovich"
-
-#: lib/RT/Queue_Overlay.pm:84
-msgid "Watch"
-msgstr "Malkovich"
-
-#: lib/RT/Queue_Overlay.pm:85
-msgid "WatchAsAdminCc"
-msgstr "Malkovich"
-
-#: html/Admin/Elements/QueueTabs:41
-msgid "Watchers"
-msgstr "Malkovich"
-
-#: NOT FOUND IN SOURCE
-msgid "WebEncoding"
-msgstr "Malkovich"
-
-#: lib/RT/Date.pm:390
-msgid "Wed."
-msgstr "Wed."
-
-#: etc/initialdata:521
-msgid "When a ticket has been approved by all approvers, add correspondence to the original ticket"
-msgstr "When a Malkovich Malkovich by Malkovich, Malkovich Malkovich to the Malkovich"
-
-#: etc/initialdata:485
-msgid "When a ticket has been approved by any approver, add correspondence to the original ticket"
-msgstr "When a Malkovich Malkovich by Malkovich, Malkovich Malkovich to the Malkovich"
-
-#: etc/initialdata:146
-msgid "When a ticket is created"
-msgstr "When a Malkovich is Malkovich"
-
-#: etc/initialdata:418
-msgid "When an approval ticket is created, notify the Owner and AdminCc of the item awaiting their approval"
-msgstr "When a Malkovich is Malkovich, Malkovich the Malkovich and Malkovich of the Malkovich Malkovich Malkovich"
-
-#: etc/initialdata:151
-msgid "When anything happens"
-msgstr "Malkovich Malkovich"
-
-#: etc/initialdata:199
-msgid "Whenever a ticket is resolved"
-msgstr "Malkovich a Malkovich is Malkovich"
-
-#: etc/initialdata:185
-msgid "Whenever a ticket's owner changes"
-msgstr "Malkovich a Malkovich's Malkovich"
-
-#: etc/initialdata:193
-msgid "Whenever a ticket's queue changes"
-msgstr "Malkovich a Malkovich's Malkovich"
-
-#: etc/initialdata:170
-msgid "Whenever a ticket's status changes"
-msgstr "Malkovich a Malkovich's Malkovich"
-
-#: etc/initialdata:207
-msgid "Whenever a user-defined condition occurs"
-msgstr "Malkovich a user-Malkovich Malkovich"
-
-#: etc/initialdata:164
-msgid "Whenever comments come in"
-msgstr "Malkovich Malkovich in"
-
-#: etc/initialdata:157
-msgid "Whenever correspondence comes in"
-msgstr "Malkovich Malkovich Malkovich in"
-
-#: html/Admin/Users/Modify.html:161 html/User/Prefs.html:67
-msgid "Work"
-msgstr "Work"
-
-#: NOT FOUND IN SOURCE
-msgid "WorkPhone"
-msgstr "Malkovich"
-
-#: html/Ticket/Elements/ShowBasics:41 html/Ticket/Update.html:42
-msgid "Worked"
-msgstr "Malkovich"
-
-#: html/autohandler:150
-msgid "XXX CHANGEME You are not an authorized user"
-msgstr "MALKOVICH Malkovich a Malkovich"
-
-#: lib/RT/Ticket_Overlay.pm:3059
-msgid "You already own this ticket"
-msgstr "Malkovich Malkovich Malkovich"
-
-#: html/autohandler:142
-msgid "You are not an authorized user"
-msgstr "Malkovich a Malkovich"
-
-#: NOT FOUND IN SOURCE
-msgid "You can access it with the Download button on the right."
-msgstr "Malkovich it with the Malkovich on the Malkovich."
-
-#: lib/RT/Ticket_Overlay.pm:2941
-msgid "You can only reassign tickets that you own or that are unowned"
-msgstr "Malkovich Malkovich Malkovich Malkovich or Malkovich Malkovich"
-
-#: docs/design_docs/string-extraction-guide.txt:47 lib/RT/StyleGuide.pod:760
-#. ($num, $queue)
-msgid "You found %1 tickets in queue %2"
-msgstr "Malkovich %1 Malkovich in Malkovich %2"
-
-#: html/NoAuth/Logout.html:30
-msgid "You have been logged out of RT."
-msgstr "Malkovich Malkovich of RT."
-
-#: html/SelfService/Display.html:79
-msgid "You have no permission to create tickets in that queue."
-msgstr "Malkovich no Malkovich to Malkovich in that Malkovich."
-
-#: lib/RT/Ticket_Overlay.pm:2095
-msgid "You may not create requests in that queue."
-msgstr "Malkovich Malkovich Malkovich in Malkovich."
-
-#: html/NoAuth/Logout.html:34
-msgid "You're welcome to login again"
-msgstr "You're Malkovich to Malkovich"
-
-#: etc/initialdata:502
-msgid "Your request has been approved by %1. Other approvals may still be pending."
-msgstr "Malkovich Malkovich Malkovich by %1. Malkovich Malkovich be Malkovich."
-
-#: etc/initialdata:540
-msgid "Your request has been approved."
-msgstr "Malkovich Malkovich Malkovich."
-
-#: etc/initialdata:445
-msgid "Your request was rejected."
-msgstr "Malkovich Malkovich."
-
-#: html/autohandler:177
-msgid "Your username or password is incorrect"
-msgstr "Malkovich or Malkovich is Malkovich"
-
-#: html/Admin/Users/Modify.html:141 html/User/Prefs.html:127
-msgid "Zip"
-msgstr "Zip"
-
-#: html/User/Elements/DelegateRights:58
-#. ($right->PrincipalObj->Object->SelfDescription)
-msgid "as granted to %1"
-msgstr "as Malkovich to %1"
-
-#: html/SelfService/Closed.html:27
-msgid "closed"
-msgstr "Malkovich"
-
-#: html/Elements/SelectCustomFieldOperator:37 html/Elements/SelectMatch:33
-msgid "contains"
-msgstr "Malkovich"
-
-#: NOT FOUND IN SOURCE
-msgid "content"
-msgstr "Malkovich"
-
-#: NOT FOUND IN SOURCE
-msgid "content-type"
-msgstr "Malkovich-type"
-
-#: html/Admin/Queues/Modify.html:76 lib/RT/Date.pm:319
-msgid "days"
-msgstr "days"
-
-#: lib/RT/Queue_Overlay.pm:64
-msgid "deleted"
-msgstr "Malkovich"
-
-#: html/Search/Elements/PickBasics:33
-msgid "does not match"
-msgstr "Malkovich"
-
-#: html/Elements/SelectCustomFieldOperator:37 html/Elements/SelectMatch:34
-msgid "doesn't contain"
-msgstr "doesn't Malkovich"
-
-#: html/Elements/SelectEqualityOperator:37
-msgid "equal to"
-msgstr "Malkovich to"
-
-#: NOT FOUND IN SOURCE
-msgid "filename"
-msgstr "Malkovich"
-
-#: html/Elements/SelectCustomFieldOperator:37 html/Elements/SelectEqualityOperator:37
-msgid "greater than"
-msgstr "Malkovich"
-
-#: lib/RT/Group_Overlay.pm:196
-#. ($self->Name)
-msgid "group '%1'"
-msgstr "Malkovich '%1'"
-
-#: lib/RT/Date.pm:315
-msgid "hours"
-msgstr "Malkovich"
-
-#: html/Elements/SelectBoolean:31 html/Elements/SelectCustomFieldOperator:37 html/Elements/SelectMatch:35 html/Search/Elements/PickBasics:49 html/Search/Elements/PickBasics:80 html/Search/Elements/PickBasics:97 html/Search/Elements/PickCFs:37
-msgid "is"
-msgstr "is"
-
-#: html/Elements/SelectBoolean:35 html/Elements/SelectCustomFieldOperator:37 html/Elements/SelectMatch:36 html/Search/Elements/PickBasics:50 html/Search/Elements/PickBasics:81 html/Search/Elements/PickBasics:98 html/Search/Elements/PickCFs:38
-msgid "isn't"
-msgstr "isn't"
-
-#: html/Elements/SelectCustomFieldOperator:37 html/Elements/SelectEqualityOperator:37
-msgid "less than"
-msgstr "Malkovich"
-
-#: html/Search/Elements/PickBasics:32
-msgid "matches"
-msgstr "Malkovich"
-
-#: lib/RT/Date.pm:311
-msgid "min"
-msgstr "min"
-
-#: html/Ticket/Update.html:42
-msgid "minutes"
-msgstr "Malkovich"
-
-#: NOT FOUND IN SOURCE
-msgid "modifications\\n\\n"
-msgstr "Malkovich\\n\\n"
-
-#: lib/RT/Date.pm:327
-msgid "months"
-msgstr "Malkovich"
-
-#: lib/RT/Queue_Overlay.pm:59
-msgid "new"
-msgstr "new"
-
-#: html/Admin/Elements/EditCustomFields:42
-msgid "no name"
-msgstr "no name"
-
-#: html/Admin/Elements/EditScrips:42
-msgid "no value"
-msgstr "no Malkovich"
-
-#: html/Admin/Elements/EditQueueWatchers:26 html/Ticket/Elements/EditWatchers:27
-msgid "none"
-msgstr "none"
-
-#: html/Elements/SelectEqualityOperator:37
-msgid "not equal to"
-msgstr "Malkovich to"
-
-#: html/SelfService/Elements/MyRequests:61 lib/RT/Queue_Overlay.pm:60
-msgid "open"
-msgstr "open"
-
-#: lib/RT/Group_Overlay.pm:201
-#. ($self->Name, $user->Name)
-msgid "personal group '%1' for user '%2'"
-msgstr "Malkovich '%1' Malkovich '%2'"
-
-#: lib/RT/Group_Overlay.pm:209
-#. ($queue->Name, $self->Type)
-msgid "queue %1 %2"
-msgstr "Malkovich %1 %2"
-
-#: lib/RT/Queue_Overlay.pm:63
-msgid "rejected"
-msgstr "Malkovich"
-
-#: lib/RT/Queue_Overlay.pm:62
-msgid "resolved"
-msgstr "Malkovich"
-
-#: lib/RT/Date.pm:307
-msgid "sec"
-msgstr "sec"
-
-#: lib/RT/Queue_Overlay.pm:61
-msgid "stalled"
-msgstr "Malkovich"
-
-#: lib/RT/Group_Overlay.pm:204
-#. ($self->Type)
-msgid "system %1"
-msgstr "Malkovich %1"
-
-#: lib/RT/Group_Overlay.pm:215
-#. ($self->Type)
-msgid "system group '%1'"
-msgstr "Malkovich '%1'"
-
-#: html/Elements/Error:42 html/SelfService/Error.html:41
-msgid "the calling component did not specify why"
-msgstr "the Malkovich Malkovich Malkovich Malkovich"
-
-#: NOT FOUND IN SOURCE
-msgid "ticket #%1"
-msgstr "Malkovich #%1"
-
-#: lib/RT/Group_Overlay.pm:212
-#. ($self->Instance, $self->Type)
-msgid "ticket #%1 %2"
-msgstr "Malkovich #%1 %2"
-
-#: lib/RT/Group_Overlay.pm:218
-#. ($self->Id)
-msgid "undescribed group %1"
-msgstr "Malkovich Malkovich %1"
-
-#: lib/RT/Group_Overlay.pm:193
-#. ($user->Object->Name)
-msgid "user %1"
-msgstr "user %1"
-
-#: lib/RT/Date.pm:323
-msgid "weeks"
-msgstr "Malkovich"
-
-#: lib/RT/Date.pm:331
-msgid "years"
-msgstr "Malkovich"
-
diff --git a/rt/lib/RT/I18N/sv.po b/rt/lib/RT/I18N/sv.po
deleted file mode 100644
index 25312a0fe..000000000
--- a/rt/lib/RT/I18N/sv.po
+++ /dev/null
@@ -1,5840 +0,0 @@
-msgid ""
-msgstr ""
-"Project-Id-Version: \n"
-"POT-Creation-Date: \n"
-"PO-Revision-Date: 2007-03-16 12:57+0100\n"
-"Last-Translator: Heidi Senderovitz\n"
-"Language-Team: \n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=utf8\n"
-"Content-Transfer-Encoding: 8bit\n"
-
-#. ($self->{CurrentSearch}{Object}->Description)
-#: html/Widgets/SavedSearch:70
-msgid " %1 deleted."
-msgstr " %1 raderad."
-
-#. ($self->{CurrentSearch}{Description}, $args->{Description})
-#: html/Widgets/SavedSearch:47
-msgid " %1 renamed to %2."
-msgstr " %1 omdöpt till %2."
-
-#. ($args->{Description})
-#: html/Widgets/SavedSearch:60
-msgid " %1 saved."
-msgstr " %1 sparad."
-
-#. ($TicketObj->Id, $TicketObj->Subject)
-#. ($link->BaseObj->Id, $link->BaseObj->Subject)
-#. ($ticket->Id, $ticket->Subject)
-#. ($Ticket->id, $Ticket->Subject)
-#: html/Approvals/Elements/Approve:48
-#: html/Approvals/Elements/ShowDependency:71
-#: html/SelfService/Display.html:46
-#: html/Ticket/Display.html:47
-#: html/Ticket/Display.html:51
-msgid "#%1: %2"
-msgstr "#%1: %2"
-
-#: html/Elements/ShowSearch:104
-msgid "$1"
-msgstr "$1"
-
-#. ($label)
-#: lib/RT/Record.pm:940
-msgid "$prefix %1"
-msgstr "$prefix %1"
-
-#. ($self->ObjectType, $self->Object->Id)
-#: lib/RT/URI/fsck_com_rt.pm:256
-msgid "%1 #%2"
-msgstr "%1 #%2"
-
-#. ($s, $time_unit)
-#: lib/RT/Date.pm:365
-msgid "%1 %2"
-msgstr "%1 %2"
-
-#. ($self->GetWeekday($wday), $self->GetMonth($mon), map {sprintf "%02d", $_} ($mday, $hour, $min, $sec), ($year+1900))
-#: lib/RT/Date.pm:401
-msgid "%1 %2 %3 %4:%5:%6 %7"
-msgstr "%1 %2 %3 %4:%5:%6 %7"
-
-#. ($cf->Name, $new_value->Content)
-#. ($field, $self->NewValue)
-#. ($self->Field, $principal->Object->Name)
-#: lib/RT/Record.pm:1685
-#: lib/RT/Transaction_Overlay.pm:647
-#: lib/RT/Transaction_Overlay.pm:690
-msgid "%1 %2 added"
-msgstr "%1 %2 tillagt"
-
-#. ($s, $time_unit)
-#: lib/RT/Date.pm:362
-msgid "%1 %2 ago"
-msgstr "%1 %2 sedan"
-
-#. ($cf->Name, $old_content, $new_value->Content)
-#. ($field, $self->OldValue, $self->NewValue)
-#: lib/RT/Record.pm:1692
-#: lib/RT/Transaction_Overlay.pm:654
-msgid "%1 %2 changed to %3"
-msgstr "%1 %2 ändrat till %3"
-
-#. ($cf->Name, $old_value->Content)
-#. ($field, $self->OldValue)
-#. ($self->Field, $principal->Object->Name)
-#: lib/RT/Record.pm:1689
-#: lib/RT/Transaction_Overlay.pm:650
-#: lib/RT/Transaction_Overlay.pm:696
-msgid "%1 %2 deleted"
-msgstr "%1 %2 raderad"
-
-#. (loc($scrip->ConditionObj->Name), loc($scrip->ActionObj->Name), loc($scrip->TemplateObj->Name))
-#: html/Admin/Elements/EditScrips:65
-#: html/Admin/Elements/ListGlobalScrips:63
-#: html/Ticket/Elements/PreviewScrips:103
-msgid "%1 %2 with template %3"
-msgstr "%1 %2 med mall %3"
-
-#. ($rev->CreatedAsString, $size, $rev->CreatorObj->Name)
-#: html/Ticket/Elements/ShowAttachments:72
-msgid "%1 (%2) by %3"
-msgstr "%1 (%2) av %3"
-
-#. (loc($Ticket->Status()))
-#. (loc($TicketObj->Status))
-#. ($TicketObj->OwnerObj->Name())
-#. (loc($DefaultStatus))
-#: html/SelfService/Update.html:60
-#: html/Ticket/Elements/EditBasics:108
-#: html/Ticket/Update.html:61
-#: html/Ticket/Update.html:63
-#: html/Tools/MyDay.html:66
-msgid "%1 (Unchanged)"
-msgstr "%1 (Oändrad)"
-
-#. ("--search-argument", "--search")
-#. ("--condition-argument", "--condition")
-#. ("--action-argument", "--action")
-#: bin/rt-crontool:237
-#: bin/rt-crontool:244
-#: bin/rt-crontool:250
-msgid "%1 - An argument to pass to %2"
-msgstr "%1 - En parameter att skicka till %2"
-
-#. ("--verbose")
-#: bin/rt-crontool:262
-msgid "%1 - Output status updates to STDOUT"
-msgstr "%1 - Skicka statusuppdateringar till STDOUT"
-
-#. ("--template-id")
-#: bin/rt-crontool:253
-msgid "%1 - Specify id of the template you want to use"
-msgstr "%1 - Specificera ID på mall du vill använda"
-
-#. ("--transaction")
-#: bin/rt-crontool:256
-msgid "%1 - Specify if you want to use either 'first' or 'last' tarnsaction"
-msgstr "%1 - Specificera om du vill använda 'första' eller 'sista' transaktionen"
-
-#. ("--action")
-#: bin/rt-crontool:247
-msgid "%1 - Specify the action module you want to use"
-msgstr "%1 - Specificera den handling du vill använda"
-
-#. ("--condition")
-#: bin/rt-crontool:241
-msgid "%1 - Specify the condition module you want to use"
-msgstr "%1 - Specificera den villkorsmodul du vill använda"
-
-#. ("--search")
-#: bin/rt-crontool:234
-msgid "%1 - Specify the search module you want to use"
-msgstr "%1 - Specificera den sökmodul du vill använda"
-
-#. ("--transaction-type")
-#: bin/rt-crontool:259
-msgid "%1 - Specify the type of a transaction you want to use"
-msgstr "%1 - Specificera den typ av transaktion du vill använda"
-
-#. ('&#187;&#124;&#171;', $RT::VERSION, '2006', '<a href="http://www.bestpractical.com?rt='.$RT::VERSION.'">Best Practical Solutions, LLC</a>',)
-#: html/Elements/Footer:56
-msgid "%1 RT %2 Copyright 1996-%3 %4."
-msgstr "%1 RT %2 Copyright 1996-%3 %4."
-
-#. ($self->Id)
-#: lib/RT/ScripAction_Overlay.pm:150
-msgid "%1 ScripAction loaded"
-msgstr "%1 ScripAktion inläst"
-
-#. ($args{'Value'}, $cf->Name)
-#: lib/RT/Record.pm:1722
-msgid "%1 added as a value for %2"
-msgstr "%1 tillagt som värde för %2"
-
-#. ($args{'Base'})
-#. ($args{'Target'})
-#: lib/RT/Link_Overlay.pm:144
-#: lib/RT/Link_Overlay.pm:151
-msgid "%1 appears to be a local object, but can't be found in the database"
-msgstr "%1 tycks vara ett lokalt objekt men går inte att hitta i databasen"
-
-#. ($Ticket->LastUpdatedAsString, $Ticket->LastUpdatedByObj->Name)
-#. ($self->BriefDescription , $self->CreatorObj->Name)
-#: html/Ticket/Elements/ShowDates:73
-#: lib/RT/Transaction_Overlay.pm:531
-msgid "%1 by %2"
-msgstr "%1 av %2"
-
-#. ($self->Field , $q1->Name , $q2->Name)
-#. ($self->Field, $t2->AsString, $t1->AsString)
-#. ($self->Field, ($self->OldValue? "'".$self->OldValue ."'" : $self->loc("(no value)")) , "'". $self->NewValue."'")
-#: lib/RT/Transaction_Overlay.pm:788
-#: lib/RT/Transaction_Overlay.pm:797
-#: lib/RT/Transaction_Overlay.pm:800
-msgid "%1 changed from %2 to %3"
-msgstr "%1 ändrat från %2 till %3"
-
-#. ($Description)
-#: html/Search/Build.html:213
-msgid "%1 copy"
-msgstr "%1 kopiera"
-
-#: lib/RT/Record.pm:944
-msgid "%1 could not be set to %2."
-msgstr "%1 kunde inte sättas som %2."
-
-#. ($self)
-#: lib/RT/Ticket_Overlay.pm:2787
-msgid "%1 couldn't set status to resolved. RT's Database may be inconsistent."
-msgstr "%1 kunde inte markeras som löst. RT:s databas kan vara oförenlig."
-
-#. ($obj_type)
-#: lib/RT/Transaction_Overlay.pm:571
-msgid "%1 created"
-msgstr "%1 skapad"
-
-#. ($obj_type)
-#: lib/RT/Transaction_Overlay.pm:576
-msgid "%1 deleted"
-msgstr "%1 raderad"
-
-#: etc/initialdata:593
-msgid "%1 highest priority tickets I own"
-msgstr "%1 högsta prioriterade ärenden som tillhör mig"
-
-#. ($0)
-#: bin/rt-crontool:229
-msgid "%1 is a tool to act on tickets from an external scheduling tool, such as cron."
-msgstr "%1 är ett verktyg som reagerar på ärenden från ett externt planeringsverktyg, så som cron."
-
-#. ($principal->Object->Name, $args{'Type'})
-#: lib/RT/Queue_Overlay.pm:863
-msgid "%1 is no longer a %2 for this queue."
-msgstr "%1 är inte längre en %2 för denna kö."
-
-#. ($minutes)
-#: html/Ticket/Elements/ShowTime:47
-#: html/Ticket/Elements/ShowTime:49
-msgid "%1 min"
-msgstr "%1 min."
-
-#: etc/initialdata:601
-msgid "%1 newest unowned tickets"
-msgstr "%1 nyaste ärenden som inte tillhör någon"
-
-#: lib/RT/CustomField_Overlay.pm:893
-msgid "%1 objects"
-msgstr "%1 objekt"
-
-#. (loc($ObjectType =~ /^RT::(.*)$/))
-#: html/User/Elements/DelegateRights:97
-msgid "%1 rights"
-msgstr "%1 rättigheter"
-
-#. (ref $self)
-#: lib/RT/Action/ResolveMembers.pm:63
-msgid "%1 will resolve all members of a resolved group ticket."
-msgstr "%1 kommer att lösa alla medlemmar av ett löst gruppärende."
-
-#: lib/RT/CustomField_Overlay.pm:894
-msgid "%1's %2 objects"
-msgstr "%1:s %2 objekt"
-
-#: lib/RT/CustomField_Overlay.pm:895
-msgid "%1's %2's %3 objects"
-msgstr "%1:s %2:s %3 objekt"
-
-#. ($Object->Name)
-#. ($object->Name)
-#: html/Search/Elements/SearchPrivacy:52
-#: html/Search/Elements/SelectSearchObject:55
-#: html/Search/Elements/SelectSearchesForObjects:57
-msgid "%1's saved searches"
-msgstr "%1:s sparade sökningar"
-
-#. ($self)
-#: lib/RT/Transaction_Overlay.pm:481
-msgid "%1: no attachment specified"
-msgstr "%1: inga bifogade filer angivna"
-
-#. ($size)
-#: html/Ticket/Elements/ShowTransactionAttachments:78
-msgid "%1b"
-msgstr "%1b"
-
-#. (int( $size / 102.4 ) / 10)
-#: html/Ticket/Elements/ShowTransactionAttachments:75
-msgid "%1k"
-msgstr "%1k"
-
-#. (sprintf("%.1f",$minutes / 60))
-#: html/Ticket/Elements/ShowTime:49
-msgid "%quant(%1,hour)"
-msgstr "%quant(%1,timme)"
-
-#. ($args{'Status'})
-#: lib/RT/Ticket_Overlay.pm:1142
-msgid "'%1' is an invalid value for status"
-msgstr "'%1' är ogiltigt statusvärde"
-
-#: html/Admin/Elements/EditCustomFieldValues:50
-#: html/Admin/Elements/EditQueueWatchers:50
-#: html/Admin/Elements/EditScrips:56
-#: html/Admin/Elements/EditTemplates:57
-#: html/Admin/Groups/Members.html:73
-#: html/Elements/EditLinks:54
-#: html/Ticket/Elements/EditPeople:67
-#: html/User/Groups/Members.html:76
-msgid "(Check box to delete)"
-msgstr "(Markera box för radering)"
-
-#: html/Ticket/Elements/PreviewScrips:99
-msgid "(Check boxes to disable notifications to the listed recipients)"
-msgstr "(Markera boxar för bortväljande av meddelande till registrerade mottagare)"
-
-#: html/Ticket/Elements/PreviewScrips:123
-msgid "(Check boxes to enable notifications to the listed recipients)"
-msgstr "(Markera boxar för tillval av meddelande till registrerade mottagare)"
-
-#: html/Ticket/Create.html:218
-msgid "(Enter ticket ids or URLs, separated with spaces)"
-msgstr "(Mata in ärende-ID:n eller URL, separerade med mellanrum)"
-
-#. ($RT::CorrespondAddress)
-#. ($RT::CommentAddress)
-#: html/Admin/Queues/Modify.html:75
-#: html/Admin/Queues/Modify.html:81
-msgid "(If left blank, will default to %1)"
-msgstr "(Lämnas det tomt kommer default att vara %1)"
-
-#: html/Admin/Elements/EditCustomFields:74
-#: html/Admin/Elements/ListGlobalCustomFields:53
-msgid "(No custom fields)"
-msgstr "(Inga extrafält)"
-
-#: html/Admin/Groups/Members.html:71
-#: html/User/Groups/Members.html:74
-msgid "(No members)"
-msgstr "(Inga medlemmar)"
-
-#: html/Admin/Elements/EditScrips:53
-#: html/Admin/Elements/ListGlobalScrips:48
-msgid "(No scrips)"
-msgstr "(Inga scrips)"
-
-#: html/Admin/Elements/EditTemplates:52
-msgid "(No templates)"
-msgstr "(Inga mallar)"
-
-#: html/Admin/Elements/PickCustomFields:47
-#: html/Admin/Elements/PickObjects:47
-msgid "(None)"
-msgstr "(Inga)"
-
-#: html/Ticket/Update.html:90
-msgid "(Sends a blind carbon-copy of this update to a comma-delimited list of email addresses. Does <strong>not</strong> change who will receive future updates.)"
-msgstr "(Skickar en hemlig kopia av denna uppdatering till en kommaseparerad lista med e-postadresser. Ändrar <strong>inte</strong> på vem som får framtida uppdateringar.)"
-
-#: html/Ticket/Create.html:103
-msgid "(Sends a carbon-copy of this update to a comma-delimited list of administrative email addresses. These people <strong>will</strong> receive future updates.)"
-msgstr "(Skickar en kopia av denna uppdatering till en kommaseparerad lista med administrativa e-postadresser. Dessa <strong>kommer</strong> att få framtida uppdateringar.)"
-
-#: html/Ticket/Update.html:86
-msgid "(Sends a carbon-copy of this update to a comma-delimited list of email addresses. Does <strong>not</strong> change who will receive future updates.)"
-msgstr "(Skickar en kopia av denna uppdatering till en kommaseparerad lista med e-postadresser. Ändrar <strong>inte</strong> på vem som får framtida uppdateringar.)"
-
-#: html/Ticket/Create.html:93
-msgid "(Sends a carbon-copy of this update to a comma-delimited list of email addresses. These people <strong>will</strong> receive future updates.)"
-msgstr "(Skickar en kopia av denna uppdatering till en kommaseparerad lista med e-postadresser. Dessa <strong>kommer</strong> att få framtida uppdateringar.)"
-
-#: html/Admin/Elements/EditScrip:96
-msgid "(Use these fields when you choose 'User Defined' for a condition or action)"
-msgstr "(Använd dessa fält när du väljer 'Användardefinierat' för villkor eller handling)"
-
-#: html/Ticket/Elements/EditWatchers:60
-#: html/Ticket/Elements/ShowUserEntry:53
-msgid "(Will not be sent email)"
-msgstr "(Kommer inte att skickas som e-post)"
-
-#: html/Admin/Groups/index.html:57
-#: html/User/Groups/index.html:54
-msgid "(empty)"
-msgstr "(tom)"
-
-#: html/Admin/Users/index.html:60
-msgid "(no name listed)"
-msgstr "(inga namn registrerade)"
-
-#: html/Admin/Elements/SelectRights:72
-#: html/Elements/EditCustomFieldSelect:69
-#: html/Elements/SelectCustomFieldValue:51
-#: html/Elements/ShowCustomFields:54
-#: html/Search/Chart:56
-#: html/Search/Elements/Chart:76
-#: lib/RT/Transaction_Overlay.pm:591
-msgid "(no value)"
-msgstr "(inget värde)"
-
-#: html/Admin/Elements/EditCustomFieldValues:47
-msgid "(no values)"
-msgstr "(inga värden)"
-
-#: html/Elements/EditLinks:132
-#: html/Ticket/Elements/BulkLinks:49
-msgid "(only one ticket)"
-msgstr "(endast ett ärende)"
-
-#: html/Elements/RT__Ticket/ColumnMap:149
-msgid "(pending approval)"
-msgstr "(inväntar godkännande)"
-
-#: html/Elements/RT__Ticket/ColumnMap:152
-msgid "(pending other Collection)"
-msgstr "(inväntar annan Samling)"
-
-#: html/Admin/Users/Modify.html:71
-msgid "(required)"
-msgstr "(obligatorisk)"
-
-#: html/Ticket/Elements/ShowTransactionAttachments:82
-msgid "(untitled)"
-msgstr "(ej namngiven)"
-
-#: html/Ticket/Elements/Reminders:133
-msgid "(yyyy/mm/dd)"
-msgstr "(yyyy/mm/dd)"
-
-#: html/Elements/EditCustomFieldSelect:57
-msgid "-"
-msgstr "-"
-
-#: bin/rt-crontool:95
-msgid "--transaction argument could be only 'first' or 'last'"
-msgstr "--transaktionsparameter kan bara vara 'först' eller 'sist'"
-
-#: html/Ticket/Elements/ShowBasics:53
-msgid "<% $Ticket->Status%>"
-msgstr "<% $Ärende->Status%>"
-
-#: html/Elements/SelectTicketTypes:48
-msgid "<% $_ %>"
-msgstr "<% $_ %>"
-
-#: html/Search/Elements/SelectLinks:48
-msgid "<%$_%>"
-msgstr "<%$_%>"
-
-#: html/Search/Elements/DisplayOptions:73
-msgid "<%$field%>"
-msgstr "<%$fält%>"
-
-#. ($m->scomp('/Elements/SelectNewTicketQueue'))
-#: html/Elements/CreateTicket:47
-msgid "<input type=\"submit\" class=\"button\" value=\"New ticket in\" />&nbsp;%1"
-msgstr "<input type=\"submit\" class=\"button\" value=\"Nytt ärende i\" />&nbsp;%1"
-
-#. ($m->scomp('/Elements/SelectNewTicketQueue'))
-#: docs/design_docs/string-extraction-guide.txt:54
-#: lib/RT/StyleGuide.pod:787
-msgid "<input type=\"submit\" value=\"New ticket in\">&nbsp;%1"
-msgstr "<input type=\"submit\" value=\"Nytt ärende i\">&nbsp;%1"
-
-#: etc/initialdata:218
-msgid "A blank template"
-msgstr "En tom mall"
-
-#: html/Admin/Users/Modify.html:371
-msgid "A password was not set, so user won't be able to login."
-msgstr "Det har inte satts något lösenord, så användare kan inte logga in."
-
-#: lib/RT/ACE_Overlay.pm:174
-#: lib/RT/Principal_Overlay.pm:219
-msgid "ACE not found"
-msgstr "ACE ej funnen"
-
-#: lib/RT/ACE_Overlay.pm:853
-msgid "ACEs can only be created and deleted."
-msgstr "ACE kan endast skapas och raderas."
-
-#: html/Search/Elements/SelectAndOr:46
-msgid "AND"
-msgstr "OCH"
-
-#: html/User/Elements/Tabs:53
-msgid "About me"
-msgstr "Om mig"
-
-#: html/Admin/Users/Modify.html:106
-msgid "Access control"
-msgstr "Tillgångskontroll"
-
-#: html/Admin/Elements/EditScrip:65
-msgid "Action"
-msgstr "Handling"
-
-#. ($args{'ScripAction'})
-#: lib/RT/Scrip_Overlay.pm:172
-msgid "Action %1 not found"
-msgstr "Handling %1 ej funnen"
-
-#: bin/rt-crontool:171
-msgid "Action committed.\\n"
-msgstr "Handling genomförd.\\n"
-
-#: lib/RT/Scrip_Overlay.pm:168
-msgid "Action is mandatory argument"
-msgstr "Handling är obligatoriskt argument"
-
-#: bin/rt-crontool:167
-msgid "Action prepared..."
-msgstr "Handling förberedd..."
-
-#: html/Search/Build.html:85
-msgid "Add"
-msgstr "Lägg till"
-
-#: html/Search/Bulk.html:92
-msgid "Add AdminCc"
-msgstr "Lägg till Admin.kopia"
-
-#: html/Search/Bulk.html:88
-msgid "Add Cc"
-msgstr "Lägg till kopia"
-
-#: html/Search/Elements/EditFormat:49
-msgid "Add Columns"
-msgstr "Lägg till kolumner"
-
-#: html/Search/Elements/PickCriteria:46
-msgid "Add Criteria"
-msgstr "Lägg till kriterium"
-
-#: html/Ticket/Create.html:147
-#: html/Ticket/Update.html:116
-msgid "Add More Files"
-msgstr "Lägg till fler filer"
-
-#: html/Search/Bulk.html:84
-msgid "Add Requestor"
-msgstr "Lägg till rekvirent"
-
-#: html/Admin/Elements/AddCustomFieldValue:46
-msgid "Add Value"
-msgstr "Lägg till värde"
-
-#: html/Admin/Global/Scrip.html:83
-msgid "Add a scrip which will apply to all queues"
-msgstr "Lägg till ett scrip som kommer att fungera för alla köer"
-
-#: html/Search/Build.html:109
-#: html/Search/Build.html:94
-msgid "Add and Search"
-msgstr "Lägg till och sök"
-
-#: html/Search/Bulk.html:124
-msgid "Add comments or replies to selected tickets"
-msgstr "Lägg till kommentarer eller svar på utvalda ärenden"
-
-#: html/Admin/Groups/Members.html:63
-#: html/User/Groups/Members.html:60
-msgid "Add members"
-msgstr "Lägg till medlemmar"
-
-#: html/Admin/Queues/People.html:87
-#: html/Ticket/Elements/AddWatchers:49
-msgid "Add new watchers"
-msgstr "Lägg till nya observatörer"
-
-#: html/Search/Build.html:85
-msgid "Add these terms to your search"
-msgstr "Lägg till dessa termer till din sökning"
-
-#: html/Search/Bulk.html:158
-msgid "Add values"
-msgstr "Lägg till värden"
-
-#: lib/RT/CustomField_Overlay.pm:108
-msgid "Add, delete and modify custom field values for objects"
-msgstr "Lägg till, radera och modifiera extrafältvärden för objekt"
-
-#. ($args{'Type'})
-#: lib/RT/Queue_Overlay.pm:763
-msgid "Added principal as a %1 for this queue"
-msgstr "Tillagd principal som en %1 för denna kö"
-
-#. ($self->loc($args{'Type'}))
-#: lib/RT/Ticket_Overlay.pm:1455
-msgid "Added principal as a %1 for this ticket"
-msgstr "Tillagd principal som en %1 för detta ärende"
-
-#: html/Admin/Users/Modify.html:146
-#: html/User/Prefs.html:133
-msgid "Address1"
-msgstr "Adress1"
-
-#: html/Admin/Users/Modify.html:151
-#: html/User/Prefs.html:137
-msgid "Address2"
-msgstr "Adress2"
-
-#: html/Ticket/Create.html:98
-msgid "Admin Cc"
-msgstr "Admin.kopia"
-
-#: etc/initialdata:295
-msgid "Admin Comment"
-msgstr "Admin.kommentar"
-
-#: etc/initialdata:274
-msgid "Admin Correspondence"
-msgstr "Admin.korrespondens"
-
-#: html/Admin/Queues/index.html:46
-#: html/Admin/Queues/index.html:49
-msgid "Admin queues"
-msgstr "Admin.köer"
-
-#: html/Admin/Global/index.html:47
-#: html/Admin/Global/index.html:49
-msgid "Admin/Global configuration"
-msgstr "Admin/Global konfiguration"
-
-#: etc/initialdata:56
-#: html/Ticket/Elements/ShowPeople:60
-#: lib/RT/ACE_Overlay.pm:113
-msgid "AdminCc"
-msgstr "Admin.kopia"
-
-#: lib/RT/CustomField_Overlay.pm:106
-msgid "AdminCustomField"
-msgstr "AdminExtrafält"
-
-#: lib/RT/Group_Overlay.pm:163
-msgid "AdminGroup"
-msgstr "AdminGrupp"
-
-#: lib/RT/Group_Overlay.pm:165
-msgid "AdminGroupMembership"
-msgstr "AdminGruppMedlemskap"
-
-#: lib/RT/System.pm:80
-msgid "AdminOwnPersonalGroups"
-msgstr "AdminEgnaPersonligaGrupper"
-
-#: lib/RT/Queue_Overlay.pm:92
-msgid "AdminQueue"
-msgstr "AdminKö"
-
-#: lib/RT/System.pm:81
-msgid "AdminUsers"
-msgstr "AdminAnvändare"
-
-#: html/Admin/Queues/People.html:69
-#: html/Ticket/Elements/EditPeople:75
-msgid "Administrative Cc"
-msgstr "Administrativ kopia"
-
-#: html/Ticket/Elements/Tabs:216
-msgid "Advanced"
-msgstr "Avancerad"
-
-#: html/Elements/SelectDateRelation:57
-msgid "After"
-msgstr "Efter"
-
-#: html/Search/Elements/PickCriteria:52
-msgid "Aggregator"
-msgstr "Aggregator"
-
-#: etc/initialdata:363
-msgid "All Approvals Passed"
-msgstr "Alla godkännanden har accepterats"
-
-#: html/Admin/Queues/index.html:75
-msgid "All Queues"
-msgstr "Alla köer"
-
-#: html/Search/Elements/EditQuery:56
-msgid "And/Or"
-msgstr "Och/eller"
-
-#: html/Admin/CustomFields/Modify.html:73
-#: html/Admin/Elements/CustomFieldTabs:83
-msgid "Applies to"
-msgstr "Gäller för"
-
-#: html/Search/Edit.html:64
-msgid "Apply"
-msgstr "Utför"
-
-#: html/Search/Edit.html:64
-msgid "Apply your changes"
-msgstr "Utför dina ändringar"
-
-#: html/Elements/Tabs:77
-msgid "Approval"
-msgstr "Godkännande"
-
-#. ($ticket->id, $msg)
-#. ($Ticket->Id, $Ticket->Subject)
-#. ($link->BaseObj->Id, $link->BaseObj->Subject)
-#: html/Approvals/Display.html:65
-#: html/Approvals/Elements/ShowDependency:63
-#: html/Approvals/index.html:86
-msgid "Approval #%1: %2"
-msgstr "Godkännande #%1: %2"
-
-#. ($ticket->Id)
-#: html/Approvals/index.html:75
-msgid "Approval #%1: Notes not recorded due to a system error"
-msgstr "Godkännande #%1: Anteckningar ej registrerade på grund av systemfel"
-
-#. ($ticket->Id)
-#: html/Approvals/index.html:73
-msgid "Approval #%1: Notes recorded"
-msgstr "Godkännande #%1: Anteckningar har registrerats"
-
-#: etc/initialdata:351
-msgid "Approval Passed"
-msgstr "Godkännande har accepterats"
-
-#: etc/initialdata:374
-msgid "Approval Rejected"
-msgstr "Godkännande avvisat"
-
-#: html/Approvals/Elements/Approve:69
-msgid "Approve"
-msgstr "Godkänn"
-
-#: etc/initialdata:504
-msgid "Approver's notes: %1"
-msgstr "Godkännares anteckningar: %1"
-
-#: lib/RT/Date.pm:444
-msgid "Apr."
-msgstr "Apr."
-
-#: html/Search/Elements/DisplayOptions:81
-msgid "Asc"
-msgstr "Stigande"
-
-#: html/Elements/SelectSortOrder:56
-msgid "Ascending"
-msgstr "Stigande"
-
-#: lib/RT/Queue_Overlay.pm:96
-msgid "Assign and remove custom fields"
-msgstr "Lägg till och radera extrafält"
-
-#: lib/RT/Queue_Overlay.pm:96
-msgid "AssignCustomFields"
-msgstr "LäggtillExtraFält"
-
-#: html/Search/Bulk.html:142
-#: html/SelfService/Update.html:87
-#: html/Ticket/ModifyAll.html:115
-#: html/Ticket/Update.html:116
-msgid "Attach"
-msgstr "Bifoga"
-
-#: html/SelfService/Create.html:92
-#: html/Ticket/Create.html:143
-msgid "Attach file"
-msgstr "Bifoga fil"
-
-#: html/SelfService/Update.html:75
-#: html/Ticket/Create.html:131
-#: html/Ticket/Update.html:94
-msgid "Attached file"
-msgstr "Bifogad fil"
-
-#. ($Attachment)
-#: html/Ticket/ShowEmailRecord.html:52
-#: html/Ticket/ShowEmailRecord.html:56
-#: html/Ticket/ShowEmailRecord.html:59
-msgid "Attachment '%1' could not be loaded"
-msgstr "Bifogad fil '%1' kunde inte läsas in"
-
-#: lib/RT/Transaction_Overlay.pm:489
-msgid "Attachment created"
-msgstr "Bifogad fil skapad"
-
-#: lib/RT/Tickets_Overlay.pm:1945
-msgid "Attachment filename"
-msgstr "Bifogat filnamn"
-
-#: html/Ticket/Elements/ShowAttachments:47
-msgid "Attachments"
-msgstr "Bifogade filer"
-
-#: lib/RT/Attributes_Overlay.pm:171
-msgid "Attribute Deleted"
-msgstr "Attribut raderat"
-
-#: lib/RT/Date.pm:448
-msgid "Aug."
-msgstr "Aug."
-
-#: etc/initialdata:221
-msgid "Autoreply"
-msgstr "Autosvar"
-
-#: etc/initialdata:72
-msgid "Autoreply To Requestors"
-msgstr "Autosvar till rekvirenter"
-
-#: html/Widgets/SelectionBox:185
-msgid "Available"
-msgstr "Tillgänglig"
-
-#: html/Admin/Elements/CustomFieldTabs:65
-#: html/Admin/Elements/GroupTabs:60
-#: html/Admin/Elements/QueueTabs:60
-#: html/Admin/Elements/UserTabs:58
-#: html/Ticket/Elements/Tabs:113
-#: html/User/Elements/GroupTabs:59
-msgid "Basics"
-msgstr "Grunddata"
-
-#: html/Ticket/Update.html:88
-msgid "Bcc"
-msgstr "Hemlig kopia"
-
-#: html/Admin/CustomFields/GroupRights.html:91
-#: html/Admin/CustomFields/UserRights.html:74
-#: html/Admin/Elements/EditScrip:89
-msgid "Be sure to save your changes"
-msgstr "Se till att spara dina ändringar"
-
-#: html/Elements/SelectDateRelation:55
-#: lib/RT/CurrentUser.pm:361
-msgid "Before"
-msgstr "Före"
-
-#: html/Elements/Logo:47
-msgid "Best Practical Solutions, LLC corporate logo"
-msgstr "Best Practical Solutions, LLC företagslogo"
-
-#: etc/initialdata:217
-msgid "Blank"
-msgstr "Tom"
-
-#: html/Search/Elements/EditFormat:84
-msgid "Bold"
-msgstr "Fetstil"
-
-#: html/Search/Results.html:79
-msgid "Bookmarkable link"
-msgstr "Länk som kan sparas som bokmärke"
-
-#: html/Ticket/Elements/ShowHistory:64
-#: html/Ticket/Elements/ShowHistory:69
-msgid "Brief headers"
-msgstr "Korta headers"
-
-#: html/Ticket/Elements/Tabs:227
-msgid "Bulk Update"
-msgstr "Massärende-uppdatering"
-
-#: lib/RT/User_Overlay.pm:1853
-msgid "Can not modify system users"
-msgstr "Kan inte modifiera systemanvändare"
-
-#: lib/RT/Queue_Overlay.pm:91
-msgid "Can this principal see this queue"
-msgstr "Kan denna principal se denna kö"
-
-#: lib/RT/CustomField_Overlay.pm:379
-msgid "Can't add a custom field value without a name"
-msgstr "Kan inte lägga till ett extrafältvärde utan ett namn"
-
-#. ($Class)
-#: html/Admin/CustomFields/Objects.html:86
-msgid "Can't find a collection class for '%1'"
-msgstr "Kan inte hitta en samlingskategori för '%1'"
-
-#: html/Search/Build.html:286
-msgid "Can't find a saved search to work with"
-msgstr "Kan inte hitta en sparad sökning att arbeta med"
-
-#: lib/RT/Link_Overlay.pm:159
-msgid "Can't link a ticket to itself"
-msgstr "Kan inte länka ett ärende till sig själv"
-
-#. (loc($self->{SearchType}))
-#: html/Widgets/SavedSearch:63
-msgid "Can't save %1"
-msgstr "kan inte spara %1"
-
-#: html/Search/Build.html:290
-msgid "Can't save this search"
-msgstr "Kan inte spara den här sökningen"
-
-#: lib/RT/Record.pm:1282
-#: lib/RT/Record.pm:1358
-msgid "Can't specifiy both base and target"
-msgstr "Kan inte specificera både bas och mål"
-
-#. ($msg)
-#: html/autohandler:204
-msgid "Cannot create user: %1"
-msgstr "Kan inte skapa användare: %1"
-
-#: html/Admin/Elements/AddCustomFieldValue:62
-#: html/Admin/Elements/EditCustomFieldValues:58
-msgid "Category"
-msgstr "Kategori"
-
-#: etc/initialdata:50
-#: html/Admin/Queues/People.html:65
-#: html/SelfService/Create.html:71
-#: html/Ticket/Create.html:88
-#: html/Ticket/Elements/EditPeople:72
-#: html/Ticket/Elements/ShowPeople:56
-#: html/Ticket/Update.html:83
-#: lib/RT/ACE_Overlay.pm:112
-msgid "Cc"
-msgstr "Kopia"
-
-#: html/SelfService/Prefs.html:52
-msgid "Change password"
-msgstr "Ändra lösenord"
-
-#: html/Elements/Submit:78
-msgid "Check All"
-msgstr "Markera alla"
-
-#: html/SelfService/Update.html:78
-#: html/Ticket/Create.html:134
-#: html/Ticket/Update.html:97
-msgid "Check box to delete"
-msgstr "Markera box för radering"
-
-#: html/Admin/Elements/SelectRights:55
-msgid "Check box to revoke right"
-msgstr "Markera box för indragande av rättigheter"
-
-#: html/Elements/EditLinks:148
-#: html/Elements/EditLinks:85
-#: html/Elements/ShowLinks:78
-#: html/Ticket/Create.html:223
-#: html/Ticket/Elements/BulkLinks:64
-msgid "Children"
-msgstr "Barn"
-
-#: html/NoAuth/js/util.js:201
-msgid "Choose a date"
-msgstr "Välj ett datum"
-
-#: html/Admin/Users/Modify.html:156
-#: html/User/Prefs.html:141
-msgid "City"
-msgstr "Ort"
-
-#: html/Elements/Submit:80
-msgid "Clear All"
-msgstr "Välj bort alla"
-
-#: html/Helpers/CalPopup.html:51
-msgid "Close window"
-msgstr "Stäng fönster"
-
-#: html/Ticket/Elements/ShowDates:68
-msgid "Closed"
-msgstr "Stängt"
-
-#: html/SelfService/Closed.html:46
-#: html/SelfService/Elements/Tabs:78
-msgid "Closed tickets"
-msgstr "Stängda ärenden"
-
-#: lib/RT/CustomField_Overlay.pm:89
-msgid "Combobox: Select or enter multiple values"
-msgstr "Combobox: Välj eller mata in flera värden"
-
-#: lib/RT/CustomField_Overlay.pm:90
-msgid "Combobox: Select or enter one value"
-msgstr "Combobox: Välj eller mata in ett värde"
-
-#: lib/RT/CustomField_Overlay.pm:91
-msgid "Combobox: Select or enter up to %1 values"
-msgstr "Combobox: Välj eller mata in upp till %1 värden"
-
-#: html/Ticket/Elements/ShowTransaction:190
-#: html/Ticket/Elements/Tabs:185
-msgid "Comment"
-msgstr "Kommentar"
-
-#: html/Admin/Queues/Modify.html:79
-msgid "Comment Address"
-msgstr "Kommentar adress"
-
-#: lib/RT/Queue_Overlay.pm:111
-msgid "Comment on tickets"
-msgstr "Kommentar på ärenden"
-
-#: lib/RT/Queue_Overlay.pm:111
-msgid "CommentOnTicket"
-msgstr "KommentarPåÄrende"
-
-#: html/Ticket/ModifyAll.html:91
-#: html/Ticket/Update.html:75
-msgid "Comments (Not sent to requestors)"
-msgstr "Kommentarer (Ej skickade till rekvirent)"
-
-#: html/Search/Bulk.html:128
-msgid "Comments (not sent to requestors)"
-msgstr "Kommentarer (ej skickade till rekvirent)"
-
-#: html/Admin/Users/Modify.html:225
-#: html/Ticket/Elements/ShowRequestor:67
-msgid "Comments about this user"
-msgstr "Kommentarer om denna användare"
-
-#: lib/RT/Transaction_Overlay.pm:634
-msgid "Comments added"
-msgstr "Kommentarer tillagda"
-
-#: lib/RT/Action/Generic.pm:175
-msgid "Commit Stubbed"
-msgstr "Commit tömt"
-
-#: html/Admin/Elements/EditScrip:59
-msgid "Condition"
-msgstr "Villkor"
-
-#: lib/RT/Scrip_Overlay.pm:184
-msgid "Condition is mandatory argument"
-msgstr "Villkor är obligatorisk parameter"
-
-#: bin/rt-crontool:151
-msgid "Condition matches..."
-msgstr "Villkor matchar..."
-
-#: lib/RT/Scrip_Overlay.pm:188
-msgid "Condition not found"
-msgstr "Villkor hittades ej"
-
-#: html/Elements/Tabs:84
-msgid "Configuration"
-msgstr "Konfiguration"
-
-#: html/SelfService/Prefs.html:54
-msgid "Confirm"
-msgstr "Bekräfta"
-
-#: html/Admin/Elements/ModifyTemplate:65
-#: html/Elements/SelectAttachmentField:48
-#: html/Ticket/ModifyAll.html:119
-msgid "Content"
-msgstr "Innehåll"
-
-#: html/Elements/SelectAttachmentField:49
-msgid "Content-Type"
-msgstr "Innehållstyp"
-
-#: html/Search/Elements/EditSearches:65
-msgid "Copy"
-msgstr "Kopia"
-
-#: etc/initialdata:286
-msgid "Correspondence"
-msgstr "Korrespondens"
-
-#: lib/RT/Transaction_Overlay.pm:630
-msgid "Correspondence added"
-msgstr "Korrespondens tillagd"
-
-#: lib/RT/Record.pm:1707
-msgid "Could not add new custom field value. "
-msgstr "Går ej att lägga till nytt extrafältvärde. "
-
-#. (, $value_msg)
-#: lib/RT/Record.pm:1660
-msgid "Could not add new custom field value. %1 "
-msgstr "Går ej att lägga till nytt extrafältvärde. %1 "
-
-#: lib/RT/Ticket_Overlay.pm:3048
-#: lib/RT/Ticket_Overlay.pm:3056
-#: lib/RT/Ticket_Overlay.pm:3073
-msgid "Could not change owner. "
-msgstr "Går ej att byta ägare. "
-
-#. ($msg)
-#: html/Admin/CustomFields/Modify.html:161
-msgid "Could not create CustomField"
-msgstr "Går ej att skapa ExtraFält"
-
-#. ($msg)
-#: html/Admin/Elements/EditCustomField:113
-msgid "Could not create CustomField: %1"
-msgstr "Går ej att skapa ExtraFält: %1"
-
-#: html/User/Groups/Modify.html:98
-#: lib/RT/Group_Overlay.pm:494
-#: lib/RT/Group_Overlay.pm:501
-msgid "Could not create group"
-msgstr "GÃ¥r ej att skapa grupp"
-
-#. ($msg)
-#: html/Admin/Global/Template.html:96
-#: html/Admin/Queues/Template.html:93
-msgid "Could not create template: %1"
-msgstr "GÃ¥r ej att skapa mall: %1"
-
-#: lib/RT/Ticket_Overlay.pm:1075
-#: lib/RT/Ticket_Overlay.pm:407
-msgid "Could not create ticket. Queue not set"
-msgstr "Går ej att skapa ärende. Kö ej satt"
-
-#: lib/RT/User_Overlay.pm:255
-#: lib/RT/User_Overlay.pm:269
-#: lib/RT/User_Overlay.pm:278
-#: lib/RT/User_Overlay.pm:287
-#: lib/RT/User_Overlay.pm:296
-#: lib/RT/User_Overlay.pm:310
-#: lib/RT/User_Overlay.pm:320
-#: lib/RT/User_Overlay.pm:496
-msgid "Could not create user"
-msgstr "Går ej att skapa användare"
-
-#: lib/RT/Queue_Overlay.pm:741
-#: lib/RT/Ticket_Overlay.pm:1423
-msgid "Could not find or create that user"
-msgstr "Går ej att hitta eller skapa denna användare"
-
-#: lib/RT/Queue_Overlay.pm:802
-#: lib/RT/Ticket_Overlay.pm:1504
-msgid "Could not find that principal"
-msgstr "GÃ¥r ej att hitta denna principal"
-
-#: html/Admin/CustomFields/Objects.html:69
-msgid "Could not load CustomField %1"
-msgstr "Går ej att läsa in ExtraFält %1"
-
-#: html/Admin/Groups/Members.html:112
-#: html/User/Groups/Members.html:111
-#: html/User/Groups/Modify.html:103
-msgid "Could not load group"
-msgstr "Går ej att läsa in grupp"
-
-#. ($privacy)
-#: lib/RT/SavedSearch.pm:119
-msgid "Could not load object for %1"
-msgstr "Går ej att läsa in objekt för %1"
-
-#: lib/RT/SavedSearch.pm:197
-msgid "Could not load search attribute"
-msgstr "Går ej att läsa in sökattribut"
-
-#. ($args{'Type'})
-#: lib/RT/Queue_Overlay.pm:761
-msgid "Could not make that principal a %1 for this queue"
-msgstr "Går ej att göra denna principal %1 för denna kö"
-
-#. ($self->loc($args{'Type'}))
-#: lib/RT/Ticket_Overlay.pm:1444
-msgid "Could not make that principal a %1 for this ticket"
-msgstr "Går ej att göra denna principal %1 för detta ärende"
-
-#. ($args{'Type'})
-#: lib/RT/Queue_Overlay.pm:860
-msgid "Could not remove that principal as a %1 for this queue"
-msgstr "Går ej att flytta denna principal som %1 för denna kö"
-
-#: lib/RT/User_Overlay.pm:191
-msgid "Could not set user info"
-msgstr "Går ej att sätta in användarinfo"
-
-#: lib/RT/Transaction_Overlay.pm:159
-msgid "Couldn't add attachment"
-msgstr "Går ej att sätta in bifogad fil"
-
-#: lib/RT/Group_Overlay.pm:1003
-msgid "Couldn't add member to group"
-msgstr "Går ej att lägga till medlem till grupp"
-
-#. ($Msg)
-#: lib/RT/Record.pm:1719
-#: lib/RT/Record.pm:1771
-msgid "Couldn't create a transaction: %1"
-msgstr "GÃ¥r ej att skapa transaktion: %1"
-
-#: lib/RT/Record.pm:953
-msgid "Couldn't find row"
-msgstr "GÃ¥r ej att hitta rad"
-
-#: lib/RT/Group_Overlay.pm:977
-msgid "Couldn't find that principal"
-msgstr "GÃ¥r ej att hitta denna principal"
-
-#: lib/RT/CustomField_Overlay.pm:409
-msgid "Couldn't find that value"
-msgstr "Går ej att hitta detta värde"
-
-#. ($self->Id)
-#: lib/RT/CurrentUser.pm:145
-msgid "Couldn't load %1 from the users database.\\n"
-msgstr "Går ej att läsa in %1 från användarens databas.\\n"
-
-#. ($id)
-#: html/Admin/CustomFields/UserRights.html:149
-msgid "Couldn't load Class %1"
-msgstr "Går ej att läsa in klass %1"
-
-#. ($id)
-#: html/Admin/CustomFields/GroupRights.html:107
-msgid "Couldn't load CustomField %1"
-msgstr "Går ej att läsa in ExtraFält %1"
-
-#. ($self->Id)
-#: lib/RT/Ticket_Overlay.pm:2016
-msgid "Couldn't load copy of ticket #%1."
-msgstr "Går ej att läsa in kopia av ärende #%1."
-
-#. ($id)
-#: html/Admin/Groups/GroupRights.html:109
-#: html/Admin/Groups/UserRights.html:96
-msgid "Couldn't load group %1"
-msgstr "Går ej att läsa in grupp %1"
-
-#: lib/RT/Link_Overlay.pm:202
-#: lib/RT/Link_Overlay.pm:211
-#: lib/RT/Link_Overlay.pm:238
-msgid "Couldn't load link"
-msgstr "Går ej att läsa in länk"
-
-#. ($id)
-#: html/Admin/Elements/ObjectCustomFields:83
-#: html/Admin/Queues/CustomFields.html:59
-#: html/Admin/Users/CustomFields.html:59
-msgid "Couldn't load object %1"
-msgstr "Går ej att läsa in objekt %1"
-
-#. ($id)
-#: html/Admin/Queues/People.html:142
-msgid "Couldn't load queue"
-msgstr "Går ej att läsa in kö"
-
-#. ($id)
-#: html/Admin/Queues/GroupRights.html:122
-#: html/Admin/Queues/UserRights.html:93
-msgid "Couldn't load queue %1"
-msgstr "Går ej att läsa in kö %1"
-
-#. ($id)
-#: html/Admin/Elements/EditScrip:126
-#: html/Admin/Elements/EditScrip:167
-msgid "Couldn't load scrip #%1"
-msgstr "Går ej att läsa in scrip #%1"
-
-#. ($id)
-#: html/SelfService/Display.html:158
-#: lib/RT/Action/CreateTickets.pm:680
-msgid "Couldn't load ticket '%1'"
-msgstr "Går ej att läsa in ärende '%1'"
-
-#. ($args{'URI'})
-#: lib/RT/Ticket_Overlay.pm:2643
-msgid "Couldn't resolve '%1' into a URI."
-msgstr "Kunde inte omvandla '%1' till en URI."
-
-#: html/Admin/Users/Modify.html:173
-#: html/User/Prefs.html:153
-msgid "Country"
-msgstr "Land"
-
-#: html/Admin/Elements/CreateUserCalled:47
-#: html/Admin/Elements/EditCustomField:84
-#: html/Admin/Elements/EditScrip:133
-#: html/Admin/Queues/Template.html:66
-#: html/Elements/QuickCreate:65
-#: html/Ticket/Create.html:168
-#: html/Ticket/Create.html:235
-msgid "Create"
-msgstr "Skapa"
-
-#: etc/initialdata:135
-msgid "Create Tickets"
-msgstr "Skapa Ärenden"
-
-#: html/Admin/CustomFields/Modify.html:150
-#: html/Admin/Elements/EditCustomField:96
-msgid "Create a CustomField"
-msgstr "Skapa ett ExtraFält"
-
-#. ($QueueObj->Name())
-#: html/Admin/Queues/CustomField.html:69
-msgid "Create a CustomField for queue %1"
-msgstr "Skapa ett ExtraFält för kö %1"
-
-#: html/Admin/Groups/Modify.html:125
-#: html/Admin/Groups/Modify.html:99
-msgid "Create a new group"
-msgstr "Skapa en ny grupp"
-
-#: html/User/Groups/Modify.html:113
-#: html/User/Groups/Modify.html:88
-msgid "Create a new personal group"
-msgstr "Skapa en ny personlig grupp"
-
-#: html/Ticket/Create.html:47
-#: html/Ticket/Create.html:51
-#: html/Ticket/Create.html:60
-msgid "Create a new ticket"
-msgstr "Skapa ett nytt ärende"
-
-#: html/Admin/Users/Modify.html:252
-#: html/Admin/Users/Modify.html:314
-msgid "Create a new user"
-msgstr "Skapa en ny användare"
-
-#: html/Admin/Queues/Modify.html:125
-msgid "Create a queue"
-msgstr "Skapa en kö"
-
-#. ($QueueObj->Name)
-#: html/Admin/Queues/Scrip.html:89
-msgid "Create a scrip for queue %1"
-msgstr "Skapa en scrip för kö %1"
-
-#: html/Admin/Global/Template.html:90
-#: html/Admin/Queues/Template.html:86
-msgid "Create a template"
-msgstr "Skapa en mall"
-
-#: html/SelfService/Create.html:46
-#: html/SelfService/CreateTicketInQueue.html:46
-msgid "Create a ticket"
-msgstr "Skapa ett ärende"
-
-#: etc/initialdata:137
-msgid "Create new tickets based on this scrip's template"
-msgstr "Skapa nya ärenden baserade på denna scrips mall"
-
-#: html/SelfService/Create.html:105
-msgid "Create ticket"
-msgstr "Skapa ärende"
-
-#: lib/RT/Queue_Overlay.pm:109
-msgid "Create tickets in this queue"
-msgstr "Skapa ärenden i denna kö"
-
-#: lib/RT/CustomField_Overlay.pm:106
-msgid "Create, delete and modify custom fields"
-msgstr "Skapa, radera och modifiera extrafält"
-
-#: lib/RT/Queue_Overlay.pm:92
-msgid "Create, delete and modify queues"
-msgstr "Skapa, radera och modifiera köer"
-
-#: lib/RT/System.pm:80
-msgid "Create, delete and modify the members of personal groups"
-msgstr "Skapa, radera och modifiera medlemmar av personliga grupper"
-
-#: lib/RT/System.pm:81
-msgid "Create, delete and modify users"
-msgstr "Skapa, radera och modifiera användare"
-
-#: lib/RT/System.pm:87
-msgid "CreateSavedSearch"
-msgstr "SkapaSparadSök"
-
-#: lib/RT/Queue_Overlay.pm:109
-msgid "CreateTicket"
-msgstr "SkapaÄrende"
-
-#: html/Elements/SelectDateType:47
-#: html/Ticket/Elements/ShowDates:48
-#: lib/RT/Ticket_Overlay.pm:1169
-msgid "Created"
-msgstr "Skapat"
-
-#. ($CustomFieldObj->Name())
-#: html/Admin/CustomFields/Modify.html:163
-#: html/Admin/Elements/EditCustomField:117
-msgid "Created CustomField %1"
-msgstr "Skapat ExtraFält %1"
-
-#: html/Tools/Reports/Elements/Tabs:63
-msgid "Created in a date range"
-msgstr "Skapad i en datumintervall"
-
-#: html/Tools/Reports/CreatedByDates.html:52
-msgid "Created tickets in period, grouped by status"
-msgstr "Skapade ärenden under period, grupperade efter status"
-
-#: html/Search/Elements/PickBasics:102
-msgid "Creator"
-msgstr "Skapare"
-
-#: html/Elements/EditLinks:49
-msgid "Current Links"
-msgstr "Nuvarande relationer"
-
-#: html/Admin/Elements/EditScrips:51
-msgid "Current Scrips"
-msgstr "Nuvarande scrips"
-
-#: html/Admin/Groups/Members.html:60
-#: html/User/Groups/Members.html:63
-msgid "Current members"
-msgstr "Nuvarande medlemmar"
-
-#: html/Admin/Elements/SelectRights:51
-msgid "Current rights"
-msgstr "Nuvarande rättigheter"
-
-#: html/Search/Elements/EditQuery:47
-msgid "Current search"
-msgstr "Nuvarande sökning"
-
-#: html/Admin/Queues/People.html:62
-#: html/Ticket/Elements/EditPeople:66
-msgid "Current watchers"
-msgstr "Nuvarande observatörer"
-
-#: html/Admin/Elements/SystemTabs:61
-#: html/Admin/Elements/Tabs:62
-#: html/Admin/Global/index.html:71
-#: html/Admin/Users/Modify.html:205
-#: html/Admin/index.html:77
-#: html/Ticket/Elements/ShowSummary:56
-msgid "Custom Fields"
-msgstr "Extrafält"
-
-#. ($lookup)
-#: html/Admin/CustomFields/index.html:60
-msgid "Custom Fields for %1"
-msgstr "Extrafält för %1"
-
-#: html/Admin/Elements/EditScrip:107
-msgid "Custom action cleanup code"
-msgstr "Specialanpassad handling utrensningskod"
-
-#: html/Admin/Elements/EditScrip:103
-msgid "Custom action preparation code"
-msgstr "Specialanpassad handling förberedelsekod"
-
-#: html/Admin/Elements/EditScrip:99
-msgid "Custom condition"
-msgstr "Specialanpassat villkor"
-
-#. ($CF->Name)
-#: lib/RT/Tickets_Overlay.pm:2424
-msgid "Custom field %1 has a value."
-msgstr "Extrafält %1 har ett värde."
-
-#. ($CF->Name)
-#: lib/RT/Tickets_Overlay.pm:2420
-msgid "Custom field %1 has no value."
-msgstr "Extrafält %1 har inget värde."
-
-#. ($args{'Field'})
-#: lib/RT/Record.pm:1592
-#: lib/RT/Record.pm:1754
-msgid "Custom field %1 not found"
-msgstr "Extrafält %1 ej funnet"
-
-#. ($cf)
-#. ($obj->Name)
-#: lib/RT/Report/Tickets.pm:118
-#: lib/RT/Report/Tickets.pm:121
-msgid "Custom field '%1'"
-msgstr "Extrafält '%1'"
-
-#. ($args{'Content'}, $self->Name)
-#: lib/RT/CustomField_Overlay.pm:1157
-msgid "Custom field value %1 could not be found for custom field %2"
-msgstr "Extrafältvärde %1 går ej att hitta för extrafält %2"
-
-#: lib/RT/CustomField_Overlay.pm:419
-msgid "Custom field value could not be deleted"
-msgstr "Extrafältvärde går ej att radera"
-
-#: lib/RT/CustomField_Overlay.pm:1169
-msgid "Custom field value could not be found"
-msgstr "Extrafält går ej att hitta"
-
-#: lib/RT/CustomField_Overlay.pm:1171
-#: lib/RT/CustomField_Overlay.pm:417
-msgid "Custom field value deleted"
-msgstr "Extrafältvärde raderat"
-
-#: html/Elements/SelectGroups:51
-#: html/Elements/SelectUsers:51
-#: lib/RT/Transaction_Overlay.pm:638
-msgid "CustomField"
-msgstr "ExtraFält"
-
-#: html/Prefs/MyRT.html:78
-#: html/Prefs/Quicksearch.html:70
-#: html/Prefs/Search.html:75
-msgid "Customize"
-msgstr "Anpassa"
-
-#: html/SelfService/Display.html:61
-#: html/Ticket/Create.html:203
-#: html/Ticket/Elements/ShowSummary:83
-#: html/Ticket/Elements/Tabs:116
-#: html/Ticket/ModifyAll.html:65
-msgid "Dates"
-msgstr "Datum"
-
-#: lib/RT/Date.pm:452
-msgid "Dec."
-msgstr "Dec."
-
-#: etc/initialdata:222
-msgid "Default Autoresponse template"
-msgstr "Default Autosvarmall"
-
-#: html/Tools/Offline.html:61
-msgid "Default Queue"
-msgstr "Default Kö"
-
-#: html/Tools/Offline.html:70
-msgid "Default Requestor"
-msgstr "Default rekvirent"
-
-#: etc/initialdata:296
-msgid "Default admin comment template"
-msgstr "Default admin. kommentarmall"
-
-#: etc/initialdata:275
-msgid "Default admin correspondence template"
-msgstr "Default admin. korrespondensmall"
-
-#: etc/initialdata:287
-msgid "Default correspondence template"
-msgstr "Default korrespondensmall"
-
-#: etc/initialdata:253
-msgid "Default transaction template"
-msgstr "Default transaktionsmall"
-
-#: html/User/Delegation.html:46
-#: html/User/Delegation.html:49
-msgid "Delegate rights"
-msgstr "Överlåt rättigheter"
-
-#: lib/RT/System.pm:84
-msgid "Delegate specific rights which have been granted to you."
-msgstr "Överlåt specifika rättigheter som har tilldelats dig."
-
-#: lib/RT/System.pm:84
-msgid "DelegateRights"
-msgstr "ÖverlåtRättigheter"
-
-#: html/User/Elements/Tabs:59
-msgid "Delegation"
-msgstr "Överlåtelse"
-
-#: html/Admin/Elements/EditScrips:75
-#: html/Search/Elements/EditFormat:103
-#: html/Search/Elements/EditQuery:57
-#: html/Search/Elements/EditSearches:63
-#: html/Widgets/SelectionBox:204
-msgid "Delete"
-msgstr "Radera"
-
-#: html/Admin/Elements/EditTemplates:79
-msgid "Delete Template"
-msgstr "Radera Mall"
-
-#. ($msg)
-#: lib/RT/SavedSearch.pm:220
-msgid "Delete failed: %1"
-msgstr "Radering misslyckades: %1"
-
-#: html/Admin/Elements/EditScrips:74
-msgid "Delete selected scrips"
-msgstr "Radera utvalda scrips"
-
-#: lib/RT/Queue_Overlay.pm:114
-msgid "Delete tickets"
-msgstr "Radera ärenden"
-
-#: html/Search/Bulk.html:159
-msgid "Delete values"
-msgstr "Radera värden"
-
-#: lib/RT/Queue_Overlay.pm:114
-msgid "DeleteTicket"
-msgstr "RaderaÄrende"
-
-#: lib/RT/SavedSearch.pm:218
-msgid "Deleted search"
-msgstr "Radera sökning"
-
-#: lib/RT/Queue_Overlay.pm:394
-msgid "Deleting this object would break referential integrity"
-msgstr "Radering av detta objekt bryter referentiell integritet"
-
-#: lib/RT/User_Overlay.pm:512
-msgid "Deleting this object would violate referential integrity"
-msgstr "Radering av detta objekt strider mot referentiell integritet"
-
-#: html/Approvals/Elements/Approve:73
-msgid "Deny"
-msgstr "Avvisa"
-
-#: html/Elements/EditLinks:140
-#: html/Elements/EditLinks:66
-#: html/Elements/ShowLinks:58
-#: html/Ticket/Create.html:221
-#: html/Ticket/Elements/BulkLinks:56
-#: html/Ticket/Elements/ShowDependencies:53
-msgid "Depended on by"
-msgstr "Avhängighet av till"
-
-#. ($value)
-#: lib/RT/Transaction_Overlay.pm:718
-msgid "Dependency by %1 added"
-msgstr "Avhängighet till %1 tillagd"
-
-#. ($value)
-#: lib/RT/Transaction_Overlay.pm:758
-msgid "Dependency by %1 deleted"
-msgstr "Avhängighet till %1 raderad"
-
-#. ($value)
-#: lib/RT/Transaction_Overlay.pm:715
-msgid "Dependency on %1 added"
-msgstr "Avhängighet av %1 tillagd"
-
-#. ($value)
-#: lib/RT/Transaction_Overlay.pm:755
-msgid "Dependency on %1 deleted"
-msgstr "Avhängighet av %1 raderad"
-
-#: html/Elements/EditLinks:136
-#: html/Elements/EditLinks:57
-#: html/Elements/SelectLinkType:48
-#: html/Elements/ShowLinks:48
-#: html/Ticket/Create.html:220
-#: html/Ticket/Elements/BulkLinks:52
-#: html/Ticket/Elements/ShowDependencies:46
-msgid "Depends on"
-msgstr "Avhängig av"
-
-#: html/Search/Elements/DisplayOptions:86
-msgid "Desc"
-msgstr "Fallande"
-
-#: html/Elements/SelectSortOrder:56
-msgid "Descending"
-msgstr "Fallande"
-
-#: html/SelfService/Create.html:100
-#: html/Ticket/Create.html:152
-msgid "Describe the issue below"
-msgstr "Beskriv problemet nedan"
-
-#: html/Admin/CustomFields/Modify.html:61
-#: html/Admin/Elements/AddCustomFieldValue:57
-#: html/Admin/Elements/EditCustomField:60
-#: html/Admin/Elements/EditCustomFieldValues:56
-#: html/Admin/Elements/EditScrip:55
-#: html/Admin/Elements/ModifyTemplate:57
-#: html/Admin/Groups/Modify.html:71
-#: html/Admin/Queues/Modify.html:69
-#: html/Search/Elements/EditSearches:56
-#: html/User/Groups/Modify.html:70
-msgid "Description"
-msgstr "Beskrivning"
-
-#: html/Search/Elements/EditFormat:71
-#: html/Ticket/Elements/Tabs:108
-msgid "Display"
-msgstr "Visa"
-
-#: lib/RT/Queue_Overlay.pm:93
-msgid "Display Access Control List"
-msgstr "Visa Tillgångskontrollista"
-
-#: html/Search/Elements/DisplayOptions:46
-msgid "Display Columns"
-msgstr "Visa kolumner"
-
-#: lib/RT/Queue_Overlay.pm:99
-msgid "Display Scrip templates for this queue"
-msgstr "Visa scrip-mallar för denna kö"
-
-#: lib/RT/Queue_Overlay.pm:102
-msgid "Display Scrips for this queue"
-msgstr "Visa scrips för denna kö"
-
-#: html/Ticket/Elements/ShowHistory:59
-msgid "Display mode"
-msgstr "Visa modus"
-
-#: lib/RT/Group_Overlay.pm:168
-msgid "Display saved searches for this group"
-msgstr "Visa sparade sökningar för denna grupp"
-
-#: html/Elements/Footer:61
-msgid "Distributed under version 2 <a href=\"http://www.gnu.org/copyleft/gpl.html\"> of the GNU GPL.</a>"
-msgstr "Distribuerade under version 2 <a href=\"http://www.gnu.org/copyleft/gpl.html\"> of the GNU GPL.</a>"
-
-#: lib/RT/System.pm:75
-msgid "Do anything and everything"
-msgstr "Gör något och allt"
-
-#: html/Elements/Refresh:51
-msgid "Don't refresh this page."
-msgstr "Återinläs inte denna sida."
-
-#: html/Ticket/Elements/ShowTransactionAttachments:82
-msgid "Download"
-msgstr "Ladda ner"
-
-#: html/Admin/Groups/index.html:61
-#: html/Admin/Users/index.html:64
-msgid "Download as a tab-delimited file"
-msgstr "Ladda ner som tab-uppdelad fil"
-
-#: html/Elements/SelectDateType:53
-#: html/Ticket/Create.html:209
-#: html/Ticket/Elements/EditDates:66
-#: html/Ticket/Elements/Reminders:133
-#: html/Ticket/Elements/ShowDates:64
-#: lib/RT/Ticket_Overlay.pm:1173
-msgid "Due"
-msgstr "Förfallo"
-
-#: html/Elements/Quicksearch:48
-#: html/Elements/ShowSearch:49
-#: html/index.html:107
-msgid "Edit"
-msgstr "Redigera"
-
-#: html/Search/Bulk.html:149
-msgid "Edit Custom Fields"
-msgstr "Redigera extrafält"
-
-#. ($Object->Name)
-#: html/Admin/Elements/ObjectCustomFields:92
-#: html/Admin/Queues/CustomFields.html:64
-#: html/Admin/Users/CustomFields.html:64
-msgid "Edit Custom Fields for %1"
-msgstr "Redigera extrafält för %1"
-
-#: html/Admin/Global/CustomFields/Groups.html:54
-msgid "Edit Custom Fields for all groups"
-msgstr "Redigera extrafält för alla grupper"
-
-#: html/Admin/Global/CustomFields/Users.html:54
-msgid "Edit Custom Fields for all users"
-msgstr "Redigera extrafält för alla användare"
-
-#: html/Admin/Global/CustomFields/Queue-Tickets.html:54
-#: html/Admin/Global/CustomFields/Queue-Transactions.html:54
-msgid "Edit Custom Fields for tickets in all queues"
-msgstr "Redigera extrafält för ärenden i alla köer"
-
-#: html/Search/Bulk.html:188
-#: html/Ticket/ModifyLinks.html:57
-msgid "Edit Links"
-msgstr "Redigera länkar"
-
-#: html/Search/Edit.html:68
-msgid "Edit Query"
-msgstr "Redigera söksträng"
-
-#: html/Ticket/Elements/Tabs:214
-msgid "Edit Search"
-msgstr "Redigera sökning"
-
-#. ($QueueObj->Name)
-#: html/Admin/Queues/Templates.html:63
-msgid "Edit Templates for queue %1"
-msgstr "Redigera mallar för kö %1"
-
-#: lib/RT/Group_Overlay.pm:167
-msgid "Edit saved searches for this group"
-msgstr "Redigera sparade sökningar för denna grupp"
-
-#: html/Admin/Elements/GlobalCustomFieldTabs:60
-#: html/Admin/Global/index.html:67
-msgid "Edit system templates"
-msgstr "Redigera systemmallar"
-
-#: lib/RT/Group_Overlay.pm:167
-msgid "EditSavedSearches"
-msgstr "RedigeraSparadeSökningar"
-
-#. ($QueueObj->Name)
-#: html/Admin/Queues/Modify.html:140
-msgid "Editing Configuration for queue %1"
-msgstr "Redigera konfiguration för kö %1"
-
-#. ($CustomFieldObj->Name())
-#: html/Admin/CustomFields/Modify.html:167
-#: html/Admin/Elements/EditCustomField:120
-msgid "Editing CustomField %1"
-msgstr "Redigera extrafält %1"
-
-#. ($Group->Name)
-#: html/Admin/Groups/Members.html:53
-msgid "Editing membership for group %1"
-msgstr "Redigera medlemskap för grupp %1"
-
-#. ($Group->Name)
-#: html/User/Groups/Members.html:150
-msgid "Editing membership for personal group %1"
-msgstr "Redigera medlemskap för personlig grupp %1"
-
-#: lib/RT/Record.pm:1295
-#: lib/RT/Record.pm:1372
-#: lib/RT/Ticket_Overlay.pm:2518
-#: lib/RT/Ticket_Overlay.pm:2608
-msgid "Either base or target must be specified"
-msgstr "Antingen bas eller mål måste specificeras"
-
-#: html/Admin/Users/Modify.html:74
-#: html/Ticket/Elements/AddWatchers:77
-#: html/User/Prefs.html:65
-msgid "Email"
-msgstr "E-post"
-
-#: lib/RT/User_Overlay.pm:235
-msgid "Email address in use"
-msgstr "E-postadress används"
-
-#: html/Admin/CustomFields/Modify.html:98
-#: html/Admin/Elements/EditCustomField:72
-msgid "Enabled (Unchecking this box disables this custom field)"
-msgstr "Aktiverad (Bortval av denna box deaktiverar detta extrafält)"
-
-#: html/Admin/Groups/Modify.html:84
-#: html/User/Groups/Modify.html:74
-msgid "Enabled (Unchecking this box disables this group)"
-msgstr "Aktiverad (Bortval av denna box deaktiverar denna grupp)"
-
-#: html/Admin/Queues/Modify.html:105
-msgid "Enabled (Unchecking this box disables this queue)"
-msgstr "Aktiverad (Bortval av denna box deaktiverar denna kö)"
-
-#: html/Admin/Queues/index.html:78
-msgid "Enabled Queues"
-msgstr "Aktiverade köer"
-
-#. (loc_fuzzy($msg))
-#: html/Admin/Elements/EditCustomField:136
-#: html/Admin/Groups/Modify.html:150
-#: html/Admin/Users/Modify.html:350
-#: html/User/Groups/Modify.html:138
-msgid "Enabled status %1"
-msgstr "Aktiverad status %1"
-
-#. (loc_fuzzy($msg))
-#: html/Admin/CustomFields/Modify.html:185
-#: html/Admin/Queues/Modify.html:162
-msgid "Enabled status: %1"
-msgstr "Aktiverad status: %1"
-
-#: lib/RT/CustomField_Overlay.pm:64
-msgid "Enter multiple values"
-msgstr "Mata in flera värden"
-
-#: html/Elements/EditLinks:126
-msgid "Enter objects or URIs to link objects to. Separate multiple entries with spaces."
-msgstr "Mata in objekt eller URI att koppla objekt till. Separera flera inmatningar med mellanrum."
-
-#: lib/RT/CustomField_Overlay.pm:65
-msgid "Enter one value"
-msgstr "Mata in ett värde"
-
-#: html/Elements/EditLinks:123
-msgid "Enter queues or URIs to link queues to. Separate multiple entries with spaces."
-msgstr "Mata in köer eller URI att koppla köer till. Separera flera inmatningar med mellanrum."
-
-#: html/Elements/EditLinks:119
-#: html/Search/Bulk.html:189
-msgid "Enter tickets or URIs to link tickets to. Separate multiple entries with spaces."
-msgstr "Mata in ärenden eller URI att koppla ärenden till. Separera flera inmatningar med mellanrum."
-
-#: lib/RT/CustomField_Overlay.pm:66
-msgid "Enter up to %1 values"
-msgstr "Mata in upp till %1 värde"
-
-#: html/Elements/Login:76
-#: html/SelfService/Error.html:46
-#: html/SelfService/Error.html:47
-msgid "Error"
-msgstr "Fel"
-
-#: lib/RT/Queue_Overlay.pm:672
-msgid "Error in parameters to Queue->AddWatcher"
-msgstr "Fel i parametrar till Kö->LäggtillObservatör"
-
-#: lib/RT/Queue_Overlay.pm:833
-msgid "Error in parameters to Queue->DeleteWatcher"
-msgstr "Fel i parametrar till Kö->RaderaObservatör"
-
-#: lib/RT/Ticket_Overlay.pm:1372
-msgid "Error in parameters to Ticket->AddWatcher"
-msgstr "Fel i parametrar till Ärende->LäggtillObservatör"
-
-#: lib/RT/Ticket_Overlay.pm:1538
-msgid "Error in parameters to Ticket->DeleteWatcher"
-msgstr "Fel i parametrar till Ärende->RaderaObservatör"
-
-#: bin/rt-crontool:285
-msgid "Escalate tickets"
-msgstr "Eskalera ärenden"
-
-#: html/Ticket/Elements/ShowBasics:57
-msgid "Estimated"
-msgstr "Uppskattning"
-
-#: etc/initialdata:20
-msgid "Everyone"
-msgstr "Alla"
-
-#: bin/rt-crontool:271
-msgid "Example:"
-msgstr "Exempel:"
-
-#: html/Admin/Users/Modify.html:99
-msgid "Extra info"
-msgstr "Extra info"
-
-#: lib/RT/SavedSearch.pm:177
-msgid "Failed to create search attribute"
-msgstr "Misslyckades med att skapa sökattribut"
-
-#: lib/RT/User_Overlay.pm:376
-msgid "Failed to find 'Privileged' users pseudogroup."
-msgstr "Misslyckades med att hitta 'Privilegierad'-användares pseudogrupp."
-
-#: lib/RT/User_Overlay.pm:383
-msgid "Failed to find 'Unprivileged' users pseudogroup"
-msgstr "Misslyckades med att hitta 'Icke-privilegierad'-användares pseudogrupp"
-
-#. ($modname, $@)
-#: bin/rt-crontool:206
-msgid "Failed to load module %1. (%2)"
-msgstr "Misslyckades med att läsa in modul %1. (%2)"
-
-#. ($privacy)
-#: lib/RT/SavedSearch.pm:152
-msgid "Failed to load object for %1"
-msgstr "Misslyckades med att läsa in objekt för %1"
-
-#: lib/RT/Date.pm:442
-msgid "Feb."
-msgstr "Feb."
-
-#: html/Elements/SelectAttachmentField:50
-msgid "Filename"
-msgstr "Filnamn"
-
-#: lib/RT/CustomField_Overlay.pm:69
-msgid "Fill in multiple text areas"
-msgstr "Fyll i flera textområden"
-
-#: lib/RT/CustomField_Overlay.pm:74
-msgid "Fill in multiple wikitext areas"
-msgstr "Fyll i flera wikitextområden"
-
-#: lib/RT/CustomField_Overlay.pm:70
-msgid "Fill in one text area"
-msgstr "Fyll i ett textområde"
-
-#: lib/RT/CustomField_Overlay.pm:75
-msgid "Fill in one wikitext area"
-msgstr "Fyll i ett wikitextområde"
-
-#: html/Admin/CustomFields/Modify.html:107
-#: html/Admin/CustomFields/Modify.html:118
-msgid "Fill in this field with a URL."
-msgstr "Fyll i detta fält med en URL."
-
-#: lib/RT/CustomField_Overlay.pm:71
-msgid "Fill in up to %1 text areas"
-msgstr "Fyll i upp till %1 textområden"
-
-#: lib/RT/CustomField_Overlay.pm:76
-msgid "Fill in up to %1 wikitext areas"
-msgstr "Fyll i upp till %1 wikitextområden"
-
-#: html/Search/Elements/PickBasics:149
-#: html/Ticket/Create.html:182
-#: html/Ticket/Elements/EditBasics:97
-#: lib/RT/Tickets_Overlay.pm:1841
-msgid "Final Priority"
-msgstr "Slutlig Prioritet"
-
-#: lib/RT/Ticket_Overlay.pm:1164
-msgid "FinalPriority"
-msgstr "SlutligPrioritet"
-
-#: html/Admin/Groups/index.html:72
-#: html/Admin/Queues/People.html:82
-#: html/Ticket/Elements/EditPeople:55
-msgid "Find groups whose"
-msgstr "Hitta grupper vars"
-
-#: html/Admin/Queues/People.html:78
-#: html/Admin/Users/index.html:70
-#: html/Ticket/Elements/EditPeople:51
-msgid "Find people whose"
-msgstr "Hitta personer vars"
-
-#: html/Search/Results.html:147
-msgid "Find tickets"
-msgstr "Hitta ärenden"
-
-#: html/Ticket/Elements/Tabs:81
-msgid "First"
-msgstr "Första"
-
-#: docs/design_docs/string-extraction-guide.txt:33
-#: lib/RT/StyleGuide.pod:766
-msgid "Foo Bar Baz"
-msgstr "Foo Bar Baz"
-
-#: docs/design_docs/string-extraction-guide.txt:24
-#: lib/RT/StyleGuide.pod:757
-msgid "Foo!"
-msgstr "Foo!"
-
-#: html/Search/Bulk.html:83
-msgid "Force change"
-msgstr "Genomtvinga ändring"
-
-#: html/Search/Elements/EditFormat:52
-msgid "Format"
-msgstr "Format"
-
-#. ($ticketcount)
-#: html/Search/Results.html:145
-msgid "Found %quant(%1,ticket)"
-msgstr "Hittade %quant(%1,ärende)"
-
-#: lib/RT/Record.pm:956
-msgid "Found Object"
-msgstr "Hittade Objekt"
-
-#: lib/RT/Date.pm:421
-msgid "Fri."
-msgstr "Fre."
-
-#: html/Ticket/Elements/ShowHistory:66
-#: html/Ticket/Elements/ShowHistory:72
-msgid "Full headers"
-msgstr "Fullständiga headers"
-
-#: html/Tools/Offline.html:85
-msgid "Get template from file"
-msgstr "Hämta mall från fil"
-
-#. ($New->Name)
-#: lib/RT/Transaction_Overlay.pm:684
-msgid "Given to %1"
-msgstr "Har givits till %1"
-
-#: html/Admin/Elements/Tabs:65
-#: html/Admin/index.html:82
-msgid "Global"
-msgstr "Global"
-
-#: html/Admin/Elements/EditCustomFields:55
-msgid "Global Custom Fields"
-msgstr "Globala extrafält"
-
-#: html/Admin/Global/CustomFields/index.html:59
-msgid "Global custom field configuration"
-msgstr "Global extrafältkonfiguration"
-
-#. ($pane)
-#: html/Admin/Global/MyRT.html:48
-msgid "Global portlet %1 saved."
-msgstr "Global portlet %1 sparad."
-
-#. (loc($Template->Name))
-#: html/Admin/Elements/SelectTemplate:59
-msgid "Global template: %1"
-msgstr "Global mall: %1"
-
-#: html/Admin/CustomFields/index.html:80
-#: html/Search/Results.html:90
-#: html/Tools/Offline.html:89
-msgid "Go"
-msgstr "Starta"
-
-#: html/Admin/Groups/index.html:67
-#: html/Admin/Groups/index.html:73
-#: html/Admin/Queues/People.html:80
-#: html/Admin/Queues/People.html:84
-#: html/Admin/Queues/index.html:66
-#: html/Admin/Users/index.html:73
-#: html/Elements/RefreshHomepage:48
-#: html/Search/Results.html:74
-#: html/Ticket/Elements/EditPeople:53
-#: html/Ticket/Elements/EditPeople:57
-msgid "Go!"
-msgstr "Starta!"
-
-#: html/Elements/GotoTicket:46
-#: html/SelfService/Elements/GotoTicket:46
-msgid "Goto ticket"
-msgstr "Gå till ärende"
-
-#: html/Ticket/Elements/AddWatchers:67
-#: html/Ticket/Elements/ShowGroupMembers:55
-#: html/User/Elements/DelegateRights:99
-msgid "Group"
-msgstr "Grupp"
-
-#: html/Admin/Elements/CustomFieldTabs:68
-#: html/Admin/Elements/GroupTabs:66
-#: html/Admin/Elements/QueueTabs:82
-#: html/Admin/Elements/SystemTabs:65
-#: html/Admin/Global/index.html:76
-msgid "Group Rights"
-msgstr "Grupprättigheter"
-
-#: lib/RT/Group_Overlay.pm:983
-msgid "Group already has member"
-msgstr "Grupp har redan medlem"
-
-#. ($create_msg)
-#: html/Admin/Groups/Modify.html:109
-msgid "Group could not be created: %1"
-msgstr "Grupp kan inte skapas: %1"
-
-#: lib/RT/Group_Overlay.pm:521
-msgid "Group created"
-msgstr "Grupp har skapats"
-
-#: lib/RT/Group_Overlay.pm:1155
-msgid "Group has no such member"
-msgstr "Grupp har ingen sådan medlem"
-
-#: lib/RT/Group_Overlay.pm:963
-#: lib/RT/Queue_Overlay.pm:748
-#: lib/RT/Queue_Overlay.pm:808
-#: lib/RT/Ticket_Overlay.pm:1430
-#: lib/RT/Ticket_Overlay.pm:1510
-msgid "Group not found"
-msgstr "Grupp ej funnen"
-
-#: html/Admin/Elements/GlobalCustomFieldTabs:59
-#: html/Admin/Elements/SelectNewGroupMembers:57
-#: html/Admin/Elements/Tabs:56
-#: html/Admin/Global/CustomFields/index.html:69
-#: html/Admin/Groups/Members.html:86
-#: html/Admin/Queues/People.html:104
-#: html/Admin/Users/Memberships.html:53
-#: html/Admin/index.html:67
-#: html/User/Groups/Members.html:88
-#: lib/RT/CustomField_Overlay.pm:1210
-msgid "Groups"
-msgstr "Grupper"
-
-#: lib/RT/Group_Overlay.pm:989
-msgid "Groups can't be members of their members"
-msgstr "Grupper kan inte vara medlemmar av sina medlemmar"
-
-#: html/Admin/Groups/index.html:86
-msgid "Groups matching search criteria"
-msgstr "Grupper som matchar sökkriterium"
-
-#: html/Ticket/Elements/ShowRequestor:77
-msgid "Groups this user belongs to"
-msgstr "Grupper som denna användare tillhör"
-
-#: lib/RT/Interface/CLI.pm:94
-msgid "Hello!"
-msgstr "Hej!"
-
-#. ($name)
-#: docs/design_docs/string-extraction-guide.txt:40
-#: lib/RT/StyleGuide.pod:773
-msgid "Hello, %1"
-msgstr "Hej, %1"
-
-#: html/Admin/Elements/GroupTabs:70
-#: html/Admin/Elements/UserTabs:64
-#: html/Ticket/Elements/ShowHistory:53
-#: html/Ticket/Elements/Tabs:111
-msgid "History"
-msgstr "Historik"
-
-#. ($GroupObj->Name)
-#: html/Admin/Groups/History.html:62
-msgid "History of the group %1"
-msgstr "Historik för gruppen %1"
-
-#. ($UserObj->Name)
-#: html/Admin/Users/History.html:62
-msgid "History of the user %1"
-msgstr "Historik för användaren %1"
-
-#: html/Elements/Tabs:65
-msgid "Homepage"
-msgstr "Hemadress"
-
-#: html/Elements/SelectTimeUnits:48
-msgid "Hours"
-msgstr "Timmar"
-
-#. (6)
-#: lib/RT/Base.pm:119
-msgid "I have %quant(%1,concrete mixer)."
-msgstr "Jag har %quant(%1,concrete mixer)."
-
-#: html/Search/Build.html:460
-#: lib/RT/Report/Tickets.pm:415
-msgid "I'm lost"
-msgstr "Jag är vilse"
-
-#: html/Ticket/Elements/ShowBasics:48
-#: lib/RT/Tickets_Overlay.pm:1766
-msgid "Id"
-msgstr "ID"
-
-#: html/Admin/Users/Modify.html:65
-#: html/User/Prefs.html:60
-msgid "Identity"
-msgstr "Identitet"
-
-#: etc/initialdata:429
-msgid "If an approval is rejected, reject the original and delete pending approvals"
-msgstr "Om ett godkännande avvisas, avvisa det ursprungliga och radera väntande godkännanden"
-
-#: html/Tools/Offline.html:74
-msgid "If no Requestor is specified, create tickets with this requestor."
-msgstr "Om ingen rekvirent har specificerats, skapa ärenden med denna rekvirent."
-
-#: html/Tools/Offline.html:65
-msgid "If no queue is specified, create tickets in this queue."
-msgstr "Om ingen kö har specificerats, skapa ärenden i denna kö."
-
-#: bin/rt-crontool:267
-msgid "If this tool were setgid, a hostile local user could use this tool to gain administrative access to RT."
-msgstr "Om detta verktyg var setgid, kunde en fientlig användare använda detta verktyg för att få administrativ tillgång till RT."
-
-#: html/Admin/Queues/People.html:126
-#: html/Ticket/Modify.html:60
-#: html/Ticket/ModifyAll.html:128
-#: html/Ticket/ModifyPeople.html:60
-msgid "If you've updated anything above, be sure to"
-msgstr "Om du har uppdaterat någonting av ovanstående, se till att"
-
-#: lib/RT/Record.pm:947
-msgid "Illegal value for %1"
-msgstr "Ogiltigt värde för %1"
-
-#: lib/RT/Record.pm:950
-msgid "Immutable field"
-msgstr "Oföränderligt fält"
-
-#: html/Admin/Groups/index.html:65
-msgid "Include disabled groups in listing."
-msgstr "Ta med deaktiverade grupper på lista."
-
-#: html/Admin/Queues/index.html:65
-msgid "Include disabled queues in listing."
-msgstr "Ta med deaktiverade köer på lista."
-
-#: html/Admin/Users/index.html:71
-msgid "Include disabled users in search."
-msgstr "Ta med deaktiverade användare på lista."
-
-#: html/Admin/CustomFields/Modify.html:113
-msgid "Include page"
-msgstr "Inkludera sida"
-
-#: html/Search/Build.html:486
-#: lib/RT/Report/Tickets.pm:441
-msgid "Incomplete Query"
-msgstr "Ofullständig sökning"
-
-#: html/Search/Build.html:483
-#: lib/RT/Report/Tickets.pm:438
-msgid "Incomplete query"
-msgstr "Ofullständig sökning"
-
-#: html/Search/Elements/PickBasics:148
-#: lib/RT/Tickets_Overlay.pm:1816
-msgid "Initial Priority"
-msgstr "Initiell prioritet"
-
-#: lib/RT/Ticket_Overlay.pm:1163
-#: lib/RT/Ticket_Overlay.pm:1165
-msgid "InitialPriority"
-msgstr "InitiellPrioritet"
-
-#: lib/RT/ScripAction_Overlay.pm:133
-msgid "Input error"
-msgstr "Inläsningsfel"
-
-#. ($CF->FriendlyPattern)
-#. ($self->FriendlyPattern)
-#: html/Elements/ValidateCustomFields:68
-#: lib/RT/CustomField_Overlay.pm:1021
-#: lib/RT/CustomField_Overlay.pm:1162
-msgid "Input must match %1"
-msgstr "Inläsning måste matcha %1"
-
-#: lib/RT/Ticket_Overlay.pm:3503
-msgid "Internal Error"
-msgstr "Internt fel"
-
-#. ($id->{error_message})
-#: lib/RT/Record.pm:308
-msgid "Internal Error: %1"
-msgstr "Internt fel: %1"
-
-#: lib/RT/Group_Overlay.pm:668
-msgid "Invalid Group Type"
-msgstr "Ogiltig grupptyp"
-
-#: lib/RT/Principal_Overlay.pm:161
-msgid "Invalid Right"
-msgstr "Ogiltig rättighet"
-
-#: lib/RT/Record.pm:952
-msgid "Invalid data"
-msgstr "Ogiltig data"
-
-#. ($msg)
-#: lib/RT/CustomField_Overlay.pm:207
-#: lib/RT/CustomField_Overlay.pm:678
-msgid "Invalid pattern: %1"
-msgstr "Ogiltigt mönster: %1"
-
-#: lib/RT/Scrip_Overlay.pm:157
-#: lib/RT/Template_Overlay.pm:244
-msgid "Invalid queue"
-msgstr "Ogiltig kö"
-
-#: lib/RT/ACE_Overlay.pm:264
-#: lib/RT/ACE_Overlay.pm:273
-#: lib/RT/ACE_Overlay.pm:279
-#: lib/RT/ACE_Overlay.pm:290
-msgid "Invalid right"
-msgstr "Ogiltig rättighet"
-
-#. ($key)
-#: lib/RT/Record.pm:283
-msgid "Invalid value for %1"
-msgstr "Ogiltigt värde för %1"
-
-#: lib/RT/Record.pm:1610
-msgid "Invalid value for custom field"
-msgstr "Ogiltigt värde för extrafält"
-
-#: lib/RT/Ticket_Overlay.pm:424
-msgid "Invalid value for status"
-msgstr "Ogiltigt värde för status"
-
-#: bin/rt-crontool:268
-msgid "It is incredibly important that nonprivileged users not be allowed to run this tool."
-msgstr "Det är oerhört viktigt att icke-privilegierade användare inte får lov att använda detta verktyg."
-
-#: bin/rt-crontool:269
-msgid "It is suggested that you create a non-privileged unix user with the correct group membership and RT access to run this tool."
-msgstr "Det rekommenderas att du skapar en icke-privilegierad unix-användare med korrekt gruppmedlemskap och RT för att använda detta verktyg."
-
-#: bin/rt-crontool:231
-msgid "It takes several arguments:"
-msgstr "Det krävs åtskilliga parametrar:"
-
-#: html/Search/Elements/EditFormat:85
-msgid "Italic"
-msgstr "Kursiv"
-
-#: lib/RT/Date.pm:441
-msgid "Jan."
-msgstr "Jan."
-
-#: lib/RT/Group_Overlay.pm:166
-msgid "Join or leave this group"
-msgstr "Gå med i eller lämna denna grupp"
-
-#: lib/RT/Date.pm:447
-msgid "Jul."
-msgstr "Juli"
-
-#: html/Ticket/Elements/Tabs:125
-msgid "Jumbo"
-msgstr "Jumbo"
-
-#: lib/RT/Date.pm:446
-msgid "Jun."
-msgstr "Juni"
-
-#: html/Admin/Users/Modify.html:94
-#: html/User/Prefs.html:76
-msgid "Language"
-msgstr "Språk"
-
-#: html/Search/Elements/EditFormat:79
-msgid "Large"
-msgstr "Stor"
-
-#: html/Ticket/Elements/Tabs:96
-msgid "Last"
-msgstr "Senaste"
-
-#: html/Ticket/Elements/EditDates:59
-#: html/Ticket/Elements/ShowDates:60
-msgid "Last Contact"
-msgstr "Senaste kontakt"
-
-#: html/Elements/SelectDateType:50
-msgid "Last Contacted"
-msgstr "Senast kontaktad"
-
-#: html/Elements/SelectDateType:51
-msgid "Last Updated"
-msgstr "Senast uppdaterad"
-
-#: html/Search/Elements/PickBasics:103
-msgid "LastUpdatedBy"
-msgstr "SenastUppdateradAv"
-
-#: html/Ticket/Elements/ShowBasics:68
-msgid "Left"
-msgstr "Tillbaka"
-
-#: html/Admin/Users/Modify.html:109
-msgid "Let this user access RT"
-msgstr "Låt denna användare få tillgång till RT"
-
-#: html/Admin/Users/Modify.html:113
-msgid "Let this user be granted rights"
-msgstr "Låt denna användare få rättigheter"
-
-#: html/Search/Elements/EditFormat:68
-msgid "Link"
-msgstr "Länk"
-
-#: lib/RT/Record.pm:1306
-msgid "Link already exists"
-msgstr "Länk finns redan"
-
-#: lib/RT/Record.pm:1320
-msgid "Link could not be created"
-msgstr "Länk kan inte skapas"
-
-#. ($TransString)
-#: lib/RT/Record.pm:1326
-msgid "Link created (%1)"
-msgstr "Länk har skapats (%1)"
-
-#. ($TransString)
-#: lib/RT/Record.pm:1387
-msgid "Link deleted (%1)"
-msgstr "Länk har raderats (%1)"
-
-#: lib/RT/Record.pm:1393
-msgid "Link not found"
-msgstr "Länk ej funnen"
-
-#. ($Ticket->Id)
-#: html/Ticket/ModifyLinks.html:46
-#: html/Ticket/ModifyLinks.html:50
-msgid "Link ticket #%1"
-msgstr "Koppla ärende #%1"
-
-#: html/Admin/CustomFields/Modify.html:102
-msgid "Link values to"
-msgstr "Koppla värden till"
-
-#: lib/RT/Ticket_Overlay.pm:700
-msgid "Linking. Permission denied"
-msgstr "Koppling. Tillgång nekas"
-
-#: html/Ticket/Create.html:216
-#: html/Ticket/Elements/ShowSummary:89
-#: html/Ticket/Elements/Tabs:120
-#: html/Ticket/ModifyAll.html:78
-msgid "Links"
-msgstr "Länkar"
-
-#: html/Search/Elements/EditSearches:75
-msgid "Load"
-msgstr "Läs in"
-
-#: html/Search/Elements/EditSearches:73
-msgid "Load saved search:"
-msgstr "Läs in sparad sökning:"
-
-#: lib/RT/System.pm:86
-msgid "LoadSavedSearch"
-msgstr "LäsinSparadSökning"
-
-#: html/Admin/Tools/Configuration.html:64
-msgid "Loaded perl modules"
-msgstr "Inlästa Perl-moduler"
-
-#. ($self->Name)
-#: lib/RT/SavedSearch.pm:111
-msgid "Loaded search %1"
-msgstr "Inläst sökning %1"
-
-#: html/Admin/Users/Modify.html:138
-#: html/User/Prefs.html:126
-msgid "Location"
-msgstr "Plats"
-
-#. ("<span>".$session{'CurrentUser'}->Name."</span>")
-#: html/Elements/Header:91
-msgid "Logged in as %1"
-msgstr "Inloggad som %1"
-
-#: docs/design_docs/string-extraction-guide.txt:71
-#: html/Elements/Login:100
-#: html/Elements/Login:68
-#: html/Elements/Login:84
-#: lib/RT/StyleGuide.pod:797
-msgid "Login"
-msgstr "Logga in"
-
-#: html/Elements/Header:101
-msgid "Logout"
-msgstr "Logga ut"
-
-#: lib/RT/CustomField_Overlay.pm:932
-msgid "Lookup type mismatch"
-msgstr "Uppslagstyp matchar ej"
-
-#: html/Search/Bulk.html:82
-msgid "Make Owner"
-msgstr "Sätt ägare"
-
-#: html/Search/Bulk.html:106
-msgid "Make Status"
-msgstr "Sätt status"
-
-#: html/Search/Bulk.html:114
-msgid "Make date Due"
-msgstr "Sätt förfallodatum"
-
-#: html/Search/Bulk.html:116
-msgid "Make date Resolved"
-msgstr "Sätt lösningsdatum"
-
-#: html/Search/Bulk.html:110
-msgid "Make date Started"
-msgstr "Sätt startdatum"
-
-#: html/Search/Bulk.html:108
-msgid "Make date Starts"
-msgstr "Sätt datum startar"
-
-#: html/Search/Bulk.html:112
-msgid "Make date Told"
-msgstr "Sätt datum uppgivet"
-
-#: html/Search/Bulk.html:102
-msgid "Make priority"
-msgstr "Sätt prioritet"
-
-#: html/Search/Bulk.html:104
-msgid "Make queue"
-msgstr "Sätt kö"
-
-#: html/Search/Bulk.html:100
-msgid "Make subject"
-msgstr "Sätt ämne"
-
-#: lib/RT/Group_Overlay.pm:169
-msgid "Make this group visible to user"
-msgstr "Gör denna grupp synlig för användare"
-
-#: html/Admin/index.html:78
-msgid "Manage custom fields and custom field values"
-msgstr "Administrera extrafält och extrafältvärde"
-
-#: html/Admin/index.html:69
-msgid "Manage groups and group membership"
-msgstr "Administrera grupper och gruppmedlemskap"
-
-#: html/Admin/index.html:85
-msgid "Manage properties and configuration which apply to all queues"
-msgstr "Administrera egenskaper och konfiguration som gäller för alla köer"
-
-#: html/Admin/index.html:74
-msgid "Manage queues and queue-specific properties"
-msgstr "Administrera köer och kö-specifika egenskaper"
-
-#: html/Admin/index.html:64
-msgid "Manage users and passwords"
-msgstr "Administrera användare och lösenord"
-
-#: lib/RT/Date.pm:443
-msgid "Mar."
-msgstr "Mars"
-
-#: lib/RT/Date.pm:445
-msgid "May."
-msgstr "Maj"
-
-#. ($value)
-#: lib/RT/Transaction_Overlay.pm:731
-msgid "Member %1 added"
-msgstr "Medlem %1 tillagd"
-
-#. ($value)
-#: lib/RT/Transaction_Overlay.pm:771
-msgid "Member %1 deleted"
-msgstr "Medlem %1 raderad"
-
-#: lib/RT/Group_Overlay.pm:1000
-msgid "Member added"
-msgstr "Medlem tillagd"
-
-#: lib/RT/Group_Overlay.pm:1162
-msgid "Member deleted"
-msgstr "Medlem raderad"
-
-#: lib/RT/Group_Overlay.pm:1166
-msgid "Member not deleted"
-msgstr "Medlem ej raderad"
-
-#: html/Elements/SelectLinkType:47
-msgid "Member of"
-msgstr "Medlem av"
-
-#: html/Admin/Elements/GroupTabs:63
-#: html/User/Elements/GroupTabs:63
-msgid "Members"
-msgstr "Medlemmar"
-
-#. ($value)
-#: lib/RT/Transaction_Overlay.pm:728
-msgid "Membership in %1 added"
-msgstr "Medlemskap i %1 tillagt"
-
-#. ($value)
-#: lib/RT/Transaction_Overlay.pm:768
-msgid "Membership in %1 deleted"
-msgstr "Medlemskap i %1 raderat"
-
-#: html/Admin/Elements/UserTabs:61
-msgid "Memberships"
-msgstr "Medlemskap"
-
-#. ($UserObj->Name)
-#: html/Admin/Users/Memberships.html:60
-msgid "Memberships of the user %1"
-msgstr "Medlemskap för användaren %1"
-
-#: lib/RT/Ticket_Overlay.pm:2893
-msgid "Merge Successful"
-msgstr "Sammanslagning lyckades"
-
-#: lib/RT/Ticket_Overlay.pm:2780
-msgid "Merge failed. Couldn't set EffectiveId"
-msgstr "Sammanslagning misslyckades. Kunde inte sätta EffectiveId"
-
-#: lib/RT/Ticket_Overlay.pm:2788
-msgid "Merge failed. Couldn't set Status"
-msgstr "Sammanslagning misslyckades. Kunde inte sätta status"
-
-#: html/Elements/EditLinks:131
-#: html/Ticket/Elements/BulkLinks:48
-msgid "Merge into"
-msgstr "Slå samman med"
-
-#. ($value)
-#: lib/RT/Transaction_Overlay.pm:734
-msgid "Merged into %1"
-msgstr "Sammanslagen med %1"
-
-#: html/Search/Bulk.html:143
-#: html/Ticket/Update.html:118
-msgid "Message"
-msgstr "Meddelande"
-
-#: html/Ticket/Elements/ShowTransactionAttachments:164
-msgid "Message body not shown because it is too large or is not plain text."
-msgstr "Meddelande visades inte eftersom det är för omfångsrikt eller består av annat än vanlig text."
-
-#: lib/RT/Ticket_Overlay.pm:2451
-msgid "Message could not be recorded"
-msgstr "Meddelande sparades inte"
-
-#: lib/RT/Ticket_Overlay.pm:2454
-msgid "Message recorded"
-msgstr "Meddelande sparat"
-
-#: html/Ticket/Elements/PreviewScrips:122
-msgid "Messages about this ticket will not be sent to..."
-msgstr "Meddelande om detta ärende kommer inte att skickas till..."
-
-#: html/Elements/SelectTimeUnits:47
-msgid "Minutes"
-msgstr "Minuter"
-
-#: html/Search/Build.html:490
-#: lib/RT/Report/Tickets.pm:445
-msgid "Mismatched parentheses"
-msgstr "Icke-matchande paranteser"
-
-#: lib/RT/Record.pm:954
-msgid "Missing a primary key?: %1"
-msgstr "Saknas en primärnyckel?: %1"
-
-#: html/Admin/Users/Modify.html:193
-#: html/User/Prefs.html:92
-msgid "Mobile"
-msgstr "Mobil"
-
-#: lib/RT/Queue_Overlay.pm:94
-msgid "Modify Access Control List"
-msgstr "Modifiera Tillgångskontrollista"
-
-#. (loc(lc($FriendlySubTypes)), loc(lc($Types)))
-#: html/Admin/Elements/ObjectCustomFields:96
-msgid "Modify Custom Fields which apply to %1 for all %2"
-msgstr "Modifiera extrafält som gäller för %1 för alla %2"
-
-#. (loc(lc($Types)))
-#: html/Admin/Elements/ObjectCustomFields:98
-msgid "Modify Custom Fields which apply to all %1"
-msgstr "Modifiera extrafält som gäller för alla %1"
-
-#: html/Admin/Global/GroupRights.html:106
-#: html/Admin/Groups/GroupRights.html:94
-#: html/Admin/Queues/GroupRights.html:107
-msgid "Modify Group Rights"
-msgstr "Modifiera grupprättigheter"
-
-#: html/Admin/Groups/Members.html:105
-#: html/User/Groups/Members.html:101
-msgid "Modify Members"
-msgstr "Modifiera medlemmar"
-
-#: html/User/Delegation.html:58
-msgid "Modify Rights"
-msgstr "Modifiera rättigheter"
-
-#: lib/RT/Queue_Overlay.pm:97
-msgid "Modify Scrip templates for this queue"
-msgstr "Modifiera scrip-mallar för denna kö"
-
-#: lib/RT/Queue_Overlay.pm:100
-msgid "Modify Scrips for this queue"
-msgstr "Modifiera scrips för denna kö"
-
-#: html/Admin/Global/UserRights.html:75
-#: html/Admin/Groups/UserRights.html:76
-#: html/Admin/Queues/UserRights.html:75
-msgid "Modify User Rights"
-msgstr "Modifiera användarrättigheter"
-
-#. ($QueueObj->Name())
-#: html/Admin/Queues/CustomField.html:66
-msgid "Modify a CustomField for queue %1"
-msgstr "Modifiera ett extrafält för kö %1"
-
-#. ($QueueObj->Name)
-#: html/Admin/Queues/Scrip.html:82
-msgid "Modify a scrip for queue %1"
-msgstr "Modifiera ett scrip för kö %1"
-
-#: html/Admin/Global/Scrip.html:75
-msgid "Modify a scrip which applies to all queues"
-msgstr "Modifiera ett scrip som gäller för alla köer"
-
-#. ($CF->Name)
-#: html/Admin/CustomFields/Objects.html:90
-msgid "Modify associated objects for %1"
-msgstr "Modifiera objekt associerade med %1"
-
-#. ($TicketObj->Id)
-#: html/Ticket/ModifyDates.html:46
-#: html/Ticket/ModifyDates.html:50
-msgid "Modify dates for #%1"
-msgstr "Modifiera datum för #%1"
-
-#. ($TicketObj->Id)
-#: html/Ticket/ModifyDates.html:57
-msgid "Modify dates for ticket # %1"
-msgstr "Modifiera datum för ärende # %1"
-
-#: html/Admin/Elements/GlobalCustomFieldTabs:65
-#: html/Admin/Global/index.html:72
-msgid "Modify global custom fields"
-msgstr "Modifiera globala extrafält"
-
-#: html/Admin/Elements/GlobalCustomFieldTabs:70
-#: html/Admin/Global/GroupRights.html:46
-#: html/Admin/Global/GroupRights.html:49
-#: html/Admin/Global/index.html:77
-msgid "Modify global group rights"
-msgstr "Modifiera globala grupprättigheter"
-
-#: html/Admin/Global/GroupRights.html:54
-msgid "Modify global group rights."
-msgstr "Modifiera globala grupprättigheter."
-
-#: html/Admin/Global/UserRights.html:46
-#: html/Admin/Global/UserRights.html:49
-#: html/Admin/Global/index.html:81
-msgid "Modify global user rights"
-msgstr "Modifiera globala användarrättigheter"
-
-#: html/Admin/Global/UserRights.html:54
-msgid "Modify global user rights."
-msgstr "Modifiera globala användarrättigheter."
-
-#: lib/RT/Group_Overlay.pm:163
-msgid "Modify group metadata or delete group"
-msgstr "Modifiera gruppmetadata eller radera grupp"
-
-#. ($CustomFieldObj->Name)
-#: html/Admin/CustomFields/GroupRights.html:164
-msgid "Modify group rights for custom field %1"
-msgstr "Modifiera grupprättigheter för extrafält %1"
-
-#. ($GroupObj->Name)
-#: html/Admin/Groups/GroupRights.html:46
-#: html/Admin/Groups/GroupRights.html:50
-#: html/Admin/Groups/GroupRights.html:56
-msgid "Modify group rights for group %1"
-msgstr "Modifiera grupprättigheter för grupp %1"
-
-#. ($QueueObj->Name)
-#: html/Admin/Queues/GroupRights.html:46
-#: html/Admin/Queues/GroupRights.html:50
-msgid "Modify group rights for queue %1"
-msgstr "Modifiera grupprättigheter för kö %1"
-
-#: lib/RT/Group_Overlay.pm:165
-msgid "Modify membership roster for this group"
-msgstr "Modifiera medlemskapslista för denna grupp"
-
-#: lib/RT/System.pm:82
-msgid "Modify one's own RT account"
-msgstr "Modifiera ens eget RT-konto"
-
-#. ($QueueObj->Name)
-#: html/Admin/Queues/People.html:46
-#: html/Admin/Queues/People.html:50
-msgid "Modify people related to queue %1"
-msgstr "Modifiera personer relaterade till kö %1"
-
-#. ($Ticket->id)
-#. ($Ticket->Id)
-#: html/Ticket/ModifyPeople.html:46
-#: html/Ticket/ModifyPeople.html:50
-#: html/Ticket/ModifyPeople.html:57
-msgid "Modify people related to ticket #%1"
-msgstr "Modifiera personer relaterade till ärende #%1"
-
-#. ($QueueObj->Name)
-#: html/Admin/Queues/Scrips.html:67
-msgid "Modify scrips for queue %1"
-msgstr "Modifiera scrips för kö %1"
-
-#: html/Admin/Elements/GlobalCustomFieldTabs:56
-#: html/Admin/Global/Scrips.html:65
-#: html/Admin/Global/index.html:63
-msgid "Modify scrips which apply to all queues"
-msgstr "Modifiera scrips som gäller för alla köer"
-
-#. (loc($TemplateObj->Name()))
-#. ($TemplateObj->id)
-#: html/Admin/Global/Template.html:102
-#: html/Admin/Global/Template.html:46
-#: html/Admin/Global/Template.html:51
-#: html/Admin/Queues/Template.html:99
-msgid "Modify template %1"
-msgstr "Modifiera mall %1"
-
-#: html/Admin/Global/Templates.html:65
-msgid "Modify templates which apply to all queues"
-msgstr "Modifiera mallar som gäller för alla köer"
-
-#: html/Admin/Global/index.html:85
-msgid "Modify the default \"RT at a glance\" view"
-msgstr "Modifiera default \"RT snabbtitt\" -visningen"
-
-#. ($Group->Name)
-#: html/Admin/Groups/Modify.html:119
-#: html/User/Groups/Modify.html:107
-msgid "Modify the group %1"
-msgstr "Modifiera gruppen %1"
-
-#: lib/RT/Queue_Overlay.pm:95
-msgid "Modify the queue watchers"
-msgstr "Modifiera kö-observatörerna"
-
-#. ($UserObj->Name)
-#: html/Admin/Users/Modify.html:309
-msgid "Modify the user %1"
-msgstr "Modifiera användaren %1"
-
-#. ($Ticket->Id)
-#: html/Ticket/ModifyAll.html:58
-msgid "Modify ticket # %1"
-msgstr "Modifiera ärende # %1"
-
-#. ($TicketObj->Id)
-#: html/Ticket/Modify.html:46
-#: html/Ticket/Modify.html:49
-#: html/Ticket/Modify.html:55
-msgid "Modify ticket #%1"
-msgstr "Modifiera ärende #%1"
-
-#: lib/RT/Queue_Overlay.pm:113
-msgid "Modify tickets"
-msgstr "Modifiera ärende"
-
-#. ($CustomFieldObj->Name)
-#: html/Admin/CustomFields/UserRights.html:157
-msgid "Modify user rights for custom field %1"
-msgstr "Modifiera användarrättigheter för extrafält %1"
-
-#. ($GroupObj->Name)
-#: html/Admin/Groups/UserRights.html:46
-#: html/Admin/Groups/UserRights.html:50
-#: html/Admin/Groups/UserRights.html:56
-msgid "Modify user rights for group %1"
-msgstr "Modifiera användarrättigheter för grupp %1"
-
-#. ($QueueObj->Name)
-#: html/Admin/Queues/UserRights.html:46
-#: html/Admin/Queues/UserRights.html:50
-msgid "Modify user rights for queue %1"
-msgstr "Modifiera användarrättigheter för kö %1"
-
-#: lib/RT/Queue_Overlay.pm:94
-msgid "ModifyACL"
-msgstr "ModifieraACL"
-
-#: lib/RT/CustomField_Overlay.pm:108
-msgid "ModifyCustomField"
-msgstr "ModifieraExtraFält"
-
-#: lib/RT/Group_Overlay.pm:166
-msgid "ModifyOwnMembership"
-msgstr "ModifieraEgetMedlemskap"
-
-#: lib/RT/Queue_Overlay.pm:95
-msgid "ModifyQueueWatchers"
-msgstr "ModifieraKöObservatörer"
-
-#: lib/RT/Queue_Overlay.pm:100
-msgid "ModifyScrips"
-msgstr "ModifieraScrips"
-
-#: lib/RT/System.pm:82
-msgid "ModifySelf"
-msgstr "ModifieraSjälv"
-
-#: lib/RT/Queue_Overlay.pm:97
-msgid "ModifyTemplate"
-msgstr "ModifieraMall"
-
-#: lib/RT/Queue_Overlay.pm:113
-msgid "ModifyTicket"
-msgstr "ModifieraÄrende"
-
-#: lib/RT/Date.pm:417
-msgid "Mon."
-msgstr "MÃ¥n."
-
-#. ($name)
-#: html/Ticket/Elements/ShowRequestor:61
-msgid "More about %1"
-msgstr "Mer om %1"
-
-#: html/Admin/Elements/PickCustomFields:83
-msgid "Move down"
-msgstr "Flytta ner"
-
-#: html/Admin/Elements/PickCustomFields:75
-msgid "Move up"
-msgstr "Flytta upp"
-
-#: html/Admin/Elements/SelectSingleOrMultiple:48
-msgid "Multiple"
-msgstr "Flera"
-
-#: lib/RT/User_Overlay.pm:226
-msgid "Must specify 'Name' attribute"
-msgstr "'Namn'-attribut måste specificeras"
-
-#. ($friendly_status)
-#: html/SelfService/Elements/MyRequests:57
-msgid "My %1 tickets"
-msgstr "Mina %1 ärenden"
-
-#: html/Tools/Elements/Tabs:63
-msgid "My Day"
-msgstr "Min dag"
-
-#: html/Approvals/index.html:46
-#: html/Approvals/index.html:47
-msgid "My approvals"
-msgstr "Mina godkännanden"
-
-#: html/Search/Elements/SearchPrivacy:50
-#: html/Search/Elements/SelectSearchObject:53
-#: html/Search/Elements/SelectSearchesForObjects:54
-msgid "My saved searches"
-msgstr "Mina sparade sökningar"
-
-#: html/Admin/CustomFields/Modify.html:58
-#: html/Admin/Elements/AddCustomFieldValue:53
-#: html/Admin/Elements/EditCustomField:55
-#: html/Admin/Elements/EditCustomFieldValues:55
-#: html/Admin/Elements/ModifyTemplate:49
-#: html/Admin/Groups/Modify.html:65
-#: html/Search/Bulk.html:157
-#: html/User/Groups/Modify.html:65
-msgid "Name"
-msgstr "Namn"
-
-#: lib/RT/User_Overlay.pm:233
-msgid "Name in use"
-msgstr "Namn som används"
-
-#: html/Ticket/Elements/ShowDates:73
-msgid "Never"
-msgstr "Aldrig"
-
-#: html/Elements/EditLinks:117
-msgid "New Links"
-msgstr "Nya länkar"
-
-#: html/Admin/Users/Modify.html:119
-#: html/User/Prefs.html:109
-msgid "New Password"
-msgstr "Nytt lösenord"
-
-#: etc/initialdata:332
-msgid "New Pending Approval"
-msgstr "Nytt väntande godkännande"
-
-#: html/Ticket/Elements/Tabs:212
-msgid "New Search"
-msgstr "Ny sökning"
-
-#: html/Admin/Elements/CustomFieldTabs:93
-#: html/Admin/Queues/CustomField.html:73
-msgid "New custom field"
-msgstr "Nytt extrafält"
-
-#: html/Admin/Elements/GroupTabs:77
-#: html/User/Elements/GroupTabs:73
-msgid "New group"
-msgstr "Ny grupp"
-
-#: html/SelfService/Prefs.html:53
-msgid "New password"
-msgstr "Nytt lösenord"
-
-#: lib/RT/User_Overlay.pm:816
-msgid "New password notification sent"
-msgstr "Nytt lösenordmeddelande skickat"
-
-#: html/Admin/Elements/QueueTabs:95
-msgid "New queue"
-msgstr "Ny kö"
-
-#: html/Ticket/Elements/Reminders:118
-msgid "New reminder:"
-msgstr "Ny påminnelse:"
-
-#: html/Admin/Elements/SelectRights:65
-msgid "New rights"
-msgstr "Nya rättigheter"
-
-#: html/Admin/Global/Scrip.html:63
-#: html/Admin/Global/Scrips.html:60
-#: html/Admin/Queues/Scrip.html:71
-#: html/Admin/Queues/Scrips.html:76
-msgid "New scrip"
-msgstr "Nytt scrip"
-
-#: html/Admin/Global/Template.html:81
-#: html/Admin/Global/Templates.html:60
-#: html/Admin/Queues/Template.html:79
-#: html/Admin/Queues/Templates.html:71
-msgid "New template"
-msgstr "Ny mall"
-
-#: html/SelfService/Elements/Tabs:84
-#: html/SelfService/Elements/Tabs:88
-msgid "New ticket"
-msgstr "Nytt ärende"
-
-#: lib/RT/Ticket_Overlay.pm:2757
-msgid "New ticket doesn't exist"
-msgstr "Nytt ärende finns ej"
-
-#: html/Admin/Elements/UserTabs:81
-msgid "New user"
-msgstr "Ny användare"
-
-#: html/Admin/Elements/CreateUserCalled:47
-msgid "New user called"
-msgstr "Ny användare anropad"
-
-#: html/Admin/Queues/People.html:76
-#: html/Ticket/Elements/EditPeople:50
-msgid "New watchers"
-msgstr "Nya observatörer"
-
-#: html/Helpers/CalPopup.html:58
-#: html/Ticket/Elements/Tabs:92
-msgid "Next"
-msgstr "Nästa"
-
-#: html/Elements/TicketList:104
-msgid "Next Page"
-msgstr "Nästa sida"
-
-#: html/Admin/Users/Modify.html:84
-#: html/User/Prefs.html:72
-msgid "Nickname"
-msgstr "Smeknamn"
-
-#: html/Admin/CustomFields/UserRights.html:145
-msgid "No Class defined"
-msgstr "Ingen klass definierad"
-
-#: html/Admin/CustomFields/Modify.html:166
-#: html/Admin/Elements/EditCustomField:119
-msgid "No CustomField"
-msgstr "Inget extrafält"
-
-#: html/Admin/CustomFields/GroupRights.html:103
-msgid "No CustomField defined"
-msgstr "Inget extrafält definierat"
-
-#: html/Admin/Groups/GroupRights.html:105
-#: html/Admin/Groups/UserRights.html:92
-msgid "No Group defined"
-msgstr "Ingen grupp definierad"
-
-#: lib/RT/Tickets_Overlay_SQL.pm:482
-msgid "No Query"
-msgstr "Ingen söksträng"
-
-#: html/Admin/Queues/GroupRights.html:118
-#: html/Admin/Queues/UserRights.html:89
-msgid "No Queue defined"
-msgstr "Ingen kö definierad"
-
-#: bin/rt-crontool:73
-msgid "No RT user found. Please consult your RT administrator.\\n"
-msgstr "Ingen RT-användare funnen. Var god kontakta din RT administratör.\\n"
-
-#: html/Admin/Global/Template.html:100
-#: html/Admin/Queues/Template.html:97
-msgid "No Template"
-msgstr "Ingen mall"
-
-#: html/Approvals/Elements/Approve:77
-msgid "No action"
-msgstr "Ingen handling"
-
-#: lib/RT/Record.pm:949
-msgid "No column specified"
-msgstr "Ingen kolumn specificerad"
-
-#: html/Ticket/Elements/ShowRequestor:68
-msgid "No comment entered about this user"
-msgstr "Ingen kommentar inmatad om denna användare"
-
-#. (ref $self)
-#: lib/RT/Action/Generic.pm:185
-#: lib/RT/Condition/Generic.pm:197
-#: lib/RT/Search/ActiveTicketsInQueue.pm:77
-#: lib/RT/Search/Generic.pm:134
-#: lib/RT/Search/Googleish.pm:78
-msgid "No description for %1"
-msgstr "Ingen beskrivning för %1"
-
-#: lib/RT/Users_Overlay.pm:190
-msgid "No group specified"
-msgstr "Ingen grupp specificerad"
-
-#: html/Admin/Groups/index.html:52
-msgid "No groups matching search criteria found."
-msgstr "Det hittades inga grupper som matchar sökkriterierna."
-
-#: lib/RT/Ticket_Overlay.pm:2393
-msgid "No message attached"
-msgstr "Inget bifogat meddelande"
-
-#: lib/RT/User_Overlay.pm:1034
-msgid "No password set"
-msgstr "Inget lösenord satt"
-
-#: lib/RT/Queue_Overlay.pm:361
-msgid "No permission to create queues"
-msgstr "Ingen tillåtelse att skapa köer"
-
-#. ($QueueObj->Name)
-#: lib/RT/Ticket_Overlay.pm:420
-msgid "No permission to create tickets in the queue '%1'"
-msgstr "Ingen tillåtelse att skapa ärenden i kö '%1'"
-
-#: lib/RT/User_Overlay.pm:186
-msgid "No permission to create users"
-msgstr "Ingen tillåtelse att skapa användare"
-
-#: html/SelfService/Display.html:167
-msgid "No permission to display that ticket"
-msgstr "Ingen tillåtelse att visa det ärendet"
-
-#: lib/RT/SavedSearch.pm:156
-msgid "No permission to save system-wide searches"
-msgstr "Ingen tillåtelse att spara systemomfattande sökningar"
-
-#: html/SelfService/Update.html:117
-msgid "No permission to view update ticket"
-msgstr "Ingen tillåtelse att visa uppdatera ärende"
-
-#: lib/RT/Queue_Overlay.pm:795
-#: lib/RT/Ticket_Overlay.pm:1489
-msgid "No principal specified"
-msgstr "Ingen principal specificerad"
-
-#: html/Admin/Queues/People.html:175
-#: html/Admin/Queues/People.html:185
-msgid "No principals selected."
-msgstr "Inga principaler valda."
-
-#: html/Admin/Queues/index.html:57
-msgid "No queues matching search criteria found."
-msgstr "Det hittades inga köer som matchar sökkriterium."
-
-#: html/Admin/Elements/SelectRights:106
-msgid "No rights found"
-msgstr "Inga rättigheter funna"
-
-#: html/Admin/Elements/SelectRights:53
-msgid "No rights granted."
-msgstr "Inga rättigheter tilldelade."
-
-#: lib/RT/SavedSearch.pm:196
-msgid "No search loaded"
-msgstr "Ingen sökning inmatad"
-
-#: html/Search/Bulk.html:232
-msgid "No search to operate on."
-msgstr "Ingen sökning att arbeta med."
-
-#: html/Elements/RT__Ticket/ColumnMap:137
-#: html/Search/Results.rdf:78
-msgid "No subject"
-msgstr "Inget ämne"
-
-#: lib/RT/Transaction_Overlay.pm:528
-#: lib/RT/Transaction_Overlay.pm:565
-msgid "No transaction type specified"
-msgstr "Ingen transaktionstyp specificerad"
-
-#: html/Admin/Users/index.html:55
-msgid "No users matching search criteria found."
-msgstr "Det hittades inga användare som matchar sökkriterium."
-
-#: lib/RT/Record.pm:946
-msgid "No value sent to _Set!\\n"
-msgstr "Det skickades inget värde till _Set!\\n"
-
-#: html/Elements/QuickCreate:59
-msgid "Nobody"
-msgstr "Ingen"
-
-#: lib/RT/Record.pm:951
-msgid "Nonexistant field?"
-msgstr "Icke-existerande fält?"
-
-#: html/Search/Chart:71
-#: html/Search/Elements/Chart:88
-msgid "Not Set"
-msgstr "Ej inställd"
-
-#: html/Elements/Header:96
-msgid "Not logged in."
-msgstr "Ej inloggad."
-
-#: lib/RT/Date.pm:397
-msgid "Not set"
-msgstr "Ej inställd"
-
-#: html/NoAuth/Reminder.html:48
-msgid "Not yet implemented."
-msgstr "Har ännu inte implementerats."
-
-#: html/Approvals/Elements/Approve:81
-msgid "Notes"
-msgstr "Anteckningar"
-
-#: lib/RT/User_Overlay.pm:819
-msgid "Notification could not be sent"
-msgstr "Meddelande kunde inte skickas"
-
-#: etc/initialdata:101
-msgid "Notify AdminCcs"
-msgstr "Meddela Admin.kopia-mottagare"
-
-#: etc/initialdata:97
-msgid "Notify AdminCcs as Comment"
-msgstr "Meddela Admin.kopia-mottagare som kommentar"
-
-#: etc/initialdata:93
-#: etc/upgrade/3.1.17/content:6
-msgid "Notify Ccs"
-msgstr "Meddela kopia-mottagare"
-
-#: etc/initialdata:89
-#: etc/upgrade/3.1.17/content:2
-msgid "Notify Ccs as Comment"
-msgstr "Meddela kopia-mottagare som kommentar"
-
-#: etc/initialdata:128
-msgid "Notify Other Recipients"
-msgstr "Meddela andra mottagare"
-
-#: etc/initialdata:124
-msgid "Notify Other Recipients as Comment"
-msgstr "Meddela andra mottagare som kommentar"
-
-#: etc/initialdata:85
-msgid "Notify Owner"
-msgstr "Meddela ägare"
-
-#: etc/initialdata:81
-msgid "Notify Owner as Comment"
-msgstr "Meddela ägare som kommentar"
-
-#: etc/initialdata:376
-msgid "Notify Owner of their rejected ticket"
-msgstr "Meddela ägare om dess avvisade ärende"
-
-#: etc/initialdata:365
-msgid "Notify Owner of their ticket has been approved by all approvers"
-msgstr "Meddela ägare om dess ärende har godkänts av alla godkännare"
-
-#: etc/initialdata:353
-msgid "Notify Owner of their ticket has been approved by some approver"
-msgstr "Meddela ägare om dess ärende har godkänts av någon godkännare"
-
-#: etc/initialdata:334
-msgid "Notify Owners and AdminCcs of new items pending their approval"
-msgstr "Meddela ägare och Admin.kopia-mottagare om nya ämnen väntar på deras godkännande"
-
-#: etc/initialdata:77
-msgid "Notify Requestors"
-msgstr "Meddela rekvirenter"
-
-#: etc/initialdata:111
-msgid "Notify Requestors and Ccs"
-msgstr "Meddela rekvirenter och kopia-mottagare"
-
-#: etc/initialdata:106
-msgid "Notify Requestors and Ccs as Comment"
-msgstr "Meddela rekvirenter och kopia-mottagare som kommentar"
-
-#: etc/initialdata:120
-msgid "Notify Requestors, Ccs and AdminCcs"
-msgstr "Meddela rekvirenter, kopia-mottagare och Admin.kopia-mottagare"
-
-#: etc/initialdata:116
-msgid "Notify Requestors, Ccs and AdminCcs as Comment"
-msgstr "Meddela rekvirenter, kopia-mottagare och Admin.kopia-mottagare som kommentar"
-
-#: lib/RT/Date.pm:451
-msgid "Nov."
-msgstr "Nov."
-
-#: html/Search/Elements/SelectAndOr:47
-msgid "OR"
-msgstr "ELLER"
-
-#: lib/RT/Record.pm:322
-msgid "Object could not be created"
-msgstr "Objekt kan ej skapas"
-
-#: lib/RT/Record.pm:123
-msgid "Object could not be deleted"
-msgstr "Objekt kan ej raderas"
-
-#: lib/RT/Record.pm:341
-msgid "Object created"
-msgstr "Objekt har skapats"
-
-#: lib/RT/Record.pm:120
-msgid "Object deleted"
-msgstr "Objekt har raderats"
-
-#. ($LookupType)
-#. ($ObjectType)
-#: html/Admin/CustomFields/Objects.html:72
-#: html/Admin/Elements/ObjectCustomFields:63
-msgid "Object of type %1 cannot take custom fields"
-msgstr "Objekt av typen %1 kan inte hantera extrafält"
-
-#: lib/RT/CustomField_Overlay.pm:967
-msgid "Object type mismatch"
-msgstr "Objekttypmissförhållande"
-
-#: lib/RT/Date.pm:450
-msgid "Oct."
-msgstr "Okt."
-
-#: html/Tools/Elements/Tabs:55
-msgid "Offline"
-msgstr "Offline"
-
-#: html/Tools/Offline.html:49
-msgid "Offline edits"
-msgstr "Offline-redigeringar"
-
-#: html/Tools/Offline.html:46
-msgid "Offline upload"
-msgstr "Offline upload"
-
-#: html/Elements/SelectDateRelation:56
-msgid "On"
-msgstr "Vid"
-
-#. ($self->CreatedAsString(), $self->CreatorObj->Name())
-#: lib/RT/Transaction_Overlay.pm:326
-msgid "On %1, %2 wrote:"
-msgstr "Vid %1, skrev %2:"
-
-#: etc/initialdata:163
-msgid "On Comment"
-msgstr "Vid kommentar"
-
-#: etc/initialdata:156
-msgid "On Correspond"
-msgstr "Vid korrespondens"
-
-#: etc/initialdata:145
-msgid "On Create"
-msgstr "Vid skapande"
-
-#: etc/initialdata:184
-msgid "On Owner Change"
-msgstr "Vid ägarbyte"
-
-#: etc/initialdata:177
-#: etc/upgrade/3.1.17/content:15
-msgid "On Priority Change"
-msgstr "Vid prioritetsändring"
-
-#: etc/initialdata:192
-msgid "On Queue Change"
-msgstr "Vid köbyte"
-
-#: etc/initialdata:198
-msgid "On Resolve"
-msgstr "Vid lösning"
-
-#: etc/initialdata:169
-msgid "On Status Change"
-msgstr "Vid statusändring"
-
-#: etc/initialdata:150
-msgid "On Transaction"
-msgstr "Vid transaktion"
-
-#. ("<input size='15' value='".( $created_after->Unix >0 && $created_after->ISO)."' name='CreatedAfter' id='CreatedAfter' />")
-#: html/Approvals/Elements/PendingMyApproval:70
-msgid "Only show approvals for requests created after %1"
-msgstr "Visa endast godkännanden för förfrågningar som skapats efter %1"
-
-#. ("<input size='15' value='".($created_before->Unix > 0 &&$created_before->ISO)."' name='CreatedBefore' id='CreatedBefore' />")
-#: html/Approvals/Elements/PendingMyApproval:68
-msgid "Only show approvals for requests created before %1"
-msgstr "Visa endast godkännanden för förfrågningar som skapats före %1"
-
-#: html/Admin/CustomFields/index.html:75
-msgid "Only show custom fields for:"
-msgstr "Visa endast extrafält för:"
-
-#: html/SelfService/index.html:46
-msgid "Open Tickets"
-msgstr "Öppna ärenden"
-
-#: html/Ticket/Elements/Tabs:160
-msgid "Open it"
-msgstr "Öppna den"
-
-#: html/SelfService/Elements/Tabs:75
-msgid "Open tickets"
-msgstr "Öppna ärenden"
-
-#: etc/initialdata:140
-msgid "Open tickets on correspondence"
-msgstr "Öppna ärenden vid korrespondens"
-
-#: html/Prefs/MyRT.html:70
-msgid "Options"
-msgstr "Alternativ"
-
-#: html/Search/Elements/DisplayOptions:59
-msgid "Order by"
-msgstr "Sortera efter"
-
-#: html/Admin/Users/Modify.html:141
-#: html/User/Prefs.html:129
-msgid "Organization"
-msgstr "Organisation"
-
-#. ($approving->Id, $approving->Subject)
-#: html/Approvals/Elements/Approve:53
-msgid "Originating ticket: #%1"
-msgstr "Ursprungligt ärende: #%1"
-
-#: lib/RT/Transaction_Overlay.pm:622
-msgid "Outgoing email about a comment recorded"
-msgstr "Utgående e-postmeddelande om en kommentar har sparats"
-
-#: lib/RT/Transaction_Overlay.pm:626
-msgid "Outgoing email recorded"
-msgstr "Utgående e-postmeddelande har sparats"
-
-#: html/Admin/Queues/Modify.html:90
-msgid "Over time, priority moves toward"
-msgstr "Tiden överskriden, prioritet rör sig mot"
-
-#: lib/RT/Queue_Overlay.pm:112
-msgid "Own tickets"
-msgstr "Egna ärenden"
-
-#: lib/RT/Queue_Overlay.pm:112
-msgid "OwnTicket"
-msgstr "EgetÄrende"
-
-#: etc/initialdata:38
-#: html/Elements/QuickCreate:56
-#: html/Search/Elements/PickBasics:101
-#: html/Ticket/Create.html:72
-#: html/Ticket/Elements/EditBasics:61
-#: html/Ticket/Elements/EditPeople:64
-#: html/Ticket/Elements/EditPeople:65
-#: html/Ticket/Elements/Reminders:129
-#: html/Ticket/Elements/ShowPeople:48
-#: html/Ticket/Update.html:62
-#: lib/RT/ACE_Overlay.pm:110
-#: lib/RT/Tickets_Overlay.pm:2006
-msgid "Owner"
-msgstr "Ägare"
-
-#: lib/RT/Ticket_Overlay.pm:505
-msgid "Owner could not be set."
-msgstr "Ägare kan inte sättas."
-
-#. ($Old->Name , $New->Name)
-#: lib/RT/Transaction_Overlay.pm:672
-msgid "Owner forcibly changed from %1 to %2"
-msgstr "Ägare har godtyckligt ändrats från %1 till %2"
-
-#. ($Page, int($TotalFound/$Rows)+$oddRows)
-#: html/Elements/TicketList:78
-msgid "Page %1 of %2"
-msgstr "Sida %1 av %2"
-
-#: html/Admin/Users/Modify.html:198
-#: html/User/Prefs.html:96
-msgid "Pager"
-msgstr "Personsökare"
-
-#: html/Elements/EditLinks:144
-#: html/Elements/EditLinks:76
-#: html/Elements/ShowLinks:68
-#: html/Ticket/Create.html:222
-#: html/Ticket/Elements/BulkLinks:60
-msgid "Parents"
-msgstr "Föräldrar"
-
-#: html/Elements/Login:95
-#: html/User/Prefs.html:105
-msgid "Password"
-msgstr "Lösenord"
-
-#: html/NoAuth/Reminder.html:46
-msgid "Password Reminder"
-msgstr "Lösenordpåminnelse"
-
-#: lib/RT/Transaction_Overlay.pm:781
-#: lib/RT/User_Overlay.pm:1045
-msgid "Password changed"
-msgstr "Lösenord ändrat"
-
-#. ($RT::MinimumPasswordLength)
-#: lib/RT/User_Overlay.pm:1037
-#: lib/RT/User_Overlay.pm:214
-msgid "Password needs to be at least %1 characters long"
-msgstr "Lösenord måste vara minst %1 tecken långt"
-
-#: lib/RT/User_Overlay.pm:1044
-msgid "Password set"
-msgstr "Lösenord har satts"
-
-#. (loc_fuzzy($msg))
-#: html/User/Prefs.html:240
-msgid "Password: %1"
-msgstr "Lösenord: %1"
-
-#: lib/RT/User_Overlay.pm:1030
-msgid "Password: Permission Denied"
-msgstr "Lösenord: Tillgång nekas"
-
-#: html/Admin/Users/Modify.html:364
-msgid "Passwords do not match."
-msgstr "Lösenord stämmer inte överens."
-
-#: html/User/Prefs.html:242
-msgid "Passwords do not match. Your password has not been changed"
-msgstr "Lösenord stämmer inte överens. Ditt lösenord har inte ändrats"
-
-#: html/Ticket/Elements/ShowSummary:62
-#: html/Ticket/Elements/Tabs:119
-#: html/Ticket/ModifyAll.html:72
-msgid "People"
-msgstr "Personer"
-
-#: etc/initialdata:133
-msgid "Perform a user-defined action"
-msgstr "Genomför en användardefinierad handling"
-
-#: html/Admin/Tools/Configuration.html:94
-msgid "Perl configuration"
-msgstr "Perl-konfiguration"
-
-#: lib/RT/ACE_Overlay.pm:251
-#: lib/RT/ACE_Overlay.pm:257
-#: lib/RT/ACE_Overlay.pm:580
-#: lib/RT/ACE_Overlay.pm:590
-#: lib/RT/ACE_Overlay.pm:600
-#: lib/RT/ACE_Overlay.pm:665
-#: lib/RT/Attribute_Overlay.pm:158
-#: lib/RT/Attribute_Overlay.pm:164
-#: lib/RT/Attribute_Overlay.pm:405
-#: lib/RT/Attribute_Overlay.pm:414
-#: lib/RT/Attribute_Overlay.pm:427
-#: lib/RT/CurrentUser.pm:116
-#: lib/RT/CurrentUser.pm:125
-#: lib/RT/CustomField_Overlay.pm:1017
-#: lib/RT/CustomField_Overlay.pm:1138
-#: lib/RT/CustomField_Overlay.pm:1281
-#: lib/RT/CustomField_Overlay.pm:172
-#: lib/RT/CustomField_Overlay.pm:189
-#: lib/RT/CustomField_Overlay.pm:200
-#: lib/RT/CustomField_Overlay.pm:374
-#: lib/RT/CustomField_Overlay.pm:403
-#: lib/RT/CustomField_Overlay.pm:763
-#: lib/RT/CustomField_Overlay.pm:936
-#: lib/RT/CustomField_Overlay.pm:971
-#: lib/RT/Group_Overlay.pm:1117
-#: lib/RT/Group_Overlay.pm:1121
-#: lib/RT/Group_Overlay.pm:1130
-#: lib/RT/Group_Overlay.pm:1240
-#: lib/RT/Group_Overlay.pm:1244
-#: lib/RT/Group_Overlay.pm:1250
-#: lib/RT/Group_Overlay.pm:445
-#: lib/RT/Group_Overlay.pm:542
-#: lib/RT/Group_Overlay.pm:620
-#: lib/RT/Group_Overlay.pm:628
-#: lib/RT/Group_Overlay.pm:726
-#: lib/RT/Group_Overlay.pm:730
-#: lib/RT/Group_Overlay.pm:736
-#: lib/RT/Group_Overlay.pm:922
-#: lib/RT/Group_Overlay.pm:926
-#: lib/RT/Group_Overlay.pm:939
-#: lib/RT/Queue_Overlay.pm:1054
-#: lib/RT/Queue_Overlay.pm:140
-#: lib/RT/Queue_Overlay.pm:158
-#: lib/RT/Queue_Overlay.pm:657
-#: lib/RT/Queue_Overlay.pm:667
-#: lib/RT/Queue_Overlay.pm:681
-#: lib/RT/Queue_Overlay.pm:819
-#: lib/RT/Queue_Overlay.pm:828
-#: lib/RT/Queue_Overlay.pm:841
-#: lib/RT/Scrip_Overlay.pm:149
-#: lib/RT/Scrip_Overlay.pm:160
-#: lib/RT/Scrip_Overlay.pm:224
-#: lib/RT/Scrip_Overlay.pm:538
-#: lib/RT/Template_Overlay.pm:108
-#: lib/RT/Template_Overlay.pm:277
-#: lib/RT/Ticket_Overlay.pm:1357
-#: lib/RT/Ticket_Overlay.pm:1367
-#: lib/RT/Ticket_Overlay.pm:1381
-#: lib/RT/Ticket_Overlay.pm:1522
-#: lib/RT/Ticket_Overlay.pm:1532
-#: lib/RT/Ticket_Overlay.pm:1546
-#: lib/RT/Ticket_Overlay.pm:1663
-#: lib/RT/Ticket_Overlay.pm:1983
-#: lib/RT/Ticket_Overlay.pm:2126
-#: lib/RT/Ticket_Overlay.pm:2296
-#: lib/RT/Ticket_Overlay.pm:2346
-#: lib/RT/Ticket_Overlay.pm:2525
-#: lib/RT/Ticket_Overlay.pm:2538
-#: lib/RT/Ticket_Overlay.pm:2614
-#: lib/RT/Ticket_Overlay.pm:2627
-#: lib/RT/Ticket_Overlay.pm:2748
-#: lib/RT/Ticket_Overlay.pm:2762
-#: lib/RT/Ticket_Overlay.pm:2990
-#: lib/RT/Ticket_Overlay.pm:3000
-#: lib/RT/Ticket_Overlay.pm:3005
-#: lib/RT/Ticket_Overlay.pm:3224
-#: lib/RT/Ticket_Overlay.pm:3228
-#: lib/RT/Ticket_Overlay.pm:3371
-#: lib/RT/Ticket_Overlay.pm:3497
-#: lib/RT/Transaction_Overlay.pm:516
-#: lib/RT/Transaction_Overlay.pm:523
-#: lib/RT/Transaction_Overlay.pm:551
-#: lib/RT/Transaction_Overlay.pm:558
-#: lib/RT/User_Overlay.pm:1176
-#: lib/RT/User_Overlay.pm:1856
-#: lib/RT/User_Overlay.pm:369
-#: lib/RT/User_Overlay.pm:735
-#: lib/RT/User_Overlay.pm:774
-msgid "Permission Denied"
-msgstr "Tillgång nekas"
-
-#: lib/RT/Template_Overlay.pm:238
-#: lib/RT/Template_Overlay.pm:247
-msgid "Permission denied"
-msgstr "Tillgång nekas"
-
-#: lib/RT/Template_Overlay.pm:372
-msgid "Permissions denied"
-msgstr "Tillgång nekas"
-
-#: html/User/Elements/Tabs:56
-msgid "Personal Groups"
-msgstr "Personliga grupper"
-
-#: html/User/Groups/index.html:51
-#: html/User/Groups/index.html:61
-msgid "Personal groups"
-msgstr "Personliga grupper"
-
-#: html/User/Elements/DelegateRights:58
-msgid "Personal groups:"
-msgstr "Personliga grupper:"
-
-#: html/Admin/Users/Modify.html:180
-#: html/User/Prefs.html:81
-msgid "Phone numbers"
-msgstr "Telefonnummer"
-
-#: html/Elements/Header:93
-#: html/Elements/Tabs:91
-#: html/SelfService/Elements/Tabs:95
-#: html/SelfService/Prefs.html:46
-#: html/User/Prefs.html:46
-#: html/User/Prefs.html:49
-msgid "Preferences"
-msgstr "Preferenser"
-
-#. ($pane, $UserObj->Name)
-#: html/Admin/Users/MyRT.html:75
-msgid "Preferences %1 for user %2 ."
-msgstr "Preferenser %1 för användare %2 ."
-
-#. ($pane)
-#: html/Prefs/MyRT.html:141
-msgid "Preferences saved for %1."
-msgstr "Preferenser har sparats för %1."
-
-#: lib/RT/Action/Generic.pm:195
-msgid "Prepare Stubbed"
-msgstr "Förbered tömning"
-
-#: html/Helpers/CalPopup.html:56
-#: html/Ticket/Elements/Tabs:84
-msgid "Prev"
-msgstr "Föreg."
-
-#: html/Elements/TicketList:101
-msgid "Previous Page"
-msgstr "Föregående sida"
-
-#. ($args{'PrincipalId'})
-#: lib/RT/ACE_Overlay.pm:157
-#: lib/RT/ACE_Overlay.pm:239
-#: lib/RT/ACE_Overlay.pm:569
-msgid "Principal %1 not found."
-msgstr "Principal %1 ej funnen."
-
-#: html/Search/Elements/PickBasics:147
-#: html/Ticket/Create.html:181
-#: html/Ticket/Elements/EditBasics:92
-#: html/Ticket/Elements/ShowBasics:72
-#: lib/RT/Tickets_Overlay.pm:1790
-msgid "Priority"
-msgstr "Prioritet"
-
-#: html/Admin/Queues/Modify.html:86
-msgid "Priority starts at"
-msgstr "Prioritet börjar vid"
-
-#: html/Search/Elements/EditSearches:50
-msgid "Privacy:"
-msgstr "Privat:"
-
-#: etc/initialdata:25
-msgid "Privileged"
-msgstr "Privilegierad"
-
-#. (loc_fuzzy($msg))
-#: html/Admin/Users/Modify.html:342
-#: html/User/Prefs.html:231
-msgid "Privileged status: %1"
-msgstr "Privilegierad status: %1"
-
-#: html/Admin/Users/index.html:102
-msgid "Privileged users"
-msgstr "Privilegierade användare"
-
-#: etc/initialdata:23
-#: etc/initialdata:29
-#: etc/initialdata:35
-#: etc/initialdata:59
-msgid "Pseudogroup for internal use"
-msgstr "Pseudogrupp för internt bruk"
-
-#: html/Search/Build.html:121
-msgid "Query Builder"
-msgstr "Söksträngsbyggare"
-
-#: html/Search/Elements/Chart:101
-msgid "Query:"
-msgstr "Söksträng:"
-
-#: html/Elements/QueueSummary:48
-#: html/Elements/QuickCreate:54
-#: html/Search/Elements/PickBasics:71
-#: html/SelfService/Create.html:54
-#: html/Ticket/Create.html:62
-#: html/Ticket/Elements/EditBasics:57
-#: html/Ticket/Elements/ShowBasics:76
-#: html/Tools/Reports/CreatedByDates.html:85
-#: html/Tools/Reports/ResolvedByDates.html:86
-#: html/Tools/Reports/ResolvedByOwner.html:66
-#: html/User/Elements/DelegateRights:101
-#: lib/RT/Tickets_Overlay.pm:1617
-msgid "Queue"
-msgstr "Kö"
-
-#. ($id)
-#. ($Queue)
-#: html/Admin/Queues/CustomField.html:63
-#: html/Admin/Queues/Scrip.html:61
-#: html/Admin/Queues/Scrips.html:69
-#: html/Admin/Queues/Templates.html:65
-msgid "Queue %1 not found"
-msgstr "Kö %1 ej funnen"
-
-#: html/Admin/Queues/Modify.html:64
-msgid "Queue Name"
-msgstr "Könamn"
-
-#: lib/RT/Queue_Overlay.pm:365
-msgid "Queue already exists"
-msgstr "Kö finns redan"
-
-#: lib/RT/Queue_Overlay.pm:374
-#: lib/RT/Queue_Overlay.pm:380
-msgid "Queue could not be created"
-msgstr "Kö kan ej skapas"
-
-#: html/Ticket/Create.html:244
-#: lib/t/regression/01ticket_link_searching.t:17
-msgid "Queue could not be loaded."
-msgstr "Kö kan ej inläsas."
-
-#: docs/design_docs/string-extraction-guide.txt:83
-#: lib/RT/Queue_Overlay.pm:384
-#: lib/RT/StyleGuide.pod:809
-msgid "Queue created"
-msgstr "Kö har skapats"
-
-#: html/SelfService/Display.html:126
-#: lib/RT/CustomField_Overlay.pm:197
-msgid "Queue not found"
-msgstr "Kö ej funnen"
-
-#: html/Admin/Elements/Tabs:59
-#: html/Admin/index.html:72
-msgid "Queues"
-msgstr "Köer"
-
-#: html/Elements/MyAdminQueues:46
-msgid "Queues I administer"
-msgstr "Köer som jag administrerar"
-
-#: html/Elements/MySupportQueues:46
-msgid "Queues I'm an AdminCc for"
-msgstr "Köer som jag är en Admin.kopia-mottagare för"
-
-#: html/Elements/Quicksearch:47
-#: html/Prefs/Elements/Tabs:58
-#: html/Prefs/Quicksearch.html:70
-msgid "Quick search"
-msgstr "Snabbsökning"
-
-#: html/Elements/QuickCreate:47
-msgid "Quick ticket creation"
-msgstr "Snabbt ärendeskapande"
-
-#: html/Search/Results.html:81
-msgid "RSS"
-msgstr "RSS"
-
-#. ($RT::VERSION, $RT::rtname)
-#: docs/design_docs/string-extraction-guide.txt:70
-#: lib/RT/StyleGuide.pod:796
-msgid "RT %1 for %2"
-msgstr "RT %1 för %2"
-
-#: html/Admin/index.html:46
-#: html/Admin/index.html:47
-msgid "RT Administration"
-msgstr "RT-administration"
-
-#: html/Elements/Error:63
-#: html/SelfService/Error.html:62
-msgid "RT Error"
-msgstr "RT-fel"
-
-#: html/Admin/Tools/Configuration.html:73
-msgid "RT Variables"
-msgstr "RT-variabler"
-
-#: html/Admin/Elements/SystemTabs:71
-#: html/Admin/Elements/UserTabs:67
-#: html/Admin/Global/MyRT.html:1
-#: html/Admin/Global/MyRT.html:12
-#: html/Admin/Global/MyRT.html:4
-#: html/Admin/Global/index.html:84
-#: html/Admin/Users/MyRT.html:21
-#: html/Prefs/MyRT.html:66
-#: html/Prefs/MyRT.html:78
-#: html/User/Elements/Tabs:65
-#: html/index.html:1
-#: html/index.html:75
-msgid "RT at a glance"
-msgstr "RT-snabbtitt"
-
-#. ($UserObj->Name)
-#: html/Admin/Users/MyRT.html:30
-msgid "RT at a glance for the user %1"
-msgstr "RT-snabbtitt för användaren %1"
-
-#: html/Admin/CustomFields/Modify.html:117
-msgid "RT can include content from another web service when showing this custom field."
-msgstr "RT kan innehålla innehåll från annan webbtjänst när detta extrafält visas."
-
-#: html/Admin/CustomFields/Modify.html:106
-msgid "RT can make this custom field's values into hyperlinks to another service."
-msgstr "RT kan göra alternativen för detta extrafält till hyperlänkar till annan tjänst."
-
-#: html/Elements/SetupSessionCookie:100
-msgid "RT couldn't store your session."
-msgstr "RT har inte utrymme för din session."
-
-#. ($RT::rtname)
-#: html/Elements/Logo:49
-#: html/Elements/PageLayout:172
-msgid "RT for %1"
-msgstr "RT för %1"
-
-#: html/Search/Simple.html:60
-msgid "RT will look for anything else you enter in ticket subjects."
-msgstr "RT kommer att söka efter allt annat som du matar in i ärendeämnen."
-
-#: html/Admin/CustomFields/Modify.html:108
-#: html/Admin/CustomFields/Modify.html:119
-msgid "RT will replace <tt>__id__</tt> and <tt>__CustomField__</tt> with the record id and custom field value, respectively"
-msgstr "RT kommer att ersätta <tt>__id__</tt> och <tt>__ExtraFält__</tt> med register-ID och extrafältvärde respektive"
-
-#: html/Admin/Users/Modify.html:79
-#: html/User/Prefs.html:69
-msgid "Real Name"
-msgstr "Fullständigt namn"
-
-#. ($value)
-#: lib/RT/Transaction_Overlay.pm:725
-msgid "Reference by %1 added"
-msgstr "Referens från %1 tillagd"
-
-#. ($value)
-#: lib/RT/Transaction_Overlay.pm:765
-msgid "Reference by %1 deleted"
-msgstr "Referens från %1 raderad"
-
-#. ($value)
-#: lib/RT/Transaction_Overlay.pm:722
-msgid "Reference to %1 added"
-msgstr "Referens till %1 tillagd"
-
-#. ($value)
-#: lib/RT/Transaction_Overlay.pm:762
-msgid "Reference to %1 deleted"
-msgstr "Referens till %1 raderad"
-
-#: html/Elements/EditLinks:103
-#: html/Elements/EditLinks:156
-#: html/Elements/ShowLinks:92
-#: html/Ticket/Create.html:225
-#: html/Ticket/Elements/BulkLinks:72
-msgid "Referred to by"
-msgstr "Refererad till av"
-
-#: html/Elements/EditLinks:152
-#: html/Elements/EditLinks:94
-#: html/Elements/SelectLinkType:49
-#: html/Elements/ShowLinks:82
-#: html/Ticket/Create.html:224
-#: html/Ticket/Elements/BulkLinks:68
-msgid "Refers to"
-msgstr "Refererar till"
-
-#. ($value/60)
-#: html/Elements/Refresh:57
-msgid "Refresh this page every %1 minutes."
-msgstr "Återinläs denna sida var %1 minut."
-
-#. ($ticket->Subject)
-#: lib/RT/Transaction_Overlay.pm:811
-msgid "Reminder '%1' added"
-msgstr "PÃ¥minnelse '%1' tillagd"
-
-#. ($ticket->Subject)
-#: lib/RT/Transaction_Overlay.pm:824
-msgid "Reminder '%1' completed"
-msgstr "Påminnelse '%1' genomförd"
-
-#. ($ticket->Subject)
-#: lib/RT/Transaction_Overlay.pm:817
-msgid "Reminder '%1' reopened"
-msgstr "Påminnelse '%1' öppnad igen"
-
-#. ($Ticket->Id)
-#: html/Ticket/Reminders.html:46
-msgid "Reminder ticket #%1"
-msgstr "Påminnelse ärende #%1"
-
-#: html/Elements/MyReminders:48
-#: html/Ticket/Elements/ShowSummary:75
-#: html/Ticket/Elements/Tabs:122
-#: html/Ticket/Reminders.html:52
-msgid "Reminders"
-msgstr "PÃ¥minnelser"
-
-#. ($Ticket->Id)
-#: html/Ticket/Reminders.html:50
-msgid "Reminders for ticket #%1"
-msgstr "Påminnelse för ärende #%1"
-
-#: html/Search/Bulk.html:94
-msgid "Remove AdminCc"
-msgstr "Ta bort Admin.kopia"
-
-#: html/Search/Bulk.html:90
-msgid "Remove Cc"
-msgstr "Ta bort kopia"
-
-#: html/Search/Bulk.html:86
-msgid "Remove Requestor"
-msgstr "Ta bort rekvirent"
-
-#: html/Ticket/Elements/ShowTransaction:179
-#: html/Ticket/Elements/Tabs:147
-msgid "Reply"
-msgstr "Svar"
-
-#: html/Admin/Queues/Modify.html:72
-msgid "Reply Address"
-msgstr "Svarsadress"
-
-#: html/Search/Bulk.html:129
-#: html/Ticket/ModifyAll.html:94
-#: html/Ticket/Update.html:78
-msgid "Reply to requestors"
-msgstr "Svar till rekvirenter"
-
-#: lib/RT/Queue_Overlay.pm:110
-msgid "Reply to tickets"
-msgstr "Svar på ärenden"
-
-#: lib/RT/Queue_Overlay.pm:110
-msgid "ReplyToTicket"
-msgstr "SvarTillÄrende"
-
-#: html/Tools/Elements/Tabs:59
-#: html/Tools/Reports/index.html:46
-#: html/Tools/Reports/index.html:47
-msgid "Reports"
-msgstr "Rapporter"
-
-#: etc/initialdata:44
-#: lib/RT/ACE_Overlay.pm:111
-msgid "Requestor"
-msgstr "Rekvirent"
-
-#: html/SelfService/Create.html:63
-#: html/Ticket/Create.html:80
-#: html/Ticket/Elements/EditPeople:69
-#: html/Ticket/Elements/ShowPeople:52
-msgid "Requestors"
-msgstr "Rekvirenter"
-
-#: html/Admin/Queues/Modify.html:96
-msgid "Requests should be due in"
-msgstr "Förfrågningar borde förfalla"
-
-#. ('Object')
-#: lib/RT/Attribute_Overlay.pm:146
-msgid "Required parameter '%1' not specified"
-msgstr "Nödvändig parameter '%1' ej specificerad"
-
-#: html/Elements/Submit:83
-msgid "Reset"
-msgstr "Reset"
-
-#: html/Admin/Users/MyRT.html:15
-#: html/Prefs/MyRT.html:60
-msgid "Reset to default"
-msgstr "Reset till default"
-
-#: html/Admin/Users/Modify.html:183
-#: html/User/Prefs.html:84
-msgid "Residence"
-msgstr "Hemma"
-
-#: html/Ticket/Elements/Tabs:156
-msgid "Resolve"
-msgstr "Lös"
-
-#. ($TicketObj->id, $TicketObj->Subject)
-#: html/Ticket/Update.html:156
-msgid "Resolve ticket #%1 (%2)"
-msgstr "Lös ärende #%1 (%2)"
-
-#: etc/initialdata:323
-#: html/Elements/SelectDateType:49
-#: lib/RT/Ticket_Overlay.pm:1172
-msgid "Resolved"
-msgstr "Löst"
-
-#: html/Tools/Reports/Elements/Tabs:55
-msgid "Resolved by owner"
-msgstr "Löst av ägare"
-
-#: html/Tools/Reports/Elements/Tabs:59
-msgid "Resolved in date range"
-msgstr "Löst i datumordning"
-
-#: html/Tools/Reports/ResolvedByDates.html:52
-msgid "Resolved tickets in period, grouped by owner"
-msgstr "Lösta ärenden under period, grupperade efter ägare"
-
-#: html/Tools/Reports/ResolvedByOwner.html:50
-msgid "Resolved tickets, grouped by owner"
-msgstr "Lösta ärenden, grupperade efter ägare"
-
-#: html/Elements/ListActions:46
-#: html/Search/Elements/NewListActions:47
-msgid "Results"
-msgstr "Resultat"
-
-#: html/Admin/Users/Modify.html:126
-#: html/User/Prefs.html:116
-msgid "Retype Password"
-msgstr "Skriv in lösenord igen"
-
-#: html/Search/Elements/EditSearches:61
-msgid "Revert"
-msgstr "GÃ¥ tillbaka"
-
-#: lib/RT/ACE_Overlay.pm:630
-msgid "Right Delegated"
-msgstr "Rättighet överlämnad"
-
-#: lib/RT/ACE_Overlay.pm:320
-msgid "Right Granted"
-msgstr "Rättighet tilldelad"
-
-#: lib/RT/ACE_Overlay.pm:178
-msgid "Right Loaded"
-msgstr "Rättighet inläst"
-
-#: lib/RT/ACE_Overlay.pm:695
-#: lib/RT/ACE_Overlay.pm:716
-msgid "Right could not be revoked"
-msgstr "Rättighet kan inte återkallas"
-
-#: html/User/Delegation.html:85
-msgid "Right not found"
-msgstr "Rättighet ej funnen"
-
-#: lib/RT/ACE_Overlay.pm:560
-#: lib/RT/ACE_Overlay.pm:655
-msgid "Right not loaded."
-msgstr "Rättighet ej inläst."
-
-#: lib/RT/ACE_Overlay.pm:712
-msgid "Right revoked"
-msgstr "Rättighet återkallad"
-
-#: html/Admin/Elements/UserTabs:70
-msgid "Rights"
-msgstr "Rättigheter"
-
-#. ($object_type)
-#: html/Admin/CustomFields/GroupRights.html:129
-#: lib/RT/Interface/Web.pm:961
-msgid "Rights could not be granted for %1"
-msgstr "Rättigheter kan inte tilldelas %1"
-
-#. ($object_type)
-#: html/Admin/CustomFields/GroupRights.html:156
-#: lib/RT/Interface/Web.pm:990
-msgid "Rights could not be revoked for %1"
-msgstr "Rättigheter kan inte återkallas för %1"
-
-#: html/Admin/Global/GroupRights.html:72
-#: html/Admin/Queues/GroupRights.html:74
-msgid "Roles"
-msgstr "Roller"
-
-#: html/Prefs/MyRT.html:72
-msgid "Rows per box"
-msgstr "Rader per box"
-
-#: html/Search/Elements/DisplayOptions:93
-msgid "Rows per page"
-msgstr "Rader per sida"
-
-#: lib/RT/Date.pm:422
-msgid "Sat."
-msgstr "Lör."
-
-#: html/Prefs/MyRT.html:72
-#: html/Prefs/Quicksearch.html:64
-#: html/Prefs/Search.html:69
-#: html/Search/Elements/EditSearches:70
-#: html/Widgets/SelectionBox:211
-msgid "Save"
-msgstr "Spara"
-
-#: html/Admin/Global/Template.html:67
-#: html/Admin/Groups/Modify.html:88
-#: html/Admin/Queues/Modify.html:111
-#: html/Admin/Queues/People.html:126
-#: html/Admin/Users/Modify.html:239
-#: html/Prefs/Quicksearch.html:64
-#: html/Prefs/SearchOptions.html:63
-#: html/SelfService/Prefs.html:58
-#: html/Ticket/Modify.html:60
-#: html/Ticket/ModifyAll.html:127
-#: html/Ticket/ModifyDates.html:60
-#: html/Ticket/ModifyLinks.html:61
-#: html/Ticket/ModifyPeople.html:60
-#: html/User/Groups/Modify.html:77
-msgid "Save Changes"
-msgstr "Spara ändringar"
-
-#: html/User/Prefs.html:181
-msgid "Save Preferences"
-msgstr "Spara preferenser"
-
-#: html/Ticket/Elements/PreviewScrips:131
-msgid "Save changes"
-msgstr "Spara ändringar"
-
-#. ($name)
-#: lib/RT/SavedSearch.pm:173
-msgid "Saved search %1"
-msgstr "Spara sökning %1"
-
-#. ($id)
-#. ($scrip->Id)
-#: html/Admin/Elements/ListGlobalScrips:60
-#: html/Admin/Global/Scrip.html:77
-#: html/Admin/Queues/Scrip.html:84
-msgid "Scrip #%1"
-msgstr "Scrip #%1"
-
-#: lib/RT/Scrip_Overlay.pm:203
-msgid "Scrip Created"
-msgstr "Scrip har skapats"
-
-#: html/Admin/Elements/EditScrip:52
-msgid "Scrip Fields"
-msgstr "Scrip-fält"
-
-#: html/Admin/Elements/EditScrips:109
-msgid "Scrip deleted"
-msgstr "Scrip har raderats"
-
-#: html/Admin/Elements/QueueTabs:67
-#: html/Admin/Elements/SystemTabs:54
-#: html/Admin/Global/index.html:62
-msgid "Scrips"
-msgstr "Scrips"
-
-#: html/Admin/Queues/Scrips.html:55
-msgid "Scrips which apply to all queues"
-msgstr "Scrips som gäller alla köer"
-
-#: html/Elements/SimpleSearch:48
-#: html/Search/Simple.html:65
-msgid "Search"
-msgstr "Sökning"
-
-#: html/Prefs/SearchOptions.html:47
-#: html/Prefs/SearchOptions.html:50
-msgid "Search Preferences"
-msgstr "Sökpreferenser"
-
-#: lib/RT/SavedSearch.pm:115
-msgid "Search attribute load failure"
-msgstr "Sökattributinläsningsfel"
-
-#: html/Approvals/Elements/PendingMyApproval:59
-msgid "Search for approvals"
-msgstr "Sök efter godkännanden"
-
-#: html/Search/Simple.html:69
-msgid "Search for tickets"
-msgstr "Sök efter ärenden"
-
-#: NOT FOUND IN SOURCE
-msgid "Search for tickets. Enter <strong>id</strong> numbers, <strong>queues</strong> by name"
-msgstr "Sök efter ärenden. Skriv <strong>id</strong> nummer, <strong>köer</strong> med namn"
-
-#: html/Search/Simple.html:57
-msgid "Search for tickets. Enter <strong>id</strong> numbers, <strong>queues</strong> by name"
-msgstr ""
-
-#: html/User/Elements/Tabs:62
-msgid "Search options"
-msgstr "Sökalternativ"
-
-#. ($PrimaryGroupBy)
-#: html/Search/Chart.html:56
-msgid "Search results grouped by %1"
-msgstr "Sökresultat grupperade efter %1"
-
-#. ($msg)
-#: lib/RT/SavedSearch.pm:203
-msgid "Search update: %1"
-msgstr "Sökuppdatering: %1"
-
-#: html/Search/Simple.html:59
-msgid "Searching the full text of every ticket can take a long time, but if you need to do it, you can search for any word in full ticket history for any word by typing <b>fulltext:<i>word</i></b>."
-msgstr "Att söka igenom all text i alla ärenden kan ta lång tid, men om du måste göra det kan du söka efter vilket ord som helst i hela ärendehistoriken genom att skriva <b>fulltext:<i>word</i></b>."
-
-#: bin/rt-crontool:265
-msgid "Security:"
-msgstr "Säkerhet:"
-
-#: html/Elements/ShowCustomFields:98
-msgid "See also:"
-msgstr "Se även:"
-
-#: lib/RT/CustomField_Overlay.pm:105
-msgid "See custom fields"
-msgstr "Se extrafält"
-
-#: lib/RT/Queue_Overlay.pm:106
-msgid "See exact outgoing email messages and their recipeients"
-msgstr "Se exakt utgående e-postmeddelanden och deras mottagare"
-
-#: lib/RT/Queue_Overlay.pm:104
-msgid "See ticket private commentary"
-msgstr "Se privata kommentarer för ärende"
-
-#: lib/RT/Queue_Overlay.pm:103
-msgid "See ticket summaries"
-msgstr "Se sammanfattningar av ärenden"
-
-#: lib/RT/CustomField_Overlay.pm:105
-msgid "SeeCustomField"
-msgstr "SeExtraFält"
-
-#: lib/RT/Group_Overlay.pm:169
-msgid "SeeGroup"
-msgstr "SeGrupp"
-
-#: lib/RT/Queue_Overlay.pm:91
-msgid "SeeQueue"
-msgstr "SeKö"
-
-#: html/Admin/CustomFields/index.html:46
-#: html/Admin/CustomFields/index.html:49
-msgid "Select a Custom Field"
-msgstr "Välj ett extrafält"
-
-#: html/Admin/Groups/index.html:78
-msgid "Select a group"
-msgstr "Välj en grupp"
-
-#: html/Admin/Queues/index.html:54
-msgid "Select a queue"
-msgstr "Välj en kö"
-
-#: html/SelfService/CreateTicketInQueue.html:48
-msgid "Select a queue for your new ticket"
-msgstr "Välj en kö för ditt nya ärende"
-
-#: html/Admin/Users/index.html:46
-#: html/Admin/Users/index.html:49
-#: html/Admin/Users/index.html:52
-msgid "Select a user"
-msgstr "Välj en användare"
-
-#: html/Admin/Elements/CustomFieldTabs:90
-msgid "Select custom field"
-msgstr "Välj ett extrafält"
-
-#: html/Admin/Global/CustomFields/index.html:70
-msgid "Select custom fields for all user groups"
-msgstr "Välj extrafält för alla användargrupper"
-
-#: html/Admin/Global/CustomFields/index.html:65
-msgid "Select custom fields for all users"
-msgstr "Välj extrafält för alla användare"
-
-#: html/Admin/Global/CustomFields/index.html:76
-msgid "Select custom fields for tickets in all queues"
-msgstr "Välj extrafält för ärenden i alla köer"
-
-#: html/Admin/Global/CustomFields/index.html:83
-msgid "Select custom fields for transactions on tickets in all queues"
-msgstr "Välj extrafält för transaktioner på alla ärenden i alla köer"
-
-#: html/Admin/Elements/GroupTabs:75
-#: html/User/Elements/GroupTabs:71
-msgid "Select group"
-msgstr "Välj grupp"
-
-#: lib/RT/CustomField_Overlay.pm:59
-msgid "Select multiple values"
-msgstr "Välj flera värden"
-
-#: lib/RT/CustomField_Overlay.pm:60
-msgid "Select one value"
-msgstr "Välj ett värde"
-
-#: html/Admin/Elements/QueueTabs:92
-msgid "Select queue"
-msgstr "Välj kö"
-
-#: html/Prefs/Quicksearch.html:53
-msgid "Select queues to be displayed on the \"RT at a glance\" page"
-msgstr "Välj kö som skall visas på \"RT-snabbtitt\" -sidan"
-
-#: html/Admin/Global/Scrip.html:59
-#: html/Admin/Global/Scrips.html:57
-#: html/Admin/Queues/Scrip.html:67
-#: html/Admin/Queues/Scrips.html:73
-msgid "Select scrip"
-msgstr "Välj scrip"
-
-#: html/Admin/Global/Template.html:78
-#: html/Admin/Global/Templates.html:57
-#: html/Admin/Queues/Template.html:76
-#: html/Admin/Queues/Templates.html:68
-msgid "Select template"
-msgstr "Välj mall"
-
-#: lib/RT/CustomField_Overlay.pm:61
-msgid "Select up to %1 values"
-msgstr "Välj upp till %1 värden"
-
-#: html/Admin/Elements/UserTabs:78
-msgid "Select user"
-msgstr "Välj användare"
-
-#: html/Admin/Elements/EditCustomFields:58
-msgid "Selected Custom Fields"
-msgstr "Valda extrafält"
-
-#: html/Admin/CustomFields/Objects.html:59
-msgid "Selected objects"
-msgstr "Valda objekt"
-
-#: html/Widgets/SelectionBox:209
-msgid "Selections modified. Please save your changes"
-msgstr "Urval modifierat. Var god spara dina ändringar"
-
-#: etc/initialdata:121
-msgid "Send mail to all watchers"
-msgstr "Skicka e-post till alla observatörer"
-
-#: etc/initialdata:117
-msgid "Send mail to all watchers as a \"comment\""
-msgstr "Skicka e-post till alla observatörer som en \"kommentar\""
-
-#: etc/initialdata:112
-msgid "Send mail to requestors and Ccs"
-msgstr "Skicka e-post till rekvirenter och kopia-mottagare"
-
-#: etc/initialdata:107
-msgid "Send mail to requestors and Ccs as a comment"
-msgstr "Skicka e-post till rekvirenter och kopia-mottagare som en kommentar"
-
-#: etc/initialdata:78
-msgid "Sends a message to the requestors"
-msgstr "Skicka ett meddelande till rekvirenterna"
-
-#: etc/initialdata:125
-#: etc/initialdata:129
-msgid "Sends mail to explicitly listed Ccs and Bccs"
-msgstr "Skicka e-post till explicita kopia-mottagare och hemlig kopia-mottagare"
-
-#: etc/initialdata:94
-#: etc/upgrade/3.1.17/content:7
-msgid "Sends mail to the Ccs"
-msgstr "Skicka e-post till kopia-mottagarna"
-
-#: etc/initialdata:90
-#: etc/upgrade/3.1.17/content:3
-msgid "Sends mail to the Ccs as a comment"
-msgstr "Skicka e-post till kopia-mottagarna som en kommentar"
-
-#: etc/initialdata:102
-msgid "Sends mail to the administrative Ccs"
-msgstr "Skicka e-post till de administrativa kopia-mottagarna"
-
-#: etc/initialdata:98
-msgid "Sends mail to the administrative Ccs as a comment"
-msgstr "Skicka e-post till de administrativa kopia-mottagarna som en kommentar"
-
-#: etc/initialdata:82
-#: etc/initialdata:86
-msgid "Sends mail to the owner"
-msgstr "Skicka e-post till ägaren"
-
-#: lib/RT/Date.pm:449
-msgid "Sep."
-msgstr "Sep."
-
-#: html/Ticket/Elements/ShowTransaction:158
-msgid "Show"
-msgstr "Visa"
-
-#: html/Approvals/index.html:52
-msgid "Show Approvals"
-msgstr "Visa godkännanden"
-
-#: html/Search/Elements/EditFormat:56
-msgid "Show Columns"
-msgstr "Visa kolumner"
-
-#: html/Ticket/Elements/Tabs:220
-msgid "Show Results"
-msgstr "Visa resultat"
-
-#: html/Approvals/Elements/PendingMyApproval:64
-msgid "Show approved requests"
-msgstr "Visa godkända förfrågningar"
-
-#: html/Ticket/Create.html:316
-msgid "Show basics"
-msgstr "Visa grunddata"
-
-#: html/Approvals/Elements/PendingMyApproval:65
-msgid "Show denied requests"
-msgstr "Visa avvisade förfrågningar"
-
-#: html/Ticket/Create.html:319
-msgid "Show details"
-msgstr "Visa detaljer"
-
-#: html/Approvals/Elements/PendingMyApproval:63
-msgid "Show pending requests"
-msgstr "Visa väntande förfrågningar"
-
-#: html/Approvals/Elements/PendingMyApproval:66
-msgid "Show requests awaiting other approvals"
-msgstr "Visa förfrågningar som väntar på andra godkännanden"
-
-#: lib/RT/Queue_Overlay.pm:93
-msgid "ShowACL"
-msgstr "VisaACL"
-
-#: lib/RT/System.pm:85
-msgid "ShowConfigTab"
-msgstr "VisaKonfigurationTab"
-
-#: lib/RT/Queue_Overlay.pm:106
-msgid "ShowOutgoingEmail"
-msgstr "VisaUtgåendeE-post"
-
-#: lib/RT/Group_Overlay.pm:168
-msgid "ShowSavedSearches"
-msgstr "VisaSparadeSökningar"
-
-#: lib/RT/Queue_Overlay.pm:102
-msgid "ShowScrips"
-msgstr "VisaScrips"
-
-#: lib/RT/Queue_Overlay.pm:99
-msgid "ShowTemplate"
-msgstr "VisaMall"
-
-#: lib/RT/Queue_Overlay.pm:103
-msgid "ShowTicket"
-msgstr "VisaÄrende"
-
-#: lib/RT/Queue_Overlay.pm:104
-msgid "ShowTicketComments"
-msgstr "VisaÄrendeKommentarer"
-
-#: lib/RT/Queue_Overlay.pm:107
-msgid "Sign up as a ticket Requestor or ticket or queue Cc"
-msgstr "Registrera som ärenderekvirent eller ärende eller kö-kopia"
-
-#: lib/RT/Queue_Overlay.pm:108
-msgid "Sign up as a ticket or queue AdminCc"
-msgstr "Registrera som ärende eller kö-Admin.kopia"
-
-#: html/Admin/Users/Modify.html:230
-#: html/User/Prefs.html:168
-msgid "Signature"
-msgstr "Signatur"
-
-#: html/Elements/Tabs:68
-msgid "Simple Search"
-msgstr "Enkel sökning"
-
-#: html/Admin/Elements/SelectSingleOrMultiple:47
-msgid "Single"
-msgstr "En enda"
-
-#: html/Search/Elements/EditFormat:75
-msgid "Size"
-msgstr "Storlek"
-
-#: html/Elements/Header:89
-msgid "Skip Menu"
-msgstr "Hoppa över meny"
-
-#: html/Search/Elements/EditFormat:78
-msgid "Small"
-msgstr "Liten"
-
-#: html/Admin/CustomFields/Modify.html:120
-msgid "Some browsers may only load content from the same domain as your RT server."
-msgstr "Vissa webbläsare läser kanske bara in innehåll från samma domän som din RT-server."
-
-#: html/Admin/Elements/AddCustomFieldValue:49
-#: html/Admin/Elements/EditCustomFieldValues:54
-msgid "Sort"
-msgstr "Sortera"
-
-#: html/Admin/Elements/EditScrip:78
-msgid "Stage"
-msgstr "Steg"
-
-#: html/Elements/SelectDateType:48
-#: html/Ticket/Elements/EditDates:53
-#: html/Ticket/Elements/ShowDates:56
-msgid "Started"
-msgstr "Påbörjad"
-
-#: html/Elements/SelectDateType:52
-#: html/Ticket/Create.html:208
-#: html/Ticket/Elements/EditDates:48
-#: html/Ticket/Elements/ShowDates:52
-msgid "Starts"
-msgstr "Börjar"
-
-#: html/Admin/Users/Modify.html:162
-#: html/User/Prefs.html:145
-msgid "State"
-msgstr "Läge"
-
-#: html/Search/Elements/PickBasics:87
-#: html/SelfService/Update.html:57
-#: html/Ticket/Create.html:66
-#: html/Ticket/Elements/EditBasics:53
-#: html/Ticket/Elements/ShowBasics:52
-#: html/Ticket/Update.html:59
-#: lib/RT/Ticket_Overlay.pm:1166
-#: lib/RT/Tickets_Overlay.pm:1651
-msgid "Status"
-msgstr "Status"
-
-#: etc/initialdata:309
-msgid "Status Change"
-msgstr "Statusändring"
-
-#: html/Ticket/Elements/Tabs:178
-msgid "Steal"
-msgstr "Stjäl"
-
-#: lib/RT/Queue_Overlay.pm:117
-msgid "Steal tickets"
-msgstr "Stjäl ärenden"
-
-#: lib/RT/Queue_Overlay.pm:117
-msgid "StealTicket"
-msgstr "StjälÄrende"
-
-#. ($Old->Name)
-#: lib/RT/Transaction_Overlay.pm:678
-msgid "Stolen from %1"
-msgstr "Stulen från %1"
-
-#: NOT FOUND IN SOURCE
-msgid "Stolen from %1 "
-msgstr "Stulen från %1 "
-
-#: html/Search/Elements/EditFormat:81
-msgid "Style"
-msgstr "Stil"
-
-#: html/Elements/QuickCreate:52
-#: html/Elements/SelectAttachmentField:47
-#: html/Search/Bulk.html:132
-#: html/SelfService/Create.html:79
-#: html/SelfService/Update.html:65
-#: html/Ticket/Create.html:108
-#: html/Ticket/Elements/EditBasics:48
-#: html/Ticket/Elements/Reminders:125
-#: html/Ticket/ModifyAll.html:100
-#: html/Ticket/Update.html:82
-#: lib/RT/Ticket_Overlay.pm:1162
-#: lib/RT/Tickets_Overlay.pm:1733
-msgid "Subject"
-msgstr "Ämne"
-
-#. ($self->Data)
-#: docs/design_docs/string-extraction-guide.txt:89
-#: lib/RT/StyleGuide.pod:815
-#: lib/RT/Transaction_Overlay.pm:700
-msgid "Subject changed to %1"
-msgstr "Ämne ändrat till %1"
-
-#: html/Elements/Submit:75
-msgid "Submit"
-msgstr "Skicka"
-
-#: lib/RT/Group_Overlay.pm:774
-msgid "Succeeded"
-msgstr "Genomförd"
-
-#: lib/RT/Date.pm:423
-msgid "Sun."
-msgstr "Sön."
-
-#: lib/RT/System.pm:75
-msgid "SuperUser"
-msgstr "SuperAnvändare"
-
-#: html/User/Elements/DelegateRights:98
-msgid "System"
-msgstr "System"
-
-#: html/Admin/Elements/ToolTabs:54
-#: html/Admin/Tools/Configuration.html:48
-msgid "System Configuration"
-msgstr "Systemkonfiguration"
-
-#: html/Admin/CustomFields/GroupRights.html:128
-#: html/Admin/CustomFields/GroupRights.html:155
-#: html/Admin/CustomFields/UserRights.html:128
-#: html/Admin/CustomFields/UserRights.html:98
-#: html/Admin/Elements/SelectRights:106
-#: lib/RT/ACE_Overlay.pm:584
-#: lib/RT/Interface/Web.pm:960
-#: lib/RT/Interface/Web.pm:989
-msgid "System Error"
-msgstr "Systemfel"
-
-#. ($msg)
-#: lib/RT/Transaction_Overlay.pm:224
-#: lib/RT/Transaction_Overlay.pm:230
-msgid "System Error: %1"
-msgstr "Systemfel: %1"
-
-#: html/Admin/Tools/index.html:47
-msgid "System Tools"
-msgstr "Systemverktyg"
-
-#: lib/RT/ACE_Overlay.pm:633
-msgid "System error. Right not delegated."
-msgstr "Systemfel. Rättighet inte överlåten."
-
-#: lib/RT/ACE_Overlay.pm:163
-#: lib/RT/ACE_Overlay.pm:228
-#: lib/RT/ACE_Overlay.pm:323
-#: lib/RT/ACE_Overlay.pm:920
-msgid "System error. Right not granted."
-msgstr "Systemfel. Rättighet inte tilldelad."
-
-#: html/Admin/CustomFields/GroupRights.html:58
-#: html/Admin/Global/GroupRights.html:56
-#: html/Admin/Groups/GroupRights.html:58
-#: html/Admin/Queues/GroupRights.html:57
-msgid "System groups"
-msgstr "Systemgrupper"
-
-#: etc/initialdata:41
-#: etc/initialdata:47
-#: etc/initialdata:53
-msgid "SystemRolegroup for internal use"
-msgstr "SystemRollgrupp för internt bruk"
-
-#: lib/RT/CurrentUser.pm:357
-msgid "TEST_STRING"
-msgstr "TEST_STRING"
-
-#: etc/initialdata:603
-#: html/Search/Elements/EditFormat:72
-#: html/Ticket/Elements/Tabs:170
-msgid "Take"
-msgstr "Ta"
-
-#: lib/RT/Queue_Overlay.pm:115
-msgid "Take tickets"
-msgstr "Ta ärenden"
-
-#: lib/RT/Queue_Overlay.pm:115
-msgid "TakeTicket"
-msgstr "TaÄrende"
-
-#: lib/RT/Transaction_Overlay.pm:663
-msgid "Taken"
-msgstr "Taget"
-
-#: html/Admin/Elements/EditScrip:71
-#: html/Tools/Offline.html:78
-msgid "Template"
-msgstr "Mall"
-
-#. ($TemplateObj->Id())
-#: html/Admin/Global/Template.html:112
-#: html/Admin/Queues/Template.html:113
-msgid "Template #%1"
-msgstr "Mall #%1"
-
-#: html/Admin/Elements/EditTemplates:110
-msgid "Template deleted"
-msgstr "Mall har raderats"
-
-#: lib/RT/Scrip_Overlay.pm:176
-msgid "Template is mandatory argument"
-msgstr "Mall är obligatorisk parameter"
-
-#: lib/RT/Scrip_Overlay.pm:180
-msgid "Template not found"
-msgstr "Mall ej funnen"
-
-#: lib/RT/Template_Overlay.pm:343
-msgid "Template parsed"
-msgstr "Mall har parsats"
-
-#: lib/RT/Template_Overlay.pm:391
-msgid "Template parsing error"
-msgstr "Mallparsfel"
-
-#: html/Admin/Elements/QueueTabs:70
-#: html/Admin/Elements/SystemTabs:57
-#: html/Admin/Global/index.html:66
-msgid "Templates"
-msgstr "Mallar"
-
-#: lib/RT/CustomField_Overlay.pm:943
-#: lib/RT/Record.pm:945
-msgid "That is already the current value"
-msgstr "Det är redan det nuvarande värdet"
-
-#: lib/RT/CustomField_Overlay.pm:412
-msgid "That is not a value for this custom field"
-msgstr "Det är inte ett värde för detta extrafält"
-
-#: lib/RT/Ticket_Overlay.pm:1994
-msgid "That is the same value"
-msgstr "Det är samma värde"
-
-#: lib/RT/ACE_Overlay.pm:305
-#: lib/RT/ACE_Overlay.pm:614
-msgid "That principal already has that right"
-msgstr "Principalen har redan den rättigheten"
-
-#. ($args{'Type'})
-#: lib/RT/Queue_Overlay.pm:753
-msgid "That principal is already a %1 for this queue"
-msgstr "Principalen är redan en %1 för denna kö"
-
-#. ($self->loc($args{'Type'}))
-#: lib/RT/Ticket_Overlay.pm:1435
-msgid "That principal is already a %1 for this ticket"
-msgstr "Principalen är redan en %1 för detta ärende"
-
-#. ($args{'Type'})
-#: lib/RT/Queue_Overlay.pm:852
-msgid "That principal is not a %1 for this queue"
-msgstr "Principalen är inte en %1 för denna kö"
-
-#: lib/RT/Ticket_Overlay.pm:1990
-msgid "That queue does not exist"
-msgstr "Kön finns ej"
-
-#: lib/RT/Ticket_Overlay.pm:3233
-msgid "That ticket has unresolved dependencies"
-msgstr "Ärendet har olösta avhängigheter"
-
-#: lib/RT/Action/CreateTickets.pm:710
-#: lib/RT/Ticket_Overlay.pm:3037
-msgid "That user already owns that ticket"
-msgstr "Ärendet tillhör redan den användaren"
-
-#: lib/RT/Ticket_Overlay.pm:3012
-msgid "That user does not exist"
-msgstr "Användaren finns ej"
-
-#: lib/RT/User_Overlay.pm:389
-msgid "That user is already privileged"
-msgstr "Användaren är redan privilegierad"
-
-#: lib/RT/User_Overlay.pm:410
-msgid "That user is already unprivileged"
-msgstr "Användaren är redan icke-privilegierad"
-
-#: lib/RT/User_Overlay.pm:402
-msgid "That user is now privileged"
-msgstr "Användaren är nu privilegierad"
-
-#: lib/RT/User_Overlay.pm:423
-msgid "That user is now unprivileged"
-msgstr "Användaren är nu icke-privilegierad"
-
-#: lib/RT/Ticket_Overlay.pm:3031
-msgid "That user may not own tickets in that queue"
-msgstr "Användaren äger kanske inte ärenden i den kön"
-
-#: lib/RT/Link_Overlay.pm:233
-msgid "That's not a numerical id"
-msgstr "Det är inte något numeriskt ID"
-
-#: html/SelfService/Display.html:53
-#: html/Ticket/Create.html:177
-#: html/Ticket/Elements/ShowSummary:49
-msgid "The Basics"
-msgstr "Grunddata"
-
-#: lib/RT/ACE_Overlay.pm:112
-msgid "The CC of a ticket"
-msgstr "Kopia för ett ärende"
-
-#: lib/RT/ACE_Overlay.pm:113
-msgid "The administrative CC of a ticket"
-msgstr "Adminstrativ kopia för ett ärende"
-
-#: bin/rt-crontool:275
-msgid "The following command will find all active tickets in the queue 'general' and set their priority to 99 if they haven't been touched in 4 hours:"
-msgstr "Följande kommando kommer att ta fram alla aktiva ärenden i kön 'general' och sätta deras prioritet som 99 om de inte rörts på 4 timmar:"
-
-#: lib/RT/Record.pm:948
-msgid "The new value has been set."
-msgstr "Det nya värdet har satts."
-
-#: lib/RT/ACE_Overlay.pm:110
-msgid "The owner of a ticket"
-msgstr "Ägaren till ett nytt ärende"
-
-#: lib/RT/ACE_Overlay.pm:111
-msgid "The requestor of a ticket"
-msgstr "Rekvirenten till ett ärende"
-
-#: html/Admin/Elements/EditUserComments:47
-msgid "These comments aren't generally visible to the user"
-msgstr "Dessa kommentarer är vanligtvis inte synliga för användaren"
-
-#: lib/RT/CustomField_Overlay.pm:978
-msgid "This custom field does not apply to that object"
-msgstr "Detta extrafält gäller inte för det objektet"
-
-#: html/Admin/Tools/Configuration.html:50
-msgid "This feature is only available to system administrators"
-msgstr "Denna delen är endast tillgänglig för systemadministratörer"
-
-#: html/Ticket/Elements/PreviewScrips:96
-msgid "This message will be sent to..."
-msgstr "Meddelandet kommer att skickas till..."
-
-#: bin/rt-crontool:266
-msgid "This tool allows the user to run arbitrary perl modules from within RT."
-msgstr "Detta verktyg ger användaren möjlighet att köra godtyckliga perl-moduler inifrån RT."
-
-#: lib/RT/Transaction_Overlay.pm:301
-msgid "This transaction appears to have no content"
-msgstr "Denna transaktion tycks inte ha något innehåll"
-
-#. ($rows)
-#: html/Ticket/Elements/ShowRequestor:70
-msgid "This user's %1 highest priority tickets"
-msgstr "Denna användares %1 högst prioriterade ärenden"
-
-#: lib/RT/Date.pm:420
-msgid "Thu."
-msgstr "Tor."
-
-#. ($Ticket->Id, $Ticket->Subject)
-#: html/Ticket/ModifyAll.html:46
-#: html/Ticket/ModifyAll.html:50
-msgid "Ticket #%1 Jumbo update: %2"
-msgstr "Ärende #%1 Jumbo uppdatering: %2"
-
-#. ($link->BaseObj->Id, $link->BaseObj->Subject)
-#: html/Approvals/Elements/ShowDependency:67
-msgid "Ticket #%1: %2"
-msgstr "Ärende #%1: %2"
-
-#. ($T::Tickets{$template_id}->Id)
-#. ($T::Tickets{$template_id}->id)
-#. ($ticket->Id)
-#: lib/RT/Action/CreateTickets.pm:1350
-#: lib/RT/Action/CreateTickets.pm:1359
-#: lib/RT/Action/CreateTickets.pm:605
-#: lib/RT/Action/CreateTickets.pm:729
-#: lib/RT/Action/CreateTickets.pm:741
-msgid "Ticket %1"
-msgstr "Ärende %1"
-
-#. ($self->Id, $QueueObj->Name)
-#: lib/RT/Ticket_Overlay.pm:755
-#: lib/RT/Ticket_Overlay.pm:775
-msgid "Ticket %1 created in queue '%2'"
-msgstr "Ärende %1 har skapats i kö '%2'"
-
-#. ($Ticket->Id, $_)
-#: html/Search/Bulk.html:377
-msgid "Ticket %1: %2"
-msgstr "Ärende %1: %2"
-
-#: html/Admin/Elements/QueueTabs:74
-msgid "Ticket Custom Fields"
-msgstr "Ärende extrafält"
-
-#. ($Ticket->Id, $Ticket->Subject)
-#: html/Ticket/History.html:46
-#: html/Ticket/History.html:49
-msgid "Ticket History # %1 %2"
-msgstr "Ärendehistorik # %1 %2"
-
-#: etc/initialdata:324
-msgid "Ticket Resolved"
-msgstr "Ärende löst"
-
-#: html/Admin/Elements/GlobalCustomFieldTabs:69
-#: html/Admin/Global/CustomFields/index.html:81
-#: lib/RT/CustomField_Overlay.pm:1207
-msgid "Ticket Transactions"
-msgstr "Ärendetransaktioner"
-
-#: lib/RT/Tickets_Overlay.pm:1920
-msgid "Ticket content"
-msgstr "Ärendeinnehåll"
-
-#: lib/RT/Tickets_Overlay.pm:1969
-msgid "Ticket content type"
-msgstr "Ärendeinnehållstyp"
-
-#: lib/RT/Ticket_Overlay.pm:603
-#: lib/RT/Ticket_Overlay.pm:617
-#: lib/RT/Ticket_Overlay.pm:628
-#: lib/RT/Ticket_Overlay.pm:763
-msgid "Ticket could not be created due to an internal error"
-msgstr "Ärende kan inte skapas på grund av ett internt fel"
-
-#: html/Ticket/Display.html:55
-msgid "Ticket metadata"
-msgstr "Ärende metadata"
-
-#: etc/initialdata:310
-msgid "Ticket status changed"
-msgstr "Ärendestatus ändrad"
-
-#. (ref $self)
-#: lib/RT/Search/FromSQL.pm:82
-msgid "TicketSQL search module"
-msgstr "ÄrendeSQL sökmodul"
-
-#: html/Admin/Elements/GlobalCustomFieldTabs:64
-#: html/Admin/Global/CustomFields/index.html:75
-#: html/Elements/Tabs:71
-#: html/Search/Elements/Chart:109
-#: lib/RT/CustomField_Overlay.pm:1206
-msgid "Tickets"
-msgstr "Ärenden"
-
-#: html/Tools/Reports/CreatedByDates.html:86
-msgid "Tickets created after"
-msgstr "Ärenden har skapats efter"
-
-#: html/Tools/Reports/CreatedByDates.html:88
-msgid "Tickets created before"
-msgstr "Ärenden har skapats före"
-
-#: html/Tools/Reports/ResolvedByDates.html:87
-msgid "Tickets resolved after"
-msgstr "Ärenden lösta efter"
-
-#: html/Tools/Reports/ResolvedByDates.html:89
-msgid "Tickets resolved before"
-msgstr "Ärenden lösta före"
-
-#: html/Approvals/Elements/ShowDependency:48
-msgid "Tickets which depend on this approval:"
-msgstr "Ärenden som är beroende av detta godkännande:"
-
-#: html/Search/Elements/PickBasics:134
-#: html/Ticket/Create.html:183
-#: html/Ticket/Elements/EditBasics:72
-msgid "Time Estimated"
-msgstr "Uppskattad tid"
-
-#: html/Search/Elements/PickBasics:135
-#: html/Ticket/Create.html:196
-#: html/Ticket/Elements/EditBasics:85
-msgid "Time Left"
-msgstr "Resterande tid"
-
-#: html/Search/Elements/PickBasics:133
-#: html/Ticket/Create.html:189
-#: html/Ticket/Elements/EditBasics:78
-msgid "Time Worked"
-msgstr "Använd tid"
-
-#: lib/RT/Tickets_Overlay.pm:1891
-msgid "Time left"
-msgstr "Resterande tid"
-
-#: html/Elements/Footer:51
-msgid "Time to display"
-msgstr "Tid för visning"
-
-#: lib/RT/Tickets_Overlay.pm:1866
-msgid "Time worked"
-msgstr "Använd tid"
-
-#: lib/RT/Ticket_Overlay.pm:1167
-msgid "TimeWorked"
-msgstr "AnvändTid"
-
-#: html/Search/Elements/EditFormat:74
-msgid "Title"
-msgstr "Titel"
-
-#. ('<a href="mailto:sales@bestpractical.com">sales@bestpractical.com</a>')
-#: html/Elements/Footer:62
-msgid "To inquire about support, training, custom development or licensing, please contact %1."
-msgstr "Förfrågan om support, utbildning, kundutveckling eller licensiering, var god kontakta %1."
-
-#: lib/RT/Ticket_Overlay.pm:1170
-msgid "Told"
-msgstr "Uppgivet"
-
-#: html/Admin/Elements/Tabs:68
-#: html/Admin/index.html:88
-#: html/Elements/Tabs:74
-#: html/Tools/index.html:46
-#: html/Tools/index.html:49
-msgid "Tools"
-msgstr "Verktyg"
-
-#: html/Search/Elements/Chart:130
-msgid "Total"
-msgstr "Totalt"
-
-#: etc/initialdata:252
-msgid "Transaction"
-msgstr "Transaktion"
-
-#. ($self->Data)
-#: lib/RT/Transaction_Overlay.pm:805
-msgid "Transaction %1 purged"
-msgstr "Transaktion %1 har tömts"
-
-#: lib/RT/Transaction_Overlay.pm:183
-msgid "Transaction Created"
-msgstr "Transaktion har skapats"
-
-#: html/Admin/Elements/QueueTabs:78
-msgid "Transaction Custom Fields"
-msgstr "Transaktion extrafält"
-
-#: lib/RT/Transaction_Overlay.pm:128
-msgid "Transaction->Create couldn't, as you didn't specify an object type and id"
-msgstr "Transaktion->Skapa gick inte eftersom du inte specificerade en objekttyp och ID"
-
-#: lib/RT/Transaction_Overlay.pm:870
-msgid "Transactions are immutable"
-msgstr "Transaktioner är oföränderliga"
-
-#: lib/RT/Date.pm:418
-msgid "Tue."
-msgstr "Tis."
-
-#: html/Admin/CustomFields/Modify.html:66
-#: html/Admin/Elements/EditCustomField:65
-#: html/Ticket/Elements/AddWatchers:54
-#: html/Ticket/Elements/AddWatchers:65
-#: html/Ticket/Elements/AddWatchers:75
-#: lib/RT/Ticket_Overlay.pm:1168
-#: lib/RT/Tickets_Overlay.pm:1705
-msgid "Type"
-msgstr "Typ"
-
-#: lib/RT/ScripCondition_Overlay.pm:128
-msgid "Unimplemented"
-msgstr "Ej implementerad"
-
-#: html/Admin/Users/Modify.html:89
-msgid "Unix login"
-msgstr "Unix-inloggning"
-
-#. ($ContentEncoding)
-#. ($self->ContentEncoding)
-#: lib/RT/Attachment_Overlay.pm:289
-#: lib/RT/Record.pm:861
-msgid "Unknown ContentEncoding %1"
-msgstr "Okänd InnehållsKodning %1"
-
-#: html/Search/Build.html:455
-#: lib/RT/Report/Tickets.pm:410
-msgid "Unknown field: $key"
-msgstr "Okänt fält: $nyckel"
-
-#: html/Elements/SelectResultsPerPage:58
-msgid "Unlimited"
-msgstr "Obegränsat"
-
-#: html/Search/Elements/SelectSearchesForObjects:64
-msgid "Unnamed search"
-msgstr "Ej namngiven sökning"
-
-#: etc/initialdata:32
-msgid "Unprivileged"
-msgstr "Icke-privilegierad"
-
-#: html/Admin/Elements/EditCustomFields:60
-msgid "Unselected Custom Fields"
-msgstr "Ej valda extrafält"
-
-#: html/Admin/CustomFields/Objects.html:61
-msgid "Unselected objects"
-msgstr "Ej valda objekt"
-
-#: lib/RT/Transaction_Overlay.pm:659
-msgid "Untaken"
-msgstr "Ej tagen"
-
-#: html/Admin/Elements/EditScrip:128
-#: html/Elements/RT__Ticket/ColumnMap:302
-#: html/Search/Bulk.html:193
-#: html/Search/Bulk.html:75
-msgid "Update"
-msgstr "Uppdatera"
-
-#: html/Ticket/Update.html:135
-msgid "Update Ticket"
-msgstr "Uppdatera ärende"
-
-#: html/Search/Bulk.html:126
-#: html/Ticket/ModifyAll.html:87
-#: html/Ticket/Update.html:72
-msgid "Update Type"
-msgstr "Uppdatera typ"
-
-#: html/Search/Bulk.html:200
-#: html/Search/Results.html:78
-msgid "Update multiple tickets"
-msgstr "Uppdatera flera ärenden"
-
-#: lib/RT/Action/CreateTickets.pm:750
-#: lib/RT/Interface/Web.pm:584
-msgid "Update not recorded."
-msgstr "Uppdatera icke-inlästa."
-
-#: html/Ticket/ModifyAll.html:84
-msgid "Update ticket"
-msgstr "Uppdatera ärende"
-
-#. ($Ticket->id)
-#: html/SelfService/Update.html:112
-#: html/SelfService/Update.html:47
-msgid "Update ticket #%1"
-msgstr "Uppdatera ärende #%1"
-
-#. ($TicketObj->id, $TicketObj->Subject)
-#: html/Ticket/Update.html:158
-msgid "Update ticket #%1 (%2)"
-msgstr "Uppdatera ärende #%1 (%2)"
-
-#: lib/RT/Action/CreateTickets.pm:748
-#: lib/RT/Interface/Web.pm:583
-msgid "Update type was neither correspondence nor comment."
-msgstr "Uppdateringstyp är varken korrespondens eller kommentar."
-
-#: html/Elements/SelectDateType:54
-#: html/Ticket/Elements/ShowDates:72
-#: lib/RT/CustomField_Overlay.pm:1284
-#: lib/RT/Ticket_Overlay.pm:1171
-msgid "Updated"
-msgstr "Uppdaterad"
-
-#: html/Tools/Offline.html:93
-msgid "Upload"
-msgstr "Överför"
-
-#: lib/RT/CustomField_Overlay.pm:84
-msgid "Upload multiple files"
-msgstr "Överför flera filer"
-
-#: lib/RT/CustomField_Overlay.pm:79
-msgid "Upload multiple images"
-msgstr "Överför flera bilder"
-
-#: lib/RT/CustomField_Overlay.pm:85
-msgid "Upload one file"
-msgstr "Överför en fil"
-
-#: lib/RT/CustomField_Overlay.pm:80
-msgid "Upload one image"
-msgstr "Överför en bild"
-
-#: lib/RT/CustomField_Overlay.pm:86
-msgid "Upload up to %1 files"
-msgstr "Överför upp till %1 filer"
-
-#: lib/RT/CustomField_Overlay.pm:81
-msgid "Upload up to %1 images"
-msgstr "Överför upp till %1 bilder"
-
-#: html/Tools/Offline.html:93
-msgid "Upload your changes"
-msgstr "Överför dina ändringar"
-
-#: html/Admin/index.html:90
-msgid "Use other RT administrative tools"
-msgstr "Använd annat RT-administrativt verktyg"
-
-#. ($args{'Owner'})
-#: lib/RT/Ticket_Overlay.pm:506
-msgid "User '%1' could not be found."
-msgstr "Det gick inte att hitta användare '%1'."
-
-#: etc/initialdata:132
-#: etc/initialdata:206
-msgid "User Defined"
-msgstr "Användardefinierad"
-
-#: html/Admin/Elements/EditScrip:93
-msgid "User Defined conditions and actions"
-msgstr "Användardefinierade villkor och handlingar"
-
-#: html/Admin/Elements/CustomFieldTabs:72
-#: html/Admin/Elements/GroupTabs:68
-#: html/Admin/Elements/QueueTabs:85
-#: html/Admin/Elements/SystemTabs:68
-#: html/Admin/Global/index.html:80
-msgid "User Rights"
-msgstr "Användarrättigheter"
-
-#. ($msg)
-#: html/Admin/Users/Modify.html:301
-msgid "User could not be created: %1"
-msgstr "Det gick inte att skapa användare: %1"
-
-#: lib/RT/User_Overlay.pm:330
-msgid "User created"
-msgstr "Användare har skapats"
-
-#: html/Admin/CustomFields/GroupRights.html:74
-#: html/Admin/Global/GroupRights.html:88
-#: html/Admin/Groups/GroupRights.html:75
-#: html/Admin/Queues/GroupRights.html:90
-msgid "User defined groups"
-msgstr "Användardefinierade grupper"
-
-#: lib/RT/User_Overlay.pm:592
-#: lib/RT/User_Overlay.pm:612
-msgid "User loaded"
-msgstr "Användare har lästs in"
-
-#: html/Admin/Groups/index.html:103
-msgid "User-defined groups"
-msgstr "Användardefinierade grupper"
-
-#: html/Admin/Users/Modify.html:69
-#: html/Elements/Login:90
-#: html/Ticket/Elements/AddWatchers:56
-msgid "Username"
-msgstr "Användarnamn"
-
-#: html/Admin/Elements/GlobalCustomFieldTabs:55
-#: html/Admin/Elements/SelectNewGroupMembers:47
-#: html/Admin/Elements/Tabs:53
-#: html/Admin/Global/CustomFields/index.html:64
-#: html/Admin/Groups/Members.html:76
-#: html/Admin/Queues/People.html:89
-#: html/Admin/index.html:62
-#: html/User/Groups/Members.html:79
-#: lib/RT/CustomField_Overlay.pm:1208
-msgid "Users"
-msgstr "Användare"
-
-#: html/Admin/Users/index.html:85
-msgid "Users matching search criteria"
-msgstr "Användare som matchar kriterier"
-
-#. ($transaction->id)
-#: bin/rt-crontool:134
-msgid "Using transaction #%1..."
-msgstr "Använder transaktion #%1..."
-
-#: lib/RT/Tickets_Overlay_SQL.pm:528
-msgid "Valid Query"
-msgstr "Giltig söksträng"
-
-#: html/Admin/CustomFields/Modify.html:80
-msgid "Validation"
-msgstr "Bekräftelse"
-
-#: html/Admin/CustomFields/Modify.html:130
-#: html/Admin/Elements/EditCustomField:78
-msgid "Values"
-msgstr "Värden"
-
-#: lib/RT/Queue_Overlay.pm:107
-msgid "Watch"
-msgstr "Observera"
-
-#: lib/RT/Queue_Overlay.pm:108
-msgid "WatchAsAdminCc"
-msgstr "ObserveraSomAdmin.kopia"
-
-#: html/Admin/Elements/QueueTabs:63
-msgid "Watchers"
-msgstr "Observatörer"
-
-#: lib/RT/Date.pm:419
-msgid "Wed."
-msgstr "Ons."
-
-#: html/Tools/MyDay.html:75
-msgid "What I did today"
-msgstr "Vad jag gjorde i dag"
-
-#: etc/initialdata:521
-msgid "When a ticket has been approved by all approvers, add correspondence to the original ticket"
-msgstr "När ett ärende har godkänts av alla godkännare, lägg till korrespondens till originalärendet"
-
-#: etc/initialdata:485
-msgid "When a ticket has been approved by any approver, add correspondence to the original ticket"
-msgstr "När ett ärende har godkänts av någon godkännare, lägg till korrespondens till originalärendet"
-
-#: etc/initialdata:146
-msgid "When a ticket is created"
-msgstr "När ett ärende har skapats"
-
-#: etc/initialdata:418
-msgid "When an approval ticket is created, notify the Owner and AdminCc of the item awaiting their approval"
-msgstr "När ett godkännandeärende skapas, meddela ägaren och Admin.kopia-mottagare om delen som väntar på deras godkännande"
-
-#: etc/initialdata:151
-msgid "When anything happens"
-msgstr "När något händer"
-
-#: etc/initialdata:199
-msgid "Whenever a ticket is resolved"
-msgstr "När ett ärende har lösts"
-
-#: etc/initialdata:185
-msgid "Whenever a ticket's owner changes"
-msgstr "När ett ärendes ägare byts ut"
-
-#: etc/initialdata:178
-#: etc/upgrade/3.1.17/content:16
-msgid "Whenever a ticket's priority changes"
-msgstr "När ett ärendes prioritet ändras"
-
-#: etc/initialdata:193
-msgid "Whenever a ticket's queue changes"
-msgstr "När ett ärendes kö ändras"
-
-#: etc/initialdata:170
-msgid "Whenever a ticket's status changes"
-msgstr "När ett ärendes status ändras"
-
-#: etc/initialdata:207
-msgid "Whenever a user-defined condition occurs"
-msgstr "När det förekommer ett användardefinierat villkor"
-
-#: etc/initialdata:164
-msgid "Whenever comments come in"
-msgstr "När det kommer in kommentarer"
-
-#: etc/initialdata:157
-msgid "Whenever correspondence comes in"
-msgstr "När det kommer in korrespondens"
-
-#: html/Admin/Users/Modify.html:188
-#: html/User/Prefs.html:88
-msgid "Work"
-msgstr "Arbete"
-
-#: html/Search/Results.html:82
-msgid "Work offline"
-msgstr "Arbeta offline"
-
-#: html/Ticket/Elements/ShowBasics:63
-#: html/Ticket/Update.html:64
-msgid "Worked"
-msgstr "Arbetat"
-
-#: lib/RT/Ticket_Overlay.pm:3140
-msgid "You already own this ticket"
-msgstr "Det här ärendet tillhör redan dig"
-
-#: html/autohandler:214
-#: html/autohandler:222
-msgid "You are not an authorized user"
-msgstr "Du är inte en auktoriserad användare"
-
-#: html/Prefs/Search.html:56
-msgid "You can also edit the predefined search itself"
-msgstr "Du kan även redigera själva den fördefinierade sökningen"
-
-#: lib/RT/Ticket_Overlay.pm:3025
-msgid "You can only reassign tickets that you own or that are unowned"
-msgstr "Du kan endast dela ut ärenden som tillhör dig eller som inte tillhör någon"
-
-#: lib/RT/Ticket_Overlay.pm:3021
-msgid "You can only take tickets that are unowned"
-msgstr "Du kan endast ta ärenden som inte tillhör någon"
-
-#. ($num, $queue)
-#: docs/design_docs/string-extraction-guide.txt:47
-#: lib/RT/StyleGuide.pod:780
-msgid "You found %1 tickets in queue %2"
-msgstr "Du fann %1 ärenden i kö %2"
-
-#: html/NoAuth/Logout.html:52
-msgid "You have been logged out of RT."
-msgstr "Du har loggat av från RT."
-
-#: html/SelfService/Display.html:133
-msgid "You have no permission to create tickets in that queue."
-msgstr "Du har inte tillåtelse att skapa ärenden i den kön."
-
-#: lib/RT/Ticket_Overlay.pm:2003
-msgid "You may not create requests in that queue."
-msgstr "Du får inte skapa förfrågningar i den kön."
-
-#: html/NoAuth/Logout.html:56
-msgid "You're welcome to login again"
-msgstr "Du är välkommen att logga in igen"
-
-#: etc/initialdata:502
-msgid "Your request has been approved by %1. Other approvals may still be pending."
-msgstr "Din förfrågan har godkänts av %1. Andra godkännanden inväntas kanske fortfarande."
-
-#: etc/initialdata:540
-msgid "Your request has been approved."
-msgstr "Din förfrågan har godkänts."
-
-#: etc/initialdata:445
-msgid "Your request was rejected."
-msgstr "Din förfrågan avvisades."
-
-#: html/autohandler:251
-msgid "Your username or password is incorrect"
-msgstr "Ditt användarnamn eller lösenord är inte korrekt"
-
-#: html/Admin/Users/Modify.html:168
-#: html/User/Prefs.html:149
-msgid "Zip"
-msgstr "Zip"
-
-#: lib/RT/System.pm:87
-msgid "allow creation of saved searches"
-msgstr "tillåt skapande av sparade sökningar"
-
-#: lib/RT/System.pm:86
-msgid "allow loading of saved searches"
-msgstr "tillåt inläsning av sparade sökningar"
-
-#. ($right->PrincipalObj->Object->SelfDescription)
-#: html/User/Elements/DelegateRights:80
-msgid "as granted to %1"
-msgstr "som givet till %1"
-
-#: html/Search/Results.html:83
-msgid "chart"
-msgstr "diagram"
-
-#: html/SelfService/Closed.html:49
-msgid "closed"
-msgstr "stängd"
-
-#: html/Elements/SelectCustomFieldOperator:59
-#: html/Elements/SelectMatch:55
-msgid "contains"
-msgstr "innehåller"
-
-#: html/Admin/Queues/Modify.html:98
-#: lib/RT/Date.pm:346
-msgid "days"
-msgstr "dagar"
-
-#: lib/RT/Queue_Overlay.pm:87
-msgid "deleted"
-msgstr "raderad"
-
-#: html/Search/Elements/PickBasics:61
-msgid "does not match"
-msgstr "matchar inte"
-
-#: html/Elements/SelectCustomFieldOperator:59
-#: html/Elements/SelectMatch:56
-msgid "doesn't contain"
-msgstr "innehåller inte"
-
-#: html/Elements/SelectEqualityOperator:59
-msgid "equal to"
-msgstr "lika med"
-
-#: html/Search/Build.html:547
-msgid "error: can't move down"
-msgstr "fel: kan inte flytta ner"
-
-#: html/Search/Build.html:569
-msgid "error: can't move left"
-msgstr "fel: kan inte flytta till vänster"
-
-#: html/Search/Build.html:528
-msgid "error: can't move up"
-msgstr "fel: kan inte flytta upp"
-
-#: html/Search/Build.html:612
-msgid "error: nothing to delete"
-msgstr "fel: inget att radera"
-
-#: html/Search/Build.html:533
-#: html/Search/Build.html:552
-#: html/Search/Build.html:574
-#: html/Search/Build.html:603
-msgid "error: nothing to move"
-msgstr "fel: inget att flytta"
-
-#: html/Search/Build.html:630
-msgid "error: nothing to toggle"
-msgstr "fel: inget att växla"
-
-#: html/Elements/SelectCustomFieldOperator:59
-#: html/Elements/SelectEqualityOperator:59
-msgid "greater than"
-msgstr "större än"
-
-#. ($self->Name)
-#: lib/RT/Group_Overlay.pm:214
-msgid "group '%1'"
-msgstr "grupp '%1'"
-
-#. ($m->scomp('Elements/SelectGroupBy', Name => 'PrimaryGroupBy', Query => $Query))
-#: html/Search/Results.html:88
-msgid "grouped by %1"
-msgstr "grupperad efter %1"
-
-#: lib/RT/Date.pm:342
-msgid "hours"
-msgstr "timmar"
-
-#: html/Search/Elements/PickBasics:48
-msgid "id"
-msgstr "ID"
-
-#: html/Elements/SelectBoolean:53
-#: html/Elements/SelectCustomFieldOperator:59
-#: html/Elements/SelectMatch:57
-#: html/Search/Elements/PickBasics:162
-#: html/Search/Elements/PickBasics:74
-#: html/Search/Elements/PickBasics:90
-#: html/Search/Elements/PickCFs:53
-msgid "is"
-msgstr "är"
-
-#: html/Elements/SelectBoolean:57
-#: html/Elements/SelectCustomFieldOperator:59
-#: html/Elements/SelectMatch:58
-#: html/Search/Elements/PickBasics:163
-#: html/Search/Elements/PickBasics:75
-#: html/Search/Elements/PickBasics:91
-#: html/Search/Elements/PickCFs:54
-msgid "isn't"
-msgstr "är inte"
-
-#: html/Elements/SelectCustomFieldOperator:59
-#: html/Elements/SelectEqualityOperator:59
-msgid "less than"
-msgstr "mindre än"
-
-#: html/Search/Elements/PickBasics:60
-msgid "matches"
-msgstr "matchar"
-
-#: lib/RT/Date.pm:338
-msgid "min"
-msgstr "min."
-
-#: lib/RT/Date.pm:354
-msgid "months"
-msgstr "månader"
-
-#: lib/RT/Queue_Overlay.pm:82
-msgid "new"
-msgstr "ny"
-
-#: html/Admin/Elements/PickCustomFields:64
-#: html/Admin/Elements/PickObjects:65
-msgid "no name"
-msgstr "inget namn"
-
-#: html/Admin/Elements/EditScrips:64
-msgid "no value"
-msgstr "inget värde"
-
-#: html/Admin/Elements/EditQueueWatchers:48
-#: html/Ticket/Elements/EditWatchers:49
-msgid "none"
-msgstr "inget"
-
-#: html/Elements/SelectEqualityOperator:59
-msgid "not equal to"
-msgstr "inte lika med"
-
-#: lib/RT/Queue_Local.pm:2
-msgid "offer"
-msgstr ""
-
-#: html/SelfService/Elements/MyRequests:82
-#: lib/RT/Queue_Overlay.pm:83
-msgid "open"
-msgstr "öppen"
-
-#. ($self->Name, $user->Name)
-#: lib/RT/Group_Overlay.pm:219
-msgid "personal group '%1' for user '%2'"
-msgstr "personlig grupp '%1' för användare '%2'"
-
-#. ($queue->Name, $self->Type)
-#: lib/RT/Group_Overlay.pm:227
-msgid "queue %1 %2"
-msgstr "kö %1 %2"
-
-#: lib/RT/Queue_Overlay.pm:86
-msgid "rejected"
-msgstr "avvisad"
-
-#: lib/RT/Queue_Overlay.pm:85
-msgid "resolved"
-msgstr "löst"
-
-#: lib/RT/Date.pm:334
-msgid "sec"
-msgstr "sek."
-
-#: lib/RT/System.pm:85
-msgid "show Configuration tab"
-msgstr "visa konfigurationstab"
-
-#: html/Search/Results.html:80
-msgid "spreadsheet"
-msgstr "kalkylblad"
-
-#: lib/RT/Queue_Overlay.pm:84
-msgid "stalled"
-msgstr "i väntläge"
-
-#. ($m->scomp('Elements/SelectChartType', Name => 'ChartStyle'))
-#: html/Search/Results.html:89
-msgid "style: %1"
-msgstr "stil: %1"
-
-#: html/Prefs/MyRT.html:93
-msgid "summary rows"
-msgstr "summeringsrader"
-
-#. ($self->Type)
-#: lib/RT/Group_Overlay.pm:222
-msgid "system %1"
-msgstr "system %1"
-
-#. ($self->Type)
-#: lib/RT/Group_Overlay.pm:233
-msgid "system group '%1'"
-msgstr "systemgrupp '%1'"
-
-#: html/Elements/Error:64
-#: html/SelfService/Error.html:63
-msgid "the calling component did not specify why"
-msgstr "den anropade komponenten specificerade inte varför"
-
-#. ($self->Instance, $self->Type)
-#: lib/RT/Group_Overlay.pm:230
-msgid "ticket #%1 %2"
-msgstr "ärende #%1 %2"
-
-#. ($self->Id)
-#: lib/RT/Group_Overlay.pm:236
-msgid "undescribed group %1"
-msgstr "icke-beskriven grupp %1"
-
-#. ($user->Object->Name)
-#: lib/RT/Group_Overlay.pm:211
-msgid "user %1"
-msgstr "användare %1"
-
-#: lib/RT/Date.pm:350
-msgid "weeks"
-msgstr "veckor"
-
-#: lib/RT/Date.pm:358
-msgid "years"
-msgstr "Ã¥r"
-
diff --git a/rt/lib/RT/I18N/tr.po b/rt/lib/RT/I18N/tr.po
deleted file mode 100644
index 58c6b7943..000000000
--- a/rt/lib/RT/I18N/tr.po
+++ /dev/null
@@ -1,5079 +0,0 @@
-# Turkish localization catalog for Request Tracker (RT)
-# First Author: Burak Gürsoy <burak@cpan.org>, Jun 2007
-msgid ""
-msgstr ""
-"Project-Id-Version: RT 3.6.x\n"
-"POT-Creation-Date: 2007-15-06 22:30+0200\n"
-"PO-Revision-Date: 2007-15-06 22:30+0200\n"
-"Last-Translator: Burak Gürsoy <burak@cpan.org>\n"
-"Language-Team: rt-devel <rt-devel@lists.bestpractical.com>\n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: 8bit\n"
-
-#: html/Widgets/SavedSearch:70
-#. ($self->{CurrentSearch}{Object}->Description)
-msgid " %1 deleted."
-msgstr " %1 silindi."
-
-#: html/Widgets/SavedSearch:47
-#. ($self->{CurrentSearch}{Description}, $args->{Description})
-msgid " %1 renamed to %2."
-msgstr " %1 değeri %2 olarak yeniden adlandırıldı."
-
-#: html/Widgets/SavedSearch:60
-#. ($args->{Description})
-msgid " %1 saved."
-msgstr " %1 kaydedildi."
-
-#: html/Approvals/Elements/Approve:48 html/Approvals/Elements/ShowDependency:71 html/SelfService/Display.html:46 html/Ticket/Display.html:47 html/Ticket/Display.html:51
-#. ($Ticket->id, $Ticket->Subject)
-#. ($link->BaseObj->Id, $link->BaseObj->Subject)
-#. ($ticket->Id, $ticket->Subject)
-#. ($TicketObj->Id, $TicketObj->Subject)
-msgid "#%1: %2"
-msgstr ""
-
-#: html/Elements/ShowSearch:105
-msgid "$1"
-msgstr ""
-
-#: lib/RT/Record.pm:940
-#. ($label)
-msgid "$prefix %1"
-msgstr ""
-
-#: lib/RT/URI/fsck_com_rt.pm:256
-#. ($self->ObjectType, $self->Object->Id)
-msgid "%1 #%2"
-msgstr ""
-
-#: lib/RT/Date.pm:365
-#. ($s, $time_unit)
-msgid "%1 %2"
-msgstr ""
-
-#: lib/RT/Date.pm:401
-#. ($self->GetWeekday($wday), $self->GetMonth($mon), map {sprintf "%02d", $_} ($mday, $hour, $min, $sec), ($year+1900))
-msgid "%1 %2 %3 %4:%5:%6 %7"
-msgstr "%3 %2 %7 %1, %4:%5:%6"
-
-#: lib/RT/Record.pm:1685 lib/RT/Transaction_Overlay.pm:647 lib/RT/Transaction_Overlay.pm:690
-#. ($cf->Name, $new_value->Content)
-#. ($field, $self->NewValue)
-#. ($self->Field, $principal->Object->Name)
-msgid "%1 %2 added"
-msgstr "%1 %2 eklendi"
-
-#: lib/RT/Date.pm:362
-#. ($s, $time_unit)
-msgid "%1 %2 ago"
-msgstr "%1 %2 önce"
-
-#: lib/RT/Record.pm:1692 lib/RT/Transaction_Overlay.pm:654
-#. ($cf->Name, $old_content, $new_value->Content)
-#. ($field, $self->OldValue, $self->NewValue)
-msgid "%1 %2 changed to %3"
-msgstr "%1: %2 deÄŸeri %3 olarak deÄŸiÅŸtirildi"
-
-#: lib/RT/Record.pm:1689 lib/RT/Transaction_Overlay.pm:650 lib/RT/Transaction_Overlay.pm:696
-#. ($cf->Name, $old_value->Content)
-#. ($field, $self->OldValue)
-#. ($self->Field, $principal->Object->Name)
-msgid "%1 %2 deleted"
-msgstr "%1 %2 silindi"
-
-#: html/Admin/Elements/EditScrips:65 html/Admin/Elements/ListGlobalScrips:63 html/Ticket/Elements/PreviewScrips:103
-#. (loc($scrip->ConditionObj->Name), loc($scrip->ActionObj->Name), loc($scrip->TemplateObj->Name))
-msgid "%1 %2 with template %3"
-msgstr "%1 %2 ile ÅŸablon %3"
-
-#: html/Ticket/Elements/ShowAttachments:72
-#. ($rev->CreatedAsString, $size, $rev->CreatorObj->Name)
-msgid "%1 (%2) by %3"
-msgstr "%1 (%2) oluÅŸturan: %3"
-
-#: html/SelfService/Update.html:60 html/Ticket/Elements/EditBasics:108 html/Ticket/Update.html:61 html/Ticket/Update.html:63 html/Tools/MyDay.html:66
-#. (loc($DefaultStatus))
-#. (loc($Ticket->Status()))
-#. (loc($TicketObj->Status))
-#. ($TicketObj->OwnerObj->Name())
-msgid "%1 (Unchanged)"
-msgstr "%1 (DeÄŸiÅŸmemiÅŸ)"
-
-#: bin/rt-crontool:237 bin/rt-crontool:244 bin/rt-crontool:250
-#. ("--search-argument", "--search")
-#. ("--condition-argument", "--condition")
-#. ("--action-argument", "--action")
-msgid "%1 - An argument to pass to %2"
-msgstr "%1 - %2 komutuna geçilecek bir argüman"
-
-#: bin/rt-crontool:262
-#. ("--verbose")
-msgid "%1 - Output status updates to STDOUT"
-msgstr "%1 - STDOUT' a gönderilen çıktı durumu güncellemeleri"
-
-#: bin/rt-crontool:253
-#. ("--template-id")
-msgid "%1 - Specify id of the template you want to use"
-msgstr "%1 - Kullanmak istediğiniz şablonun adını belirtin"
-
-#: bin/rt-crontool:256
-#. ("--transaction")
-msgid "%1 - Specify if you want to use either 'first' or 'last' tarnsaction"
-msgstr "%1 - 'first' veya 'last' hareketlerinden hangisini kullanacağınızı belirtin"
-
-#: bin/rt-crontool:247
-#. ("--action")
-msgid "%1 - Specify the action module you want to use"
-msgstr "%1 - Kullanmak istediğiniz eylem modülünü belirtin"
-
-#: bin/rt-crontool:241
-#. ("--condition")
-msgid "%1 - Specify the condition module you want to use"
-msgstr "%1 - Kullanmak istediğiniz durum modülünü belirtin"
-
-#: bin/rt-crontool:234
-#. ("--search")
-msgid "%1 - Specify the search module you want to use"
-msgstr "%1 - Kullanmak istediğiniz arama modülünü belirtin"
-
-#: bin/rt-crontool:259
-#. ("--transaction-type")
-msgid "%1 - Specify the type of a transaction you want to use"
-msgstr "%1 - Kullanmak istediğiniz hareket türünü belirtin"
-
-#: html/Elements/Footer:56
-#. ('&#187;&#124;&#171;', $RT::VERSION, '2006', '<a href="http://www.bestpractical.com?rt='.$RT::VERSION.'">Best Practical Solutions, LLC</a>',)
-msgid "%1 RT %2 Copyright 1996-%3 %4."
-msgstr "%1 RT sürüm %2 Telif Hakkı: 1996-%3 %4."
-
-#: lib/RT/ScripAction_Overlay.pm:150
-#. ($self->Id)
-msgid "%1 ScripAction loaded"
-msgstr "ScriptAction %1 yüklendi"
-
-#: lib/RT/Record.pm:1722
-#. ($args{'Value'}, $cf->Name)
-msgid "%1 added as a value for %2"
-msgstr "%1, %2 için bir değer olarak eklendi"
-
-#: lib/RT/Link_Overlay.pm:144 lib/RT/Link_Overlay.pm:151
-#. ($args{'Base'})
-#. ($args{'Target'})
-msgid "%1 appears to be a local object, but can't be found in the database"
-msgstr "%1 yerel bir nesne olarak gözüküyor, fakat veritabanında mevcut değil"
-
-#: html/Ticket/Elements/ShowDates:73 lib/RT/Transaction_Overlay.pm:531
-#. ($self->BriefDescription , $self->CreatorObj->Name)
-#. ($Ticket->LastUpdatedAsString, $Ticket->LastUpdatedByObj->Name)
-msgid "%1 by %2"
-msgstr "%1 - %2"
-
-#: lib/RT/Transaction_Overlay.pm:788 lib/RT/Transaction_Overlay.pm:797 lib/RT/Transaction_Overlay.pm:800
-#. ($self->Field , $q1->Name , $q2->Name)
-#. ($self->Field, $t2->AsString, $t1->AsString)
-#. ($self->Field, ($self->OldValue? "'".$self->OldValue ."'" : $self->loc("(no value)")) , "'". $self->NewValue."'")
-msgid "%1 changed from %2 to %3"
-msgstr "%1, %2 deÄŸerinden %3 deÄŸerine deÄŸiÅŸti"
-
-#: html/Search/Build.html:213
-#. ($Description)
-msgid "%1 copy"
-msgstr "%1 kopya"
-
-#: lib/RT/Record.pm:944
-msgid "%1 could not be set to %2."
-msgstr "%1, %2 olarak atanamıyor"
-
-#: lib/RT/Ticket_Overlay.pm:2787
-#. ($self)
-msgid "%1 couldn't set status to resolved. RT's Database may be inconsistent."
-msgstr "%1, durumunu çözülmüş olarak değiştiremiyor. RT' nin veritabanı tutarsız olabilir"
-
-#: lib/RT/Transaction_Overlay.pm:571
-#. ($obj_type)
-msgid "%1 created"
-msgstr "%1 oluÅŸturuldu"
-
-#: lib/RT/Transaction_Overlay.pm:576
-#. ($obj_type)
-msgid "%1 deleted"
-msgstr "%1 silindi"
-
-#: etc/initialdata:593
-msgid "%1 highest priority tickets I own"
-msgstr "Sahibi olduğum yüksek öneme sahip %1 bilet"
-
-#: bin/rt-crontool:229
-#. ($0)
-msgid "%1 is a tool to act on tickets from an external scheduling tool, such as cron."
-msgstr "%1, biletlere dışarıdan müdahale edebilen bir araçtır (cron gibi)"
-
-#: lib/RT/Queue_Overlay.pm:863
-#. ($principal->Object->Name, $args{'Type'})
-msgid "%1 is no longer a %2 for this queue."
-msgstr "%1, artık bu kuyruk için %2 değil."
-
-#: html/Ticket/Elements/ShowTime:47 html/Ticket/Elements/ShowTime:49
-#. ($minutes)
-msgid "%1 min"
-msgstr "%1 dakika"
-
-#: etc/initialdata:601
-msgid "%1 newest unowned tickets"
-msgstr "Sahibi olmayan en yeni %1 bilet"
-
-#: lib/RT/CustomField_Overlay.pm:893
-msgid "%1 objects"
-msgstr "%1 nesne"
-
-#: html/User/Elements/DelegateRights:97
-#. (loc($ObjectType =~ /^RT::(.*)$/))
-msgid "%1 rights"
-msgstr "%1 hak"
-
-#: lib/RT/Action/ResolveMembers.pm:63
-#. (ref $self)
-msgid "%1 will resolve all members of a resolved group ticket."
-msgstr "%1, çözülmüş bir grup biletinin tüm üyelerini çözecektir"
-
-
-#: lib/RT/CustomField_Overlay.pm:894
-msgid "%1's %2 objects"
-msgstr "%1 için %2 nesne"
-
-#: lib/RT/CustomField_Overlay.pm:895
-msgid "%1's %2's %3 objects"
-msgstr "%1 ve %2 için %3 nesne"
-
-#: html/Search/Elements/SearchPrivacy:52 html/Search/Elements/SelectSearchObject:55 html/Search/Elements/SelectSearchesForObjects:57
-#. ($object->Name)
-#. ($Object->Name)
-msgid "%1's saved searches"
-msgstr "%1 için kaydedilmiş aramalar"
-
-#: lib/RT/Transaction_Overlay.pm:481
-#. ($self)
-msgid "%1: no attachment specified"
-msgstr "%1: herhangi bir eklenti belirtilmedi"
-
-#: html/Ticket/Elements/ShowTransactionAttachments:78
-#. ($size)
-msgid "%1b"
-msgstr ""
-
-#: html/Ticket/Elements/ShowTransactionAttachments:75
-#. (int( $size / 102.4 ) / 10)
-msgid "%1k"
-msgstr ""
-
-#: html/Ticket/Elements/ShowTime:49
-#. (sprintf("%.1f",$minutes / 60))
-msgid "%quant(%1,hour)"
-msgstr ""
-
-#: lib/RT/Ticket_Overlay.pm:1142
-#. ($args{'Status'})
-msgid "'%1' is an invalid value for status"
-msgstr "'%1', durum için geçersiz bir değer"
-
-#: html/Admin/Elements/EditCustomFieldValues:50 html/Admin/Elements/EditQueueWatchers:50 html/Admin/Elements/EditScrips:56 html/Admin/Elements/EditTemplates:57 html/Admin/Groups/Members.html:73 html/Elements/EditLinks:54 html/Ticket/Elements/EditPeople:67 html/User/Groups/Members.html:76
-msgid "(Check box to delete)"
-msgstr "(Silmek için kutucuğu işaretleyin)"
-
-#: html/Ticket/Elements/PreviewScrips:99
-msgid "(Check boxes to disable notifications to the listed recipients)"
-msgstr "(Listelenen alıcılara uyarı gitmesini iptal etmek için kutucukları işaretleyin)"
-
-#: html/Ticket/Elements/PreviewScrips:123
-msgid "(Check boxes to enable notifications to the listed recipients)"
-msgstr "Listelenen alıcılara uyarı gitmesi için kutucukları işaretleyin)"
-
-#: html/Ticket/Create.html:218
-msgid "(Enter ticket ids or URLs, separated with spaces)"
-msgstr "(Boşluklarla ayrılmış olarak, bilet numaralarını veya URL' lerini girin)"
-
-#: html/Admin/Queues/Modify.html:75 html/Admin/Queues/Modify.html:81
-#. ($RT::CorrespondAddress)
-#. ($RT::CommentAddress)
-msgid "(If left blank, will default to %1)"
-msgstr "(Boş bırakılırsa, varsayılan olarak %1 değerini alacaktır)"
-
-#: html/Admin/Elements/EditCustomFields:74 html/Admin/Elements/ListGlobalCustomFields:53
-msgid "(No custom fields)"
-msgstr "(Özel alan yok)"
-
-#: html/Admin/Groups/Members.html:71 html/User/Groups/Members.html:74
-msgid "(No members)"
-msgstr "(Ãœye yok)"
-
-#: html/Admin/Elements/EditScrips:53 html/Admin/Elements/ListGlobalScrips:48
-msgid "(No scrips)"
-msgstr "(Senet yok)"
-
-#: html/Admin/Elements/EditTemplates:52
-msgid "(No templates)"
-msgstr "(Åžablon yok)"
-
-#: html/Admin/Elements/PickCustomFields:47 html/Admin/Elements/PickObjects:47
-msgid "(None)"
-msgstr "(Hiçbiri)"
-
-#: html/Ticket/Update.html:90
-msgid "(Sends a blind carbon-copy of this update to a comma-delimited list of email addresses. Does <strong>not</strong> change who will receive future updates.)"
-msgstr "(Bu güncellemeyi, virgülle ayrılmış eposta listesine, görünmez karbon kopya olarak gönderir. İleriki güncellemeleri kimin alıp almayacağını <strong>değiştirmez</strong>.)"
-
-#: html/Ticket/Create.html:103
-msgid "(Sends a carbon-copy of this update to a comma-delimited list of administrative email addresses. These people <strong>will</strong> receive future updates.)"
-msgstr "(Bu güncellemeyi, virgülle ayrılmış eposta listesine, karbon kopya olarak gönderir. Listedeki kişiler ileriki güncellemeleri <strong>alacaktır</strong>.)"
-
-#: html/Ticket/Update.html:86
-msgid "(Sends a carbon-copy of this update to a comma-delimited list of email addresses. Does <strong>not</strong> change who will receive future updates.)"
-msgstr "(Bu güncellemeyi, virgülle ayrılmış eposta listesine, karbon kopya olarak gönderir. İleriki güncellemeleri kimin alıp almayacağını <strong>değiştirmez</strong>.)"
-
-#: html/Ticket/Create.html:93
-msgid "(Sends a carbon-copy of this update to a comma-delimited list of email addresses. These people <strong>will</strong> receive future updates.)"
-msgstr "(Bu güncellemeyi, virgülle ayrılmış eposta listesine, karbon kopya olarak gönderir. Listedeki kişiler ileriki güncellemeleri <strong>alacaktır</strong>.)"
-
-#: html/Admin/Elements/EditScrip:96
-msgid "(Use these fields when you choose 'User Defined' for a condition or action)"
-msgstr "(Bir durum veya eylem için 'Kullanıcı Tanımlı' yı seçtiğinizde, bu alanları kullanın)"
-
-#: html/Ticket/Elements/EditWatchers:60 html/Ticket/Elements/ShowUserEntry:53
-msgid "(Will not be sent email)"
-msgstr "(Eposta gönderilmeyecek)"
-
-#: html/Admin/Groups/index.html:57 html/User/Groups/index.html:54
-msgid "(empty)"
-msgstr "(boÅŸ)"
-
-#: html/Admin/Users/index.html:60
-msgid "(no name listed)"
-msgstr "(herhangi bir ad listelenmedi)"
-
-#: html/Admin/Elements/SelectRights:72 html/Elements/EditCustomFieldSelect:69 html/Elements/SelectCustomFieldValue:51 html/Elements/ShowCustomFields:54 html/Search/Chart:56 html/Search/Elements/Chart:76 lib/RT/Transaction_Overlay.pm:591
-msgid "(no value)"
-msgstr "(deÄŸer yok)"
-
-#: html/Admin/Elements/EditCustomFieldValues:47
-msgid "(no values)"
-msgstr "(deÄŸer yok)"
-
-#: html/Elements/EditLinks:132 html/Ticket/Elements/BulkLinks:49
-msgid "(only one ticket)"
-msgstr "(sadece bir bilet)"
-
-#: html/Elements/RT__Ticket/ColumnMap:149
-msgid "(pending approval)"
-msgstr "(onaylanmayı bekliyor)"
-
-#: html/Elements/RT__Ticket/ColumnMap:152
-msgid "(pending other Collection)"
-msgstr "(diÄŸer bir Koleksiyonu bekliyor)"
-
-#: html/Admin/Users/Modify.html:71
-msgid "(required)"
-msgstr "(gerekli)"
-
-#: html/Ticket/Elements/ShowTransactionAttachments:82
-msgid "(untitled)"
-msgstr "(başlıksız)"
-
-#: html/Ticket/Elements/Reminders:133
-msgid "(yyyy/mm/dd)"
-msgstr "(yyyy/aa/gg)"
-
-#: html/Elements/EditCustomFieldSelect:57
-msgid "-"
-msgstr ""
-
-#: bin/rt-crontool:95
-msgid "--transaction argument could be only 'first' or 'last'"
-msgstr "--transaction argümanı sadece 'first' veya 'last' olabilir"
-
-#: html/Ticket/Elements/ShowBasics:53
-msgid "<% $Ticket->Status%>"
-msgstr ""
-
-#: html/Elements/SelectTicketTypes:48
-msgid "<% $_ %>"
-msgstr ""
-
-#: html/Search/Elements/SelectLinks:48
-msgid "<%$_%>"
-msgstr ""
-
-#: html/Search/Elements/DisplayOptions:73
-msgid "<%$field%>"
-msgstr ""
-
-#: html/Elements/CreateTicket:47
-#. ($m->scomp('/Elements/SelectNewTicketQueue'))
-msgid "<input type=\"submit\" class=\"button\" value=\"New ticket in\" />&nbsp;%1"
-msgstr "<input type=\"submit\" class=\"button\" value=\"Yeni bilet:\" />&nbsp;%1"
-
-#: docs/design_docs/string-extraction-guide.txt:54 lib/RT/StyleGuide.pod:787
-#. ($m->scomp('/Elements/SelectNewTicketQueue'))
-msgid "<input type=\"submit\" value=\"New ticket in\">&nbsp;%1"
-msgstr "<input type=\"submit\" value=\"Yeni bilet:\">&nbsp;%1"
-
-#: etc/initialdata:218
-msgid "A blank template"
-msgstr "BoÅŸ bir ÅŸablon"
-
-#: html/Admin/Users/Modify.html:371
-msgid "A password was not set, so user won't be able to login."
-msgstr "Bir parola atanmamış, dolayısıyla, kullanıcı giriş yapamayacak"
-
-#: lib/RT/ACE_Overlay.pm:174 lib/RT/Principal_Overlay.pm:219
-msgid "ACE not found"
-msgstr "ACE bulunamadı"
-
-#: lib/RT/ACE_Overlay.pm:853
-msgid "ACEs can only be created and deleted."
-msgstr "ACE' ler sadece oluÅŸturulabilir ve silinebilirler."
-
-#: html/Search/Elements/SelectAndOr:46
-msgid "AND"
-msgstr "VE"
-
-#: html/User/Elements/Tabs:53
-msgid "About me"
-msgstr "Hakkımda"
-
-#: html/Admin/Users/Modify.html:106
-msgid "Access control"
-msgstr "EriÅŸim denetimi"
-
-#: html/Admin/Elements/EditScrip:65
-msgid "Action"
-msgstr "Eylem"
-
-#: lib/RT/Scrip_Overlay.pm:172
-#. ($args{'ScripAction'})
-msgid "Action %1 not found"
-msgstr "%1 eylemi bulunamadı"
-
-#: bin/rt-crontool:171
-msgid "Action committed.\\n"
-msgstr "Eylem yapıldı"
-
-#: lib/RT/Scrip_Overlay.pm:168
-msgid "Action is mandatory argument"
-msgstr "Eylem, zorunlu bir argüman"
-
-#: bin/rt-crontool:167
-msgid "Action prepared..."
-msgstr "Eylem hazırlanıyor..."
-
-#: html/Search/Build.html:85
-msgid "Add"
-msgstr "Ekle"
-
-#: html/Search/Bulk.html:92
-msgid "Add AdminCc"
-msgstr "Yöneticiye karbon kopya ekle"
-
-#: html/Search/Bulk.html:88
-msgid "Add Cc"
-msgstr "Karbon kopya ekle"
-
-#: html/Search/Elements/EditFormat:49
-msgid "Add Columns"
-msgstr "Sütun ekle"
-
-#: html/Search/Elements/PickCriteria:46
-msgid "Add Criteria"
-msgstr "Kıstas ekle"
-
-#: html/Ticket/Create.html:147 html/Ticket/Update.html:116
-msgid "Add More Files"
-msgstr "Daha fazla dosya ekle"
-
-#: html/Search/Bulk.html:84
-msgid "Add Requestor"
-msgstr "İstekçi ekle"
-
-#: html/Admin/Elements/AddCustomFieldValue:46
-msgid "Add Value"
-msgstr "DeÄŸer ekle"
-
-#: html/Admin/Global/Scrip.html:83
-msgid "Add a scrip which will apply to all queues"
-msgstr "Bütün kuyruklara etki edecek bir senet ekle"
-
-#: html/Search/Build.html:109 html/Search/Build.html:94
-msgid "Add and Search"
-msgstr "Ekle ve Ara"
-
-#: html/Search/Bulk.html:124
-msgid "Add comments or replies to selected tickets"
-msgstr "Seçilen senetlere yorum veya cevap ekle"
-
-#: html/Admin/Groups/Members.html:63 html/User/Groups/Members.html:60
-msgid "Add members"
-msgstr "Ãœye ekle"
-
-#: html/Admin/Queues/People.html:87 html/Ticket/Elements/AddWatchers:49
-msgid "Add new watchers"
-msgstr "Yeni gözcüler ekle"
-
-#: html/Search/Build.html:85
-msgid "Add these terms to your search"
-msgstr "Aramanıza bu terimleri ekleyin"
-
-#: html/Search/Bulk.html:158
-msgid "Add values"
-msgstr "DeÄŸer ekle"
-
-#: lib/RT/CustomField_Overlay.pm:108
-msgid "Add, delete and modify custom field values for objects"
-msgstr "Nesneler için, kişiselleştirilmiş alanları ekleyin, silin ve değiştirin"
-
-#: lib/RT/Queue_Overlay.pm:763
-#. ($args{'Type'})
-msgid "Added principal as a %1 for this queue"
-msgstr "Bu kuyruk için, asıl, %1 olarak eklendi"
-
-#: lib/RT/Ticket_Overlay.pm:1455
-#. ($self->loc($args{'Type'}))
-msgid "Added principal as a %1 for this ticket"
-msgstr "Bu bilet için, asıl, %1 olarak eklendi"
-
-#: html/Admin/Users/Modify.html:146 html/User/Prefs.html:133
-msgid "Address1"
-msgstr "Adres1"
-
-#: html/Admin/Users/Modify.html:151 html/User/Prefs.html:137
-msgid "Address2"
-msgstr "Adres2"
-
-#: html/Ticket/Create.html:98
-msgid "Admin Cc"
-msgstr "Yönetici Karbon Kopya"
-
-#: etc/initialdata:295
-msgid "Admin Comment"
-msgstr "Yönetici Yorumu"
-
-#: etc/initialdata:274
-msgid "Admin Correspondence"
-msgstr "Yönetici Yazışması"
-
-#: html/Admin/Queues/index.html:46 html/Admin/Queues/index.html:49
-msgid "Admin queues"
-msgstr "Yönetici kuyrukları"
-
-
-#: html/Admin/Global/index.html:47 html/Admin/Global/index.html:49
-msgid "Admin/Global configuration"
-msgstr "Yönetici/Küresel ayarlar"
-
-#: etc/initialdata:56 html/Ticket/Elements/ShowPeople:60 lib/RT/ACE_Overlay.pm:113
-msgid "AdminCc"
-msgstr ""
-
-#: lib/RT/CustomField_Overlay.pm:106
-msgid "AdminCustomField"
-msgstr ""
-
-#: lib/RT/Group_Overlay.pm:163
-msgid "AdminGroup"
-msgstr ""
-
-#: lib/RT/Group_Overlay.pm:165
-msgid "AdminGroupMembership"
-msgstr ""
-
-#: lib/RT/System.pm:80
-msgid "AdminOwnPersonalGroups"
-msgstr ""
-
-#: lib/RT/Queue_Overlay.pm:92
-msgid "AdminQueue"
-msgstr ""
-
-#: lib/RT/System.pm:81
-msgid "AdminUsers"
-msgstr ""
-
-#: html/Admin/Queues/People.html:69 html/Ticket/Elements/EditPeople:75
-msgid "Administrative Cc"
-msgstr "Yönetimsel karbon kopya"
-
-#: html/Ticket/Elements/Tabs:216
-msgid "Advanced"
-msgstr "GeliÅŸmiÅŸ"
-
-#: html/Elements/SelectDateRelation:57
-msgid "After"
-msgstr "Sonra"
-
-#: html/Search/Elements/PickCriteria:52
-msgid "Aggregator"
-msgstr "Toplayıcı"
-
-#: etc/initialdata:363
-msgid "All Approvals Passed"
-msgstr "Bütün Onaylar Geçti"
-
-#: html/Admin/Queues/index.html:75
-msgid "All Queues"
-msgstr "Bütün Kuyruklar"
-
-#: html/Search/Elements/EditQuery:56
-msgid "And/Or"
-msgstr "Ve/Veya"
-
-#: html/Admin/CustomFields/Modify.html:73 html/Admin/Elements/CustomFieldTabs:83
-msgid "Applies to"
-msgstr "Etki edeceği bölümler: "
-
-#: html/Search/Edit.html:64
-msgid "Apply"
-msgstr "Uygula"
-
-#: html/Search/Edit.html:64
-msgid "Apply your changes"
-msgstr "Değişikliklerinizi uygulayın"
-
-#: html/Elements/Tabs:77
-msgid "Approval"
-msgstr "Onaylama"
-
-#: html/Approvals/Display.html:65 html/Approvals/Elements/ShowDependency:63 html/Approvals/index.html:86
-#. ($Ticket->Id, $Ticket->Subject)
-#. ($ticket->id, $msg)
-#. ($link->BaseObj->Id, $link->BaseObj->Subject)
-msgid "Approval #%1: %2"
-msgstr "Onaylama #%1: %2"
-
-#: html/Approvals/index.html:75
-#. ($ticket->Id)
-msgid "Approval #%1: Notes not recorded due to a system error"
-msgstr "Onaylama #%1: Bir sistem hatası nedeniyle, notlar kaydedilemedi"
-
-#: html/Approvals/index.html:73
-#. ($ticket->Id)
-msgid "Approval #%1: Notes recorded"
-msgstr "Onaylama #%1: Notlar kaydedildi"
-
-#: etc/initialdata:351
-msgid "Approval Passed"
-msgstr "Onay Geçti"
-
-#: etc/initialdata:374
-msgid "Approval Rejected"
-msgstr "Onay Reddedildi"
-
-#: html/Approvals/Elements/Approve:69
-msgid "Approve"
-msgstr "Onayla"
-
-#: etc/initialdata:504
-msgid "Approver's notes: %1"
-msgstr "Onaylayanın notları: %1"
-
-#: lib/RT/Date.pm:444
-msgid "Apr."
-msgstr "Nis."
-
-#: html/Search/Elements/DisplayOptions:81
-msgid "Asc"
-msgstr "Art"
-
-#: html/Elements/SelectSortOrder:56
-msgid "Ascending"
-msgstr "Artan"
-
-#: lib/RT/Queue_Overlay.pm:96
-msgid "Assign and remove custom fields"
-msgstr "Kişisel alanları ata ve kaldır"
-
-#: lib/RT/Queue_Overlay.pm:96
-msgid "AssignCustomFields"
-msgstr ""
-
-#: html/Search/Bulk.html:142 html/SelfService/Update.html:87 html/Ticket/ModifyAll.html:115 html/Ticket/Update.html:116
-msgid "Attach"
-msgstr "Ekle"
-
-#: html/SelfService/Create.html:92 html/Ticket/Create.html:143
-msgid "Attach file"
-msgstr "Dosya ekle"
-
-#: html/SelfService/Update.html:75 html/Ticket/Create.html:131 html/Ticket/Update.html:94
-msgid "Attached file"
-msgstr "EklenmiÅŸ dosya"
-
-#: html/Ticket/ShowEmailRecord.html:52 html/Ticket/ShowEmailRecord.html:56 html/Ticket/ShowEmailRecord.html:59
-#. ($Attachment)
-msgid "Attachment '%1' could not be loaded"
-msgstr "Eklenti '%1' yüklenemiyor"
-
-#: lib/RT/Transaction_Overlay.pm:489
-msgid "Attachment created"
-msgstr "Eklenti oluÅŸturuldu"
-
-#: lib/RT/Tickets_Overlay.pm:1945
-msgid "Attachment filename"
-msgstr "Eklenti dosya adı"
-
-#: html/Ticket/Elements/ShowAttachments:47
-msgid "Attachments"
-msgstr "Eklentiler"
-
-#: lib/RT/Attributes_Overlay.pm:171
-msgid "Attribute Deleted"
-msgstr "Öznitelik Silindi"
-
-#: lib/RT/Date.pm:448
-msgid "Aug."
-msgstr "AÄŸu."
-
-#: etc/initialdata:221
-msgid "Autoreply"
-msgstr "Otomatik cevap"
-
-#: etc/initialdata:72
-msgid "Autoreply To Requestors"
-msgstr "İstekçileri Otomatik Cevapla"
-
-#: html/Widgets/SelectionBox:185
-msgid "Available"
-msgstr "Hazır"
-
-#: html/Admin/Elements/CustomFieldTabs:65 html/Admin/Elements/GroupTabs:60 html/Admin/Elements/QueueTabs:60 html/Admin/Elements/UserTabs:58 html/Ticket/Elements/Tabs:113 html/User/Elements/GroupTabs:59
-msgid "Basics"
-msgstr "Temeller"
-
-#: html/Ticket/Update.html:88
-msgid "Bcc"
-msgstr "Gizli karbon kopya"
-
-#: html/Admin/CustomFields/GroupRights.html:91 html/Admin/CustomFields/UserRights.html:74 html/Admin/Elements/EditScrip:89
-msgid "Be sure to save your changes"
-msgstr "DeÄŸiÅŸikliklerinizi kaydettiÄŸinizden emin olun"
-
-#: html/Elements/SelectDateRelation:55 lib/RT/CurrentUser.pm:361
-msgid "Before"
-msgstr "Önce"
-
-#: html/Elements/Logo:47
-msgid "Best Practical Solutions, LLC corporate logo"
-msgstr "Best Practical Solutions, LLC ÅŸirket logosu"
-
-#: etc/initialdata:217
-msgid "Blank"
-msgstr "BoÅŸ"
-
-#: html/Search/Elements/EditFormat:84
-msgid "Bold"
-msgstr "Kalın"
-
-#: html/Search/Results.html:79
-msgid "Bookmarkable link"
-msgstr "Yer imi olarak eklenebilir bağlantı"
-
-#: html/Ticket/Elements/ShowHistory:64 html/Ticket/Elements/ShowHistory:69
-msgid "Brief headers"
-msgstr "Kısa başlıklar"
-
-#: html/Ticket/Elements/Tabs:227
-msgid "Bulk Update"
-msgstr "Toplu Güncelleme"
-
-#: lib/RT/User_Overlay.pm:1853
-msgid "Can not modify system users"
-msgstr "Sistem kullanıcıları değiştirilemez"
-
-#: lib/RT/Queue_Overlay.pm:91
-msgid "Can this principal see this queue"
-msgstr "Bu yetkili, bu kuyruğu gördü mü"
-
-#: lib/RT/CustomField_Overlay.pm:379
-msgid "Can't add a custom field value without a name"
-msgstr "Bir ad olmadan, kiÅŸisel alan deÄŸeri eklenemez"
-
-#: html/Admin/CustomFields/Objects.html:86
-#. ($Class)
-msgid "Can't find a collection class for '%1'"
-msgstr "'%1' için bir koleksiyon sınıfı bulunamadı"
-
-#: html/Search/Build.html:286
-msgid "Can't find a saved search to work with"
-msgstr "Üzerinde çalışılabilecek bir kaydedilmiş arama bulunamadı"
-
-#: lib/RT/Link_Overlay.pm:159
-msgid "Can't link a ticket to itself"
-msgstr "Bir bileti kendisine bağlayamazsınız"
-
-#: html/Widgets/SavedSearch:63
-#. (loc($self->{SearchType}))
-msgid "Can't save %1"
-msgstr "%1 kaydedilemedi"
-
-#: html/Search/Build.html:290
-msgid "Can't save this search"
-msgstr "Bu arama kaydedilemiyor"
-
-#: lib/RT/Record.pm:1282 lib/RT/Record.pm:1358
-msgid "Can't specifiy both base and target"
-msgstr "Taban ve hedefin ikisini birden belirtemezsiniz"
-
-#: html/autohandler:204
-#. ($msg)
-msgid "Cannot create user: %1"
-msgstr "Kullanıcı oluşturulamadı: %1"
-
-#: html/Admin/Elements/AddCustomFieldValue:62 html/Admin/Elements/EditCustomFieldValues:58
-msgid "Category"
-msgstr "Kategori"
-
-#: etc/initialdata:50 html/Admin/Queues/People.html:65 html/SelfService/Create.html:71 html/Ticket/Create.html:88 html/Ticket/Elements/EditPeople:72 html/Ticket/Elements/ShowPeople:56 html/Ticket/Update.html:83 lib/RT/ACE_Overlay.pm:112
-msgid "Cc"
-msgstr "Karbon kopya"
-
-#: html/SelfService/Prefs.html:52
-msgid "Change password"
-msgstr "Parolayı değiştir"
-
-#: html/Elements/Submit:78
-msgid "Check All"
-msgstr "Hepsini iÅŸaretle"
-
-#: html/SelfService/Update.html:78 html/Ticket/Create.html:134 html/Ticket/Update.html:97
-msgid "Check box to delete"
-msgstr "Silmek için kutucuğu işaretleyin"
-
-#: html/Admin/Elements/SelectRights:55
-msgid "Check box to revoke right"
-msgstr "Hak vermek için kutucuğu işaretleyin"
-
-#: html/Elements/EditLinks:148 html/Elements/EditLinks:85 html/Elements/ShowLinks:78 html/Ticket/Create.html:223 html/Ticket/Elements/BulkLinks:64
-msgid "Children"
-msgstr "Çocuklar"
-
-#: html/NoAuth/js/util.js:201
-msgid "Choose a date"
-msgstr "Bir tarih seçin"
-
-#: html/Admin/Users/Modify.html:156 html/User/Prefs.html:141
-msgid "City"
-msgstr "Åžehir"
-
-#: html/Elements/Submit:80
-msgid "Clear All"
-msgstr "Hepsini Temizle"
-
-#: html/Helpers/CalPopup.html:51
-msgid "Close window"
-msgstr "Pencereyi Kapat"
-
-#: html/Ticket/Elements/ShowDates:68
-msgid "Closed"
-msgstr "Kapatıldı"
-
-#: html/SelfService/Closed.html:46 html/SelfService/Elements/Tabs:78
-msgid "Closed tickets"
-msgstr "Kapatılmış biletler"
-
-#: lib/RT/CustomField_Overlay.pm:89
-msgid "Combobox: Select or enter multiple values"
-msgstr "Seçim kutusu: Birden fazla değeri seçin veya girin"
-
-#: lib/RT/CustomField_Overlay.pm:90
-msgid "Combobox: Select or enter one value"
-msgstr "Seçim kutusu: Bir tek değeri seçin veya girin"
-
-#: lib/RT/CustomField_Overlay.pm:91
-msgid "Combobox: Select or enter up to %1 values"
-msgstr "Seçim kutusu: 1-%1 arası değer seçin veya girin"
-
-#: html/Ticket/Elements/ShowTransaction:190 html/Ticket/Elements/Tabs:185
-msgid "Comment"
-msgstr "Yorum"
-
-#: html/Admin/Queues/Modify.html:79
-msgid "Comment Address"
-msgstr "Yorum Adresi"
-
-#: lib/RT/Queue_Overlay.pm:111
-msgid "Comment on tickets"
-msgstr "Biletler üzerine yorum yap"
-
-#: lib/RT/Queue_Overlay.pm:111
-msgid "CommentOnTicket"
-msgstr ""
-
-#: html/Ticket/ModifyAll.html:91 html/Ticket/Update.html:75
-msgid "Comments (Not sent to requestors)"
-msgstr "Yorumlar (istekçilere gönderilmedi)"
-
-#: html/Search/Bulk.html:128
-msgid "Comments (not sent to requestors)"
-msgstr "Yorumlar (istekçilere gönderilmedi)"
-
-#: html/Admin/Users/Modify.html:225 html/Ticket/Elements/ShowRequestor:67
-msgid "Comments about this user"
-msgstr "Bu kullanıcı hakkındaki yorumlar"
-
-#: lib/RT/Transaction_Overlay.pm:634
-msgid "Comments added"
-msgstr "Yorumlar eklendi"
-
-#: lib/RT/Action/Generic.pm:175
-msgid "Commit Stubbed"
-msgstr "Saplanmışları Ada"
-
-#: html/Admin/Elements/EditScrip:59
-msgid "Condition"
-msgstr "Durum"
-
-#: lib/RT/Scrip_Overlay.pm:184
-msgid "Condition is mandatory argument"
-msgstr "Durum, zorunlu bir argüman"
-
-#: bin/rt-crontool:151
-msgid "Condition matches..."
-msgstr "Durum eÅŸleÅŸiyor..."
-
-#: lib/RT/Scrip_Overlay.pm:188
-msgid "Condition not found"
-msgstr "Durum bulunamadı"
-
-#: html/Elements/Tabs:84
-msgid "Configuration"
-msgstr "Ayarlar"
-
-#: html/SelfService/Prefs.html:54
-msgid "Confirm"
-msgstr "Onayla"
-
-#: html/Admin/Elements/ModifyTemplate:65 html/Elements/SelectAttachmentField:48 html/Ticket/ModifyAll.html:119
-msgid "Content"
-msgstr "İçerik"
-
-#: html/Elements/SelectAttachmentField:49
-msgid "Content-Type"
-msgstr ""
-
-#: html/Search/Elements/EditSearches:65
-msgid "Copy"
-msgstr "Kopya"
-
-#: etc/initialdata:286
-msgid "Correspondence"
-msgstr "Uygunluk"
-
-#: lib/RT/Transaction_Overlay.pm:630
-msgid "Correspondence added"
-msgstr "Uygunluk eklendi"
-
-#: lib/RT/Record.pm:1707
-msgid "Could not add new custom field value. "
-msgstr "Yeni özel bölüm eklenemiyor. "
-
-#: lib/RT/Record.pm:1660
-#. (, $value_msg)
-msgid "Could not add new custom field value. %1 "
-msgstr "Yeni özel bölüm eklenemiyor. %1"
-
-#: lib/RT/Ticket_Overlay.pm:3048 lib/RT/Ticket_Overlay.pm:3056 lib/RT/Ticket_Overlay.pm:3073
-msgid "Could not change owner. "
-msgstr "Sahip deÄŸiÅŸtirilemiyor."
-
-#: html/Admin/CustomFields/Modify.html:161
-#. ($msg)
-msgid "Could not create CustomField"
-msgstr "Özel bölüm oluşturulamıyor"
-
-#: html/Admin/Elements/EditCustomField:113
-#. ($msg)
-msgid "Could not create CustomField: %1"
-msgstr "Özel bölüm oluşturulamıyor: %1"
-
-#: html/User/Groups/Modify.html:98 lib/RT/Group_Overlay.pm:494 lib/RT/Group_Overlay.pm:501
-msgid "Could not create group"
-msgstr "Grup oluşturulamıyor"
-
-#: html/Admin/Global/Template.html:96 html/Admin/Queues/Template.html:93
-#. ($msg)
-msgid "Could not create template: %1"
-msgstr "Şablon oluşturulamıyor: %1"
-
-#: lib/RT/Ticket_Overlay.pm:1075 lib/RT/Ticket_Overlay.pm:407
-msgid "Could not create ticket. Queue not set"
-msgstr "Bilet oluşturulamıyor. Kuyruk atanmadı"
-
-#: lib/RT/User_Overlay.pm:255 lib/RT/User_Overlay.pm:269 lib/RT/User_Overlay.pm:278 lib/RT/User_Overlay.pm:287 lib/RT/User_Overlay.pm:296 lib/RT/User_Overlay.pm:310 lib/RT/User_Overlay.pm:320 lib/RT/User_Overlay.pm:496
-msgid "Could not create user"
-msgstr "Kullanıcı oluşturulamıyor"
-
-#: lib/RT/Queue_Overlay.pm:741 lib/RT/Ticket_Overlay.pm:1423
-msgid "Could not find or create that user"
-msgstr "Bu kullanıcı bulunamıyor veya oluşturulamıyor"
-
-#: lib/RT/Queue_Overlay.pm:802 lib/RT/Ticket_Overlay.pm:1504
-msgid "Could not find that principal"
-msgstr "Bu yetkili bulunamıyor"
-
-#: html/Admin/CustomFields/Objects.html:69
-msgid "Could not load CustomField %1"
-msgstr "Özel bölüm yüklenemiyor %1"
-
-#: html/Admin/Groups/Members.html:112 html/User/Groups/Members.html:111 html/User/Groups/Modify.html:103
-msgid "Could not load group"
-msgstr "Grup yüklenemiyor"
-
-#: lib/RT/SavedSearch.pm:119
-#. ($privacy)
-msgid "Could not load object for %1"
-msgstr "%1 için nesne yüklenemiyor"
-
-#: lib/RT/SavedSearch.pm:197
-msgid "Could not load search attribute"
-msgstr "Arama özniteliği yüklenemiyor"
-
-#: lib/RT/Queue_Overlay.pm:761
-#. ($args{'Type'})
-msgid "Could not make that principal a %1 for this queue"
-msgstr "Bu yetkili, bu kuyruk için bir %1 yapılamıyor"
-
-#: lib/RT/Ticket_Overlay.pm:1444
-#. ($self->loc($args{'Type'}))
-msgid "Could not make that principal a %1 for this ticket"
-msgstr "Bu yetkili, bu bilet için bir %1 yapılamıyor"
-
-#: lib/RT/Queue_Overlay.pm:860
-#. ($args{'Type'})
-msgid "Could not remove that principal as a %1 for this queue"
-msgstr "Bu yetkili, bu kuyruktan %1 olarak ayrılamıyor"
-
-#: lib/RT/User_Overlay.pm:191
-msgid "Could not set user info"
-msgstr "Kullanıcı bilgisi atanamıyor"
-
-#: lib/RT/Transaction_Overlay.pm:159
-msgid "Couldn't add attachment"
-msgstr "Eklenti eklenemiyor"
-
-#: lib/RT/Group_Overlay.pm:1003
-msgid "Couldn't add member to group"
-msgstr "Kullanıcı gruba eklenemiyor"
-
-#: lib/RT/Record.pm:1719 lib/RT/Record.pm:1771
-#. ($Msg)
-msgid "Couldn't create a transaction: %1"
-msgstr "Bir hareket oluşturulamıyor: %1"
-
-#: lib/RT/Record.pm:953
-msgid "Couldn't find row"
-msgstr "Satır bulunamadı"
-
-#: lib/RT/Group_Overlay.pm:977
-msgid "Couldn't find that principal"
-msgstr "Bu yetkili bulunamadı"
-
-#: lib/RT/CustomField_Overlay.pm:409
-msgid "Couldn't find that value"
-msgstr "Bu değer bulunamadı"
-
-#: lib/RT/CurrentUser.pm:145
-#. ($self->Id)
-msgid "Couldn't load %1 from the users database.\\n"
-msgstr "%1 değeri, kullanıcı veritabanından yüklenemedi.\\n"
-
-#: html/Admin/CustomFields/UserRights.html:149
-#. ($id)
-msgid "Couldn't load Class %1"
-msgstr "%1 sınıfı yüklenemedi"
-
-#: html/Admin/CustomFields/GroupRights.html:107
-#. ($id)
-msgid "Couldn't load CustomField %1"
-msgstr "Özel bölüm %1 yüklenemedi"
-
-#: lib/RT/Ticket_Overlay.pm:2016
-#. ($self->Id)
-msgid "Couldn't load copy of ticket #%1."
-msgstr "#%1 numaralı biletin kopyası yüklenemedi"
-
-#: html/Admin/Groups/GroupRights.html:109 html/Admin/Groups/UserRights.html:96
-#. ($id)
-msgid "Couldn't load group %1"
-msgstr "%1 grubu yüklenemedi"
-
-#: lib/RT/Link_Overlay.pm:202 lib/RT/Link_Overlay.pm:211 lib/RT/Link_Overlay.pm:238
-msgid "Couldn't load link"
-msgstr "Bağlantı yüklenemedi"
-
-#: html/Admin/Elements/ObjectCustomFields:83 html/Admin/Queues/CustomFields.html:59 html/Admin/Users/CustomFields.html:59
-#. ($id)
-msgid "Couldn't load object %1"
-msgstr "%1 nesnesi yüklenemedi"
-
-#: html/Admin/Queues/People.html:142
-#. ($id)
-msgid "Couldn't load queue"
-msgstr "Kuyruk yüklenemedi"
-
-#: html/Admin/Queues/GroupRights.html:122 html/Admin/Queues/UserRights.html:93
-#. ($id)
-msgid "Couldn't load queue %1"
-msgstr "%1 kuyruğu yüklenemedi"
-
-#: html/Admin/Elements/EditScrip:126 html/Admin/Elements/EditScrip:167
-#. ($id)
-msgid "Couldn't load scrip #%1"
-msgstr "Senet #%1 yüklenemedi"
-
-#: html/SelfService/Display.html:158 lib/RT/Action/CreateTickets.pm:680
-#. ($id)
-msgid "Couldn't load ticket '%1'"
-msgstr "'%1' bileti yüklenemedi"
-
-#: lib/RT/Ticket_Overlay.pm:2643
-#. ($args{'URI'})
-msgid "Couldn't resolve '%1' into a URI."
-msgstr "'%1' değeri bir URI olarak çözülemiyor"
-
-#: html/Admin/Users/Modify.html:173 html/User/Prefs.html:153
-msgid "Country"
-msgstr "Ãœlke"
-
-#: html/Admin/Elements/CreateUserCalled:47 html/Admin/Elements/EditCustomField:84 html/Admin/Elements/EditScrip:133 html/Admin/Queues/Template.html:66 html/Elements/QuickCreate:65 html/Ticket/Create.html:168 html/Ticket/Create.html:235
-msgid "Create"
-msgstr "OluÅŸtur"
-
-#: etc/initialdata:135
-msgid "Create Tickets"
-msgstr "Bilet OluÅŸtur"
-
-#: html/Admin/CustomFields/Modify.html:150 html/Admin/Elements/EditCustomField:96
-msgid "Create a CustomField"
-msgstr "Özel Bölüm Oluştur"
-
-#: html/Admin/Queues/CustomField.html:69
-#. ($QueueObj->Name())
-msgid "Create a CustomField for queue %1"
-msgstr "%1 kuyruğu için özel bir bölüm oluştur"
-
-
-#: html/Admin/Groups/Modify.html:125 html/Admin/Groups/Modify.html:99
-msgid "Create a new group"
-msgstr "Yeni bir grup oluÅŸtur"
-
-#: html/User/Groups/Modify.html:113 html/User/Groups/Modify.html:88
-msgid "Create a new personal group"
-msgstr "Yeni bir kiÅŸisel grup oluÅŸtur"
-
-#: html/Ticket/Create.html:47 html/Ticket/Create.html:51 html/Ticket/Create.html:60
-msgid "Create a new ticket"
-msgstr "YEni bir bilet oluÅŸtur"
-
-#: html/Admin/Users/Modify.html:252 html/Admin/Users/Modify.html:314
-msgid "Create a new user"
-msgstr "Yeni bir kullanıcı oluştur"
-
-#: html/Admin/Queues/Modify.html:125
-msgid "Create a queue"
-msgstr "Yeni bir kuyruk oluÅŸtur"
-
-#: html/Admin/Queues/Scrip.html:89
-#. ($QueueObj->Name)
-msgid "Create a scrip for queue %1"
-msgstr "%1 kuyruğu için yeni bir senet oluştur"
-
-#: html/Admin/Global/Template.html:90 html/Admin/Queues/Template.html:86
-msgid "Create a template"
-msgstr "Bir ÅŸablon oluÅŸtur"
-
-#: html/SelfService/Create.html:46 html/SelfService/CreateTicketInQueue.html:46
-msgid "Create a ticket"
-msgstr "Yeni bir bilet oluÅŸtur"
-
-#: etc/initialdata:137
-msgid "Create new tickets based on this scrip's template"
-msgstr "Bu senedin ÅŸablonunu temel alarak yeni biletler oluÅŸtur"
-
-#: html/SelfService/Create.html:105
-msgid "Create ticket"
-msgstr "Yeni bilet oluÅŸtur"
-
-#: lib/RT/Queue_Overlay.pm:109
-msgid "Create tickets in this queue"
-msgstr "Bu kuyrukta yeni biletler oluÅŸtur"
-
-#: lib/RT/CustomField_Overlay.pm:106
-msgid "Create, delete and modify custom fields"
-msgstr "Özel bölümleri oluştur, sil ve değiştir"
-
-#: lib/RT/Queue_Overlay.pm:92
-msgid "Create, delete and modify queues"
-msgstr "Kuyrukları oluştur, sil ve değiştir"
-
-#: lib/RT/System.pm:80
-msgid "Create, delete and modify the members of personal groups"
-msgstr "Kişisel grup üyelerini oluştur, sil ve değiştir"
-
-#: lib/RT/System.pm:81
-msgid "Create, delete and modify users"
-msgstr "Kullanıcıları oluştur, sil ve değiştir"
-
-#: lib/RT/System.pm:87
-msgid "CreateSavedSearch"
-msgstr ""
-
-#: lib/RT/Queue_Overlay.pm:109
-msgid "CreateTicket"
-msgstr ""
-
-#: html/Elements/SelectDateType:47 html/Ticket/Elements/ShowDates:48 lib/RT/Ticket_Overlay.pm:1169
-msgid "Created"
-msgstr "OluÅŸturuldu"
-
-#: html/Admin/CustomFields/Modify.html:163 html/Admin/Elements/EditCustomField:117
-#. ($CustomFieldObj->Name())
-msgid "Created CustomField %1"
-msgstr "Özel bölüm %1 oluşturuldu"
-
-#: html/Tools/Reports/Elements/Tabs:63
-msgid "Created in a date range"
-msgstr "Bir zaman aralığı içinde oluşturuldu"
-
-#: html/Tools/Reports/CreatedByDates.html:52
-msgid "Created tickets in period, grouped by status"
-msgstr "Bir devir içinde biletle oluşturuldu ve duruma göre sıralandı"
-
-#: html/Search/Elements/PickBasics:102
-msgid "Creator"
-msgstr "OluÅŸturan"
-
-#: html/Elements/EditLinks:49
-msgid "Current Links"
-msgstr "Geçerli bağlantılar"
-
-#: html/Admin/Elements/EditScrips:51
-msgid "Current Scrips"
-msgstr "Geçerli senetler"
-
-#: html/Admin/Groups/Members.html:60 html/User/Groups/Members.html:63
-msgid "Current members"
-msgstr "Geçerli üyeler"
-
-#: html/Admin/Elements/SelectRights:51
-msgid "Current rights"
-msgstr "Geçerli haklar"
-
-#: html/Search/Elements/EditQuery:47
-msgid "Current search"
-msgstr "Geçerli arama"
-
-#: html/Admin/Queues/People.html:62 html/Ticket/Elements/EditPeople:66
-msgid "Current watchers"
-msgstr "Geçerli izleyiciler"
-
-#: html/Admin/Elements/SystemTabs:61 html/Admin/Elements/Tabs:62 html/Admin/Global/index.html:71 html/Admin/Users/Modify.html:205 html/Admin/index.html:77 html/Ticket/Elements/ShowSummary:56
-msgid "Custom Fields"
-msgstr "Özel bölümler"
-
-#: html/Admin/CustomFields/index.html:60
-#. ($lookup)
-msgid "Custom Fields for %1"
-msgstr "%1 için özel bölümler"
-
-#: html/Admin/Elements/EditScrip:107
-msgid "Custom action cleanup code"
-msgstr "Özel hareket temizleme kodu"
-
-#: html/Admin/Elements/EditScrip:103
-msgid "Custom action preparation code"
-msgstr "Özel hareket hazırlama kodu"
-
-#: html/Admin/Elements/EditScrip:99
-msgid "Custom condition"
-msgstr "Özel durum"
-
-#: lib/RT/Tickets_Overlay.pm:2424
-#. ($CF->Name)
-msgid "Custom field %1 has a value."
-msgstr "Özel bölüm %1, bir değere sahip"
-
-#: lib/RT/Tickets_Overlay.pm:2420
-#. ($CF->Name)
-msgid "Custom field %1 has no value."
-msgstr "Özel bölüm %1, bir değere sahip değil"
-
-#: lib/RT/Record.pm:1592 lib/RT/Record.pm:1754
-#. ($args{'Field'})
-msgid "Custom field %1 not found"
-msgstr "Özel bölüm %1, bulunamadı"
-
-#: lib/RT/Report/Tickets.pm:118 lib/RT/Report/Tickets.pm:121
-#. ($cf)
-#. ($obj->Name)
-msgid "Custom field '%1'"
-msgstr "Özel bölüm '%1'"
-
-#: lib/RT/CustomField_Overlay.pm:1157
-#. ($args{'Content'}, $self->Name)
-msgid "Custom field value %1 could not be found for custom field %2"
-msgstr "Özel bölüm %2 için, özel bölüm değeri %1 bulunamıyor"
-
-#: lib/RT/CustomField_Overlay.pm:419
-msgid "Custom field value could not be deleted"
-msgstr "Özel bölüm değeri silinemiyor"
-
-#: lib/RT/CustomField_Overlay.pm:1169
-msgid "Custom field value could not be found"
-msgstr "Özel bölüm değeri bulunamıyor"
-
-#: lib/RT/CustomField_Overlay.pm:1171 lib/RT/CustomField_Overlay.pm:417
-msgid "Custom field value deleted"
-msgstr "Özel bölüm değeri silindi"
-
-#: html/Elements/SelectGroups:51 html/Elements/SelectUsers:51 lib/RT/Transaction_Overlay.pm:638
-msgid "CustomField"
-msgstr "Özel Bölüm"
-
-#: html/Prefs/MyRT.html:78 html/Prefs/Quicksearch.html:70 html/Prefs/Search.html:75
-msgid "Customize"
-msgstr "Özelleştir"
-
-#: html/SelfService/Display.html:61 html/Ticket/Create.html:203 html/Ticket/Elements/ShowSummary:83 html/Ticket/Elements/Tabs:116 html/Ticket/ModifyAll.html:65
-msgid "Dates"
-msgstr "Tarihler"
-
-#: lib/RT/Date.pm:452
-msgid "Dec."
-msgstr "Ara."
-
-#: etc/initialdata:222
-msgid "Default Autoresponse template"
-msgstr "Varsayılan OtoCevap şablonu"
-
-#: html/Tools/Offline.html:61
-msgid "Default Queue"
-msgstr "Varsayılan Kuyruk"
-
-#: html/Tools/Offline.html:70
-msgid "Default Requestor"
-msgstr "Varsayılan İstekçi"
-
-#: etc/initialdata:296
-msgid "Default admin comment template"
-msgstr "Varsayılan yönetici yorum şablonu"
-
-#: etc/initialdata:275
-msgid "Default admin correspondence template"
-msgstr "Varsayılan yönetici cevap şablonu"
-
-#: etc/initialdata:287
-msgid "Default correspondence template"
-msgstr "Varsayılan cevap şablonu"
-
-#: etc/initialdata:253
-msgid "Default transaction template"
-msgstr "Varsayılan hareket şablonu"
-
-#: html/User/Delegation.html:46 html/User/Delegation.html:49
-msgid "Delegate rights"
-msgstr "Yetkileri devret"
-
-#: lib/RT/System.pm:84
-msgid "Delegate specific rights which have been granted to you."
-msgstr "Size verilen belirli yetkileri devredin"
-
-#: lib/RT/System.pm:84
-msgid "DelegateRights"
-msgstr "HaklarıDevret"
-
-#: html/User/Elements/Tabs:59
-msgid "Delegation"
-msgstr "Devretmek"
-
-#: html/Admin/Elements/EditScrips:75 html/Search/Elements/EditFormat:103 html/Search/Elements/EditQuery:57 html/Search/Elements/EditSearches:63 html/Widgets/SelectionBox:204
-msgid "Delete"
-msgstr "Sil"
-
-#: html/Admin/Elements/EditTemplates:79
-msgid "Delete Template"
-msgstr ""
-
-#: lib/RT/SavedSearch.pm:220
-#. ($msg)
-msgid "Delete failed: %1"
-msgstr "Silme işlemi başarısız: %1"
-
-#: html/Admin/Elements/EditScrips:74
-msgid "Delete selected scrips"
-msgstr "Seçilen senetleri sil"
-
-#: lib/RT/Queue_Overlay.pm:114
-msgid "Delete tickets"
-msgstr "Biletleri sil"
-
-#: html/Search/Bulk.html:159
-msgid "Delete values"
-msgstr ""
-
-#: lib/RT/Queue_Overlay.pm:114
-msgid "DeleteTicket"
-msgstr "BiletSil"
-
-#: lib/RT/SavedSearch.pm:218
-msgid "Deleted search"
-msgstr "Arama sil"
-
-#: lib/RT/Queue_Overlay.pm:394
-msgid "Deleting this object would break referential integrity"
-msgstr "Bu nesneyi silmek, tercihli bütünlüğü bozacaktır"
-
-#: lib/RT/User_Overlay.pm:512
-msgid "Deleting this object would violate referential integrity"
-msgstr "Bu nesneyi silmek, tercihli bütünlüğü ihlal edecektir"
-
-#: html/Approvals/Elements/Approve:73
-msgid "Deny"
-msgstr "Reddet"
-
-#: html/Elements/EditLinks:140 html/Elements/EditLinks:66 html/Elements/ShowLinks:58 html/Ticket/Create.html:221 html/Ticket/Elements/BulkLinks:56 html/Ticket/Elements/ShowDependencies:53
-msgid "Depended on by"
-msgstr "Şunun tarafından bağımlılığa sahip: "
-
-#: lib/RT/Transaction_Overlay.pm:718
-#. ($value)
-msgid "Dependency by %1 added"
-msgstr "%1 ile bağımlılık eklendi"
-
-#: lib/RT/Transaction_Overlay.pm:758
-#. ($value)
-msgid "Dependency by %1 deleted"
-msgstr "%1 ile bağımlılık silindi"
-
-#: lib/RT/Transaction_Overlay.pm:715
-#. ($value)
-msgid "Dependency on %1 added"
-msgstr "%1 için bağımlılık eklendi"
-
-#: lib/RT/Transaction_Overlay.pm:755
-#. ($value)
-msgid "Dependency on %1 deleted"
-msgstr "%1 için bağımlılık silindi"
-
-#: html/Elements/EditLinks:136 html/Elements/EditLinks:57 html/Elements/SelectLinkType:48 html/Elements/ShowLinks:48 html/Ticket/Create.html:220 html/Ticket/Elements/BulkLinks:52 html/Ticket/Elements/ShowDependencies:46
-msgid "Depends on"
-msgstr "Bağımlılık"
-
-#: html/Search/Elements/DisplayOptions:86
-msgid "Desc"
-msgstr Azal""
-
-#: html/Elements/SelectSortOrder:56
-msgid "Descending"
-msgstr "Azalan"
-
-#: html/SelfService/Create.html:100 html/Ticket/Create.html:152
-msgid "Describe the issue below"
-msgstr "Sorunu aşağıda tanımlayın"
-
-#: html/Admin/CustomFields/Modify.html:61 html/Admin/Elements/AddCustomFieldValue:57 html/Admin/Elements/EditCustomField:60 html/Admin/Elements/EditCustomFieldValues:56 html/Admin/Elements/EditScrip:55 html/Admin/Elements/ModifyTemplate:57 html/Admin/Groups/Modify.html:71 html/Admin/Queues/Modify.html:69 html/Search/Elements/EditSearches:56 html/User/Groups/Modify.html:70
-msgid "Description"
-msgstr "Tanım"
-
-#: html/Search/Elements/EditFormat:71 html/Ticket/Elements/Tabs:108
-msgid "Display"
-msgstr "Görüntüle"
-
-#: lib/RT/Queue_Overlay.pm:93
-msgid "Display Access Control List"
-msgstr "Erişim Denetim Listesini Görüntüle"
-
-#: html/Search/Elements/DisplayOptions:46
-msgid "Display Columns"
-msgstr "Sütunları Görüntüle"
-
-#: lib/RT/Queue_Overlay.pm:99
-msgid "Display Scrip templates for this queue"
-msgstr "Bu kuyruk için senet şablonlarını görüntüle"
-
-#: lib/RT/Queue_Overlay.pm:102
-msgid "Display Scrips for this queue"
-msgstr "Bu kuyruk için senetleri görüntüle"
-
-#: html/Ticket/Elements/ShowHistory:59
-msgid "Display mode"
-msgstr "Görüntüleme kipi"
-
-#: lib/RT/Group_Overlay.pm:168
-msgid "Display saved searches for this group"
-msgstr "Bu grup için, kaydedilmiş aramaları görüntüle"
-
-#: html/Elements/Footer:61
-msgid "Distributed under version 2 <a href=\"http://www.gnu.org/copyleft/gpl.html\"> of the GNU GPL.</a>"
-msgstr "<a href=\"http://www.gnu.org/copyleft/gpl.html\">GNU GPL</a>' nin 2. sürümü altında dağıtılmaktadır."
-
-#: lib/RT/System.pm:75
-msgid "Do anything and everything"
-msgstr "Hiçbirşeyi ve herşeyi yapın"
-
-#: html/Elements/Refresh:51
-msgid "Don't refresh this page."
-msgstr "Bu sayfayı yenilemeyin"
-
-#: html/Ticket/Elements/ShowTransactionAttachments:82
-msgid "Download"
-msgstr "Ä°ndir"
-
-#: html/Admin/Groups/index.html:61 html/Admin/Users/index.html:64
-msgid "Download as a tab-delimited file"
-msgstr "Sekme ile ayrılmış dosya olarak indir"
-
-#: html/Elements/SelectDateType:53 html/Ticket/Create.html:209 html/Ticket/Elements/EditDates:66 html/Ticket/Elements/Reminders:133 html/Ticket/Elements/ShowDates:64 lib/RT/Ticket_Overlay.pm:1173
-msgid "Due"
-msgstr "Vade"
-
-#: html/Elements/Quicksearch:48 html/Elements/ShowSearch:49 html/index.html:107
-msgid "Edit"
-msgstr "Düzenle"
-
-#: html/Search/Bulk.html:149
-msgid "Edit Custom Fields"
-msgstr "Özel Bölümleri Düzenle"
-
-#: html/Admin/Elements/ObjectCustomFields:92 html/Admin/Queues/CustomFields.html:64 html/Admin/Users/CustomFields.html:64
-#. ($Object->Name)
-msgid "Edit Custom Fields for %1"
-msgstr "%1 için özel bölümleri düzenle"
-
-#: html/Admin/Global/CustomFields/Groups.html:54
-msgid "Edit Custom Fields for all groups"
-msgstr "Bütün gruplar için özel bölümleri düzenle"
-
-#: html/Admin/Global/CustomFields/Users.html:54
-msgid "Edit Custom Fields for all users"
-msgstr "Bütün kullanıcılar için özel bölümleri düzenle"
-
-#: html/Admin/Global/CustomFields/Queue-Tickets.html:54 html/Admin/Global/CustomFields/Queue-Transactions.html:54
-msgid "Edit Custom Fields for tickets in all queues"
-msgstr "Bütün kuyruklardaki bütün biletler için özel bölümleri düzenle"
-
-#: html/Search/Bulk.html:188 html/Ticket/ModifyLinks.html:57
-msgid "Edit Links"
-msgstr "Bağlantıları Düzenle"
-
-#: html/Search/Edit.html:68
-msgid "Edit Query"
-msgstr "Sorguyu Düzenle"
-
-#: html/Ticket/Elements/Tabs:214
-msgid "Edit Search"
-msgstr "Aramayı Düzenle"
-
-#: html/Admin/Queues/Templates.html:63
-#. ($QueueObj->Name)
-msgid "Edit Templates for queue %1"
-msgstr "%1 kuyruğundaki şablonları düzenle"
-
-#: lib/RT/Group_Overlay.pm:167
-msgid "Edit saved searches for this group"
-msgstr "Bu grup için kaydedilmiş aramaları düzenle"
-
-#: html/Admin/Elements/GlobalCustomFieldTabs:60 html/Admin/Global/index.html:67
-msgid "Edit system templates"
-msgstr "Sistem şablonlarını düzenle"
-
-#: lib/RT/Group_Overlay.pm:167
-msgid "EditSavedSearches"
-msgstr "KaydedilmişAramalarıDüzenle"
-
-#: html/Admin/Queues/Modify.html:140
-#. ($QueueObj->Name)
-msgid "Editing Configuration for queue %1"
-msgstr "%1 kuyruğunun ayarları düzenleniyor"
-
-#: html/Admin/CustomFields/Modify.html:167 html/Admin/Elements/EditCustomField:120
-#. ($CustomFieldObj->Name())
-msgid "Editing CustomField %1"
-msgstr "Özel bölüm %1 düzenleniyor"
-
-#: html/Admin/Groups/Members.html:53
-#. ($Group->Name)
-msgid "Editing membership for group %1"
-msgstr "%1 grubu için üyelik düzenleniyor"
-
-#: html/User/Groups/Members.html:150
-#. ($Group->Name)
-msgid "Editing membership for personal group %1"
-msgstr "Özel grup %1 için üyelik düzenleniyor"
-
-#: lib/RT/Record.pm:1295 lib/RT/Record.pm:1372 lib/RT/Ticket_Overlay.pm:2518 lib/RT/Ticket_Overlay.pm:2608
-msgid "Either base or target must be specified"
-msgstr "Taban veya hedef belirtilmeli"
-
-#: html/Admin/Users/Modify.html:74 html/Ticket/Elements/AddWatchers:77 html/User/Prefs.html:65
-msgid "Email"
-msgstr "Eposta"
-
-#: lib/RT/User_Overlay.pm:235
-msgid "Email address in use"
-msgstr "Eposta adresi kullanımda"
-
-#: html/Admin/CustomFields/Modify.html:98 html/Admin/Elements/EditCustomField:72
-msgid "Enabled (Unchecking this box disables this custom field)"
-msgstr "Etkinleştirildi (Bu kutudaki işareti kaldırmak, bu özel bölümü iptal eder)"
-
-#: html/Admin/Groups/Modify.html:84 html/User/Groups/Modify.html:74
-msgid "Enabled (Unchecking this box disables this group)"
-msgstr "Etkinleştirildi (Bu kutudaki işareti kaldırmak, bu grubu iptal eder)"
-
-#: html/Admin/Queues/Modify.html:105
-msgid "Enabled (Unchecking this box disables this queue)"
-msgstr "Etkinleştirildi (Bu kutudaki işareti kaldırmak, bu kuyruğu iptal eder)"
-
-#: html/Admin/Queues/index.html:78
-msgid "Enabled Queues"
-msgstr "EtkinleÅŸtirilmiÅŸ Kuyruklar"
-
-#: html/Admin/Elements/EditCustomField:136 html/Admin/Groups/Modify.html:150 html/Admin/Users/Modify.html:350 html/User/Groups/Modify.html:138
-#. (loc_fuzzy($msg))
-msgid "Enabled status %1"
-msgstr "EtkinleÅŸtirilme durumu %1"
-
-#: html/Admin/CustomFields/Modify.html:185 html/Admin/Queues/Modify.html:162
-#. (loc_fuzzy($msg))
-msgid "Enabled status: %1"
-msgstr "EtkinleÅŸtirilme durumu %1"
-
-#: lib/RT/CustomField_Overlay.pm:64
-msgid "Enter multiple values"
-msgstr "Çoklu değer girin"
-
-#: html/Elements/EditLinks:126
-msgid "Enter objects or URIs to link objects to. Separate multiple entries with spaces."
-msgstr "Bu nesneleri bağlamak için, nesneler veya URIler girin. Çoklu girdileri boşluk ile ayırın."
-
-#: lib/RT/CustomField_Overlay.pm:65
-msgid "Enter one value"
-msgstr "Bir deÄŸer girin"
-
-#: html/Elements/EditLinks:123
-msgid "Enter queues or URIs to link queues to. Separate multiple entries with spaces."
-msgstr "Bu kuyrukları bağlamak için, kuyruklar veya URIler girin. Çoklu girdileri boşluk ile ayırın."
-
-#: html/Elements/EditLinks:119 html/Search/Bulk.html:189
-msgid "Enter tickets or URIs to link tickets to. Separate multiple entries with spaces."
-msgstr "Bu biletleri bağlamak için, biletler veya URIler girin. Çoklu girdileri boşluk ile ayırın."
-
-#: lib/RT/CustomField_Overlay.pm:66
-msgid "Enter up to %1 values"
-msgstr "%1 adet deÄŸer girin"
-
-#: html/Elements/Login:76 html/SelfService/Error.html:46 html/SelfService/Error.html:47
-msgid "Error"
-msgstr "Hata"
-
-#: lib/RT/Queue_Overlay.pm:672
-msgid "Error in parameters to Queue->AddWatcher"
-msgstr "Queue->AddWatcher için geçilen parametrelerde hata var"
-
-#: lib/RT/Queue_Overlay.pm:833
-msgid "Error in parameters to Queue->DeleteWatcher"
-msgstr "Queue->DeleteWatcher için geçilen parametrelerde hata var"
-
-#: lib/RT/Ticket_Overlay.pm:1372
-msgid "Error in parameters to Ticket->AddWatcher"
-msgstr "Ticket->AddWatcher için geçilen parametrelerde hata var"
-
-#: lib/RT/Ticket_Overlay.pm:1538
-msgid "Error in parameters to Ticket->DeleteWatcher"
-msgstr "Ticket->DeleteWatcher için geçilen parametrelerde hata var"
-
-#: bin/rt-crontool:285
-msgid "Escalate tickets"
-msgstr "Biletleri Yükselt"
-
-#: html/Ticket/Elements/ShowBasics:57
-msgid "Estimated"
-msgstr "Tahmini"
-
-#: etc/initialdata:20
-msgid "Everyone"
-msgstr "Herkes"
-
-#: bin/rt-crontool:271
-msgid "Example:"
-msgstr "Örnek:"
-
-#: html/Admin/Users/Modify.html:99
-msgid "Extra info"
-msgstr "Ek Bilgi"
-
-#: lib/RT/SavedSearch.pm:177
-msgid "Failed to create search attribute"
-msgstr "Arama özniteliği oluşturulamadı"
-
-#: lib/RT/User_Overlay.pm:376
-msgid "Failed to find 'Privileged' users pseudogroup."
-msgstr "'Ayrıcalıklı' sahte kullanıcı grubu bulunamadı"
-
-#: lib/RT/User_Overlay.pm:383
-msgid "Failed to find 'Unprivileged' users pseudogroup"
-msgstr "'Ayrıcalıksız' sahte kullanıcı grubu bulunamadı"
-
-#: bin/rt-crontool:206
-#. ($modname, $@)
-msgid "Failed to load module %1. (%2)"
-msgstr "%1 modülü yüklenemedi. (%2)"
-
-#: lib/RT/SavedSearch.pm:152
-#. ($privacy)
-msgid "Failed to load object for %1"
-msgstr "%1 için nesne yüklenemedi"
-
-#: lib/RT/Date.pm:442
-msgid "Feb."
-msgstr "Åžub."
-
-#: html/Elements/SelectAttachmentField:50
-msgid "Filename"
-msgstr "Dosya adı"
-
-#: lib/RT/CustomField_Overlay.pm:69
-msgid "Fill in multiple text areas"
-msgstr "Çoklu metin alanları doldur"
-
-#: lib/RT/CustomField_Overlay.pm:74
-msgid "Fill in multiple wikitext areas"
-msgstr "Çoklu wikimetin alanları doldur"
-
-#: lib/RT/CustomField_Overlay.pm:70
-msgid "Fill in one text area"
-msgstr "Tek bir metin alanı doldur"
-
-#: lib/RT/CustomField_Overlay.pm:75
-msgid "Fill in one wikitext area"
-msgstr "Tek bir wikimetin alanı doldur"
-
-#: html/Admin/CustomFields/Modify.html:107 html/Admin/CustomFields/Modify.html:118
-msgid "Fill in this field with a URL."
-msgstr "Bu bölümü bir URL ile doldur"
-
-#: lib/RT/CustomField_Overlay.pm:71
-msgid "Fill in up to %1 text areas"
-msgstr "En fazla %1 adet metin alanı doldur"
-
-#: lib/RT/CustomField_Overlay.pm:76
-msgid "Fill in up to %1 wikitext areas"
-msgstr "En fazla %1 adet wikimetin alanı doldur"
-
-#: html/Search/Elements/PickBasics:149 html/Ticket/Create.html:182 html/Ticket/Elements/EditBasics:97 lib/RT/Tickets_Overlay.pm:1841
-msgid "Final Priority"
-msgstr "Son Öncelik"
-
-#: lib/RT/Ticket_Overlay.pm:1164
-msgid "FinalPriority"
-msgstr "SonÖncelik"
-
-#: html/Admin/Groups/index.html:72 html/Admin/Queues/People.html:82 html/Ticket/Elements/EditPeople:55
-msgid "Find groups whose"
-msgstr "Grupları bul:"
-
-#: html/Admin/Queues/People.html:78 html/Admin/Users/index.html:70 html/Ticket/Elements/EditPeople:51
-msgid "Find people whose"
-msgstr "KiÅŸileri bul:"
-
-#: html/Search/Results.html:147
-msgid "Find tickets"
-msgstr "Biletleri bul"
-
-#: html/Ticket/Elements/Tabs:81
-msgid "First"
-msgstr "Ä°lk"
-
-#: docs/design_docs/string-extraction-guide.txt:33 lib/RT/StyleGuide.pod:766
-msgid "Foo Bar Baz"
-msgstr ""
-
-#: docs/design_docs/string-extraction-guide.txt:24 lib/RT/StyleGuide.pod:757
-msgid "Foo!"
-msgstr ""
-
-#: html/Search/Bulk.html:83
-msgid "Force change"
-msgstr "DeÄŸiÅŸikliÄŸi zorla"
-
-#: html/Search/Elements/EditFormat:52
-msgid "Format"
-msgstr "Biçim"
-
-#: html/Search/Results.html:145
-#. ($ticketcount)
-msgid "Found %quant(%1,ticket)"
-msgstr "%quant(%1,ticket) bulundu"
-
-#: lib/RT/Record.pm:956
-msgid "Found Object"
-msgstr "Nesne bulundu"
-
-#: lib/RT/Date.pm:421
-msgid "Fri."
-msgstr "Cum."
-
-#: html/Ticket/Elements/ShowHistory:66 html/Ticket/Elements/ShowHistory:72
-msgid "Full headers"
-msgstr "Tüm Başlıklar"
-
-#: html/Tools/Offline.html:85
-msgid "Get template from file"
-msgstr "Dosyadan ÅŸablon al"
-
-#: lib/RT/Transaction_Overlay.pm:684
-#. ($New->Name)
-msgid "Given to %1"
-msgstr "Verilen: %1"
-
-#: html/Admin/Elements/Tabs:65 html/Admin/index.html:82
-msgid "Global"
-msgstr "Küresel"
-
-#: html/Admin/Elements/EditCustomFields:55
-msgid "Global Custom Fields"
-msgstr "Küresel Özel Alanlar"
-
-#: html/Admin/Global/CustomFields/index.html:59
-msgid "Global custom field configuration"
-msgstr "Küresel Özel Alan Ayarları"
-
-#: html/Admin/Global/MyRT.html:48
-#. ($pane)
-msgid "Global portlet %1 saved."
-msgstr "Küresel portlet %1 kaydedildi"
-
-#: html/Admin/Elements/SelectTemplate:59
-#. (loc($Template->Name))
-msgid "Global template: %1"
-msgstr "Küresel şablon: %1"
-
-#: html/Admin/CustomFields/index.html:80 html/Search/Results.html:90 html/Tools/Offline.html:89
-msgid "Go"
-msgstr "Git"
-
-#: html/Admin/Groups/index.html:67 html/Admin/Groups/index.html:73 html/Admin/Queues/People.html:80 html/Admin/Queues/People.html:84 html/Admin/Queues/index.html:66 html/Admin/Users/index.html:73 html/Elements/RefreshHomepage:48 html/Search/Results.html:74 html/Ticket/Elements/EditPeople:53 html/Ticket/Elements/EditPeople:57
-msgid "Go!"
-msgstr "Git!"
-
-#: html/Elements/GotoTicket:46 html/SelfService/Elements/GotoTicket:46
-msgid "Goto ticket"
-msgstr "Bilete git"
-
-#: html/Ticket/Elements/AddWatchers:67 html/Ticket/Elements/ShowGroupMembers:55 html/User/Elements/DelegateRights:99
-msgid "Group"
-msgstr "Grup"
-
-#: html/Admin/Elements/CustomFieldTabs:68 html/Admin/Elements/GroupTabs:66 html/Admin/Elements/QueueTabs:82 html/Admin/Elements/SystemTabs:65 html/Admin/Global/index.html:76
-msgid "Group Rights"
-msgstr "Grup Yetkileri"
-
-#: lib/RT/Group_Overlay.pm:983
-msgid "Group already has member"
-msgstr "Grup üyeye sahip"
-
-#: html/Admin/Groups/Modify.html:109
-#. ($create_msg)
-msgid "Group could not be created: %1"
-msgstr "Grup oluşturulamıyor: %1"
-
-#: lib/RT/Group_Overlay.pm:521
-msgid "Group created"
-msgstr "Grup oluÅŸturuldu"
-
-#: lib/RT/Group_Overlay.pm:1155
-msgid "Group has no such member"
-msgstr "Grupta böyle bir üye yok"
-
-#: lib/RT/Group_Overlay.pm:963 lib/RT/Queue_Overlay.pm:748 lib/RT/Queue_Overlay.pm:808 lib/RT/Ticket_Overlay.pm:1430 lib/RT/Ticket_Overlay.pm:1510
-msgid "Group not found"
-msgstr "Grup bulunamadı"
-
-#: html/Admin/Elements/GlobalCustomFieldTabs:59 html/Admin/Elements/SelectNewGroupMembers:57 html/Admin/Elements/Tabs:56 html/Admin/Global/CustomFields/index.html:69 html/Admin/Groups/Members.html:86 html/Admin/Queues/People.html:104 html/Admin/Users/Memberships.html:53 html/Admin/index.html:67 html/User/Groups/Members.html:88 lib/RT/CustomField_Overlay.pm:1210
-msgid "Groups"
-msgstr "Gruplar"
-
-#: lib/RT/Group_Overlay.pm:989
-msgid "Groups can't be members of their members"
-msgstr "Gruplar, üyelerinin üyeleri olamazlar"
-
-#: html/Admin/Groups/index.html:86
-msgid "Groups matching search criteria"
-msgstr "Arama kıstaslarına uyan gruplar"
-
-#: html/Ticket/Elements/ShowRequestor:77
-msgid "Groups this user belongs to"
-msgstr "Bu kullanıcının kayıtlı olduğu gruplar"
-
-#: lib/RT/Interface/CLI.pm:94 lib/RT/Interface/CLI.pm:94
-msgid "Hello!"
-msgstr "Merhaba!"
-
-#: docs/design_docs/string-extraction-guide.txt:40 lib/RT/StyleGuide.pod:773
-#. ($name)
-msgid "Hello, %1"
-msgstr "Merhaba, %1"
-
-#: html/Admin/Elements/GroupTabs:70 html/Admin/Elements/UserTabs:64 html/Ticket/Elements/ShowHistory:53 html/Ticket/Elements/Tabs:111
-msgid "History"
-msgstr "Geçmiş"
-
-#: html/Admin/Groups/History.html:62
-#. ($GroupObj->Name)
-msgid "History of the group %1"
-msgstr "%1 grubunun geçmişi"
-
-#: html/Admin/Users/History.html:62
-#. ($UserObj->Name)
-msgid "History of the user %1"
-msgstr "%1 üyesinin geçmişi"
-
-#: html/Elements/Tabs:65
-msgid "Homepage"
-msgstr "Ev Sayfası"
-
-#: html/Elements/SelectTimeUnits:48
-msgid "Hours"
-msgstr "Saat"
-
-#: lib/RT/Base.pm:119
-#. (6)
-msgid "I have %quant(%1,concrete mixer)."
-msgstr ""
-
-#: html/Search/Build.html:460 lib/RT/Report/Tickets.pm:415
-msgid "I'm lost"
-msgstr "Kayboldum"
-
-#: html/Ticket/Elements/ShowBasics:48 lib/RT/Tickets_Overlay.pm:1766
-msgid "Id"
-msgstr "Numara"
-
-#: html/Admin/Users/Modify.html:65 html/User/Prefs.html:60
-msgid "Identity"
-msgstr "Kimlik"
-
-#: etc/initialdata:429
-msgid "If an approval is rejected, reject the original and delete pending approvals"
-msgstr "Eğer bir onaylama reddedilmişse, özgün kaydı reddet ve bekleyen onayları sil"
-
-#: html/Tools/Offline.html:74
-msgid "If no Requestor is specified, create tickets with this requestor."
-msgstr "Eğer bir istekçi belirtilmemişse, biletleri, bu istekçi üzerinden oluştur"
-
-#: html/Tools/Offline.html:65
-msgid "If no queue is specified, create tickets in this queue."
-msgstr "EÄŸer bir kuyruk belirtilmemiÅŸse, biletleri bu kuyrukta oluÅŸtur."
-
-#: bin/rt-crontool:267
-msgid "If this tool were setgid, a hostile local user could use this tool to gain administrative access to RT."
-msgstr "Eğer bu araş setgid ise, saldırgan bir yerel kullanıcı, bu aracı kullanarak RT' ye yönetici erişimi hakkı kazanabilir."
-
-#: html/Admin/Queues/People.html:126 html/Ticket/Modify.html:60 html/Ticket/ModifyAll.html:128 html/Ticket/ModifyPeople.html:60
-msgid "If you've updated anything above, be sure to"
-msgstr "Eğer yukarıda herhangi bir şeyi değiştirdiyseniz, mutlaka"
-
-#: lib/RT/Record.pm:947
-msgid "Illegal value for %1"
-msgstr "%1 için geçersiz değer"
-
-#: lib/RT/Record.pm:950
-msgid "Immutable field"
-msgstr "DeÄŸiÅŸmez alan"
-
-#: html/Admin/Groups/index.html:65
-msgid "Include disabled groups in listing."
-msgstr "Listelerken, etkinleştirilmemiş grupları ekle"
-
-#: html/Admin/Queues/index.html:65
-msgid "Include disabled queues in listing."
-msgstr "Listelerken, etkinleştirilmemiş kuyrukları ekle"
-
-#: html/Admin/Users/index.html:71
-msgid "Include disabled users in search."
-msgstr "Listelerken, iptal edilmiş üyeleri ekle"
-
-#: html/Admin/CustomFields/Modify.html:113
-msgid "Include page"
-msgstr "Sayfayı İçer"
-
-#: html/Search/Build.html:486 lib/RT/Report/Tickets.pm:441
-msgid "Incomplete Query"
-msgstr "Eksik Sorgu"
-
-#: html/Search/Build.html:483 lib/RT/Report/Tickets.pm:438
-msgid "Incomplete query"
-msgstr "Eksik sorgu"
-
-#: html/Search/Elements/PickBasics:148 lib/RT/Tickets_Overlay.pm:1816
-msgid "Initial Priority"
-msgstr "Başlangıç Önceliği"
-
-#: lib/RT/Ticket_Overlay.pm:1163 lib/RT/Ticket_Overlay.pm:1165
-msgid "InitialPriority"
-msgstr "BaşlangıçÖnceliği"
-
-#: lib/RT/ScripAction_Overlay.pm:133
-msgid "Input error"
-msgstr "Girdi Hatası"
-
-#: html/Elements/ValidateCustomFields:68 lib/RT/CustomField_Overlay.pm:1021 lib/RT/CustomField_Overlay.pm:1162
-#. ($self->FriendlyPattern)
-#. ($CF->FriendlyPattern)
-msgid "Input must match %1"
-msgstr "Girdi, %1 ile eÅŸleÅŸmeli"
-
-#: lib/RT/Ticket_Overlay.pm:3503
-msgid "Internal Error"
-msgstr "İç Hata"
-
-#: lib/RT/Record.pm:308
-#. ($id->{error_message})
-msgid "Internal Error: %1"
-msgstr "İç Hata: %1"
-
-#: lib/RT/Group_Overlay.pm:668
-msgid "Invalid Group Type"
-msgstr Geçersiz Grup Türü"
-
-#: lib/RT/Principal_Overlay.pm:161
-msgid "Invalid Right"
-msgstr "Geçersiz Hak"
-
-#: lib/RT/Record.pm:952
-msgid "Invalid data"
-msgstr "Geçersiz veri"
-
-#: lib/RT/CustomField_Overlay.pm:207 lib/RT/CustomField_Overlay.pm:678
-#. ($msg)
-msgid "Invalid pattern: %1"
-msgstr "Geçersiz desen: %1"
-
-#: lib/RT/Scrip_Overlay.pm:157 lib/RT/Template_Overlay.pm:244
-msgid "Invalid queue"
-msgstr "Geçersiz kuyruk"
-
-#: lib/RT/ACE_Overlay.pm:264 lib/RT/ACE_Overlay.pm:273 lib/RT/ACE_Overlay.pm:279 lib/RT/ACE_Overlay.pm:290
-msgid "Invalid right"
-msgstr "Geçersiz hak"
-
-#: lib/RT/Record.pm:283
-#. ($key)
-msgid "Invalid value for %1"
-msgstr "%1 için geçersiz değer"
-
-#: lib/RT/Record.pm:1610
-msgid "Invalid value for custom field"
-msgstr "Özel alan için geçersiz değer"
-
-#: lib/RT/Ticket_Overlay.pm:424
-msgid "Invalid value for status"
-msgstr "Durum için geçersiz değer"
-
-#: bin/rt-crontool:268
-msgid "It is incredibly important that nonprivileged users not be allowed to run this tool."
-msgstr "Yetkisiz kullanıcıların, bu aracı kullanmasını engellemek çok önemlidir."
-
-#: bin/rt-crontool:269
-msgid "It is suggested that you create a non-privileged unix user with the correct group membership and RT access to run this tool."
-msgstr "Bu araca erişim için, doğru grup üyeliğiyle yetkisiz bir unix kullanıcısı oluşturmanız ve RT erişimi vermeniz gerekmektedir."
-
-#: bin/rt-crontool:231
-msgid "It takes several arguments:"
-msgstr "Çeşitli argümanlar alır:"
-
-#: html/Search/Elements/EditFormat:85
-msgid "Italic"
-msgstr "EÄŸik"
-
-#: lib/RT/Date.pm:441
-msgid "Jan."
-msgstr "Oca."
-
-#: lib/RT/Group_Overlay.pm:166
-msgid "Join or leave this group"
-msgstr "Bu gruba katılın veya ayrılın"
-
-#: lib/RT/Date.pm:447
-msgid "Jul."
-msgstr "Tem."
-
-#: html/Ticket/Elements/Tabs:125
-msgid "Jumbo"
-msgstr ""
-
-#: lib/RT/Date.pm:446
-msgid "Jun."
-msgstr "Haz."
-
-#: html/Admin/Users/Modify.html:94 html/User/Prefs.html:76
-msgid "Language"
-msgstr "Dil"
-
-#: html/Search/Elements/EditFormat:79
-msgid "Large"
-msgstr "GeniÅŸ"
-
-#: html/Ticket/Elements/Tabs:96
-msgid "Last"
-msgstr "Son"
-
-#: html/Ticket/Elements/EditDates:59 html/Ticket/Elements/ShowDates:60
-msgid "Last Contact"
-msgstr "Son Temas"
-
-#: html/Elements/SelectDateType:50
-msgid "Last Contacted"
-msgstr "Son Temasedilen"
-
-#: html/Elements/SelectDateType:51
-msgid "Last Updated"
-msgstr "Son Güncelleme"
-
-#: html/Search/Elements/PickBasics:103
-msgid "LastUpdatedBy"
-msgstr "SonGüncelleyen"
-
-#: html/Ticket/Elements/ShowBasics:68
-msgid "Left"
-msgstr "Kalan"
-
-#: html/Admin/Users/Modify.html:109
-msgid "Let this user access RT"
-msgstr "Bu kullanıcının RT' ye erişimine izin ver"
-
-#: html/Admin/Users/Modify.html:113
-msgid "Let this user be granted rights"
-msgstr "Bu kullanıcının yetkiye sahip olmasına izin ver"
-
-#: html/Search/Elements/EditFormat:68
-msgid "Link"
-msgstr "Bağlantı"
-
-#: lib/RT/Record.pm:1306
-msgid "Link already exists"
-msgstr "Bağlantı mevcut"
-
-#: lib/RT/Record.pm:1320
-msgid "Link could not be created"
-msgstr "Bağlantı oluşturulamıyor"
-
-#: lib/RT/Record.pm:1326
-#. ($TransString)
-msgid "Link created (%1)"
-msgstr "Bağlantı oulşturuldu (%1)"
-
-#: lib/RT/Record.pm:1387
-#. ($TransString)
-msgid "Link deleted (%1)"
-msgstr "Bağlantı silindi (%1)"
-
-#: lib/RT/Record.pm:1393
-msgid "Link not found"
-msgstr "Bağlantı bulunamadı"
-
-#: html/Ticket/ModifyLinks.html:46 html/Ticket/ModifyLinks.html:50
-#. ($Ticket->Id)
-msgid "Link ticket #%1"
-msgstr "Bileti baÄŸla #%1"
-
-#: html/Admin/CustomFields/Modify.html:102
-msgid "Link values to"
-msgstr "DeÄŸerleri baÄŸla:"
-
-#: lib/RT/Ticket_Overlay.pm:700
-msgid "Linking. Permission denied"
-msgstr "Bağlanıyor. Erişim reddedildi"
-
-#: html/Ticket/Create.html:216 html/Ticket/Elements/ShowSummary:89 html/Ticket/Elements/Tabs:120 html/Ticket/ModifyAll.html:78
-msgid "Links"
-msgstr "Bağlantılar"
-
-#: html/Search/Elements/EditSearches:75
-msgid "Load"
-msgstr "Yükle"
-
-#: html/Search/Elements/EditSearches:73
-msgid "Load saved search:"
-msgstr "Kaydedilmiş aramayı yükle:"
-
-#: lib/RT/System.pm:86
-msgid "LoadSavedSearch"
-msgstr ""
-
-#: html/Admin/Tools/Configuration.html:64
-msgid "Loaded perl modules"
-msgstr "Yüklenmiş Perl modülleri"
-
-#: lib/RT/SavedSearch.pm:111
-#. ($self->Name)
-msgid "Loaded search %1"
-msgstr "Yüklenmiş arama %1"
-
-#: html/Admin/Users/Modify.html:138 html/User/Prefs.html:126
-msgid "Location"
-msgstr "Konum"
-
-#: html/Elements/Header:91
-#. ("<span>".$session{'CurrentUser'}->Name."</span>")
-msgid "Logged in as %1"
-msgstr "%1 olarak giriş yapıldı"
-
-#: docs/design_docs/string-extraction-guide.txt:71 html/Elements/Login:100 html/Elements/Login:68 html/Elements/Login:84 lib/RT/StyleGuide.pod:797
-msgid "Login"
-msgstr "GiriÅŸ yap"
-
-#: html/Elements/Header:101
-msgid "Logout"
-msgstr "Çık"
-
-#: lib/RT/CustomField_Overlay.pm:932
-msgid "Lookup type mismatch"
-msgstr "Arama türü eşleşmedi"
-
-#: html/Search/Bulk.html:82
-msgid "Make Owner"
-msgstr "Yapım Sahibi"
-
-#: html/Search/Bulk.html:106
-msgid "Make Status"
-msgstr "Yapım Durumu"
-
-#: html/Search/Bulk.html:114
-msgid "Make date Due"
-msgstr "Yapım Zamanlaması"
-
-#: html/Search/Bulk.html:116
-msgid "Make date Resolved"
-msgstr "Yapım tarihi Çözümlendi"
-
-#: html/Search/Bulk.html:110
-msgid "Make date Started"
-msgstr "Yapma tarihi Başladı"
-
-#: html/Search/Bulk.html:108
-msgid "Make date Starts"
-msgstr "Yapma tarihi Başlangıcı"
-
-#: html/Search/Bulk.html:112
-msgid "Make date Told"
-msgstr "Yapım tarihi Belirtilen"
-
-#: html/Search/Bulk.html:102
-msgid "Make priority"
-msgstr "Yapım önceliği"
-
-#: html/Search/Bulk.html:104
-msgid "Make queue"
-msgstr "Yapım kuyruğu"
-
-#: html/Search/Bulk.html:100
-msgid "Make subject"
-msgstr "Yapım başlığı"
-
-#: lib/RT/Group_Overlay.pm:169
-msgid "Make this group visible to user"
-msgstr "Bu grubun, kullanıcıya görünür olmasını sağla"
-
-#: html/Admin/index.html:78
-msgid "Manage custom fields and custom field values"
-msgstr "Özel alanları ve özel alan değerlerini yönet"
-
-#: html/Admin/index.html:69
-msgid "Manage groups and group membership"
-msgstr "Grupları ve grup üyeliklerini yönet"
-
-#: html/Admin/index.html:85
-msgid "Manage properties and configuration which apply to all queues"
-msgstr "Bütün kuyruklara etki eden özellikleri ve ayarları yönetin"
-
-#: html/Admin/index.html:74
-msgid "Manage queues and queue-specific properties"
-msgstr "Kuyrukları ve kuyruğa-özel özellikleri yönetin"
-
-#: html/Admin/index.html:64
-msgid "Manage users and passwords"
-msgstr "Kullanıcıları ve parolaları yönetin"
-
-#: lib/RT/Date.pm:443
-msgid "Mar."
-msgstr "Mar."
-
-#: lib/RT/Date.pm:445
-msgid "May."
-msgstr "May."
-
-#: lib/RT/Transaction_Overlay.pm:731
-#. ($value)
-msgid "Member %1 added"
-msgstr "Ãœye %1 eklendi"
-
-#: lib/RT/Transaction_Overlay.pm:771
-#. ($value)
-msgid "Member %1 deleted"
-msgstr "Ãœye %1 silindi"
-
-#: lib/RT/Group_Overlay.pm:1000
-msgid "Member added"
-msgstr "Ãœye eklendi"
-
-#: lib/RT/Group_Overlay.pm:1162
-msgid "Member deleted"
-msgstr "Ãœye Silindi"
-
-#: lib/RT/Group_Overlay.pm:1166
-msgid "Member not deleted"
-msgstr "Ãœye Silinemedi"
-
-#: html/Elements/SelectLinkType:47
-msgid "Member of"
-msgstr "Ãœye olduÄŸu yer:"
-
-#: html/Admin/Elements/GroupTabs:63 html/User/Elements/GroupTabs:63
-msgid "Members"
-msgstr "Ãœyeler"
-
-#: lib/RT/Transaction_Overlay.pm:728
-#. ($value)
-msgid "Membership in %1 added"
-msgstr "%1 için üyelik eklendi"
-
-#: lib/RT/Transaction_Overlay.pm:768
-#. ($value)
-msgid "Membership in %1 deleted"
-msgstr "%1 için üyelik silindi"
-
-#: html/Admin/Elements/UserTabs:61
-msgid "Memberships"
-msgstr "Ãœyelikler"
-
-#: html/Admin/Users/Memberships.html:60
-#. ($UserObj->Name)
-msgid "Memberships of the user %1"
-msgstr "%1 üyesinin üyelikleri"
-
-#: lib/RT/Ticket_Overlay.pm:2893
-msgid "Merge Successful"
-msgstr "Birleştirme başarılı"
-
-#: lib/RT/Ticket_Overlay.pm:2780
-msgid "Merge failed. Couldn't set EffectiveId"
-msgstr "Birleştirme başarısız. Etkin Numara atanamıyor"
-
-#: lib/RT/Ticket_Overlay.pm:2788
-msgid "Merge failed. Couldn't set Status"
-msgstr "Birleştirme başarısız. Durum atanamıyor"
-
-#: html/Elements/EditLinks:131 html/Ticket/Elements/BulkLinks:48
-msgid "Merge into"
-msgstr "Åžununla birleÅŸtir: "
-
-#: lib/RT/Transaction_Overlay.pm:734
-#. ($value)
-msgid "Merged into %1"
-msgstr "%1 içinde birleştirildi"
-
-#: html/Search/Bulk.html:143 html/Ticket/Update.html:118
-msgid "Message"
-msgstr "Ä°leti"
-
-#: html/Ticket/Elements/ShowTransactionAttachments:164
-msgid "Message body not shown because it is too large or is not plain text."
-msgstr "İleti gövdesi, çok büyük veya düz metin olmadığından gösterilmiyor."
-
-#: lib/RT/Ticket_Overlay.pm:2451
-msgid "Message could not be recorded"
-msgstr "Ä°leti kaydedilemedi"
-
-#: lib/RT/Ticket_Overlay.pm:2454
-msgid "Message recorded"
-msgstr "Ä°leti kaydedildi"
-
-#: html/Ticket/Elements/PreviewScrips:122
-msgid "Messages about this ticket will not be sent to..."
-msgstr "Bu bilet hakkındaki iletiler gönderilmeyecek..."
-
-#: html/Elements/SelectTimeUnits:47
-msgid "Minutes"
-msgstr "Dakika"
-
-#: html/Search/Build.html:490 lib/RT/Report/Tickets.pm:445
-msgid "Mismatched parentheses"
-msgstr "EÅŸleÅŸmemiÅŸ parantezler"
-
-#: lib/RT/Record.pm:954
-msgid "Missing a primary key?: %1"
-msgstr "Başlıca anahtarlardan birisi eksik mi?: %1"
-
-#: html/Admin/Users/Modify.html:193 html/User/Prefs.html:92
-msgid "Mobile"
-msgstr "Hareketli"
-
-#: lib/RT/Queue_Overlay.pm:94
-msgid "Modify Access Control List"
-msgstr "EriÅŸim Denetim listesini DeÄŸiÅŸtir"
-
-#: html/Admin/Elements/ObjectCustomFields:96
-#. (loc(lc($FriendlySubTypes)), loc(lc($Types)))
-msgid "Modify Custom Fields which apply to %1 for all %2"
-msgstr "Bütün %2 için, %1 etki eden bütün özel alanları değiştir"
-
-#: html/Admin/Elements/ObjectCustomFields:98
-#. (loc(lc($Types)))
-msgid "Modify Custom Fields which apply to all %1"
-msgstr "Bütün %1 etki eden özel alanları değiştir"
-
-#: html/Admin/Global/GroupRights.html:106 html/Admin/Groups/GroupRights.html:94 html/Admin/Queues/GroupRights.html:107
-msgid "Modify Group Rights"
-msgstr "Grup yetkilerini deÄŸiÅŸtir"
-
-#: html/Admin/Groups/Members.html:105 html/User/Groups/Members.html:101
-msgid "Modify Members"
-msgstr "Ãœyeleri DeÄŸiÅŸtir"
-
-#: html/User/Delegation.html:58
-msgid "Modify Rights"
-msgstr "Yetkileri DeÄŸiÅŸtir"
-
-#: lib/RT/Queue_Overlay.pm:97
-msgid "Modify Scrip templates for this queue"
-msgstr "Bu kuyruk için, senet şablonlarını değiştir"
-
-#: lib/RT/Queue_Overlay.pm:100
-msgid "Modify Scrips for this queue"
-msgstr "Bu kuyruk için senetleri değiştir"
-
-#: html/Admin/Global/UserRights.html:75 html/Admin/Groups/UserRights.html:76 html/Admin/Queues/UserRights.html:75
-msgid "Modify User Rights"
-msgstr "Kullanıcı haklarını değiştir"
-
-#: html/Admin/Queues/CustomField.html:66
-#. ($QueueObj->Name())
-msgid "Modify a CustomField for queue %1"
-msgstr "%1 kuyruğu için bir ÖzelAlanı değiştir"
-
-#: html/Admin/Queues/Scrip.html:82
-#. ($QueueObj->Name)
-msgid "Modify a scrip for queue %1"
-msgstr "%1 kuyruğu için bir senet değiştir"
-
-#: html/Admin/Global/Scrip.html:75
-msgid "Modify a scrip which applies to all queues"
-msgstr "Bütün kuyruklara etki eden bir senedi değiştir"
-
-#: html/Admin/CustomFields/Objects.html:90
-#. ($CF->Name)
-msgid "Modify associated objects for %1"
-msgstr "%1 için, ilişkili nesneleri değiştir"
-
-#: html/Ticket/ModifyDates.html:46 html/Ticket/ModifyDates.html:50
-#. ($TicketObj->Id)
-msgid "Modify dates for #%1"
-msgstr "#%1 için tarihleri değiştir"
-
-#: html/Ticket/ModifyDates.html:57
-#. ($TicketObj->Id)
-msgid "Modify dates for ticket # %1"
-msgstr "Bilet # %1 için, tarihleri değiştir"
-
-#: html/Admin/Elements/GlobalCustomFieldTabs:65 html/Admin/Global/index.html:72
-msgid "Modify global custom fields"
-msgstr "Küresel özel alanları değiştir"
-
-#: html/Admin/Elements/GlobalCustomFieldTabs:70 html/Admin/Global/GroupRights.html:46 html/Admin/Global/GroupRights.html:49 html/Admin/Global/index.html:77
-msgid "Modify global group rights"
-msgstr "Küresel grup izinlerini değiştir"
-
-#: html/Admin/Global/GroupRights.html:54
-msgid "Modify global group rights."
-msgstr "Küresel grup izinlerini değiştir."
-
-#: html/Admin/Global/UserRights.html:46 html/Admin/Global/UserRights.html:49 html/Admin/Global/index.html:81
-msgid "Modify global user rights"
-msgstr "Küresel kullanıcı izinlerini değiştir"
-
-#: html/Admin/Global/UserRights.html:54
-msgid "Modify global user rights."
-msgstr "Küresel kullanıcı izinlerini değiştir."
-
-#: lib/RT/Group_Overlay.pm:163
-msgid "Modify group metadata or delete group"
-msgstr "Grup mal bilgisini deÄŸiÅŸtir veya grubu sil"
-
-#: html/Admin/CustomFields/GroupRights.html:164
-#. ($CustomFieldObj->Name)
-msgid "Modify group rights for custom field %1"
-msgstr "Özel alan %1 için grup izinlerini değiştir"
-
-#: html/Admin/Groups/GroupRights.html:46 html/Admin/Groups/GroupRights.html:50 html/Admin/Groups/GroupRights.html:56
-#. ($GroupObj->Name)
-msgid "Modify group rights for group %1"
-msgstr "%1 grubu için, grup izinlerini değiştir."
-
-#: html/Admin/Queues/GroupRights.html:46 html/Admin/Queues/GroupRights.html:50
-#. ($QueueObj->Name)
-msgid "Modify group rights for queue %1"
-msgstr "%1 kuyruğu için, grup izinlerini değiştir."
-
-#: lib/RT/Group_Overlay.pm:165
-msgid "Modify membership roster for this group"
-msgstr "Bu grup için, üyelik listesini değiştir"
-
-#: lib/RT/System.pm:82
-msgid "Modify one's own RT account"
-msgstr "Kişinin kendi RT hesabını değiştir"
-
-#: html/Admin/Queues/People.html:46 html/Admin/Queues/People.html:50
-#. ($QueueObj->Name)
-msgid "Modify people related to queue %1"
-msgstr "%1 ile iliÅŸkili kiÅŸileri deÄŸiÅŸtir"
-
-#: html/Ticket/ModifyPeople.html:46 html/Ticket/ModifyPeople.html:50 html/Ticket/ModifyPeople.html:57
-#. ($Ticket->id)
-#. ($Ticket->Id)
-msgid "Modify people related to ticket #%1"
-msgstr "%1 bileti ile iliÅŸkili kiÅŸileri deÄŸiÅŸtir"
-
-#: html/Admin/Queues/Scrips.html:67
-#. ($QueueObj->Name)
-msgid "Modify scrips for queue %1"
-msgstr "%1 kuyruğu için senetleri değiştir"
-
-#: html/Admin/Elements/GlobalCustomFieldTabs:56 html/Admin/Global/Scrips.html:65 html/Admin/Global/index.html:63
-msgid "Modify scrips which apply to all queues"
-msgstr "Bütn kuyruklara etki eden senetleri değiştir"
-
-#: html/Admin/Global/Template.html:102 html/Admin/Global/Template.html:46 html/Admin/Global/Template.html:51 html/Admin/Queues/Template.html:99
-#. (loc($TemplateObj->Name()))
-#. ($TemplateObj->id)
-msgid "Modify template %1"
-msgstr "%1 ÅŸablonunu deÄŸiÅŸtir"
-
-#: html/Admin/Global/Templates.html:65
-msgid "Modify templates which apply to all queues"
-msgstr "Bütün kuyruklara etki eden şablonları değiştir"
-
-#: html/Admin/Global/index.html:85
-msgid "Modify the default \"RT at a glance\" view"
-msgstr "Varsayılan \"Bir bakışta RT\" görünümünü değiştir"
-
-#: html/Admin/Groups/Modify.html:119 html/User/Groups/Modify.html:107
-#. ($Group->Name)
-msgid "Modify the group %1"
-msgstr "%1 grubunu deÄŸiÅŸtir"
-
-#: lib/RT/Queue_Overlay.pm:95
-msgid "Modify the queue watchers"
-msgstr "Kuyruk gözcülerini değiştir"
-
-#: html/Admin/Users/Modify.html:309
-#. ($UserObj->Name)
-msgid "Modify the user %1"
-msgstr "%1 kullanıcısını değiştir"
-
-#: html/Ticket/ModifyAll.html:58
-#. ($Ticket->Id)
-msgid "Modify ticket # %1"
-msgstr "#%1 biletini deÄŸiÅŸtir"
-
-#: html/Ticket/Modify.html:46 html/Ticket/Modify.html:49 html/Ticket/Modify.html:55
-#. ($TicketObj->Id)
-msgid "Modify ticket #%1"
-msgstr "#%1 biletini deÄŸiÅŸtir"
-
-#: lib/RT/Queue_Overlay.pm:113
-msgid "Modify tickets"
-msgstr "Biletleri deÄŸiÅŸtir"
-
-#: html/Admin/CustomFields/UserRights.html:157
-#. ($CustomFieldObj->Name)
-msgid "Modify user rights for custom field %1"
-msgstr "Özel alan %1 için kullanıcı haklarını değiştir"
-
-#: html/Admin/Groups/UserRights.html:46 html/Admin/Groups/UserRights.html:50 html/Admin/Groups/UserRights.html:56
-#. ($GroupObj->Name)
-msgid "Modify user rights for group %1"
-msgstr "%1 grubu için kullanıcı haklarını değiştir"
-
-#: html/Admin/Queues/UserRights.html:46 html/Admin/Queues/UserRights.html:50
-#. ($QueueObj->Name)
-msgid "Modify user rights for queue %1"
-msgstr "%1 kuyruğu için kullanıcı haklarını değiştir"
-
-#: lib/RT/Queue_Overlay.pm:94
-msgid "ModifyACL"
-msgstr ""
-
-#: lib/RT/CustomField_Overlay.pm:108
-msgid "ModifyCustomField"
-msgstr ""
-
-#: lib/RT/Group_Overlay.pm:166
-msgid "ModifyOwnMembership"
-msgstr ""
-
-#: lib/RT/Queue_Overlay.pm:95
-msgid "ModifyQueueWatchers"
-msgstr ""
-
-#: lib/RT/Queue_Overlay.pm:100
-msgid "ModifyScrips"
-msgstr ""
-
-#: lib/RT/System.pm:82
-msgid "ModifySelf"
-msgstr ""
-
-#: lib/RT/Queue_Overlay.pm:97
-msgid "ModifyTemplate"
-msgstr ""
-
-#: lib/RT/Queue_Overlay.pm:113
-msgid "ModifyTicket"
-msgstr ""
-
-#: lib/RT/Date.pm:417
-msgid "Mon."
-msgstr "Pzt."
-
-#: html/Ticket/Elements/ShowRequestor:61
-#. ($name)
-msgid "More about %1"
-msgstr "%1 hakkında daha fazla bilgi"
-
-#: html/Admin/Elements/PickCustomFields:83
-msgid "Move down"
-msgstr "Aşağı git"
-
-#: html/Admin/Elements/PickCustomFields:75
-msgid "Move up"
-msgstr "Yukarı git"
-
-#: html/Admin/Elements/SelectSingleOrMultiple:48
-msgid "Multiple"
-msgstr "Çoklu"
-
-#: lib/RT/User_Overlay.pm:226
-msgid "Must specify 'Name' attribute"
-msgstr "'Ad' özniteliği belirtilmeli"
-
-#: html/SelfService/Elements/MyRequests:57
-#. ($friendly_status)
-msgid "My %1 tickets"
-msgstr "Benim %1 biletim"
-
-#: html/Tools/Elements/Tabs:63
-msgid "My Day"
-msgstr "Benim Günüm"
-
-#: html/Approvals/index.html:46 html/Approvals/index.html:47
-msgid "My approvals"
-msgstr "Benim Onaylarım"
-
-#: html/Search/Elements/SearchPrivacy:50 html/Search/Elements/SelectSearchObject:53 html/Search/Elements/SelectSearchesForObjects:54
-msgid "My saved searches"
-msgstr "Benim kaydedilmiş aramalarım"
-
-#: html/Admin/CustomFields/Modify.html:58 html/Admin/Elements/AddCustomFieldValue:53 html/Admin/Elements/EditCustomField:55 html/Admin/Elements/EditCustomFieldValues:55 html/Admin/Elements/ModifyTemplate:49 html/Admin/Groups/Modify.html:65 html/Search/Bulk.html:157 html/User/Groups/Modify.html:65
-msgid "Name"
-msgstr "Ad"
-
-#: lib/RT/User_Overlay.pm:233
-msgid "Name in use"
-msgstr "Kullanımdaki ad"
-
-#: html/Ticket/Elements/ShowDates:73
-msgid "Never"
-msgstr "Asla"
-
-#: html/Elements/EditLinks:117
-msgid "New Links"
-msgstr "Yeni bağlantılar"
-
-#: html/Admin/Users/Modify.html:119 html/User/Prefs.html:109
-msgid "New Password"
-msgstr "Yeni parola"
-
-#: etc/initialdata:332
-msgid "New Pending Approval"
-msgstr "Yeni bekleyen onay"
-
-#: html/Ticket/Elements/Tabs:212
-msgid "New Search"
-msgstr "Yeni arama"
-
-#: html/Admin/Elements/CustomFieldTabs:93 html/Admin/Queues/CustomField.html:73
-msgid "New custom field"
-msgstr "Yeni özel alan"
-
-#: html/Admin/Elements/GroupTabs:77 html/User/Elements/GroupTabs:73
-msgid "New group"
-msgstr "Yeni grup"
-
-#: html/SelfService/Prefs.html:53
-msgid "New password"
-msgstr "Yeni parola"
-
-#: lib/RT/User_Overlay.pm:816
-msgid "New password notification sent"
-msgstr "Yeni parola uyarısı iletildi"
-
-#: html/Admin/Elements/QueueTabs:95
-msgid "New queue"
-msgstr "Yeni kuyruk"
-
-#: html/Ticket/Elements/Reminders:118
-msgid "New reminder:"
-msgstr "Yeni hatırlatıcı:"
-
-#: html/Admin/Elements/SelectRights:65
-msgid "New rights"
-msgstr "Yeni yetkiler"
-
-#: html/Admin/Global/Scrip.html:63 html/Admin/Global/Scrips.html:60 html/Admin/Queues/Scrip.html:71 html/Admin/Queues/Scrips.html:76
-msgid "New scrip"
-msgstr "Yeni senet"
-
-#: html/Admin/Global/Template.html:81 html/Admin/Global/Templates.html:60 html/Admin/Queues/Template.html:79 html/Admin/Queues/Templates.html:71
-msgid "New template"
-msgstr "Yeni ÅŸablon"
-
-#: html/SelfService/Elements/Tabs:84 html/SelfService/Elements/Tabs:88
-msgid "New ticket"
-msgstr "Yeni bilet"
-
-#: lib/RT/Ticket_Overlay.pm:2757
-msgid "New ticket doesn't exist"
-msgstr "Yeni bilet yok"
-
-#: html/Admin/Elements/UserTabs:81
-msgid "New user"
-msgstr "Yeni kullanıcı"
-
-#: html/Admin/Elements/CreateUserCalled:47
-msgid "New user called"
-msgstr "Yeni kullanıcı: "
-
-#: html/Admin/Queues/People.html:76 html/Ticket/Elements/EditPeople:50
-msgid "New watchers"
-msgstr "Yeni gözcüler"
-
-#: html/Helpers/CalPopup.html:58 html/Ticket/Elements/Tabs:92
-msgid "Next"
-msgstr "Ä°leri"
-
-#: html/Elements/TicketList:104
-msgid "Next Page"
-msgstr "Sonraki Sayfa"
-
-#: html/Admin/Users/Modify.html:84 html/User/Prefs.html:72
-msgid "Nickname"
-msgstr "Rumuz"
-
-#: html/Admin/CustomFields/UserRights.html:145
-msgid "No Class defined"
-msgstr "Bir sınıf tanımlanmadı"
-
-#: html/Admin/CustomFields/Modify.html:166 html/Admin/Elements/EditCustomField:119
-msgid "No CustomField"
-msgstr "Özel alan yok"
-
-#: html/Admin/CustomFields/GroupRights.html:103
-msgid "No CustomField defined"
-msgstr "Özel alan tanımlanmadı"
-
-#: html/Admin/Groups/GroupRights.html:105 html/Admin/Groups/UserRights.html:92
-msgid "No Group defined"
-msgstr "Grup alan tanımlanmadı"
-
-#: lib/RT/Tickets_Overlay_SQL.pm:482
-msgid "No Query"
-msgstr "Sorgu Yok"
-
-#: html/Admin/Queues/GroupRights.html:118 html/Admin/Queues/UserRights.html:89
-msgid "No Queue defined"
-msgstr "Kuyruk tanımlanmadı"
-
-#: bin/rt-crontool:73
-msgid "No RT user found. Please consult your RT administrator.\\n"
-msgstr "RT kullanıcısı bulunamadı. Lütfen RT yöneticinize danışın.\\n"
-
-#: html/Admin/Global/Template.html:100 html/Admin/Queues/Template.html:97
-msgid "No Template"
-msgstr "Åžablon Yok"
-
-#: html/Approvals/Elements/Approve:77
-msgid "No action"
-msgstr "Eylem Yok"
-
-#: lib/RT/Record.pm:949
-msgid "No column specified"
-msgstr "Sütun belirtilmedi"
-
-#: html/Ticket/Elements/ShowRequestor:68
-msgid "No comment entered about this user"
-msgstr "Bu kullanıcı hakkında yorum yapılmadı"
-
-#: lib/RT/Action/Generic.pm:185 lib/RT/Condition/Generic.pm:197 lib/RT/Search/ActiveTicketsInQueue.pm:77 lib/RT/Search/Generic.pm:134 lib/RT/Search/Googleish.pm:78
-#. (ref $self)
-msgid "No description for %1"
-msgstr "%1 için herhangi bir tanım yok"
-
-#: lib/RT/Users_Overlay.pm:190
-msgid "No group specified"
-msgstr "Grup belirtilmedi"
-
-#: html/Admin/Groups/index.html:52
-msgid "No groups matching search criteria found."
-msgstr "Arama kıstaslarıyla örtüşen bir grup bulunamadı."
-
-#: lib/RT/Ticket_Overlay.pm:2393
-msgid "No message attached"
-msgstr "Herhangi bir ileti eklenmedi"
-
-#: lib/RT/User_Overlay.pm:1034
-msgid "No password set"
-msgstr "Herhangi bir parola atanmadı"
-
-#: lib/RT/Queue_Overlay.pm:361
-msgid "No permission to create queues"
-msgstr "Kuyruk oluşturmak için gerekli yetki yok"
-
-#: lib/RT/Ticket_Overlay.pm:420
-#. ($QueueObj->Name)
-msgid "No permission to create tickets in the queue '%1'"
-msgstr "%1 kuyruğunda bilet oluşturmak için gerekli yetki yok"
-
-#: lib/RT/User_Overlay.pm:186
-msgid "No permission to create users"
-msgstr "Kullanıcı oluşturmak için gerekli yetki yok"
-
-#: html/SelfService/Display.html:167
-msgid "No permission to display that ticket"
-msgstr "Bu bileti görüntülemek için gerekli yetki yok"
-
-#: lib/RT/SavedSearch.pm:156
-msgid "No permission to save system-wide searches"
-msgstr "Sistem genelinde yapılan aramaları kaydetmek için gerekli yetki yok"
-
-#: html/SelfService/Update.html:117
-msgid "No permission to view update ticket"
-msgstr "Bilet güncellemeyi görüntülemek için gerekli yetki yok"
-
-#: lib/RT/Queue_Overlay.pm:795 lib/RT/Ticket_Overlay.pm:1489
-msgid "No principal specified"
-msgstr "Yetkili belirtilmedi"
-
-#: html/Admin/Queues/People.html:175 html/Admin/Queues/People.html:185
-msgid "No principals selected."
-msgstr "Herhangi bir yetkili seçilmedi"
-
-#: html/Admin/Queues/index.html:57
-msgid "No queues matching search criteria found."
-msgstr "Arama kıstaslarıyla örtüşen bir kuyruk bulunamadı."
-
-#: html/Admin/Elements/SelectRights:106
-msgid "No rights found"
-msgstr "Herhangi bir yetki bulunamadı"
-
-#: html/Admin/Elements/SelectRights:53
-msgid "No rights granted."
-msgstr "Herhangi bir yetki verilmedi."
-
-#: lib/RT/SavedSearch.pm:196
-msgid "No search loaded"
-msgstr "Herhangi bir arama yüklenemedi"
-
-#: html/Search/Bulk.html:232
-msgid "No search to operate on."
-msgstr "İşlenecek bir arama bulunamadı"
-
-#: html/Elements/RT__Ticket/ColumnMap:137 html/Search/Results.rdf:78
-msgid "No subject"
-msgstr "Başlık yok"
-
-#: lib/RT/Transaction_Overlay.pm:528 lib/RT/Transaction_Overlay.pm:565
-msgid "No transaction type specified"
-msgstr "Aktarım türü belirtilmedi"
-
-#: html/Admin/Users/index.html:55
-msgid "No users matching search criteria found."
-msgstr "Arama kıstaslarıyla örtüşen herhangi bir kullanıcı bulunamadı."
-
-#: lib/RT/Record.pm:946
-msgid "No value sent to _Set!\\n"
-msgstr "_Set için herhangi bir değer gönderilmedi!\\n"
-
-#: html/Elements/QuickCreate:59
-msgid "Nobody"
-msgstr "Hiçkimse"
-
-#: lib/RT/Record.pm:951
-msgid "Nonexistant field?"
-msgstr "Varolmayan Alan?"
-
-#: html/Search/Chart:71 html/Search/Elements/Chart:88
-msgid "Not Set"
-msgstr "Atanmadı"
-
-#: html/Elements/Header:96
-msgid "Not logged in."
-msgstr "Giriş yapılmadı"
-
-#: lib/RT/Date.pm:397
-msgid "Not set"
-msgstr "Atanmadı"
-
-#: html/NoAuth/Reminder.html:48
-msgid "Not yet implemented."
-msgstr "Henüz oluşturulmadı."
-
-#: html/Approvals/Elements/Approve:81
-msgid "Notes"
-msgstr "Notlar"
-
-#: lib/RT/User_Overlay.pm:819
-msgid "Notification could not be sent"
-msgstr "Uyarı gönderilemiyor"
-
-#: etc/initialdata:101
-msgid "Notify AdminCcs"
-msgstr "Yönetici Kk' ları bildir"
-
-#: etc/initialdata:97
-msgid "Notify AdminCcs as Comment"
-msgstr "Yönetici Kk' ları yorum olarak bildir"
-
-#: etc/initialdata:93 etc/upgrade/3.1.17/content:6
-msgid "Notify Ccs"
-msgstr "Kk' ları bildir"
-
-#: etc/initialdata:89 etc/upgrade/3.1.17/content:2
-msgid "Notify Ccs as Comment"
-msgstr "Kk' ları yorum olarak bildir"
-
-#: etc/initialdata:128
-msgid "Notify Other Recipients"
-msgstr "Diğer alıcıları uyar"
-
-#: etc/initialdata:124
-msgid "Notify Other Recipients as Comment"
-msgstr "Diğer alıcıları yorum olarak uyar"
-
-#: etc/initialdata:85
-msgid "Notify Owner"
-msgstr "Sahibi uyar"
-
-#: etc/initialdata:81
-msgid "Notify Owner as Comment"
-msgstr "Sahibi yorum olarak uyar"
-
-#: etc/initialdata:376
-msgid "Notify Owner of their rejected ticket"
-msgstr "Sahipleri, reddedilen biletleri hakkında uyar"
-
-#: etc/initialdata:365
-msgid "Notify Owner of their ticket has been approved by all approvers"
-msgstr "Bütün onaycılar tarafından onaylanan bileti hakkında sahibi uyar"
-
-#: etc/initialdata:353
-msgid "Notify Owner of their ticket has been approved by some approver"
-msgstr "Herhangi bir onaycı tarafından onaylanan bileti hakkında sahibi uyar"
-
-#: etc/initialdata:334
-msgid "Notify Owners and AdminCcs of new items pending their approval"
-msgstr "Onaylanmayı bekleyen yeni öğeler hakkında sahipleri ve Yönetici Kk' ları uyar"
-
-#: etc/initialdata:77
-msgid "Notify Requestors"
-msgstr "İstekçileri Uyar"
-
-#: etc/initialdata:111
-msgid "Notify Requestors and Ccs"
-msgstr "İstekçileri ve Kk' ları uyar"
-
-#: etc/initialdata:106
-msgid "Notify Requestors and Ccs as Comment"
-msgstr "İstekçileri ve Kk' ları yorum olarak uyar"
-
-#: etc/initialdata:120
-msgid "Notify Requestors, Ccs and AdminCcs"
-msgstr "İstekçileri, Kk' ları ve Yönetici Kk' ları uyar"
-
-#: etc/initialdata:116
-msgid "Notify Requestors, Ccs and AdminCcs as Comment"
-msgstr "İstekçileri, Kk' ları ve Yönetici Kk' ları yorum olarak uyar"
-
-#: lib/RT/Date.pm:451
-msgid "Nov."
-msgstr "Kas."
-
-#: html/Search/Elements/SelectAndOr:47
-msgid "OR"
-msgstr "VEYA"
-
-#: lib/RT/Record.pm:322
-msgid "Object could not be created"
-msgstr "Nesne oluşturulamıyor"
-
-#: lib/RT/Record.pm:123
-msgid "Object could not be deleted"
-msgstr "Nesne silinemiyor"
-
-#: lib/RT/Record.pm:341
-msgid "Object created"
-msgstr "Nesne oluÅŸturuldu"
-
-#: lib/RT/Record.pm:120
-msgid "Object deleted"
-msgstr "Nesne silindi"
-
-#: html/Admin/CustomFields/Objects.html:72 html/Admin/Elements/ObjectCustomFields:63
-#. ($ObjectType)
-#. ($LookupType)
-msgid "Object of type %1 cannot take custom fields"
-msgstr "%1 türündeki nesneler, özel alanlar alamazlar"
-
-#: lib/RT/CustomField_Overlay.pm:967
-msgid "Object type mismatch"
-msgstr "Nesne türü eşleşmiyor"
-
-#: lib/RT/Date.pm:450
-msgid "Oct."
-msgstr "Eki."
-
-#: html/Tools/Elements/Tabs:55
-msgid "Offline"
-msgstr "Çevrimdışı"
-
-#: html/Tools/Offline.html:49
-msgid "Offline edits"
-msgstr "Çevrimdışı düzenlemeler"
-
-#: html/Tools/Offline.html:46
-msgid "Offline upload"
-msgstr "Çevrimdışı yükleme"
-
-#: html/Elements/SelectDateRelation:56
-msgid "On"
-msgstr "Tarih:"
-
-#: lib/RT/Transaction_Overlay.pm:326
-#. ($self->CreatedAsString(), $self->CreatorObj->Name())
-msgid "On %1, %2 wrote:"
-msgstr "%1 tarihinde, %2 yazdı:"
-
-#: etc/initialdata:163
-msgid "On Comment"
-msgstr "Yorumda"
-
-#: etc/initialdata:156
-msgid "On Correspond"
-msgstr "Cevapta"
-
-#: etc/initialdata:145
-msgid "On Create"
-msgstr "OluÅŸturmada"
-
-#: etc/initialdata:184
-msgid "On Owner Change"
-msgstr "Sahiplik deÄŸiÅŸiminde"
-
-#: etc/initialdata:177 etc/upgrade/3.1.17/content:15
-msgid "On Priority Change"
-msgstr "Öncelik değişiminde"
-
-#: etc/initialdata:192
-msgid "On Queue Change"
-msgstr "Kuyruk deÄŸiÅŸiminde"
-
-#: etc/initialdata:198
-msgid "On Resolve"
-msgstr "Çözümde"
-
-#: etc/initialdata:169
-msgid "On Status Change"
-msgstr "Durum deÄŸiÅŸikliÄŸinde"
-
-#: etc/initialdata:150
-msgid "On Transaction"
-msgstr "Harekette"
-
-#: html/Approvals/Elements/PendingMyApproval:70
-#. ("<input size='15' value='".( $created_after->Unix >0 && $created_after->ISO)."' name='CreatedAfter' id='CreatedAfter' />")
-msgid "Only show approvals for requests created after %1"
-msgstr "Sadece %1 sonrası oluşturulmuş isteklere ait onayları göster"
-
-#: html/Approvals/Elements/PendingMyApproval:68
-#. ("<input size='15' value='".($created_before->Unix > 0 &&$created_before->ISO)."' name='CreatedBefore' id='CreatedBefore' />")
-msgid "Only show approvals for requests created before %1"
-msgstr "Sadece %1 öncesi oluşturulmuş isteklere ait onayları göster"
-
-#: html/Admin/CustomFields/index.html:75
-msgid "Only show custom fields for:"
-msgstr "Sadece şunun için özel alanları göster:"
-
-#: html/SelfService/index.html:46
-msgid "Open Tickets"
-msgstr "Biletleri Aç"
-
-#: html/Ticket/Elements/Tabs:160
-msgid "Open it"
-msgstr "Aç"
-
-#: html/SelfService/Elements/Tabs:75
-msgid "Open tickets"
-msgstr "Biletleri aç"
-
-#: etc/initialdata:140
-msgid "Open tickets on correspondence"
-msgstr "Cevap geldiğinde biletleri aç"
-
-#: html/Prefs/MyRT.html:70
-msgid "Options"
-msgstr "Seçenekler"
-
-#: html/Search/Elements/DisplayOptions:59
-msgid "Order by"
-msgstr "Sıralama:"
-
-#: html/Admin/Users/Modify.html:141 html/User/Prefs.html:129
-msgid "Organization"
-msgstr "Kurum"
-
-#: html/Approvals/Elements/Approve:53
-#. ($approving->Id, $approving->Subject)
-msgid "Originating ticket: #%1"
-msgstr "Kaynak alınan bilet: #%1"
-
-#: lib/RT/Transaction_Overlay.pm:622
-msgid "Outgoing email about a comment recorded"
-msgstr "Bir yorum hakkındaki giden eposta kaydedildi"
-
-#: lib/RT/Transaction_Overlay.pm:626
-msgid "Outgoing email recorded"
-msgstr "Giden eposta kaydedildi"
-
-#: html/Admin/Queues/Modify.html:90
-msgid "Over time, priority moves toward"
-msgstr "Zaman içinde, öncelik ilerler"
-
-#: lib/RT/Queue_Overlay.pm:112
-msgid "Own tickets"
-msgstr "Biletleri sahiplen"
-
-#: lib/RT/Queue_Overlay.pm:112
-msgid "OwnTicket"
-msgstr "BiletleriSahiplen"
-
-#: etc/initialdata:38 html/Elements/QuickCreate:56 html/Search/Elements/PickBasics:101 html/Ticket/Create.html:72 html/Ticket/Elements/EditBasics:61 html/Ticket/Elements/EditPeople:64 html/Ticket/Elements/EditPeople:65 html/Ticket/Elements/Reminders:129 html/Ticket/Elements/ShowPeople:48 html/Ticket/Update.html:62 lib/RT/ACE_Overlay.pm:110 lib/RT/Tickets_Overlay.pm:2006
-msgid "Owner"
-msgstr "Sahip"
-
-#: lib/RT/Ticket_Overlay.pm:505
-msgid "Owner could not be set."
-msgstr "Sahip atanamıyor"
-
-#: lib/RT/Transaction_Overlay.pm:672
-#. ($Old->Name , $New->Name)
-msgid "Owner forcibly changed from %1 to %2"
-msgstr "Sahip, zorla %1 den %2 ye deÄŸiÅŸtirildi"
-
-#: html/Elements/TicketList:78
-#. ($Page, int($TotalFound/$Rows)+$oddRows)
-msgid "Page %1 of %2"
-msgstr "Sayfa %1/%2"
-
-#: html/Admin/Users/Modify.html:198 html/User/Prefs.html:96
-msgid "Pager"
-msgstr "Sayfalayıcı"
-
-#: html/Elements/EditLinks:144 html/Elements/EditLinks:76 html/Elements/ShowLinks:68 html/Ticket/Create.html:222 html/Ticket/Elements/BulkLinks:60
-msgid "Parents"
-msgstr "Ana bölüm"
-
-#: html/Elements/Login:95 html/User/Prefs.html:105
-msgid "Password"
-msgstr "Parola"
-
-#: html/NoAuth/Reminder.html:46
-msgid "Password Reminder"
-msgstr "Parola Hatırlatıcı"
-
-#: lib/RT/Transaction_Overlay.pm:781 lib/RT/User_Overlay.pm:1045
-msgid "Password changed"
-msgstr "Parola deÄŸiÅŸti"
-
-#: lib/RT/User_Overlay.pm:1037 lib/RT/User_Overlay.pm:214
-#. ($RT::MinimumPasswordLength)
-msgid "Password needs to be at least %1 characters long"
-msgstr "Parola en az %1 karakter uzunluğunda olmalı"
-
-#: lib/RT/User_Overlay.pm:1044
-msgid "Password set"
-msgstr "Parola atandı"
-
-#: html/User/Prefs.html:240
-#. (loc_fuzzy($msg))
-msgid "Password: %1"
-msgstr "Parola: %1"
-
-#: lib/RT/User_Overlay.pm:1030
-msgid "Password: Permission Denied"
-msgstr "Parola: Ä°zin Reddedildi"
-
-#: html/Admin/Users/Modify.html:364
-msgid "Passwords do not match."
-msgstr "Parolalar eÅŸleÅŸmiyor"
-
-#: html/User/Prefs.html:242
-msgid "Passwords do not match. Your password has not been changed"
-msgstr "Parolalar eşleşmiyor. Parolanız değişmedi"
-
-#: html/Ticket/Elements/ShowSummary:62 html/Ticket/Elements/Tabs:119 html/Ticket/ModifyAll.html:72
-msgid "People"
-msgstr "KiÅŸiler"
-
-#: etc/initialdata:133
-msgid "Perform a user-defined action"
-msgstr "Kullanıcı tanımlı bir eylemi yerine getir"
-
-#: html/Admin/Tools/Configuration.html:94
-msgid "Perl configuration"
-msgstr "Perl ayarları"
-
-#: lib/RT/ACE_Overlay.pm:251 lib/RT/ACE_Overlay.pm:257 lib/RT/ACE_Overlay.pm:580 lib/RT/ACE_Overlay.pm:590 lib/RT/ACE_Overlay.pm:600 lib/RT/ACE_Overlay.pm:665 lib/RT/Attribute_Overlay.pm:158 lib/RT/Attribute_Overlay.pm:164 lib/RT/Attribute_Overlay.pm:405 lib/RT/Attribute_Overlay.pm:414 lib/RT/Attribute_Overlay.pm:427 lib/RT/CurrentUser.pm:116 lib/RT/CurrentUser.pm:125 lib/RT/CustomField_Overlay.pm:1017 lib/RT/CustomField_Overlay.pm:1138 lib/RT/CustomField_Overlay.pm:1281 lib/RT/CustomField_Overlay.pm:172 lib/RT/CustomField_Overlay.pm:189 lib/RT/CustomField_Overlay.pm:200 lib/RT/CustomField_Overlay.pm:374 lib/RT/CustomField_Overlay.pm:403 lib/RT/CustomField_Overlay.pm:763 lib/RT/CustomField_Overlay.pm:936 lib/RT/CustomField_Overlay.pm:971 lib/RT/Group_Overlay.pm:1117 lib/RT/Group_Overlay.pm:1121 lib/RT/Group_Overlay.pm:1130 lib/RT/Group_Overlay.pm:1240 lib/RT/Group_Overlay.pm:1244 lib/RT/Group_Overlay.pm:1250 lib/RT/Group_Overlay.pm:445 lib/RT/Group_Overlay.pm:542 lib/RT/Group_Overlay.pm:620 lib/RT/Group_Overlay.pm:628 lib/RT/Group_Overlay.pm:726 lib/RT/Group_Overlay.pm:730 lib/RT/Group_Overlay.pm:736 lib/RT/Group_Overlay.pm:922 lib/RT/Group_Overlay.pm:926 lib/RT/Group_Overlay.pm:939 lib/RT/Queue_Overlay.pm:1054 lib/RT/Queue_Overlay.pm:140 lib/RT/Queue_Overlay.pm:158 lib/RT/Queue_Overlay.pm:657 lib/RT/Queue_Overlay.pm:667 lib/RT/Queue_Overlay.pm:681 lib/RT/Queue_Overlay.pm:819 lib/RT/Queue_Overlay.pm:828 lib/RT/Queue_Overlay.pm:841 lib/RT/Scrip_Overlay.pm:149 lib/RT/Scrip_Overlay.pm:160 lib/RT/Scrip_Overlay.pm:224 lib/RT/Scrip_Overlay.pm:538 lib/RT/Template_Overlay.pm:108 lib/RT/Template_Overlay.pm:277 lib/RT/Ticket_Overlay.pm:1357 lib/RT/Ticket_Overlay.pm:1367 lib/RT/Ticket_Overlay.pm:1381 lib/RT/Ticket_Overlay.pm:1522 lib/RT/Ticket_Overlay.pm:1532 lib/RT/Ticket_Overlay.pm:1546 lib/RT/Ticket_Overlay.pm:1663 lib/RT/Ticket_Overlay.pm:1983 lib/RT/Ticket_Overlay.pm:2126 lib/RT/Ticket_Overlay.pm:2296 lib/RT/Ticket_Overlay.pm:2346 lib/RT/Ticket_Overlay.pm:2525 lib/RT/Ticket_Overlay.pm:2538 lib/RT/Ticket_Overlay.pm:2614 lib/RT/Ticket_Overlay.pm:2627 lib/RT/Ticket_Overlay.pm:2748 lib/RT/Ticket_Overlay.pm:2762 lib/RT/Ticket_Overlay.pm:2990 lib/RT/Ticket_Overlay.pm:3000 lib/RT/Ticket_Overlay.pm:3005 lib/RT/Ticket_Overlay.pm:3224 lib/RT/Ticket_Overlay.pm:3228 lib/RT/Ticket_Overlay.pm:3371 lib/RT/Ticket_Overlay.pm:3497 lib/RT/Transaction_Overlay.pm:516 lib/RT/Transaction_Overlay.pm:523 lib/RT/Transaction_Overlay.pm:551 lib/RT/Transaction_Overlay.pm:558 lib/RT/User_Overlay.pm:1176 lib/RT/User_Overlay.pm:1856 lib/RT/User_Overlay.pm:369 lib/RT/User_Overlay.pm:735 lib/RT/User_Overlay.pm:774
-msgid "Permission Denied"
-msgstr "Pääsy kielletty"
-
-#: lib/RT/Template_Overlay.pm:238 lib/RT/Template_Overlay.pm:247
-msgid "Permission denied"
-msgstr "Ä°zin Reddedildi"
-
-#: lib/RT/Template_Overlay.pm:372
-msgid "Permissions denied"
-msgstr "Ä°zin Reddedildi"
-
-#: html/User/Elements/Tabs:56
-msgid "Personal Groups"
-msgstr "KiÅŸisel gruplar"
-
-#: html/User/Groups/index.html:51 html/User/Groups/index.html:61
-msgid "Personal groups"
-msgstr "KiÅŸisel gruplar"
-
-#: html/User/Elements/DelegateRights:58
-msgid "Personal groups:"
-msgstr "KiÅŸisel gruplar:"
-
-#: html/Admin/Users/Modify.html:180 html/User/Prefs.html:81
-msgid "Phone numbers"
-msgstr "Telefon numaraları"
-
-#: html/Elements/Header:93 html/Elements/Tabs:91 html/SelfService/Elements/Tabs:95 html/SelfService/Prefs.html:46 html/User/Prefs.html:46 html/User/Prefs.html:49
-msgid "Preferences"
-msgstr "Tercihler"
-
-#: html/Admin/Users/MyRT.html:75
-#. ($pane, $UserObj->Name)
-msgid "Preferences %1 for user %2 ."
-msgstr "%2 kullanıcısı için %1 tercihleri"
-
-#: html/Prefs/MyRT.html:141
-#. ($pane)
-msgid "Preferences saved for %1."
-msgstr "%1 için tercihler kaydedildi"
-
-#: lib/RT/Action/Generic.pm:195
-msgid "Prepare Stubbed"
-msgstr "Küt hazırla"
-
-#: html/Helpers/CalPopup.html:56 html/Ticket/Elements/Tabs:84
-msgid "Prev"
-msgstr "Önceki"
-
-#: html/Elements/TicketList:101
-msgid "Previous Page"
-msgstr "Önceki sayfa"
-
-#: lib/RT/ACE_Overlay.pm:157 lib/RT/ACE_Overlay.pm:239 lib/RT/ACE_Overlay.pm:569
-#. ($args{'PrincipalId'})
-msgid "Principal %1 not found."
-msgstr "%1 yetkilisi bulunamadı"
-
-#: html/Search/Elements/PickBasics:147 html/Ticket/Create.html:181 html/Ticket/Elements/EditBasics:92 html/Ticket/Elements/ShowBasics:72 lib/RT/Tickets_Overlay.pm:1790
-msgid "Priority"
-msgstr "Öncelik"
-
-#: html/Admin/Queues/Modify.html:86
-msgid "Priority starts at"
-msgstr "Öncelik başlangıcı:"
-
-#: html/Search/Elements/EditSearches:50
-msgid "Privacy:"
-msgstr "Gizlilik:"
-
-#: etc/initialdata:25
-msgid "Privileged"
-msgstr "Ayrıcalıklı"
-
-#: html/Admin/Users/Modify.html:342 html/User/Prefs.html:231
-#. (loc_fuzzy($msg))
-msgid "Privileged status: %1"
-msgstr "Ayrıcalık durumu: &1"
-
-#: html/Admin/Users/index.html:102
-msgid "Privileged users"
-msgstr "Ayrıcalıklı kullanıcılar"
-
-#: etc/initialdata:23 etc/initialdata:29 etc/initialdata:35 etc/initialdata:59
-msgid "Pseudogroup for internal use"
-msgstr "İç kullanım için sahte grup"
-
-#: html/Search/Build.html:121
-msgid "Query Builder"
-msgstr "Sorgu OluÅŸturucu"
-
-#: html/Search/Elements/Chart:101
-msgid "Query:"
-msgstr "Sorgu:"
-
-#: html/Elements/QueueSummary:48 html/Elements/QuickCreate:54 html/Search/Elements/PickBasics:71 html/SelfService/Create.html:54 html/Ticket/Create.html:62 html/Ticket/Elements/EditBasics:57 html/Ticket/Elements/ShowBasics:76 html/Tools/Reports/CreatedByDates.html:85 html/Tools/Reports/ResolvedByDates.html:86 html/Tools/Reports/ResolvedByOwner.html:66 html/User/Elements/DelegateRights:101 lib/RT/Tickets_Overlay.pm:1617
-msgid "Queue"
-msgstr "Kuyruk"
-
-#: html/Admin/Queues/CustomField.html:63 html/Admin/Queues/Scrip.html:61 html/Admin/Queues/Scrips.html:69 html/Admin/Queues/Templates.html:65
-#. ($Queue)
-#. ($id)
-msgid "Queue %1 not found"
-msgstr "%1 kuyruğu bulunamadı"
-
-#: html/Admin/Queues/Modify.html:64
-msgid "Queue Name"
-msgstr "Kuyruk adı"
-
-#: lib/RT/Queue_Overlay.pm:365
-msgid "Queue already exists"
-msgstr "Kuyruk halihazırda mevcut"
-
-#: lib/RT/Queue_Overlay.pm:374 lib/RT/Queue_Overlay.pm:380
-msgid "Queue could not be created"
-msgstr "Kuyruk oluşturulamıyor"
-
-#: html/Ticket/Create.html:244 lib/t/regression/01ticket_link_searching.t:17
-msgid "Queue could not be loaded."
-msgstr "Kuyruk yüklenemiyor."
-
-#: docs/design_docs/string-extraction-guide.txt:83 lib/RT/Queue_Overlay.pm:384 lib/RT/StyleGuide.pod:809
-msgid "Queue created"
-msgstr "Kuyruk oluÅŸturuldu"
-
-#: html/SelfService/Display.html:126 lib/RT/CustomField_Overlay.pm:197
-msgid "Queue not found"
-msgstr "Kuyruk bulunamadı"
-
-#: html/Admin/Elements/Tabs:59 html/Admin/index.html:72
-msgid "Queues"
-msgstr "Kuyruklar"
-
-#: html/Elements/MyAdminQueues:46
-msgid "Queues I administer"
-msgstr "Yönettiğim kuyruklar"
-
-#: html/Elements/MySupportQueues:46
-msgid "Queues I'm an AdminCc for"
-msgstr "Yönetici Kk olduğum kuyruklar"
-
-#: html/Elements/Quicksearch:47 html/Prefs/Elements/Tabs:58 html/Prefs/Quicksearch.html:70
-msgid "Quick search"
-msgstr "Hızlı arama"
-
-#: html/Elements/QuickCreate:47
-msgid "Quick ticket creation"
-msgstr "Hızlı bilet oluşturumu"
-
-#: html/Search/Results.html:81
-msgid "RSS"
-msgstr ""
-
-#: docs/design_docs/string-extraction-guide.txt:70 lib/RT/StyleGuide.pod:796
-#. ($RT::VERSION, $RT::rtname)
-msgid "RT %1 for %2"
-msgstr "RT %1 - %2"
-
-#: html/Admin/index.html:46 html/Admin/index.html:47
-msgid "RT Administration"
-msgstr "RT Yönetimi"
-
-#: html/Elements/Error:63 html/SelfService/Error.html:62
-msgid "RT Error"
-msgstr "RT Hatası"
-
-#: html/Admin/Tools/Configuration.html:73
-msgid "RT Variables"
-msgstr "RT DeÄŸiÅŸkenleri"
-
-#: html/Admin/Elements/SystemTabs:71 html/Admin/Elements/UserTabs:67 html/Admin/Global/MyRT.html:1 html/Admin/Global/MyRT.html:12 html/Admin/Global/MyRT.html:4 html/Admin/Global/index.html:84 html/Admin/Users/MyRT.html:21 html/Prefs/MyRT.html:66 html/Prefs/MyRT.html:78 html/User/Elements/Tabs:65 html/index.html:1 html/index.html:75
-msgid "RT at a glance"
-msgstr "Bir bakışta RT"
-
-#: html/Admin/Users/MyRT.html:30
-#. ($UserObj->Name)
-msgid "RT at a glance for the user %1"
-msgstr "%1 kullanıcısı için bir bakışta RT"
-
-#: html/Admin/CustomFields/Modify.html:117
-msgid "RT can include content from another web service when showing this custom field."
-msgstr "RT, bu özel alanı gösterirken, diğerbir ağ hizmetinden içerik ekleyebilir"
-
-#: html/Admin/CustomFields/Modify.html:106
-msgid "RT can make this custom field's values into hyperlinks to another service."
-msgstr "RT, bu özel alanın değerlerini, diğer bir hizmetin hiperbağlantılarına dönüştürebilir."
-
-#: html/Elements/SetupSessionCookie:100
-msgid "RT couldn't store your session."
-msgstr "RT, oturumunuzu kaydedemiyor."
-
-#: html/Elements/Logo:49 html/Elements/PageLayout:172
-#. ($RT::rtname)
-msgid "RT for %1"
-msgstr "%1: RT"
-
-#: html/Search/Simple.html:58
-msgid "RT will look for anything else you enter in ticket subjects."
-msgstr "RT, bilet başlıklarına gireceğiniz herhangi bir şeyi araştıracaktır."
-
-#: html/Admin/CustomFields/Modify.html:108 html/Admin/CustomFields/Modify.html:119
-msgid "RT will replace <tt>__id__</tt> and <tt>__CustomField__</tt> with the record id and custom field value, respectively"
-msgstr "RT, <tt>__id__</tt> ve <tt>__CustomField__</tt> değerlerini, kayıt numarası ve özel alan değeri ile değiştirecektir"
-
-#: html/Admin/Users/Modify.html:79 html/User/Prefs.html:69
-msgid "Real Name"
-msgstr "Gerçek Ad"
-
-#: lib/RT/Transaction_Overlay.pm:725
-#. ($value)
-msgid "Reference by %1 added"
-msgstr "%1 ile baÅŸvuru eklendi"
-
-#: lib/RT/Transaction_Overlay.pm:765
-#. ($value)
-msgid "Reference by %1 deleted"
-msgstr "%1 ile baÅŸvuru silindi"
-
-#: lib/RT/Transaction_Overlay.pm:722
-#. ($value)
-msgid "Reference to %1 added"
-msgstr "%1 için başvuru eklendi"
-
-#: lib/RT/Transaction_Overlay.pm:762
-#. ($value)
-msgid "Reference to %1 deleted"
-msgstr "%1 için başvuru silindi"
-
-#: html/Elements/EditLinks:103 html/Elements/EditLinks:156 html/Elements/ShowLinks:92 html/Ticket/Create.html:225 html/Ticket/Elements/BulkLinks:72
-msgid "Referred to by"
-msgstr "Kaynak gösteren:"
-
-#: html/Elements/EditLinks:152 html/Elements/EditLinks:94 html/Elements/SelectLinkType:49 html/Elements/ShowLinks:82 html/Ticket/Create.html:224 html/Ticket/Elements/BulkLinks:68
-msgid "Refers to"
-msgstr "Kaynak gösterdiği:"
-
-#: html/Elements/Refresh:57
-#. ($value/60)
-msgid "Refresh this page every %1 minutes."
-msgstr "Bu sayfayı, her %1 dakikada bir yenile"
-
-#: lib/RT/Transaction_Overlay.pm:811
-#. ($ticket->Subject)
-msgid "Reminder '%1' added"
-msgstr "'%1' hatırlatıcısı eklendi"
-
-#: lib/RT/Transaction_Overlay.pm:824
-#. ($ticket->Subject)
-msgid "Reminder '%1' completed"
-msgstr "'%1' hatırlatıcısı tamamlandı"
-
-#: lib/RT/Transaction_Overlay.pm:817
-#. ($ticket->Subject)
-msgid "Reminder '%1' reopened"
-msgstr "'%1' hatırlatıcısı tekrar açıldı"
-
-#: html/Ticket/Reminders.html:46
-#. ($Ticket->Id)
-msgid "Reminder ticket #%1"
-msgstr "Hatırlatıcı bilet #%1"
-
-#: html/Elements/MyReminders:48 html/Ticket/Elements/ShowSummary:75 html/Ticket/Elements/Tabs:122 html/Ticket/Reminders.html:52
-msgid "Reminders"
-msgstr "Hatırlatıcılar"
-
-#: html/Ticket/Reminders.html:50
-#. ($Ticket->Id)
-msgid "Reminders for ticket #%1"
-msgstr "#%1 bileti için hatırlatıcılar"
-
-#: html/Search/Bulk.html:94
-msgid "Remove AdminCc"
-msgstr "Yönetici Kk Kaldır"
-
-#: html/Search/Bulk.html:90
-msgid "Remove Cc"
-msgstr "Kk kaldır"
-
-#: html/Search/Bulk.html:86
-msgid "Remove Requestor"
-msgstr "İstekçi kaldır"
-
-#: html/Ticket/Elements/ShowTransaction:179 html/Ticket/Elements/Tabs:147
-msgid "Reply"
-msgstr "Yanıtla"
-
-#: html/Admin/Queues/Modify.html:72
-msgid "Reply Address"
-msgstr "Yanıtlama Adresi"
-
-#: html/Search/Bulk.html:129 html/Ticket/ModifyAll.html:94 html/Ticket/Update.html:78
-msgid "Reply to requestors"
-msgstr "İstekçileri Yanıtla"
-
-#: lib/RT/Queue_Overlay.pm:110
-msgid "Reply to tickets"
-msgstr "Biletleri Yanıtla"
-
-#: lib/RT/Queue_Overlay.pm:110
-msgid "ReplyToTicket"
-msgstr "BiletiYanıtla"
-
-#: html/Tools/Elements/Tabs:59 html/Tools/Reports/index.html:46 html/Tools/Reports/index.html:47
-msgid "Reports"
-msgstr "Raporlar"
-
-#: etc/initialdata:44 lib/RT/ACE_Overlay.pm:111
-msgid "Requestor"
-msgstr "İstekçi"
-
-#: html/SelfService/Create.html:63 html/Ticket/Create.html:80 html/Ticket/Elements/EditPeople:69 html/Ticket/Elements/ShowPeople:52
-msgid "Requestors"
-msgstr "İstekçiler"
-
-#: html/Admin/Queues/Modify.html:96
-msgid "Requests should be due in"
-msgstr "İsteklerin yapılacağı zaman:"
-
-#: lib/RT/Attribute_Overlay.pm:146
-#. ('Object')
-msgid "Required parameter '%1' not specified"
-msgstr "Gerekli parametre '%1' belirtilmedi"
-
-#: html/Elements/Submit:83
-msgid "Reset"
-msgstr "Sıfırla"
-
-#: html/Admin/Users/MyRT.html:15 html/Prefs/MyRT.html:60
-msgid "Reset to default"
-msgstr "Varsayılana sıfırla"
-
-#: html/Admin/Users/Modify.html:183 html/User/Prefs.html:84
-msgid "Residence"
-msgstr "Hane"
-
-#: html/Ticket/Elements/Tabs:156
-msgid "Resolve"
-msgstr "Çöz"
-
-#: html/Ticket/Update.html:156
-#. ($TicketObj->id, $TicketObj->Subject)
-msgid "Resolve ticket #%1 (%2)"
-msgstr "#%1 biletini çözümle (%2)"
-
-#: etc/initialdata:323 html/Elements/SelectDateType:49 lib/RT/Ticket_Overlay.pm:1172
-msgid "Resolved"
-msgstr "Çözüldü"
-
-#: html/Tools/Reports/Elements/Tabs:55
-msgid "Resolved by owner"
-msgstr "Sahip tarafından çözüldü"
-
-#: html/Tools/Reports/Elements/Tabs:59
-msgid "Resolved in date range"
-msgstr "Zaman aralığında çözüldü"
-
-#: html/Tools/Reports/ResolvedByDates.html:52
-msgid "Resolved tickets in period, grouped by owner"
-msgstr "Dönemdeki çözülmüş biletler (sahip ile gruplandırılmış)"
-
-#: html/Tools/Reports/ResolvedByOwner.html:50
-msgid "Resolved tickets, grouped by owner"
-msgstr "Çözülmüş biletler (sahip ile gruplandırılmış)"
-
-#: html/Elements/ListActions:46 html/Search/Elements/NewListActions:47
-msgid "Results"
-msgstr "Sonuçlar"
-
-#: html/Admin/Users/Modify.html:126 html/User/Prefs.html:116
-msgid "Retype Password"
-msgstr "Parolayı tekrar yazın"
-
-#: html/Search/Elements/EditSearches:61
-msgid "Revert"
-msgstr "Eskiye dön"
-
-#: lib/RT/ACE_Overlay.pm:630
-msgid "Right Delegated"
-msgstr "Yetki Aktarıldı"
-
-#: lib/RT/ACE_Overlay.pm:320
-msgid "Right Granted"
-msgstr "Yetki Verildi"
-
-#: lib/RT/ACE_Overlay.pm:178
-msgid "Right Loaded"
-msgstr "Yetki Yüklendi"
-
-#: lib/RT/ACE_Overlay.pm:695 lib/RT/ACE_Overlay.pm:716
-msgid "Right could not be revoked"
-msgstr "Yetki geri alınamıyor"
-
-#: html/User/Delegation.html:85
-msgid "Right not found"
-msgstr "Yetki bulunamadı"
-
-#: lib/RT/ACE_Overlay.pm:560 lib/RT/ACE_Overlay.pm:655
-msgid "Right not loaded."
-msgstr "Yetki yüklenemedi"
-
-#: lib/RT/ACE_Overlay.pm:712
-msgid "Right revoked"
-msgstr "Yetki geri alındı"
-
-#: html/Admin/Elements/UserTabs:70
-msgid "Rights"
-msgstr "Yetkiler"
-
-#: html/Admin/CustomFields/GroupRights.html:129 lib/RT/Interface/Web.pm:961
-#. ($object_type)
-msgid "Rights could not be granted for %1"
-msgstr "Yetkiler %1 için verilemiyor"
-
-#: html/Admin/CustomFields/GroupRights.html:156 lib/RT/Interface/Web.pm:990
-#. ($object_type)
-msgid "Rights could not be revoked for %1"
-msgstr "Yetkiler %1 için geri alınamıyor"
-
-#: html/Admin/Global/GroupRights.html:72 html/Admin/Queues/GroupRights.html:74
-msgid "Roles"
-msgstr "Roller"
-
-#: html/Prefs/MyRT.html:72
-msgid "Rows per box"
-msgstr "Kutu başına satır"
-
-#: html/Search/Elements/DisplayOptions:93
-msgid "Rows per page"
-msgstr "Sayfa başına satır"
-
-#: lib/RT/Date.pm:422
-msgid "Sat."
-msgstr "Cmt."
-
-#: html/Prefs/MyRT.html:72 html/Prefs/Quicksearch.html:64 html/Prefs/Search.html:69 html/Prefs/Search.html:69 html/Search/Elements/EditSearches:70 html/Widgets/SelectionBox:211
-msgid "Save"
-msgstr "Kaydet"
-
-#: html/Admin/Global/Template.html:67 html/Admin/Groups/Modify.html:88 html/Admin/Queues/Modify.html:111 html/Admin/Queues/People.html:126 html/Admin/Users/Modify.html:239 html/Prefs/Quicksearch.html:64 html/Prefs/SearchOptions.html:63 html/SelfService/Prefs.html:58 html/Ticket/Modify.html:60 html/Ticket/ModifyAll.html:127 html/Ticket/ModifyDates.html:60 html/Ticket/ModifyLinks.html:61 html/Ticket/ModifyPeople.html:60 html/User/Groups/Modify.html:77
-msgid "Save Changes"
-msgstr "DeÄŸiÅŸiklikleri Kaydet"
-
-#: html/User/Prefs.html:181
-msgid "Save Preferences"
-msgstr "Tercihleri Kaydet"
-
-#: html/Ticket/Elements/PreviewScrips:131
-msgid "Save changes"
-msgstr "DeÄŸiÅŸiklikleri kaydet"
-
-#: lib/RT/SavedSearch.pm:173
-#. ($name)
-msgid "Saved search %1"
-msgstr "KaydedilmiÅŸ arama %1"
-
-#: html/Admin/Elements/ListGlobalScrips:60 html/Admin/Global/Scrip.html:77 html/Admin/Queues/Scrip.html:84
-#. ($scrip->Id)
-#. ($id)
-msgid "Scrip #%1"
-msgstr "Senet #%1"
-
-#: lib/RT/Scrip_Overlay.pm:203
-msgid "Scrip Created"
-msgstr "Senet oluÅŸturuldu"
-
-#: html/Admin/Elements/EditScrip:52
-msgid "Scrip Fields"
-msgstr "Senet alanları"
-
-#: html/Admin/Elements/EditScrips:109
-msgid "Scrip deleted"
-msgstr "Senet silindi"
-
-#: html/Admin/Elements/QueueTabs:67 html/Admin/Elements/SystemTabs:54 html/Admin/Global/index.html:62
-msgid "Scrips"
-msgstr "Senetler"
-
-#: html/Admin/Queues/Scrips.html:55
-msgid "Scrips which apply to all queues"
-msgstr "Bütün kuyruklara etki eden senetler"
-
-#: html/Elements/SimpleSearch:48 html/Search/Simple.html:63
-msgid "Search"
-msgstr "Arama"
-
-#: html/Prefs/SearchOptions.html:47 html/Prefs/SearchOptions.html:50
-msgid "Search Preferences"
-msgstr "Arama Tercihleri"
-
-#: lib/RT/SavedSearch.pm:115
-msgid "Search attribute load failure"
-msgstr "Arama özniteliği yükleme hatası"
-
-#: html/Approvals/Elements/PendingMyApproval:59
-msgid "Search for approvals"
-msgstr "Onayları ara"
-
-#: html/Search/Simple.html:67
-msgid "Search for tickets"
-msgstr "Biletleri ara"
-
-#: html/Search/Simple.html:55
-msgid "Search for tickets. Enter <strong>id</strong> numbers, <strong>queues</strong> by name, Owners by <strong>username</strong> and Requestors by <strong>email address</strong>. RT will look for anything else you enter in ticket bodies and attachments."
-msgstr "Biletleri ara. Bilet <strong>numarasını</strong>, <strong>Kuyrukları</strong> adı ile, Sahipleri <strong>kulanıcı adı</strong> ile ve İstekçileri <strong>eposta adresi</strong> ile girin. RT, girdiğiniz diğer şeyleri bilet gövdelerinde ve eklentilerde arayacaktır."
-
-#: html/User/Elements/Tabs:62
-msgid "Search options"
-msgstr "Arama tercihleri"
-
-#: html/Search/Chart.html:56
-#. ($PrimaryGroupBy)
-msgid "Search results grouped by %1"
-msgstr "Arama sonuçları %1 ile gruplandırılmıştır."
-
-#: lib/RT/SavedSearch.pm:203
-#. ($msg)
-msgid "Search update: %1"
-msgstr "Arama güncellemesi: %1"
-
-#: html/Search/Simple.html:57
-msgid "Searching the full text of every ticket can take a long time, but if you need to do it, you can search for any word in full ticket history for any word by typing <b>fulltext:<i>word</i></b>."
-msgstr "Her bir biletin tüm metninin aranması uzun sürebilir, ama eğer bunu yapmanız gerkiyorsa, <b>fulltext:<i>kelime</i></b> yazarak tüm bilet tarihçesindeki herhangi bir kelimeyi aratabilirsiniz."
-
-#: bin/rt-crontool:265
-msgid "Security:"
-msgstr "Güvenlik:"
-
-#: html/Elements/ShowCustomFields:98
-msgid "See also:"
-msgstr "Bakınız:"
-
-#: lib/RT/CustomField_Overlay.pm:105
-msgid "See custom fields"
-msgstr "Özel alanları gör"
-
-#: lib/RT/Queue_Overlay.pm:106
-msgid "See exact outgoing email messages and their recipeients"
-msgstr "Giden eposta iletilerinin tamamını ve alıcılarını gör"
-
-#: lib/RT/Queue_Overlay.pm:104
-msgid "See ticket private commentary"
-msgstr "Biletin gizli yorumlarını gör"
-
-#: lib/RT/Queue_Overlay.pm:103
-msgid "See ticket summaries"
-msgstr "Bilet özetlerini gör"
-
-#: lib/RT/CustomField_Overlay.pm:105
-msgid "SeeCustomField"
-msgstr "ÖzelAlanıGör"
-
-#: lib/RT/Group_Overlay.pm:169
-msgid "SeeGroup"
-msgstr "GrubuGör"
-
-#: lib/RT/Queue_Overlay.pm:91
-msgid "SeeQueue"
-msgstr "KuyruğuGör"
-
-#: html/Admin/CustomFields/index.html:46 html/Admin/CustomFields/index.html:49
-msgid "Select a Custom Field"
-msgstr "Özel bir alanı seç"
-
-#: html/Admin/Groups/index.html:78
-msgid "Select a group"
-msgstr "Bir grubu seç"
-
-#: html/Admin/Queues/index.html:54
-msgid "Select a queue"
-msgstr "Bir kuyruğu seç"
-
-#: html/SelfService/CreateTicketInQueue.html:48
-msgid "Select a queue for your new ticket"
-msgstr "Yeni biletiniz için bir kuyruk seçin"
-
-#: html/Admin/Users/index.html:46 html/Admin/Users/index.html:49 html/Admin/Users/index.html:52
-msgid "Select a user"
-msgstr "Bir kullanıcı seçin"
-
-#: html/Admin/Elements/CustomFieldTabs:90
-msgid "Select custom field"
-msgstr "Özel alan seçin"
-
-#: html/Admin/Global/CustomFields/index.html:70
-msgid "Select custom fields for all user groups"
-msgstr "Bütün kullanıcı grupları için özel alanları seçin"
-
-#: html/Admin/Global/CustomFields/index.html:65
-msgid "Select custom fields for all users"
-msgstr "Bütün kullanıcılar için özel alanları seçin"
-
-#: html/Admin/Global/CustomFields/index.html:76
-msgid "Select custom fields for tickets in all queues"
-msgstr "Bütün kuyruklardaki biletler için özel alanlar seç"
-
-#: html/Admin/Global/CustomFields/index.html:83
-msgid "Select custom fields for transactions on tickets in all queues"
-msgstr "Bütün kuyruklardaki biletlerin hareketleri için özel alanlar seçin"
-
-#: html/Admin/Elements/GroupTabs:75 html/User/Elements/GroupTabs:71
-msgid "Select group"
-msgstr "Grup seçin"
-
-#: lib/RT/CustomField_Overlay.pm:59
-msgid "Select multiple values"
-msgstr "Çoklu değer seçin"
-
-#: lib/RT/CustomField_Overlay.pm:60
-msgid "Select one value"
-msgstr "Bir değer seçin"
-
-#: html/Admin/Elements/QueueTabs:92
-msgid "Select queue"
-msgstr "Kuyruk seçin"
-
-#: html/Prefs/Quicksearch.html:53
-msgid "Select queues to be displayed on the \"RT at a glance\" page"
-msgstr "\"Bir bakışta RT\" sayfasında görüntülenecek kuyrukları seçin"
-
-#: html/Admin/Global/Scrip.html:59 html/Admin/Global/Scrips.html:57 html/Admin/Queues/Scrip.html:67 html/Admin/Queues/Scrips.html:73
-msgid "Select scrip"
-msgstr "Senet seçin"
-
-#: html/Admin/Global/Template.html:78 html/Admin/Global/Templates.html:57 html/Admin/Queues/Template.html:76 html/Admin/Queues/Templates.html:68
-msgid "Select template"
-msgstr "Şablon seçin"
-
-#: lib/RT/CustomField_Overlay.pm:61
-msgid "Select up to %1 values"
-msgstr "En çok %1 adet değer seçin"
-
-#: html/Admin/Elements/UserTabs:78
-msgid "Select user"
-msgstr "Kullanıcı seç"
-
-#: html/Admin/Elements/EditCustomFields:58
-msgid "Selected Custom Fields"
-msgstr "Seçili özel alanlar"
-
-#: html/Admin/CustomFields/Objects.html:59
-msgid "Selected objects"
-msgstr "Seçili nesneler"
-
-#: html/Widgets/SelectionBox:209
-msgid "Selections modified. Please save your changes"
-msgstr "Seçimler değişti. Lütfen değişikliklerinizi kaydedin"
-
-#: etc/initialdata:121
-msgid "Send mail to all watchers"
-msgstr "Tüm izleyicilere posta gönder"
-
-#: etc/initialdata:117
-msgid "Send mail to all watchers as a \"comment\""
-msgstr "Tüm izleyicilere \"yorum\" olarak posta gönder"
-
-#: etc/initialdata:112
-msgid "Send mail to requestors and Ccs"
-msgstr "İstekçilere ve Kk' lara posta gönder"
-
-#: etc/initialdata:107
-msgid "Send mail to requestors and Ccs as a comment"
-msgstr "İstekçilere ve Kk' lara yorum olarak posta gönder"
-
-#: etc/initialdata:78
-msgid "Sends a message to the requestors"
-msgstr "İstekçilere posta gönderir"
-
-#: etc/initialdata:125 etc/initialdata:129
-msgid "Sends mail to explicitly listed Ccs and Bccs"
-msgstr "Belirtilmiş Kk ve GKk listesine posta gönderir"
-
-#: etc/initialdata:94 etc/upgrade/3.1.17/content:7
-msgid "Sends mail to the Ccs"
-msgstr "Kk' lara posta gönderir"
-
-#: etc/initialdata:90 etc/upgrade/3.1.17/content:3
-msgid "Sends mail to the Ccs as a comment"
-msgstr "Kk' lara yorum olarak eposta gönderir"
-
-#: etc/initialdata:102
-msgid "Sends mail to the administrative Ccs"
-msgstr "Yönetimsel Kk' lara eposta gönderir"
-
-#: etc/initialdata:98
-msgid "Sends mail to the administrative Ccs as a comment"
-msgstr "Yönetimsel Kk' lara yorum olarak eposta gönderir"
-
-#: etc/initialdata:82 etc/initialdata:86
-msgid "Sends mail to the owner"
-msgstr "Sahibe posta gönderir"
-
-#: lib/RT/Date.pm:449
-msgid "Sep."
-msgstr "Eki."
-
-#: html/Ticket/Elements/ShowTransaction:158
-msgid "Show"
-msgstr "Göster"
-
-#: html/Approvals/index.html:52
-msgid "Show Approvals"
-msgstr "Onayları Göster"
-
-#: html/Search/Elements/EditFormat:56
-msgid "Show Columns"
-msgstr "Sütunları göster"
-
-#: html/Ticket/Elements/Tabs:220
-msgid "Show Results"
-msgstr "Sonuçları Göster"
-
-#: html/Approvals/Elements/PendingMyApproval:64
-msgid "Show approved requests"
-msgstr "Onaylanmış istekleri göster"
-
-#: html/Ticket/Create.html:316
-msgid "Show basics"
-msgstr "Temelleri Göster"
-
-#: html/Approvals/Elements/PendingMyApproval:65
-msgid "Show denied requests"
-msgstr "Reddedilmiş istekleri göster"
-
-#: html/Ticket/Create.html:319
-msgid "Show details"
-msgstr "Ayrıntıları göster"
-
-#: html/Approvals/Elements/PendingMyApproval:63
-msgid "Show pending requests"
-msgstr "Bekleyen istekleri göster"
-
-#: html/Approvals/Elements/PendingMyApproval:66
-msgid "Show requests awaiting other approvals"
-msgstr "Diğer onayları bekleyen istekleri göster"
-
-#: lib/RT/Queue_Overlay.pm:93
-msgid "ShowACL"
-msgstr ""
-
-#: lib/RT/System.pm:85
-msgid "ShowConfigTab"
-msgstr ""
-
-#: lib/RT/Queue_Overlay.pm:106
-msgid "ShowOutgoingEmail"
-msgstr ""
-
-#: lib/RT/Group_Overlay.pm:168
-msgid "ShowSavedSearches"
-msgstr ""
-
-#: lib/RT/Queue_Overlay.pm:102
-msgid "ShowScrips"
-msgstr ""
-
-#: lib/RT/Queue_Overlay.pm:99
-msgid "ShowTemplate"
-msgstr ""
-
-#: lib/RT/Queue_Overlay.pm:103
-msgid "ShowTicket"
-msgstr ""
-
-#: lib/RT/Queue_Overlay.pm:104
-msgid "ShowTicketComments"
-msgstr ""
-
-#: lib/RT/Queue_Overlay.pm:107
-msgid "Sign up as a ticket Requestor or ticket or queue Cc"
-msgstr "Bilet istekçisi veya bilet veya kuyruk Kk olarak yazılın"
-
-#: lib/RT/Queue_Overlay.pm:108
-msgid "Sign up as a ticket or queue AdminCc"
-msgstr "Bilet veya kuyruk Kk olarak yazılın"
-
-#: html/Admin/Users/Modify.html:230 html/User/Prefs.html:168
-msgid "Signature"
-msgstr "Ä°mza"
-
-#: html/Elements/Tabs:68
-msgid "Simple Search"
-msgstr "Basit Arama"
-
-#: html/Admin/Elements/SelectSingleOrMultiple:47
-msgid "Single"
-msgstr "Tekil"
-
-#: html/Search/Elements/EditFormat:75
-msgid "Size"
-msgstr "Boyut"
-
-#: html/Elements/Header:89
-msgid "Skip Menu"
-msgstr "Menüyü Geç"
-
-#: html/Search/Elements/EditFormat:78
-msgid "Small"
-msgstr "Küçük"
-
-#: html/Admin/CustomFields/Modify.html:120
-msgid "Some browsers may only load content from the same domain as your RT server."
-msgstr "Bazı gezginler, sadece aynı alan adından (RT sunucunuz gibi) içerik yükleyebilirler."
-
-#: html/Admin/Elements/AddCustomFieldValue:49 html/Admin/Elements/EditCustomFieldValues:54
-msgid "Sort"
-msgstr "Sırala"
-
-#: html/Admin/Elements/EditScrip:78
-msgid "Stage"
-msgstr "AÅŸama"
-
-#: html/Elements/SelectDateType:48 html/Ticket/Elements/EditDates:53 html/Ticket/Elements/ShowDates:56
-msgid "Started"
-msgstr "Başlangıcı"
-
-#: html/Elements/SelectDateType:52 html/Ticket/Create.html:208 html/Ticket/Elements/EditDates:48 html/Ticket/Elements/ShowDates:52
-msgid "Starts"
-msgstr "BaÅŸlayacak"
-
-#: html/Admin/Users/Modify.html:162 html/User/Prefs.html:145
-msgid "State"
-msgstr "Durum"
-
-#: html/Search/Elements/PickBasics:87 html/SelfService/Update.html:57 html/Ticket/Create.html:66 html/Ticket/Elements/EditBasics:53 html/Ticket/Elements/ShowBasics:52 html/Ticket/Update.html:59 lib/RT/Ticket_Overlay.pm:1166 lib/RT/Tickets_Overlay.pm:1651
-msgid "Status"
-msgstr "Durum"
-
-#: etc/initialdata:309
-msgid "Status Change"
-msgstr "Durum DeÄŸiÅŸikliÄŸi"
-
-#: html/Ticket/Elements/Tabs:178
-msgid "Steal"
-msgstr "Çal"
-
-#: lib/RT/Queue_Overlay.pm:117
-msgid "Steal tickets"
-msgstr "Biletleri Çal"
-
-#: lib/RT/Queue_Overlay.pm:117
-msgid "StealTicket"
-msgstr ""
-
-#: lib/RT/Transaction_Overlay.pm:678
-#. ($Old->Name)
-msgid "Stolen from %1"
-msgstr "%1 den çalındı"
-
-#: html/Search/Elements/EditFormat:81
-msgid "Style"
-msgstr "Biçem"
-
-#: html/Elements/QuickCreate:52 html/Elements/SelectAttachmentField:47 html/Search/Bulk.html:132 html/SelfService/Create.html:79 html/SelfService/Update.html:65 html/Ticket/Create.html:108 html/Ticket/Elements/EditBasics:48 html/Ticket/Elements/Reminders:125 html/Ticket/ModifyAll.html:100 html/Ticket/Update.html:82 lib/RT/Ticket_Overlay.pm:1162 lib/RT/Tickets_Overlay.pm:1733
-msgid "Subject"
-msgstr "Konu"
-
-#: docs/design_docs/string-extraction-guide.txt:89 lib/RT/StyleGuide.pod:815 lib/RT/Transaction_Overlay.pm:700
-#. ($self->Data)
-msgid "Subject changed to %1"
-msgstr "Konu deÄŸiÅŸti: %1"
-
-#: html/Elements/Submit:75
-msgid "Submit"
-msgstr "Gönder"
-
-#: lib/RT/Group_Overlay.pm:774
-msgid "Succeeded"
-msgstr "Başarılı"
-
-#: lib/RT/Date.pm:423
-msgid "Sun."
-msgstr "Paz."
-
-#: lib/RT/System.pm:75
-msgid "SuperUser"
-msgstr ""
-
-#: html/User/Elements/DelegateRights:98
-msgid "System"
-msgstr "Sistem"
-
-#: html/Admin/Elements/ToolTabs:54 html/Admin/Tools/Configuration.html:48
-msgid "System Configuration"
-msgstr "Sistem Ayarları"
-
-#: html/Admin/CustomFields/GroupRights.html:128 html/Admin/CustomFields/GroupRights.html:155 html/Admin/CustomFields/UserRights.html:128 html/Admin/CustomFields/UserRights.html:98 html/Admin/Elements/SelectRights:106 lib/RT/ACE_Overlay.pm:584 lib/RT/Interface/Web.pm:960 lib/RT/Interface/Web.pm:989
-msgid "System Error"
-msgstr "Sistem Hatası"
-
-#: lib/RT/Transaction_Overlay.pm:224 lib/RT/Transaction_Overlay.pm:230
-#. ($msg)
-msgid "System Error: %1"
-msgstr "Sistem Hatası: %1"
-
-#: html/Admin/Tools/index.html:47
-msgid "System Tools"
-msgstr "Sistem Araçları"
-
-#: lib/RT/ACE_Overlay.pm:633
-msgid "System error. Right not delegated."
-msgstr "Sistem hatası. Yetki devredilemedi."
-
-#: lib/RT/ACE_Overlay.pm:163 lib/RT/ACE_Overlay.pm:228 lib/RT/ACE_Overlay.pm:323 lib/RT/ACE_Overlay.pm:920
-msgid "System error. Right not granted."
-msgstr "Sistem hatası. Yetki verilemedi."
-
-#: html/Admin/CustomFields/GroupRights.html:58 html/Admin/Global/GroupRights.html:56 html/Admin/Groups/GroupRights.html:58 html/Admin/Queues/GroupRights.html:57
-msgid "System groups"
-msgstr "Sistem grupları"
-
-#: etc/initialdata:41 etc/initialdata:47 etc/initialdata:53
-msgid "SystemRolegroup for internal use"
-msgstr "İç kullanım için SistemRolGrubu"
-
-#: lib/RT/CurrentUser.pm:357
-msgid "TEST_STRING"
-msgstr "DENEME_YAZISI"
-
-#: etc/initialdata:603 html/Search/Elements/EditFormat:72 html/Ticket/Elements/Tabs:170
-msgid "Take"
-msgstr "Al"
-
-#: lib/RT/Queue_Overlay.pm:115
-msgid "Take tickets"
-msgstr "Biletleri al"
-
-#: lib/RT/Queue_Overlay.pm:115
-msgid "TakeTicket"
-msgstr "BiletiAl"
-
-#: lib/RT/Transaction_Overlay.pm:663
-msgid "Taken"
-msgstr "Alındı"
-
-#: html/Admin/Elements/EditScrip:71 html/Tools/Offline.html:78
-msgid "Template"
-msgstr "Åžablon"
-
-#: html/Admin/Global/Template.html:112 html/Admin/Queues/Template.html:113
-#. ($TemplateObj->Id())
-msgid "Template #%1"
-msgstr "Åžablon #%1"
-
-#: html/Admin/Elements/EditTemplates:110
-msgid "Template deleted"
-msgstr "Åžablon silindi"
-
-#: lib/RT/Scrip_Overlay.pm:176
-msgid "Template is mandatory argument"
-msgstr "Şablon gerekli bir argüman"
-
-#: lib/RT/Scrip_Overlay.pm:180
-msgid "Template not found"
-msgstr "Şablon bulunamadı"
-
-#: lib/RT/Template_Overlay.pm:343
-msgid "Template parsed"
-msgstr "Şablon ayrıştırıldı"
-
-#: lib/RT/Template_Overlay.pm:391
-msgid "Template parsing error"
-msgstr "Şablon ayrıştırma hatası"
-
-#: html/Admin/Elements/QueueTabs:70 html/Admin/Elements/SystemTabs:57 html/Admin/Global/index.html:66
-msgid "Templates"
-msgstr "Åžablonlar"
-
-#: lib/RT/CustomField_Overlay.pm:943 lib/RT/Record.pm:945
-msgid "That is already the current value"
-msgstr "Bu, zaten ÅŸimdiki deÄŸer"
-
-#: lib/RT/CustomField_Overlay.pm:412
-msgid "That is not a value for this custom field"
-msgstr "Bu, bu özel alan için bir değer değil"
-
-#: lib/RT/Ticket_Overlay.pm:1994
-msgid "That is the same value"
-msgstr "Bu, aynı değer"
-
-#: lib/RT/ACE_Overlay.pm:305 lib/RT/ACE_Overlay.pm:614
-msgid "That principal already has that right"
-msgstr "Bu yetkili, zaten bu hakka sahip"
-
-#: lib/RT/Queue_Overlay.pm:753
-#. ($args{'Type'})
-msgid "That principal is already a %1 for this queue"
-msgstr "Bu yetkili, zaten bu kuyruk için bir %1"
-
-#: lib/RT/Ticket_Overlay.pm:1435
-#. ($self->loc($args{'Type'}))
-msgid "That principal is already a %1 for this ticket"
-msgstr "Bu yetkili, zaten bu bilet için bir %1"
-
-#: lib/RT/Queue_Overlay.pm:852
-#. ($args{'Type'})
-msgid "That principal is not a %1 for this queue"
-msgstr "Bu yetkili, zaten bu kuyruk için bir %1 değil"
-
-#: lib/RT/Ticket_Overlay.pm:1990
-msgid "That queue does not exist"
-msgstr "Böyle bir kuyruk mevcut değil"
-
-#: lib/RT/Ticket_Overlay.pm:3233
-msgid "That ticket has unresolved dependencies"
-msgstr "Bu bilet, çözümlenmemiş bağımlılıklara sahip"
-
-#: lib/RT/Action/CreateTickets.pm:710 lib/RT/Ticket_Overlay.pm:3037
-msgid "That user already owns that ticket"
-msgstr "Bu kullanıcı, zaten bu biletin sahibi"
-
-#: lib/RT/Ticket_Overlay.pm:3012
-msgid "That user does not exist"
-msgstr "Bu kullanıcı bulunamadı"
-
-#: lib/RT/User_Overlay.pm:389
-msgid "That user is already privileged"
-msgstr "Bu kullanıcı zaten yetkili"
-
-#: lib/RT/User_Overlay.pm:410
-msgid "That user is already unprivileged"
-msgstr "Bu kullanıcı zaten yetkisiz"
-
-#: lib/RT/User_Overlay.pm:402
-msgid "That user is now privileged"
-msgstr "Bu kullanıcı şu anda yetkilendirildi"
-
-#: lib/RT/User_Overlay.pm:423
-msgid "That user is now unprivileged"
-msgstr "Bu kullanıcı artık yetkisiz"
-
-#: lib/RT/Ticket_Overlay.pm:3031
-msgid "That user may not own tickets in that queue"
-msgstr "Bu kullanıcı, bu kuyruktaki biletleri sahiplenemez"
-
-#: lib/RT/Link_Overlay.pm:233
-msgid "That's not a numerical id"
-msgstr "Bu, sayısal bir kimlik değil"
-
-#: html/SelfService/Display.html:53 html/Ticket/Create.html:177 html/Ticket/Elements/ShowSummary:49
-msgid "The Basics"
-msgstr "Temeller"
-
-#: lib/RT/ACE_Overlay.pm:112
-msgid "The CC of a ticket"
-msgstr "Bir biletin KK' sı"
-
-#: lib/RT/ACE_Overlay.pm:113
-msgid "The administrative CC of a ticket"
-msgstr "Bir biletin yönetimsel KK' sı"
-
-#: bin/rt-crontool:275
-msgid "The following command will find all active tickets in the queue 'general' and set their priority to 99 if they haven't been touched in 4 hours:"
-msgstr "Sonraki komut, 'genel' kuyruğundaki bütün biletleri bulacak ve eğer son 4 saat içinde dokunulmamışlarsa, önem derecelerini 99 a yükseltecektir."
-
-#: lib/RT/Record.pm:948
-msgid "The new value has been set."
-msgstr "Yeni değer atandı."
-
-#: lib/RT/ACE_Overlay.pm:110
-msgid "The owner of a ticket"
-msgstr "Bir biletin sahibi"
-
-#: lib/RT/ACE_Overlay.pm:111
-msgid "The requestor of a ticket"
-msgstr "Bir biletin istekçisi"
-
-#: html/Admin/Elements/EditUserComments:47
-msgid "These comments aren't generally visible to the user"
-msgstr "Bu yorumlar, genellikle kullanıcıya görünür değillerdir"
-
-#: lib/RT/CustomField_Overlay.pm:978
-msgid "This custom field does not apply to that object"
-msgstr "Bu özel alan, bu nesneye etkimez"
-
-#: html/Admin/Tools/Configuration.html:50
-msgid "This feature is only available to system administrators"
-msgstr "Bu özellik, sadece sistem yöneticileri tarafından kullanılabilir"
-
-#: html/Ticket/Elements/PreviewScrips:96
-msgid "This message will be sent to..."
-msgstr "Bu iletinin gönderileceği kişi..."
-
-#: bin/rt-crontool:266
-msgid "This tool allows the user to run arbitrary perl modules from within RT."
-msgstr "Bu araç, kullanıcının RT içinden keyfi perl modüllerini çalıştırabilmesine olanak verir."
-
-#: lib/RT/Transaction_Overlay.pm:301
-msgid "This transaction appears to have no content"
-msgstr "Bu hareketin bir içeriğe sahip olmadığı gözüküyor"
-
-#: html/Ticket/Elements/ShowRequestor:70
-#. ($rows)
-msgid "This user's %1 highest priority tickets"
-msgstr "Bu kullanıcının %1 en yüksek öneme sahip biletleri"
-
-#: lib/RT/Date.pm:420
-msgid "Thu."
-msgstr "Per."
-
-#: html/Ticket/ModifyAll.html:46 html/Ticket/ModifyAll.html:50
-#. ($Ticket->Id, $Ticket->Subject)
-msgid "Ticket #%1 Jumbo update: %2"
-msgstr "Bilet #%1 Büyük güncelleme: %2"
-
-#: html/Approvals/Elements/ShowDependency:67
-#. ($link->BaseObj->Id, $link->BaseObj->Subject)
-msgid "Ticket #%1: %2"
-msgstr "Bilet #%1: %2"
-
-#: lib/RT/Action/CreateTickets.pm:1350 lib/RT/Action/CreateTickets.pm:1359 lib/RT/Action/CreateTickets.pm:605 lib/RT/Action/CreateTickets.pm:729 lib/RT/Action/CreateTickets.pm:741
-#. ($T::Tickets{$template_id}->Id)
-#. ($T::Tickets{$template_id}->id)
-#. ($ticket->Id)
-msgid "Ticket %1"
-msgstr "Bilet %1"
-
-#: lib/RT/Ticket_Overlay.pm:755 lib/RT/Ticket_Overlay.pm:775
-#. ($self->Id, $QueueObj->Name)
-msgid "Ticket %1 created in queue '%2'"
-msgstr "Bilet %1, '%2' kuyruÄŸunda oluÅŸturuldu"
-
-#: html/Search/Bulk.html:377
-#. ($Ticket->Id, $_)
-msgid "Ticket %1: %2"
-msgstr "Bilet %1: %2"
-
-#: html/Admin/Elements/QueueTabs:74
-msgid "Ticket Custom Fields"
-msgstr "Bilet Özel Alanları"
-
-#: html/Ticket/History.html:46 html/Ticket/History.html:49
-#. ($Ticket->Id, $Ticket->Subject)
-msgid "Ticket History # %1 %2"
-msgstr "Bilet geçmişi # %1 %2"
-
-#: etc/initialdata:324
-msgid "Ticket Resolved"
-msgstr "Bilet Çözümlendi"
-
-#: html/Admin/Elements/GlobalCustomFieldTabs:69 html/Admin/Global/CustomFields/index.html:81 lib/RT/CustomField_Overlay.pm:1207
-msgid "Ticket Transactions"
-msgstr "Bilet Hareketleri"
-
-#: lib/RT/Tickets_Overlay.pm:1920
-msgid "Ticket content"
-msgstr "Bilet oluÅŸturuldu"
-
-#: lib/RT/Tickets_Overlay.pm:1969
-msgid "Ticket content type"
-msgstr "Bilet içerik türü"
-
-#: lib/RT/Ticket_Overlay.pm:603 lib/RT/Ticket_Overlay.pm:617 lib/RT/Ticket_Overlay.pm:628 lib/RT/Ticket_Overlay.pm:763
-msgid "Ticket could not be created due to an internal error"
-msgstr "Bir iç hata nedeniyle, bilet oluşturulamadı"
-
-#: html/Ticket/Display.html:55
-msgid "Ticket metadata"
-msgstr "Bilet özel bilgisi"
-
-#: etc/initialdata:310
-msgid "Ticket status changed"
-msgstr "Bilet durumu deÄŸiÅŸti"
-
-#: lib/RT/Search/FromSQL.pm:82
-#. (ref $self)
-msgid "TicketSQL search module"
-msgstr "BiletSQL arama modülü"
-
-#: html/Admin/Elements/GlobalCustomFieldTabs:64 html/Admin/Global/CustomFields/index.html:75 html/Elements/Tabs:71 html/Search/Elements/Chart:109 lib/RT/CustomField_Overlay.pm:1206
-msgid "Tickets"
-msgstr "Biletler"
-
-#: html/Tools/Reports/CreatedByDates.html:86
-msgid "Tickets created after"
-msgstr "Åžundan sonra oluÅŸturulan biletler:"
-
-#: html/Tools/Reports/CreatedByDates.html:88
-msgid "Tickets created before"
-msgstr "Şundan önce oluşturulan biletler:"
-
-#: html/Tools/Reports/ResolvedByDates.html:87
-msgid "Tickets resolved after"
-msgstr "Şundan sonra çözümlenen biletler:"
-
-#: html/Tools/Reports/ResolvedByDates.html:89
-msgid "Tickets resolved before"
-msgstr "Şundan önce çözümlenen biletler:"
-
-#: html/Approvals/Elements/ShowDependency:48
-msgid "Tickets which depend on this approval:"
-msgstr "Bu onaya dayanan biletler:"
-
-#: html/Search/Elements/PickBasics:134 html/Ticket/Create.html:183 html/Ticket/Elements/EditBasics:72
-msgid "Time Estimated"
-msgstr "Tahmini Süre"
-
-#: html/Search/Elements/PickBasics:135 html/Ticket/Create.html:196 html/Ticket/Elements/EditBasics:85
-msgid "Time Left"
-msgstr "Kalan Süre"
-
-#: html/Search/Elements/PickBasics:133 html/Ticket/Create.html:189 html/Ticket/Elements/EditBasics:78
-msgid "Time Worked"
-msgstr "Çalışılan Süre"
-
-#: lib/RT/Tickets_Overlay.pm:1891
-msgid "Time left"
-msgstr "Kalan süre"
-
-#: html/Elements/Footer:51
-msgid "Time to display"
-msgstr "Gösterilecek süre"
-
-#: lib/RT/Tickets_Overlay.pm:1866
-msgid "Time worked"
-msgstr "Çalışılan süre"
-
-#: lib/RT/Ticket_Overlay.pm:1167
-msgid "TimeWorked"
-msgstr "ÇalışılanSüre"
-
-#: html/Search/Elements/EditFormat:74
-msgid "Title"
-msgstr "Başlık"
-
-#: html/Elements/Footer:62
-#. ('<a href="mailto:sales@bestpractical.com">sales@bestpractical.com</a>')
-msgid "To inquire about support, training, custom development or licensing, please contact %1."
-msgstr "Destek hakkında soru sormak için, kişisel geliştirim veya lisanslama için, lütfen %1 ile temasa geçin."
-
-#: lib/RT/Ticket_Overlay.pm:1170
-msgid "Told"
-msgstr "Söylendi"
-
-#: html/Admin/Elements/Tabs:68 html/Admin/index.html:88 html/Elements/Tabs:74 html/Tools/index.html:46 html/Tools/index.html:49
-msgid "Tools"
-msgstr "Araçlar"
-
-#: html/Search/Elements/Chart:130
-msgid "Total"
-msgstr "Toplam"
-
-#: etc/initialdata:252
-msgid "Transaction"
-msgstr "Hareket"
-
-#: lib/RT/Transaction_Overlay.pm:805
-#. ($self->Data)
-msgid "Transaction %1 purged"
-msgstr "Hareket %1 tasfiye edildi"
-
-#: lib/RT/Transaction_Overlay.pm:183
-msgid "Transaction Created"
-msgstr "Hareket OluÅŸturuldu"
-
-#: html/Admin/Elements/QueueTabs:78
-msgid "Transaction Custom Fields"
-msgstr "Hareket Özel Alanları"
-
-#: lib/RT/Transaction_Overlay.pm:128
-msgid "Transaction->Create couldn't, as you didn't specify an object type and id"
-msgstr "Transaction->Create gerçekleştirilemedi, çünkü bir nesne türü ve kimliği belirtmediniz"
-
-#: lib/RT/Transaction_Overlay.pm:870
-msgid "Transactions are immutable"
-msgstr "Hareketler deÄŸiÅŸemez"
-
-#: lib/RT/Date.pm:418
-msgid "Tue."
-msgstr "Sal."
-
-#: html/Admin/CustomFields/Modify.html:66 html/Admin/Elements/EditCustomField:65 html/Ticket/Elements/AddWatchers:54 html/Ticket/Elements/AddWatchers:65 html/Ticket/Elements/AddWatchers:75 lib/RT/Ticket_Overlay.pm:1168 lib/RT/Tickets_Overlay.pm:1705
-msgid "Type"
-msgstr "Tür"
-
-#: lib/RT/ScripCondition_Overlay.pm:128
-msgid "Unimplemented"
-msgstr "Gerçekleştirilmedi"
-
-#: html/Admin/Users/Modify.html:89
-msgid "Unix login"
-msgstr "Unix giriÅŸi"
-
-#: lib/RT/Attachment_Overlay.pm:289 lib/RT/Record.pm:861
-#. ($self->ContentEncoding)
-#. ($ContentEncoding)
-msgid "Unknown ContentEncoding %1"
-msgstr "Bilinmeyen İçerikKodlaması %1"
-
-#: html/Search/Build.html:455 lib/RT/Report/Tickets.pm:410
-msgid "Unknown field: $key"
-msgstr "Bilinmeyen alan: $key"
-
-#: html/Elements/SelectResultsPerPage:58
-msgid "Unlimited"
-msgstr "Sınırsız"
-
-#: html/Search/Elements/SelectSearchesForObjects:64
-msgid "Unnamed search"
-msgstr "Adlandırılmamış arama"
-
-#: etc/initialdata:32
-msgid "Unprivileged"
-msgstr "Yetkisiz"
-
-#: html/Admin/Elements/EditCustomFields:60
-msgid "Unselected Custom Fields"
-msgstr "Seçilmemiş Özel Alanlar"
-
-#: html/Admin/CustomFields/Objects.html:61
-msgid "Unselected objects"
-msgstr "Seçilmemiş nesneler"
-
-#: lib/RT/Transaction_Overlay.pm:659
-msgid "Untaken"
-msgstr "Alınmamış"
-
-#: html/Admin/Elements/EditScrip:128 html/Elements/RT__Ticket/ColumnMap:302 html/Search/Bulk.html:193 html/Search/Bulk.html:75
-msgid "Update"
-msgstr "Güncelle"
-
-#: html/Ticket/Update.html:135
-msgid "Update Ticket"
-msgstr "Bileti Güncelle"
-
-#: html/Search/Bulk.html:126 html/Ticket/ModifyAll.html:87 html/Ticket/Update.html:72
-msgid "Update Type"
-msgstr "Türü Güncelle"
-
-#: html/Search/Bulk.html:200 html/Search/Results.html:78
-msgid "Update multiple tickets"
-msgstr "Birden çok bileti güncelle"
-
-#: lib/RT/Action/CreateTickets.pm:750 lib/RT/Interface/Web.pm:584
-msgid "Update not recorded."
-msgstr "Güncelleme kaydedilmedi"
-
-#: html/Ticket/ModifyAll.html:84
-msgid "Update ticket"
-msgstr "Bileti güncelle"
-
-#: html/SelfService/Update.html:112 html/SelfService/Update.html:47
-#. ($Ticket->id)
-msgid "Update ticket #%1"
-msgstr "Bileti güncelle: #%1"
-
-#: html/Ticket/Update.html:158
-#. ($TicketObj->id, $TicketObj->Subject)
-msgid "Update ticket #%1 (%2)"
-msgstr "Bileti güncelle: #%1 (%2)"
-
-#: lib/RT/Action/CreateTickets.pm:748 lib/RT/Interface/Web.pm:583
-msgid "Update type was neither correspondence nor comment."
-msgstr "Güncelleme türü cevap veya yorum değildi."
-
-#: html/Elements/SelectDateType:54 html/Ticket/Elements/ShowDates:72 lib/RT/CustomField_Overlay.pm:1284 lib/RT/Ticket_Overlay.pm:1171
-msgid "Updated"
-msgstr "Güncellendi"
-
-#: html/Tools/Offline.html:93
-msgid "Upload"
-msgstr "Yükle"
-
-#: lib/RT/CustomField_Overlay.pm:84
-msgid "Upload multiple files"
-msgstr "Çoklu dostya yükle"
-
-#: lib/RT/CustomField_Overlay.pm:79
-msgid "Upload multiple images"
-msgstr "Çoklu resim yükle"
-
-#: lib/RT/CustomField_Overlay.pm:85
-msgid "Upload one file"
-msgstr "Tek bir dosya yükle"
-
-#: lib/RT/CustomField_Overlay.pm:80
-msgid "Upload one image"
-msgstr "Tek bir resim yükle"
-
-#: lib/RT/CustomField_Overlay.pm:86
-msgid "Upload up to %1 files"
-msgstr "En çok %1 dosya yükle"
-
-#: lib/RT/CustomField_Overlay.pm:81
-msgid "Upload up to %1 images"
-msgstr "En çok %1 resim yükle"
-
-#: html/Tools/Offline.html:93
-msgid "Upload your changes"
-msgstr "Değişikliklerinizi yükleyin"
-
-#: html/Admin/index.html:90
-msgid "Use other RT administrative tools"
-msgstr "Diğer RT yönetimsel araçlarını kullan"
-
-#: lib/RT/Ticket_Overlay.pm:506
-#. ($args{'Owner'})
-msgid "User '%1' could not be found."
-msgstr "Kullanıcı '%1' bulunamadı."
-
-#: etc/initialdata:132 etc/initialdata:206
-msgid "User Defined"
-msgstr "Kullanıcı Tanımlandı"
-
-#: html/Admin/Elements/EditScrip:93
-msgid "User Defined conditions and actions"
-msgstr "Kullanıcı tanımlı durumlar ve eylemler"
-
-#: html/Admin/Elements/CustomFieldTabs:72 html/Admin/Elements/GroupTabs:68 html/Admin/Elements/QueueTabs:85 html/Admin/Elements/SystemTabs:68 html/Admin/Global/index.html:80
-msgid "User Rights"
-msgstr "Kullanıcı Hakları"
-
-#: html/Admin/Users/Modify.html:301
-#. ($msg)
-msgid "User could not be created: %1"
-msgstr "Kullanıcı oluşturulamıyor: %1"
-
-#: lib/RT/User_Overlay.pm:330
-msgid "User created"
-msgstr "Kullanıcı oluşturuldu"
-
-#: html/Admin/CustomFields/GroupRights.html:74 html/Admin/Global/GroupRights.html:88 html/Admin/Groups/GroupRights.html:75 html/Admin/Queues/GroupRights.html:90
-msgid "User defined groups"
-msgstr "Kullanıcı tanımlı gruplar"
-
-#: lib/RT/User_Overlay.pm:592 lib/RT/User_Overlay.pm:612
-msgid "User loaded"
-msgstr "Kullanıcı yüklendi"
-
-#: html/Admin/Groups/index.html:103
-msgid "User-defined groups"
-msgstr "Kullanıcı-tanımlı gruplar"
-
-#: html/Admin/Users/Modify.html:69 html/Elements/Login:90 html/Ticket/Elements/AddWatchers:56
-msgid "Username"
-msgstr "Kullanıcı adı"
-
-#: html/Admin/Elements/GlobalCustomFieldTabs:55 html/Admin/Elements/SelectNewGroupMembers:47 html/Admin/Elements/Tabs:53 html/Admin/Global/CustomFields/index.html:64 html/Admin/Groups/Members.html:76 html/Admin/Queues/People.html:89 html/Admin/index.html:62 html/User/Groups/Members.html:79 lib/RT/CustomField_Overlay.pm:1208
-msgid "Users"
-msgstr "Kullanıcılar"
-
-#: html/Admin/Users/index.html:85
-msgid "Users matching search criteria"
-msgstr "Arama kıstaslarıyla eşleşen kullanıcılar"
-
-#: bin/rt-crontool:134
-#. ($transaction->id)
-msgid "Using transaction #%1..."
-msgstr "Hareket #%1 kullanılıyor..."
-
-#: lib/RT/Tickets_Overlay_SQL.pm:528
-msgid "Valid Query"
-msgstr "Geçerli Sorgu"
-
-#: html/Admin/CustomFields/Modify.html:80
-msgid "Validation"
-msgstr "Geçerlilik"
-
-#: html/Admin/CustomFields/Modify.html:130 html/Admin/Elements/EditCustomField:78
-msgid "Values"
-msgstr "DeÄŸerler"
-
-#: lib/RT/Queue_Overlay.pm:107
-msgid "Watch"
-msgstr "Gözle"
-
-#: lib/RT/Queue_Overlay.pm:108
-msgid "WatchAsAdminCc"
-msgstr "YöneticiKkOlarakGözle"
-
-#: html/Admin/Elements/QueueTabs:63
-msgid "Watchers"
-msgstr "Gözcüler"
-
-#: lib/RT/Date.pm:419
-msgid "Wed."
-msgstr "Çar."
-
-#: html/Tools/MyDay.html:75
-msgid "What I did today"
-msgstr "Bugün ne yaptım"
-
-#: etc/initialdata:521
-msgid "When a ticket has been approved by all approvers, add correspondence to the original ticket"
-msgstr "Bir bilet, bütün onaycılar tarafından onaylandığında, özgün bilete cevap yolla"
-
-#: etc/initialdata:485
-msgid "When a ticket has been approved by any approver, add correspondence to the original ticket"
-msgstr "Bir bilet, herhangi bir onaycı tarafından onaylandığında, özgün bilete cevap yolla"
-
-#: etc/initialdata:146
-msgid "When a ticket is created"
-msgstr "Bir bilet oluÅŸturulduÄŸunda"
-
-#: etc/initialdata:418
-msgid "When an approval ticket is created, notify the Owner and AdminCc of the item awaiting their approval"
-msgstr "Bir onay bileti oluşturulduğunda, sahibi ve YöneticiKk' yı, nesnenin onaylarını beklediği konusunda uyar"
-
-#: etc/initialdata:151
-msgid "When anything happens"
-msgstr "Herhangi bir ÅŸey olduÄŸunda"
-
-#: etc/initialdata:199
-msgid "Whenever a ticket is resolved"
-msgstr "Bir bilet çözümlendiğinde"
-
-#: etc/initialdata:185
-msgid "Whenever a ticket's owner changes"
-msgstr "Bir biletin sahibi deÄŸiÅŸtiÄŸinde"
-
-#: etc/initialdata:178 etc/upgrade/3.1.17/content:16
-msgid "Whenever a ticket's priority changes"
-msgstr "Bir biletin önceliği değiştiğinde"
-
-#: etc/initialdata:193
-msgid "Whenever a ticket's queue changes"
-msgstr "Bir biletin kuyruÄŸu deÄŸiÅŸtiÄŸinde"
-
-#: etc/initialdata:170
-msgid "Whenever a ticket's status changes"
-msgstr "Bir biletin durumu deÄŸiÅŸtiÄŸinde"
-
-#: etc/initialdata:207
-msgid "Whenever a user-defined condition occurs"
-msgstr "Kullanıcı tanımlı bir durum oluştuğunda"
-
-#: etc/initialdata:164
-msgid "Whenever comments come in"
-msgstr "Bir yorum geldiÄŸinde"
-
-#: etc/initialdata:157
-msgid "Whenever correspondence comes in"
-msgstr "Cevap geldiÄŸinde"
-
-#: html/Admin/Users/Modify.html:188 html/User/Prefs.html:88
-msgid "Work"
-msgstr "Çalışma"
-
-#: html/Search/Results.html:82
-msgid "Work offline"
-msgstr "Çevrimdışı çalışma"
-
-#: html/Ticket/Elements/ShowBasics:63 html/Ticket/Update.html:64
-msgid "Worked"
-msgstr "Çalışıldı"
-
-#: lib/RT/Ticket_Overlay.pm:3140
-msgid "You already own this ticket"
-msgstr "Bu biletin sahibi zaten sizsiniz"
-
-#: html/autohandler:214 html/autohandler:222
-msgid "You are not an authorized user"
-msgstr "Yetkili bir kullanıcı değilsiniz"
-
-#: html/Prefs/Search.html:56
-msgid "You can also edit the predefined search itself"
-msgstr "Öntanımlı aramanın kendisinide değiştirebilirsiniz"
-
-#: lib/RT/Ticket_Overlay.pm:3025
-msgid "You can only reassign tickets that you own or that are unowned"
-msgstr "Sahibi olduÄŸunuz veya sahipsiz biletleri tekrar tahsis edebilirsiniz"
-
-#: lib/RT/Ticket_Overlay.pm:3021
-msgid "You can only take tickets that are unowned"
-msgstr "Sadece sahibi olmadığınız biletleri alabilirsiniz"
-
-#: docs/design_docs/string-extraction-guide.txt:47 lib/RT/StyleGuide.pod:780
-#. ($num, $queue)
-msgid "You found %1 tickets in queue %2"
-msgstr "%2 kuyruÄŸunda %1 bilet buldunuz"
-
-#: html/NoAuth/Logout.html:52
-msgid "You have been logged out of RT."
-msgstr "RT' den çıkış yaptınız"
-
-#: html/SelfService/Display.html:133
-msgid "You have no permission to create tickets in that queue."
-msgstr "Bu kuyrukta bilet oluÅŸturmaya yetkiniz yok."
-
-#: lib/RT/Ticket_Overlay.pm:2003
-msgid "You may not create requests in that queue."
-msgstr "Bu kuyrukta istek oluşturamazsınız."
-
-#: html/NoAuth/Logout.html:56
-msgid "You're welcome to login again"
-msgstr "Tekrar giriÅŸ yapabilirsiniz"
-
-#: etc/initialdata:502
-msgid "Your request has been approved by %1. Other approvals may still be pending."
-msgstr "İsteğiniz %1 tarafından onaylandı. Diğer onaylar, halen bekliyor olabilir."
-
-#: etc/initialdata:540
-msgid "Your request has been approved."
-msgstr "İsteğiniz onaylandı"
-
-#: etc/initialdata:445
-msgid "Your request was rejected."
-msgstr "Ä°steÄŸiniz reddedildi."
-
-#: html/autohandler:251
-msgid "Your username or password is incorrect"
-msgstr "Kullanıcı adınız veya parolanız yanlış"
-
-#: html/Admin/Users/Modify.html:168 html/User/Prefs.html:149
-msgid "Zip"
-msgstr "Posta Kodu"
-
-#: lib/RT/System.pm:87
-msgid "allow creation of saved searches"
-msgstr "kaydedilmiş aramaların oluşturulmasına izin ver"
-
-#: lib/RT/System.pm:86
-msgid "allow loading of saved searches"
-msgstr "kaydedilmiş aramaların yüklenmesine izin ver"
-
-#: html/User/Elements/DelegateRights:80
-#. ($right->PrincipalObj->Object->SelfDescription)
-msgid "as granted to %1"
-msgstr "%1' e verildi"
-
-#: html/Search/Results.html:83
-msgid "chart"
-msgstr "ÅŸema"
-
-#: html/SelfService/Closed.html:49
-msgid "closed"
-msgstr "kapalı"
-
-#: html/Elements/SelectCustomFieldOperator:59 html/Elements/SelectMatch:55
-msgid "contains"
-msgstr "içeriyor"
-
-#: html/Admin/Queues/Modify.html:98 lib/RT/Date.pm:346
-msgid "days"
-msgstr "gün"
-
-#: lib/RT/Queue_Overlay.pm:87
-msgid "deleted"
-msgstr "silindi"
-
-#: html/Search/Elements/PickBasics:61
-msgid "does not match"
-msgstr "eÅŸleÅŸmiyor"
-
-#: html/Elements/SelectCustomFieldOperator:59 html/Elements/SelectMatch:56
-msgid "doesn't contain"
-msgstr "içermiyor"
-
-#: html/Elements/SelectEqualityOperator:59
-msgid "equal to"
-msgstr "eÅŸittir"
-
-#: html/Search/Build.html:547
-msgid "error: can't move down"
-msgstr "hata: aşağı gidemiyorum"
-
-#: html/Search/Build.html:569
-msgid "error: can't move left"
-msgstr "hata sola gidemiyorum"
-
-#: html/Search/Build.html:528
-msgid "error: can't move up"
-msgstr "hata yukarı gidemiyorum"
-
-#: html/Search/Build.html:612
-msgid "error: nothing to delete"
-msgstr "hata: silinecek bir ÅŸey yok"
-
-#: html/Search/Build.html:533 html/Search/Build.html:552 html/Search/Build.html:574 html/Search/Build.html:603
-msgid "error: nothing to move"
-msgstr "hata: taşınacak bir şey yok"
-
-#: html/Search/Build.html:630
-msgid "error: nothing to toggle"
-msgstr "hata: deÄŸiÅŸtirecek bir ÅŸey yok"
-
-#: html/Elements/SelectCustomFieldOperator:59 html/Elements/SelectEqualityOperator:59
-msgid "greater than"
-msgstr "büyüktür"
-
-#: lib/RT/Group_Overlay.pm:214
-#. ($self->Name)
-msgid "group '%1'"
-msgstr "grup %1"
-
-#: html/Search/Results.html:88
-#. ($m->scomp('Elements/SelectGroupBy', Name => 'PrimaryGroupBy', Query => $Query))
-msgid "grouped by %1"
-msgstr "%1 ile gruplanmış"
-
-#: lib/RT/Date.pm:342
-msgid "hours"
-msgstr "saat"
-
-#: html/Search/Elements/PickBasics:48
-msgid "id"
-msgstr "numara"
-
-#: html/Elements/SelectBoolean:53 html/Elements/SelectCustomFieldOperator:59 html/Elements/SelectMatch:57 html/Search/Elements/PickBasics:162 html/Search/Elements/PickBasics:74 html/Search/Elements/PickBasics:90 html/Search/Elements/PickCFs:53
-msgid "is"
-msgstr "aynıdır"
-
-#: html/Elements/SelectBoolean:57 html/Elements/SelectCustomFieldOperator:59 html/Elements/SelectMatch:58 html/Search/Elements/PickBasics:163 html/Search/Elements/PickBasics:75 html/Search/Elements/PickBasics:91 html/Search/Elements/PickCFs:54
-msgid "isn't"
-msgstr "aynı değildir"
-
-#: html/Elements/SelectCustomFieldOperator:59 html/Elements/SelectEqualityOperator:59
-msgid "less than"
-msgstr "azdır"
-
-#: html/Search/Elements/PickBasics:60
-msgid "matches"
-msgstr "eÅŸleÅŸir"
-
-#: lib/RT/Date.pm:338
-msgid "min"
-msgstr "en az"
-
-#: lib/RT/Date.pm:354
-msgid "months"
-msgstr "ay"
-
-#: lib/RT/Queue_Overlay.pm:82
-msgid "new"
-msgstr "yeni"
-
-#: html/Admin/Elements/PickCustomFields:64 html/Admin/Elements/PickObjects:65
-msgid "no name"
-msgstr "adsız"
-
-#: html/Admin/Elements/EditScrips:64
-msgid "no value"
-msgstr "deÄŸersiz"
-
-#: html/Admin/Elements/EditQueueWatchers:48 html/Ticket/Elements/EditWatchers:49
-msgid "none"
-msgstr "hiçbiri"
-
-#: html/Elements/SelectEqualityOperator:59
-msgid "not equal to"
-msgstr "eÅŸit deÄŸildir"
-
-#: html/SelfService/Elements/MyRequests:82 lib/RT/Queue_Overlay.pm:83
-msgid "open"
-msgstr "açık"
-
-#: lib/RT/Group_Overlay.pm:219
-#. ($self->Name, $user->Name)
-msgid "personal group '%1' for user '%2'"
-msgstr "'%2' kullanıcısı için, kişisel grup '%1'"
-
-#: lib/RT/Group_Overlay.pm:227
-#. ($queue->Name, $self->Type)
-msgid "queue %1 %2"
-msgstr "kuyruk %1 %2"
-
-#: lib/RT/Queue_Overlay.pm:86
-msgid "rejected"
-msgstr "reddedildi"
-
-#: lib/RT/Queue_Overlay.pm:85
-msgid "resolved"
-msgstr "çözüldü"
-
-#: lib/RT/Date.pm:334
-msgid "sec"
-msgstr "saniye"
-
-#: lib/RT/System.pm:85
-msgid "show Configuration tab"
-msgstr "ayar sekmesini göster"
-
-#: html/Search/Results.html:80
-msgid "spreadsheet"
-msgstr "hesap çizelgesi"
-
-#: lib/RT/Queue_Overlay.pm:84
-msgid "stalled"
-msgstr "savsaklandı"
-
-#: html/Search/Results.html:89
-#. ($m->scomp('Elements/SelectChartType', Name => 'ChartStyle'))
-msgid "style: %1"
-msgstr "biçem: %1"
-
-#: html/Prefs/MyRT.html:93
-msgid "summary rows"
-msgstr "özet satırları"
-
-#: lib/RT/Group_Overlay.pm:222
-#. ($self->Type)
-msgid "system %1"
-msgstr "sistem %1"
-
-#: lib/RT/Group_Overlay.pm:233
-#. ($self->Type)
-msgid "system group '%1'"
-msgstr "sistem grubu '%1'"
-
-#: html/Elements/Error:64 html/SelfService/Error.html:63
-msgid "the calling component did not specify why"
-msgstr "çağıran bileşen, nedenini belirtmedi"
-
-#: lib/RT/Group_Overlay.pm:230
-#. ($self->Instance, $self->Type)
-msgid "ticket #%1 %2"
-msgstr "bilet #%1 %2"
-
-#: lib/RT/Group_Overlay.pm:236
-#. ($self->Id)
-msgid "undescribed group %1"
-msgstr "betimlenmemiÅŸ grup %1"
-
-#: lib/RT/Group_Overlay.pm:211
-#. ($user->Object->Name)
-msgid "user %1"
-msgstr "kullanıcı %1"
-
-#: lib/RT/Date.pm:350
-msgid "weeks"
-msgstr "hafta"
-
-#: lib/RT/Date.pm:358
-msgid "years"
-msgstr "yıl"
-
diff --git a/rt/lib/RT/Interface/Web/Menu.pm b/rt/lib/RT/Interface/Web/Menu.pm
deleted file mode 100644
index f2d78ef6c..000000000
--- a/rt/lib/RT/Interface/Web/Menu.pm
+++ /dev/null
@@ -1,68 +0,0 @@
-# BEGIN BPS TAGGED BLOCK {{{
-#
-# COPYRIGHT:
-#
-# This software is Copyright (c) 1996-2007 Best Practical Solutions, LLC
-# <jesse@bestpractical.com>
-#
-# (Except where explicitly superseded by other copyright notices)
-#
-#
-# LICENSE:
-#
-# This work is made available to you under the terms of Version 2 of
-# the GNU General Public License. A copy of that license should have
-# been provided with this software, but in any event can be snarfed
-# from www.gnu.org.
-#
-# This work is distributed in the hope that it will be useful, but
-# WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-# General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
-# 02110-1301 or visit their web page on the internet at
-# http://www.gnu.org/copyleft/gpl.html.
-#
-#
-# CONTRIBUTION SUBMISSION POLICY:
-#
-# (The following paragraph is not intended to limit the rights granted
-# to you to modify and distribute this software under the terms of
-# the GNU General Public License and is only of importance to you if
-# you choose to contribute your changes and enhancements to the
-# community by submitting them to Best Practical Solutions, LLC.)
-#
-# By intentionally submitting any modifications, corrections or
-# derivatives to this work, or any other work intended for use with
-# Request Tracker, to Best Practical Solutions, LLC, you confirm that
-# you are the copyright holder for those contributions and you grant
-# Best Practical Solutions, LLC a nonexclusive, worldwide, irrevocable,
-# royalty-free, perpetual, license to use, copy, create derivative
-# works based on those contributions, and sublicense and distribute
-# those contributions and any derivatives thereof.
-#
-# END BPS TAGGED BLOCK }}}
-package RT::Interface::Web::Menu;
-
-
-sub new {
- my $class = shift;
- my $self = bless {}, $class;
- $self->{'root_node'} = RT::Interface::Web::Menu::Item->new();
- return $self;
-}
-
-
-sub as_hash_of_hashes {
-
-}
-
-sub root {
- my $self = shift;
- return $self->{'root_node'};
-}
-
-1;
diff --git a/rt/lib/RT/Interface/Web/Menu/Item.pm b/rt/lib/RT/Interface/Web/Menu/Item.pm
deleted file mode 100644
index 5365db33a..000000000
--- a/rt/lib/RT/Interface/Web/Menu/Item.pm
+++ /dev/null
@@ -1,86 +0,0 @@
-# BEGIN BPS TAGGED BLOCK {{{
-#
-# COPYRIGHT:
-#
-# This software is Copyright (c) 1996-2007 Best Practical Solutions, LLC
-# <jesse@bestpractical.com>
-#
-# (Except where explicitly superseded by other copyright notices)
-#
-#
-# LICENSE:
-#
-# This work is made available to you under the terms of Version 2 of
-# the GNU General Public License. A copy of that license should have
-# been provided with this software, but in any event can be snarfed
-# from www.gnu.org.
-#
-# This work is distributed in the hope that it will be useful, but
-# WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-# General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
-# 02110-1301 or visit their web page on the internet at
-# http://www.gnu.org/copyleft/gpl.html.
-#
-#
-# CONTRIBUTION SUBMISSION POLICY:
-#
-# (The following paragraph is not intended to limit the rights granted
-# to you to modify and distribute this software under the terms of
-# the GNU General Public License and is only of importance to you if
-# you choose to contribute your changes and enhancements to the
-# community by submitting them to Best Practical Solutions, LLC.)
-#
-# By intentionally submitting any modifications, corrections or
-# derivatives to this work, or any other work intended for use with
-# Request Tracker, to Best Practical Solutions, LLC, you confirm that
-# you are the copyright holder for those contributions and you grant
-# Best Practical Solutions, LLC a nonexclusive, worldwide, irrevocable,
-# royalty-free, perpetual, license to use, copy, create derivative
-# works based on those contributions, and sublicense and distribute
-# those contributions and any derivatives thereof.
-#
-# END BPS TAGGED BLOCK }}}
-package RT::Interface::Web::Menu::Item;
-
-
-sub new {
- my $class = shift;
- my $self = bless {},$class;
- $self->{'_attributes'} = {};
- return($self);
-}
-
-sub label { my $self = shift; $self->_accessor( label => @_) } ;
-sub absolute_url { my $self = shift; $self->_accessor( absolute_url => @_) } ;
-sub rt_path { my $self = shift; $self->_accessor( rt_path => @_) } ;
-sub hilight { my $self = shift; $self->_accessor( hilight => @_);
- $self->parent->hilight(1);
- } ;
-sub sort_order { my $self = shift; $self->_accessor( sort_order => @_) } ;
-
-sub add_child {
-}
-
-sub delete {
-}
-
-sub children {
-
-}
-
-sub _accessor {
- my $self = shift;
- my $key = shift;
- if (@_){
- $self->{'attributes'}->{$key} = shift;
-
- }
- return $self->{'_attributes'}->{$key};
-}
-
-1;
diff --git a/rt/lib/RT/Reminders.pm b/rt/lib/RT/Reminders.pm
deleted file mode 100644
index f99fbf7c1..000000000
--- a/rt/lib/RT/Reminders.pm
+++ /dev/null
@@ -1,167 +0,0 @@
-# BEGIN BPS TAGGED BLOCK {{{
-#
-# COPYRIGHT:
-#
-# This software is Copyright (c) 1996-2007 Best Practical Solutions, LLC
-# <jesse@bestpractical.com>
-#
-# (Except where explicitly superseded by other copyright notices)
-#
-#
-# LICENSE:
-#
-# This work is made available to you under the terms of Version 2 of
-# the GNU General Public License. A copy of that license should have
-# been provided with this software, but in any event can be snarfed
-# from www.gnu.org.
-#
-# This work is distributed in the hope that it will be useful, but
-# WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-# General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
-# 02110-1301 or visit their web page on the internet at
-# http://www.gnu.org/copyleft/gpl.html.
-#
-#
-# CONTRIBUTION SUBMISSION POLICY:
-#
-# (The following paragraph is not intended to limit the rights granted
-# to you to modify and distribute this software under the terms of
-# the GNU General Public License and is only of importance to you if
-# you choose to contribute your changes and enhancements to the
-# community by submitting them to Best Practical Solutions, LLC.)
-#
-# By intentionally submitting any modifications, corrections or
-# derivatives to this work, or any other work intended for use with
-# Request Tracker, to Best Practical Solutions, LLC, you confirm that
-# you are the copyright holder for those contributions and you grant
-# Best Practical Solutions, LLC a nonexclusive, worldwide, irrevocable,
-# royalty-free, perpetual, license to use, copy, create derivative
-# works based on those contributions, and sublicense and distribute
-# those contributions and any derivatives thereof.
-#
-# END BPS TAGGED BLOCK }}}
-package RT::Reminders;
-
-use base qw/RT::Base/;
-
-our $REMINDER_QUEUE = 'General';
-
-
-sub new {
- my $class = shift;
- my $self = {};
- bless $self, $class;
- $self->CurrentUser(@_);
- return($self);
-}
-
-
-sub Ticket {
- my $self = shift;
- $self->{'_ticket'} = shift if (@_);
- return ($self->{'_ticket'});
-}
-
-sub TicketObj {
- my $self = shift;
- unless ($self->{'_ticketobj'}) {
- $self->{'_ticketobj'} = RT::Ticket->new($self->CurrentUser);
- $self->{'_ticketobj'}->Load($self->Ticket);
- }
- return $self->{'_ticketobj'};
-}
-
-
-=head2 Collection
-
-Returns an RT::Tickets object containing reminders for this object's "Ticket"
-
-=cut
-
-sub Collection {
- my $self = shift;
- my $col = RT::Tickets->new($self->CurrentUser);
-
- my $query = 'Queue = "'. $self->TicketObj->QueueObj->Name .'" AND Type = "reminder"';
- $query .= ' AND RefersTo = "'.$self->Ticket.'"';
-
- $col->FromSQL($query);
-
- return($col);
-}
-
-=head2 Add
-
-Add a reminder for this ticket.
-
-Takes
-
- Subject
- Owner
- Due
-
-
-=cut
-
-
-sub Add {
- my $self = shift;
- my %args = ( Subject => undef,
- Owner => undef,
- Due => undef,
- @_);
-
- my $reminder = RT::Ticket->new($self->CurrentUser);
- $reminder->Create( Subject => $args{'Subject'},
- Owner => $args{'Owner'},
- Due => $args{'Due'},
- RefersTo => $self->Ticket,
- Type => 'reminder',
- Queue => $self->TicketObj->Queue,
-
- );
- $self->TicketObj->_NewTransaction(Type => 'AddReminder',
- Field => 'RT::Ticket',
- NewValue => $reminder->id);
-
-
-}
-
-
-sub Open {
- my $self = shift;
- my $reminder = shift;
-
- $reminder->SetStatus('open');
- $self->TicketObj->_NewTransaction(Type => 'OpenReminder',
- Field => 'RT::Ticket',
- NewValue => $reminder->id);
-}
-
-
-sub Resolve {
- my $self = shift;
- my $reminder = shift;
- $reminder->SetStatus('resolved');
- $self->TicketObj->_NewTransaction(Type => 'ResolveReminder',
- Field => 'RT::Ticket',
- NewValue => $reminder->id);
-}
-
- eval "require RT::Reminders_Vendor";
- if ($@ && $@ !~ qr{^Can't locate RT/Reminders_Vendor.pm}) {
- die $@;
- };
-
- eval "require RT::Reminders_Local";
- if ($@ && $@ !~ qr{^Can't locate RT/Reminders_Local.pm}) {
- die $@;
- };
-
-
-1;
diff --git a/rt/lib/RT/Report/Tickets.pm b/rt/lib/RT/Report/Tickets.pm
deleted file mode 100644
index 4fdde1a48..000000000
--- a/rt/lib/RT/Report/Tickets.pm
+++ /dev/null
@@ -1,451 +0,0 @@
-# BEGIN BPS TAGGED BLOCK {{{
-#
-# COPYRIGHT:
-#
-# This software is Copyright (c) 1996-2007 Best Practical Solutions, LLC
-# <jesse@bestpractical.com>
-#
-# (Except where explicitly superseded by other copyright notices)
-#
-#
-# LICENSE:
-#
-# This work is made available to you under the terms of Version 2 of
-# the GNU General Public License. A copy of that license should have
-# been provided with this software, but in any event can be snarfed
-# from www.gnu.org.
-#
-# This work is distributed in the hope that it will be useful, but
-# WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-# General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
-# 02110-1301 or visit their web page on the internet at
-# http://www.gnu.org/copyleft/gpl.html.
-#
-#
-# CONTRIBUTION SUBMISSION POLICY:
-#
-# (The following paragraph is not intended to limit the rights granted
-# to you to modify and distribute this software under the terms of
-# the GNU General Public License and is only of importance to you if
-# you choose to contribute your changes and enhancements to the
-# community by submitting them to Best Practical Solutions, LLC.)
-#
-# By intentionally submitting any modifications, corrections or
-# derivatives to this work, or any other work intended for use with
-# Request Tracker, to Best Practical Solutions, LLC, you confirm that
-# you are the copyright holder for those contributions and you grant
-# Best Practical Solutions, LLC a nonexclusive, worldwide, irrevocable,
-# royalty-free, perpetual, license to use, copy, create derivative
-# works based on those contributions, and sublicense and distribute
-# those contributions and any derivatives thereof.
-#
-# END BPS TAGGED BLOCK }}}
-package RT::Report::Tickets;
-
-use base qw/RT::Tickets/;
-use RT::Report::Tickets::Entry;
-
-use strict;
-use warnings;
-
-sub Groupings {
- my $self = shift;
- my %args = (@_);
- my @fields = qw(
- Owner
- Status
- Queue
- DueDaily
- DueMonthly
- DueAnnually
- ResolvedDaily
- ResolvedMonthly
- ResolvedAnnually
- CreatedDaily
- CreatedMonthly
- CreatedAnnually
- LastUpdatedDaily
- LastUpdatedMonthly
- LastUpdatedAnnually
- StartedDaily
- StartedMonthly
- StartedAnnually
- StartsDaily
- StartsMonthly
- StartsAnnually
- );
-
- @fields = map {$_, $_} @fields;
-
- my $queues = $args{'Queues'};
- if ( !$queues && $args{'Query'} ) {
- my @actions;
- my $tree;
- # XXX TODO REFACTOR OUT
- $self->_ParseQuery( $args{'Query'}, \$tree, \@actions );
- $queues = $tree->GetReferencedQueues;
- }
-
- if ( $queues ) {
- my $CustomFields = RT::CustomFields->new( $self->CurrentUser );
- foreach my $id (keys %$queues) {
- my $queue = RT::Queue->new( $self->CurrentUser );
- $queue->Load($id);
- unless ($queue->id) {
- # XXX TODO: This ancient code dates from a former developer
- # we have no idea what it means or why cfqueues are so encoded.
- $id =~ s/^.'*(.*).'*$/$1/;
- $queue->Load($id);
- }
- $CustomFields->LimitToQueue($queue->Id);
- }
- $CustomFields->LimitToGlobal;
- while ( my $CustomField = $CustomFields->Next ) {
- push @fields, "Custom field '". $CustomField->Name ."'", "CF.{". $CustomField->id ."}";
- }
- }
- return @fields;
-}
-
-sub Label {
- my $self = shift;
- my $field = shift;
- if ( $field =~ /^(?:CF|CustomField)\.{(.*)}$/ ) {
- my $cf = $1;
- return $self->CurrentUser->loc( "Custom field '[_1]'", $cf ) if $cf =~ /\D/;
- my $obj = RT::CustomField->new( $self->CurrentUser );
- $obj->Load( $cf );
- return $self->CurrentUser->loc( "Custom field '[_1]'", $obj->Name );
- }
- return $self->CurrentUser->loc($field);
-}
-
-sub GroupBy {
- my $self = shift;
- my %args = ref $_[0]? %{ $_[0] }: (@_);
-
- $self->{'_group_by_field'} = $args{'FIELD'};
- %args = $self->_FieldToFunction( %args );
-
- $self->SUPER::GroupBy( \%args );
-}
-
-sub Column {
- my $self = shift;
- my %args = (@_);
-
- if ( $args{'FIELD'} && !$args{'FUNCTION'} ) {
- %args = $self->_FieldToFunction( %args );
- }
-
- return $self->SUPER::Column( %args );
-}
-
-=head2 _DoSearch
-
-Subclass _DoSearch from our parent so we can go through and add in empty
-columns if it makes sense
-
-=cut
-
-sub _DoSearch {
- my $self = shift;
- $self->SUPER::_DoSearch( @_ );
- $self->AddEmptyRows;
-}
-
-=head2 _FieldToFunction FIELD
-
-Returns a tuple of the field or a database function to allow grouping on that
-field.
-
-=cut
-
-sub _FieldToFunction {
- my $self = shift;
- my %args = (@_);
-
- my $field = $args{'FIELD'};
-
- if ($field =~ /^(.*)(Daily|Monthly|Annually)$/) {
- my ($field, $grouping) = ($1, $2);
- if ( $grouping =~ /Daily/ ) {
- $args{'FUNCTION'} = "SUBSTR($field,1,10)";
- }
- elsif ( $grouping =~ /Monthly/ ) {
- $args{'FUNCTION'} = "SUBSTR($field,1,7)";
- }
- elsif ( $grouping =~ /Annually/ ) {
- $args{'FUNCTION'} = "SUBSTR($field,1,4)";
- }
- } elsif ( $field =~ /^(?:CF|CustomField)\.{(.*)}$/ ) { #XXX: use CFDecipher method
- my $cf_name = $1;
- my $cf = RT::CustomField->new( $self->CurrentUser );
- $cf->Load($cf_name);
- unless ( $cf->id ) {
- $RT::Logger->error("Couldn't load CustomField #$cf_name");
- } else {
- my ($ticket_cf_alias, $cf_alias) = $self->_CustomFieldJoin($cf->id, $cf->id, $cf_name);
- @args{qw(ALIAS FIELD)} = ($ticket_cf_alias, 'Content');
- }
- }
- return %args;
-}
-
-
-# Override the AddRecord from DBI::SearchBuilder::Unique. id isn't id here
-# wedon't want to disambiguate all the items with a count of 1.
-sub AddRecord {
- my $self = shift;
- my $record = shift;
- push @{$self->{'items'}}, $record;
- $self->{'rows'}++;
-}
-
-1;
-
-
-
-# Gotta skip over RT::Tickets->Next, since it does all sorts of crazy magic we
-# don't want.
-sub Next {
- my $self = shift;
- $self->RT::SearchBuilder::Next(@_);
-
-}
-
-sub NewItem {
- my $self = shift;
- return RT::Report::Tickets::Entry->new($RT::SystemUser); # $self->CurrentUser);
-}
-
-
-=head2 AddEmptyRows
-
-If we're grouping on a criterion we know how to add zero-value rows
-for, do that.
-
-=cut
-
-sub AddEmptyRows {
- my $self = shift;
- if ( $self->{'_group_by_field'} eq 'Status' ) {
- my %has = map { $_->__Value('Status') => 1 } @{ $self->ItemsArrayRef || [] };
-
- foreach my $status ( grep !$has{$_}, RT::Queue->new($self->CurrentUser)->StatusArray ) {
-
- my $record = $self->NewItem;
- $record->LoadFromHash( {
- id => 0,
- status => $status
- } );
- $self->AddRecord($record);
- }
- }
-}
-
-
-# XXX TODO: this code cut and pasted from html/Search/Build.html
-# This has already been improved (But not backported) in 3.7
-#
-# This code is hacky, evil and wrong. But it's end of lifed from day one and is
-# less likely to destabilize the codebase than the full refactoring it should get.
-use Regexp::Common qw /delimited/;
-
-# States
-use constant VALUE => 1;
-use constant AGGREG => 2;
-use constant OP => 4;
-use constant PAREN => 8;
-use constant KEYWORD => 16;
-
-sub _match {
-
- # Case insensitive equality
- my ( $y, $x ) = @_;
- return 1 if $x =~ /^$y$/i;
-
- # return 1 if ((lc $x) eq (lc $y)); # Why isnt this equiv?
- return 0;
-}
-
-sub _ParseQuery {
- my $self = shift;
- my $string = shift;
- my $tree = shift;
- my @actions = shift;
- my $want = KEYWORD | PAREN;
- my $last = undef;
-
- my $depth = 1;
-
- # make a tree root
- use RT::Interface::Web::QueryBuilder::Tree;
- $$tree = RT::Interface::Web::QueryBuilder::Tree->new;
- my $root = RT::Interface::Web::QueryBuilder::Tree->new( 'AND', $$tree );
- my $lastnode = $root;
- my $parentnode = $root;
-
- # get the FIELDS from Tickets_Overlay
- my $tickets = new RT::Tickets( $self->CurrentUser );
- my %FIELDS = %{ $tickets->FIELDS };
-
- # Lower Case version of FIELDS, for case insensitivity
- my %lcfields = map { ( lc($_) => $_ ) } ( keys %FIELDS );
-
- my @tokens = qw[VALUE AGGREG OP PAREN KEYWORD];
- my $re_aggreg = qr[(?i:AND|OR)];
- my $re_value = qr[$RE{delimited}{-delim=>qq{\'\"}}|\d+];
- my $re_keyword = qr[$RE{delimited}{-delim=>qq{\'\"}}|(?:\{|\}|\w|\.)+];
- my $re_op =
- qr[=|!=|>=|<=|>|<|(?i:IS NOT)|(?i:IS)|(?i:NOT LIKE)|(?i:LIKE)]
- ; # long to short
- my $re_paren = qr'\(|\)';
-
- # assume that $ea is AND if it is not set
- my ( $ea, $key, $op, $value ) = ( "AND", "", "", "" );
-
- # order of matches in the RE is important.. op should come early,
- # because it has spaces in it. otherwise "NOT LIKE" might be parsed
- # as a keyword or value.
-
- while (
- $string =~ /(
- $re_aggreg
- |$re_op
- |$re_keyword
- |$re_value
- |$re_paren
- )/igx
- )
- {
- my $val = $1;
- my $current = 0;
-
- # Highest priority is last
- $current = OP if _match( $re_op, $val );
- $current = VALUE if _match( $re_value, $val );
- $current = KEYWORD
- if _match( $re_keyword, $val ) && ( $want & KEYWORD );
- $current = AGGREG if _match( $re_aggreg, $val );
- $current = PAREN if _match( $re_paren, $val );
-
- unless ( $current && $want & $current ) {
-
- # Error
- # FIXME: I will only print out the highest $want value
- my $token = $tokens[ ( ( log $want ) / ( log 2 ) ) ];
- push @actions,
- [
- $self->CurrentUser->loc(
-"current: $current, want $want, Error near ->$val<- expecting a "
- . $token
- . " in '$string'\n"
- ),
- -1
- ];
- }
-
- # State Machine:
- my $parentdepth = $depth;
-
- # Parens are highest priority
- if ( $current & PAREN ) {
- if ( $val eq "(" ) {
- $depth++;
-
- # make a new node that the clauses can be children of
- $parentnode = RT::Interface::Web::QueryBuilder::Tree->new( $ea, $parentnode );
- }
- else {
- $depth--;
- $parentnode = $parentnode->getParent();
- $lastnode = $parentnode;
- }
-
- $want = KEYWORD | PAREN | AGGREG;
- }
- elsif ( $current & AGGREG ) {
- $ea = $val;
- $want = KEYWORD | PAREN;
- }
- elsif ( $current & KEYWORD ) {
- $key = $val;
- $want = OP;
- }
- elsif ( $current & OP ) {
- $op = $val;
- $want = VALUE;
- }
- elsif ( $current & VALUE ) {
- $value = $val;
-
- # Remove surrounding quotes from $key, $val
- # (in future, simplify as for($key,$val) { action on $_ })
- if ( $key =~ /$RE{delimited}{-delim=>qq{\'\"}}/ ) {
- substr( $key, 0, 1 ) = "";
- substr( $key, -1, 1 ) = "";
- }
- if ( $val =~ /$RE{delimited}{-delim=>qq{\'\"}}/ ) {
- substr( $val, 0, 1 ) = "";
- substr( $val, -1, 1 ) = "";
- }
-
- # Unescape escaped characters
- $key =~ s!\\(.)!$1!g;
- $val =~ s!\\(.)!$1!g;
-
- my $class;
- if ( exists $lcfields{ lc $key } ) {
- $key = $lcfields{ lc $key };
- $class = $FIELDS{$key}->[0];
- }
- if ( $class ne 'INT' ) {
- $val = "'$val'";
- }
-
- push @actions, [ $self->CurrentUser->loc("Unknown field: $key"), -1 ] unless $class;
-
- $want = PAREN | AGGREG;
- }
- else {
- push @actions, [ $self->CurrentUser->loc("I'm lost"), -1 ];
- }
-
- if ( $current & VALUE ) {
- if ( $key =~ /^CF./ ) {
- $key = "'" . $key . "'";
- }
- my $clause = {
- Key => $key,
- Op => $op,
- Value => $val
- };
-
- # explicity add a child to it
- $lastnode = RT::Interface::Web::QueryBuilder::Tree->new( $clause, $parentnode );
- $lastnode->getParent()->setNodeValue($ea);
-
- ( $ea, $key, $op, $value ) = ( "", "", "", "" );
- }
-
- $last = $current;
- } # while
-
- push @actions, [ $self->CurrentUser->loc("Incomplete query"), -1 ]
- unless ( ( $want | PAREN ) || ( $want | KEYWORD ) );
-
- push @actions, [ $self->CurrentUser->loc("Incomplete Query"), -1 ]
- unless ( $last && ( $last | PAREN ) || ( $last || VALUE ) );
-
- # This will never happen, because the parser will complain
- push @actions, [ $self->CurrentUser->loc("Mismatched parentheses"), -1 ]
- unless $depth == 1;
-};
-
-1;
diff --git a/rt/lib/RT/Report/Tickets/Entry.pm b/rt/lib/RT/Report/Tickets/Entry.pm
deleted file mode 100644
index f6ee22c0a..000000000
--- a/rt/lib/RT/Report/Tickets/Entry.pm
+++ /dev/null
@@ -1,55 +0,0 @@
-# BEGIN BPS TAGGED BLOCK {{{
-#
-# COPYRIGHT:
-#
-# This software is Copyright (c) 1996-2007 Best Practical Solutions, LLC
-# <jesse@bestpractical.com>
-#
-# (Except where explicitly superseded by other copyright notices)
-#
-#
-# LICENSE:
-#
-# This work is made available to you under the terms of Version 2 of
-# the GNU General Public License. A copy of that license should have
-# been provided with this software, but in any event can be snarfed
-# from www.gnu.org.
-#
-# This work is distributed in the hope that it will be useful, but
-# WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-# General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
-# 02110-1301 or visit their web page on the internet at
-# http://www.gnu.org/copyleft/gpl.html.
-#
-#
-# CONTRIBUTION SUBMISSION POLICY:
-#
-# (The following paragraph is not intended to limit the rights granted
-# to you to modify and distribute this software under the terms of
-# the GNU General Public License and is only of importance to you if
-# you choose to contribute your changes and enhancements to the
-# community by submitting them to Best Practical Solutions, LLC.)
-#
-# By intentionally submitting any modifications, corrections or
-# derivatives to this work, or any other work intended for use with
-# Request Tracker, to Best Practical Solutions, LLC, you confirm that
-# you are the copyright holder for those contributions and you grant
-# Best Practical Solutions, LLC a nonexclusive, worldwide, irrevocable,
-# royalty-free, perpetual, license to use, copy, create derivative
-# works based on those contributions, and sublicense and distribute
-# those contributions and any derivatives thereof.
-#
-# END BPS TAGGED BLOCK }}}
-package RT::Report::Tickets::Entry;
-use base qw/RT::Record/;
-
-# XXX TODO: how the heck do we acl a report?
-sub CurrentUserHasRight {1}
-
-
-1;
diff --git a/rt/lib/RT/Search/Googleish.pm b/rt/lib/RT/Search/Googleish.pm
deleted file mode 100644
index a7a1d3e77..000000000
--- a/rt/lib/RT/Search/Googleish.pm
+++ /dev/null
@@ -1,171 +0,0 @@
-
-# BEGIN BPS TAGGED BLOCK {{{
-#
-# COPYRIGHT:
-#
-# This software is Copyright (c) 1996-2007 Best Practical Solutions, LLC
-# <jesse@bestpractical.com>
-#
-# (Except where explicitly superseded by other copyright notices)
-#
-#
-# LICENSE:
-#
-# This work is made available to you under the terms of Version 2 of
-# the GNU General Public License. A copy of that license should have
-# been provided with this software, but in any event can be snarfed
-# from www.gnu.org.
-#
-# This work is distributed in the hope that it will be useful, but
-# WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-# General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
-# 02110-1301 or visit their web page on the internet at
-# http://www.gnu.org/copyleft/gpl.html.
-#
-#
-# CONTRIBUTION SUBMISSION POLICY:
-#
-# (The following paragraph is not intended to limit the rights granted
-# to you to modify and distribute this software under the terms of
-# the GNU General Public License and is only of importance to you if
-# you choose to contribute your changes and enhancements to the
-# community by submitting them to Best Practical Solutions, LLC.)
-#
-# By intentionally submitting any modifications, corrections or
-# derivatives to this work, or any other work intended for use with
-# Request Tracker, to Best Practical Solutions, LLC, you confirm that
-# you are the copyright holder for those contributions and you grant
-# Best Practical Solutions, LLC a nonexclusive, worldwide, irrevocable,
-# royalty-free, perpetual, license to use, copy, create derivative
-# works based on those contributions, and sublicense and distribute
-# those contributions and any derivatives thereof.
-#
-# END BPS TAGGED BLOCK }}}
-=head1 NAME
-
- RT::Search::Googlish
-
-=head1 SYNOPSIS
-
-=head1 DESCRIPTION
-
-Use the argument passed in as a "Google-style" set of keywords
-
-=head1 METHODS
-
-
-=begin testing
-
-ok (require RT::Search::Generic);
-
-=end testing
-
-
-=cut
-
-package RT::Search::Googleish;
-
-use strict;
-use base qw(RT::Search::Generic);
-
-
-# {{{ sub Describe
-sub Describe {
- my $self = shift;
- return ($self->loc("No description for [_1]", ref $self));
-}
-# }}}
-
-# {{{ sub QueryToSQL
-sub QueryToSQL {
- my $self = shift;
- my $query = shift || $self->Argument;
- my @keywords = split /\s+/, $query;
- my (
- @tql_clauses, @owner_clauses, @queue_clauses,
- @user_clauses, @id_clauses, @status_clauses
- );
- my ( $Queue, $User );
- for my $key (@keywords) {
-
- # Is this a ticket number? If so, go to it.
- if ( $key =~ m/^\d+$/ ) {
- push @id_clauses, "id = '$key'";
- }
-
- elsif ( $key =~ /\w+\@\w+/ ) {
- push @user_clauses, "Requestor LIKE '$key'";
- }
-
- # Is there a status with this name?
- elsif (
- $Queue = RT::Queue->new( $self->TicketsObj->CurrentUser )
- and $Queue->IsValidStatus($key)
- )
- {
- push @status_clauses, "Status = '" . $key . "'";
- }
-
- # Is there a owner named $key?
- # Is there a queue named $key?
- elsif ( $Queue = RT::Queue->new( $self->TicketsObj->CurrentUser )
- and $Queue->Load($key) )
- {
- push @queue_clauses, "Queue = '" . $Queue->Name . "'";
- }
-
- # Is there a owner named $key?
- elsif ( $User = RT::User->new( $self->TicketsObj->CurrentUser )
- and $User->Load($key)
- and $User->Privileged )
- {
- push @owner_clauses, "Owner = '" . $User->Name . "'";
- }
-
- elsif ($key =~ /^fulltext:(.*?)$/i) {
- $key = $1;
- $key =~ s/['\\].*//g;
- push @tql_clauses, "Content LIKE '$key'";
-
- }
-
- # Else, subject must contain $key
- else {
- $key =~ s/['\\].*//g;
- push @tql_clauses, "Subject LIKE '$key'";
- }
- }
-
- push @tql_clauses, join( " OR ", sort @id_clauses );
- push @tql_clauses, join( " OR ", sort @owner_clauses );
- push @tql_clauses, join( " OR ", sort @status_clauses );
- push @tql_clauses, join( " OR ", sort @user_clauses );
- push @tql_clauses, join( " OR ", sort @queue_clauses );
- @tql_clauses = grep { $_ ? $_ = "( $_ )" : undef } @tql_clauses;
- return join " AND ", sort @tql_clauses;
-}
-# }}}
-
-# {{{ sub Prepare
-sub Prepare {
- my $self = shift;
- my $tql = $self->QueryToSQL($self->Argument);
-
- $RT::Logger->crit($tql);
-
- $self->TicketsObj->FromSQL($tql);
- return(1);
-}
-# }}}
-
-eval "require RT::Search::Googleish_Vendor";
-die $@ if ($@ && $@ !~ qr{^Can't locate RT/Search/Googleish_Vendor.pm});
-eval "require RT::Search::Googleish_Local";
-die $@ if ($@ && $@ !~ qr{^Can't locate RT/Search/Googleish_Local.pm});
-
-1;
diff --git a/rt/lib/RT/TicketCustomFieldValue.pm b/rt/lib/RT/TicketCustomFieldValue.pm
deleted file mode 100644
index 717647266..000000000
--- a/rt/lib/RT/TicketCustomFieldValue.pm
+++ /dev/null
@@ -1,308 +0,0 @@
-# {{{ BEGIN BPS TAGGED BLOCK
-#
-# COPYRIGHT:
-#
-# This software is Copyright (c) 1996-2004 Best Practical Solutions, LLC
-# <jesse@bestpractical.com>
-#
-# (Except where explicitly superseded by other copyright notices)
-#
-#
-# LICENSE:
-#
-# This work is made available to you under the terms of Version 2 of
-# the GNU General Public License. A copy of that license should have
-# been provided with this software, but in any event can be snarfed
-# from www.gnu.org.
-#
-# This work is distributed in the hope that it will be useful, but
-# WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-# General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
-#
-#
-# CONTRIBUTION SUBMISSION POLICY:
-#
-# (The following paragraph is not intended to limit the rights granted
-# to you to modify and distribute this software under the terms of
-# the GNU General Public License and is only of importance to you if
-# you choose to contribute your changes and enhancements to the
-# community by submitting them to Best Practical Solutions, LLC.)
-#
-# By intentionally submitting any modifications, corrections or
-# derivatives to this work, or any other work intended for use with
-# Request Tracker, to Best Practical Solutions, LLC, you confirm that
-# you are the copyright holder for those contributions and you grant
-# Best Practical Solutions, LLC a nonexclusive, worldwide, irrevocable,
-# royalty-free, perpetual, license to use, copy, create derivative
-# works based on those contributions, and sublicense and distribute
-# those contributions and any derivatives thereof.
-#
-# }}} END BPS TAGGED BLOCK
-# Autogenerated by DBIx::SearchBuilder factory (by <jesse@bestpractical.com>)
-# WARNING: THIS FILE IS AUTOGENERATED. ALL CHANGES TO THIS FILE WILL BE LOST.
-#
-# !! DO NOT EDIT THIS FILE !!
-#
-
-use strict;
-
-
-=head1 NAME
-
-RT::TicketCustomFieldValue
-
-
-=head1 SYNOPSIS
-
-=head1 DESCRIPTION
-
-=head1 METHODS
-
-=cut
-
-package RT::TicketCustomFieldValue;
-use RT::Record;
-use RT::CustomField;
-use RT::Ticket;
-
-
-use vars qw( @ISA );
-@ISA= qw( RT::Record );
-
-sub _Init {
- my $self = shift;
-
- $self->Table('TicketCustomFieldValues');
- $self->SUPER::_Init(@_);
-}
-
-
-
-
-
-=head2 Create PARAMHASH
-
-Create takes a hash of values and creates a row in the database:
-
- int(11) 'Ticket'.
- int(11) 'CustomField'.
- varchar(255) 'Content'.
-
-=cut
-
-
-
-
-sub Create {
- my $self = shift;
- my %args = (
- Ticket => '0',
- CustomField => '0',
- Content => '',
-
- @_);
- $self->SUPER::Create(
- Ticket => $args{'Ticket'},
- CustomField => $args{'CustomField'},
- Content => $args{'Content'},
-);
-
-}
-
-
-
-=head2 id
-
-Returns the current value of id.
-(In the database, id is stored as int(11).)
-
-
-=cut
-
-
-=head2 Ticket
-
-Returns the current value of Ticket.
-(In the database, Ticket is stored as int(11).)
-
-
-
-=head2 SetTicket VALUE
-
-
-Set Ticket to VALUE.
-Returns (1, 'Status message') on success and (0, 'Error Message') on failure.
-(In the database, Ticket will be stored as a int(11).)
-
-
-=cut
-
-
-=head2 TicketObj
-
-Returns the Ticket Object which has the id returned by Ticket
-
-
-=cut
-
-sub TicketObj {
- my $self = shift;
- my $Ticket = RT::Ticket->new($self->CurrentUser);
- $Ticket->Load($self->__Value('Ticket'));
- return($Ticket);
-}
-
-=head2 CustomField
-
-Returns the current value of CustomField.
-(In the database, CustomField is stored as int(11).)
-
-
-
-=head2 SetCustomField VALUE
-
-
-Set CustomField to VALUE.
-Returns (1, 'Status message') on success and (0, 'Error Message') on failure.
-(In the database, CustomField will be stored as a int(11).)
-
-
-=cut
-
-
-=head2 CustomFieldObj
-
-Returns the CustomField Object which has the id returned by CustomField
-
-
-=cut
-
-sub CustomFieldObj {
- my $self = shift;
- my $CustomField = RT::CustomField->new($self->CurrentUser);
- $CustomField->Load($self->__Value('CustomField'));
- return($CustomField);
-}
-
-=head2 Content
-
-Returns the current value of Content.
-(In the database, Content is stored as varchar(255).)
-
-
-
-=head2 SetContent VALUE
-
-
-Set Content to VALUE.
-Returns (1, 'Status message') on success and (0, 'Error Message') on failure.
-(In the database, Content will be stored as a varchar(255).)
-
-
-=cut
-
-
-=head2 Creator
-
-Returns the current value of Creator.
-(In the database, Creator is stored as int(11).)
-
-
-=cut
-
-
-=head2 Created
-
-Returns the current value of Created.
-(In the database, Created is stored as datetime.)
-
-
-=cut
-
-
-=head2 LastUpdatedBy
-
-Returns the current value of LastUpdatedBy.
-(In the database, LastUpdatedBy is stored as int(11).)
-
-
-=cut
-
-
-=head2 LastUpdated
-
-Returns the current value of LastUpdated.
-(In the database, LastUpdated is stored as datetime.)
-
-
-=cut
-
-
-
-sub _CoreAccessible {
- {
-
- id =>
- {read => 1, type => 'int(11)', default => ''},
- Ticket =>
- {read => 1, write => 1, type => 'int(11)', default => '0'},
- CustomField =>
- {read => 1, write => 1, type => 'int(11)', default => '0'},
- Content =>
- {read => 1, write => 1, type => 'varchar(255)', default => ''},
- Creator =>
- {read => 1, auto => 1, type => 'int(11)', default => '0'},
- Created =>
- {read => 1, auto => 1, type => 'datetime', default => ''},
- LastUpdatedBy =>
- {read => 1, auto => 1, type => 'int(11)', default => '0'},
- LastUpdated =>
- {read => 1, auto => 1, type => 'datetime', default => ''},
-
- }
-};
-
-
- eval "require RT::TicketCustomFieldValue_Overlay";
- if ($@ && $@ !~ qr{^Can't locate RT/TicketCustomFieldValue_Overlay.pm}) {
- die $@;
- };
-
- eval "require RT::TicketCustomFieldValue_Vendor";
- if ($@ && $@ !~ qr{^Can't locate RT/TicketCustomFieldValue_Vendor.pm}) {
- die $@;
- };
-
- eval "require RT::TicketCustomFieldValue_Local";
- if ($@ && $@ !~ qr{^Can't locate RT/TicketCustomFieldValue_Local.pm}) {
- die $@;
- };
-
-
-
-
-=head1 SEE ALSO
-
-This class allows "overlay" methods to be placed
-into the following files _Overlay is for a System overlay by the original author,
-_Vendor is for 3rd-party vendor add-ons, while _Local is for site-local customizations.
-
-These overlay files can contain new subs or subs to replace existing subs in this module.
-
-If you'll be working with perl 5.6.0 or greater, each of these files should begin with the line
-
- no warnings qw(redefine);
-
-so that perl does not kick and scream when you redefine a subroutine or variable in your overlay.
-
-RT::TicketCustomFieldValue_Overlay, RT::TicketCustomFieldValue_Vendor, RT::TicketCustomFieldValue_Local
-
-=cut
-
-
-1;
diff --git a/rt/lib/RT/TicketCustomFieldValue_Overlay.pm b/rt/lib/RT/TicketCustomFieldValue_Overlay.pm
deleted file mode 100644
index 270c5939a..000000000
--- a/rt/lib/RT/TicketCustomFieldValue_Overlay.pm
+++ /dev/null
@@ -1,74 +0,0 @@
-# {{{ BEGIN BPS TAGGED BLOCK
-#
-# COPYRIGHT:
-#
-# This software is Copyright (c) 1996-2004 Best Practical Solutions, LLC
-# <jesse@bestpractical.com>
-#
-# (Except where explicitly superseded by other copyright notices)
-#
-#
-# LICENSE:
-#
-# This work is made available to you under the terms of Version 2 of
-# the GNU General Public License. A copy of that license should have
-# been provided with this software, but in any event can be snarfed
-# from www.gnu.org.
-#
-# This work is distributed in the hope that it will be useful, but
-# WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-# General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
-#
-#
-# CONTRIBUTION SUBMISSION POLICY:
-#
-# (The following paragraph is not intended to limit the rights granted
-# to you to modify and distribute this software under the terms of
-# the GNU General Public License and is only of importance to you if
-# you choose to contribute your changes and enhancements to the
-# community by submitting them to Best Practical Solutions, LLC.)
-#
-# By intentionally submitting any modifications, corrections or
-# derivatives to this work, or any other work intended for use with
-# Request Tracker, to Best Practical Solutions, LLC, you confirm that
-# you are the copyright holder for those contributions and you grant
-# Best Practical Solutions, LLC a nonexclusive, worldwide, irrevocable,
-# royalty-free, perpetual, license to use, copy, create derivative
-# works based on those contributions, and sublicense and distribute
-# those contributions and any derivatives thereof.
-#
-# }}} END BPS TAGGED BLOCK
-use strict;
-no warnings qw(redefine);
-
-
-
-=head2 LoadByTicketContentAndCustomField { Ticket => TICKET, CustomField => CUSTOMFIELD, Content => CONTENT }
-
-Loads a custom field value by Ticket, Content and which CustomField it's tied to
-
-=cut
-
-
-sub LoadByTicketContentAndCustomField {
- my $self = shift;
- my %args = ( Ticket => undef,
- CustomField => undef,
- Content => undef,
- @_
- );
-
-
- $self->LoadByCols( Content => $args{'Content'},
- CustomField => $args{'CustomField'},
- Ticket => $args{'Ticket'});
-
-
-}
-
-1;
diff --git a/rt/lib/RT/TicketCustomFieldValues.pm b/rt/lib/RT/TicketCustomFieldValues.pm
deleted file mode 100644
index 2174afef3..000000000
--- a/rt/lib/RT/TicketCustomFieldValues.pm
+++ /dev/null
@@ -1,137 +0,0 @@
-# {{{ BEGIN BPS TAGGED BLOCK
-#
-# COPYRIGHT:
-#
-# This software is Copyright (c) 1996-2004 Best Practical Solutions, LLC
-# <jesse@bestpractical.com>
-#
-# (Except where explicitly superseded by other copyright notices)
-#
-#
-# LICENSE:
-#
-# This work is made available to you under the terms of Version 2 of
-# the GNU General Public License. A copy of that license should have
-# been provided with this software, but in any event can be snarfed
-# from www.gnu.org.
-#
-# This work is distributed in the hope that it will be useful, but
-# WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-# General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
-#
-#
-# CONTRIBUTION SUBMISSION POLICY:
-#
-# (The following paragraph is not intended to limit the rights granted
-# to you to modify and distribute this software under the terms of
-# the GNU General Public License and is only of importance to you if
-# you choose to contribute your changes and enhancements to the
-# community by submitting them to Best Practical Solutions, LLC.)
-#
-# By intentionally submitting any modifications, corrections or
-# derivatives to this work, or any other work intended for use with
-# Request Tracker, to Best Practical Solutions, LLC, you confirm that
-# you are the copyright holder for those contributions and you grant
-# Best Practical Solutions, LLC a nonexclusive, worldwide, irrevocable,
-# royalty-free, perpetual, license to use, copy, create derivative
-# works based on those contributions, and sublicense and distribute
-# those contributions and any derivatives thereof.
-#
-# }}} END BPS TAGGED BLOCK
-# Autogenerated by DBIx::SearchBuilder factory (by <jesse@bestpractical.com>)
-# WARNING: THIS FILE IS AUTOGENERATED. ALL CHANGES TO THIS FILE WILL BE LOST.
-#
-# !! DO NOT EDIT THIS FILE !!
-#
-
-use strict;
-
-
-=head1 NAME
-
- RT::TicketCustomFieldValues -- Class Description
-
-=head1 SYNOPSIS
-
- use RT::TicketCustomFieldValues
-
-=head1 DESCRIPTION
-
-
-=head1 METHODS
-
-=cut
-
-package RT::TicketCustomFieldValues;
-
-use RT::SearchBuilder;
-use RT::TicketCustomFieldValue;
-
-use vars qw( @ISA );
-@ISA= qw(RT::SearchBuilder);
-
-
-sub _Init {
- my $self = shift;
- $self->{'table'} = 'TicketCustomFieldValues';
- $self->{'primary_key'} = 'id';
-
-
- return ( $self->SUPER::_Init(@_) );
-}
-
-
-=head2 NewItem
-
-Returns an empty new RT::TicketCustomFieldValue item
-
-=cut
-
-sub NewItem {
- my $self = shift;
- return(RT::TicketCustomFieldValue->new($self->CurrentUser));
-}
-
- eval "require RT::TicketCustomFieldValues_Overlay";
- if ($@ && $@ !~ qr{^Can't locate RT/TicketCustomFieldValues_Overlay.pm}) {
- die $@;
- };
-
- eval "require RT::TicketCustomFieldValues_Vendor";
- if ($@ && $@ !~ qr{^Can't locate RT/TicketCustomFieldValues_Vendor.pm}) {
- die $@;
- };
-
- eval "require RT::TicketCustomFieldValues_Local";
- if ($@ && $@ !~ qr{^Can't locate RT/TicketCustomFieldValues_Local.pm}) {
- die $@;
- };
-
-
-
-
-=head1 SEE ALSO
-
-This class allows "overlay" methods to be placed
-into the following files _Overlay is for a System overlay by the original author,
-_Vendor is for 3rd-party vendor add-ons, while _Local is for site-local customizations.
-
-These overlay files can contain new subs or subs to replace existing subs in this module.
-
-If you'll be working with perl 5.6.0 or greater, each of these files should begin with the line
-
- no warnings qw(redefine);
-
-so that perl does not kick and scream when you redefine a subroutine or variable in your overlay.
-
-RT::TicketCustomFieldValues_Overlay, RT::TicketCustomFieldValues_Vendor, RT::TicketCustomFieldValues_Local
-
-=cut
-
-
-1;
diff --git a/rt/lib/RT/TicketCustomFieldValues_Overlay.pm b/rt/lib/RT/TicketCustomFieldValues_Overlay.pm
deleted file mode 100644
index 8cbaca574..000000000
--- a/rt/lib/RT/TicketCustomFieldValues_Overlay.pm
+++ /dev/null
@@ -1,108 +0,0 @@
-# {{{ BEGIN BPS TAGGED BLOCK
-#
-# COPYRIGHT:
-#
-# This software is Copyright (c) 1996-2004 Best Practical Solutions, LLC
-# <jesse@bestpractical.com>
-#
-# (Except where explicitly superseded by other copyright notices)
-#
-#
-# LICENSE:
-#
-# This work is made available to you under the terms of Version 2 of
-# the GNU General Public License. A copy of that license should have
-# been provided with this software, but in any event can be snarfed
-# from www.gnu.org.
-#
-# This work is distributed in the hope that it will be useful, but
-# WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-# General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
-#
-#
-# CONTRIBUTION SUBMISSION POLICY:
-#
-# (The following paragraph is not intended to limit the rights granted
-# to you to modify and distribute this software under the terms of
-# the GNU General Public License and is only of importance to you if
-# you choose to contribute your changes and enhancements to the
-# community by submitting them to Best Practical Solutions, LLC.)
-#
-# By intentionally submitting any modifications, corrections or
-# derivatives to this work, or any other work intended for use with
-# Request Tracker, to Best Practical Solutions, LLC, you confirm that
-# you are the copyright holder for those contributions and you grant
-# Best Practical Solutions, LLC a nonexclusive, worldwide, irrevocable,
-# royalty-free, perpetual, license to use, copy, create derivative
-# works based on those contributions, and sublicense and distribute
-# those contributions and any derivatives thereof.
-#
-# }}} END BPS TAGGED BLOCK
-use strict;
-no warnings qw(redefine);
-
-# {{{ sub LimitToCustomField
-
-=head2 LimitToCustomField FIELD
-
-Limits the returned set to values for the custom field with Id FIELD
-
-=cut
-
-sub LimitToCustomField {
- my $self = shift;
- my $cf = shift;
- return ($self->Limit( FIELD => 'CustomField',
- VALUE => $cf,
- OPERATOR => '='));
-
-}
-
-# }}}
-
-# {{{ sub LimitToTicket
-
-=head2 LimitToTicket TICKETID
-
-Limits the returned set to values for the ticket with Id TICKETID
-
-=cut
-
-sub LimitToTicket {
- my $self = shift;
- my $ticket = shift;
- return ($self->Limit( FIELD => 'Ticket',
- VALUE => $ticket,
- OPERATOR => '='));
-
-}
-
-# }}}
-
-
-=sub HasEntry VALUE
-
-Returns true if this CustomFieldValues collection has an entry with content that eq VALUE
-
-=cut
-
-
-sub HasEntry {
- my $self = shift;
- my $value = shift;
-
- #TODO: this could cache and optimize a fair bit.
- foreach my $item (@{$self->ItemsArrayRef}) {
- return(1) if ($item->Content eq $value);
- }
- return undef;
-
-}
-
-1;
-
diff --git a/rt/lib/t/00smoke.t.in b/rt/lib/t/00smoke.t.in
deleted file mode 100644
index 288dd4aae..000000000
--- a/rt/lib/t/00smoke.t.in
+++ /dev/null
@@ -1,14 +0,0 @@
-#!@PERL@
-
-use Test::More qw(no_plan);
-
-use lib "@RT_LIB_PATH@";
-use RT;
-ok(RT::LoadConfig);
-ok(RT::Init, "Basic initialization and DB connectivity");
-
-use File::Find;
-File::Find::find({wanted => \&wanted}, 'lib/');
-sub wanted { /^*\.pm\z/s && ok(require $_, "Requiring '$_'"); }
-
-
diff --git a/rt/lib/t/01harness.t b/rt/lib/t/01harness.t
deleted file mode 100644
index 98c28d2ba..000000000
--- a/rt/lib/t/01harness.t
+++ /dev/null
@@ -1,12 +0,0 @@
-#!/usr/bin/perl
-
-use Test::More qw(no_plan);
-
-use lib "/opt/rt3/lib";
-use RT;
-ok(RT::LoadConfig);
-ok(RT::Init, "Basic initialization and DB connectivity");
-
-my $test = shift @ARGV;
-require $test;
-
diff --git a/rt/lib/t/01harness.t.in b/rt/lib/t/01harness.t.in
deleted file mode 100644
index d132330c2..000000000
--- a/rt/lib/t/01harness.t.in
+++ /dev/null
@@ -1,12 +0,0 @@
-#!@PERL@
-
-use Test::More qw(no_plan);
-
-use lib "@RT_LIB_PATH@";
-use RT;
-ok(RT::LoadConfig);
-ok(RT::Init, "Basic initialization and DB connectivity");
-
-my $test = shift @ARGV;
-require $test;
-
diff --git a/rt/lib/t/02regression.t b/rt/lib/t/02regression.t
deleted file mode 100644
index 4504cc76a..000000000
--- a/rt/lib/t/02regression.t
+++ /dev/null
@@ -1,44 +0,0 @@
-#!/usr/bin/perl
-
-use Test::More qw(no_plan);
-
-use lib "/opt/rt3/lib";
-use RT;
-ok(RT::LoadConfig);
-ok(RT::Init, "Basic initialization and DB connectivity");
-
-# Create a new queue
-use_ok(RT::Queue);
-my $q = RT::Queue->new($RT::SystemUser);
-
-$q->Load('regression');
-if ($q->id != 0) {
- die "Regression tests not starting with a clean DB. Bailing";
-}
-
-my ($id, $msg) = $q->Create( Name => 'Regression',
- Description => 'A regression test queue',
- CorrespondAddress => 'correspond@a',
- CommentAddress => 'comment@a');
-
-isnt($id, 0, "Queue was created sucessfully - $msg");
-
-my $q2 = RT::Queue->new($RT::SystemUser);
-
-ok($q2->Load($id));
-is($q2->id, $id, "Sucessfully loaded the queue again");
-is($q2->Name, 'Regression');
-is($q2->Description, 'A regression test queue');
-is($q2->CorrespondAddress, 'correspond@a');
-is($q2->CommentAddress, 'comment@a');
-
-
-use File::Find;
-File::Find::find({wanted => \&wanted_autogen}, 'lib/t/autogen');
-sub wanted_autogen { /^autogen.*\.t\z/s && require $_; }
-
-File::Find::find({wanted => \&wanted_regression}, 'lib/t/regression');
-sub wanted_regression { /^*\.t\z/s && require $_; }
-
-require "/opt/rt3/lib/t/03web.pl";
-require "/opt/rt3/lib/t/04_send_email.pl";
diff --git a/rt/lib/t/02regression.t.in b/rt/lib/t/02regression.t.in
deleted file mode 100644
index c2e3277a9..000000000
--- a/rt/lib/t/02regression.t.in
+++ /dev/null
@@ -1,47 +0,0 @@
-#!@PERL@
-
-use Test::More qw(no_plan);
-
-use lib "@RT_LIB_PATH@";
-use RT;
-ok(RT::LoadConfig);
-ok(RT::Init, "Basic initialization and DB connectivity");
-
-# Create a new queue
-use_ok(RT::Queue);
-my $q = RT::Queue->new($RT::SystemUser);
-
-$q->Load('regression');
-if ($q->id != 0) {
- die "Regression tests not starting with a clean DB. Bailing";
-}
-
-my ($id, $msg) = $q->Create( Name => 'Regression',
- Description => 'A regression test queue',
- CorrespondAddress => 'correspond@a',
- CommentAddress => 'comment@a');
-
-isnt($id, 0, "Queue was created sucessfully - $msg");
-
-my $q2 = RT::Queue->new($RT::SystemUser);
-
-ok($q2->Load($id));
-is($q2->id, $id, "Sucessfully loaded the queue again");
-is($q2->Name, 'Regression');
-is($q2->Description, 'A regression test queue');
-is($q2->CorrespondAddress, 'correspond@a');
-is($q2->CommentAddress, 'comment@a');
-
-
-use File::Find;
-File::Find::find({wanted => \&wanted_autogen,
- preprocess => sub {return sort @_}}, 'lib/t/autogen');
-sub wanted_autogen { /^autogen.*\.t\z/s && require $_; }
-
-File::Find::find({wanted => \&wanted_regression,
- preprocess => sub {return sort @_}}, 'lib/t/regression');
-sub wanted_regression { /^*\.t\z/s && require $_; }
-
-require "@RT_LIB_PATH@/t/03web.pl";
-require "@RT_LIB_PATH@/t/04_send_email.pl";
-require "@RT_LIB_PATH@/t/05cronsupport.pl";
diff --git a/rt/lib/t/03web.pl b/rt/lib/t/03web.pl
deleted file mode 100644
index 94ad3e97e..000000000
--- a/rt/lib/t/03web.pl
+++ /dev/null
@@ -1,94 +0,0 @@
-#!/usr/bin/perl
-
-use strict;
-use WWW::Mechanize;
-use HTTP::Request::Common;
-use HTTP::Cookies;
-use LWP;
-use Encode;
-
-my $cookie_jar = HTTP::Cookies->new;
-my $agent = WWW::Mechanize->new();
-
-# give the agent a place to stash the cookies
-
-$agent->cookie_jar($cookie_jar);
-
-
-# get the top page
-my $url = "http://localhost".$RT::WebPath."/";
-$agent->get($url);
-
-is ($agent->{'status'}, 200, "Loaded a page");
-
-
-# {{{ test a login
-
-# follow the link marked "Login"
-
-ok($agent->{form}->find_input('user'));
-
-ok($agent->{form}->find_input('pass'));
-ok ($agent->{'content'} =~ /username:/i);
-$agent->field( 'user' => 'root' );
-$agent->field( 'pass' => 'password' );
-# the field isn't named, so we have to click link 0
-$agent->click(0);
-is($agent->{'status'}, 200, "Fetched the page ok");
-ok( $agent->{'content'} =~ /Logout/i, "Found a logout link");
-
-
-
-$agent->get($url."Ticket/Create.html?Queue=1");
-is ($agent->{'status'}, 200, "Loaded Create.html");
-$agent->form(3);
-# Start with a string containing characters in latin1
-my $string = "I18N Web Testing æøå";
-Encode::from_to($string, 'iso-8859-1', 'utf8');
-$agent->field('Subject' => "Foo");
-$agent->field('Content' => $string);
-ok($agent->submit(), "Created new ticket with $string");
-
-ok( $agent->{'content'} =~ qr{$string} , "Found the content");
-
-$agent->get($url."Ticket/Create.html?Queue=1");
-is ($agent->{'status'}, 200, "Loaded Create.html");
-$agent->form(3);
-# Start with a string containing characters in latin1
-my $string = "I18N Web Testing æøå";
-Encode::from_to($string, 'iso-8859-1', 'utf8');
-$agent->field('Subject' => $string);
-$agent->field('Content' => "BAR");
-ok($agent->submit(), "Created new ticket with $string");
-
-ok( $agent->{'content'} =~ qr{$string} , "Found the content");
-
-
-
-# }}}
-
-
-
-use File::Find;
-find ( \&wanted , 'html/');
-
-sub wanted {
- -f && /\.html$/ && $_ !~ /Logout.html$/ && test_get($File::Find::name);
-}
-
-sub test_get {
- my $file = shift;
-
-
- $file =~ s#^html/##;
- ok ($agent->get("$url/$file", "GET $url/$file"));
- is ($agent->{'status'}, 200, "Loaded $file");
- ok( $agent->{'content'} =~ /Logout/i, "Found a logout link on $file ");
- ok( $agent->{'content'} !~ /Not logged in/i, "Still logged in for $file");
- ok( $agent->{'content'} !~ /System error/i, "Didn't get a Mason compilation error on $file");
-
-}
-
-# }}}
-
-1;
diff --git a/rt/lib/t/03web.pl.in b/rt/lib/t/03web.pl.in
deleted file mode 100644
index 25c26e711..000000000
--- a/rt/lib/t/03web.pl.in
+++ /dev/null
@@ -1,170 +0,0 @@
-#!@PERL@
-
-use strict;
-use WWW::Mechanize;
-use HTTP::Request::Common;
-use HTTP::Cookies;
-use LWP;
-use Encode;
-
-my $cookie_jar = HTTP::Cookies->new;
-my $agent = WWW::Mechanize->new();
-
-# give the agent a place to stash the cookies
-
-$agent->cookie_jar($cookie_jar);
-
-
-# get the top page
-my $url = "http://localhost".$RT::WebPath."/";
-$agent->get($url);
-
-is ($agent->{'status'}, 200, "Loaded a page");
-
-
-# {{{ test a login
-
-# follow the link marked "Login"
-
-ok($agent->{form}->find_input('user'));
-
-ok($agent->{form}->find_input('pass'));
-ok ($agent->{'content'} =~ /username:/i);
-$agent->field( 'user' => 'root' );
-$agent->field( 'pass' => 'password' );
-# the field isn't named, so we have to click link 0
-$agent->click(0);
-is($agent->{'status'}, 200, "Fetched the page ok");
-ok( $agent->{'content'} =~ /Logout/i, "Found a logout link");
-
-
-
-$agent->get($url."Ticket/Create.html?Queue=1");
-is ($agent->{'status'}, 200, "Loaded Create.html");
-$agent->form(3);
-# Start with a string containing characters in latin1
-my $string = "I18N Web Testing æøå";
-Encode::from_to($string, 'iso-8859-1', 'utf8');
-$agent->field('Subject' => "Foo");
-$agent->field('Content' => $string);
-ok($agent->submit(), "Created new ticket with $string");
-
-ok( $agent->{'content'} =~ qr{$string} , "Found the content");
-
-$agent->get($url."Ticket/Create.html?Queue=1");
-is ($agent->{'status'}, 200, "Loaded Create.html");
-$agent->form(3);
-# Start with a string containing characters in latin1
-my $string = "I18N Web Testing æøå";
-Encode::from_to($string, 'iso-8859-1', 'utf8');
-$agent->field('Subject' => $string);
-$agent->field('Content' => "BAR");
-ok($agent->submit(), "Created new ticket with $string");
-
-ok( $agent->{'content'} =~ qr{$string} , "Found the content");
-
-
-
-# }}}
-
-# {{{ Query Builder tests
-
-my $response = $agent->get($url."Search/Build.html");
-ok( $response->is_success, "Fetched " . $url."Search/Build.html" );
-
-# Parsing TicketSQL
-#
-# Adding items
-
-# set the first value
-ok($agent->form_name('BuildQuery'));
-$agent->field("AttachmentField", "Subject");
-$agent->field("AttachmentOp", "LIKE");
-$agent->field("ValueOfAttachment", "aaa");
-$agent->submit();
-
-# set the next value
-ok($agent->form_name('BuildQuery'));
-$agent->field("AttachmentField", "Subject");
-$agent->field("AttachmentOp", "LIKE");
-$agent->field("ValueOfAttachment", "bbb");
-$agent->submit();
-
-ok($agent->form_name('BuildQuery'));
-
-# get the query
-my $query = $agent->current_form->find_input("Query")->value;
-# strip whitespace from ends
-$query =~ s/^\s*//g;
-$query =~ s/\s*$//g;
-
-# collapse other whitespace
-$query =~ s/\s+/ /g;
-
-is ($query, "Subject LIKE 'aaa' AND Subject LIKE 'bbb'");
-
-# - new items go one level down
-# - add items at currently selected level
-# - if nothing is selected, add at end, one level down
-#
-# move left
-# - error if nothing selected
-# - same item should be selected after move
-# - can't move left if you're at the top level
-#
-# move right
-# - error if nothing selected
-# - same item should be selected after move
-# - can always move right (no max depth...should there be?)
-#
-# move up
-# - error if nothing selected
-# - same item should be selected after move
-# - can't move up if you're first in the list
-#
-# move down
-# - error if nothing selected
-# - same item should be selected after move
-# - can't move down if you're last in the list
-#
-# toggle
-# - error if nothing selected
-# - change all aggregators in the grouping
-# - don't change any others
-#
-# delete
-# - error if nothing selected
-# - delete currently selected item
-# - delete all children of a grouping
-# - if delete leaves a node with no children, delete that, too
-# - what should be selected?
-#
-# Clear
-# - clears entire query
-# - clears it from the session, too
-
-# }}}
-
-use File::Find;
-find ( \&wanted , 'html/');
-
-sub wanted {
- -f && /\.html$/ && $_ !~ /Logout.html$/ && test_get($File::Find::name);
-}
-
-sub test_get {
- my $file = shift;
-
-
- $file =~ s#^html/##;
- ok ($agent->get("$url/$file", "GET $url/$file"));
- is ($agent->{'status'}, 200, "Loaded $file");
-# ok( $agent->{'content'} =~ /Logout/i, "Found a logout link on $file ");
- ok( $agent->{'content'} !~ /Not logged in/i, "Still logged in for $file");
- ok( $agent->{'content'} !~ /System error/i, "Didn't get a Mason compilation error on $file");
-
-}
-
-# }}}
-
-1;
diff --git a/rt/lib/t/04_send_email.pl b/rt/lib/t/04_send_email.pl
deleted file mode 100644
index c384eedfa..000000000
--- a/rt/lib/t/04_send_email.pl
+++ /dev/null
@@ -1,481 +0,0 @@
-#!/usr/bin/perl -w
-
-use strict;
-use RT::EmailParser;
-use RT::Tickets;
-use RT::Action::SendEmail;
-
-my @_outgoing_messages;
-my @scrips_fired;
-
-#We're not testing acls here.
-my $everyone = RT::Group->new($RT::SystemUser);
-$everyone->LoadSystemInternalGroup('Everyone');
-$everyone->PrincipalObj->GrantRight(Right =>'SuperUser');
-
-
-is (__PACKAGE__, 'main', "We're operating in the main package");
-
-
-{
-no warnings qw/redefine/;
-sub RT::Action::SendEmail::SendMessage {
- my $self = shift;
- my $MIME = shift;
-
- main::_fired_scrip($self->ScripObj);
- main::ok(ref($MIME) eq 'MIME::Entity', "hey, look. it's a mime entity");
-}
-
-}
-
-# instrument SendEmail to pass us what it's about to send.
-# create a regular ticket
-
-my $parser = RT::EmailParser->new();
-
-
-# Let's test to make sure a multipart/report is processed correctly
-my $content = `cat /opt/rt3/lib/t/data/multipart-report` || die "couldn't find new content";
-# be as much like the mail gateway as possible.
-use RT::Interface::Email;
-
-my %args = (message => $content, queue => 1, action => 'correspond');
- RT::Interface::Email::Gateway(\%args);
-my $tickets = RT::Tickets->new($RT::SystemUser);
-$tickets->OrderBy(FIELD => 'id', ORDER => 'DESC');
-$tickets->Limit(FIELD => 'id' ,OPERATOR => '>', VALUE => '0');
-my $tick = $tickets->First();
-ok ($tick->Id, "found ticket ".$tick->Id);
-
-ok ($tick->Transactions->First->Content =~ /The original message was received/, "It's the bounce");
-
-
-# make sure it fires scrips.
-is ($#scrips_fired, 1, "Fired 2 scrips on ticket creation");
-
-undef @scrips_fired;
-
-
-
-
-$parser->ParseMIMEEntityFromScalar('From: root@localhost
-To: rt@example.com
-Subject: This is a test of new ticket creation as an unknown user
-
-Blah!
-Foob!');
-
-
-use Data::Dumper;
-
-my $ticket = RT::Ticket->new($RT::SystemUser);
-my ($id, $tid, $msg ) = $ticket->Create(Requestor => ['root@localhost'], Queue => 'general', Subject => 'I18NTest', MIMEObj => $parser->Entity);
-ok ($id,$msg);
-my $tickets = RT::Tickets->new($RT::SystemUser);
-$tickets->OrderBy(FIELD => 'id', ORDER => 'DESC');
-$tickets->Limit(FIELD => 'id' ,OPERATOR => '>', VALUE => '0');
-my $tick = $tickets->First();
-ok ($tick->Id, "found ticket ".$tick->Id);
-ok ($tick->Subject eq 'I18NTest', "failed to create the new ticket from an unprivileged account");
-
-# make sure it fires scrips.
-is ($#scrips_fired, 1, "Fired 2 scrips on ticket creation");
-# make sure it sends an autoreply
-# make sure it sends a notification to adminccs
-
-
-# we need to swap out SendMessage to test the new things we care about;
-&utf8_redef_sendmessage;
-
-# create an iso 8859-1 ticket
-@scrips_fired = ();
-
-my $content = `cat /opt/rt3/lib/t/data/new-ticket-from-iso-8859-1` || die "couldn't find new content";
-
-
-
-$parser->ParseMIMEEntityFromScalar($content);
-
-
-# be as much like the mail gateway as possible.
-use RT::Interface::Email;
-
-my %args = (message => $content, queue => 1, action => 'correspond');
- RT::Interface::Email::Gateway(\%args);
-my $tickets = RT::Tickets->new($RT::SystemUser);
-$tickets->OrderBy(FIELD => 'id', ORDER => 'DESC');
-$tickets->Limit(FIELD => 'id' ,OPERATOR => '>', VALUE => '0');
-my $tick = $tickets->First();
-ok ($tick->Id, "found ticket ".$tick->Id);
-
-ok ($tick->Transactions->First->Content =~ /H\x{e5}vard/, "It's signed by havard. yay");
-
-
-# make sure it fires scrips.
-is ($#scrips_fired, 1, "Fired 2 scrips on ticket creation");
-# make sure it sends an autoreply
-
-
-# make sure it sends a notification to adminccs
-
-# If we correspond, does it do the right thing to the outbound messages?
-
-$parser->ParseMIMEEntityFromScalar($content);
-my ($id, $msg) = $tick->Comment(MIMEObj => $parser->Entity);
-ok ($id, $msg);
-
-$parser->ParseMIMEEntityFromScalar($content);
-($id, $msg) = $tick->Correspond(MIMEObj => $parser->Entity);
-ok ($id, $msg);
-
-
-
-
-
-# we need to swap out SendMessage to test the new things we care about;
-&iso8859_redef_sendmessage;
-$RT::EmailOutputEncoding = 'iso-8859-1';
-# create an iso 8859-1 ticket
-@scrips_fired = ();
-
-my $content = `cat /opt/rt3/lib/t/data/new-ticket-from-iso-8859-1` || die "couldn't find new content";
-# be as much like the mail gateway as possible.
-use RT::Interface::Email;
-
-my %args = (message => $content, queue => 1, action => 'correspond');
- RT::Interface::Email::Gateway(\%args);
-my $tickets = RT::Tickets->new($RT::SystemUser);
-$tickets->OrderBy(FIELD => 'id', ORDER => 'DESC');
-$tickets->Limit(FIELD => 'id' ,OPERATOR => '>', VALUE => '0');
-my $tick = $tickets->First();
-ok ($tick->Id, "found ticket ".$tick->Id);
-
-ok ($tick->Transactions->First->Content =~ /H\x{e5}vard/, "It's signed by havard. yay");
-
-
-# make sure it fires scrips.
-is ($#scrips_fired, 1, "Fired 2 scrips on ticket creation");
-# make sure it sends an autoreply
-
-
-# make sure it sends a notification to adminccs
-
-
-# If we correspond, does it do the right thing to the outbound messages?
-
-$parser->ParseMIMEEntityFromScalar($content);
-my ($id, $msg) = $tick->Comment(MIMEObj => $parser->Entity);
-ok ($id, $msg);
-
-$parser->ParseMIMEEntityFromScalar($content);
-($id, $msg) = $tick->Correspond(MIMEObj => $parser->Entity);
-ok ($id, $msg);
-
-
-sub _fired_scrip {
- my $scrip = shift;
- push @scrips_fired, $scrip;
-}
-
-sub utf8_redef_sendmessage {
- no warnings qw/redefine/;
- eval '
- sub RT::Action::SendEmail::SendMessage {
- my $self = shift;
- my $MIME = shift;
-
- my $scrip = $self->ScripObj->id;
- ok(1, $self->ScripObj->ConditionObj->Name . " ".$self->ScripObj->ActionObj->Name);
- main::_fired_scrip($self->ScripObj);
- $MIME->make_singlepart;
- main::ok( ref($MIME) eq \'MIME::Entity\',
- "hey, look. it\'s a mime entity" );
- main::ok( ref( $MIME->head ) eq \'MIME::Head\',
- "its mime header is a mime header. yay" );
- main::ok( $MIME->head->get(\'Content-Type\') =~ /utf-8/,
- "Its content type is utf-8" );
- my $message_as_string = $MIME->bodyhandle->as_string();
- use Encode;
- $message_as_string = Encode::decode_utf8($message_as_string);
- main::ok(
- $message_as_string =~ /H\x{e5}vard/,
-"The message\'s content contains havard\'s name. this will fail if it\'s not utf8 out");
-
- }';
-}
-
-sub iso8859_redef_sendmessage {
- no warnings qw/redefine/;
- eval '
- sub RT::Action::SendEmail::SendMessage {
- my $self = shift;
- my $MIME = shift;
-
- my $scrip = $self->ScripObj->id;
- ok(1, $self->ScripObj->ConditionObj->Name . " ".$self->ScripObj->ActionObj->Name);
- main::_fired_scrip($self->ScripObj);
- $MIME->make_singlepart;
- main::ok( ref($MIME) eq \'MIME::Entity\',
- "hey, look. it\'s a mime entity" );
- main::ok( ref( $MIME->head ) eq \'MIME::Head\',
- "its mime header is a mime header. yay" );
- main::ok( $MIME->head->get(\'Content-Type\') =~ /iso-8859-1/,
- "Its content type is iso-8859-1 - " . $MIME->head->get("Content-Type") );
- my $message_as_string = $MIME->bodyhandle->as_string();
- use Encode;
- $message_as_string = Encode::decode("iso-8859-1",$message_as_string);
- main::ok(
- $message_as_string =~ /H\x{e5}vard/, "The message\'s content contains havard\'s name. this will fail if it\'s not utf8 out");
-
- }';
-}
-
-# {{{ test a multipart alternative containing a text-html part with an umlaut
-
-my $content = `cat /opt/rt3/lib/t/data/multipart-alternative-with-umlaut` || die "couldn't find new content";
-
-$parser->ParseMIMEEntityFromScalar($content);
-
-
-# be as much like the mail gateway as possible.
-&umlauts_redef_sendmessage;
-
-my %args = (message => $content, queue => 1, action => 'correspond');
- RT::Interface::Email::Gateway(\%args);
-my $tickets = RT::Tickets->new($RT::SystemUser);
-$tickets->OrderBy(FIELD => 'id', ORDER => 'DESC');
-$tickets->Limit(FIELD => 'id' ,OPERATOR => '>', VALUE => '0');
-my $tick = $tickets->First();
-ok ($tick->Id, "found ticket ".$tick->Id);
-
-ok ($tick->Transactions->First->Content =~ /causes Error/, "We recorded the content right as text-plain");
-is ($tick->Transactions->First->Attachments->Count , 3 , "Has three attachments, presumably a text-plain, a text-html and a multipart alternative");
-
-sub umlauts_redef_sendmessage {
- no warnings qw/redefine/;
- eval 'sub RT::Action::SendEmail::SendMessage { }';
-}
-
-# }}}
-
-# {{{ test a text-html message with an umlaut
-
-my $content = `cat /opt/rt3/lib/t/data/text-html-with-umlaut` || die "couldn't find new content";
-
-$parser->ParseMIMEEntityFromScalar($content);
-
-
-# be as much like the mail gateway as possible.
-&text_html_umlauts_redef_sendmessage;
-
-my %args = (message => $content, queue => 1, action => 'correspond');
- RT::Interface::Email::Gateway(\%args);
-my $tickets = RT::Tickets->new($RT::SystemUser);
-$tickets->OrderBy(FIELD => 'id', ORDER => 'DESC');
-$tickets->Limit(FIELD => 'id' ,OPERATOR => '>', VALUE => '0');
-my $tick = $tickets->First();
-ok ($tick->Id, "found ticket ".$tick->Id);
-
-ok ($tick->Transactions->First->Attachments->First->Content =~ /causes Error/, "We recorded the content as containing 'causes error'");
-ok ($tick->Transactions->First->Attachments->First->ContentType =~ /text\/html/, "We recorded the content as text/html");
-ok ($tick->Transactions->First->Attachments->Count ==1 , "Has one attachment, presumably a text-html and a multipart alternative");
-
-sub text_html_umlauts_redef_sendmessage {
- no warnings qw/redefine/;
- eval 'sub RT::Action::SendEmail::SendMessage {
- my $self = shift;
- my $MIME = shift;
- use Data::Dumper;
- return (1) unless ($self->ScripObj->ScripActionObj->Name eq "Notify AdminCcs" );
- ok (is $MIME->parts, 2, "generated correspondence mime entityis composed of three parts");
- is ($MIME->head->mime_type , "multipart/mixed", "The first part is a multipart mixed". $MIME->head->mime_type);
- is ($MIME->parts(0)->head->mime_type , "text/plain", "The second part is a plain");
- is ($MIME->parts(1)->head->mime_type , "text/html", "The third part is an html ");
- }';
-}
-
-# }}}
-
-# {{{ test a text-html message with russian characters
-
-my $content = `cat /opt/rt3/lib/t/data/text-html-in-russian` || die "couldn't find new content";
-
-$parser->ParseMIMEEntityFromScalar($content);
-
-
-# be as much like the mail gateway as possible.
-&text_html_russian_redef_sendmessage;
-
-my %args = (message => $content, queue => 1, action => 'correspond');
- RT::Interface::Email::Gateway(\%args);
-my $tickets = RT::Tickets->new($RT::SystemUser);
-$tickets->OrderBy(FIELD => 'id', ORDER => 'DESC');
-$tickets->Limit(FIELD => 'id' ,OPERATOR => '>', VALUE => '0');
-my $tick = $tickets->First();
-ok ($tick->Id, "found ticket ".$tick->Id);
-
-ok ($tick->Transactions->First->Attachments->First->ContentType =~ /text\/html/, "We recorded the content right as text-html");
-ok ($tick->Transactions->First->Attachments->Count ==1 , "Has one attachment, presumably a text-html and a multipart alternative");
-
-sub text_html_russian_redef_sendmessage {
- no warnings qw/redefine/;
- eval 'sub RT::Action::SendEmail::SendMessage {
- my $self = shift;
- my $MIME = shift;
- use Data::Dumper;
- return (1) unless ($self->ScripObj->ScripActionObj->Name eq "Notify AdminCcs" );
- ok (is $MIME->parts, 2, "generated correspondence mime entityis composed of three parts");
- is ($MIME->head->mime_type , "multipart/mixed", "The first part is a multipart mixed". $MIME->head->mime_type);
- is ($MIME->parts(0)->head->mime_type , "text/plain", "The second part is a plain");
- is ($MIME->parts(1)->head->mime_type , "text/html", "The third part is an html ");
- my $content_1251;
- $content_1251 = $MIME->parts(1)->bodyhandle->as_string();
- ok ($content_1251 =~ qr{Ó÷eáíûé Öeíòp "ÊÀÄÐÛ ÄÅËÎÂÎÃÎ ÌÈÐÀ" ïpèãëaøaeò ía òpeíèíã:},
-"Content matches drugim in codepage 1251" );
- }';
-}
-
-# }}}
-
-# {{{ test a message containing a russian subject and NO content type
-
-unshift (@RT::EmailInputEncodings, 'koi8-r');
-$RT::EmailOutputEncoding = 'koi8-r';
-my $content = `cat /opt/rt3/lib/t/data/russian-subject-no-content-type` || die "couldn't find new content";
-
-$parser->ParseMIMEEntityFromScalar($content);
-
-
-# be as much like the mail gateway as possible.
-&text_plain_russian_redef_sendmessage;
-my %args = (message => $content, queue => 1, action => 'correspond');
- RT::Interface::Email::Gateway(\%args);
-my $tickets = RT::Tickets->new($RT::SystemUser);
-$tickets->OrderBy(FIELD => 'id', ORDER => 'DESC');
-$tickets->Limit(FIELD => 'id' ,OPERATOR => '>', VALUE => '0');
-my $tick = $tickets->First();
-ok ($tick->Id, "found ticket ".$tick->Id);
-
-ok ($tick->Transactions->First->Attachments->First->ContentType =~ /text\/plain/, "We recorded the content type right");
-ok ($tick->Transactions->First->Attachments->Count ==1 , "Has one attachment, presumably a text-plain");
-is ($tick->Subject, "\x{442}\x{435}\x{441}\x{442} \x{442}\x{435}\x{441}\x{442}", "Recorded the subject right");
-sub text_plain_russian_redef_sendmessage {
- no warnings qw/redefine/;
- eval 'sub RT::Action::SendEmail::SendMessage {
- my $self = shift;
- my $MIME = shift;
- return (1) unless ($self->ScripObj->ScripActionObj->Name eq "Notify AdminCcs" );
- is ($MIME->head->mime_type , "text/plain", "The only part is text/plain ");
- my $subject = $MIME->head->get("subject");
- chomp($subject);
- #is( $subject , /^=\?KOI8-R\?B\?W2V4YW1wbGUuY39tICM3XSDUxdPUINTF09Q=\?=/ , "The $subject is encoded correctly");
- };
- ';
-}
-
-shift @RT::EmailInputEncodings;
-$RT::EmailOutputEncoding = 'utf-8';
-# }}}
-
-
-# {{{ test a message containing a nested RFC 822 message
-
-my $content = `cat /opt/rt3/lib/t/data/nested-rfc-822` || die "couldn't find new content";
-ok ($content, "Loaded nested-rfc-822 to test");
-
-$parser->ParseMIMEEntityFromScalar($content);
-
-
-# be as much like the mail gateway as possible.
-&text_plain_nested_redef_sendmessage;
-my %args = (message => $content, queue => 1, action => 'correspond');
- RT::Interface::Email::Gateway(\%args);
-my $tickets = RT::Tickets->new($RT::SystemUser);
-$tickets->OrderBy(FIELD => 'id', ORDER => 'DESC');
-$tickets->Limit(FIELD => 'id' ,OPERATOR => '>', VALUE => '0');
-my $tick = $tickets->First();
-ok ($tick->Id, "found ticket ".$tick->Id);
-is ($tick->Subject, "[Jonas Liljegren] Re: [Para] Niv\x{e5}er?");
-ok ($tick->Transactions->First->Attachments->First->ContentType =~ /multipart\/mixed/, "We recorded the content type right");
-is ($tick->Transactions->First->Attachments->Count , 5 , "Has one attachment, presumably a text-plain and a message RFC 822 and another plain");
-sub text_plain_nested_redef_sendmessage {
- no warnings qw/redefine/;
- eval 'sub RT::Action::SendEmail::SendMessage {
- my $self = shift;
- my $MIME = shift;
- return (1) unless ($self->ScripObj->ScripActionObj->Name eq "Notify AdminCcs" );
- is ($MIME->head->mime_type , "multipart/mixed", "It is a mixed multipart");
- my $subject = $MIME->head->get("subject");
- $subject = MIME::Base64::decode_base64( $subject);
- chomp($subject);
- # TODO, why does this test fail
- #ok($subject =~ qr{Niv\x{e5}er}, "The subject matches the word - $subject");
- 1;
- }';
-}
-
-# }}}
-
-
-# {{{ test a multipart alternative containing a uuencoded mesage generated by lotus notes
-
-my $content = `cat /opt/rt3/lib/t/data/notes-uuencoded` || die "couldn't find new content";
-
-$parser->ParseMIMEEntityFromScalar($content);
-
-
-# be as much like the mail gateway as possible.
-&notes_redef_sendmessage;
-
-my %args = (message => $content, queue => 1, action => 'correspond');
- RT::Interface::Email::Gateway(\%args);
-my $tickets = RT::Tickets->new($RT::SystemUser);
-$tickets->OrderBy(FIELD => 'id', ORDER => 'DESC');
-$tickets->Limit(FIELD => 'id' ,OPERATOR => '>', VALUE => '0');
-my $tick = $tickets->First();
-ok ($tick->Id, "found ticket ".$tick->Id);
-
-ok ($tick->Transactions->First->Content =~ /from Lotus Notes/, "We recorded the content right");
-is ($tick->Transactions->First->Attachments->Count , 3 , "Has three attachments");
-
-sub notes_redef_sendmessage {
- no warnings qw/redefine/;
- eval 'sub RT::Action::SendEmail::SendMessage { }';
-}
-
-# }}}
-
-# {{{ test a multipart that crashes the file-based mime-parser works
-
-my $content = `cat /opt/rt3/lib/t/data/crashes-file-based-parser` || die "couldn't find new content";
-
-$parser->ParseMIMEEntityFromScalar($content);
-
-
-# be as much like the mail gateway as possible.
-&crashes_redef_sendmessage;
-
-my %args = (message => $content, queue => 1, action => 'correspond');
- RT::Interface::Email::Gateway(\%args);
-my $tickets = RT::Tickets->new($RT::SystemUser);
-$tickets->OrderBy(FIELD => 'id', ORDER => 'DESC');
-$tickets->Limit(FIELD => 'id' ,OPERATOR => '>', VALUE => '0');
-my $tick = $tickets->First();
-ok ($tick->Id, "found ticket ".$tick->Id);
-
-ok ($tick->Transactions->First->Content =~ /FYI/, "We recorded the content right");
-is ($tick->Transactions->First->Attachments->Count , 5 , "Has three attachments");
-
-sub crashes_redef_sendmessage {
- no warnings qw/redefine/;
- eval 'sub RT::Action::SendEmail::SendMessage { }';
-}
-
-
-
-# }}}
-
-# Don't taint the environment
-$everyone->PrincipalObj->RevokeRight(Right =>'SuperUser');
-1;
diff --git a/rt/lib/t/04_send_email.pl.in b/rt/lib/t/04_send_email.pl.in
deleted file mode 100644
index 39ab0d271..000000000
--- a/rt/lib/t/04_send_email.pl.in
+++ /dev/null
@@ -1,506 +0,0 @@
-#!@PERL@ -w
-
-use strict;
-use RT::EmailParser;
-use RT::Tickets;
-use RT::Action::SendEmail;
-
-my @_outgoing_messages;
-my @scrips_fired;
-
-#We're not testing acls here.
-my $everyone = RT::Group->new($RT::SystemUser);
-$everyone->LoadSystemInternalGroup('Everyone');
-$everyone->PrincipalObj->GrantRight(Right =>'SuperUser');
-
-
-is (__PACKAGE__, 'main', "We're operating in the main package");
-
-
-{
-no warnings qw/redefine/;
-sub RT::Action::SendEmail::SendMessage {
- my $self = shift;
- my $MIME = shift;
-
- main::_fired_scrip($self->ScripObj);
- main::ok(ref($MIME) eq 'MIME::Entity', "hey, look. it's a mime entity");
-}
-
-}
-
-# instrument SendEmail to pass us what it's about to send.
-# create a regular ticket
-
-my $parser = RT::EmailParser->new();
-
-
-# Let's test to make sure a multipart/report is processed correctly
-my $content = `cat @RT_LIB_PATH@/t/data/multipart-report` || die "couldn't find new content";
-# be as much like the mail gateway as possible.
-use RT::Interface::Email;
-
-my %args = (message => $content, queue => 1, action => 'correspond');
- RT::Interface::Email::Gateway(\%args);
-my $tickets = RT::Tickets->new($RT::SystemUser);
-$tickets->OrderBy(FIELD => 'id', ORDER => 'DESC');
-$tickets->Limit(FIELD => 'id' ,OPERATOR => '>', VALUE => '0');
-my $tick = $tickets->First();
-ok ($tick->Id, "found ticket ".$tick->Id);
-
-ok ($tick->Transactions->First->Content =~ /The original message was received/, "It's the bounce");
-
-
-# make sure it fires scrips.
-is ($#scrips_fired, 1, "Fired 2 scrips on ticket creation");
-
-undef @scrips_fired;
-
-
-
-
-$parser->ParseMIMEEntityFromScalar('From: root@localhost
-To: rt@example.com
-Subject: This is a test of new ticket creation as an unknown user
-
-Blah!
-Foob!');
-
-
-use Data::Dumper;
-
-my $ticket = RT::Ticket->new($RT::SystemUser);
-my ($id, $tid, $msg ) = $ticket->Create(Requestor => ['root@localhost'], Queue => 'general', Subject => 'I18NTest', MIMEObj => $parser->Entity);
-ok ($id,$msg);
-my $tickets = RT::Tickets->new($RT::SystemUser);
-$tickets->OrderBy(FIELD => 'id', ORDER => 'DESC');
-$tickets->Limit(FIELD => 'id' ,OPERATOR => '>', VALUE => '0');
-my $tick = $tickets->First();
-ok ($tick->Id, "found ticket ".$tick->Id);
-ok ($tick->Subject eq 'I18NTest', "failed to create the new ticket from an unprivileged account");
-
-# make sure it fires scrips.
-is ($#scrips_fired, 1, "Fired 2 scrips on ticket creation");
-# make sure it sends an autoreply
-# make sure it sends a notification to adminccs
-
-
-# we need to swap out SendMessage to test the new things we care about;
-&utf8_redef_sendmessage;
-
-# create an iso 8859-1 ticket
-@scrips_fired = ();
-
-my $content = `cat @RT_LIB_PATH@/t/data/new-ticket-from-iso-8859-1` || die "couldn't find new content";
-
-
-
-$parser->ParseMIMEEntityFromScalar($content);
-
-
-# be as much like the mail gateway as possible.
-use RT::Interface::Email;
-
-my %args = (message => $content, queue => 1, action => 'correspond');
- RT::Interface::Email::Gateway(\%args);
-my $tickets = RT::Tickets->new($RT::SystemUser);
-$tickets->OrderBy(FIELD => 'id', ORDER => 'DESC');
-$tickets->Limit(FIELD => 'id' ,OPERATOR => '>', VALUE => '0');
-my $tick = $tickets->First();
-ok ($tick->Id, "found ticket ".$tick->Id);
-
-ok ($tick->Transactions->First->Content =~ /H\x{e5}vard/, "It's signed by havard. yay");
-
-
-# make sure it fires scrips.
-is ($#scrips_fired, 1, "Fired 2 scrips on ticket creation");
-# make sure it sends an autoreply
-
-
-# make sure it sends a notification to adminccs
-
-# If we correspond, does it do the right thing to the outbound messages?
-
-$parser->ParseMIMEEntityFromScalar($content);
-my ($id, $msg) = $tick->Comment(MIMEObj => $parser->Entity);
-ok ($id, $msg);
-
-$parser->ParseMIMEEntityFromScalar($content);
-($id, $msg) = $tick->Correspond(MIMEObj => $parser->Entity);
-ok ($id, $msg);
-
-
-
-
-
-# we need to swap out SendMessage to test the new things we care about;
-&iso8859_redef_sendmessage;
-$RT::EmailOutputEncoding = 'iso-8859-1';
-# create an iso 8859-1 ticket
-@scrips_fired = ();
-
-my $content = `cat @RT_LIB_PATH@/t/data/new-ticket-from-iso-8859-1` || die "couldn't find new content";
-# be as much like the mail gateway as possible.
-use RT::Interface::Email;
-
-my %args = (message => $content, queue => 1, action => 'correspond');
- RT::Interface::Email::Gateway(\%args);
-my $tickets = RT::Tickets->new($RT::SystemUser);
-$tickets->OrderBy(FIELD => 'id', ORDER => 'DESC');
-$tickets->Limit(FIELD => 'id' ,OPERATOR => '>', VALUE => '0');
-my $tick = $tickets->First();
-ok ($tick->Id, "found ticket ".$tick->Id);
-
-ok ($tick->Transactions->First->Content =~ /H\x{e5}vard/, "It's signed by havard. yay");
-
-
-# make sure it fires scrips.
-is ($#scrips_fired, 1, "Fired 2 scrips on ticket creation");
-# make sure it sends an autoreply
-
-
-# make sure it sends a notification to adminccs
-
-
-# If we correspond, does it do the right thing to the outbound messages?
-
-$parser->ParseMIMEEntityFromScalar($content);
-my ($id, $msg) = $tick->Comment(MIMEObj => $parser->Entity);
-ok ($id, $msg);
-
-$parser->ParseMIMEEntityFromScalar($content);
-($id, $msg) = $tick->Correspond(MIMEObj => $parser->Entity);
-ok ($id, $msg);
-
-
-sub _fired_scrip {
- my $scrip = shift;
- push @scrips_fired, $scrip;
-}
-
-sub utf8_redef_sendmessage {
- no warnings qw/redefine/;
- eval '
- sub RT::Action::SendEmail::SendMessage {
- my $self = shift;
- my $MIME = shift;
-
- my $scrip = $self->ScripObj->id;
- ok(1, $self->ScripObj->ConditionObj->Name . " ".$self->ScripObj->ActionObj->Name);
- main::_fired_scrip($self->ScripObj);
- $MIME->make_singlepart;
- main::ok( ref($MIME) eq \'MIME::Entity\',
- "hey, look. it\'s a mime entity" );
- main::ok( ref( $MIME->head ) eq \'MIME::Head\',
- "its mime header is a mime header. yay" );
- main::ok( $MIME->head->get(\'Content-Type\') =~ /utf-8/,
- "Its content type is utf-8" );
- my $message_as_string = $MIME->bodyhandle->as_string();
- use Encode;
- $message_as_string = Encode::decode_utf8($message_as_string);
- main::ok(
- $message_as_string =~ /H\x{e5}vard/,
-"The message\'s content contains havard\'s name. this will fail if it\'s not utf8 out");
-
- }';
-}
-
-sub iso8859_redef_sendmessage {
- no warnings qw/redefine/;
- eval '
- sub RT::Action::SendEmail::SendMessage {
- my $self = shift;
- my $MIME = shift;
-
- my $scrip = $self->ScripObj->id;
- ok(1, $self->ScripObj->ConditionObj->Name . " ".$self->ScripObj->ActionObj->Name);
- main::_fired_scrip($self->ScripObj);
- $MIME->make_singlepart;
- main::ok( ref($MIME) eq \'MIME::Entity\',
- "hey, look. it\'s a mime entity" );
- main::ok( ref( $MIME->head ) eq \'MIME::Head\',
- "its mime header is a mime header. yay" );
- main::ok( $MIME->head->get(\'Content-Type\') =~ /iso-8859-1/,
- "Its content type is iso-8859-1 - " . $MIME->head->get("Content-Type") );
- my $message_as_string = $MIME->bodyhandle->as_string();
- use Encode;
- $message_as_string = Encode::decode("iso-8859-1",$message_as_string);
- main::ok(
- $message_as_string =~ /H\x{e5}vard/, "The message\'s content contains havard\'s name. this will fail if it\'s not utf8 out");
-
- }';
-}
-
-# {{{ test a multipart alternative containing a text-html part with an umlaut
-
-my $content = `cat @RT_LIB_PATH@/t/data/multipart-alternative-with-umlaut` || die "couldn't find new content";
-
-$parser->ParseMIMEEntityFromScalar($content);
-
-
-# be as much like the mail gateway as possible.
-&umlauts_redef_sendmessage;
-
-my %args = (message => $content, queue => 1, action => 'correspond');
- RT::Interface::Email::Gateway(\%args);
-my $tickets = RT::Tickets->new($RT::SystemUser);
-$tickets->OrderBy(FIELD => 'id', ORDER => 'DESC');
-$tickets->Limit(FIELD => 'id' ,OPERATOR => '>', VALUE => '0');
-my $tick = $tickets->First();
-ok ($tick->Id, "found ticket ".$tick->Id);
-
-ok ($tick->Transactions->First->Content =~ /causes Error/, "We recorded the content right as text-plain");
-is ($tick->Transactions->First->Attachments->Count , 3 , "Has three attachments, presumably a text-plain, a text-html and a multipart alternative");
-
-sub umlauts_redef_sendmessage {
- no warnings qw/redefine/;
- eval 'sub RT::Action::SendEmail::SendMessage { }';
-}
-
-# }}}
-
-# {{{ test a text-html message with an umlaut
-
-my $content = `cat @RT_LIB_PATH@/t/data/text-html-with-umlaut` || die "couldn't find new content";
-
-$parser->ParseMIMEEntityFromScalar($content);
-
-
-# be as much like the mail gateway as possible.
-&text_html_umlauts_redef_sendmessage;
-
-my %args = (message => $content, queue => 1, action => 'correspond');
- RT::Interface::Email::Gateway(\%args);
-my $tickets = RT::Tickets->new($RT::SystemUser);
-$tickets->OrderBy(FIELD => 'id', ORDER => 'DESC');
-$tickets->Limit(FIELD => 'id' ,OPERATOR => '>', VALUE => '0');
-my $tick = $tickets->First();
-ok ($tick->Id, "found ticket ".$tick->Id);
-
-ok ($tick->Transactions->First->Attachments->First->Content =~ /causes Error/, "We recorded the content as containing 'causes error'");
-ok ($tick->Transactions->First->Attachments->First->ContentType =~ /text\/html/, "We recorded the content as text/html");
-ok ($tick->Transactions->First->Attachments->Count ==1 , "Has one attachment, presumably a text-html and a multipart alternative");
-
-sub text_html_umlauts_redef_sendmessage {
- no warnings qw/redefine/;
- eval 'sub RT::Action::SendEmail::SendMessage {
- my $self = shift;
- my $MIME = shift;
- use Data::Dumper;
- return (1) unless ($self->ScripObj->ScripActionObj->Name eq "Notify AdminCcs" );
- ok (is $MIME->parts, 2, "generated correspondence mime entityis composed of three parts");
- is ($MIME->head->mime_type , "multipart/mixed", "The first part is a multipart mixed". $MIME->head->mime_type);
- is ($MIME->parts(0)->head->mime_type , "text/plain", "The second part is a plain");
- is ($MIME->parts(1)->head->mime_type , "text/html", "The third part is an html ");
- }';
-}
-
-# }}}
-
-# {{{ test a text-html message with russian characters
-
-my $content = `cat @RT_LIB_PATH@/t/data/text-html-in-russian` || die "couldn't find new content";
-
-$parser->ParseMIMEEntityFromScalar($content);
-
-
-# be as much like the mail gateway as possible.
-&text_html_russian_redef_sendmessage;
-
-my %args = (message => $content, queue => 1, action => 'correspond');
- RT::Interface::Email::Gateway(\%args);
-my $tickets = RT::Tickets->new($RT::SystemUser);
-$tickets->OrderBy(FIELD => 'id', ORDER => 'DESC');
-$tickets->Limit(FIELD => 'id' ,OPERATOR => '>', VALUE => '0');
-my $tick = $tickets->First();
-ok ($tick->Id, "found ticket ".$tick->Id);
-
-ok ($tick->Transactions->First->Attachments->First->ContentType =~ /text\/html/, "We recorded the content right as text-html");
-ok ($tick->Transactions->First->Attachments->Count ==1 , "Has one attachment, presumably a text-html and a multipart alternative");
-
-sub text_html_russian_redef_sendmessage {
- no warnings qw/redefine/;
- eval 'sub RT::Action::SendEmail::SendMessage {
- my $self = shift;
- my $MIME = shift;
- use Data::Dumper;
- return (1) unless ($self->ScripObj->ScripActionObj->Name eq "Notify AdminCcs" );
- ok (is $MIME->parts, 2, "generated correspondence mime entityis composed of three parts");
- is ($MIME->head->mime_type , "multipart/mixed", "The first part is a multipart mixed". $MIME->head->mime_type);
- is ($MIME->parts(0)->head->mime_type , "text/plain", "The second part is a plain");
- is ($MIME->parts(1)->head->mime_type , "text/html", "The third part is an html ");
- my $content_1251;
- $content_1251 = $MIME->parts(1)->bodyhandle->as_string();
- ok ($content_1251 =~ qr{Ó÷eáíûé Öeíòp "ÊÀÄÐÛ ÄÅËÎÂÎÃÎ ÌÈÐÀ" ïpèãëaøaeò ía òpeíèíã:},
-"Content matches drugim in codepage 1251" );
- }';
-}
-
-# }}}
-
-# {{{ test a message containing a russian subject and NO content type
-
-unshift (@RT::EmailInputEncodings, 'koi8-r');
-$RT::EmailOutputEncoding = 'koi8-r';
-my $content = `cat @RT_LIB_PATH@/t/data/russian-subject-no-content-type` || die "couldn't find new content";
-
-$parser->ParseMIMEEntityFromScalar($content);
-
-
-# be as much like the mail gateway as possible.
-&text_plain_russian_redef_sendmessage;
-my %args = (message => $content, queue => 1, action => 'correspond');
- RT::Interface::Email::Gateway(\%args);
-my $tickets = RT::Tickets->new($RT::SystemUser);
-$tickets->OrderBy(FIELD => 'id', ORDER => 'DESC');
-$tickets->Limit(FIELD => 'id' ,OPERATOR => '>', VALUE => '0');
-my $tick = $tickets->First();
-ok ($tick->Id, "found ticket ".$tick->Id);
-
-ok ($tick->Transactions->First->Attachments->First->ContentType =~ /text\/plain/, "We recorded the content type right");
-ok ($tick->Transactions->First->Attachments->Count ==1 , "Has one attachment, presumably a text-plain");
-is ($tick->Subject, "\x{442}\x{435}\x{441}\x{442} \x{442}\x{435}\x{441}\x{442}", "Recorded the subject right");
-sub text_plain_russian_redef_sendmessage {
- no warnings qw/redefine/;
- eval 'sub RT::Action::SendEmail::SendMessage {
- my $self = shift;
- my $MIME = shift;
- return (1) unless ($self->ScripObj->ScripActionObj->Name eq "Notify AdminCcs" );
- is ($MIME->head->mime_type , "text/plain", "The only part is text/plain ");
- my $subject = $MIME->head->get("subject");
- chomp($subject);
- #is( $subject , /^=\?KOI8-R\?B\?W2V4YW1wbGUuY39tICM3XSDUxdPUINTF09Q=\?=/ , "The $subject is encoded correctly");
- };
- ';
-}
-
-shift @RT::EmailInputEncodings;
-$RT::EmailOutputEncoding = 'utf-8';
-# }}}
-
-
-# {{{ test a message containing a nested RFC 822 message
-
-my $content = `cat @RT_LIB_PATH@/t/data/nested-rfc-822` || die "couldn't find new content";
-ok ($content, "Loaded nested-rfc-822 to test");
-
-$parser->ParseMIMEEntityFromScalar($content);
-
-
-# be as much like the mail gateway as possible.
-&text_plain_nested_redef_sendmessage;
-my %args = (message => $content, queue => 1, action => 'correspond');
- RT::Interface::Email::Gateway(\%args);
-my $tickets = RT::Tickets->new($RT::SystemUser);
-$tickets->OrderBy(FIELD => 'id', ORDER => 'DESC');
-$tickets->Limit(FIELD => 'id' ,OPERATOR => '>', VALUE => '0');
-my $tick = $tickets->First();
-ok ($tick->Id, "found ticket ".$tick->Id);
-is ($tick->Subject, "[Jonas Liljegren] Re: [Para] Niv\x{e5}er?");
-ok ($tick->Transactions->First->Attachments->First->ContentType =~ /multipart\/mixed/, "We recorded the content type right");
-is ($tick->Transactions->First->Attachments->Count , 5 , "Has one attachment, presumably a text-plain and a message RFC 822 and another plain");
-sub text_plain_nested_redef_sendmessage {
- no warnings qw/redefine/;
- eval 'sub RT::Action::SendEmail::SendMessage {
- my $self = shift;
- my $MIME = shift;
- return (1) unless ($self->ScripObj->ScripActionObj->Name eq "Notify AdminCcs" );
- is ($MIME->head->mime_type , "multipart/mixed", "It is a mixed multipart");
- my $subject = $MIME->head->get("subject");
- $subject = MIME::Base64::decode_base64( $subject);
- chomp($subject);
- # TODO, why does this test fail
- #ok($subject =~ qr{Niv\x{e5}er}, "The subject matches the word - $subject");
- 1;
- }';
-}
-
-# }}}
-
-
-# {{{ test a multipart alternative containing a uuencoded mesage generated by lotus notes
-
-my $content = `cat @RT_LIB_PATH@/t/data/notes-uuencoded` || die "couldn't find new content";
-
-$parser->ParseMIMEEntityFromScalar($content);
-
-
-# be as much like the mail gateway as possible.
-&notes_redef_sendmessage;
-
-my %args = (message => $content, queue => 1, action => 'correspond');
- RT::Interface::Email::Gateway(\%args);
-my $tickets = RT::Tickets->new($RT::SystemUser);
-$tickets->OrderBy(FIELD => 'id', ORDER => 'DESC');
-$tickets->Limit(FIELD => 'id' ,OPERATOR => '>', VALUE => '0');
-my $tick = $tickets->First();
-ok ($tick->Id, "found ticket ".$tick->Id);
-
-ok ($tick->Transactions->First->Content =~ /from Lotus Notes/, "We recorded the content right");
-is ($tick->Transactions->First->Attachments->Count , 3 , "Has three attachments");
-
-sub notes_redef_sendmessage {
- no warnings qw/redefine/;
- eval 'sub RT::Action::SendEmail::SendMessage { }';
-}
-
-# }}}
-
-# {{{ test a multipart that crashes the file-based mime-parser works
-
-my $content = `cat @RT_LIB_PATH@/t/data/crashes-file-based-parser` || die "couldn't find new content";
-
-$parser->ParseMIMEEntityFromScalar($content);
-
-
-# be as much like the mail gateway as possible.
-&crashes_redef_sendmessage;
-
-my %args = (message => $content, queue => 1, action => 'correspond');
- RT::Interface::Email::Gateway(\%args);
-my $tickets = RT::Tickets->new($RT::SystemUser);
-$tickets->OrderBy(FIELD => 'id', ORDER => 'DESC');
-$tickets->Limit(FIELD => 'id' ,OPERATOR => '>', VALUE => '0');
-my $tick = $tickets->First();
-ok ($tick->Id, "found ticket ".$tick->Id);
-
-ok ($tick->Transactions->First->Content =~ /FYI/, "We recorded the content right");
-is ($tick->Transactions->First->Attachments->Count , 5 , "Has three attachments");
-
-sub crashes_redef_sendmessage {
- no warnings qw/redefine/;
- eval 'sub RT::Action::SendEmail::SendMessage { }';
-}
-
-
-
-# }}}
-
-# {{{ test a multi-line RT-Send-CC header
-
-my $content = `cat @RT_LIB_PATH@/t/data/rt-send-cc` || die "couldn't find new content";
-
-$parser->ParseMIMEEntityFromScalar($content);
-
-
-
-my %args = (message => $content, queue => 1, action => 'correspond');
- RT::Interface::Email::Gateway(\%args);
-my $tickets = RT::Tickets->new($RT::SystemUser);
-$tickets->OrderBy(FIELD => 'id', ORDER => 'DESC');
-$tickets->Limit(FIELD => 'id' ,OPERATOR => '>', VALUE => '0');
-my $tick = $tickets->First();
-ok ($tick->Id, "found ticket ".$tick->Id);
-
-my $cc = $tick->Transactions->First->Attachments->First->GetHeader('RT-Send-Cc');
-ok ($cc =~ /test1/, "Found test 1");
-ok ($cc =~ /test2/, "Found test 2");
-ok ($cc =~ /test3/, "Found test 3");
-ok ($cc =~ /test4/, "Found test 4");
-ok ($cc =~ /test5/, "Found test 5");
-
-# }}}
-
-# Don't taint the environment
-$everyone->PrincipalObj->RevokeRight(Right =>'SuperUser');
-1;
diff --git a/rt/lib/t/05cronsupport.pl.in b/rt/lib/t/05cronsupport.pl.in
deleted file mode 100644
index a6b3d7451..000000000
--- a/rt/lib/t/05cronsupport.pl.in
+++ /dev/null
@@ -1,84 +0,0 @@
-#!@PERL@ -w
-
-use strict;
-
-### Set up some testing data. Test the testing data because why not?
-
-# Create a user with rights, a queue, and some tickets.
-my $user_obj = RT::User->new($RT::SystemUser);
-my ($ret, $msg) = $user_obj->LoadOrCreateByEmail('tara@example.com');
-ok($ret, 'record test user creation');
-$user_obj->SetName('tara');
-$user_obj->PrincipalObj->GrantRight(Right => 'SuperUser');
-my $CurrentUser = RT::CurrentUser->new('tara');
-
-# Create our template, which will be used for tests of RT::Action::Record*.
-
-my $template_content = 'RT-Send-Cc: tla@example.com
-RT-Send-Bcc: jesse@example.com
-
-This is a content string with no content.';
-
-my $template_obj = RT::Template->new($CurrentUser);
-$template_obj->Create(Queue => '0',
- Name => 'recordtest',
- Description => 'testing Record actions',
- Content => $template_content,
- );
-
-# Create a queue and some tickets.
-
-my $queue_obj = RT::Queue->new($CurrentUser);
-($ret, $msg) = $queue_obj->Create(Name => 'recordtest', Description => 'queue for Action::Record testing');
-ok($ret, 'record test queue creation');
-
-my $ticket1 = RT::Ticket->new($CurrentUser);
-my ($id, $tobj, $msg2) = $ticket1->Create(Queue => $queue_obj,
- Requestor => ['tara@example.com'],
- Subject => 'bork bork bork',
- Priority => 22,
- );
-ok($id, 'record test ticket creation 1');
-my $ticket2 = RT::Ticket->new($CurrentUser);
-($id, $tobj, $msg2) = $ticket2->Create(Queue => $queue_obj,
- Requestor => ['root@localhost'],
- Subject => 'hurdy gurdy'
- );
-ok($id, 'record test ticket creation 2');
-
-
-### OK. Have data, will travel.
-
-# First test the search.
-
-ok(require RT::Search::FromSQL, "Search::FromSQL loaded");
-my $ticketsqlstr = "Requestor.EmailAddress = '" . $CurrentUser->EmailAddress .
- "' AND Priority > '20'";
-my $search = RT::Search::FromSQL->new(Argument => $ticketsqlstr, TicketsObj => RT::Tickets->new($CurrentUser),
- );
-is(ref($search), 'RT::Search::FromSQL', "search created");
-ok($search->Prepare(), "fromsql search run");
-my $counter = 0;
-while(my $t = $search->TicketsObj->Next() ) {
- is($t->Id(), $ticket1->Id(), "fromsql search results 1");
- $counter++;
-}
-is ($counter, 1, "fromsql search results 2");
-
-# Right. Now test the actions.
-
-ok(require RT::Action::RecordComment);
-ok(require RT::Action::RecordCorrespondence);
-
-my ($comment_act, $correspond_act);
-ok($comment_act = RT::Action::RecordComment->new(TicketObj => $ticket1, TemplateObj => $template_obj, CurrentUser => $CurrentUser), "RecordComment created");
-ok($correspond_act = RT::Action::RecordCorrespondence->new(TicketObj => $ticket2, TemplateObj => $template_obj, CurrentUser => $CurrentUser), "RecordCorrespondence created");
-ok($comment_act->Prepare(), "Comment prepared");
-ok($correspond_act->Prepare(), "Correspond prepared");
-ok($comment_act->Commit(), "Comment committed");
-ok($correspond_act->Commit(), "Correspondence committed");
-
-# Now test for loop suppression.
-my ($trans, $desc, $transaction) = $ticket2->Comment(MIMEObj => $template_obj->MIMEObj);
-my $bogus_action = RT::Action::RecordComment->new(TicketObj => $ticket1, TemplateObj => $template_obj, TransactionObj => $transaction, CurrentUser => $CurrentUser);
-ok(!$bogus_action->Prepare(), "Comment aborted to prevent loop");
diff --git a/rt/lib/t/data/lorem-ipsum b/rt/lib/t/data/lorem-ipsum
deleted file mode 100644
index 1aceb1464..000000000
--- a/rt/lib/t/data/lorem-ipsum
+++ /dev/null
@@ -1,5 +0,0 @@
-Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut
-labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris
-nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit
-esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in
-culpa qui officia deserunt mollit anim id est laborum.
diff --git a/rt/lib/t/data/subject-with-folding-ws b/rt/lib/t/data/subject-with-folding-ws
deleted file mode 100644
index c0826325e..000000000
--- a/rt/lib/t/data/subject-with-folding-ws
+++ /dev/null
@@ -1,10 +0,0 @@
-Subject: =?ISO-8859-1?Q?te?=
- =?ISO-8859-1?Q?st?=
-Date: Mon, 02 Jun 2003 20:58:30 +0200
-To: rt@example.com
-From: foo@example.com
-Mime-Version: 1.0
-Content-Type: text/plain; charset="iso-8859-1"
-Content-Transfer-Encoding: 8bit
-
-test
diff --git a/rt/lib/t/data/very-long-subject b/rt/lib/t/data/very-long-subject
deleted file mode 100644
index ad420d0a6..000000000
--- a/rt/lib/t/data/very-long-subject
+++ /dev/null
@@ -1,12 +0,0 @@
-Subject: 012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789
-Date: Mon, 02 Jun 2003 20:58:30 +0200
-To: rt@example.com
-From: foo@example.com
-Mime-Version: 1.0
-Content-Type: text/plain; charset="utf-8"
-Content-Transfer-Encoding: 8bit
-
-This email has a very long subject. Our DB allows you to use subject
-no longer than 200 chars, but we creat ticket, don't generate an
-error and trancate long line.
-
diff --git a/rt/lib/t/regression/00-mason-syntax.t b/rt/lib/t/regression/00-mason-syntax.t
deleted file mode 100644
index 96674cacf..000000000
--- a/rt/lib/t/regression/00-mason-syntax.t
+++ /dev/null
@@ -1,42 +0,0 @@
-#!/usr/bin/perl
-
-use strict;
-use warnings;
-
-use Test::More tests => 1;
-
-my $ok = 1;
-
-use File::Find;
-find( {
- no_chdir => 1,
- wanted => sub {
- return if /\.(?:jpe?g|png|gif|rej|\~)$/i;
- if (m!/\.svn$!) {
- $File::Find::prune = 1;
- return;
- }
- return unless -f $_;
- diag "testing $_" if $ENV{'TEST_VERBOSE'};
- eval { compile_file($_) } and return;
- $ok = 0;
- diag "error in ${File::Find::name}:\n$@";
- },
-}, 'html');
-ok($ok, "mason syntax is ok");
-
-use HTML::Mason::Compiler;
-use HTML::Mason::Compiler::ToObject;
-
-sub compile_file {
- my $file = shift;
-
- open my $fh, '<:utf8', $file or die "couldn't open '$file': $!";
- my $text = do { local $/; <$fh> };
- close $fh or die "couldn't close '$file': $!";
-
- my $compiler = new HTML::Mason::Compiler::ToObject;
- $compiler->compile( comp_source => $text, name => 'my' );
- return 1;
-}
-
diff --git a/rt/lib/t/regression/00placeholder b/rt/lib/t/regression/00placeholder
deleted file mode 100644
index 0afc6045c..000000000
--- a/rt/lib/t/regression/00placeholder
+++ /dev/null
@@ -1 +0,0 @@
-1;
diff --git a/rt/lib/t/regression/15cf_combo_cascade.t b/rt/lib/t/regression/15cf_combo_cascade.t
deleted file mode 100644
index df663a1bd..000000000
--- a/rt/lib/t/regression/15cf_combo_cascade.t
+++ /dev/null
@@ -1,49 +0,0 @@
-#!/usr/bin/perl
-use warnings;
-use strict;
-use Test::More tests => 11;
-
-use RT;
-RT::LoadConfig();
-RT::Init();
-
-sub fails { ok(!$_[0], "This should fail: $_[1]") }
-sub works { ok($_[0], $_[1] || 'This works') }
-
-sub new (*) {
- my $class = shift;
- return $class->new($RT::SystemUser);
-}
-
-my $q = new(RT::Queue);
-works($q->Create(Name => "CF-Pattern-".$$));
-
-my $cf = new(RT::CustomField);
-my @cf_args = (Name => $q->Name, Type => 'Combobox', Queue => $q->id);
-
-works($cf->Create(@cf_args));
-
-# Set some CFVs with Category markers
-
-my $t = new(RT::Ticket);
-my ($id,undef,$msg) = $t->Create(Queue => $q->id, Subject => 'CF Test');
-works($id,$msg);
-
-sub add_works {
- works(
- $cf->AddValue(Name => $_[0], Description => $_[0], Category => $_[1])
- );
-};
-
-add_works('value1', '1. Category A');
-add_works('value2');
-add_works('value3', '1.1. A-sub one');
-add_works('value4', '1.2. A-sub two');
-add_works('value5', '');
-
-my $cfv = $cf->Values->First;
-is($cfv->Category, '1. Category A');
-works($cfv->SetCategory('1. Category AAA'));
-is($cfv->Category, '1. Category AAA');
-
-1;
diff --git a/rt/lib/t/regression/15cf_pattern.t b/rt/lib/t/regression/15cf_pattern.t
deleted file mode 100644
index ea2b5b858..000000000
--- a/rt/lib/t/regression/15cf_pattern.t
+++ /dev/null
@@ -1,54 +0,0 @@
-#!/usr/bin/perl
-use warnings;
-use strict;
-use Test::More tests => 17;
-
-use RT;
-RT::LoadConfig();
-RT::Init();
-
-sub fails { ok(!$_[0], "This should fail: $_[1]") }
-sub works { ok($_[0], $_[1] || 'This works') }
-
-sub new (*) {
- my $class = shift;
- return $class->new($RT::SystemUser);
-}
-
-my $q = new(RT::Queue);
-works($q->Create(Name => "CF-Pattern-".$$));
-
-my $cf = new(RT::CustomField);
-my @cf_args = (Name => $q->Name, Type => 'Freeform', Queue => $q->id, MaxValues => 1);
-
-fails($cf->Create(@cf_args, Pattern => ')))bad!regex((('));
-works($cf->Create(@cf_args, Pattern => 'good regex'));
-
-my $t = new(RT::Ticket);
-my ($id,undef,$msg) = $t->Create(Queue => $q->id, Subject => 'CF Test');
-works($id,$msg);
-
-# OK, I'm thoroughly brain washed by HOP at this point now...
-sub cnt { $t->CustomFieldValues($cf->id)->Count };
-sub add { $t->AddCustomFieldValue(Field => $cf->id, Value => $_[0]) };
-sub del { $t->DeleteCustomFieldValue(Field => $cf->id, Value => $_[0]) };
-
-is(cnt(), 0, "No values yet");
-fails(add('not going to match'));
-is(cnt(), 0, "No values yet");
-works(add('here is a good regex'));
-is(cnt(), 1, "Value filled");
-fails(del('here is a good regex'));
-is(cnt(), 1, "Single CF - Value _not_ deleted");
-
-$cf->SetMaxValues(0); # Unlimited MaxValues
-
-works(del('here is a good regex'));
-is(cnt(), 0, "Multiple CF - Value deleted");
-
-fails($cf->SetPattern('(?{ "insert evil code here" })'));
-works($cf->SetPattern('(?!)')); # reject everything
-fails(add(''));
-fails(add('...'));
-
-1;
diff --git a/rt/lib/t/regression/17custom_search.t b/rt/lib/t/regression/17custom_search.t
deleted file mode 100644
index 8e53f4486..000000000
--- a/rt/lib/t/regression/17custom_search.t
+++ /dev/null
@@ -1,88 +0,0 @@
-#!/usr/bin/perl -w
-use strict;
-
-use Test::More tests => 10;
-BEGIN {
- use RT;
- RT::LoadConfig;
- RT::Init;
-}
-use Test::WWW::Mechanize;
-
-use constant BaseURL => $RT::WebURL;
-
-# reset preferences for easier test?
-
-my $t = RT::Ticket->new($RT::SystemUser);
-$t->Create(Subject => 'for custom search', Queue => 'general',
- Owner => 'root', Requestor => 'customsearch@localhost');
-ok(my $id = $t->id, 'created ticket for custom search');
-
-my $m = Test::WWW::Mechanize->new ( autocheck => 1 );
-isa_ok($m, 'Test::WWW::Mechanize');
-
-$m->get( BaseURL."?user=root;pass=password" );
-$m->content_like(qr/Logout/, 'we did log in');
-
-my $t_link = $m->find_link( text => "for custom search" );
-like ($t_link->url, qr/$id/, 'link to the ticket we created');
-
-$m->content_lacks ('customsearch@localhost', 'requestor not displayed ');
-$m->get ( BaseURL.'Prefs/MyRT.html' );
-my $cus_hp = $m->find_link( text => "My Tickets" );
-my $cus_qs = $m->find_link( text => "Quick search" );
-$m->get ($cus_hp);
-$m->content_like (qr'highest priority tickets');
-
-# add Requestor to the fields
-$m->form_name ('BuildQuery');
-# can't use submit form for mutli-valued select as it uses set_fields
-$m->field (SelectDisplayColumns => ['Requestors']);
-$m->click_button (name => 'AddCol') ;
-
-$m->form_name ('BuildQuery');
-$m->click_button (name => 'Save');
-
-$m->get( BaseURL );
-$m->content_contains ('customsearch@localhost', 'requestor now displayed ');
-
-
-# now remove Requestor from the fields
-$m->get ($cus_hp);
-
-$m->form_name ('BuildQuery');
-$m->field (CurrentDisplayColumns => 'Requestors');
-$m->click_button (name => 'RemoveCol') ;
-
-$m->form_name ('BuildQuery');
-$m->click_button (name => 'Save');
-
-$m->get( BaseURL );
-$m->content_lacks ('customsearch@localhost', 'requestor not displayed ');
-
-
-# try to disable General from quick search
-
-# Note that there's a small problem in the current implementation,
-# since ticked quese are wanted, we do the invesrsion. So any
-# queue added during the quicksearch setting will be unticked.
-my $nlinks = $#{$m->find_all_links( text => "General" )};
-warn $nlinks;
-$m->get ($cus_qs);
-$m->form_name ('Preferences');
-$m->untick('Want-General', '1');
-$m->click_button (name => 'Save');
-
-$m->get( BaseURL );
-is ($#{$m->find_all_links( text => "General" )}, $nlinks - 1,
- 'General gone from quicksearch list');
-
-# get it back
-$m->get ($cus_qs);
-$m->form_name ('Preferences');
-$m->tick('Want-General', '1');
-$m->click_button (name => 'Save');
-
-$m->get( BaseURL );
-is ($#{$m->find_all_links( text => "General" )}, $nlinks,
- 'General back in quicksearch list');
diff --git a/rt/lib/t/regression/18custom_frontpage.t b/rt/lib/t/regression/18custom_frontpage.t
deleted file mode 100644
index cf77e35cc..000000000
--- a/rt/lib/t/regression/18custom_frontpage.t
+++ /dev/null
@@ -1,75 +0,0 @@
-#!/usr/bin/perl -w
-use strict;
-
-use Test::More tests => 7;
-BEGIN {
- use RT;
- RT::LoadConfig;
- RT::Init;
-}
-use Test::WWW::Mechanize;
-
-use constant BaseURL => $RT::WebURL;
-
-
-my $user_obj = RT::User->new($RT::SystemUser);
-my ($ret, $msg) = $user_obj->LoadOrCreateByEmail('customer@example.com');
-ok($ret, 'ACL test user creation');
-$user_obj->SetName('customer');
-$user_obj->SetPrivileged(1);
-($ret, $msg) = $user_obj->SetPassword('customer');
-$user_obj->PrincipalObj->GrantRight(Right => 'LoadSavedSearch');
-$user_obj->PrincipalObj->GrantRight(Right => 'EditSavedSearch');
-$user_obj->PrincipalObj->GrantRight(Right => 'CreateSavedSearch');
-$user_obj->PrincipalObj->GrantRight(Right => 'ModifySelf');
-
-my $m = Test::WWW::Mechanize->new ( autocheck => 1 );
-isa_ok($m, 'Test::WWW::Mechanize');
-
-$m->get( BaseURL."?user=customer;pass=customer" );
-
-$m->content_like(qr/Logout/, 'we did log in');
-
-$m->get ( BaseURL."Search/Build.html");
-
-#create a saved search
-$m->form_name ('BuildQuery');
-
-$m->field ( "ValueOfAttachment" => 'stupid');
-$m->field ( "Description" => 'stupid tickets');
-$m->click_button (name => 'Save');
-
-$m->get ( BaseURL.'Prefs/MyRT.html' );
-$m->content_like (qr/stupid tickets/, 'saved search listed in rt at a glance items');
-
-$m->follow_link (text => 'Logout');
-
-$m->get( BaseURL."?user=root;pass=password" );
-$m->content_like(qr/Logout/, 'we did log in');
-
-$m->get ( BaseURL.'Prefs/MyRT.html' );
-$m->form_name ('SelectionBox-body');
-# can't use submit form for mutli-valued select as it uses set_fields
-$m->field ('body-Selected' => ['component-QuickCreate', 'system-Unowned Tickets', 'system-My Tickets']);
-$m->click_button (name => 'remove');
-$m->form_name ('SelectionBox-body');
-#$m->click_button (name => 'body-Save');
-$m->get ( BaseURL );
-$m->content_lacks ('highest priority tickets', 'remove everything from body pane');
-
-$m->get ( BaseURL.'Prefs/MyRT.html' );
-$m->form_name ('SelectionBox-body');
-$m->field ('body-Available' => ['component-QuickCreate', 'system-Unowned Tickets', 'system-My Tickets']);
-$m->click_button (name => 'add');
-
-$m->form_name ('SelectionBox-body');
-$m->field ('body-Selected' => ['component-QuickCreate']);
-$m->click_button (name => 'movedown');
-
-$m->form_name ('SelectionBox-body');
-$m->click_button (name => 'movedown');
-
-$m->form_name ('SelectionBox-body');
-#$m->click_button (name => 'body-Save');
-$m->get ( BaseURL );
-$m->content_like (qr'highest priority tickets', 'adds them back');
diff --git a/rt/lib/t/regression/19quicksearch.t b/rt/lib/t/regression/19quicksearch.t
deleted file mode 100644
index 7744787c0..000000000
--- a/rt/lib/t/regression/19quicksearch.t
+++ /dev/null
@@ -1,39 +0,0 @@
-
-#!/usr/bin/perl -w
-
-use strict;
-use warnings;
-
-use Test::More qw/no_plan/;
-use_ok('RT');
-RT::LoadConfig();
-RT::Init();
-
-my $q = RT::Queue->new($RT::SystemUser);
-my $queue = 'SearchTests-'.$$;
-$q->Create(Name => $queue);
-ok ($q->id, "Created the queue");
-
-my $t1 = RT::Ticket->new($RT::SystemUser);
-my ( $id, undef, $msg ) = $t1->Create(
- Queue => $q->id,
- Subject => 'SearchTest1',
- Requestor => ['search2@example.com'],
-);
-ok( $id, $msg );
-
-use_ok("RT::Search::Googleish");
-my $tickets = RT::Tickets->new($RT::SystemUser);
-my $quick = RT::Search::Googleish->new(Argument => "",
- TicketsObj => $tickets);
-my @tests = (
- "General new open root" => "( Owner = 'root' ) AND ( Queue = 'General' ) AND ( Status = 'new' OR Status = 'open' )",
- "fulltext:jesse" => "( Content LIKE 'jesse' )",
- $queue => "( Queue = '$queue' )",
- "root $queue" => "( Owner = 'root' ) AND ( Queue = '$queue' )",
- "notauser $queue" => "( Queue = '$queue' ) AND ( Subject LIKE 'notauser' )",
- "notauser $queue root" => "( Owner = 'root' ) AND ( Queue = '$queue' ) AND ( Subject LIKE 'notauser' )");
-
-while (my ($from, $to) = splice @tests, 0, 2) {
- is($quick->QueryToSQL($from), $to, "<$from> -> <$to>");
-}
diff --git a/rt/lib/t/regression/20-sort-by-requestor.t b/rt/lib/t/regression/20-sort-by-requestor.t
deleted file mode 100644
index e6903b433..000000000
--- a/rt/lib/t/regression/20-sort-by-requestor.t
+++ /dev/null
@@ -1,143 +0,0 @@
-#!/usr/bin/perl -w
-use strict; use warnings;
-
-use Test::More qw/no_plan/;
-use_ok('RT');
-RT::LoadConfig();
-RT::Init();
-use RT::Ticket;
-
-my $q = RT::Queue->new($RT::SystemUser);
-my $queue = 'SearchTests-'.rand(200);
-$q->Create(Name => $queue);
-
-my @requestors = ( ('bravo@example.com') x 6, ('alpha@example.com') x 6,
- ('delta@example.com') x 6, ('charlie@example.com') x 6,
- (undef) x 6);
-my @subjects = ("first test", "second test", "third test", "fourth test", "fifth test") x 6;
-while (@requestors) {
- my $t = RT::Ticket->new($RT::SystemUser);
- my ( $id, undef $msg ) = $t->Create(
- Queue => $q->id,
- Subject => shift @subjects,
- Requestor => [ shift @requestors ]
- );
- ok( $id, $msg );
-}
-
-{
- my $tix = RT::Tickets->new($RT::SystemUser);
- $tix->FromSQL("Queue = '$queue'");
- is($tix->Count, 30, "found thirty tickets");
-}
-
-{
- my $tix = RT::Tickets->new($RT::SystemUser);
- $tix->FromSQL("Queue = '$queue' AND requestor = 'alpha\@example.com'");
- $tix->OrderByCols({ FIELD => "Subject" });
- my @subjects;
- while (my $t = $tix->Next) { push @subjects, $t->Subject; }
- is(@subjects, 6, "found six tickets");
- is_deeply( \@subjects, [ sort @subjects ], "Subjects are sorted");
-}
-
-sub check_emails_order
-{
- my ($tix,$count,$order) = (@_);
- my @mails;
- while (my $t = $tix->Next) { push @mails, $t->RequestorAddresses; }
- is(@mails, $count, "found $count tickets for ". $tix->Query);
- my @required_order;
- if( $order =~ /asc/i ) {
- @required_order = sort { $a? ($b? ($a cmp $b) : -1) : 1} @mails;
- } else {
- @required_order = sort { $a? ($b? ($b cmp $a) : -1) : 1} @mails;
- }
- foreach( reverse splice @mails ) {
- if( $_ ) { unshift @mails, $_ }
- else { push @mails, $_ }
- }
- is_deeply( \@mails, \@required_order, "Addresses are sorted");
-}
-
-{
- my $tix = RT::Tickets->new($RT::SystemUser);
- $tix->FromSQL("Queue = '$queue' AND subject = 'first test' AND Requestor.EmailAddress LIKE 'example.com'");
- $tix->OrderByCols({ FIELD => "Requestor.EmailAddress" });
- check_emails_order($tix, 5, 'ASC');
- $tix->OrderByCols({ FIELD => "Requestor.EmailAddress", ORDER => 'DESC' });
- check_emails_order($tix, 5, 'DESC');
-}
-
-{
- my $tix = RT::Tickets->new($RT::SystemUser);
- $tix->FromSQL("Queue = '$queue' AND Subject = 'first test'");
- $tix->OrderByCols({ FIELD => "Requestor.EmailAddress" });
- check_emails_order($tix, 6, 'ASC');
- $tix->OrderByCols({ FIELD => "Requestor.EmailAddress", ORDER => 'DESC' });
- check_emails_order($tix, 6, 'DESC');
-}
-
-
-{
- my $tix = RT::Tickets->new($RT::SystemUser);
- $tix->FromSQL("Queue = '$queue' AND Subject = 'first test'");
- $tix->OrderByCols({ FIELD => "Requestor.EmailAddress" });
- check_emails_order($tix, 6, 'ASC');
- $tix->OrderByCols({ FIELD => "Requestor.EmailAddress", ORDER => 'DESC' });
- check_emails_order($tix, 6, 'DESC');
-}
-
-{
- # create ticket with group as member of the requestors group
- my $t = RT::Ticket->new($RT::SystemUser);
- my ( $id, $msg ) = $t->Create(
- Queue => $q->id,
- Subject => "first test",
- Requestor => 'badaboom@example.com',
- );
- ok( $id, "ticket created" ) or diag( "error: $msg" );
-
- my $g = RT::Group->new($RT::SystemUser);
-
- my ($gid);
- ($gid, $msg) = $g->CreateUserDefinedGroup(Name => '20-sort-by-requestor.t-'.rand(200));
- ok($gid, "created group") or diag("error: $msg");
-
- ($id, $msg) = $t->Requestors->AddMember( $gid );
- ok($id, "added group to requestors group") or diag("error: $msg");
-}
-
- my $tix = RT::Tickets->new($RT::SystemUser);
- $tix->FromSQL("Queue = '$queue' AND Subject = 'first test'");
-TODO: {
- local $TODO = "if group has non users members we get wrong order";
- $tix->OrderByCols({ FIELD => "Requestor.EmailAddress" });
- check_emails_order($tix, 7, 'ASC');
-}
- $tix->OrderByCols({ FIELD => "Requestor.EmailAddress", ORDER => 'DESC' });
- check_emails_order($tix, 7, 'DESC');
-
-{
- my $tix = RT::Tickets->new($RT::SystemUser);
- $tix->FromSQL("Queue = '$queue'");
- $tix->OrderByCols({ FIELD => "Requestor.EmailAddress" });
- $tix->RowsPerPage(30);
- my @mails;
- while (my $t = $tix->Next) { push @mails, $t->RequestorAddresses; }
- is(@mails, 30, "found thirty tickets");
- is_deeply( [grep {$_} @mails], [ sort grep {$_} @mails ], "Paging works (exclude nulls, which are db-dependant)");
-}
-
-{
- my $tix = RT::Tickets->new($RT::SystemUser);
- $tix->FromSQL("Queue = '$queue'");
- $tix->OrderByCols({ FIELD => "Requestor.EmailAddress" });
- $tix->RowsPerPage(30);
- my @mails;
- while (my $t = $tix->Next) { push @mails, $t->RequestorAddresses; }
- is(@mails, 30, "found thirty tickets");
- is_deeply( [grep {$_} @mails], [ sort grep {$_} @mails ], "Paging works (exclude nulls, which are db-dependant)");
-}
-
-# vim:ft=perl:
diff --git a/rt/lib/t/regression/23-batch-upload-csv.t b/rt/lib/t/regression/23-batch-upload-csv.t
deleted file mode 100644
index fc9436a20..000000000
--- a/rt/lib/t/regression/23-batch-upload-csv.t
+++ /dev/null
@@ -1,47 +0,0 @@
-#!/usr/bin/perl -w
-use strict; use warnings;
-
-use Test::More qw/no_plan/;
-use_ok('RT');
-RT::LoadConfig();
-RT::Init();
-use_ok('RT::Action::CreateTickets');
-
-my $QUEUE = 'uploadtest-'.$$;
-
-my $queue_obj = RT::Queue->new($RT::SystemUser);
-$queue_obj->Create(Name => $QUEUE);
-
-my $cf = RT::CustomField->new($RT::SystemUser);
-my ($val,$msg) = $cf->Create(Name => 'Work Package-'.$$, Type => 'Freeform', LookupType => RT::Ticket->CustomFieldLookupType, MaxValues => 1);
-ok($cf->id);
-ok($val,$msg);
-($val, $msg) = $cf->AddToObject($queue_obj);
-ok($val,$msg);
-ok($queue_obj->TicketCustomFields()->Count, "We have a custom field, at least");
-
-
-my $data = <<EOF;
-id,Queue,Subject,Status,Requestor,@{[$cf->Name]}
-create-1,$QUEUE,hi,new,root,2.0
-create-2,$QUEUE,hello,new,root,3.0
-EOF
-
-my $action = RT::Action::CreateTickets->new(CurrentUser => RT::CurrentUser->new('root'));
-ok ($action->CurrentUser->id , "WE have a current user");
-
-$action->Parse(Content => $data);
-my @results = $action->CreateByTemplate();
-
-my $tix = RT::Tickets->new($RT::SystemUser);
-$tix->FromSQL ("Queue = '". $QUEUE."'");
-$tix->OrderBy( FIELD => 'id', ORDER => 'ASC' );
-ok($tix->Count);
-my $first = $tix->First();
-is($first->Subject(), 'hi');
-is($first->FirstCustomFieldValue($cf->id), '2.0');
-
-my $second = $tix->Next;
-is($second->Subject(), 'hello');
-is($second->FirstCustomFieldValue($cf->id), '3.0');
-1;
diff --git a/rt/lib/t/regression/23cfsort.t b/rt/lib/t/regression/23cfsort.t
deleted file mode 100644
index e90fa36b2..000000000
--- a/rt/lib/t/regression/23cfsort.t
+++ /dev/null
@@ -1,143 +0,0 @@
-#!/usr/bin/perl
-
-use Test::More tests => 15;
-use RT;
-RT::LoadConfig();
-RT::Init();
-
-use strict;
-use warnings;
-
-use RT::Tickets;
-use RT::Queue;
-use RT::CustomField;
-
-my($ret,$msg);
-
-
-# Test Sorting by custom fields.
-
-# ---- Create a queue to test with.
-my $queue = "CFSortQueue-$$";
-my $queue_obj = RT::Queue->new($RT::SystemUser);
-($ret, $msg) = $queue_obj->Create(Name => $queue,
- Description => 'queue for custom field sort testing');
-ok($ret, "$queue test queue creation. $msg");
-
-# ---- Create some custom fields. We're not currently using all of
-# them to test with, but the more the merrier.
-my $cfO = RT::CustomField->new($RT::SystemUser);
-my $cfA = RT::CustomField->new($RT::SystemUser);
-my $cfB = RT::CustomField->new($RT::SystemUser);
-my $cfC = RT::CustomField->new($RT::SystemUser);
-
-($ret, $msg) = $cfO->Create( Name => 'Order',
- Queue => 0,
- SortOrder => 1,
- Description => q[Something to compare results for, since we can't guarantee ticket ID],
- Type=> 'FreeformSingle');
-ok($ret, "Custom Field Order created");
-
-($ret, $msg) = $cfA->Create( Name => 'Alpha',
- Queue => $queue_obj->id,
- SortOrder => 1,
- Description => 'A Testing custom field',
- Type=> 'FreeformSingle');
-ok($ret, "Custom Field Alpha created");
-
-($ret, $msg) = $cfB->Create( Name => 'Beta',
- Queue => $queue_obj->id,
- Description => 'A Testing custom field',
- Type=> 'FreeformSingle');
-ok($ret, "Custom Field Beta created");
-
-($ret, $msg) = $cfC->Create( Name => 'Charlie',
- Queue => $queue_obj->id,
- Description => 'A Testing custom field',
- Type=> 'FreeformSingle');
-ok($ret, "Custom Field Charlie created");
-
-# ----- Create some tickets to test with. Assign them some values to
-# make it easy to sort with.
-my $t1 = RT::Ticket->new($RT::SystemUser);
-$t1->Create( Queue => $queue_obj->Id,
- Subject => 'One',
- );
-$t1->AddCustomFieldValue(Field => $cfO->Id, Value => '1');
-$t1->AddCustomFieldValue(Field => $cfA->Id, Value => '2');
-$t1->AddCustomFieldValue(Field => $cfB->Id, Value => '1');
-$t1->AddCustomFieldValue(Field => $cfC->Id, Value => 'BBB');
-
-my $t2 = RT::Ticket->new($RT::SystemUser);
-$t2->Create( Queue => $queue_obj->Id,
- Subject => 'Two',
- );
-$t2->AddCustomFieldValue(Field => $cfO->Id, Value => '2');
-$t2->AddCustomFieldValue(Field => $cfA->Id, Value => '1');
-$t2->AddCustomFieldValue(Field => $cfB->Id, Value => '2');
-$t2->AddCustomFieldValue(Field => $cfC->Id, Value => 'AAA');
-
-# helper
-sub check_order {
- my ($tx, @order) = @_;
- my @results;
- while (my $t = $tx->Next) {
- push @results, $t->CustomFieldValues($cfO->Id)->First->Content;
- }
- my $results = join (" ",@results);
- my $order = join(" ",@order);
- is( $results, $order , "Ordered correctly: $order");
-}
-
-# The real tests start here
-my $tx = new RT::Tickets( $RT::SystemUser );
-
-
-# Make sure we can sort in both directions on a queue specific field.
-$tx->FromSQL(qq[queue="$queue"] );
-$tx->OrderBy( FIELD => "CF.${queue}.{Charlie}", ORDER => 'DES' );
-is($tx->Count,2 ,"We found 2 tickets when lookign for cf charlie");
-check_order( $tx, 1, 2);
-
-$tx = new RT::Tickets( $RT::SystemUser );
-$tx->FromSQL(qq[queue="$queue"] );
-$tx->OrderBy( FIELD => "CF.${queue}.{Charlie}", ORDER => 'ASC' );
-is($tx->Count,2, "We found two tickets when sorting by cf charlie without limiting to it" );
-check_order( $tx, 2, 1);
-
-# When ordering by _global_ CustomFields, if more than one queue has a
-# CF named Charlie, things will go bad. So, these results are uniqued
-# in Tickets_Overlay.
-$tx = new RT::Tickets( $RT::SystemUser );
-$tx->FromSQL(qq[queue="$queue"] );
-$tx->OrderBy( FIELD => "CF.{Charlie}", ORDER => 'DES' );
-is($tx->Count,2);
-check_order( $tx, 1, 2);
-
-# Add a new ticket, to test sorting on multiple columns.
-my $t3 = RT::Ticket->new($RT::SystemUser);
-$t3->Create( Queue => $queue_obj->Id,
- Subject => 'Three',
- );
-$t3->AddCustomFieldValue(Field => $cfO->Id, Value => '3');
-$t3->AddCustomFieldValue(Field => $cfA->Id, Value => '3');
-$t3->AddCustomFieldValue(Field => $cfB->Id, Value => '2');
-$t3->AddCustomFieldValue(Field => $cfC->Id, Value => 'AAA');
-
-$tx = new RT::Tickets( $RT::SystemUser );
-$tx->FromSQL(qq[queue="$queue"] );
-$tx->OrderByCols({FIELD => "CF.${queue}.{Charlie}", ORDER => 'ASC'},
- {FIELD => "CF.${queue}.{Alpha}", ORDER => 'DES'}
- );
-is($tx->Count,3);
-check_order( $tx, 3, 2, 1);
-
-# Reverse the order of the secondary column, which changes the order
-# of the first two tickets.
-$tx = new RT::Tickets( $RT::SystemUser );
-$tx->FromSQL(qq[queue="$queue"] );
-$tx->OrderByCols({FIELD => "CF.${queue}.{Charlie}", ORDER => 'ASC'},
- {FIELD => "CF.${queue}.{Alpha}", ORDER => 'ASC'}
- );
-is($tx->Count,3);
-check_order( $tx, 2, 3, 1);
diff --git a/rt/lib/t/regression/24pawsort.t b/rt/lib/t/regression/24pawsort.t
deleted file mode 100644
index 665c325a6..000000000
--- a/rt/lib/t/regression/24pawsort.t
+++ /dev/null
@@ -1,104 +0,0 @@
-#!/usr/bin/perl
-
-use Test::More qw/no_plan/;
-use RT;
-RT::LoadConfig();
-RT::Init();
-
-use strict;
-use warnings;
-
-use RT::Tickets;
-use RT::Queue;
-use RT::CustomField;
-
-my($ret,$msg);
-
-# Test Paw Sort
-
-
-
-# ---- Create a queue to test with.
-my $queue = "PAWSortQueue-$$";
-my $queue_obj = RT::Queue->new($RT::SystemUser);
-($ret, $msg) = $queue_obj->Create(Name => $queue,
- Description => 'queue for custom field sort testing');
-ok($ret, "$queue test queue creation. $msg");
-
-
-# ---- Create some users
-
-my $me = RT::User->new($RT::SystemUser);
-($ret, $msg) = $me->Create(Name => "Me$$", EmailAddress => $$.'create-me-1@example.com');
-($ret, $msg) = $me->PrincipalObj->GrantRight(Object =>$queue_obj, Right => 'OwnTicket');
-($ret, $msg) = $me->PrincipalObj->GrantRight(Object =>$queue_obj, Right => 'SeeQueue');
-($ret, $msg) = $me->PrincipalObj->GrantRight(Object =>$queue_obj, Right => 'ShowTicket');
-my $you = RT::User->new($RT::SystemUser);
-($ret, $msg) = $you->Create(Name => "You$$", EmailAddress => $$.'create-you-1@example.com');
-($ret, $msg) = $you->PrincipalObj->GrantRight(Object =>$queue_obj, Right => 'OwnTicket');
-($ret, $msg) = $you->PrincipalObj->GrantRight(Object =>$queue_obj, Right => 'SeeQueue');
-($ret, $msg) = $you->PrincipalObj->GrantRight(Object =>$queue_obj, Right => 'ShowTicket');
-
-my $nobody = RT::User->new($RT::SystemUser);
-$nobody->Load('nobody');
-
-
-# ----- Create some tickets to test with. Assign them some values to
-# make it easy to sort with.
-
-my @tickets = (
- [qw[1 10], $me],
- [qw[2 20], $me],
- [qw[3 20], $you],
- [qw[4 30], $you],
- [qw[5 5], $nobody],
- [qw[6 55], $nobody],
- );
-for (@tickets) {
- my $t = RT::Ticket->new($RT::SystemUser);
- $t->Create( Queue => $queue_obj->Id,
- Subject => $_->[0],
- Owner => $_->[2]->Id,
- Priority => $_->[1],
- );
-}
-
-sub check_order {
- my ($tx, @order) = @_;
- my @results;
- while (my $t = $tx->Next) {
- push @results, $t->Subject;
- }
- my $results = join (" ",@results);
- my $order = join(" ",@order);
- is( $results, $order );
-}
-
-
-# The real tests start here
-
-my $cme = new RT::CurrentUser( $me );
-my $metx = new RT::Tickets( $cme );
-# Make sure we can sort in both directions on a queue specific field.
-$metx->FromSQL(qq[queue="$queue"] );
-$metx->OrderBy( FIELD => "Custom.Ownership", ORDER => 'ASC' );
-is($metx->Count,6);
-check_order( $metx, qw[2 1 6 5 4 3]);
-
-$metx->OrderBy( FIELD => "Custom.Ownership", ORDER => 'DESC' );
-is($metx->Count,6);
-check_order( $metx, reverse qw[2 1 6 5 4 3]);
-
-
-
-my $cyou = new RT::CurrentUser( $you );
-my $youtx = new RT::Tickets( $cyou );
-# Make sure we can sort in both directions on a queue specific field.
-$youtx->FromSQL(qq[queue="$queue"] );
-$youtx->OrderBy( FIELD => "Custom.Ownership", ORDER => 'ASC' );
-is($youtx->Count,6);
-check_order( $youtx, qw[4 3 6 5 2 1]);
-
-__END__
-
-
diff --git a/rt/lib/t/regression/25scrip_order.t b/rt/lib/t/regression/25scrip_order.t
deleted file mode 100644
index 0e11989e6..000000000
--- a/rt/lib/t/regression/25scrip_order.t
+++ /dev/null
@@ -1,57 +0,0 @@
-#!/usr/bin/perl -w
-
-use strict;
-use Test::More tests => 7;
-
-use RT;
-RT::LoadConfig();
-RT::Init;
-
-# {{{ test scrip ordering based on description
-
-my $scrip_queue = RT::Queue->new($RT::SystemUser);
-my ($queue_id, $msg) = $scrip_queue->Create( Name => "ScripOrdering-$$",
- Description => 'Test scrip ordering by description' );
-ok($queue_id, "Created scrip-ordering test queue? ".$msg);
-
-my $priority_ten_scrip = RT::Scrip->new($RT::SystemUser);
-(my $id, $msg) = $priority_ten_scrip->Create(
- Description => "10 set priority $$",
- Queue => $queue_id,
- ScripCondition => 'On Create',
- ScripAction => 'User Defined',
- CustomPrepareCode => '$RT::Logger->debug("Setting priority to 10..."); return 1;',
- CustomCommitCode => '$self->TicketObj->SetPriority(10);',
- Template => 'Blank',
- Stage => 'TransactionCreate',
-);
-ok($id, "Created priority-10 scrip? ".$msg);
-
-my $priority_five_scrip = RT::Scrip->new($RT::SystemUser);
-($id, $msg) = $priority_ten_scrip->Create(
- Description => "05 set priority $$",
- Queue => $queue_id,
- ScripCondition => 'On Create',
- ScripAction => 'User Defined',
- CustomPrepareCode => '$RT::Logger->debug("Setting priority to 5..."); return 1;',
- CustomCommitCode => '$self->TicketObj->SetPriority(5);',
- Template => 'Blank',
- Stage => 'TransactionCreate',
-);
-ok($id, "Created priority-5 scrip? ".$msg);
-
-my $ticket = RT::Ticket->new($RT::SystemUser);
-($id, $msg) = $ticket->Create(
- Queue => $queue_id,
- Requestor => 'order@example.com',
- Subject => "Scrip order test $$",
-);
-ok($ticket->id, "Created ticket? id=$id");
-
-ok($ticket->Priority != 0, "Ticket shouldn't be priority 0");
-ok($ticket->Priority != 5, "Ticket shouldn't be priority 5");
-ok($ticket->Priority == 10, "Ticket should be priority 10");
-
-# }}}
-
-1;
diff --git a/rt/lib/t/regression/26command_line.t b/rt/lib/t/regression/26command_line.t
deleted file mode 100644
index 841e2d1c2..000000000
--- a/rt/lib/t/regression/26command_line.t
+++ /dev/null
@@ -1,415 +0,0 @@
-#!/usr/bin/perl -w
-
-use strict;
-use Test::Expect;
-#use Test::More qw/no_plan/;
-use Test::More tests => 202;
-
-use RT;
-RT::LoadConfig();
-RT::Init;
-
-use RT::User;
-use RT::Queue;
-
-my $rt_tool_path = "$RT::BinPath/rt";
-
-# {{{ test configuration options
-
-# config directives:
-# (in $CWD/.rtrc)
-# - server <URL> URL to RT server.
-# - user <username> RT username.
-# - passwd <passwd> RT user's password.
-# - query <RT Query> Default RT Query for list action
-# - orderby <order> Default RT order for list action
-#
-# Blank and #-commented lines are ignored.
-
-# environment variables
-# The following environment variables override any corresponding
-# values defined in configuration files:
-#
-# - RTUSER
-$ENV{'RTUSER'} = 'root';
-# - RTPASSWD
-$ENV{'RTPASSWD'} = 'password';
-# - RTSERVER
-$RT::Logger->debug("Connecting to server at $RT::WebBaseURL...");
-$ENV{'RTSERVER'} = $RT::WebBaseURL;
-# - RTDEBUG Numeric debug level. (Set to 3 for full logs.)
-$ENV{'RTDEBUG'} = '1';
-# - RTCONFIG Specifies a name other than ".rtrc" for the
-# configuration file.
-#
-# - RTQUERY Default RT Query for rt list
-# - RTORDERBY Default order for rt list
-
-
-# }}}
-
-# {{{ test ticket manipulation
-
-# create a ticket
-expect_run(
- command => "$rt_tool_path shell",
- prompt => 'rt> ',
- quit => 'quit',
-);
-expect_send(q{create -t ticket set subject='new ticket' add cc=foo@example.com}, "Creating a ticket...");
-expect_like(qr/Ticket \d+ created/, "Created the ticket");
-expect_handle->before() =~ /Ticket (\d+) created/;
-my $ticket_id = $1;
-ok($ticket_id, "Got ticket id=$ticket_id");
-expect_send(q{create -t ticket set subject='new ticket'}, "Creating a ticket as just a subject...");
-expect_like(qr/Ticket \d+ created/, "Created the ticket");
-
-# make sure we can request things as 'rt foo'
-expect_send(q{rt create -t ticket set subject='rt ticket'}, "Creating a ticket with 'rt create'...");
-expect_like(qr/Ticket \d+ created/, "Created the ticket");
-
-# {{{ test queue manipulation
-
-# creating queues
-expect_send("create -t queue set Name='NewQueue$$'", 'Creating a queue...');
-expect_like(qr/Queue \d+ created/, 'Created the queue');
-expect_handle->before() =~ /Queue (\d+) created/;
-my $queue_id = $1;
-ok($queue_id, "Got queue id=$queue_id");
-# updating users
-expect_send("edit queue/$queue_id set Name='EditedQueue$$'", 'Editing the queue');
-expect_like(qr/Queue $queue_id updated/, 'Edited the queue');
-expect_send("show queue/$queue_id", 'Showing the queue...');
-expect_like(qr/id: queue\/$queue_id/, 'Saw the queue');
-expect_like(qr/Name: EditedQueue$$/, 'Saw the modification');
-TODO: {
- todo_skip "Listing non-ticket items doesn't work", 2;
- expect_send("list -t queue 'id > 0'", 'Listing the queues...');
- expect_like(qr/$queue_id: EditedQueue$$/, 'Found the queue');
-}
-
-# }}}
-
-# add a comment to ticket
- expect_send("comment -m 'comment-$$' $ticket_id", "Adding a comment...");
- expect_like(qr/Message recorded/, "Added the comment");
- ### should test to make sure it actually got added
- # add correspondance to ticket (?)
- expect_send("correspond -m 'correspond-$$' $ticket_id", "Adding correspondence...");
- expect_like(qr/Message recorded/, "Added the correspondence");
- ### should test to make sure it actually got added
-
- # add attachments to a ticket
- # text attachment
- check_attachment("$RT::BasePath/lib/t/data/lorem-ipsum");
- # binary attachment
- check_attachment($RT::MasonComponentRoot.'/NoAuth/images/bplogo.gif');
-
-# change a ticket's Owner
-expect_send("edit ticket/$ticket_id set owner=root", 'Changing owner...');
-expect_like(qr/Ticket $ticket_id updated/, 'Changed owner');
-expect_send("show ticket/$ticket_id -f owner", 'Verifying change...');
-expect_like(qr/Owner: root/, 'Verified change');
-# change a ticket's Requestor
-expect_send("edit ticket/$ticket_id set requestors=foo\@example.com", 'Changing Requestor...');
-expect_like(qr/Ticket $ticket_id updated/, 'Changed Requestor');
-expect_send("show ticket/$ticket_id -f requestors", 'Verifying change...');
-expect_like(qr/Requestors: foo\@example.com/, 'Verified change');
-# change a ticket's Cc
-expect_send("edit ticket/$ticket_id set cc=bar\@example.com", 'Changing Cc...');
-expect_like(qr/Ticket $ticket_id updated/, 'Changed Cc');
-expect_send("show ticket/$ticket_id -f cc", 'Verifying change...');
-expect_like(qr/Cc: bar\@example.com/, 'Verified change');
-# change a ticket's priority
-expect_send("edit ticket/$ticket_id set priority=10", 'Changing priority...');
-expect_like(qr/Ticket $ticket_id updated/, 'Changed priority');
-expect_send("show ticket/$ticket_id -f priority", 'Verifying change...');
-expect_like(qr/Priority: 10/, 'Verified change');
-# move a ticket to a different queue
-expect_send("edit ticket/$ticket_id set queue=EditedQueue$$", 'Changing queue...');
-expect_like(qr/Ticket $ticket_id updated/, 'Changed queue');
-expect_send("show ticket/$ticket_id -f queue", 'Verifying change...');
-expect_like(qr/Queue: EditedQueue$$/, 'Verified change');
-# cannot move ticket to a nonexistent queue
-expect_send("edit ticket/$ticket_id set queue=nonexistent-$$", 'Changing to nonexistent queue...');
-expect_like(qr/queue does not exist/i, 'Errored out');
-expect_send("show ticket/$ticket_id -f queue", 'Verifying lack of change...');
-expect_like(qr/Queue: EditedQueue$$/, 'Verified lack of change');
-# ...
-# change a ticket's ...[other properties]...
-# ...
-# stall a ticket
-expect_send("edit ticket/$ticket_id set status=stalled", 'Changing status to "stalled"...');
-expect_like(qr/Ticket $ticket_id updated/, 'Changed status');
-expect_send("show ticket/$ticket_id -f status", 'Verifying change...');
-expect_like(qr/Status: stalled/, 'Verified change');
-# resolve a ticket
-expect_send("edit ticket/$ticket_id set status=resolved", 'Changing status to "resolved"...');
-expect_like(qr/Ticket $ticket_id updated/, 'Changed status');
-expect_send("show ticket/$ticket_id -f status", 'Verifying change...');
-expect_like(qr/Status: resolved/, 'Verified change');
-# try to set status to an illegal value
-expect_send("edit ticket/$ticket_id set status=quux", 'Changing status to an illegal value...');
-expect_like(qr/illegal value/i, 'Errored out');
-expect_send("show ticket/$ticket_id -f status", 'Verifying lack of change...');
-expect_like(qr/Status: resolved/, 'Verified change');
-
-# }}}
-
-# {{{ display
-
-# show ticket list
-expect_send("ls -s -t ticket -o +id \"Status='resolved'\"", 'Listing resolved tickets...');
-expect_like(qr/$ticket_id: new ticket/, 'Found our ticket');
-# show ticket list verbosely
-expect_send("ls -l -t ticket -o +id \"Status='resolved'\"", 'Listing resolved tickets verbosely...');
-expect_like(qr/id: ticket\/$ticket_id/, 'Found our ticket');
-# show ticket
-expect_send("show -t ticket $ticket_id", 'Showing our ticket...');
-expect_like(qr/id: ticket\/$ticket_id/, 'Got our ticket');
-# show ticket history
-expect_send("show ticket/$ticket_id/history", 'Showing our ticket\'s history...');
-expect_like(qr/Ticket created by root/, 'Got our history');
-TODO: {
- local $TODO = "Cannot show verbose ticket history right now";
- # show ticket history verbosely
- expect_send("show -v ticket/$ticket_id/history", 'Showing our ticket\'s history verbosely...');
- expect_like(qr/Ticket created by root/, 'Got our history');
-}
-# get attachments from a ticket
-expect_send("show ticket/$ticket_id/attachments", 'Showing ticket attachments...');
-expect_like(qr/id: ticket\/$ticket_id\/attachments/, 'Got our ticket\'s attachments');
-expect_like(qr/Attachments: \d+:\s*\(\S+ \/ \d+\w+\)/, 'Our ticket has an attachment');
-expect_handle->before() =~ /Attachments: (\d+):\s*\((\S+)/;
-my $attachment_id = $1;
-my $attachment_type = $2;
-ok($attachment_id, "Got attachment id=$attachment_id $attachment_type");
-expect_send("show ticket/$ticket_id/attachments/$attachment_id", "Showing attachment $attachment_id...");
-expect_like(qr/ContentType: $attachment_type/, 'Got the attachment');
-
-# }}}
-
-# {{{ test user manipulation
-
-# creating users
-expect_send("create -t user set Name='NewUser$$' EmailAddress='fbar$$\@example.com'", 'Creating a user...');
-expect_like(qr/User \d+ created/, 'Created the user');
-expect_handle->before() =~ /User (\d+) created/;
-my $user_id = $1;
-ok($user_id, "Got user id=$user_id");
-# updating users
-expect_send("edit user/$user_id set Name='EditedUser$$'", 'Editing the user');
-expect_like(qr/User $user_id updated/, 'Edited the user');
-expect_send("show user/$user_id", 'Showing the user...');
-expect_like(qr/id: user\/$user_id/, 'Saw the user');
-expect_like(qr/Name: EditedUser$$/, 'Saw the modification');
-TODO: {
- todo_skip "Listing non-ticket items doesn't work", 2;
- expect_send("list -t user 'id > 0'", 'Listing the users...');
- expect_like(qr/$user_id: EditedUser$$/, 'Found the user');
-}
-
-# }}}
-
-# {{{ test group manipulation
-
-TODO: {
-todo_skip "Group manipulation doesn't work right now", 8;
-# creating groups
-expect_send("create -t group set Name='NewGroup$$'", 'Creating a group...');
-expect_like(qr/Group \d+ created/, 'Created the group');
-expect_handle->before() =~ /Group (\d+) created/;
-my $group_id = $1;
-ok($group_id, "Got group id=$group_id");
-# updating groups
-expect_send("edit group/$group_id set Name='EditedGroup$$'", 'Editing the group');
-expect_like(qr/Group $group_id updated/, 'Edited the group');
-expect_send("show group/$group_id", 'Showing the group...');
-expect_like(qr/id: group\/$group_id/, 'Saw the group');
-expect_like(qr/Name: EditedGroup$$/, 'Saw the modification');
-TODO: {
- local $TODO = "Listing non-ticket items doesn't work";
- expect_send("list -t group 'id > 0'", 'Listing the groups...');
- expect_like(qr/$group_id: EditedGroup$$/, 'Found the group');
-}
-}
-
-# }}}
-
-TODO: {
-todo_skip "Custom field manipulation not yet implemented", 8;
-# {{{ test custom field manipulation
-
-# creating custom fields
-expect_send("create -t custom_field set Name='NewCF$$'", 'Creating a custom field...');
-expect_like(qr/Custom Field \d+ created/, 'Created the custom field');
-expect_handle->before() =~ /Custom Field (\d+) created/;
-my $cf_id = $1;
-ok($cf_id, "Got custom field id=$cf_id");
-# updating custom fields
-expect_send("edit cf/$cf_id set Name='EditedCF$$'", 'Editing the custom field');
-expect_like(qr/Custom field $cf_id updated/, 'Edited the custom field');
-expect_send("show cf/$cf_id", 'Showing the queue...');
-expect_like(qr/id: custom_field\/$cf_id/, 'Saw the custom field');
-expect_like(qr/Name: EditedCF$$/, 'Saw the modification');
-TODO: {
- todo_skip "Listing non-ticket items doesn't work", 2;
- expect_send("list -t custom_field 'id > 0'", 'Listing the CFs...');
- expect_like(qr/$cf_id: EditedCF$$/, 'Found the custom field');
-}
-}
-
-# }}}
-
-# {{{ test merging tickets
-expect_send("create -t ticket set subject='CLIMergeTest1-$$'", 'Creating first ticket to merge...');
-expect_like(qr/Ticket \d+ created/, 'Created first ticket');
-expect_handle->before() =~ /Ticket (\d+) created/;
-my $merge_ticket_A = $1;
-ok($merge_ticket_A, "Got first ticket to merge id=$merge_ticket_A");
-expect_send("create -t ticket set subject='CLIMergeTest2-$$'", 'Creating second ticket to merge...');
-expect_like(qr/Ticket \d+ created/, 'Created second ticket');
-expect_handle->before() =~ /Ticket (\d+) created/;
-my $merge_ticket_B = $1;
-ok($merge_ticket_B, "Got second ticket to merge id=$merge_ticket_B");
-expect_send("merge $merge_ticket_B $merge_ticket_A", 'Merging the tickets...');
-expect_like(qr/Merge completed/, 'Merged the tickets');
-expect_send("show ticket/$merge_ticket_A/history", 'Checking merge on first ticket');
-expect_like(qr/Merged into ticket #$merge_ticket_A by root/, 'Merge recorded in first ticket');
-expect_send("show ticket/$merge_ticket_B/history", 'Checking merge on second ticket');
-expect_like(qr/Merged into ticket #$merge_ticket_A by root/, 'Merge recorded in second ticket');
-# }}}
-
-# {{{ test taking/stealing tickets
-{
- # create a user; give them privileges to take and steal
- ### TODO: implement 'grant' in the CLI tool; use that here instead.
- ### this breaks the abstraction barrier, like, a lot.
- my $steal_user = RT::User->new($RT::SystemUser);
- my ($steal_user_id, $msg) = $steal_user->Create( Name => "fooser$$",
- EmailAddress => "fooser$$\@localhost",
- Privileged => 1,
- Password => 'foobar',
- );
- ok($steal_user_id, "Created the user? $msg");
- my $steal_queue = RT::Queue->new($RT::SystemUser);
- my $steal_queue_id;
- ($steal_queue_id, $msg) = $steal_queue->Create( Name => "Steal$$" );
- ok($steal_queue_id, "Got the queue? $msg");
- ok($steal_queue->id, "queue obj has id");
- my $status;
- ($status, $msg) = $steal_user->PrincipalObj->GrantRight( Right => 'ShowTicket', Object => $steal_queue );
- ok($status, "Gave 'SeeTicket' to our user? $msg");
- ($status, $msg) = $steal_user->PrincipalObj->GrantRight( Right => 'OwnTicket', Object => $steal_queue );
- ok($status, "Gave 'OwnTicket' to our user? $msg");
- ($status, $msg) = $steal_user->PrincipalObj->GrantRight( Right => 'StealTicket', Object => $steal_queue );
- ok($status, "Gave 'StealTicket' to our user? $msg");
- ($status, $msg) = $steal_user->PrincipalObj->GrantRight( Right => 'TakeTicket', Object => $steal_queue );
- ok($status, "Gave 'TakeTicket' to our user? $msg");
-
- # create a ticket to take/steal
- expect_send("create -t ticket set queue=$steal_queue_id subject='CLIStealTest-$$'", 'Creating ticket to steal...');
- expect_like(qr/Ticket \d+ created/, 'Created ticket');
- expect_handle->before() =~ /Ticket (\d+) created/;
- my $steal_ticket_id = $1;
- ok($steal_ticket_id, "Got ticket to steal id=$steal_ticket_id");
-
- # root takes the ticket
- expect_send("take $steal_ticket_id", 'root takes the ticket...');
- expect_like(qr/Owner changed from Nobody to root/, 'root took the ticket');
-
- # log in as the non-root user
- #expect_quit(); # this is apparently unnecessary, but I'll leave it in
- # until I'm sure
- $ENV{'RTUSER'} = "fooser$$";
- $ENV{'RTPASSWD'} = 'foobar';
- expect_run( command => "$rt_tool_path shell", prompt => 'rt> ', quit => 'quit',);
-
- # user tries to take the ticket, fails
- # shouldn't be able to 'take' a ticket which someone else has taken out from
- # under you; that should produce an error. should have to explicitly
- # 'steal' it back from them. 'steal' can automatically 'take' a ticket,
- # though.
- expect_send("take $steal_ticket_id", 'user tries to take the ticket...');
- expect_like(qr/You can only take tickets that are unowned/, '...and fails.');
- expect_send("show ticket/$steal_ticket_id -f owner", 'Double-checking...');
- expect_like(qr/Owner: root/, '...no change.');
-
- # user steals the ticket
- expect_send("steal $steal_ticket_id", 'user tries to *steal* the ticket...');
- expect_like(qr/Owner changed from root to fooser$$/, '...and succeeds!');
- expect_send("show ticket/$steal_ticket_id -f owner", 'Double-checking...');
- expect_like(qr/Owner: fooser$$/, '...yup, it worked.');
-
- # log back in as root
- #expect_quit(); # ditto
- $ENV{'RTUSER'} = 'root';
- $ENV{'RTPASSWD'} = 'password';
- expect_run( command => "$rt_tool_path shell", prompt => 'rt> ', quit => 'quit',);
-
- # root steals the ticket back
- expect_send("steal $steal_ticket_id", 'root steals the ticket back...');
- expect_like(qr/Owner changed from fooser$$ to root/, '...and succeeds.');
-}
-# }}}
-
-# {{{ test ticket linking
- my @link_relns = ( 'DependsOn', 'DependedOnBy', 'RefersTo', 'ReferredToBy',
- 'MemberOf', 'HasMember', );
- my %display_relns = map { $_ => $_ } @link_relns;
- $display_relns{HasMember} = 'Members';
-
- my $link1_id = ok_create_ticket( "LinkTicket1-$$" );
- my $link2_id = ok_create_ticket( "LinkTicket2-$$" );
-
- foreach my $reln (@link_relns) {
- # create link
- expect_send("link $link1_id $reln $link2_id", "Link by $reln...");
- expect_like(qr/Created link $link1_id $reln $link2_id/, 'Linked');
- expect_send("show ticket/$link1_id/links", "Checking creation of $reln...");
- expect_like(qr/$display_relns{reln}: [\w\d\.\-]+:\/\/[\w\d\.]+\/ticket\/$link2_id/, "Created link $reln");
-
- # delete link
- expect_send("link -d $link1_id $reln $link2_id", "Delete $reln...");
- expect_like(qr/Deleted link $link1_id $reln $link2_id/, 'Deleted');
- expect_send("show ticket/$link1_id/links", "Checking removal of $reln...");
- ok( expect_handle->before() !~ /\Q$display_relns{$reln}: \E[\w\d\.\-]+:\/\/[w\d\.]+\/ticket\/$link2_id/, "Removed link $reln" );
- #expect_unlike(qr/\Q$reln: \E[\w\d\.]+\Q://\E[w\d\.]+\/ticket\/$link2_id/, "Removed link $reln");
-
- }
-# }}}
-
-
-# helper function
-sub ok_create_ticket {
- my $subject = shift;
-
- expect_send("create -t ticket set subject='$subject'", 'Creating ticket...');
- expect_like(qr/Ticket \d+ created/, "Created ticket '$subject'");
- expect_handle->before() =~ /Ticket (\d+) created/;
- my $id = $1;
- ok($id, "Got ticket id=$id");
-
- return $id;
-}
-
-# wrap up all the file handling stuff for attachment testing
-sub check_attachment {
- my $attachment_path = shift;
- (my $filename = $attachment_path) =~ s/.*\/(.*?)$/$1/;
- expect_send("comment -m 'attach file' -a $attachment_path $ticket_id", "Adding an attachment ($filename)");
- expect_like(qr/Message recorded/, "Added the attachment");
- expect_send("show ticket/$ticket_id/attachments","Finding Attachment");
- my $attachment_regex = qr/(\d+):\s+$filename/;
- expect_like($attachment_regex,"Attachment Uploaded");
- expect_handle->before() =~ $attachment_regex;
- my $attachment_id = $1;
- expect_send("show ticket/$ticket_id/attachments/$attachment_id/content","Fetching Attachment");
- open (my $fh, $attachment_path) or die "Can't open $attachment_path: $!";
- my $attachment_content = do { local($/); <$fh> };
- close $fh;
- chomp $attachment_content;
- expect_is($attachment_content,"Attachment contains original text");
-}
-
-1;
diff --git a/rt/lib/t/regression/27verp.t b/rt/lib/t/regression/27verp.t
deleted file mode 100644
index 856681be1..000000000
--- a/rt/lib/t/regression/27verp.t
+++ /dev/null
@@ -1,9 +0,0 @@
-#!/usr/bin/perl -w
-
-use strict;
-use Test::More tests => 1;
-
-TODO: {
- todo_skip "No tests written for VERP yet", 1;
- ok(1,"a test to skip");
-}
diff --git a/rt/sbin/rt-setup-database b/rt/sbin/rt-setup-database
deleted file mode 100644
index 58f882f6e..000000000
--- a/rt/sbin/rt-setup-database
+++ /dev/null
@@ -1,619 +0,0 @@
-#!/usr/bin/perl -w
-# BEGIN LICENSE BLOCK
-#
-# Copyright (c) 1996-2003 Jesse Vincent <jesse@bestpractical.com>
-#
-# (Except where explictly superceded by other copyright notices)
-#
-# This work is made available to you under the terms of Version 2 of
-# the GNU General Public License. A copy of that license should have
-# been provided with this software, but in any event can be snarfed
-# from www.gnu.org.
-#
-# This work is distributed in the hope that it will be useful, but
-# WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-# General Public License for more details.
-#
-# Unless otherwise specified, all modifications, corrections or
-# extensions to this work which alter its source code become the
-# property of Best Practical Solutions, LLC when submitted for
-# inclusion in the work.
-#
-#
-# END LICENSE BLOCK
-
-use strict;
-use vars qw($PROMPT $VERSION $Handle $Nobody $SystemUser $item);
-use vars
- qw(@Groups @Users @ACL @Queues @ScripActions @ScripConditions @Templates @CustomFields @Scrips);
-
-use lib "/opt/rt3/lib";
-
-#This drags in RT's config.pm
-# We do it in a begin block because RT::Handle needs to know the type to do its
-# inheritance
-use RT;
-use Carp;
-use RT::User;
-use RT::CurrentUser;
-use RT::Template;
-use RT::ScripAction;
-use RT::ACE;
-use RT::Group;
-use RT::User;
-use RT::Queue;
-use RT::ScripCondition;
-use RT::CustomField;
-use RT::Scrip;
-
-RT::LoadConfig();
-use Term::ReadKey;
-use Getopt::Long;
-
-my %args;
-
-GetOptions(
- \%args,
- 'prompt-for-dba-password', 'force', 'debug',
- 'action=s', 'dba=s', 'dba-password=s', 'datafile=s',
- 'datadir=s'
-);
-
-$| = 1; #unbuffer that output.
-
-require RT::Handle;
-my $Handle = RT::Handle->new($RT::DatabaseType);
-$Handle->BuildDSN;
-my $dbh;
-
-if ( $args{'prompt-for-dba-password'} ) {
- $args{'dba-password'} = get_dba_password();
- chomp( $args{'dba-password'} );
-}
-
-unless ( $args{'action'} ) {
- help();
- die;
-}
-if ( $args{'action'} eq 'init' ) {
- $dbh = DBI->connect( get_system_dsn(), $args{'dba'}, $args{'dba-password'} )
- || die "Failed to connect to " . get_system_dsn() . " as $args{'dba'}: $DBI::errstr";
- print "Now creating a database for RT.\n";
- if ($RT::DatabaseType ne 'Oracle' ||
- $args{'dba'} ne $RT::DatabaseUser) {
- create_db();
- } else {
- print "...skipped as ".$args{'dba'} ." is not " . $RT::DatabaseUser . " or we're working with Oracle.\n";
- }
-
- $dbh->disconnect;
- $dbh = DBI->connect( $Handle->DSN, $args{'dba'}, $args{'dba-password'} )
- || die $DBI::errstr;
-
- print "Now populating database schema.\n";
- insert_schema();
- print "Now inserting database ACLs\n";
- insert_acl() unless ($RT::DatabaseType eq 'Oracle');
- print "Now inserting RT core system objects\n";
- insert_initial_data();
- print "Now inserting RT data\n";
- insert_data( $RT::EtcPath . "/initialdata" );
-}
-elsif ( $args{'action'} eq 'drop' ) {
- unless ( $dbh =
- DBI->connect( get_system_dsn(), $args{'dba'}, $args{'dba-password'} ) )
- {
- warn $DBI::errstr;
- warn "Database doesn't appear to exist. Aborting database drop.";
- exit(0);
- }
- drop_db();
-}
-elsif ( $args{'action'} eq 'insert' ) {
- insert_data( $args{'datafile'} );
-}
-elsif ($args{'action'} eq 'acl') {
- $dbh = DBI->connect( $Handle->DSN, $args{'dba'}, $args{'dba-password'} )
- || die "Failed to connect to " . get_system_dsn() . " as $args{'dba'}: $DBI::errstr";
- insert_acl($args{'datadir'});
-}
-elsif ($args{'action'} eq 'schema') {
- $dbh = DBI->connect( $Handle->DSN, $args{'dba'}, $args{'dba-password'} )
- || die "Failed to connect to " . get_system_dsn() . " as $args{'dba'}: $DBI::errstr";
- insert_schema($args{'datadir'});
-}
-
-else {
- print STDERR '$0 called with an invalid --action parameter';
- exit(-1);
-}
-
-# {{{ sub insert_schema
-sub insert_schema {
- my $base_path = (shift || $RT::EtcPath);
- my (@schema);
- print "Creating database schema.\n";
-
- if ( -f $base_path . "/schema." . $RT::DatabaseType ) {
- no warnings 'unopened';
-
- open( SCHEMA, "<" . $base_path . "/schema." . $RT::DatabaseType );
- open( SCHEMA_LOCAL, "<" . $RT::LocalEtcPath . "/schema." . $RT::DatabaseType );
-
- my $statement = "";
- foreach my $line (<SCHEMA>, ($_ = ';;'), <SCHEMA_LOCAL>) {
- $line =~ s/\#.*//g;
- $line =~ s/--.*//g;
- $statement .= $line;
- if ( $line =~ /;(\s*)$/ ) {
- $statement =~ s/;(\s*)$//g;
- push @schema, $statement;
- $statement = "";
- }
- }
-
- local $SIG{__WARN__} = sub {};
- my $is_local = 0; # local/etc/schema needs to be nonfatal.
- foreach my $statement (@schema) {
- if ($statement =~ /^\s*;$/) { $is_local = 1; next; }
- print STDERR "SQL: $statement\n" if defined $args{'debug'};
- my $sth = $dbh->prepare($statement) or die $dbh->errstr;
- unless ( $sth->execute or $is_local ) {
- die "Problem with statement:\n $statement\n" . $sth->errstr;
- }
- }
-
- }
- else {
- die "Couldn't find schema file for " . $RT::DatabaseType . "\n";
- }
- print "schema sucessfully inserted\n";
-
-}
-
-# }}}
-
-# {{{ sub drop_db
-sub drop_db {
- return if ( $RT::DatabaseType eq 'SQLite' );
- if ( $RT::DatabaseType eq 'Oracle' ) {
- print <<END;
-
-To delete the tables and sequences of the RT Oracle database by running
- \@etc/drop.Oracle
-through SQLPlus.
-
-END
- return;
- }
- unless ( $args{'force'} ) {
- print <<END;
-
-About to drop $RT::DatabaseType database $RT::DatabaseName on $RT::DatabaseHost.
-WARNING: This will erase all data in $RT::DatabaseName.
-
-END
- exit unless _yesno();
-
- }
-
- print "Dropping $RT::DatabaseType database $RT::DatabaseName.\n";
-
- $dbh->do("Drop DATABASE $RT::DatabaseName") or warn $DBI::errstr;
-}
-
-# }}}
-
-# {{{ sub create_db
-sub create_db {
- print "Creating $RT::DatabaseType database $RT::DatabaseName.\n";
- if ( $RT::DatabaseType eq 'SQLite' ) {
- return;
- }
- elsif ( $RT::DatabaseType eq 'Pg' ) {
- $dbh->do("CREATE DATABASE $RT::DatabaseName WITH ENCODING='UNICODE'");
- if ($DBI::errstr) {
- $dbh->do("CREATE DATABASE $RT::DatabaseName") || die $DBI::errstr;
- }
- }
- elsif ($RT::DatabaseType eq 'Oracle') {
- insert_acl();
- }
- elsif ( $RT::DatabaseType eq 'Informix' ) {
- $ENV{DB_LOCALE} = 'en_us.utf8';
- $dbh->do("CREATE DATABASE $RT::DatabaseName WITH BUFFERED LOG");
- }
- else {
- $dbh->do("CREATE DATABASE $RT::DatabaseName") or die $DBI::errstr;
- }
-}
-
-# }}}
-
-sub get_dba_password {
- print
-"In order to create a new database and grant RT access to that database,\n";
- print "this script needs to connect to your "
- . $RT::DatabaseType
- . " instance on "
- . $RT::DatabaseHost . " as "
- . $args{'dba'} . ".\n";
- print
-"Please specify that user's database password below. If the user has no database\n";
- print "password, just press return.\n\n";
- print "Password: ";
- ReadMode('noecho');
- my $password = ReadLine(0);
- ReadMode('normal');
- return ($password);
-}
-
-# {{{ sub _yesno
-sub _yesno {
- print "Proceed [y/N]:";
- my $x = scalar(<STDIN>);
- $x =~ /^y/i;
-}
-
-# }}}
-
-# {{{ insert_acls
-sub insert_acl {
-
- my $base_path = (shift || $RT::EtcPath);
-
- if ( $RT::DatabaseType =~ /^oracle$/i ) {
- do $base_path . "/acl.Oracle"
- || die "Couldn't find ACLS for Oracle\n" . $@;
- }
- elsif ( $RT::DatabaseType =~ /^pg$/i ) {
- do $base_path . "/acl.Pg" || die "Couldn't find ACLS for Pg\n" . $@;
- }
- elsif ( $RT::DatabaseType =~ /^mysql$/i ) {
- do $base_path . "/acl.mysql"
- || die "Couldn't find ACLS for mysql in " . $RT::EtcPath . "\n" . $@;
- }
- elsif ( $RT::DatabaseType =~ /^informix$/i ) {
- do $base_path . "/acl.Informix"
- || die "Couldn't find ACLS for Informix in " . $RT::EtcPath . "\n" . $@;
- }
- elsif ( $RT::DatabaseType =~ /^SQLite$/i ) {
- return;
- }
- else {
- die "Unknown RT database type";
- }
-
- my @acl = acl($dbh);
- foreach my $statement (@acl) {
- print STDERR $statement if $args{'debug'};
- my $sth = $dbh->prepare($statement) or die $dbh->errstr;
- unless ( $sth->execute ) {
- die "Problem with statement:\n $statement\n" . $sth->errstr;
- }
- }
-}
-
-# }}}
-
-=head2 get_system_dsn
-
-Returns a dsn suitable for database creates and drops
-and user creates and drops
-
-=cut
-
-sub get_system_dsn {
-
- my $dsn = $Handle->DSN;
-
- #with mysql, you want to connect sans database to funge things
- if ( $RT::DatabaseType eq 'mysql' ) {
- $dsn =~ s/dbname=$RT::DatabaseName//;
-
- # with postgres, you want to connect to database1
- }
- elsif ( $RT::DatabaseType eq 'Pg' ) {
- $dsn =~ s/dbname=$RT::DatabaseName/dbname=template1/;
- }
- elsif ( $RT::DatabaseType eq 'Informix' ) {
- # with Informix, you want to connect sans database:
- $dsn =~ s/Informix:$RT::DatabaseName/Informix:/;
- }
- return $dsn;
-}
-
-sub insert_initial_data {
-
- RT::InitLogging();
-
- #connect to the db, for actual RT work
- require RT::Handle;
- $RT::Handle = RT::Handle->new();
- $RT::Handle->Connect();
-
- #Put together a current user object so we can create a User object
- my $CurrentUser = new RT::CurrentUser();
-
- print "Checking for existing system user ($CurrentUser)...";
- my $test_user = RT::User->new($CurrentUser);
- $test_user->Load('RT_System');
- if ( $test_user->id ) {
- print "found!\n\nYou appear to have a functional RT database.\n"
- . "Exiting, so as not to clobber your existing data.\n";
- exit(-1);
-
- }
- else {
- print "not found. This appears to be a new installation.\n";
- }
-
- print "Creating system user...";
- my $RT_System = new RT::User($CurrentUser);
-
- my ( $val, $msg ) = $RT_System->_BootstrapCreate(
- Name => 'RT_System',
- RealName => 'The RT System itself',
- Comments =>
-'Do not delete or modify this user. It is integral to RT\'s internal database structures',
- Creator => '1' );
-
- unless ($val) {
- print "$msg\n";
- exit(1);
- }
- print "done.\n";
- $RT::Handle->Disconnect();
-
-}
-
-# load some sort of data into the database
-
-sub insert_data {
- my $datafile = shift;
-
- #Connect to the database and get RT::SystemUser and RT::Nobody loaded
- RT::Init;
-
- my $CurrentUser = RT::CurrentUser->new();
- $CurrentUser->LoadByName('RT_System');
-
- if ( $datafile eq $RT::EtcPath . "/initialdata" ) {
-
- print "Creating Superuser ACL...";
-
- my $superuser_ace = RT::ACE->new($CurrentUser);
- $superuser_ace->_BootstrapCreate(
- PrincipalId => ACLEquivGroupId( $CurrentUser->Id ),
- PrincipalType => 'Group',
- RightName => 'SuperUser',
- ObjectType => 'RT::System',
- ObjectId => '1' );
-
- }
-
- # Slurp in stuff to insert from the datafile. Possible things to go in here:-
- # @groups, @users, @acl, @queues, @ScripActions, @ScripConditions, @templates
-
- require $datafile
- || die "Couldn't find initial data for import\n" . $@;
-
- if (@Groups) {
- print "Creating groups...";
- foreach $item (@Groups) {
- my $new_entry = RT::Group->new($CurrentUser);
- my ( $return, $msg ) = $new_entry->_Create(%$item);
- print "(Error: $msg)" unless ($return);
- print $return. ".";
- }
- print "done.\n";
- }
- if (@Users) {
- print "Creating users...";
- foreach $item (@Users) {
- my $new_entry = new RT::User($CurrentUser);
- my ( $return, $msg ) = $new_entry->Create(%$item);
- print "(Error: $msg)" unless ($return);
- print $return. ".";
- }
- print "done.\n";
- }
- if (@Queues) {
- print "Creating queues...";
- for $item (@Queues) {
- my $new_entry = new RT::Queue($CurrentUser);
- my ( $return, $msg ) = $new_entry->Create(%$item);
- print "(Error: $msg)" unless ($return);
- print $return. ".";
- }
- print "done.\n";
- }
- if (@ACL) {
- print "Creating ACL...";
- for my $item (@ACL) {
-
- my ($princ, $object);
-
- # Global rights or Queue rights?
- if ($item->{'Queue'}) {
- $object = RT::Queue->new($CurrentUser);
- $object->Load( $item->{'Queue'} );
- } else {
- $object = $RT::System;
- }
-
- # Group rights or user rights?
- if ($item->{'GroupDomain'}) {
- $princ = RT::Group->new($CurrentUser);
- if ($item->{'GroupDomain'} eq 'UserDefined') {
- $princ->LoadUserDefinedGroup( $item->{'GroupId'} );
- } elsif ($item->{'GroupDomain'} eq 'SystemInternal') {
- $princ->LoadSystemInternalGroup( $item->{'GroupType'} );
- } elsif ($item->{'GroupDomain'} eq 'RT::Queue-Role' &&
- $item->{'Queue'}) {
- $princ->LoadQueueRoleGroup( Type => $item->{'GroupType'},
- Queue => $object->id);
- } else {
- $princ->Load( $item->{'GroupId'} );
- }
- } else {
- $princ = RT::User->new($CurrentUser);
- $princ->Load( $item->{'UserId'} );
- }
-
- # Grant it
- my ( $return, $msg ) = $princ->PrincipalObj->GrantRight(
- Right => $item->{'Right'},
- Object => $object );
-
- if ($return) {
- print $return. ".";
- }
- else {
- print $msg . ".";
-
- }
-
- }
- print "done.\n";
- }
- if (@CustomFields) {
- print "Creating custom fields...";
- for $item (@CustomFields) {
- my $new_entry = new RT::CustomField($CurrentUser);
- my $values = $item->{'Values'};
- delete $item->{'Values'};
- my $q = $item->{'Queue'};
- my $q_obj = RT::Queue->new($CurrentUser);
- $q_obj->Load($q);
- if ( $q_obj->Id ) {
- $item->{'Queue'} = $q_obj->Id;
- }
- elsif ( $q == 0 ) {
- $item->{'Queue'} = 0;
- }
- else {
- print "(Error: Could not find queue " . $q . ")\n"
- unless ( $q_obj->Id );
- next;
- }
- my ( $return, $msg ) = $new_entry->Create(%$item);
-
- foreach my $value ( @{$values} ) {
- my ( $eval, $emsg ) = $new_entry->AddValue(%$value);
- print "(Error: $emsg)\n" unless ($eval);
- }
-
- print "(Error: $msg)\n" unless ($return);
- print $return. ".";
- }
-
- print "done.\n";
- }
-
- if (@ScripActions) {
- print "Creating ScripActions...";
-
- for $item (@ScripActions) {
- my $new_entry = RT::ScripAction->new($CurrentUser);
- my $return = $new_entry->Create(%$item);
- print $return. ".";
- }
-
- print "done.\n";
- }
-
- if (@ScripConditions) {
- print "Creating ScripConditions...";
-
- for $item (@ScripConditions) {
- my $new_entry = RT::ScripCondition->new($CurrentUser);
- my $return = $new_entry->Create(%$item);
- print $return. ".";
- }
-
- print "done.\n";
- }
-
- if (@Templates) {
- print "Creating templates...";
-
- for $item (@Templates) {
- my $new_entry = new RT::Template($CurrentUser);
- my $return = $new_entry->Create(%$item);
- print $return. ".";
- }
- print "done.\n";
- }
- if (@Scrips) {
- print "Creating scrips...";
-
- for $item (@Scrips) {
- my $new_entry = new RT::Scrip($CurrentUser);
- my ( $return, $msg ) = $new_entry->Create(%$item);
- if ($return) {
- print $return. ".";
- }
- else {
- print "(Error: $msg)\n";
- }
- }
- print "done.\n";
- }
- $RT::Handle->Disconnect();
-
-}
-
-=head2 ACLEquivGroupId
-
-Given a userid, return that user's acl equivalence group
-
-=cut
-
-sub ACLEquivGroupId {
- my $username = shift;
- my $user = RT::User->new($RT::SystemUser);
- $user->Load($username);
- my $equiv_group = RT::Group->new($RT::SystemUser);
- $equiv_group->LoadACLEquivalenceGroup($user);
- return ( $equiv_group->Id );
-}
-
-sub help {
-
- print <<EOF;
-
-$0: Set up RT's database
-
---action init Initialize the database
- drop Drop the database.
- This will ERASE ALL YOUR DATA
- insert Insert data into RT's database.
- By default, will use RT's installation data.
- To use a local or supplementary datafile, specify it
- using the '--datafile' option below.
-
- acl Initialize only the database ACLs
- To use a local or supplementary datafile, specify it
- using the '--datadir' option below.
-
- schema Initialize only the database schema
- To use a local or supplementary datafile, specify it
- using the '--datadir' option below.
-
---datafile /path/to/datafile
---datadir /path/to/ Used to specify a path to find the local
- database schema and acls to be installed.
-
-
---dba dba's username
---dba-password dba's password
---prompt-for-dba-password Ask for the database administrator's password interactively
-
-
-EOF
-
-}
-
-1;
diff --git a/rt/sbin/rt-test-dependencies b/rt/sbin/rt-test-dependencies
deleted file mode 100644
index c1591b189..000000000
--- a/rt/sbin/rt-test-dependencies
+++ /dev/null
@@ -1,278 +0,0 @@
-#!/usr/bin/perl
-# BEGIN LICENSE BLOCK
-#
-# Copyright (c) 1996-2003 Jesse Vincent <jesse@bestpractical.com>
-#
-# (Except where explictly superceded by other copyright notices)
-#
-# This work is made available to you under the terms of Version 2 of
-# the GNU General Public License. A copy of that license should have
-# been provided with this software, but in any event can be snarfed
-# from www.gnu.org.
-#
-# This work is distributed in the hope that it will be useful, but
-# WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-# General Public License for more details.
-#
-# Unless otherwise specified, all modifications, corrections or
-# extensions to this work which alter its source code become the
-# property of Best Practical Solutions, LLC when submitted for
-# inclusion in the work.
-#
-#
-# END LICENSE BLOCK
-
-#
-# This is just a basic script that checks to make sure that all
-# the modules needed by RT before you can install it.
-#
-
-use strict;
-no warnings qw(numeric redefine);
-use Getopt::Long;
-use CPAN;
-my %args;
-my %deps;
-GetOptions(\%args,'install', 'with-MYSQL', 'with-POSTGRESQL|with-pg|with-pgsql', 'with-SQLITE', 'with-ORACLE', 'with-FASTCGI', 'with-SPEEDYCGI', 'with-MODPERL1', 'with-MODPERL2' ,'with-DEV');
-
-if (!keys %args) {
- help();
- exit(0);
-}
-if ($args{'with-MODPERL2'}) {
- warn_modperl2();
-}
-
-$args{'with-MASON'} = 1;
-$args{'with-CORE'} = 1;
-$args{'with-DEV'} =1;
-$args{'with-CLI'} =1;
-$args{'with-MAILGATE'} =1;
-if ($] < 5.007) {
-$args{'with-I18N-COMPAT'} = 1;
-}
-
-sub warn_modperl2 {
- print <<'.';
- NOTE: mod_perl 2.0 isn't quite ready for prime_time just yet;
- Best Practical Solutions strongly recommends that sites use
- Apache 1.3 or FastCGI. If you MUST use mod_perl 2.0 (or 1.99),
- please read the mailing list archives before asking for help.
-.
- sleep 5;
-}
-
-
-sub help {
-
- print <<'.';
-
-By default, testdeps determine whether you have
-installed all the perl modules RT needs to run.
-
- --install Install missing modules
-
-The following switches will tell the tool to check for specific dependencies
-
- --with-mysql Database interface for MySQL
- --with-postgresql Database interface for PostgreSQL
- --with-sqlite Database interface and driver for SQLite (unsupported)
- --with-oracle Database interface for oracle (unsupported)
-
- --with-fastcgi Libraries needed to support the fastcgi handler
- --with-speedycgi Libraries needed to support the speedycgi handler
- --with-modperl1 Libraries needed to support the modperl 1 handler
- --with-modperl2 Libraries needed to support the modperl 2 handler
-
- --with-dev Tools needed for RT development
-.
-}
-
-
-sub _ {
- map { /(\S+)\s*(\S*)/; $1 => ($2 ? $2 :'') } split ( /\n/, $_[0] );
-}
-
-$deps{'CORE'} = [ _( << '.') ];
-Digest::MD5 2.27
-DBI 1.37
-Test::Inline
-Class::ReturnValue 0.40
-DBIx::SearchBuilder 0.97
-Text::Template
-File::Spec 0.8
-HTML::Entities
-Net::Domain
-Log::Dispatch 2.0
-Locale::Maketext 1.06
-Locale::Maketext::Lexicon 0.32
-Locale::Maketext::Fuzzy
-MIME::Entity 5.108
-Mail::Mailer 1.57
-Net::SMTP
-Text::Wrapper
-Time::ParseDate
-File::Temp
-Term::ReadKey
-Text::Autoformat
-Text::Quoted 1.3
-Scalar::Util
-.
-
-$deps{'MASON'} = [ _( << '.') ];
-Params::Validate 0.02
-Cache::Cache
-Exception::Class
-HTML::Mason 1.16
-MLDBM
-Errno
-FreezeThaw
-Digest::MD5 2.27
-CGI::Cookie 1.20
-Storable 2.08
-Apache::Session 1.53
-.
-
-$deps{'MAILGATE'} = [ _( << '.') ];
-HTML::TreeBuilder
-HTML::FormatText
-Getopt::Long
-LWP::UserAgent
-.
-
-$deps{'CLI'} = [ _( << '.') ];
-Getopt::Long 2.24
-.
-
-$deps{'DEV'} = [ _( << '.') ];
-Regexp::Common
-Time::HiRes
-Test::Inline
-WWW::Mechanize
-.
-
-$deps{'FASTCGI'} = [ _( << '.') ];
-CGI 2.92
-FCGI
-CGI::Fast
-.
-
-$deps{'SPEEDYCGI'} = [ _( << '.') ];
-CGI 2.92
-CGI::SpeedyCGI
-.
-
-
-$deps{'MODPERL1'} = [ _( << '.') ];
-CGI 2.92
-Apache::Request
-Apache::DBI 0.92
-.
-
-$deps{'MODPERL2'} = [ _( << '.') ];
-CGI 2.92
-Apache::DBI
-.
-
-$deps{'I18N-COMPAT'} = [ _( << '.') ];
-Text::Iconv
-Encode::compat 0.04
-.
-
-$deps{'MYSQL'} = [ _( << '.') ];
-DBD::mysql 2.1018
-.
-$deps{'ORACLE'} = [ _( << '.') ];
-DBD::Oracle
-.
-$deps{'POSTGRESQL'} = [ _( << '.') ];
-DBD::Pg
-.
-
-print "perl:\n";
-print "\t5.8.0";
-eval {require 5.008};
-if ($@) {
-print "...missing.\n";
- eval {require 5.006001};
- if ($@) {
- print " RT is known to be non-functional on versions of perl older than 5.6.1. Please upgrade to 5.8.0 or newer";
- die;
- } else {
- print " RT is not supported on perl 5.6.1\n";
- }
-} else {
- print "...found\n";
-
-}
-
-
-foreach my $type (keys %args) {
-next unless ($type =~ /^with-(.*?)$/);
-my $type = $1;
-print "$type dependencies:\n";
- my @deps = (@{$deps{$type}});
- while (@deps) {
- my $module = shift @deps;
- my $version = shift @deps;
-my $ret;
- $ret =test_dep($module, $version);
-
-if ($args{'install'} && !$ret) {
- resolve_dep($module);
-}
-}
-}
-sub test_dep {
- my $module = shift;
- my $version = shift;
-
- print "\t$module $version";
- eval "use $module $version" ;
- if ($@) {
- my $error = $@;
- $error =~ s/\n(.*)$//s;
- print "...MISSING\n";
- print "\t\t$error\n" if $error =~ /this is only/;
-
- return undef;
- } else {
- print "...found\n";
-return 1;
- }
-}
-
-sub resolve_dep {
- my $module = shift;
- use CPAN;
- CPAN::Shell->install($module);
-
-}
-
-
-sub print_help {
- print << "EOF";
-
-$0 FLAG DBTYPE
-
-
-$0 is a tool for RT that will tell you if you've got all
-the modules RT depends on properly installed.
-
-Flags: (only one flag is valid for a given run)
-
--quiet will check to see if we've got everything we need
- and will exit with a return code of (1) if we don't.
-
--warn will tell you what isn't properly installed
-
--fix will use CPANPLUS.pm or CPAN.pm to magically make everything better
-
-DBTYPE is one of:
- oracle, pg, mysql
-
-EOF
-
- exit(0);
-}