Ejemplo n.º 1
0
 public static string RenderForm(Core.IRequest request, PartialViewKeys type, Dictionary <string, object> data, Vendor.PartialViews.Container container)
 {
     if (Core.Vendors.PartialViews.ContainsKey(type))
     {
         var html = new StringBuilder();
         if (container != Vendor.PartialViews.Container.None)
         {
             var view = new View("/Views/Shared/PartialViews/" + container.ToString().ToLower() + ".html");
             foreach (var partialview in Core.Vendors.PartialViews[type])
             {
                 view.Clear();
                 view["content"] = partialview.RenderForm(request, data);
                 view["title"]   = partialview.Title;
                 view["id"]      = partialview.Title.ToLower().ReplaceOnlyAlphaNumeric(true, false, true).Replace(" ", "-");
                 view["menu"]    = RenderMenu(partialview);
                 html.Append(view.Render());
             }
         }
         else
         {
             foreach (var partialview in Core.Vendors.PartialViews[type])
             {
                 html.Append(partialview.RenderForm(request, data));
             }
         }
         return(html.ToString());
     }
     return("");
 }
Ejemplo n.º 2
0
        public static void Update(Core.IRequest request, int boardId, string name, string color, int orgId, string cardtype)
        {
            //check if user has access to board
            if (!Query.Boards.MemberExists(request.User.UserId, boardId))
            {
                throw new ServiceDeniedException();
            }

            //finally, update board
            try
            {
                Query.Boards.UpdateBoard(new Query.Models.Board()
                {
                    name     = name,
                    boardId  = boardId,
                    color    = color,
                    orgId    = orgId,
                    cardtype = cardtype
                });
            }
            catch (Exception)
            {
                throw new ServiceErrorException("Error updating existing board");
            }
        }
Ejemplo n.º 3
0
 public static void Save(Core.IRequest request, Dictionary <string, string> parameters, PartialViewKeys type, Dictionary <string, object> data)
 {
     if (Core.Vendors.PartialViews.ContainsKey(type))
     {
         foreach (var partialview in Core.Vendors.PartialViews[type])
         {
             partialview.Save(request, parameters, data);
         }
     }
 }
Ejemplo n.º 4
0
        public static string RenderList(int userId, Core.IRequest request)
        {
            var createView = new View("/Views/Boards/create-board.html");
            var orgView    = new View("/Views/Boards/org-head.html");
            var boards     = Query.Boards.GetList(userId);
            var html       = new StringBuilder();
            var item       = new View("/Views/Boards/list-item.html");
            var orgId      = 0;
            var canCreate  = false;

            boards.ForEach((Query.Models.Board b) => {
                //check organization
                if (orgId != b.orgId)
                {
                    canCreate = request.CheckSecurity(orgId, Security.Keys.BoardCanCreate.ToString());
                    if (orgId > 0)
                    {
                        if (canCreate)
                        {
                            createView["onclick"] = "S.boards.add.show(null, null, '', " + orgId + ")";
                            html.Append(createView.Render());
                        }
                        html.Append("</div>");
                    }
                    orgView.Clear();
                    orgView["name"] = b.orgName;
                    orgId           = b.orgId;
                    html.Append(orgView.Render());
                    html.Append("<div class=\"org-boards\">");
                }
                item["favorite"] = b.favorite ? "1" : "";
                item["name"]     = b.name;
                item["color"]    = "#" + b.color;
                item["extra"]    = b.favorite ? "fav" : "";
                item["id"]       = b.boardId.ToString();
                item["orgId"]    = orgId.ToString();
                item["type"]     = b.type.ToString();
                item["url"]      = GetUrl(b.boardId, b.name);
                html.Append(item.Render());
            });
            if (request.CheckSecurity(orgId, Security.Keys.BoardCanCreate.ToString()))
            {
                createView["onclick"] = "S.boards.add.show(null, null, '', " + orgId + ")";
                html.Append(createView.Render());
            }
            html.Append("</div>");

            return(html.ToString());
        }
Ejemplo n.º 5
0
 public static int Create(Core.IRequest request, int orgId, string name, string description = "")
 {
     try
     {
         return(Query.Teams.Create(new Query.Models.Team()
         {
             orgId = orgId,
             name = name,
             description = description
         }, request.User.UserId));
     }
     catch (Exception)
     {
         throw new ServiceErrorException("Error creating new team");
     }
 }
Ejemplo n.º 6
0
        public static string RenderList(Core.IRequest request, int orgId, int page = 1, int length = 10, string search = "", string onclick = "")
        {
            var listItem = new View("/Views/Members/list-item.html");
            var html     = new StringBuilder();
            var members  = Query.Organizations.GetMembers(orgId, page, length, search);

            foreach (var member in members)
            {
                listItem.Clear();
                listItem.Bind(new { member });
                listItem["click"] = (onclick != "" ? onclick : "S.user.details.show") + "(" + member.userId + ", " + orgId + ", '" + member.name + "')";
                html.Append(listItem.Render());
            }

            return(html.ToString());
        }
Ejemplo n.º 7
0
        public static string RenderMembers(Core.IRequest request, int teamId)
        {
            var listItem = new View("/Views/Members/list-item.html");
            var html     = new StringBuilder();
            var members  = Query.Teams.GetMembers(teamId);

            foreach (var member in members)
            {
                if (member.title == "")
                {
                    member.title = "Member";
                }
                listItem.Clear();
                listItem.Bind(new { member });
                listItem["click"] = "S.teams.members.details.show(" + member.userId + ", '" + member.name + "')";
                html.Append(listItem.Render());
            }

            return(html.ToString());
        }
