예제 #1
0
        public void InitView()
        {
            CallStandardAction action = View.PreloadAction;

            if (action != CallStandardAction.Manage)
            {
                action = CallStandardAction.List;
            }
            View.CurrentAction = action;

            int idCommunity = SetCallsCurrentCommunity();

            if (UserContext.isAnonymous)
            {
                View.DisplaySessionTimeout();
            }
            else
            {
                ModuleCallForPaper module      = Service.CallForPaperServicePermission(UserContext.CurrentUserID, idCommunity);
                Boolean            allowView   = (module.ViewCallForPapers || module.Administration || module.ManageCallForPapers);
                Boolean            allowManage = module.CreateCallForPaper || module.Administration || module.ManageCallForPapers || module.EditCallForPaper;
                View.AllowSubmmissions = (action == CallStandardAction.List) && module.ViewCallForPapers;

                if (allowView || allowManage)
                {
                    InitializeView(action, module, idCommunity, View.PreloadView, allowView, allowManage);
                    LoadCalls(module, action, idCommunity, View.CurrentView, 0, currentPageSize);
                }
                else
                {
                    View.DisplayNoPermission(idCommunity, Service.ServiceModuleID());
                }
            }
        }
        public void LoadSkins(dtoBaseForPaper call)
        {
            if (call == null || !call.IsPublic)
            {
                View.HideSkinsInfo();
            }
            else
            {
                Int32 idModule    = 0;
                Int32 idCommunity = View.IdCommunity;
                switch (call.Type)
                {
                case CallForPaperType.CallForBids:
                    ModuleCallForPaper module = CallService.CallForPaperServicePermission(UserContext.CurrentUserID, idCommunity);
                    idModule = CallService.ServiceModuleID();
                    View.LoadSkinInfo(call.Id, typeof(CallForPaper).FullName, ModuleCallForPaper.ObjectType.CallForPaper, idModule, idCommunity, (module.Administration || module.ManageCallForPapers), (module.Administration || module.ManageCallForPapers) && View.AllowSave, (module.Administration || module.ManageCallForPapers));
                    break;

                case CallForPaperType.RequestForMembership:
                    ModuleRequestForMembership moduleR = CallService.RequestForMembershipServicePermission(UserContext.CurrentUserID, idCommunity);
                    idModule = RequestService.ServiceModuleID();
                    View.LoadSkinInfo(call.Id, typeof(RequestForMembership).FullName, ModuleRequestForMembership.ObjectType.RequestForMembership, idModule, idCommunity, (moduleR.Administration || moduleR.ManageBaseForPapers), (moduleR.Administration || moduleR.ManageBaseForPapers) && View.AllowSave, (moduleR.Administration || moduleR.ManageBaseForPapers));
                    break;
                }
            }
        }
예제 #3
0
 private void VirtualDelete(long idCall, Boolean delete)
 {
     if (UserContext.isAnonymous)
     {
         View.DisplaySessionTimeout();
     }
     else
     {
         int          idCommunity = 0;
         BaseForPaper call        = Service.VirtualDeleteCall(idCall, UserContext.CurrentUserID, delete);
         if (call != null)
         {
             if (!call.IsPortal && call.Community != null)
             {
                 idCommunity = call.Community.Id;
             }
             View.SendUserAction(idCommunity, Service.ServiceModuleID(), idCall, (delete) ? ModuleCallForPaper.ActionType.VirtualDeleteCallForPaper : ModuleCallForPaper.ActionType.VirtualUndeleteCallForPaper);
         }
         idCommunity = View.IdCallCommunity;
         CallStandardAction   action = View.CurrentAction;
         ModuleCallForPaper   module = Service.CallForPaperServicePermission(UserContext.CurrentUserID, idCommunity);
         FilterCallVisibility filter = View.CurrentFilter;
         InitializeView(action, module, idCommunity, View.CurrentView);
         View.CurrentFilter = filter;
         LoadCalls(module, action, idCommunity, View.CurrentView, View.Pager.PageIndex, currentPageSize);
     }
 }
예제 #4
0
        private void LoadRevisions(ModuleCallForPaper module, CallStandardAction action, int idCommunity, dtoRevisionFilters filters, int pageIndex, int pageSize)
        {
            liteCommunity community          = CurrentManager.GetLiteCommunity(idCommunity);
            litePerson    person             = CurrentManager.GetLitePerson(UserContext.CurrentUserID);
            Boolean       fromAllcommunities = false;
            PagerBase     pager = new PagerBase();

            if (pageSize == 0)
            {
                pageSize = 50;
            }
            pager.PageSize = pageSize;

            if (action == CallStandardAction.Manage)
            {
                pager.Count = (int)Service.RevisionCount(fromAllcommunities, (idCommunity == 0), community, person, CallForPaperType.CallForBids, filters, RevisionType.Manager) - 1;
            }
            else
            {
                fromAllcommunities = (idCommunity == 0);
                pager.Count        = (int)Service.RevisionCount(fromAllcommunities, (idCommunity == 0), community, person, CallForPaperType.CallForBids, filters, RevisionType.UserRequired) - 1;
            }
            pager.PageIndex = pageIndex;// Me.View.CurrentPageIndex
            View.Pager      = pager;
            if (pager.Count < 0)
            {
                View.LoadNoRevisionsFound();
            }
            else
            {
                View.LoadRevisions(Service.GetRevisionList(module, action, fromAllcommunities, (idCommunity == 0), community, person, filters, pageIndex, pageSize));
            }

            View.SendUserAction(View.IdCallCommunity, Service.ServiceModuleID(), ModuleCallForPaper.ActionType.LoadRevisionsList);
        }
