Fixed error on import
This commit is contained in:
parent
fca11cea7f
commit
b86392caa7
|
@ -18,6 +18,7 @@ import { AlertService } from 'app/services/alert/alert.service';
|
|||
import { ClassificationsService } from 'app/services/classifications/classifications.service';
|
||||
import { ClassificationDefinitionService } from 'app/services/classification-definition/classification-definition.service';
|
||||
import { DomainService } from 'app/services/domains/domain.service';
|
||||
import {ErrorModalService} from '../../../../services/errorModal/error-modal.service';
|
||||
|
||||
@Component({
|
||||
selector: 'taskana-tree',
|
||||
|
@ -55,8 +56,8 @@ describe('ClassificationListComponent', () => {
|
|||
TaskanaTreeComponent, DummyDetailComponent],
|
||||
imports: [HttpClientModule, RouterTestingModule.withRoutes(routes)],
|
||||
providers: [
|
||||
HttpClient, WorkbasketDefinitionService, AlertService, ClassificationsService, DomainService, ClassificationDefinitionService
|
||||
|
||||
HttpClient, WorkbasketDefinitionService, AlertService, ClassificationsService, DomainService, ClassificationDefinitionService,
|
||||
ErrorModalService
|
||||
]
|
||||
})
|
||||
.compileComponents();
|
||||
|
|
|
@ -4,7 +4,7 @@
|
|||
<button type="button" (click)="addWorkbasket()" data-toggle="tooltip" title="Add" class="btn btn-default">
|
||||
<span class="glyphicon glyphicon-plus green" aria-hidden="true"></span>
|
||||
</button>
|
||||
<taskana-import-export-component [currentSelection]="'workbaskets'"></taskana-import-export-component>
|
||||
<taskana-import-export-component [currentSelection]="selectionToImport"></taskana-import-export-component>
|
||||
</div>
|
||||
<div class="pull-right margin-right">
|
||||
<taskana-sort (performSorting)="sorting($event)"></taskana-sort>
|
||||
|
@ -17,4 +17,4 @@
|
|||
<div [@toggle]="toolbarState" *ngIf="toolbarState" class="row no-overflow">
|
||||
<taskana-filter (performFilter)="filtering($event)"></taskana-filter>
|
||||
</div>
|
||||
</li>
|
||||
</li>
|
||||
|
|
|
@ -6,6 +6,8 @@ import {ClassificationDefinition} from '../../models/classification-definition';
|
|||
import {AlertModel, AlertType} from '../../models/alert';
|
||||
import {saveAs} from 'file-saver/FileSaver';
|
||||
import {TaskanaDate} from '../../shared/util/taskana.date';
|
||||
import {ErrorModel} from '../../models/modal-error';
|
||||
import {ErrorModalService} from '../errorModal/error-modal.service';
|
||||
|
||||
@Injectable()
|
||||
export class ClassificationDefinitionService {
|
||||
|
@ -19,7 +21,8 @@ export class ClassificationDefinitionService {
|
|||
})
|
||||
};
|
||||
|
||||
constructor(private httpClient: HttpClient, private alertService: AlertService) {
|
||||
constructor(private httpClient: HttpClient, private alertService: AlertService,
|
||||
private errorModalService: ErrorModalService) {
|
||||
}
|
||||
|
||||
// GET
|
||||
|
@ -38,7 +41,8 @@ export class ClassificationDefinitionService {
|
|||
this.httpClient.post(this.url + '/import',
|
||||
JSON.parse(classifications), this.httpOptions).subscribe(
|
||||
classificationsUpdated => this.alertService.triggerAlert(new AlertModel(AlertType.SUCCESS, 'Import was successful')),
|
||||
error => this.alertService.triggerAlert(new AlertModel(AlertType.DANGER, 'Import was not successful'))
|
||||
error => this.errorModalService.triggerError(new ErrorModel(
|
||||
`There was an error importing classifications`, error.message))
|
||||
);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -18,7 +18,6 @@ export class DomainService {
|
|||
constructor(private httpClient: HttpClient) {
|
||||
}
|
||||
|
||||
// TODO how to enable hateoas support?
|
||||
// GET
|
||||
getDomains(): Observable<string[]> {
|
||||
return this.httpClient.get<string[]>(this.url, this.httpOptions);
|
||||
|
|
|
@ -6,6 +6,8 @@ import {AlertService} from '../alert/alert.service';
|
|||
import {WorkbasketDefinition} from '../../models/workbasket-definition';
|
||||
import {AlertModel, AlertType} from '../../models/alert';
|
||||
import {TaskanaDate} from '../../shared/util/taskana.date';
|
||||
import {ErrorModel} from '../../models/modal-error';
|
||||
import {ErrorModalService} from '../errorModal/error-modal.service';
|
||||
|
||||
|
||||
@Injectable()
|
||||
|
@ -20,7 +22,8 @@ export class WorkbasketDefinitionService {
|
|||
};
|
||||
|
||||
|
||||
constructor(private httpClient: HttpClient, private alertService: AlertService) {
|
||||
constructor(private httpClient: HttpClient, private alertService: AlertService,
|
||||
private errorModalService: ErrorModalService) {
|
||||
}
|
||||
|
||||
// GET
|
||||
|
@ -35,12 +38,12 @@ export class WorkbasketDefinitionService {
|
|||
}
|
||||
|
||||
// POST
|
||||
// TODO handle error
|
||||
importWorkbasketDefinitions(workbasketDefinitions: any) {
|
||||
this.httpClient.post(environment.taskanaRestUrl + '/v1/workbasketdefinitions/import',
|
||||
JSON.parse(workbasketDefinitions), this.httpOptions).subscribe(
|
||||
workbasketsUpdated => this.alertService.triggerAlert(new AlertModel(AlertType.SUCCESS, 'Import was successful')),
|
||||
error => this.alertService.triggerAlert(new AlertModel(AlertType.DANGER, 'Import was not successful'))
|
||||
error => this.errorModalService.triggerError(new ErrorModel(
|
||||
`There was an error importing workbaskets`, error.message))
|
||||
);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -7,6 +7,8 @@ import {WorkbasketDefinitionService} from '../../services/workbasket-definition/
|
|||
import {AlertService} from '../../services/alert/alert.service';
|
||||
import {HttpClientModule} from '@angular/common/http';
|
||||
import {DomainService} from '../../services/domains/domain.service';
|
||||
import {Observable} from 'rxjs/Observable';
|
||||
import {ErrorModalService} from '../../services/errorModal/error-modal.service';
|
||||
|
||||
describe('ImportExportComponent', () => {
|
||||
let component: ImportExportComponent;
|
||||
|
@ -17,7 +19,8 @@ describe('ImportExportComponent', () => {
|
|||
TestBed.configureTestingModule({
|
||||
declarations: [ImportExportComponent],
|
||||
imports: [HttpClientModule],
|
||||
providers: [WorkbasketService, ClassificationDefinitionService, WorkbasketDefinitionService, AlertService, DomainService]
|
||||
providers: [WorkbasketService, ClassificationDefinitionService, WorkbasketDefinitionService, AlertService, DomainService,
|
||||
ErrorModalService]
|
||||
})
|
||||
.compileComponents();
|
||||
}));
|
||||
|
@ -25,7 +28,6 @@ describe('ImportExportComponent', () => {
|
|||
beforeEach(() => {
|
||||
fixture = TestBed.createComponent(ImportExportComponent);
|
||||
component = fixture.componentInstance;
|
||||
domainService = TestBed.get(DomainService);
|
||||
fixture.detectChanges();
|
||||
});
|
||||
|
||||
|
@ -33,4 +35,10 @@ describe('ImportExportComponent', () => {
|
|||
expect(component).toBeTruthy();
|
||||
});
|
||||
|
||||
it('should update domains', () => {
|
||||
domainService = TestBed.get(DomainService);
|
||||
spyOn(domainService, 'getDomains').and.returnValue(Observable.of(['A', 'B']));
|
||||
component.updateDomains();
|
||||
expect(domainService.getDomains).toHaveBeenCalled();
|
||||
});
|
||||
});
|
||||
|
|
|
@ -28,7 +28,7 @@ export class ImportExportComponent implements OnInit {
|
|||
}
|
||||
|
||||
onSelectFile(event) {
|
||||
const file = event.srcElement.files[0];
|
||||
const file = event.target.files[0];
|
||||
const reader = new FileReader();
|
||||
if (this.currentSelection === ImportType.WORKBASKETS) {
|
||||
reader.onload = <Event>(e) => this.workbasketDefinitionService.importWorkbasketDefinitions(e.target.result);
|
||||
|
|
Loading…
Reference in New Issue