protected override void Render(HtmlTextWriter writer) { if (EmployeeInfo != null) { var isRetina = TenantLogoManager.IsRetina(HttpContext.Current.Request); StringBuilder sb = new StringBuilder(); sb.AppendFormat("<div {1} style=\"width: {0}px;overflow:hidden;\"><table cellpadding=\"0\" border=\"0\" cellspacing=\"0\" width=\"100%\" >", Width.Value, EmployeeInfo.ActivationStatus == EmployeeActivationStatus.Pending ? "class=\"pending\"" : ""); sb.Append("<tr valign='top'>"); sb.Append("<td align=\"left\" style=\"width:56px; padding-right:10px;\">"); sb.AppendFormat("<a class=\"borderBase\" {1} href=\"{0}\">", EmployeeUrl, "style=\"position:relative; text-decoration:none; display:block; height:48px; width:48px;\""); sb.Append("<img align=\"center\" alt=\"\" style='display:block;margin:0; position:relative;width:48px;' border=0 src=\"" + (isRetina ? EmployeeInfo.GetBigPhotoURL() : EmployeeInfo.GetMediumPhotoURL()) + "\"/>"); if (EmployeeInfo.ActivationStatus == EmployeeActivationStatus.Pending) { sb.Append("<div class=\"pendingInfo borderBase tintMedium\"><div>" + Resource.PendingTitle + "</div></div>"); } sb.Append("</a>"); sb.Append("</td>"); sb.Append("<td>"); if (!EmployeeInfo.ID.Equals(ASC.Core.Users.Constants.LostUser.ID)) { sb.Append("<div>"); sb.AppendFormat("<a class=\"link header-base middle bold\" data-id=\"{2}\" href=\"{0}\" title=\"{1}\">{1}</a>", EmployeeUrl, EmployeeInfo.DisplayUserName(), EmployeeInfo.ID); sb.Append("</div>"); //department sb.Append("<div style=\"padding-top: 6px;\">"); if (EmployeeInfo.Status != EmployeeStatus.Terminated) { var removecoma = false; foreach (var g in CoreContext.UserManager.GetUserGroups(EmployeeInfo.ID)) { sb.AppendFormat("<a class=\"link\" href=\"{0}\">", CommonLinkUtility.GetDepartment(g.ID)); sb.Append(HttpUtility.HtmlEncode(g.Name)); sb.Append("</a>, "); removecoma = true; } if (removecoma) { sb.Remove(sb.Length - 2, 2); } } sb.Append(" </div>"); sb.Append("<div style=\"padding-top: 6px;\">"); sb.Append(HttpUtility.HtmlEncode(EmployeeInfo.Title) ?? ""); sb.Append(" </div>"); } sb.Append("</td>"); sb.Append("</tr>"); sb.Append("</table></div>"); writer.Write(sb.ToString()); } base.Render(writer); }
public JavaScriptObject GetFullUserInfo(Guid userID, Guid productID, Object userValue) { var userInfo = CoreContext.UserManager.GetUsers(userID); var jsUserInfo = new JavaScriptObject(); jsUserInfo.Add("id", new JavaScriptString(userInfo.ID.ToString())); var department = userInfo.GetUserDepartment(); if (department != null) { jsUserInfo.Add("departmentId", new JavaScriptString(department.ID.ToString())); jsUserInfo.Add("departmentURL", new JavaScriptString(CommonLinkUtility.GetDepartment(productID, department.ID))); } jsUserInfo.Add("userName", new JavaScriptString(userInfo.UserName)); jsUserInfo.Add("displayName", new JavaScriptString(userInfo.DisplayUserName())); jsUserInfo.Add("profileURL", new JavaScriptString(userInfo.GetUserProfilePageURL(productID))); jsUserInfo.Add("email", new JavaScriptString(userInfo.Email)); jsUserInfo.Add("photo", new JavaScriptString(userInfo.GetPhotoURL())); jsUserInfo.Add("bigPhoto", new JavaScriptString(userInfo.GetBigPhotoURL())); jsUserInfo.Add("mediumPhoto", new JavaScriptString(userInfo.GetMediumPhotoURL())); jsUserInfo.Add("smallPhoto", new JavaScriptString(userInfo.GetSmallPhotoURL())); jsUserInfo.Add("title", new JavaScriptString(HttpUtility.HtmlEncode(userInfo.Title))); jsUserInfo.Add("departmentTitle", new JavaScriptString(HttpUtility.HtmlEncode(userInfo.Department))); jsUserInfo.Add("workFromDate", new JavaScriptString(userInfo.WorkFromDate == null ? String.Empty : userInfo.WorkFromDate.Value.ToShortDateString())); jsUserInfo.Add("userValue", new JavaScriptString(userValue.ToString())); return(jsUserInfo); }
public AjaxResponse GetUserInfo(Guid userID, Guid productID, string popupBoxID) { var resp = new AjaxResponse { rs1 = popupBoxID }; var userInfo = CoreContext.UserManager.GetUsers(userID); var sb = new StringBuilder(); sb.Append("<div style=\"overflow: hidden; margin-right: 10px; padding: 10px 0pt 10px 10px;\"><table cellspacing='0' cellpadding='0' style='width:100%;'><tr valign=\"top\">"); //avatar sb.Append("<td style=\"width:90px;\">"); sb.Append("<img alt=\"\" class='userPhoto' src=\"" + userInfo.GetBigPhotoURL() + "\"/>"); sb.Append("</td>"); sb.Append("<td style='padding-left:10px;'>"); //name sb.Append("<div>"); sb.Append("<a class='linkHeaderLight' href='" + userInfo.GetUserProfilePageURL(productID) + "'>" + userInfo.DisplayUserName() + "</a>"); sb.Append("</div>"); //department var dep = userInfo.GetUserDepartment(); if (dep != null) { sb.Append("<div style=\"margin-top:6px;\">"); sb.Append("<a href='" + CommonLinkUtility.GetDepartment(productID, dep.ID) + "'>" + dep.Name.HtmlEncode() + "</a>"); sb.Append("</div>"); } //title sb.Append("<div style=\"margin-top:6px;\">"); sb.Append(HttpUtility.HtmlEncode(userInfo.Title)); sb.Append("</div>"); //communications sb.Append("<div style=\"margin-top:6px;\">"); sb.Append(userInfo.RenderUserCommunication()); sb.Append("</div>"); sb.Append("</td>"); sb.Append("</tr></table></div>"); resp.rs2 = sb.ToString(); return(resp); }
protected string RenderDepartment() { if (UserInfo.Status == EmployeeStatus.Terminated) { return(HttpUtility.HtmlEncode(UserInfo.Department ?? "")); } var dep = UserInfo.GetUserDepartment(); if (dep != null) { return("<a href=\"" + CommonLinkUtility.GetDepartment(CommonLinkUtility.GetProductID(), dep.ID) + "\">" + HttpUtility.HtmlEncode(dep.Name) + "</a>"); } return(HttpUtility.HtmlEncode(UserInfo.Department ?? "")); }
private List <object> GetAdminsData(List <UserInfo> users) { var data = new List <object>(); foreach (var ui in users) { GroupInfo dep = ui.GetUserDepartment(); data.Add(new { UserName = ui.DisplayUserName(), UserPost = EncodeElement(ui.Title), UserUrl = CommonLinkUtility.GetUserProfile(ui.ID, ProductID), PhotoUrl = ui.GetSmallPhotoURL(), DepName = (dep == null ? "" : EncodeElement(dep.Name)), DepUrl = (dep == null ? "" : CommonLinkUtility.GetDepartment(ProductID, dep.ID)) }); } return(data); }
public AjaxResponse AddDepartment(Guid pid, string name, Guid managerID) { var resp = new AjaxResponse(); resp.rs1 = "0"; if (String.IsNullOrEmpty(name.Trim())) { resp.rs2 = Resources.Resource.ErrorEmptyName; } else { try { SecurityContext.DemandPermissions(Constants.Action_EditGroups, Constants.Action_AddRemoveUser); var newDep = CoreContext.GroupManager.SaveGroupInfo(new GroupInfo { Name = name }); if (CoreContext.UserManager.UserExists(managerID)) { CoreContext.UserManager.SetDepartmentManager(newDep.ID, managerID); var manager = CoreContext.UserManager.GetUsers(managerID); if (manager.GetUserDepartment() == null) { UserManagerWrapper.TransferUser2Department(manager.ID, newDep.ID); } } resp.rs3 = CommonLinkUtility.GetDepartment(pid, newDep.ID); resp.rs1 = "1"; } catch (Exception exc) { resp.rs1 = "0"; resp.rs2 = exc.Message; } } return(resp); }
protected override void PageLoad() { InitView(); Manager = Global.EngineFactory.GetParticipantEngine().GetByID(Project.Responsible).UserInfo; ManagerName = Manager.DisplayUserName(); ManagerAvatar = Manager.GetBigPhotoURL(); ManagerProfileUrl = Manager.GetUserProfilePageURL(); foreach (var g in CoreContext.UserManager.GetUserGroups(Manager.ID)) { ManagerDepartmentUrl += string.Format("<a href=\"{0}\" class=\"linkMedium\">{1}</a>, ", CommonLinkUtility.GetDepartment(g.ID), HttpUtility.HtmlEncode(g.Name)); } if (!string.IsNullOrEmpty(ManagerDepartmentUrl)) { ManagerDepartmentUrl = ManagerDepartmentUrl.Substring(0, ManagerDepartmentUrl.Length - 2); } Title = HeaderStringHelper.GetPageTitle(ProjectResource.ProjectTeam); }
private String RenderContent() { var newUsers = new List <UserInfo>(); var widgetSettings = SettingsManager.Instance.LoadSettingsFor <NewEmployeeWidgetSettings>(SecurityContext.CurrentAccount.ID); var users = CoreContext.UserManager.GetUsers(); foreach (var user in users) { //search new users if (user.WorkFromDate.HasValue && (newUsers.Find(u => u.ID.Equals(user.ID)) == null)) { if (newUsers.Count < widgetSettings.NewWorkerCount) { newUsers.Add(user); } else { newUsers.Sort(new UserInfoDateComparer(true)); for (int i = newUsers.Count - 1; i >= 0; i--) { var newUser = newUsers[i]; if (newUser.WorkFromDate.Value.CompareTo(user.WorkFromDate) < 0) { newUsers.Remove(newUser); newUsers.Add(user); break; } } } } } newUsers.Sort(new UserInfoDateComparer(true)); StringBuilder sb = new StringBuilder(); if (newUsers.Count > 0) { foreach (var user in newUsers) { sb.Append("<div style='margin-bottom:15px;'>"); var imageURL = user.GetSmallPhotoURL(); sb.Append("<table cellpadding=\"0\" cellspacing=\"0\"><tr valign='top'>"); sb.Append("<td style='width:30px;'><a href=\"" + CommonLinkUtility.GetUserProfile(user.ID, ProductID) + "\"><img class=\"borderBase\" border=0 alt=\"\" src='" + imageURL + "'/></a></td>"); sb.Append("<td style='padding-left:10px;'>"); sb.Append("<div style='margin-top:-3px;'>"); sb.Append("<a class='linkHeaderLightSmall' href=\"" + CommonLinkUtility.GetUserProfile(user.ID, ProductID) + "\">" + user.DisplayUserName() + "</a>"); sb.Append("</div>"); var dep = user.GetUserDepartment(); if (dep != null) { sb.Append("<div style='margin-top:4px;'>"); sb.Append("<a class='linkText' href='" + CommonLinkUtility.GetDepartment(ProductID, dep.ID) + "'>" + dep.Name.HtmlEncode() + "</a>"); sb.Append("</div>"); } sb.Append("</td>"); sb.Append("</tr></table>"); sb.Append("</div>"); } sb.Append("<div style='margin-top: 10px;'>"); //all users sb.Append("<a href=\"" + CommonLinkUtility.GetEmployees(ProductID) + "&sort=InvAdmissionDate\">" + CustomNamingPeople.Substitute <Resources.Resource>("AllEmployees").HtmlEncode() + "</a>"); sb.Append("</div>"); } else { //check access rigths if (SecurityContext.CheckPermissions(ASC.Core.Users.Constants.Action_AddRemoveUser)) { sb.Append("<div class='empty-widget' style='padding:40px; text-align: center;'>"); var url = string.Format("<div style=\"padding-top:3px;\"><a class=\"promoAction\" href=\"javascript:ImportUsersManager.ShowImportControl();\">"); sb.Append(string.Format(CustomNamingPeople.Substitute <Resources.Resource>("InviteEmployeesWidgetTitle").HtmlEncode(), url, "</a></div>")); sb.Append("</div>"); } else { sb.Append("<div class=\"empty-widget\" style=\"padding:40px; text-align: center;\">" + CustomNamingPeople.Substitute <Resources.Resource>("NoNewEmployees").HtmlEncode() + "</div>"); } } return(sb.ToString()); }
protected override void PageLoad() { InitView(); InitScripts(); Manager = Global.EngineFactory.GetParticipantEngine().GetByID(Project.Responsible).UserInfo; ManagerName = Manager.DisplayUserName(); ManagerAvatar = Manager.GetBigPhotoURL(); ManagerProfileUrl = Manager.GetUserProfilePageURL(); foreach (var g in CoreContext.UserManager.GetUserGroups(Manager.ID)) { ManagerDepartmentUrl += string.Format("<a href=\"{0}\" class=\"linkMedium\">{1}</a>, ", CommonLinkUtility.GetDepartment(g.ID), HttpUtility.HtmlEncode(g.Name)); } if (!string.IsNullOrEmpty(ManagerDepartmentUrl)) { ManagerDepartmentUrl = ManagerDepartmentUrl.Substring(0, ManagerDepartmentUrl.Length - 2); } var userSelector = (Studio.UserControls.Users.UserSelector)LoadControl(Studio.UserControls.Users.UserSelector.Location); userSelector.BehaviorID = "UserSelector"; userSelector.DisabledUsers.Add(Project.Responsible); userSelector.Title = ProjectResource.ManagmentTeam; userSelector.SelectedUserListTitle = ProjectResource.Team; userSelector.CustomBottomHtml = string.Format("<div style='padding-top:10px'><input id='userSelectorNotify' type='checkbox'/><label for='userSelectorNotify' style='padding-left:10px' >{0}</label></div>", ProjectResource.NotifyProjectTeam); var selectedUsers = Global.EngineFactory.GetProjectEngine().GetTeam(Project.ID).Select(participant => participant.ID).ToList(); userSelector.SelectedUsers = selectedUsers; _phTeamSelector.Controls.Add(userSelector); Title = HeaderStringHelper.GetPageTitle(ProjectResource.ProjectTeam); }