restriction of user activity: concept of super-users: the only ones that can add...
[mir.git] / source / mircoders / servlet / ServletHelper.java
index 4c23cb5..beba69c 100755 (executable)
@@ -34,7 +34,7 @@ import java.util.HashMap;
 import java.util.Locale;
 import java.util.Map;
 
-import javax.servlet.http.HttpServletResponse;
+import javax.servlet.http.*;
 
 import org.apache.struts.util.MessageResources;
 
@@ -47,21 +47,22 @@ import mir.servlet.ServletModuleFailure;
 import mir.util.CachingRewindableIterator;
 import mir.util.ResourceBundleGeneratorFunction;
 import mircoders.global.MirGlobal;
+import mircoders.entity.*;
 
 
 public class ServletHelper {
   static LoggerWrapper logger = new LoggerWrapper("ServletModule.Helper");
 
 
-  public static Map makeGenerationData(HttpServletResponse aResponse, Locale[] aLocales) throws ServletModuleExc {
-    return makeGenerationData(aResponse, aLocales, "bundles.adminlocal", "bundles.admin");
+  public static Map makeGenerationData(HttpServletRequest aRequest, HttpServletResponse aResponse, Locale[] aLocales) throws ServletModuleExc {
+    return makeGenerationData(aRequest, aResponse, aLocales, "bundles.adminlocal", "bundles.admin");
   }
 
-  public static Map makeGenerationData(HttpServletResponse aResponse, Locale[] aLocales, String aBundle) throws ServletModuleExc {
-    return makeGenerationData(aResponse, aLocales, aBundle, aBundle);
+  public static Map makeGenerationData(HttpServletRequest aRequest, HttpServletResponse aResponse, Locale[] aLocales, String aBundle) throws ServletModuleExc {
+    return makeGenerationData(aRequest, aResponse, aLocales, aBundle, aBundle);
   }
 
-  public static Map makeGenerationData(HttpServletResponse aResponse, Locale[] aLocales, String aBundle, String aDefaultBundle) throws ServletModuleExc {
+  public static Map makeGenerationData(HttpServletRequest aRequest, HttpServletResponse aResponse, Locale[] aLocales, String aBundle, String aDefaultBundle) throws ServletModuleExc {
 
     try {
       Map result = new HashMap();
@@ -73,6 +74,7 @@ public class ServletHelper {
              aResponse.encodeURL(MirGlobal.config().getString("RootUri") + "/servlet/Mir"));
 
       result.put("returnurl", null);
+      result.put("login_user", getUser(aRequest));
 
       Object languages =
           new CachingRewindableIterator(
@@ -136,4 +138,12 @@ public class ServletHelper {
       throw new ServletModuleFailure(t);
     }
   }
+
+  public static void setUser(HttpServletRequest aRequest, EntityUsers aUser) {
+    aRequest.getSession().setAttribute("login.uid", aUser);
+  }
+
+  public static EntityUsers getUser(HttpServletRequest aRequest) {
+    return (EntityUsers) aRequest.getSession().getAttribute("login.uid");
+  }
 }