Exemplo n.º 1
0
        public override bool CanReadEntity(Task task, Guid userId)
        {
            if (task == null || !ProjectSecurityProject.CanReadEntity(task.Project, userId))
            {
                return(false);
            }

            if (task.Responsibles.Contains(userId))
            {
                return(true);
            }

            if (!CanReadEntities(task.Project, userId))
            {
                return(false);
            }

            if (task.Milestone != 0 && !ProjectSecurityMilestone.CanReadEntities(task.Project, userId))
            {
                var m = Common.DaoFactory.MilestoneDao.GetById(task.Milestone);
                if (!ProjectSecurityMilestone.CanReadEntity(m, userId))
                {
                    return(false);
                }
            }

            return(true);
        }
Exemplo n.º 2
0
        public override bool CanEditComment(Task entity, Comment comment)
        {
            if (entity == null)
            {
                return(false);
            }

            return(ProjectSecurityProject.CanEditComment(entity.Project, comment));
        }
Exemplo n.º 3
0
 private TaskSecurityInfo GetTaskSecurityInfoWithSecurity(Task task, ProjectSecurityProject projectSecurity, ProjectSecurityTask taskSecurity)
 {
     return(new TaskSecurityInfo
     {
         CanEdit = taskSecurity.CanUpdateEntity(task),
         CanCreateSubtask = taskSecurity.CanCreateSubtask(task),
         CanCreateTimeSpend = taskSecurity.CanCreateTimeSpend(task),
         CanDelete = taskSecurity.CanDeleteEntity(task),
         CanReadFiles = projectSecurity.CanReadFiles(task.Project)
     });
 }
Exemplo n.º 4
0
        private ProjectSecurityInfo GetProjectSecurityInfoWithSecurity(Project project, ProjectSecurityProject projectSecurity, ProjectSecurityMilestone milestoneSecurity, ProjectSecurityMessage messageSecurity, ProjectSecurityTask taskSecurity, ProjectSecurityTimeTracking timeSpendSecurity)
        {
            return(new ProjectSecurityInfo
            {
                CanCreateMilestone = milestoneSecurity.CanCreateEntities(project),
                CanCreateMessage = messageSecurity.CanCreateEntities(project),
                CanCreateTask = taskSecurity.CanCreateEntities(project),
                CanCreateTimeSpend = timeSpendSecurity.CanCreateEntities(project),

                CanEditTeam = projectSecurity.CanEditTeam(project),
                CanReadFiles = projectSecurity.CanReadFiles(project),
                CanReadMilestones = milestoneSecurity.CanReadEntities(project),
                CanReadMessages = messageSecurity.CanReadEntities(project),
                CanReadTasks = taskSecurity.CanReadEntities(project),
                IsInTeam = milestoneSecurity.Common.IsInTeam(project, SecurityContext.CurrentAccount.ID, false),
                CanLinkContact = projectSecurity.CanLinkContact(project),
                CanReadContacts = projectSecurity.CanReadContacts(project),

                CanEdit = projectSecurity.CanUpdateEntity(project),
                CanDelete = projectSecurity.CanDeleteEntity(project),
            });
        }