Exemple #1
0
        /// <summary>
        /// Event handler that gets called when the set rights button is clicked.
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        protected void ChangeMemberRights(object sender, EventArgs e)
        {
            Rights rights = GetSelectedMemberRights();

            foreach (string memberID in CheckedMembers.Keys)
            {
                try
                {
                    web.SetMemberRights(iFolderID, memberID, rights);
                }
                catch (Exception ex)
                {
                    string memberName = CheckedMembers[memberID] as String;
                    TopNav.ShowError(String.Format(GetString("ERRORCANNOTCHANGERIGHTS"), memberName), ex);
                    return;
                }
            }

            // Clear the checked members.
            CheckedMembers.Clear();
            MembersChecked = false;

            // Disable the action buttons.
            EnableMemberActionButtons = EnableOwnerActionButton = false;

            // Rebind the data source with the new data.
            GetiFolderMembers();
        }
Exemple #2
0
        /// <summary>
        /// Event handler that gets called when the delete member button is clicked.
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        protected void DeleteiFolderMembers(Object sender, EventArgs e)
        {
            foreach (string memberID in CheckedMembers.Keys)
            {
                try
                {
                    web.RemoveMember(iFolderID, memberID);
                }
                catch (Exception ex)
                {
                    string memberName = CheckedMembers[memberID] as String;
                    TopNav.ShowError(String.Format(GetString("ERRORCANNOTDELETEMEMBERS"), memberName), ex);
                    return;
                }
            }

            // Clear the checked members.
            CheckedMembers.Clear();
            MembersChecked = false;

            // Disable the action buttons.
            EnableMemberActionButtons = EnableOwnerActionButton = false;

            // Rebind the data source with the new data.
            GetiFolderMembers();
        }
Exemple #3
0
        /// <summary>
        /// Event handler that gets called when the all admins checkbox is checked.
        /// </summary>
        /// <param name="source"></param>
        /// <param name="e"></param>
        protected void OnAllAdminsChecked(object source, EventArgs e)
        {
            CheckBox checkBox = source as CheckBox;

            foreach (DataGridItem item in AdminList.Items)
            {
                // In order to be checked, the row must not be empty.
                string memberID = item.Cells[0].Text;
                if (memberID != "&nbsp;")
                {
                    if (!IsSuperAdmin(memberID))
                    {
                        if (checkBox.Checked)
                        {
                            switch (ActiveAdminTab)
                            {
                            case ListDisplayType.GroupAdmins:
                                DeleteButton.Enabled = (CheckedMembers.Count == 1);
                                EditButton.Visible   = true;
                                EditButton.Enabled   = (CheckedMembers.Count == 1);
                                break;

                            case ListDisplayType.PrimaryAdmins:
                            default:
                                CheckedMembers[memberID] = item.Cells[4].Text;
                                DeleteButton.Enabled     = (CheckedMembers.Count > 0);
                                EditButton.Visible       = false;
                                break;
                            }
                        }
                        else
                        {
                            switch (ActiveAdminTab)
                            {
                            case ListDisplayType.GroupAdmins:
                                DeleteButton.Enabled = (CheckedMembers.Count == 1);
                                EditButton.Visible   = true;
                                EditButton.Enabled   = (CheckedMembers.Count == 1);
                                break;

                            case ListDisplayType.PrimaryAdmins:
                            default:
                                // Remove this member from the list.
                                CheckedMembers.Remove(memberID);
                                DeleteButton.Enabled = (CheckedMembers.Count > 0);
                                EditButton.Visible   = false;
                                break;
                            }
                        }
                    }
                }
            }

            // See if there are any checked members.
            DeleteButton.Enabled = (CheckedMembers.Count > 0);

            // Rebind the data source with the new data.
            GetiFolderAdminList();
        }
Exemple #4
0
        /// <summary>
        /// Event handler that gets called when the change owner button is clicked.
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        protected void ChangeOwner(object sender, EventArgs e)
        {
            // Get the checked user. There must only be one.
            IEnumerator enumerator = CheckedMembers.Keys.GetEnumerator();

            if (enumerator.MoveNext())
            {
                string memberID = enumerator.Current as string;
                try
                {
                    //check for no of ifolders per user limit policy for the user who is taking up Ownership
                    if (web.GetiFolderLimitPolicyStatus(memberID) != 1)
                    {
                        TopNav.ShowError(GetString("ERRORIFOLDERTRANSFEREXCEPTION"));
                        return;
                    }

                    //Check for the location of this ifolder, if location is not on this server then change the URL
                    iFolderLocation = web.GetiFolderLocation(iFolderID);
                    UriBuilder remoteurl = new UriBuilder(iFolderLocation);
                    remoteurl.Path = (new Uri(web.Url)).PathAndQuery;
                    web.Url        = remoteurl.Uri.ToString();

                    web.SetiFolderOwner(iFolderID, memberID, (AdoptButton.Visible && !AdoptButton.Enabled));
                }
                catch (Exception ex)
                {
                    TopNav.ShowError(GetString("ERRORCANNOTCHANGEOWNER"), ex);
                    return;
                }

                // Show the new owner in the page.
                Owner.Text        = CheckedMembers[memberID] as string;
                Owner.NavigateUrl = String.Format("UserDetails.aspx?id={0}", memberID);

                //if orphaned property was removed then the buttons are changed
                string IsOrphaned = web.IsOrphanediFolder(iFolderID);

                if (IsOrphaned.Equals(""))
                {
                    Orphan.Text         = GetString("NO");
                    AdoptButton.Text    = GetString("ADOPT");
                    AdoptButton.Visible = false;
                }
            }

            // Clear the checked members.
            CheckedMembers.Clear();
            MembersChecked = false;

            // Disable the action buttons.
            EnableMemberActionButtons = EnableOwnerActionButton = false;

            //string ifolderName = GetiFolderDetails();

            // Rebind the data source with the new data.
            GetiFolderMembers();
        }
