aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPanagiotis Karalis <pkaralis@intracom-telecom.com>2019-04-11 17:33:09 +0300
committerPanagiotis Karalis <pkaralis@intracom-telecom.com>2019-04-15 12:53:27 +0300
commit6ade07b42e9ef39dafda4504bc61eb4661b10cde (patch)
tree794825f95a8b3e38489a7f698b9035f392a31d94
parentdbcc039303c7f010348814694b8f75d621aa51e3 (diff)
Update the behavior of roles for OVP/ONAP portals
The behavior of portals' roles are updated according to CVC decisions. The behavior will be: * no roles - the person can upload results and share results to other users, but can not submit an application/results for review * "user" role - the person can submit the application/results fore review. To have this role, the person MUST have signed the participation agreement through docusign. * "reviewer" role - the person can see applications / results submitted to review, and can vote (+1 / -1) on those results as part of the review process. Votes are recorded. * "admin" role - the person can approve applications for public listing, etc. Final gatekeeper for the website, etc. Responsible to ensure processes are followed, etc. Change-Id: Ieca55725378c85f544eeea4390046bae456ee1a3 Signed-off-by: Panagiotis Karalis <pkaralis@intracom-telecom.com>
-rw-r--r--3rd_party/static/onap-ui/components/results/results.html6
-rw-r--r--3rd_party/static/onap-ui/components/results/resultsController.js53
-rw-r--r--3rd_party/static/onap-ui/shared/header/header.html3
-rw-r--r--3rd_party/static/testapi-ui/components/results/results.html6
-rw-r--r--3rd_party/static/testapi-ui/components/results/resultsController.js61
-rw-r--r--3rd_party/static/testapi-ui/shared/header/header.html3
-rw-r--r--opnfv_testapi/ui/auth/constants.py2
7 files changed, 107 insertions, 27 deletions
diff --git a/3rd_party/static/onap-ui/components/results/results.html b/3rd_party/static/onap-ui/components/results/results.html
index ab2e999..2206029 100644
--- a/3rd_party/static/onap-ui/components/results/results.html
+++ b/3rd_party/static/onap-ui/components/results/results.html
@@ -1,8 +1,7 @@
<div class="container-fluid common-main-container">
<h3>{{ctrl.pageHeader}}</h3>
<p>{{ctrl.pageParagraph}}</p>
- <form class="form-inline" ng-show="ctrl.isUserResults"
- ng-if="auth.isAuthenticated && auth.currentUser.role.indexOf('user') != -1">
+ <form class="form-inline" ng-show="ctrl.isUserResults">
<h4>Upload Results
<i class="glyphicon glyphicon-question-sign opnfv-blue"
uib-tooltip="results file is logs.xxx.tar.gz under your dovetail installation path"></i>
@@ -82,7 +81,8 @@
<a ng-class="{'hide': result.status != 'review'}"
ng-click="ctrl.deleteApplication(result)">withdraw submit</a>
</li>
- <li role="menuitem" ng-if="auth.currentUser.openid == result.owner && ctrl.isUserResults"
+ <li role="menuitem"
+ ng-if="auth.currentUser.openid == result.owner && ctrl.isUserResults && auth.currentUser.role.indexOf('user') != -1"
class="menu-item menu-item-type-post_type menu-item-object-page">
<a ng-class="{'hide': result.status != 'private'}"
ng-click="ctrl.openApplicationModal(result)">submit to review</a>
diff --git a/3rd_party/static/onap-ui/components/results/resultsController.js b/3rd_party/static/onap-ui/components/results/resultsController.js
index d459495..5983dd8 100644
--- a/3rd_party/static/onap-ui/components/results/resultsController.js
+++ b/3rd_party/static/onap-ui/components/results/resultsController.js
@@ -257,21 +257,58 @@
"primary_business_email": ctrl.primary_business_email
};
- $http.post(testapiApiUrl + "/onap/cvp/applications", data).then(function(resp) {
- if (resp.data.code && resp.data.code != 0) {
- alert(resp.data.msg);
- return;
+ if (ctrl.company_name == null ||
+ ctrl.company_website == null ||
+ ctrl.primary_contact_name == null ||
+ ctrl.primary_phone_number == null ||
+ ctrl.primary_business_email== null ||
+ ctrl.xnf_version == null ||
+ ctrl.xnf_name == null ||
+ ctrl.xnf_description == null ||
+ ctrl.xnfd_id == null) {
+
+ alert('There are empty required fields in the application form');
+
+ } else if (ctrl.lab_location == 'third') {
+ if (ctrl.lab_name == null ||
+ ctrl.lab_email == null ||
+ ctrl.lab_address == null ||
+ ctrl.lab_phone == null) {
+
+ alert('There are empty required fields in the application form');
+
+ } else {
+ $http.post(testapiApiUrl + "/onap/cvp/applications", data).then(function(resp) {
+ if (resp.data.code && resp.data.code != 0) {
+ alert(resp.data.msg);
+ return;
+ }
+ toggleCheck(result, 'status', 'review');
+ }, function(error) {
+ /* do nothing */
+ });
}
- toggleCheck(result, 'status', 'review');
- }, function(error) {
- /* do nothing */
- });
+ } else {
+ $http.post(testapiApiUrl + "/onap/cvp/applications", data).then(function(resp) {
+ if (resp.data.code && resp.data.code != 0) {
+ alert(resp.data.msg);
+ return;
+ }
+ toggleCheck(result, 'status', 'review');
+ }, function(error) {
+ /* do nothing */
+ });
+ }
}
}, function(error) {
/* do nothing */
});
logo_name = file.name;
}
+
+ if (typeof file === 'undefined') {
+ alert('There are empty required fields in the application form');
+ }
ngDialog.close();
}
diff --git a/3rd_party/static/onap-ui/shared/header/header.html b/3rd_party/static/onap-ui/shared/header/header.html
index 8e18026..732bb9e 100644
--- a/3rd_party/static/onap-ui/shared/header/header.html
+++ b/3rd_party/static/onap-ui/shared/header/header.html
@@ -23,8 +23,7 @@
ng-if="auth.isAuthenticated && auth.canReview(auth.currentUser)">
<a ui-sref="communityResults">Incoming Reviews</a>
</li>
- <li ng-class="{ active: header.isActive('/user_results')}"
- ng-if="auth.isAuthenticated && auth.currentUser.role.indexOf('user') != -1">
+ <li ng-class="{ active: header.isActive('/user_results')}" ng-if="auth.isAuthenticated">
<a ui-sref="userResults">My Results</a>
</li>
<li ng-class="{ active: header.isActive('/profile')}" ng-if="auth.isAuthenticated">
diff --git a/3rd_party/static/testapi-ui/components/results/results.html b/3rd_party/static/testapi-ui/components/results/results.html
index 30bcd94..b55be34 100644
--- a/3rd_party/static/testapi-ui/components/results/results.html
+++ b/3rd_party/static/testapi-ui/components/results/results.html
@@ -1,8 +1,7 @@
<div class="container-fluid common-main-container">
<h3>{{ctrl.pageHeader}}</h3>
<p>{{ctrl.pageParagraph}}</p>
- <form class="form-inline" ng-show="ctrl.isUserResults"
- ng-if="auth.isAuthenticated && auth.currentUser.role.indexOf('user') != -1">
+ <form class="form-inline" ng-show="ctrl.isUserResults">
<h4>Upload Results
<i class="glyphicon glyphicon-question-sign opnfv-blue"
uib-tooltip="results file is logs.xxx.tar.gz under your dovetail installation path"></i>
@@ -82,7 +81,8 @@
<a ng-class="{'hide': result.status != 'review'}"
ng-click="ctrl.deleteApplication(result)">withdraw submit</a>
</li>
- <li role="menuitem" ng-if="auth.currentUser.openid == result.owner && ctrl.isUserResults"
+ <li role="menuitem"
+ ng-if="auth.currentUser.openid == result.owner && ctrl.isUserResults && auth.currentUser.role.indexOf('user') != -1"
class="menu-item menu-item-type-post_type menu-item-object-page">
<a ng-class="{'hide': result.status != 'private'}"
ng-click="ctrl.openApplicationModal(result)">submit to review</a>
diff --git a/3rd_party/static/testapi-ui/components/results/resultsController.js b/3rd_party/static/testapi-ui/components/results/resultsController.js
index 1fb4f0d..f752412 100644
--- a/3rd_party/static/testapi-ui/components/results/resultsController.js
+++ b/3rd_party/static/testapi-ui/components/results/resultsController.js
@@ -269,21 +269,66 @@
"lab_phone": ctrl.lab_phone
};
- $http.post(testapiApiUrl + "/cvp/applications", data).then(function(resp) {
- if (resp.data.code && resp.data.code != 0) {
- alert(resp.data.msg);
- return;
+ if(ctrl.organization_name == null ||
+ ctrl.organization_web == null ||
+ ctrl.product_name == null ||
+ ctrl.product_spec == null ||
+ ctrl.product_documentation == null ||
+ ctrl.prim_name == null ||
+ ctrl.prim_email == null ||
+ ctrl.prim_address == null ||
+ ctrl.prim_phone == null ||
+ ctrl.description == null ||
+ ctrl.sut_version == null ||
+ ctrl.sut_label == null ||
+ ctrl.sut_hw_version == null ||
+ ctrl.ovp_category == null) {
+
+ alert('There are empty required fields in the application form');
+
+ } else if (ctrl.lab_location == 'third') {
+ if (ctrl.lab_name == null ||
+ ctrl.lab_email == null ||
+ ctrl.lab_address == null ||
+ ctrl.lab_phone == null) {
+ alert('There are empty required fields in the application form');
+ } else {
+
+ $http.post(testapiApiUrl + "/cvp/applications", data).then(function(resp) {
+ if (resp.data.code && resp.data.code != 0) {
+ alert(resp.data.msg);
+ return;
+ }
+ toggleCheck(result, 'status', 'review');
+ }, function(error) {
+ /* do nothing */
+ });
+
}
- toggleCheck(result, 'status', 'review');
- }, function(error) {
- /* do nothing */
- });
+
+ } else {
+
+ $http.post(testapiApiUrl + "/cvp/applications", data).then(function(resp) {
+ if (resp.data.code && resp.data.code != 0) {
+ alert(resp.data.msg);
+ return;
+ }
+ toggleCheck(result, 'status', 'review');
+ }, function(error) {
+ /* do nothing */
+ });
+
+ }
}
}, function(error) {
/* do nothing */
});
logo_name = file.name;
}
+
+ if (typeof file === 'undefined') {
+ alert('There are empty required fields in the application form');
+ }
ngDialog.close();
}
diff --git a/3rd_party/static/testapi-ui/shared/header/header.html b/3rd_party/static/testapi-ui/shared/header/header.html
index fad240c..1917a83 100644
--- a/3rd_party/static/testapi-ui/shared/header/header.html
+++ b/3rd_party/static/testapi-ui/shared/header/header.html
@@ -23,8 +23,7 @@
ng-if="auth.isAuthenticated && auth.canReview(auth.currentUser)">
<a ui-sref="communityResults">Incoming Reviews</a>
</li>
- <li ng-class="{ active: header.isActive('/user_results')}"
- ng-if="auth.isAuthenticated && auth.currentUser.role.indexOf('user') != -1">
+ <li ng-class="{ active: header.isActive('/user_results')}" ng-if="auth.isAuthenticated">
<a ui-sref="userResults">My Results</a>
</li>
<li ng-class="{ active: header.isActive('/profile')}" ng-if="auth.isAuthenticated">
diff --git a/opnfv_testapi/ui/auth/constants.py b/opnfv_testapi/ui/auth/constants.py
index 44ccb46..3cdfe09 100644
--- a/opnfv_testapi/ui/auth/constants.py
+++ b/opnfv_testapi/ui/auth/constants.py
@@ -1,6 +1,6 @@
OPENID = 'openid'
ROLE = 'role'
-DEFAULT_ROLE = 'user'
+DEFAULT_ROLE = ''
# OpenID parameters
OPENID_MODE = 'openid.mode'