예제 #5
0
        public void LoadCalls(ModuleCallForPaper module, CallStandardAction action, int idCommunity, CallStatusForSubmitters view, int pageIndex, int pageSize)
        {
            Boolean   fromAllcommunities = false;
            PagerBase pager = new PagerBase();

            pager.PageSize = pageSize;
            if (action == CallStandardAction.Manage && view != CallStatusForSubmitters.ToEvaluate && view != CallStatusForSubmitters.Evaluated)
            {
                pager.Count = (int)Service.CallCount((idCommunity == 0), idCommunity, UserContext.CurrentUserID, CallForPaperType.CallForBids, view, View.CurrentFilter) - 1;
            }
            else
            {
                fromAllcommunities = (idCommunity == 0) && (view == CallStatusForSubmitters.SubmissionOpened || view == CallStatusForSubmitters.Submitted || view == CallStatusForSubmitters.ToEvaluate || view == CallStatusForSubmitters.Evaluated);
                pager.Count        = (int)Service.CallCountBySubmission(false, fromAllcommunities, (idCommunity == 0), idCommunity, UserContext.CurrentUserID, view) - 1;
            }
            pager.PageIndex = pageIndex;// Me.View.CurrentPageIndex
            View.Pager      = pager;
            if (pager.Count < 0)
            {
                View.LoadCalls(new List <dtoCallItemPermission>());
            }
            else
            {
                View.LoadCalls(Service.GetCallForPapers(module, action, fromAllcommunities, (idCommunity == 0), idCommunity, UserContext.CurrentUserID, view, View.CurrentFilter, pager.PageIndex, pageSize));
            }
            View.SendUserActionList(idCommunity, Service.ServiceModuleID());
        }
예제 #6
0
        private void LoadEvaluations(long idCommittee, long idCall, EvaluationType type, Int32 idCommunity, List <expCommitteeMember> evaluators, dtoEvaluationsFilters filters, int pageIndex, int pageSize)
        {
            Boolean allowManage = true;

            View.CurrentFilters = filters;

            ModuleCallForPaper module = Service.CallForPaperServicePermission(UserContext.CurrentUserID, idCommunity);

            allowManage = (module.CreateCallForPaper || module.Administration || module.ManageCallForPapers || module.EditCallForPaper);

            if (UserContext.isAnonymous)
            {
                View.DisplaySessionTimeout();
            }
            else if (allowManage)
            {
                View.AllowBackToSummary = true;
                View.SetBackToSummary(RootObject.EvaluationsSummary(idCall, idCommunity, View.PreloadView, 0, filters.IdSubmitterType, filters.Status, filters.OrderBy, filters.Ascending, pageIndex, pageSize, View.GetItemEncoded(filters.SearchForName)));
                LoadItems(idCommittee, idCall, type, idCommunity, evaluators, filters, pageIndex, pageSize);
            }
            else
            {
                View.DisplayNoPermission(idCommunity, View.IdCallModule);
            }
        }
예제 #7
0
        public void LoadCalls(int idCommunity, int pageIndex, int pageSize)
        {
            Int32      idUser = UserContext.CurrentUserID;
            litePerson person = GetCurrentUser(ref idUser);

            Boolean   fromAllcommunities = false;
            PagerBase pager = new PagerBase();

            pager.PageSize = pageSize;

            fromAllcommunities = (idCommunity == 0);
            pager.Count        = (int)Service.PublicCallCount(false, fromAllcommunities, (idCommunity == 0), idCommunity, CallStatusForSubmitters.SubmissionOpened) - 1;

            pager.PageIndex = pageIndex;// Me.View.CurrentPageIndex
            View.Pager      = pager;
            if (pager.Count < 0)
            {
                View.LoadCalls(new List <dtoCallItemPermission>());
            }
            else
            {
                ModuleCallForPaper module = Service.CallForPaperServicePermission(idUser, idCommunity);
                View.LoadCalls(Service.GetCallForPapers(module, CallStandardAction.List, fromAllcommunities, (idCommunity == 0), idCommunity, idUser, CallStatusForSubmitters.SubmissionOpened, FilterCallVisibility.OnlyVisible, pager.PageIndex, pageSize));
            }
        }
예제 #8
0
        public void LoadSubmissions(Int32 idCommunity, CallForPaperType type, dtoSubmissionFilters filters, int pageIndex, int pageSize)
        {
            Boolean allowManage = true;

            View.CurrentFilters = filters;
            switch (type)
            {
            case CallForPaperType.CallForBids:
                ModuleCallForPaper module = Service.CallForPaperServicePermission(UserContext.CurrentUserID, idCommunity);
                allowManage = (module.CreateCallForPaper || module.Administration || module.ManageCallForPapers || module.EditCallForPaper);
                break;

            case CallForPaperType.RequestForMembership:
                ModuleRequestForMembership moduleR = Service.RequestForMembershipServicePermission(UserContext.CurrentUserID, idCommunity);
                allowManage = (moduleR.CreateBaseForPaper || moduleR.Administration || moduleR.ManageBaseForPapers || moduleR.EditBaseForPaper);
                break;
            }
            if (UserContext.isAnonymous)
            {
                View.DisplaySessionTimeout();
            }
            else if (allowManage)
            {
                LoadSubmissions(allowManage, View.IdCall, type, filters, pageIndex, pageSize);
            }
            else
            {
                View.DisplayNoPermission(idCommunity, View.IdCallModule);
            }
        }
