Exemple #1
0
        private List <StandardActionType> GetAllowedStandardActionForFile(int idUser, ModuleObject source, ModuleObject destination)
        {
            List <StandardActionType> actions = new List <StandardActionType>();
            Person       person   = Manager.GetPerson(idUser);
            TaskListFile taskFile = Manager.Get <TaskListFile>(source.ObjectLongID);

            if (taskFile != null && taskFile.Link != null && destination.ObjectLongID == taskFile.File.Id && destination.FQN == taskFile.File.GetType().FullName)
            {
                int                  IdCommunity      = taskFile.CommunityOwner == null ? 0 : taskFile.CommunityOwner.Id;
                ModuleTasklist       modulePermission = ServicePermission(idUser, IdCommunity);
                CoreModuleRepository moduleRepository = GetCoreModuleRepository(idUser, IdCommunity);
                CoreItemPermission   itemPermission   = GetTaskPermission(person, taskFile.TaskOwner, modulePermission, moduleRepository);
                if (taskFile.File != null)
                {
                    if ((taskFile.File.IsInternal && itemPermission.AllowEdit) ||
                        (!taskFile.File.IsInternal && (moduleRepository.Administration || (moduleRepository.Edit && taskFile.File.Owner == person))))
                    {
                        actions.Add(StandardActionType.EditMetadata);
                    }
                    if (AllowViewFileFromLink(modulePermission, itemPermission, taskFile, person))
                    {
                        actions.Add(StandardActionType.Play);
                        actions.Add(StandardActionType.ViewPersonalStatistics);
                    }
                    if (taskFile.File.Owner == person || (taskFile.File.IsInternal && itemPermission.AllowEdit) || (!taskFile.File.IsInternal && (moduleRepository.Administration || moduleRepository.Edit)))
                    {
                        actions.Add(StandardActionType.ViewAdvancedStatistics);
                    }
                }
            }
            return(actions);
        }
Exemple #2
0
        private Boolean AllowViewFileFromLink(ModuleTasklist modulePermission, CoreItemPermission itemPermission, TaskListFile taskFile, Person person)
        {
            Boolean iResponse = false;

            iResponse = itemPermission.AllowViewFiles && (taskFile.isVisible || taskFile.Owner == person || taskFile.TaskOwner.MetaInfo.CreatedBy == person || modulePermission.Administration);
            return(iResponse);
        }
Exemple #3
0
        public CoreItemPermission GetItemPermissionFromLink(long IdLink)
        {
            CoreItemPermission permission = new CoreItemPermission();
            ModuleLink         link       = Manager.Get <ModuleLink>(IdLink);

            if (link == null)
            {
                return(permission);
            }
            else
            {
                TaskListFile taskFileLink = (from ifl in Manager.GetAll <TaskListFile>(ifl => ifl.Link == link && ifl.Deleted == BaseStatusDeleted.None) select ifl).Skip(0).Take(1).ToList().FirstOrDefault();
                if (taskFileLink == null || taskFileLink.TaskOwner == null)
                {
                    return(permission);
                }
                else
                {
                    int                  IdCommunity = taskFileLink.TaskOwner.Community == null ? 0 : taskFileLink.TaskOwner.Community.Id;
                    ModuleTasklist       moduleDiary = ServicePermission(UC.CurrentUserID, IdCommunity);
                    CoreModuleRepository repository  = GetCoreModuleRepository(UC.CurrentUserID, IdCommunity);
                    permission = GetTaskPermission(taskFileLink.TaskOwner, moduleDiary, repository);
                    return(permission);
                }
            }
        }
Exemple #4
0
        private CoreItemPermission GetItemPermission(int IdCommunity, Task item)
        {
            ModuleTasklist       module           = Service.ServicePermission(UserContext.CurrentUserID, IdCommunity);
            CoreModuleRepository moduleRepository = View.RepositoryPermission(IdCommunity);

            return(Service.GetTaskPermission(item, module, moduleRepository));
        }
Exemple #5
0
        public lm.Comol.Modules.TaskList.ModuleTasklist ServicePermission(int personId, int communityId)
        {
            ModuleTasklist module = new ModuleTasklist();
            Person         person = Manager.GetPerson(personId);

            if (communityId == 0)
            {
                module = ModuleTasklist.CreatePortalmodule(person.TypeID);
            }
            else
            {
                module = new ModuleTasklist(Manager.GetModulePermission(personId, communityId, ServiceModuleID()));
            }
            return(module);
        }
