Scarab commit: svn commit: r11134 - trunk: . src/conf/classes src/java/org/tigris/scarab/actions src/java/org/tigris/scarab/om src/java/org/tigris/scarab/screens src/java/org/tigris/scarab/tools src/java/org/tigris/scarab/xmlrpc src/nsis src/test/org/tigris/scarab/om src/webapp/WEB-INF/templates/email/notification src/webapp/WEB-INF/templates/reports src/webapp/WEB-INF/templates/screens src/webapp/WEB-INF/templates/viewIssue xdocs

[email protected] Fri, 13 Apr 2012 07:52:05 -0700 (PDT)
Newsgroups gmane.comp.java.scarab.cvs
Message-ID <[email protected]>
Author: mcoss
Date: 2012-04-13 07:52:05-0700
New Revision: 11134

Modified:
   trunk/   (props changed)
   trunk/properties.xsl   (props changed)
   trunk/src/conf/classes/ScarabBundle_de.properties
   trunk/src/conf/classes/ScarabBundle_en.properties
   trunk/src/java/org/tigris/scarab/actions/MoveIssue.java
   trunk/src/java/org/tigris/scarab/om/Issue.java
   trunk/src/java/org/tigris/scarab/om/Module.java
   trunk/src/java/org/tigris/scarab/om/ScarabModule.java
   trunk/src/java/org/tigris/scarab/screens/DataExport.java
   trunk/src/java/org/tigris/scarab/tools/ScarabRequestTool.java
   trunk/src/java/org/tigris/scarab/xmlrpc/ScarabUpdateHelper.java
   trunk/src/nsis/before-install.nsh
   trunk/src/nsis/startmenu-shortcuts.nsh
   trunk/src/test/org/tigris/scarab/om/ScarabUserTest.java
   trunk/src/webapp/WEB-INF/templates/email/notification/IssueActivityHtml.vm
   trunk/src/webapp/WEB-INF/templates/email/notification/IssueActivityHtmlStyles.vm
   trunk/src/webapp/WEB-INF/templates/reports/SelectUsers.vm
   trunk/src/webapp/WEB-INF/templates/screens/AssignIssue.vm
   trunk/src/webapp/WEB-INF/templates/screens/IssueList.vm
   trunk/src/webapp/WEB-INF/templates/screens/MoveIssue2.vm
   trunk/src/webapp/WEB-INF/templates/screens/UserList.vm
   trunk/src/webapp/WEB-INF/templates/screens/ViewIssueLong.vm
   trunk/src/webapp/WEB-INF/templates/viewIssue/ViewIssueTab4Dep.vm
   trunk/xdocs/changes.xml

Log:
MRG - Merged revision from b22-release branch starting from last revision of merge: 11105-11130 except 11115

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&pathrev=11134&r1=11133&r2=11134
==============================================================================
--- trunk/src/conf/classes/ScarabBundle_de.properties	(original)
+++ trunk/src/conf/classes/ScarabBundle_de.properties	2012-04-13 07:52:05-0700
@@ -313,7 +313,7 @@
 TemplateInfo=Vorlagen-Info
 TemplateAttributes=Vorlagen Eigenschaften
 CouldNotLocateTemplateToDelete=Zu löschende Vorlage nicht gefunden
-TemplateWarning=Hinweis: Wenn Sie den Gültigkeitsbereich dieser Vorlage auf global setzen, können Sie sie nicht weiter bearbeiten. Bitte beenden Sie alle Änderungen der Vorlage bevor Sie "Speichern" drücken.
+TemplateWarning=Hinweis: Wenn Sie den Gültigkeitsbereich dieser Vorlage auf "module" setzen, können Sie sie nach dem Speichern nicht mehr bearbeiten. Wenden Sie sich diesbezüglich an ihren Administrator.
 DuplicateTemplateName=Eine Vorlage mit diesem Namen existiert bereits.
 AtLeastOneAttributeForTemplate=Sie müssen mindestens für ein Attribut einen Wert hinzufügen, um ein neues Template zu erzeugen
 
@@ -569,8 +569,9 @@
 Value=Wert (Listeneintrag/Inhalt)
 Include=Einfügen
 OptionName=Option
