Exemplo n.º 1
0
        protected override void CreateChildControls()
        {
            if (SPContext.Current.SiteFeatures[new Guid(Constants.ASPLFeature.FeatureID)] == null)
            {
                base.CreateChildControls(); return;
            }

            this.Controls.Clear();

            try
            {
                if (this.ControlTemplate == null)
                {
                    throw new ArgumentException("Could not find ListFieldIterator control template.");
                }

                AddLiteralControl(RendringUtil.RenderTabs(allTabs));

                string allFields = string.Empty;

                for (int i = 0; i < base.Fields.Count; i++)
                {
                    SPField       spField       = base.Fields[i];
                    SPControlMode ctrlMode      = SPControlMode.Invalid;
                    bool          isFieldHidden = false;

                    // Permission matrix execution...

                    ctrlMode = PermissionHandler.Handle(spField.InternalName, this.ControlMode, allTabs, allFieldPermissions, SPContext.Current.Web.CurrentUser, out isFieldHidden);

                    if (this.ControlMode == SPControlMode.New && allFieldDefaults != null)
                    {
                        RendringUtil.SetDefault(spField, allFieldDefaults);
                    }

                    if (!this.IsFieldExcluded(spField) && !spField.Hidden && !spField.ReadOnlyField && !isFieldHidden)
                    {
                        ASPLTemplateContainer tempCon = new ASPLTemplateContainer();
                        this.Controls.Add(tempCon.Template);
                        tempCon.FieldName   = spField.InternalName;
                        tempCon.ControlMode = ctrlMode;
                        this.ControlTemplate.InstantiateIn(tempCon.Template);
                        allFields += "'" + spField.InternalName + "~Show',";
                        LiteralControl templateTR = tempCon.Controls[0] as LiteralControl;
                        templateTR.Text = templateTR.Text.Replace("tr", "tr id='" + spField.InternalName + "~Show" + "'");
                    }
                }

                AddLiteralControl("<script type='text/javascript'> var allFieldsArray = new Array(" + allFields.Trim(',') + ");</script>");
            }
            catch (Exception exp)
            {
                this.Controls.Clear();
                base.CreateChildControls();
                Logging.Log(exp);
            }
        }
Exemplo n.º 2
0
        protected override void OnInit(EventArgs e)
        {
            try
            {
                if (SPContext.Current.SiteFeatures[new Guid(Constants.ASPLFeature.FeatureID)] == null)
                {
                    base.OnInit(e); return;
                }

                RendringUtil.RenderResources(this.Page.Header);

                allTabs             = Tabs.LoadTabs(GetConfigFile(Constants.ConfigFile.TabSettingFile));
                allFieldPermissions = FieldPermissions.LoadFieldPermissions(GetConfigFile(Constants.ConfigFile.FieldPermissionFile));
                allFieldDefaults    = FieldDefaults.LoadFieldDefaults(GetConfigFile(Constants.ConfigFile.FieldDefaultFile));


                #region Testing data
                //allTabs = new Tabs();
                //Tab t1 = new Tab(0, "Tab1", "foo");

                //t1.Fields.Add(new Field("Title"));
                //t1.Fields.Add(new Field("Predecessors"));
                //t1.Fields.Add(new Field("Priority"));
                //t1.Fields.Add(new Field("Status"));
                //t1.Permissions.Add(new TabPermission(false, Enums.PermissionLevel.Write, new List<Enums.SPForms>() { Enums.SPForms.New, Enums.SPForms.Edit }, "", Enums.Operator.None));
                //t1.Permissions.Add(new TabPermission(false, Enums.PermissionLevel.Deny, new List<Enums.SPForms>() { Enums.SPForms.New, Enums.SPForms.Edit }, "", Enums.Operator.None));



                //t1.IsFirst = true;

                //allTabs.Add(t1);


                //Tab t2 = new Tab(0, "Tab2", "foo");
                //t2.Fields.Add(new Field("PercentComplete"));
                //t2.Fields.Add(new Field("DueDate"));
                //t2.Fields.Add(new Field("Title"));
                //t2.Fields.Add(new Field("Body"));
                //t2.IsSelected = true;
                //t2.Permissions.Add(new TabPermission(false, Enums.PermissionLevel.Deny, new List<Enums.SPForms>() { Enums.SPForms.New, Enums.SPForms.Edit }, "", Enums.Operator.None));


                //TabPermission p3 = new TabPermission(false, Enums.PermissionLevel.Write, new List<Enums.SPForms>() { Enums.SPForms.New, Enums.SPForms.Edit }, "", Enums.Operator.None);
                //p3.Conditions.Add(new Condition(new Field("Title"), Enums.Operator.Contains, "Make write"));
                //t2.Permissions.Add(p3);


                //allTabs.Add(t2);


                //Tab t3 = new Tab(0, "Tab3", "foo");
                //t3.Fields.Add(new Field("PercentComplete"));
                //t3.Fields.Add(new Field("DueDate"));
                //t3.Fields.Add(new Field("Predecessors"));
                //t3.IsLast = true;

                //allTabs.Add(t3);

                //allFieldPermissions = new FieldPermissions();
                //allFieldPermissions.Add(new FieldPermission(new Field("Title"), Enums.PermissionLevel.Write, new List<Enums.SPForms>() { Enums.SPForms.New, Enums.SPForms.Edit }, "", Enums.Operator.None));
                //allFieldPermissions.Add(new FieldPermission(new Field("Predecessors"), Enums.PermissionLevel.Read, new List<Enums.SPForms>() { Enums.SPForms.New, Enums.SPForms.Edit }, "", Enums.Operator.None));


                //allFieldDefaults = new FieldDefaults();
                //allFieldDefaults.Add(new FieldDefault(new Field("Title"), "", Enums.Operator.None, "", "You cant touch me!!"));

                //allTabs = null;
                #endregion

                this.updatePanelIterator            = new UpdatePanel();
                this.updatePanelIterator.ID         = "updatePanelIterator";
                this.updatePanelIterator.RenderMode = UpdatePanelRenderMode.Inline;
                if (this.RequestResultTabsInfoHidden == null)
                {
                    this.RequestResultTabsInfoHidden = new HiddenField();
                }

                this.RequestResultTabsInfoHidden.ID = "RequestResultTabsInfoHidden";

                this.RequestResultTabsInfoHidden.Value = (allTabs == null ? "null" : allTabs.ToHiddenFldValue());
                this.updatePanelIterator.ContentTemplateContainer.Controls.Add(this.RequestResultTabsInfoHidden);
                Panel panel = new Panel();
                panel.Style.Add(HtmlTextWriterStyle.Position, "absolute");
                panel.Style.Add(HtmlTextWriterStyle.Width, "100%");
                this.Controls.Add(panel);
                panel.Controls.Add(this.updatePanelIterator);
                panel.Controls.Add(UpdateTemplate.GetUpdateProgress(this.updatePanelIterator.ID));
                CreateHelperControls();
                base.OnInit(e);

                // register save handler if not in display mode and form is posted back
                if ((Page.IsPostBack) && (ControlMode != SPControlMode.Display))
                {
                    _formContext.OnSaveHandler += new EventHandler(SaveHandler);
                }
            }
            catch (Exception exp)
            {
                base.OnInit(e);
                Logging.Log(exp);
            }
        }