private void GetContextData()
		{
			if (Context.Items[Common.Names._CNTXT_EditMode] != null)
				_editMode = (EditMode)Context.Items[Common.Names._CNTXT_EditMode];
			else
				_editMode = EditMode.Add;

			if (_editMode == EditMode.Edit)
			{
				_termGroupId = (Guid)Context.Items[Common.Names._CNTXT_TermGroupId];
				_termGroup = _template.FindTermGroup(_termGroupId);
			}
			else
			{
				_termGroup = new TermGroup(Helper.GetDefaultTermGroupName(_template),String.Empty, _template.SecurityModel,Business.TermGroup.TermGroupType.AdvancedBasicTerm);
				_termGroupId = _termGroup.ID;
			}
		}
		//Generate the Comments collection (of N) based on an existing Template
        public static List<TermGroup> Create(XmlDocument xmlTemplateDoc)
		{
            List<TermGroup> termGroups = new List<TermGroup>();

			XmlNodeList nodeTermGroups = xmlTemplateDoc.SelectNodes(Utility.XMLHelper.GetXPath(true, XMLNames._E_TemplateDef, XMLNames._E_TermGroups, XMLNames._E_TermGroup));
			if (nodeTermGroups != null)
			{
                int order = 0;
				foreach (XmlNode nodeTermGroup in nodeTermGroups)
				{
                    TermGroup termGroup = new TermGroup(nodeTermGroup);
                    termGroup.Order = order++;
                    termGroups.Add(termGroup);
				}
			}
			//termGroups.Sort();
            //If the TermGroups are not defined, then assume that Basic Security applies
            if (termGroups.Count == 0)
            {
                termGroups.Add(new TermGroup(null, String.Empty, SecurityModel.Basic, TermGroup.TermGroupType.BasicSecurity));
            }
			return termGroups;
		}
        public bool CanAccessTermGroup(TermGroup termGroup, List<string> userRoles)
        {
			return CanAccessTermGroup(termGroup.ID, userRoles);
        }
Example #4
0
		public static bool Equals(TermGroup a, TermGroup b)
		{
			if ((object)a == null)
			    return ((object)b == null);
			if ((object)b == null)
			    return false;
            return a.ID.Equals(b.ID);
		}
Example #5
0
		public bool Equals(TermGroup other)
		{
            if ((object)other == null)
                return false;
			return ID.Equals(other.ID);
		}
		private ManagedItemProfilePanel RenderControls(TermGroup tg)
		{
			ManagedItemProfilePanel mipp = (ManagedItemProfilePanel)LoadControl(Common.Names._UC_ManagedItemProfilePanel);
			mipp.TermGroup = tg;
            Dictionary<Guid /*TermGroupID*/, bool /*CanEdit*/> canEditTermGroup = BuildEditableTermGroups();
            foreach (Business.Term term in _managedItem.FindAllBasicTerms(tg))
			{
                switch (term.TermType)
                {
                    case TermType.PlaceHolderAttachments:
                        if (_managedItem.AllowAttachments)
                            RenderAttachments(mipp.TermsTable, term.TermGroupID);
                        break;
                    case TermType.PlaceHolderComments:
                        if (_managedItem.AllowComments)
                            RenderComments(mipp.TermsTable, term.TermGroupID);
                        break;
                    default:
                        BaseProfileControl c = CreateControl(term, canEditTermGroup[term.TermGroupID]);
                        if (c != null)
                        {
                            TableRow row = new TableRow();

                            TableCell cellLabel = new TableCell();
                            Helper.FormatCaptionCell(cellLabel, term);
                            row.Cells.Add(cellLabel);

                            TableCell cellValue = new TableCell();
                            Helper.FormatDataCell(cellValue, true);
                            cellValue.Controls.Add(c);
                            row.Cells.Add(cellValue);

                            mipp.TermsTable.Rows.Add(row);
                        }
                        break;
                }
			}
			return mipp;
		}
Example #7
0
 public Guid AddTermGroup(string name, string description, SecurityModel securityModel, Business.TermGroup.TermGroupType termGroupType)
 {
     TermGroup termGroup = new TermGroup(name, description, securityModel, termGroupType);
     TermGroups.Add(termGroup);
     foreach (Workflow workflow in Workflows)
     {
         foreach (State state in workflow.States)
         {
             state.AddTermGroup(termGroup.ID, true);
         }
     }
     return termGroup.ID;
 }
Example #8
0
 public List<Term> FindAllBasicTerms(TermGroup tg)
 {
     List<Term> rtn = new List<Term>();
     foreach (Term t in BasicTerms)
         if (t.TermGroupID == tg.ID)
             rtn.Add(t);
     return rtn;
 }
Example #9
0
 public List<TermGroup> GetTermGroups(TermGroup.TermGroupType type)
 {
     Predicate<TermGroup> p = delegate(TermGroup tg) { return (tg.Type == type); };
     return TermGroups.FindAll(p);
 }
Example #10
0
 public TermGroup FindTermGroup(TermGroup.TermGroupType type)
 {
     Predicate<TermGroup> p = delegate(TermGroup tg) { return (tg.Type == type); };
     return TermGroups.Find(p);
 }
 protected override void LoadViewState(object savedState)
 {
     base.LoadViewState(savedState);
     _managedItem = (Business.ManagedItem)ViewState[VSKEY_MANAGEDITEM];
     if (ViewState[VSKEY_ACTIVETERMGROUPID] != null)
     {
         Guid activeTermGroupId = (Guid)ViewState[VSKEY_ACTIVETERMGROUPID];
         ActiveTermGroup = _managedItem.FindTermGroup(activeTermGroupId);
     }
     else
         ActiveTermGroup = null;
     _isChanged = bool.Parse(Request.Form[_KH_K_HF_IS_CHANGED]);
 }
 protected virtual void GetManagedItem()
 {
     string qsValue = Request.QueryString[Common.Names._QS_MANAGED_ITEM_ID];
     bool loadComplexLists = false;
     _managedItem = Business.ManagedItem.Get(new Guid(qsValue), loadComplexLists);
     string qsTermGroup = Request.QueryString[Common.Names._QS_MANAGED_ITEM_TERMGROUP];
     if (_securityHelper == null)
         _securityHelper = new SecurityHelper(_itatSystem);
     if (string.IsNullOrEmpty(qsTermGroup))
     {
         bool isAdmin = Utility.ListHelper.HaveAMatch(_itatSystem.AllowedRoles(Business.XMLNames._AF_AdminViewer), _securityHelper.UserRoles);
         ActiveTermGroup = _managedItem.GetDefaultTermGroup(_securityHelper.UserRoles, isAdmin);
         try
         {
             Guid guid = ActiveTermGroup.ID;
         }
         catch (Exception)
         {
             UnauthorizedPageAccess();
         }
     }
     else
     {
         ActiveTermGroup = _managedItem.FindTermGroup(new Guid(qsTermGroup));
         if (ActiveTermGroup == null)
             throw new Exception(string.Format("Term Group ID {0} not found.", qsTermGroup));
         if (!_managedItem.CanAccessTermGroup(ActiveTermGroup, _securityHelper.UserRoles))
         {
             if (!Utility.ListHelper.HaveAMatch(_itatSystem.AllowedRoles(Business.XMLNames._AF_AdminViewer), _securityHelper.UserRoles))
                 UnauthorizedPageAccess();
         }
     }
 }
		protected override void LoadViewState(object savedState)
		{
			base.LoadViewState(savedState);
			_editMode = (EditMode)ViewState[_KH_VS_EDITMODE];
			_termGroup = (TermGroup)ViewState[_KH_VS_TERMGROUP];
		}