Example #1
0
        private void customizeContextMenuForSelection()
        {
            int  count         = this.GetBrowser().Form.Grid.SelectedItems.Count;
            bool itemsSelected = count > 0;

            bool create = true;
            bool saveAs = count == 1;
            bool delete = count == 1;

            if (count == 1)
            {
                BrowserData       item     = (BrowserData)this.GetBrowser().Form.Grid.SelectedItem;
                List <Right>      rights   = null;
                PrivilegeObserver observer = new PrivilegeObserver();
                if (!ApplicationManager.User.IsAdmin())
                {
                    RightService service = ApplicationManager.ControllerFactory.ServiceFactory.GetRightService();
                    rights = service.getUserRights(this.SubjectType.label, item.oid);
                }
                saveAs = RightsUtil.HasRight(Domain.RightType.SAVE_AS, rights);
                delete = RightsUtil.HasRight(Domain.RightType.DELETE, rights);
                create = observer.hasPrivilege(this.FunctionalityCode, Domain.RightType.CREATE);
            }
            this.GetBrowser().Form.Grid.NewMenuItem.IsEnabled  = create;
            this.GetBrowser().Form.Grid.OpenMenuItem.IsEnabled = itemsSelected;
            //this.GetBrowser().Form.Grid.RenameMenuItem.IsEnabled = saveAs && count == 1;
            this.GetBrowser().Form.Grid.SaveAsMenuItem.IsEnabled = saveAs && count == 1;
            //this.GetBrowser().Form.Grid.CopyMenuItem.IsEnabled = itemsSelected && create;
            //this.GetBrowser().Form.Grid.PasteMenuItem.IsEnabled = create;
            this.GetBrowser().Form.Grid.DeleteMenuItem.IsEnabled = itemsSelected && delete;
            customizeContextMenu();
        }
Example #2
0
        public virtual void CustomizeForUser(EditorItem <T> page)
        {
            List <Right>      rights   = null;
            PrivilegeObserver observer = new PrivilegeObserver();

            if (!ApplicationManager.User.IsAdmin() && page.EditedObject.oid.HasValue)
            {
                RightService service = ApplicationManager.ControllerFactory.ServiceFactory.GetRightService();
                rights = service.getUserRights(this.SubjectType.label, page.EditedObject.oid.Value);
            }
            if (this.ToolBar != null)
            {
                this.ToolBar.Customize(this.FunctionalityCode, observer, rights, page.IsReadOnly);
            }
            if (this.SideBar != null)
            {
                this.SideBar.Customize(rights, page.IsReadOnly);
            }
            CustomizeContexMenu(observer, rights, page);

            bool edit = RightsUtil.HasRight(Domain.RightType.EDIT, rights);

            page.CanRename = edit && !page.IsReadOnly;
            page.CanSave   = edit;
        }
Example #3
0
        /// <summary>
        /// Customize toolbar for connected user
        /// </summary>
        /// <param name="rights"></param>
        /// <param name="readOnly"></param>
        public virtual void Customize(String fuctionality, PrivilegeObserver observer, List <Domain.Right> rights, bool readOnly = false)
        {
            bool create = observer.hasPrivilege(fuctionality, Domain.RightType.CREATE);
            bool edit   = RightsUtil.HasRight(Domain.RightType.EDIT, rights);

            SaveButton.Visibility = edit && !readOnly ? Visibility.Visible : Visibility.Collapsed;
            NewButton.Visibility  = create && !readOnly ? Visibility.Visible : Visibility.Collapsed;
        }
Example #4
0
        public override void Customize(String fuctionality, PrivilegeObserver observer, List <Kernel.Domain.Right> rights, bool readOnly = false)
        {
            base.Customize(fuctionality, observer, rights, readOnly);
            bool hasRight = RightsUtil.HasRight(new Kernel.Domain.RightType[] { Kernel.Domain.RightType.EDIT, Kernel.Domain.RightType.CLEAR, Kernel.Domain.RightType.LOAD }, rights);

            saveClearRunButton.Visibility = hasRight && !readOnly ? Visibility.Visible : Visibility.Collapsed;
            runButton.Visibility          = RightsUtil.HasRight(RightType.LOAD, rights) && !readOnly ? Visibility.Visible : Visibility.Collapsed;
            clearButton.Visibility        = RightsUtil.HasRight(RightType.CLEAR, rights) && !readOnly ? Visibility.Visible : Visibility.Collapsed;
            //saveAsButton.Visibility = RightsUtil.HasRight(RightType.SAVE_AS, rights) && !readOnly ? Visibility.Visible : Visibility.Collapsed;

            applyToAllCheckBox.Visibility = runButton.Visibility == Visibility.Visible || clearButton.Visibility == Visibility.Visible ? Visibility.Visible : Visibility.Collapsed;
        }
