[Rt-commit] rt branch, 4.2/rudder, created. rt-4.1.17-200-g61e7290

Jesse Vincent jesse at bestpractical.com
Mon Aug 5 22:21:07 EDT 2013


The branch, 4.2/rudder has been created
        at  61e7290e3eb878f691a56bdd27ff4d79af46a048 (commit)

- Log -----------------------------------------------------------------
commit 61e7290e3eb878f691a56bdd27ff4d79af46a048
Author: Jesse Vincent <jesse at bestpractical.com>
Date:   Mon Aug 5 22:20:13 2013 -0400

    Initial import of Rudder theme

diff --git a/etc/RT_Config.pm.in b/etc/RT_Config.pm.in
index 9f86bd6..70acae0 100755
--- a/etc/RT_Config.pm.in
+++ b/etc/RT_Config.pm.in
@@ -811,8 +811,9 @@ Set(@MailParams, ());
 This determines the default stylesheet the RT web interface will use.
 RT ships with several themes by default:
 
-  web2            The default layout for RT 3.8
+  rudder          The default theme for RT 4.2
   aileron         The default layout for RT 4.0
+  web2            The default layout for RT 3.8
   ballard         Theme which doesn't rely on JavaScript for menuing
 
 This value actually specifies a directory in F<share/static/css/>
@@ -823,7 +824,7 @@ be overridden by users in their preferences.
 
 =cut
 
-Set($WebDefaultStylesheet, "aileron");
+Set($WebDefaultStylesheet, "rudder");
 
 =item C<$DefaultQueue>
 
