Scarab commit: svn commit: r10775 - trunk/src: conf/classes java/org/tigris/scarab/actions webapp/WEB-INF/templates/viewIssue webapp/scripts webapp/skins webapp/skins/images

Hussayn Dabbous <[email protected]>
Newsgroups gmane.comp.java.scarab.cvs
Message-ID <[email protected]>
Author: dabbous
Date: 2009-07-08 14:36:29-0700
New Revision: 10775

Added:
   trunk/src/webapp/skins/images/button_begin.jpg   (contents, props changed)
   trunk/src/webapp/skins/images/button_end.jpg   (contents, props changed)
   trunk/src/webapp/skins/images/button_passive_begin.jpg   (contents, props changed)
   trunk/src/webapp/skins/images/button_passive_end.jpg   (contents, props changed)
   trunk/src/webapp/skins/images/watchOff.jpg   (contents, props changed)
   trunk/src/webapp/skins/images/watchOff.png   (contents, props changed)
   trunk/src/webapp/skins/images/watchOn.jpg   (contents, props changed)
   trunk/src/webapp/skins/images/watchOn.png   (contents, props changed)
Modified:
   trunk/src/conf/classes/ScarabBundle_de.properties
   trunk/src/conf/classes/ScarabBundle_en.properties
   trunk/src/java/org/tigris/scarab/actions/AssignIssue.java
   trunk/src/java/org/tigris/scarab/actions/ModifyIssue.java
   trunk/src/java/org/tigris/scarab/actions/ViewIssue.java
   trunk/src/webapp/WEB-INF/templates/viewIssue/ViewIssueBody.vm
   trunk/src/webapp/WEB-INF/templates/viewIssue/ViewIssueTab1.vm
   trunk/src/webapp/scripts/CalendarPopup.js
   trunk/src/webapp/scripts/scarabutil.js
   trunk/src/webapp/skins/classic.css
   trunk/src/webapp/skins/custom.css

Log:
SCB2977: replaced table-driven footers by css-driven footers.
added clearer support for "assign/remove as watcher"
changed images from .png to .jpg (ie6 rendering problems)

(work in progress, still needs l10n fixes)

Modified: trunk/src/conf/classes/ScarabBundle_de.properties
Url: http://scarab.tigris.org/source/browse/scarab/trunk/src/conf/classes/ScarabBundle_de.properties?view=diff&pathrev775&r1774&r2775
=============================================================================--- trunk/src/conf/classes/ScarabBundle_de.properties	(original)
+++ trunk/src/conf/classes/ScarabBundle_de.properties	2009-07-08 14:36:29-0700
@@ -275,6 +275,7 @@
 EditRoles=Rolle ändern
 DeleteUser�nutzer löschen
 Create=Erstellen
+Move=Verschieben
 AddSelectedToModule=Auswahl zu Modul hinzufügen
 AddSelectedToIssueType=Auswahl zu Ticket Typ hinzufügen
 Go=OK

Modified: trunk/src/conf/classes/ScarabBundle_en.properties
Url: http://scarab.tigris.org/source/browse/scarab/trunk/src/conf/classes/ScarabBundle_en.properties?view=diff&pathrev775&r1774&r2775
=============================================================================--- trunk/src/conf/classes/ScarabBundle_en.properties	(original)
+++ trunk/src/conf/classes/ScarabBundle_en.properties	2009-07-08 14:36:29-0700
@@ -323,6 +323,7 @@
 EditRoles�it roles
 DeleteUser�lete user
 Create=Create
+Move=Move
 AddSelectedToModule�d selected to module
 AddSelectedToIssueType�d selected to issue type
 Go=Go

Modified: trunk/src/java/org/tigris/scarab/actions/AssignIssue.java
Url: http://scarab.tigris.org/source/browse/scarab/trunk/src/java/org/tigris/scarab/actions/AssignIssue.java?view=diff&pathrev775&r1774&r2775
=============================================================================--- trunk/src/java/org/tigris/scarab/actions/AssignIssue.java	(original)
+++ trunk/src/java/org/tigris/scarab/actions/AssignIssue.java	2009-07-08 14:36:29-0700
@@ -105,12 +105,25 @@
         ParameterParser params = data.getParameters();
         StringBuffer msg = new StringBuffer();
         String[] userIds = params.getStrings(ADD_USER);