Example #5
0
        /// <summary>
        /// Effectue l'initialisation du controller.
        /// On initialize la vue et on met this.IsModify = false
        /// </summary>
        /// <returns>
        /// OperationState.CONTINUE si l'opération a réussi
        /// OperationState.STOP sinon
        /// </returns>
        public override OperationState Initialize()
        {
            base.Initialize();
            List <Right>      rights   = null;
            PrivilegeObserver observer = new PrivilegeObserver();

            if (this.ToolBar != null)
            {
                this.ToolBar.Customize(this.FunctionalityCode, observer, rights, false);
            }
            bool edit = observer.hasPrivilege(this.FunctionalityCode, Domain.RightType.CREATE);

            GetBrowser().SetReadOnly(!edit);
            return(OperationState.CONTINUE);
        }
Example #6
0
        protected virtual void InitializeNewPage(String functionality)
        {
            PrivilegeObserver observer = new PrivilegeObserver();
            bool create = observer.hasPrivilege(functionality, RightType.CREATE);

            if (create)
            {
                NewPage                  = getNewPage();
                NewPage.CanClose         = false;
                NewPage.CanFloat         = false;
                NewPage.Title            = "+";
                newPageEventHandler      = new EventHandler(this.OnNewPageSelected);
                NewPage.IsActiveChanged += newPageEventHandler;
            }
        }
Example #7
0
        public void BuildCategories()
        {
            observer = new PrivilegeObserver();
            this.DashboardBar.ClearStandard();

            foreach (Plugin.IPlugin plugin in ApplicationManager.Instance.Plugins)
            {
                foreach (NavCategory category in plugin.NavDashboardCategories)
                {
                    if (CheckUserRights(category))
                    {
                        this.DashboardBar.AddStandardCategory(category);
                    }
                }
            }
        }
Example #8
0
        public virtual void CustomizeContexMenu(PrivilegeObserver observer, List <Right> rights, EditorItem <T> page)
        {
            if (page != null)
            {
                bool edit   = RightsUtil.HasRight(Domain.RightType.EDIT, rights);
                bool saveAs = RightsUtil.HasRight(Domain.RightType.SAVE_AS, rights);
                bool delete = RightsUtil.HasRight(Domain.RightType.DELETE, rights);
                bool create = observer.hasPrivilege(this.FunctionalityCode, Domain.RightType.CREATE);

                RefreshMenuItem.Visibility = !page.IsReadOnly ? Visibility.Visible : Visibility.Collapsed;
                DeleteMenuItem.Visibility  = delete && !page.IsReadOnly ? Visibility.Visible : Visibility.Collapsed;
                SaveAsMenuItem.Visibility  = saveAs && !page.IsReadOnly ? Visibility.Visible : Visibility.Collapsed;
                SaveMenuItem.Visibility    = edit && !page.IsReadOnly ? Visibility.Visible : Visibility.Collapsed;
                RenameMenuItem.Visibility  = saveAs && !page.IsReadOnly ? Visibility.Visible : Visibility.Collapsed;
                NewMenuItem.Visibility     = create ? Visibility.Visible : Visibility.Collapsed;
            }
        }
Example #9
0
 public override void Customize(String fuctionality, PrivilegeObserver observer, List <Kernel.Domain.Right> rights, bool readOnly = false)
 {
     base.Customize(fuctionality, observer, rights, readOnly);
     LoadButton.Visibility  = RightsUtil.HasRight(RightType.LOAD, rights) && !readOnly ? Visibility.Visible : Visibility.Collapsed;
     ClearButton.Visibility = RightsUtil.HasRight(RightType.CLEAR, rights) && !readOnly ? Visibility.Visible : Visibility.Collapsed;
 }