예제 #9
0
        public void InitView()
        {
            Boolean isAnonymousUser = UserContext.isAnonymous;
            long    idCall          = View.PreloadIdCall;
            Int32   idUser          = UserContext.CurrentUserID;

            lm.Comol.Modules.CallForPapers.Domain.CallForPaperType type = ServiceCall.GetCallType(idCall);
            int idModule = (type == CallForPaperType.CallForBids) ? ServiceCall.ServiceModuleID() : ServiceRequest.ServiceModuleID();

            dtoCall call = (type == CallForPaperType.CallForBids) ? ServiceCall.GetDtoCall(idCall) : null;

            if (call != null)
            {
                View.SetContainerName(call.Name, call.EndEvaluationOn);
            }


            if (call.AdvacedEvaluation)
            {
                View.RedirectToAdvance(call.Id);
            }


            int idCommunity = GetCurrentCommunity(call);

            View.IdCall          = idCall;
            View.IdCallModule    = idModule;
            View.IdCallCommunity = idCommunity;
            View.CallType        = type;

            ModuleCallForPaper module     = ServiceCall.CallForPaperServicePermission(idUser, idCommunity);
            Boolean            allowAdmin = ((module.ManageCallForPapers || module.Administration || ((module.CreateCallForPaper || module.EditCallForPaper) && call.Owner.Id == idUser)));

            View.SetActionUrl((allowAdmin) ? CallStandardAction.Manage : CallStandardAction.List, RootObject.ViewCalls(idCall, type, ((allowAdmin) ? CallStandardAction.Manage : CallStandardAction.List), idCommunity, View.PreloadView));

            if (UserContext.isAnonymous)
            {
                View.DisplaySessionTimeout(RootObject.CommitteesSummary(idCall, idCommunity, View.PreloadView, View.PreloadIdSubmitterType, View.PreloadFilterBy, View.PreloadOrderBy, View.PreloadAscending, View.PreloadPageIndex, View.PreloadPageSize, View.GetItemEncoded(View.PreloadSearchForName)));
            }
            else if (call == null)
            {
                View.DisplayUnknownCall(idCommunity, idModule, idCall);
            }
            else if (type == CallForPaperType.RequestForMembership)
            {
                View.DisplayEvaluationUnavailable();
            }
            else if (allowAdmin)
            {
                View.CurrentEvaluationType = call.EvaluationType;
                if (call.EvaluationType == EvaluationType.Dss)
                {
                    View.CallUseFuzzy = Service.CallUseFuzzy(idCall);
                }
                View.AllowExportAll = Service.HasEvaluations(idCall);
                View.DisplayEvaluationInfo(call.EndEvaluationOn);
                InitializeView(idCall, call.EvaluationType, idCommunity, View.PreloadFilters);
            }
        }
예제 #10
0
        /// <summary>
        /// Controlla se l'utente corrente è manager (permessi comunità)
        /// </summary>
        /// <returns>True se è amministratore dei bandi</returns>
        private bool isManager()
        {
            ModuleCallForPaper module = null;

            module = CallService.CallForPaperServicePermission(UserContext.CurrentUserID, UserContext.CurrentCommunityID);
            bool allowManage = module.CreateCallForPaper || module.Administration || module.EditCallForPaper;

            return(allowManage);
        }
예제 #11
0
        public void InitView()
        {
            Boolean isAnonymousUser = UserContext.isAnonymous;
            long    idCall          = View.PreloadIdCall;
            long    idSubmission    = View.PreloadIdSubmission;
            Int32   idUser          = UserContext.CurrentUserID;

            lm.Comol.Modules.CallForPapers.Domain.CallForPaperType type = ServiceCall.GetCallType(idCall);
            int idModule = (type == CallForPaperType.CallForBids) ? ServiceCall.ServiceModuleID() : ServiceRequest.ServiceModuleID();

            dtoBaseForPaper call        = ServiceCall.GetDtoBaseCall(idCall);
            int             idCommunity = GetCurrentCommunity(call);

            View.IdCall          = idCall;
            View.IdCallModule    = idModule;
            View.IdCallCommunity = idCommunity;
            View.IdSubmission    = idSubmission;
            if (UserContext.isAnonymous)
            {
                View.DisplaySessionTimeout(RootObject.ViewSubmissionTableEvaluations(idSubmission, idCall, idCommunity));
            }
            else
            {
                if (call == null)
                {
                    View.DisplayUnknownCall(idCommunity, idModule, idCall, type);
                }
                else if (type == CallForPaperType.RequestForMembership)
                {
                    View.DisplayEvaluationUnavailable();
                }
                else
                {
                    ModuleCallForPaper module         = ServiceCall.CallForPaperServicePermission(idUser, idCommunity);
                    Boolean            allowAdmin     = ((module.ManageCallForPapers || module.Administration || ((module.CreateCallForPaper || module.EditCallForPaper) && call.Owner.Id == idUser)));
                    EvaluationType     evaluationType = ServiceCall.GetEvaluationType(idCall);
                    View.CurrentEvaluationType = evaluationType;
                    if (!allowAdmin)
                    {
                        View.DisplayNoPermissionToView();
                    }
                    else
                    {
                        dtoSubmissionRevision submission = ServiceCall.GetSubmissionWithRevisions(idSubmission, false);
                        if (submission == null)
                        {
                            View.DisplayUnknownSubmission(idCommunity, idModule, idSubmission, type);
                        }
                        else
                        {
                            LoadData(idCommunity, call, evaluationType, submission);
                        }
                    }
                }
            }
        }
예제 #12
0
        public void InitView()
        {
            long idCall = View.PreloadIdCall;

            dtoBaseForPaper  call = null;
            CallForPaperType type = CallService.GetCallType(idCall);

            call = CallService.GetDtoBaseCall(idCall);

            int idCommunity = SetCallCurrentCommunity(call);

            if (UserContext.isAnonymous)
            {
                View.DisplaySessionTimeout();
            }
            else if (type != CallForPaperType.CallForBids)
            {
                View.RedirectToUrl(RootObject.ViewCalls(type, CallStandardAction.Manage, idCommunity, View.PreloadView));
            }
            else
            {
                litePerson         currenUser  = CurrentManager.GetLitePerson(UserContext.CurrentUserID);
                ModuleCallForPaper module      = CallService.CallForPaperServicePermission(UserContext.CurrentUserID, idCommunity);
                Boolean            allowView   = (module.ViewCallForPapers || module.Administration || module.ManageCallForPapers);
                Boolean            allowManage = module.CreateCallForPaper || module.Administration || module.ManageCallForPapers || module.EditCallForPaper;
                Boolean            allowSave   = (module.Administration || module.ManageCallForPapers || (module.CreateCallForPaper && idCall == 0) || (call != null && module.EditCallForPaper && currenUser == call.Owner));

                int idModule = CallService.ServiceModuleID();
                View.IdCallModule = idModule;
                if (call == null)
                {
                    View.LoadUnknowCall(idCommunity, idModule, idCall, type);
                }
                else if (Service.CallHasEvaluationStarted(idCall))
                {
                    View.RedirectToUrl(RootObject.EditCommiteeByStep(idCall, idCommunity, WizardEvaluationStep.ManageEvaluators, View.PreloadView));
                }
                else if (allowManage || allowSave)
                {
                    View.AllowSave         = allowSave && (!Service.CallHasEvaluationStarted(idCall));
                    View.AllowAddEvaluator = View.AllowSave;
                    View.IdCall            = idCall;
                    View.SetActionUrl(RootObject.ViewCalls(idCall, type, CallStandardAction.Manage, idCommunity, View.PreloadView));
                    LoadMembers(idCall);
                    View.SendUserAction(idCommunity, idModule, idCall, ModuleCallForPaper.ActionType.ManageEvaluators);
                }
                else if (allowView)
                {
                    View.RedirectToUrl(RootObject.ViewCalls(idCall, type, CallStandardAction.List, idCommunity, View.PreloadView));
                }
                else
                {
                    View.DisplayNoPermission(idCommunity, idModule);
                }
            }
        }