-MovedIssueNote=Tickethinweis verschoben
-CopiedIssueNote=Tickethinweis wurde kopiert
+MovedIssueNote=Ticket wurde verschoben.
+CopiedIssueNote=Ticket wurde kopiert.
+DeletedIssueNote=Ticket wurde gelöscht.
 MovedFromIssueDescription=Ticket {1} wurde in Modul {2}/{3} {0,choice,1#kopiert|2#verschoben}
 MovedToIssueDescription=Nach Ticket {1} in module {2}/{3} {0,choice,1#kopiert|2#verschoben}
 AllCopied=Alle Attribute wurden kopiert.
@@ -680,7 +681,7 @@
 AllIssueTypesInModule=Alle Ticket-Typen
 QueryAllIssueTypes=Alle Ticket-Typen der Liste abfragen
 ThereAreMoreComments={0} Kommentare gefunden
-QueryWarning=Hinweis: Wenn Sie den Gültigkeitsbereich dieser Abfrage global setzen, können Sie nicht mehr bearbeiten. Bitte beenden Sie alle Änderungen in der Abfrage bevor Sie "speichern" drücken.
+QueryWarning=Hinweis: Wenn Sie den Gültigkeitsbereich dieser Vorlage auf "module" setzen, können Sie sie nach dem Speichern nicht mehr bearbeiten. Wenden Sie sich diesbezüglich an ihren Administrator.
 Format=Format
 Web=Web
 Excel=Excel
@@ -2320,12 +2321,12 @@
 DateClean=Löschen
 
 # ActivityTypes keys
-ActivityIssue=Allgemeine Daten
-ActivityAttributeChanges=Änderungen in Attributen
+ActivityIssue=Allgemeine geänderte Daten
+ActivityAttributeChanges=Geänderte Ticketattribute
 ActivityPersonnelChanges=Änderungen - {0}
-ActivityComments=Kommentare
-ActivityAssociatedInfo=Änderungen der Assoziationen
-ActivityDependencies=Änderungen der Abhängigkeiten
+ActivityComments=Hinzugefügte Kommentare
+ActivityAssociatedInfo=Geänderte Assoziationen
+ActivityDependencies=Geänderte Abhängigkeiten
 
 ReasonSavedAs=Änderungsgrund
 EnterReasonAs=wird beim Speichern automatisch hinzugefügt

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&pathrev=11134&r1=11133&r2=11134
==============================================================================
--- trunk/src/conf/classes/ScarabBundle_en.properties	(original)
+++ trunk/src/conf/classes/ScarabBundle_en.properties	2012-04-13 07:52:05-0700
@@ -336,7 +336,7 @@
 TemplateInfo=Template information
 TemplateAttributes=Template Attributes
 CouldNotLocateTemplateToDelete=Could not locate template to delete
-TemplateWarning=Note: if you set this template's scope to global, you will no longer be able to edit it. Please finish making all modifications to the template before you click "Save".
+TemplateWarning=Note: If you set this template's scope to "module", you will no longer be able to edit it after saving. Contact your administrator in this regard.
 DuplicateTemplateName=A template by this name already exists.
 AtLeastOneAttributeForTemplate=You must set a value for at least one attribute to create a new template.
 
@@ -607,7 +607,7 @@
 Destination=Destination
 SameModule=Same module ({0})
 MapIssueAttributes=Map issue attributes
-DestinationModule=Destination project/issue type
+DestinationModule=Destination module
 MatchingAttributes=Attributes that map to destination issue type
 AttributesToBeCopied=Attributes from issue to be copied/moved
 AttributesThatDoNotExist=Attributes that do not map to destination issue type (saved as comment)
@@ -616,8 +616,9 @@
 Value=Value 
 Include=Include
 OptionName=Option name
-MovedIssueNote=Moved issue note
-CopiedIssueNote=Copied issue note
+MovedIssueNote=Issue was moved.
+CopiedIssueNote=Issue was copied.
+DeletedIssueNote=Issue was deleted.
 MovedFromIssueDescription={0,choice,1#copied|2#moved} from issue {1} in module {2}/{3}
 MovedToIssueDescription={0,choice,1#copied|2#moved} to issue {1} in module {2}/{3}
 AllCopied=All attributes were copied.
@@ -728,7 +729,7 @@
 AllIssueTypesInModule=All issue types
 QueryAllIssueTypes=Query all issue types in this list
 ThereAreMoreComments={0} more comments
-QueryWarning=Note: if you set this query's scope to global, you will no longer be able to edit it. Please finish making all modifications to the query before you click "Save".
+QueryWarning=Note: If you set this query's scope to "module", you will no longer be able to edit it after saving. Contact your administrator in this regard.
 Format=Format
 Web=Web
 Excel=Excel
@@ -2338,10 +2339,10 @@
 DateClean=Clean
 
 # ActivityTypes keys
-ActivityIssue=Issue general information
-ActivityAttributeChanges=Attribute changes
+ActivityIssue=Issue general information changes
+ActivityAttributeChanges=Issue attribute changes
 ActivityPersonnelChanges=Personnel changes ({0})
-ActivityComments=Comments
+ActivityComments=Added comments
 ActivityAssociatedInfo=Associated information changes
 ActivityDependencies=Dependency changes
 

Modified: trunk/src/java/org/tigris/scarab/actions/MoveIssue.java
Url: http://scarab.tigris.org/source/browse/scarab/trunk/src/java/org/tigris/scarab/actions/MoveIssue.java?view=diff&pathrev=11134&r1=11133&r2=11134
==============================================================================
--- trunk/src/java/org/tigris/scarab/actions/MoveIssue.java	(original)
+++ trunk/src/java/org/tigris/scarab/actions/MoveIssue.java	2012-04-13 07:52:05-0700
@@ -70,6 +70,7 @@
 import org.tigris.scarab.om.IssueTypeManager;
 import org.tigris.scarab.om.Module;
 import org.tigris.scarab.om.ModuleManager;
+import org.tigris.scarab.om.IssueManager;
 import org.tigris.scarab.om.ScarabUser;
 import org.tigris.scarab.services.security.ScarabSecurity;
 import org.tigris.scarab.tools.ScarabLocalizationTool;
@@ -231,6 +232,9 @@
     public void doSaveissue(RunData data, TemplateContext context)
         throws Exception
     {
+    	//Clear cache for stability reasons, to avoid missing, cached values
+    	IssueManager.getMethodResult().clear();
+    	
         boolean collisionOccurred = isCollision(data, context);
         context.put("collisionDetectedOnMoveAttempt", collisionOccurred ? Boolean.TRUE : Boolean.FALSE);
         if (collisionOccurred)

Modified: trunk/src/java/org/tigris/scarab/om/Issue.java
Url: http://scarab.tigris.org/source/browse/scarab/trunk/src/java/org/tigris/scarab/om/Issue.java?view=diff&pathrev=11134&r1=11133&r2=11134
==============================================================================
--- trunk/src/java/org/tigris/scarab/om/Issue.java	(original)
+++ trunk/src/java/org/tigris/scarab/om/Issue.java	2012-04-13 07:52:05-0700
@@ -1567,7 +1567,7 @@
         ActivitySet t = null;
         if (!isNew()) 
         {
-            Object obj = ScarabCache.get(this, GET_LAST_TRANSACTION); 
+            Object obj = ScarabCache.get(this, GET_LAST_TRANSACTION, this.getLastTransId());
             if (obj == null) 
             {        
                 Criteria crit = new Criteria();
@@ -1586,7 +1586,7 @@
                 {
                     t = (ActivitySet)activitySets.get(0);
                 }
-                ScarabCache.put(t, this, GET_LAST_TRANSACTION);
+                ScarabCache.put(t, this, GET_LAST_TRANSACTION, this.getLastTransId());
             }
             else 
             {
@@ -2850,6 +2850,12 @@
                getLocale(),
                "AllCopied"));
         }
+        
+        attachmentBuf.append(Localization.getString(
+                ScarabConstants.DEFAULT_BUNDLE_NAME,
+                getLocale(),
+                "MovedIssueNote"));
+        
         attachment.setData(attachmentBuf.toString());
 
         attachment.setName(Localization.getString(
@@ -2873,6 +2879,11 @@
 
         newIssue.index();
         
+        //send notification
+        NotificationManagerFactory.getInstance().addActivityNotification(
+                ActivityType.ISSUE_MOVED,
+                activitySet2, newIssue, user);
+        
         return newIssue;
     }
     
@@ -3102,6 +3113,12 @@
                getLocale(),
                "AllCopied"));
         }
+        
+        attachmentBuf.append(Localization.getString(
+                ScarabConstants.DEFAULT_BUNDLE_NAME,
+                getLocale(),
+                "CopiedIssueNote"));
+        
         attachment.setData(attachmentBuf.toString());
 
 
@@ -3114,6 +3131,7 @@
         attachment.save();
 
         // Create activitySet for the MoveIssue activity
+        // NOTE: There is no distinction bewteen copy and move actions in ActivitySetTypePeer.
         final ActivitySet activitySet2 = 
         	newIssue.attachActivitySet(null, user, attachment, ActivitySetTypePeer.MOVE_ISSUE__PK);
 
@@ -3124,7 +3142,12 @@
             .createTextActivity(newIssue, zeroAttribute, activitySet2,
                                 ActivityType.ISSUE_COPIED,
                                 getUniqueId(), newIssue.getUniqueId());
-
+        
+        //send notification
+        NotificationManagerFactory.getInstance().addActivityNotification(
+                ActivityType.ISSUE_COPIED,
+                activitySet2, newIssue, user);
+        
         newIssue.index();
         
         return newIssue;
@@ -3389,6 +3412,19 @@
         {
             ActivitySet activitySet = attachActivitySet(null, user);
             ActivityManager.createDeleteIssueActivity(this, activitySet);
+            
+            Attachment attachment = new Attachment();
+            
+            String note = Localization.getString(
+                    ScarabConstants.DEFAULT_BUNDLE_NAME,
+                    getLocale(),
+                    "DeletedIssueNote");
+            
+            attachment.setData(note);
+            attachment.setName(note);
+            attachment.setTextFields(user, this, Attachment.MODIFICATION__PK);
+            attachment.save();         
+            
             this.setDeleted(true);
             List dependencies = this.getDependsRelatedByObservedId();
             dependencies.addAll(this.getDependsRelatedByObserverId());
@@ -3405,6 +3441,8 @@
                 }        
             }
             
+            activitySet.setAttachment(attachment);
+            
             NotificationManagerFactory.getInstance()
             .addActivityNotification(ActivityType.ISSUE_DELETED,
                     activitySet, this, user);
@@ -4010,6 +4048,7 @@
             activitySet.save();
             ScarabCache.clear();
         }
