[Rt-commit] rt branch, 4.0/avoid-user-pref-in-css-files, created. rt-4.0.4-234-g29c2f5f

? sunnavy sunnavy at bestpractical.com
Wed Jan 25 14:11:04 EST 2012


The branch, 4.0/avoid-user-pref-in-css-files has been created
        at  29c2f5f53bb484b3c548c0a395f5cf3b71414aae (commit)

- Log -----------------------------------------------------------------
commit 4c22c70dce3d09fca008ea8e0e62a2b9e5b04193
Author: sunnavy <sunnavy at bestpractical.com>
Date:   Thu Jan 26 02:52:41 2012 +0800

    don't check user pref "UseSideBySideLayout" in css files
    
    we can't use user preferences in squished css because it's cached.
    the first user to hit the empty squished CSS cache will cause
    every user thereafter to inherit their UseSideBySideLayout preference
    (until the child is reaped and the cache clear agains)

diff --git a/share/html/Elements/Header b/share/html/Elements/Header
index 4b0c2b8..3845b9b 100755
--- a/share/html/Elements/Header
+++ b/share/html/Elements/Header
@@ -96,7 +96,7 @@
 % $m->callback( %ARGS, CallbackName => 'Head' );
 
 </head>
-  <body class="<% lc $style %>" <% $id && qq[id="comp-$id"] |n %>>
+  <body class="<% lc $style %><% RT->Config->Get("UseSideBySideLayout", $session{'CurrentUser'}) ? ' sidebyside' : '' %>" <% $id && qq[id="comp-$id"] |n %>>
 
 % if ($ShowBar) {
 <& /Elements/Logo, %ARGS &>
diff --git a/share/html/NoAuth/css/base/ticket-form.css b/share/html/NoAuth/css/base/ticket-form.css
index daab263..869eba7 100644
--- a/share/html/NoAuth/css/base/ticket-form.css
+++ b/share/html/NoAuth/css/base/ticket-form.css
@@ -82,21 +82,17 @@ iframe.richtext-editor {
 .messagebox-container.action-response iframe
 {
     background-color: #fcc !important;
-} 
-
-/*
-% if ( RT->Config->Get("UseSideBySideLayout", $session{'CurrentUser'}) ) {
-*/
+}
 
-#ticket-create-metadata,
-#ticket-update-metadata {
+.sidebyside #ticket-create-metadata,
+.sidebyside #ticket-update-metadata {
     float: right;
     width: 40%;
     clear: right;
 }
 
-#ticket-create-message,
-#ticket-update-message {
+.sidebyside #ticket-create-message,
+.sidebyside #ticket-update-message {
     float: left;
     width: 58%;
     clear: left;
@@ -104,10 +100,10 @@ iframe.richtext-editor {
 
 @media (max-width: 950px) {
     /* Revert to a single column when we're less than 1000px wide */
-    #ticket-create-metadata,
-    #ticket-update-metadata,
-    #ticket-create-message,
-    #ticket-update-message
+    .sidebyside #ticket-create-metadata,
+    .sidebyside #ticket-update-metadata,
+    .sidebyside #ticket-create-message,
+    .sidebyside #ticket-update-message
     {
         float: none;
         width: auto;
@@ -115,15 +111,12 @@ iframe.richtext-editor {
     }
 }
 
-#comp-Ticket-Update #body {
+.sidebyside #comp-Ticket-Update #body {
     padding-top: 3em;
 }
 
-#ticket-create-message .button[name="AddMoreAttach"],
-#ticket-update-message .button[name="AddMoreAttach"] {
+.sidebyside #ticket-create-message .button[name="AddMoreAttach"],
+.sidebyside #ticket-update-message .button[name="AddMoreAttach"] {
     float: right;
 }
 
-/*
-% }
-*/

commit 29c2f5f53bb484b3c548c0a395f5cf3b71414aae
Author: sunnavy <sunnavy at bestpractical.com>
Date:   Thu Jan 26 03:06:29 2012 +0800

    sidebyside layout test

diff --git a/t/web/sidebyside_layout.t b/t/web/sidebyside_layout.t
new file mode 100644
index 0000000..88ea10c
--- /dev/null
+++ b/t/web/sidebyside_layout.t
@@ -0,0 +1,45 @@
+use strict;
+use warnings;
+use RT::Test tests => 11;
+
+RT->Config->Set( UseSideBySideLayout => 0 );
+
+my $root = RT::Test->load_or_create_user( Name => 'root', );
+my ( $status, $msg ) = $root->SetPreferences(
+    $RT::System => {
+        %{ $root->Preferences($RT::System) || {} }, 'UseSideBySideLayout' => 1
+    }
+);
+ok( $status, 'use side by side layout for root' );
+
+my $user_a = RT::Test->load_or_create_user(
+    Name     => 'user_a',
+    Password => 'password',
+);
+ok( $user_a->id, 'created user_a' );
+
+ok(
+    RT::Test->set_rights(
+        {
+            Principal => $user_a,
+            Right     => ['CreateTicket']
+        },
+    ),
+    'granted user_a the right of CreateTicket'
+);
+
+my ( $url, $m ) = RT::Test->started_ok;
+$m->login;
+$m->get_ok( $url . '/Ticket/Create.html?Queue=1', "root's ticket create page" );
+$m->content_like( qr/<body [^>]*class="[^>"]*\bsidebyside\b/,
+    'found sidebyside css for root' );
+
+my $m_a = RT::Test::Web->new;
+ok $m_a->login( 'user_a', 'password' ), 'logged in as user_a';
+$m_a->get_ok( $url . '/Ticket/Create.html?Queue=1',
+    "user_a's ticket create page" );
+$m_a->content_unlike(
+    qr/<body [^>]*class="[^>"]*\bsidebyside\b/,
+    "didn't find sidebyside class for user_a"
+);
+

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


More information about the Rt-commit mailing list