Example #10
0
 /// <summary>
 /// Customize toolbar for connected user
 /// </summary>
 /// <param name="rights"></param>
 /// <param name="readOnly"></param>
 public override void Customize(String fuctionality, PrivilegeObserver observer, List <Domain.Right> rights, bool readOnly = false)
 {
     base.Customize(fuctionality, observer, rights, readOnly);
     SaveButton.Visibility = System.Windows.Visibility.Collapsed;
 }
Example #11
0
        public virtual ApplicationMenu customize(PrivilegeObserver observer)
        {
            if (observer.user == null || !observer.user.active.Value)
            {
                return(null);
            }
            if (observer.user.IsAdmin())
            {
                return(this);
            }
            if (observer.user.profil == null || !observer.user.profil.active)
            {
                return(null);
            }
            String    code      = this.GetFunctionalityCode();
            RightType?rightType = this.RightType;

            if (!string.IsNullOrWhiteSpace(code))
            {
                if (rightType.HasValue)
                {
                    if (observer.hasPrivilege(code, rightType.Value))
                    {
                        return(this);
                    }
                }
                else if (observer.hasPrivilege(code))
                {
                    return(this);
                }
            }

            List <String> list = new List <String>(0);

            list.Add(FunctionalitiesCode.FILE_QUIT);
            list.Add(FunctionalitiesCode.FILE_SAVE);
            list.Add(FunctionalitiesCode.FILE_SAVE_AS);
            list.Add(FunctionalitiesCode.HELP);
            if (!string.IsNullOrWhiteSpace(code) && list.Contains(code))
            {
                return(this);
            }

            int           added    = 0;
            List <Object> controls = new List <Object>(0);

            foreach (Control control in Items)
            {
                if (control is ApplicationMenu)
                {
                    ApplicationMenu menu  = (ApplicationMenu)control;
                    ApplicationMenu other = menu.customize(observer);
                    if (other != null)
                    {
                        added++;
                    }
                    else
                    {
                        controls.Add(menu);
                    }
                }
            }
            foreach (Control control in controls)
            {
                Items.Remove(control);
            }
            if (added <= 0)
            {
                return(null);
            }
            return(this);
        }
