Skip to content
This repository has been archived by the owner on May 4, 2022. It is now read-only.

Commit

Permalink
Issue #1769: Welcome message is configurable from admin, gadget title…
Browse files Browse the repository at this point in the history
… are now specified in document titles
  • Loading branch information
mjshepherd committed Aug 25, 2015
1 parent af877fc commit 2fc355f
Show file tree
Hide file tree
Showing 5 changed files with 252 additions and 16 deletions.
Expand Up @@ -32,7 +32,7 @@
<date>1440510615000</date>
<contentUpdateDate>1440510554000</contentUpdateDate>
<version>1.1</version>
<title/>
<title>{{translation key="phenotips.homepage.welcome.title" /}}</title>
<comment/>
<minorEdit>false</minorEdit>
<syntaxId>xwiki/2.1</syntaxId>
Expand Down Expand Up @@ -124,9 +124,8 @@ To write a custom message, you can remove the existing code and write your messa
</property>
<property>
<parameters>priority=1
column=1
title={{translation key="phenotips.homepage.welcome.title" /}}
enabled=true</parameters>
enabled=true
column=1</parameters>
</property>
<property>
<scope>wiki</scope>
Expand Down
255 changes: 246 additions & 9 deletions components/navigation/ui/src/main/resources/data/WebHome.xml
Expand Up @@ -49,9 +49,11 @@ $xwiki.ssfx.use('uicomponents/container/columns.css', {'forceSkinAction' : true,
#set ($extensionParameters = $e.getParameters())
#if ($extensionParameters.get("column") == "$column" &amp;&amp; $extensionParameters.get("enabled") != 'false')
#set ($extentionContent = $services.rendering.render($e.execute(), 'xhtml/1.0').trim())
#set ($gadgetDocRef = $e.getDocumentReference())
#set ($gadgetDoc = $xwiki.getDocument($gadgetDocRef))
{{html wiki=true clean=false}}
&lt;div class="gadget"&gt;
&lt;div class="gadget-title"&gt;&lt;span&gt;$!{extensionParameters.get("title")}&lt;/span&gt;&lt;/div&gt;
&lt;div class="gadget-title"&gt;&lt;span&gt;$gadgetDoc.getPlainTitle()&lt;/span&gt;&lt;/div&gt;
&lt;div class="gadget-content"&gt;$extentionContent&lt;/div&gt;
&lt;/div&gt;
{{/html}}
Expand Down Expand Up @@ -1265,20 +1267,13 @@ $!value
<property>
<codeToExecute>#set($targetDocName = 'data.WebHome')
#set($targetDoc = $xwiki.getDocument($targetDocName))
#set($className = 'XWiki.GadgetClass')
#set($gadgetObj = $targetDoc.getObject($className))
#set($prefix = "${className}_${gadgetObj.number}_")
#set($fullPrefix = "${targetDocName}_${prefix}")
#set($className = 'XWiki.UIExtensionClass')

{{html clean=false}}
&lt;form id="welcome_${targetDocName}" method="post" action="$targetDoc.getURL('save')" class="xform half"&gt;
&lt;fieldset&gt;&lt;dl&gt;
&lt;dt&gt;&lt;label for="${targetDocName}title"&gt;$services.localization.render('phenotips.navigation.webHome.homepage.label')&lt;/label&gt;&lt;/dt&gt;
&lt;dd&gt;&lt;input id="${targetDocName}title" name="title" size="30" type="text" value="$!escapetool.xml($targetDoc.title)"&gt;&lt;/input&gt;&lt;/dd&gt;
&lt;dt&gt;&lt;label for="${fullPrefix}title"&gt;$services.localization.render('phenotips.navigation.webHome.welcomeMessage.label')&lt;/label&gt;&lt;/dt&gt;
&lt;dd&gt;&lt;input id="${fullPrefix}title" name="${prefix}title" size="30" type="text" value="$!escapetool.xml($gadgetObj.getProperty('title').value)"&gt;&lt;/input&gt;&lt;/dd&gt;
&lt;dt&gt;&lt;label for="${fullPrefix}content"&gt;$services.localization.render('phenotips.navigation.webHome.welcomeMessageContent.label')&lt;/label&gt;&lt;/dt&gt;
&lt;dd&gt;&lt;textarea cols="40" id="${fullPrefix}content" name="${prefix}content" rows="10"&gt;$!escapetool.xml($gadgetObj.getProperty('content').value)&lt;/textarea&gt;&lt;/dd&gt;
&lt;/dl&gt;
&lt;input type="hidden" id="${targetDocName}_redirect" name="xredirect" value="$escapetool.xml($doc.getURL($xcontext.action, $request.queryString))" /&gt;
&lt;input type="hidden" name="form_token" value="$!{escapetool.xml($services.csrf.token)}" /&gt;
Expand Down Expand Up @@ -1806,6 +1801,248 @@ $xwiki.jsx.use('PhenoTips.PhenotypeMappingPreview')##</codeToExecute>
<sectionPriority>170</sectionPriority>
</property>
</object>
<object>
<name>data.WebHome</name>
<number>6</number>
<className>XWiki.ConfigurableClass</className>
<guid>6bd650a7-082b-4ca2-a71f-13ae079cd0a3</guid>
<class>
<name>XWiki.ConfigurableClass</name>
<customClass/>
<customMapping/>
<defaultViewSheet/>
<defaultEditSheet/>
<defaultWeb/>
<nameField/>
<validationScript/>
<advancedOnly>
<customDisplay/>
<defaultValue/>
<disabled>0</disabled>
<displayFormType>select</displayFormType>
<displayType/>
<name>advancedOnly</name>
<number>5</number>
<prettyName>advancedOnly</prettyName>
<unmodifiable>0</unmodifiable>
<validationMessage/>
<validationRegExp/>
<classType>com.xpn.xwiki.objects.classes.BooleanClass</classType>
</advancedOnly>
<categoryPriority>
<customDisplay/>
<disabled>0</disabled>
<name>categoryPriority</name>
<number>2</number>
<numberType>integer</numberType>
<prettyName>categoryPriority</prettyName>
<size>30</size>
<unmodifiable>0</unmodifiable>
<validationMessage/>
<validationRegExp/>
<classType>com.xpn.xwiki.objects.classes.NumberClass</classType>
</categoryPriority>
<codeToExecute>
<customDisplay/>
<disabled>0</disabled>
<editor>---</editor>
<name>codeToExecute</name>
<number>11</number>
<picker>0</picker>
<prettyName>codeToExecute</prettyName>
<rows>5</rows>
<size>40</size>
<unmodifiable>0</unmodifiable>
<validationMessage/>
<validationRegExp/>
<classType>com.xpn.xwiki.objects.classes.TextAreaClass</classType>
</codeToExecute>
<configurationClass>
<customDisplay/>
<disabled>0</disabled>
<name>configurationClass</name>
<number>7</number>
<picker>0</picker>
<prettyName>configurationClass</prettyName>
<size>30</size>
<unmodifiable>0</unmodifiable>
<validationMessage/>
<validationRegExp/>
<classType>com.xpn.xwiki.objects.classes.StringClass</classType>
</configurationClass>
<configureGlobally>
<customDisplay/>
<defaultValue/>
<disabled>0</disabled>
<displayFormType>checkbox</displayFormType>
<displayType/>
<name>configureGlobally</name>
<number>8</number>
<prettyName>configureGlobally</prettyName>
<unmodifiable>0</unmodifiable>
<validationMessage/>
<validationRegExp/>
<classType>com.xpn.xwiki.objects.classes.BooleanClass</classType>
</configureGlobally>
<displayInCategory>
<customDisplay/>
<disabled>0</disabled>
<name>displayInCategory</name>
<number>1</number>
<picker>0</picker>
<prettyName>displayInCategory</prettyName>
<size>30</size>
<unmodifiable>0</unmodifiable>
<validationMessage/>
<validationRegExp/>
<classType>com.xpn.xwiki.objects.classes.StringClass</classType>
</displayInCategory>
<displayInSection>
<customDisplay/>
<disabled>0</disabled>
<name>displayInSection</name>
<number>3</number>
<picker>0</picker>
<prettyName>displayInSection</prettyName>
<size>30</size>
<unmodifiable>0</unmodifiable>
<validationMessage/>
<validationRegExp/>
<classType>com.xpn.xwiki.objects.classes.StringClass</classType>
</displayInSection>
<heading>
<customDisplay/>
<disabled>0</disabled>
<name>heading</name>
<number>6</number>
<picker>0</picker>
<prettyName>heading</prettyName>
<size>30</size>
<unmodifiable>0</unmodifiable>
<validationMessage/>
<validationRegExp/>
<classType>com.xpn.xwiki.objects.classes.StringClass</classType>
</heading>
<iconAttachment>
<customDisplay/>
<disabled>0</disabled>
<name>iconAttachment</name>
<number>12</number>
<picker>0</picker>
<prettyName>iconAttachment</prettyName>
<size>30</size>
<unmodifiable>0</unmodifiable>
<validationMessage/>
<validationRegExp/>
<classType>com.xpn.xwiki.objects.classes.StringClass</classType>
</iconAttachment>
<linkPrefix>
<customDisplay/>
<disabled>0</disabled>
<name>linkPrefix</name>
<number>9</number>
<picker>0</picker>
<prettyName>linkPrefix</prettyName>
<size>30</size>
<unmodifiable>0</unmodifiable>
<validationMessage/>
<validationRegExp/>
<classType>com.xpn.xwiki.objects.classes.StringClass</classType>
</linkPrefix>
<propertiesToShow>
<cache>0</cache>
<customDisplay/>
<disabled>0</disabled>
<displayType>input</displayType>
<multiSelect>1</multiSelect>
<name>propertiesToShow</name>
<number>10</number>
<picker>0</picker>
<prettyName>propertiesToShow</prettyName>
<relationalStorage>1</relationalStorage>
<separator> </separator>
<separators> ,|</separators>
<size>20</size>
<sort>none</sort>
<unmodifiable>0</unmodifiable>
<validationMessage/>
<validationRegExp/>
<values/>
<classType>com.xpn.xwiki.objects.classes.StaticListClass</classType>
</propertiesToShow>
<sectionPriority>
<customDisplay/>
<disabled>0</disabled>
<name>sectionPriority</name>
<number>4</number>
<numberType>integer</numberType>
<prettyName>sectionPriority</prettyName>
<size>30</size>
<unmodifiable>0</unmodifiable>
<validationMessage/>
<validationRegExp/>
<classType>com.xpn.xwiki.objects.classes.NumberClass</classType>
</sectionPriority>
</class>
<property>
<advancedOnly/>
</property>
<property>
<categoryPriority>0</categoryPriority>
</property>
<property>
<codeToExecute>#set($gadgetDocumentName = 'PhenoTips.WelcomeMessageGadget')
#set($gadgetDoc = $xwiki.getDocument($gadgetDocumentName))
#set($gadgetObj = $gadgetDoc.getObject($className))
#set($prefix = "${className}_${gadgetObj.number}_")
#set($fullPrefix = "${gadgetDocumentName}_${prefix}")
#set($uiExtensionID = 'org.phenotips.homepage.dashboard.welcome')

{{html clean=false}}
&lt;form id="welcome_${targetDocName}" method="post" action="$gadgetDoc.getURL('save')" class="xform half"&gt;
&lt;fieldset&gt;&lt;dl&gt;
&lt;dt&gt;&lt;label for="${fullPrefix}title"&gt;$services.localization.render('phenotips.navigation.webHome.welcomeMessage.label')&lt;/label&gt;&lt;/dt&gt;
&lt;dd&gt;&lt;input id="${fullPrefix}title" name="title" size="30" type="text" value="$!escapetool.xml($gadgetObj.getProperty('title').value)"&gt;&lt;/input&gt;&lt;/dd&gt;
&lt;dt&gt;&lt;label for="${fullPrefix}content"&gt;$services.localization.render('phenotips.navigation.webHome.welcomeMessageContent.label')&lt;/label&gt;&lt;/dt&gt;
&lt;dd&gt;&lt;textarea cols="40" id="${fullPrefix}content" name="${prefix}content" rows="10"&gt;$!escapetool.xml($gadgetObj.getProperty('content').value)&lt;/textarea&gt;&lt;/dd&gt;
&lt;/dl&gt;
&lt;input type="hidden" id="${targetDocName}_redirect" name="xredirect" value="$escapetool.xml($doc.getURL($xcontext.action, $request.queryString))" /&gt;
&lt;input type="hidden" name="form_token" value="$!{escapetool.xml($services.csrf.token)}" /&gt;
&lt;/fieldset&gt;
&lt;div class="bottombuttons"&gt;&lt;p class="admin-buttons"&gt;
&lt;span class="buttonwrapper"&gt;&lt;input class="button" type="submit" name="action_saveandcontinue" value="$services.localization.render('phenotips.navigation.webHome.save')" /&gt;&lt;/span&gt;
&lt;/p&gt;&lt;/div&gt;
&lt;/form&gt;
{{/html}}</codeToExecute>
</property>
<property>
<configurationClass/>
</property>
<property>
<configureGlobally>1</configureGlobally>
</property>
<property>
<displayInCategory>phenotips</displayInCategory>
</property>
<property>
<displayInSection>welcome</displayInSection>
</property>
<property>
<heading/>
</property>
<property>
<iconAttachment/>
</property>
<property>
<linkPrefix/>
</property>
<property>
<propertiesToShow/>
</property>
<property>
<sectionPriority/>
</property>
</object>
<object>
<name>data.WebHome</name>
<number>0</number>
Expand Down
Expand Up @@ -31,7 +31,7 @@
<date>1440510479000</date>
<contentUpdateDate>1440510447000</contentUpdateDate>
<version>1.1</version>
<title/>
<title>$services.localization.render('phenotips.homepage.sharedData.title') (% style="float: right;" %)[[$services.localization.render('phenotips.homepage.sharedData.allData')&gt;&gt;data.AllData]]</title>
<comment/>
<minorEdit>false</minorEdit>
<syntaxId>xwiki/2.1</syntaxId>
Expand Down
Expand Up @@ -32,7 +32,7 @@
<date>1440510247000</date>
<contentUpdateDate>1440510212000</contentUpdateDate>
<version>1.1</version>
<title>MyDataGadget</title>
<title>{{translation key="phenotips.homepage.myData.title"/}} #if($hasCreatePage) {{html}} &lt;label for="create-patient-record"&gt;&lt;span class="fa fa-plus-circle"&gt;&lt;/span&gt;$services.localization.render('phenotips.homepage.myData.createPatient')&lt;/label&gt; {{/html}}#end</title>
<comment/>
<minorEdit>false</minorEdit>
<syntaxId>xwiki/2.1</syntaxId>
Expand Down
Expand Up @@ -31,7 +31,7 @@
<date>1440510095000</date>
<contentUpdateDate>1440510008000</contentUpdateDate>
<version>1.1</version>
<title/>
<title>$services.localization.render('phenotips.homepage.groups.title') (% style="float: right;" %)[[$services.localization.render('phenotips.homepage.groups.moreGroups')&gt;&gt;Groups.WebHome]]</title>
<comment/>
<minorEdit>false</minorEdit>
<syntaxId>xwiki/2.1</syntaxId>
Expand Down

0 comments on commit 2fc355f

Please sign in to comment.