You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@roller.apache.org by sn...@apache.org on 2007/10/04 17:01:55 UTC
svn commit: r581941 - in /roller/branches/roller_4.1_dev/apps/weblogger:
src/java/org/apache/roller/weblogger/business/jpa/
src/java/org/apache/roller/weblogger/config/
test/java/org/apache/roller/weblogger/business/
Author: snoopdave
Date: Thu Oct 4 08:01:54 2007
New Revision: 581941
URL: http://svn.apache.org/viewvc?rev=581941&view=rev
Log:
Make first-user-is-admin configurable as not all user management implementations work that way
Modified:
roller/branches/roller_4.1_dev/apps/weblogger/src/java/org/apache/roller/weblogger/business/jpa/JPAUserManagerImpl.java
roller/branches/roller_4.1_dev/apps/weblogger/src/java/org/apache/roller/weblogger/config/roller.properties
roller/branches/roller_4.1_dev/apps/weblogger/test/java/org/apache/roller/weblogger/business/UserTest.java
Modified: roller/branches/roller_4.1_dev/apps/weblogger/src/java/org/apache/roller/weblogger/business/jpa/JPAUserManagerImpl.java
URL: http://svn.apache.org/viewvc/roller/branches/roller_4.1_dev/apps/weblogger/src/java/org/apache/roller/weblogger/business/jpa/JPAUserManagerImpl.java?rev=581941&r1=581940&r2=581941&view=diff
==============================================================================
--- roller/branches/roller_4.1_dev/apps/weblogger/src/java/org/apache/roller/weblogger/business/jpa/JPAUserManagerImpl.java (original)
+++ roller/branches/roller_4.1_dev/apps/weblogger/src/java/org/apache/roller/weblogger/business/jpa/JPAUserManagerImpl.java Thu Oct 4 08:01:54 2007
@@ -38,6 +38,7 @@
import java.util.Comparator;
import javax.persistence.Query;
import org.apache.roller.weblogger.business.Weblogger;
+import org.apache.roller.weblogger.config.WebloggerConfig;
@com.google.inject.Singleton
@@ -102,7 +103,8 @@
// TODO BACKEND: we must do this in a better fashion, like getUserCnt()?
boolean adminUser = false;
List existingUsers = this.getUsers(Boolean.TRUE, null, null, 0, 1);
- if (existingUsers.size() == 0) {
+ boolean firstUserAdmin = WebloggerConfig.getBooleanProperty("users.firstUserAdmin");
+ if (existingUsers.size() == 0 && firstUserAdmin) {
// Make first user an admin
adminUser = true;
Modified: roller/branches/roller_4.1_dev/apps/weblogger/src/java/org/apache/roller/weblogger/config/roller.properties
URL: http://svn.apache.org/viewvc/roller/branches/roller_4.1_dev/apps/weblogger/src/java/org/apache/roller/weblogger/config/roller.properties?rev=581941&r1=581940&r2=581941&view=diff
==============================================================================
--- roller/branches/roller_4.1_dev/apps/weblogger/src/java/org/apache/roller/weblogger/config/roller.properties (original)
+++ roller/branches/roller_4.1_dev/apps/weblogger/src/java/org/apache/roller/weblogger/config/roller.properties Thu Oct 4 08:01:54 2007
@@ -352,6 +352,9 @@
role.action.editor=login,comment,createWeblog
role.action.admin=login,comment,createWeblog,admin
+# True to give the first user that is registered admin privileges
+users.firstUserAdmin=true
+
# Enable scheme enforcement?
# Scheme enforcement ensures that specific URLs are viewed only via HTTPS
schemeenforcement.enabled=false
Modified: roller/branches/roller_4.1_dev/apps/weblogger/test/java/org/apache/roller/weblogger/business/UserTest.java
URL: http://svn.apache.org/viewvc/roller/branches/roller_4.1_dev/apps/weblogger/test/java/org/apache/roller/weblogger/business/UserTest.java?rev=581941&r1=581940&r2=581941&view=diff
==============================================================================
--- roller/branches/roller_4.1_dev/apps/weblogger/test/java/org/apache/roller/weblogger/business/UserTest.java (original)
+++ roller/branches/roller_4.1_dev/apps/weblogger/test/java/org/apache/roller/weblogger/business/UserTest.java Thu Oct 4 08:01:54 2007
@@ -29,6 +29,7 @@
import org.apache.roller.weblogger.TestUtils;
import org.apache.roller.weblogger.business.WebloggerFactory;
import org.apache.roller.weblogger.business.UserManager;
+import org.apache.roller.weblogger.config.WebloggerConfig;
import org.apache.roller.weblogger.pojos.User;
@@ -183,15 +184,21 @@
User testUser = TestUtils.setupUser("roleTestUser");
TestUtils.endSession(true);
- // verify user has 2 roles, admin & editor
user = mgr.getUserByUserName(testUser.getUserName());
assertNotNull(user);
- assertEquals(2, mgr.getRoles(user).size());
- assertTrue(mgr.hasRole("editor", user));
- assertTrue(mgr.hasRole("admin", user));
+
+ if (WebloggerConfig.getBooleanProperty("users.firstUserAdmin")) {
+ assertEquals(2, mgr.getRoles(user).size());
+ assertTrue(mgr.hasRole("editor", user));
+ assertTrue(mgr.hasRole("admin", user));
+ } else {
+ assertEquals(1, mgr.getRoles(user).size());
+ assertTrue(mgr.hasRole("editor", user));
+ assertFalse(mgr.hasRole("admin", user));
+ }
// remove role
- mgr.revokeRole("admin",user);
+ mgr.revokeRole("editor",user);
mgr.saveUser(user);
TestUtils.endSession(true);
@@ -199,12 +206,17 @@
user = null;
user = mgr.getUserByUserName(testUser.getUserName());
assertNotNull(user);
- assertEquals(1, mgr.getRoles(user).size());
- assertTrue(mgr.hasRole("editor", user));
- assertFalse(mgr.hasRole("admin", user));
-
+ if (WebloggerConfig.getBooleanProperty("users.firstUserAdmin")) {
+ assertEquals(1, mgr.getRoles(user).size());
+ assertFalse(mgr.hasRole("editor", user));
+ assertTrue(mgr.hasRole("admin", user));
+ } else {
+ assertEquals(0, mgr.getRoles(user).size());
+ assertFalse(mgr.hasRole("editor", user));
+ assertFalse(mgr.hasRole("admin", user));
+ }
// add role
- mgr.grantRole("admin", user);
+ mgr.grantRole("editor", user);
mgr.saveUser(user);
TestUtils.endSession(true);
@@ -212,10 +224,15 @@
user = null;
user = mgr.getUserByUserName(testUser.getUserName());
assertNotNull(user);
- assertEquals(2, mgr.getRoles(user).size());
- assertTrue(mgr.hasRole("editor", user));
- assertTrue(mgr.hasRole("admin", user));
-
+ if (WebloggerConfig.getBooleanProperty("users.firstUserAdmin")) {
+ assertEquals(2, mgr.getRoles(user).size());
+ assertTrue(mgr.hasRole("editor", user));
+ assertTrue(mgr.hasRole("admin", user));
+ } else {
+ assertEquals(1, mgr.getRoles(user).size());
+ assertTrue(mgr.hasRole("editor", user));
+ assertFalse(mgr.hasRole("admin", user));
+ }
// remove test user
TestUtils.teardownUser(testUser.getUserName());
TestUtils.endSession(true);