Пример #1
0
        // Tags

        #region DisplayCategoryTree
        private void DisplayCategoryTree()
        {
            bool boolUserAssignedToTask = false;
            HelpDeskDALDataContext objHelpDeskDALDataContext = new HelpDeskDALDataContext();

            HelpDesk_Task objHelpDesk_Tasks = (from HelpDesk_Tasks in objHelpDeskDALDataContext.HelpDesk_Tasks
                                               where HelpDesk_Tasks.TaskID == Convert.ToInt32(Request.QueryString["TaskID"])
                                               select HelpDesk_Tasks).FirstOrDefault();

            //Is user in the Assigned Role?
            RoleController objRoleController = new RoleController();
            RoleInfo       objRoleInfo       = objRoleController.GetRole(objHelpDesk_Tasks.AssignedRoleID, PortalId);

            if (objRoleInfo != null)
            {
                if (UserInfo.IsInRole(objRoleInfo.RoleName))
                {
                    boolUserAssignedToTask = true;
                }
            }

            if (boolUserAssignedToTask || UserInfo.IsInRole(GetAdminRole()) || UserInfo.IsInRole("Administrators") || UserInfo.IsSuperUser)
            {
                // Show all Tags
                TagsTreeExistingTasks.Visible     = true;
                TagsTreeExistingTasks.TagID       = Convert.ToInt32(Request.QueryString["TaskID"]);
                TagsTreeExistingTasks.DisplayType = "Administrator";
                TagsTreeExistingTasks.Expand      = false;
            }
            else
            {
                // Show only Visible Tags
                TagsTreeExistingTasks.Visible     = true;
                TagsTreeExistingTasks.TagID       = Convert.ToInt32(Request.QueryString["TaskID"]);
                TagsTreeExistingTasks.DisplayType = "Requestor";
                TagsTreeExistingTasks.Expand      = false;
            }

            // Select Existing values
            if (objHelpDesk_Tasks.HelpDesk_TaskCategories.Select(x => x.CategoryID).ToArray <int>().Count() > 0)
            {
                int[]  ArrStrCategories = objHelpDesk_Tasks.HelpDesk_TaskCategories.Select(x => x.CategoryID).ToArray <int>();
                int?[] ArrIntHelpDesk   = Array.ConvertAll <int, int?>(ArrStrCategories, new Converter <int, int?>(ConvertToNullableInt));

                TagsTreeExistingTasks.SelectedCategories = ArrIntHelpDesk;
            }

            // Set visibility of Tags
            bool RequestorR7_HelpDesk = (TagsTreeExistingTasks.DisplayType == "Administrator") ? false : true;

            int CountOfHelpDesk = (from WebserverCategories in CategoriesTable.GetCategoriesTable(PortalId, RequestorR7_HelpDesk)
                                   where WebserverCategories.PortalID == PortalId
                                   where WebserverCategories.Level == 1
                                   select WebserverCategories).Count();

            imgTags.Visible    = (CountOfHelpDesk > 0);
            lbltxtTags.Visible = (CountOfHelpDesk > 0);
        }
