PageRenderTime 44ms CodeModel.GetById 16ms RepoModel.GetById 0ms app.codeStats 0ms

/src/main/resources/com/onresolve/jira/groovy/canned/admin/GetUser.groovy

https://bitbucket.org/sorin/jira-plugin-intellij
Groovy | 96 lines | 79 code | 15 blank | 2 comment | 11 complexity | 556a08543db62c2bbea462a3c3312592 MD5 | raw file
  1. package com.onresolve.jira.groovy.canned.admin
  2. import com.atlassian.jira.ComponentManager
  3. import com.atlassian.jira.user.util.UserUtil
  4. import com.atlassian.jira.util.ErrorCollection
  5. import com.atlassian.jira.util.SimpleErrorCollection
  6. import com.onresolve.jira.groovy.canned.CannedScript
  7. import org.apache.log4j.Category
  8. public class GetUser implements CannedScript {
  9. Category log = Category.getInstance(GetUser.class)
  10. UserUtil userUtil = ComponentManager.getInstance().getUserUtil()
  11. public static final String FIELD_USER = 'FIELD_USER'
  12. public static final String FIELD_SOME_TEXT = 'FIELD_SOME_TEXT'
  13. public String getName() {
  14. "Gets a user and spits it out"
  15. }
  16. public String getDescription() {
  17. "do something desc III"
  18. }
  19. List getCategories() {
  20. ["ADMIN"]
  21. }
  22. public Boolean isFinalParamsPage(Map params) {
  23. log.debug("isFinalParamsPage: " + params.inspect())
  24. params[FIELD_USER]
  25. }
  26. public List getParameters(Map params) {
  27. log.debug("getParameters: " + params)
  28. if ( isFinalParamsPage(params) && (params.containsKey(FIELD_SOME_TEXT) || ! doValidate(params, false).hasAnyErrors())) {
  29. [
  30. [
  31. Name: FIELD_SOME_TEXT,
  32. Label: "SomethingEvenElse",
  33. Description: "Something even else ...",
  34. ],
  35. ]
  36. }
  37. else {
  38. [
  39. [
  40. Name: FIELD_USER,
  41. Label: "User",
  42. Description: "Enter the user id",
  43. Step: 1,
  44. ],
  45. ]
  46. }
  47. }
  48. ErrorCollection doValidate(Map params, boolean forPreview) {
  49. log.debug("validate params: $params")
  50. SimpleErrorCollection errorCollection = new SimpleErrorCollection()
  51. String userId = params[FIELD_USER] as String
  52. String someText = params[FIELD_SOME_TEXT] as String
  53. if(! userId) {
  54. errorCollection.addError(FIELD_USER, "enter a user")
  55. }
  56. else {
  57. if (! userUtil.getUser(userId)) {
  58. errorCollection.addError(FIELD_USER, "Invalid user")
  59. }
  60. }
  61. if (params.containsKey(FIELD_SOME_TEXT)) {
  62. if (!someText) {
  63. errorCollection.addError(FIELD_SOME_TEXT, "please enter text")
  64. }
  65. else if (someText.size() < 5) {
  66. errorCollection.addError(FIELD_SOME_TEXT, "please enter 5 chars")
  67. }
  68. }
  69. log.debug("doValidate: $errorCollection")
  70. errorCollection
  71. }
  72. Map doScript(Map params) {
  73. // magic goes here
  74. log.debug(params)
  75. // params["output"] = UserManager.getInstance().getUser(params["User"] as String).getFullName()
  76. params
  77. }
  78. String getDescription(Map params, boolean forPreview) {
  79. "Returns a user record... yada yada EEEE"
  80. }
  81. }