protected void TemplateConstructorButton_Load(object sender, EventArgs e)
        {
            var userID     = Session["SystemUser.objID"].ToString();
            var templateID = Frame.TemplateList.SelectedValue.ToString();

            if (templateID.Contains("AttributesTemplate"))
            {
                Frame.TemplateConstructorButton.Enabled = false;
            }
            else
            {
#if true
                if (!string.IsNullOrEmpty(templateID))
                {
                    var isUpdate = AuthorizationRules.TemplateResolution(ActionType.update, userID, templateID);

                    if (isUpdate)
                    {
                        Frame.TemplateConstructorButton.Enabled = true;
                    }
                    else
                    {
                        Frame.TemplateConstructorButton.Enabled = false;
                    }
                }
#else
                var query = string.Format("SELECT [update] FROM [Permission].[IUTemplatePermission]({0}) where objID = {1}", Session["SystemUser.objID"].ToString(), Frame.TemplateList.SelectedValue);

                var dt = Storage.GetDataTable(query);

                if (dt.Rows.Count > 0)
                {
                    bool result = false;
                    Boolean.TryParse(dt.Rows[0][0].ToString(), out result);

                    if (!result)
                    {
                        Frame.TemplateConstructorButton.Enabled = false;
                    }
                    else
                    {
                        Frame.TemplateConstructorButton.Enabled = true;
                    }
                }
                else
                {
                    Frame.TemplateConstructorButton.Enabled = false;
                }
#endif
            }
        }
Пример #2
0
        protected void TemplateList_SelectedIndexChanged(object sender, EventArgs e)
        {
            var updatePermission = AuthorizationRules.TemplateResolution(ActionType.update, Session["SystemUser.objID"].ToString(), TemplateList.SelectedValue);


            //var query = string.Format("SELECT * FROM Permission.UserPermissionForObject ({0}, 'R$Template', {1})",
            //                           Session["SystemUser.objID"].ToString(), TemplateList.SelectedValue);

            //var dt = Storage.GetDataTable(query);

            if (string.IsNullOrEmpty(TemplateList.SelectedValue))
            {
                var createPermission = AuthorizationRules.TemplateResolution(ActionType.create, Session["SystemUser.objID"].ToString());
                if (createPermission)
                {
                    ButtonConsctuctor.Enabled = true;
                    if (MainView.ActiveViewIndex == 1)
                    {
                        BtnConstructor_OnClick(null, EventArgs.Empty);
                    }
                }
                else
                {
                    ButtonConsctuctor.Enabled = false;
                    MainView.ActiveViewIndex  = 0;
                }

                return;
            }

            if (updatePermission)
            {
                ButtonConsctuctor.Enabled = true;

                if (MainView.ActiveViewIndex == 1)
                {
                    BtnConstructor_OnClick(null, EventArgs.Empty);
                }
            }
            else
            {
                ButtonConsctuctor.Enabled = false;
                MainView.ActiveViewIndex  = 0;
            }

            //if (MainView.ActiveViewIndex == 1)
            //    BtnConstructor_OnClick(null, EventArgs.Empty);
        }
Пример #3
0
        protected void BtnConstructor_OnClick(object sender, EventArgs e)
        {
            var templateID = TemplateList.SelectedValue;

            treeDesigner.userID = Convert.ToInt32(Session["SystemUser.objID"]);

            if (templateID == "0" || string.IsNullOrEmpty(templateID))
            {
                return;
            }

            if (templateID == "-1")
            {
                if (!AuthorizationRules.TemplateResolution(ActionType.create, Session["SystemUser.objID"].ToString()))
                {
                    WarningMessageBox.Show();
                    return;
                }

                treeDesigner.TemplateID    = null;
                treeDesigner.templateIsNew = true;
                treeDesigner.SortHashtable = null;
            }
            else
            {
                if (!AuthorizationRules.TemplateResolution(ActionType.read, Session["SystemUser.objID"].ToString(), templateID))
                {
                    WarningMessageBox.Show();
                    return;
                }

                treeDesigner.TemplateID    = templateID;
                treeDesigner.SortHashtable = Session["SortTemplate" + templateID] == null
                    ? new Hashtable()
                    : (Hashtable)Session["SortTemplate" + templateID];
            }

            treeDesigner.EntityID = EntityList.SelectedItem.Value;

            treeDesigner.template     = null;
            treeDesigner.selectedID   = treeDesigner.buttonAttributID = null;
            treeDesigner.isDialogShow = false;

            treeDesigner.DataBind();

            MainView.ActiveViewIndex = 1;
        }
