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))); }
public ActionResult ExternalAttachApps(int?start, int?count) { var apps = MasterLocator.ApplicationService.GetApplications(live: true).ToList(); apps = apps.Where(app => MasterLocator.ApplicationService.HasExternalAttachMode(app)).ToList(); return(Json(BaseApplicationViewData.Create(apps))); }
public static AttachSettingsViewData Create(Guid?assessmentId, bool isStandardEnabled, bool isAppsEnabled , bool isFileCabinetEnabled, IList <Application> externalAttachApps) { return(new AttachSettingsViewData { AssessmentApplicationId = assessmentId, IsStandardEnabled = isStandardEnabled, IsAppsEnabled = isAppsEnabled, IsFileCabinetEnabled = isFileCabinetEnabled, ExternalAttachApps = BaseApplicationViewData.Create(externalAttachApps) }); }
public static IList <BaseApplicationViewData> GetApplicationsWithContent(IServiceLocatorSchool schoolLocator, IServiceLocatorMaster masterLocator) { IList <Application> applications = masterLocator.ApplicationService.GetApplications(live: true); applications = applications.Where(x => x.ProvidesRecommendedContent).ToList(); var res = BaseApplicationViewData.Create(applications); foreach (var app in res) { app.EncodedSecretKey = HashHelper.HexOfCumputedHash(applications.First(x => x.Id == app.Id).SecretKey); app.AccessToken = masterLocator.ApplicationService.GetAccessToken(app.Id, ChalkableAuthentication.GetSessionKey()); } return(res); }
public ActionResult Developer(Guid?currentApplicationId, bool?isPwdReset) { if (isPwdReset.HasValue && isPwdReset.Value) { ViewData[ViewConstants.REDIRECT_URL_KEY] = UrlsConstants.DEV_RESET_PASSWORD_URL; } var developer = MasterLocator.DeveloperService.GetById(MasterLocator.Context.UserId); PrepareJsonData(DeveloperViewData.Create(developer), ViewConstants.CURRENT_PERSON); var applications = MasterLocator.ApplicationService.GetApplicationsWithLive(developer.Id, null, null); ViewData[ViewConstants.AZURE_PICTURE_URL] = PictureService.GetPicturesRelativeAddress(); ViewData[ViewConstants.DEMO_AZURE_PICTURE_URL] = PictureService.GeDemoPicturesRelativeAddress(); ViewData[ViewConstants.SERVER_TIME] = Context.NowSchoolTime.ToString(DATE_TIME_FORMAT); ViewData[ViewConstants.SCHOOL_YEAR_SERVER_TIME] = Context.NowSchoolYearTime.ToString(DATE_TIME_FORMAT); ViewData[ViewConstants.NEEDS_TOUR] = false; ViewData[ViewConstants.ROLE_NAME] = Context.Role.LoweredName; ViewData[ViewConstants.CURRENT_USER_ROLE_ID] = Context.RoleId; 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.DISTRICT_ID] = Context.UserId.ToString(); ViewData[ViewConstants.DEMO_PICTURE_DISTRICT_REF] = DEMO_PICTURE_DISTRICT_REF; ViewData[ViewConstants.IS_DEMO_DISTRICT] = true; if (Context.DistrictId.HasValue) { var district = DemoDistrictService.CreateDemoDistrict(Context.DistrictId.Value); var school = DemoSchoolService.CreateMasterSchool(Context.DistrictId.Value); school.District = district; PrepareJsonData(ShortSchoolViewData.Create(school), ViewConstants.SCHOOL); } PrepareJsonData(BaseApplicationViewData.Create(applications), ViewConstants.APPLICATIONS); if (applications.Count > 0) { var app = currentApplicationId.HasValue ? applications.First(x => x.Id == currentApplicationId) : applications.Last(); app = MasterLocator.ApplicationService.GetApplicationById(app.Id); var res = ApplicationController.PrepareAppInfo(MasterLocator, app, true, true); PrepareJsonData(res, ViewConstants.DEFAULT_APPLICATION, 6); } var ip = RequestHelpers.GetClientIpAddress(Request); MasterLocator.UserTrackingService.IdentifyDeveloper(developer.Email, developer.DisplayName, DateTime.UtcNow, "UTC", ip); return(View()); }
public ActionResult GetAccessToken(string applicationUrl, Guid?applicationId) { var app = !string.IsNullOrWhiteSpace(applicationUrl) ? MasterLocator.ApplicationService.GetApplicationByUrl(applicationUrl) : applicationId.HasValue ? MasterLocator.ApplicationService.GetApplicationById(applicationId.Value) : null; if (app == null) { throw new ChalkableException("Application not found"); } var token = MasterLocator.ApplicationService.GetAccessToken(app.Id, ChalkableAuthentication.GetSessionKey()); return(Json(new { Token = token, ApplicationInfo = BaseApplicationViewData.Create(app) })); }
public ActionResult MyApps(GuidList categoriesIds, IntList gradeLevelsIds, string filter, int?start, int?count) { var myAppsOnly = !BaseSecurity.IsDistrictAdmin(Context) ? true : (bool?)null; var apps = MasterLocator.ApplicationService.GetApplications(categoriesIds, gradeLevelsIds, filter, start ?? 0, count ?? DEFAULT_PAGE_SIZE, withBanned: true, myApps: myAppsOnly); if (!BaseSecurity.IsDistrictAdmin(Context)) { return(Json(apps.Transform(BaseApplicationViewData.Create))); } Trace.Assert(Context.DistrictId.HasValue); Trace.Assert(Context.SchoolLocalId.HasValue); var school = MasterLocator.SchoolService.GetById(Context.DistrictId.Value, Context.SchoolLocalId.Value); var appBanInfos = MasterLocator.ApplicationService .GetApplicationBanInfos(Context.DistrictId.Value, school.Id, apps.Select(x => x.Id).ToList()); var viewData = apps.Transform(x => BaseApplicationViewData.Create(x, appBanInfos.FirstOrDefault(y => y.ApplicationId == x.Id))); return(Json(viewData)); }