Пример #2
0
        private int SaveTicketForm()
        {
            HelpDeskDALDataContext objHelpDeskDALDataContext = new HelpDeskDALDataContext();

            HelpDesk_Task objHelpDesk_Task = (from HelpDesk_Tasks in objHelpDeskDALDataContext.HelpDesk_Tasks
                                              where HelpDesk_Tasks.TaskID == Convert.ToInt32(Request.QueryString["TaskID"])
                                              select HelpDesk_Tasks).FirstOrDefault();

            // Save original Assigned Group
            int intOriginalAssignedGroup = objHelpDesk_Task.AssignedRoleID;

            // Save Task
            objHelpDesk_Task.Status         = ddlStatus.SelectedValue;
            objHelpDesk_Task.Description    = txtDescription.Text;
            objHelpDesk_Task.PortalID       = PortalId;
            objHelpDesk_Task.Priority       = ddlPriority.SelectedValue;
            objHelpDesk_Task.RequesterPhone = txtPhone.Text;
            objHelpDesk_Task.AssignedRoleID = Convert.ToInt32(ddlAssigned.SelectedValue);

            // Only validate Name and email if Ticket is not for a DNN user
            // lblName will be hidden if it is not a DNN user
            if (lblName.Visible == false)
            {
                // not a DNN user
                objHelpDesk_Task.RequesterEmail  = txtEmail.Text;
                objHelpDesk_Task.RequesterName   = txtName.Text;
                objHelpDesk_Task.RequesterUserID = -1;
            }

            // DueDate
            if (txtDueDate.Text.Trim().Length > 1)
            {
                objHelpDesk_Task.DueDate = Convert.ToDateTime(txtDueDate.Text.Trim());
            }
            else
            {
                objHelpDesk_Task.DueDate = null;
            }

            // EstimatedStart
            if (txtStart.Text.Trim().Length > 1)
            {
                objHelpDesk_Task.EstimatedStart = Convert.ToDateTime(txtStart.Text.Trim());
            }
            else
            {
                objHelpDesk_Task.EstimatedStart = null;
            }

            // EstimatedCompletion
            if (txtComplete.Text.Trim().Length > 1)
            {
                objHelpDesk_Task.EstimatedCompletion = Convert.ToDateTime(txtComplete.Text.Trim());
            }
            else
            {
                objHelpDesk_Task.EstimatedCompletion = null;
            }

            // EstimatedHours
            if (txtEstimate.Text.Trim().Length > 0)
            {
                objHelpDesk_Task.EstimatedHours = Convert.ToInt32(txtEstimate.Text.Trim());
            }
            else
            {
                objHelpDesk_Task.EstimatedHours = null;
            }

            objHelpDeskDALDataContext.SubmitChanges();

            // Notify Assigned Group
            if (Convert.ToInt32(ddlAssigned.SelectedValue) > -1)
            {
                // Only notify if Assigned group has changed
                if (intOriginalAssignedGroup != Convert.ToInt32(ddlAssigned.SelectedValue))
                {
                    NotifyAssignedGroupOfAssignment();
                }
            }

            // Insert Log
            Log.InsertLog(objHelpDesk_Task.TaskID, UserId, String.Format(Localization.GetString("UpdatedTicket.Text", LocalResourceFile), UserInfo.DisplayName));

            return(objHelpDesk_Task.TaskID);
        }
Пример #3
0
        // Display Ticket Data

        #region DisplayTicketData
        private void DisplayTicketData()
        {
            HelpDeskDALDataContext objHelpDeskDALDataContext = new HelpDeskDALDataContext();

            HelpDesk_Task objHelpDesk_Tasks = (from HelpDesk_Tasks in objHelpDeskDALDataContext.HelpDesk_Tasks
                                               where HelpDesk_Tasks.TaskID == Convert.ToInt32(Request.QueryString["TaskID"])
                                               select HelpDesk_Tasks).FirstOrDefault();

            // Name is editable only if user is Anonymous
            if (objHelpDesk_Tasks.RequesterUserID == -1)
            {
                txtEmail.Visible = true;
                txtName.Visible  = true;
                lblEmail.Visible = false;
                lblName.Visible  = false;
                txtEmail.Text    = objHelpDesk_Tasks.RequesterEmail;
                txtName.Text     = objHelpDesk_Tasks.RequesterName;
            }
            else
            {
                txtEmail.Visible = false;
                txtName.Visible  = false;
                lblEmail.Visible = true;
                lblName.Visible  = true;


                UserInfo objRequester =                 //UserController.GetUser(PortalId, objHelpDesk_Tasks.RequesterUserID, false);
                                        UserController.GetUserById(PortalId, objHelpDesk_Tasks.RequesterUserID);

                if (objRequester != null)
                {
                    lblEmail.Text = objRequester.Email;                     // UserController.GetUser(PortalId, objHelpDesk_Tasks.RequesterUserID, false).Email;
                    lblName.Text  = objRequester.DisplayName;               // UserController.GetUser(PortalId, objHelpDesk_Tasks.RequesterUserID, false).DisplayName;
                }
                else
                {
                    lblName.Text = "[User Deleted]";
                }
            }

            lblTask.Text              = objHelpDesk_Tasks.TaskID.ToString();
            lblCreated.Text           = String.Format(Localization.GetString("Created.Text", LocalResourceFile), objHelpDesk_Tasks.CreatedDate.ToShortDateString(), objHelpDesk_Tasks.CreatedDate.ToShortTimeString());
            ddlStatus.SelectedValue   = objHelpDesk_Tasks.Status;
            ddlPriority.SelectedValue = objHelpDesk_Tasks.Priority;
            txtDescription.Text       = objHelpDesk_Tasks.Description;
            txtPhone.Text             = objHelpDesk_Tasks.RequesterPhone;
            txtDueDate.Text           = (objHelpDesk_Tasks.DueDate.HasValue) ? objHelpDesk_Tasks.DueDate.Value.ToShortDateString() : "";
            txtStart.Text             = (objHelpDesk_Tasks.EstimatedStart.HasValue) ? objHelpDesk_Tasks.EstimatedStart.Value.ToShortDateString() : "";
            txtComplete.Text          = (objHelpDesk_Tasks.EstimatedCompletion.HasValue) ? objHelpDesk_Tasks.EstimatedCompletion.Value.ToShortDateString() : "";
            txtEstimate.Text          = (objHelpDesk_Tasks.EstimatedHours.HasValue) ? objHelpDesk_Tasks.EstimatedHours.Value.ToString() : "";

            ListItem TmpRoleListItem = ddlAssigned.Items.FindByValue(objHelpDesk_Tasks.AssignedRoleID.ToString());

            if (TmpRoleListItem == null)
            {
                // Value was not found so add it
                RoleController objRoleController = new RoleController();
                RoleInfo       objRoleInfo       = objRoleController.GetRole(objHelpDesk_Tasks.AssignedRoleID, PortalId);

                if (objRoleInfo != null)
                {
                    ListItem RoleListItem = new ListItem();
                    RoleListItem.Text  = objRoleInfo.RoleName;
                    RoleListItem.Value = objHelpDesk_Tasks.AssignedRoleID.ToString();
                    ddlAssigned.Items.Add(RoleListItem);

                    ddlAssigned.SelectedValue = objHelpDesk_Tasks.AssignedRoleID.ToString();
                }
                else
                {
                    // Role no longer exists in Portal
                    ddlAssigned.SelectedValue = "-1";
                }
            }
            else
            {
                // The Value already exists so set it
                ddlAssigned.SelectedValue = objHelpDesk_Tasks.AssignedRoleID.ToString();
            }
        }