예제 #13
0
        private void LoadAttachments(long idCall, ModuleCallForPaper module)
        {
            View.LoadSubmitterTypes(CallService.GetCallAvailableSubmittersType(idCall));
            List <dtoAttachmentFilePermission> items = CallService.GetCallAttachments(idCall, module, false);

            if (items.Count == 0)
            {
                View.DisplayNoAttachments();
            }
            else
            {
                View.LoadAttachments(items);
            }
        }
예제 #14
0
        public void LoadRevisions(dtoRevisionFilters filters, int pageIndex, int pageSize)
        {
            View.CurrentFilters = filters;
            switch (View.CallType)
            {
            case CallForPaperType.CallForBids:
                ModuleCallForPaper module = Service.CallForPaperServicePermission(UserContext.CurrentUserID, View.IdCallCommunity);
                LoadRevisions(module, View.CurrentAction, View.IdCallCommunity, filters, pageIndex, pageSize);
                break;

            case CallForPaperType.RequestForMembership:
                ModuleRequestForMembership moduleR = Service.RequestForMembershipServicePermission(UserContext.CurrentUserID, View.IdCallCommunity);
                LoadRevisions(moduleR, View.CurrentAction, View.IdCallCommunity, filters, pageIndex, pageSize);
                break;
            }
        }
예제 #15
0
        public void PhisicalDeleteSubmission(long idSubmission, String baseFilePath, CallForPaperType type, dtoSubmissionFilters filters, int pageIndex, int pageSize)
        {
            if (UserContext.isAnonymous)
            {
                View.DisplaySessionTimeout();
            }
            else
            {
                Boolean allowManage = false;
                Int32   idCommunity = View.IdCallCommunity;
                switch (View.CallType)
                {
                case CallForPaperType.CallForBids:
                    ModuleCallForPaper module = Service.CallForPaperServicePermission(UserContext.CurrentUserID, idCommunity);
                    allowManage = (module.CreateCallForPaper || module.Administration || module.ManageCallForPapers || module.EditCallForPaper);
                    break;

                case CallForPaperType.RequestForMembership:
                    ModuleRequestForMembership moduleR = Service.RequestForMembershipServicePermission(UserContext.CurrentUserID, idCommunity);
                    allowManage = (moduleR.CreateBaseForPaper || moduleR.Administration || moduleR.ManageBaseForPapers || moduleR.EditBaseForPaper);
                    break;
                }
                if (allowManage)
                {
                    Service.PhisicalDeleteSubmission(idSubmission, baseFilePath);



                    switch (View.CallType)
                    {
                    case CallForPaperType.CallForBids:
                        View.SendUserAction(View.IdCallCommunity, View.IdCallModule, idSubmission, ModuleCallForPaper.ActionType.VirtualDeleteSubmission);
                        break;

                    case CallForPaperType.RequestForMembership:
                        View.SendUserAction(View.IdCallCommunity, View.IdCallModule, idSubmission, ModuleRequestForMembership.ActionType.VirtualDeleteSubmission);
                        break;
                    }
                    View.GotoUrl(RootObject.ViewSubmissions(type, View.IdCall, 0, 0, View.PreloadView, filters.Status, filters.OrderBy, filters.Ascending, pageIndex, pageSize));
                }
                else
                {
                    LoadSubmissions(View.IdCallCommunity, type, filters, pageIndex, pageSize);
                }
            }
        }
        public void LoadEvaluationsAdvance(
            long idCall,
            EvaluationType type,
            Int32 idCommunity,
            long idCommission,
            dtoEvaluationsFilters filters,
            int pageIndex,
            int pageSize,
            CallForPaperType CpType)
        {
            Boolean allowManage = true;

            View.CurrentFilters = filters;

            ModuleCallForPaper module = Service.CallForPaperServicePermission(UserContext.CurrentUserID, idCommunity);

            allowManage = (module.CreateCallForPaper || module.Administration || module.ManageCallForPapers || module.EditCallForPaper);

            bool IsPresident = ServiceCall.CommissionUserIsPresident(idCommission, UserContext.CurrentUserID);
            bool IsSecretary = ServiceCall.CommissionUserIsSecretary(idCommission, UserContext.CurrentUserID);

            allowManage |= IsPresident | IsSecretary;

            //E controllo sui membri della commissione!

            View.SetActionUrl((allowManage) ? CallStandardAction.Manage : CallStandardAction.List, RootObject.ViewCalls(idCall, CpType, ((allowManage) ? CallStandardAction.Manage : CallStandardAction.List), idCommunity, View.PreloadView));

            if (UserContext.isAnonymous)
            {
                View.DisplaySessionTimeout();
            }
            else if (allowManage)
            {
                LoadItemsAdv(idCall,
                             type,
                             idCommunity,
                             idCommission,
                             filters,
                             pageIndex,
                             pageSize);
            }
            else
            {
                View.DisplayNoPermission(idCommunity, View.IdCallModule);
            }
        }
예제 #17
0
        private void LoadRequiredFiles(long idCall)
        {
            switch (View.CallType)
            {
            case CallForPaperType.CallForBids:
                ModuleCallForPaper module = CallService.CallForPaperServicePermission(UserContext.CurrentUserID, View.IdCommunity);
                LoadRequiredFiles(idCall, CallService.GetPermissionForEditor(idCall, module));
                break;

            case CallForPaperType.RequestForMembership:
                ModuleRequestForMembership moduleR = CallService.RequestForMembershipServicePermission(UserContext.CurrentUserID, View.IdCommunity);
                LoadRequiredFiles(idCall, CallService.GetPermissionForEditor(idCall, moduleR));
                break;

            default:
                break;
            }
        }