Example #12
0
        public void InitializeBlocks()
        {
            observer = new PrivilegeObserver();

            this.ModelBlock = buildBlock(FunctionalitiesLabel.INITIATION_MODEL_LABEL, FunctionalitiesLabel.INITIATION_NEW_MODEL_LABEL, FunctionalitiesLabel.INITIATION_RECENT_MODEL_LABEL, FunctionalitiesCode.INITIATION_MODEL);

            this.TableBlock             = buildBlock(FunctionalitiesLabel.INPUT_TABLE_DASHBOARD_LABEL, FunctionalitiesLabel.NEW_INPUT_TABLE_LABEL, FunctionalitiesLabel.RECENT_INPUT_TABLE_LABEL, FunctionalitiesCode.INPUT_TABLE_EDIT);
            this.ReportBlock            = buildBlock(FunctionalitiesLabel.REPORT_TABLE_DASHBOARD_LABEL, FunctionalitiesLabel.NEW_REPORT_LABEL, FunctionalitiesLabel.RECENT_REPORT_LABEL, FunctionalitiesCode.REPORT_EDIT);
            this.StructuredReportBlock  = buildBlock(FunctionalitiesLabel.STRUCTURED_REPORT_DASHBOARD_LABEL, FunctionalitiesLabel.NEW_STRUCTURED_REPORT_LABEL, FunctionalitiesLabel.RECENT_STRUCTURED_REPORT_LABEL, FunctionalitiesCode.STRUCTURED_REPORT_EDIT);
            this.TreeBlock              = buildBlock(FunctionalitiesLabel.TRANSFORMATION_TREE_DASHBOARD_LABEL, FunctionalitiesLabel.NEW_TRANSFORMATION_TREE_LABEL, FunctionalitiesLabel.RECENT_TRANSFORMATION_TREE_LABEL, FunctionalitiesCode.TRANSFORMATION_TREE_EDIT);
            this.CombinedTreeBlock      = buildBlock(FunctionalitiesLabel.COMBINED_TRANSFORMATION_TREE_DASHBOARD_LABEL, FunctionalitiesLabel.NEW_COMBINED_TRANSFORMATION_TREES_LABEL, FunctionalitiesLabel.RECENT_TRANSFORMATION_TREE_LABEL, FunctionalitiesCode.COMBINED_TRANSFORMATION_TREES_EDIT);
            this.TargetBlock            = buildBlock(FunctionalitiesLabel.TARGET_DASHBOARD_LABEL, FunctionalitiesLabel.NEW_TARGET_LABEL, FunctionalitiesLabel.RECENT_TARGET_LABEL, FunctionalitiesCode.TARGET_EDIT);
            this.DesignBlock            = buildBlock(FunctionalitiesLabel.DESIGN_DASHBOARD_LABEL, FunctionalitiesLabel.NEW_DESIGN_LABEL, FunctionalitiesLabel.RECENT_TARGET_LABEL, FunctionalitiesCode.DESIGN_EDIT);
            this.CalculatedMeasureBlock = buildBlock(FunctionalitiesLabel.CALCULATED_MEASURE_DASHBOARD_LABEL, FunctionalitiesLabel.NEW_CALCULATED_MEASURE_LABEL, FunctionalitiesLabel.RECENT_CALCULATED_MEASURE_LABEL, FunctionalitiesCode.CALCULATED_MEASURE_EDIT);
            this.AutomaticUploadBlock   = buildBlock(FunctionalitiesLabel.AUTOMATIC_SOURCING_DASHBOARD_LABEL, FunctionalitiesLabel.NEW_AUTOMATIC_SOURCING_LABEL, FunctionalitiesLabel.RECENT_AUTOMATIC_SOURCING_LABEL, FunctionalitiesCode.AUTOMATIC_SOURCING_EDIT);
            this.InputGridBlock         = buildBlock(FunctionalitiesLabel.INPUT_GRID_LABEL, FunctionalitiesLabel.NEW_INPUT_GRID_LABEL, FunctionalitiesLabel.RECENT_INPUT_GRID_LABEL, FunctionalitiesCode.INPUT_TABLE_GRID_EDIT);
            this.ReportGridBlock        = buildBlock(FunctionalitiesLabel.REPORT_GRID_LABEL, FunctionalitiesLabel.NEW_REPORT_GRID_LABEL, FunctionalitiesLabel.RECENT_REPORT_GRID_LABEL, FunctionalitiesCode.REPORT_GRID_EDIT);
            this.AutomaticGridBlock     = buildBlock(FunctionalitiesLabel.AUTOMATIC_GRID_DASHBOARD_LABEL, FunctionalitiesLabel.NEW_AUTOMATIC_GRID_LABEL, FunctionalitiesLabel.RECENT_AUTOMATIC_GRID_LABEL, FunctionalitiesCode.AUTOMATIC_INPUT_TABLE_GRID_EDIT);
            this.AutomaticTargetBlock   = buildBlock(FunctionalitiesLabel.AUTOMATIC_TARGET_DASHBOARD_LABEL, FunctionalitiesLabel.NEW_AUTOMATIC_TARGET_LABEL, FunctionalitiesLabel.RECENT_AUTOMATIC_TARGET_LABEL, FunctionalitiesCode.AUTOMATIC_TARGET_EDIT);

            this.AutomaticEnrichmentTableBlock = buildBlock(FunctionalitiesLabel.AUTOMATIC_ENRICHMENT_TABLE_DASHBOARD_LABEL, FunctionalitiesLabel.NEW_AUTOMATIC_ENRICHMENT_TABLE_LABEL, FunctionalitiesLabel.RECENT_AUTOMATIC_ENRICHMENT_TABLE_LABEL, FunctionalitiesCode.AUTOMATIC_ENRICHMENT_TABLE_EDIT);
            this.EnrichmentTableBlock          = buildBlock(FunctionalitiesLabel.ENRICHMENT_TABLE_DASHBOARD_LABEL, FunctionalitiesLabel.NEW_ENRICHMENT_TABLE_LABEL, FunctionalitiesLabel.RECENT_ENRICHMENT_TABLE_LABEL, FunctionalitiesCode.ENRICHMENT_TABLE_EDIT);
            this.LinkedAttributeGridBlock      = buildBlock(FunctionalitiesLabel.LINKED_ATTRIBUTE_GRID_LABEL, FunctionalitiesLabel.LINKED_ATTRIBUTE_GRID_LABEL, FunctionalitiesLabel.RECENT_LINKED_ATTRIBUTE_GRID_LABEL, FunctionalitiesCode.LINKED_ATTRIBUTE_GRID);

            if (ApplicationManager.Instance.ApplcationConfiguration.IsReconciliationDomain())
            {
                this.ReconciliationFilterBlock = buildBlock(FunctionalitiesLabel.RECONCILIATION_FILTER_DASHBOARD_LABEL, FunctionalitiesLabel.NEW_RECONCILIATION_FILTER_LABEL, FunctionalitiesLabel.RECENT_RECONCILIATION_LABEL, FunctionalitiesCode.RECONCILIATION_FILTER_EDIT);
            }

            Dictionary <string, object> dico = new Dictionary <string, object>(0);

            if (this.AutomaticUploadBlock != null)
            {
                dico.Add(this.AutomaticUploadBlock.TitleLabel.Content.ToString(), this.AutomaticUploadBlock);
            }
            if (this.CalculatedMeasureBlock != null)
            {
                dico.Add(this.CalculatedMeasureBlock.TitleLabel.Content.ToString(), this.CalculatedMeasureBlock);
            }
            if (this.CombinedTreeBlock != null)
            {
                dico.Add(this.CombinedTreeBlock.TitleLabel.Content.ToString(), this.CombinedTreeBlock);
            }
            if (this.DesignBlock != null)
            {
                dico.Add(this.DesignBlock.TitleLabel.Content.ToString(), this.DesignBlock);
            }
            if (this.TableBlock != null)
            {
                dico.Add(this.TableBlock.TitleLabel.Content.ToString(), this.TableBlock);
            }
            if (this.ModelBlock != null)
            {
                dico.Add(this.ModelBlock.TitleLabel.Content.ToString(), this.ModelBlock);
            }
            if (this.ReportBlock != null)
            {
                dico.Add(this.ReportBlock.TitleLabel.Content.ToString(), this.ReportBlock);
            }
            if (this.StructuredReportBlock != null)
            {
                dico.Add(this.StructuredReportBlock.TitleLabel.Content.ToString(), this.StructuredReportBlock);
            }
            if (this.TargetBlock != null)
            {
                dico.Add(this.TargetBlock.TitleLabel.Content.ToString(), this.TargetBlock);
            }
            if (this.TreeBlock != null)
            {
                dico.Add(this.TreeBlock.TitleLabel.Content.ToString(), this.TreeBlock);
            }
            if (this.AutomaticGridBlock != null)
            {
                dico.Add(this.AutomaticGridBlock.TitleLabel.Content.ToString(), this.AutomaticGridBlock);
            }
            if (this.InputGridBlock != null)
            {
                dico.Add(this.InputGridBlock.TitleLabel.Content.ToString(), this.InputGridBlock);
            }
            if (this.ReportGridBlock != null)
            {
                dico.Add(this.ReportGridBlock.TitleLabel.Content.ToString(), this.ReportGridBlock);
            }
            if (this.AutomaticTargetBlock != null)
            {
                dico.Add(this.AutomaticTargetBlock.TitleLabel.Content.ToString(), this.AutomaticTargetBlock);
            }
            if (this.ReconciliationFilterBlock != null)
            {
                dico.Add(this.ReconciliationFilterBlock.TitleLabel.Content.ToString(), this.TreeBlock);
            }
            if (this.AutomaticEnrichmentTableBlock != null)
            {
                dico.Add(this.AutomaticEnrichmentTableBlock.TitleLabel.Content.ToString(), this.TreeBlock);
            }
            if (this.EnrichmentTableBlock != null)
            {
                dico.Add(this.EnrichmentTableBlock.TitleLabel.Content.ToString(), this.TreeBlock);
            }
            if (this.LinkedAttributeGridBlock != null)
            {
                dico.Add(this.LinkedAttributeGridBlock.TitleLabel.Content.ToString(), this.LinkedAttributeGridBlock);
            }
            this.MultiSelectorCombobox.ItemsSource      = dico;
            this.MultiSelectorCombobox.checkBoxHandler -= OnSelectionChanged;
            this.MultiSelectorCombobox.checkBoxHandler += OnSelectionChanged;
        }