Merge branch 'cloud-3.1.0' of https://github.com/wso2/carbon-device-mgt into cloud-3.1.0

revert-70aa11f8
Imesh Chandrasiri 8 years ago
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,31 +104,32 @@ 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

@ -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&amp;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…
Cancel
Save