public static string Delete(SiteSettings ss, long wikiId) { var wikiModel = new WikiModel(ss, wikiId); var invalid = WikiValidators.OnDeleting(ss, wikiModel); switch (invalid) { case Error.Types.None: break; default: return(invalid.MessageJson()); } var error = wikiModel.Delete(ss, notice: true); if (error.Has()) { return(error.MessageJson()); } else { Sessions.Set("Message", Messages.Deleted(wikiModel.Title.Value).Html); var res = new WikisResponseCollection(wikiModel); res .SetMemory("formChanged", false) .Href(Locations.ItemIndex(Rds.ExecuteScalar_long(statements: Rds.SelectSites( tableType: Sqls.TableTypes.Deleted, column: Rds.SitesColumn().ParentId(), where : Rds.SitesWhere() .TenantId(Sessions.TenantId()) .SiteId(wikiModel.SiteId))))); return(res.ToJson()); } }
public static string Editor(SiteSettings ss, WikiModel wikiModel) { var invalid = WikiValidators.OnEditing(ss, wikiModel); switch (invalid) { case Error.Types.None: break; default: return(HtmlTemplates.Error(invalid)); } var hb = new HtmlBuilder(); ss.SetColumnAccessControls(wikiModel.Mine()); return(hb.Template( ss: ss, verType: wikiModel.VerType, methodType: wikiModel.MethodType, siteId: wikiModel.SiteId, parentId: ss.ParentId, referenceType: "Wikis", title: wikiModel.MethodType == BaseModel.MethodTypes.New ? Displays.New() : wikiModel.Title.DisplayValue, useTitle: ss.TitleColumns?.Any(o => ss.EditorColumns.Contains(o)) == true, userScript: ss.EditorScripts(wikiModel.MethodType), userStyle: ss.EditorStyles(wikiModel.MethodType), action: () => hb .Editor( ss: ss, wikiModel: wikiModel) .Hidden(controlId: "TableName", value: "Wikis") .Hidden(controlId: "Id", value: wikiModel.WikiId.ToString())) .ToString()); }
public static string RestoreFromHistory( Context context, SiteSettings ss, long wikiId) { if (!Parameters.History.Restore) { return(Error.Types.InvalidRequest.MessageJson()); } var wikiModel = new WikiModel(context, ss, wikiId); var invalid = WikiValidators.OnUpdating( context: context, ss: ss, wikiModel: wikiModel); switch (invalid) { case Error.Types.None: break; default: return(invalid.MessageJson()); } var ver = Forms.Data("GridCheckedItems") .Split(',') .Where(o => !o.IsNullOrEmpty()) .ToList(); if (ver.Count() != 1) { return(Error.Types.SelectOne.MessageJson()); } wikiModel.SetByModel(new WikiModel().Get( context: context, ss: ss, tableType: Sqls.TableTypes.History, where : Rds.WikisWhere() .SiteId(ss.SiteId) .WikiId(wikiId) .Ver(ver.First()))); wikiModel.VerUp = true; var error = wikiModel.Update( context: context, ss: ss, otherInitValue: true); switch (error) { case Error.Types.None: Sessions.Set("Message", Messages.RestoredFromHistory(ver.First().ToString())); return(new ResponseCollection() .SetMemory("formChanged", false) .Href(Locations.ItemEdit(wikiId)) .ToJson()); default: return(error.MessageJson()); } }
public static string Update(IContext context, SiteSettings ss, long wikiId) { var wikiModel = new WikiModel( context: context, ss: ss, wikiId: wikiId, setByForm: true); var invalid = WikiValidators.OnUpdating( context: context, ss: ss, wikiModel: wikiModel); switch (invalid) { case Error.Types.None: break; default: return(invalid.MessageJson(context: context)); } if (wikiModel.AccessStatus != Databases.AccessStatuses.Selected) { return(Messages.ResponseDeleteConflicts(context: context).ToJson()); } var error = wikiModel.Update( context: context, ss: ss, notice: true, permissions: context.Forms.List("CurrentPermissionsAll"), permissionChanged: context.Forms.Exists("CurrentPermissionsAll")); switch (error) { case Error.Types.None: var res = new WikisResponseCollection(wikiModel); res.ReplaceAll("#Breadcrumb", new HtmlBuilder() .Breadcrumb(context: context, ss: ss)); return(ResponseByUpdate(res, context, ss, wikiModel) .PrependComment( context: context, ss: ss, column: ss.GetColumn(context: context, columnName: "Comments"), comments: wikiModel.Comments, verType: wikiModel.VerType) .ToJson()); case Error.Types.UpdateConflicts: return(Messages.ResponseUpdateConflicts( context: context, data: wikiModel.Updator.Name) .ToJson()); default: return(error.MessageJson(context: context)); } }
public static string Delete(IContext context, SiteSettings ss, long wikiId) { var wikiModel = new WikiModel(context, ss, wikiId); var invalid = WikiValidators.OnDeleting( context: context, ss: ss, wikiModel: wikiModel); switch (invalid) { case Error.Types.None: break; default: return(invalid.MessageJson(context: context)); } var error = wikiModel.Delete(context: context, ss: ss, notice: true); switch (error) { case Error.Types.None: SessionUtilities.Set( context: context, message: Messages.Deleted( context: context, data: wikiModel.Title.Value)); var res = new WikisResponseCollection(wikiModel); res .SetMemory("formChanged", false) .Href(Locations.ItemIndex( context: context, id: Rds.ExecuteScalar_long( context: context, statements: Rds.SelectSites( tableType: Sqls.TableTypes.Deleted, column: Rds.SitesColumn().ParentId(), where : Rds.SitesWhere() .TenantId(context.TenantId) .SiteId(wikiModel.SiteId))))); return(res.ToJson()); default: return(error.MessageJson(context: context)); } }
public static string Update(SiteSettings ss, long wikiId) { var wikiModel = new WikiModel(ss, wikiId, setByForm: true); var invalid = WikiValidators.OnUpdating(ss, wikiModel); switch (invalid) { case Error.Types.None: break; default: return(invalid.MessageJson()); } if (wikiModel.AccessStatus != Databases.AccessStatuses.Selected) { return(Messages.ResponseDeleteConflicts().ToJson()); } var error = wikiModel.Update( ss: ss, notice: true, permissions: Forms.List("CurrentPermissionsAll"), permissionChanged: Forms.Exists("CurrentPermissionsAll")); if (error.Has()) { return(error == Error.Types.UpdateConflicts ? Messages.ResponseUpdateConflicts(wikiModel.Updator.Name).ToJson() : new ResponseCollection().Message(error.Message()).ToJson()); } else { var res = new WikisResponseCollection(wikiModel); res.ReplaceAll("#Breadcrumb", new HtmlBuilder().Breadcrumb(ss.SiteId)); return(ResponseByUpdate(res, ss, wikiModel) .PrependComment( ss, ss.GetColumn("Comments"), wikiModel.Comments, wikiModel.VerType) .ToJson()); } }
public static string Restore(SiteSettings ss, long wikiId) { var wikiModel = new WikiModel(); var invalid = WikiValidators.OnRestoring(); switch (invalid) { case Error.Types.None: break; default: return(invalid.MessageJson()); } var error = wikiModel.Restore(ss, wikiId); if (error.Has()) { return(error.MessageJson()); } else { var res = new WikisResponseCollection(wikiModel); return(res.ToJson()); } }
public static string Editor( IContext context, SiteSettings ss, WikiModel wikiModel, bool editInDialog = false) { var invalid = WikiValidators.OnEditing( context: context, ss: ss, wikiModel: wikiModel); switch (invalid) { case Error.Types.None: break; default: return(HtmlTemplates.Error(context, invalid)); } var hb = new HtmlBuilder(); ss.SetColumnAccessControls( context: context, mine: wikiModel.Mine(context: context)); return(editInDialog ? hb.DialogEditorForm( context: context, siteId: wikiModel.SiteId, referenceId: wikiModel.WikiId, action: () => hb .FieldSetGeneral( context: context, ss: ss, wikiModel: wikiModel, editInDialog: editInDialog)) .ToString() : hb.Template( context: context, ss: ss, view: null, verType: wikiModel.VerType, methodType: wikiModel.MethodType, siteId: wikiModel.SiteId, parentId: ss.ParentId, referenceType: "Wikis", title: wikiModel.MethodType == BaseModel.MethodTypes.New ? Displays.New(context: context) : wikiModel.Title.DisplayValue, useTitle: ss.TitleColumns?.Any(o => ss.EditorColumns.Contains(o)) == true, userScript: ss.EditorScripts( context: context, methodType: wikiModel.MethodType), userStyle: ss.EditorStyles( context: context, methodType: wikiModel.MethodType), action: () => hb .Editor( context: context, ss: ss, wikiModel: wikiModel) .Hidden(controlId: "TableName", value: "Wikis") .Hidden(controlId: "Id", value: wikiModel.WikiId.ToString()) .Hidden(controlId: "TriggerRelatingColumns", value: Jsons.ToJson(ss.RelatingColumns)) .Hidden(controlId: "DropDownSearchPageSize", value: Parameters.General.DropDownSearchPageSize.ToString())) .ToString()); }