Пример #4
0
        private bool CheckSecurity()
        {
            bool boolPassedSecurity = false;
            HelpDeskDALDataContext objHelpDeskDALDataContext = new HelpDeskDALDataContext();

            HelpDesk_Task objHelpDesk_Tasks = (from HelpDesk_Tasks in objHelpDeskDALDataContext.HelpDesk_Tasks
                                               where HelpDesk_Tasks.TaskID == Convert.ToInt32(Request.QueryString["TaskID"])
                                               select HelpDesk_Tasks).FirstOrDefault();

            if (objHelpDesk_Tasks == null)
            {
                pnlEditTask.Visible = false;
                Response.Redirect(DotNetNuke.Common.Globals.NavigateURL());
            }

            // User not logged in
            if (UserId == -1)
            {
                // Must have the valid password
                if (Request.QueryString["TP"] != null)
                {
                    // Check the password for this Ticket
                    if (objHelpDesk_Tasks.TicketPassword == Convert.ToString(Request.QueryString["TP"]))
                    {
                        boolPassedSecurity = true;
                    }
                    else
                    {
                        boolPassedSecurity = false;
                    }
                }
            }

            // User is logged in
            if (UserId > -1)
            {
                // Is user an Admin?
                string strAdminRoleID = GetAdminRole();
                if (UserInfo.IsInRole(strAdminRoleID) || UserInfo.IsInRole("Administrators") || UserInfo.IsSuperUser)
                {
                    boolPassedSecurity       = true;
                    CommentsControl.ViewOnly = false;
                }

                // Is user the Requestor?
                if (UserId == objHelpDesk_Tasks.RequesterUserID)
                {
                    boolPassedSecurity = true;
                }

                //Is user in the Assigned Role?
                RoleController objRoleController = new RoleController();
                RoleInfo       objRoleInfo       = objRoleController.GetRole(objHelpDesk_Tasks.AssignedRoleID, PortalId);
                if (objRoleInfo != null)
                {
                    if (UserInfo.IsInRole(objRoleInfo.RoleName))
                    {
                        boolPassedSecurity       = true;
                        CommentsControl.ViewOnly = false;
                    }
                }

                // Does user have a valid temporary password?
                if (Request.QueryString["TP"] != null)
                {
                    // Check the password for this Ticket
                    if (objHelpDesk_Tasks.TicketPassword == Convert.ToString(Request.QueryString["TP"]))
                    {
                        boolPassedSecurity = true;
                    }
                    else
                    {
                        boolPassedSecurity = false;
                    }
                }
            }

            return(boolPassedSecurity);
        }