+
         setLastTransId(activitySet.getActivitySetId());
         save();
         return activitySet;
@@ -4380,7 +4419,7 @@
     }    
     
     /**
-     * Returns a list of issues that actually "block" this issue, i.e., that
+     * Returns a list of issues that currently "block" this issue, i.e., that
      * are related via a "is blocked by" dependency, and are "blocking".
      * @return
      */
@@ -4398,7 +4437,7 @@
     }
     
     /**
-     * Returns a list of issues that are blockable by this issue, via a "is_blocked_by"
+     * Returns a list of issues that might be blocked by this issue, via a "is_blocked_by"
      * relationship. 
      * @return
      * @throws TorqueException

Modified: trunk/src/java/org/tigris/scarab/om/Module.java
Url: http://scarab.tigris.org/source/browse/scarab/trunk/src/java/org/tigris/scarab/om/Module.java?view=diff&pathrev=11134&r1=11133&r2=11134
==============================================================================
--- trunk/src/java/org/tigris/scarab/om/Module.java	(original)
+++ trunk/src/java/org/tigris/scarab/om/Module.java	2012-04-13 07:52:05-0700
@@ -141,6 +141,23 @@
                                         String sortColumn, String sortPolarity,
                                         boolean includeCommitters)
         throws TorqueException,DataSetException;
+    
+    /**
+     * Gets users for a given criteria, starting at a particular offset, 
+     * for a given length, and have at least one permission that is 
+     * applicable to user attributes active in the given issue type. 
+     * This method handles the case where limiting the result size
+     * is best accomplished by limiting the database transaction 
+     * size, and not postfiltering the list. This is extremely helpful
+     * with large user datasets. 
+     */
+    ScarabPaginatedList getUsers(String name, String username,  
+                                        MITList mitList,
+                                        int offset, int resultSize, 
+                                        String sortColumn, String sortPolarity,
+                                        boolean includeCommitters,
+                                        boolean confirmedOnly)
+        throws TorqueException,DataSetException;
 
     /**
      * This method is only used by the Turbine Group interface.

Modified: trunk/src/java/org/tigris/scarab/om/ScarabModule.java
Url: http://scarab.tigris.org/source/browse/scarab/trunk/src/java/org/tigris/scarab/om/ScarabModule.java?view=diff&pathrev=11134&r1=11133&r2=11134
==============================================================================
--- trunk/src/java/org/tigris/scarab/om/ScarabModule.java	(original)
+++ trunk/src/java/org/tigris/scarab/om/ScarabModule.java	2012-04-13 07:52:05-0700
@@ -377,6 +377,25 @@
                                         final boolean includeCommitters)
         throws TorqueException, DataSetException
     {
+    	return getUsers(name, username, mitList, pageNum, resultsPerPage, sortColumn, sortPolarity, includeCommitters, false);
+    	
+    }
+
+    /**
+     * @see org.tigris.scarab.om.Module#getUsers(String, String, String, String, IssueType)
+     * @param mitList MITs to restrict the user's search. If null, it will not be restricted.
+     */
+    public ScarabPaginatedList getUsers(final String name, 
+                                        final String username, 
+                                        final MITList mitList, 
+                                        final int pageNum, 
+                                        final int resultsPerPage,
+                                        final String sortColumn, 
+                                        final String sortPolarity,
+                                        final boolean includeCommitters,
+                                        final boolean confirmedOnly)
+        throws TorqueException, DataSetException
+    {
         final int polarity = sortPolarity.equals("asc") ? 1 : -1; 
         List result = null;
         ScarabPaginatedList paginated = null; 
@@ -429,6 +448,7 @@
             critCount.addJoin(TurbineUserGroupRolePeer.ROLE_ID, TurbineRolePermissionPeer.ROLE_ID);
             critCount.addJoin(TurbineRolePermissionPeer.PERMISSION_ID, TurbinePermissionPeer.PERMISSION_ID);            
 
+			//user by name
             if (name != null)
             {
                 int nameSeparator = name.indexOf(" ");
@@ -484,6 +504,12 @@
                 crit.addDescendingOrderByColumn(col);
             }
             
+            //confirmed users only
+            if(confirmedOnly){
+            	crit.add(ScarabUserImplPeer.CONFIRM_VALUE, (Object)"CONFIRMED", Criteria.EQUAL);
+            }
+
+			//finish query
             final int totalResultSize = ScarabUserImplPeer.getUsersCount(critCount);
             
             crit.setOffset((pageNum - 1)* resultsPerPage);

Modified: trunk/src/java/org/tigris/scarab/screens/DataExport.java
Url: http://scarab.tigris.org/source/browse/scarab/trunk/src/java/org/tigris/scarab/screens/DataExport.java?view=diff&pathrev=11134&r1=11133&r2=11134
==============================================================================
--- trunk/src/java/org/tigris/scarab/screens/DataExport.java	(original)
+++ trunk/src/java/org/tigris/scarab/screens/DataExport.java	2012-04-13 07:52:05-0700
@@ -54,6 +54,7 @@
 
 import org.apache.commons.lang.StringUtils;
 
+import org.apache.log4j.Logger;
 import org.apache.turbine.Turbine;
 import org.apache.turbine.RunData;
 import org.apache.turbine.TemplateContext;
@@ -86,6 +87,9 @@
  */
 class DataExport extends Default
 {
+	
+	private Logger log = Logger.getLogger(DataExport.class.getName());
+	
     /**
      * What to show if a cell is empty.  The empty string is dealt
      * with best by spreadsheet applications.
@@ -103,6 +107,8 @@
         super.doBuildTemplate(data, context);
         String format = ScarabUtil.findValue(data, ExportFormat.KEY_NAME);
 
+       log.debug("Export for format: " + format);
+        
         // look for a configuration toggle for the encoding to which to
         // export.  TODO : make this per request configurable (with a per-
         // language default) to allow use of scarab in a multilingual 
@@ -116,7 +122,7 @@
             // we want to set a charset on the response -- so clients
             // can detect it properly -- if we have a known encoding
             String encoding = getEncodingForExport(data);
-            String contentType = "text/plain";
+            String contentType = "text/tab-separated-values";
             if (encoding != null && !encoding.equals(""))
             {
                 contentType = contentType + "; charset=" + encoding;

Modified: trunk/src/java/org/tigris/scarab/tools/ScarabRequestTool.java
Url: http://scarab.tigris.org/source/browse/scarab/trunk/src/java/org/tigris/scarab/tools/ScarabRequestTool.java?view=diff&pathrev=11134&r1=11133&r2=11134
==============================================================================
--- trunk/src/java/org/tigris/scarab/tools/ScarabRequestTool.java	(original)
+++ trunk/src/java/org/tigris/scarab/tools/ScarabRequestTool.java	2012-04-13 07:52:05-0700
@@ -2451,12 +2451,13 @@
                                                     int resultsPerPage,
                                                     String sortColumn,
                                                     String sortPolarity,
-                                                    boolean includeCommitters)
+                                                    boolean includeCommitters,
+                                                    boolean confirmedOnly)
         throws Exception
     {
         return userFilteredSearchResults(mitList, pageNum, resultsPerPage,
                                          sortColumn, sortPolarity, "", "",
-                                         includeCommitters);
+                                         includeCommitters, confirmedOnly);
     }
 
     /**
@@ -2465,7 +2466,7 @@
      */
     public ScarabPaginatedList getUserFilteredSearchResults(MITList mitList,
         int pageNum, int resultsPerPage,  String sortColumn,
-        String sortPolarity, boolean includeCommitters)
+        String sortPolarity, boolean includeCommitters, boolean confirmedOnly)
         throws Exception
     {
         String searchString = data.getParameters()
@@ -2481,7 +2482,7 @@
 
         return userFilteredSearchResults(mitList, pageNum, resultsPerPage,
                                          sortColumn, sortPolarity,
-                                         searchString, searchField, includeCommitters);
+                                         searchString, searchField, includeCommitters, confirmedOnly);
 
     }
 