Exemple #5
0
        /// <summary>
        /// Event handler that gets called when the check all members checkbox is selected.
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        protected void AllMembersChecked(object sender, EventArgs e)
        {
            CheckBox checkBox = sender as CheckBox;
            string   memberID = null;

            foreach (DataGridItem item in iFolderMemberList.Items)
            {
                // In order to be checked, the row must not be empty or must not be
                // the owner of the ifolder.
                memberID = item.Cells[0].Text;
                if ((memberID != "&nbsp;") && (item.Cells[1].Text != "True"))
                {
                    if (checkBox.Checked)
                    {
                        CheckedMembers[memberID] = item.Cells[4].Text;
                    }
                    else
                    {
                        // Remove this member from the list.
                        CheckedMembers.Remove(memberID);
                    }
                }
            }

            string PossibleOwner = null;

            if (CheckedMembers.Count == 1)
            {
                // before enabling owner button lets get the memberid to check if he can be owner or not
                foreach (string tmpmemberID in CheckedMembers.Keys)
                {
                    PossibleOwner = tmpmemberID;
                }
            }

            // See if there are any checked members.
            EnableMemberActionButtons = ((CheckedMembers.Count > 0) && (!AdoptButton.Visible || AdoptButton.Enabled) && MemberRightsChangeAllowed);
            EnableOwnerActionButton   = ((CheckedMembers.Count == 1) && GetOwnerButtonActionStatus(PossibleOwner) && (!AdoptButton.Visible && AdoptButton.Enabled) && MemberRightsChangeAllowed);
            MembersChecked            = checkBox.Checked;

            // Rebind the data source with the new data.
            GetiFolderMembers(AdoptButton.Visible && !AdoptButton.Enabled && AdoptButtonClicked);
        }
Exemple #6
0
        /// <summary>
        /// Event handler that gets called when an ifolder member is checked.
        /// </summary>
        /// <param name="source"></param>
        /// <param name="e"></param>
        protected void MemberChecked(object source, EventArgs e)
        {
            // Get the data grid row for this member.
            CheckBox     checkBox = source as CheckBox;
            DataGridItem item     = checkBox.Parent.Parent as DataGridItem;
            string       memberID = item.Cells[0].Text;

            if (memberID != "&nbsp;")
            {
                // Member is being added.
                if (checkBox.Checked)
                {
                    CheckedMembers[memberID] = item.Cells[4].Text;
                }
                else
                {
                    // Remove this member from the list.
                    CheckedMembers.Remove(memberID);
                }
            }

            string PossibleOwner = null;

            if (CheckedMembers.Count == 1)
            {
                // before enabling owner button lets get the memberid to check if he can be owner or not
                foreach (string tmpmemberID in CheckedMembers.Keys)
                {
                    PossibleOwner = tmpmemberID;
                }
            }

            // See if there are any checked members.
            EnableMemberActionButtons = ((CheckedMembers.Count > 0) && (!AdoptButton.Visible || AdoptButton.Enabled) && MemberRightsChangeAllowed);
            EnableOwnerActionButton   = (CheckedMembers.Count == 1 && GetOwnerButtonActionStatus(PossibleOwner) && !(AdoptButton.Visible && AdoptButton.Enabled) && MemberRightsChangeAllowed);
        }
