Hide last authors
Julien Fleury 1.1 1 {{include reference="XWiki.TemplateProviderMacros" /}}
2
3 {{include reference="AppWithinMinutes.VelocityMacros" /}}
4
5 {{velocity}}
6 #if ("$!request.wizard" == 'true')
7 {{include reference="AppWithinMinutes.WizardStep" /}}
8 #end
9 {{/velocity}}
10
11 {{velocity output="false"}}
12 #set ($appDescriptorClassName = 'AppWithinMinutes.LiveTableClass')
13
14 #macro (updateHiddenTemplateProviderProperties)
15 #set ($prefix = $stringtool.removeEnd($doc.documentReference.name, 'TemplateProvider'))
16 #set ($discard = $doc.setTitle("$prefix Template Provider"))
17 #set ($templateProviderObj = $doc.getObject('XWiki.TemplateProviderClass'))
18 #set ($discard = $templateProviderObj.set('name', "${prefix.toLowerCase()}.entry.name"))
19 #set ($discard = $templateProviderObj.set('template', $stringtool.removeEnd($doc.fullName, 'Provider')))
20 #end
21
22 #macro (initVisibleTemplateProviderProperties $templateProviderObj)
23 #getAppReference
24 #set ($localStringAppRef = $services.model.serialize($appReference, 'local'))
25 #set ($icon = 'application')
26 #foreach ($uix in $services.uix.getExtensions('org.xwiki.platform.panels.Applications'))
27 #if ($uix.id == "platform.panels.${localStringAppRef}Application" && $uix.parameters.icon.startsWith('icon:'))
28 ## Use the application icon by default if set.
29 #set ($icon = $stringtool.removeStart($uix.parameters.icon, 'icon:'))
30 #end
31 #end
32 #set ($discard = $templateProviderObj.set('icon', $icon))
33 #set ($homePageRef = $services.model.resolveDocument('', 'default', $appReference))
34 ## We recommend the users to create the entries in the application space by default because:
35 ## * for most applications it's better to keep the entries in the same place
36 ## * if the application is not yet created the application space doesn't exist so the user cannot select it from the
37 ## tree unless we select it by default
38 #set ($creationRestrictions = [$services.model.serialize($appReference, 'local')])
39 #set ($creationRestrictionsAreSuggestions = 1)
40 #if ($xwiki.exists($homePageRef))
41 ## We are (most probably) editing an existing application. Initialize the entry location based on the information
42 ## stored on the application home page.
43 #set ($dataSpace = $xwiki.getDocument($homePageRef).getValue('dataSpace'))
44 #set ($dataSpaceReference = $services.model.resolveSpace($dataSpace, 'explicit', $appReference))
45 #set ($creationRestrictions = [$services.model.serialize($dataSpaceReference, 'local')])
46 #set ($creationRestrictionsAreSuggestions = 0)
47 ## Preserve the old behavior.
48 #set ($discard = $templateProviderObj.set('terminal', 1))
49 #end
50 #set ($discard = $templateProviderObj.set('creationRestrictions', $creationRestrictions))
51 #set ($discard = $templateProviderObj.set('creationRestrictionsAreSuggestions', $creationRestrictionsAreSuggestions))
52 #end
53
54 #macro (maybeAddXRedirectToNextWizardStep)
55 #if ("$!request.wizard" == 'true')
56 ## Add redirect to next wizard step.
57 #getAppReference
58 #set ($homePageRef = $services.model.resolveDocument('', 'default', $appReference))
59 #set ($queryString = {"wizard" : true})
60 #if (!$xwiki.exists($homePageRef))
61 #set ($classReference = "${stringtool.removeEnd($doc.fullName, 'TemplateProvider')}Class")
62 #set ($wikiHomePageRef = $services.model.resolveDocument('', 'default'))
63 #set ($wikiHomePage = $services.model.serialize($wikiHomePageRef, 'local'))
64 #set ($discard = $queryString.putAll({
65 'template': 'AppWithinMinutes.LiveTableTemplate',
66 "${appDescriptorClassName}_0_class": $classReference,
67 'title': $appReference.name,
68 'parent': $wikiHomePage
69 }))
70 #end
71 #set ($queryString = $escapetool.url($queryString))
72 <input type="hidden" name="xredirect" value="$escapetool.xml($xwiki.getURL($homePageRef, 'edit', $queryString))" />
73 #end
74 #end
75
76 #macro (displayEditForm)
77 #set ($discard = $xwiki.ssx.use('XWiki.TemplateProviderMacros'))
78 #set ($discard = $xwiki.jsx.use('XWiki.TemplateProviderMacros'))
79 #updateHiddenTemplateProviderProperties
80 #if ($doc.isNew())
81 #initVisibleTemplateProviderProperties($templateProviderObj)
82 #end
83 <div class="hidden">
84 <input type="hidden" name="title" value="$escapetool.xml($doc.title)" />
85 <input type="hidden" name="xhidden" value="1" />
86 #foreach ($property in ['name', 'template', 'action'])
87 #displayPropertyValue($property 'hidden')
88 #end
89 #maybeAddXRedirectToNextWizardStep
90 </div>
91 <div class="xform row templateProviderSheet">
92 <div class="xHint col-xs-12">
93 $services.icon.renderHTML('info')
94 $services.localization.render('appWithinMinutes.templateProviderEditor.hint')
95 </div>
96 ##
97 ## Left side
98 ##
99 <div class="col-xs-12 col-md-6">
100 <dl>
101 ##
102 ## Icon
103 ##
104 <dt>
105 <label for="XWiki.TemplateProviderClass_0_icon">
106 $escapetool.xml($doc.displayPrettyName('icon'))
107 </label>
108 <span class="xHint">
109 $services.localization.render('appWithinMinutes.templateProviderEditor.icon.hint')
110 </span>
111 </dt>
112 <dd>#displayPropertyValue('icon')</dd>
113 ##
114 ## Description
115 ##
116 <dt>
117 <label for="XWiki.TemplateProviderClass_0_description">
118 $escapetool.xml($doc.displayPrettyName('description'))
119 </label>
120 <span class="xHint">
121 $services.localization.render('appWithinMinutes.templateProviderEditor.description.hint')
122 </span>
123 </dt>
124 <dd>#displayPropertyValue('description')</dd>
125 ##
126 ## Visibility Restrictions
127 ##
128 <dt>
129 <label>
130 $escapetool.xml($services.localization.render('appWithinMinutes.templateProviderEditor.visibilityRestrictions.name'))
131 </label>
132 <span class="xHint">
133 $escapetool.xml($services.localization.render('appWithinMinutes.templateProviderEditor.visibilityRestrictions.hint'))
134 </span>
135 </dt>
136 <dd>#displayPathsPropertyValue('visibilityRestrictions')</dd>
137 </dl>
138 </div>
139 ##
140 ## Right side
141 ##
142 <div class="col-xs-12 col-md-6">
143 <dl>
144 ##
145 ## Creation Restrictions
146 ##
147 <dt>
148 <label for="XWiki.TemplateProviderClass_0_creationRestrictions">
149 $escapetool.xml($services.localization.render('appWithinMinutes.templateProviderEditor.creationRestrictions.name'))
150 </label>
151 <span class="xHint">
152 $services.localization.render('appWithinMinutes.templateProviderEditor.creationRestrictions.hint')
153 </span>
154 </dt>
155 <dd>#displayPathsPropertyValue('creationRestrictions')</dd>
156 ##
157 ## Creation Restrictions As Suggestions
158 ##
159 <dt>
160 <label for="XWiki.TemplateProviderClass_0_creationRestrictionsAreSuggestions">
161 #displayPropertyValue('creationRestrictionsAreSuggestions')
162 $escapetool.xml($services.localization.render('appWithinMinutes.templateProviderEditor.creationRestrictionsAreSuggestions.name'))
163 </label>
164 <span class="xHint">
165 $services.localization.render('appWithinMinutes.templateProviderEditor.creationRestrictionsAreSuggestions.hint')
166 </span>
167 </dt>
168 <dd></dd>
169 ##
170 ## Terminal page creation - Advanced user
171 ##
172 #if ($isAdvancedUser || $isSuperAdmin)
173 <dt>
174 <label for="XWiki.TemplateProviderClass_0_terminal">
175 $escapetool.xml($doc.displayPrettyName('terminal'))
176 </label>
177 <span class="xHint">
178 $escapetool.xml($services.localization.render('appWithinMinutes.templateProviderEditor.terminal.hint'))
179 </span>
180 </dt>
181 <dd>#displayPropertyValue('terminal')</dd>
182 #else
183 <dd>#displayPropertyValue('terminal' 'hidden')</dd>
184 #end
185 </dl>
186 </div>
187 #locationPickerModal
188 </div>
189 #end
190
191 #macro (doEdit)
192 #if ("$!request.wizard" == 'true')
193 #appWizardHeader('entries')
194 ## Compute the application title to be used as the wizard step title.
195 #getAppTitle
196 #end
197 #displayEditForm
198 #if ("$!request.wizard" == 'true')
199 #appWizardFooter('entries')
200 #end
201 #end
202 {{/velocity}}
203
204 {{velocity}}
205 #if ($doc.getObject('XWiki.TemplateProviderClass'))
206 {{html clean="false"}}
207 #doEdit
208 {{/html}}
209
210 {{iconPicker id="XWiki\\.TemplateProviderClass_0_icon" prefix="" /}}
211 #end
212 {{/velocity}}
This wiki is hosted and managed by iXPath
Powered by XWiki 13.3 debian