@@ -2492,7 +2493,7 @@
                                                           String sortPolarity,
                                                           String searchString,
                                                           String searchField,
-                                                          boolean includeCommitters)
+                                                          boolean includeCommitters, boolean confirmedOnly)
         throws Exception
     {
         ScarabPaginatedList list = null;
@@ -2513,7 +2514,7 @@
             list = getCurrentModule().getUsers(name, userName, mitList,
                                                pageNum, resultsPerPage,
                                                sortColumn, sortPolarity,
-                                               includeCommitters);
+                                               includeCommitters, confirmedOnly);
         }
         catch (Exception e)
         {

Modified: trunk/src/java/org/tigris/scarab/xmlrpc/ScarabUpdateHelper.java
Url: http://scarab.tigris.org/source/browse/scarab/trunk/src/java/org/tigris/scarab/xmlrpc/ScarabUpdateHelper.java?view=diff&pathrev=11134&r1=11133&r2=11134
==============================================================================
--- trunk/src/java/org/tigris/scarab/xmlrpc/ScarabUpdateHelper.java	(original)
+++ trunk/src/java/org/tigris/scarab/xmlrpc/ScarabUpdateHelper.java	2012-04-13 07:52:05-0700
@@ -492,6 +492,13 @@
 
     }
 
+    /**
+     * Returns if issue type has a parent id which isn't 0,
+     * which is the defintion for an issue type template.
+     * 
+     * @param it : Issue type.
+     * @return
+     */
     private boolean isIssueTypeTemplate(IssueType it) {
         return it.getParentId().intValue() != 0;
     }

