Пример #1
0
        //public ModuleSecurity(int moduleId, int tabId, Hashtable settings)
        //{
        //    var moduleController = new ModuleController();
        //    var s = settings ?? moduleController.GetModuleSettings(moduleId);
        //    Settings = new Settings(s);
        //    return this.ModuleSecurity(moduleId, tabId, Settings);
        //}

        public ModuleSecurity(int moduleId, int tabId, Components.Settings settings)
        {
            var moduleController = new ModuleController();

            Settings = settings ?? new Settings(moduleController.GetModuleSettings(moduleId));
            var moduleInfo = moduleController.GetModule(moduleId, tabId);

            if (moduleInfo == null)
            {
                return;
            }
            var mp = moduleInfo.ModulePermissions;

            _hasEditRowPermission                   = ModulePermissionController.HasModulePermission(mp, PermissionName.HasEditRowPermission);
            _hasDeleteRowPermission                 = ModulePermissionController.HasModulePermission(mp, PermissionName.HasDeleteRowPermission);
            _hasAddRowPermission                    = ModulePermissionController.HasModulePermission(mp, PermissionName.HasAddRowPermission);
            _hasEditPrivateColumnsPermission        = ModulePermissionController.HasModulePermission(mp, PermissionName.EditRestricedFieldsPermission);
            _hasShowAllUserDefinedColumnsPermission = ModulePermissionController.HasModulePermission(mp, PermissionName.ShowAllUserDefinedColumnsPermission);
            _canEditModuleContent                   = ModulePermissionController.CanEditModuleContent(moduleInfo);
            _canManageModule = ModulePermissionController.CanManageModule(moduleInfo);

            _hasViewListPermission = ModulePermissionController.HasModulePermission(mp,
                                                                                    PermissionName.ShowListPermission);
            _isOnlyAllowedToManipulateHisOwnData = Settings.EditOnlyOwnItems;
        }
Пример #2
0
        public void ProcessRequest(HttpContext context)
        {
            try
            {
                var portalSettings = PortalController.GetCurrentPortalSettings();

                if (context.Request.QueryString["tabid"] == null || context.Request.QueryString["mid"] == null)
                {
                    return;
                }
                // get TabId
                var tabId = -1;
                if ((context.Request.QueryString["tabid"] != null))
                {
                    tabId = Int32.Parse(context.Request.QueryString["tabid"]);
                }

                // get ModuleId
                var moduleId = -1;
                if ((context.Request.QueryString["mid"] != null))
                {
                    moduleId = Int32.Parse(context.Request.QueryString["mid"]);
                }

                UserController.GetCurrentUserInfo();

                var moduleController = new ModuleController();
                var settings         = moduleController.GetModuleSettings(moduleId);
                var moduleInfo       = moduleController.GetModule(moduleId, tabId);

                if (context.Request.QueryString["showsource"] == null)
                {
                    if (ModulePermissionController.CanViewModule(moduleInfo))
                    {
                        RenderToResponseStream(context.Response, new XmlBaseController(moduleInfo));
                    }
                }
                else
                {
                    if (ModulePermissionController.CanManageModule(moduleInfo))
                    {
                        ShowSource(context.Response, moduleId, portalSettings.PortalId, settings);
                    }
                }
            }
            catch (Exception ex)
            {
                context.Response.Write("Not defined");
            }
        }
Пример #3
0
        public void ProcessRequest(HttpContext context)
        {
            try
            {
                PortalController.Instance.GetCurrentPortalSettings();

                if ((context.Request.QueryString["tabid"] == null || context.Request.QueryString["mid"] == null) ||
                    !(context.Request.IsAuthenticated))
                {
                    return;
                }
                // get TabId
                var tabId = Convert.ToInt32(-1);
                if (context.Request.QueryString["tabid"] != null)
                {
                    tabId = int.Parse(context.Request.QueryString["tabid"]);
                }

                // get ModuleId
                var moduleId = Convert.ToInt32(-1);
                if (context.Request.QueryString["mid"] != null)
                {
                    moduleId = int.Parse(context.Request.QueryString["mid"]);
                }

                var userInfo = UserController.Instance.GetCurrentUserInfo();
                var mc       = new ModuleController();

                var moduleInfo = new ModuleController().GetModule(moduleId, tabId);
                var settings   = moduleInfo.ModuleSettings;

                if (ModulePermissionController.CanManageModule(moduleInfo))
                {
                    var udt = new UserDefinedTableController(moduleId, tabId, userInfo);
                    var ds  = udt.GetDataSet(true);

                    ds.Tables.Add(udt.Context(moduleInfo, userInfo,
                                              context.Request[Definition.QueryStringParameter].AsString(),
                                              settings[SettingName.SortField].AsString(),
                                              settings[SettingName.SortOrder].AsString(),
                                              settings[SettingName.Paging].AsString()));
                    context.Response.ContentType = "Text/Xml";
                    ds.WriteXml(context.Response.OutputStream);
                }
            }
            catch (Exception)
            {
                context.Response.Write("Not defined");
            }
        }
Пример #4
0
 /// <summary>Handles the <see cref="IModuleViewBase.Initialize"/> event of the <see cref="Presenter{TView}.View"/>.</summary>
 /// <param name="sender">The source of the event.</param>
 /// <param name="e">The <see cref="EventArgs"/> instance containing the event data.</param>
 private void View_Initialize(object sender, EventArgs e)
 {
     try
     {
         this.View.Model.HideContainer     = !ModulePermissionController.CanManageModule(this.ModuleInfo);
         this.View.Model.HideView          = !this.IsEditable;
         this.View.Model.Scripts           = this.GetScripts();
         this.View.Model.DefaultPathPrefix = string.Empty;
         this.View.Model.DefaultScriptPath = "~/";
         this.View.Model.DefaultProvider   = "DnnFormBottomProvider";
         this.View.Model.DefaultPriority   = (int)FileOrder.Js.DefaultPriority;
     }
     catch (Exception ex)
     {
         this.ProcessModuleLoadException(ex);
     }
 }