diff --git a/lib/RT/Config.pm b/lib/RT/Config.pm
index 7e2faae..f0d7fe7 100644
--- a/lib/RT/Config.pm
+++ b/lib/RT/Config.pm
@@ -201,7 +201,7 @@ our %META = (
         WidgetArguments => {
             Description => 'Theme',                  #loc
             # XXX: we need support for 'get values callback'
-            Values => [qw(web2 aileron ballard)],
+            Values => [qw(rudder web2 aileron ballard)],
         },
         PostLoadCheck => sub {
             my $self = shift;
diff --git a/share/html/NoAuth/css/rudder/AfterMenus b/share/html/NoAuth/css/rudder/AfterMenus
new file mode 100644
index 0000000..783400a
--- /dev/null
+++ b/share/html/NoAuth/css/rudder/AfterMenus
@@ -0,0 +1,71 @@
+%# BEGIN BPS TAGGED BLOCK {{{
+%#
+%# COPYRIGHT:
+%#
+%# This software is Copyright (c) 1996-2013 Best Practical Solutions, LLC
+%#                                          <sales at 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/licenses/old-licenses/gpl-2.0.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 }}}
+<script type="text/javascript">
+var initMenus = function() {
+    jQuery.fn.supersubs.defaults = {
+        maxWidth: 30,
+        extraWidth: 2
+    };
+
+    jQuery("#app-nav.toplevel").addClass('sf-menu sf-js-enabled sf-shadow').supersubs().superfish({ speed: 'fast' });
+    jQuery("#page-menu.toplevel").addClass('sf-menu sf-js-enabled sf-shadow').supersubs().superfish({ dropShadows: false, speed: 'fast' }).supposition();
+
+    var originalOffset = jQuery("#page-menu").offset().top;
+    var floatMenu      = function () {
+        jQuery("#page-menu").toggleClass("pinned", jQuery(document).scrollTop() > originalOffset);
+    };
+    floatMenu();
+    jQuery(window).scroll(floatMenu);
+};
+
+// If everything is loaded, init NOW.  Otherwise, defer to DOM ready.
+if (jQuery.fn.supersubs && jQuery.fn.superfish && jQuery.fn.supposition)
+    initMenus();
+else
+    jQuery(initMenus);
+</script>
diff --git a/share/static/css/rudder/base.css b/share/static/css/rudder/base.css
new file mode 100644
index 0000000..b105f69
--- /dev/null
+++ b/share/static/css/rudder/base.css
@@ -0,0 +1,15 @@
+a {
+  color: #000;
+  text-decoration: none;
+}
+
+
+a:visited {
+    color: #666;
+}
+
+a:hover  {
+  text-decoration: underline;
+}
+
+textarea:focus, input:focus {   background-color: #ffd; }
diff --git a/share/static/css/rudder/boxes.css b/share/static/css/rudder/boxes.css
new file mode 100644
index 0000000..d752933
--- /dev/null
+++ b/share/static/css/rudder/boxes.css
@@ -0,0 +1,165 @@
+.titlebox {
+ margin-top: 1em;
+    margin-bottom: 2em;
+}
+
+.titlebox .titlebox-content {
+    padding: 0.5em 0.25em 0.5em 0.25em;
+    border-top: 2px solid #aaa;
+    min-height: 3em;
+    -moz-border-radius-bottomright: 0.5em;
+    -webkit-border-bottom-right-radius: 0.5em;
+    border-bottom-right-radius: 0.5em;
+    -moz-border-radius-bottomleft: 0.5em;
+    -webkit-border-bottom-left-radius: 0.5em;
+    border-bottom-left-radius: 0.5em;
+    border-bottom: 1px solid #eee;
+}
+
+* html .titlebox {
+ border-top: none;
+ border-left: none;
+}
+
+.titlebox .titlebox {
+
+ margin-top: 1em;
+ margin-right: 0.25em;
+
+}
+
+.titlebox .titlebox .titlebox-content {
+}
+
+
+.titlebox {
+ margin-left: 0em;
+ margin-right: 0em;
+ min-height: 1.25em;
+
+ 
+}
+
+.titlebox .titlebox-title {
+ position: relative;
+ background-color: transparent;
+}
+
+.titlebox .titlebox-title a {
+ text-decoration: none;
+ color: black;
+
+}
+
+.titlebox .titlebox-title a:hover {
+ text-decoration: underline;
+
+}
+
+.titlebox.rolled-up  .titlebox-title .left,
+.titlebox.rolled-up  .titlebox-title .left a{
+    color: #ccc;
+}
+
+.titlebox.rolled-up .titlebox-title {
+    border-bottom: 1px solid #ccc;
+}
+
+.titlebox.rolled-up .titlebox-title .right {
+    display: none;
+}
+
+.titlebox .titlebox-title .left {
+    font-weight: bold;
+    background: transparent;
+    margin-left: 1em;
+    padding: 0.5em 1.25em 0.25em 1.25em;
+    line-height: 1.4em;
+    font-size: 1.1em;
+    border: none;
+}
+.titlebox .titlebox-title .left,
+.titlebox .titlebox-title .left a {
+    color: #3858a3;
+}
+
+.titlebox .titlebox-title .right-empty {
+ display:none;
+}
+
+.titlebox .titlebox-title .right {
+  position: absolute;
+   right: 2px;
+   top: 0;
+  font-size: 0.9em;
+ padding-right: 0em;
+ padding-left: 0.4em;
+ padding-bottom: 0.2em;
+ padding-top: 0.5em;
+ -moz-border-radius-bottomleft: 0.25em;
+ -webkit-border-bottom-left-radius: 0.25em;
+
+
+ -moz-border-radius-topright: 0.25em;
+ -webkit-border-top-right-radius: 0.25em;
+
+  border-radius: 0 0.25em 0 0.25em;
+
+
+}
+
+.titlebox .titlebox-title .right a,
+.titlebox .titlebox-title .right a:visited {
+ color: #999;
+ font-weight: bold;
+ margin-left: 0.5em;
+ margin-right: 0.5em;
+}
+
+.titlebox:hover .titlebox-title .right a,
+.titlebox:active .titlebox-title .right a {
+    color: #000;
+}
+
+.titlebox .titlebox-title .widget a {
+  display: block;
+  margin: 0;
+  width: 20px;
+
+  background: url(../../../static/images/css/rollup-arrow.gif) no-repeat;
+  background-position: center 0;
+  
+  position: absolute;
+  top: 0.5em;
+  left: 0.5em;
+  
+  padding: 7px 0 0 0;
+  overflow: hidden;
+}
+
+.titlebox.rolled-up .titlebox-title .widget a {
+    background-image: url(../../../static/images/css/rolldown-arrow.gif);
+}
+
+
+div.results .titlebox .titlebox-content {
+    border:none;
+    -moz-border-radius: 0.5em;
+    border-radius: 0.5em;
+    -webkit-border-radius: 0.5em;
+    padding-top: 0.5em;
+    padding-bottom: 0.5em;
+
+}
+
+.results .titlebox-content ul {
+    list-style-type: none;
+}
+.results .titlebox-title {
+    display: none;
+
+}
+
+.titlebox form {
+    display: inline-block; /* makes the submit buttons not end up way far away */
+}
diff --git a/share/static/css/rudder/dashboards.css b/share/static/css/rudder/dashboards.css
new file mode 100644
index 0000000..7ff6e2d
--- /dev/null
+++ b/share/static/css/rudder/dashboards.css
@@ -0,0 +1,7 @@
+table.dashboard {
+    margin-top: 6em;
+}
+
+#body>table.dashboard {
+    margin-top: inherit;
+}
\ No newline at end of file
diff --git a/share/static/css/rudder/forms.css b/share/static/css/rudder/forms.css
new file mode 100644
index 0000000..aa694c8
--- /dev/null
+++ b/share/static/css/rudder/forms.css
@@ -0,0 +1,69 @@
+/* These override the base titlebox rules in base/forms.css. They try not to
+   duplicate properties. */
+
+div.results .titlebox, div.error div.error {
+    border: none;
+    background: none;
+    font-weight: bold;
+}
+
+div.results .titlebox-content {
+    border: 1px solid #aa9;
+    border-bottom: 2px solid #990;
+    border-right: 2px solid #990;
+    background: #ffc;
+}
+
+div.results .titlebox-title .left {
+    border: solid #aa9;
+    border-width: 1px 1px 0 1px;
+}
+
+div.error .titlebox-title span.left {
+    border: none;
+    border-right: 2px solid #b00;
+}
+
+div.error .titlebox-content, div#body>div.error {
+    background-color: #fcc;
+    padding: 1em;
+}
+
+div.error .titlebox-title .widget a { background-position: center -7px; }
+
+input[type=reset], input[type=submit], input[class=button], button, input, select {
+    font-size: 1.0em;
+    -moz-border-radius: 0;
+    -webkit-border-radius: 0;
+    border-radius: 0;
+}
+
+input[type=reset], input[type=submit], input[class=button], button {
+   color: #fff;
+   background: #4868b3;
+    border: 1px solid #fff;
+    padding: 0.5em;
+}
+
+input.button:focus, button:focus, input[type=reset]:focus, input[type=submit]:focus, input[class=button]:focus,
+input.button:hover, button:hover, input[type=reset]:hover, input[type=submit]:hover, input[class=button]:hover {
+   background: #3D5B9D;
+}
+
+input.button:active, button:active, input[type=reset]:active, input[type=submit]:active, input[class=button]:active {
+   background: #1D3B7D;
+//   background: #3D5B9D;
+}
+
+
+ input[type=reset], input[type=submit], input[class=button], button {
+    -moz-border-radius: 3px;
+    -webkit-border-radius: 3px;
+    border-radius: 3px;
+    padding-left: 0.75em;
+    padding-right: 0.7a5em;
+ }
+
+ .value {
+     font-size: 1em;
+ }
diff --git a/share/static/css/rudder/history.css b/share/static/css/rudder/history.css
new file mode 100644
index 0000000..d655461
--- /dev/null
+++ b/share/static/css/rudder/history.css
@@ -0,0 +1,78 @@
+div.history-container {
+    border: 0;
+}
+
+.history .transaction.message div.content {
+    padding-right: 0;
+    padding-bottom: 3em;
+    margin-left: 3em;
+}
+
+.history .transaction .metadata span.type {
+    margin:0;
+    font-size: 1.2em;
+    margin-right: 1em;
+    padding: 0.25em;
+    border: none;
+}
+.history .transaction .metadata span.type a{
+    color: transparent ;
+
+}
+.history .transaction .metadata span.type a#lasttrans{
+    display: inline;
+    
+}
+.history .transaction:hover .metadata span.type a{
+    color: white;
+}
+
+.history .transaction .metadata .date,
+.history .transaction .metadata .description,
+.history .transaction .metadata .time-taken {
+    margin-top: 0.5em;
+    display: inline-block;
+    margin-right: 2em;
+}
+
+.history .transaction .metadata {
+    margin-bottom: 0em;
+    margin-top: 0.25em;
+}
+
+.transaction div.metadata span.actions  {
+    background: #eee;
+    color: #eee;
+    display: inline-block;
+    margin-right: 0.5em;
+    padding-top: 0.5em;
+    padding-bottom: 0.5em;
+    border-right: 1px solid #999;
+    -moz-border-radius-bottomright: 0.5em;
+    -webkit-border-bottom-right-radius: 0.5em
+}
+.transaction div.metadata span.actions a {
+    padding: 0.2em;
+}
+
+.transaction div.downloadattachment {
+    float: right;
+    clear: both;
+    text-align: right;
+    background: transparent;
+    padding-top: 0.5em;
+    margin-left: 1em;
+    border: none;
+    color: transparent;
+    line-height: 1em;
+}
+
+.transaction div.downloadattachment a {
+    color: #aaa;
+    display: block;
+}
+
+.transaction div.downloadattachment .downloadcontenttype {
+    color #ccc;
+    display: block;
+}
\ No newline at end of file
diff --git a/share/static/css/rudder/layout.css b/share/static/css/rudder/layout.css
new file mode 100644
index 0000000..384211f
--- /dev/null
+++ b/share/static/css/rudder/layout.css
@@ -0,0 +1,119 @@
+/* body */
+
+body {
+    padding:0;
+    margin:0;
+    font-family: arial, helvetica, sans-serif;
+    color: #000000;
+}
+
+div#body {
+    padding: 3em;
+    margin-left: 1em;
+    margin-top: 4em;
+    margin-right: 0;
+    margin-bottom: 0em;
+    background: #fff;
+    z-index:1;
+    /*    overflow-x: auto; */
+}
+
+div#footer {
+ position: absolute;
+ right: 0;
+ text-align: right;
+ font-size: 0.9em;
+ margin-top: 2em;
+ background: #fff;
+ margin-bottom: 0;
+ padding-left: 3em;
+ padding-right: 1em;
+}
+
+div#footer #time {
+    display: none ;
+}
+
+div#footer #bpscredits {
+ text-align: right;
+ background: url(../../../static/images/bpslogo.png) no-repeat top right;
+ padding-top: 4em;
+}
+
+
+/* logo stuff */
+
+div#logo {
+    position: absolute;
+    right: 2px;
+    top: 0;
+    height: 2.3em;
+}
+
+div#logo a img {
+    border: 0;
+    height: 100% !important;
+    width: auto !important;
+    float: right;
+}
+
+div#logo .rtname {
+    position: relative;
+    font-weight: bold;
+    text-align: center;
+    top: 0.7em;
+    padding-right: 1em;
+    float:left;
+}
+
+
+div#quickbar, div#logo {
+    font-size: 0.9em;
+}
+div#quickbar a, div#logo a {
+    color: #000;
+}
+
+
+div#quickbar {
+ background: #fff;
+ padding-top: 1em;
+ padding-left: 1em;
+ padding-bottom: 0.5em;
+ height: 1em;
+ border-bottom: 1px solid #ccc;
+
+}
+
+div#header {
+ position: absolute;
+ top: 2.3em;
+ left: 0;
+ right: 0;
+ height: 3.2em;
+ background: #547CCC;
+
+}
+div#header h1 {
+ position: absolute;
+ left: 1em;
+ right: 20em;
+ top: 0em;
+ height: 1.4em;
+ font-size: 1.4em;
+ color: #fff;
+ white-space: nowrap;
+ overflow: hidden;
+ text-overflow: ellipsis;
+ 
+}
+
+/* in multi-column layouts, make sure we have an internal gutter */
+
+tr .boxcontainer {
+      padding-right: 3em;
+}
+
+tr .boxcontainer:last-child {
+      padding-right: 0;
+}
diff --git a/share/static/css/rudder/login.css b/share/static/css/rudder/login.css
new file mode 100644
index 0000000..542b1e4
--- /dev/null
+++ b/share/static/css/rudder/login.css
@@ -0,0 +1,8 @@
+#login-box .titlebox-title .left {
+    padding-left: 0em;
+}
+
+ #login-box .input-row .label {
+     width: 13em;
+
+ }
diff --git a/share/static/css/rudder/main.css b/share/static/css/rudder/main.css
new file mode 100644
index 0000000..62bc110
--- /dev/null
+++ b/share/static/css/rudder/main.css
@@ -0,0 +1,15 @@
+ at import "../base/main.css";
+
+ at import "base.css";
+ at import "layout.css";
+ at import "nav.css";
+ at import "boxes.css";
+ at import "forms.css";
+ at import "login.css";
+ at import "dashboards.css";
+ at import "ticket-lists.css";
+ at import "ticket-search.css";
+ at import "ticket-forms.css";
+ at import "ticket.css";
+ at import "history.css";
+ at import "misc.css";
diff --git a/share/static/css/rudder/misc.css b/share/static/css/rudder/misc.css
new file mode 100644
index 0000000..82a5526
--- /dev/null
+++ b/share/static/css/rudder/misc.css
@@ -0,0 +1,26 @@
+.comment {
+ padding-left: 0.5em;
+ color: #999;
+
+}
+
+#comp-Ticket-ShowEmailRecord #body {
+    margin-left: 1em;
+    margin-top: 1em;
+    overflow: auto;
+}
+
+span.label, span.labeltop,
+td.label, td.labeltop {
+    font-weight: bold;
+    color: #666;
+    font-size: 1em;
+}
+
+table.myday h2 {
+    display: inline;
+}
+
+table.myday td {
+    padding: 0.25em;
+}
diff --git a/share/static/css/rudder/msie.css b/share/static/css/rudder/msie.css
new file mode 100644
index 0000000..1bee9c0
--- /dev/null
+++ b/share/static/css/rudder/msie.css
@@ -0,0 +1,94 @@
+div#nav ul ul li.first {
+    border-top: 1px solid #cccccc;
+    margin-top: 0.25em;
+}
+
+div#nav li.last {
+    border-bottom: none;
+    padding-bottom: 0;
+    margin-bottom: 0;
+}
+
+
+.transaction .type a { font-weight: normal; text-decoration: none; color: #fff; }
+
+
+
+/* IE's box model is wrong */
+.titlebox .titlebox-title .widget a {
+    padding-top: 0;
+    height: 7px;
+    top: 0.75em;
+}
+
+
+
+.titlebox .titlebox-title .right {
+    display: block;
+    margin-top: 0.4em;
+    padding-right: 0.3em;
+
+}
+
+
+.titlebox .titlebox-content {
+    padding-top: 2.2em;
+}
+
+
+.titlebox table.collection-as-table, .titlebox table.queue-summary {
+    width: 95%;
+    padding: 0.5em;
+    margin-left: auto;
+    margin-right: auto;
+}
+
+th.collection-as-table {
+    padding: 0.25em;
+}
+
+table.queue-summary td, td.collection-as-table {
+    padding: 0.25em;
+}
+
+.titlebox-title {
+    position: relative;
+}
+
+/* nested things. like the ticket dates tab */
+.titlebox .titlebox .titlebox-title .right{
+    top: 0.25em;
+}
+
+.combobox {
+    float: left;
+}
+
+.combobox .combo-button {
+    color: ButtonText;
+    padding: 0;
+}
+
+.combobox .combo-list {
+    margin-top:0.5em;
+    margin-left: -0.2em;
+}
+
+#pick-criteria td.label {
+     width: auto;
+}
+
+#pick-criteria td.operator {
+  width: 7.5em;
+}
+
+.plain-text-white-space {
+  word-wrap: break-word;       /* Internet Explorer 5.5+ */
+  white-space: pre;   /* IE only hack to re-specify in addition to
+  word-wrap  */
+}
+
+#rt-portal .titlebox-content {
+    height: 23em;
+}
+
diff --git a/share/static/css/rudder/msie6.css b/share/static/css/rudder/msie6.css
new file mode 100644
index 0000000..c890a74
--- /dev/null
+++ b/share/static/css/rudder/msie6.css
@@ -0,0 +1,39 @@
+div#body {
+    top: 0em;
+}
+
+.topaction .select-queue {
+    margin-top: 0;
+}
+
+.titlebox-title .widget {
+    top: -1.25em;
+    left: 0.5em;
+
+}
+.titlebox .titlebox-title .right{
+    position: absolute;
+    top: 1.5em;
+}
+
+.titlebox
+{
+    height: auto !important;
+    height: 1.25em;
+}
+
+
+.transaction .messagebody img {
+    /* ie6 does not support max-width */
+    width: expression(this.width > 401 ? 400 : true);
+}
+
+
+
+.sf-sub-indicator {
+    background: url(../../../static/css/images/arrows-ffffff.gif) no-repeat -10px -100px;
+}
+
+#page-navigation ul {
+    width: auto;
+}
diff --git a/share/static/css/rudder/nav.css b/share/static/css/rudder/nav.css
new file mode 100644
index 0000000..660cfe6
--- /dev/null
+++ b/share/static/css/rudder/nav.css
@@ -0,0 +1,204 @@
+.sf-menu {
+    width: 100%;
+    margin-bottom: 0;
+}
+
+.sf-menu li:hover {
+    background-color: #CFDEFF;
+}
+
+.sf-menu li, .sf-menu li li, .sf-menu li li li {
+    background-color: #fff;
+}
+
+.sf-sub-indicator {
+    background-image: url(../../../static/css/images/arrows-grey.png);
+}
+
+.sf-menu li li .sf-sub-indicator {
+    margin-top: -3px;
+}
+
+#page-menu.sf-menu li .sf-sub-indicator {
+    top: 0.7em;
+}
+
+#page-menu.sf-menu li:hover ul, #page-menu.sf-menu li.sfHover ul {
+    top: 2.5em;
+}
+
+
+#main-navigation {
+    position: absolute;
+    top: 1px;
+    left: 0;
+    z-index: 9999;
+    text-color: #000;
+}
+
+#main-navigation .sf-menu a, #main-navigation .sf-menu a:hover {
+    padding-top: 0.5em;
+    padding-bottom: 0.5em;
+    border-color: #fff;
+    color: #000;
+}
+
+#main-navigation a {
+    border-top: none;
+}
+
+#main-navigation li li a {
+    border-top: 1px solid white;
+}
+
+#app-nav.sf-menu > li:first-child > a {
+    border-left: none;
+}
+
+#main-navigation #app-nav > li, #main-navigation #app-nav > li > a {
+    background-color: transparent;
+}
+
+
+#page-navigation {
+    position: absolute;
+    top: 6em;
+    right: 0;
+    left: 0;
+    padding-right: 3em;
+    z-index: 9995;
+    font-size: 0.9em;
+    border-bottom: 1px solid #ccc;
+    background-color: #eee;
+}
+
+#page-navigation #page-menu{
+    margin-top: 0.2em;
+    float: right;
+    width: auto;
+}
+ 
+#page-navigation .sf-menu li  {
+    background-color: transparent;
+}
+#page-navigation .sf-menu li li, #page-navigation .sf-menu li li li {
+    background-color: #fff;
+}
+
+#page-navigation .sf-menu a:visited, #page-navigation .sf-menu a {
+    border: none;
+    color: #000;
+}
+
+/* to stop a "flash" of an unstyled menu on an older browser,  hide the menu until superfish has initialized it */
+#app-nav.toplevel { display: none; }
+#app-nav.toplevel.sf-menu { display:block; }
+#page-menu.toplevel { display: none; }
+#page-menu.toplevel.sf-menu { display:block; }
+
+#topactions {
+ position: absolute;
+ background: transparent;
+ top: 2.5em;
+ right: 0em;
+ padding-right: 0.7em;
+ width: auto;
+ padding-top: 0.5em;
+ padding-bottom: 0.5em;
+ min-width: 42em;
+ font-size: 0.9em;
+ z-index: 99;
+}
+
+#topactions form * {
+}
+
+#topactions input,
+#topactions select,
+#topactions input[type=submit],
+#topactions button {
+    font-size: 1em;
+    padding-top: 0.2em;    
+    padding-bottom: 0.3em;  
+    padding-left: 0.5em;
+    padding-right: 0.5em;
+    width: 8em;
+    vertical-align: middle;
+    
+
+}
+
+#topactions #simple-search .field{
+ margin-left: 1em;
+ color: #787;
+ }
+
+#topactions #simple-search .field:focus {
+ color: #000;
+ }
+
+.sf-menu ul { 
+    background-image: none;
+    padding: 0;
+
+}
+.sf-menu.sf-shadow ul {
+    -moz-border-radius:0;
+    -webkit-border-radius: 0;
+    border-radius:0;
+    -moz-box-shadow:    2px 2px 8px -2px #999;
+    -webkit-box-shadow: 2px 2px 8px -2px #999;
+    box-shadow:         2px 2px 8px -2px #999;
+}
+
+/* The bookmark star is too tall without adjusting the padding and height */
+
+.sf-menu .toggle-bookmark a {
+    padding: 0 1em;
+    height: 2.5em;
+}
+
+.sf-menu .toggle-bookmark a img {
+    padding-top: 0.6em;
+}
+
+/* Pin page menu to top left corner once you scroll past it */
+
+#page-menu.pinned {
+    position: fixed;
+    top:    0;
+    right:  0;
+    left:   auto;
+    width:  auto;
+
+    background:     white;
+    border-left:    1px #aaa solid;
+    border-bottom:  1px #aaa solid;
+    border-radius:  0 0 0 5px;
+    box-shadow:     0 0 10px rgba(0,0,0,0.4);
+
+    /* stupid vendor prefixes */
+    -moz-border-radius:     0 0 0 5px;
+    -webkit-border-radius:  0 0 0 5px;
+    -moz-box-shadow:        0 0 10px rgba(0,0,0,0.4);
+    -webkit-box-shadow:     0 0 10px rgba(0,0,0,0.4);
+}
+
+#page-menu.pinned li:hover ul,
+#page-menu.pinned li.sfHover ul {
+    border-left:    1px #aaa solid;
+    border-right:   1px #aaa solid;
+    z-index:        -1 !important; /* relative to current stacking context */
+    box-shadow:     0 0 10px rgba(0,0,0,0.4);
+
+    -moz-box-shadow:    0 0 10px rgba(0,0,0,0.4);
+    -webkit-box-shadow: 0 0 10px rgba(0,0,0,0.4);
+}
+
+/* round off the corner of the first menu item so it matches the container */
+#page-menu.pinned > li:first-of-type,
+#page-menu.pinned > li:first-of-type > a {
+    border-radius:          0 0 0 5px;
+    -moz-border-radius:     0 0 0 5px;
+    -webkit-border-radius:  0 0 0 5px;
+}
diff --git a/share/static/css/rudder/ticket-forms.css b/share/static/css/rudder/ticket-forms.css
new file mode 100644
index 0000000..19aa5a8
--- /dev/null
+++ b/share/static/css/rudder/ticket-forms.css
@@ -0,0 +1,4 @@
+.sidebyside #ticket-create-message .button[name="AddMoreAttach"],
+.sidebyside #ticket-update-message .button[name="AddMoreAttach"] {
+    margin-right: -0.25em; // right align with the button in the outer div
+}
diff --git a/share/static/css/rudder/ticket-lists.css b/share/static/css/rudder/ticket-lists.css
new file mode 100644
index 0000000..000863c
--- /dev/null
+++ b/share/static/css/rudder/ticket-lists.css
@@ -0,0 +1,229 @@
+table.queue-summary, table.collection-as-table {
+  width: 100%;
+  border-spacing:0;
+  border-collapse:collapse;
+  margin-top: 1em;
+
+}
+table.collection-as-table td {
+    padding-bottom: 0.25em;
+}
+
+table.collection-as-table h1,
+table.collection-as-table h2,
+table.collection-as-table h3,
+table.collection-as-table h4,
+table.collection-as-table h5 {
+    margin: 0;
+    margin-right: 0.5em;
+    padding: 0;
+    padding: 0.1em;
+    display: inline-block;
+    font-weight: normal;
+} 
+
+table.collection-as-table h1 a,
+table.collection-as-table h2 a,
+table.collection-as-table h3 a,
+table.collection-as-table h4 a,
+table.collection-as-table h5 a{
+    font-weight: normal;
+
+}
+table.queue-summary tr>*:first-child {
+ padding-left: 1em;
+
+}
+
+
+table.queue-summary tr>*:last-child {
+ padding-right: 1em;
+
+}
+
+table.queue-summary a, table.collection-as-table a  {
+  font-weight: bold;
+}
+
+table.collection-as-table th.collection-as-table,
+table.queue-summary th.collection-as-table {
+  background: transparent;
+  padding: 0.25em;
+  margin-bottom: 0.5em;
+  padding-bottom: 0.5em;
+  color: #3858a3;
+}
+table.collection-as-table th.collection-as-table a,
+table.queue-summary th.collection-as-table a {
+  color: #3858a3;
+}
+
+table.collection-as-table th.collection-as-table {
+  text-align: left;
+}
+
+
+table.queue-summary th.collection-as-table {
+  text-align: right;
+}
+
+table.collection-as-table, table.queue-summary {
+    border-bottom: 1px solid #ccc;
+    margin-bottom: 1em;
+
+}
+
+table.queue-summary th.collection-as-table:first-child {
+  text-align: left;
+
+}
+
+
+tr.collection-as-table+tr.collection-as-table th,
+table.collection-as-table.chart th {
+ border-bottom: 2px solid #ccc;
+
+}
+
+
+
+table.queue-summary td {
+  background: #efefef;
+  border-bottom: 1px solid #ccc;
+}
+
+
+tr.evenline td, tr.oddline td {
+ padding-top: 0.5em;
+  border-top: 1px solid #cccccc;
+}
+
+tr.evenline td {
+  background: #fff;
+}
+
+tr.oddline td {
+  background: #eee;
+}
+tr.evenline+tr.evenline td,
+tr.oddline+tr.oddline td {
+    border-top: none;
+}
+
+tr.evenline , tr.oddline  {
+    border-left: 1px solid #cccccc;
+    border-right: 1px solid #cccccc;
+}
+
+
+
+tr.evenline+tr.evenline td, tr.oddline+tr.oddline td{
+ padding-top: 0;
+ border: none;
+}
+
+
+
+table.collection-as-table td:first-child,
+table.collection-as-table th:first-child {
+  padding-left: 1em;
+}
+
+table.collection-as-table td:last-child, table.collection-as-table th:last-child {
+  padding-right: 1em;
+}
+
+th.collection-as-table , td.collection-as-table {
+ padding-right: 0.5em;
+}
+
+.pagenum.a:hover, .paging a.nav:hover{
+text-decoration: underline;
+}
+
+
+.pagenum *, .paging a.nav{
+padding: .5em;
+}
+
+.currentpage{
+text-decoration: none;
+font-weight: bold;
+background: #eee;
+}
+
+div.paging{
+text-align: center;
+padding-bottom: 1em;
+}
+
+
+/* full-page ticket lists */
+#body>table.collection-as-table {
+    margin-bottom: 2em;
+
+}
+
+.chart.image {
+    margin-top: -1em;
+    padding-right: 2em;
+    float: left;
+    clear: both;
+}
+
+.chart-wrapper {
+    display: block;
+    width: auto;
+}
+
+.chart-wrapper .collection-as-table {
+    width: auto;
+    font-size: 1em;
+}
+
+.chart-wrapper .collection-as-table th.collection-as-table {
+    text-align: center;
+    padding: 0.5em;
+    padding-right: 1em;
+    padding-left:  1em;
+}
+
+.chart-wrapper .collection-as-table tr.total td {
+    border-top: 1px solid #ccc;
+}
+
+.chart-wrapper .collection-as-table td.value {
+    padding-left: 0.5em;
+}
+
+.chart-wrapper .query {
+    clear: both;
+    text-align: center;
+    font-size: 1.2em;
+    padding: 1em;
+}
+
+.chart-wrapper .collection-as-table .label {
+    font-weight: bold;
+}
+
+
+.chart-wrapper .query .label {
+    font-weight: bold;
+}
+
+.chart-meta {
+    padding-top: 2em;
+    border-top: 1px solid #ccc;
+}
+
+.chart-meta .chart-type {
+    display: inline-block;
+    float: left;
+    padding-right: 2em;
+    clear: both;
+}
+
+.chart-meta .saved-search {
+    display: inline-block;
+}
diff --git a/share/static/css/rudder/ticket-search.css b/share/static/css/rudder/ticket-search.css
new file mode 100644
index 0000000..f16a167
--- /dev/null
+++ b/share/static/css/rudder/ticket-search.css
@@ -0,0 +1,195 @@
+#comp-Search-Build #body {
+    position: relative;
+}
+
+#pick-criteria select {
+    width: 8em;
+}
+
+#pick-criteria tr {
+    height: 1.5em;
+}
+
+#pick-criteria td.label {
+    font: message-box;
+    padding-right: 0.5em;
+    width: 11em;
+}
+
+#pick-criteria td.label select {
+  width: 8.5em;
+  text-align: right;
+}
+
+#pick-criteria td.operator {
+ padding-right: 0.5em;
+ text-align: left;
+ vertical-align: bottom;
+ width: 7em;
+}
+
+#pick-criteria td.operator select {
+ text-align: right;
+}
+
+#pick-criteria td.value input,
+#pick-criteria td.value select {
+ width: 11em;
+}
+
+#pick-criteria td.value #ValueOfDate {
+ width: 11em;
+}
+
+
+#pick-criteria td.value #ValueOfTime {
+ width: 4em;
+
+}
+
+#pick-criteria td.value #ValueOfTime-TimeUnits{
+ width: 5.5em;
+}
+
+#pick-criteria td.value {
+ padding-right: 0.5em;
+ text-align: left;
+ font: message-box;
+}
+
+#editquery, #editsearches{
+  position: absolute;
+  margin-top: 1.5em;
+  right: 1em;
+  left: 60%;
+  top: 1em;
+/*  margin-top: -1em; */
+}
+
+#editquery {
+   top: 1.3em;
+}
+
+
+#editsearches {
+  top: 24em;
+}
+
+
+#pick-criteria {
+ width: 58%;
+ padding-top: 0em;
+ margin-top: 0em;
+}
+
+#pick-criteria .titlebox-content {
+ overflow-x: auto;
+}
+
+#BuildQuery .submit {
+ width: 58%;
+}
+
+
+#sorting.titlebox {
+ width: 55%;
+ padding-right: 1em;
+}
+
+#display-options .submit {
+ width: 100%;
+}
+
+
+
+.search-result-views {
+ position: absolute;
+ top: 0;
+ right: 0;
+ margin-top: -2px;
+ margin-right: 0em;
+ padding: 0.25em;
+ padding-left: 0.5em;
+ padding-right: 0.5em;
+ background-color: #ccc;
+ border-left: 1px solid #999;
+ border-bottom: 1px solid #999;
+ -moz-border-radius-bottomleft: 0.5em;
+ -webkit-border-bottom-left-radius: 0.5em;
+ border-radius: 0 0 0 0.5em;
+}
+
+
+
+.search-result-views li {
+
+ display: inline;
+}
+
+.search-result-views li:after  {
+ content: " \00b7 ";
+}
+
+.search-result-views li:last-child:after  {
+ content: "";
+
+}
+
+.edit-saved-searches .label {
+    display: inline-block;
+    width: 10em;
+}
+
+span#display-options {
+    display: block;
+    padding-top: 2em;
+    margin-top: 2em;
+    border-top: 1px solid #ccc;
+    clear: both;
+}
+
+span#display-options .titlebox#sorting {
+    float: left;
+    width: auto;
+    margin-right: 2em;
+    min-width: 35%;
+}
+
+span#display-options .titlebox#columns {
+    float: left;
+}
+
+span#display-options .titlebox#columns table.edit-columns td {
+    padding: 0.5em;
+}
+
+span#display-options .titlebox#columns table.edit-columns div.row {
+    width: 9em;
+}
+span#display-options .titlebox#columns table.edit-columns span.label {
+    width: 2em;
+}
+
+span#display-options .titlebox#columns table.edit-columns span.value input,
+span#display-options .titlebox#columns table.edit-columns span.value select {
+    width: 7em;
+    padding: 0;
+}
+
+span#display-options .titlebox#columns table.edit-columns span.value {
+    display: inline-block;
+    width:7em;
+}
+
+#BuildQuery #formatbuttons.submit{
+    width: 85%;
+}
+
+.refresh {
+    float: left;
+}
+
+/* Force some widget to fit at max parent box */
+#HomeRefreshInterval, #SavedSearchLoad, #SavedSearchOwner {
+    max-width: 100%;
+}
diff --git a/share/static/css/rudder/ticket.css b/share/static/css/rudder/ticket.css
new file mode 100644
index 0000000..4c29077
--- /dev/null
+++ b/share/static/css/rudder/ticket.css
@@ -0,0 +1,52 @@
+/* Use a lighter colored toggle arrow */
+.ticket-info-cfs .titlebox-title .widget a { background-position: center -7px; }
+.ticket-info-basics .titlebox-title .widget a { background-position: center -7px; }
+.ticket-info-people .titlebox-title .widget a { background-position: center -7px; }
+.ticket-info-requestor .titlebox-title .widget a { background-position: center -7px; }
+.ticket-info-links .titlebox-title .widget a { background-position: center -7px; }
+.ticket-info-reminders .titlebox-title .widget a { background-position: center -7px; }
+.ticket-info-dates .titlebox-title .widget a { background-position: center -7px; }
+.ticket-info-attachments .titlebox-title .widget a { background-position: center -7px; }
+
+.ticket-info-cfs .titlebox-title  ,
+.ticket-info-basics .titlebox-title  ,
+.ticket-info-people .titlebox-title  ,
+.ticket-info-requestor .titlebox-title  ,
+.ticket-info-links .titlebox-title  ,
+.ticket-info-reminders .titlebox-title  ,
+.ticket-info-dates .titlebox-title  ,
+.ticket-info-attachments .titlebox-title  {
+    margin-left: 1em;
+}
+
+.ticket-info-cfs .titlebox-title  .left,
+.ticket-info-basics .titlebox-title  .left,
+.ticket-info-people .titlebox-title  .left,
+.ticket-info-requestor .titlebox-title  .left,
+.ticket-info-links .titlebox-title  .left,
+.ticket-info-reminders .titlebox-title  .left,
+.ticket-info-dates .titlebox-title  .left,
+.ticket-info-attachments .titlebox-title  .left{
+    padding-left: 2.25em;
+    margin-left: 0;
+    padding-bottom: 4px;
+    margin-bottom: 8px;
+    -webkit-border-top-left-radius: 0.3em;
+    -webkit-border-top-right-radius: 0.3em;
+    -moz-border-radius-topleft: 0.3em;
+    -moz-border-radius-topright: 0.3em;
+    border-radius: 0.3em 0.3em 0 0;
+}
+
+.titlebox.ticket-info-reminders table {
+    width: 100%;
+}
+
+.titlebox.ticket-info-reminders table form {
+    display: inline-block;
+    width: 100%;
+}
+/* don't put a background on the outer titlebox */
+.summary>div>.titlebox>.titlebox-content{
+    background: none;
+}

-----------------------------------------------------------------------


More information about the Rt-commit mailing list