Modified: trunk/src/nsis/before-install.nsh
Url: http://scarab.tigris.org/source/browse/scarab/trunk/src/nsis/before-install.nsh?view=diff&pathrev=11134&r1=11133&r2=11134
==============================================================================
--- trunk/src/nsis/before-install.nsh	(original)
+++ trunk/src/nsis/before-install.nsh	2012-04-13 07:52:05-0700
@@ -1 +1,4 @@
 Call AssertJavaHome
+#  This will check, using the function provided in JDK.nsh,
+#  that an environment variable for JAVA_HOME is available, 
+#  and abort the installation if it's not.

Modified: trunk/src/nsis/startmenu-shortcuts.nsh
Url: http://scarab.tigris.org/source/browse/scarab/trunk/src/nsis/startmenu-shortcuts.nsh?view=diff&pathrev=11134&r1=11133&r2=11134
==============================================================================
--- trunk/src/nsis/startmenu-shortcuts.nsh	(original)
+++ trunk/src/nsis/startmenu-shortcuts.nsh	2012-04-13 07:52:05-0700
@@ -1,3 +1,6 @@
+#  If you provide this file, the installer will allow the user to choose
+#  whether or not to create shortcuts in the <code>Start Menu</code>.
+#  The shortcuts specified in this file will be created.
 SetOutPath $INSTDIR\scarab\WEB-INF\conf
 CreateShortCut "${PROJECT_STARTMENU_FOLDER}\Create Database.lnk" "$INSTDIR\scarab\WEB-INF\conf\create-db.bat" "" "$INSTDIR\scarab\WEB-INF\conf\create-db.bat" 0
 

