public ActionResult Settings()
        {
            Trace.Assert(Context.DistrictId.HasValue);
            Trace.Assert(Context.PersonId.HasValue);

            var messagingSettings = MessagingSettingsViewData.Create(MasterLocator.SchoolService.GetDistrictMessaginSettings(Context.DistrictId.Value));

            PrepareJsonData(messagingSettings, ViewConstants.MESSAGING_SETTINGS);

            var allApps = MasterLocator.ApplicationService.GetApplications(live: true)
                          .Where(x => x.HasDistrictAdminSettings)
                          .Select(BaseApplicationViewData.Create)
                          .ToList();

            if (ApplicationSecurity.HasAssessmentEnabled(Context) && Context.Claims.HasPermission(ClaimInfo.ASSESSMENT_ADMIN))
            {
                var assessement = MasterLocator.ApplicationService.GetAssessmentApplication();
                if (assessement != null && assessement.HasDistrictAdminSettings && !allApps.Exists(x => x.Id == assessement.Id))
                {
                    allApps.Add(BaseApplicationViewData.Create(assessement));
                }
            }
            else
            {
                var assessmentId = SchoolLocator.ServiceLocatorMaster.ApplicationService.GetAssessmentId();
                allApps = allApps.Where(x => x.Id != assessmentId).ToList();
            }

            return(Json(DistrictAdminSettingsViewData.Create(messagingSettings, allApps)));
        }
Esempio n. 2
0
        private District PrepareCommonViewData()
        {
            District district = null;

            if (Context.DistrictId.HasValue && Context.SchoolLocalId.HasValue)
            {
                district = MasterLocator.DistrictService.GetByIdOrNull(Context.DistrictId.Value);
                if (Context.DeveloperId != null)
                {
                    ViewData[ViewConstants.IS_DEV] = true;
                }
                if (district.IsDemoDistrict)
                {
                    ViewData[ViewConstants.STUDENT_ROLE]        = CoreRoles.STUDENT_ROLE.Name;
                    ViewData[ViewConstants.TEACHER_ROLE]        = CoreRoles.TEACHER_ROLE.Name;
                    ViewData[ViewConstants.DISTRICT_ADMIN_ROLE] = CoreRoles.DISTRICT_ADMIN_ROLE.Name;

                    ViewData[ViewConstants.DEMO_PICTURE_DISTRICT_REF] = DEMO_PICTURE_DISTRICT_REF;
                    ViewData[ViewConstants.IS_DEMO_DISTRICT]          = true;
                }
                ViewData[ViewConstants.LAST_SYNC_DATE] = district.LastSync.HasValue
                    ? district.LastSync.Value.ToString("yyyy/MM/dd hh:mm:ss")
                    : "";
                ViewData[ViewConstants.DISTRICT_ID] = district.Id.ToString();

                var messagingSettings = MessagingSettingsViewData.Create(MasterLocator.SchoolService.GetDistrictMessaginSettings(Context.DistrictId.Value));
                PrepareJsonData(messagingSettings, ViewConstants.MESSAGING_SETTINGS);

                //TODO : maybe added this to startup data ... only needs for school persons
                var school = SchoolLocator.SchoolService.GetSchool(Context.SchoolLocalId.Value);
                ViewData[ViewConstants.SCHOOL_NAME] = school.Name;
            }
            ViewData[ViewConstants.CURRENT_USER_ROLE_ID]   = Context.RoleId;
            ViewData[ViewConstants.ROLE_NAME]              = Context.Role.LoweredName;
            ViewData[ViewConstants.AZURE_PICTURE_URL]      = PictureService.GetPicturesRelativeAddress();
            ViewData[ViewConstants.DEMO_AZURE_PICTURE_URL] = PictureService.GeDemoPicturesRelativeAddress();
            ViewData[ViewConstants.CURR_SCHOOL_YEAR_ID]    = GetCurrentSchoolYearId();
            ViewData[ViewConstants.VERSION]                  = CompilerHelper.Version;
            ViewData[ViewConstants.CROCODOC_API_URL]         = PreferenceService.Get(Preference.CROCODOC_URL).Value;
            ViewData[ViewConstants.SERVER_TIME]              = Context.NowSchoolTime.ToString(DATE_TIME_FORMAT);
            ViewData[ViewConstants.SCHOOL_YEAR_SERVER_TIME]  = Context.NowSchoolYearTime.ToString(DATE_TIME_FORMAT);
            ViewData[ViewConstants.STUDY_CENTER_ENABLED]     = Context.SCEnabled;
            ViewData[ViewConstants.ASSESSMENT_ENABLED]       = Context.AssessmentEnabled;
            ViewData[ViewConstants.MESSAGING_DISABLED]       = Context.MessagingDisabled;
            ViewData[ViewConstants.ASSESSMENT_APLICATION_ID] = MasterLocator.ApplicationService.GetAssessmentId();
            ViewData[ViewConstants.SIS_API_VERSION]          = Context.SisApiVersion;
            ViewData[ViewConstants.USER_LOGIN]               = Context.Login;
            ViewData[ViewConstants.LOGIN_TIME_OUT]           = Context.LoginTimeOut;

            var leParams = SchoolLocator.LeService.GetLEParams();

            PrepareJsonData(leParams, ViewConstants.LE_PARAMS);
            PrepareJsonData(PersonClaimViewData.Create(Context.Claims), ViewConstants.USER_CLAIMS);
            return(district);
        }