Skip to content
Snippets Groups Projects
Commit 9585f218 authored by Lukasz Lopatowski's avatar Lukasz Lopatowski
Browse files

Merge branch '224-removing-bulk-deployments-does-not-work' into 'develop'

Update bulks

See merge request !73
parents 70e99110 99fff2fc
Branches
Tags
2 merge requests!108Develop,!73Update bulks
Showing with 27 additions and 16 deletions
...@@ -13,7 +13,6 @@ import {NgxPaginationModule} from 'ngx-pagination'; ...@@ -13,7 +13,6 @@ import {NgxPaginationModule} from 'ngx-pagination';
import {AppRestartModalComponent} from '../modals/app-restart-modal'; import {AppRestartModalComponent} from '../modals/app-restart-modal';
import {AppAbortModalComponent} from '../modals/app-abort-modal'; import {AppAbortModalComponent} from '../modals/app-abort-modal';
import {RouterTestingModule} from '@angular/router/testing'; import {RouterTestingModule} from '@angular/router/testing';
import {StorageServiceModule} from 'ngx-webstorage-service';
import {AppInstanceState, User} from '../../../model'; import {AppInstanceState, User} from '../../../model';
import {Role} from '../../../model/userrole'; import {Role} from '../../../model/userrole';
import {ServiceAccessMethodType} from '../../../model/service-access-method'; import {ServiceAccessMethodType} from '../../../model/service-access-method';
...@@ -272,7 +271,6 @@ describe('Component: AppInstance', () => { ...@@ -272,7 +271,6 @@ describe('Component: AppInstance', () => {
PipesModule, PipesModule,
FormioModule, FormioModule,
RouterTestingModule, RouterTestingModule,
StorageServiceModule,
JwtModule.forRoot({}), JwtModule.forRoot({}),
TranslateModule.forRoot({ TranslateModule.forRoot({
loader: { loader: {
......
...@@ -21,7 +21,6 @@ import {ClustersModule} from './admin/clusters/clusters.module'; ...@@ -21,7 +21,6 @@ import {ClustersModule} from './admin/clusters/clusters.module';
import {ClusterService} from '../service/cluster.service'; import {ClusterService} from '../service/cluster.service';
import {ConfigurationModule} from './admin/configuration/configuration.module'; import {ConfigurationModule} from './admin/configuration/configuration.module';
import {MonitorModule} from './admin/monitor/monitor.module'; import {MonitorModule} from './admin/monitor/monitor.module';
import {StorageServiceModule} from 'ngx-webstorage-service';
import {TranslateModule} from '@ngx-translate/core'; import {TranslateModule} from '@ngx-translate/core';
import {HttpClientModule} from '@angular/common/http'; import {HttpClientModule} from '@angular/common/http';
import {BrowserModule} from '@angular/platform-browser'; import {BrowserModule} from '@angular/platform-browser';
...@@ -48,6 +47,8 @@ import {NgxPaginationModule} from 'ngx-pagination'; ...@@ -48,6 +47,8 @@ import {NgxPaginationModule} from 'ngx-pagination';
import {InputTextModule} from 'primeng/inputtext'; import {InputTextModule} from 'primeng/inputtext';
import {BulkSearchPipe} from './bulkDeployment/bulk-list/bulk-search.pipe'; import {BulkSearchPipe} from './bulkDeployment/bulk-list/bulk-search.pipe';
import {CheckboxModule} from 'primeng/checkbox'; import {CheckboxModule} from 'primeng/checkbox';
import { InputSwitchModule } from 'primeng/inputswitch';
@NgModule({ @NgModule({
declarations: [ declarations: [
...@@ -66,7 +67,6 @@ import {CheckboxModule} from 'primeng/checkbox'; ...@@ -66,7 +67,6 @@ import {CheckboxModule} from 'primeng/checkbox';
], ],
imports: [ imports: [
FormsModule, FormsModule,
StorageServiceModule,
CommonModule, CommonModule,
RouterModule, RouterModule,
SharedModule, SharedModule,
...@@ -94,6 +94,7 @@ import {CheckboxModule} from 'primeng/checkbox'; ...@@ -94,6 +94,7 @@ import {CheckboxModule} from 'primeng/checkbox';
InputTextModule, InputTextModule,
TooltipModule, TooltipModule,
CheckboxModule, CheckboxModule,
InputSwitchModule
], ],
exports: [ exports: [
AppMarketComponent, AppMarketComponent,
......
...@@ -71,16 +71,20 @@ export class AppdeploymentService { ...@@ -71,16 +71,20 @@ export class AppdeploymentService {
return this.http.post<BulkDeployment>(this.getUrl() + 'domains', formParams); return this.http.post<BulkDeployment>(this.getUrl() + 'domains', formParams);
} }
public getBulksDomainDeployments(): Observable<BulkDeployment[]> { public getBulksDomainDeployments(showDeleted: boolean = false): Observable<BulkDeployment[]> {
return this.http.get<BulkDeployment[]>(this.getUrl() + 'domains'); const formParams = new HttpParams().append('deleted', showDeleted);
return this.http.get<BulkDeployment[]>(this.getUrl() + 'domains', {params:formParams});
} }
public getBulksDomainDeploymentsOwner(): Observable<BulkDeployment[]> { public getBulksDomainDeploymentsOwner(): Observable<BulkDeployment[]> {
return this.http.get<BulkDeployment[]>(this.getUrl() + 'domains/vl'); return this.http.get<BulkDeployment[]>(this.getUrl() + 'domains/vl');
} }
public getBulksAppDeployments(): Observable<BulkDeployment[]> { public getBulksAppDeployments(showDeleted: boolean = false): Observable<BulkDeployment[]> {
return this.http.get<BulkDeployment[]>(this.getUrl() + 'apps'); const formParams = new HttpParams().append('deleted', showDeleted);
return this.http.get<BulkDeployment[]>(this.getUrl() + 'apps', {params:formParams});
} }
public getBulksAppDeploymentsOwner(): Observable<BulkDeployment[]> { public getBulksAppDeploymentsOwner(): Observable<BulkDeployment[]> {
......
<app-bulk-list [header]="'BULK.APP.HEADER'" [bulks]="bulks" [mode]="mode" (refresh)="onRefresh()"></app-bulk-list> <app-bulk-list [header]="'BULK.APP.HEADER'" [bulks]="bulks" [mode]="mode" (refresh)="onRefresh($event)"></app-bulk-list>
...@@ -23,14 +23,14 @@ export class BulkAppListComponent implements OnInit { ...@@ -23,14 +23,14 @@ export class BulkAppListComponent implements OnInit {
this.onRefresh(); this.onRefresh();
} }
onRefresh() : void { onRefresh(showDeleted = false) : void {
if (this.authService.getRoles().find(value => value === 'ROLE_VL_MANAGER') !== undefined) { if (this.authService.getRoles().find(value => value === 'ROLE_VL_MANAGER') !== undefined) {
this.deployService.getBulksAppDeploymentsOwner().subscribe(data => { this.deployService.getBulksAppDeploymentsOwner().subscribe(data => {
data = data.sort((a, b) => new Date(b.creationDate).getTime() - new Date(a.creationDate).getTime()) data = data.sort((a, b) => new Date(b.creationDate).getTime() - new Date(a.creationDate).getTime())
this.bulks = data this.bulks = data
}); });
} else { } else {
this.deployService.getBulksAppDeployments().subscribe(data => { this.deployService.getBulksAppDeployments(showDeleted).subscribe(data => {
data = data.sort((a, b) => new Date(b.creationDate).getTime() - new Date(a.creationDate).getTime()) data = data.sort((a, b) => new Date(b.creationDate).getTime() - new Date(a.creationDate).getTime())
this.bulks = data this.bulks = data
}); });
......
...@@ -7,7 +7,12 @@ ...@@ -7,7 +7,12 @@
<div *ngIf="mode=== bulkTypeApp"> <div *ngIf="mode=== bulkTypeApp">
<button class="btn btn-primary" [routerLink]="['/admin/apps/bulks/new']">New deployment</button> <button class="btn btn-primary" [routerLink]="['/admin/apps/bulks/new']">New deployment</button>
</div> </div>
<div class="flex"> <div class="flex">
<div *roles="['ROLE_SYSTEM_ADMIN']" class="flex align-items-center mr-6 pt-2">
<label *ngIf="mode=== bulkTypeApp" class="mr-2" for="showDeleted">Show all</label>
<p-inputSwitch *ngIf="mode=== bulkTypeApp" id="showDeleted" (onChange)="refreshBulks()" [(ngModel)]="showDeleted" ngDefaultControl/>
</div>
<div class="flex align-items-center mr-1">{{ 'BULK.LIST.PER_PAGE' | translate }}:</div> <div class="flex align-items-center mr-1">{{ 'BULK.LIST.PER_PAGE' | translate }}:</div>
<span id="selectionItems" class="dropdown" <span id="selectionItems" class="dropdown"
style="vertical-align: middle; display: inline-block; margin-right: 1rem;"> style="vertical-align: middle; display: inline-block; margin-right: 1rem;">
...@@ -102,7 +107,7 @@ ...@@ -102,7 +107,7 @@
<li *ngIf="mode === bulkTypeApp && bulk?.state !== 'REMOVED'"> <li *ngIf="mode === bulkTypeApp && bulk?.state !== 'REMOVED'">
<a (click)="getAppBulkDetails(bulk?.id)"> {{"BULK.APP.DOWNLOAD_CSV" | translate}}</a> <a (click)="getAppBulkDetails(bulk?.id)"> {{"BULK.APP.DOWNLOAD_CSV" | translate}}</a>
</li> </li>
<li *ngIf="mode === bulkTypeApp && bulk?.state !== 'REMOVED'"> <li *ngIf="mode === bulkTypeApp && !(bulk?.state === 'REMOVED' || bulk?.deleted )">
<a (click)="modal.show(); removeBulkId=bulk?.id">{{ 'BULK.LIST.REMOVE' | translate }}</a> <a (click)="modal.show(); removeBulkId=bulk?.id">{{ 'BULK.LIST.REMOVE' | translate }}</a>
</li> </li>
</ul> </ul>
......
...@@ -35,6 +35,7 @@ export class BulkListComponent { ...@@ -35,6 +35,7 @@ export class BulkListComponent {
@Output() @Output()
public refresh: EventEmitter<boolean> = new EventEmitter<boolean>(); public refresh: EventEmitter<boolean> = new EventEmitter<boolean>();
public showDeleted = false;
public readonly bulkTypeDomain = BulkType.DOMAIN; public readonly bulkTypeDomain = BulkType.DOMAIN;
public readonly bulkTypeApp = BulkType.APPLICATION; public readonly bulkTypeApp = BulkType.APPLICATION;
...@@ -161,6 +162,6 @@ export class BulkListComponent { ...@@ -161,6 +162,6 @@ export class BulkListComponent {
} }
public refreshBulks(): void { public refreshBulks(): void {
this.refresh.emit(true); this.refresh.emit(this.showDeleted);
} }
} }
...@@ -62,7 +62,7 @@ ...@@ -62,7 +62,7 @@
<td>{{getDomainId(response)}}</td> <td>{{getDomainId(response)}}</td>
<td>{{getDomainName(response)}}</td> <td>{{getDomainName(response)}}</td>
<td>{{getDomainCodeName(response)}}</td> <td>{{getDomainCodeName(response)}}</td>
<td style="width: 5%" class="text-right"> <td style="width: 5%" class="text-right" *ngIf="bulk.state !== 'REMOVED'">
<i *ngIf="response.type === 'DOMAIN'" class="pi pi-search" style="font-size: 1.8rem; cursor: pointer" [routerLink]="['/admin/domains/view/', response?.details['domainId']]"></i> <i *ngIf="response.type === 'DOMAIN'" class="pi pi-search" style="font-size: 1.8rem; cursor: pointer" [routerLink]="['/admin/domains/view/', response?.details['domainId']]"></i>
<i *ngIf="response.type === 'USER'" class="pi pi-search" style="font-size: 1.8rem; cursor: pointer" [routerLink]="['/admin/users/view', response?.details['userId']]"></i> <i *ngIf="response.type === 'USER'" class="pi pi-search" style="font-size: 1.8rem; cursor: pointer" [routerLink]="['/admin/users/view', response?.details['userId']]"></i>
<!-- <span class="dropdown"> <!-- <span class="dropdown">
...@@ -235,8 +235,8 @@ ...@@ -235,8 +235,8 @@
<td>{{getAppInstanceId(response)}}</td> <td>{{getAppInstanceId(response)}}</td>
<td>{{getAppInstanceName(response)}}</td> <td>{{getAppInstanceName(response)}}</td>
<td>{{getDomainCodeName(response)}}</td> <td>{{getDomainCodeName(response)}}</td>
<td style="width: 5%" class="text-right"> <td style="width: 5%" class="text-right" >
<i class="pi pi-search" style="font-size: 1.8rem; cursor: pointer" [routerLink]="['/instances/', response?.details['appInstanceId']]"></i> <i *ngIf="bulk.state !== 'REMOVED'" class="pi pi-search" style="font-size: 1.8rem; cursor: pointer" [routerLink]="['/instances/', response?.details['appInstanceId']]"></i>
<!-- <span *ngIf="response?.details['appInstanceId'] !== undefined" class="dropdown"> <!-- <span *ngIf="response?.details['appInstanceId'] !== undefined" class="dropdown">
<a style="display: inline-block" class="dropdown-toggle " aria-expanded="false" aria-haspopup="true" <a style="display: inline-block" class="dropdown-toggle " aria-expanded="false" aria-haspopup="true"
data-toggle="dropdown" href="#" role="button"> data-toggle="dropdown" href="#" role="button">
......
...@@ -91,6 +91,7 @@ export class BulkViewComponent implements OnInit, OnDestroy { ...@@ -91,6 +91,7 @@ export class BulkViewComponent implements OnInit, OnDestroy {
this.refresh = timer(0, 20000).pipe(map(() => { this.refresh = timer(0, 20000).pipe(map(() => {
this.deployService.getBulkDeployment(this.bulk.id).subscribe(bulk => { this.deployService.getBulkDeployment(this.bulk.id).subscribe(bulk => {
this.bulk = bulk; this.bulk = bulk;
if(bulk.state === 'REMOVED') this.refresh.unsubscribe();
}) })
})).subscribe() })).subscribe()
} }
......
...@@ -10,6 +10,7 @@ export class BulkDeployment { ...@@ -10,6 +10,7 @@ export class BulkDeployment {
public type: BulkType; public type: BulkType;
public details: Map<string, string>; public details: Map<string, string>;
public parallelDeploymentsLimit: number; public parallelDeploymentsLimit: number;
public deleted: boolean;
} }
export enum BulkDeploymentState { export enum BulkDeploymentState {
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment