public static string Update(SiteSettings ss, int groupId) { var groupModel = new GroupModel(ss, groupId, setByForm: true); var invalid = GroupValidators.OnUpdating(ss, groupModel); switch (invalid) { case Error.Types.None: break; default: return(invalid.MessageJson()); } if (groupModel.AccessStatus != Databases.AccessStatuses.Selected) { return(Messages.ResponseDeleteConflicts().ToJson()); } var error = groupModel.Update(ss); if (error.Has()) { return(error == Error.Types.UpdateConflicts ? Messages.ResponseUpdateConflicts(groupModel.Updator.Name).ToJson() : new ResponseCollection().Message(error.Message()).ToJson()); } else { var res = new GroupsResponseCollection(groupModel); return(ResponseByUpdate(res, ss, groupModel) .PrependComment( ss, ss.GetColumn("Comments"), groupModel.Comments, groupModel.VerType) .ToJson()); } }
public static string Delete(SiteSettings ss, int groupId) { var groupModel = new GroupModel(ss, groupId); var invalid = GroupValidators.OnDeleting(ss, groupModel); switch (invalid) { case Error.Types.None: break; default: return(invalid.MessageJson()); } var error = groupModel.Delete(ss); if (error.Has()) { return(error.MessageJson()); } else { Sessions.Set("Message", Messages.Deleted(groupModel.Title.Value).Html); var res = new GroupsResponseCollection(groupModel); res .SetMemory("formChanged", false) .Href(Locations.Index("Groups")); return(res.ToJson()); } }
public static string Create(SiteSettings ss) { var groupModel = new GroupModel(ss, 0, setByForm: true); var invalid = GroupValidators.OnCreating(ss, groupModel); switch (invalid) { case Error.Types.None: break; default: return(invalid.MessageJson()); } var error = groupModel.Create(ss); if (error.Has()) { return(error.MessageJson()); } else { return(EditorResponse( ss, groupModel, Messages.Created(groupModel.Title.Value), GetSwitchTargets(ss, groupModel.GroupId).Join()).ToJson()); } }
public static string Editor(SiteSettings ss, GroupModel groupModel) { var invalid = GroupValidators.OnEditing(ss, groupModel); switch (invalid) { case Error.Types.None: break; default: return(HtmlTemplates.Error(invalid)); } var hb = new HtmlBuilder(); ss.SetColumnAccessControls(groupModel.Mine()); return(hb.Template( ss: ss, verType: groupModel.VerType, methodType: groupModel.MethodType, referenceType: "Groups", title: groupModel.MethodType == BaseModel.MethodTypes.New ? Displays.Groups() + " - " + Displays.New() : groupModel.Title.Value, action: () => { hb .Editor( ss: ss, groupModel: groupModel) .Hidden(controlId: "TableName", value: "Groups") .Hidden(controlId: "Id", value: groupModel.GroupId.ToString()); }).ToString()); }
/// <summary> /// Fixed: /// </summary> public static string Index(SiteSettings ss) { var invalid = GroupValidators.OnEntry(ss); switch (invalid) { case Error.Types.None: break; default: return(HtmlTemplates.Error(invalid)); } var hb = new HtmlBuilder(); var view = Views.GetBySession(ss); var gridData = GetGridData(ss, view); var viewMode = ViewModes.GetBySession(ss.SiteId); return(hb.Template( ss: ss, verType: Versions.VerTypes.Latest, methodType: BaseModel.MethodTypes.Index, referenceType: "Groups", script: Libraries.Scripts.JavaScripts.ViewMode(viewMode), title: Displays.Groups() + " - " + Displays.List(), action: () => { hb .Form( attributes: new HtmlAttributes() .Id("GroupForm") .Class("main-form") .Action(Locations.Action("Groups")), action: () => hb .ViewFilters(ss: ss, view: view) .Aggregations( ss: ss, aggregations: gridData.Aggregations) .Div(id: "ViewModeContainer", action: () => hb .Grid( ss: ss, gridData: gridData, view: view)) .MainCommands( ss: ss, siteId: ss.SiteId, verType: Versions.VerTypes.Latest) .Div(css: "margin-bottom") .Hidden(controlId: "TableName", value: "Groups") .Hidden(controlId: "BaseUrl", value: Locations.BaseUrl()) .Hidden( controlId: "GridOffset", value: Parameters.General.GridPageSize.ToString())) .Div(attributes: new HtmlAttributes() .Id("ImportSettingsDialog") .Class("dialog") .Title(Displays.Import())) .Div(attributes: new HtmlAttributes() .Id("ExportSettingsDialog") .Class("dialog") .Title(Displays.ExportSettings())); }).ToString()); }
public static string Create(SiteSettings ss) { var groupModel = new GroupModel(ss, 0, setByForm: true); var invalid = GroupValidators.OnCreating(ss, groupModel); switch (invalid) { case Error.Types.None: break; default: return(invalid.MessageJson()); } var error = groupModel.Create(ss); switch (error) { case Error.Types.None: Sessions.Set("Message", Messages.Created(groupModel.Title.Value)); return(new ResponseCollection() .SetMemory("formChanged", false) .Href(Locations.Edit( controller: Routes.Controller(), id: ss.Columns.Any(o => o.Linking) ? Forms.Long("LinkId") : groupModel.GroupId)) .ToJson()); default: return(error.MessageJson()); } }
private static string ViewModeTemplate( this HtmlBuilder hb, SiteSettings ss, GroupCollection groupCollection, View view, string viewMode, Action viewModeBody) { var invalid = GroupValidators.OnEntry(ss); switch (invalid) { case Error.Types.None: break; default: return(HtmlTemplates.Error(invalid)); } ss.SetColumnAccessControls(); return(hb.Template( ss: ss, verType: Versions.VerTypes.Latest, methodType: BaseModel.MethodTypes.Index, siteId: ss.SiteId, parentId: ss.ParentId, referenceType: "Groups", script: Libraries.Scripts.JavaScripts.ViewMode(viewMode), userScript: ss.GridScript, userStyle: ss.GridStyle, action: () => hb .Form( attributes: new HtmlAttributes() .Id("GroupsForm") .Class("main-form") .Action(Locations.ItemAction(ss.SiteId)), action: () => hb .ViewSelector(ss: ss, view: view) .ViewFilters(ss: ss, view: view) .Aggregations( ss: ss, aggregations: groupCollection.Aggregations) .Div(id: "ViewModeContainer", action: () => viewModeBody()) .MainCommands( ss: ss, siteId: ss.SiteId, verType: Versions.VerTypes.Latest, bulkMoveButton: true, bulkDeleteButton: true, importButton: true, exportButton: true) .Div(css: "margin-bottom") .Hidden(controlId: "TableName", value: "Groups") .Hidden(controlId: "BaseUrl", value: Locations.BaseUrl())) .MoveDialog(bulk: true) .Div(attributes: new HtmlAttributes() .Id("ExportSettingsDialog") .Class("dialog") .Title(Displays.ExportSettings()))) .ToString()); }
public static string Restore(SiteSettings ss, int groupId) { var groupModel = new GroupModel(); var invalid = GroupValidators.OnRestoring(); switch (invalid) { case Error.Types.None: break; default: return(invalid.MessageJson()); } var error = groupModel.Restore(ss, groupId); if (error.Has()) { return(error.MessageJson()); } else { var res = new GroupsResponseCollection(groupModel); return(res.ToJson()); } }