Modified: trunk/src/test/org/tigris/scarab/om/ScarabUserTest.java
Url: http://scarab.tigris.org/source/browse/scarab/trunk/src/test/org/tigris/scarab/om/ScarabUserTest.java?view=diff&pathrev=11134&r1=11133&r2=11134
==============================================================================
--- trunk/src/test/org/tigris/scarab/om/ScarabUserTest.java	(original)
+++ trunk/src/test/org/tigris/scarab/om/ScarabUserTest.java	2012-04-13 07:52:05-0700
@@ -68,7 +68,7 @@
 
         ScarabUser user = testUsers.getUser1();
         Calendar cal = Calendar.getInstance();
-        cal.set(2010, 9, 2);
+        cal.set(2030, 9, 2);
         user.setPasswordExpire(cal);
         assertEquals(user.isPasswordExpired(), false);
         cal.set(2001, 9, 2);

Modified: trunk/src/webapp/WEB-INF/templates/email/notification/IssueActivityHtml.vm
Url: http://scarab.tigris.org/source/browse/scarab/trunk/src/webapp/WEB-INF/templates/email/notification/IssueActivityHtml.vm?view=diff&pathrev=11134&r1=11133&r2=11134
==============================================================================
--- trunk/src/webapp/WEB-INF/templates/email/notification/IssueActivityHtml.vm	(original)
+++ trunk/src/webapp/WEB-INF/templates/email/notification/IssueActivityHtml.vm	2012-04-13 07:52:05-0700
@@ -85,7 +85,7 @@
 
 
 <div id="breadcrumbs" >
-  <table border="0" cellspacing="0" cellpadding="8" width="100%">
+  <table style="table-layout: fixed"  border="0" cellspacing="0" cellpadding="8" width="100%">
    <tr>
     <td>
       $l10n.Modules &gt;

Modified: trunk/src/webapp/WEB-INF/templates/email/notification/IssueActivityHtmlStyles.vm
Url: http://scarab.tigris.org/source/browse/scarab/trunk/src/webapp/WEB-INF/templates/email/notification/IssueActivityHtmlStyles.vm?view=diff&pathrev=11134&r1=11133&r2=11134
==============================================================================
--- trunk/src/webapp/WEB-INF/templates/email/notification/IssueActivityHtmlStyles.vm	(original)
+++ trunk/src/webapp/WEB-INF/templates/email/notification/IssueActivityHtmlStyles.vm	2012-04-13 07:52:05-0700
@@ -48,6 +48,8 @@
 
     table, th, td {
         border: none;
+		word-break:break-all;
+		word-wrap:break-word;
     }
 
     #breadcrumbs {
