- {{#equal status "COMPLETED"}} Completed{{/equal}}
- {{#equal status "PENDING"}} Pending{{/equal}}
- {{#equal status "ERROR"}} Error{{/equal}}
- {{#equal status "IN_PROGRESS"}} In Progress{{/equal}}
-
-
{{createdTimeStamp}}
-
- {{/each}}
-
-
-
\ No newline at end of file
diff --git a/components/mobile-plugins/android-plugin/org.wso2.carbon.device.mgt.mobile.android.ui/src/main/resources/jaggeryapps/devicemgt/app/units/cdmf.unit.device.type.android.device-view/public/templates/policy-compliance.hbs b/components/mobile-plugins/android-plugin/org.wso2.carbon.device.mgt.mobile.android.ui/src/main/resources/jaggeryapps/devicemgt/app/units/cdmf.unit.device.type.android.device-view/public/templates/policy-compliance.hbs
index d20ca7a9c0..eac53066c3 100755
--- a/components/mobile-plugins/android-plugin/org.wso2.carbon.device.mgt.mobile.android.ui/src/main/resources/jaggeryapps/devicemgt/app/units/cdmf.unit.device.type.android.device-view/public/templates/policy-compliance.hbs
+++ b/components/mobile-plugins/android-plugin/org.wso2.carbon.device.mgt.mobile.android.ui/src/main/resources/jaggeryapps/devicemgt/app/units/cdmf.unit.device.type.android.device-view/public/templates/policy-compliance.hbs
@@ -45,7 +45,8 @@
";
+ // append newly created .cloned div element to panel-body
+ $(this).parent().parent().append(cloned);
+ // enable remove action of newly cloned div element
+ $(".cloned", $(this).parent().parent()).each(
+ function () {
+ if ($(".multi-view.remove", this).hasClass("disabled")) {
+ $(".multi-view.remove", this).removeClass("disabled");
+ }
+ if (!$(".multi-view.remove", this).hasClass("enabled")) {
+ $(".multi-view.remove", this).addClass("enabled");
+ }
+ }
+ );
+ });
+
+ $(advanceOperations).on("click", ".multi-view.remove.enabled", function () {
+ $(this).parent().remove();
+ });
+
+ // enabling or disabling grouped-input based on the status of a parent check-box
+ $(advanceOperations).on("click", ".grouped-input", function () {
+ updateGroupedInputVisibility(this);
+ });
+
+ // add form entry click function for grid inputs
+ $(advanceOperations).on("click", "[data-click-event=add-form]", function () {
+ var addFormContainer = $("[data-add-form-container=" + $(this).attr("href") + "]");
+ var clonedForm = $("[data-add-form=" + $(this).attr("href") + "]").clone().find("[data-add-form-element=clone]")
+ .attr("data-add-form-clone", $(this).attr("href"));
+
+ // adding class .child-input to capture text-input-array-values
+ $("input, select", clonedForm).addClass("child-input");
+
+ $(addFormContainer).append(clonedForm);
+ setId(addFormContainer);
+ showHideHelpText(addFormContainer);
+ });
+
+ // remove form entry click function for grid inputs
+ $(advanceOperations).on("click", "[data-click-event=remove-form]", function () {
+ var addFormContainer = $("[data-add-form-container=" + $(this).attr("href") + "]");
+
+ $(this).closest("[data-add-form-element=clone]").remove();
+ setId(addFormContainer);
+ showHideHelpText(addFormContainer);
+ });
+});
diff --git a/components/mobile-plugins/android-plugin/org.wso2.carbon.device.mgt.mobile.android.ui/src/main/resources/jaggeryapps/devicemgt/app/units/cdmf.unit.device.type.android.policy-edit/public/templates/android-policy-edit.hbs b/components/mobile-plugins/android-plugin/org.wso2.carbon.device.mgt.mobile.android.ui/src/main/resources/jaggeryapps/devicemgt/app/units/cdmf.unit.device.type.android.policy-edit/public/templates/android-policy-edit.hbs
new file mode 100644
index 0000000000..d1854284c3
--- /dev/null
+++ b/components/mobile-plugins/android-plugin/org.wso2.carbon.device.mgt.mobile.android.ui/src/main/resources/jaggeryapps/devicemgt/app/units/cdmf.unit.device.type.android.policy-edit/public/templates/android-policy-edit.hbs
@@ -0,0 +1,1464 @@
+{{!
+ Copyright (c) 2016, WSO2 Inc. (http://www.wso2.org) All Rights Reserved.
+
+ WSO2 Inc. licenses this file to you under the Apache License,
+ Version 2.0 (the "License"); you may not use this file except
+ in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing,
+ software distributed under the License is distributed on an
+ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ KIND, either express or implied. See the License for the
+ specific language governing permissions and limitations
+ under the License.
+}}
+
+ This configuration can be used to set a passcode policy to an Android Device.
+ Once this configuration profile is installed on a device, corresponding users will not be able
+ to modify these settings on their devices.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Restrictions
+
+
+
+ This configurations can be used to restrict certain settings on an Android device.
+ Once this configuration profile is installed on a device, corresponding users will not be able
+ to modify these settings on their devices.
+
+ This configuration can be used to encrypt data on an Android device, when the device is locked
+ and make it readable when the passcode is entered. Once this configuration profile is installed
+ on a device, corresponding users will not be able to modify these settings on their devices.
+
+
+
+
+
+
+
+ Un-check following checkbox in case you do not need the device to be encrypted.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Wi-Fi Settings
+
+
+
+ This configurations can be used to configure Wi-Fi access on an Android device.
+ Once this configuration profile is installed on a device, corresponding users will not be able
+ to modify these settings on their devices.
+
+
+
+
+ Please note that * sign represents required fields of data.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Application Restriction Settings
+
+
+
+ This configuration can be used to create a black list or white list of applications.
+
+ This configurations can be used to configure VPN settings on an Android device.
+ Once this configuration profile is installed on a device, corresponding users will not be able
+ to modify these settings on their devices.
+
+
+
+
+ Please note that * sign represents required fields of data.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Work-Profile Configurations
+
+
+
+ The configurations below can be applied to the devices where the agent is running in Android
+ Work-Profile.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ System Update Policy (COSU)
+
+
+
+ This configuration can be used to set a passcode policy to an Android Device.
+ Once this configuration profile is installed on a device, corresponding users will not be able
+ to modify these settings on their devices.
+
+ This configuration can be used to set a passcode policy to an Android Device.
+ Once this configuration profile is installed on a device, corresponding users will not be able
+ to modify these settings on their devices.
+
";
+ // append newly created .cloned div element to panel-body
+ $(this).parent().parent().append(cloned);
+ // enable remove action of newly cloned div element
+ $(".cloned", $(this).parent().parent()).each(
+ function () {
+ if ($(".multi-view.remove", this).hasClass("disabled")) {
+ $(".multi-view.remove", this).removeClass("disabled");
+ }
+ if (!$(".multi-view.remove", this).hasClass("enabled")) {
+ $(".multi-view.remove", this).addClass("enabled");
+ }
+ }
+ );
+ });
+
+ $(advanceOperations).on("click", ".multi-view.remove.enabled", function () {
+ $(this).parent().remove();
+ });
+
+ // enabling or disabling grouped-input based on the status of a parent check-box
+ $(advanceOperations).on("click", ".grouped-input", function () {
+ updateGroupedInputVisibility(this);
+ });
+
+ // add form entry click function for grid inputs
+ $(advanceOperations).on("click", "[data-click-event=add-form]", function () {
+ var addFormContainer = $("[data-add-form-container=" + $(this).attr("href") + "]");
+ var clonedForm = $("[data-add-form=" + $(this).attr("href") + "]").clone().find("[data-add-form-element=clone]")
+ .attr("data-add-form-clone", $(this).attr("href"));
+
+ // adding class .child-input to capture text-input-array-values
+ $("input, select", clonedForm).addClass("child-input");
+
+ $(addFormContainer).append(clonedForm);
+ setId(addFormContainer);
+ showHideHelpText(addFormContainer);
+ });
+
+ // remove form entry click function for grid inputs
+ $(advanceOperations).on("click", "[data-click-event=remove-form]", function () {
+ var addFormContainer = $("[data-add-form-container=" + $(this).attr("href") + "]");
+
+ $(this).closest("[data-add-form-element=clone]").remove();
+ setId(addFormContainer);
+ showHideHelpText(addFormContainer);
+ });
+});
\ No newline at end of file
diff --git a/components/mobile-plugins/android-plugin/org.wso2.carbon.device.mgt.mobile.android.ui/src/main/resources/jaggeryapps/devicemgt/app/units/cdmf.unit.device.type.android.policy-wizard/public/templates/android-policy-operations.hbs b/components/mobile-plugins/android-plugin/org.wso2.carbon.device.mgt.mobile.android.ui/src/main/resources/jaggeryapps/devicemgt/app/units/cdmf.unit.device.type.android.policy-wizard/public/templates/android-policy-operations.hbs
new file mode 100644
index 0000000000..61c3519544
--- /dev/null
+++ b/components/mobile-plugins/android-plugin/org.wso2.carbon.device.mgt.mobile.android.ui/src/main/resources/jaggeryapps/devicemgt/app/units/cdmf.unit.device.type.android.policy-wizard/public/templates/android-policy-operations.hbs
@@ -0,0 +1,1464 @@
+{{!
+ Copyright (c) 2016, WSO2 Inc. (http://www.wso2.org) All Rights Reserved.
+
+ WSO2 Inc. licenses this file to you under the Apache License,
+ Version 2.0 (the "License"); you may not use this file except
+ in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing,
+ software distributed under the License is distributed on an
+ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ KIND, either express or implied. See the License for the
+ specific language governing permissions and limitations
+ under the License.
+}}
+
+ This configuration can be used to set a passcode policy to an Android Device.
+ Once this configuration profile is installed on a device, corresponding users will not be able
+ to modify these settings on their devices.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Restrictions
+
+
+
+ This configurations can be used to restrict certain settings on an Android device.
+ Once this configuration profile is installed on a device, corresponding users will not be able
+ to modify these settings on their devices.
+
+ This configuration can be used to encrypt data on an Android device, when the device is locked
+ and make it readable when the passcode is entered. Once this configuration profile is installed
+ on a device, corresponding users will not be able to modify these settings on their devices.
+
+
+
+
+
+
+
+ Un-check following checkbox in case you do not need the device to be encrypted.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Wi-Fi Settings
+
+
+
+ This configurations can be used to configure Wi-Fi access on an Android device.
+ Once this configuration profile is installed on a device, corresponding users will not be able
+ to modify these settings on their devices.
+
+
+
+
+ Please note that * sign represents required fields of data.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Application Restriction Settings
+
+
+
+ This configuration can be used to create a black list or white list of applications.
+
+ This configurations can be used to configure VPN settings on an Android device.
+ Once this configuration profile is installed on a device, corresponding users will not be able
+ to modify these settings on their devices.
+
+
+
+
+ Please note that * sign represents required fields of data.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Work-Profile Configurations
+
+
+
+ The configurations below can be applied to the devices where the agent is running in Android
+ Work-Profile.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ System Update Policy (COSU)
+
+
+
+ This configuration can be used to set a passcode policy to an Android Device.
+ Once this configuration profile is installed on a device, corresponding users will not be able
+ to modify these settings on their devices.
+
+ This configuration can be used to set a passcode policy to an Android Device.
+ Once this configuration profile is installed on a device, corresponding users will not be able
+ to modify these settings on their devices.
+
\ No newline at end of file
diff --git a/components/mobile-plugins/android-plugin/org.wso2.carbon.device.mgt.mobile.android.ui/src/main/resources/jaggeryapps/devicemgt/app/units/cdmf.unit.device.type.android.type-view/private/config.json b/components/mobile-plugins/android-plugin/org.wso2.carbon.device.mgt.mobile.android.ui/src/main/resources/jaggeryapps/devicemgt/app/units/cdmf.unit.device.type.android.type-view/private/config.json
index c71fcbc04b..d01f42f88a 100644
--- a/components/mobile-plugins/android-plugin/org.wso2.carbon.device.mgt.mobile.android.ui/src/main/resources/jaggeryapps/devicemgt/app/units/cdmf.unit.device.type.android.type-view/private/config.json
+++ b/components/mobile-plugins/android-plugin/org.wso2.carbon.device.mgt.mobile.android.ui/src/main/resources/jaggeryapps/devicemgt/app/units/cdmf.unit.device.type.android.type-view/private/config.json
@@ -3,6 +3,43 @@
"label": "Android",
"category": "mobile",
"analyticsEnabled": "false",
- "groupingEnabled": "false"
+ "groupingEnabled": "false",
+ "features": {
+ "DEVICE_RING": {
+ "icon" : "fw-dial-up"
+ },
+ "DEVICE_LOCK": {
+ "icon" : "fw-lock"
+ },
+ "DEVICE_LOCATION": {
+ "icon" : "fw-map-location"
+ },
+ "CLEAR_PASSWORD": {
+ "icon" : "fw-clear"
+ },
+ "DEVICE_REBOOT": {
+ "icon" : "fw-refresh"
+ },
+ "UPGRADE_FIRMWARE": {
+ "icon" : "fw-hardware"
+ },
+ "DEVICE_MUTE": {
+ "icon" : "fw-mute"
+ },
+ "NOTIFICATION": {
+ "icon" : "fw-message"
+ },
+ "CHANGE_LOCK_CODE": {
+ "icon" : "fw-security"
+ },
+ "ENTERPRISE_WIPE": {
+ "icon" : "fw-block"
+ },
+ "WIPE_DATA": {
+ "icon" : "fw-delete"
+ }
+ }
}
}
+
+
diff --git a/components/mobile-plugins/windows-plugin/org.wso2.carbon.device.mgt.mobile.windows.ui/src/main/resources/jaggeryapps/devicemgt/app/units/cdmf.unit.device.type.windows.qr-modal/qr-modal.hbs b/components/mobile-plugins/windows-plugin/org.wso2.carbon.device.mgt.mobile.windows.ui/src/main/resources/jaggeryapps/devicemgt/app/units/cdmf.unit.device.type.windows.qr-modal/qr-modal.hbs
new file mode 100644
index 0000000000..544dc23d75
--- /dev/null
+++ b/components/mobile-plugins/windows-plugin/org.wso2.carbon.device.mgt.mobile.windows.ui/src/main/resources/jaggeryapps/devicemgt/app/units/cdmf.unit.device.type.windows.qr-modal/qr-modal.hbs
@@ -0,0 +1,64 @@
+{{!
+ Copyright (c) 2016, WSO2 Inc. (http://www.wso2.org) All Rights Reserved.
+
+ WSO2 Inc. licenses this file to you under the Apache License,
+ Version 2.0 (the "License"); you may not use this file except
+ in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing,
+ software distributed under the License is distributed on an
+ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ KIND, either express or implied. See the License for the
+ specific language governing permissions and limitations
+ under the License.
+}}
+{{#zone "content"}}
+
+
+
+
+
+
+
+
+
+
+
+ Add your new mobile device to {{@app.conf.appName}}
+
+
+
+
+
+
+
+ Please scan the following QR code using your new Android, iPhone or Windows mobile device.
+
+
+
+
+
+
+
+
+
+ Not having a QR code scanner in your device?
+
+ Try following link
+
+ {{enrollmentURL}}
+
+ on your device's Internet browser instead.
+
+
+
+
+
+{{/zone}}
\ No newline at end of file
diff --git a/components/mobile-plugins/windows-plugin/org.wso2.carbon.device.mgt.mobile.windows.ui/src/main/resources/jaggeryapps/devicemgt/app/units/cdmf.unit.device.type.windows.qr-modal/qr-modal.js b/components/mobile-plugins/windows-plugin/org.wso2.carbon.device.mgt.mobile.windows.ui/src/main/resources/jaggeryapps/devicemgt/app/units/cdmf.unit.device.type.windows.qr-modal/qr-modal.js
new file mode 100644
index 0000000000..5177e51f38
--- /dev/null
+++ b/components/mobile-plugins/windows-plugin/org.wso2.carbon.device.mgt.mobile.windows.ui/src/main/resources/jaggeryapps/devicemgt/app/units/cdmf.unit.device.type.windows.qr-modal/qr-modal.js
@@ -0,0 +1,23 @@
+/*
+ * Copyright (c) 2016, WSO2 Inc. (http://www.wso2.org) All Rights Reserved.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+function onRequest() {
+ var mdmProps = require("/app/modules/conf-reader/main.js")["conf"];
+ var viewModel = {};
+ //TODO: Move enrollment URL into app-conf.json
+ viewModel["enrollmentURL"] = mdmProps["generalConfig"]["host"] + mdmProps["windowsEnrollmentDir"];
+ return viewModel;
+}
\ No newline at end of file
diff --git a/components/mobile-plugins/windows-plugin/org.wso2.carbon.device.mgt.mobile.windows.ui/src/main/resources/jaggeryapps/devicemgt/app/units/cdmf.unit.device.type.windows.qr-modal/qr-modal.json b/components/mobile-plugins/windows-plugin/org.wso2.carbon.device.mgt.mobile.windows.ui/src/main/resources/jaggeryapps/devicemgt/app/units/cdmf.unit.device.type.windows.qr-modal/qr-modal.json
new file mode 100644
index 0000000000..688e939808
--- /dev/null
+++ b/components/mobile-plugins/windows-plugin/org.wso2.carbon.device.mgt.mobile.windows.ui/src/main/resources/jaggeryapps/devicemgt/app/units/cdmf.unit.device.type.windows.qr-modal/qr-modal.json
@@ -0,0 +1,3 @@
+{
+ "version": "1.0.0"
+}
\ No newline at end of file
diff --git a/components/mobile-plugins/windows-plugin/org.wso2.carbon.device.mgt.mobile.windows.ui/src/main/resources/jaggeryapps/devicemgt/app/units/cdmf.unit.device.type.windows.type-view/type-view.hbs b/components/mobile-plugins/windows-plugin/org.wso2.carbon.device.mgt.mobile.windows.ui/src/main/resources/jaggeryapps/devicemgt/app/units/cdmf.unit.device.type.windows.type-view/type-view.hbs
index e4199de38a..ed4654d774 100644
--- a/components/mobile-plugins/windows-plugin/org.wso2.carbon.device.mgt.mobile.windows.ui/src/main/resources/jaggeryapps/devicemgt/app/units/cdmf.unit.device.type.windows.type-view/type-view.hbs
+++ b/components/mobile-plugins/windows-plugin/org.wso2.carbon.device.mgt.mobile.windows.ui/src/main/resources/jaggeryapps/devicemgt/app/units/cdmf.unit.device.type.windows.type-view/type-view.hbs
@@ -1,22 +1,8 @@
-{{!
- Copyright (c) 2016, WSO2 Inc. (http://www.wso2.org) All Rights Reserved.
+{{unit "cdmf.unit.lib.qrcode"}}
+{{unit "cdmf.unit.device.type.windows.qr-modal"}}
- WSO2 Inc. licenses this file to you under the Apache License,
- Version 2.0 (the "License"); you may not use this file except
- in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing,
- software distributed under the License is distributed on an
- "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- KIND, either express or implied. See the License for the
- specific language governing permissions and limitations
- under the License.
-}}
-
Windows Mobile
+
Windows Mobile
@@ -24,39 +10,39 @@
-
Click [ here ] for
- latest instructions and troubleshooting.
+
Click [ here ] for latest instructions and troubleshooting.
What it Does
-
-
Connect and manage your Windows device with WSO2 IoT Server.
+
+
Connect and manage your Android device with WSO2 IoT Server.