Exemple #6
0
        public CoreItemPermission GetTaskPermission(Person person, Task oItem, ModuleTasklist Permission, CoreModuleRepository repository)
        {
            CoreItemPermission iResponse = new CoreItemPermission();

            iResponse.AllowView      = Permission.Administration || Permission.ViewTaskList;
            iResponse.AllowViewFiles = (Permission.ViewTaskList && (oItem.MetaInfo.CreatedBy == person)) || Permission.Administration;
            //iResponse. = Permission.Administration;
            iResponse.AllowAddFiles       = (oItem.MetaInfo.CreatedBy == person) || Permission.Administration || Permission.UploadFile;
            iResponse.AllowDelete         = (oItem.MetaInfo.CreatedBy == person) || Permission.Administration;
            iResponse.AllowEdit           = (oItem.MetaInfo.CreatedBy == person) || Permission.Administration;
            iResponse.AllowVirtualDelete  = iResponse.AllowDelete;
            iResponse.AllowUnDelete       = (oItem.MetaInfo.CreatedBy == person) || Permission.Administration;
            iResponse.AllowViewStatistics = iResponse.AllowViewFiles;
            iResponse.AllowFilePublish    = (repository != null && (repository.Administration || repository.UploadFile));
            return(iResponse);
        }
Exemple #7
0
        public static ModuleTasklist CreatePortalmodule(int UserTypeID)
        {
            ModuleTasklist module = new ModuleTasklist();

            module.Administration                 = (UserTypeID == (int)UserTypeStandard.SysAdmin || UserTypeID == (int)UserTypeStandard.Administrator);
            module.CreateCommunityProject         = (UserTypeID == (int)UserTypeStandard.SysAdmin || UserTypeID == (int)UserTypeStandard.Administrator);
            module.CreatePersonalCommunityProject = (UserTypeID != (int)UserTypeStandard.Guest);
            module.CreatePersonalProject          = (UserTypeID != (int)UserTypeStandard.Guest);

            module.DownloadAllowed      = (UserTypeID == (int)UserTypeStandard.SysAdmin || UserTypeID == (int)UserTypeStandard.Administrator || UserTypeID == (int)UserTypeStandard.Administrative);
            module.ManagementPermission = (UserTypeID == (int)UserTypeStandard.SysAdmin || UserTypeID == (int)UserTypeStandard.Administrator);
            module.PrintTaskList        = (UserTypeID != (int)UserTypeStandard.Guest);
            module.ViewTaskList         = (UserTypeID != (int)UserTypeStandard.Guest);

            module.UploadFile = (UserTypeID == (int)UserTypeStandard.SysAdmin || UserTypeID == (int)UserTypeStandard.Administrator || UserTypeID == (int)UserTypeStandard.Administrative);

            return(module);
        }
Exemple #8
0
        private Boolean AllowEditMetadata(int UserID, int RoleID, ModuleObject source, ModuleObject destination)
        {
            Boolean iResponse = false;

            if (source.ObjectTypeID == (int)ModuleTasklist.ObjectType.TaskLinkedFile)
            {
                Person       person   = Manager.GetPerson(UserID);
                TaskListFile taskFile = Manager.Get <TaskListFile>(source.ObjectLongID);
                if (taskFile != null && taskFile.Link != null && destination.ObjectLongID == taskFile.File.Id && destination.FQN == taskFile.File.GetType().FullName)
                {
                    int                  IdCommunity      = taskFile.CommunityOwner == null ? 0 : taskFile.CommunityOwner.Id;
                    ModuleTasklist       modulePermission = ServicePermission(UserID, IdCommunity);
                    CoreModuleRepository moduleRepository = GetCoreModuleRepository(UserID, IdCommunity);
                    CoreItemPermission   itemPermission   = GetTaskPermission(person, taskFile.TaskOwner, modulePermission, moduleRepository);
                    iResponse = (taskFile.File.IsInternal && itemPermission.AllowEdit) ||
                                (!taskFile.File.IsInternal && (moduleRepository.Administration || (moduleRepository.Edit && taskFile.File.Owner == person)));
                }
            }
            return(iResponse);
        }
