You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@continuum.apache.org by ev...@apache.org on 2005/10/04 21:38:58 UTC
svn commit: r294905 - in /maven/continuum/trunk:
continuum-api/src/main/java/org/apache/maven/continuum/
continuum-api/src/main/java/org/apache/maven/continuum/security/
continuum-api/src/main/java/org/apache/maven/continuum/store/
continuum-core/src/m...
Author: evenisse
Date: Tue Oct 4 12:38:36 2005
New Revision: 294905
URL: http://svn.apache.org/viewcvs?rev=294905&view=rev
Log:
Add userGroup management and user management screens
Added:
maven/continuum/trunk/continuum-web/src/main/resources/forms/userGroups.xml (with props)
maven/continuum/trunk/continuum-web/src/main/resources/templates/screens/AddUserGroup.vm (with props)
maven/continuum/trunk/continuum-web/src/main/resources/templates/screens/EditUserGroup.vm (with props)
maven/continuum/trunk/continuum-web/src/main/resources/templates/screens/UserGroups.vm (with props)
maven/continuum/trunk/continuum-web/src/main/resources/templates/screens/Users.vm (with props)
Modified:
maven/continuum/trunk/continuum-api/src/main/java/org/apache/maven/continuum/Continuum.java
maven/continuum/trunk/continuum-api/src/main/java/org/apache/maven/continuum/security/ContinuumSecurity.java
maven/continuum/trunk/continuum-api/src/main/java/org/apache/maven/continuum/store/ContinuumStore.java
maven/continuum/trunk/continuum-core/src/main/java/org/apache/maven/continuum/DefaultContinuum.java
maven/continuum/trunk/continuum-core/src/main/java/org/apache/maven/continuum/initialization/DefaultContinuumInitializer.java
maven/continuum/trunk/continuum-core/src/main/java/org/apache/maven/continuum/security/DefaultContinuumSecurity.java
maven/continuum/trunk/continuum-model/pom.xml
maven/continuum/trunk/continuum-model/src/main/mdo/continuum.mdo
maven/continuum/trunk/continuum-store/src/main/java/org/apache/maven/continuum/store/JdoContinuumStore.java
maven/continuum/trunk/continuum-web/src/main/resources/META-INF/plexus/components.xml
maven/continuum/trunk/continuum-web/src/main/resources/localization/Continuum.properties
maven/continuum/trunk/continuum-web/src/main/resources/templates/navigations/Menu.vm
maven/continuum/trunk/continuum-web/src/main/resources/templates/screens/Add.vm
Modified: maven/continuum/trunk/continuum-api/src/main/java/org/apache/maven/continuum/Continuum.java
URL: http://svn.apache.org/viewcvs/maven/continuum/trunk/continuum-api/src/main/java/org/apache/maven/continuum/Continuum.java?rev=294905&r1=294904&r2=294905&view=diff
==============================================================================
--- maven/continuum/trunk/continuum-api/src/main/java/org/apache/maven/continuum/Continuum.java (original)
+++ maven/continuum/trunk/continuum-api/src/main/java/org/apache/maven/continuum/Continuum.java Tue Oct 4 12:38:36 2005
@@ -22,6 +22,8 @@
import org.apache.maven.continuum.model.project.Project;
import org.apache.maven.continuum.model.project.ProjectNotifier;
import org.apache.maven.continuum.model.project.Schedule;
+import org.apache.maven.continuum.model.system.ContinuumUser;
+import org.apache.maven.continuum.model.system.UserGroup;
import org.apache.maven.continuum.security.ContinuumSecurity;
import org.apache.maven.continuum.project.builder.ContinuumProjectBuildingResult;
import org.codehaus.plexus.util.dag.CycleDetectedException;
@@ -213,4 +215,38 @@
// ----------------------------------------------------------------------
ContinuumSecurity getSecurity();
+
+ // ----------------------------------------------------------------------
+ // User
+ // ----------------------------------------------------------------------
+
+ List getUsers()
+ throws ContinuumException;
+
+ ContinuumUser getUser( int userId )
+ throws ContinuumException;
+
+ void removeUser( int userId )
+ throws ContinuumException;
+
+ // ----------------------------------------------------------------------
+ // User Group
+ // ----------------------------------------------------------------------
+
+ void addUserGroup( UserGroup userGroup );
+
+ void addUserGroup( Map configuration )
+ throws ContinuumException;
+
+ void updateUserGroup( int userGroupId, Map configuration )
+ throws ContinuumException;
+
+ List getUserGroups()
+ throws ContinuumException;
+
+ UserGroup getUserGroup( int userGroupId )
+ throws ContinuumException;
+
+ void removeUserGroup( int userGroupId )
+ throws ContinuumException;
}
Modified: maven/continuum/trunk/continuum-api/src/main/java/org/apache/maven/continuum/security/ContinuumSecurity.java
URL: http://svn.apache.org/viewcvs/maven/continuum/trunk/continuum-api/src/main/java/org/apache/maven/continuum/security/ContinuumSecurity.java?rev=294905&r1=294904&r2=294905&view=diff
==============================================================================
--- maven/continuum/trunk/continuum-api/src/main/java/org/apache/maven/continuum/security/ContinuumSecurity.java (original)
+++ maven/continuum/trunk/continuum-api/src/main/java/org/apache/maven/continuum/security/ContinuumSecurity.java Tue Oct 4 12:38:36 2005
@@ -42,6 +42,9 @@
boolean isAuthorized( ContinuumUser user, String action )
throws ContinuumSecurityException;
+ boolean isAuthorized( UserGroup group, String action )
+ throws ContinuumSecurityException;
+
ContinuumUser getGuestUser()
throws ContinuumSecurityException;
}
Modified: maven/continuum/trunk/continuum-api/src/main/java/org/apache/maven/continuum/store/ContinuumStore.java
URL: http://svn.apache.org/viewcvs/maven/continuum/trunk/continuum-api/src/main/java/org/apache/maven/continuum/store/ContinuumStore.java?rev=294905&r1=294904&r2=294905&view=diff
==============================================================================
--- maven/continuum/trunk/continuum-api/src/main/java/org/apache/maven/continuum/store/ContinuumStore.java (original)
+++ maven/continuum/trunk/continuum-api/src/main/java/org/apache/maven/continuum/store/ContinuumStore.java Tue Oct 4 12:38:36 2005
@@ -160,12 +160,23 @@
ContinuumUser addUser( ContinuumUser user );
+ void updateUser( ContinuumUser user )
+ throws ContinuumStoreException;
+
+ ContinuumUser getUser( int userId )
+ throws ContinuumObjectNotFoundException, ContinuumStoreException;
+
ContinuumUser getGuestUser()
throws ContinuumStoreException;
+ List getUsers()
+ throws ContinuumStoreException;
+
ContinuumUser getUserByUsername( String username )
throws ContinuumStoreException;
+ void removeUser( ContinuumUser user );
+
List getPermissions()
throws ContinuumStoreException;
@@ -179,5 +190,13 @@
void updateUserGroup( UserGroup group )
throws ContinuumStoreException;
+ List getUserGroups()
+ throws ContinuumStoreException;
+
+ UserGroup getUserGroup( int userGroupId )
+ throws ContinuumObjectNotFoundException, ContinuumStoreException;
+
UserGroup getUserGroup( String name );
+
+ void removeUserGroup( UserGroup group );
}
Modified: maven/continuum/trunk/continuum-core/src/main/java/org/apache/maven/continuum/DefaultContinuum.java
URL: http://svn.apache.org/viewcvs/maven/continuum/trunk/continuum-core/src/main/java/org/apache/maven/continuum/DefaultContinuum.java?rev=294905&r1=294904&r2=294905&view=diff
==============================================================================
--- maven/continuum/trunk/continuum-core/src/main/java/org/apache/maven/continuum/DefaultContinuum.java (original)
+++ maven/continuum/trunk/continuum-core/src/main/java/org/apache/maven/continuum/DefaultContinuum.java Tue Oct 4 12:38:36 2005
@@ -35,6 +35,8 @@
import org.apache.maven.continuum.model.project.ProjectGroup;
import org.apache.maven.continuum.model.project.ProjectNotifier;
import org.apache.maven.continuum.model.project.Schedule;
+import org.apache.maven.continuum.model.system.ContinuumUser;
+import org.apache.maven.continuum.model.system.UserGroup;
import org.apache.maven.continuum.project.ContinuumProjectState;
import org.apache.maven.continuum.project.builder.ContinuumProjectBuildingResult;
import org.apache.maven.continuum.project.builder.maven.MavenOneContinuumProjectBuilder;
@@ -846,20 +848,14 @@
public Schedule getSchedule( int scheduleId )
throws ContinuumException
{
- //TODO: Add a store.getScheduleById() method
- List schedules = store.getAllSchedulesByName();
-
- for ( Iterator i = schedules.iterator(); i.hasNext(); )
+ try
{
- Schedule schedule = (Schedule) i.next();
-
- if ( schedule.getId() == scheduleId )
- {
- return schedule;
- }
+ return store.getSchedule( scheduleId );
+ }
+ catch ( Exception ex )
+ {
+ throw logAndCreateException( "Error while getting schedule.", ex );
}
-
- return null;
}
public Collection getSchedules()
@@ -1071,6 +1067,303 @@
public ContinuumSecurity getSecurity()
{
return security;
+ }
+
+ // ----------------------------------------------------------------------
+ // User
+ // ----------------------------------------------------------------------
+
+ public List getUsers()
+ throws ContinuumException
+ {
+ try
+ {
+ return store.getUsers();
+ }
+ catch ( ContinuumStoreException ex )
+ {
+ throw logAndCreateException( "Error while getting users.", ex );
+ }
+ }
+
+ public void addUser( ContinuumUser user )
+ {
+ store.addUser( user );
+ }
+
+ public void updateUser( ContinuumUser user )
+ throws ContinuumException
+ {
+ try
+ {
+ store.updateUser( user );
+ }
+ catch ( ContinuumStoreException ex )
+ {
+ throw logAndCreateException( "Error while storing user.", ex );
+ }
+ }
+
+ public ContinuumUser getUser( int userId )
+ throws ContinuumException
+ {
+ try
+ {
+ return store.getUser( userId);
+ }
+ catch ( Exception ex )
+ {
+ throw logAndCreateException( "Error while getting user.", ex );
+ }
+ }
+
+ public void removeUser( int userId )
+ throws ContinuumException
+ {
+ ContinuumUser user = getUser( userId );
+
+ store.removeUser( user );
+ }
+
+ // ----------------------------------------------------------------------
+ // User Group
+ // ----------------------------------------------------------------------
+
+ public List getUserGroups()
+ throws ContinuumException
+ {
+ try
+ {
+ return store.getUserGroups();
+ }
+ catch ( ContinuumStoreException ex )
+ {
+ throw logAndCreateException( "Error while getting user groups.", ex );
+ }
+ }
+
+ public void addUserGroup( UserGroup userGroup )
+ {
+ store.addUserGroup( userGroup );
+ }
+
+ public void addUserGroup( Map configuration )
+ throws ContinuumException
+ {
+ try
+ {
+ UserGroup userGroup = new UserGroup();
+
+ userGroup.setName( (String) configuration.get( "group.name" ) );
+
+ userGroup.setDescription( (String) configuration.get( "group.description" ) );
+
+ List perms = new ArrayList();
+
+ if ( convert( (String) configuration.get( "group.permission.addProject" ) ) )
+ {
+ perms.add( store.getPermission( "addProject" ) );
+ }
+
+ if ( convert( (String) configuration.get( "group.permission.editProject" ) ) )
+ {
+ perms.add( store.getPermission( "editProject" ) );
+ }
+
+ if ( convert( (String) configuration.get( "group.permission.deleteProject" ) ) )
+ {
+ perms.add( store.getPermission( "deleteProject" ) );
+ }
+
+ if ( convert( (String) configuration.get( "group.permission.buildProject" ) ) )
+ {
+ perms.add( store.getPermission( "buildProject" ) );
+ }
+
+ if ( convert( (String) configuration.get( "group.permission.showProject" ) ) )
+ {
+ perms.add( store.getPermission( "showProject" ) );
+ }
+
+ if ( convert( (String) configuration.get( "group.permission.addBuildDefinition" ) ) )
+ {
+ perms.add( store.getPermission( "addBuildDefinition" ) );
+ }
+
+ if ( convert( (String) configuration.get( "group.permission.editBuildDefinition" ) ) )
+ {
+ perms.add( store.getPermission( "editBuildDefinition" ) );
+ }
+
+ if ( convert( (String) configuration.get( "group.permission.deleteBuildDefinition" ) ) )
+ {
+ perms.add( store.getPermission( "deleteBuildDefinition" ) );
+ }
+
+ if ( convert( (String) configuration.get( "group.permission.addNotifier" ) ) )
+ {
+ perms.add( store.getPermission( "addNotifier" ) );
+ }
+
+ if ( convert( (String) configuration.get( "group.permission.editNotifier" ) ) )
+ {
+ perms.add( store.getPermission( "editNotifier" ) );
+ }
+
+ if ( convert( (String) configuration.get( "group.permission.deleteNotifier" ) ) )
+ {
+ perms.add( store.getPermission( "deleteNotifier" ) );
+ }
+
+ if ( convert( (String) configuration.get( "group.permission.manageConfiguration" ) ) )
+ {
+ perms.add( store.getPermission( "manageConfiguration" ) );
+ }
+
+ if ( convert( (String) configuration.get( "group.permission.manageSchedule" ) ) )
+ {
+ perms.add( store.getPermission( "manageSchedule" ) );
+ }
+
+ if ( convert( (String) configuration.get( "group.permission.manageUsers" ) ) )
+ {
+ perms.add( store.getPermission( "manageUsers" ) );
+ }
+
+ userGroup.setPermissions( perms );
+
+ store.addUserGroup( userGroup );
+ }
+ catch ( ContinuumStoreException e )
+ {
+ throw logAndCreateException( "Error while storing user group.", e );
+ }
+ }
+
+ public void updateUserGroup( int userGroupId, Map configuration )
+ throws ContinuumException
+ {
+ try
+ {
+ UserGroup userGroup = getUserGroup( userGroupId );
+
+ userGroup.setName( (String) configuration.get( "group.name" ) );
+
+ userGroup.setDescription( (String) configuration.get( "group.description" ) );
+
+ List perms = new ArrayList();
+
+ if ( convert( (String) configuration.get( "group.permission.addProject" ) ) )
+ {
+ perms.add( store.getPermission( "addProject" ) );
+ }
+
+ if ( convert( (String) configuration.get( "group.permission.editProject" ) ) )
+ {
+ perms.add( store.getPermission( "editProject" ) );
+ }
+
+ if ( convert( (String) configuration.get( "group.permission.deleteProject" ) ) )
+ {
+ perms.add( store.getPermission( "deleteProject" ) );
+ }
+
+ if ( convert( (String) configuration.get( "group.permission.buildProject" ) ) )
+ {
+ perms.add( store.getPermission( "buildProject" ) );
+ }
+
+ if ( convert( (String) configuration.get( "group.permission.showProject" ) ) )
+ {
+ perms.add( store.getPermission( "showProject" ) );
+ }
+
+ if ( convert( (String) configuration.get( "group.permission.addBuildDefinition" ) ) )
+ {
+ perms.add( store.getPermission( "addBuildDefinition" ) );
+ }
+
+ if ( convert( (String) configuration.get( "group.permission.editBuildDefinition" ) ) )
+ {
+ perms.add( store.getPermission( "editBuildDefinition" ) );
+ }
+
+ if ( convert( (String) configuration.get( "group.permission.deleteBuildDefinition" ) ) )
+ {
+ perms.add( store.getPermission( "deleteBuildDefinition" ) );
+ }
+
+ if ( convert( (String) configuration.get( "group.permission.addNotifier" ) ) )
+ {
+ perms.add( store.getPermission( "addNotifier" ) );
+ }
+
+ if ( convert( (String) configuration.get( "group.permission.editNotifier" ) ) )
+ {
+ perms.add( store.getPermission( "editNotifier" ) );
+ }
+
+ if ( convert( (String) configuration.get( "group.permission.deleteNotifier" ) ) )
+ {
+ perms.add( store.getPermission( "deleteNotifier" ) );
+ }
+
+ if ( convert( (String) configuration.get( "group.permission.manageConfiguration" ) ) )
+ {
+ perms.add( store.getPermission( "manageConfiguration" ) );
+ }
+
+ if ( convert( (String) configuration.get( "group.permission.manageSchedule" ) ) )
+ {
+ perms.add( store.getPermission( "manageSchedule" ) );
+ }
+
+ if ( convert( (String) configuration.get( "group.permission.manageUsers" ) ) )
+ {
+ perms.add( store.getPermission( "manageUsers" ) );
+ }
+
+ userGroup.setPermissions( perms );
+
+ store.updateUserGroup( userGroup );
+ }
+ catch ( ContinuumStoreException ex )
+ {
+ throw logAndCreateException( "Error while storing user group.", ex );
+ }
+ }
+
+ public UserGroup getUserGroup( int userGroupId )
+ throws ContinuumException
+ {
+ try
+ {
+ return store.getUserGroup( userGroupId);
+ }
+ catch ( Exception ex )
+ {
+ throw logAndCreateException( "Error while getting user group.", ex );
+ }
+ }
+
+ public void removeUserGroup( int userGroupId )
+ throws ContinuumException
+ {
+ UserGroup group = getUserGroup( userGroupId );
+
+ store.removeUserGroup( group );
+ }
+
+ private boolean convert( String value )
+ {
+ if ( "true".equalsIgnoreCase( value ) || "on".equalsIgnoreCase( value ) || "yes".equalsIgnoreCase( value ) )
+ {
+ return true;
+ }
+ else
+ {
+ return false;
+ }
}
// ----------------------------------------------------------------------
Modified: maven/continuum/trunk/continuum-core/src/main/java/org/apache/maven/continuum/initialization/DefaultContinuumInitializer.java
URL: http://svn.apache.org/viewcvs/maven/continuum/trunk/continuum-core/src/main/java/org/apache/maven/continuum/initialization/DefaultContinuumInitializer.java?rev=294905&r1=294904&r2=294905&view=diff
==============================================================================
--- maven/continuum/trunk/continuum-core/src/main/java/org/apache/maven/continuum/initialization/DefaultContinuumInitializer.java (original)
+++ maven/continuum/trunk/continuum-core/src/main/java/org/apache/maven/continuum/initialization/DefaultContinuumInitializer.java Tue Oct 4 12:38:36 2005
@@ -197,66 +197,76 @@
throws ContinuumStoreException
{
// Continuum Administrator
- List adminPermissions = store.getPermissions();
+ if ( store.getUserGroup( ContinuumSecurity.ADMIN_GROUP_NAME ) == null )
+ {
+ List adminPermissions = store.getPermissions();
- UserGroup adminGroup = new UserGroup();
+ UserGroup adminGroup = new UserGroup();
- adminGroup.setName( ContinuumSecurity.ADMIN_GROUP_NAME );
+ adminGroup.setName( ContinuumSecurity.ADMIN_GROUP_NAME );
- adminGroup.setDescription( "Continuum Admin Group" );
+ adminGroup.setDescription( "Continuum Admin Group" );
- adminGroup.setPermissions( adminPermissions );
+ adminGroup.setPermissions( adminPermissions );
- adminGroup = store.addUserGroup( adminGroup );
+ adminGroup = store.addUserGroup( adminGroup );
+ }
// Continuum Guest
- UserGroup guestGroup = new UserGroup();
+ if ( store.getUserGroup( ContinuumSecurity.GUEST_GROUP_NAME ) == null )
+ {
+ UserGroup guestGroup = new UserGroup();
- guestGroup.setName( ContinuumSecurity.GUEST_GROUP_NAME );
+ guestGroup.setName( ContinuumSecurity.GUEST_GROUP_NAME );
- guestGroup.setDescription( "Continuum Guest Group" );
+ guestGroup.setDescription( "Continuum Guest Group" );
- List guestPermissions = new ArrayList();
+ List guestPermissions = new ArrayList();
- guestPermissions.add( store.getPermission( "addProject" ) );
+ guestPermissions.add( store.getPermission( "addProject" ) );
- guestPermissions.add( store.getPermission( "editProject" ) );
+ guestPermissions.add( store.getPermission( "editProject" ) );
- guestPermissions.add( store.getPermission( "deleteProject" ) );
+ guestPermissions.add( store.getPermission( "deleteProject" ) );
- guestPermissions.add( store.getPermission( "buildProject" ) );
+ guestPermissions.add( store.getPermission( "buildProject" ) );
- guestPermissions.add( store.getPermission( "showProject" ) );
+ guestPermissions.add( store.getPermission( "showProject" ) );
- guestPermissions.add( store.getPermission( "addBuildDefinition" ) );
+ guestPermissions.add( store.getPermission( "addBuildDefinition" ) );
- guestPermissions.add( store.getPermission( "editBuildDefinition" ) );
+ guestPermissions.add( store.getPermission( "editBuildDefinition" ) );
- guestPermissions.add( store.getPermission( "deleteBuildDefinition" ) );
+ guestPermissions.add( store.getPermission( "deleteBuildDefinition" ) );
- guestPermissions.add( store.getPermission( "addNotifier" ) );
+ guestPermissions.add( store.getPermission( "addNotifier" ) );
- guestPermissions.add( store.getPermission( "editNotifier" ) );
+ guestPermissions.add( store.getPermission( "editNotifier" ) );
- guestPermissions.add( store.getPermission( "deleteNotifier" ) );
+ guestPermissions.add( store.getPermission( "deleteNotifier" ) );
- guestGroup.setPermissions( guestPermissions );
+ guestGroup.setPermissions( guestPermissions );
- guestGroup = store.addUserGroup( guestGroup );
+ guestGroup = store.addUserGroup( guestGroup );
+ }
}
private void createGuestUser()
+ throws ContinuumStoreException
{
- ContinuumUser guest = new ContinuumUser();
+ if ( store.getGuestUser() == null )
+ {
+ ContinuumUser guest = new ContinuumUser();
- guest.setUsername( "guest" );
+ guest.setUsername( "guest" );
- guest.setFullName( "Anonymous User" );
+ guest.setFullName( "Anonymous User" );
- guest.setGroup( store.getUserGroup( ContinuumSecurity.GUEST_GROUP_NAME ) );
+ guest.setGroup( store.getUserGroup( ContinuumSecurity.GUEST_GROUP_NAME ) );
- guest.setGuest( true );
+ guest.setGuest( true );
- guest = store.addUser( guest );
+ guest = store.addUser( guest );
+ }
}
}
Modified: maven/continuum/trunk/continuum-core/src/main/java/org/apache/maven/continuum/security/DefaultContinuumSecurity.java
URL: http://svn.apache.org/viewcvs/maven/continuum/trunk/continuum-core/src/main/java/org/apache/maven/continuum/security/DefaultContinuumSecurity.java?rev=294905&r1=294904&r2=294905&view=diff
==============================================================================
--- maven/continuum/trunk/continuum-core/src/main/java/org/apache/maven/continuum/security/DefaultContinuumSecurity.java (original)
+++ maven/continuum/trunk/continuum-core/src/main/java/org/apache/maven/continuum/security/DefaultContinuumSecurity.java Tue Oct 4 12:38:36 2005
@@ -75,6 +75,26 @@
return false;
}
+ public boolean isAuthorized( UserGroup group, String action )
+ throws ContinuumSecurityException
+ {
+ List perms = getPermissions( group );
+
+ if ( perms != null )
+ {
+ for ( Iterator i = perms.iterator(); i.hasNext(); )
+ {
+ Permission perm = (Permission) i.next();
+ if ( perm.getName().equals( action ) )
+ {
+ return true;
+ }
+ }
+ }
+
+ return false;
+ }
+
public ContinuumUser getGuestUser()
throws ContinuumSecurityException
{
Modified: maven/continuum/trunk/continuum-model/pom.xml
URL: http://svn.apache.org/viewcvs/maven/continuum/trunk/continuum-model/pom.xml?rev=294905&r1=294904&r2=294905&view=diff
==============================================================================
--- maven/continuum/trunk/continuum-model/pom.xml (original)
+++ maven/continuum/trunk/continuum-model/pom.xml Tue Oct 4 12:38:36 2005
@@ -13,7 +13,7 @@
<plugin>
<groupId>org.codehaus.modello</groupId>
<artifactId>modello-maven-plugin</artifactId>
- <version>1.0-alpha-4</version>
+ <version>1.0-alpha-5-SNAPSHOT</version>
<executions>
<execution>
<goals>
Modified: maven/continuum/trunk/continuum-model/src/main/mdo/continuum.mdo
URL: http://svn.apache.org/viewcvs/maven/continuum/trunk/continuum-model/src/main/mdo/continuum.mdo?rev=294905&r1=294904&r2=294905&view=diff
==============================================================================
--- maven/continuum/trunk/continuum-model/src/main/mdo/continuum.mdo (original)
+++ maven/continuum/trunk/continuum-model/src/main/mdo/continuum.mdo Tue Oct 4 12:38:36 2005
@@ -727,7 +727,7 @@
<field>
<name>permissions</name>
<version>1.0.0+</version>
- <association stash.part="true">
+ <association stash.part="true" jpox.dependent="false">
<type>Permission</type>
<multiplicity>*</multiplicity>
</association>
@@ -774,14 +774,14 @@
<field>
<name>group</name>
<version>1.0.0+</version>
- <association stash.part="true">
+ <association stash.part="true" jpox.dependent="false">
<type>UserGroup</type>
</association>
</field>
<field>
<name>notificationAddresses</name>
<version>1.0.0+</version>
- <association>
+ <association stash.part="true" >
<type>NotificationAddress</type>
<multiplicity>*</multiplicity>
</association>
Modified: maven/continuum/trunk/continuum-store/src/main/java/org/apache/maven/continuum/store/JdoContinuumStore.java
URL: http://svn.apache.org/viewcvs/maven/continuum/trunk/continuum-store/src/main/java/org/apache/maven/continuum/store/JdoContinuumStore.java?rev=294905&r1=294904&r2=294905&view=diff
==============================================================================
--- maven/continuum/trunk/continuum-store/src/main/java/org/apache/maven/continuum/store/JdoContinuumStore.java (original)
+++ maven/continuum/trunk/continuum-store/src/main/java/org/apache/maven/continuum/store/JdoContinuumStore.java Tue Oct 4 12:38:36 2005
@@ -879,6 +879,12 @@
return (ContinuumUser) addObject( user );
}
+ public void updateUser( ContinuumUser user )
+ throws ContinuumStoreException
+ {
+ updateObject( user );
+ }
+
public ContinuumUser getGuestUser()
throws ContinuumStoreException
{
@@ -917,6 +923,18 @@
}
}
+ public List getUsers()
+ throws ContinuumStoreException
+ {
+ return getAllObjectsDetached( ContinuumUser.class );
+ }
+
+ public ContinuumUser getUser( int userId )
+ throws ContinuumObjectNotFoundException, ContinuumStoreException
+ {
+ return (ContinuumUser) getObjectById( ContinuumUser.class, userId );
+ }
+
public ContinuumUser getUserByUsername( String username )
throws ContinuumStoreException
{
@@ -959,6 +977,11 @@
}
}
+ public void removeUser( ContinuumUser user )
+ {
+ removeObject( user );
+ }
+
public List getPermissions()
throws ContinuumStoreException
{
@@ -1023,6 +1046,18 @@
updateObject( group );
}
+ public List getUserGroups()
+ throws ContinuumStoreException
+ {
+ return getAllObjectsDetached( UserGroup.class );
+ }
+
+ public UserGroup getUserGroup( int userGroupId )
+ throws ContinuumObjectNotFoundException, ContinuumStoreException
+ {
+ return (UserGroup) getObjectById( UserGroup.class, userGroupId );
+ }
+
public UserGroup getUserGroup( String name )
{
PersistenceManager pm = pmf.getPersistenceManager();
@@ -1062,5 +1097,10 @@
{
rollback( tx );
}
+ }
+
+ public void removeUserGroup( UserGroup group )
+ {
+ removeObject( group );
}
}
Modified: maven/continuum/trunk/continuum-web/src/main/resources/META-INF/plexus/components.xml
URL: http://svn.apache.org/viewcvs/maven/continuum/trunk/continuum-web/src/main/resources/META-INF/plexus/components.xml?rev=294905&r1=294904&r2=294905&view=diff
==============================================================================
--- maven/continuum/trunk/continuum-web/src/main/resources/META-INF/plexus/components.xml (original)
+++ maven/continuum/trunk/continuum-web/src/main/resources/META-INF/plexus/components.xml Tue Oct 4 12:38:36 2005
@@ -314,6 +314,20 @@
</scalar>
</scalars>
</view>
+ <!--
+ |
+ | Project Builds Definitions
+ |
+ -->
+ <view>
+ <id>UserGroup</id>
+ <scalars>
+ <scalar>
+ <id>userGroup</id>
+ <expression>getuserGroup(#id)</expression>
+ </scalar>
+ </scalars>
+ </view>
</views>
</configuration>
</component>
@@ -486,6 +500,23 @@
<call>
<cid>updateBuildDefinition</cid>
<expression>updateBuildDefinition(#id,#buildDefinitionId,#parameters)</expression>
+ </call>
+ <!--
+ |
+ | User Group
+ |
+ -->
+ <call>
+ <cid>addUserGroup</cid>
+ <expression>addUserGroup(#parameters)</expression>
+ </call>
+ <call>
+ <cid>deleteUserGroup</cid>
+ <expression>removeUserGroup(#id)</expression>
+ </call>
+ <call>
+ <cid>updateUserGroup</cid>
+ <expression>updateUserGroup(#id,#parameters)</expression>
</call>
</calls>
</configuration>
Added: maven/continuum/trunk/continuum-web/src/main/resources/forms/userGroups.xml
URL: http://svn.apache.org/viewcvs/maven/continuum/trunk/continuum-web/src/main/resources/forms/userGroups.xml?rev=294905&view=auto
==============================================================================
--- maven/continuum/trunk/continuum-web/src/main/resources/forms/userGroups.xml (added)
+++ maven/continuum/trunk/continuum-web/src/main/resources/forms/userGroups.xml Tue Oct 4 12:38:36 2005
@@ -0,0 +1,64 @@
+<form>
+ <id>userGroups</id>
+ <key-expression>id</key-expression>
+ <summary-collection-expression>getUserGroups()</summary-collection-expression>
+ <source-role>org.apache.maven.continuum.Continuum</source-role>
+ <target-class>org.apache.maven.continuum.model.system.UserGroup</target-class>
+ <lookup-expression>getUserGroup(#id)</lookup-expression>
+ <elements>
+ <element>
+ <id>group.name</id>
+ <validators>
+ <validator>
+ <id>required</id>
+ <error-message-key>group.name.error</error-message-key>
+ </validator>
+ </validators>
+ <type>text</type>
+ <label-key>group.name.label</label-key>
+ <message-key>group.name.message</message-key>
+ <expression>name</expression>
+ </element>
+ <element>
+ <id>group.description</id>
+ <validators>
+ <validator>
+ <id>required</id>
+ <error-message-key>group.description.error</error-message-key>
+ </validator>
+ </validators>
+ <type>text</type>
+ <label-key>group.description.label</label-key>
+ <message-key>group.description.message</message-key>
+ <expression>description</expression>
+ </element>
+ </elements>
+
+ <!-- Add -->
+ <add>
+ <title-key>group.addTitle</title-key>
+ <action>addEntity</action>
+ <view>UserGroups.vm</view>
+ <view-on-failure>Add.vm</view-on-failure>
+ <fid-on-failure>userGroups</fid-on-failure>
+ <expression>addUserGroup(#entity)</expression>
+ </add>
+
+ <!-- Update -->
+ <update>
+ <title-key>group.updateTitle</title-key>
+ <action>updateEntity</action>
+ <view>UserGroups.vm</view>
+ <view-on-failure>Edit.vm</view-on-failure>
+ <fid-on-failure>userGroups</fid-on-failure>
+ <expression>updateUserGroups(#entity)</expression>
+ </update>
+
+ <!-- Delete -->
+ <delete>
+ <title-key>group.deleteTitle</title-key>
+ <view>UserGroups.vm</view>
+ <action>deleteEntity</action>
+ <expression>removeUserGroup(#id)</expression>
+ </delete>
+</form>
Propchange: maven/continuum/trunk/continuum-web/src/main/resources/forms/userGroups.xml
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: maven/continuum/trunk/continuum-web/src/main/resources/forms/userGroups.xml
------------------------------------------------------------------------------
svn:keywords = "Author Date Id Revision"
Modified: maven/continuum/trunk/continuum-web/src/main/resources/localization/Continuum.properties
URL: http://svn.apache.org/viewcvs/maven/continuum/trunk/continuum-web/src/main/resources/localization/Continuum.properties?rev=294905&r1=294904&r2=294905&view=diff
==============================================================================
--- maven/continuum/trunk/continuum-web/src/main/resources/localization/Continuum.properties (original)
+++ maven/continuum/trunk/continuum-web/src/main/resources/localization/Continuum.properties Tue Oct 4 12:38:36 2005
@@ -241,3 +241,50 @@
schedule.active.label = Enabled
schedule.active.message = Enabled/Disabled the schedule
+// ----------------------------------------------------------------------
+// User Groups
+// ----------------------------------------------------------------------
+
+group.addTitle = Add User Group
+
+group.updateTitle = Edit User Group
+
+group.deleteTitle = Delete User Group
+group.deleteConfirmationMessage = Are you sure you want to delete this user group?
+
+group.name.label = Name
+group.name.message = Enter the name of the user group
+group.name.error = You must enter a name for the user group
+
+group.description.label = Description
+group.description.message = Enter a description of the user group
+group.description.error = You must enter a description for the user group
+
+group.permission.addProject.label = Add Projects
+
+group.permission.editProject.label = Edit Projects
+
+group.permission.deleteProject.label = Delete Projects
+
+group.permission.buildProject.label = Build Projects
+
+group.permission.showProject.label = Show Projects
+
+group.permission.addBuildDefinition.label = Add Build Definitions
+
+group.permission.editBuildDefinition.label = Edit Build Definitions
+
+group.permission.deleteBuildDefinition.label = Delete Build Definitions
+
+group.permission.addNotifier.label = Add Notifiers
+
+group.permission.editNotifier.label = Edit Notifiers
+
+group.permission.deleteNotifier.label = Delete Notifiers
+
+group.permission.manageConfiguration.label = Manage Continuum Configuration
+
+group.permission.manageSchedule.label = Manage Schedules
+
+group.permission.manageUsers.label = Manage Users/Group
+
Modified: maven/continuum/trunk/continuum-web/src/main/resources/templates/navigations/Menu.vm
URL: http://svn.apache.org/viewcvs/maven/continuum/trunk/continuum-web/src/main/resources/templates/navigations/Menu.vm?rev=294905&r1=294904&r2=294905&view=diff
==============================================================================
--- maven/continuum/trunk/continuum-web/src/main/resources/templates/navigations/Menu.vm (original)
+++ maven/continuum/trunk/continuum-web/src/main/resources/templates/navigations/Menu.vm Tue Oct 4 12:38:36 2005
@@ -43,6 +43,8 @@
<div class="label">Administration</div>
<div class="body">
<div><a href="$link.setPage('Schedules.vm').addPathInfo( 'fid', 'schedules')">Schedules</a></div>
+ <div><a href="$link.setPage('UserGroups.vm')">User Groups Management</a></div>
+ <div><a href="$link.setPage('Users.vm')">Users Management</a></div>
</div>
</div>
#end
Modified: maven/continuum/trunk/continuum-web/src/main/resources/templates/screens/Add.vm
URL: http://svn.apache.org/viewcvs/maven/continuum/trunk/continuum-web/src/main/resources/templates/screens/Add.vm?rev=294905&r1=294904&r2=294905&view=diff
==============================================================================
--- maven/continuum/trunk/continuum-web/src/main/resources/templates/screens/Add.vm (original)
+++ maven/continuum/trunk/continuum-web/src/main/resources/templates/screens/Add.vm Tue Oct 4 12:38:36 2005
@@ -1,4 +1,4 @@
-$page.setTitle( "Add Project" )
+$page.setTitle( $i18n.getString( $form.add.titleKey ) )
<div class="app">
<div id="axial" class="h3">
Added: maven/continuum/trunk/continuum-web/src/main/resources/templates/screens/AddUserGroup.vm
URL: http://svn.apache.org/viewcvs/maven/continuum/trunk/continuum-web/src/main/resources/templates/screens/AddUserGroup.vm?rev=294905&view=auto
==============================================================================
--- maven/continuum/trunk/continuum-web/src/main/resources/templates/screens/AddUserGroup.vm (added)
+++ maven/continuum/trunk/continuum-web/src/main/resources/templates/screens/AddUserGroup.vm Tue Oct 4 12:38:36 2005
@@ -0,0 +1,156 @@
+$page.setTitle( $i18n.getString( $form.add.titleKey ) )
+
+<div class="app">
+ <div id="axial" class="h3">
+ <h3>$i18n.getString( $form.add.titleKey )</h3>
+ <form method="post" action="$link" #if( $form.attributes.multipart )enctype="multipart/form-data"#end>
+ #hidden ( "action" "cam" )
+ #hidden ( "cid" "addUserGroup" )
+ #hidden ( "view" "$form.add.view" )
+ #hidden ( "id" $id )
+ <div class="axial">
+ <table border="1" cellspacing="2" cellpadding="3" width="100%">
+ #foreach ( $element in $form.elements )
+ #if ( !$element.immutable )
+ <tr>
+ #field( $i18n $data $element $item $formtool )
+ </tr>
+ #else
+ #if ( $element.defaultValue )
+ #hidden ( $element.id $element.defaultValue )
+ #end
+ #end
+ #end
+ <tr>
+ <th>Add Projects</th>
+ <td >
+ <input type="checkbox" name="group.permission.addProject" />
+ <p>
+ group.permission.addProject.message <font color="red"><b></b></font>
+ </p>
+ </td>
+ </tr>
+ <tr>
+ <th>Edit Projects</th>
+ <td >
+ <input type="checkbox" name="group.permission.editProject" />
+ <p>
+ group.permission.editProject.message <font color="red"><b></b></font>
+ </p>
+ </td>
+ </tr>
+ <tr>
+ <th>Delete Projects</th>
+ <td >
+ <input type="checkbox" name="group.permission.deleteProject" />
+ <p>
+ group.permission.deleteProject.message <font color="red"><b></b></font>
+ </p>
+ </td>
+ </tr>
+ <tr>
+ <th>Build Projects</th>
+ <td >
+ <input type="checkbox" name="group.permission.buildProject" />
+ <p>
+ group.permission.buildProject.message <font color="red"><b></b></font>
+ </p>
+ </td>
+ </tr>
+ <tr>
+ <th>Show Projects</th>
+ <td >
+ <input type="checkbox" name="group.permission.showProject" />
+ <p>
+ group.permission.showProject.message <font color="red"><b></b></font>
+ </p>
+ </td>
+ </tr>
+ <tr>
+ <th>Add Build Definitions</th>
+ <td >
+ <input type="checkbox" name="group.permission.addBuildDefinition" />
+ <p>
+ group.permission.addBuildDefinition.message <font color="red"><b></b></font>
+ </p>
+ </td>
+ </tr>
+ <tr>
+ <th>Edit Build Definitions</th>
+ <td >
+ <input type="checkbox" name="group.permission.editBuildDefinition" />
+ <p>
+ group.permission.editBuildDefinition.message <font color="red"><b></b></font>
+ </p>
+ </td>
+ </tr>
+ <tr>
+ <th>Delete Build Definitions</th>
+ <td >
+ <input type="checkbox" name="group.permission.deleteBuildDefinition" />
+ <p>
+ group.permission.deleteBuildDefinition.message <font color="red"><b></b></font>
+ </p>
+ </td>
+ </tr>
+ <tr>
+ <th>Add Notifiers</th>
+ <td >
+ <input type="checkbox" name="group.permission.addNotifier" />
+ <p>
+ group.permission.addNotifier.message <font color="red"><b></b></font>
+ </p>
+ </td>
+ </tr>
+ <tr>
+ <th>Edit Notifiers</th>
+ <td >
+ <input type="checkbox" name="group.permission.editNotifier" />
+ <p>
+ group.permission.editNotifier.message <font color="red"><b></b></font>
+ </p>
+ </td>
+ </tr>
+ <tr>
+ <th>Delete Notifiers</th>
+ <td >
+ <input type="checkbox" name="group.permission.deleteNotifier" />
+ <p>
+ group.permission.deleteNotifier.message <font color="red"><b></b></font>
+ </p>
+ </td>
+ </tr>
+ <tr>
+ <th>Manage Continuum Configuration</th>
+ <td >
+ <input type="checkbox" name="group.permission.manageConfiguration" />
+ <p>
+ group.permission.manageConfiguration.message <font color="red"><b></b></font>
+ </p>
+ </td>
+ </tr>
+ <tr>
+ <th>Manage Schedules</th>
+ <td >
+ <input type="checkbox" name="group.permission.manageSchedule" />
+ <p>
+ group.permission.manageSchedule.message <font color="red"><b></b></font>
+ </p>
+ </td>
+ </tr>
+ <tr>
+ <th>Manage Users/Group</th>
+ <td >
+ <input type="checkbox" name="group.permission.manageUsers" />
+ <p>
+ group.permission.manageUsers.message <font color="red"><b></b></font>
+ </p>
+ </td>
+ </tr>
+ </table>
+
+ #submitBar( "Submit" )
+ </div>
+ </form>
+ </div>
+</div>
Propchange: maven/continuum/trunk/continuum-web/src/main/resources/templates/screens/AddUserGroup.vm
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: maven/continuum/trunk/continuum-web/src/main/resources/templates/screens/AddUserGroup.vm
------------------------------------------------------------------------------
svn:keywords = "Author Date Id Revision"
Added: maven/continuum/trunk/continuum-web/src/main/resources/templates/screens/EditUserGroup.vm
URL: http://svn.apache.org/viewcvs/maven/continuum/trunk/continuum-web/src/main/resources/templates/screens/EditUserGroup.vm?rev=294905&view=auto
==============================================================================
--- maven/continuum/trunk/continuum-web/src/main/resources/templates/screens/EditUserGroup.vm (added)
+++ maven/continuum/trunk/continuum-web/src/main/resources/templates/screens/EditUserGroup.vm Tue Oct 4 12:38:36 2005
@@ -0,0 +1,155 @@
+$page.setTitle( $i18n.getString( $form.add.titleKey ) )
+
+<div class="app">
+ <div id="axial" class="h3">
+ <h3>$i18n.getString( $form.add.titleKey )</h3>
+ <form method="post" action="$link" #if( $form.attributes.multipart )enctype="multipart/form-data"#end>
+ #hidden ( "action" "cam" )
+ #hidden ( "cid" "updateUserGroup" )
+ #hidden ( "view" "$form.add.view" )
+ #hidden ( "id" $id )
+ <div class="axial">
+ <table border="1" cellspacing="2" cellpadding="3" width="100%">
+ #foreach ( $element in $form.elements )
+ #if ( !$element.immutable )
+ <tr>
+ #field( $i18n $data $element $item $formtool )
+ </tr>
+ #else
+ #if ( $element.defaultValue )
+ #hidden ( $element.id $element.defaultValue )
+ #end
+ #end
+ #end
+ <tr>
+ <th>Add Projects</th>
+ <td >
+ <input type="checkbox" name="group.permission.addProject" />
+ <p>
+ group.permission.addProject.message <font color="red"><b></b></font>
+ </p>
+ </td>
+ </tr>
+ <tr>
+ <th>Edit Projects</th>
+ <td >
+ <input type="checkbox" name="group.permission.editProject" />
+ <p>
+ group.permission.editProject.message <font color="red"><b></b></font>
+ </p>
+ </td>
+ </tr>
+ <tr>
+ <th>Delete Projects</th>
+ <td >
+ <input type="checkbox" name="group.permission.deleteProject" />
+ <p>
+ group.permission.deleteProject.message <font color="red"><b></b></font>
+ </p>
+ </td>
+ </tr>
+ <tr>
+ <th>Build Projects</th>
+ <td >
+ <input type="checkbox" name="group.permission.buildProject" />
+ <p>
+ group.permission.buildProject.message <font color="red"><b></b></font>
+ </p>
+ </td>
+ </tr>
+ <tr>
+ <th>Show Projects</th>
+ <td >
+ <input type="checkbox" name="group.permission.showProject" />
+ <p>
+ group.permission.showProject.message <font color="red"><b></b></font>
+ </p>
+ </td>
+ </tr>
+ <tr>
+ <th>Add Build Definitions</th>
+ <td >
+ <input type="checkbox" name="group.permission.addBuildDefinition" />
+ <p>
+ group.permission.addBuildDefinition.message <font color="red"><b></b></font>
+ </p>
+ </td>
+ </tr>
+ <tr>
+ <th>Edit Build Definitions</th>
+ <td >
+ <input type="checkbox" name="group.permission.editBuildDefinition" />
+ <p>
+ group.permission.editBuildDefinition.message <font color="red"><b></b></font>
+ </p>
+ </td>
+ </tr>
+ <tr>
+ <th>Delete Build Definitions</th>
+ <td >
+ <input type="checkbox" name="group.permission.deleteBuildDefinition" />
+ <p>
+ group.permission.deleteBuildDefinition.message <font color="red"><b></b></font>
+ </p>
+ </td>
+ </tr>
+ <tr>
+ <th>Add Notifiers</th>
+ <td >
+ <input type="checkbox" name="group.permission.addNotifier" />
+ <p>
+ group.permission.addNotifier.message <font color="red"><b></b></font>
+ </p>
+ </td>
+ </tr>
+ <tr>
+ <th>Edit Notifiers</th>
+ <td >
+ <input type="checkbox" name="group.permission.editNotifier" />
+ <p>
+ group.permission.editNotifier.message <font color="red"><b></b></font>
+ </p>
+ </td>
+ </tr>
+ <tr>
+ <th>Delete Notifiers</th>
+ <td >
+ <input type="checkbox" name="group.permission.deleteNotifier" />
+ <p>
+ group.permission.deleteNotifier.message <font color="red"><b></b></font>
+ </p>
+ </td>
+ </tr>
+ <tr>
+ <th>Manage Continuum Configuration</th>
+ <td >
+ <input type="checkbox" name="group.permission.manageConfiguration" />
+ <p>
+ group.permission.manageConfiguration.message <font color="red"><b></b></font>
+ </p>
+ </td>
+ </tr>
+ <tr>
+ <th>Manage Schedules</th>
+ <td >
+ <input type="checkbox" name="group.permission.manageSchedule" />
+ <p>
+ group.permission.manageSchedule.message <font color="red"><b></b></font>
+ </p>
+ </td>
+ </tr>
+ <tr>
+ <th>Manage Users/Group</th>
+ <td >
+ <input type="checkbox" name="group.permission.manageUsers" />
+ <p>
+ group.permission.manageUsers.message <font color="red"><b></b></font>
+ </p>
+ </td>
+ </tr>
+ </table>
+ #submitBar( "Submit" )
+ </div>
+ </form>
+ </div>
+</div>
Propchange: maven/continuum/trunk/continuum-web/src/main/resources/templates/screens/EditUserGroup.vm
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: maven/continuum/trunk/continuum-web/src/main/resources/templates/screens/EditUserGroup.vm
------------------------------------------------------------------------------
svn:keywords = "Author Date Id Revision"
Added: maven/continuum/trunk/continuum-web/src/main/resources/templates/screens/UserGroups.vm
URL: http://svn.apache.org/viewcvs/maven/continuum/trunk/continuum-web/src/main/resources/templates/screens/UserGroups.vm?rev=294905&view=auto
==============================================================================
--- maven/continuum/trunk/continuum-web/src/main/resources/templates/screens/UserGroups.vm (added)
+++ maven/continuum/trunk/continuum-web/src/main/resources/templates/screens/UserGroups.vm Tue Oct 4 12:38:36 2005
@@ -0,0 +1,148 @@
+$page.setTitle( "Continuum - Group Management" )
+
+#set ( $items = $continuum.userGroups )
+
+<div class="app">
+ <div id="h3">
+ <h3>Group Management</h3>
+ <table border="1" cellspacing="2" cellpadding="3" width="100%">
+ <tr>
+ <th width="10%">Name</th>
+ <th>Add Projects</th>
+ <th>Edit Projects</th>
+ <th>Delete Projects</th>
+ <th>Build Projects</th>
+ <th>Show Projects</th>
+ <th>Add Build Definitions</th>
+ <th>Edit Build Definitions</th>
+ <th>Delete Build Definitions</th>
+ <th>Add Notifiers</th>
+ <th>Edit Notifiers</th>
+ <th>Delete Notifiers</th>
+ <th>Manage Continuum Configuration</th>
+ <th>Manage Schedules</th>
+ <th>Manage Users/Groups</th>
+ <th width="10%"> </th>
+ </tr>
+ #foreach ( $group in $items )
+ <tr class="b">
+ <td>$group.name</td>
+ <td>
+ #if ( $continuum.security.isAuthorized( $group, "addProject" ) )
+ <img src="/continuum/images/icon_success_sml.gif" alt="Authorized"/>
+ #else
+ <img src="/continuum/images/icon_error_sml.gif" alt="Unauthorized"/>
+ #end
+ </td>
+ <td>
+ #if ( $continuum.security.isAuthorized( $group, "editProject" ) )
+ <img src="/continuum/images/icon_success_sml.gif" alt="Authorized"/>
+ #else
+ <img src="/continuum/images/icon_error_sml.gif" alt="Unauthorized"/>
+ #end
+ </td>
+ <td>
+ #if ( $continuum.security.isAuthorized( $group, "deleteProject" ) )
+ <img src="/continuum/images/icon_success_sml.gif" alt="Authorized"/>
+ #else
+ <img src="/continuum/images/icon_error_sml.gif" alt="Unauthorized"/>
+ #end
+ </td>
+ <td>
+ #if ( $continuum.security.isAuthorized( $group, "buildProject" ) )
+ <img src="/continuum/images/icon_success_sml.gif" alt="Authorized"/>
+ #else
+ <img src="/continuum/images/icon_error_sml.gif" alt="Unauthorized"/>
+ #end
+ </td>
+ <td>
+ #if ( $continuum.security.isAuthorized( $group, "showProject" ) )
+ <img src="/continuum/images/icon_success_sml.gif" alt="Authorized"/>
+ #else
+ <img src="/continuum/images/icon_error_sml.gif" alt="Unauthorized"/>
+ #end
+ </td>
+ <td>
+ #if ( $continuum.security.isAuthorized( $group, "addBuildDefinition" ) )
+ <img src="/continuum/images/icon_success_sml.gif" alt="Authorized"/>
+ #else
+ <img src="/continuum/images/icon_error_sml.gif" alt="Unauthorized"/>
+ #end
+ </td>
+ <td>
+ #if ( $continuum.security.isAuthorized( $group, "editBuildDefinition" ) )
+ <img src="/continuum/images/icon_success_sml.gif" alt="Authorized"/>
+ #else
+ <img src="/continuum/images/icon_error_sml.gif" alt="Unauthorized"/>
+ #end
+ </td>
+ <td>
+ #if ( $continuum.security.isAuthorized( $group, "deleteBuildDefinition" ) )
+ <img src="/continuum/images/icon_success_sml.gif" alt="Authorized"/>
+ #else
+ <img src="/continuum/images/icon_error_sml.gif" alt="Unauthorized"/>
+ #end
+ </td>
+ <td>
+ #if ( $continuum.security.isAuthorized( $group, "addNotifier" ) )
+ <img src="/continuum/images/icon_success_sml.gif" alt="Authorized"/>
+ #else
+ <img src="/continuum/images/icon_error_sml.gif" alt="Unauthorized"/>
+ #end
+ </td>
+ <td>
+ #if ( $continuum.security.isAuthorized( $group, "editNotifier" ) )
+ <img src="/continuum/images/icon_success_sml.gif" alt="Authorized"/>
+ #else
+ <img src="/continuum/images/icon_error_sml.gif" alt="Unauthorized"/>
+ #end
+ </td>
+ <td>
+ #if ( $continuum.security.isAuthorized( $group, "deleteNotifier" ) )
+ <img src="/continuum/images/icon_success_sml.gif" alt="Authorized"/>
+ #else
+ <img src="/continuum/images/icon_error_sml.gif" alt="Unauthorized"/>
+ #end
+ </td>
+ <td>
+ #if ( $continuum.security.isAuthorized( $group, "manageConfiguration" ) )
+ <img src="/continuum/images/icon_success_sml.gif" alt="Authorized"/>
+ #else
+ <img src="/continuum/images/icon_error_sml.gif" alt="Unauthorized"/>
+ #end
+ </td>
+ <td>
+ #if ( $continuum.security.isAuthorized( $group, "manageSchedule" ) )
+ <img src="/continuum/images/icon_success_sml.gif" alt="Authorized"/>
+ #else
+ <img src="/continuum/images/icon_error_sml.gif" alt="Unauthorized"/>
+ #end
+ </td>
+ <td>
+ #if ( $continuum.security.isAuthorized( $group, "manageUsers" ) )
+ <img src="/continuum/images/icon_success_sml.gif" alt="Authorized"/>
+ #else
+ <img src="/continuum/images/icon_error_sml.gif" alt="Unauthorized"/>
+ #end
+ </td>
+ <td>
+ <a href="$link.setPage('EditUserGroup.vm').addPathInfo( 'fid', 'userGroups').addPathInfo('id', $group.id)">Edit</a>
+ | <a href="$link.setPage('Delete.vm').addPathInfo('fid', "userGroups").addPathInfo('id', $group.id)">Delete</a></td>
+ </td>
+ </tr>
+ #end
+ </table>
+ <div class="functnbar3">
+ <table>
+ <tr>
+ <td>
+ <form method="post" action="$link.setPage('AddUserGroup.vm').addPathInfo('view','UserGroup').addPathInfo( 'fid', 'userGroups')">
+ <input type="submit" name="add-user-group" value="Add"/>
+ </form>
+ </td>
+ </tr>
+ </table>
+ </div>
+ </div>
+</div>
+
Propchange: maven/continuum/trunk/continuum-web/src/main/resources/templates/screens/UserGroups.vm
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: maven/continuum/trunk/continuum-web/src/main/resources/templates/screens/UserGroups.vm
------------------------------------------------------------------------------
svn:keywords = "Author Date Id Revision"
Added: maven/continuum/trunk/continuum-web/src/main/resources/templates/screens/Users.vm
URL: http://svn.apache.org/viewcvs/maven/continuum/trunk/continuum-web/src/main/resources/templates/screens/Users.vm?rev=294905&view=auto
==============================================================================
--- maven/continuum/trunk/continuum-web/src/main/resources/templates/screens/Users.vm (added)
+++ maven/continuum/trunk/continuum-web/src/main/resources/templates/screens/Users.vm Tue Oct 4 12:38:36 2005
@@ -0,0 +1,41 @@
+$page.setTitle( "Continuum - User Management" )
+
+#set ( $items = $continuum.users )
+
+<div class="app">
+ <div id="h3">
+ <h3>User Management</h3>
+ <table border="1" cellspacing="2" cellpadding="3" width="100%">
+ <tr>
+ <th width="10%">Username</th>
+ <th width="10%">Full Name</th>
+ <th width="10%">Email</th>
+ <th width="10%">Group</th>
+ <th width="10%"> </th>
+ </tr>
+ #foreach ( $user in $items )
+ <tr class="b">
+ <td>$user.username</td>
+ <td>$user.fullName</td>
+ <td>#if ( $user.email ) $user.email #end</td>
+ <td>$user.group.name</td>
+ <td></td>
+ </tr>
+ #end
+ </table>
+ <!--
+ <div class="functnbar3">
+ <table>
+ <tr>
+ <td>
+ <form method="post" action="$link.setPage('Add.vm').addPathInfo( 'fid', 'schedules')">
+ <input type="submit" name="add-build-def" value="Add"/>
+ </form>
+ </td>
+ </tr>
+ </table>
+ </div>
+ -->
+ </div>
+</div>
+
Propchange: maven/continuum/trunk/continuum-web/src/main/resources/templates/screens/Users.vm
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: maven/continuum/trunk/continuum-web/src/main/resources/templates/screens/Users.vm
------------------------------------------------------------------------------
svn:keywords = "Author Date Id Revision"