Пример #4
0
        protected void DeteleButton_Click(object sender, MessageBoxEventArgs e)
        {
            if (e.Result == MessageBoxResult.Yes)
            {
                if (!AuthorizationRules.TemplateResolution(ActionType.delete,
                                                           Session["SystemUser.objID"].ToString(),
                                                           Frame.TemplateList.SelectedDataKey["objID"].ToString()))
                {
                    Frame.WarningMessageBox.Show();
                    return;
                }

                Frame.TemplateListSource.Delete();
                Frame.TemplateList.ClearSelection();
                EnableItems(false);
            }
        }
        protected void ConstructorButton_Click(object sender, EventArgs e)
        {
            //Не открываем конструктор если не выбран Entity
            if (string.IsNullOrEmpty(EntityList.SelectedValue))
            {
                return;
            }

            var userID = Convert.ToInt32(Session["SystemUser.objID"]);



            CrossTemplate.userID = userID;

            if (TemplateList.SelectedIndex == 0)
            {
                if (!AuthorizationRules.TemplateResolution(ActionType.create, Session["SystemUser.objID"].ToString()))
                {
                    WarningMessageBox.Show();
                    return;
                }
            }
            else
            {
                if (!AuthorizationRules.TemplateResolution(
                        ActionType.read,
                        Session["SystemUser.objID"].ToString(),
                        TemplateList.SelectedValue))
                {
                    WarningMessageBox.Show();
                    return;
                }
            }

            multiView.ActiveViewIndex = 1;
            CrossTemplate.template    = null;

            if (TemplateList.SelectedValue != "-1")
            {
                CrossTemplate.TemplateID = TemplateList.SelectedValue;
            }

            CrossTemplate.EntityID = EntityList.SelectedValue;
            CrossTemplate.DataBind();
        }
Пример #6
0
        protected void CreateButton_Click(object sender, EventArgs e)
        {
            if (!AuthorizationRules.TemplateResolution(ActionType.create, Session["SystemUser.objID"].ToString())) //, Session["SystemUser.objID"].ToString()
            {
                Frame.WarningMessageBox.Show();
                return;
            }

            TemplateDesignerDialog.Caption = "Создание шаблона";
            TemplateDesignerDialog.Show();

            var radioList = TemplateDesignerDialog.FindControl("RadioList") as RadioButtonList;

            radioList.Visible = true;

            CleareDataFromViewState();
            //this.DataBind();
        }