Exemple #9
0
        public CoreItemPermission GetTaskPermission(Task oTask, ModuleTasklist Permission, CoreModuleRepository repository)
        {
            Person oPerson = Manager.GetPerson(UC.CurrentUserID);

            return(GetTaskPermission(oPerson, oTask, Permission, repository));
        }
Exemple #10
0
        private dtoTask CreateDtoTaskForStatistics(Person person, Task item, Boolean allVisibleItems, ModuleTasklist module, CoreModuleRepository repository)
        {
            dtoTask dtoItem = new dtoTask();

            dtoItem.oTask.Project = item;
            dtoItem.Permission    = GetTaskPermission(person, item, module, repository);
            dtoItem.FileLinks     = GetCoreItemFileLinkPermission(dtoItem.Permission, (from fl in GetTaskFiles(item, false) where (allVisibleItems || (fl.isVisible || (!fl.isVisible && fl.Owner == person))) select fl).ToList(), null, person);
            dtoItem.Id            = item.ID;
            //dtoItem.LessonNumber = lessionID;

            //lessionID += 1;
            return(dtoItem);
        }
Exemple #11
0
        private dtoTask CreateDtoTask(Person person, Task item, Boolean allVisibleItems, ModuleTasklist module, CoreModuleRepository repository, ref int lessionID)
        {
            dtoTask dtoItem = new dtoTask();

            dtoItem.CommunityId = (item.Community == null ? 0 : item.Community.Id);
            dtoItem.Description = (from d in Manager.Linq <DescriptionEventItem>() where d.Id == item.ID select d.Description).FirstOrDefault();
            dtoItem.oTask       = item;
            dtoItem.Permission  = GetTaskPermission(person, item, module, repository);
            dtoItem.FileLinks   = GetCoreItemFileLinkPermission(dtoItem.Permission, (from fl in GetTaskFiles(item, false) where (allVisibleItems || (fl.isVisible || (!fl.isVisible && fl.Owner == person))) select fl).ToList(), null, person);
            dtoItem.Id          = item.ID;
            //dtoItem.LessonNumber = lessionID;


            // // Posso vedere la voce
            // iResponse.Permission = new CoreItemPermission();
            // //iResponse.Permission.Delete = ModulePermission.Administration || (ModulePermission.DeleteItem && isItemOwner);
            // iResponse.Permission.AllowViewFiles = module.Administration || module.ViewDiaryItems;
            // iResponse.Permission.AllowEdit = module.Administration || (module.Edit && isItemOwner);
            //// iResponse.Permission.UnDelete = ModulePermission.Administration || (ModulePermission.DeleteItem && isItemOwner);
            // iResponse.Permission.AllowView = module.Administration || module.ViewDiaryItems || (module.Edit && isItemOwner);

            // TO INSERT FOR VIRTUAL DELETE !!

            // iResponse.EventItem = item;
            // iResponse.LessonNumber = lessionID;

            lessionID += 1;
            return(dtoItem);
            //oHeaderTitle,
        }
Exemple #12
0
        //Public Function GetDiaryItemsListWithPermission(ByVal UserID As Integer, ByVal CommunityID As Integer, ByVal ModulePermission As ModuleCommunityDiary, ByVal Ascending As Boolean, ByVal ItemVisibility As ObjectStatus) As List(Of dtoDiaryItem)
        //Dim oReturnList As List(Of dtoDiaryItem) = New List(Of dtoDiaryItem)
        //If CommunityID > 0 AndAlso Not oCommunity Is Nothing OrElse CommunityID = 0 Then
        //    Dim oList As List(Of CommunityEventItem) = Me.GetDiaryItems(oCommunity, oPerson, ItemVisibility)
        //    If Not IsNothing(oList) AndAlso oList.Count > 0 Then
        //        Dim LessionID As Integer = 1

        //        oReturnList = (From di In oList Select Me.CreateDTOdiaryItem(oPerson, di, ModulePermission, LessionID)).ToList

        //        If Not Ascending Then
        //            oReturnList = oReturnList.OrderByDescending(Function(i) i.LessonNumber).ToList
        //        End If
        //    End If

        //End If
        //Return oReturnList

        public List <dtoDiaryItem> GetDtoDiaryItems(int idCommunity, Boolean ascendingLesson, ModuleTasklist module, CoreModuleRepository repository, Boolean allVisibleItems)
        {
            List <dtoDiaryItem> items = new List <dtoDiaryItem>();

            //Person person = Manager.GetPerson(UC.CurrentUserID);
            ////CommunityEventType eventType = GetDiaryEventType();
            //Community community = Manager.GetCommunity(idCommunity);
            //if (community!=null && person != null){
            //    int lessnoNumber = 1;
            //    items = ( from item in CommunityTasksQuery(community ,person,allVisibleItems).ToList()
            //              select CreateDtoDiaryItem(person,item,allVisibleItems,module,repository,ref lessnoNumber)).ToList();
            //    if (!ascendingLesson)
            //        items = items.OrderByDescending(i=> i.LessonNumber).ToList();
            //}
            return(items);
        }
