mirror of
https://github.com/goharbor/harbor.git
synced 2024-11-30 06:03:45 +01:00
update for checking project-member and sign-in field update options.
This commit is contained in:
parent
3c530f63f0
commit
c8d0d06464
@ -6,9 +6,9 @@
|
|||||||
.module('harbor.details')
|
.module('harbor.details')
|
||||||
.directive('retrieveProjects', retrieveProjects);
|
.directive('retrieveProjects', retrieveProjects);
|
||||||
|
|
||||||
RetrieveProjectsController.$inject = ['$scope', 'nameFilter', '$filter', 'ListProjectService', '$location', 'getParameterByName', '$window'];
|
RetrieveProjectsController.$inject = ['$scope', 'nameFilter', '$filter', 'ListProjectService', '$location', 'getParameterByName', 'CurrentProjectMemberService'];
|
||||||
|
|
||||||
function RetrieveProjectsController($scope, nameFilter, $filter, ListProjectService, $location, getParameterByName, $window) {
|
function RetrieveProjectsController($scope, nameFilter, $filter, ListProjectService, $location, getParameterByName, CurrentProjectMemberService) {
|
||||||
var vm = this;
|
var vm = this;
|
||||||
|
|
||||||
vm.projectName = '';
|
vm.projectName = '';
|
||||||
@ -20,16 +20,16 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
vm.retrieve = retrieve;
|
vm.retrieve = retrieve;
|
||||||
|
vm.filterInput = "";
|
||||||
|
vm.selectItem = selectItem;
|
||||||
|
vm.checkProjectMember = checkProjectMember;
|
||||||
|
|
||||||
$scope.$watch('vm.selectedProject', function(current, origin) {
|
$scope.$watch('vm.selectedProject', function(current, origin) {
|
||||||
if(current) {
|
if(current) {
|
||||||
vm.selectedId = current.ProjectId;
|
vm.selectedId = current.ProjectId;
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
vm.filterInput = "";
|
|
||||||
vm.selectItem = selectItem;
|
|
||||||
|
|
||||||
$scope.$watch('vm.publicity', function(current, origin) {
|
$scope.$watch('vm.publicity', function(current, origin) {
|
||||||
vm.publicity = current ? true : false;
|
vm.publicity = current ? true : false;
|
||||||
vm.isPublic = vm.publicity ? 1 : 0;
|
vm.isPublic = vm.publicity ? 1 : 0;
|
||||||
@ -64,6 +64,8 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
$location.search('project_id', vm.selectedProject.ProjectId);
|
$location.search('project_id', vm.selectedProject.ProjectId);
|
||||||
|
vm.checkProjectMember(vm.selectedProject.ProjectId);
|
||||||
|
|
||||||
vm.resultCount = vm.projects.length;
|
vm.resultCount = vm.projects.length;
|
||||||
|
|
||||||
$scope.$watch('vm.filterInput', function(current, origin) {
|
$scope.$watch('vm.filterInput', function(current, origin) {
|
||||||
@ -82,9 +84,26 @@
|
|||||||
|
|
||||||
$scope.$on('$locationChangeSuccess', function(e) {
|
$scope.$on('$locationChangeSuccess', function(e) {
|
||||||
var projectId = getParameterByName('project_id', $location.absUrl());
|
var projectId = getParameterByName('project_id', $location.absUrl());
|
||||||
|
vm.checkProjectMember(projectId);
|
||||||
vm.isOpen = false;
|
vm.isOpen = false;
|
||||||
});
|
});
|
||||||
|
|
||||||
|
function checkProjectMember(projectId) {
|
||||||
|
CurrentProjectMemberService(projectId)
|
||||||
|
.success(getCurrentProjectMemberSuccess)
|
||||||
|
.error(getCurrentProjectMemberFailed);
|
||||||
|
}
|
||||||
|
|
||||||
|
function getCurrentProjectMemberSuccess(data, status) {
|
||||||
|
console.log('Successful get current project member:' + status);
|
||||||
|
vm.isProjectMember = true;
|
||||||
|
}
|
||||||
|
|
||||||
|
function getCurrentProjectMemberFailed(data, status) {
|
||||||
|
console.log('Use has no member for current project:' + status);
|
||||||
|
vm.isProjectMember = false;
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
function retrieveProjects() {
|
function retrieveProjects() {
|
||||||
@ -110,10 +129,10 @@
|
|||||||
|
|
||||||
function clickHandler(e) {
|
function clickHandler(e) {
|
||||||
$('[data-toggle="popover"]').each(function () {
|
$('[data-toggle="popover"]').each(function () {
|
||||||
//the 'is' for buttons that trigger popups
|
if (!$(this).is(e.target) &&
|
||||||
//the 'has' for icons within a button that triggers a popup
|
$(this).has(e.target).length === 0 &&
|
||||||
if (!$(this).is(e.target) && $(this).has(e.target).length === 0 && $('.popover').has(e.target).length === 0) {
|
$('.popover').has(e.target).length === 0) {
|
||||||
$(this).parent().popover('hide');
|
$(this).parent().popover('hide');
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
var targetId = $(e.target).attr('id');
|
var targetId = $(e.target).attr('id');
|
||||||
|
@ -6,30 +6,17 @@
|
|||||||
.module('harbor.layout.navigation')
|
.module('harbor.layout.navigation')
|
||||||
.directive('navigationDetails', navigationDetails);
|
.directive('navigationDetails', navigationDetails);
|
||||||
|
|
||||||
NavigationDetailsController.$inject = ['$window', '$location', '$scope', 'getParameterByName', 'CurrentProjectMemberService'];
|
NavigationDetailsController.$inject = ['$window', '$location', '$scope', 'getParameterByName'];
|
||||||
|
|
||||||
function NavigationDetailsController($window, $location, $scope, getParameterByName, CurrentProjectMemberService) {
|
function NavigationDetailsController($window, $location, $scope, getParameterByName) {
|
||||||
var vm = this;
|
var vm = this;
|
||||||
|
|
||||||
vm.projectId = getParameterByName('project_id', $location.absUrl());
|
vm.projectId = getParameterByName('project_id', $location.absUrl());
|
||||||
|
|
||||||
$scope.$on('$locationChangeSuccess', function() {
|
$scope.$on('$locationChangeSuccess', function() {
|
||||||
vm.projectId = getParameterByName('project_id', $location.absUrl());
|
vm.projectId = getParameterByName('project_id', $location.absUrl());
|
||||||
CurrentProjectMemberService(vm.projectId)
|
|
||||||
.success(getCurrentProjectMemberSuccess)
|
|
||||||
.error(getCurrentProjectMemberFailed);
|
|
||||||
});
|
});
|
||||||
|
|
||||||
function getCurrentProjectMemberSuccess(data, status) {
|
|
||||||
console.log('Successful get current project member:' + status);
|
|
||||||
vm.isProjectMember = true;
|
|
||||||
}
|
|
||||||
|
|
||||||
function getCurrentProjectMemberFailed(data, status) {
|
|
||||||
console.log('Failed get current project member:' + status);
|
|
||||||
vm.isProjectMember = false;
|
|
||||||
}
|
|
||||||
|
|
||||||
vm.path = $location.path();
|
vm.path = $location.path();
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -50,7 +37,7 @@
|
|||||||
return directive;
|
return directive;
|
||||||
|
|
||||||
function link(scope, element, attrs, ctrl) {
|
function link(scope, element, attrs, ctrl) {
|
||||||
|
|
||||||
var visited = ctrl.path.substring(1);
|
var visited = ctrl.path.substring(1);
|
||||||
if(visited.indexOf('?') >= 0) {
|
if(visited.indexOf('?') >= 0) {
|
||||||
visited = ctrl.url.substring(1, ctrl.url.indexOf('?'));
|
visited = ctrl.url.substring(1, ctrl.url.indexOf('?'));
|
||||||
|
@ -12,7 +12,7 @@
|
|||||||
<div class="switch-pane">
|
<div class="switch-pane">
|
||||||
<switch-pane-projects is-open="vm.isOpen" selected-project="vm.selectedProject"></switch-pane-projects>
|
<switch-pane-projects is-open="vm.isOpen" selected-project="vm.selectedProject"></switch-pane-projects>
|
||||||
<span>
|
<span>
|
||||||
<navigation-details target="vm.target"></navigation-details>
|
<navigation-details target="vm.target" ng-show="vm.isProjectMember"></navigation-details>
|
||||||
</span>
|
</span>
|
||||||
</div>
|
</div>
|
||||||
<retrieve-projects is-open="vm.isOpen" selected-project="vm.selectedProject" is-project-member="vm.isProjectMember" publicity="vm.publicity"></retrieve-projects>
|
<retrieve-projects is-open="vm.isOpen" selected-project="vm.selectedProject" is-project-member="vm.isProjectMember" publicity="vm.publicity"></retrieve-projects>
|
||||||
|
@ -9,7 +9,7 @@
|
|||||||
<form name="form" class="form-horizontal css-form" ng-submit="form.$valid" novalidate>
|
<form name="form" class="form-horizontal css-form" ng-submit="form.$valid" novalidate>
|
||||||
<div class="form-group">
|
<div class="form-group">
|
||||||
<div class="col-sm-offset-1 col-sm-10">
|
<div class="col-sm-offset-1 col-sm-10">
|
||||||
<input id="username" type="text" class="form-control" placeholder="// 'username_email' | tr //" name="uPrincipal" ng-change="vm.reset()" ng-model="user.principal" required>
|
<input id="username" type="text" class="form-control" placeholder="// 'username_email' | tr //" name="uPrincipal" ng-change="vm.reset()" ng-model="user.principal" ng-model-options="{ updateOn: 'default blur', debounce: { default: 500, blur: 0 } }" required>
|
||||||
<div class="error-message">
|
<div class="error-message">
|
||||||
<div ng-messages="form.uPrincipal.$error" ng-if="form.uPrincipal.$touched || form.$submitted">
|
<div ng-messages="form.uPrincipal.$error" ng-if="form.uPrincipal.$touched || form.$submitted">
|
||||||
<span ng-message="required">// 'username_is_required' | tr //</span>
|
<span ng-message="required">// 'username_is_required' | tr //</span>
|
||||||
@ -19,7 +19,7 @@
|
|||||||
</div>
|
</div>
|
||||||
<div class="form-group">
|
<div class="form-group">
|
||||||
<div class="col-sm-offset-1 col-sm-10">
|
<div class="col-sm-offset-1 col-sm-10">
|
||||||
<input type="password" class="form-control" placeholder="// 'password' | tr //" name="uPassword" ng-change="vm.reset()" ng-model="user.password" required>
|
<input type="password" class="form-control" placeholder="// 'password' | tr //" name="uPassword" ng-change="vm.reset()" ng-model-options="{ updateOn: 'default blur', debounce: { default: 500, blur: 0 } }" ng-model="user.password" required>
|
||||||
<div class="error-message">
|
<div class="error-message">
|
||||||
<div ng-messages="form.uPassword.$error" ng-if="form.uPassword.$touched || form.$submitted">
|
<div ng-messages="form.uPassword.$error" ng-if="form.uPassword.$touched || form.$submitted">
|
||||||
<span ng-message="required">// 'password_is_required' | tr //</span>
|
<span ng-message="required">// 'password_is_required' | tr //</span>
|
||||||
|
Loading…
Reference in New Issue
Block a user