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); }
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); }
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); } } }
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)); }
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); }
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); }
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); }
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); }
public CoreItemPermission GetTaskPermission(Task oTask, ModuleTasklist Permission, CoreModuleRepository repository) { Person oPerson = Manager.GetPerson(UC.CurrentUserID); return(GetTaskPermission(oPerson, oTask, Permission, repository)); }
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); }
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, }
//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); }
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); }
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; }