Author: hair
Date: 2008-05-09 00:55:39-0700
New Revision: 10572
Added:
branches/SCB1439-take2/src/sql/upgrade/mysql-upgrade-1.0b19-workflow-3.sql
- copied unchanged from r10564, /branches/SCB1439/src/sql/upgrade/mysql-upgrade-1.0b19-workflow-3.sql
Modified:
branches/SCB1439-take2/build/build.xml
branches/SCB1439-take2/src/conf/classes/ScarabBundle_en.properties
branches/SCB1439-take2/src/conf/classes/ScarabBundle_es.properties
branches/SCB1439-take2/src/conf/conf/intake.xml
branches/SCB1439-take2/src/java/org/tigris/scarab/om/AttributeGroup.java
branches/SCB1439-take2/src/java/org/tigris/scarab/om/Issue.java
branches/SCB1439-take2/src/schema/scarab-schema.xml
branches/SCB1439-take2/src/sql/scarab-default-data.sql
branches/SCB1439-take2/src/sql/scarab-sample-data.sql
branches/SCB1439-take2/src/webapp/WEB-INF/templates/macros/GlobalMacros.vm
branches/SCB1439-take2/src/webapp/WEB-INF/templates/screens/admin/AttributeGroupEdit.vm
branches/SCB1439-take2/src/webapp/WEB-INF/templates/viewIssue/ViewIssueTab1.vm
branches/SCB1439-take2/src/webapp/WEB-INF/templates/viewIssue/ViewIssueTab5.vm
Log:
Issue SCB1439: ( AttributeGroup viewing permissions)
Modified: branches/SCB1439-take2/build/build.xml
Url: http://scarab.tigris.org/source/browse/scarab/branches/SCB1439-take2/build/build.xml?view=diff&rev=10572&p1=branches/SCB1439-take2/build/build.xml&p2=branches/SCB1439-take2/build/build.xml&r1=10571&r2=10572
==============================================================================
--- branches/SCB1439-take2/build/build.xml (original)
+++ branches/SCB1439-take2/build/build.xml 2008-05-09 00:55:39-0700
@@ -364,6 +364,20 @@
dir="${runtime.config.dir}">
</ant>
</target>
+
+ <target name="migrate-workflow" description="Make changes to an existing b19 system, keeping the data, to allow migration to cheapworklow">
+ <sql
+ driver="${scarab.database.jdbc.driver}"
+ url="${scarab.database.url}"
+ userid="${scarab.database.admin.username}"
+ password="${scarab.database.admin.password}"
+ onerror="continue">
+ <classpath refid="classpath"/>
+ <transaction src="${src.sql.dir}/upgrade/${scarab.database.type}-upgrade-1.0b19-workflow-1.sql"/>
+ <transaction src="${src.sql.dir}/upgrade/${scarab.database.type}-upgrade-1.0b19-workflow-2.sql"/>
+ <transaction src="${src.sql.dir}/upgrade/${scarab.database.type}-upgrade-1.0b19-workflow-3.sql"/>
+ </sql>
+ </target>
<target name="migrate-from-b19" description="migrate from b19 to b20">
<ant antfile="build.xml"
Modified: branches/SCB1439-take2/src/conf/classes/ScarabBundle_en.properties
Url: http://scarab.tigris.org/source/browse/scarab/branches/SCB1439-take2/src/conf/classes/ScarabBundle_en.properties?view=diff&rev=10572&p1=branches/SCB1439-take2/src/conf/classes/ScarabBundle_en.properties&p2=branches/SCB1439-take2/src/conf/classes/ScarabBundle_en.properties&r1=10571&r2=10572
==============================================================================
--- branches/SCB1439-take2/src/conf/classes/ScarabBundle_en.properties (original)
+++ branches/SCB1439-take2/src/conf/classes/ScarabBundle_en.properties 2008-05-09 00:55:39-0700
@@ -434,6 +434,7 @@
ChangeHistoryNavi=History
DateStamp=Date stamp
InitialEntry=Initial entry
+RestrictedActivityDescription=A restricted attribute was changed.
HideCompleteHistory=Hide complete history
ShowCompleteHistory=Show complete history
NoneAssigned=None assigned
@@ -972,6 +973,7 @@
IssueTypes=Issue types
GroupNotFound=Group not found. To proceed, please click
AttributeGroupInfo=Attribute group information
+RoleNeededForViewing=Role needed for viewing
ClickAddButton=Click the "Add" button to add attributes to this group.
AttributesInGroup=Attributes in this group
PerProjectName=Per project name
Modified: branches/SCB1439-take2/src/conf/classes/ScarabBundle_es.properties
Url: http://scarab.tigris.org/source/browse/scarab/branches/SCB1439-take2/src/conf/classes/ScarabBundle_es.properties?view=diff&rev=10572&p1=branches/SCB1439-take2/src/conf/classes/ScarabBundle_es.properties&p2=branches/SCB1439-take2/src/conf/classes/ScarabBundle_es.properties&r1=10571&r2=10572
==============================================================================
--- branches/SCB1439-take2/src/conf/classes/ScarabBundle_es.properties (original)
+++ branches/SCB1439-take2/src/conf/classes/ScarabBundle_es.properties 2008-05-09 00:55:39-0700
@@ -941,6 +941,7 @@
IssueTypes = Tipos de petición
GroupNotFound = Grupo no encontrado. Para seguir pulsa
AttributeGroupInfo = Información del grupo de atributos
+RoleNeededForViewing=Rol necesario
ClickAddButton = Pulsa "Añadir" para agregar atributos a este grupo.
AttributesInGroup = Atributos en este grupo
PerProjectName = Nombre por proyecto
Modified: branches/SCB1439-take2/src/conf/conf/intake.xml
Url: http://scarab.tigris.org/source/browse/scarab/branches/SCB1439-take2/src/conf/conf/intake.xml?view=diff&rev=10572&p1=branches/SCB1439-take2/src/conf/conf/intake.xml&p2=branches/SCB1439-take2/src/conf/conf/intake.xml&r1=10571&r2=10572
==============================================================================
--- branches/SCB1439-take2/src/conf/conf/intake.xml (original)
+++ branches/SCB1439-take2/src/conf/conf/intake.xml 2008-05-09 00:55:39-0700
@@ -137,6 +137,7 @@
<field name="Description" key="desc" type="String">
<rule name="maxLength" value="255">intake_AttributeGroupDescriptionMustBeLessThan255Characters</rule>
</field>
+ <field name="ViewRoleId" key="roleview" type="int"></field>
<field name="Active" key="act" type="boolean"/>
<field name="Order" key="order" type="int" mapToProperty="Order">
<rule name="minValue" value="1">intake_EnterValueGreaterThan0</rule>
Modified: branches/SCB1439-take2/src/java/org/tigris/scarab/om/AttributeGroup.java
Url: http://scarab.tigris.org/source/browse/scarab/branches/SCB1439-take2/src/java/org/tigris/scarab/om/AttributeGroup.java?view=diff&rev=10572&p1=branches/SCB1439-take2/src/java/org/tigris/scarab/om/AttributeGroup.java&p2=branches/SCB1439-take2/src/java/org/tigris/scarab/om/AttributeGroup.java&r1=10571&r2=10572
==============================================================================
--- branches/SCB1439-take2/src/java/org/tigris/scarab/om/AttributeGroup.java (original)
+++ branches/SCB1439-take2/src/java/org/tigris/scarab/om/AttributeGroup.java 2008-05-09 00:55:39-0700
@@ -52,6 +52,16 @@
import java.util.ArrayList;
import java.util.LinkedList;
import java.util.Iterator;
+
+import org.apache.fulcrum.security.TurbineSecurity;
+import org.apache.fulcrum.security.entity.Group;
+import org.apache.fulcrum.security.entity.Role;
+import org.apache.fulcrum.security.impl.db.entity.TurbineRolePeer;
+import org.apache.fulcrum.security.util.AccessControlList;
+import org.apache.fulcrum.security.util.DataBackendException;
+import org.apache.fulcrum.security.util.GroupSet;
+import org.apache.torque.NoRowsException;
+import org.apache.torque.TooManyRowsException;
import org.apache.torque.TorqueException;
import org.apache.torque.om.SimpleKey;
import org.apache.torque.om.Persistent;
@@ -671,4 +681,68 @@
newGroup.setOrder(getOrder());
return newGroup;
}
+
+ /**
+ * Returns the role needed for "view" this attributegroup.
+ * @return
+ */
+ public Role getRole4View()
+ {
+ Role role = null;
+ if (this.getViewRoleId() != null && this.getViewRoleId().intValue() != -1)
+ {
+ try
+ {
+ role = TurbineRolePeer.retrieveByPK(this.getViewRoleId());
+ }
+ catch (NoRowsException e)
+ {
+ // No error.
+ }
+ catch (Exception e)
+ {
+ // TODO Auto-generated catch block
+ e.printStackTrace();
+ }
+ }
+ return role;
+ }
+
+ /** Can this AttributeGroup be viewed by the user.
+ *
+ * @param user can be null.
+ * @return
+ * @throws TorqueException
+ */
+ public boolean isVisible4User(ScarabUser user) throws TorqueException
+ {
+ Role role = this.getRole4View();
+ boolean bRdo = false;
+ if (role == null)
+ {
+ bRdo = true;
+ }
+ else
+ {
+ if (user != null)
+ {
+ try
+ {
+ AccessControlList acl = TurbineSecurity.getACL(user);
+ GroupSet allGroups = TurbineSecurity.getAllGroups();
+ Group group = allGroups.getGroup(user.getCurrentModule().getName());
+ bRdo = acl.hasRole(role, group);
+ }
+ catch(org.apache.fulcrum.security.util.DataBackendException dbe)
+ {
+ throw new TorqueException("failed to get user's groups", dbe);
+ }
+ catch(org.apache.fulcrum.security.util.UnknownEntityException uee)
+ {
+ throw new TorqueException("failed to get user's groups", uee);
+ }
+ }
+ }
+ return bRdo;
+ }
}
Modified: branches/SCB1439-take2/src/java/org/tigris/scarab/om/Issue.java
Url: http://scarab.tigris.org/source/browse/scarab/branches/SCB1439-take2/src/java/org/tigris/scarab/om/Issue.java?view=diff&rev=10572&p1=branches/SCB1439-take2/src/java/org/tigris/scarab/om/Issue.java&p2=branches/SCB1439-take2/src/java/org/tigris/scarab/om/Issue.java&r1=10571&r2=10572
==============================================================================
--- branches/SCB1439-take2/src/java/org/tigris/scarab/om/Issue.java (original)
+++ branches/SCB1439-take2/src/java/org/tigris/scarab/om/Issue.java 2008-05-09 00:55:39-0700
@@ -1686,17 +1686,17 @@
/**
* Returns list of Activity objects associated with this Issue.
*/
- public List getActivity() throws TorqueException
+ public List getActivity(ScarabUser user) throws TorqueException
{
- return getActivity(false, getHistoryLimit());
+ return getActivity(false, getHistoryLimit(), user);
}
/**
* Returns limited list of Activity objects associated with this Issue.
*/
- public List getActivity(int limit) throws TorqueException
+ public List getActivity(int limit, ScarabUser user) throws TorqueException
{
- return getActivity(false, limit);
+ return getActivity(false, limit, user);
}
/**
@@ -1704,15 +1704,30 @@
* If fullHistory is false, it limits it,
* (this is the default)
*/
+ public List getActivity(boolean fullHistory, ScarabUser user) throws TorqueException
+ {
+ return getActivity(fullHistory, getHistoryLimit(), user);
+ }
+
+ /**
+ * Returns limited list of Activity objects associated with this Issue.
+ * If fullHistory is false, it limits it,
+ * (this is the default)
+ */
public List getActivity(boolean fullHistory) throws TorqueException
{
- return getActivity(fullHistory, getHistoryLimit());
+ return this.getActivity(fullHistory, null);
}
+ private List getActivity(boolean fullHistory, int limit) throws TorqueException
+ {
+ return this.getActivity(fullHistory, limit, null);
+ }
+
/**
* Returns full list of Activity objects associated with this Issue.
*/
- private List getActivity(boolean fullHistory, int limit) throws TorqueException
+ private List getActivity(boolean fullHistory, int limit, ScarabUser user) throws TorqueException
{
List result = null;
Boolean fullHistoryObj = fullHistory ? Boolean.TRUE : Boolean.FALSE;
@@ -1735,7 +1750,23 @@
{
result = (List)obj;
}
- return result;
+
+ /**
+ * Filter all activities related to attributegroups restricted to any role
+ * to which current user does not belong to.
+ *
+ */
+ final List visibleActivities = new ArrayList();
+ for (Iterator it = result.iterator(); it.hasNext(); )
+ {
+ final Activity act = (Activity)it.next();
+ final Attribute attr = act.getAttribute();
+ if (isAttributeVisible(attr, user))
+ {
+ visibleActivities.add(act);
+ }
+ }
+ return visibleActivities;
}
/**
@@ -1761,6 +1792,8 @@
/**
* Returns a list of ActivitySet objects associated to this issue.
+ * It it up to caller to filter out internal activities that
+ * the current user shouldn't be permitted to see.
*/
public List getActivitySets()
throws TorqueException
@@ -1782,6 +1815,29 @@
}
return result;
}
+
+ public boolean isAttributeVisible(final Attribute attr, final ScarabUser user)
+ throws TorqueException
+ {
+ final List/*<AttributeGroup>*/ attrGroups = this.getIssueType().getAttributeGroups();
+
+ boolean foundInAnyGroup = false;
+ boolean visibleInFoundGroup = false;
+
+ for(Iterator itAny = attrGroups.iterator(); !foundInAnyGroup && itAny.hasNext();)
+ {
+ final AttributeGroup ag = (AttributeGroup)itAny.next();
+ if(getModuleId().equals(ag.getModuleId()) && ag.getAttributes().contains(attr))
+ {
+ foundInAnyGroup = true;
+ if(null == ag.getViewRoleId() || ag.isVisible4User(user))
+ {
+ visibleInFoundGroup = true;
+ }
+ }
+ }
+ return !foundInAnyGroup || visibleInFoundGroup;
+ }
/**
* Creates a new ActivitySet object for the issue.
@@ -3761,7 +3817,6 @@
return users;
}
-
public String toString()
{
// Only return the issueId
Modified: branches/SCB1439-take2/src/schema/scarab-schema.xml
Url: http://scarab.tigris.org/source/browse/scarab/branches/SCB1439-take2/src/schema/scarab-schema.xml?view=diff&rev=10572&p1=branches/SCB1439-take2/src/schema/scarab-schema.xml&p2=branches/SCB1439-take2/src/schema/scarab-schema.xml&r1=10571&r2=10572
==============================================================================
--- branches/SCB1439-take2/src/schema/scarab-schema.xml (original)
+++ branches/SCB1439-take2/src/schema/scarab-schema.xml 2008-05-09 00:55:39-0700
@@ -183,6 +183,7 @@
<column name="ACTIVE" required="false" type="BOOLEANINT" default="0" javaType="primitive"/>
<column name="DEDUPE" required="false" type="BOOLEANINT" default="0" javaType="primitive"/>
<column name="PREFERRED_ORDER" javaName="Order" required="false" default="-1" type="INTEGER" javaType="primitive"/>
+ <column name="VIEW_ROLE_ID" type="INTEGER"></column>
<foreign-key foreignTable="SCARAB_MODULE">
<reference local="MODULE_ID" foreign="MODULE_ID"/>
</foreign-key>
Modified: branches/SCB1439-take2/src/sql/scarab-default-data.sql
Url: http://scarab.tigris.org/source/browse/scarab/branches/SCB1439-take2/src/sql/scarab-default-data.sql?view=diff&rev=10572&p1=branches/SCB1439-take2/src/sql/scarab-default-data.sql&p2=branches/SCB1439-take2/src/sql/scarab-default-data.sql&r1=10571&r2=10572
==============================================================================
--- branches/SCB1439-take2/src/sql/scarab-default-data.sql (original)
+++ branches/SCB1439-take2/src/sql/scarab-default-data.sql 2008-05-09 00:55:39-0700
@@ -439,20 +439,20 @@
-- Insert attribute groups for project 0
-- group_id, name, description, module_id, issue_type_id, active, dedupe, preferred order
-INSERT INTO SCARAB_ATTRIBUTE_GROUP VALUES (1, 'AttributeGroupOne', 'dedupeAttributes', 0, 1, 1, 1, 1);
-INSERT INTO SCARAB_ATTRIBUTE_GROUP VALUES (2, 'AttributeGroupTwo', 'nonDedupeAttributes', 0, 1, 1, 0, 3);
+INSERT INTO SCARAB_ATTRIBUTE_GROUP VALUES (1, 'AttributeGroupOne', 'dedupeAttributes', 0, 1, 1, 1, 1,NULL);
+INSERT INTO SCARAB_ATTRIBUTE_GROUP VALUES (2, 'AttributeGroupTwo', 'nonDedupeAttributes', 0, 1, 1, 0, 3,NULL);
-INSERT INTO SCARAB_ATTRIBUTE_GROUP VALUES (3, 'AttributeGroupOne', 'dedupeAttributes', 0, 3, 1, 1, 1);
-INSERT INTO SCARAB_ATTRIBUTE_GROUP VALUES (4, 'AttributeGroupTwo', 'nonDedupeAttributes', 0, 3, 1, 0, 3);
+INSERT INTO SCARAB_ATTRIBUTE_GROUP VALUES (3, 'AttributeGroupOne', 'dedupeAttributes', 0, 3, 1, 1, 1,NULL);
+INSERT INTO SCARAB_ATTRIBUTE_GROUP VALUES (4, 'AttributeGroupTwo', 'nonDedupeAttributes', 0, 3, 1, 0, 3,NULL);
-INSERT INTO SCARAB_ATTRIBUTE_GROUP VALUES (5, 'AttributeGroupOne', 'dedupeAttributes', 0, 5, 1, 1, 1);
-INSERT INTO SCARAB_ATTRIBUTE_GROUP VALUES (6, 'AttributeGroupTwo', 'nonDedupeAttributes', 0, 5, 1, 0, 3);
+INSERT INTO SCARAB_ATTRIBUTE_GROUP VALUES (5, 'AttributeGroupOne', 'dedupeAttributes', 0, 5, 1, 1, 1,NULL);
+INSERT INTO SCARAB_ATTRIBUTE_GROUP VALUES (6, 'AttributeGroupTwo', 'nonDedupeAttributes', 0, 5, 1, 0, 3,NULL);
-INSERT INTO SCARAB_ATTRIBUTE_GROUP VALUES (7, 'AttributeGroupOne', 'dedupeAttributes', 0, 7, 1, 1, 1);
-INSERT INTO SCARAB_ATTRIBUTE_GROUP VALUES (8, 'AttributeGroupTwo', 'nonDedupeAttributes', 0, 7, 1, 0, 3);
+INSERT INTO SCARAB_ATTRIBUTE_GROUP VALUES (7, 'AttributeGroupOne', 'dedupeAttributes', 0, 7, 1, 1, 1,NULL);
+INSERT INTO SCARAB_ATTRIBUTE_GROUP VALUES (8, 'AttributeGroupTwo', 'nonDedupeAttributes', 0, 7, 1, 0, 3,NULL);
-INSERT INTO SCARAB_ATTRIBUTE_GROUP VALUES (9, 'AttributeGroupOne', 'dedupeAttributes', 0, 9, 1, 1, 1);
-INSERT INTO SCARAB_ATTRIBUTE_GROUP VALUES (10, 'AttributeGroupTwo', 'nonDedupeAttributes', 0, 9, 1, 0, 3);
+INSERT INTO SCARAB_ATTRIBUTE_GROUP VALUES (9, 'AttributeGroupOne', 'dedupeAttributes', 0, 9, 1, 1, 1,NULL);
+INSERT INTO SCARAB_ATTRIBUTE_GROUP VALUES (10, 'AttributeGroupTwo', 'nonDedupeAttributes', 0, 9, 1, 0, 3,NULL);
-- Insert mapping between attributes and groups
-- group_id, attribute_id, preferred order
Modified: branches/SCB1439-take2/src/sql/scarab-sample-data.sql
Url: http://scarab.tigris.org/source/browse/scarab/branches/SCB1439-take2/src/sql/scarab-sample-data.sql?view=diff&rev=10572&p1=branches/SCB1439-take2/src/sql/scarab-sample-data.sql&p2=branches/SCB1439-take2/src/sql/scarab-sample-data.sql&r1=10571&r2=10572
==============================================================================
--- branches/SCB1439-take2/src/sql/scarab-sample-data.sql (original)
+++ branches/SCB1439-take2/src/sql/scarab-sample-data.sql 2008-05-09 00:55:39-0700
@@ -70,76 +70,76 @@
-- attribute_group_id, name, description, module_id, issue_type_id,
-- active, dedupe, referred_order
-INSERT INTO SCARAB_ATTRIBUTE_GROUP VALUES (100,'AttributeGroupOne','dedupeAttributes',1,1,1,1,1);
-INSERT INTO SCARAB_ATTRIBUTE_GROUP VALUES (101,'AttributeGroupTwo','nonDedupeAttributes',1,1,1,0,3);
-INSERT INTO SCARAB_ATTRIBUTE_GROUP VALUES (102,'AttributeGroupOne','dedupeAttributes',1,3,1,1,1);
-INSERT INTO SCARAB_ATTRIBUTE_GROUP VALUES (103,'AttributeGroupTwo','nonDedupeAttributes',1,3,1,0,3);
-INSERT INTO SCARAB_ATTRIBUTE_GROUP VALUES (104,'AttributeGroupOne','dedupeAttributes',1,5,1,1,1);
-INSERT INTO SCARAB_ATTRIBUTE_GROUP VALUES (105,'AttributeGroupTwo','nonDedupeAttributes',1,5,1,0,3);
-INSERT INTO SCARAB_ATTRIBUTE_GROUP VALUES (106,'AttributeGroupOne','dedupeAttributes',1,7,1,1,1);
-INSERT INTO SCARAB_ATTRIBUTE_GROUP VALUES (107,'AttributeGroupTwo','nonDedupeAttributes',1,7,1,0,3);
-INSERT INTO SCARAB_ATTRIBUTE_GROUP VALUES (108,'AttributeGroupOne','dedupeAttributes',1,9,1,1,1);
-INSERT INTO SCARAB_ATTRIBUTE_GROUP VALUES (109,'AttributeGroupTwo','nonDedupeAttributes',1,9,1,0,3);
-INSERT INTO SCARAB_ATTRIBUTE_GROUP VALUES (110,'AttributeGroupOne','dedupeAttributes',2,1,1,1,1);
-INSERT INTO SCARAB_ATTRIBUTE_GROUP VALUES (111,'AttributeGroupTwo','nonDedupeAttributes',2,1,1,0,3);
-INSERT INTO SCARAB_ATTRIBUTE_GROUP VALUES (112,'AttributeGroupOne','dedupeAttributes',2,3,1,1,1);
-INSERT INTO SCARAB_ATTRIBUTE_GROUP VALUES (113,'AttributeGroupTwo','nonDedupeAttributes',2,3,1,0,3);
-INSERT INTO SCARAB_ATTRIBUTE_GROUP VALUES (114,'AttributeGroupOne','dedupeAttributes',2,5,1,1,1);
-INSERT INTO SCARAB_ATTRIBUTE_GROUP VALUES (115,'AttributeGroupTwo','nonDedupeAttributes',2,5,1,0,3);
-INSERT INTO SCARAB_ATTRIBUTE_GROUP VALUES (116,'AttributeGroupOne','dedupeAttributes',2,7,1,1,1);
-INSERT INTO SCARAB_ATTRIBUTE_GROUP VALUES (117,'AttributeGroupTwo','nonDedupeAttributes',2,7,1,0,3);
-INSERT INTO SCARAB_ATTRIBUTE_GROUP VALUES (118,'AttributeGroupOne','dedupeAttributes',2,9,1,1,1);
-INSERT INTO SCARAB_ATTRIBUTE_GROUP VALUES (119,'AttributeGroupTwo','nonDedupeAttributes',2,9,1,0,3);
-INSERT INTO SCARAB_ATTRIBUTE_GROUP VALUES (120,'AttributeGroupOne','dedupeAttributes',3,1,1,1,1);
-INSERT INTO SCARAB_ATTRIBUTE_GROUP VALUES (121,'AttributeGroupTwo','nonDedupeAttributes',3,1,1,0,3);
-INSERT INTO SCARAB_ATTRIBUTE_GROUP VALUES (122,'AttributeGroupOne','dedupeAttributes',3,3,1,1,1);
-INSERT INTO SCARAB_ATTRIBUTE_GROUP VALUES (123,'AttributeGroupTwo','nonDedupeAttributes',3,3,1,0,3);
-INSERT INTO SCARAB_ATTRIBUTE_GROUP VALUES (124,'AttributeGroupOne','dedupeAttributes',3,5,1,1,1);
-INSERT INTO SCARAB_ATTRIBUTE_GROUP VALUES (125,'AttributeGroupTwo','nonDedupeAttributes',3,5,1,0,3);
-INSERT INTO SCARAB_ATTRIBUTE_GROUP VALUES (126,'AttributeGroupOne','dedupeAttributes',3,7,1,1,1);
-INSERT INTO SCARAB_ATTRIBUTE_GROUP VALUES (127,'AttributeGroupTwo','nonDedupeAttributes',3,7,1,0,3);
-INSERT INTO SCARAB_ATTRIBUTE_GROUP VALUES (128,'AttributeGroupOne','dedupeAttributes',3,9,1,1,1);
-INSERT INTO SCARAB_ATTRIBUTE_GROUP VALUES (129,'AttributeGroupTwo','nonDedupeAttributes',3,9,1,0,3);
-INSERT INTO SCARAB_ATTRIBUTE_GROUP VALUES (130,'AttributeGroupOne','dedupeAttributes',5,1,1,1,1);
-INSERT INTO SCARAB_ATTRIBUTE_GROUP VALUES (131,'AttributeGroupTwo','nonDedupeAttributes',5,1,1,0,3);
-INSERT INTO SCARAB_ATTRIBUTE_GROUP VALUES (132,'AttributeGroupOne','dedupeAttributes',5,3,1,1,1);
-INSERT INTO SCARAB_ATTRIBUTE_GROUP VALUES (133,'AttributeGroupTwo','nonDedupeAttributes',5,3,1,0,3);
-INSERT INTO SCARAB_ATTRIBUTE_GROUP VALUES (134,'AttributeGroupOne','dedupeAttributes',5,5,1,1,1);
-INSERT INTO SCARAB_ATTRIBUTE_GROUP VALUES (135,'AttributeGroupTwo','nonDedupeAttributes',5,5,1,0,3);
-INSERT INTO SCARAB_ATTRIBUTE_GROUP VALUES (136,'AttributeGroupOne','dedupeAttributes',5,7,1,1,1);
-INSERT INTO SCARAB_ATTRIBUTE_GROUP VALUES (137,'AttributeGroupTwo','nonDedupeAttributes',5,7,1,0,3);
-INSERT INTO SCARAB_ATTRIBUTE_GROUP VALUES (138,'AttributeGroupOne','dedupeAttributes',5,9,1,1,1);
-INSERT INTO SCARAB_ATTRIBUTE_GROUP VALUES (139,'AttributeGroupTwo','nonDedupeAttributes',5,9,1,0,3);
-INSERT INTO SCARAB_ATTRIBUTE_GROUP VALUES (140,'AttributeGroupOne','dedupeAttributes',4,1,1,1,1);
-INSERT INTO SCARAB_ATTRIBUTE_GROUP VALUES (141,'AttributeGroupTwo','nonDedupeAttributes',4,1,1,0,3);
-INSERT INTO SCARAB_ATTRIBUTE_GROUP VALUES (142,'AttributeGroupOne','dedupeAttributes',4,3,1,1,1);
-INSERT INTO SCARAB_ATTRIBUTE_GROUP VALUES (143,'AttributeGroupTwo','nonDedupeAttributes',4,3,1,0,3);
-INSERT INTO SCARAB_ATTRIBUTE_GROUP VALUES (144,'AttributeGroupOne','dedupeAttributes',4,5,1,1,1);
-INSERT INTO SCARAB_ATTRIBUTE_GROUP VALUES (145,'AttributeGroupTwo','nonDedupeAttributes',4,5,1,0,3);
-INSERT INTO SCARAB_ATTRIBUTE_GROUP VALUES (146,'AttributeGroupOne','dedupeAttributes',4,7,1,1,1);
-INSERT INTO SCARAB_ATTRIBUTE_GROUP VALUES (147,'AttributeGroupTwo','nonDedupeAttributes',4,7,1,0,3);
-INSERT INTO SCARAB_ATTRIBUTE_GROUP VALUES (148,'AttributeGroupOne','dedupeAttributes',4,9,1,1,1);
-INSERT INTO SCARAB_ATTRIBUTE_GROUP VALUES (149,'AttributeGroupTwo','nonDedupeAttributes',4,9,1,0,3);
-INSERT INTO SCARAB_ATTRIBUTE_GROUP VALUES (150,'AttributeGroupOne','dedupeAttributes',6,1,1,1,1);
-INSERT INTO SCARAB_ATTRIBUTE_GROUP VALUES (151,'AttributeGroupTwo','nonDedupeAttributes',6,1,1,0,3);
-INSERT INTO SCARAB_ATTRIBUTE_GROUP VALUES (152,'AttributeGroupOne','dedupeAttributes',6,3,1,1,1);
-INSERT INTO SCARAB_ATTRIBUTE_GROUP VALUES (153,'AttributeGroupTwo','nonDedupeAttributes',6,3,1,0,3);
-INSERT INTO SCARAB_ATTRIBUTE_GROUP VALUES (154,'AttributeGroupOne','dedupeAttributes',6,5,1,1,1);
-INSERT INTO SCARAB_ATTRIBUTE_GROUP VALUES (155,'AttributeGroupTwo','nonDedupeAttributes',6,5,1,0,3);
-INSERT INTO SCARAB_ATTRIBUTE_GROUP VALUES (156,'AttributeGroupOne','dedupeAttributes',6,7,1,1,1);
-INSERT INTO SCARAB_ATTRIBUTE_GROUP VALUES (157,'AttributeGroupTwo','nonDedupeAttributes',6,7,1,0,3);
-INSERT INTO SCARAB_ATTRIBUTE_GROUP VALUES (158,'AttributeGroupOne','dedupeAttributes',6,9,1,1,1);
-INSERT INTO SCARAB_ATTRIBUTE_GROUP VALUES (159,'AttributeGroupTwo','nonDedupeAttributes',6,9,1,0,3);
-INSERT INTO SCARAB_ATTRIBUTE_GROUP VALUES (160,'AttributeGroupOne','dedupeAttributes',7,1,1,1,1);
-INSERT INTO SCARAB_ATTRIBUTE_GROUP VALUES (161,'AttributeGroupTwo','nonDedupeAttributes',7,1,1,0,3);
-INSERT INTO SCARAB_ATTRIBUTE_GROUP VALUES (162,'AttributeGroupOne','dedupeAttributes',7,3,1,1,1);
-INSERT INTO SCARAB_ATTRIBUTE_GROUP VALUES (163,'AttributeGroupTwo','nonDedupeAttributes',7,3,1,0,3);
-INSERT INTO SCARAB_ATTRIBUTE_GROUP VALUES (164,'AttributeGroupOne','dedupeAttributes',7,5,1,1,1);
-INSERT INTO SCARAB_ATTRIBUTE_GROUP VALUES (165,'AttributeGroupTwo','nonDedupeAttributes',7,5,1,0,3);
-INSERT INTO SCARAB_ATTRIBUTE_GROUP VALUES (166,'AttributeGroupOne','dedupeAttributes',7,7,1,1,1);
-INSERT INTO SCARAB_ATTRIBUTE_GROUP VALUES (167,'AttributeGroupTwo','nonDedupeAttributes',7,7,1,0,3);
-INSERT INTO SCARAB_ATTRIBUTE_GROUP VALUES (168,'AttributeGroupOne','dedupeAttributes',7,9,1,1,1);
-INSERT INTO SCARAB_ATTRIBUTE_GROUP VALUES (169,'AttributeGroupTwo','nonDedupeAttributes',7,9,1,0,3);
+INSERT INTO SCARAB_ATTRIBUTE_GROUP VALUES (100,'AttributeGroupOne','dedupeAttributes',1,1,1,1,1,NULL);
+INSERT INTO SCARAB_ATTRIBUTE_GROUP VALUES (101,'AttributeGroupTwo','nonDedupeAttributes',1,1,1,0,3,NULL);
+INSERT INTO SCARAB_ATTRIBUTE_GROUP VALUES (102,'AttributeGroupOne','dedupeAttributes',1,3,1,1,1,NULL);
+INSERT INTO SCARAB_ATTRIBUTE_GROUP VALUES (103,'AttributeGroupTwo','nonDedupeAttributes',1,3,1,0,3,NULL);
+INSERT INTO SCARAB_ATTRIBUTE_GROUP VALUES (104,'AttributeGroupOne','dedupeAttributes',1,5,1,1,1,NULL);
+INSERT INTO SCARAB_ATTRIBUTE_GROUP VALUES (105,'AttributeGroupTwo','nonDedupeAttributes',1,5,1,0,3,NULL);
+INSERT INTO SCARAB_ATTRIBUTE_GROUP VALUES (106,'AttributeGroupOne','dedupeAttributes',1,7,1,1,1,NULL);
+INSERT INTO SCARAB_ATTRIBUTE_GROUP VALUES (107,'AttributeGroupTwo','nonDedupeAttributes',1,7,1,0,3,NULL);
+INSERT INTO SCARAB_ATTRIBUTE_GROUP VALUES (108,'AttributeGroupOne','dedupeAttributes',1,9,1,1,1,NULL);
+INSERT INTO SCARAB_ATTRIBUTE_GROUP VALUES (109,'AttributeGroupTwo','nonDedupeAttributes',1,9,1,0,3,NULL);
+INSERT INTO SCARAB_ATTRIBUTE_GROUP VALUES (110,'AttributeGroupOne','dedupeAttributes',2,1,1,1,1,NULL);
+INSERT INTO SCARAB_ATTRIBUTE_GROUP VALUES (111,'AttributeGroupTwo','nonDedupeAttributes',2,1,1,0,3,NULL);
+INSERT INTO SCARAB_ATTRIBUTE_GROUP VALUES (112,'AttributeGroupOne','dedupeAttributes',2,3,1,1,1,NULL);
+INSERT INTO SCARAB_ATTRIBUTE_GROUP VALUES (113,'AttributeGroupTwo','nonDedupeAttributes',2,3,1,0,3,NULL);
+INSERT INTO SCARAB_ATTRIBUTE_GROUP VALUES (114,'AttributeGroupOne','dedupeAttributes',2,5,1,1,1,NULL);
+INSERT INTO SCARAB_ATTRIBUTE_GROUP VALUES (115,'AttributeGroupTwo','nonDedupeAttributes',2,5,1,0,3,NULL);
+INSERT INTO SCARAB_ATTRIBUTE_GROUP VALUES (116,'AttributeGroupOne','dedupeAttributes',2,7,1,1,1,NULL);
+INSERT INTO SCARAB_ATTRIBUTE_GROUP VALUES (117,'AttributeGroupTwo','nonDedupeAttributes',2,7,1,0,3,NULL);
+INSERT INTO SCARAB_ATTRIBUTE_GROUP VALUES (118,'AttributeGroupOne','dedupeAttributes',2,9,1,1,1,NULL);
+INSERT INTO SCARAB_ATTRIBUTE_GROUP VALUES (119,'AttributeGroupTwo','nonDedupeAttributes',2,9,1,0,3,NULL);
+INSERT INTO SCARAB_ATTRIBUTE_GROUP VALUES (120,'AttributeGroupOne','dedupeAttributes',3,1,1,1,1,NULL);
+INSERT INTO SCARAB_ATTRIBUTE_GROUP VALUES (121,'AttributeGroupTwo','nonDedupeAttributes',3,1,1,0,3,NULL);
+INSERT INTO SCARAB_ATTRIBUTE_GROUP VALUES (122,'AttributeGroupOne','dedupeAttributes',3,3,1,1,1,NULL);
+INSERT INTO SCARAB_ATTRIBUTE_GROUP VALUES (123,'AttributeGroupTwo','nonDedupeAttributes',3,3,1,0,3,NULL);
+INSERT INTO SCARAB_ATTRIBUTE_GROUP VALUES (124,'AttributeGroupOne','dedupeAttributes',3,5,1,1,1,NULL);
+INSERT INTO SCARAB_ATTRIBUTE_GROUP VALUES (125,'AttributeGroupTwo','nonDedupeAttributes',3,5,1,0,3,NULL);
+INSERT INTO SCARAB_ATTRIBUTE_GROUP VALUES (126,'AttributeGroupOne','dedupeAttributes',3,7,1,1,1,NULL);
+INSERT INTO SCARAB_ATTRIBUTE_GROUP VALUES (127,'AttributeGroupTwo','nonDedupeAttributes',3,7,1,0,3,NULL);
+INSERT INTO SCARAB_ATTRIBUTE_GROUP VALUES (128,'AttributeGroupOne','dedupeAttributes',3,9,1,1,1,NULL);
+INSERT INTO SCARAB_ATTRIBUTE_GROUP VALUES (129,'AttributeGroupTwo','nonDedupeAttributes',3,9,1,0,3,NULL);
+INSERT INTO SCARAB_ATTRIBUTE_GROUP VALUES (130,'AttributeGroupOne','dedupeAttributes',5,1,1,1,1,NULL);
+INSERT INTO SCARAB_ATTRIBUTE_GROUP VALUES (131,'AttributeGroupTwo','nonDedupeAttributes',5,1,1,0,3,NULL);
+INSERT INTO SCARAB_ATTRIBUTE_GROUP VALUES (132,'AttributeGroupOne','dedupeAttributes',5,3,1,1,1,NULL);
+INSERT INTO SCARAB_ATTRIBUTE_GROUP VALUES (133,'AttributeGroupTwo','nonDedupeAttributes',5,3,1,0,3,NULL);
+INSERT INTO SCARAB_ATTRIBUTE_GROUP VALUES (134,'AttributeGroupOne','dedupeAttributes',5,5,1,1,1,NULL);
+INSERT INTO SCARAB_ATTRIBUTE_GROUP VALUES (135,'AttributeGroupTwo','nonDedupeAttributes',5,5,1,0,3,NULL);
+INSERT INTO SCARAB_ATTRIBUTE_GROUP VALUES (136,'AttributeGroupOne','dedupeAttributes',5,7,1,1,1,NULL);
+INSERT INTO SCARAB_ATTRIBUTE_GROUP VALUES (137,'AttributeGroupTwo','nonDedupeAttributes',5,7,1,0,3,NULL);
+INSERT INTO SCARAB_ATTRIBUTE_GROUP VALUES (138,'AttributeGroupOne','dedupeAttributes',5,9,1,1,1,NULL);
+INSERT INTO SCARAB_ATTRIBUTE_GROUP VALUES (139,'AttributeGroupTwo','nonDedupeAttributes',5,9,1,0,3,NULL);
+INSERT INTO SCARAB_ATTRIBUTE_GROUP VALUES (140,'AttributeGroupOne','dedupeAttributes',4,1,1,1,1,NULL);
+INSERT INTO SCARAB_ATTRIBUTE_GROUP VALUES (141,'AttributeGroupTwo','nonDedupeAttributes',4,1,1,0,3,NULL);
+INSERT INTO SCARAB_ATTRIBUTE_GROUP VALUES (142,'AttributeGroupOne','dedupeAttributes',4,3,1,1,1,NULL);
+INSERT INTO SCARAB_ATTRIBUTE_GROUP VALUES (143,'AttributeGroupTwo','nonDedupeAttributes',4,3,1,0,3,NULL);
+INSERT INTO SCARAB_ATTRIBUTE_GROUP VALUES (144,'AttributeGroupOne','dedupeAttributes',4,5,1,1,1,NULL);
+INSERT INTO SCARAB_ATTRIBUTE_GROUP VALUES (145,'AttributeGroupTwo','nonDedupeAttributes',4,5,1,0,3,NULL);
+INSERT INTO SCARAB_ATTRIBUTE_GROUP VALUES (146,'AttributeGroupOne','dedupeAttributes',4,7,1,1,1,NULL);
+INSERT INTO SCARAB_ATTRIBUTE_GROUP VALUES (147,'AttributeGroupTwo','nonDedupeAttributes',4,7,1,0,3,NULL);
+INSERT INTO SCARAB_ATTRIBUTE_GROUP VALUES (148,'AttributeGroupOne','dedupeAttributes',4,9,1,1,1,NULL);
+INSERT INTO SCARAB_ATTRIBUTE_GROUP VALUES (149,'AttributeGroupTwo','nonDedupeAttributes',4,9,1,0,3,NULL);
+INSERT INTO SCARAB_ATTRIBUTE_GROUP VALUES (150,'AttributeGroupOne','dedupeAttributes',6,1,1,1,1,NULL);
+INSERT INTO SCARAB_ATTRIBUTE_GROUP VALUES (151,'AttributeGroupTwo','nonDedupeAttributes',6,1,1,0,3,NULL);
+INSERT INTO SCARAB_ATTRIBUTE_GROUP VALUES (152,'AttributeGroupOne','dedupeAttributes',6,3,1,1,1,NULL);
+INSERT INTO SCARAB_ATTRIBUTE_GROUP VALUES (153,'AttributeGroupTwo','nonDedupeAttributes',6,3,1,0,3,NULL);
+INSERT INTO SCARAB_ATTRIBUTE_GROUP VALUES (154,'AttributeGroupOne','dedupeAttributes',6,5,1,1,1,NULL);
+INSERT INTO SCARAB_ATTRIBUTE_GROUP VALUES (155,'AttributeGroupTwo','nonDedupeAttributes',6,5,1,0,3,NULL);
+INSERT INTO SCARAB_ATTRIBUTE_GROUP VALUES (156,'AttributeGroupOne','dedupeAttributes',6,7,1,1,1,NULL);
+INSERT INTO SCARAB_ATTRIBUTE_GROUP VALUES (157,'AttributeGroupTwo','nonDedupeAttributes',6,7,1,0,3,NULL);
+INSERT INTO SCARAB_ATTRIBUTE_GROUP VALUES (158,'AttributeGroupOne','dedupeAttributes',6,9,1,1,1,NULL);
+INSERT INTO SCARAB_ATTRIBUTE_GROUP VALUES (159,'AttributeGroupTwo','nonDedupeAttributes',6,9,1,0,3,NULL);
+INSERT INTO SCARAB_ATTRIBUTE_GROUP VALUES (160,'AttributeGroupOne','dedupeAttributes',7,1,1,1,1,NULL);
+INSERT INTO SCARAB_ATTRIBUTE_GROUP VALUES (161,'AttributeGroupTwo','nonDedupeAttributes',7,1,1,0,3,NULL);
+INSERT INTO SCARAB_ATTRIBUTE_GROUP VALUES (162,'AttributeGroupOne','dedupeAttributes',7,3,1,1,1,NULL);
+INSERT INTO SCARAB_ATTRIBUTE_GROUP VALUES (163,'AttributeGroupTwo','nonDedupeAttributes',7,3,1,0,3,NULL);
+INSERT INTO SCARAB_ATTRIBUTE_GROUP VALUES (164,'AttributeGroupOne','dedupeAttributes',7,5,1,1,1,NULL);
+INSERT INTO SCARAB_ATTRIBUTE_GROUP VALUES (165,'AttributeGroupTwo','nonDedupeAttributes',7,5,1,0,3,NULL);
+INSERT INTO SCARAB_ATTRIBUTE_GROUP VALUES (166,'AttributeGroupOne','dedupeAttributes',7,7,1,1,1,NULL);
+INSERT INTO SCARAB_ATTRIBUTE_GROUP VALUES (167,'AttributeGroupTwo','nonDedupeAttributes',7,7,1,0,3,NULL);
+INSERT INTO SCARAB_ATTRIBUTE_GROUP VALUES (168,'AttributeGroupOne','dedupeAttributes',7,9,1,1,1,NULL);
+INSERT INTO SCARAB_ATTRIBUTE_GROUP VALUES (169,'AttributeGroupTwo','nonDedupeAttributes',7,9,1,0,3,NULL);
-- SCARAB_R_ATTRIBUTE_ATTRGROUP
-- group_id, attribute_id, preferred_order
Modified: branches/SCB1439-take2/src/webapp/WEB-INF/templates/macros/GlobalMacros.vm
Url: http://scarab.tigris.org/source/browse/scarab/branches/SCB1439-take2/src/webapp/WEB-INF/templates/macros/GlobalMacros.vm?view=diff&rev=10572&p1=branches/SCB1439-take2/src/webapp/WEB-INF/templates/macros/GlobalMacros.vm&p2=branches/SCB1439-take2/src/webapp/WEB-INF/templates/macros/GlobalMacros.vm&r1=10571&r2=10572
==============================================================================
--- branches/SCB1439-take2/src/webapp/WEB-INF/templates/macros/GlobalMacros.vm (original)
+++ branches/SCB1439-take2/src/webapp/WEB-INF/templates/macros/GlobalMacros.vm 2008-05-09 00:55:39-0700
@@ -1061,7 +1061,7 @@
<div class="axial">
#foreach ($group in $moduleAttributeGroups)
- #if (!$group.Attributes.isEmpty())
+ #if (!$group.Attributes.isEmpty() && $group.isVisible4User($user))
<h4>$group.Name #asterisk()</h4>
<table cellpadding="3" cellspacing="2" border="0" width="100%">
#foreach ($att in $group.Attributes)
Modified: branches/SCB1439-take2/src/webapp/WEB-INF/templates/screens/admin/AttributeGroupEdit.vm
Url: http://scarab.tigris.org/source/browse/scarab/branches/SCB1439-take2/src/webapp/WEB-INF/templates/screens/admin/AttributeGroupEdit.vm?view=diff&rev=10572&p1=branches/SCB1439-take2/src/webapp/WEB-INF/templates/screens/admin/AttributeGroupEdit.vm&p2=branches/SCB1439-take2/src/webapp/WEB-INF/templates/screens/admin/AttributeGroupEdit.vm&r1=10571&r2=10572
==============================================================================
--- branches/SCB1439-take2/src/webapp/WEB-INF/templates/screens/admin/AttributeGroupEdit.vm (original)
+++ branches/SCB1439-take2/src/webapp/WEB-INF/templates/screens/admin/AttributeGroupEdit.vm 2008-05-09 00:55:39-0700
@@ -54,6 +54,15 @@
#textAreaMedium("$agGroup.Description.Key" $agGroup.Description.Value)</td>
#end
</tr>
+ <th>$l10n.RoleNeededForViewing</th>
+ <td>
+ <select name="$agGroup.ViewRoleId.Key">
+ <option selected="selected" value="-1" >$l10n.TransitionsAnyRole</option>
+ #foreach ($role in $securityAdmin.Roles)
+ <option value="$role.RoleId" #if ($role.roleId == $group.viewRoleId) selected #end>$role.Name</option>
+ #end
+ </select>
+ </tr>
</table>
</div>
Modified: branches/SCB1439-take2/src/webapp/WEB-INF/templates/viewIssue/ViewIssueTab1.vm
Url: http://scarab.tigris.org/source/browse/scarab/branches/SCB1439-take2/src/webapp/WEB-INF/templates/viewIssue/ViewIssueTab1.vm?view=diff&rev=10572&p1=branches/SCB1439-take2/src/webapp/WEB-INF/templates/viewIssue/ViewIssueTab1.vm&p2=branches/SCB1439-take2/src/webapp/WEB-INF/templates/viewIssue/ViewIssueTab1.vm&r1=10571&r2=10572
==============================================================================
--- branches/SCB1439-take2/src/webapp/WEB-INF/templates/viewIssue/ViewIssueTab1.vm (original)
+++ branches/SCB1439-take2/src/webapp/WEB-INF/templates/viewIssue/ViewIssueTab1.vm 2008-05-09 00:55:39-0700
@@ -33,7 +33,7 @@
<div class="axial">
#foreach ($group in $issueType.getAttributeGroups($module, true))
#set ($attributes = $group.Attributes)
- #if ($attributes && !$attributes.isEmpty())
+ #if ($attributes && !$attributes.isEmpty() && $group.isVisible4User($user))
<h4>$group.Name #if ($isEditAttributes)#asterisk()#end</h4>
<table cellpadding="3" cellspacing="2" border="0" width="100%">
#foreach ($att in $attributes)
Modified: branches/SCB1439-take2/src/webapp/WEB-INF/templates/viewIssue/ViewIssueTab5.vm
Url: http://scarab.tigris.org/source/browse/scarab/branches/SCB1439-take2/src/webapp/WEB-INF/templates/viewIssue/ViewIssueTab5.vm?view=diff&rev=10572&p1=branches/SCB1439-take2/src/webapp/WEB-INF/templates/viewIssue/ViewIssueTab5.vm&p2=branches/SCB1439-take2/src/webapp/WEB-INF/templates/viewIssue/ViewIssueTab5.vm&r1=10571&r2=10572
==============================================================================
--- branches/SCB1439-take2/src/webapp/WEB-INF/templates/viewIssue/ViewIssueTab5.vm (original)
+++ branches/SCB1439-take2/src/webapp/WEB-INF/templates/viewIssue/ViewIssueTab5.vm 2008-05-09 00:55:39-0700
@@ -1,4 +1,4 @@
-#set ($allActivitySets = $scarabG.reverse($currentIssue.getActivitySets()))
+#set ($allActivitySets = $scarabG.reverse($currentIssue.activitySets))
#if (!$fullHistory.equals("true"))
#set ($allActivitySets = $scarabG.subset($allActivitySets, 0, $currentIssue.HistoryLimit))
#end
@@ -18,14 +18,19 @@
#indexedRows($velocityCount)
<td>
- #set ($user = $scarabR.getUser($activitySet.CreatedBy))
- <a href="mailto:$user.Email">$!user.Name</a>
+ #set ($actSetUser = $scarabR.getUser($activitySet.CreatedBy))
+ <a href="mailto:$actSetUser.Email">$!user.Name</a>
<br>$format.getDate($scarabR.DateFormat, $activitySet.CreatedDate)
</td>
<td>
#foreach ($act in $activities)
- #set($desc = $act.getDescription($l10n))
- #if ($desc.length()>0) $desc<br/> #end
+<!-- $act.getDescription($l10n) -->
+ #if($currentIssue.isAttributeVisible($act.attribute, $user))
+ #set($desc = $act.getDescription($l10n))
+ #if ($desc.length()>0) $desc<br/> #end
+ #else
+ $l10n.RestrictedActivityDescription<br/>
+ #end
#end
#set ($reason = $activitySet.getActivityReason($l10n))
$!scarabG.textToHTML($reason, $link, $scarabR.CurrentModule)
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.