@projectcaluma/ember-distribution 11.0.0-beta.27 → 11.0.0-beta.29
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/addon/abilities/distribution.js +4 -0
- package/addon/abilities/inquiry.js +20 -1
- package/addon/components/cd-document-header.hbs +3 -0
- package/addon/components/cd-inquiry-dialog/inquiry-part.hbs +33 -0
- package/addon/components/cd-inquiry-dialog/inquiry-part.js +40 -0
- package/addon/components/cd-inquiry-dialog.js +0 -30
- package/addon/components/cd-inquiry-edit-form.hbs +9 -0
- package/addon/components/cd-navigation/controls.hbs +23 -13
- package/addon/components/cd-navigation/controls.js +30 -16
- package/addon/components/cd-navigation/section.hbs +3 -1
- package/addon/components/cd-navigation/section.js +18 -2
- package/addon/components/cd-navigation/status-indicator.hbs +5 -2
- package/addon/config.js +2 -0
- package/addon/gql/fragments/inquiry.graphql +1 -0
- package/addon/gql/mutations/update-inquiry-meta.graphql +8 -0
- package/addon/gql/queries/control-work-items.graphql +1 -0
- package/addon/gql/queries/inquiry-edit.graphql +1 -0
- package/addon/utils/inquiry-deadline.js +1 -1
- package/package.json +15 -16
- package/translations/de.yaml +12 -1
- package/translations/en.yaml +12 -1
- package/translations/fr.yaml +14 -3
@@ -7,6 +7,7 @@ const hasStatus = (status) => (edge) => edge.node.status === status;
|
|
7
7
|
|
8
8
|
export default class DistributionAbility extends Ability {
|
9
9
|
@service distribution;
|
10
|
+
@service calumaOptions;
|
10
11
|
|
11
12
|
@config config;
|
12
13
|
|
@@ -43,6 +44,9 @@ export default class DistributionAbility extends Ability {
|
|
43
44
|
return (
|
44
45
|
!this.config.ui.readonly &&
|
45
46
|
(this.config.permissions.reopenDistribution?.() ?? true) &&
|
47
|
+
this.distribution.controls.value?.case.edges[0]?.node.parentWorkItem.addressedGroups
|
48
|
+
.map(String)
|
49
|
+
.includes(String(this.calumaOptions.currentGroupId)) &&
|
46
50
|
this.distribution.controls.value?.case.edges[0]?.node.parentWorkItem
|
47
51
|
.isRedoable
|
48
52
|
);
|
@@ -1,5 +1,6 @@
|
|
1
1
|
import { inject as service } from "@ember/service";
|
2
2
|
import { Ability } from "ember-can";
|
3
|
+
import { DateTime } from "luxon";
|
3
4
|
|
4
5
|
import config from "@projectcaluma/ember-distribution/config";
|
5
6
|
|
@@ -60,10 +61,28 @@ export default class InquiryAbility extends Ability {
|
|
60
61
|
get canReopen() {
|
61
62
|
return (
|
62
63
|
this.model.isRedoable &&
|
63
|
-
this.model?.
|
64
|
+
this.model?.controllingGroups
|
64
65
|
.map(String)
|
65
66
|
.includes(String(this.calumaOptions.currentGroupId)) &&
|
66
67
|
(this.config.permissions.reopenInquiry?.(this.model) ?? true)
|
67
68
|
);
|
68
69
|
}
|
70
|
+
|
71
|
+
get canSendReminder() {
|
72
|
+
const deadline = DateTime.fromISO(
|
73
|
+
this.model.document?.deadline.edges[0]?.node.value
|
74
|
+
);
|
75
|
+
|
76
|
+
return (
|
77
|
+
!this.config.ui.readonly &&
|
78
|
+
this.config.enableReminders &&
|
79
|
+
this.model?.task.slug === this.config.inquiry.task &&
|
80
|
+
this.model?.status === "READY" &&
|
81
|
+
this.model?.controllingGroups
|
82
|
+
.map(String)
|
83
|
+
.includes(String(this.calumaOptions.currentGroupId)) &&
|
84
|
+
deadline.diffNow("days").days <= 0 &&
|
85
|
+
(this.config.permissions.sendReminder?.(this.model) ?? true)
|
86
|
+
);
|
87
|
+
}
|
69
88
|
}
|
@@ -85,6 +85,39 @@
|
|
85
85
|
</li>
|
86
86
|
{{/if}}
|
87
87
|
{{/unless}}
|
88
|
+
{{#if (can "send reminder inquiry" @inquiry)}}
|
89
|
+
<li>
|
90
|
+
<a
|
91
|
+
data-test-send-reminder
|
92
|
+
href=""
|
93
|
+
{{on "click" (perform this.sendReminder)}}
|
94
|
+
>
|
95
|
+
{{t "caluma.distribution.reminder.link"}}
|
96
|
+
</a>
|
97
|
+
<div
|
98
|
+
uk-dropdown="mode: hover; pos: bottom"
|
99
|
+
class="uk-padding-small uk-width-small"
|
100
|
+
>
|
101
|
+
<div class="uk-text-center uk-text-bold uk-margin-small-bottom">
|
102
|
+
{{t "caluma.distribution.reminder.title"}}
|
103
|
+
</div>
|
104
|
+
{{#if @inquiry.meta.reminders}}
|
105
|
+
<div class="uk-height-max-small uk-overflow-auto">
|
106
|
+
{{#each @inquiry.meta.reminders as |reminder|}}
|
107
|
+
<div class="uk-text-center uk-text-small uk-text-muted">
|
108
|
+
{{format-date reminder}}
|
109
|
+
{{format-time reminder hour="2-digit" minute="2-digit"}}
|
110
|
+
</div>
|
111
|
+
{{/each}}
|
112
|
+
</div>
|
113
|
+
{{else}}
|
114
|
+
<div class="uk-text-center">
|
115
|
+
{{t "caluma.distribution.reminder.no-reminders"}}
|
116
|
+
</div>
|
117
|
+
{{/if}}
|
118
|
+
</div>
|
119
|
+
</li>
|
120
|
+
{{/if}}
|
88
121
|
</ul>
|
89
122
|
|
90
123
|
{{#if this.requestInfo}}
|
@@ -4,10 +4,12 @@ import Component from "@glimmer/component";
|
|
4
4
|
import { queryManager } from "ember-apollo-client";
|
5
5
|
import { dropTask } from "ember-concurrency";
|
6
6
|
import { confirm } from "ember-uikit";
|
7
|
+
import { DateTime } from "luxon";
|
7
8
|
|
8
9
|
import { decodeId } from "@projectcaluma/ember-core/helpers/decode-id";
|
9
10
|
import config from "@projectcaluma/ember-distribution/config";
|
10
11
|
import reopenInquiryMutation from "@projectcaluma/ember-distribution/gql/mutations/reopen-inquiry.graphql";
|
12
|
+
import updateInquiryMetaMutation from "@projectcaluma/ember-distribution/gql/mutations/update-inquiry-meta.graphql";
|
11
13
|
import withdrawInquiryMutation from "@projectcaluma/ember-distribution/gql/mutations/withdraw-inquiry.graphql";
|
12
14
|
import inquiryAnswerStatus from "@projectcaluma/ember-distribution/utils/inquiry-answer-status";
|
13
15
|
|
@@ -15,6 +17,7 @@ export default class CdInquiryDialogInquiryPartComponent extends Component {
|
|
15
17
|
@service notification;
|
16
18
|
@service router;
|
17
19
|
@service intl;
|
20
|
+
@service calumaOptions;
|
18
21
|
|
19
22
|
@queryManager apollo;
|
20
23
|
|
@@ -103,4 +106,41 @@ export default class CdInquiryDialogInquiryPartComponent extends Component {
|
|
103
106
|
);
|
104
107
|
}
|
105
108
|
}
|
109
|
+
|
110
|
+
@dropTask
|
111
|
+
*sendReminder(e) {
|
112
|
+
e.preventDefault();
|
113
|
+
|
114
|
+
if (!(yield confirm(this.intl.t("caluma.distribution.reminder.confirm")))) {
|
115
|
+
return;
|
116
|
+
}
|
117
|
+
|
118
|
+
try {
|
119
|
+
yield this.calumaOptions.sendReminderDistributionInquiry(
|
120
|
+
decodeId(this.args.inquiry.id)
|
121
|
+
);
|
122
|
+
|
123
|
+
this.notification.success(
|
124
|
+
this.intl.t("caluma.distribution.reminder.success")
|
125
|
+
);
|
126
|
+
|
127
|
+
yield this.apollo.mutate({
|
128
|
+
mutation: updateInquiryMetaMutation,
|
129
|
+
variables: {
|
130
|
+
inquiry: decodeId(this.args.inquiry.id),
|
131
|
+
meta: JSON.stringify({
|
132
|
+
...this.args.inquiry.meta,
|
133
|
+
reminders: [
|
134
|
+
DateTime.now().toISO(),
|
135
|
+
...(this.args.inquiry.meta.reminders ?? []),
|
136
|
+
],
|
137
|
+
}),
|
138
|
+
},
|
139
|
+
});
|
140
|
+
} catch (error) {
|
141
|
+
this.notification.danger(
|
142
|
+
this.intl.t("caluma.distribution.reminder.error")
|
143
|
+
);
|
144
|
+
}
|
145
|
+
}
|
106
146
|
}
|
@@ -52,8 +52,6 @@ export default class CdInquiryDialogComponent extends Component {
|
|
52
52
|
},
|
53
53
|
});
|
54
54
|
|
55
|
-
this._setRedoableStates(response.allWorkItems);
|
56
|
-
|
57
55
|
/**
|
58
56
|
* Sadly this is necessary to handle what happens after the withdraw task in
|
59
57
|
* the inquiry part component because the mutation triggers a refresh of the
|
@@ -70,39 +68,11 @@ export default class CdInquiryDialogComponent extends Component {
|
|
70
68
|
if (allWorkItems.edges.every((edge) => edge.node.status === "CANCELED")) {
|
71
69
|
this.router.transitionTo("index");
|
72
70
|
}
|
73
|
-
|
74
|
-
/**
|
75
|
-
* Get work item that was redoable in the previous calulation and is now
|
76
|
-
* not anymore. This indicates that the work item was redone which should
|
77
|
-
* result in a transition to the answer view.
|
78
|
-
*/
|
79
|
-
const redoneWorkItem = this._redoableStates.find((stateObj) => {
|
80
|
-
const updatedWorkItem = allWorkItems.edges.find(
|
81
|
-
(edge) => decodeId(edge.node.id) === stateObj.id
|
82
|
-
);
|
83
|
-
|
84
|
-
return (
|
85
|
-
stateObj.isRedoable && !(updatedWorkItem?.node.isRedoable ?? true)
|
86
|
-
);
|
87
|
-
});
|
88
|
-
|
89
|
-
if (redoneWorkItem) {
|
90
|
-
this.router.transitionTo("inquiry.detail.answer", redoneWorkItem.id);
|
91
|
-
}
|
92
|
-
|
93
|
-
this._setRedoableStates(allWorkItems);
|
94
71
|
});
|
95
72
|
|
96
73
|
return response;
|
97
74
|
}
|
98
75
|
|
99
|
-
_setRedoableStates(allWorkItems) {
|
100
|
-
this._redoableStates = allWorkItems.edges.map((edge) => ({
|
101
|
-
id: decodeId(edge.node.id),
|
102
|
-
isRedoable: edge.node.isRedoable,
|
103
|
-
}));
|
104
|
-
}
|
105
|
-
|
106
76
|
@dropTask
|
107
77
|
*createInquiry(e) {
|
108
78
|
e.preventDefault();
|
@@ -6,6 +6,7 @@
|
|
6
6
|
<:default as |content|>
|
7
7
|
<CdDocumentHeader
|
8
8
|
@name={{content.document.rootForm.raw.name}}
|
9
|
+
@group={{this.inquiry.addressedGroups}}
|
9
10
|
@status={{if
|
10
11
|
(eq this.inquiry.status "SUSPENDED")
|
11
12
|
(t "caluma.distribution.status.draft")
|
@@ -43,6 +44,14 @@
|
|
43
44
|
>{{t "caluma.distribution.edit.send"}}</UkButton>
|
44
45
|
</DocumentValidity>
|
45
46
|
{{/if}}
|
47
|
+
{{#if (can "answer inquiry" this.inquiry)}}
|
48
|
+
<LinkTo
|
49
|
+
@route="inquiry.detail.answer"
|
50
|
+
class="uk-button uk-button-primary"
|
51
|
+
>
|
52
|
+
{{t "caluma.distribution.answer.link"}}
|
53
|
+
</LinkTo>
|
54
|
+
{{/if}}
|
46
55
|
</:default>
|
47
56
|
<:notfound><CdNotfound /></:notfound>
|
48
57
|
</CfContent>
|
@@ -1,18 +1,8 @@
|
|
1
1
|
<div class="uk-text-center uk-margin-small-top">
|
2
|
-
{{#if (can "create inquiry of distribution")}}
|
3
|
-
<LinkTo
|
4
|
-
@route="new"
|
5
|
-
class="uk-icon-button"
|
6
|
-
{{uk-tooltip (t "caluma.distribution.new.title")}}
|
7
|
-
data-test-new-inquiry
|
8
|
-
>
|
9
|
-
<UkIcon @icon="plus" />
|
10
|
-
</LinkTo>
|
11
|
-
{{/if}}
|
12
2
|
{{#if (can "send inquiries of distribution")}}
|
13
3
|
<button
|
14
4
|
type="button"
|
15
|
-
class="uk-icon-button"
|
5
|
+
class="uk-icon-button uk-button-primary"
|
16
6
|
{{uk-tooltip (t "caluma.distribution.send")}}
|
17
7
|
data-test-send-pending-inquiries
|
18
8
|
{{on "click" (perform this.sendInquiries)}}
|
@@ -24,18 +14,38 @@
|
|
24
14
|
{{/if}}
|
25
15
|
</button>
|
26
16
|
{{/if}}
|
17
|
+
{{#if (can "create inquiry of distribution")}}
|
18
|
+
<LinkTo
|
19
|
+
@route="new"
|
20
|
+
class="uk-icon-button"
|
21
|
+
{{uk-tooltip (t "caluma.distribution.new.title")}}
|
22
|
+
data-test-new-inquiry
|
23
|
+
>
|
24
|
+
<UkIcon @icon="plus" />
|
25
|
+
</LinkTo>
|
26
|
+
{{/if}}
|
27
27
|
{{#if (can "complete distribution")}}
|
28
28
|
<button
|
29
29
|
type="button"
|
30
30
|
class="uk-icon-button"
|
31
|
-
{{uk-tooltip
|
31
|
+
{{uk-tooltip
|
32
|
+
(t
|
33
|
+
(if
|
34
|
+
this.hasInquiries
|
35
|
+
"caluma.distribution.complete"
|
36
|
+
"caluma.distribution.skip"
|
37
|
+
)
|
38
|
+
)
|
39
|
+
}}
|
32
40
|
data-test-complete-distribution
|
33
41
|
{{on "click" (perform this.completeDistribution)}}
|
34
42
|
>
|
35
43
|
{{#if this.completeDistribution.isRunning}}
|
36
44
|
<UkSpinner @ratio={{0.6}} />
|
37
|
-
{{else}}
|
45
|
+
{{else if this.hasInquiries}}
|
38
46
|
<UkIcon @icon="lock" />
|
47
|
+
{{else}}
|
48
|
+
<UkIcon @icon="forward" />
|
39
49
|
{{/if}}
|
40
50
|
</button>
|
41
51
|
{{/if}}
|
@@ -20,26 +20,38 @@ export default class CdNavigationControlsComponent extends Component {
|
|
20
20
|
@queryManager apollo;
|
21
21
|
@config config;
|
22
22
|
|
23
|
+
get hasInquiries() {
|
24
|
+
return (
|
25
|
+
this.distribution.navigation.value?.addressed.edges.length > 0 ||
|
26
|
+
this.distribution.navigation.value?.controlling.edges.length > 0 ||
|
27
|
+
this.distribution.navigation.value?.more.edges.length > 0
|
28
|
+
);
|
29
|
+
}
|
30
|
+
|
23
31
|
@dropTask
|
24
32
|
*completeDistribution() {
|
25
33
|
try {
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
34
|
+
let confirmText = this.intl.t("caluma.distribution.skip-confirm");
|
35
|
+
|
36
|
+
if (this.hasInquiries) {
|
37
|
+
const incompleteInquiries = yield this.apollo.query(
|
38
|
+
{
|
39
|
+
query: incompleteInquiriesQuery,
|
40
|
+
variables: {
|
41
|
+
caseId: this.distribution.caseId,
|
42
|
+
task: this.config.inquiry.task,
|
43
|
+
},
|
32
44
|
},
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
|
45
|
+
"allWorkItems.totalCount"
|
46
|
+
);
|
47
|
+
|
48
|
+
confirmText =
|
49
|
+
incompleteInquiries === 0
|
50
|
+
? this.intl.t("caluma.distribution.complete-confirm-empty")
|
51
|
+
: this.intl.t("caluma.distribution.complete-confirm", {
|
52
|
+
count: incompleteInquiries,
|
53
|
+
});
|
54
|
+
}
|
43
55
|
|
44
56
|
if (!(yield confirm(confirmText))) {
|
45
57
|
return;
|
@@ -55,6 +67,8 @@ export default class CdNavigationControlsComponent extends Component {
|
|
55
67
|
},
|
56
68
|
});
|
57
69
|
|
70
|
+
yield this.config.hooks.postCompleteDistribution?.();
|
71
|
+
|
58
72
|
yield this.distribution.refetch();
|
59
73
|
this.router.transitionTo("index");
|
60
74
|
} catch (e) {
|
@@ -1,10 +1,24 @@
|
|
1
1
|
import { action } from "@ember/object";
|
2
|
+
import { inject as service } from "@ember/service";
|
2
3
|
import Component from "@glimmer/component";
|
3
4
|
import { tracked } from "@glimmer/tracking";
|
4
5
|
|
5
6
|
export default class CdNavigationSectionComponent extends Component {
|
7
|
+
@service router;
|
8
|
+
|
6
9
|
@tracked expanded = true;
|
7
10
|
|
11
|
+
get isActive() {
|
12
|
+
return (
|
13
|
+
this.inquiries.find((inquiry) =>
|
14
|
+
this.router.isActive("inquiry", {
|
15
|
+
to: inquiry.addressedGroups[0],
|
16
|
+
from: inquiry.controllingGroups[0],
|
17
|
+
})
|
18
|
+
) !== undefined
|
19
|
+
);
|
20
|
+
}
|
21
|
+
|
8
22
|
@action
|
9
23
|
toggle(e) {
|
10
24
|
e.preventDefault();
|
@@ -18,8 +32,10 @@ export default class CdNavigationSectionComponent extends Component {
|
|
18
32
|
? "controllingGroupName"
|
19
33
|
: "addressedGroupName";
|
20
34
|
|
21
|
-
return
|
22
|
-
|
35
|
+
return (
|
36
|
+
this.args.inquiries?.sort((a, b) =>
|
37
|
+
a[sortProperty].localeCompare(b[sortProperty])
|
38
|
+
) ?? []
|
23
39
|
);
|
24
40
|
}
|
25
41
|
}
|
@@ -2,12 +2,15 @@
|
|
2
2
|
<UkIcon
|
3
3
|
@icon="clock"
|
4
4
|
class="uk-margin-small-right uk-text-{{this.deadline.color}}"
|
5
|
-
{{uk-tooltip
|
5
|
+
{{uk-tooltip
|
6
|
+
(format-date this.deadline.value)
|
7
|
+
pos=(if this.config.ui.stack "left" "top")
|
8
|
+
}}
|
6
9
|
/>
|
7
10
|
{{/if}}
|
8
11
|
|
9
12
|
<UkIcon
|
10
13
|
@icon={{this.status.icon}}
|
11
14
|
class="uk-text-{{this.status.color}}"
|
12
|
-
{{uk-tooltip this.status.label}}
|
15
|
+
{{uk-tooltip this.status.label pos=(if this.config.ui.stack "left" "top")}}
|
13
16
|
/>
|
package/addon/config.js
CHANGED
@@ -21,7 +21,7 @@ function decorator(
|
|
21
21
|
const value = inquiry.document?.deadline.edges[0]?.node.value;
|
22
22
|
const isDone = ["COMPLETED", "SKIPPED"].includes(inquiry.status);
|
23
23
|
|
24
|
-
const
|
24
|
+
const diff = DateTime.fromISO(value).diffNow("days").days;
|
25
25
|
|
26
26
|
const isOverdue = !isDone && diff <= 0;
|
27
27
|
const isWarning = !isDone && diff <= this.config.warningPeriod;
|
package/package.json
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
{
|
2
2
|
"name": "@projectcaluma/ember-distribution",
|
3
|
-
"version": "11.0.0-beta.
|
3
|
+
"version": "11.0.0-beta.29",
|
4
4
|
"description": "Ember engine for the Caluma distribution module.",
|
5
5
|
"keywords": [
|
6
6
|
"ember-addon",
|
@@ -18,27 +18,28 @@
|
|
18
18
|
"ember-engines": ">= 0.8"
|
19
19
|
},
|
20
20
|
"dependencies": {
|
21
|
+
"@ember/legacy-built-in-components": "^0.4.1",
|
21
22
|
"@ember/string": "^3.0.0",
|
22
23
|
"@embroider/macros": "^1.8.3",
|
23
24
|
"@glimmer/component": "^1.1.2",
|
24
25
|
"@glimmer/tracking": "^1.1.2",
|
25
|
-
"@projectcaluma/ember-core": "^11.0.0-beta.
|
26
|
-
"@projectcaluma/ember-form": "^11.0.0-beta.
|
27
|
-
"@projectcaluma/ember-workflow": "^11.0.0-beta.
|
26
|
+
"@projectcaluma/ember-core": "^11.0.0-beta.29",
|
27
|
+
"@projectcaluma/ember-form": "^11.0.0-beta.29",
|
28
|
+
"@projectcaluma/ember-workflow": "^11.0.0-beta.29",
|
28
29
|
"ember-apollo-client": "~4.0.2",
|
29
30
|
"ember-auto-import": "^2.4.2",
|
30
31
|
"ember-can": "^4.2.0",
|
31
32
|
"ember-cli-babel": "^7.26.11",
|
32
|
-
"ember-cli-htmlbars": "^6.1.
|
33
|
-
"ember-concurrency": "^2.3.
|
33
|
+
"ember-cli-htmlbars": "^6.1.1",
|
34
|
+
"ember-concurrency": "^2.3.7",
|
34
35
|
"ember-engines-router-service": "^0.3.0",
|
35
36
|
"ember-fetch": "^8.1.2",
|
36
37
|
"ember-intl": "^5.7.2",
|
37
38
|
"ember-pikaday": "^4.0.0",
|
38
|
-
"ember-resources": "^5.
|
39
|
+
"ember-resources": "^5.4.0",
|
39
40
|
"ember-svg-jar": "^2.3.4",
|
40
41
|
"ember-test-selectors": "^6.0.0",
|
41
|
-
"ember-uikit": "^6.
|
42
|
+
"ember-uikit": "^6.1.0",
|
42
43
|
"graphql": "^15.8.0",
|
43
44
|
"graphql-tag": "^2.12.6",
|
44
45
|
"lodash.merge": "^4.6.2",
|
@@ -47,12 +48,12 @@
|
|
47
48
|
},
|
48
49
|
"devDependencies": {
|
49
50
|
"@ember/optional-features": "2.0.0",
|
50
|
-
"@ember/test-helpers": "2.
|
51
|
+
"@ember/test-helpers": "2.7.0",
|
51
52
|
"@embroider/test-setup": "1.8.3",
|
52
53
|
"@faker-js/faker": "7.5.0",
|
53
|
-
"@projectcaluma/ember-testing": "11.0.0-beta.
|
54
|
+
"@projectcaluma/ember-testing": "11.0.0-beta.29",
|
54
55
|
"broccoli-asset-rev": "3.0.0",
|
55
|
-
"ember-cli": "
|
56
|
+
"ember-cli": "4.7.0",
|
56
57
|
"ember-cli-code-coverage": "1.0.3",
|
57
58
|
"ember-cli-dependency-checker": "3.3.1",
|
58
59
|
"ember-cli-inject-live-reload": "2.1.0",
|
@@ -62,12 +63,10 @@
|
|
62
63
|
"ember-cli-terser": "4.0.2",
|
63
64
|
"ember-disable-prototype-extensions": "1.1.3",
|
64
65
|
"ember-engines": "0.8.23",
|
65
|
-
"ember-export-application-global": "2.0.1",
|
66
66
|
"ember-load-initializers": "2.1.2",
|
67
|
-
"ember-maybe-import-regenerator": "1.0.0",
|
68
67
|
"ember-qunit": "5.1.5",
|
69
68
|
"ember-resolver": "8.0.3",
|
70
|
-
"ember-source": "
|
69
|
+
"ember-source": "4.7.0",
|
71
70
|
"ember-source-channel-url": "3.0.0",
|
72
71
|
"ember-try": "2.0.0",
|
73
72
|
"loader.js": "4.7.0",
|
@@ -75,11 +74,11 @@
|
|
75
74
|
"npm-run-all": "4.1.5",
|
76
75
|
"qunit": "2.19.1",
|
77
76
|
"qunit-dom": "2.0.0",
|
78
|
-
"sass": "1.
|
77
|
+
"sass": "1.55.0",
|
79
78
|
"webpack": "5.74.0"
|
80
79
|
},
|
81
80
|
"engines": {
|
82
|
-
"node": "
|
81
|
+
"node": "14.* || >= 16"
|
83
82
|
},
|
84
83
|
"ember": {
|
85
84
|
"edition": "octane"
|
package/translations/de.yaml
CHANGED
@@ -4,6 +4,7 @@ caluma:
|
|
4
4
|
start: "Starten"
|
5
5
|
send: "Offene Anfragen versenden"
|
6
6
|
complete: "Zirkulation abschliessen"
|
7
|
+
skip: "Zirkulation überspringen"
|
7
8
|
reopen: "Zirkulation wiedereröffnen"
|
8
9
|
send-confirm: "Wollen Sie wirklich alle offenen Anfragen versenden?"
|
9
10
|
complete-confirm:
|
@@ -11,9 +12,11 @@ caluma:
|
|
11
12
|
in der aktuellen Zirkulation. Wenn Sie die Zirkulation abschliessen, werden
|
12
13
|
alle verbleibenden offenen Anfragen abgebrochen. Möchten Sie fortfahren?"
|
13
14
|
complete-confirm-empty: "Möchten Sie die Zirkulation wirklich abschliessen?"
|
15
|
+
skip-confirm: "Wollen Sie die Zirkulation wirklich überspringen?"
|
14
16
|
reopen-confirm: "Wollen Sie die Zirkulation wirklich wiedereröffnen?"
|
15
17
|
send-error: "Fehler beim Versenden der offenen Anfragen"
|
16
18
|
complete-error: "Fehler beim Abschliessen der Zirkulation"
|
19
|
+
skip-error: "Fehler beim Überspringen der Zirkulation"
|
17
20
|
reopen-error: "Fehler beim Wiedereröffnen der Zirkulation"
|
18
21
|
|
19
22
|
more: "mehr"
|
@@ -27,7 +30,7 @@ caluma:
|
|
27
30
|
|
28
31
|
edit:
|
29
32
|
link: "Bearbeiten"
|
30
|
-
send: "
|
33
|
+
send: "Aktuelle Anfrage versenden"
|
31
34
|
send-error: "Fehler beim Senden der Anfrage"
|
32
35
|
send-not-allowed: "Sie sind nicht berechtigt diese Anfrage zu versenden."
|
33
36
|
|
@@ -61,6 +64,14 @@ caluma:
|
|
61
64
|
create-draft: "Entwurf erstellen"
|
62
65
|
error: "Fehler beim Erstellen der {count, plural, =1 {Anfragen} other {Anfrage}}"
|
63
66
|
|
67
|
+
reminder:
|
68
|
+
link: "Erinnerung versenden"
|
69
|
+
confirm: "Wollen Sie wirklich eine Erinnerung für diese Anfrage versenden?"
|
70
|
+
title: "Versendete Erinnerungen"
|
71
|
+
no-reminders: "Es wurden noch keine Erinnerungen für diese Anfrage versendet."
|
72
|
+
success: "Die Erinnerung wurde erfolgreich versendet"
|
73
|
+
error: "Fehler beim Versenden der Erinnerung"
|
74
|
+
|
64
75
|
types:
|
65
76
|
controlling: "Angefordert"
|
66
77
|
addressed: "Zu beantworten"
|
package/translations/en.yaml
CHANGED
@@ -4,6 +4,7 @@ caluma:
|
|
4
4
|
start: "Start"
|
5
5
|
send: "Send pending inquiries"
|
6
6
|
complete: "Complete circulation"
|
7
|
+
skip: "Skip circulation"
|
7
8
|
send-confirm: "Do you really want to send all pending inquiries?"
|
8
9
|
reopen: "Reopen circulation"
|
9
10
|
complete-confirm:
|
@@ -12,9 +13,11 @@ caluma:
|
|
12
13
|
distribution. Completing the distribution will cause all remaining
|
13
14
|
pending inquiries to be canceled. Would you like to continue?"
|
14
15
|
complete-confirm-empty: "Do you really want to complete the distribution?"
|
16
|
+
skip-confirm: "Do you really want to skip the distribution?"
|
15
17
|
reopen-confirm: "Do you really want to reopen the distribution?"
|
16
18
|
send-error: "Error while sending pending inquiries"
|
17
19
|
complete-error: "Error while completing the distribution"
|
20
|
+
skip-error: "Error while skipping the distribution"
|
18
21
|
reopen-error: "Error while reopening the distribution"
|
19
22
|
|
20
23
|
more: "more"
|
@@ -28,7 +31,7 @@ caluma:
|
|
28
31
|
|
29
32
|
edit:
|
30
33
|
link: "Edit"
|
31
|
-
send: "Send"
|
34
|
+
send: "Send current inquiry"
|
32
35
|
send-error: "Error while sending the inquiry"
|
33
36
|
send-not-allowed: "You are not allowed to send this inquiry."
|
34
37
|
|
@@ -62,6 +65,14 @@ caluma:
|
|
62
65
|
create-draft: "Create draft"
|
63
66
|
error: "Error while creating the {count, plural, =1 {inquiry} other {inquiries}}"
|
64
67
|
|
68
|
+
reminder:
|
69
|
+
link: "Send reminder"
|
70
|
+
confirm: "Do you really want to send a reminder for this inquiry?"
|
71
|
+
title: "Sent reminders"
|
72
|
+
no-reminders: "No reminders have been sent for this inquiry yet."
|
73
|
+
success: "The reminder has been sent successfully"
|
74
|
+
error: "Error while sending the reminder"
|
75
|
+
|
65
76
|
types:
|
66
77
|
controlling: "Requested"
|
67
78
|
addressed: "To answer"
|
package/translations/fr.yaml
CHANGED
@@ -3,7 +3,8 @@ caluma:
|
|
3
3
|
empty: "Aucune demande n'a encore été créée."
|
4
4
|
start: "Lancer"
|
5
5
|
send: "Envoyer les demandes ouvertes"
|
6
|
-
complete: "
|
6
|
+
complete: "Clore la circulation"
|
7
|
+
skip: "Sauter la procédure de circulation"
|
7
8
|
send-confirm: "Voulez-vous vraiment envoyer toutes les demandes ouvertes ?"
|
8
9
|
reopen: "Rouvrir la procédure de circulation"
|
9
10
|
complete-confirm:
|
@@ -11,9 +12,11 @@ caluma:
|
|
11
12
|
attente</b> sur la distribution actuelle. Si vous terminez la distribution,
|
12
13
|
toutes les demandes en attente seront annulées. Voulez-vous continuer ?"
|
13
14
|
complete-confirm-empty: "Vous voulez vraiment fermer la circulation ?"
|
15
|
+
skip-confirm: "Vous voulez vraiment sauter la circulation ?"
|
14
16
|
reopen-confirm: "Vous voulez vraiment rouvrir la circulation ?"
|
15
17
|
send-error: "Erreur lors de l'envoi des demandes ouvertes"
|
16
|
-
complete-error: "Erreur lors de la
|
18
|
+
complete-error: "Erreur lors de la clôture de la circulation"
|
19
|
+
skip-error: "Erreur lors du saut de la circulation"
|
17
20
|
reopen-error: "Erreur lors de la réouverture de la circulation"
|
18
21
|
|
19
22
|
more: "plus"
|
@@ -27,7 +30,7 @@ caluma:
|
|
27
30
|
|
28
31
|
edit:
|
29
32
|
link: "Modifier"
|
30
|
-
send: "Envoyer"
|
33
|
+
send: "Envoyer la demande actuelle"
|
31
34
|
send-error: "Erreur lors de l'envoi de la demande"
|
32
35
|
send-not-allowed: "Vous n'êtes pas autorisé à envoyer cette demande."
|
33
36
|
|
@@ -61,6 +64,14 @@ caluma:
|
|
61
64
|
create-draft: "Créer un brouillon"
|
62
65
|
error: "Error lors de la création {count, plural, =1 {de la demande} other {des demandes}}"
|
63
66
|
|
67
|
+
reminder:
|
68
|
+
link: "Envoyer un rappel"
|
69
|
+
confirm: "Voulez-vous vraiment envoyer un rappel pour cette demande ?"
|
70
|
+
title: "Rappels envoyés"
|
71
|
+
no-reminders: Aucun rappel n'a encore été envoyé pour cette demande.
|
72
|
+
success: "Le rappel a été envoyé avec succès"
|
73
|
+
error: "Erreur lors de l'envoi du rappel"
|
74
|
+
|
64
75
|
types:
|
65
76
|
controlling: "Demandé"
|
66
77
|
addressed: "A répondre"
|