public override void HandleRequest(string jsonString, AjaxBase ajax) { if (!User.IsAdminLoggedIn(ajax)) { ajax.Unauthorized(); return; } AdminCollectionAddRequest request = Utility.ParseJson<AdminCollectionAddRequest>(jsonString); if (request.name == null || request.name == "" || request.path == null || request.path == "") { ajax.BadRequest(); return; } AdminCollectionAddResponse response = new AdminCollectionAddResponse(); request.name = Utility.Remove4PlusBytesUtf8Chars(request.name); if (request.name.Length > 50) { request.name = request.name.Substring(0, 50); } if (!Collection.CheckNewCollectionName(request.name)) { response.status = 1; } else if ((request.path = Collection.CheckNewCollectionPath(request.path)) == null || !Utility.IsValidStringForDatabase(request.path)) { response.status = 2; } else { response.status = 0; Collection.CreateNewCollection(request.name, request.path, request.public_, request.autoadd).Save(); } ajax.ReturnJson(response); }
private void SubmitSuccess(AdminCollectionAddResponse response) { submittingForm = false; switch (response.status) { case 0: Hide(); collectionsModule.Refresh(); break; case 1: ErrorModal.ShowError(Strings.Get("DuplicateCollectionName")); break; case 2: ErrorModal.ShowError(Strings.Get("InvalidCollectionPath")); break; default: ErrorModal.ShowError(Strings.Get("UnknownError")); break; } }