Skip to content

Commit fc05887

Browse files
authored
fix(ui,cdsctl): take care of not imported workflow for instance (#5085)
1 parent 35467e9 commit fc05887

File tree

4 files changed

+19
-14
lines changed

4 files changed

+19
-14
lines changed

cli/cdsctl/template_bulk.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -351,7 +351,7 @@ func templateBulkRun(v cli.Values) error {
351351
// filter as code workflow
352352
wtisFiltered := make([]sdk.WorkflowTemplateInstance, 0, len(wtis))
353353
for i := range wtis {
354-
if wtis[i].Workflow.FromRepository == "" {
354+
if wtis[i].Workflow == nil || wtis[i].Workflow.FromRepository == "" {
355355
wtisFiltered = append(wtisFiltered, wtis[i])
356356
}
357357
}

sdk/exportentities/common.go

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -59,9 +59,15 @@ func GetFormatFromContentType(ct string) (Format, error) {
5959
func Unmarshal(btes []byte, f Format, i interface{}) error {
6060
switch f {
6161
case FormatJSON:
62-
return sdk.WithStack(json.Unmarshal(btes, i))
62+
if err := json.Unmarshal(btes, i); err != nil {
63+
return sdk.NewErrorWithStack(err, sdk.NewErrorFrom(sdk.ErrWrongRequest, "cannot unmarshal given data as json"))
64+
}
65+
return nil
6366
case FormatYAML:
64-
return sdk.WithStack(yaml.Unmarshal(btes, i))
67+
if err := yaml.Unmarshal(btes, i); err != nil {
68+
return sdk.NewErrorWithStack(err, sdk.NewErrorFrom(sdk.ErrWrongRequest, "cannot unmarshal given data as yaml"))
69+
}
70+
return nil
6571
}
6672
return sdk.NewErrorFrom(sdk.ErrWrongRequest, "format is not supported")
6773
}

ui/src/app/shared/workflow-template/bulk-modal/workflow-template.bulk-modal.component.ts

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ import {
77
Output,
88
ViewChild
99
} from '@angular/core';
10-
import {ModalTemplate, SuiActiveModal, SuiModalService, TemplateModalConfig} from '@richardlt/ng2-semantic-ui';
10+
import { ModalTemplate, SuiActiveModal, SuiModalService, TemplateModalConfig } from '@richardlt/ng2-semantic-ui';
1111
import {
1212
InstanceStatus,
1313
InstanceStatusUtil,
@@ -19,11 +19,11 @@ import {
1919
WorkflowTemplateBulkOperation,
2020
WorkflowTemplateInstance
2121
} from 'app/model/workflow-template.model';
22-
import {WorkflowTemplateService} from 'app/service/workflow-template/workflow-template.service';
23-
import {AutoUnsubscribe} from 'app/shared/decorator/autoUnsubscribe';
24-
import {Column, ColumnType, Select} from 'app/shared/table/data-table.component';
25-
import {Observable, Subscription} from 'rxjs';
26-
import {finalize} from 'rxjs/internal/operators/finalize';
22+
import { WorkflowTemplateService } from 'app/service/workflow-template/workflow-template.service';
23+
import { AutoUnsubscribe } from 'app/shared/decorator/autoUnsubscribe';
24+
import { Column, ColumnType, Select } from 'app/shared/table/data-table.component';
25+
import { Observable, Subscription } from 'rxjs';
26+
import { finalize } from 'rxjs/internal/operators/finalize';
2727

2828
@Component({
2929
selector: 'app-workflow-template-bulk-modal',
@@ -33,7 +33,7 @@ import {finalize} from 'rxjs/internal/operators/finalize';
3333
})
3434
@AutoUnsubscribe()
3535
export class WorkflowTemplateBulkModalComponent {
36-
@ViewChild('workflowTemplateBulkModal', {static: false}) workflowTemplateBulkModal: ModalTemplate<boolean, boolean, void>;
36+
@ViewChild('workflowTemplateBulkModal', { static: false }) workflowTemplateBulkModal: ModalTemplate<boolean, boolean, void>;
3737
modal: SuiActiveModal<boolean, boolean, void>;
3838
open: boolean;
3939

@@ -154,7 +154,7 @@ export class WorkflowTemplateBulkModalComponent {
154154
this.loadingInstances = false;
155155
this._cd.markForCheck();
156156
}))
157-
.subscribe(is => this.instances = is.filter(i => !i.workflow.from_repository)
157+
.subscribe(is => this.instances = is.filter(i => !i.workflow || !i.workflow.from_repository)
158158
.sort((a, b) => a.key() < b.key() ? -1 : 1));
159159

160160
this.selectedInstanceKeys = [];

ui/src/app/views/settings/workflow-template/edit/workflow-template.edit.component.ts

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -145,7 +145,7 @@ export class WorkflowTemplateEditComponent implements OnInit {
145145
let status = i.status(this.workflowTemplate);
146146

147147
let labels = [];
148-
if (i.workflow.from_repository) {
148+
if (i.workflow && i.workflow.from_repository) {
149149
labels.push({ color: 'blue', title: 'as code' });
150150
}
151151

@@ -171,12 +171,11 @@ export class WorkflowTemplateEditComponent implements OnInit {
171171
}
172172
}, <Column<WorkflowTemplateInstance>>{
173173
type: ColumnType.BUTTON,
174-
hidden: (i: WorkflowTemplateInstance) => !!i.workflow.from_repository,
174+
hidden: (i: WorkflowTemplateInstance) => i.workflow && !!i.workflow.from_repository,
175175
name: 'common_action',
176176
class: 'two right aligned',
177177
selector: (i: WorkflowTemplateInstance) => {
178178
return {
179-
hidden: !!i.workflow.from_repository,
180179
title: 'common_update',
181180
class: 'primary small',
182181
click: () => {

0 commit comments

Comments
 (0)