Ejemplo n.º 8
0
        public static int Create(Core.IRequest request, string name, string color, int orgId, string cardtype)
        {
            try
            {
                var id = Query.Boards.CreateBoard(new Query.Models.Board()
                {
                    name     = name,
                    color    = color,
                    orgId    = orgId,
                    cardtype = cardtype
                }, request.User.UserId);

                //add board Id to user's permissions for boards
                request.User.Boards.Add(id);
                request.User.Save(true);

                return(id);
            }catch (Exception)
            {
                throw new ServiceErrorException("Error creating new board");
            }
        }
Ejemplo n.º 9
0
        public static string RenderList(Core.IRequest request, int orgId, bool showMembers = true)
        {
            var listItem = new View("/Views/Teams/list-item.html");
            var html     = new StringBuilder();
            var teams    = Query.Teams.GetList(orgId, request.User.UserId);

            foreach (var team in teams)
            {
                listItem.Clear();
                listItem.Bind(new { team });
                if (team.totalMembers != 1)
                {
                    listItem.Show("plural");
                }
                listItem["click"] = "S.orgs.teams.details(" + team.teamId + ", '" + team.name.Replace("'", "\\'").Replace("\"", "&quot;") + "')";
                if (showMembers)
                {
                    listItem.Show("subtitle");
                }
                html.Append(listItem.Render());
            }

            return(html.ToString());
        }
Ejemplo n.º 10
0
 public static void UseAllColorScheme(Core.IRequest request, bool allColor)
 {
     Query.Users.AllColor(request.User.UserId, allColor);
     request.User.AllColor = allColor;
     request.User.Save(true);
 }
Ejemplo n.º 11
0
 public static void KeepBoardsMenuOpen(Core.IRequest request, bool keepOpen)
 {
     Query.Users.KeepMenuOpen(request.User.UserId, keepOpen);
     request.User.KeepMenuOpen = keepOpen;
     request.User.Save(true);
 }
Ejemplo n.º 12
0
        public static string RenderSideBar(Core.IRequest request, int orgId = 0, bool listOnly = false, bool showSubTitle = true, int sort = 0, bool btnsInFront = false)
        {
            var html    = new StringBuilder();
            var htm     = new StringBuilder();
            var sidebar = new View("/Views/Board/sidebar.html");
            var menu    = new View("/Views/Board/menu.html");
            var item    = new View("/Views/Board/menu-item.html");
            var boards  = Query.Boards.GetList(request.User.UserId, orgId, (Query.Boards.BoardsSort)sort);
            var favs    = boards.Where((a) => { return(a.favorite); });

            // Favorite Boards //////////////////////////////////////////
            if (favs.Any())
            {
                menu["title"] = "Starred Boards";
                menu["id"]    = "favs";
                menu["icon"]  = "star-border-sm";
                htm           = new StringBuilder();
                foreach (var fav in favs)
                {
                    item["id"]    = fav.boardId.ToString();
                    item["url"]   = "/board/" + fav.boardId + "/" + fav.name.Replace(" ", "-").ToLower();
                    item["color"] = "#" + fav.color;
                    item["title"] = fav.name;
                    item["owner"] = fav.orgName;
                    item["star"]  = fav.favorite ? "star" : "star-border";
                    if (showSubTitle)
                    {
                        item.Show("subtitle");
                    }
                    htm.Append(item.Render());
                }
                menu["items"] = htm.ToString();
            }

            // Boards (sorted by organization, favorite, alphabetical) //////////////////////////////////////////
            if (boards.Any())
            {
                var isnewOrg = true;
                htm = new StringBuilder();
                foreach (var board in boards)
                {
                    if (board.orgId != orgId)
                    {
                        if (orgId > 0 && htm.ToString() != "")
                        {
                            menu["items"] = htm.ToString();
                            htm.Clear();
                            html.Append(menu.Render());
                        }
                        isnewOrg = true;
                        orgId    = board.teamId;
                    }
                    if (isnewOrg == true)
                    {
                        menu["title"] = board.orgName;
                        menu["id"]    = "org" + board.orgId.ToString();
                        menu["icon"]  = "user";
                    }

                    item["id"]    = board.boardId.ToString();
                    item["orgId"] = orgId.ToString();
                    item["url"]   = "/board/" + board.boardId + "/" + board.name.Replace(" ", "-").ToLower();
                    item["color"] = "#" + board.color;
                    item["title"] = board.name;
                    item["owner"] = board.orgName;
                    item["star"]  = board.favorite ? "star" : "star-border";
                    if (showSubTitle)
                    {
                        item.Show("subtitle");
                    }
                    htm.Append(item.Render());
                }
                menu["items"] = htm.ToString();
            }
            if (menu["items"] != "")
            {
                //add new board button
                if (request.User.CheckSecurity(orgId, new string[] { Security.Keys.BoardCanCreate.ToString(), Security.Keys.BoardsFullAccess.ToString() }))
                {
                    var additem = new View("/Views/Boards/add-item.html");
                    menu["items"] = btnsInFront ? (additem.Render() + menu["items"]) : (menu["items"] + additem.Render());
                }

                //finally, render menu
                if (listOnly)
                {
                    return(menu["items"]);
                }
                html.Append(menu.Render());
            }
            sidebar["items"] = html.ToString();
            return(sidebar.Render());
        }
Ejemplo n.º 13
0
 public static string RenderForm(Core.IRequest request, PartialViewKeys type, Dictionary <string, object> data, Container container)
 {
     return(Core.Delegates.PartialViews.RenderForm(request, type, data, container));
 }
Ejemplo n.º 14
0
 public static void Save(Core.IRequest request, Dictionary <string, string> parameters, PartialViewKeys type, Dictionary <string, object> data)
 {
     Core.Delegates.PartialViews.Save(request, parameters, type, data);
 }