mirror of
https://repository.entgra.net/community/device-mgt-core.git
synced 2025-10-06 02:01:45 +00:00
Merge branch 'cloud-3.1.0' of https://github.com/wso2/carbon-device-mgt into cloud-3.1.0
This commit is contained in:
commit
9d80fcfd54
@ -63,7 +63,7 @@ public class ApiApplicationRegistrationServiceImpl implements ApiApplicationRegi
|
|||||||
PrivilegedCarbonContext.getThreadLocalCarbonContext().setUsername(username);
|
PrivilegedCarbonContext.getThreadLocalCarbonContext().setUsername(username);
|
||||||
APIManagementProviderService apiManagementProviderService = APIUtil.getAPIManagementProviderService();
|
APIManagementProviderService apiManagementProviderService = APIUtil.getAPIManagementProviderService();
|
||||||
ApiApplicationKey apiApplicationKey = apiManagementProviderService.generateAndRetrieveApplicationKeys(
|
ApiApplicationKey apiApplicationKey = apiManagementProviderService.generateAndRetrieveApplicationKeys(
|
||||||
applicationName, APIUtil.getAllowedApisTags().toArray(new String[APIUtil.getAllowedApisTags().size()]),
|
applicationName, APIUtil.getDefaultTags(),
|
||||||
ApiApplicationConstants.DEFAULT_TOKEN_TYPE, username, false,
|
ApiApplicationConstants.DEFAULT_TOKEN_TYPE, username, false,
|
||||||
ApiApplicationConstants.DEFAULT_VALIDITY_PERIOD);
|
ApiApplicationConstants.DEFAULT_VALIDITY_PERIOD);
|
||||||
return Response.status(Response.Status.CREATED).entity(apiApplicationKey.toString()).build();
|
return Response.status(Response.Status.CREATED).entity(apiApplicationKey.toString()).build();
|
||||||
|
|||||||
@ -31,6 +31,7 @@ import org.wso2.carbon.registry.core.exceptions.RegistryException;
|
|||||||
import org.wso2.carbon.registry.core.service.RegistryService;
|
import org.wso2.carbon.registry.core.service.RegistryService;
|
||||||
import org.wso2.carbon.user.core.service.RealmService;
|
import org.wso2.carbon.user.core.service.RealmService;
|
||||||
|
|
||||||
|
import java.util.ArrayList;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.StringTokenizer;
|
import java.util.StringTokenizer;
|
||||||
|
|
||||||
@ -95,8 +96,13 @@ public class APIUtil {
|
|||||||
return deviceManagementProviderService;
|
return deviceManagementProviderService;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public static String[] getDefaultTags() throws DeviceManagementException {
|
||||||
|
String[] allowedApisTags = new String[1];
|
||||||
|
allowedApisTags[0] = DEFAULT_CDMF_API_TAG;
|
||||||
|
return allowedApisTags;
|
||||||
|
}
|
||||||
|
|
||||||
public static List<String> getAllowedApisTags() throws DeviceManagementException {
|
public static List<String> getAllowedApisTags() throws DeviceManagementException {
|
||||||
//Todo get allowed cdmf service tags from config.
|
|
||||||
List<String> allowedApisTags = getDeviceManagementProviderService().getAvailableDeviceTypes();
|
List<String> allowedApisTags = getDeviceManagementProviderService().getAvailableDeviceTypes();
|
||||||
allowedApisTags.add(DEFAULT_CDMF_API_TAG);
|
allowedApisTags.add(DEFAULT_CDMF_API_TAG);
|
||||||
allowedApisTags.add(DEFAULT_CERT_API_TAG);
|
allowedApisTags.add(DEFAULT_CERT_API_TAG);
|
||||||
|
|||||||
@ -87,6 +87,10 @@ public class APIManagementProviderServiceImpl implements APIManagementProviderSe
|
|||||||
throw new APIManagerException (
|
throw new APIManagerException (
|
||||||
"Api application creation failed for " + applicationName + " to the user " + username);
|
"Api application creation failed for " + applicationName + " to the user " + username);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
SubscriptionList subscriptionList = storeClient.getSubscriptions().subscriptionsGet
|
||||||
|
(null, application.getApplicationId(), "", 0, 100, CONTENT_TYPE, null);
|
||||||
|
List<Subscription> needToSubscribe = new ArrayList<>();
|
||||||
// subscribe to apis.
|
// subscribe to apis.
|
||||||
if (tags != null && tags.length > 0) {
|
if (tags != null && tags.length > 0) {
|
||||||
for (String tag: tags) {
|
for (String tag: tags) {
|
||||||
@ -100,32 +104,33 @@ public class APIManagementProviderServiceImpl implements APIManagementProviderSe
|
|||||||
|
|
||||||
if (apiList.getList() != null && apiList.getList().size() > 0) {
|
if (apiList.getList() != null && apiList.getList().size() > 0) {
|
||||||
for (APIInfo apiInfo : apiList.getList()) {
|
for (APIInfo apiInfo : apiList.getList()) {
|
||||||
Subscription subscription = new Subscription();
|
|
||||||
//fix for APIMANAGER-5566 admin-AT-tenant1.com-Tenant1API1-1.0.0
|
|
||||||
String id = apiInfo.getProvider().replace("@", "-AT-")
|
String id = apiInfo.getProvider().replace("@", "-AT-")
|
||||||
+ "-" + apiInfo.getName()+ "-" + apiInfo.getVersion();
|
+ "-" + apiInfo.getName()+ "-" + apiInfo.getVersion();
|
||||||
subscription.setApiIdentifier(id);
|
|
||||||
subscription.setApplicationId(application.getApplicationId());
|
|
||||||
subscription.tier(ApiApplicationConstants.DEFAULT_TIER);
|
|
||||||
SubscriptionList subscriptionList = storeClient.getSubscriptions().subscriptionsGet
|
|
||||||
(id, application.getApplicationId(), "", 0, 100, CONTENT_TYPE, null);
|
|
||||||
boolean subscriptionExist = false;
|
boolean subscriptionExist = false;
|
||||||
if (subscriptionList.getList() != null && subscriptionList.getList().size() > 0) {
|
if (subscriptionList.getList() != null && subscriptionList.getList().size() > 0) {
|
||||||
for (Subscription subs : subscriptionList.getList()) {
|
for (Subscription subs : subscriptionList.getList()) {
|
||||||
if (subs.getApiIdentifier().equals(id) && subs.getApplicationId().equals(
|
if (subs.getApiIdentifier().equals(id)) {
|
||||||
application.getApplicationId())) {
|
|
||||||
subscriptionExist = true;
|
subscriptionExist = true;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (!subscriptionExist) {
|
if (!subscriptionExist) {
|
||||||
storeClient.getIndividualSubscription().subscriptionsPost(subscription, CONTENT_TYPE);
|
Subscription subscription = new Subscription();
|
||||||
|
//fix for APIMANAGER-5566 admin-AT-tenant1.com-Tenant1API1-1.0.0
|
||||||
|
|
||||||
|
subscription.setApiIdentifier(id);
|
||||||
|
subscription.setApplicationId(application.getApplicationId());
|
||||||
|
subscription.tier(ApiApplicationConstants.DEFAULT_TIER);
|
||||||
|
needToSubscribe.add(subscription);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
if (!needToSubscribe.isEmpty()) {
|
||||||
|
storeClient.getIndividualSubscription().subscriptionsPost(needToSubscribe, CONTENT_TYPE);
|
||||||
|
}
|
||||||
//end of subscription
|
//end of subscription
|
||||||
|
|
||||||
List<ApplicationKey> applicationKeys = application.getKeys();
|
List<ApplicationKey> applicationKeys = application.getKeys();
|
||||||
|
|||||||
@ -22,6 +22,8 @@ import feign.Param;
|
|||||||
import feign.RequestLine;
|
import feign.RequestLine;
|
||||||
import org.wso2.carbon.apimgt.integration.client.store.model.Subscription;
|
import org.wso2.carbon.apimgt.integration.client.store.model.Subscription;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
|
||||||
@javax.annotation.Generated(value = "class io.swagger.codegen.languages.JavaClientCodegen", date = "2017-01-24T00:03:54.991+05:30")
|
@javax.annotation.Generated(value = "class io.swagger.codegen.languages.JavaClientCodegen", date = "2017-01-24T00:03:54.991+05:30")
|
||||||
public interface SubscriptionindividualApi {
|
public interface SubscriptionindividualApi {
|
||||||
@ -42,6 +44,21 @@ public interface SubscriptionindividualApi {
|
|||||||
})
|
})
|
||||||
Subscription subscriptionsPost(Subscription body, @Param("contentType") String contentType);
|
Subscription subscriptionsPost(Subscription body, @Param("contentType") String contentType);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Add new subscriptions
|
||||||
|
* Add new subscriptions
|
||||||
|
* @param body Subscription objects that should to be added (required)
|
||||||
|
* @param contentType Media type of the entity in the body. Default is JSON. (required)
|
||||||
|
* @return Subscription
|
||||||
|
*/
|
||||||
|
@RequestLine("POST /subscriptions/multiple")
|
||||||
|
@Headers({
|
||||||
|
"Content-type: application/json",
|
||||||
|
"Accept: application/json",
|
||||||
|
"Content-Type: {contentType}"
|
||||||
|
})
|
||||||
|
List<Subscription> subscriptionsPost(List<Subscription> body, @Param("contentType") String contentType);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Remove subscription
|
* Remove subscription
|
||||||
* Remove subscription
|
* Remove subscription
|
||||||
|
|||||||
@ -40,7 +40,6 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"errorPages": {
|
"errorPages": {
|
||||||
"404": "cdmf.page.error-404",
|
|
||||||
"default": "uuf.page.error"
|
"default": "uuf.page.error"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -2,24 +2,24 @@
|
|||||||
"appContext": "/devicemgt/",
|
"appContext": "/devicemgt/",
|
||||||
"isCloud": false,
|
"isCloud": false,
|
||||||
"cloudConfig": {
|
"cloudConfig": {
|
||||||
"upgradeNowURL": "",
|
"upgradeNowURL": "https://cloudmgt.clouddev.wso2.com/cloudmgt/site/pages/payment-plans.jag?cloud-type=device_cloud",
|
||||||
"monetizationURL": "",
|
"monetizationURL": "https://cloudmgt.clouddev.wso2.com/cloudmgt/site/pages/monetization-dashboard.jag",
|
||||||
"requestExtensionURL": "",
|
"requestExtensionURL": "https://cloudmgt.clouddev.wso2.com/cloudmgt/site/pages/contact-us.jag?cloud-type=device_cloud&request-extension=true",
|
||||||
"publisherURL": "",
|
"publisherURL": "",
|
||||||
"storeURL": "",
|
"storeURL": "",
|
||||||
"contactUsURL": "",
|
"contactUsURL": "https://cloudmgt.clouddev.wso2.com/cloudmgt/site/pages/contact-us.jag",
|
||||||
"apiCloudDocURL": "https://docs.wso2.com/display/APICloud/WSO2+API+Cloud+Documentation",
|
"apiCloudDocURL": "https://docs.wso2.com/display/APICloud/WSO2+API+Cloud+Documentation",
|
||||||
"appCloudDocURL": "https://docs.wso2.com/display/AppCloud/WSO2+App+Cloud+Documentation",
|
"appCloudDocURL": "https://docs.wso2.com/display/AppCloud/WSO2+App+Cloud+Documentation",
|
||||||
"deviceCloudDocURL": "https://docs.wso2.com/display/DeviceCloud/WSO2+Device+Cloud+Documentation",
|
"deviceCloudDocURL": "https://docs.wso2.com/display/DeviceCloud/WSO2+Device+Cloud+Documentation",
|
||||||
"apiCloudWalkthroughURL": "https://api.clouddev.wso2.com/publisher?interactiveTutorial=true",
|
"apiCloudWalkthroughURL": "https://api.clouddev.wso2.com/publisher?interactiveTutorial=true",
|
||||||
"profileURL": "https://cloudmgt.clouddev.wso2.com/cloudmgt/site/pages/user-profile.jag",
|
"profileURL": "https://cloudmgt.clouddev.wso2.com/cloudmgt/site/pages/user-profile.jag",
|
||||||
"changePasswordURL": "https://cloudmgt.clouddev.wso2.com/cloudmgt/site/pages/change-password.jag",
|
"changePasswordURL": "https://cloudmgt.clouddev.wso2.com/cloudmgt/site/pages/change-password.jag",
|
||||||
"logoutURL": "https://api.clouddev.wso2.com/publisher/site/pages/logout.jag",
|
"logoutURL": "https://devicemgt.cloud.wso2.com/devicemgt/logout",
|
||||||
"apiCloudURL": "",
|
"apiCloudURL": "",
|
||||||
"appCloudURL": "",
|
"appCloudURL": "",
|
||||||
"deviceCloudURL": "",
|
"deviceCloudURL": "",
|
||||||
"oraganizationURL": "",
|
"oraganizationURL": "https://cloudmgt.cloud.wso2.com/cloudmgt/site/pages/organization.jag",
|
||||||
"membersURL": ""
|
"membersURL": "https://cloudmgt.cloud.wso2.com/cloudmgt/site/pages/user.jag"
|
||||||
},
|
},
|
||||||
"httpsURL": "https://%iot.gateway.host%:%iot.gateway.https.port%",
|
"httpsURL": "https://%iot.gateway.host%:%iot.gateway.https.port%",
|
||||||
"httpURL": "http://%iot.gateway.host%:%iot.gateway.http.port",
|
"httpURL": "http://%iot.gateway.host%:%iot.gateway.http.port",
|
||||||
|
|||||||
@ -0,0 +1,48 @@
|
|||||||
|
{{!-- Copyright (c) 2015, 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. --}}
|
||||||
|
<!DOCTYPE html>
|
||||||
|
<html>
|
||||||
|
<head>
|
||||||
|
<meta charset='UTF-8'>
|
||||||
|
<link rel="stylesheet" href="https://error.cloud.wso2.com/style/style.css">
|
||||||
|
<link rel="stylesheet" href="https://error.cloud.wso2.com/style/font-mf.css">
|
||||||
|
<title>
|
||||||
|
{{defineZone "title"}}
|
||||||
|
</title>
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<div class="sky">
|
||||||
|
<section>
|
||||||
|
<div class="error-400">
|
||||||
|
<img src="https://error.cloud.wso2.com/images/400-error.svg">
|
||||||
|
</div>
|
||||||
|
<div class="text-label">
|
||||||
|
<h1>{{#defineZone "messageTitle"}}Oops something went wrong{{/defineZone}}</h1>
|
||||||
|
<h2>{{defineZone "messageDescription"}}</h2>
|
||||||
|
<div style="clear: both"></div>
|
||||||
|
<div class="button-label">
|
||||||
|
<a href="https://cloudmgt.cloud.wso2.com/cloudmgt/site/pages/index.jag"><label class="label-back">Back to Cloud </label></a>
|
||||||
|
<a href="https://cloudmgt.cloud.wso2.com/cloudmgt/site/pages/contact-us.jag"><label class="label-report"> Report Issue </label></a>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</section>
|
||||||
|
|
||||||
|
<div class="clouds_one"></div>
|
||||||
|
<div class="clouds_two"></div>
|
||||||
|
<div class="clouds_three"></div>
|
||||||
|
</div>
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
@ -78,6 +78,7 @@
|
|||||||
</a>
|
</a>
|
||||||
{{/if}}
|
{{/if}}
|
||||||
<!--suppress HtmlUnknownTarget -->
|
<!--suppress HtmlUnknownTarget -->
|
||||||
|
{{#unless isCloud}}
|
||||||
<a href="{{@app.context}}/group/add">
|
<a href="{{@app.context}}/group/add">
|
||||||
<span class="fw-stack">
|
<span class="fw-stack">
|
||||||
<i class="fw fw-circle-outline fw-stack-2x"></i>
|
<i class="fw fw-circle-outline fw-stack-2x"></i>
|
||||||
@ -85,6 +86,7 @@
|
|||||||
</span>
|
</span>
|
||||||
Add
|
Add
|
||||||
</a>
|
</a>
|
||||||
|
{{/unless}}
|
||||||
</span>
|
</span>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@ -109,6 +111,7 @@
|
|||||||
</a>
|
</a>
|
||||||
{{/if}}
|
{{/if}}
|
||||||
<!--suppress HtmlUnknownTarget -->
|
<!--suppress HtmlUnknownTarget -->
|
||||||
|
{{#unless isCloud}}
|
||||||
<a href="{{@app.context}}/user/add">
|
<a href="{{@app.context}}/user/add">
|
||||||
<span class="fw-stack">
|
<span class="fw-stack">
|
||||||
<i class="fw fw-circle-outline fw-stack-2x"></i>
|
<i class="fw fw-circle-outline fw-stack-2x"></i>
|
||||||
@ -116,6 +119,7 @@
|
|||||||
</span>
|
</span>
|
||||||
Add
|
Add
|
||||||
</a>
|
</a>
|
||||||
|
{{/unless}}
|
||||||
</span>
|
</span>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@ -140,6 +144,7 @@
|
|||||||
</a>
|
</a>
|
||||||
{{/if}}
|
{{/if}}
|
||||||
<!--suppress HtmlUnknownTarget -->
|
<!--suppress HtmlUnknownTarget -->
|
||||||
|
{{#unless isCloud}}
|
||||||
<a href="{{@app.context}}/policy/add">
|
<a href="{{@app.context}}/policy/add">
|
||||||
<span class="fw-stack">
|
<span class="fw-stack">
|
||||||
<i class="fw fw-circle-outline fw-stack-2x"></i>
|
<i class="fw fw-circle-outline fw-stack-2x"></i>
|
||||||
@ -147,6 +152,7 @@
|
|||||||
</span>
|
</span>
|
||||||
Add
|
Add
|
||||||
</a>
|
</a>
|
||||||
|
{{/unless}}
|
||||||
</span>
|
</span>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@ -171,6 +177,7 @@
|
|||||||
</a>
|
</a>
|
||||||
{{/if}}
|
{{/if}}
|
||||||
<!--suppress HtmlUnknownTarget -->
|
<!--suppress HtmlUnknownTarget -->
|
||||||
|
{{#unless isCloud}}
|
||||||
<a href="{{@app.context}}/role/add">
|
<a href="{{@app.context}}/role/add">
|
||||||
<span class="fw-stack">
|
<span class="fw-stack">
|
||||||
<i class="fw fw-circle-outline fw-stack-2x"></i>
|
<i class="fw fw-circle-outline fw-stack-2x"></i>
|
||||||
@ -178,6 +185,7 @@
|
|||||||
</span>
|
</span>
|
||||||
Add
|
Add
|
||||||
</a>
|
</a>
|
||||||
|
{{/unless}}
|
||||||
</span>
|
</span>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@ -40,6 +40,7 @@ function onRequest() {
|
|||||||
viewModel.userCount = userModule.getUsersCount();
|
viewModel.userCount = userModule.getUsersCount();
|
||||||
viewModel.policyCount = policyModule.getPoliciesCount();
|
viewModel.policyCount = policyModule.getPoliciesCount();
|
||||||
viewModel.roleCount = userModule.getRolesCount();
|
viewModel.roleCount = userModule.getRolesCount();
|
||||||
|
viewModel.isCloud = devicemgtProps.isCloud;
|
||||||
|
|
||||||
return viewModel;
|
return viewModel;
|
||||||
}
|
}
|
||||||
@ -1,6 +0,0 @@
|
|||||||
{
|
|
||||||
"version": "1.0.0",
|
|
||||||
"uri": "/error/404",
|
|
||||||
"layout": "uuf.layout.default",
|
|
||||||
"isAnonymous": true
|
|
||||||
}
|
|
||||||
@ -17,22 +17,6 @@
|
|||||||
}}
|
}}
|
||||||
{{#zone "title"}}Error | {{@app.conf.appName}}{{/zone}}
|
{{#zone "title"}}Error | {{@app.conf.appName}}{{/zone}}
|
||||||
|
|
||||||
{{#zone "breadcrumbs"}}
|
{{#zone "messageDescription"}}
|
||||||
<li>
|
{{@page.params.status}} - {{@page.params.message}}
|
||||||
<a href="{{@app.context}}/">
|
|
||||||
<i class="icon fw fw-home"></i>
|
|
||||||
</a>
|
|
||||||
</li>
|
|
||||||
{{/zone}}
|
|
||||||
|
|
||||||
{{#zone "content"}}
|
|
||||||
<div class="message message-danger">
|
|
||||||
<h4><i class="icon fw fw-error"></i>An Error Occurred!</h4>
|
|
||||||
|
|
||||||
<div style="padding-left: 25px;">
|
|
||||||
<h5><b>HTTP Status : {{@page.params.status}}</b></h5>
|
|
||||||
|
|
||||||
<p style="white-space: pre-wrap;">{{@page.params.message}}</p>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
{{/zone}}
|
{{/zone}}
|
||||||
@ -0,0 +1,5 @@
|
|||||||
|
{
|
||||||
|
"version": "1.0.0",
|
||||||
|
"uri": "/errors/default",
|
||||||
|
"layout" : "cdmf.layout.error"
|
||||||
|
}
|
||||||
@ -142,8 +142,14 @@ function loadRoles() {
|
|||||||
class: "text-right content-fill text-left-on-grid-view no-wrap",
|
class: "text-right content-fill text-left-on-grid-view no-wrap",
|
||||||
data: null,
|
data: null,
|
||||||
render: function (data, type, row, meta) {
|
render: function (data, type, row, meta) {
|
||||||
return '' +
|
var isCloud = false;
|
||||||
'<a onclick="javascript:loadRoleBasedActionURL(\'edit\', \'' + data.name + '\')" ' +
|
if ($('#is-cloud').length > 0){
|
||||||
|
isCloud = true;
|
||||||
|
}
|
||||||
|
|
||||||
|
var innerhtml = '';
|
||||||
|
|
||||||
|
var editLink = '<a onclick="javascript:loadRoleBasedActionURL(\'edit\', \'' + data.name + '\')" ' +
|
||||||
'data-role="' + data.name + '" ' +
|
'data-role="' + data.name + '" ' +
|
||||||
'data-click-event="edit-form" ' +
|
'data-click-event="edit-form" ' +
|
||||||
'class="btn padding-reduce-on-grid-view edit-role-link">' +
|
'class="btn padding-reduce-on-grid-view edit-role-link">' +
|
||||||
@ -156,8 +162,9 @@ function loadRoles() {
|
|||||||
'</span>' +
|
'</span>' +
|
||||||
'</span>' +
|
'</span>' +
|
||||||
'<span class="hidden-xs hidden-on-grid-view">Edit</span>' +
|
'<span class="hidden-xs hidden-on-grid-view">Edit</span>' +
|
||||||
'</a>' +
|
'</a>';
|
||||||
'<a onclick="javascript:loadRoleBasedActionURL(\'edit-permission\', \'' + data.name + '\')" ' +
|
|
||||||
|
var editPermissionLink = '<a onclick="javascript:loadRoleBasedActionURL(\'edit-permission\', \'' + data.name + '\')" ' +
|
||||||
'data-role="' + data.name + '" ' +
|
'data-role="' + data.name + '" ' +
|
||||||
'data-click-event="edit-form" ' +
|
'data-click-event="edit-form" ' +
|
||||||
'class="btn padding-reduce-on-grid-view edit-permission-link">' +
|
'class="btn padding-reduce-on-grid-view edit-permission-link">' +
|
||||||
@ -170,8 +177,9 @@ function loadRoles() {
|
|||||||
'</span>' +
|
'</span>' +
|
||||||
'</span>' +
|
'</span>' +
|
||||||
'<span class="hidden-xs hidden-on-grid-view">Edit Permission</span>' +
|
'<span class="hidden-xs hidden-on-grid-view">Edit Permission</span>' +
|
||||||
'</a>' +
|
'</a>';
|
||||||
'<a data-role="' + data.name + '" ' +
|
|
||||||
|
car removeLink = '<a data-role="' + data.name + '" ' +
|
||||||
'data-click-event="remove-form" ' +
|
'data-click-event="remove-form" ' +
|
||||||
'class="btn padding-reduce-on-grid-view remove-role-link">' +
|
'class="btn padding-reduce-on-grid-view remove-role-link">' +
|
||||||
'<span class="fw-stack">' +
|
'<span class="fw-stack">' +
|
||||||
@ -180,6 +188,11 @@ function loadRoles() {
|
|||||||
'</span>' +
|
'</span>' +
|
||||||
'<span class="hidden-xs hidden-on-grid-view">Remove</span>' +
|
'<span class="hidden-xs hidden-on-grid-view">Remove</span>' +
|
||||||
'</a>';
|
'</a>';
|
||||||
|
|
||||||
|
if (!isCloud){
|
||||||
|
innerhtml = editLink + editPermissionLink + removeLink;
|
||||||
|
}
|
||||||
|
return innerhtml;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
];
|
];
|
||||||
|
|||||||
@ -35,6 +35,7 @@
|
|||||||
{{/zone}}
|
{{/zone}}
|
||||||
|
|
||||||
{{#zone "navbarActions"}}
|
{{#zone "navbarActions"}}
|
||||||
|
{{#unless isCloud}}
|
||||||
<li>
|
<li>
|
||||||
<!--suppress HtmlUnknownTarget -->
|
<!--suppress HtmlUnknownTarget -->
|
||||||
<a href="{{@app.context}}/role/add" class="cu-btn">
|
<a href="{{@app.context}}/role/add" class="cu-btn">
|
||||||
@ -45,16 +46,22 @@
|
|||||||
Add Role
|
Add Role
|
||||||
</a>
|
</a>
|
||||||
</li>
|
</li>
|
||||||
|
{{/unless}}
|
||||||
{{/zone}}
|
{{/zone}}
|
||||||
|
|
||||||
{{#zone "content"}}
|
{{#zone "content"}}
|
||||||
<div id="loading-content" class="col-centered">
|
<div id="loading-content" class="col-centered">
|
||||||
|
{{#unless isCloud}}
|
||||||
{{#if removePermitted}}
|
{{#if removePermitted}}
|
||||||
<input type="hidden" id="can-remove" value="true" />
|
<input type="hidden" id="can-remove" value="true" />
|
||||||
{{/if}}
|
{{/if}}
|
||||||
{{#if editPermitted}}
|
{{#if editPermitted}}
|
||||||
<input type="hidden" id="can-edit" value="true" />
|
<input type="hidden" id="can-edit" value="true" />
|
||||||
{{/if}}
|
{{/if}}
|
||||||
|
{{/unless}}
|
||||||
|
{{#if isCloud}}
|
||||||
|
<input type="hidden" id="is-cloud" value="true" />
|
||||||
|
{{/if}}
|
||||||
<i class="fw fw-settings fw-spin fw-2x"></i>
|
<i class="fw fw-settings fw-spin fw-2x"></i>
|
||||||
Loading roles . . .
|
Loading roles . . .
|
||||||
<br>
|
<br>
|
||||||
|
|||||||
@ -32,6 +32,7 @@ function onRequest(context) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
context["adminRole"] = deviceMgtProps["adminRole"];
|
context["adminRole"] = deviceMgtProps["adminRole"];
|
||||||
|
context["isCloud"] = deviceMgtProps["isCloud"];
|
||||||
|
|
||||||
return context;
|
return context;
|
||||||
}
|
}
|
||||||
@ -54,9 +54,12 @@
|
|||||||
<div class="row no-gutter add-padding-5x add-margin-top-5x" style="border: 1px solid #e4e4e4;">
|
<div class="row no-gutter add-padding-5x add-margin-top-5x" style="border: 1px solid #e4e4e4;">
|
||||||
<div class="media">
|
<div class="media">
|
||||||
<div class="media-left media-middle asset-image col-xs-2 col-sm-2 col-md-2 col-lg-2">
|
<div class="media-left media-middle asset-image col-xs-2 col-sm-2 col-md-2 col-lg-2">
|
||||||
<div class="thumbnail icon" style="margin-bottom: 43px"><i class="square-element text fw fw-user"></i>
|
<div class="thumbnail icon" style="margin-bottom: 43px"><i
|
||||||
|
class="square-element text fw fw-user"></i>
|
||||||
</div>
|
</div>
|
||||||
<div class="media">
|
<div class="media">
|
||||||
|
|
||||||
|
{{#unless isCloud}}
|
||||||
{{#if editPermitted}}
|
{{#if editPermitted}}
|
||||||
<button class="wr-btn"
|
<button class="wr-btn"
|
||||||
onclick="location.href='{{@app.context}}/users/edit-user?username={{user.username}}';"
|
onclick="location.href='{{@app.context}}/users/edit-user?username={{user.username}}';"
|
||||||
@ -64,10 +67,12 @@
|
|||||||
style="width: 100%; vertical-align: bottom; background-color: #7fa030;"><span><i
|
style="width: 100%; vertical-align: bottom; background-color: #7fa030;"><span><i
|
||||||
class="fw fw-edit"></i> Edit</span></button>
|
class="fw fw-edit"></i> Edit</span></button>
|
||||||
{{/if}}
|
{{/if}}
|
||||||
|
{{/unless}}
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="media-body asset-desc add-padding-left-5x">
|
<div class="media-body asset-desc add-padding-left-5x">
|
||||||
<div style="background: #11375B; color: #fff; padding: 10px; margin-bottom: 5px">Profile Overview</div>
|
<div style="background: #11375B; color: #fff; padding: 10px; margin-bottom: 5px">Profile Overview
|
||||||
|
</div>
|
||||||
{{#defineZone "user-detail-properties"}}
|
{{#defineZone "user-detail-properties"}}
|
||||||
<table class="table table-responsive table-striped" id="members">
|
<table class="table table-responsive table-striped" id="members">
|
||||||
<tbody>
|
<tbody>
|
||||||
|
|||||||
@ -20,6 +20,7 @@ function onRequest(context) {
|
|||||||
var userModule = require("/app/modules/business-controllers/user.js")["userModule"];
|
var userModule = require("/app/modules/business-controllers/user.js")["userModule"];
|
||||||
var username = request.getParameter("username");
|
var username = request.getParameter("username");
|
||||||
var user = userModule.getUser(username)["content"];
|
var user = userModule.getUser(username)["content"];
|
||||||
|
var deviceMgtProps = require("/app/modules/conf-reader/main.js")["conf"];
|
||||||
|
|
||||||
var userName = request.getParameter("username");
|
var userName = request.getParameter("username");
|
||||||
|
|
||||||
@ -45,5 +46,8 @@ function onRequest(context) {
|
|||||||
if (userModule.isAuthorized("/permission/admin/device-mgt/users/view")) {
|
if (userModule.isAuthorized("/permission/admin/device-mgt/users/view")) {
|
||||||
canView = true;
|
canView = true;
|
||||||
}
|
}
|
||||||
return {"user": user, "userRoles": userRoles, "devices": devices, "canView": canView};
|
|
||||||
|
var isCloud = deviceMgtProps.isCloud;
|
||||||
|
|
||||||
|
return {"user": user, "userRoles": userRoles, "devices": devices, "canView": canView, "isCloud" : isCloud};
|
||||||
}
|
}
|
||||||
|
|||||||
@ -35,6 +35,7 @@
|
|||||||
{{/zone}}
|
{{/zone}}
|
||||||
|
|
||||||
{{#zone "navbarActions"}}
|
{{#zone "navbarActions"}}
|
||||||
|
{{#unless isCloud}}
|
||||||
<li>
|
<li>
|
||||||
<!--suppress HtmlUnknownTarget -->
|
<!--suppress HtmlUnknownTarget -->
|
||||||
<a href="{{@app.context}}/user/add">
|
<a href="{{@app.context}}/user/add">
|
||||||
@ -45,18 +46,21 @@
|
|||||||
Add User
|
Add User
|
||||||
</a>
|
</a>
|
||||||
</li>
|
</li>
|
||||||
|
{{/unless}}
|
||||||
{{/zone}}
|
{{/zone}}
|
||||||
|
|
||||||
{{#zone "content"}}
|
{{#zone "content"}}
|
||||||
<input type="hidden" id="user" value="{{user.username}}">
|
<input type="hidden" id="user" value="{{user.username}}">
|
||||||
<!-- content -->
|
<!-- content -->
|
||||||
<div id="loading-content" class="col-centered">
|
<div id="loading-content" class="col-centered">
|
||||||
|
{{#unless isCloud}}
|
||||||
{{#if canManage}}
|
{{#if canManage}}
|
||||||
<input type="hidden" id="can-remove" value="true"/>
|
<input type="hidden" id="can-remove" value="true"/>
|
||||||
<input type="hidden" id="can-edit" value="true"/>
|
<input type="hidden" id="can-edit" value="true"/>
|
||||||
<input type="hidden" id="can-invite" value="true"/>
|
<input type="hidden" id="can-invite" value="true"/>
|
||||||
<input type="hidden" id="can-reset-password" value="true"/>
|
<input type="hidden" id="can-reset-password" value="true"/>
|
||||||
{{/if}}
|
{{/if}}
|
||||||
|
{{/unless}}
|
||||||
{{#if canView}}
|
{{#if canView}}
|
||||||
<input type="hidden" id="can-view" value="true"/>
|
<input type="hidden" id="can-view" value="true"/>
|
||||||
{{/if}}
|
{{/if}}
|
||||||
@ -108,14 +112,16 @@
|
|||||||
Enter new password
|
Enter new password
|
||||||
<br><br>
|
<br><br>
|
||||||
<div>
|
<div>
|
||||||
<input type="password" autocomplete="off" class="form-control modal-input operationDataKeys new-password"
|
<input type="password" autocomplete="off"
|
||||||
|
class="form-control modal-input operationDataKeys new-password"
|
||||||
data-key="message"/>
|
data-key="message"/>
|
||||||
</div>
|
</div>
|
||||||
<br>
|
<br>
|
||||||
Retype new password
|
Retype new password
|
||||||
<br><br>
|
<br><br>
|
||||||
<div>
|
<div>
|
||||||
<input type="password" autocomplete="off" class="form-control modal-input operationDataKeys confirmed-password"
|
<input type="password" autocomplete="off"
|
||||||
|
class="form-control modal-input operationDataKeys confirmed-password"
|
||||||
data-key="message"/>
|
data-key="message"/>
|
||||||
</div>
|
</div>
|
||||||
<br>
|
<br>
|
||||||
|
|||||||
@ -33,6 +33,7 @@ function onRequest(context) {
|
|||||||
|
|
||||||
page["currentUser"] = userModule.getCarbonUser().username;
|
page["currentUser"] = userModule.getCarbonUser().username;
|
||||||
page["adminUser"] = deviceMgtProps["adminUser"].split("@")[0];
|
page["adminUser"] = deviceMgtProps["adminUser"].split("@")[0];
|
||||||
|
page["isCloud"] = deviceMgtProps["isCloud"];
|
||||||
|
|
||||||
if (userModule.isAuthorized("/permission/admin/device-mgt/users/manage")) {
|
if (userModule.isAuthorized("/permission/admin/device-mgt/users/manage")) {
|
||||||
page.canManage = true;
|
page.canManage = true;
|
||||||
|
|||||||
@ -22,87 +22,87 @@
|
|||||||
<span class="icon fw-stack fw-lg">
|
<span class="icon fw-stack fw-lg">
|
||||||
<i class="fw fw-organization fw-stack-1x" title=" {{@user.domain}}"></i>
|
<i class="fw fw-organization fw-stack-1x" title=" {{@user.domain}}"></i>
|
||||||
</span>
|
</span>
|
||||||
<span class="hidden-xs">
|
<span class="hidden-xs username">
|
||||||
{{@user.domain}}
|
{{@user.domain}}
|
||||||
</span>
|
</span>
|
||||||
|
|
||||||
</a>
|
</a>
|
||||||
</li>
|
</li>
|
||||||
|
|
||||||
<li class="visible-inline-block">
|
<!--<li class="visible-inline-block">-->
|
||||||
|
|
||||||
<a href="#" target="_blank" class="dropdown" data-toggle="dropdown" title="Account">
|
<!--<a href="#" target="_blank" class="dropdown" data-toggle="dropdown" title="Account">-->
|
||||||
|
|
||||||
<span class="icon fw-stack fw-lg" style="color: red">
|
<!--<span class="icon fw-stack fw-lg" style="color: red">-->
|
||||||
<i class="fw fw-resource fw-stack-1x" title="Account"></i>
|
<!--<i class="fw fw-resource fw-stack-1x" title="Account"></i>-->
|
||||||
</span>
|
<!--</span>-->
|
||||||
<span class="hidden-xs" style="color: red">
|
<!--<span class="hidden-xs" style="color: red">-->
|
||||||
Trial – 14 days to upgrade
|
<!--Trial – 14 days to upgrade-->
|
||||||
</span>
|
<!--</span>-->
|
||||||
|
|
||||||
<span class="caret"></span>
|
<!--<span class="caret"></span>-->
|
||||||
</a>
|
<!--</a>-->
|
||||||
|
|
||||||
<ul class="dropdown-menu dropdown-menu-right float-remove-xs position-static-xs text-center-xs remove-margin-xs slideInDown"
|
<!--<ul class="dropdown-menu dropdown-menu-right float-remove-xs position-static-xs text-center-xs remove-margin-xs slideInDown"-->
|
||||||
role="menu">
|
<!--role="menu">-->
|
||||||
|
|
||||||
<li>
|
<!--<li>-->
|
||||||
<a title="Upgrade Now"
|
<!--<a title="Upgrade Now"-->
|
||||||
href="{{upgradeNowURL}}"
|
<!--href="{{upgradeNowURL}}"-->
|
||||||
target="_self">
|
<!--target="_self">-->
|
||||||
<i class="fw fw-export" title="Upgrade Now"></i> Upgrade Now
|
<!--<i class="fw fw-export" title="Upgrade Now"></i> Upgrade Now-->
|
||||||
</a>
|
<!--</a>-->
|
||||||
</li>
|
<!--</li>-->
|
||||||
|
|
||||||
<li>
|
<!--<li>-->
|
||||||
<a title="Monetization"
|
<!--<a title="Monetization"-->
|
||||||
href="{{monetizationURL}}"
|
<!--href="{{monetizationURL}}"-->
|
||||||
target="_self">
|
<!--target="_self">-->
|
||||||
<i class="fa fa-money fa-lg" title="Monetization"></i> Monetization
|
<!--<i class="fa fa-money fa-lg" title="Monetization"></i> Monetization-->
|
||||||
</a>
|
<!--</a>-->
|
||||||
</li>
|
<!--</li>-->
|
||||||
|
|
||||||
<li>
|
<!--<li>-->
|
||||||
<a title="Request Extension"
|
<!--<a title="Request Extension"-->
|
||||||
href="{{requestExtensionURL}}"
|
<!--href="{{requestExtensionURL}}"-->
|
||||||
target="_blank">
|
<!--target="_blank">-->
|
||||||
<i class="fw fw-mail" title="Request Extension"></i> Request Extension
|
<!--<i class="fw fw-mail" title="Request Extension"></i> Request Extension-->
|
||||||
</a>
|
<!--</a>-->
|
||||||
</li>
|
<!--</li>-->
|
||||||
|
|
||||||
</ul>
|
<!--</ul>-->
|
||||||
</li>
|
<!--</li>-->
|
||||||
|
|
||||||
<li class="visible-inline-block">
|
<!--<li class="visible-inline-block">-->
|
||||||
|
|
||||||
<a href="#" target="null" class="dropdown" data-toggle="dropdown" title="App Management">
|
<!--<a href="#" target="null" class="dropdown" data-toggle="dropdown" title="App Management">-->
|
||||||
<span class="icon fw-stack fw-lg">
|
<!--<span class="icon fw-stack fw-lg">-->
|
||||||
<i class="fw fw-settings fw-stack-1x" title="App Management"></i>
|
<!--<i class="fw fw-settings fw-stack-1x" title="App Management"></i>-->
|
||||||
</span>
|
<!--</span>-->
|
||||||
<span class="hidden-xs">
|
<!--<span class="hidden-xs">-->
|
||||||
App Management
|
<!--App Management-->
|
||||||
</span>
|
<!--</span>-->
|
||||||
<span class="caret"></span>
|
<!--<span class="caret"></span>-->
|
||||||
</a>
|
<!--</a>-->
|
||||||
|
|
||||||
<ul class="dropdown-menu dropdown-menu-right float-remove-xs position-static-xs text-center-xs remove-margin-xs slideInDown"
|
<!--<ul class="dropdown-menu dropdown-menu-right float-remove-xs position-static-xs text-center-xs remove-margin-xs slideInDown"-->
|
||||||
role="menu">
|
<!--role="menu">-->
|
||||||
<li class="visible-inline-block">
|
<!--<li class="visible-inline-block">-->
|
||||||
<a title="Mobile App Publisher" href="{{publisherURL}}"
|
<!--<a title="Mobile App Publisher" href="{{publisherURL}}"-->
|
||||||
target="_self">
|
<!--target="_self">-->
|
||||||
<i class="fw fw-user" title="Mobilr App Publisher"></i> App Publisher
|
<!--<i class="fw fw-user" title="Mobilr App Publisher"></i> App Publisher-->
|
||||||
</a>
|
<!--</a>-->
|
||||||
</li>
|
<!--</li>-->
|
||||||
|
|
||||||
<li class="visible-inline-block">
|
<!--<li class="visible-inline-block">-->
|
||||||
<a title="App Store " href="{{storeURL}}"
|
<!--<a title="App Store " href="{{storeURL}}"-->
|
||||||
target="_self">
|
<!--target="_self">-->
|
||||||
<i class="fw fw-store" title="App Store"></i> App Store
|
<!--<i class="fw fw-store" title="App Store"></i> App Store-->
|
||||||
</a>
|
<!--</a>-->
|
||||||
</li>
|
<!--</li>-->
|
||||||
|
|
||||||
</ul>
|
<!--</ul>-->
|
||||||
</li>
|
<!--</li>-->
|
||||||
|
|
||||||
<li class="visible-inline-block">
|
<li class="visible-inline-block">
|
||||||
<a href="{{contactUsURL}}" target="_self"
|
<a href="{{contactUsURL}}" target="_self"
|
||||||
@ -175,12 +175,8 @@
|
|||||||
<i class="fw fw-circle-outline fw-stack-2x" title="User"></i>
|
<i class="fw fw-circle-outline fw-stack-2x" title="User"></i>
|
||||||
<i class="fw fw-user fw-stack-1x" title="User"></i>
|
<i class="fw fw-user fw-stack-1x" title="User"></i>
|
||||||
</span>
|
</span>
|
||||||
<span class="hidden-xs">
|
<span class="hidden-xs username">
|
||||||
{{#if isSuperTenant }}
|
|
||||||
{{@user.username}}</span><span class="caret"></span>
|
{{@user.username}}</span><span class="caret"></span>
|
||||||
{{else}}
|
|
||||||
{{@user.username}}@{{@user.domain}}</span><span class="caret"></span>
|
|
||||||
{{/if}}
|
|
||||||
</a>
|
</a>
|
||||||
<ul class="dropdown-menu dropdown-menu-right float-remove-xs position-static-xs text-center-xs remove-margin-xs slideInDown"
|
<ul class="dropdown-menu dropdown-menu-right float-remove-xs position-static-xs text-center-xs remove-margin-xs slideInDown"
|
||||||
role="menu">
|
role="menu">
|
||||||
@ -229,17 +225,17 @@
|
|||||||
<div id="popover-content" class="hide">
|
<div id="popover-content" class="hide">
|
||||||
<div class="cloud-apps">
|
<div class="cloud-apps">
|
||||||
|
|
||||||
<a href="{{apiCloudURL}}https://api.cloud.wso2.com/publisher" target="_self" class="cloud-block add-padding-top-3x">
|
<a href="{{apiCloudURL}}" target="_self" class="cloud-block add-padding-top-3x">
|
||||||
<i class="fw fw-api fw-3x"></i>
|
<i class="fw fw-api fw-3x"></i>
|
||||||
<div class="cloud-name">API Cloud</div>
|
<div class="cloud-name">API Cloud</div>
|
||||||
</a>
|
</a>
|
||||||
|
|
||||||
<a href="{{appCloudURL}}https://apps.cloud.wso2.com/appmgt" target="_self" class="cloud-block add-padding-top-3x">
|
<a href="{{appCloudURL}}" target="_self" class="cloud-block add-padding-top-3x">
|
||||||
<i class="fw fw-application fw-3x"></i>
|
<i class="fw fw-application fw-3x"></i>
|
||||||
<div class="cloud-name">App Cloud</div>
|
<div class="cloud-name">App Cloud</div>
|
||||||
</a>
|
</a>
|
||||||
|
|
||||||
<a href="{{deviceCloudURL}}https://devicemgt.cloud.wso2.com/devicemgt" target="_self" class="cloud-block add-padding-top-3x">
|
<a href="{{deviceCloudURL}}" target="_self" class="cloud-block add-padding-top-3x">
|
||||||
<i class="fw fw-mobile fw-3x"></i>
|
<i class="fw fw-mobile fw-3x"></i>
|
||||||
<div class="cloud-name">Device Cloud</div>
|
<div class="cloud-name">Device Cloud</div>
|
||||||
</a>
|
</a>
|
||||||
@ -249,12 +245,12 @@
|
|||||||
<div class="cloud-actions">
|
<div class="cloud-actions">
|
||||||
<h3>Manage your cloud</h3>
|
<h3>Manage your cloud</h3>
|
||||||
|
|
||||||
<a href="{{oraganizationURL}}https://cloudmgt.cloud.wso2.com/cloudmgt/site/pages/organization.jag" target="_self" class="cloud-block-invert add-padding-top-3x">
|
<a href="{{oraganizationURL}}" target="_self" class="cloud-block-invert add-padding-top-3x">
|
||||||
<i class="fw fw-organization fw-3x"></i>
|
<i class="fw fw-organization fw-3x"></i>
|
||||||
<div class="cloud-name">Organization</div>
|
<div class="cloud-name">Organization</div>
|
||||||
</a>
|
</a>
|
||||||
|
|
||||||
<a href="{{membersURL}}https://cloudmgt.cloud.wso2.com/cloudmgt/site/pages/user.jag" target="_self" class="cloud-block-invert add-padding-top-3x">
|
<a href="{{membersURL}}" target="_self" class="cloud-block-invert add-padding-top-3x">
|
||||||
<i class="fa fa-users fa-3x"></i>
|
<i class="fa fa-users fa-3x"></i>
|
||||||
<div class="cloud-name">Members</div>
|
<div class="cloud-name">Members</div>
|
||||||
</a>
|
</a>
|
||||||
|
|||||||
@ -42,7 +42,7 @@
|
|||||||
<div class="modal-header">
|
<div class="modal-header">
|
||||||
<h4 class="pull-left modal-title">
|
<h4 class="pull-left modal-title">
|
||||||
<span class="fw-stack">
|
<span class="fw-stack">
|
||||||
<i class="fw fw-user fw-stack-2x"></i>
|
<i class="fw fw-user fw-stack-2x user-icon-black"></i>
|
||||||
<span class="fw-stack fw-move-right fw-move-bottom">
|
<span class="fw-stack fw-move-right fw-move-bottom">
|
||||||
<i class="fw fw-circle-outline fw-stack-2x"></i>
|
<i class="fw fw-circle-outline fw-stack-2x"></i>
|
||||||
<i class="fw fw-circle fw-stack-2x fw-stroke text-info"></i>
|
<i class="fw fw-circle fw-stack-2x fw-stroke text-info"></i>
|
||||||
|
|||||||
@ -18,8 +18,8 @@
|
|||||||
|
|
||||||
{{#if isCloud}}
|
{{#if isCloud}}
|
||||||
{{#zone "productName"}}WSO2 Cloud{{/zone}}
|
{{#zone "productName"}}WSO2 Cloud{{/zone}}
|
||||||
{{#zone "productNameResponsive"}}WSO2 Cloud{{/zone}}
|
{{#zone "productNameResponsive"}} Cloud{{/zone}}
|
||||||
{{else}}
|
{{else}}
|
||||||
{{#zone "productName"}}WSO2 IoT Server{{/zone}}
|
{{#zone "productName"}}WSO2 IoT Server{{/zone}}
|
||||||
{{#zone "productNameResponsive"}}WSO2 IoT Server{{/zone}}
|
{{#zone "productNameResponsive"}} IoT Server{{/zone}}
|
||||||
{{/if}}
|
{{/if}}
|
||||||
|
|||||||
@ -30,6 +30,8 @@
|
|||||||
</a>
|
</a>
|
||||||
</li>
|
</li>
|
||||||
{{/if}}
|
{{/if}}
|
||||||
|
|
||||||
|
{{#unless isCloud}}
|
||||||
{{#if permissions.VIEW_DASHBOARD}}
|
{{#if permissions.VIEW_DASHBOARD}}
|
||||||
<li>
|
<li>
|
||||||
<a href="javascript:statisticLoad('/portal/t/{{currentUser.domain}}/dashboards/device-statistics-dashboard/')">
|
<a href="javascript:statisticLoad('/portal/t/{{currentUser.domain}}/dashboards/device-statistics-dashboard/')">
|
||||||
@ -57,6 +59,9 @@
|
|||||||
</div>
|
</div>
|
||||||
</li>
|
</li>
|
||||||
{{/if}}
|
{{/if}}
|
||||||
|
{{/unless}}
|
||||||
|
|
||||||
|
|
||||||
{{#if permissions.LIST_GROUPS}}
|
{{#if permissions.LIST_GROUPS}}
|
||||||
<li>
|
<li>
|
||||||
<a href="{{@app.context}}/groups">
|
<a href="{{@app.context}}/groups">
|
||||||
@ -81,6 +86,8 @@
|
|||||||
{{#if permissions.LIST_POLICIES}}
|
{{#if permissions.LIST_POLICIES}}
|
||||||
<li><a href="{{@app.context}}/policies"><i class="fw fw-policy"></i>Policy Management</a></li>
|
<li><a href="{{@app.context}}/policies"><i class="fw fw-policy"></i>Policy Management</a></li>
|
||||||
{{/if}}
|
{{/if}}
|
||||||
|
|
||||||
|
{{#unless isCloud}}
|
||||||
{{#if permissions.TENANT_CONFIGURATION}}
|
{{#if permissions.TENANT_CONFIGURATION}}
|
||||||
<li><a><i class="fw fw-settings"></i>Configuration Management</a>
|
<li><a><i class="fw fw-settings"></i>Configuration Management</a>
|
||||||
<ul>
|
<ul>
|
||||||
@ -92,6 +99,10 @@
|
|||||||
</ul>
|
</ul>
|
||||||
</li>
|
</li>
|
||||||
{{/if}}
|
{{/if}}
|
||||||
|
{{/unless}}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
{{/zone}}
|
{{/zone}}
|
||||||
|
|
||||||
{{#zone "navbarCollapsableRightItems"}}
|
{{#zone "navbarCollapsableRightItems"}}
|
||||||
|
|||||||
@ -52,6 +52,7 @@ function onRequest(context) {
|
|||||||
context["isAuthorizedForNotifications"] = isAuthorizedForNotifications;
|
context["isAuthorizedForNotifications"] = isAuthorizedForNotifications;
|
||||||
context["currentUser"] = currentUser;
|
context["currentUser"] = currentUser;
|
||||||
context["appContext"] = mdmProps["appContext"];
|
context["appContext"] = mdmProps["appContext"];
|
||||||
|
context["isCloud"] = mdmProps["isCloud"];
|
||||||
|
|
||||||
return context;
|
return context;
|
||||||
}
|
}
|
||||||
@ -16,12 +16,10 @@
|
|||||||
* under the License.
|
* under the License.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
|
||||||
.wr-input-control .helper {
|
.wr-input-control .helper {
|
||||||
font-weight: 100;
|
font-weight: 100;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
.wr-input-control .cus-col-25 {
|
.wr-input-control .cus-col-25 {
|
||||||
float: left;
|
float: left;
|
||||||
width: 25%;
|
width: 25%;
|
||||||
@ -53,6 +51,12 @@
|
|||||||
/*padding-left:20px;*/
|
/*padding-left:20px;*/
|
||||||
/*}*/
|
/*}*/
|
||||||
|
|
||||||
|
.user-icon-black {
|
||||||
|
color: black !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**/
|
||||||
|
|
||||||
/* wizard */
|
/* wizard */
|
||||||
.wr-wizard {
|
.wr-wizard {
|
||||||
|
|
||||||
@ -99,6 +103,9 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
@media only screen and (min-width: 768px) {
|
@media only screen and (min-width: 768px) {
|
||||||
|
header .username {
|
||||||
|
max-width: calc(100% - 100px);
|
||||||
|
}
|
||||||
body > .page-content-wrapper > .container,
|
body > .page-content-wrapper > .container,
|
||||||
body > .page-content-wrapper > .container-fluid {
|
body > .page-content-wrapper > .container-fluid {
|
||||||
margin: 1% 1% 1%;
|
margin: 1% 1% 1%;
|
||||||
@ -110,6 +117,15 @@ header .brand h1 {
|
|||||||
text-transform: none !important;
|
text-transform: none !important;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
header .username {
|
||||||
|
display: inline-block;
|
||||||
|
max-width: 180px;
|
||||||
|
white-space: nowrap;
|
||||||
|
overflow: hidden !important;
|
||||||
|
text-overflow: ellipsis;
|
||||||
|
vertical-align: middle;
|
||||||
|
}
|
||||||
|
|
||||||
.visible-inline-block {
|
.visible-inline-block {
|
||||||
display: inline-block !important;
|
display: inline-block !important;
|
||||||
}
|
}
|
||||||
@ -121,18 +137,22 @@ header .brand h1 {
|
|||||||
max-width: 32em;
|
max-width: 32em;
|
||||||
background-color: #006690
|
background-color: #006690
|
||||||
}
|
}
|
||||||
|
|
||||||
.cloud-menu .popover-title, .navbar-header .popover-title {
|
.cloud-menu .popover-title, .navbar-header .popover-title {
|
||||||
background-color: #006690;
|
background-color: #006690;
|
||||||
font-size: 16px;
|
font-size: 16px;
|
||||||
border-bottom: none;
|
border-bottom: none;
|
||||||
font-weight: 400;
|
font-weight: 400;
|
||||||
}
|
}
|
||||||
|
|
||||||
.cloud-menu .popover.bottom > .arrow {
|
.cloud-menu .popover.bottom > .arrow {
|
||||||
margin-left: -2px;
|
margin-left: -2px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.cloud-menu .popover.bottom > .arrow:after, .navbar-header .popover.bottom > .arrow:after {
|
.cloud-menu .popover.bottom > .arrow:after, .navbar-header .popover.bottom > .arrow:after {
|
||||||
border-bottom-color: #006690;
|
border-bottom-color: #006690;
|
||||||
}
|
}
|
||||||
|
|
||||||
.cloud-block {
|
.cloud-block {
|
||||||
float: left;
|
float: left;
|
||||||
width: 8.2em;
|
width: 8.2em;
|
||||||
@ -142,11 +162,13 @@ header .brand h1 {
|
|||||||
text-align: center;
|
text-align: center;
|
||||||
vertical-align: middle;
|
vertical-align: middle;
|
||||||
}
|
}
|
||||||
|
|
||||||
.cloud-name {
|
.cloud-name {
|
||||||
font-size: 14px;
|
font-size: 14px;
|
||||||
margin-top: .5em;
|
margin-top: .5em;
|
||||||
font-weight: 400;
|
font-weight: 400;
|
||||||
}
|
}
|
||||||
|
|
||||||
.cloud-menu-popover {
|
.cloud-menu-popover {
|
||||||
position: relative;
|
position: relative;
|
||||||
float: right;
|
float: right;
|
||||||
@ -158,28 +180,34 @@ header .brand h1 {
|
|||||||
color: #fff;
|
color: #fff;
|
||||||
cursor: pointer;
|
cursor: pointer;
|
||||||
}
|
}
|
||||||
|
|
||||||
#cloud-menu-popover-xs {
|
#cloud-menu-popover-xs {
|
||||||
color: #fff;
|
color: #fff;
|
||||||
line-height: 24px;
|
line-height: 24px;
|
||||||
border: none;
|
border: none;
|
||||||
margin-right: 15px !important;
|
margin-right: 15px !important;
|
||||||
}
|
}
|
||||||
|
|
||||||
.navbar-toggle {
|
.navbar-toggle {
|
||||||
border: none;
|
border: none;
|
||||||
border-radius: 0px;
|
border-radius: 0px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.navbar-header .popover {
|
.navbar-header .popover {
|
||||||
border-radius: 0px;
|
border-radius: 0px;
|
||||||
width: 21em;
|
width: 21em;
|
||||||
max-width: 32em;
|
max-width: 32em;
|
||||||
background-color: #006690;
|
background-color: #006690;
|
||||||
}
|
}
|
||||||
|
|
||||||
.navbar-header .popover .popover-content {
|
.navbar-header .popover .popover-content {
|
||||||
padding: 0px;
|
padding: 0px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.cloud-menu .popover-content {
|
.cloud-menu .popover-content {
|
||||||
padding: 0px;
|
padding: 0px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.cloud-actions {
|
.cloud-actions {
|
||||||
background-color: #005578;
|
background-color: #005578;
|
||||||
float: left;
|
float: left;
|
||||||
@ -188,12 +216,14 @@ header .brand h1 {
|
|||||||
left: 0px;
|
left: 0px;
|
||||||
overflow: hidden;
|
overflow: hidden;
|
||||||
}
|
}
|
||||||
|
|
||||||
.cloud-actions h3 {
|
.cloud-actions h3 {
|
||||||
font-size: 16px;
|
font-size: 16px;
|
||||||
font-weight: 400;
|
font-weight: 400;
|
||||||
padding-left: 14px;
|
padding-left: 14px;
|
||||||
margin-top: 10px;
|
margin-top: 10px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.cloud-block-invert {
|
.cloud-block-invert {
|
||||||
color: #fff;
|
color: #fff;
|
||||||
float: left;
|
float: left;
|
||||||
@ -210,21 +240,25 @@ header .brand h1 {
|
|||||||
background-color: #fff;
|
background-color: #fff;
|
||||||
cursor: pointer;
|
cursor: pointer;
|
||||||
}
|
}
|
||||||
|
|
||||||
.cloud-actions a:hover {
|
.cloud-actions a:hover {
|
||||||
color: #d7d5d5;
|
color: #d7d5d5;
|
||||||
background-color: #3d3d3d;
|
background-color: #3d3d3d;
|
||||||
text-decoration: none
|
text-decoration: none
|
||||||
}
|
}
|
||||||
|
|
||||||
.cloud-apps a {
|
.cloud-apps a {
|
||||||
text-decoration: none;
|
text-decoration: none;
|
||||||
color: #006690 !important;
|
color: #006690 !important;
|
||||||
cursor: pointer
|
cursor: pointer
|
||||||
}
|
}
|
||||||
|
|
||||||
.cloud-apps a:hover {
|
.cloud-apps a:hover {
|
||||||
text-decoration: none;
|
text-decoration: none;
|
||||||
color: #006690;
|
color: #006690;
|
||||||
background-color: #c5c5c5;
|
background-color: #c5c5c5;
|
||||||
}
|
}
|
||||||
|
|
||||||
.cloud-apps .cloud-actions a {
|
.cloud-apps .cloud-actions a {
|
||||||
color: #fff
|
color: #fff
|
||||||
}
|
}
|
||||||
|
|||||||
@ -0,0 +1,30 @@
|
|||||||
|
<!DOCTYPE html>
|
||||||
|
<html>
|
||||||
|
<head>
|
||||||
|
<meta charset='UTF-8'>
|
||||||
|
<link rel="stylesheet" href="https://error.cloud.wso2.com/style/style.css">
|
||||||
|
<link rel="stylesheet" href="https://error.cloud.wso2.com/style/font-mf.css">
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<div class="sky">
|
||||||
|
<section>
|
||||||
|
<div class="error-400">
|
||||||
|
<img src="https://error.cloud.wso2.com/images/400-error.svg">
|
||||||
|
</div>
|
||||||
|
<div class="text-label">
|
||||||
|
<h1>Oops something went wrong </h1>
|
||||||
|
<h2>400 - Bad request</h2>
|
||||||
|
<div style="clear: both"></div>
|
||||||
|
<div class="button-label">
|
||||||
|
<a href="https://cloudmgt.cloud.wso2.com/cloudmgt/site/pages/index.jag"><label class="label-back">Back to Cloud </label></a>
|
||||||
|
<a href="https://cloudmgt.cloud.wso2.com/cloudmgt/site/pages/contact-us.jag"><label class="label-report"> Report Issue </label></a>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</section>
|
||||||
|
|
||||||
|
<div class="clouds_one"></div>
|
||||||
|
<div class="clouds_two"></div>
|
||||||
|
<div class="clouds_three"></div>
|
||||||
|
</div>
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
@ -0,0 +1,30 @@
|
|||||||
|
<!DOCTYPE html>
|
||||||
|
<html>
|
||||||
|
<head>
|
||||||
|
<meta charset='UTF-8'>
|
||||||
|
<link rel="stylesheet" href="https://error.cloud.wso2.com/style/style.css">
|
||||||
|
<link rel="stylesheet" href="https://error.cloud.wso2.com/style/font-mf.css">
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<div class="sky">
|
||||||
|
<section>
|
||||||
|
<div class="error-400">
|
||||||
|
<img src="https://error.cloud.wso2.com/images/400-error.svg">
|
||||||
|
</div>
|
||||||
|
<div class="text-label">
|
||||||
|
<h1>Oops something went wrong </h1>
|
||||||
|
<h2>401 - Unauthorized</h2>
|
||||||
|
<div style="clear: both"></div>
|
||||||
|
<div class="button-label">
|
||||||
|
<a href="https://cloudmgt.cloud.wso2.com/cloudmgt/site/pages/index.jag"><label class="label-back">Back to Cloud </label></a>
|
||||||
|
<a href="https://cloudmgt.cloud.wso2.com/cloudmgt/site/pages/contact-us.jag"><label class="label-report"> Report Issue </label></a>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</section>
|
||||||
|
|
||||||
|
<div class="clouds_one"></div>
|
||||||
|
<div class="clouds_two"></div>
|
||||||
|
<div class="clouds_three"></div>
|
||||||
|
</div>
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
@ -0,0 +1,30 @@
|
|||||||
|
<!DOCTYPE html>
|
||||||
|
<html>
|
||||||
|
<head>
|
||||||
|
<meta charset='UTF-8'>
|
||||||
|
<link rel="stylesheet" href="https://error.cloud.wso2.com/style/style.css">
|
||||||
|
<link rel="stylesheet" href="https://error.cloud.wso2.com/style/font-mf.css">
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<div class="sky">
|
||||||
|
<section>
|
||||||
|
<div class="error-400">
|
||||||
|
<img src="https://error.cloud.wso2.com/images/400-error.svg">
|
||||||
|
</div>
|
||||||
|
<div class="text-label">
|
||||||
|
<h1>Oops something went wrong </h1>
|
||||||
|
<h2>403 - Forbidden</h2>
|
||||||
|
<div style="clear: both"></div>
|
||||||
|
<div class="button-label">
|
||||||
|
<a href="https://cloudmgt.cloud.wso2.com/cloudmgt/site/pages/index.jag"><label class="label-back">Back to Cloud </label></a>
|
||||||
|
<a href="https://cloudmgt.cloud.wso2.com/cloudmgt/site/pages/contact-us.jag"><label class="label-report"> Report Issue </label></a>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</section>
|
||||||
|
|
||||||
|
<div class="clouds_one"></div>
|
||||||
|
<div class="clouds_two"></div>
|
||||||
|
<div class="clouds_three"></div>
|
||||||
|
</div>
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
@ -0,0 +1,30 @@
|
|||||||
|
<!DOCTYPE html>
|
||||||
|
<html>
|
||||||
|
<head>
|
||||||
|
<meta charset='UTF-8'>
|
||||||
|
<link rel="stylesheet" href="https://error.cloud.wso2.com/style/style.css">
|
||||||
|
<link rel="stylesheet" href="https://error.cloud.wso2.com/style/font-mf.css">
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<div class="sky">
|
||||||
|
<section>
|
||||||
|
<div class="error-400">
|
||||||
|
<img src="https://error.cloud.wso2.com/images/400-error.svg">
|
||||||
|
</div>
|
||||||
|
<div class="text-label">
|
||||||
|
<h1>Oops something went wrong </h1>
|
||||||
|
<h2>404 - Page Not Found</h2>
|
||||||
|
<div style="clear: both"></div>
|
||||||
|
<div class="button-label">
|
||||||
|
<a href="https://cloudmgt.cloud.wso2.com/cloudmgt/site/pages/index.jag"><label class="label-back">Back to Cloud </label></a>
|
||||||
|
<a href="https://cloudmgt.cloud.wso2.com/cloudmgt/site/pages/contact-us.jag"><label class="label-report"> Report Issue </label></a>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</section>
|
||||||
|
|
||||||
|
<div class="clouds_one"></div>
|
||||||
|
<div class="clouds_two"></div>
|
||||||
|
<div class="clouds_three"></div>
|
||||||
|
</div>
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
@ -0,0 +1,30 @@
|
|||||||
|
<!DOCTYPE html>
|
||||||
|
<html>
|
||||||
|
<head>
|
||||||
|
<meta charset='UTF-8'>
|
||||||
|
<link rel="stylesheet" href="https://error.cloud.wso2.com/style/style.css">
|
||||||
|
<link rel="stylesheet" href="https://error.cloud.wso2.com/style/font-mf.css">
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<div class="sky">
|
||||||
|
<section>
|
||||||
|
<div class="error-400">
|
||||||
|
<img src="https://error.cloud.wso2.com/images/400-error.svg">
|
||||||
|
</div>
|
||||||
|
<div class="text-label">
|
||||||
|
<h1>Oops something went wrong </h1>
|
||||||
|
<h2>405 - Method Not Allowed</h2>
|
||||||
|
<div style="clear: both"></div>
|
||||||
|
<div class="button-label">
|
||||||
|
<a href="https://cloudmgt.cloud.wso2.com/cloudmgt/site/pages/index.jag"><label class="label-back">Back to Cloud </label></a>
|
||||||
|
<a href="https://cloudmgt.cloud.wso2.com/cloudmgt/site/pages/contact-us.jag"><label class="label-report"> Report Issue </label></a>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</section>
|
||||||
|
|
||||||
|
<div class="clouds_one"></div>
|
||||||
|
<div class="clouds_two"></div>
|
||||||
|
<div class="clouds_three"></div>
|
||||||
|
</div>
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
@ -0,0 +1,30 @@
|
|||||||
|
<!DOCTYPE html>
|
||||||
|
<html>
|
||||||
|
<head>
|
||||||
|
<meta charset='UTF-8'>
|
||||||
|
<link rel="stylesheet" href="https://error.cloud.wso2.com/style/style.css">
|
||||||
|
<link rel="stylesheet" href="https://error.cloud.wso2.com/style/font-mf.css">
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<div class="sky">
|
||||||
|
<section>
|
||||||
|
<div class="error-400">
|
||||||
|
<img src="https://error.cloud.wso2.com/images/400-error.svg">
|
||||||
|
</div>
|
||||||
|
<div class="text-label">
|
||||||
|
<h1>Oops something went wrong </h1>
|
||||||
|
<h2>500 - Internal Server Error</h2>
|
||||||
|
<div style="clear: both"></div>
|
||||||
|
<div class="button-label">
|
||||||
|
<a href="https://cloudmgt.cloud.wso2.com/cloudmgt/site/pages/index.jag"><label class="label-back">Back to Cloud </label></a>
|
||||||
|
<a href="https://cloudmgt.cloud.wso2.com/cloudmgt/site/pages/contact-us.jag"><label class="label-report"> Report Issue </label></a>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</section>
|
||||||
|
|
||||||
|
<div class="clouds_one"></div>
|
||||||
|
<div class="clouds_two"></div>
|
||||||
|
<div class="clouds_three"></div>
|
||||||
|
</div>
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
Loading…
Reference in New Issue
Block a user