Browse Source

minor telemetry updates

Jason Rivard 8 years ago
parent
commit
29034e418d

+ 1 - 1
src/main/angular/package.json

@@ -19,7 +19,7 @@
   "license": "ISC",
   "dependencies": {},
   "devDependencies": {
-    "@types/angular": "1.5.8",
+    "@types/angular": "1.6.6",
     "@types/angular-mocks": "1.5.5",
     "@types/angular-translate": "2.4.33",
     "@types/angular-ui-router": "1.1.34",

+ 2 - 2
src/main/java/password/pwm/bean/TelemetryPublishBean.java

@@ -34,11 +34,11 @@ import java.util.Map;
 @Getter
 @Builder
 public class TelemetryPublishBean implements Serializable {
+    private final Instant timestamp;
     private final String id;
-    private final String instanceID;
+    private final String instanceHash;
     private final String siteDescription;
     private final Instant installTime;
-    private final Instant timestamp;
     private final List<ChaiProvider.DIRECTORY_VENDOR> ldapVendor;
     private final Map<String,String> statistics;
     private final List<String> configuredSettings;

+ 1 - 1
src/main/java/password/pwm/svc/telemetry/TelemetryService.java

@@ -265,7 +265,7 @@ public class TelemetryService implements PwmService {
         final TelemetryPublishBean.TelemetryPublishBeanBuilder builder = TelemetryPublishBean.builder();
         builder.timestamp(Instant.now());
         builder.id(makeId(pwmApplication));
-        builder.instanceID(pwmApplication.getInstanceID());
+        builder.instanceHash(pwmApplication.getSecureService().hash(pwmApplication.getInstanceID()));
         builder.installTime(pwmApplication.getInstallTime());
         builder.siteDescription(config.readSettingAsString(PwmSetting.PUBLISH_STATS_SITE_DESCRIPTION));
         builder.versionBuild(PwmConstants.BUILD_NUMBER);

+ 40 - 15
src/main/webapp/WEB-INF/jsp/configguide-telemetry.jsp

@@ -52,12 +52,19 @@
                     <br/><br/>
                     <%=PwmSetting.PUBLISH_STATS_ENABLE.getDescription(JspUtility.locale(request))%>
                     <br/><br/>
-                    <% final boolean secureChecked = "true".equalsIgnoreCase(configGuideBean.getFormData().get(ConfigGuideFormField.PARAM_TELEMETRY_ENABLE));%>
-                    <label class="checkboxWrapper">
-                        <input type="checkbox" id="widget_<%=ConfigGuideFormField.PARAM_TELEMETRY_ENABLE%>" name="widget_<%=ConfigGuideFormField.PARAM_TELEMETRY_ENABLE%>" <%=secureChecked ? "checked" : ""%>/> Enabled
-                        <input type="hidden" id="<%=ConfigGuideFormField.PARAM_TELEMETRY_ENABLE%>" name="<%=ConfigGuideFormField.PARAM_TELEMETRY_ENABLE%>" value="false"/>
+                    <%--
+                <label class="checkboxWrapper">
+                    <input type="checkbox" id="widget_<%=ConfigGuideFormField.PARAM_TELEMETRY_ENABLE%>" name="widget_<%=ConfigGuideFormField.PARAM_TELEMETRY_ENABLE%>" <%=telemEnabled ? "checked" : ""%>/> Enabled
+                    <input type="hidden" id="<%=ConfigGuideFormField.PARAM_TELEMETRY_ENABLE%>" name="<%=ConfigGuideFormField.PARAM_TELEMETRY_ENABLE%>" value="false"/>
                     </label>
+                    --%>
+
+                    <label class="checkboxWrapper"><input type="radio" id="<%=ConfigGuideFormField.PARAM_TELEMETRY_ENABLE%>-enabled" name="<%=ConfigGuideFormField.PARAM_TELEMETRY_ENABLE%>" value="true">Enabled</label>
+                    <br/>
+                    <label class="checkboxWrapper"><input type="radio" id="<%=ConfigGuideFormField.PARAM_TELEMETRY_ENABLE%>-disabled" name="<%=ConfigGuideFormField.PARAM_TELEMETRY_ENABLE%>" value="false">Disabled</label>
+
                     <br/><br/>
+                    <div id="descriptionWrapper" style="display: none">
 
                     <label for="<%=ConfigGuideFormField.PARAM_TELEMETRY_DESCRIPTION%>">
                         <b><%=PwmSetting.PUBLISH_STATS_SITE_DESCRIPTION.getLabel(JspUtility.locale(request))%></b>
@@ -68,16 +75,16 @@
                     <br/><br/>
                     <input class="configStringInput" maxlength="100" id="<%=ConfigGuideFormField.PARAM_TELEMETRY_DESCRIPTION%>" name="<%=ConfigGuideFormField.PARAM_TELEMETRY_DESCRIPTION%>" value="<%=configGuideBean.getFormData().get(ConfigGuideFormField.PARAM_TELEMETRY_DESCRIPTION)%>" <pwm:autofocus/> />
                     <br/><br/>
-
+                        <% String privacyText = JavaHelper.readEulaText(ContextManager.getContextManager(session),PwmConstants.RESOURCE_FILE_PRIVACY_TXT); %>
+                        <div id="agreementWrapper" style="display: none" class="fadein">
+                            <% if (!StringUtil.isEmpty(privacyText)) { %>
+                            <label><b>Data Privacy Policy</b></label>
+                            <div id="agreementText" class="eulaText"><%=privacyText%></div>
+                            <% } %>
+                        </div>
+                    </div>
                 </div>
             </div>
-            <% String privacyText = JavaHelper.readEulaText(ContextManager.getContextManager(session),PwmConstants.RESOURCE_FILE_PRIVACY_TXT); %>
-            <div id="agreementWrapper" style="display: none">
-            <% if (!StringUtil.isEmpty(privacyText)) { %>
-            <label><b>Data Privacy Policy</b></label>
-            <div id="agreementText" class="eulaText"><%=privacyText%></div>
-            <% } %>
-            </div>
         </form>
         <br/>
         <%@ include file="fragment/configguide-buttonbar.jsp" %>
@@ -87,16 +94,17 @@
 <pwm:script>
     <script type="text/javascript">
         function handleFormActivity() {
-            PWM_MAIN.getObject('<%=ConfigGuideFormField.PARAM_TELEMETRY_ENABLE%>').value =
-                PWM_MAIN.getObject('widget_<%=ConfigGuideFormField.PARAM_TELEMETRY_ENABLE%>').checked ? "true" : "false";
             PWM_GUIDE.updateForm();
+            checkIfNextEnabled();
 
-            if (PWM_MAIN.getObject('widget_<%=ConfigGuideFormField.PARAM_TELEMETRY_ENABLE%>').checked) {
+            if (PWM_MAIN.getObject('<%=ConfigGuideFormField.PARAM_TELEMETRY_ENABLE%>-enabled').checked) {
                 PWM_MAIN.getObject('<%=ConfigGuideFormField.PARAM_TELEMETRY_DESCRIPTION%>').disabled = false;
+                PWM_MAIN.getObject('descriptionWrapper').style.display = 'inline';
                 PWM_MAIN.getObject('agreementWrapper').style.display = 'inline';
             } else {
                 PWM_MAIN.getObject('<%=ConfigGuideFormField.PARAM_TELEMETRY_DESCRIPTION%>').disabled = true;
                 PWM_MAIN.getObject('<%=ConfigGuideFormField.PARAM_TELEMETRY_DESCRIPTION%>').value = '';
+                PWM_MAIN.getObject('descriptionWrapper').style.display = 'none';
                 PWM_MAIN.getObject('agreementWrapper').style.display = 'none';
             }
         }
@@ -110,9 +118,26 @@
 
             PWM_MAIN.addEventHandler('button_next','click',function(){PWM_GUIDE.gotoStep('NEXT')});
             PWM_MAIN.addEventHandler('button_previous','click',function(){PWM_GUIDE.gotoStep('PREVIOUS')});
+
+            initPage();
+            handleFormActivity();
         });
 
+        function checkIfNextEnabled() {
+            PWM_MAIN.getObject('button_next').disabled =
+                (!(PWM_MAIN.getObject('<%=ConfigGuideFormField.PARAM_TELEMETRY_ENABLE%>-enabled').checked
+                || PWM_MAIN.getObject('<%=ConfigGuideFormField.PARAM_TELEMETRY_ENABLE%>-disabled').checked));
+        }
+
 
+        function initPage() {
+            <% final String currentValue = configGuideBean.getFormData().get(ConfigGuideFormField.PARAM_TELEMETRY_ENABLE);%>
+            <% if ("true".equals(currentValue)) { %>
+            PWM_MAIN.getObject('<%=ConfigGuideFormField.PARAM_TELEMETRY_ENABLE%>-enabled').checked = true;
+            <% } else if ("false".equals(currentValue)) { %>
+            PWM_MAIN.getObject('<%=ConfigGuideFormField.PARAM_TELEMETRY_ENABLE%>-disabled').checked = true;
+            <% } %>
+        }
     </script>
 </pwm:script>
 <%@ include file="fragment/footer.jsp" %>