Exemple #13
0
        private List <dtoTask> GetDtoTasksForStatistics(Community community, Person person, ModuleTasklist module, CoreModuleRepository repository, Boolean allVisibleItems)
        {
            List <dtoTask> items = new List <dtoTask>();

            ////CommunityEventType eventType = GetDiaryEventType();
            //if (community != null && person != null)
            //{
            //    int lessonNumber = 1;
            //    items = (from item in CommunityTasksQuery(community, person, allVisibleItems).ToList()
            //             select CreateDtoTaskForStatistics(person, item, allVisibleItems, module, repository, ref lessonNumber)).ToList();
            //}
            return(items);
        }
Exemple #14
0
        public void InitView()
        {
            int CommunityId = UserContext.CurrentCommunityID;

            if (UserContext.isAnonymous)
            {
                View.NoPermissionToManagementFiles(CommunityId, ModuleID);
            }

            else
            {
                //CommunityEventItem oItem = Service.GetEventItem(this.View.PreloadedItemID);
                Task oTask = Service.GetTask(this.View.PreloadedItemID);
                if (oTask == null)
                {
                    this.View.NoPermissionToManagementFiles(CommunityId, this.ModuleID);
                }
                else
                {
                    View.ItemID = oTask.ID;
                    lm.Comol.Modules.TaskList.ModuleTasklist module = new  ModuleTasklist();
                    if ((oTask.Community != null))
                    {
                        CommunityId = oTask.Community.Id;
                        module      = (from p in View.CommunitiesPermission where p.ID == oTask.Community.Id select p.Permissions).FirstOrDefault();
                        if (module == null)
                        {
                            module = new  ModuleTasklist();
                        }
                    }
                    else
                    {
                        CommunityId = 0;
                        module      = ModuleTasklist.CreatePortalmodule(UserContext.UserTypeID);
                    }

                    CoreModuleRepository moduleRepository = View.RepositoryPermission(CommunityId);
                    CoreItemPermission   oPermission      = Service.GetTaskPermission(oTask, module, moduleRepository);
                    if (oPermission.AllowAddFiles || oPermission.AllowEdit)
                    {
                        if (oTask.Community == null)
                        {
                            View.AllowCommunityUpload = false;
                            View.AllowCommunityLink   = false;
                        }
                        View.AllowCommunityUpload = oPermission.AllowEdit && (moduleRepository.Administration || moduleRepository.UploadFile);
                        View.AllowCommunityLink   = oPermission.AllowEdit && (moduleRepository.Administration || moduleRepository.UploadFile || moduleRepository.ListFiles || moduleRepository.DownLoad);
                        if (oPermission.AllowEdit && (moduleRepository.Administration || moduleRepository.UploadFile))
                        {
                            View.InitializeCommunityUploader(0, CommunityId, moduleRepository);
                        }
                        if (oPermission.AllowEdit)
                        {
                            View.InitializeModuleUploader(CommunityId);
                        }
                        View.AllowUpload = oPermission.AllowAddFiles;
                        //  this.View.BackToDiary = CommunityID;
                        View.SetBackToItemsUrl(CommunityId, oTask.ID);
                        View.SetBackToItemUrl(CommunityId, oTask.ID);
                        View.SetMultipleUploadUrl(oTask.ID);
                        LoadTaskFiles(oTask, oPermission);
                    }
                    else
                    {
                        this.View.ReturnToItemsList(CommunityId, oTask.ID);
                    }
                }
            }
            View.ItemCommunityId = CommunityId;
        }