예제 #18
0
        public String ExportSubmissionsData(lm.Comol.Core.DomainModel.Helpers.Export.ExportFileType exportType, dtoSubmissionFilters filters, Dictionary <SubmissionsListTranslations, string> translations, Dictionary <SubmissionStatus, String> status, Dictionary <RevisionStatus, string> revisions)
        {
            Boolean allowManage = false;

            switch (View.CallType)
            {
            case CallForPaperType.CallForBids:
                ModuleCallForPaper module = Service.CallForPaperServicePermission(UserContext.CurrentUserID, View.IdCallCommunity);
                allowManage = (module.CreateCallForPaper || module.Administration || module.ManageCallForPapers || module.EditCallForPaper);
                break;

            case CallForPaperType.RequestForMembership:
                ModuleRequestForMembership moduleR = Service.RequestForMembershipServicePermission(UserContext.CurrentUserID, View.IdCallCommunity);
                allowManage = (moduleR.CreateBaseForPaper || moduleR.Administration || moduleR.ManageBaseForPapers || moduleR.EditBaseForPaper);
                break;
            }
            return(Service.ExportSubmissionsData(exportType, allowManage, View.IdCall, filters, translations, status, revisions));
        }
예제 #19
0
        private void LoadSubmitters(long idCall)
        {
            switch (View.CallType)
            {
            case CallForPaperType.CallForBids:
                ModuleCallForPaper module = CallService.CallForPaperServicePermission(UserContext.CurrentUserID, View.IdCommunity);
                LoadSubmitters(idCall, module, CallForPaperType.CallForBids, View.IdCommunity);
                break;

            case CallForPaperType.RequestForMembership:
                ModuleRequestForMembership moduleR = CallService.RequestForMembershipServicePermission(UserContext.CurrentUserID, View.IdCommunity);
                LoadSubmitters(idCall, moduleR, CallForPaperType.RequestForMembership, View.IdCommunity);
                break;

            default:
                break;
            }
        }
예제 #20
0
        private void InitializeView(CallStandardAction action, ModuleCallForPaper module, int idCommunity, CallStatusForSubmitters preloadView, Boolean allowView, Boolean allowManage)
        {
            List <CallStatusForSubmitters> views = Service.GetAvailableViews(action, module, (action == CallStandardAction.List && idCommunity == 0), idCommunity, UserContext.CurrentUserID);

            if (!views.Contains(preloadView) && views.Count == 0)
            {
                preloadView = CallStatusForSubmitters.SubmissionOpened;
                views.Add(CallStatusForSubmitters.SubmissionOpened);
            }
            else if (!views.Where(v => v != CallStatusForSubmitters.Revisions).Contains(preloadView) && views.Where(v => v != CallStatusForSubmitters.Revisions).Any())
            {
                preloadView = views.Where(v => v != CallStatusForSubmitters.Revisions).FirstOrDefault();
            }

            View.LoadAvailableView(idCommunity, views);
            View.CurrentView = preloadView;
            switch (action)
            {
            case CallStandardAction.List:
                View.AllowManage = allowManage;
                if (allowManage)
                {
                    View.SetActionUrl(CallStandardAction.Manage, RootObject.ViewCalls(CallForPaperType.CallForBids, CallStandardAction.Manage, idCommunity, preloadView));
                }
                break;

            case CallStandardAction.Manage:
                View.AllowView = allowView;
                if (module.CreateCallForPaper || module.Administration)
                {
                    View.SetActionUrl(CallStandardAction.Add, RootObject.AddCall(CallForPaperType.CallForBids, idCommunity, View.PreloadView));
                }
                if (allowView)
                {
                    View.SetActionUrl(CallStandardAction.List, RootObject.ViewCalls(CallForPaperType.CallForBids, CallStandardAction.List, idCommunity, preloadView));
                }
                break;
            }
            if (action == CallStandardAction.Manage)
            {
                List <FilterCallVisibility> filters = Service.GetCallVisibilityFilters(module, (idCommunity == 0), idCommunity, UserContext.CurrentUserID, preloadView);
                View.LoadAvailableFilters(filters, (filters.Count == 0) ? FilterCallVisibility.OnlyVisible : filters[0]);
            }
        }
예제 #21
0
        private void LoadSubmitters(long idCall, ModuleCallForPaper module, CallForPaperType type, Int32 idCommunity)
        {
            List <dtoSubmitterTypePermission> submitters = CallService.GetCallSubmittersType(idCall, module, false);

            if (submitters.Count == 0)
            {
                View.DisplayNoSubmitters();
            }
            else
            {
                View.LoadSubmitters(submitters);
            }
            List <lm.Comol.Core.Wizard.NavigableWizardItem <WizardCallStep> > steps = CallService.GetAvailableSteps(idCall, WizardCallStep.SubmittersType, type);

            View.LoadWizardSteps(idCall, type, idCommunity, steps);
            if (steps.Where(s => (s.Id != WizardCallStep.CallAvailability) && submitters.Count > 0 && (s.Status == Core.Wizard.WizardItemStatus.valid || s.Status == Core.Wizard.WizardItemStatus.warning)).Any())
            {
                View.SetActionUrl(CallStandardAction.PreviewCall, RootObject.PreviewCall(type, idCall, idCommunity, View.PreloadView));
            }
        }