@@ -83,6 +85,12 @@
     pre {
         font-family: 'Andale Mono', Courier, monospace;
         font-size: small;
+		
+		/* do line wrap for pre tag */
+        white-space: pre-wrap; /* css-3*/
+        white-space: -moz-pre-wrap !important; /* Mozilla, since 1999 */
+        word-wrap: break-word; /* Internet Explorer 5.5+ */
+        width: 99%;
     }
 
     body, .app h3 {
@@ -171,8 +179,11 @@
     .functnbar {
         background-color: #668DB2;
         color:#fff;
-        white-space:nowrap;
-        margin-bottom:0px;
+		
+        word-break:break-all;
+		word-wrap:break-word;
+        
+		margin-bottom:0px;
         margin-left:-1px;
         margin-right:-1px;
     }
@@ -210,4 +221,4 @@
     .axial th {
         background-color: #E9F1F9;
         color: black;
-    }
+    }
\ No newline at end of file

Modified: trunk/src/webapp/WEB-INF/templates/reports/SelectUsers.vm
Url: http://scarab.tigris.org/source/browse/scarab/trunk/src/webapp/WEB-INF/templates/reports/SelectUsers.vm?view=diff&pathrev=11134&r1=11133&r2=11134
==============================================================================
--- trunk/src/webapp/WEB-INF/templates/reports/SelectUsers.vm	(original)
+++ trunk/src/webapp/WEB-INF/templates/reports/SelectUsers.vm	2012-04-13 07:52:05-0700
@@ -56,7 +56,8 @@
 
 #set ($param = ["headingtype", "1"])
 #set($booldummy = $parameters.add($param))
-#userList($mitList false false $parameters false)
+
+#userList($mitList false false $parameters false false)
 
 <div class="functnbar3">
  <input type="submit" name="eventSubmit_doAddusers" value="$l10n.AddAssignee" />

Modified: trunk/src/webapp/WEB-INF/templates/screens/AssignIssue.vm
Url: http://scarab.tigris.org/source/browse/scarab/trunk/src/webapp/WEB-INF/templates/screens/AssignIssue.vm?view=diff&pathrev=11134&r1=11133&r2=11134
==============================================================================
--- trunk/src/webapp/WEB-INF/templates/screens/AssignIssue.vm	(original)
+++ trunk/src/webapp/WEB-INF/templates/screens/AssignIssue.vm	2012-04-13 07:52:05-0700
@@ -159,7 +159,7 @@
  </select> 
 </div>
 
-#userList($mitList false false $parameters true)
+#userList($mitList false false $parameters true true)
 <div class="functnbar3">
  <input type="submit" name="eventSubmit_doAdd" value="$l10n.AddAssignee" />
 </div>

Modified: trunk/src/webapp/WEB-INF/templates/screens/IssueList.vm
Url: http://scarab.tigris.org/source/browse/scarab/trunk/src/webapp/WEB-INF/templates/screens/IssueList.vm?view=diff&pathrev=11134&r1=11133&r2=11134
==============================================================================
--- trunk/src/webapp/WEB-INF/templates/screens/IssueList.vm	(original)
+++ trunk/src/webapp/WEB-INF/templates/screens/IssueList.vm	2012-04-13 07:52:05-0700
@@ -26,7 +26,7 @@
 <td width="100%">
 #exportFormats('')
 #if (!$mitlist || $mitlist.isSingleModuleIssueType())
-  #processQueryResults('' $issueListSize)
+  #processQueryResults('' $queryResults.size())
 #end
 </td>
 
@@ -45,11 +45,12 @@
 </div>
 #end
 
-#if ($issueListSize == 0)
-  ## There are no matching issues
-<h3>$page.Title</h3>
-  <p><em>$l10n.NoMatchingIssues</em></p>
+#if ($queryResults.size() == 0)
+	## There are no matching issues
+	<h3>$page.Title</h3>
+	<p><em>$l10n.NoMatchingIssues</em></p>
 #else
+
 ## START OF ISSUES LIST
 <form action="$link.setPage('IssueList.vm').setAction('Search')" method="post">
 #if ($searchType)

Modified: trunk/src/webapp/WEB-INF/templates/screens/MoveIssue2.vm
Url: http://scarab.tigris.org/source/browse/scarab/trunk/src/webapp/WEB-INF/templates/screens/MoveIssue2.vm?view=diff&pathrev=11134&r1=11133&r2=11134
==============================================================================
--- trunk/src/webapp/WEB-INF/templates/screens/MoveIssue2.vm	(original)
+++ trunk/src/webapp/WEB-INF/templates/screens/MoveIssue2.vm	2012-04-13 07:52:05-0700
@@ -72,7 +72,7 @@
 <div class="axial">
 <table border="1" cellspacing="2" cellpadding="3">
 <tr>