Exemple #7
0
        /// <summary>
        /// Event handler that gets called when the delete admin button is clicked.
        /// </summary>
        /// <param name="source"></param>
        /// <param name="e"></param>
        protected void OnDeleteButton_Click(object source, EventArgs e)
        {
            switch (ActiveAdminTab)
            {
            case ListDisplayType.GroupAdmins:

                string op = "deletesecondaryadmin";
                foreach (string memberID in CheckedMembers.Keys)
                {
                    Response.Redirect(
                        String.Format(
                            "MemberSelect.aspx?op={0}&secondaryadminid={1}",
                            op, memberID));

                    // delete secondary admin can be done only for one at a time
                    //return;
                    return;
                }
                break;

            case ListDisplayType.PrimaryAdmins:
            default:
                foreach (string memberID in CheckedMembers.Keys)
                {
                    try
                    {
                        iFolderUser user = web.GetUser(memberID);
                        if (user.MemberRights == Rights.Admin)
                        {
                            web.RemoveAdministrator(memberID);
                        }
                    }
                    catch (Exception ex)
                    {
                        string name = CheckedMembers[memberID] as String;
                        TopNav.ShowError(String.Format(GetString("ERRORCANNOTREMOVEADMIN"), name), ex);
                        return;
                    }
                }
                // Clear the checked members.
                CheckedMembers.Clear();
                AllAdminsCheckBox.Checked = false;

                // Disable the action buttons.
                DeleteButton.Enabled = false;

                // Rebind the data source with the new data.
                GetiFolderAdminList();
                break;
            }

            // Clear the checked members.
            //CheckedMembers.Clear();
            //AllAdminsCheckBox.Checked = false;

            // Disable the action buttons.
            //DeleteButton.Enabled = false;

            // Rebind the data source with the new data.
            //GetiFolderAdminList();
        }
Exemple #8
0
        /// <summary>
        /// Event handler that gets called when the add admin button is clicked.
        /// </summary>
        /// <param name="source"></param>
        /// <param name="e"></param>
        //protected void OnAddSecButton_Click( object source, EventArgs e )
        //{
        //switch(ActiveAdminTab)
        //{
        //	case ListDisplayType.GroupAdmins:
        //			Response.Redirect( "MemberSelect.aspx?op=addsecondaryadmin", true );
        //		break;
        //	case ListDisplayType.AllAdmins:
        //	default:
        //		Response.Redirect( "MemberSelect.aspx?op=addadmin", true );
        //		break;
        //}
        //}

        /// <summary>
        /// Event handler that gets called when the admin checkbox is checked.
        /// </summary>
        /// <param name="source"></param>
        /// <param name="e"></param>
        protected void OnAdminChecked(object source, EventArgs e)
        {
            // Get the data grid row for this member.
            CheckBox     checkBox = source as CheckBox;
            DataGridItem item     = checkBox.Parent.Parent as DataGridItem;
            string       memberID = item.Cells[0].Text;

            if (memberID != "&nbsp;")
            {
                // Member is being added.
                if (checkBox.Checked)
                {
                    switch (ActiveAdminTab)
                    {
                    case ListDisplayType.GroupAdmins:
                        //foreach( DataGridItem itemcb in AdminList.Items )
                        //{
                        //itemcb.Cells[ 1 ].Enabled = false;
                        //}
                        //checkBox.Enabled = true;
                        //checkBox.Checked = true;
                        CheckedMembers[memberID] = item.Cells[4].Text;

                        EditButton.Visible   = true;
                        EditButton.Enabled   = (CheckedMembers.Count == 1);
                        DeleteButton.Enabled = (CheckedMembers.Count == 1);
                        break;

                    case ListDisplayType.PrimaryAdmins:
                    default:
                        CheckedMembers[memberID] = item.Cells[4].Text;
                        EditButton.Visible       = false;
                        DeleteButton.Enabled     = (CheckedMembers.Count > 0);
                        break;
                    }
                    //CheckedMembers[ memberID ] = item.Cells[ 4 ].Text;
                }
                else
                {
                    // Remove this member from the list.
                    switch (ActiveAdminTab)
                    {
                    case ListDisplayType.GroupAdmins:
                        //foreach( DataGridItem itemcb in AdminList.Items )
                        //{
                        //	itemcb.Cells[ 1 ].Enabled = true;
                        //}
                        CheckedMembers.Remove(memberID);
                        DeleteButton.Enabled = (CheckedMembers.Count == 1);
                        EditButton.Visible   = true;
                        EditButton.Enabled   = (CheckedMembers.Count == 1);
                        break;

                    case ListDisplayType.PrimaryAdmins:
                    default:
                        // See if there are any checked members.
                        CheckedMembers.Remove(memberID);
                        DeleteButton.Enabled = (CheckedMembers.Count > 0);
                        EditButton.Visible   = false;
                        break;
                    }
                    //CheckedMembers.Remove( memberID );
                }
            }

            // See if there are any checked members.
            //DeleteButton.Enabled = ( CheckedMembers.Count > 0 );
        }
Exemple #9
0
 /// <summary>
 /// Gets whether the admin is checked.
 /// </summary>
 /// <param name="id"></param>
 /// <returns></returns>
 protected bool GetAdminCheckedState(object id)
 {
     return(CheckedMembers.ContainsKey(id) ? true : false);
 }
Exemple #10
0
 /// <summary>
 /// Returns the checked state for the specified member.
 /// </summary>
 /// <param name="memberID">ID of the member</param>
 /// <returns>True if user is to be added.</returns>
 protected bool GetMemberCheckedState(Object memberID)
 {
     return(CheckedMembers.ContainsKey(memberID) ? true : false);
 }