mirror of
https://repository.entgra.net/community/device-mgt-plugins.git
synced 2025-09-16 23:42:15 +00:00
Merge branch 'master' of https://github.com/wso2/carbon-device-mgt-plugins into apim
This commit is contained in:
commit
cf9daf083d
Binary file not shown.
@ -48,7 +48,7 @@ public class MQTTEventAdapterConstants {
|
|||||||
public static final int ADAPTER_CONF_DEFAULT_KEEP_ALIVE = 60000;
|
public static final int ADAPTER_CONF_DEFAULT_KEEP_ALIVE = 60000;
|
||||||
|
|
||||||
public static int initialReconnectDuration = 2000;
|
public static int initialReconnectDuration = 2000;
|
||||||
public static final int reconnectionProgressionFactor = 2;
|
public static final int reconnectionProgressionFactor = 4;
|
||||||
|
|
||||||
public static final String EMPTY_STRING = "";
|
public static final String EMPTY_STRING = "";
|
||||||
public static final String GRANT_TYPE = "urn:ietf:params:oauth:grant-type:jwt-bearer refresh_token";
|
public static final String GRANT_TYPE = "urn:ietf:params:oauth:grant-type:jwt-bearer refresh_token";
|
||||||
|
|||||||
@ -49,8 +49,8 @@ public class XMPPEventAdapterConstants {
|
|||||||
public static final int DEFAULT_XMPP_PORT = 5222;
|
public static final int DEFAULT_XMPP_PORT = 5222;
|
||||||
public static final int DEFAULT_TIMEOUT_INTERVAL = 5000;
|
public static final int DEFAULT_TIMEOUT_INTERVAL = 5000;
|
||||||
|
|
||||||
public static int initialReconnectDuration = 10000;
|
public static int initialReconnectDuration = 2000;
|
||||||
public static final int reconnectionProgressionFactor = 2;
|
public static final int reconnectionProgressionFactor = 4;
|
||||||
|
|
||||||
public static final String DEFAULT = "default";
|
public static final String DEFAULT = "default";
|
||||||
|
|
||||||
|
|||||||
@ -61,9 +61,15 @@ function submitForm(formId) {
|
|||||||
var statusIcon = content.find("#status-icon");
|
var statusIcon = content.find("#status-icon");
|
||||||
var description = content.find("#description");
|
var description = content.find("#description");
|
||||||
var successCallBack = function (response) {
|
var successCallBack = function (response) {
|
||||||
|
var res = response;
|
||||||
|
try {
|
||||||
|
res = JSON.parse(response).messageFromServer;
|
||||||
|
} catch (err) {
|
||||||
|
//do nothing
|
||||||
|
}
|
||||||
title.html("Response Received!");
|
title.html("Response Received!");
|
||||||
statusIcon.attr("class", defaultStatusClasses + " fw-success");
|
statusIcon.attr("class", defaultStatusClasses + " fw-check");
|
||||||
description.html(response);
|
description.html(res);
|
||||||
$(modalPopupContent).html(content.html());
|
$(modalPopupContent).html(content.html());
|
||||||
};
|
};
|
||||||
var errorCallBack = function (response) {
|
var errorCallBack = function (response) {
|
||||||
@ -94,9 +100,9 @@ function submitForm(formId) {
|
|||||||
$(document).on('submit', 'form', function (e) {
|
$(document).on('submit', 'form', function (e) {
|
||||||
e.preventDefault();
|
e.preventDefault();
|
||||||
var postOperationRequest = $.ajax({
|
var postOperationRequest = $.ajax({
|
||||||
url: $(this).attr("action") + '&' + $(this).serialize(),
|
url: $(this).attr("action") + '&' + $(this).serialize(),
|
||||||
method: "post"
|
method: "post"
|
||||||
});
|
});
|
||||||
|
|
||||||
var btnSubmit = $('#btnSend', this);
|
var btnSubmit = $('#btnSend', this);
|
||||||
btnSubmit.addClass('hidden');
|
btnSubmit.addClass('hidden');
|
||||||
|
|||||||
@ -73,7 +73,6 @@ validateStep["policy-profile"] = function () {
|
|||||||
};
|
};
|
||||||
|
|
||||||
stepForwardFrom["policy-profile"] = function () {
|
stepForwardFrom["policy-profile"] = function () {
|
||||||
policy["profile"] = operationModule.generateProfile(policy["platform"], configuredOperations);
|
|
||||||
// updating next-page wizard title with selected platform
|
// updating next-page wizard title with selected platform
|
||||||
$("#policy-criteria-page-wizard-title").text("ADD " + deviceTypeLabel + " POLICY");
|
$("#policy-criteria-page-wizard-title").text("ADD " + deviceTypeLabel + " POLICY");
|
||||||
};
|
};
|
||||||
@ -105,6 +104,8 @@ stepForwardFrom["policy-criteria"] = function () {
|
|||||||
policy["selectedUsers"] = $("#users-input").val();
|
policy["selectedUsers"] = $("#users-input").val();
|
||||||
} else if ($(this).attr("id") == "user-roles-radio-btn") {
|
} else if ($(this).attr("id") == "user-roles-radio-btn") {
|
||||||
policy["selectedUserRoles"] = $("#user-roles-input").val();
|
policy["selectedUserRoles"] = $("#user-roles-input").val();
|
||||||
|
} else if ($(this).attr("id") == "groups-radio-btn") {
|
||||||
|
policy["selectedUserGroups"] = $("#groups-input").val();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -247,12 +248,15 @@ var savePolicy = function (policy, state) {
|
|||||||
invokerUtil.post(
|
invokerUtil.post(
|
||||||
serviceURL,
|
serviceURL,
|
||||||
payload,
|
payload,
|
||||||
function () {
|
function (response) {
|
||||||
$(".add-policy").addClass("hidden");
|
response = JSON.parse(response);
|
||||||
$(".policy-naming").addClass("hidden");
|
if (response["statusCode"] == 201) {
|
||||||
$(".policy-message").removeClass("hidden");
|
$(".add-policy").addClass("hidden");
|
||||||
if (state == "publish") {
|
$(".policy-naming").addClass("hidden");
|
||||||
publishToDevice();
|
$(".policy-message").removeClass("hidden");
|
||||||
|
if (state == "publish") {
|
||||||
|
publishToDevice();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
function (err) {
|
function (err) {
|
||||||
@ -351,6 +355,31 @@ function formatRepoSelection(user) {
|
|||||||
return user.username || user.text;
|
return user.username || user.text;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function formatGroupRepo(group) {
|
||||||
|
if (group.loading) {
|
||||||
|
return group.text
|
||||||
|
}
|
||||||
|
if (!group.name) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
var markup = '<div class="clearfix">' +
|
||||||
|
'<div clas="col-sm-8">' +
|
||||||
|
'<div class="clearfix">' +
|
||||||
|
'<div class="col-sm-3">' + group.name + '</div>';
|
||||||
|
if (group.name) {
|
||||||
|
markup += '<div class="col-sm-3"><i class="fa fa-code-fork"></i> ' + group.name + '</div>';
|
||||||
|
}
|
||||||
|
if (group.owner) {
|
||||||
|
markup += '<div class="col-sm-2"><i class="fa fa-star"></i> ' + group.owner + '</div></div>';
|
||||||
|
}
|
||||||
|
markup += '</div></div>';
|
||||||
|
return markup;
|
||||||
|
}
|
||||||
|
|
||||||
|
function formatGroupRepoSelection(group) {
|
||||||
|
return group.name || group.text;
|
||||||
|
}
|
||||||
|
|
||||||
// End of functions related to grid-input-view
|
// End of functions related to grid-input-view
|
||||||
|
|
||||||
|
|
||||||
@ -372,46 +401,85 @@ $(document).ready(function () {
|
|||||||
});
|
});
|
||||||
|
|
||||||
$("#users-input").select2({
|
$("#users-input").select2({
|
||||||
multiple: true,
|
multiple: true,
|
||||||
tags: true,
|
tags: true,
|
||||||
ajax: {
|
ajax: {
|
||||||
url: window.location.origin + "/devicemgt/api/invoker/execute/",
|
url: window.location.origin + "/devicemgt/api/invoker/execute/",
|
||||||
method: "POST",
|
method: "POST",
|
||||||
dataType: 'json',
|
dataType: 'json',
|
||||||
delay: 250,
|
delay: 250,
|
||||||
id: function (user) {
|
id: function (user) {
|
||||||
return user.username;
|
return user.username;
|
||||||
},
|
},
|
||||||
data: function (params) {
|
data: function (params) {
|
||||||
var postData = {};
|
var postData = {};
|
||||||
postData.actionMethod = "GET";
|
postData.actionMethod = "GET";
|
||||||
postData.actionUrl = "/devicemgt_admin/users";
|
postData.actionUrl = "/devicemgt_admin/users";
|
||||||
postData.actionPayload = JSON.stringify({
|
postData.actionPayload = JSON.stringify({
|
||||||
q: params.term, // search term
|
q: params.term, // search term
|
||||||
page: params.page
|
page: params.page
|
||||||
});
|
});
|
||||||
|
|
||||||
return JSON.stringify(postData);
|
return JSON.stringify(postData);
|
||||||
},
|
},
|
||||||
processResults: function (data, page) {
|
processResults: function (data, page) {
|
||||||
var newData = [];
|
var newData = [];
|
||||||
$.each(data.responseContent, function (index, value) {
|
$.each(data.responseContent, function (index, value) {
|
||||||
value.id = value.username;
|
value.id = value.username;
|
||||||
newData.push(value);
|
newData.push(value);
|
||||||
});
|
});
|
||||||
return {
|
return {
|
||||||
results: newData
|
results: newData
|
||||||
};
|
};
|
||||||
},
|
},
|
||||||
cache: true
|
cache: true
|
||||||
},
|
},
|
||||||
escapeMarkup: function (markup) {
|
escapeMarkup: function (markup) {
|
||||||
return markup;
|
return markup;
|
||||||
}, // let our custom formatter work
|
}, // let our custom formatter work
|
||||||
minimumInputLength: 1,
|
minimumInputLength: 1,
|
||||||
templateResult: formatRepo, // omitted for brevity, see the source of this page
|
templateResult: formatRepo, // omitted for brevity, see the source of this page
|
||||||
templateSelection: formatRepoSelection // omitted for brevity, see the source of this page
|
templateSelection: formatRepoSelection // omitted for brevity, see the source of this page
|
||||||
});
|
});
|
||||||
|
|
||||||
|
$("#groups-input").select2({
|
||||||
|
multiple: true,
|
||||||
|
tags: true,
|
||||||
|
ajax: {
|
||||||
|
url: window.location.origin + "/devicemgt/api/invoker/execute/",
|
||||||
|
method: "POST",
|
||||||
|
dataType: 'json',
|
||||||
|
delay: 250,
|
||||||
|
id: function (group) {
|
||||||
|
return group.name;
|
||||||
|
},
|
||||||
|
data: function (params) {
|
||||||
|
var postData = {};
|
||||||
|
postData.actionMethod = "GET";
|
||||||
|
var username = $("#platform").data("username");
|
||||||
|
postData.actionUrl = "/devicemgt_admin/groups/user/" + username +
|
||||||
|
"/search?groupName=" + params.term;
|
||||||
|
return JSON.stringify(postData);
|
||||||
|
},
|
||||||
|
processResults: function (data, page) {
|
||||||
|
var newData = [];
|
||||||
|
$.each(data, function (index, value) {
|
||||||
|
value.id = value.name;
|
||||||
|
newData.push(value);
|
||||||
|
});
|
||||||
|
return {
|
||||||
|
results: newData
|
||||||
|
};
|
||||||
|
},
|
||||||
|
cache: true
|
||||||
|
},
|
||||||
|
escapeMarkup: function (markup) {
|
||||||
|
return markup;
|
||||||
|
}, // let our custom formatter work
|
||||||
|
minimumInputLength: 1,
|
||||||
|
templateResult: formatGroupRepo, // omitted for brevity, see the source of this page
|
||||||
|
templateSelection: formatGroupRepoSelection // omitted for brevity, see the source of this page
|
||||||
|
});
|
||||||
|
|
||||||
// Adding initial state of wizard-steps.
|
// Adding initial state of wizard-steps.
|
||||||
$("#policy-profile-wizard-steps").html($(".wr-steps").html());
|
$("#policy-profile-wizard-steps").html($(".wr-steps").html());
|
||||||
@ -427,16 +495,24 @@ $(document).ready(function () {
|
|||||||
});
|
});
|
||||||
|
|
||||||
$("#users-select-field").hide();
|
$("#users-select-field").hide();
|
||||||
|
$("#groups-select-field").hide();
|
||||||
$("#user-roles-select-field").show();
|
$("#user-roles-select-field").show();
|
||||||
|
|
||||||
$("input[type='radio'].select-users-radio").change(function () {
|
$("input[type='radio'].select-users-radio").change(function () {
|
||||||
|
if ($("#user-roles-radio-btn").is(":checked")) {
|
||||||
|
$("#user-roles-select-field").show();
|
||||||
|
$("#users-select-field").hide();
|
||||||
|
$("#groups-select-field").hide();
|
||||||
|
}
|
||||||
if ($("#users-radio-btn").is(":checked")) {
|
if ($("#users-radio-btn").is(":checked")) {
|
||||||
$("#user-roles-select-field").hide();
|
$("#user-roles-select-field").hide();
|
||||||
$("#users-select-field").show();
|
$("#users-select-field").show();
|
||||||
|
$("#groups-select-field").hide();
|
||||||
}
|
}
|
||||||
if ($("#user-roles-radio-btn").is(":checked")) {
|
if ($("#groups-radio-btn").is(":checked")) {
|
||||||
|
$("#user-roles-select-field").hide();
|
||||||
$("#users-select-field").hide();
|
$("#users-select-field").hide();
|
||||||
$("#user-roles-select-field").show();
|
$("#groups-select-field").show();
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
@ -657,7 +733,9 @@ $(document).ready(function () {
|
|||||||
|
|
||||||
// hiding current section of the wizard and showing next section.
|
// hiding current section of the wizard and showing next section.
|
||||||
$("." + currentStep).addClass("hidden");
|
$("." + currentStep).addClass("hidden");
|
||||||
$("." + nextStep).removeClass("hidden");
|
if (nextStep !== "policy-message") {
|
||||||
|
$("." + nextStep).removeClass("hidden");
|
||||||
|
}
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|||||||
@ -2,7 +2,7 @@
|
|||||||
{{css "css/codemirror.css"}}
|
{{css "css/codemirror.css"}}
|
||||||
{{/zone}}
|
{{/zone}}
|
||||||
<span id="platform" class="hidden" data-platform="{{type.name}}" data-platform-id="{{type.id}}"
|
<span id="platform" class="hidden" data-platform="{{type.name}}" data-platform-id="{{type.id}}"
|
||||||
data-platform-label="{{type.label}}"></span>
|
data-platform-label="{{type.label}}" data-username="{{username}}"></span>
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<div class="col-md-12">
|
<div class="col-md-12">
|
||||||
<div class="wr-steps hidden">
|
<div class="wr-steps hidden">
|
||||||
@ -23,7 +23,7 @@
|
|||||||
<div class="col-md-3 col-xs-3">
|
<div class="col-md-3 col-xs-3">
|
||||||
<div class="itm-wiz" data-step="policy-criteria">
|
<div class="itm-wiz" data-step="policy-criteria">
|
||||||
<div class="wiz-no">3</div>
|
<div class="wiz-no">3</div>
|
||||||
<div class="wiz-lbl hidden-xs"><span>Assign to groups</span></div>
|
<div class="wiz-lbl hidden-xs"><span>Assign</span></div>
|
||||||
</div>
|
</div>
|
||||||
<br class="c-both"/>
|
<br class="c-both"/>
|
||||||
</div>
|
</div>
|
||||||
@ -130,48 +130,80 @@
|
|||||||
<hr>
|
<hr>
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<div class="col-lg-12">
|
<div class="col-lg-12">
|
||||||
<h4>Step 3: Assign to groups</h4>
|
<h4>Step 3: Assign</h4>
|
||||||
<br>
|
<br>
|
||||||
|
|
||||||
<div>
|
<div>
|
||||||
<div class="wr-input-control">
|
<div class="wr-input-control">
|
||||||
<label class="wr-input-control radio light">
|
{{#if permissions.LIST_ROLES}}
|
||||||
<input id="user-roles-radio-btn" type="radio"
|
<label class="wr-input-control radio light">
|
||||||
name="select-users-radio-btn" class="select-users-radio"
|
<input id="user-roles-radio-btn" type="radio"
|
||||||
checked/>
|
name="select-users-radio-btn" class="select-users-radio"
|
||||||
<span class="helper"> Set user role(s)</span>
|
checked/>
|
||||||
</label>
|
<span class="helper"> Set user role(s)</span>
|
||||||
<label class="wr-input-control radio light" rel="assetfilter">
|
</label>
|
||||||
<input id="users-radio-btn" type="radio"
|
{{/if}}
|
||||||
name="select-users-radio-btn"
|
{{#if permissions.LIST_USERS}}
|
||||||
class="select-users-radio"/>
|
<label class="wr-input-control radio light" rel="assetfilter">
|
||||||
<span class="helper"> Set user(s)</span>
|
<input id="users-radio-btn" type="radio"
|
||||||
</label>
|
name="select-users-radio-btn"
|
||||||
|
class="select-users-radio"/>
|
||||||
|
<span class="helper"> Set user(s)</span>
|
||||||
|
</label>
|
||||||
|
{{/if}}
|
||||||
|
<!--
|
||||||
|
{{#if permissions.LIST_GROUPS}}
|
||||||
|
<label class="wr-input-control radio light" rel="assetfilter">
|
||||||
|
<input id="groups-radio-btn" type="radio"
|
||||||
|
name="select-users-radio-btn"
|
||||||
|
class="select-users-radio"/>
|
||||||
|
<span class="helper"> Set groups(s)</span>
|
||||||
|
</label>
|
||||||
|
{{/if}}
|
||||||
|
-->
|
||||||
</div>
|
</div>
|
||||||
<div id="user-roles-select-field" class="select-users">
|
{{#if permissions.LIST_ROLES}}
|
||||||
<div class="wr-input-control">
|
<div id="user-roles-select-field" class="select-users">
|
||||||
<div class="cus-col-50">
|
<div class="wr-input-control">
|
||||||
<select id="user-roles-input" class="form-control select2"
|
<div class="cus-col-50">
|
||||||
multiple="multiple">
|
<select id="user-roles-input" class="form-control select2"
|
||||||
<option value="ANY" selected>ANY</option>
|
multiple="multiple">
|
||||||
{{#each roles}}
|
<option value="ANY" selected>ANY</option>
|
||||||
<option>{{this}}</option>
|
{{#each roles}}
|
||||||
{{/each}}
|
<option>{{this}}</option>
|
||||||
</select>
|
{{/each}}
|
||||||
|
</select>
|
||||||
|
</div>
|
||||||
|
<br class="c-both"/>
|
||||||
</div>
|
</div>
|
||||||
<br class="c-both"/>
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
{{/if}}
|
||||||
<div id="users-select-field" class="select-users">
|
{{#if permissions.LIST_USERS}}
|
||||||
<div class="wr-input-control">
|
<div id="users-select-field" class="select-users">
|
||||||
<div class="cus-col-50">
|
<div class="wr-input-control">
|
||||||
<select id="users-input" class="form-control select2"
|
<div class="cus-col-50">
|
||||||
multiple="multiple">
|
<select id="users-input" class="form-control select2"
|
||||||
</select>
|
multiple="multiple">
|
||||||
|
</select>
|
||||||
|
</div>
|
||||||
|
<br class="c-both"/>
|
||||||
</div>
|
</div>
|
||||||
<br class="c-both"/>
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
{{/if}}
|
||||||
|
<!--
|
||||||
|
{{#if permissions.LIST_GROUPS}}
|
||||||
|
<div id="groups-select-field" class="select-users">
|
||||||
|
<div class="wr-input-control">
|
||||||
|
<div class="cus-col-50">
|
||||||
|
<select id="groups-input" class="form-control select2"
|
||||||
|
multiple="multiple">
|
||||||
|
</select>
|
||||||
|
</div>
|
||||||
|
<br class="c-both"/>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
{{/if}}
|
||||||
|
-->
|
||||||
<br>
|
<br>
|
||||||
<label class="wr-input-label" title="">
|
<label class="wr-input-label" title="">
|
||||||
Set an action upon non-compliance
|
Set an action upon non-compliance
|
||||||
@ -237,7 +269,7 @@
|
|||||||
<a href="javascript:void(0)" class="wr-btn wizard-stepper"
|
<a href="javascript:void(0)" class="wr-btn wizard-stepper"
|
||||||
data-current="policy-profile" data-next="policy-criteria"
|
data-current="policy-profile" data-next="policy-criteria"
|
||||||
data-validate="true">
|
data-validate="true">
|
||||||
Continue
|
Continue
|
||||||
</a>
|
</a>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@ -18,6 +18,7 @@
|
|||||||
|
|
||||||
function onRequest(context) {
|
function onRequest(context) {
|
||||||
//var log = new Log("wizard.js");
|
//var log = new Log("wizard.js");
|
||||||
|
var constants = require("/app/modules/constants.js");
|
||||||
var DTYPE_CONF_DEVICE_TYPE_KEY = "deviceType";
|
var DTYPE_CONF_DEVICE_TYPE_KEY = "deviceType";
|
||||||
var DTYPE_CONF_DEVICE_TYPE_LABEL_KEY = "label";
|
var DTYPE_CONF_DEVICE_TYPE_LABEL_KEY = "label";
|
||||||
|
|
||||||
@ -43,5 +44,8 @@ function onRequest(context) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
var user = session.get(constants.USER_SESSION_KEY);
|
||||||
|
wizardPage.username = user.username;
|
||||||
|
wizardPage.permissions = userModule.getUIPermissions();
|
||||||
return wizardPage;
|
return wizardPage;
|
||||||
}
|
}
|
||||||
@ -1,4 +1,8 @@
|
|||||||
{
|
{
|
||||||
"version": "1.0.0",
|
"version": "1.0.0",
|
||||||
"extends": "cdmf.unit.device.operation-mod"
|
"pushedUris": [
|
||||||
|
"/policies",
|
||||||
|
"/policy/{+any}"
|
||||||
|
],
|
||||||
|
"extends": "cdmf.unit.device.operation-mod"
|
||||||
}
|
}
|
||||||
Loading…
Reference in New Issue
Block a user