예제 #22
0
        public void InitView()
        {
            long idCall = View.PreloadIdCall;

            dtoCall          call = null;
            CallForPaperType type = Service.GetCallType(idCall);

            call = Service.GetDtoCall(idCall);

            View.CallType = type;
            int idCommunity = SetCallCurrentCommunity(call);

            if (UserContext.isAnonymous)
            {
                View.DisplaySessionTimeout();
            }
            else
            {
                litePerson         currenUser = CurrentManager.GetLitePerson(UserContext.CurrentUserID);
                ModuleCallForPaper module     = Service.CallForPaperServicePermission(UserContext.CurrentUserID, idCommunity);

                int idModule = Service.ServiceModuleID();
                View.IdCallModule = idModule;
                if (call == null)
                {
                    View.LoadUnknowCall(idCommunity, idModule, idCall, type);
                }
                else if (module.Administration || module.ManageCallForPapers)
                {
                    View.IdCall = idCall;
                    LoadCall(call);
                    View.SendUserAction(idCommunity, idModule, idCall, ModuleCallForPaper.ActionType.ViewPreviewCallForPaper);
                }
                else
                {
                    View.DisplayNoPermission(idCommunity, idModule);
                }
            }
        }
        public void LoadEvaluations(long idCall, EvaluationType EvalType, Int32 idCommunity, dtoEvaluationsFilters filters, int pageIndex, int pageSize)
        {
            Boolean allowManage = true;

            View.CurrentFilters = filters;

            ModuleCallForPaper module = Service.CallForPaperServicePermission(UserContext.CurrentUserID, idCommunity);

            allowManage = (module.CreateCallForPaper || module.Administration || module.ManageCallForPapers || module.EditCallForPaper);

            lm.Comol.Modules.CallForPapers.Domain.CallForPaperType type = ServiceCall.GetCallType(idCall);
            dtoCall call = (type == CallForPaperType.CallForBids) ? ServiceCall.GetDtoCall(idCall) : null;

            if (call.AdvacedEvaluation)
            {
                bool isPresident = ServiceCall.CommissionUserIsPresident(View.IdCallAdvCommission, UserContext.CurrentUserID);
                bool isSecretary = ServiceCall.CommissionUserIsSecretary(View.IdCallAdvCommission, UserContext.CurrentUserID);

                if (isPresident || isSecretary)
                {
                    allowManage = true;
                }
            }


            if (UserContext.isAnonymous)
            {
                View.DisplaySessionTimeout();
            }
            else if (allowManage)
            {
                LoadItems(idCall, EvalType, idCommunity, filters, pageIndex, pageSize);
            }

            else
            {
                View.DisplayNoPermission(idCommunity, View.IdCallModule);
            }
        }
예제 #24
0
 public void CloneCall(long idCall, String prefix, String filePath, String thumbnailPath)
 {
     if (UserContext.isAnonymous)
     {
         View.DisplaySessionTimeout();
     }
     else
     {
         int idCommunity           = View.IdCallCommunity;
         int idUser                = UserContext.CurrentUserID;
         CallStandardAction action = View.CurrentAction;
         ModuleCallForPaper module = Service.CallForPaperServicePermission(idUser, idCommunity);
         if (module.CreateCallForPaper || module.Administration || module.ManageCallForPapers || module.EditCallForPaper)
         {
             Boolean      reloadPage = (View.CurrentView == CallStatusForSubmitters.Draft);
             BaseForPaper call       = Service.CloneCall(idCall, UserContext.CurrentUserID, idCommunity, prefix, filePath, thumbnailPath);
             if (call != null)
             {
                 View.SendUserAction(idCommunity, Service.ServiceModuleID(), idCall, ModuleCallForPaper.ActionType.CloneCall);
                 View.CloneSkinAssociation(idUser, Service.ServiceModuleID(), ((call.IsPortal || call.Community == null) ? 0 : call.Community.Id), idCall, call.Id, (Int32)ModuleCallForPaper.ObjectType.CallForPaper, typeof(CallForPaper).FullName);
             }
             if (reloadPage || call == null)
             {
                 FilterCallVisibility filter = View.CurrentFilter;
                 InitializeView(action, module, idCommunity, View.CurrentView);
                 View.CurrentFilter = filter;
                 LoadCalls(module, action, idCommunity, View.CurrentView, View.Pager.PageIndex, currentPageSize);
             }
             else
             {
                 View.GotoUrl(RootObject.ViewCalls(call.Id, CallForPaperType.CallForBids, View.CurrentAction, idCommunity, CallStatusForSubmitters.Draft));
             }
         }
         else
         {
             View.DisplayNoPermission(idCommunity, Service.ServiceModuleID());
         }
     }
 }
        public void LoadEvaluations(long idCall, EvaluationType type, Int32 idCommunity, dtoEvaluationsFilters filters, int pageIndex, int pageSize)
        {
            Boolean allowManage = true;

            View.CurrentFilters = filters;

            ModuleCallForPaper module = Service.CallForPaperServicePermission(UserContext.CurrentUserID, idCommunity);

            allowManage = (module.CreateCallForPaper || module.Administration || module.ManageCallForPapers || module.EditCallForPaper);

            if (UserContext.isAnonymous)
            {
                View.DisplaySessionTimeout();
            }
            else if (allowManage)
            {
                LoadItems(idCall, type, idCommunity, filters, pageIndex, pageSize);
            }
            else
            {
                View.DisplayNoPermission(idCommunity, View.IdCallModule);
            }
        }
