public ActionResult NewWorkspace(AdminSettingsWorkspaceModel m) { try { if (string.IsNullOrEmpty(m.Name)) throw new Exception("Name is required."); if (m.Name.ToLowerInvariant() != m.Name.CleanSlug().ToLowerInvariant()) throw new Exception("Name has invalid characters."); string workspace = m.Name.CleanSlug().ToLowerInvariant(); AppWorkspace w = new AppWorkspace() { Name = workspace }; if (string.IsNullOrEmpty(m.Title)) throw new Exception("Title is required."); w.Title = new AtomTitle() { Text = m.Title }; w.Subtitle = string.IsNullOrEmpty(m.Subtitle) ? null : new AtomSubtitle() { Text = m.Subtitle }; AppService.AddWorkspace(w); AtomPubService.UpdateService(AppService); TempData["new"] = "New Workspace"; return RedirectToAction("Settings", new { workspace = workspace }); } catch (Exception ex) { LogService.Error(ex); m.Errors.Add(ex.Message); } return View("AdminSettingsWorkspace", "Admin", m); }
public ViewResult Settings(string workspace, string collection) { string view = "AdminSettings"; AdminModel m = null; if (Scope.IsEntireSite) { var esm = TempData["model"] as AdminSettingsEntireSiteModel; if (esm == null) { esm = new AdminSettingsEntireSiteModel(); esm.SiteAddress = AppService.Base; esm.DefaultSubdomain = AppService.DefaultSubdomain; esm.ServiceType = AppService.ServiceType.ToString(); esm.Secure = AppService.Secure; } view = "AdminSettingsEntireSite"; m = esm; } else if (Scope.IsWorkspace) { var wm = TempData["model"] as AdminSettingsWorkspaceModel; if (wm == null) { wm = new AdminSettingsWorkspaceModel(); //wm.Workspace = workspace; wm.Title = Workspace.Title.Text; wm.Subtitle = Workspace.Subtitle != null ? Workspace.Subtitle.Text : null; wm.Name = Workspace.Name; } view = "AdminSettingsWorkspace"; m = wm; } else { var cm = TempData["model"] as AdminSettingsCollectionModel; if (cm == null) { cm = new AdminSettingsCollectionModel(); cm.CollectionId = Collection.Id; cm.Title = Collection.Title.Text; cm.Subtitle = Collection.Subtitle != null ? Collection.Subtitle.Text : null; cm.Owner = Collection.Id.Owner; cm.Name = Collection.Id.Collection; cm.Dated = Collection.Dated; cm.Visible = Collection.Visible; cm.AnnotationsOn = Collection.AnnotationsOn; cm.SyndicationOn = Collection.SyndicationOn; } view = "AdminSettingsCollection"; m = cm; } if (m == null) m = new AdminModel(); if (TempData["new"] != null) m.Notifications.Add((string)TempData["new"], "was created successfully! Changes may take some time before they appear."); else if (TempData["saved"] != null) m.Notifications.Add("Saved", "settings successfully! Changes may take some time before they appear."); return View(view, "Admin", m); }
public ViewResult NewWorkspace() { var m = new AdminSettingsWorkspaceModel(); return View("AdminSettingsWorkspace", "Admin", m); }
public ActionResult UpdateWorkspace(string workspace, AdminSettingsWorkspaceModel m) { try { AppWorkspace w = AppService.GetWorkspace(workspace); if (string.IsNullOrEmpty(m.Title)) throw new Exception("Title is required."); w.Title = new AtomTitle() { Text = m.Title }; w.Subtitle = string.IsNullOrEmpty(m.Subtitle) ? null : new AtomSubtitle() { Text = m.Subtitle }; AtomPubService.UpdateService(AppService); TempData["saved"] = true; return RedirectToAction("Settings", new { workspace = workspace }); } catch (Exception ex) { LogService.Error(ex); m.Errors.Add(ex.Message); } return View("AdminSettingsWorkspace", "Admin", m); }