diff --git a/src/main/java/org/catrobat/jira/adminhelper/rest/UserRest.java b/src/main/java/org/catrobat/jira/adminhelper/rest/UserRest.java index 647d926..5a773ee 100644 --- a/src/main/java/org/catrobat/jira/adminhelper/rest/UserRest.java +++ b/src/main/java/org/catrobat/jira/adminhelper/rest/UserRest.java @@ -27,6 +27,7 @@ import com.atlassian.jira.component.ComponentAccessor; import com.atlassian.jira.exception.PermissionException; import com.atlassian.jira.exception.RemoveException; +import com.atlassian.jira.ofbiz.OfBizDelegator; import com.atlassian.jira.security.PermissionManager; import com.atlassian.jira.security.groups.GroupManager; import com.atlassian.jira.user.ApplicationUser; @@ -49,6 +50,7 @@ import org.catrobat.jira.adminhelper.rest.json.JsonResource; import org.catrobat.jira.adminhelper.rest.json.JsonTeam; import org.catrobat.jira.adminhelper.rest.json.JsonUser; +import org.ofbiz.core.entity.GenericValue; import javax.servlet.http.HttpServletRequest; import javax.ws.rs.*; @@ -57,7 +59,9 @@ import javax.ws.rs.core.Response; import java.security.SecureRandom; +import java.sql.Timestamp; import java.util.*; +import com.google.gson.Gson; @Path("/user") public class UserRest extends RestHelper { @@ -203,6 +207,10 @@ public Response getUsers(@Context HttpServletRequest request) { List jsonUserList = new ArrayList(); Collection allUsers = ComponentAccessor.getUserManager().getAllUsers(); Collection systemAdmins = userUtil.getJiraSystemAdministrators(); + + OfBizDelegator delegator = ComponentAccessor.getOfBizDelegator(); + List ofBisUsers = delegator.findAll("User"); + for (ApplicationUser user : allUsers) { if (systemAdmins.contains(user)) { continue; @@ -230,6 +238,15 @@ public Response getUsers(@Context HttpServletRequest request) { } jsonUser.setActive(isActive); + for(GenericValue ofBizUser : ofBisUsers) + { + String obUserName = ofBizUser.getString("userName"); + if(obUserName.equals(user.getUsername())) { + Timestamp timestamp = ofBizUser.getTimestamp("createdDate"); + jsonUser.setCreatedDate(new Date(timestamp.getTime())); + } + } + ExtendedPreferences extendedPreferences = userPreferencesManager.getExtendedPreferences(user); jsonUser.setGithubName(extendedPreferences.getText(GITHUB_PROPERTY)); diff --git a/src/main/java/org/catrobat/jira/adminhelper/rest/json/JsonUser.java b/src/main/java/org/catrobat/jira/adminhelper/rest/json/JsonUser.java index 397fe2e..ddf0a5a 100644 --- a/src/main/java/org/catrobat/jira/adminhelper/rest/json/JsonUser.java +++ b/src/main/java/org/catrobat/jira/adminhelper/rest/json/JsonUser.java @@ -20,6 +20,7 @@ import javax.xml.bind.annotation.XmlAccessorType; import javax.xml.bind.annotation.XmlElement; import javax.xml.bind.annotation.XmlRootElement; +import java.util.Date; import java.util.List; @SuppressWarnings("unused") @@ -50,6 +51,8 @@ public final class JsonUser { private boolean active; @XmlElement private boolean addToDefaultGithubTeam; + @XmlElement + private Date createdDate; public String getUserName() { return userName; @@ -146,4 +149,12 @@ public boolean isAddToDefaultGithubTeam() { public void setAddToDefaultGithubTeam(boolean addToDefaultGithubTeam) { this.addToDefaultGithubTeam = addToDefaultGithubTeam; } + + public Date getCreatedDate() { + return createdDate; + } + + public void setCreatedDate(Date createdDate) { + this.createdDate = createdDate; + } } \ No newline at end of file diff --git a/src/main/resources/js/modify_user.js b/src/main/resources/js/modify_user.js index 658a561..8ce88d3 100644 --- a/src/main/resources/js/modify_user.js +++ b/src/main/resources/js/modify_user.js @@ -99,13 +99,16 @@ AJS.toInit(function () { AJS.$("#user-body").empty(); for (var i = 0; i < users.length; i++) { var obj = users[i]; + var createdDate = new Date(obj['createdDate']); var username = obj['active'] ? obj['userName'] : "" + obj['userName'] + ""; var actionClass = obj['active'] ? "disable" : "enable"; var githubColumnText = obj['githubName'] ? obj['githubName'] : "add GitHub name"; var githubColumn = obj['active'] ? "" + githubColumnText + "" : (obj['githubName'] ? obj['githubName'] : ""); - AJS.$("#user-body").append("" + username + "" + + AJS.$("#user-body").append("" + + "" + createdDate.toLocaleDateString() + "" + + "" + username + "" + "" + obj['firstName'] + "" + "" + obj['lastName'] + "" + "" + obj['email'] + "" + diff --git a/src/main/resources/modify_user.vm b/src/main/resources/modify_user.vm index 531feeb..d8c2f9f 100644 --- a/src/main/resources/modify_user.vm +++ b/src/main/resources/modify_user.vm @@ -57,6 +57,7 @@ +
Creation Date Username First Name Last Name