예제 #26
0
 public void Delete(long idCall, String baseFilePath, String baseThumbnailPath)
 {
     if (UserContext.isAnonymous)
     {
         View.DisplaySessionTimeout();
     }
     else
     {
         int idCommunity           = View.IdCallCommunity;
         int idUser                = UserContext.CurrentUserID;
         CallStandardAction action = View.CurrentAction;
         ModuleCallForPaper module = Service.CallForPaperServicePermission(idUser, idCommunity);
         BaseForPaper       call   = Service.GetCall(idCall);
         if (call == null)
         {
             View.DisplayUnableToDeleteUnknownCall();
         }
         else if (module.Administration || module.ManageCallForPapers || (module.DeleteOwnCallForPaper && call.CreatedBy != null && call.CreatedBy.Id == idUser))
         {
             idCommunity = ((call.IsPortal || call.Community == null) ? 0 : call.Community.Id);
             if (Service.DeleteCall(idCall, baseFilePath, baseThumbnailPath))
             {
                 View.SendUserAction(idCommunity, Service.ServiceModuleID(), idCall, ModuleCallForPaper.ActionType.DeleteCall);
                 View.RemoveSkinAssociation(idUser, Service.ServiceModuleID(), idCommunity, idCall, (Int32)ModuleCallForPaper.ObjectType.CallForPaper, typeof(CallForPaper).FullName);
             }
             else
             {
                 View.DisplayUnableToDeleteCall();
             }
         }
         FilterCallVisibility filter = View.CurrentFilter;
         InitializeView(action, module, idCommunity, View.CurrentView);
         View.CurrentFilter = filter;
         LoadCalls(module, action, idCommunity, View.CurrentView, View.Pager.PageIndex, currentPageSize);
     }
 }
        public void InitView()
        {
            Boolean          allowAdmin      = false;
            Boolean          isAnonymousUser = UserContext.isAnonymous;
            long             idCall          = View.PreloadIdCall;
            CallForPaperType type            = ServiceCall.GetCallType(idCall);
            long             idSubmission    = View.PreloadedIdSubmission;
            long             idRevision      = View.PreloadedIdRevision;
            Guid             uniqueId        = View.PreloadedUniqueID;

            dtoSubmissionRevision submission = ServiceCall.GetSubmissionWithRevisions(idSubmission, true);
            int idModule = (type == CallForPaperType.CallForBids) ? ServiceCall.ServiceModuleID() : ServiceRequest.ServiceModuleID();

            dtoBaseForPaper call        = ServiceCall.GetDtoBaseCall(idCall);
            int             idCommunity = SetCallCurrentCommunity(call);

            View.isAnonymousSubmission = true;
            View.IdCall          = idCall;
            View.IdCallModule    = idModule;
            View.IdCallCommunity = idCommunity;
            View.CallType        = type;
            View.IdSubmission    = idSubmission;
            if (idRevision == 0 && submission != null)
            {
                idRevision = submission.GetIdLastActiveRevision();
            }
            View.IdRevision = idRevision;
            if (submission == null || submission.Owner == null || (submission != null && submission.UniqueId != uniqueId))
            {
                View.DisplayUnknownSubmission(idCommunity, idModule, idSubmission, type);
            }
            else
            {
                if (idCall != submission.IdCall)
                {
                    idCall      = submission.IdCall;
                    call        = ServiceCall.GetDtoBaseCall(idCall);
                    idCommunity = SetCallCurrentCommunity(call);
                    type        = (call != null) ? call.Type : type;
                    idModule    = (type == CallForPaperType.CallForBids) ? ServiceCall.ServiceModuleID() : ServiceRequest.ServiceModuleID();

                    View.IdCall          = idCall;
                    View.IdCallModule    = idModule;
                    View.IdCallCommunity = idCommunity;
                    View.CallType        = type;
                }
                if (call == null)
                {
                    View.DisplayUnknownCall(idCommunity, idModule, idCall, type);
                    if (!isAnonymousUser)
                    {
                        View.SetActionUrl(CallStandardAction.List, RootObject.ViewCalls(type, CallStandardAction.List, idCommunity, View.PreloadView));
                    }
                }
                else if (isAnonymousUser && !submission.IsAnonymous)
                {
                    View.DisplaySessionTimeout();
                }
                else if (isAnonymousUser && !call.IsPublic)
                {
                    View.DisplayCallUnavailableForPublic();
                }
                else
                {
                    int        idUser     = UserContext.CurrentUserID;
                    litePerson currenUser = GetCurrentUser(ref idUser);
                    Boolean    allowView  = false;
                    View.CallRepository = call.GetRepositoryIdentifier();
                    switch (type)
                    {
                    case CallForPaperType.CallForBids:
                        ModuleCallForPaper module = ServiceCall.CallForPaperServicePermission(idUser, idCommunity);
                        allowView  = (submission.Owner.Id == idUser || module.ManageCallForPapers || module.Administration || ((module.CreateCallForPaper || module.EditCallForPaper) && call.Owner.Id == idUser));
                        allowAdmin = (module.ManageCallForPapers || module.Administration || ((module.CreateCallForPaper || module.EditCallForPaper) && call.Owner.Id == idUser));
                        break;

                    case CallForPaperType.RequestForMembership:
                        ModuleRequestForMembership moduleR = ServiceCall.RequestForMembershipServicePermission(idUser, idCommunity);
                        allowView  = (submission.Owner.Id == idUser || moduleR.ManageBaseForPapers || moduleR.Administration || ((moduleR.CreateBaseForPaper || moduleR.EditBaseForPaper) && call.Owner.Id == idUser));
                        allowAdmin = (moduleR.ManageBaseForPapers || moduleR.Administration || ((moduleR.CreateBaseForPaper || moduleR.EditBaseForPaper) && call.Owner.Id == idUser));
                        break;
                    }
                    View.InitializeView(ServiceCall.GetExternalContext(idCall));
                    CallStatusForSubmitters fromView = View.PreloadView;
                    if (fromView == CallStatusForSubmitters.None)
                    {
                        fromView = (allowAdmin) ? CallStatusForSubmitters.SubmissionClosed : CallStatusForSubmitters.Submitted;
                    }

                    if (allowView)
                    {
                        if (!isAnonymousUser)
                        {
                            View.SetActionUrl(CallStandardAction.List, RootObject.ViewCalls(type, CallStandardAction.List, idCommunity, fromView));
                        }
                        else if (View.FromPublicList)
                        {
                            View.SetActionUrl(CallStandardAction.List, RootObject.PublicCollectorCalls(type, idCall, idCommunity));
                        }
                    }
                    if (submission.Deleted != BaseStatusDeleted.None && !allowAdmin)
                    {
                        View.DisplaySubmissionUnavailable();
                    }
                    else if (allowAdmin || allowView || (isAnonymousUser && submission.IsAnonymous && submission.UniqueId == View.PreloadedUniqueID))
                    {
                        LoadSubmission(call, submission, idUser, allowAdmin);
                    }
                    else
                    {
                        View.DisplayNoPermission(idCommunity, idModule);
                    }
                }
            }
        }