-<th>$l10n.DestinationModule</th>
+<th>$l10n.Destination</th>
 <td> $newModule.Name / $newModule.getRModuleIssueType($newIssueType).DisplayName </td>
 </tr>
 </table>

Modified: trunk/src/webapp/WEB-INF/templates/screens/UserList.vm
Url: http://scarab.tigris.org/source/browse/scarab/trunk/src/webapp/WEB-INF/templates/screens/UserList.vm?view=diff&pathrev=11134&r1=11133&r2=11134
==============================================================================
--- trunk/src/webapp/WEB-INF/templates/screens/UserList.vm	(original)
+++ trunk/src/webapp/WEB-INF/templates/screens/UserList.vm	2012-04-13 07:52:05-0700
@@ -102,7 +102,7 @@
 </div>
   #end
 
-#userList($mitList true true $parameters false)
+#userList($mitList true true $parameters false true)
 
 <div class="functnbar3">
  <input type="submit" name="eventSubmit_doAddusers" value="$l10n.AddAssignee" />

Modified: trunk/src/webapp/WEB-INF/templates/screens/ViewIssueLong.vm
Url: http://scarab.tigris.org/source/browse/scarab/trunk/src/webapp/WEB-INF/templates/screens/ViewIssueLong.vm?view=diff&pathrev=11134&r1=11133&r2=11134
==============================================================================
--- trunk/src/webapp/WEB-INF/templates/screens/ViewIssueLong.vm	(original)
+++ trunk/src/webapp/WEB-INF/templates/screens/ViewIssueLong.vm	2012-04-13 07:52:05-0700
@@ -8,6 +8,7 @@
 #if ($issueList)
   #foreach ($issueId in $issueList)
      #set ($currentIssue = $scarabR.getIssue($issueId))
+     #set ($numDependencies  = ($currentIssue.Children.size() + $currentIssue.Parents.size()))
      #if ($currentIssue && $scarabR.hasPermission($scarabG.Permission.ISSUE__VIEW, $currentIssue.Module))
        <h2>$currentIssue.UniqueId</h2>
        <form method="post" name="form" action="$action" enctype="multipart/form-data">

Modified: trunk/src/webapp/WEB-INF/templates/viewIssue/ViewIssueTab4Dep.vm
Url: http://scarab.tigris.org/source/browse/scarab/trunk/src/webapp/WEB-INF/templates/viewIssue/ViewIssueTab4Dep.vm?view=diff&pathrev=11134&r1=11133&r2=11134
==============================================================================
--- trunk/src/webapp/WEB-INF/templates/viewIssue/ViewIssueTab4Dep.vm	(original)
+++ trunk/src/webapp/WEB-INF/templates/viewIssue/ViewIssueTab4Dep.vm	2012-04-13 07:52:05-0700
@@ -173,12 +173,12 @@
           </td>
          #foreach ($attr in $additionalDisplayAttributes)
             <td width="100%" #addBackground("$blockingStatus" "$status")>
-            #set ($attrvalue=$depend.getAttributeValue($attr.AttributeId))
-            #if($attrvalue.Value)
-               $attrvalue.Value
-            #else
-               $l10n.None
-            #end 
+				#set ($attrvalue=$depend.getAttributeValue($attr.AttributeId))
+				#if($depend.getAttributeValue($attr.AttributeId))## null value does not override other values for variable $attrvalue
+					$attrvalue.Value
+				#else
+					------
+				#end 
             </td>
          #end
         </tr>

Modified: trunk/xdocs/changes.xml
Url: http://scarab.tigris.org/source/browse/scarab/trunk/xdocs/changes.xml?view=diff&pathrev=11134&r1=11133&r2=11134
==============================================================================
--- trunk/xdocs/changes.xml	(original)
+++ trunk/xdocs/changes.xml	2012-04-13 07:52:05-0700
@@ -6,7 +6,25 @@
   </properties>
 
   <body>
-	<release version="22" date="21-FEB-2012">
+	<release version="22" date="13-APRIL-2012">
+		<action dev="mcoss" type="fix">
+		Some localization issues.
+		</action>
+		<action dev="mcoss" type="fix">
+		Show confirmed users only in list of module's assignable personnel.
+		</action>
+		<action dev="mcoss" type="fix">
+		Show information message if there are no issues in currently selected results page.
+		</action>
+		<action dev="mcoss" type="fix">
+		Some minor email layout fixes.
+		</action>
+		<action dev="mcoss" type="fix">
+		Reason of change for issue delete actions.
+		</action>
+		<action dev="mcoss" type="fix">
+		Notifications for moving and copying issues.
+		</action>
 		<action dev="jhoech" type="update">
 		Moved velocity to 1.6.3.
 		</action>

------------------------------------------------------
http://scarab.tigris.org/ds/viewMessage.do?dsForumId=3577&dsMessageId=2948073