Changes for page homeopathsSheet

Last modified by Jip-jan Alunkel on March 26, 17:31

From version 1.53
edited by Jip-jan Alunkel
on March 07, 23:34
Change comment: There is no comment for this version
To version 1.60
edited by Jip-jan Alunkel
on March 08, 00:51
Change comment: There is no comment for this version

Summary

Details

Page properties
Content
... ... @@ -7,8 +7,9 @@
7 7  #set($discard = $xwiki.jsx.use('assets.pagemaker.WebHome', {'minify': false, 'language': $context.language, 'myParameter': 'value'}))
8 8  #set($theDoc = $xwiki.getDocument("${doc.fullName}").getTranslatedDocument())
9 9  #set($isInline = $xcontext.action == 'edit' && $request.get('editor') == 'inline')
10 +#set($theClass = "homeopaths.Code.homeopathsClass")
10 10  ## Create object (important for sheet binding, do not remove)
11 -#set($theDocObj = $doc.getObject("homeopaths.Code.homeopathsClass", true))
12 +#set($theDocObj = $doc.getObject($theClass, true))
12 12  #set($hasRight = !$isGuest && ($theDocObj.getProperty('user').value == $context.getUser() || $hasAdmin))
13 13  $theDoc.getContent()
14 14  {{html wiki="true" clean="false"}}
... ... @@ -78,60 +78,13 @@
78 78   #foreach($item in $classProperties.keySet())
79 79   #if($classProperties[$item].parent)
80 80   #set($parentID = $classProperties[$item].parent)
81 - #set($discard = $children.put("$parentID", {}))
82 + #if(!$children[$parentID])
83 + #set($discard = $children.put("$parentID", {}))
84 + #end
82 82   #set($discard = $children["$parentID"].put($item, $classProperties[$item]))
83 83   #end
84 84   #end
85 -$children
86 - #foreach($item in $classProperties.keySet())
87 - #set($label = $services.localization.render("homeopaths.classproperty.${item}"))
88 - #if($theDocObj.getProperty($item))
89 - #set($value = $theDocObj.getProperty($item).value)
90 - #if($classProperties[$item].type == "bool")
91 - #set($newElem = {
92 - "id" : "$item",
93 - "type" : "checkbox",
94 - "required" : "false",
95 - "label" : "$label",
96 - "value" : "$value",
97 - "data-opener" : "true"
98 - })
99 - #else
100 -## #if($classProperties[$item].opener)
101 - #set($newElem = {
102 - "id": "$item",
103 - "type": "text",
104 - "required" : "false",
105 - "label" : "$label",
106 - "data-create-xobj" : "true",
107 - "data-xobj-classname" : "homeopaths.Code.homeopathsClass",
108 - "data-xobj-fieldname" : "$item",
109 - "value": "$value"
110 - })
111 - #end
112 - #set($thisObj["$item"] = $newElem)
113 - #end
114 - #end
115 - #set($practiceName = {
116 - "id": "practiceName",
117 - "type": "text",
118 - "required" : "false",
119 - "label" : "Practice name",
120 - "data-create-xobj" : "true",
121 - "data-xobj-classname" : "homeopaths.Code.homeopathsClass",
122 - "data-xobj-fieldname" : "practiceName",
123 - "value": "$doc.getTitle()"
124 - })
125 - #set($city = {
126 - "id": "city",
127 - "type": "text",
128 - "required" : "false",
129 - "label" : "City",
130 - "data-create-xobj" : "true",
131 - "data-xobj-classname" : "homeopaths.Code.homeopathsClass",
132 - "data-xobj-fieldname" : "pmCity",
133 - "value": "$theDocObj.getProperty('pmCity').value"
134 - })
88 + #createElementObjects($classProperties)
135 135   #set($submit = {
136 136   "id" : "edit_details",
137 137   "button-text" : "Save changes",
... ... @@ -155,8 +155,8 @@
155 155   #foreach($obj in $thisObj)
156 156   #createFormElement($obj)
157 157   #end
158 - #createFormElement($practiceName)
159 - #createFormElement($city)
112 +## #createFormElement($practiceName)
113 +## #createFormElement($city)
160 160   </div>
161 161   <div class="modal-footer">
162 162   <button type="button" class="btn btn-secondary" data-dismiss="modal">Close</button>
... ... @@ -170,5 +170,35 @@
170 170  #else
171 171   This page can not be viewed in inline mode.
172 172  #end
127 +
128 +#macro(createElementObjects $properties)
129 + #foreach($item in $properties.keySet())
130 + #set($label = $services.localization.render("homeopaths.classproperty.${item}"))
131 + #if($theDocObj.getProperty($item))
132 + #set($value = $theDocObj.getProperty($item).value)
133 + #set($newElem = {
134 + "id" : "$item",
135 + "type" : $classProperties[$item].type,
136 + "required" : "false",
137 + "label" : "$label",
138 + "data-create-xobj" : "true",
139 + "data-xobj-classname" : $theClass,
140 + "data-xobj-fieldname" : "$item",
141 + "value" : "$value"
142 + })
143 + #if($classProperties[$item].opener == 1)
144 + #set($discard = $newElem.put("data-opener", "true"))
145 + #end
146 + #if($classProperties[$item].extraAttributes)
147 + #set($attrMap = $classProperties[$item].extraAttributes)
148 + #foreach($attr in $attrMap.keySet())
149 + #set($discard = $newElem.put("$attr", $attrMap[$attr]))
150 + #end
151 + #end
152 + #set($thisObj["$item"] = $newElem)
153 + #end
154 + #end
155 +#end
156 +
173 173  {{/html}}
174 174  {{/velocity}}