Пример #7
0
        protected void EditButton_Click(object sender, EventArgs e)
        {
            // Для отладки, вернуть когда сдавать заказчику , тут по умолчанию admin (id = 0)
            string UserID = Session["SystemUser.objID"] == null ? "0" : Session["SystemUser.objID"].ToString();

            if (!AuthorizationRules.TemplateResolution(ActionType.read, UserID, Frame.TemplateList.SelectedDataKey["objID"].ToString())) //, Session["SystemUser.objID"].ToString()
            {
                Frame.WarningMessageBox.Show();
                return;
            }

            TemplateDesignerDialog.Caption = "Редактирование шаблона";
            TemplateDesignerDialog.Show();

            var templateID   = Frame.TemplateList.SelectedDataKey["objID"].ToString();
            var templateCode = Frame.TemplateList.SelectedDataKey["code"].ToString();

            var placeHolder = TemplateDesignerDialog.FindControl("PlaceHolder") as PlaceHolder;
            var fileBasedTemplateDesigner = new TemplateFactory(templateCode, templateID, null).InstantiateIn();

            var userID = Convert.ToInt32(Session["SystemUser.objID"]);

            fileBasedTemplateDesigner.userID = userID;

            var template = Storage.Select <Template>(templateID);

            UserTemlatePermission.SetFieldsTaboo(userID, template);


            ViewState["templateCode"] = templateCode;
            ViewState["entityID"]     = null;
            ViewState["templateID"]   = templateID;

            placeHolder.Controls.Clear();
            placeHolder.Controls.Add(fileBasedTemplateDesigner);

            var radioList = TemplateDesignerDialog.FindControl("RadioList") as RadioButtonList;

            radioList.Visible = false;
        }
        protected void TemplateConstructorButton_Click(object sender, EventArgs e)
        {
            if (Frame.TemplateList.SelectedIndex == 0 || Frame.TemplateList.SelectedIndex == 1)
            {
                if (!AuthorizationRules.TemplateResolution(ActionType.create, Session["SystemUser.objID"].ToString()))
                {
                    WarningMessageBoxAuthorization.Show();
                    return;
                }
            }
            else
            {
                if (!AuthorizationRules.TemplateResolution(ActionType.read,
                                                           Session["SystemUser.objID"].ToString(),
                                                           Frame.TemplateList.SelectedValue))
                {
                    WarningMessageBoxAuthorization.Show();
                    return;
                }
            }

            if (TemplateDesigner.template != null)
            {
                oldTemplateName = TemplateDesigner.template.Name;
            }

            TemplateDesigner.IsNotShowThis = false;
            TemplateDesigner.TemplateID    = Frame.TemplateList.SelectedValue;
            TemplateDesigner.EntityID      = Request["entity"];
            TemplateDesigner.userID        = Convert.ToInt32(Session["SystemUser.objID"]);
            TemplateDesigner.DataBind();

            ReportMultiView.SetActiveView(TemplateDesignerView);

            VisibleSomeElements(false);
        }
        protected override void OnInit(EventArgs e)
        {
            var userType = Convert.ToInt32(Session["SystemUser.typeID"]);
            var userID   = Convert.ToInt32(Session["SystemUser.objID"]);


            var entityID   = Request.QueryString["entity"];
            var templateID = Request.QueryString["templateID"];

            if (!IsPostBack)
            {
                var permittedEntities = StorageUserObgects.Select <UserEntityPermission>(userID, userID).getReadPermittedEntities().AsEnumerable();

                var list = this.GetSchema().Entities.Where(o => !o.IsEnumeration && permittedEntities.Select(x => x["entity"].ToString()).Contains(o.SystemName)).OrderBy(o => o.Name).ToList();

                EntityList.Items.Add(new ListItem {
                    Text = "Не выбрано", Value = ""
                });
                for (int i = 0; i < list.Count; i++)
                {
                    EntityList.Items.Add(new ListItem {
                        Text = list[i].Name, Value = list[i].ID.ToString()
                    });
                }

                if (entityID != null)
                {
                    EntityList.SelectedValue = entityID;

                    FillTemplateList(EntityList.SelectedValue);

                    if (templateID != null)
                    {
                        TemplateList.SelectedValue = templateID;
                        if (AuthorizationRules.TemplateResolution(ActionType.update, Session["SystemUser.objID"].ToString(), templateID))
                        {
                            ConstructorButton.Enabled = true;
                        }
                        else
                        {
                            ConstructorButton.Enabled = false;
                        }
                    }
                    else
                    {
                        if (string.IsNullOrEmpty(TemplateList.SelectedValue))
                        {
                            if (AuthorizationRules.TemplateResolution(ActionType.create, Session["SystemUser.objID"].ToString()))
                            {
                                ConstructorButton.Enabled = true;
                            }
                            else
                            {
                                ConstructorButton.Enabled = false;
                            }
                        }
                    }
                }

                EntityList.DataBind();
                //VerifyRenderingInServerForm(EntityList);
            }

            //var templatePermission = StorageUserObgects.Select<UserTemplatePermission>(userID, userID).Permission.Substring(1, 2).Contains('1');

            //if (!templatePermission && userType != 1 && userType != 0)
            //    ConstructorButton.Enabled = false;

            base.OnInit(e);
        }