diff --git a/config.yml.example b/config.yml.example index 77b717cd..631b2300 100644 --- a/config.yml.example +++ b/config.yml.example @@ -7,6 +7,9 @@ app: # wether to allow user registrations allowRegistrations: false + # create a demo account the first time the app starts + createDemoAccount: false + # put your google analytics tracking code here googleAnalyticsTrackingCode: diff --git a/src/main/java/com/commafeed/CommaFeedConfiguration.java b/src/main/java/com/commafeed/CommaFeedConfiguration.java index 640a1a0d..7ff5c3ac 100644 --- a/src/main/java/com/commafeed/CommaFeedConfiguration.java +++ b/src/main/java/com/commafeed/CommaFeedConfiguration.java @@ -69,6 +69,8 @@ public class CommaFeedConfiguration extends Configuration { @NotNull private boolean allowRegistrations; + private boolean createDemoAccount; + private String googleAnalyticsTrackingCode; @NotNull diff --git a/src/main/java/com/commafeed/backend/service/StartupService.java b/src/main/java/com/commafeed/backend/service/StartupService.java index ff3e95b8..685f21bc 100644 --- a/src/main/java/com/commafeed/backend/service/StartupService.java +++ b/src/main/java/com/commafeed/backend/service/StartupService.java @@ -26,6 +26,7 @@ import org.hibernate.engine.jdbc.connections.spi.ConnectionProvider; import org.hibernate.internal.SessionFactoryImpl; import com.commafeed.CommaFeedApplication; +import com.commafeed.CommaFeedConfiguration; import com.commafeed.backend.dao.UnitOfWork; import com.commafeed.backend.dao.UserDAO; import com.commafeed.backend.model.UserRole.Role; @@ -38,6 +39,7 @@ public class StartupService implements Managed { private final SessionFactory sessionFactory; private final UserDAO userDAO; private final UserService userService; + private final CommaFeedConfiguration config; @Override public void start() throws Exception { @@ -95,7 +97,9 @@ public class StartupService implements Managed { try { userService.register(CommaFeedApplication.USERNAME_ADMIN, "admin", "admin@commafeed.com", Arrays.asList(Role.ADMIN, Role.USER), true); - userService.register(CommaFeedApplication.USERNAME_DEMO, "demo", "demo@commafeed.com", Arrays.asList(Role.USER), true); + if (config.getApplicationSettings().isCreateDemoAccount()) { + userService.register(CommaFeedApplication.USERNAME_DEMO, "demo", "demo@commafeed.com", Arrays.asList(Role.USER), true); + } } catch (Exception e) { log.error(e.getMessage(), e); } diff --git a/src/main/java/com/commafeed/frontend/resource/UserREST.java b/src/main/java/com/commafeed/frontend/resource/UserREST.java index 54c9da3d..83466694 100644 --- a/src/main/java/com/commafeed/frontend/resource/UserREST.java +++ b/src/main/java/com/commafeed/frontend/resource/UserREST.java @@ -249,7 +249,7 @@ public class UserREST { sessionHelper.setLoggedInUser(user.get()); return Response.ok().build(); } else { - return Response.status(Response.Status.UNAUTHORIZED).entity("wrong username or password").build(); + return Response.status(Response.Status.UNAUTHORIZED).entity("wrong username or password").type(MediaType.TEXT_PLAIN).build(); } } @@ -270,7 +270,8 @@ public class UserREST { return Response.ok().build(); } catch (Exception e) { log.error(e.getMessage(), e); - return Response.status(Status.INTERNAL_SERVER_ERROR).entity("could not send email: " + e.getMessage()).build(); + return Response.status(Status.INTERNAL_SERVER_ERROR).entity("could not send email: " + e.getMessage()) + .type(MediaType.TEXT_PLAIN).build(); } }