-        Map userAttributes = new HashMap();
+        Map<String,String> userAttributes = new HashMap<String,String>();
         if (userIds != null)
         {
             for (int i=0; i<userIds.length; i++)
             {
-                userAttributes.put(userIds[i], params.get("user_attr_" + userIds[i]));
+                String userId = userIds[i];
+                if(userId.length() > 0)
+                {
+                    String attributeId = params.get("user_attr_" + userId);
+                    if(attributeId == null)
+                    {
+                        attributeId = params.get("watcher_attr_" + userId);
+                    }
+                    userAttributes.put(userId, attributeId);
+                }
+                else
+                {
+                    //The user has selected the "select user..." option, which itself is empty
+                }
             }
             returnCode = addUsersToList(user, module, userAttributes, msg);
             setGUIMessage(returnCode, scarabR, msg);

Modified: trunk/src/java/org/tigris/scarab/actions/ModifyIssue.java
Url: http://scarab.tigris.org/source/browse/scarab/trunk/src/java/org/tigris/scarab/actions/ModifyIssue.java?view=diff&pathrev775&r1774&r2775
=============================================================================--- trunk/src/java/org/tigris/scarab/actions/ModifyIssue.java	(original)
+++ trunk/src/java/org/tigris/scarab/actions/ModifyIssue.java	2009-07-08 14:36:29-0700
@@ -116,6 +116,50 @@

     private static enum REASON_SAVE_MODE { NONE, HISTORY, COMMENT };

+
+    /**
+     * This action method delegates on the doAddwatchers method from
+     * AssignIssue action, assigning the given list of users to the issue with
+     * the specified userattribute.
+     *
+     * @see AssignIssue#doAddmyself(RunData, TemplateContext)
+     * @param data
+     * @param context
+     * @throws Exception
+     */
+    public void doAddwatchers(RunData data, TemplateContext context)
+        throws Exception
+    {
+        ScarabRequestTool scarabR = this.getScarabRequestTool(context);
+
+        ScarabUser user = (ScarabUser)data.getUser();
+        Issue issue = scarabR.getIssue();
+        if (user.hasPermission(ScarabSecurity.ISSUE__ASSIGN,
+                               issue.getModule()))
+        {
+            // We'll set the info required by AssignIssue.doAddmyself (the)
+            // same that in doEditassignees in this same class.
+            data.getParameters().add("id", issue.getUniqueId());
+            data.getParameters().add("issue_ids", issue.getUniqueId());
+            String watcher = data.getParameters().get("add_watcher");
+            data.getParameters().remove("add_user");
+            data.getParameters().add("add_user", watcher);
+
+            scarabR.resetAssociatedUsers();
+
+            // Lets cross-call the AssignIssue Turbine action!
+            AssignIssue assignAction = new AssignIssue();
+            assignAction.doAdd(data, context);
+            assignAction.doDone(data, context);
+        }
+        else
+        {
+            scarabR.setAlertMessage(NO_PERMISSION_MESSAGE);
+        }
+    }
+
+
+
     public void doSubmitattributes(RunData data, TemplateContext context)
         throws Exception
     {

Modified: trunk/src/java/org/tigris/scarab/actions/ViewIssue.java
Url: http://scarab.tigris.org/source/browse/scarab/trunk/src/java/org/tigris/scarab/actions/ViewIssue.java?view=diff&pathrev775&r1774&r2775
=============================================================================--- trunk/src/java/org/tigris/scarab/actions/ViewIssue.java	(original)
+++ trunk/src/java/org/tigris/scarab/actions/ViewIssue.java	2009-07-08 14:36:29-0700
@@ -53,7 +53,6 @@

 // Scarab Stuff
 import org.tigris.scarab.actions.base.RequireLoginFirstAction;
-import org.tigris.scarab.util.Log;
 import org.tigris.scarab.util.ScarabConstants;

 /**

Modified: trunk/src/webapp/WEB-INF/templates/viewIssue/ViewIssueBody.vm
Url: http://scarab.tigris.org/source/browse/scarab/trunk/src/webapp/WEB-INF/templates/viewIssue/ViewIssueBody.vm?view=diff&pathrev775&r1774&r2775
=============================================================================--- trunk/src/webapp/WEB-INF/templates/viewIssue/ViewIssueBody.vm	(original)
+++ trunk/src/webapp/WEB-INF/templates/viewIssue/ViewIssueBody.vm	2009-07-08 14:36:29-0700
@@ -26,6 +26,7 @@
 #set ($assignedRMA    = "") ## to get the correct display value
 #set ($watchedAttrib  = -1) ## The attribute, which is ionterpreted as "watching userAttribute"
 #set ($watchedRMA     = "") ## to get the correct display value
+#set ($watcherIdList = [])

 #set ($userAttVals = $currentIssue.UserAttributeValues)
 #foreach ($attVal in $userAttVals)
@@ -35,6 +36,7 @@
     #set ($assignedAttrib = $attVal.Attribute)
     #set ($assignedRMA = $module.getRModuleAttribute($assignedAttrib, $issueType))
   #else
+    #set ($dummy = $watcherIdList.add($attVal.UserId))
     #if ($watchedAttrib == -1)
        #set ($watchedAttrib = $attVal.Attribute)
        #set ($watchedRMA = $module.getRModuleAttribute($watchedAttrib, $issueType))
@@ -49,9 +51,9 @@
 ## And determine the "watcher" attribute
 ## -------------------------------------------------------------------------

-#if ($assignedAttrib == -1)
+#if ($assignedAttrib == -1 || $watchedAttrib == -1)
   #foreach ($selectUserAttr in $module.getUserAttributes($currentIssue.issueType))
-    #if ($!data.User.hasPermission($selectUserAttr.Permission, $module))
+    ##if ($!data.User.hasPermission($selectUserAttr.Permission, $module))
       #if ($selectUserAttr.getMultiValue() == false)
         #set ($assignedAttrib = $selectUserAttr)
         #set ($assignedRMA = $module.getRModuleAttribute($assignedAttrib, $issueType))
@@ -59,7 +61,7 @@
         #set ($watchedAttrib = $selectUserAttr)
         #set ($watchedRMA = $module.getRModuleAttribute($watchedAttrib, $issueType))
       #end
-    #end
+    ##end
   #end
 #end

@@ -80,6 +82,95 @@
 #end


+## --------------------------------------------------------------
+## Create the selection box for all assignable users
+## This macro is called from the initialisation code below.
+## --------------------------------------------------------------
+
+#macro (assignedUsers $myself $isEditAttributes)
+    #set ($users = $module.getUsers("Issue | Edit"))
+    #if ($isEditAttributes)
+
+      <input type="hidden" name="id" value="$currentIssueId" />
+      <input type="hidden" name="issue_ids" value="$currentIssueId" />
+
+      ## Create a selection box
+      #foreach ($user in $users)
+          #set ($optionName  = "user_attr_" + $user.UserId)
+          #set ($attributeId = $assignedAttrib.AttributeId)
+          <input type="hidden" name="$optionName" value="$attributeId"/>
+      #end
+      <select name="add_user">
+      #if ( $assignedUserId == -1 )
+         <option value="" #selected(true) >$l10n.Assign ...</option>
+      #end
+
+      #foreach ($user in $users)
+          #set ($selected = ($user.UserId == $assignedUserId))
+          <option value="$user.UserId" #selected($selected) >$user.Name</option>
+      #end
+      </select>
+    #else
+      #if ( $assignedUserId != -1 )
+        $scarabU.getUser($assignedUserId).Name
+      #end
+    #end
+
+#end
+
+## ---------------------------------------------------------------------
+## Create the selection box for all Watchers (non active assigned users)
+## This macro is called from the initialisation code below.
+## ---------------------------------------------------------------------
+
+#macro (watchingUsers $myselfInList $assignedUserId $watchedRMA $watchedAttrib)
+    &nbsp;
+    #set ($users = $module.getUsers("Issue | View"))
+    ## Create a selection box
+    #foreach ($user in $users)
+          #set ($inList�lse)
+
+          #foreach ($uid in $watcherIdList)
+              #if ($uid == $user.UserId)
+                #set ($inList = true)
+                #break
+              #end
+          #end
+
+          #if ($inList == false)
+            #set ($optionName  = "watcher_attr_" + $user.UserId)
+            #set ($attributeId = $watchedAttrib.AttributeId)
+            <input type="hidden" name="$optionName" value="$attributeId"/>
+          #end
+    #end
+
+    <select name="add_watcher" style="position:relative; top:-1px;">
+      ##if ( $myselfInList == true )
+       <option value="" #selected(true) >$l10n.Assign ...</option>
+      ##end
+
+      #foreach ($user in $users)
+        #if ($user.UserId != $myself && $user.UserId != $assignedUserId)
+          #set ($inList�lse)
+          #foreach ($uid in $watcherIdList)
+              #if ($uid == $user.UserId)
+                #set ($inList = true)
+                #break
+              #end
+          #end
+          #if ($inList == false)
+            ## If i am the active user, i cant be assigned as a watcher
+            #set ($selected = ($user.UserId == $myself))
+            <option value="$user.UserId" #selected($selected) >$user.Name</option>
+          #end
+        #end
+      #end
+    </select>&nbsp;
+    <input type="submit" name="eventSubmit_doAddwatchers" title="Hier k&ouml;nnen Sie andere Mitarbeiter als $watchedRMA.DisplayValue hinzuf&uuml;gen " value="als $watchedRMA.DisplayValue" class="button" />
+#end
+
+
+
 ## TODO: The getCopyToModules() can be expensive (PCN20967).  Add APIs
 ## which perform the "should show" check without retrieving all the
 ## associated data.
@@ -171,106 +262,107 @@
   ## Issue copy
   ## Issue remove
   ## =========================================================================-  <div class="functnbar2" style="white-space:nowrap;">
-    <table border="0" style="margin:0px;padding:0px;" cellspacing="0" cellpadding="0">
-      <tr>
+  <div class="functnbar2" style="white-space:nowrap;min-height:28px;height:28px; overflow:visible;">
+    <span style="float:left; margin:1px;padding:0px;">

-
-
-        #if ($canEdit && ($myself != $assignedUserId))
-          #if ($scarabR.hasPermission($scarabG.Permission.ISSUE__ASSIGN, $module))
-
-            <td style="white-space:nowrap;">
-              ## ===========================================================================-              ## Find all selectable User Attributes in the given context.
-              ## Note: If a userAttribute/user combination is allready in the list,
-              ## it can not be selected anymore here.
-              ## ===========================================================================-              #set ($options = [] )
-              #foreach ($selectUserAttr in $module.getUserAttributes($currentIssue.issueType))
-               #if ($selectUserAttr.MultiValue == true) ## Only allow setting of non active attributes
-                 #if ($!data.User.hasPermission($selectUserAttr.Permission, $module))
-                   #set ($attid = $selectUserAttr.AttributeId)
-                   #if ($myAttrib != $attid) ## if this attribute/user is already in list, discard it
-                     #set ($selectUserAttrName = $module.getRModuleAttribute($selectUserAttr,$currentIssue.issueType).displayValue)
-                     #set ($dummy = $options.add($selectUserAttr))
-                   #end
-                 #end
-               #end
-              #end
-
-              #if ( $options.size() == 1)
-                ## Just create a button. We do not need a selector box in this case.
-                #foreach ($selectUserAttr in $options)
-                  #set ($attid = $selectUserAttr.AttributeId)
-                  #set ($selectUserAttrName = $module.getRModuleAttribute($selectUserAttr,$currentIssue.issueType).displayValue)
-                  <input type="hidden" name="myself_attribute" value="$selectUserAttr.AttributeId"/>
-                  <input type="submit" class="buttonPassive" name="eventSubmit_doAddmyself" value="$selectUserAttrName" />
+        #if ($canEdit)
+          <span style="white-space:nowrap;margin-right:0px;margin-left:5px;">
+            #if ($myself == $assignedUserId)
+              <input type="button" name="dummy" title ="Sie sind der aktive $myRMA.DisplayValue " value="" class="watch_on" />
+            #else
+              #if ($scarabR.hasPermission($scarabG.Permission.ISSUE__ASSIGN, $module))
+                ## ===========================================================================+                ## Find all selectable User Attributes in the given context.
+                ## Note: If a userAttribute/user combination is allready in the list,
+                ## it can not be selected anymore here.
+                ## ===========================================================================+                #set ($options = [] )
+                #foreach ($selectUserAttr in $module.getUserAttributes($currentIssue.issueType))
+                  #if ($selectUserAttr.MultiValue == true) ## Only allow setting of non active attributes
+                    #if ($!data.User.hasPermission($selectUserAttr.Permission, $module))
+                      #set ($attid = $selectUserAttr.AttributeId)
+                      #if ($myAttrib != $attid) ## if this attribute/user is already in list, discard it
+                        #set ($selectUserAttrName = $module.getRModuleAttribute($selectUserAttr,$currentIssue.issueType).displayValue)
+                        #set ($dummy = $options.add($selectUserAttr))
+                      #end
+                    #end
+                  #end
                 #end
-
-              #elseif ( $options.size() > 1 )
-                ## Create a selection box
-                <input type="submit" name="eventSubmit_doAddmyself" value="$l10n.AssignMyself"  class="buttonPassive" />
-                <select name="myself_attribute">
+
+                #if ( $options.size() == 1)
+                  ## Just create a button. We do not need a selector box in this case.
                   #foreach ($selectUserAttr in $options)
                     #set ($attid = $selectUserAttr.AttributeId)
                     #set ($selectUserAttrName = $module.getRModuleAttribute($selectUserAttr,$currentIssue.issueType).displayValue)
-                    <option value="$selectUserAttr.AttributeId">$selectUserAttrName</option>
+                    <input type="hidden" name="myself_attribute" value="$selectUserAttr.AttributeId"/>
+                    <input type="submit" name="eventSubmit_doAddmyself" value="" title='Hier k&ouml;nnen Sie sich als "$selectUserAttrName" eintragen.' class="watch_off" />
                   #end
-                </select>
-              #end
-              </td>
+
+                #elseif ( $options.size() > 1 )
+                  ## Create a selection box
+                  <input type="submit" name="eventSubmit_doAddmyself" value="$l10n.AssignMyself"  class="buttonPassive" />
+                  <select name="myself_attribute">
+                    #foreach ($selectUserAttr in $options)
+                      #set ($attid = $selectUserAttr.AttributeId)
+                      #set ($selectUserAttrName = $module.getRModuleAttribute($selectUserAttr,$currentIssue.issueType).displayValue)
+                      <option value="$selectUserAttr.AttributeId">$selectUserAttrName</option>
+                    #end
+                  </select>
+                #end

-              ## ------------------------------------
-              ## Issue self remove
-              ## ------------------------------------
-              #if ($myselfInList)
-                <td>
-                  <input type="submit" name="eventSubmit_doRemovemyself" value="$myRMA.DisplayValue" class="buttonActive" />
-                </td>
+                ## ------------------------------------
+                ## Issue self remove
+                ## ------------------------------------
+                #if ($myselfInList)
+                  <input type="submit" name="eventSubmit_doRemovemyself"  value="" title='Ihre Zuordnung zu "$myRMA.DisplayValue" wieder entfernen.' class="watch_on" />
+                #end
               #end
-             #end
+            #end
+          </span>
+          <span style="margin:0px; margin-right:10px;padding-left:0px;margin-left:0px;">
+            #watchingUsers($myselfInList $assignedUserId $watchedRMA $watchedAttrib)
+          </span>
         #end
-
+     </span>
+
+
+     <span style="float:right; margin:1px;padding:0px;">
         ## ------------------------------------------
         ## Issue move
         ## Issue copy
         ## Issue remove
         ## ------------------------------------------
-        <td style="align:right;color:white; width:100%;" />
         #if ($showCopyButton || $showMoveButton)
           #if ($showMoveButton)
-            <td style="align:right;color:white">
-              <input style="align:right;" type="submit" value="$l10n.MoveIssue" name="eventSubmit_doMove" class="buttonActive" />
-            </td>
+            <span style="color:white">
+              <input style="align:right;" type="submit" value="$l10n.Move" name="eventSubmit_doMove" class="button" />
+            </span>
           #end
           #if ($showCopyButton)
-            <td style="align:right;color:white">
-              <input style="align:right;" type="submit" value="$l10n.CopyIssue" name="eventSubmit_doCopy" class="buttonActive" />
-            </td>
+            <span style="color:white">
+              <input style="align:right;" type="submit" value="$l10n.Copy" name="eventSubmit_doCopy" class="button" />
+            </span>
           #end
           #if ($hasDeletePermission)
-            <td style="align:right;color:white">
-              <input style="align:right;" type="submit" value="$l10n.DeleteIssue" name="eventSubmit_doDeleteissue" class="buttonActive" />
-            </td>
+            <span style="color:white">
+              <input style="align:right;" type="submit" value="$l10n.Delete" name="eventSubmit_doDeleteissue" class="button" />
+            </span>
           #end
         #end
-        <td style="align:right;color:white">
+        <span style="color:white; position:relative; top:-5px; margin-left:5px; margin-right:2px;">
           <a style="align:right;color:white" title="$l10n.IssueRSSFeed"
            href="$link.setPage('RSSDataExport.vm')/feedType/IssueFeed/issueId/$currentIssue.UniqueId/type/rss_2.0"><img align="middle" src="$staticLink.setPath('/images/icon_rss.gif')" border="0"/></a>
-        </td>
-        <td style="align:right;color:white" >
+        </span>
+        <span style="color:white; position:relative; top:-5px; margin-right:0px;" >
           <a style="align:right;color:white" title="$l10n.IssueATOMFeed"
            href="$link.setPage('RSSDataExport.vm')/feedType/IssueFeed/issueId/$currentIssue.UniqueId/type/atom_0.3"><img align="middle" src="$staticLink.setPath('/images/icon_atom.gif')" border="0"/></a>
-        </td>
-        <td style="align:right;color:white" >
+        </span>
+        <span style="color:white; position:relative; top:-5px; margin-right:0px;" >
           <a style="align:right;color:white" title="$l10n.BookmarkToThisIssue"
            href="$link.getIssueIdAbsoluteLink($currentIssue)"><img align="middle" src="$staticLink.setPath('/images/icon_url.gif')" alt="$l10n.SessionInfoLink $currentIssue.UniqueId" border="0"/></a>
-        </td>
-
+        </span>
+    </span>

-      </tr>
-    </table>
   </div>

 </div>

Modified: trunk/src/webapp/WEB-INF/templates/viewIssue/ViewIssueTab1.vm
Url: http://scarab.tigris.org/source/browse/scarab/trunk/src/webapp/WEB-INF/templates/viewIssue/ViewIssueTab1.vm?view=diff&pathrev775&r1774&r2775
=============================================================================--- trunk/src/webapp/WEB-INF/templates/viewIssue/ViewIssueTab1.vm	(original)
+++ trunk/src/webapp/WEB-INF/templates/viewIssue/ViewIssueTab1.vm	2009-07-08 14:36:29-0700
@@ -2,44 +2,6 @@
 #set ($wantEdit         = $scarabU.wantEdit($user,$currentIssue,$data))
 #set ($isEditAttributes = $canEdit && $wantEdit)

-## --------------------------------------------------------------
-## Create the selection box for all assignable users
-## This macro is called from the initialisation code below.
-## --------------------------------------------------------------
-
-#macro (assignedUsers $myself $isEditAttributes)
-    #set ($users = $module.getUsers("Issue | Edit"))
-    #if ($isEditAttributes)
-
-      <input type="hidden" name="id" value="$currentIssueId" />
-      <input type="hidden" name="issue_ids" value="$currentIssueId" />
-
-      ## Create a selection box
-      #foreach ($user in $users)
-          #set ($optionName  = "user_attr_" + $user.UserId)
-          #set ($attributeId = $assignedAttrib.AttributeId)
-          <input type="hidden" name="$optionName" value="$attributeId"/>
-      #end
-      <select name="add_user">
-      #if ( $assignedUserId == -1 )
-         <option value="" #selected(true) >$l10n.Assign ...</option>
-      #end
-
-      #foreach ($user in $users)
-          #set ($selected = ($user.UserId == $assignedUserId))
-          <option value="$user.UserId" #selected($selected) >$user.Name</option>
-      #end
-      </select>
-    #else
-      #if ( $assignedUserId != -1 )
-        $scarabU.getUser($assignedUserId).Name
-      #end
-    #end
-
-#end
-
-
-
 <h3 onClick=smartToggleVisibility('properties')><img name="properties.state" src="$staticLink.setPath($iconCollapse)"/>$l10n.IssueAttributesNavi</h3>
 <div id='properties'>


Modified: trunk/src/webapp/scripts/CalendarPopup.js
Url: http://scarab.tigris.org/source/browse/scarab/trunk/src/webapp/scripts/CalendarPopup.js?view=diff&pathrev775&r1774&r2775
=============================================================================--- trunk/src/webapp/scripts/CalendarPopup.js	(original)
+++ trunk/src/webapp/scripts/CalendarPopup.js	2009-07-08 14:36:29-0700
@@ -1276,7 +1276,8 @@
 		result += '<CENTER><TABLE WIDTH0% BORDER=0 BORDERWIDTH=0 CELLSPACING=0 CELLPADDING=0>\n';
 		}
 	else {
-		result += '<TABLE CLASS="'+this.cssPrefix+'cpBorder" WIDTH4 BORDER=1 BORDERWIDTH=1 CELLSPACING=0 CELLPADDING=1>\n';
+		// the iframe fixes IE6 select overlay bug: http://stackoverflow.com/questions/7937/solve-the-ie-select-overlap-bug	
+		result += '<IFRAME></IFRAME><TABLE CLASS="'+this.cssPrefix+'cpBorder" WIDTH4 BORDER=1 BORDERWIDTH=1 CELLSPACING=0 CELLPADDING=1>\n';
 		result += '<TR><TD ALIGN�NTER>\n';
 		result += '<CENTER>\n';
 		}

Modified: trunk/src/webapp/scripts/scarabutil.js
Url: http://scarab.tigris.org/source/browse/scarab/trunk/src/webapp/scripts/scarabutil.js?view=diff&pathrev775&r1774&r2775
=============================================================================--- trunk/src/webapp/scripts/scarabutil.js	(original)
+++ trunk/src/webapp/scripts/scarabutil.js	2009-07-08 14:36:29-0700
@@ -121,8 +121,10 @@
 function initializeTreeview() {
   collapseAll(["ol"]);
   //openBookMark();
-  buttonEndings("buttonActive");
+  buttonEndings("button");
+  buttonEndings("buttonNotify");
   buttonEndings("buttonPassive");
+  buttonEndings("buttonActive");
 }



Modified: trunk/src/webapp/skins/classic.css
Url: http://scarab.tigris.org/source/browse/scarab/trunk/src/webapp/skins/classic.css?view=diff&pathrev775&r1774&r2775
=============================================================================--- trunk/src/webapp/skins/classic.css	(original)
+++ trunk/src/webapp/skins/classic.css	2009-07-08 14:36:29-0700
@@ -142,6 +142,25 @@
     layer-background-color:white;
 }

+/* ======================================================= */
+/* the iframe fixes IE6 select overlay bug:                */
+/* http://stackoverflow.com/questions/7937/\               */
+/*        solve-the-ie-select-overlap-bug	               */
+/* ======================================================= */
+.scb_calendar iframe {
+    position: absolute;
+    z-index: -1;
+    filter: mask();
+    border: 0;
+    margin: 0;
+    padding: 0;
+    top: 0;
+    left: 0;
+    width: 9999px;
+    height: 9999px;
+    overflow: hidden;
+}
+

 .hint {
 	font-size:80%;
@@ -150,49 +169,76 @@


 /* ====================================================== */
-/* Button section                                         */
+/* Button section ...                                       */
 /* ====================================================== */

-input.buttonActive {
-    padding-left: 5px;
-    margin-right: 5px;
+input.button, input.buttonActive, input.buttonPassive, input.buttonNotify, .watch_on, .watch_off {
+    width:auto;
+    padding-right: 5px;
+    padding-left :10px;
+    margin-right :5px;
+    overflow:visible;
     border: 0;
     color: #333;
     height: 22px;
     /* used to catch the buttonEnding */
     position: relative;
     cursor: pointer;
-    background: url(images/button_passive_begin.png) no-repeat;
 }

-.buttonActiveEnding {
+.buttonEnding, .buttonActiveEnding, .buttonPassiveEnding, .buttonNotifyEnding  {
     position: absolute;
     display: inline;
-    margin-left: -10px;
-    width: 10px;
+    margin-left: -12px;
+    width: 22px;
     height: 22px;
-    background: url(images/button_passive_end.png) no-repeat;
+    margin-right:10px;
 }

-input.buttonPassive {
-    padding-left: 5px;
-    margin-right: 5px;
-    border: 0;
-    color: #333;
+.watch_on {
+    background: url(images/watchOn.jpg) no-repeat;
+    width: 25px;
     height: 22px;
-    /* used to catch the buttonEnding */
-    position: relative;
-    cursor: pointer;
+}
+
+.watch_off {
+    background: url(images/watchOff.jpg) no-repeat;
+    width: 25px;
+    height: 22px;
+}
+
+input.button {
+    background: url(images/button_passive_begin.jpg) no-repeat;
+}
+
+input.buttonActive {
     background: url(images/button_active_begin.png) no-repeat;
 }

-.buttonPassiveEnding {
-    position: absolute;
-    display: inline;
+input.buttonPassive {
+    background: url(images/button_passive_begin.jpg) no-repeat;
+}
+
+input.buttonNotify {
+    background: url(images/button_passive_begin.jpg) no-repeat;
+}
+
+.buttonEnding {
     margin-left: -10px;
     width: 10px;
-    height: 22px;
-	    background: url(images/button_active_end.png) no-repeat;
+	background: url(images/button_passive_end.jpg) no-repeat;
+}
+
+.buttonActiveEnding  {
+    background: url(images/button_active_checked.png) no-repeat;
+}
+
+.buttonPassiveEnding {
+	background: url(images/button_passive_unchecked.png) no-repeat;
+}
+
+.buttonNotifyEnding {
+	background: url(images/button_end_transmit_blue.png) no-repeat;
 }



Modified: trunk/src/webapp/skins/custom.css
Url: http://scarab.tigris.org/source/browse/scarab/trunk/src/webapp/skins/custom.css?view=diff&pathrev775&r1774&r2775
=============================================================================--- trunk/src/webapp/skins/custom.css	(original)
+++ trunk/src/webapp/skins/custom.css	2009-07-08 14:36:29-0700
@@ -9,7 +9,14 @@

 /* attribute specific classes */

-.status {
+.status,
+.status_new,
+.status_assigned,
+.status_reopened,
+.status_inreview,
+.status_processing,
+.status_closed
+ {
 	background-repeat: no-repeat;
 	position:relative;
     background-position: 0px 0px;
@@ -17,36 +24,36 @@
     font-weight:bold;
 }

-.status.new {
+.status_new {
  color:#888;
  padding-left:20px;
 }

-.status.assigned {
+.status_assigned {
  color:red;
  background-image: url(images/unassigned.png);
  padding-left:20px;
 }

-.status.reopened {
+.status_reopened {
  color:magenta;
  background-image: url(images/reopened.png);
  padding-left:20px;
 }

-.status.inreview {
+.status_inreview {
  color:blue;
  background-image: url(images/inreview.png);
  padding-left:20px;
 }

-.status.processing {
+.status_processing {
  color:orange;
  background-image: url(images/inprogress.png);
  padding-left:20px;
 }

-.status.closed {
+.status_closed {
  color:green;
  background-image: url(images/closed.png);
  padding-left:20px;

Added: trunk/src/webapp/skins/images/button_begin.jpg
Url: http://scarab.tigris.org/source/browse/scarab/trunk/src/webapp/skins/images/button_begin.jpg?view=markup&pathrev775
=============================================================================Binary file. No diff available.

Added: trunk/src/webapp/skins/images/button_end.jpg
Url: http://scarab.tigris.org/source/browse/scarab/trunk/src/webapp/skins/images/button_end.jpg?view=markup&pathrev775
=============================================================================Binary file. No diff available.

Added: trunk/src/webapp/skins/images/button_passive_begin.jpg
Url: http://scarab.tigris.org/source/browse/scarab/trunk/src/webapp/skins/images/button_passive_begin.jpg?view=markup&pathrev775
=============================================================================Binary file. No diff available.

Added: trunk/src/webapp/skins/images/button_passive_end.jpg
Url: http://scarab.tigris.org/source/browse/scarab/trunk/src/webapp/skins/images/button_passive_end.jpg?view=markup&pathrev775
=============================================================================Binary file. No diff available.

Added: trunk/src/webapp/skins/images/watchOff.jpg
Url: http://scarab.tigris.org/source/browse/scarab/trunk/src/webapp/skins/images/watchOff.jpg?view=markup&pathrev775
=============================================================================Binary file. No diff available.

Added: trunk/src/webapp/skins/images/watchOff.png
Url: http://scarab.tigris.org/source/browse/scarab/trunk/src/webapp/skins/images/watchOff.png?view=markup&pathrev775
=============================================================================Binary file. No diff available.

Added: trunk/src/webapp/skins/images/watchOn.jpg
Url: http://scarab.tigris.org/source/browse/scarab/trunk/src/webapp/skins/images/watchOn.jpg?view=markup&pathrev775
=============================================================================Binary file. No diff available.

Added: trunk/src/webapp/skins/images/watchOn.png
Url: http://scarab.tigris.org/source/browse/scarab/trunk/src/webapp/skins/images/watchOn.png?view=markup&pathrev775
=============================================================================Binary file. No diff available.

------------------------------------------------------
http://scarab.tigris.org/ds/viewMessage.do?dsForumId=3577&dsMessageId=2369150
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.