예제 #28
0
        public void InitView()
        {
            CallForPaperType type = View.PreloadCallType;

            View.CallType = type;
            CallStandardAction action = View.PreloadAction;

            if (action != CallStandardAction.Manage)
            {
                action = CallStandardAction.List;
            }
            View.CurrentAction = action;

            int idCommunity = SetCallsCurrentCommunity();

            if (UserContext.isAnonymous)
            {
                View.DisplaySessionTimeout();
            }
            else
            {
                Int32   idUser      = UserContext.CurrentUserID;
                Boolean allowView   = false;
                Boolean allowManage = false;

                dtoRevisionFilters filters = View.PreloadFilters;
                View.CurrentFilters = filters;
                switch (type)
                {
                case CallForPaperType.CallForBids:
                    ModuleCallForPaper module = Service.CallForPaperServicePermission(idUser, idCommunity);
                    allowView   = (module.ViewCallForPapers || module.Administration || module.ManageCallForPapers);
                    allowManage = (module.CreateCallForPaper || module.Administration || module.ManageCallForPapers || module.EditCallForPaper);

                    if (allowView || allowManage)
                    {
                        InitializeView(action, allowManage, idCommunity, View.PreloadView, type, filters.Status);
                        LoadRevisions(module, action, idCommunity, filters, View.PreloadPageIndex, View.PreloadPageSize);
                    }
                    else
                    {
                        View.DisplayNoPermission(idCommunity, Service.ServiceModuleID());
                    }
                    break;

                case CallForPaperType.RequestForMembership:
                    ModuleRequestForMembership moduleR = Service.RequestForMembershipServicePermission(idUser, idCommunity);
                    allowView   = (moduleR.ViewBaseForPapers || moduleR.Administration || moduleR.ManageBaseForPapers);
                    allowManage = (moduleR.CreateBaseForPaper || moduleR.Administration || moduleR.ManageBaseForPapers || moduleR.EditBaseForPaper);
                    if (allowView || allowManage)
                    {
                        InitializeView(action, allowManage, idCommunity, View.PreloadView, type, filters.Status);
                        LoadRevisions(moduleR, action, idCommunity, filters, View.PreloadPageIndex, View.PreloadPageSize);
                    }
                    else
                    {
                        View.DisplayNoPermission(idCommunity, Service.ServiceModuleID());
                    }
                    break;
                }
                switch (action)
                {
                case CallStandardAction.List:
                    View.AllowManage = allowManage;
                    if (allowManage)
                    {
                        View.SetActionUrl(CallStandardAction.Manage, RootObject.ViewCalls(CallForPaperType.CallForBids, CallStandardAction.Manage, idCommunity, View.CurrentView));
                    }
                    break;

                case CallStandardAction.Manage:
                    View.AllowView = allowView;
                    if (allowView)
                    {
                        View.SetActionUrl(CallStandardAction.List, RootObject.ViewCalls(CallForPaperType.CallForBids, CallStandardAction.List, idCommunity, View.CurrentView));
                    }
                    break;
                }
            }
        }
예제 #29
0
        public void InitView()
        {
            long idCall = View.PreloadIdCall;

            dtoBaseForPaper  call = null;
            CallForPaperType type = CallService.GetCallType(idCall);

            if (type == CallForPaperType.None)
            {
                type = View.PreloadType;
            }
            call = CallService.GetDtoBaseCall(idCall);

            View.CallType = type;
            int idCommunity = SetCallCurrentCommunity(call);

            if (UserContext.isAnonymous)
            {
                View.DisplaySessionTimeout();
            }
            else
            {
                litePerson                 currenUser  = CurrentManager.GetLitePerson(UserContext.CurrentUserID);
                Boolean                    allowManage = false;
                Boolean                    allowView   = false;
                Boolean                    allowSave   = false;
                ModuleCallForPaper         module      = null;
                ModuleRequestForMembership moduleR     = null;
                switch (type)
                {
                case CallForPaperType.CallForBids:
                    module      = CallService.CallForPaperServicePermission(UserContext.CurrentUserID, idCommunity);
                    allowView   = (module.ViewCallForPapers || module.Administration || module.ManageCallForPapers);
                    allowManage = module.CreateCallForPaper || module.Administration || module.ManageCallForPapers || module.EditCallForPaper;
                    allowSave   = (module.Administration || module.ManageCallForPapers || (module.CreateCallForPaper && idCall == 0) || (call != null && module.EditCallForPaper && currenUser == call.Owner));
                    break;

                case CallForPaperType.RequestForMembership:
                    moduleR     = CallService.RequestForMembershipServicePermission(UserContext.CurrentUserID, idCommunity);
                    allowView   = (moduleR.ViewBaseForPapers || moduleR.Administration || moduleR.ManageBaseForPapers);
                    allowManage = moduleR.CreateBaseForPaper || moduleR.Administration || moduleR.ManageBaseForPapers || moduleR.EditBaseForPaper;
                    allowSave   = (moduleR.Administration || moduleR.ManageBaseForPapers || (moduleR.CreateBaseForPaper && idCall == 0) || (call != null && moduleR.EditBaseForPaper && currenUser == call.Owner));
                    break;

                default:
                    break;
                }

                int idModule = (type == CallForPaperType.CallForBids) ? CallService.ServiceModuleID() : RequestService.ServiceModuleID();
                View.IdCallModule = idModule;
                if (call == null)
                {
                    View.LoadUnknowCall(idCommunity, idModule, idCall, type);
                }
                else if (allowManage || allowSave)
                {
                    View.AllowSave = allowSave && (!CallService.CallHasSubmissions(idCall));
                    View.IdCall    = idCall;
                    View.SetActionUrl(CallStandardAction.Manage, RootObject.ViewCalls(type, CallStandardAction.Manage, idCommunity, View.PreloadView));
                    if (type == CallForPaperType.CallForBids)
                    {
                        LoadRequiredFiles(idCall, module);
                        View.SendUserAction(idCommunity, idModule, idCall, ModuleCallForPaper.ActionType.ViewRequestedFiles);
                    }
                    else
                    {
                        LoadRequiredFiles(idCall, moduleR);
                        View.SendUserAction(idCommunity, idModule, idCall, ModuleRequestForMembership.ActionType.ViewRequestedFiles);
                    }

                    View.SetActionUrl(CallStandardAction.PreviewCall, RootObject.PreviewCall(type, idCall, idCommunity, View.PreloadView));
                }
                else
                {
                    View.DisplayNoPermission(idCommunity, idModule);
                }
            }
        }
예제 #30
0
        private void LoadRequiredFiles(long idCall, ModuleCallForPaper module)
        {
            dtoGenericPermission permission = CallService.GetPermissionForEditor(idCall, module);

            LoadRequiredFiles(idCall, permission);
        }