Guest User

Untitled

a guest
Nov 19th, 2017
58
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.86 KB | None | 0 0
  1. class UIState {
  2. def context
  3.  
  4. // From params
  5. Boolean filtrar=false
  6. Boolean disabled=false
  7. Boolean withNew=true
  8. Boolean withDelete=true
  9. Boolean embedded=false
  10. Boolean returnEmbedded=false
  11. Boolean withPagination=true
  12. ModoAcceso modoAcceso
  13. String lang
  14.  
  15. // Derivados
  16. Boolean filtrarOriginal=false
  17. Boolean decorated=true
  18.  
  19. def getRequest() {
  20. context.request
  21. }
  22.  
  23. def getSession() {
  24. context.session
  25. }
  26.  
  27. def getParams() {
  28. context.params
  29. }
  30.  
  31. def getActionName() {
  32. context.actionName
  33. }
  34.  
  35. def getControllerName() {
  36. context.controllerName
  37. }
  38.  
  39. void setState() {
  40. setFromBooleanParams()
  41. setReturnEmbedded()
  42. setPagination()
  43. setFiltrado()
  44. setDecoratedFromUrl()
  45. setLang()
  46. setModoAcceso()
  47. setDisabled()
  48. }
  49.  
  50. def setFromBooleanParams() {
  51. ["filtrar","filtrarOriginal","disabled","withNew","withDelete","embedded","returnEmbedded",
  52. "withPagination"].each {
  53. def defVal=this[it]
  54. this[it]=toBoolean(params[it],defVal)
  55. }
  56. }
  57.  
  58. void setReturnEmbedded() {
  59. returnEmbedded=returnEmbedded && !embedded
  60. }
  61.  
  62. void setPagination() {
  63. withPagination=getParamOr("withPagination",!embedded) && actionName != "relations"
  64. }
  65.  
  66. void setFiltrado() {
  67. if (esIndex) {
  68. filtrar=params.filtrar=true
  69. if (params["enviar"] && params["filtrarOriginal"]==null)
  70. filtrarOriginal=true
  71. }
  72. }
  73.  
  74. void setLang() {
  75. lang = params["lang"]
  76. if (!lang)
  77. lang=request.locale.language?:"es"
  78. }
  79.  
  80. void setDecoratedFromUrl(req=context.request) {
  81. def url=req.forwardURI
  82. if (url.contains("/ND/"))
  83. decorated=false
  84. }
  85.  
  86. def getModoAccesoParam() {
  87. ModoAcceso.porCodigoONombre(params.modoAcceso)
  88. }
  89.  
  90. ModoAcceso getModoAcceso() {
  91. if (modoAcceso==null)
  92. setModoAcceso()
  93. modoAcceso
  94. }
  95.  
  96. def getModosAcceso(session=context.session) {
  97. session["modosAcceso"]
  98. }
  99.  
  100. void setModoAcceso(session=context.session,request=context.request) {
  101. def modos=modosAcceso
  102. modoAcceso=modos[controllerName]
  103. modoAcceso=ModoAcceso.masRestrictivo([modoAcceso,modoAccesoParam])
  104. if (!esModoAccesoModificacion) {
  105. withNew=false
  106. withDelete=false
  107. }
  108. }
  109.  
  110. void setDisabled() {
  111. disabled=disabled || (!filtrar && esModoAccesoConsulta)
  112. }
  113.  
  114. Boolean toBoolean(String val,Boolean defValue=false) {
  115. if (val==null)
  116. defValue
  117. else
  118. val.toBoolean()
  119. }
  120.  
  121. Boolean getParamOr(String prop,Boolean defValue=false) {
  122. if (params[prop]==null)
  123. defValue
  124. else
  125. this[prop]
  126. }
  127.  
  128. Boolean getIfNull(String prop,Boolean val) {
  129. if (val==null)
  130. this[prop]
  131. else
  132. val
  133. }
  134.  
  135. def getCodigoModoAcceso() {
  136. modoAcceso?.codigo
  137. }
  138.  
  139. def getEsModoAccesoConsulta() {
  140. ModoAcceso.esConsultaIfNull(modoAcceso)
  141. }
  142.  
  143. def getEsModoAccesoModificacion() {
  144. ModoAcceso.esModificacion(modoAcceso)
  145. }
  146.  
  147.  
  148. def getEsIndex() {
  149. actionName=="index"
  150. }
  151.  
  152. def getEsDetalle() {
  153. actionName in ["show","create","update"]
  154. }
  155.  
  156. def getIsNew() {
  157. (actionName == 'show' && params.id == 'new') || actionName == 'create'
  158. }
  159. }
Add Comment
Please, Sign In to add comment