Exemple #1
0
        /// <summary>
        /// 模拟一个 MvcContext ,访问者是未登录的游客。被访问对象是app的页面
        /// </summary>
        /// <param name="objOwner"></param>
        /// <param name="appType"></param>
        /// <param name="appId"></param>
        /// <returns></returns>
        public static MvcContext GetOne(IMember objOwner, Type appType, int appId)
        {
            MvcContext ctx = getContextInit();

            // route
            Route route = new wojilu.Web.Mvc.Routes.Route();

            route.setAppId(appId);   // 为了让生成的link链接中有appId,必须设置此项
            ctx.utils.setRoute(route);

            // viewer: 某些地方需要判断viewer
            ViewerContext viewer = new ViewerContext();

            viewer.obj = new User();
            ctx.utils.setViewerContext(viewer);

            // owner
            OwnerContext owner = new OwnerContext();

            owner.Id  = objOwner.Id;
            owner.obj = objOwner;
            ctx.utils.setOwnerContext(owner);

            // app
            IAppContext app = new AppContext();

            app.Id  = appId;
            app.obj = ndb.findById(appType, appId);
            app.setAppType(appType);   // 如果要使用alang语言包,必须设置此项
            ctx.utils.setAppContext(app);

            return(ctx);
        }
Exemple #2
0
        /// <summary>
        /// 模拟一个 MvcContext ,访问者是未登录的游客。被访问对象不是app的页面
        /// </summary>
        /// <param name="objOwner"></param>
        /// <returns></returns>
        public static MvcContext GetOne(IMember objOwner)
        {
            MvcContext ctx = getContextInit();

            // route
            Route route = new wojilu.Web.Mvc.Routes.Route();

            ctx.utils.setRoute(route);

            // viewer: 某些地方需要判断viewer
            ViewerContext viewer = new ViewerContext();

            viewer.obj = new User();
            ctx.utils.setViewerContext(viewer);

            // owner
            OwnerContext owner = new OwnerContext();

            owner.Id  = objOwner.Id;
            owner.obj = objOwner;
            ctx.utils.setOwnerContext(owner);

            // app
            IAppContext app = new AppContext();

            app.obj = null;
            ctx.utils.setAppContext(app);

            return(ctx);
        }
Exemple #3
0
        public virtual void Init(MvcContext ctx)
        {
            if (ctx.utils.isEnd())
            {
                return;
            }

            CurrentRequest.setItem("_user_factory", new UserFactory());

            User user = this.getViewer(ctx);

            if (user.Id == UserFactory.Guest.Id && ctx.web.UserIsLogin)
            {
                signOut(ctx);
                return;
            }
            else if (user.Status == MemberStatus.Deleted || user.Status == MemberStatus.Approving)
            {
                signOut(ctx);
                return;
            }

            if (ctx.web.UserIsLogin)
            {
                loginService.UpdateLastLogin(user, ctx.Ip);
            }

            ViewerContext context = new ViewerContext(ctx);

            context.Id      = user.Id;
            context.obj     = user;
            context.IsLogin = ctx.web.UserIsLogin;
            ctx.utils.setViewerContext(context);
        }
Exemple #4
0
        public void Init( MvcContext ctx )
        {
            if (ctx.utils.isEnd()) return;

            CurrentRequest.setItem( "_user_factory", new UserFactory() );

            User user = this.getViewer( ctx );

            if (user.Id == UserFactory.Guest.Id && ctx.web.UserIsLogin) {
                signOut( ctx );
                return;
            }
            else if (user.Status == MemberStatus.Deleted || user.Status == MemberStatus.Approving) {
                signOut( ctx );
                return;
            }

            if (ctx.web.UserIsLogin) loginService.UpdateLastLogin( user, ctx.Ip );

            ViewerContext context = new ViewerContext();
            context.Id = user.Id;
            context.obj = user;
            context.IsLogin = ctx.web.UserIsLogin;
            ctx.utils.setViewerContext( context );
        }
Exemple #5
0
        public static MvcContext GetOne(IMember objOwner, int appId)
        {
            IWebContext webContext = MockWebContext.New(1, "http://localhost/", new System.IO.StringWriter());

            MvcContext ctx = new MvcContext(webContext);

            // route
            Route route = new wojilu.Web.Mvc.Routes.Route();

            route.setAppId(appId);   // 为了让生成的link链接中有appId,必须设置此项
            ctx.utils.setRoute(route);

            // viewer: 某些地方需要判断viewer
            ViewerContext viewer = new ViewerContext();

            viewer.obj = new User();
            ctx.utils.setViewerContext(viewer);

            // owner
            OwnerContext owner = new OwnerContext();

            owner.Id  = objOwner.Id;
            owner.obj = objOwner;
            ctx.utils.setOwnerContext(owner);

            // app
            IAppContext app = new AppContext();

            app.Id  = appId;
            app.obj = BlogApp.findById(appId);
            app.setAppType(typeof(BlogApp));     // 如果要使用alang语言包,必须设置此项
            ctx.utils.setAppContext(app);

            return(ctx);
        }
Exemple #6
0
        private void initViewer(MvcContext ctx, User user)
        {
            ViewerContext context = new ViewerContext(ctx);

            context.Id      = user.Id;
            context.obj     = user;
            context.IsLogin = true;
            ctx.utils.setViewerContext(context);
        }
Exemple #7
0
        //-------------------------------- viewer ----------------------------------

        public void InitViewer(MvcContext ctx)
        {
            ctx.setCacheCondition(new CacheCondition());


            CurrentRequest.setItem("_user_factory", new UserFactory());

            User user = this.getViewer(ctx);

            if (user.Id == UserFactory.Guest.Id && ctx.web.UserIsLogin)
            {
                signOut(ctx);
                return;
            }
            else if (user.Status == MemberStatus.Deleted || user.Status == MemberStatus.Approving)
            {
                signOut(ctx);
                return;
            }

            if (ctx.web.UserIsLogin)
            {
                loginService.UpdateLastLogin(user, ctx.Ip);
            }

            ViewerContext context = new ViewerContext();

            context.Id      = user.Id;
            context.obj     = user;
            context.IsLogin = ctx.web.UserIsLogin;
            ctx.utils.setViewerContext(context);

            // 编辑器
            if (context.IsLogin)
            {
                Link lnk = new Link(ctx);
                ctx.SetItem("editorUploadUrl", lnk.To(user, "Users/Admin/UserUpload", "UploadForm", -1, -1));
                ctx.SetItem("editorMyPicsUrl", lnk.To(user, "Users/Admin/UserUpload", "MyPics", -1, -1));
            }
        }
Exemple #8
0
 public EmployeesController(ViewerContext context)
 {
     _context = context;
 }
 public DepartmentsController(ViewerContext context)
 {
     _context = context;
 }