diff --git a/web/documentserver-example/csharp-mvc/Controllers/HomeController.cs b/web/documentserver-example/csharp-mvc/Controllers/HomeController.cs index d7713fcf..931ce08b 100644 --- a/web/documentserver-example/csharp-mvc/Controllers/HomeController.cs +++ b/web/documentserver-example/csharp-mvc/Controllers/HomeController.cs @@ -47,7 +47,9 @@ namespace OnlineEditorsExampleMVC.Controllers public ActionResult Sample(string fileExt, bool? sample) { var fileName = DocManagerHelper.CreateDemo(fileExt, sample ?? false); // create a sample document - DocManagerHelper.CreateMeta(fileName, Request.Cookies.GetOrDefault("uid", ""), Request.Cookies.GetOrDefault("uname", "")); // create meta information for the sample document + var id = Request.Cookies.GetOrDefault("uid", null); + var user = Users.getUser(id); + DocManagerHelper.CreateMeta(fileName, user.id, user.name); // create meta information for the sample document Response.Redirect(Url.Action("Editor", "Home", new { fileName = fileName })); return null; } diff --git a/web/documentserver-example/csharp-mvc/Helpers/DocManagerHelper.cs b/web/documentserver-example/csharp-mvc/Helpers/DocManagerHelper.cs index d89ac103..cc050fdc 100644 --- a/web/documentserver-example/csharp-mvc/Helpers/DocManagerHelper.cs +++ b/web/documentserver-example/csharp-mvc/Helpers/DocManagerHelper.cs @@ -195,13 +195,11 @@ namespace OnlineEditorsExampleMVC.Helpers { var histDir = HistoryDir(StoragePath(fileName, userAddress)); // create history directory Directory.CreateDirectory(histDir); - var id = string.IsNullOrEmpty(uid) ? "uid-1" : uid; - var name = string.IsNullOrEmpty(uname) ? "John Smith" : uname; // create createdInfo.json file with meta information in the history directory (creation time, user id and name) File.WriteAllText(Path.Combine(histDir, "createdInfo.json"), new JavaScriptSerializer().Serialize(new Dictionary { { "created", DateTime.Now.ToString("yyyy'-'MM'-'dd HH':'mm':'ss") }, - { "id", id }, - { "name", id.Equals("uid-0") ? null : name } + { "id", uid }, + { "name", uname } })); } diff --git a/web/documentserver-example/csharp-mvc/Helpers/Users.cs b/web/documentserver-example/csharp-mvc/Helpers/Users.cs new file mode 100644 index 00000000..6fa399a8 --- /dev/null +++ b/web/documentserver-example/csharp-mvc/Helpers/Users.cs @@ -0,0 +1,65 @@ +/** + * + * (c) Copyright Ascensio System SIA 2021 + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +using System.Collections.Generic; + +namespace OnlineEditorsExampleMVC.Helpers +{ + public class Users + { + private static List users = new List() { + new User("uid-1", "John Smith", "smith@mail.ru", null, null), + new User("uid-2", "Mark Pottato", "pottato@mail.ru", "group-2", new List() { "group-2", "" }), + new User("uid-3", "Hamish Mitchell", "mitchell@mail.ru", "group-3", new List() { "group-2" }), + new User("uid-0", null, null, null, null) + }; + + public static User getUser(string id) + { + foreach(User user in users) + { + if (user.id.Equals(id)) return user; + } + return users[0]; + } + + public static List getAllUsers() + { + return users; + } + } + + public class User + { + public string id; + public string name; + public string email; + public string group; + public List reviewGroups; + + public User(string id, string name, string email, string group, List reviewGroups) + { + this.id = id; + this.name = name; + this.email = email; + this.group = group; + this.reviewGroups = reviewGroups; + } + + } +} \ No newline at end of file diff --git a/web/documentserver-example/csharp-mvc/Models/FileModel.cs b/web/documentserver-example/csharp-mvc/Models/FileModel.cs index a76d372b..378ef75d 100644 --- a/web/documentserver-example/csharp-mvc/Models/FileModel.cs +++ b/web/documentserver-example/csharp-mvc/Models/FileModel.cs @@ -87,26 +87,14 @@ namespace OnlineEditorsExampleMVC.Models var mode = canEdit && editorsMode != "view" ? "edit" : "view"; // set the mode parameter: change it to view if the document can't be edited var submitForm = canEdit && (editorsMode.Equals("edit") || editorsMode.Equals("fillForms")); // check if the Submit form button is displayed or not - var userId = request.Cookies.GetOrDefault("uid", "uid-1"); // get the user id or set the default one - var uname = userId.Equals("uid-0") ? null : request.Cookies.GetOrDefault("uname", "John Smith"); // get the user name or set the default one - string userGroup = null; // get the group the user belongs to - List reviewGroups = null; - if (userId.Equals("uid-2")) - { - userGroup = "group-2"; - reviewGroups = new List() { "group-2", "" }; - } - if (userId.Equals("uid-3")) - { - userGroup = "group-3"; - reviewGroups = new List() { "group-2" }; - } + var id = request.Cookies.GetOrDefault("uid", null); + var user = Users.getUser(id); // get the user // favorite icon state object favorite = null; - if (!string.IsNullOrEmpty(request.Cookies.GetOrDefault("uid", null))) + if (!user.id.Equals("uid-0") && !user.id.Equals("uid-1")) { - favorite = request.Cookies.GetOrDefault("uid", null).Equals("uid-2"); + favorite = user.id.Equals("uid-2"); } var actionLink = request.GetOrDefault("actionLink", null); // get the action link (comment or bookmark) if it exists @@ -137,15 +125,15 @@ namespace OnlineEditorsExampleMVC.Models "permissions", new Dictionary { { "comment", editorsMode != "view" && editorsMode != "fillForms" && editorsMode != "embedded" && editorsMode != "blockcontent" }, - { "copy", userId.Equals("uid-3") ? false : true }, - { "download", userId.Equals("uid-3") ? false : true }, + { "copy", user.id.Equals("uid-3") ? false : true }, + { "download", user.id.Equals("uid-3") ? false : true }, { "edit", canEdit && (editorsMode == "edit" || editorsMode == "view" || editorsMode == "filter" || editorsMode == "blockcontent") }, - { "print", userId.Equals("uid-3") ? false : true }, + { "print", user.id.Equals("uid-3") ? false : true }, { "fillForms", editorsMode != "view" && editorsMode != "comment" && editorsMode != "embedded" && editorsMode != "blockcontent" }, { "modifyFilter", editorsMode != "filter" }, { "modifyContentControl", editorsMode != "blockcontent" }, { "review", canEdit && (editorsMode == "edit" || editorsMode == "review") }, - { "reviewGroups", reviewGroups } + { "reviewGroups", user.reviewGroups } } } } @@ -162,9 +150,9 @@ namespace OnlineEditorsExampleMVC.Models // the user currently viewing or editing the document "user", new Dictionary { - { "id", userId }, - { "name", uname }, - { "group", userGroup } + { "id", user.id }, + { "name", user.name }, + { "group", user.group } } }, { diff --git a/web/documentserver-example/csharp-mvc/OnlineEditorsExampleMVC.csproj b/web/documentserver-example/csharp-mvc/OnlineEditorsExampleMVC.csproj index c2d8ee1d..747c5113 100644 --- a/web/documentserver-example/csharp-mvc/OnlineEditorsExampleMVC.csproj +++ b/web/documentserver-example/csharp-mvc/OnlineEditorsExampleMVC.csproj @@ -109,6 +109,7 @@ + diff --git a/web/documentserver-example/csharp-mvc/Scripts/jscript.js b/web/documentserver-example/csharp-mvc/Scripts/jscript.js index cd2e7629..5399e87b 100644 --- a/web/documentserver-example/csharp-mvc/Scripts/jscript.js +++ b/web/documentserver-example/csharp-mvc/Scripts/jscript.js @@ -193,7 +193,6 @@ if (typeof jQuery != "undefined") { userSel.on("change", function () { setCookie("uid", userSel.val()); - setCookie("uname", userSel.find("option:selected").text()) }); langSel.on("change", function () { setCookie("ulang", langSel.val()); diff --git a/web/documentserver-example/csharp-mvc/Views/Home/Index.aspx b/web/documentserver-example/csharp-mvc/Views/Home/Index.aspx index 8984e746..8ffbcef8 100644 --- a/web/documentserver-example/csharp-mvc/Views/Home/Index.aspx +++ b/web/documentserver-example/csharp-mvc/Views/Home/Index.aspx @@ -84,10 +84,10 @@ Username diff --git a/web/documentserver-example/csharp-mvc/WebEditor.ashx.cs b/web/documentserver-example/csharp-mvc/WebEditor.ashx.cs index 7921dbff..fcafa7cb 100644 --- a/web/documentserver-example/csharp-mvc/WebEditor.ashx.cs +++ b/web/documentserver-example/csharp-mvc/WebEditor.ashx.cs @@ -105,7 +105,9 @@ namespace OnlineEditorsExampleMVC var savedFileName = DocManagerHelper.StoragePath(fileName); // get the storage path to the uploading file httpPostedFile.SaveAs(savedFileName); // and save it // get file meta information or create the default one - DocManagerHelper.CreateMeta(fileName, context.Request.Cookies.GetOrDefault("uid", ""), context.Request.Cookies.GetOrDefault("uname", "")); + var id = context.Request.Cookies.GetOrDefault("uid", null); + var user = Users.getUser(id); + DocManagerHelper.CreateMeta(fileName, user.id, user.name); context.Response.Write("{ \"filename\": \"" + fileName + "\", \"documentType\": \"" + documentType + "\"}"); } @@ -187,7 +189,9 @@ namespace OnlineEditorsExampleMVC Remove(fileName); // remove the original file and its history if it exists fileName = correctName; // create meta information about the converted file with user id and name specified - DocManagerHelper.CreateMeta(fileName, context.Request.Cookies.GetOrDefault("uid", ""), context.Request.Cookies.GetOrDefault("uname", "")); + var id = context.Request.Cookies.GetOrDefault("uid", null); + var user = Users.getUser(id); + DocManagerHelper.CreateMeta(fileName, user.id, user.name); } var documentType = FileUtility.GetFileType(fileName).ToString().ToLower();